From 48d85187a16a313c5244a830862db5e672e6997d Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期五, 18 七月 2025 17:08:15 +0800 Subject: [PATCH] 1、点检工单预览 2、技术鉴定工单变更 3、调整样式 --- src/views/eam/maintenance/EamInspectionOrderList.vue | 709 ++++++++++++++++++++++++---------------------------------- 1 files changed, 293 insertions(+), 416 deletions(-) diff --git a/src/views/eam/maintenance/EamInspectionOrderList.vue b/src/views/eam/maintenance/EamInspectionOrderList.vue index 775a14e..b92f092 100644 --- a/src/views/eam/maintenance/EamInspectionOrderList.vue +++ b/src/views/eam/maintenance/EamInspectionOrderList.vue @@ -1,91 +1,35 @@ <template> <a-card :bordered="false"> <!-- 鏌ヨ鍖哄煙 --> - <div - class="table-page-search-wrapper" - v-if="isDisplayOperation" - > - <a-form - layout="inline" - @keyup.enter.native="searchQuery" - > + <div class="table-page-search-wrapper" v-if="isDisplayOperation"> + <a-form layout="inline" @keyup.enter.native="searchQuery"> <a-row :gutter="24"> - <a-col - :xl="4" - :lg="7" - :md="8" - :sm="24" - > + <a-col :xl="5" :lg="7" :md="8" :sm="24"> + <a-form-item label="缁熶竴缂栫爜"> + <lx-search-equipment-select placeholder="璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�" v-model="queryParam.equipmentId"/> + </a-form-item> + </a-col> + <a-col :xl="4" :lg="7" :md="8" :sm="24"> <a-form-item label="宸ュ崟鍙�"> - <a-input - placeholder="璇疯緭鍏ュ伐鍗曞彿" - v-model="queryParam.orderNum" - ></a-input> + <a-input placeholder="璇疯緭鍏ュ伐鍗曞彿" v-model="queryParam.orderNum"/> </a-form-item> </a-col> - <a-col - :xl="4" - :lg="7" - :md="8" - :sm="24" - > - <a-form-item label="璁惧缂栧彿"> - <lx-search-equipment-select - placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" - v-model="queryParam.equipmentId" - ></lx-search-equipment-select> - </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="璁″垝鐐规鏃ユ湡"> - <a-range-picker - v-model="queryParam.inspectionDateRange" - @change="onInspectionDateChange" - format="YYYY-MM-DD" - value-format="YYYY-MM-DD" - /> + <a-range-picker v-model="queryParam.inspectionDateRange" @change="onInspectionDateChange" + format="YYYY-MM-DD" value-format="YYYY-MM-DD"/> </a-form-item> </a-col> - <a-col - :xl="4" - :lg="7" - :md="8" - :sm="24" - > + <a-col :xl="4" :lg="7" :md="8" :sm="24"> <a-form-item label="鐐规鐘舵��"> - <j-dict-select-tag - placeholder="璇烽�夋嫨鐐规鐘舵��" - dict-code="inspection_status" - v-model="queryParam.inspectionStatus" - /> + <j-dict-select-tag placeholder="璇烽�夋嫨鐐规鐘舵��" dict-code="inspection_status" + v-model="queryParam.inspectionStatus"/> </a-form-item> </a-col> - <a-col - :xl="4" - :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="info" - @click="searchReset" - icon="reload" - style="margin-left: 8px" - >閲嶇疆</a-button> + <a-col :xl="4" :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="info" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button> </span> </a-col> </a-row> @@ -94,348 +38,289 @@ <!-- 鏌ヨ鍖哄煙-END --> <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> - <div - class="table-operator" - v-if="isDisplayOperation" - > - <a-button - @click="handleAdd" - type="primary" - icon="plus" - v-if="isShowAuth('eam:inspection:add')" - >鏂板</a-button> + <div class="table-operator" v-if="isDisplayOperation"> + <a-button v-has="'eam:inspection:add'" @click="handleAdd" type="primary" icon="plus">鏂板</a-button> + <a-button v-if="selectedRowKeys.length == 1" @click="handlePrint" type="primary">鏌ョ湅</a-button> <a-dropdown v-if="selectedRowKeys.length > 0"> <a-menu slot="overlay"> - <a-menu-item - key="1" - v-if="isShowAuth('eam:inspection:abolish')" - @click="batchZf('ABOLISH')" - > - <a-icon type="snippets" /> + <a-menu-item key="1" @click="batchZf('ABOLISH')" v-has="'eam:inspection:abolish'"> + <a-icon type="snippets"/> 浣滃簾 </a-menu-item> - <a-menu-item - key="2" - v-if="isShowAuth('eam:inspection:collect')" - @click="batchLq('UNDER_INSPECTION')" - > - <a-icon type="form" /> + <a-menu-item key="2" @click="batchLq('UNDER_INSPECTION')" v-has="'eam:inspection:collect'"> + <a-icon type="form"/> 棰嗗彇 </a-menu-item> </a-menu> <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 - <a-icon type="down" /> + <a-icon type="down"/> </a-button> </a-dropdown> </div> <!-- table鍖哄煙-begin --> <div> - <div - class="ant-alert ant-alert-info" - style="margin-bottom: 16px;" - v-if="isDisplayOperation" - > - <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;" v-if="isDisplayOperation"> + <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" - :scroll="{x:true}" - bordered - rowKey="id" - :columns="columns" - :dataSource="dataSource" - :pagination="ipagination" - :loading="loading" - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" - class="j-table-force-nowrap" - @change="handleTableChange" - > + <a-table ref="table" size="middle" :scroll="{x:true}" bordered rowKey="id" :columns="columns" + :dataSource="dataSource" :pagination="ipagination" :loading="loading" + :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" class="j-table-force-nowrap" + @change="handleTableChange"> + <span slot="action" slot-scope="text, record"> + <template v-if=" record.inspectionStatus === 'WAIT_INSPECTION'"> + <a @click="handleEdit(record)">缂栬緫</a> - <span - slot="action" - slot-scope="text, record" - > - <a - @click="handleEdit(record)" - v-if="isShowAuth('eam:inspection:edit') && record.inspectionStatus === 'WAIT_INSPECTION'" - >缂栬緫</a> + <a-divider type="vertical"/> - <a-divider - type="vertical" - v-if="isShowAuth('eam:inspection:edit') && record.inspectionStatus === 'WAIT_INSPECTION'" - /> - - <a-popconfirm - title="纭畾棰嗗彇鍚�?" - v-if="isShowAuth('eam:inspection:collect') && record.inspectionStatus === 'WAIT_INSPECTION'" - @confirm="() => handleInspection(record.id)" - > + <a-popconfirm title="纭畾棰嗗彇鍚�?" @confirm="() => handleInspection(record.id)"> <a>棰嗗彇</a> </a-popconfirm> - <a-divider - type="vertical" - v-if="isShowAuth('eam:inspection:collect') && record.inspectionStatus === 'WAIT_INSPECTION'" - /> + <a-divider type="vertical"/> <a-dropdown> - <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> + <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 v-if="isShowAuth('eam:inspection:abolish') && record.inspectionStatus === 'WAIT_INSPECTION'"> - <a-popconfirm - title="纭畾浣滃簾鍚�?" - @confirm="() => handleOrReceive(record.id)" - > + <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleAbolish(record.id)"> <a>浣滃簾</a> </a-popconfirm> </a-menu-item> + <a-menu-item> + <a @click="handleDetail(record)">璇︽儏</a> + </a-menu-item> </a-menu> </a-dropdown> + </template> - <a-divider - v-if="record.inspectionStatus === 'COMPLETE'" - type="vertical" - /> - <a - v-if="record.inspectionStatus === 'COMPLETE'" - @click="handlePrint(record)" - >鎵撳嵃</a> + <template v-else> + <template v-if="record.inspectionStatus=='COMPLETE'"> + <a @click="handlePrint(record)">棰勮</a> + <a-divider type="vertical"/> + </template> + + <a @click="handleDetail(record)">璇︽儏</a> + </template> </span> </a-table> </div> - <eam-inspection-order-modal - ref="modalForm" - @ok="modalFormOk" - ></eam-inspection-order-modal> + <eam-inspection-order-modal ref="modalForm" @ok="modalFormOk"/> - <inspection-order-handle - ref="modalFormXq" - :selectShenpiData="selectInspectionOrderXqData" - /> + <inspection-order-handle ref="modalFormXq" :selectShenpiData="selectInspectionOrderXqData"/> </a-card> </template> <script> + import { JeecgListMixin } from '@/mixins/JeecgListMixin' + import EamInspectionOrderModal from './modules/EamInspectionOrderModal' + import { deleteAction, getAction } from '@api/manage' + import InspectionOrderHandle from '../../flowable/workflow/InspectionOrder/InspectionOrderHandle' + import LxSearchEquipmentSelect from '../equipment/modules/LxSearchEquipmentSelect' -import '@/assets/less/TableExpand.less' -import { mixinDevice } from '@/utils/mixin' -import { JeecgListMixin } from '@/mixins/JeecgListMixin' -import EamInspectionOrderModal from './modules/EamInspectionOrderModal' -import { deleteAction, getAction } from '@api/manage' -import InspectionOrderHandle from '../../flowable/workflow/InspectionOrder/InspectionOrderHandle' -import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' - -export default { - name: 'EamInspectionOrderList', - mixins: [JeecgListMixin, mixinDevice], - components: { - InspectionOrderHandle, - EamInspectionOrderModal, - LxSearchEquipmentSelect, - }, - props: { - isDisplayOperation: { - type: Boolean, - default: true - } - }, - data() { - return { - description: 'eam_inspection_order绠$悊椤甸潰', - disableMixinCreated: true, - // 琛ㄥご - columns: [ - { - title: '#', - dataIndex: '', - key: 'rowIndex', - width: 60, - align: 'center', - customRender: function (t, r, index) { - return parseInt(index) + 1 + export default { + name: 'EamInspectionOrderList', + mixins: [JeecgListMixin], + components: { + LxSearchEquipmentSelect, + InspectionOrderHandle, + EamInspectionOrderModal + }, + props: { + isDisplayOperation: { + type: Boolean, + default: true + } + }, + data() { + return { + description: '鐐规宸ュ崟椤甸潰', + disableMixinCreated: true, + // 琛ㄥご + columns: [ + { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 60, + align: 'center', + customRender: function(t, r, index) { + return parseInt(index) + 1 + }, + fixed: 'left' + }, + { + title: '缁熶竴缂栫爜', + align: 'center', + dataIndex: 'equipmentCode', + fixed: 'left' + }, + { + title: '璁惧鍚嶇О', + align: 'center', + dataIndex: 'equipmentName', + fixed: 'left' + }, + { + title: '璁惧鍨嬪彿', + align: 'center', + dataIndex: 'equipmentModel', + fixed: 'left' + }, + { + title: '宸ュ崟鍙�', + align: 'center', + dataIndex: 'orderNum' + }, + { + title: '瑙勮寖鍚嶇О', + align: 'center', + dataIndex: 'standardId_dictText' + }, + { + title: '鐐规鏃ユ湡', + align: 'center', + dataIndex: 'inspectionDate', + customRender: function(text) { + return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text) + }, + width: 150 + }, + { + title: '鐐规杩囨湡鏃ユ湡', + align: 'center', + dataIndex: 'expirationTime', + customRender: function(text) { + return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text) + }, + width: 150 + }, + { + title: '鍒涘缓鏂瑰紡', + align: 'center', + dataIndex: 'creationMethod_dictText' + }, + { + title: '鐐规鐘舵��', + align: 'center', + dataIndex: 'inspectionStatus_dictText' + }, + { + title: '鐐规浜�', + align: 'center', + dataIndex: 'operator_dictText' + }, + { + title: '鐐规鏃堕棿', + align: 'center', + dataIndex: 'operateTime', + width: 150 + }, + { + title: '缁翠慨宸�', + align: 'center', + dataIndex: 'confirmUser_dictText' + }, + { + title: '纭鏃堕棿', + align: 'center', + dataIndex: 'confirmTime', + width: 150 + }, + { + title: 'HF缂栫爜', + align: 'center', + dataIndex: 'hfCode', + width: 250 } + ], + url: { + list: '/eam/eamInspectionOrder/list', + cancelInspectionOrder: '/eam/eamInspectionOrder/cancelInspectionOrder', + deleteBatch: '/eam/eamInspectionOrder/deleteBatch', + exportXlsUrl: '/eam/eamInspectionOrder/exportXls', + importExcelUrl: 'eam/eamInspectionOrder/importExcel', + receiveInspectionOrder: 'eam/eamInspectionOrder/receiveInspectionOrder', + cancelOrReceive: 'eam/eamInspectionOrder/cancelOrReceive' }, - { - title: '宸ュ崟鍙�', - align: 'center', - dataIndex: 'orderNum' - }, - { - title: '璁惧缂栧彿', - align: 'center', - dataIndex: 'equipmentCode' - }, - { - title: '璁惧鍚嶇О', - align: 'center', - dataIndex: 'equipmentName' - }, - { - title: '鏍囧噯鍚嶇О', - align: 'center', - dataIndex: 'standardId_dictText' - }, - { - title: '鐐规鏃ユ湡', - align: 'center', - dataIndex: 'inspectionDate', - customRender: function (text) { - return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text) - } - }, - { - title: '鐐规杩囨湡鏃ユ湡', - align: 'center', - dataIndex: 'expirationTime', - customRender: function (text) { - return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text) - } - }, - { - title: '鍒涘缓鏂瑰紡', - align: 'center', - dataIndex: 'creationMethod_dictText' - }, - { - title: '鐐规鐘舵��', - align: 'center', - dataIndex: 'inspectionStatus_dictText' - }, - { - title: '鐐规浜�', - align: 'center', - dataIndex: 'operator_dictText' - }, - { - title: '鐐规鏃堕棿', - align: 'center', - dataIndex: 'operateTime', - }, - { - title: '绠$悊鍛樼‘璁�', - align: 'center', - dataIndex: 'confirmUser_dictText' - }, - { - title: '纭鏃堕棿', - align: 'center', - dataIndex: 'confirmTime', - }, - { - title: '纭鎰忚', - align: 'center', - dataIndex: 'confirmComment', - } - ], - url: { - list: '/eam/eamInspectionOrder/list', - cancelInspectionOrder: '/eam/eamInspectionOrder/cancelInspectionOrder', - deleteBatch: '/eam/eamInspectionOrder/deleteBatch', - exportXlsUrl: '/eam/eamInspectionOrder/exportXls', - importExcelUrl: 'eam/eamInspectionOrder/importExcel', - receiveInspectionOrder: 'eam/eamInspectionOrder/receiveInspectionOrder', - cancelOrReceive: 'eam/eamInspectionOrder/cancelOrReceive' + dictOptions: {}, + superFieldList: [], + selectInspectionOrderXqData: {} + } + }, + created() { + if (!this.isDisplayOperation) { + return + } + const operationColumn = { + title: '鎿嶄綔', + dataIndex: 'action', + align: 'center', + scopedSlots: { customRender: 'action' }, + fixed: 'right' + } + this.columns = [...this.columns, operationColumn] + this.loadData(1) + }, + computed: { + importExcelUrl: function() { + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` + } + }, + methods: { + //璇︽儏 + handleDetail: function(record) { + this.selectInspectionOrderXqData = Object.assign({}, record) + this.$refs.modalFormXq.visible = true + this.$refs.modalFormXq.title = '璇︽儏' + this.$refs.modalFormXq.disableSubmit = true + this.$refs.modalFormXq.handleDetail(record) }, - dictOptions: {}, - superFieldList: [], - selectInspectionOrderXqData: {} - } - }, - created() { - if (!this.isDisplayOperation) { - return - } - const operationColumn = { - title: '鎿嶄綔', - dataIndex: 'action', - align: 'center', - fixed: 'right', - width: 200, - scopedSlots: { customRender: 'action' } - } - this.columns = [...this.columns, operationColumn] - this.loadData(1) - }, - computed: { - importExcelUrl: function () { - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}` - } - }, - methods: { - initDictConfig() { - }, - //璇︽儏 - handleDetail: function (record) { - this.selectInspectionOrderXqData = Object.assign({}, record) - this.$refs.modalFormXq.visible = true - this.$refs.modalFormXq.title = '璇︽儏' - this.$refs.modalFormXq.disableSubmit = true - this.$refs.modalFormXq.getAllApproveData(record) - this.$refs.modalFormXq.getBasicInformation({ ...record, dataId: record.id }) - }, - handleInspection(id) { - if (!this.url.receiveInspectionOrder) { - this.$message.error('璇疯缃畊rl.receiveInspectionOrder!') - return - } - var that = this - getAction(that.url.receiveInspectionOrder, { id: id }).then((res) => { - if (res.success) { - that.$notification.success({ - message: '娑堟伅', - description: res.message + + handleInspection(id) { + var that = this + this.loading = true + getAction(that.url.receiveInspectionOrder, { id }) + .then((res) => { + if (res.success) { + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.loadData() + } else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + this.loading = false + } }) - that.loadData() - } else { - // that.$message.warning(res.message); - that.$notification.warning({ - message: '娑堟伅', - description: res.message - }) - } - }) - }, - handleOrReceive(id) { - if (!this.url.cancelInspectionOrder) { - this.$message.error('璇疯缃畊rl.cancelInspectionOrder!') - return - } - var that = this - getAction(that.url.cancelInspectionOrder, { id: id }).then((res) => { - if (res.success) { - that.$notification.success({ - message: '娑堟伅', - description: res.message - }) - that.loadData() - } else { - // that.$message.warning(res.message); - that.$notification.warning({ - message: '娑堟伅', - description: res.message - }) - } - }) - }, - batchZf(type) { - if (this.selectedRowKeys.length <= 0) { - this.$notification.warning({ - message: '娑堟伅', - description: '璇烽�夋嫨涓�鏉¤褰�' + }, + + handleAbolish(id) { + var that = this + getAction(that.url.cancelInspectionOrder, { id: id }).then((res) => { + if (res.success) { + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.loadData() + } else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } }) - } else { + }, + + batchZf(type) { var ids = '' for (var a = 0; a < this.selectedRowKeys.length; a++) { ids += this.selectedRowKeys[a] + ',' @@ -444,9 +329,9 @@ this.$confirm({ title: '纭浣滃簾', content: '鏄惁浣滃簾閫変腑鏁版嵁锛屽彧鏈夊緟鐐规鐘舵�佺殑鏁版嵁鎵嶅彲浣滃簾鎴愬姛?', - onOk: function () { + onOk: function() { that.loading = true - getAction(that.url.cancelOrReceive, { ids: ids, type: type }).then((res) => { + getAction(that.url.cancelOrReceive, { ids, type }).then((res) => { if (res.success) { that.$notification.success({ message: '娑堟伅', @@ -466,15 +351,9 @@ }) } }) - } - }, - batchLq(type) { - if (this.selectedRowKeys.length <= 0) { - this.$notification.warning({ - message: '娑堟伅', - description: '璇烽�夋嫨涓�鏉¤褰�' - }) - } else { + }, + + batchLq(type) { var ids = '' for (var a = 0; a < this.selectedRowKeys.length; a++) { ids += this.selectedRowKeys[a] + ',' @@ -483,42 +362,40 @@ this.$confirm({ title: '纭棰嗗彇', content: '鏄惁棰嗗彇閫変腑鏁版嵁锛屽彧鏈夊緟鐐规鐘舵�佺殑鏁版嵁鎵嶅彲棰嗗彇鎴愬姛?', - onOk: function () { + onOk: function() { that.loading = true - getAction(that.url.cancelOrReceive, { ids: ids, type: type }).then((res) => { - if (res.success) { - that.$notification.success({ - message: '娑堟伅', - description: res.message - }) - that.loadData() - that.onClearSelected() - } else { - // that.$message.warning(res.message); - that.$notification.warning({ - message: '娑堟伅', - description: res.message - }) - } - }).finally(() => { - that.loading = false - }) + getAction(that.url.cancelOrReceive, { ids, type }) + .then((res) => { + if (res.success) { + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.loadData() + that.onClearSelected() + } else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }) + .finally(() => { + that.loading = false + }) } }) - } - }, - onInspectionDateChange: function (value, dateString) { - this.queryParam.inspectionDateBegin = dateString[0] - this.queryParam.inspectionDateEnd = dateString[1] - }, + }, - handlePrint(record) { - let href = `${window._CONFIG['domianURL']}/jmreport/view/1094871242505912320?id=` + record.id + `&equipmentId=` + record.equipmentId + `&inspectionDate=` + record.inspectionDate; //缃戠珯閾炬帴 - window.open(href, "_blank"); - }, + handlePrint(record) { + let href = `${window._CONFIG['domianURL']}/jmreport/view/1105664887569121280?equipmentCode=` + record.equipmentCode + window.open(href, '_blank') + }, + + onInspectionDateChange: function(value, dateString) { + this.queryParam.inspectionDateBegin = dateString[0] + this.queryParam.inspectionDateEnd = dateString[1] + } + } } -} -</script> -<style scoped> -@import '~@assets/less/common.less'; -</style> \ No newline at end of file +</script> \ No newline at end of file -- Gitblit v1.9.3