From 5cbba170e270e6f1c99a91e27dbb7951a27d596a Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期五, 24 十一月 2023 16:41:32 +0800 Subject: [PATCH] 故障报修验收 --- src/views/eam/RepairOrderList.vue | 580 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 343 insertions(+), 237 deletions(-) diff --git a/src/views/eam/RepairOrderList.vue b/src/views/eam/RepairOrderList.vue index 1af7be6..e606ddc 100644 --- a/src/views/eam/RepairOrderList.vue +++ b/src/views/eam/RepairOrderList.vue @@ -1,42 +1,51 @@ <template> <a-card - title="缁翠慨宸ュ崟" + title="缁翠慨" :bordered="false" > - <!-- 鏌ヨ鍖哄煙 --> <div class="table-page-search-wrapper"> <a-form layout="inline" @keyup.enter.native="searchQuery" > - <a-row :gutter="24"> + <a-row :gutter="24" style="margin-bottom: 1%;"> + <a-col + :xl="24" + :lg="7" + :md="8" + :sm="24" + > + <a-form-item label="缁熶竴缂栧彿缇�"> + <a-textarea + placeholder="璇疯緭鍏ユ墍鏈夌粺涓�缂栫爜,椤荤敤鈥�,鈥濋殧寮�,鍚﹀垯鍙兘鏌ヨ鍑洪敊璇俊鎭�" + v-model="queryParam.nums" + :auto-size="{ minRows: 2, maxRows:2 }" + ></a-textarea> + </a-form-item> + </a-col> </a-row> - </a-form> - </div> - <!-- 鏌ヨ鍖哄煙-END --> - <div class="table-page-search-wrapper"> - <a-form - layout="inline" - @keyup.enter.native="searchQuery" - > <a-row :gutter="24"> <a-col - :md="4" - :sm="8" + :xl="6" + :lg="7" + :md="8" + :sm="24" > <a-form-item label="宸ュ崟鐘舵��"> <j-dict-select-tag allow-clear placeholder="璇烽�夋嫨宸ュ崟鐘舵��" :triggerChange="true" - dictCode="repair_order_status" + dictCode="true_repair_status" v-model="queryParam.status" /> </a-form-item> </a-col> <a-col - :md="4" - :sm="8" + :xl="6" + :lg="7" + :md="8" + :sm="24" > <a-form-item label="鍗曟嵁鍙�"> <a-input @@ -46,43 +55,134 @@ </a-form-item> </a-col> <a-col - :md="4" - :sm="8" + :xl="6" + :lg="7" + :md="8" + :sm="24" > - <a-form-item label="璁惧缂栫爜"> + <a-form-item label="缁熶竴缂栫爜"> <a-input - placeholder="璇疯緭鍏ヨ澶囩紪鐮�" + placeholder="璇疯緭鍏ョ粺涓�缂栫爜" v-model="queryParam.equipmentNum" ></a-input> </a-form-item> </a-col> + <!-- <a-col :span="3"> + <span + style="float: left;overflow: hidden;" + class="table-page-search-submitButtons" + > + <a + @click="handleToggleSearch" + style="margin-left: 8px" + > + {{ toggleSearchStatus ? '鏌ヨ鏉′欢鏀惰捣' : '璇︾粏鏌ヨ' }} + <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> + </a> + </span> + </a-col> --> <a-col - :md="4" - :sm="8" + :xl="6" + :lg="7" + :md="8" + :sm="24" + > + <a-form-item label="璁惧鍚嶇О"> + <a-input + placeholder="璇疯緭鍏ヨ澶囧悕绉�" + v-model="queryParam.equipmentName" + ></a-input> + </a-form-item> + </a-col> + </a-row> + <a-row :gutter="24"> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24"> + <a-form-item + label="璁惧鎵�灞炲垎绫�" + > + <j-dict-select-tag + dictCode="mom_eam_equipment_category,name,id" + placeholder="璇疯緭鍏ユ悳绱㈡潯浠跺苟閫夋嫨" + v-model="queryParam.equipmentCategoryId" + /> + </a-form-item> + </a-col> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" > - <a-form-item label="璁惧鍚嶇О"> - <a-input - placeholder="璇疯緭鍏ヨ澶囧悕绉�" - v-model="queryParam.equipmentName" - ></a-input> + <a-form-item + label="宸ュ尯" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨璧勫伐鍖�" + :triggerChange="true" + dictCode="mom_base_area,name,id,del_flag!='1'" + v-model="queryParam.factoryModelId" + /> </a-form-item> </a-col> <a-col - :md="4" - :sm="8" + :xl="6" + :lg="7" + :md="8" + :sm="24" > - <a-button - type="primary" - @click="searchQuery" - icon="search" - style="margin-right: 5px" - >鏌ヨ</a-button> - <a-button - @click="searchReset" - icon="reload" - >閲嶇疆</a-button> + <a-form-item + label="鏄惁鍏抽敭璁惧" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨鏄惁鍏抽敭璁惧" + :triggerChange="true" + dictCode="specific_equipment" + v-model="queryParam.specificEquipment" + /> + </a-form-item> </a-col> - </a-row> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24" + > + <a-form-item label="缁翠慨鐘舵��"> + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨缁翠慨鐘舵��" + :triggerChange="true" + dictCode="repair_status" + v-model="queryParam.repairOrderUda1" + /> + </a-form-item> + </a-col> + </a-row> + <!-- <a-row :gutter="24"> + <a-col + :xl="6" + :lg="7" + :md="8" + :sm="24"> + <a-form-item + label="宸ュ尯" + > + <j-dict-select-tag + allow-clear + placeholder="璇烽�夋嫨宸ュ尯" + :triggerChange="true" + dictCode="mom_base_area,name,id,del_flag!='1'" + v-model="queryParam.factoryModelId" + /> + </a-form-item> + </a-col> + </a-row> --> </a-form> </div> <!-- 鎿嶄綔鎸夐挳鍖哄煙 --> @@ -93,11 +193,11 @@ key="1" @click="handleAddPre(1)" ><a-icon type="smile" />鑷缓</a-menu-item> - <a-menu-item + <!-- <a-menu-item key="2" @click="handleAddPre(2)" - ><a-icon type="copy" />鍙傜収淇濅慨鏁呴殰鍗�</a-menu-item> - <a-menu-item + ><a-icon type="copy" />鍙傜収鏁呴殰鎶ヤ慨鍗�</a-menu-item> --> + <a-menu-item key="2" @click="handleAddPre(3)" ><a-icon type="copy" />鍙傜収椤圭洰鎬х淮淇�</a-menu-item> @@ -107,6 +207,17 @@ icon="plus" >鏂板</a-button> </a-dropdown> + + <a-button + type="primary" + @click="searchQuery" + icon="search" + style="margin-right: 5px" + >鏌ヨ</a-button> + <a-button + @click="searchReset" + icon="reload" + >閲嶇疆</a-button> <a-button hidden type="primary" @@ -114,6 +225,11 @@ @click="handleDispatch()" :disabled="selectionRows.length==0" >娲惧伐</a-button> + <a-button + type="primary" + icon="plus" + @click="getReports" + >棰嗗彇</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> @@ -146,118 +262,31 @@ :dataSource="dataSource" :pagination="ipagination" :loading="loading" - :rowSelection="rowSelection" @change="handleTableChange" :customRow="clickThenSelect" + :rowClassName="tableRowClass" > - - <template - slot="htmlSlot" + <span slot="jell" slot-scope="text"> + <j-ellipsis :value="text" :length="8" /> + </span> + <span + slot="specificEquipment" 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> - <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)" - > - 涓嬭浇 - </a-button> - </template> - - <!-- <span - slot="action" + <a-icon type="check" style="color: chartreuse;" v-if="text==='0'" /> + <a-icon type="close" v-else style="color:red;"/> + </span> + <span + slot="num" slot-scope="text, record" > - <a-popconfirm - title="纭畾涓嬪彂鍚�?" - @confirm="() => handleDistribute(record)" - > - <a v-if="record.status=='0'">涓嬪彂</a> - </a-popconfirm> - <a-divider - type="vertical" - v-if="record.status=='0'" - /> - <a-popconfirm - title="纭畾鎾ゅ洖鍚�?" - @confirm="() => handleWithdraw(record)" - > - <a v-if="record.status=='1'">鎾ゅ洖</a> - </a-popconfirm> - <a-divider - type="vertical" - v-if="record.status=='1'" - /> - <a-popconfirm - title="纭畾棰嗗彇鍚�?" - @confirm="() => handleReceive(record)" - > - <a v-if="record.status=='1'">棰嗗彇</a> - </a-popconfirm> - <a-divider - type="vertical" - v-if="record.status=='1'" - /> <a - v-if="record.status === '2' || record.status === '3' ||record.status === '4'" + v-if="record.status === '3' || record.status === '4' ||record.status === '5' ||record.status === '7' " + class="lot" @click="handleOrderExe(record)" - >鎵ц</a> - <a-divider - type="vertical" - v-if="record.status === '2' || record.status === '3' ||record.status === '4'" - /> - <a - @click="handleEditPre(record)" - v-if="record.status=='0'" - >缂栬緫</a> - <a-divider - type="vertical" - v-if="record.status=='0'" - /> - <a-dropdown v-if="record.status=='0'"> - <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> - <a-menu slot="overlay"> - <a-menu-item> - <a-popconfirm - title="纭畾鍒犻櫎鍚�?" - @confirm="() => handleDelete(record.id)" - > - <a>鍒犻櫎</a> - </a-popconfirm> - </a-menu-item> - </a-menu> - </a-dropdown> - </span> --> + ><j-ellipsis :value="text" :length="15"/></a> + <span v-else> <j-ellipsis :value="text" :length="15"/></span> + </span> <span slot="action" slot-scope="text, record" @@ -292,10 +321,10 @@ v-if="record.status == '1' && record.dispatchMethod == '1' " @click="handleAssignOrder(record)" >娲惧伐</a> - <a + <!-- <a v-if="record.status == '2' && record.dispatchMethod != null " @click="handleAssignOrder(record)" - >鏀规淳</a> + >鏀规淳</a> --> <a-divider v-if="record.status == '1' || record.status == '2' " type="vertical" @@ -345,7 +374,7 @@ tab="鏁呴殰鎻忚堪" key="1" > - <FaultDescriptionList ref="FaultDescriptionList"/> + <FaultDescriptionList ref="FaultDescriptionList" /> </a-tab-pane> <a-tab-pane tab="缁翠慨瑕佹眰" @@ -424,15 +453,21 @@ <repair-order-excute-drawer ref="repairOrderExcuteDrawer" @ok="modalFormOk" + :repairOrderId="repairOrderFaultAnalysisMainId" :repairOrder="excuteRepairOrder" > </repair-order-excute-drawer> + <fault-report-repair + ref="FaultReportRepair" + @ok="modalFormOk" + ></fault-report-repair> </a-card> </template> <script> import { JeecgListMixin } from '@/mixins/JeecgListMixin' import RepairOrderModal from './modules/repairorder/RepairOrderModal' import { getAction } from '@/api/manage' +import JEllipsis from '@/components/jeecg/JEllipsis' import RepairOrderDetailList from './RepairOrderDetailList' import RepairOrderRiskPreventionList from './RepairOrderRiskPreventionList' import RepairOrderFaultAnalysisList from './RepairOrderFaultAnalysisList' @@ -442,13 +477,17 @@ import EquipmentDocumentList from './RepairOrderEquipmentDocumentList' import '@/assets/less/TableExpand.less' import { putAction } from '../../api/manage' -import RepairOrderAssignTask from './modules/repairorder/RepairOrderAssignTask.vue' -import RepairOrderExcuteDrawer from './modules/repairorder/repairOrderExcuteDrawer.vue' +import RepairOrderAssignTask from './modules/repairorder/RepairOrderAssignTask' +import RepairOrderExcuteDrawer from './modules/repairorder/repairOrderExcuteDrawer' import FaultDescriptionList from './FaultDescriptionList' +import FaultReportRepair from './modules/repairorder/moudles/select/FaultReportRepair.vue' +import store from '@/store' +import dayjs from 'dayjs' export default { name: "RepairOrderList", mixins: [JeecgListMixin], components: { + JEllipsis, RepairOrderDetailList, RepairOrderRiskPreventionList, RepairOrderFaultAnalysisList, @@ -459,7 +498,14 @@ RepairOrderModal, RepairOrderAssignTask, RepairOrderExcuteDrawer, - FaultDescriptionList + FaultDescriptionList, + FaultReportRepair, + store + }, + mounted(){ + let intervalId = setInterval(() => { + this.loadData(); + }, 600*1000); // 1000姣锛屽嵆1绉� }, data() { return { @@ -467,22 +513,47 @@ // 琛ㄥご columns: [ { + title: '#', + dataIndex: '', + key: 'rowIndex', + width: 60, + align: "center", + customRender: function (t, r, index) { + return parseInt(index) + 1; + } + }, + { + title: '鍏抽敭璁惧?', + align: "center", + dataIndex: 'specificEquipment', + scopedSlots: { customRender: 'specificEquipment' } + }, + { title: '鐘舵��', align: "center", dataIndex: 'status_dictText' }, { + title: '缁翠慨鐘舵��', + align: "center", + dataIndex: 'repairOrderUda1_dictText', + customRender:function (t,r,index) { + return t===null||r.repairOrderUda1===null?'/':t; + } + }, + { title: '鍗曟嵁鍙�', align: "center", - dataIndex: 'num' + dataIndex: 'num', + scopedSlots: { customRender: 'num' } }, + // { + // title: '涓氬姟绫诲瀷', + // align: "center", + // dataIndex: 'businessType_dictText' + // }, { - title: '涓氬姟绫诲瀷', - align: "center", - dataIndex: 'businessType_dictText' - }, - { - title: '璁惧缂栫爜', + title: '缁熶竴缂栫爜', align: "center", dataIndex: 'equipmentNum' }, @@ -501,50 +572,81 @@ align: "center", dataIndex: 'departId_dictText' }, + // { + // title: '绱ф�ョ▼搴�', + // align: "center", + // dataIndex: 'urgency_dictText' + // }, + // { + // title: '缁翠繚鏂瑰紡', + // align: "center", + // dataIndex: 'maintenanceMethod_dictText' + // }, + // { + // title: '澶栧鍗曚綅', + // align: "center", + // dataIndex: 'outsourcingUnitName' + // }, { - title: '绱ф�ョ▼搴�', + title: '缁翠慨鐝粍', align: "center", - dataIndex: 'urgency_dictText' - }, - { - title: '缁翠繚鏂瑰紡', - align: "center", - dataIndex: 'maintenanceMethod_dictText' - }, - { - title: '濮斿鍗曚綅', - align: "center", - dataIndex: 'outsourcingUnitName' - }, - { - title: '璐d换鐝粍', - align: "center", - dataIndex: 'teamId_dictText' + dataIndex: 'teamId_dictText', + scopedSlots: { + customRender: 'jell' + } }, { title: '璐d换浜�', align: "center", dataIndex: 'responsibilityId_dictText' }, - { - title: '娲惧伐鏂瑰紡', - align: "center", - dataIndex: 'dispatchMethod_dictText' - }, + // { + // title: '娲惧伐鏂瑰紡', + // align: "center", + // dataIndex: 'dispatchMethod_dictText' + // }, // { // title: '鐗圭璁惧', // align: "center", // dataIndex: 'specificEquipment_dictText' // }, { + title: '鏁呴殰鏃堕棿', + align: "center", + dataIndex: 'faultTime' + }, + { + title: '鎶ヤ慨浜�', + align: "center", + dataIndex: 'errUda2' + }, + { title: '鏁呴殰鎻忚堪', align: "center", - dataIndex: 'faultDescription' + dataIndex: 'faultDescription', + scopedSlots: { + customRender: 'jell' + } }, // { - // title: '鏁呴殰鏃堕棿', + // title: '鏁呴殰鍘熷洜', // align: "center", - // dataIndex: 'faultTime' + // dataIndex: 'faultReason' + // }, + // { + // title: '鏁呴殰鐜拌薄', + // align: "center", + // dataIndex: 'faultPhenomenon' + // }, + // { + // title: '鏁呴殰鎺掗櫎', + // align: "center", + // dataIndex: 'faultRemove' + // }, + // { + // title: '棰勯槻鎺柦', + // align: "center", + // dataIndex: 'preventiveMeasure' // }, // { // title: '鏁呴殰鐓х墖', @@ -557,36 +659,36 @@ // align: "center", // dataIndex: 'isStop_dictText' // }, - { - title: '宸ユ椂瀹氶', - align: "center", - dataIndex: 'workingHourQuota' - }, - { - title: '瀹為檯宸ユ椂', - align: "center", - dataIndex: 'actualHour' - }, - { - title: '璁″垝寮�濮嬫椂闂�', - align: "center", - dataIndex: 'planStartTime' - }, - { - title: '璁″垝缁撴潫鏃堕棿', - align: "center", - dataIndex: 'planEndTime' - }, - { - title: '瀹為檯寮�濮嬫椂闂�', - align: "center", - dataIndex: 'actualStartTime' - }, - { - title: '瀹為檯缁撴潫鏃堕棿', - align: "center", - dataIndex: 'actualEndTime' - }, + // { + // title: '宸ユ椂瀹氶', + // align: "center", + // dataIndex: 'workingHourQuota' + // }, + // { + // title: '瀹為檯宸ユ椂', + // align: "center", + // dataIndex: 'actualHour' + // }, + // { + // title: '璁″垝寮�濮嬫椂闂�', + // align: "center", + // dataIndex: 'planStartTime' + // }, + // { + // title: '璁″垝缁撴潫鏃堕棿', + // align: "center", + // dataIndex: 'planEndTime' + // }, + // { + // title: '瀹為檯寮�濮嬫椂闂�', + // align: "center", + // dataIndex: 'actualStartTime' + // }, + // { + // title: '瀹為檯缁撴潫鏃堕棿', + // align: "center", + // dataIndex: 'actualEndTime' + // }, { title: '鍒涘缓浜�', align: "center", @@ -618,8 +720,6 @@ orderReceive: "eam/repairOrder/receive", orderStart: "eam/repairOrder/start" }, - dictOptions: { - }, /* 鍒嗛〉鍙傛暟 */ ipagination: { current: 1, @@ -647,9 +747,6 @@ sonsAddStatus: false, } }, - // created() { - // this.getSuperFieldList(); - // }, computed: { importExcelUrl: function () { return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; @@ -742,6 +839,7 @@ } this.onClearSelected() this.queryParam.repairOrderType = 0; + this.queryParam.userId = store.getters.userInfo.id var params = this.getQueryParams();//鏌ヨ鏉′欢 this.loading = true; getAction(this.url.list, params).then((res) => { @@ -754,24 +852,10 @@ } this.loading = false; this.$refs.FaultDescriptionList.faultId = '-1' + this.excuteRepairOrder = {} }) }, - // getSuperFieldList() { - // let fieldList = []; - // fieldList.push({ type: 'string', value: 'num', text: '缁翠慨璁㈠崟鍙�', dictCode: '' }) - // fieldList.push({ type: 'string', value: 'equipmentId', text: '璁惧鍙拌处ID', dictCode: '' }) - // fieldList.push({ type: 'string', value: 'reportRepairId', text: '鏁呴殰鎶ヤ慨鍗旾D', dictCode: '' }) - // fieldList.push({ type: 'string', value: 'teamId', text: '鐝粍ID', dictCode: '' }) - // fieldList.push({ type: 'string', value: 'faultDescription', text: '鏁呴殰鎻忚堪', dictCode: '' }) - // fieldList.push({ type: 'datetime', value: 'faultTime', text: '鏁呴殰鏃堕棿' }) - // fieldList.push({ type: 'string', value: 'photo', text: '鏁呴殰鐓х墖', dictCode: '' }) - // fieldList.push({ type: 'string', value: 'isStop', text: '鏄惁鍋滄満', dictCode: '' }) - // fieldList.push({ type: 'datetime', value: 'actualEndTime', text: '瀹為檯缁撴潫鏃堕棿' }) - // fieldList.push({ type: 'string', value: 'maintenanceMethod', text: '缁翠繚鏂瑰紡', dictCode: '' }) - // fieldList.push({ type: 'string', value: 'createBy', text: '鍒涘缓浜�', dictCode: '' }) - // fieldList.push({ type: 'datetime', value: 'createTime', text: '鍒涘缓鏃堕棿' }) - // this.superFieldList = fieldList - // }, + handleAddPre(isSelfCreate) { this.isSelfCreate = isSelfCreate; this.handleAdd(); @@ -781,9 +865,9 @@ if (record.reportRepairId != null && record.reportRepairId != undefined && record.reportRepairId != '') { this.isSelfCreate = '2'; } - else if(record.projectMaintenanceOrderId != null && record.projectMaintenanceOrderId != undefined && record.projectMaintenanceOrderId != ''){ + else if (record.projectMaintenanceOrderId != null && record.projectMaintenanceOrderId != undefined && record.projectMaintenanceOrderId != '') { this.isSelfCreate = '3'; - }else{ + } else { this.isSelfCreate = '1'; } this.handleEdit(record); @@ -856,10 +940,32 @@ this.onClearSelected() this.$refs.FaultDescriptionList.faultId = '-1' }, + getReports(){ + this.$refs.FaultReportRepair.title = '鏁呴殰鎶ヤ慨鍗�'; + this.$refs.FaultReportRepair.loadData(); + this.$refs.FaultReportRepair.visible = true; + }, + tableRowClass(record, index) { + if ("2" === record.status) { + if (record.specificEquipment==='0'&&dayjs(record.faultTime).add(12,'hour')<dayjs()) { + return 'error' + } else if(dayjs(record.faultTime).add(7,'day')<dayjs()){ + return 'primary' + } + } + }, }, } </script> <style scoped> @import '~@assets/less/common.less'; +.error { + color: red; + font-weight: bold; +} +.primary { + color: rgb(255, 0, 251); + font-weight: bold; +} </style> \ No newline at end of file -- Gitblit v1.9.3