From 0eaf97f0ae448f4376e89a8544efb54a930eb643 Mon Sep 17 00:00:00 2001
From: zenglf <18502938215@163.com>
Date: 星期三, 18 十月 2023 18:07:51 +0800
Subject: [PATCH] 操作证管理功能 前端界面增加操作证明细

---
 src/views/eam/modules/operationCertificate/OperationCertificateDetailList.vue |  302 ++++++++++++++++++++++----------------------------
 1 files changed, 134 insertions(+), 168 deletions(-)

diff --git a/src/views/eam/modules/operationCertificate/OperationCertificateDetailList.vue b/src/views/eam/modules/operationCertificate/OperationCertificateDetailList.vue
index 3a20e21..31ecb2b 100644
--- a/src/views/eam/modules/operationCertificate/OperationCertificateDetailList.vue
+++ b/src/views/eam/modules/operationCertificate/OperationCertificateDetailList.vue
@@ -1,241 +1,207 @@
 <template>
-  <a-card
-    :bordered='false'
-    :class="'cust-erp-sub-tab'"
-  >
+  <a-card :bordered="false" :class="'cust-erp-sub-tab'">
     <!-- 鏌ヨ鍖哄煙 -->
-    <div class='table-page-search-wrapper'>
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 鏌ヨ鍖哄煙-END -->
 
+    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+    <div class="table-operator" v-if="mainId">
+<!--      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>-->
+<!--      <a-button type="primary" icon="download" @click="handleExportXls('鎿嶄綔璇佺鐞嗘槑缁�')">瀵煎嚭</a-button>-->
+<!--      <a-upload-->
+<!--        name="file"-->
+<!--        :showUploadList="false"-->
+<!--        :multiple="false"-->
+<!--        :headers="tokenHeader"-->
+<!--        :action="importExcelUrl"-->
+<!--        @change="handleImportExcel">-->
+<!--        <a-button type="primary" icon="import">瀵煎叆</a-button>-->
+<!--      </a-upload>-->
+<!--      <a-dropdown v-if="selectedRowKeys.length > 0">-->
+<!--        <a-menu slot="overlay">-->
+<!--          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>-->
+<!--        </a-menu>-->
+<!--        <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>-->
+<!--      </a-dropdown>-->
     </div>
 
+    <!-- table鍖哄煙-begin -->
     <div>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+      </div>
 
       <a-table
-        ref='table'
-        size='middle'
+        ref="table"
+        size="middle"
         bordered
-        rowKey='id'
-        :scroll="{ x: 'calc(1400px + 50%)', y: 900 }"
-        :columns='columns'
-        :dataSource='dataSource'
-        :pagination='ipagination'
-        :loading='loading'
-        @change='handleTableChange'
-      >
+        rowKey="id"
+        :scroll="{x:true}"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        @change="handleTableChange">
 
-        <template
-          slot='htmlSlot'
-          slot-scope='text'
-        >
-          <div v-html='text'></div>
+        <template slot="htmlSlot" slot-scope="text">
+          <div v-html="text"></div>
         </template>
-        <template
-          slot='imgSlot'
-          slot-scope='text,record'
-        >
-          <span
-            v-if='!text'
-            style='font-size: 12px;font-style: italic;'
-          >鏃犲浘鐗�</span>
-          <img
-            v-else
-            :src='getImgView(text)'
-            :preview='record.id'
-            height='25px'
-            alt=''
-            style='max-width:80px;font-size: 12px;font-style: italic;'
-          />
+        <template slot="imgSlot" slot-scope="text,record">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
+          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
         </template>
-        <template
-          slot='takingInfo'
-          slot-scope='text'
-        >
-          <span
-            v-if='!text'
-            style='font-size: 12px;font-style: italic;color: #126ee7;'
-          >/</span>
-          <span
-            v-if='text'
-            style='font-size: 12px;font-style: italic;'
-          >{{ text }}</span>
-        </template>
-        <template
-          slot='fileSlot'
-          slot-scope='text'
-        >
-          <span
-            v-if='!text'
-            style='font-size: 12px;font-style: italic;'
-          >鏃犳枃浠�</span>
+        <template slot="fileSlot" slot-scope="text">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
           <a-button
             v-else
-            :ghost='true'
-            type='primary'
-            icon='download'
-            size='small'
-            @click='downloadFile(text)'
-          >
+            :ghost="true"
+            type="primary"
+            icon="download"
+            size="small"
+            @click="downloadFile(text)">
             涓嬭浇
           </a-button>
         </template>
 
-        <span
-          slot='action'
-          slot-scope='text, record'
-        >
-          <a @click='handleEdit(record)'>缂栬緫</a>
-          <a-divider type='vertical' />
-
-          <a-popconfirm
-            title='纭畾鍒犻櫎鍚�?'
-            @confirm='() => handleDelete(record.id)'
-          >
-            <a v-if="record.uda1 == '涓嶉�氳繃'">鍒犻櫎</a>
+        <span slot="action" slot-scope="text, record">
+          <a @click="handleEdit(record)">缂栬緫</a>
+          <a-divider type="vertical" />
+          <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+            <a>鍒犻櫎</a>
           </a-popconfirm>
-
-        </span>
-
-        <span
-          slot="examinationConclusion"
-          slot-scope="text, record"
-        >
-
-
-          <a
-            v-if="record.examinationConclusion === 'N' "
-          >涓嶅悎鏍�</a>
-          <span v-else>鍚堟牸</span>
         </span>
 
       </a-table>
     </div>
