From 585fb0bbd4a7bc7f8f333ecba7c5fecd2ee5cbc2 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期四, 28 三月 2024 09:46:44 +0800
Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/vue_mdc_430 into develop

---
 src/views/eam/OperationCertificateList.vue |  337 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 254 insertions(+), 83 deletions(-)

diff --git a/src/views/eam/OperationCertificateList.vue b/src/views/eam/OperationCertificateList.vue
index 5792dfa..9cb2195 100644
--- a/src/views/eam/OperationCertificateList.vue
+++ b/src/views/eam/OperationCertificateList.vue
@@ -1,37 +1,95 @@
 <template>
-  <a-card :bordered='false'>
+  <a-card
+    title="鎿嶄綔璇佷功绠$悊"
+    :bordered='false'
+  >
     <!-- 鏌ヨ鍖哄煙 -->
     <div class='table-page-search-wrapper'>
-      <a-form layout='inline' @keyup.enter.native='searchQuery'>
+      <a-form
+        layout='inline'
+        @keyup.enter.native='searchQuery'
+      >
         <a-row :gutter='24'>
-          <a-col :xl='6' :lg='7' :md='8' :sm='24'>
+          <a-col
+            :xl='6'
+            :lg='7'
+            :md='8'
+            :sm='24'
+          >
             <a-form-item label='鎿嶄綔璇佺紪鍙�'>
-              <a-input placeholder='璇疯緭鍏ユ搷浣滆瘉缂栧彿' v-model='queryParam.num'></a-input>
+              <a-input
+                placeholder='璇疯緭鍏ユ搷浣滆瘉缂栧彿'
+                v-model='queryParam.num'
+              ></a-input>
             </a-form-item>
           </a-col>
-          <a-col :xl='6' :lg='7' :md='8' :sm='24'>
+          <a-col
+            :xl='6'
+            :lg='7'
+            :md='8'
+            :sm='24'
+          >
             <a-form-item label='濮撳悕'>
-              <j-select-user-by-dep placeholder='璇烽�夋嫨濮撳悕' v-model='queryParam.userId' />
+              <j-select-user-by-dep
+                placeholder='璇烽�夋嫨濮撳悕'
+                v-model='queryParam.userId'
+              />
             </a-form-item>
           </a-col>
           <template v-if='toggleSearchStatus'>
-            <a-col :xl='6' :lg='7' :md='8' :sm='24'>
+            <a-col
+              :xl='6'
+              :lg='7'
+              :md='8'
+              :sm='24'
+            >
               <a-form-item label='鍙戣瘉鏃ユ湡'>
-                <j-date placeholder='璇烽�夋嫨鍙戣瘉鏃ユ湡' v-model='queryParam.issueDate'></j-date>
+                <j-date
+                  placeholder='璇烽�夋嫨鍙戣瘉鏃ユ湡'
+                  v-model='queryParam.issueDate'
+                ></j-date>
               </a-form-item>
             </a-col>
-            <a-col :xl='6' :lg='7' :md='8' :sm='24'>
+            <a-col
+              :xl='6'
+              :lg='7'
+              :md='8'
+              :sm='24'
+            >
               <a-form-item label='璁惧缁熶竴缂栫爜'>
-                <j-multi-select-tag placeholder='璇烽�夋嫨璁惧缁熶竴缂栫爜' dictCode='mom_eam_equipment,num,id'
-                                    v-model='queryParam.equipmentIds' />
+                <j-multi-select-tag
+                  placeholder='璇烽�夋嫨璁惧缁熶竴缂栫爜'
+                  dictCode='mom_eam_equipment,num,id'
+                  v-model='queryParam.equipmentIds'
+                />
               </a-form-item>
             </a-col>
           </template>
-          <a-col :xl='6' :lg='7' :md='8' :sm='24'>
-            <span style='float: left;overflow: hidden;' class='table-page-search-submitButtons'>
-              <a-button type='primary' @click='searchQuery' icon='search'>鏌ヨ</a-button>
-              <a-button type='primary' @click='searchReset' icon='reload' style='margin-left: 8px'>閲嶇疆</a-button>
-              <a @click='handleToggleSearch' style='margin-left: 8px'>
+          <a-col
+            :xl='6'
+            :lg='7'
+            :md='8'
+            :sm='24'
+          >
+            <span
+              style='float: left;overflow: hidden;'
+              class='table-page-search-submitButtons'
+            >
+              <a-button
+                type='primary'
+                @click='searchQuery'
+                icon='search'
+              >鏌ヨ</a-button>
+              <a-button
+                type='primary'
+                @click='searchReset'
+                icon='reload'
+                style='margin-left: 8px'
+              >閲嶇疆</a-button>
+              <a
+                @click='handleToggleSearch'
+                style='margin-left: 8px'
+              >
                 {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}
                 <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
               </a>
