| | |
| | | </a-col> |
| | | |
| | | <a-col class="scroll-col" |
| | | :span="model.maintenanceStatus&&model.maintenanceStatus!='WAIT_MAINTENANCE'&&model.maintenanceStatus!='UNDER_MAINTENANCE'?10:16"> |
| | | :span="model.maintenanceStatus&&model.maintenanceStatus!=='WAIT_MAINTENANCE'&&model.maintenanceStatus!=='UNDER_MAINTENANCE'?10:16"> |
| | | <a-tabs :active-key="activeTabKey" @change="handleTabChange"> |
| | | <a-tab-pane :key="1" tab="操作工" |
| | | v-if="selectShenpiData.taskDefKey&&selectShenpiData.taskDefKey=='operator_task'|| |
| | | (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE')"> |
| | | v-if="(selectShenpiData.taskDefKey&&selectShenpiData.taskDefKey==='operator_task')|| |
| | | (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE')"> |
| | | <j-vxe-table ref="editableDetailTable1" :rowNumber="false" rowSelection bordered |
| | | alwaysEdit keep-source :height="300" |
| | | alwaysEdit keep-source |
| | | :dataSource="detail.operatorMaintenanceList" :columns="detail.columns" |
| | | @selectRowChange="handleTableSelectRowChange($event,'Operator')"> |
| | | <template v-slot:maintenanceResult="props"> |
| | | <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="maintenance_result" |
| | | placeholder="请选择保养结果" |
| | | :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE')" |
| | | :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE')" |
| | | @change="handleInspectionResultSelectChange($event,props.row)" |
| | | style="width: 100%"/> |
| | | </template> |
| | | |
| | | <template v-slot:exceptionDescription="props"> |
| | | <a-textarea :rows="1" :autoSize="false" v-model="props.row.exceptionDescription" |
| | | :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!='1'?'请输入异常描述':''" |
| | | :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!=='1'?'请输入异常描述':''" |
| | | :disabled="disableSubmit|| |
| | | (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE') || |
| | | (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE') || |
| | | !props.row.maintenanceResult || |
| | | props.row.maintenanceResult === '1'"/> |
| | | </template> |
| | | |
| | | <template v-slot:reportFlag="props"> |
| | | <j-dict-select-tag v-model="props.row.reportFlag" dictCode="yn" style="width: 100%" |
| | | :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!='1'?'请选择异常是否报修':''" |
| | | :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!=='1'?'请选择异常是否报修':''" |
| | | :disabled="disableSubmit || |
| | | (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE') || |
| | | (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE') || |
| | | !props.row.maintenanceResult || |
| | | props.row.maintenanceResult === '1'"/> |
| | | </template> |
| | |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="2" tab="维修工" |
| | | v-if="selectShenpiData.taskDefKey&&selectShenpiData.taskDefKey=='maintenance_task'|| |
| | | (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE')"> |
| | | v-if="(selectShenpiData.taskDefKey&&selectShenpiData.taskDefKey==='maintenance_task')|| |
| | | (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE')"> |
| | | <j-vxe-table ref="editableDetailTable2" :rowNumber="false" rowSelection bordered |
| | | alwaysEdit kee-source :height="300" |
| | | alwaysEdit kee-source |
| | | :dataSource="detail.repairerMaintenanceList" :columns="detail.columns" |
| | | @selectRowChange="handleTableSelectRowChange($event,'Repairer')"> |
| | | <template v-slot:maintenanceResult="props"> |
| | | <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="maintenance_result" |
| | | placeholder="请选择保养结果" |
| | | :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE')" |
| | | :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE')" |
| | | @change="handleInspectionResultSelectChange($event,props.row)" |
| | | style="width: 100%"/> |
| | | </template> |
| | | |
| | | <template v-slot:exceptionDescription="props"> |
| | | <a-textarea :rows="1" :autoSize="false" v-model="props.row.exceptionDescription" |
| | | :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!='1'?'请输入异常描述':''" |
| | | :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!=='1'?'请输入异常描述':''" |
| | | :disabled="disableSubmit || |
| | | (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE') || |
| | | (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE') || |
| | | !props.row.maintenanceResult || |
| | | props.row.maintenanceResult === '1'"/> |
| | | </template> |
| | | |
| | | <template v-slot:reportFlag="props"> |
| | | <j-dict-select-tag v-model="props.row.reportFlag" |
| | | :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!='1'?'请选择异常是否报修':''" |
| | | :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!=='1'?'请选择异常是否报修':''" |
| | | dictCode="yn" style="width: 100%" |
| | | :disabled="disableSubmit|| |
| | | (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE') || |
| | | (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE') || |
| | | !props.row.maintenanceResult || |
| | | props.row.maintenanceResult === '1'"/> |
| | | </template> |
| | |
| | | <a-button |
| | | v-if="activeTabKey!=='3'" |
| | | :disabled="disableSubmit || |
| | | (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE') || |
| | | (activeTabKey=='1'&&selectedOperatorMaintenanceRowKeys.length == 0)|| |
| | | (activeTabKey=='2'&&selectedRepairerMaintenanceRowKeys.length == 0)" |
| | | (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE') || |
| | | (activeTabKey==='1'&&selectedOperatorMaintenanceRowKeys.length === 0)|| |
| | | (activeTabKey==='2'&&selectedRepairerMaintenanceRowKeys.length === 0)" |
| | | slot="tabBarExtraContent" |
| | | type="primary" @click="handleSelectAllInspectionResult">批量保养正常 |
| | | </a-button> |
| | |
| | | |
| | | <!--右侧审批列--> |
| | | <a-col :span="6" class="scroll-col" |
| | | v-if="model.maintenanceStatus&&model.maintenanceStatus!='WAIT_MAINTENANCE'&&model.maintenanceStatus!='UNDER_MAINTENANCE'"> |
| | | v-if="model.maintenanceStatus&&model.maintenanceStatus!=='WAIT_MAINTENANCE'&&model.maintenanceStatus!=='UNDER_MAINTENANCE'"> |
| | | <a-tabs v-if="displayAdminConfirmFlag"> |
| | | <a-tab-pane tab="管理员确认"> |
| | | <a-row> |
| | |
| | | <a-form-model-item prop="manageUserResult" label="确认类型"> |
| | | <j-dict-select-tag type='radio' v-model='model.manageUserResult' dictCode='approve_reject' |
| | | placeholder="请选择确认类型" |
| | | :disabled="disableSubmit || model.maintenanceStatus!='WAIT_ADMIN_CONFIRM'"/> |
| | | :disabled="disableSubmit || model.maintenanceStatus!=='WAIT_ADMIN_CONFIRM'"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="问题描述"> |
| | | <a-textarea placeholder="请描述问题" v-model='model.problemDescription' |
| | | :disabled="disableSubmit || model.maintenanceStatus!='WAIT_ADMIN_CONFIRM'"/> |
| | | :disabled="disableSubmit || model.maintenanceStatus!=='WAIT_ADMIN_CONFIRM'"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="处理措施描述"> |
| | | <a-textarea placeholder="请描述处理措施" v-model="model.dealDescription" |
| | | :disabled="disableSubmit || model.maintenanceStatus!='WAIT_ADMIN_CONFIRM'"/> |
| | | :disabled="disableSubmit || model.maintenanceStatus!=='WAIT_ADMIN_CONFIRM'"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | <a-form-model-item prop="inspectorResult" label="确认类型"> |
| | | <j-dict-select-tag type='radio' v-model='model.inspectorResult' dictCode='approve_reject' |
| | | placeholder="请选择确认类型" |
| | | :disabled="disableSubmit || model.maintenanceStatus!='WAIT_INSPECTOR_CONFIRM'"/> |
| | | :disabled="disableSubmit || model.maintenanceStatus!=='WAIT_INSPECTOR_CONFIRM'"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="24"> |
| | | <a-form-model-item label="确认意见"> |
| | | <a-textarea placeholder="请输入意见" v-model="model.inspectConfirmComment" |
| | | :disabled="disableSubmit || model.maintenanceStatus!='WAIT_INSPECTOR_CONFIRM'"/> |
| | | :disabled="disableSubmit || model.maintenanceStatus!=='WAIT_INSPECTOR_CONFIRM'"/> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | }, |
| | | computed: { |
| | | displayAdminConfirmFlag() { |
| | | return ['WAIT_ADMIN_CONFIRM', 'WAIT_INSPECTOR_CONFIRM', 'COMPLETE'].includes(this.model.maintenanceStatus) |
| | | return ['WAIT_ADMIN_CONFIRM', 'WAIT_INSPECTOR_CONFIRM', 'COMPLETE', 'REJECTED'].includes(this.model.maintenanceStatus) |
| | | }, |
| | | displayInspectorConfirmFlag() { |
| | | return ['WAIT_INSPECTOR_CONFIRM', 'COMPLETE'].includes(this.model.maintenanceStatus) |
| | | return ['WAIT_INSPECTOR_CONFIRM', 'COMPLETE', 'REJECTED'].includes(this.model.maintenanceStatus) && this.model.manageUserResult === '1' |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | * 主页面点击执行审批时触发 |
| | | * @param record 主页面列表行记录 |
| | | */ |
| | | async handleDetail(record) { |
| | | async handleApprove(record) { |
| | | this.spinning = true |
| | | this.model = {} |
| | | this.detail.operatorMaintenanceList = this.detail.repairerMaintenanceList = [] |
| | | this.handleTabToFirstTable() |
| | |
| | | * 主页面点击详情时触发 |
| | | * @param record 主页面列表行记录 |
| | | */ |
| | | recordDetail(record) { |
| | | handleDetail(record) { |
| | | this.spinning = true |
| | | this.activeTabKey = 1 |
| | | this.detail.operatorMaintenanceList = this.detail.repairerMaintenanceList = [] |
| | | this.model = Object.assign({}, record) |
| | |
| | | * @param record 主页面列表行记录 |
| | | */ |
| | | getBasicInformationByApi(record) { |
| | | this.spinning = true |
| | | const that = this |
| | | getAction(this.url.queryById, { id: record.dataId }) |
| | | .then(res => { |
| | |
| | | that.confirmLoading = that.spinning = true |
| | | |
| | | // 仅在保养中状态传递表格列表 |
| | | if (this.model.maintenanceStatus == 'UNDER_MAINTENANCE') { |
| | | if (this.model.maintenanceStatus === 'UNDER_MAINTENANCE') { |
| | | for (let index = 1; index <= 2; index++) { |
| | | if (that.$refs['editableDetailTable' + index]) { |
| | | this.model.tableDetailList = that.$refs['editableDetailTable' + index].getTableData() |
| | |
| | | handleTabToFirstTable() { |
| | | this.$nextTick(() => { |
| | | console.log('taskDefKey', this.selectShenpiData.taskDefKey) |
| | | if ((this.selectShenpiData.taskDefKey && this.selectShenpiData.taskDefKey == 'operator_task') || !this.selectShenpiData.taskDefKey) this.activeTabKey = 1 |
| | | else if (this.selectShenpiData.taskDefKey && this.selectShenpiData.taskDefKey == 'maintenance_task') this.activeTabKey = 2 |
| | | if ((this.selectShenpiData.taskDefKey && this.selectShenpiData.taskDefKey === 'operator_task') || !this.selectShenpiData.taskDefKey || (this.model.maintenanceStatus !== 'UNDER_MAINTENANCE')) this.activeTabKey = 1 |
| | | else if (this.selectShenpiData.taskDefKey && this.selectShenpiData.taskDefKey === 'maintenance_task') this.activeTabKey = 2 |
| | | }) |
| | | }, |
| | | |
| | | //规范选择变化 |
| | | loadDetail(orderId) { |
| | | this.spinning = true |
| | | getAction(this.url.detail, { orderId }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.detail.operatorMaintenanceList = res.result.filter(item => item.itemCategory == 'OPERATOR_MAINTENANCE') |
| | | this.detail.repairerMaintenanceList = res.result.filter(item => item.itemCategory == 'REPAIRER_MAINTENANCE') |
| | | this.detail.operatorMaintenanceList = res.result.filter(item => item.itemCategory === 'OPERATOR_MAINTENANCE') |
| | | this.detail.repairerMaintenanceList = res.result.filter(item => item.itemCategory === 'REPAIRER_MAINTENANCE') |
| | | } |
| | | }) |
| | | }, |
| | |
| | | // 批量选择所有点检结果 |
| | | handleSelectAllInspectionResult() { |
| | | let selectedRowKeys, prefix |
| | | if (this.activeTabKey == 1) { |
| | | if (this.activeTabKey === 1) { |
| | | selectedRowKeys = this.selectedOperatorMaintenanceRowKeys |
| | | prefix = 'operator' |
| | | } |
| | | else if (this.activeTabKey == 2) { |
| | | else if (this.activeTabKey === 2) { |
| | | selectedRowKeys = this.selectedRepairerMaintenanceRowKeys |
| | | prefix = 'repairer' |
| | | } |
| | | else selectedRowKeys = [] |
| | | if (selectedRowKeys.length == 0) return |
| | | if (selectedRowKeys.length === 0) return |
| | | |
| | | selectedRowKeys.forEach(key => { |
| | | const dataItem = this.detail[prefix + 'MaintenanceList'].find(item => item.id === key) |