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