@@ -44,12 +102,29 @@
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class='table-operator'>
-      <a-button @click='handleAdd' type='primary' icon='plus'>鏂板</a-button>
-<!--      <a-button @click='handleChangeCertificate' 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-button @click='handleAdd' type='primary' icon='plus'>鏂板</a-button>-->
+      <a-button
+        @click='handleChangeCertificate'
+        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>
       <!-- 楂樼骇鏌ヨ鍖哄煙 -->
       <!--      <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
@@ -63,10 +138,15 @@
 
     <!-- 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
+        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
@@ -80,54 +160,69 @@
         :dataSource='dataSource'
         :pagination='ipagination'
         :loading='loading'
-        :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}'
-        @change='handleTableChange'>
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange ,type:'radio'}"
+        :customRow='clickThenSelect'
+        @change='handleTableChange'
+        :rowClassName="tableRowClass"
+      >
 
-        <template slot='htmlSlot' slot-scope='text'>
+        <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='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)'>
+            @click='downloadFile(text)'
+          >
             涓嬭浇
           </a-button>
         </template>
 
-        <span slot='action' slot-scope='text, record'>
-<!--          <a @click='handleEdit(record)'>缂栬緫</a>-->
-<!--          <a-divider type='vertical' />-->
-          <a @click='handleDetail(record)'>璇︽儏</a>
-          <!--          <a-divider type="vertical" />-->
-          <!--          <a-dropdown>-->
-          <!--            <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>-->
-          <!--            <a-menu slot="overlay">-->
-          <!--              <a-menu-item>-->
-          <!--                <a @click="handleDetail(record)">璇︽儏</a>-->
-          <!--              </a-menu-item>-->
-          <!--              <a-menu-item>-->
-          <!--                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">-->
-          <!--                  <a>鍒犻櫎</a>-->
-          <!--                </a-popconfirm>-->
-          <!--              </a-menu-item>-->
-          <!--            </a-menu>-->
-          <!--          </a-dropdown>-->
-        </span>
-
       </a-table>
     </div>
-
-    <operation-certificate-modal ref='modalForm' @ok='modalFormOk' />
+    <a-tabs defaultActiveKey="1">
+      <a-tab-pane
+        tab="鎿嶄綔璇佺鐞嗘槑缁�"
+        key="1"
+      >
+        <OperationCertificateDetailList :mainId="operationCertificateDetailMainId" />
+      </a-tab-pane>
+    </a-tabs>
+    <operation-certificate-modal
+      ref='modalForm'
+      @ok='modalFormOk'
+    />
   </a-card>
 </template>
 
@@ -135,14 +230,16 @@
 
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 import OperationCertificateModal from './modules/operationCertificate/OperationCertificateModal'
+import OperationCertificateDetailList from './modules/operationCertificate/OperationCertificateDetailList'
 import { filterMultiDictText } from '@/components/dict/JDictSelectUtil'
 import '@/assets/less/TableExpand.less'
