| | |
| | | <template> |
| | | <a-card |
| | | title="维修工单" |
| | | title="维修" |
| | | :bordered="false" |
| | | > |
| | | <div class="table-page-search-wrapper"> |
| | |
| | | layout="inline" |
| | | @keyup.enter.native="searchQuery" |
| | | > |
| | | <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-row :gutter="24"> |
| | | <a-col |
| | | :xl="6" |
| | |
| | | allow-clear |
| | | placeholder="请选择工单状态" |
| | | :triggerChange="true" |
| | | dictCode="repair_order_status" |
| | | dictCode="true_repair_status" |
| | | v-model="queryParam.status" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :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"> |
| | | <!-- <a-col :span="3"> |
| | | <span |
| | | style="float: left;overflow: hidden;" |
| | | class="table-page-search-submitButtons" |
| | |
| | | <a-icon :type="toggleSearchStatus ? 'up' : 'down'" /> |
| | | </a> |
| | | </span> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <template v-if="toggleSearchStatus"> |
| | | <a-row :gutter="24"> |
| | | <a-col |
| | | </a-col> --> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | | :md="8" |
| | |
| | | ></a-input> |
| | | </a-form-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="24"> |
| | | <a-col |
| | | :xl="6" |
| | | :lg="7" |
| | |
| | | allow-clear |
| | | placeholder="请选择资工区" |
| | | :triggerChange="true" |
| | | dictCode="mom_base_factory_model,name,id,del_flag!='1'" |
| | | dictCode="mom_base_area,name,id,del_flag!='1'" |
| | | v-model="queryParam.factoryModelId" |
| | | /> |
| | | </a-form-item> |
| | |
| | | :triggerChange="true" |
| | | dictCode="specific_equipment" |
| | | v-model="queryParam.specificEquipment" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <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-form-item> |
| | | </a-col> |
| | | </a-row> --> |
| | | </template> |
| | | </a-form> |
| | | </div> |
| | | <!-- 操作按钮区域 --> |
| | | <div class="table-operator"> |
| | | <a-dropdown> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item |
| | | <!-- <a-menu-item |
| | | key="1" |
| | | @click="handleAddPre(1)" |
| | | ><a-icon type="smile" />自建</a-menu-item> |
| | | ><a-icon type="smile" />自建</a-menu-item> --> |
| | | <!-- <a-menu-item |
| | | key="2" |
| | | @click="handleAddPre(2)" |
| | |
| | | type="primary" |
| | | icon="plus" |
| | | @click="getReports" |
| | | v-has="'repair:accept'" |
| | | >领取</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"> |
| | |
| | | :loading="loading" |
| | | @change="handleTableChange" |
| | | :customRow="clickThenSelect" |
| | | :rowClassName="tableRowClass" |
| | | > |
| | | <span slot="jell" slot-scope="text"> |
| | | <j-ellipsis :value="text" :length="8" /> |
| | | </span> |
| | | <span |
| | | slot="specificEquipment" |
| | | slot-scope="text" |
| | | > |
| | | <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 |
| | | v-if="record.status === '2' || record.status === '3' " |
| | | @click="handleOrderExe(record)" |
| | | v-has="'repair:excute'" |
| | | >执行</a> |
| | | <a-divider |
| | | v-if="record.status === '2' || record.status === '3' " |
| | |
| | | </repair-order-excute-drawer> |
| | | <fault-report-repair |
| | | ref="FaultReportRepair" |
| | | @ok="modalFormOk" |
| | | ></fault-report-repair> |
| | | </a-card> |
| | | </template> |
| | |
| | | import FaultDescriptionList from './FaultDescriptionList' |
| | | import FaultReportRepair from './modules/repairorder/moudles/select/FaultReportRepair.vue' |
| | | import store from '@/store' |
| | | import { |
| | | ACCESS_TOKEN, |
| | | USER_NAME, |
| | | USER_INFO, |
| | | USER_AUTH, |
| | | SYS_BUTTON_AUTH, |
| | | UI_CACHE_DB_DICT_DATA, |
| | | TENANT_ID, |
| | | CACHE_INCLUDED_ROUTES |
| | | } from '@/store/mutation-types' |
| | | import dayjs from 'dayjs' |
| | | export default { |
| | | name: "RepairOrderList", |
| | | mixins: [JeecgListMixin], |
| | |
| | | FaultReportRepair, |
| | | store |
| | | }, |
| | | mounted(){ |
| | | let intervalId = setInterval(() => { |
| | | this.loadData(); |
| | | }, 600*1000); // 1000毫秒,即1秒 |
| | | }, |
| | | data() { |
| | | return { |
| | | description: '维修工单管理页面', |
| | |
| | | } |
| | | }, |
| | | { |
| | | 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: '单据号', |
| | |
| | | // dataIndex: 'businessType_dictText' |
| | | // }, |
| | | { |
| | | title: '设备编码', |
| | | title: '统一编码', |
| | | align: "center", |
| | | dataIndex: 'equipmentNum' |
| | | }, |
| | |
| | | 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", |
| | |
| | | customRender: 'jell' |
| | | } |
| | | }, |
| | | { |
| | | title: '故障原因', |
| | | align: "center", |
| | | dataIndex: 'faultReason' |
| | | }, |
| | | { |
| | | title: '故障现象', |
| | | align: "center", |
| | | dataIndex: 'faultPhenomenon' |
| | | }, |
| | | { |
| | | title: '故障排除', |
| | | align: "center", |
| | | dataIndex: 'faultRemove' |
| | | }, |
| | | { |
| | | title: '预防措施', |
| | | align: "center", |
| | | dataIndex: 'preventiveMeasure' |
| | | }, |
| | | // { |
| | | // title: '故障时间', |
| | | // title: '故障原因', |
| | | // align: "center", |
| | | // dataIndex: 'faultTime' |
| | | // dataIndex: 'faultReason' |
| | | // }, |
| | | // { |
| | | // title: '故障现象', |
| | | // align: "center", |
| | | // dataIndex: 'faultPhenomenon' |
| | | // }, |
| | | // { |
| | | // title: '故障排除', |
| | | // align: "center", |
| | | // dataIndex: 'faultRemove' |
| | | // }, |
| | | // { |
| | | // title: '预防措施', |
| | | // align: "center", |
| | | // dataIndex: 'preventiveMeasure' |
| | | // }, |
| | | // { |
| | | // 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: 'actualHour' |
| | | // }, |
| | | // { |
| | | // title: '计划开始时间', |
| | | // align: "center", |
| | | // dataIndex: 'planStartTime' |
| | | // }, |
| | | // { |
| | | // title: '计划结束时间', |
| | | // align: "center", |
| | | // dataIndex: 'planEndTime' |
| | | // }, |
| | | // { |
| | | // title: '实际开始时间', |
| | | // align: "center", |
| | | // dataIndex: 'actualStartTime' |
| | | // }, |
| | | // { |
| | | // title: '实际结束时间', |
| | | // align: "center", |
| | | // dataIndex: 'actualEndTime' |
| | | // }, |
| | | { |
| | | title: '创建人', |
| | | align: "center", |
| | |
| | | }, |
| | | 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> |
| | | <style lang="less" scoped> |
| | | @import '~@assets/less/common.less'; |
| | | |
| | | /deep/.error { |
| | | color: red; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | /deep/.primary { |
| | | color: rgb(255, 0, 251); |
| | | font-weight: bold; |
| | | } |
| | | </style> |