+
+    <operationCertificateDetail-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId"></operationCertificateDetail-modal>
   </a-card>
 </template>
 
 <script>
 
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import { getAction } from '@api/manage'
+import OperationCertificateDetailModal from './OperationCertificateDetailModal'
 
 export default {
-  name: 'OperationCertificateDetailList',
-  mixins: [JeecgListMixin],
-
-  props: {
-    mainId: {
-      type: String,
-      default: '',
-      required: false
+  name: "OperationCertificateDetailList",
+  mixins:[JeecgListMixin],
+  components: { OperationCertificateDetailModal },
+  props:{
+    mainId:{
+      type:String,
+      default:'',
+      required:false
     }
   },
-  watch: {
-    mainId: {
+  watch:{
+    mainId:{
       immediate: true,
       handler(val) {
-        if (!this.mainId) {
+        if(!this.mainId){
           this.clearList()
-        } else {
-          this.queryParam['id'] = val
-          this.loadData(1)
+        }else{
+          this.queryParam['operationCertificateId'] = val
+          this.loadData(1);
         }
       }
     }
   },
-  data() {
+  data () {
     return {
-      description: '鎿嶄綔璇佺鐞嗘槑缁嗛〉闈�',
-      disableMixinCreated: true,
+      description: '鎿嶄綔璇佷功绠$悊绠$悊椤甸潰',
+      disableMixinCreated:true,
       // 琛ㄥご
       columns: [
         {
           title: '#',
           dataIndex: '',
-          key: 'rowIndex',
-          width: 60,
-          align: 'center',
-          customRender: function(t, r, index) {
-            return parseInt(index) + 1
+          key:'rowIndex',
+          width:60,
+          align:"center",
+          customRender:function (t,r,index) {
+            return parseInt(index)+1;
+          }
+        },
+        // {
+        //   title:'璇佷功ID',
+        //   align:"center",
+        //   dataIndex: 'operationCertificateId'
+        // },
+        {
+          title:'鍙戠敓鏃堕棿',
+          align:"center",
+          dataIndex: 'happenDate',
+          customRender:function (text) {
+            return !text?"":(text.length>10?text.substr(0,10):text)
           }
         },
         {
-          title: '鎵e垎璁惧',
-          align: 'center',
-          dataIndex: 'equipmentNames',
-
+          title:'绫诲瀷',
+          align:"center",
+          dataIndex: 'type_dictText'
         },
         {
-          title: '鎵e垎椤�',
-          align: 'center',
-          dataIndex: 'appointmentCardNum',
-
+          title:'璁惧缁熶竴缂栫爜',
+          align:"center",
+          dataIndex: 'equipmentId_dictText'
         },
         {
-          title: '鎵i櫎鍒嗘暟',
-          align: 'center',
-          dataIndex: 'replaceReason',
-
+          title:'鎵e垎椤�',
+          align:"center",
+          dataIndex: 'deductionItem_dictText'
         },
-        {
-          title: '鎵e垎鍛ㄦ湡',
-          align: 'center',
-          dataIndex: 'theoreticalResults',
-
-        }
+        // {
+        //   title:'鎵e垎鍛ㄦ湡',
+        //   align:"center",
+        //   dataIndex: 'period'
+        // },
+        // {
+        //   title: '鎿嶄綔',
+        //   dataIndex: 'action',
+        //   align:"center",
+        //   fixed:"right",
+        //   width:147,
+        //   scopedSlots: { customRender: 'action' },
+        // }
       ],
       url: {
-        list: '/eam/operationCertificate/queryOperationCertificateDetailByMainId'
+        list: "/eam/operationCertificate/listOperationCertificateDetailByMainId",
+        delete: "/eam/operationCertificate/deleteOperationCertificateDetail",
+        deleteBatch: "/eam/operationCertificate/deleteBatchOperationCertificateDetail",
+        exportXlsUrl: "/eam/operationCertificate/exportOperationCertificateDetail",
+        importUrl: "/eam/operationCertificate/importOperationCertificateDetail",
       },
-      dictOptions: {
-        type: [],
-        inventoryStatus: []
+      dictOptions:{
+        equipmentIds:[],
+        status:[],
       }
     }
   },
   created() {
   },
   computed: {
-    importExcelUrl() {
-      return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`
+    importExcelUrl(){
+      return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
     }
   },
   methods: {
-    clearList() {
-      this.dataSource = []
-      this.selectedRowKeys = []
+    clearList(){
+      this.dataSource=[]
+      this.selectedRowKeys=[]
       this.ipagination.current = 1
-    },
-
-    loadData(arg) {
-      if (!this.url.list) {
-        this.$message.error('璇疯缃畊rl.list灞炴��!')
-        return
-      }
-      //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
-      if (arg === 1) {
-        this.ipagination.current = 1
-      }
-      var params = this.getQueryParams()//鏌ヨ鏉′欢
-      this.loading = true
-      getAction(this.url.list, params).then((res) => {
-        if (res.success) {
-          //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
-          this.dataSource = res.result.records || res.result
-          if (res.result.total) {
-            this.ipagination.total = res.result.total
-          } else {
-            this.ipagination.total = 0
-          }
-          //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
-        } else {
-          this.$message.warning(res.message)
-        }
-      }).finally(() => {
-        this.loading = false
-      })
     }
+
   }
 }
 </script>
 <style scoped>
-@import '~@assets/less/common.less';
+@import '~@assets/less/common.less'
 </style>

--
Gitblit v1.9.3