-
+import { getAction } from '@/api/manage'
 export default {
   name: 'OperationCertificateList',
   mixins: [JeecgListMixin],
   components: {
-    OperationCertificateModal
+    OperationCertificateModal,
+    OperationCertificateDetailList
   },
   data() {
     return {
@@ -155,7 +252,7 @@
           key: 'rowIndex',
           width: 60,
           align: 'center',
-          customRender: function(t, r, index) {
+          customRender: function (t, r, index) {
             return parseInt(index) + 1
           }
         },
@@ -173,7 +270,7 @@
           title: '鍙戣瘉鏃ユ湡',
           align: 'center',
           dataIndex: 'issueDate',
-          customRender: function(text) {
+          customRender: function (text) {
             return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
           }
         },
@@ -181,7 +278,7 @@
           title: '寮�濮嬫椂闂�',
           align: 'center',
           dataIndex: 'startTime',
-          customRender: function(text) {
+          customRender: function (text) {
             return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
           }
         },
@@ -189,7 +286,7 @@
           title: '缁撴潫鏃堕棿',
           align: 'center',
           dataIndex: 'endTime',
-          customRender: function(text) {
+          customRender: function (text) {
             return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
           }
         },
@@ -213,45 +310,115 @@
           align: 'center',
           dataIndex: 'status_dictText'
         },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          align: 'center',
-          fixed: 'right',
-          width: 147,
-          scopedSlots: { customRender: 'action' }
-        }
+        // {
+        //   title: '鎿嶄綔',
+        //   dataIndex: 'action',
+        //   align: 'center',
+        //   fixed: 'right',
+        //   width: 147,
+        //   scopedSlots: { customRender: 'action' }
+        // }
       ],
       url: {
         list: '/eam/operationCertificate/list',
         delete: '/eam/operationCertificate/delete',
         deleteBatch: '/eam/operationCertificate/deleteBatch',
         exportXlsUrl: '/eam/operationCertificate/exportXls',
-        importExcelUrl: 'eam/operationCertificate/importExcel'
+        importExcelUrl: '/eam/operationCertificate/importExcel'
 
       },
       dictOptions: {},
-      superFieldList: []
+      superFieldList: [],
+      /* 鍒嗛〉鍙傛暟 */
+      ipagination: {
+        current: 1,
+        pageSize: 5,
+        pageSizeOptions: ['5', '10', '50'],
+        showTotal: (total, range) => {
+          return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
+      selectedMainId: '',
+
+      operationCertificateDetailMainId: '',
     }
   },
   created() {
     this.getSuperFieldList()
   },
   computed: {
-    importExcelUrl: function() {
+    importExcelUrl: function () {
       return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
     }
   },
   methods: {
     initDictConfig() {
     },
-
-    // handleChangeCertificate: function (record) {
-    //   this.$refs.modalForm.edit(record)
-    //   this.$refs.modalForm.title = '鍙樻洿鎿嶄綔璇�'
-    //   this.$refs.modalForm.disableSubmit = false
-    //   // this.$refs.modalForm.isRevise = false;
-    // },
+    clickThenSelect(record) {
+      return {
+        on: {
+          click: () => {
+            this.onSelectChange(record.id.split(","), [record]);
+          }
+        }
+      }
+    },
+    handleChangeCertificate: function () {
+      if (this.selectionRows.length <= 0) {
+        this.$message.warning('璇烽�夋嫨涓�鏉¤褰�')
+        return
+      }
+      const record = this.selectionRows[0]
+      this.$refs.modalForm.edit(record)
+      this.$refs.modalForm.title = '鍙樻洿鎿嶄綔璇�'
+      this.$refs.modalForm.disableSubmit = false
+      this.$refs.modalForm.loadSubTableDataFlag = false
+      // this.$refs.modalForm.isRevise = false;
+    },
+    onClearSelected() {
+      this.selectedRowKeys = [];
+      this.selectionRows = [];
+      this.selectedMainId = ''
+    },
+    onSelectChange(selectedRowKeys, selectionRows) {
+      this.selectedMainId = selectedRowKeys[0]
+      this.selectedRowKeys = selectedRowKeys;
+      this.selectionRows = selectionRows;
+      this.operationCertificateDetailMainId = selectionRows[0]['id']
+    },
+    loadData(arg) {
+      if (!this.url.list) {
+        this.$message.error("璇疯缃畊rl.list灞炴��!")
+        return
+      }
+      //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+      if (arg === 1) {
+        this.ipagination.current = 1;
+      }
+      this.onClearSelected()
+      var params = this.getQueryParams();//鏌ヨ鏉′欢
+      this.loading = true;
+      getAction(this.url.list, params).then((res) => {
+        if (res.success) {
+          this.dataSource = res.result.records;
+          this.ipagination.total = res.result.total;
+        }
+        if (res.code === 510) {
+          this.$message.warning(res.message)
+        }
+        this.loading = false;
+      })
+    },
+    //棰勮棰滆壊
+    tableRowClass(record, index) {
+      debugger
+      if ('0' === record.status) {
+        return 'error'
+      }
+    },
     getSuperFieldList() {
       let fieldList = []
       fieldList.push({ type: 'string', value: 'num', text: '鎿嶄綔璇佺紪鍙�', dictCode: '' })
@@ -275,6 +442,10 @@
   }
 }
 </script>
-<style scoped>
+<style>
 @import '~@assets/less/common.less';
+.error {
+  color: red;
+  font-weight: bold;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3