From 3db6d5c4d17ab9942a5c89a167c1f06ca485f355 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期三, 16 七月 2025 21:21:14 +0800 Subject: [PATCH] 二保工单审批调整 --- src/views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue | 426 +++++++++++++++++++++++++++++++++++------------------ 1 files changed, 282 insertions(+), 144 deletions(-) diff --git a/src/views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue b/src/views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue index ddf1a35..906416d 100644 --- a/src/views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue +++ b/src/views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue @@ -4,8 +4,8 @@ @cancel="handleCancel" centered cancelText="鍏抽棴"> <a-spin :spinning="spinning"> <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol"> - <a-row :gutter="24"> - <a-col :span="8"> + <a-row :gutter="24" id="outer-row"> + <a-col :span="8" class="scroll-col"> <a-tabs> <a-tab-pane tab="鍩虹淇℃伅"> <a-row> @@ -38,19 +38,19 @@ <a-row> <a-col :span="12"> <a-form-model-item label="鎿嶄綔宸�"> - <a-input v-model="model.operator_dicText" readOnly/> + <a-input v-model="model.operator_dictText" readOnly/> </a-form-model-item> </a-col> <a-col :span="12"> <a-form-model-item label="缁翠慨宸�"> - <a-input v-model="model.repairer_dicText" readOnly/> + <a-input v-model="model.repairman_dictText" readOnly/> </a-form-model-item> </a-col> </a-row> <a-row> <a-col :span="12"> - <a-form-model-item prop="maintenancePeriod" label="淇濆吇鍛ㄦ湡"> + <a-form-model-item label="淇濆吇鍛ㄦ湡"> <a-input v-model="model.maintenancePeriod" readOnly/> </a-form-model-item> </a-col> @@ -65,57 +65,76 @@ </a-tabs> </a-col> - <a-col - :span="model.maintenanceStatus!='WAIT_MAINTENANCE'&&model.maintenanceStatus!='UNDER_MAINTENANCE'?10:16"> - <a-tabs v-model="activeTabKey"> - <a-tab-pane key="1" tab="鎿嶄綔宸�"> + <a-col class="scroll-col" + :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')"> <j-vxe-table ref="editableDetailTable1" :rowNumber="false" rowSelection bordered alwaysEdit keep-source :height="300" :dataSource="detail.operatorMaintenanceList" :columns="detail.columns" - @selectRowChange="handleTableSelectRowChange"> + @selectRowChange="handleTableSelectRowChange($event,'Operator')"> <template v-slot:maintenanceResult="props"> - <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="eam_inspection_result" - placeholder="璇烽�夋嫨淇濆吇缁撴灉" :disabled="disableSubmit || confirmDisable" + <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="maintenance_result" + placeholder="璇烽�夋嫨淇濆吇缁撴灉" + :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE')" @change="handleInspectionResultSelectChange($event,props.row)" style="width: 100%"/> </template> <template v-slot:exceptionDescription="props"> - <a-textarea style="height: 32px" v-model="props.row.exceptionDescription" - :disabled="disableSubmit || confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'"/> + <a-textarea :rows="1" :autoSize="false" v-model="props.row.exceptionDescription" + :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!='1'?'璇疯緭鍏ュ紓甯告弿杩�':''" + :disabled="disableSubmit|| + (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" - :disabled="disableSubmit || confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'" - dictCode="yn" - style="width: 100%"/> + <j-dict-select-tag v-model="props.row.reportFlag" dictCode="yn" style="width: 100%" + :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!='1'?'璇烽�夋嫨寮傚父鏄惁鎶ヤ慨':''" + :disabled="disableSubmit || + (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE') || + !props.row.maintenanceResult || + props.row.maintenanceResult === '1'"/> </template> </j-vxe-table> </a-tab-pane> - <a-tab-pane key="2" tab="缁翠慨宸�"> + <a-tab-pane :key="2" tab="缁翠慨宸�" + 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" :dataSource="detail.repairerMaintenanceList" :columns="detail.columns" - @selectRowChange="handleTableSelectRowChange"> + @selectRowChange="handleTableSelectRowChange($event,'Repairer')"> <template v-slot:maintenanceResult="props"> - <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="eam_inspection_result" - placeholder="璇烽�夋嫨淇濆吇缁撴灉" :disabled="disableSubmit || confirmDisable" + <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="maintenance_result" + placeholder="璇烽�夋嫨淇濆吇缁撴灉" + :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE')" @change="handleInspectionResultSelectChange($event,props.row)" style="width: 100%"/> </template> <template v-slot:exceptionDescription="props"> - <a-textarea style="height: 32px" v-model="props.row.exceptionDescription" - :disabled="disableSubmit || confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'"/> + <a-textarea :rows="1" :autoSize="false" v-model="props.row.exceptionDescription" + :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!='1'?'璇疯緭鍏ュ紓甯告弿杩�':''" + :disabled="disableSubmit || + (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" - :disabled="disableSubmit || confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'" - dictCode="yn" - style="width: 100%"/> + :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!='1'?'璇烽�夋嫨寮傚父鏄惁鎶ヤ慨':''" + dictCode="yn" style="width: 100%" + :disabled="disableSubmit|| + (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE') || + !props.row.maintenanceResult || + props.row.maintenanceResult === '1'"/> </template> </j-vxe-table> </a-tab-pane> @@ -126,46 +145,61 @@ </a-tab-pane> </template> - <a-button :disabled="disableSubmit ||confirmDisable||selectedRowKeys.length > 0" slot="tabBarExtraContent" - type="primary" @click="handleSelectAllInspectionResult">鎵归噺淇濆吇姝e父 + <a-button + v-if="activeTabKey!=='3'" + :disabled="disableSubmit || + (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE') || + (activeTabKey=='1'&&selectedOperatorMaintenanceRowKeys.length == 0)|| + (activeTabKey=='2'&&selectedRepairerMaintenanceRowKeys.length == 0)" + slot="tabBarExtraContent" + type="primary" @click="handleSelectAllInspectionResult">鎵归噺淇濆吇姝e父 </a-button> </a-tabs> </a-col> - <a-col :span="6" - v-if="model.maintenanceStatus!='WAIT_MAINTENANCE'&&model.maintenanceStatus!='UNDER_MAINTENANCE'"> - <a-tabs> - <a-tab-pane tab="绠$悊鍛樼‘璁�" v-if="confirmDisable"> + <!--鍙充晶瀹℃壒鍒�--> + <a-col :span="6" class="scroll-col" + v-if="model.maintenanceStatus&&model.maintenanceStatus!='WAIT_MAINTENANCE'&&model.maintenanceStatus!='UNDER_MAINTENANCE'"> + <a-tabs v-if="displayAdminConfirmFlag"> + <a-tab-pane tab="绠$悊鍛樼‘璁�"> <a-row> <a-col :span="24"> - <a-form-model-item prop="confirmDealType" label="纭绫诲瀷"> - <j-dict-select-tag type='radio' v-model='model.confirmDealType' dictCode='approve_reject' - placeholder="璇烽�夋嫨纭绫诲瀷" :disabled="disableSubmit || inspectorConfirmDisable"/> + <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'"/> </a-form-model-item> </a-col> <a-col :span="24"> - <a-form-model-item prop="confirmComment" label="纭鎰忚"> - <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.confirmComment" - :disabled="disableSubmit || inspectorConfirmDisable"/> + <a-form-model-item label="闂鎻忚堪"> + <a-textarea placeholder="璇锋弿杩伴棶棰�" v-model='model.problemDescription' + :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'"/> </a-form-model-item> </a-col> </a-row> </a-tab-pane> </a-tabs> - <a-tabs> - <a-tab-pane tab="妫�鏌ヤ汉纭" v-if="inspectorConfirmDisable"> + <a-tabs v-if="displayInspectorConfirmFlag"> + <a-tab-pane tab="妫�鏌ヤ汉纭"> <a-row> <a-col :span="24"> - <a-form-model-item prop="confirmDealType" label="纭绫诲瀷"> - <j-dict-select-tag type='radio' v-model='model.confirmDealType' dictCode='approve_reject' - placeholder="璇烽�夋嫨纭绫诲瀷" :disabled="disableSubmit || inspectorConfirmDisable"/> + <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'"/> </a-form-model-item> </a-col> <a-col :span="24"> - <a-form-model-item prop="leaderConfirmComment" label="纭鎰忚"> - <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.leaderConfirmComment" - :disabled="disableSubmit || completionDisable"/> + <a-form-model-item label="纭鎰忚"> + <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.inspectConfirmComment" + :disabled="disableSubmit || model.maintenanceStatus!='WAIT_INSPECTOR_CONFIRM'"/> </a-form-model-item> </a-col> </a-row> @@ -219,29 +253,20 @@ confirmLoading: false, spinning: false, imageSrc: null, - activeTabKey: '1', + activeTabKey: 1, validatorRules: { - confirmDealType: [ - { required: true, message: '璇烽�夋嫨閫氳繃鎴栭┏鍥�!' } - ], - confirmComment: [ - { required: true, message: '璇疯緭鍏ョ‘璁ゆ剰瑙�!' } - ], - leaderConfirmComment: [ - { required: true, message: '璇疯緭鍏ュ垵楠屾敹鎰忚!' } - ] + manageUserResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }], + inspectorResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }] }, url: { - queryById: '/eam/secondMaintenanceOrder/queryById', + queryById: '/eam/secondMaintenanceOrder/list', detail: '/eam/secondMaintenanceOrderDetail/queryList', approval: '/eam/secondMaintenanceOrder/approval', - userSelect: '/eam/user_select/list', - queryHisTaskList: '/assign/flow/queryHisTaskList', diagramView: '/assign/flow/diagramView' }, disableSubmit: false, - taskData: [], - selectedRowKeys: [], + selectedOperatorMaintenanceRowKeys: [], + selectedRepairerMaintenanceRowKeys: [], detail: { operatorMaintenanceList: [], repairerMaintenanceList: [], @@ -276,7 +301,7 @@ align: 'center', slotName: 'maintenanceResult', validateRules: [ - { required: true, message: '淇濆吇缁撴灉涓嶈兘涓虹┖锛�' } + { required: true, message: '璇烽�夋嫨${title}' } ] }, { @@ -304,90 +329,148 @@ } }, computed: { - confirmDisable: function() { + displayAdminConfirmFlag() { return ['WAIT_ADMIN_CONFIRM', 'WAIT_INSPECTOR_CONFIRM', 'COMPLETE'].includes(this.model.maintenanceStatus) }, - inspectorConfirmDisable: function() { + displayInspectorConfirmFlag() { return ['WAIT_INSPECTOR_CONFIRM', 'COMPLETE'].includes(this.model.maintenanceStatus) - }, - completionDisable: function() { - return ['COMPLETE'].includes(this.model.maintenanceStatus) } }, methods: { - async handleDetail(item) { - this.initParams() + /** + * 涓婚〉闈㈢偣鍑绘墽琛屽鎵规椂瑙﹀彂 + * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍 + */ + async handleDetail(record) { this.model = {} - if (item.procInstId) { - const { processDefinitionId, processInstanceId, processDefinitionKey } = item - - downFile(this.url.diagramView, { - processDefinitionId, - processInstanceId, - TaskDefinitionKey: processDefinitionKey - }, 'get') - .then((res => { - const urlObject = window.URL.createObjectURL(new Blob([res])) - this.imageSrc = urlObject - })) - .catch(err => { - this.$notification.error({ - message: '娑堟伅', - description: res.message - }) - }) - } - let res = await getAction(this.url.queryById, { id: item.dataId }) - this.model = Object.assign({}, res.result) - this.model.dataId = item.dataId - this.model.taskId = item.id - this.model.userId = item.assignee - this.model.instanceId = item.procInstId - this.model.values = item.variables - await this.loadDetail(item.dataId) + this.detail.operatorMaintenanceList = this.detail.repairerMaintenanceList = [] + this.handleTabToFirstTable() + this.getBasicInformationByApi(record) + this.getFlowChartImageByApi(record) + this.loadDetail(record.dataId) }, + /** + * 涓婚〉闈㈢偣鍑昏鎯呮椂瑙﹀彂 + * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍 + */ recordDetail(record) { - console.log('record', record) - this.initParams() + this.activeTabKey = 1 + this.detail.operatorMaintenanceList = this.detail.repairerMaintenanceList = [] this.model = Object.assign({}, record) this.loadDetail(record.id) }, - initParams() { - this.detail.dataSource = [] - this.visible = true - this.activeTabKey = '1' + /** + * 鑾峰彇鍩虹淇℃伅 + * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍 + */ + getBasicInformationByApi(record) { this.spinning = true + const that = this + getAction(this.url.queryById, { id: record.dataId }) + .then(res => { + if (res.success) { + that.model = Object.assign({}, res.result.records[0]) + that.model.dataId = record.dataId + that.model.taskId = record.id + that.model.userId = record.assignee + that.model.instanceId = record.procInstId + } + else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }) + }, + + /** + * 鑾峰彇娴佺▼鍥� + * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍 + */ + getFlowChartImageByApi(record) { + const { processDefinitionId, processInstanceId, processDefinitionKey } = record + + downFile(this.url.diagramView, { + processDefinitionId, + processInstanceId, + TaskDefinitionKey: processDefinitionKey + }, 'get') + .then((res => { + this.imageSrc = window.URL.createObjectURL(new Blob([res])) + })) + .catch(err => { + this.$notification.error({ + message: '娑堟伅', + description: err.message + }) + }) }, async handleOk() { const that = this - let errMap = await that.$refs.editableDetailTable.validateTable() - if (errMap) { - this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�') - return + + let errMap + if (that.$refs['editableDetailTable' + that.activeTabKey]) { + // 鏍¢獙褰撳墠tab琛ㄦ牸 + errMap = await that.$refs['editableDetailTable' + that.activeTabKey].validateTable() + } else { + // 褰撳墠tab涓嶆槸琛ㄦ牸鏃跺垯鏍¢獙鏈夎〃鏍肩殑 + for (let index = 1; index <= 2; index++) { + if (that.$refs['editableDetailTable' + index]) { + errMap = await that.$refs['editableDetailTable' + index].validateTable() + if (errMap) { + that.activeTabKey = index + console.log('that.activeTabKey-----------', that.activeTabKey) + that.$refs['editableDetailTable' + that.activeTabKey].clearValidate() + that.$notification.warning({ + message: '娑堟伅', + description: '淇濆吇涓嶈兘涓虹┖' + }) + break + } + } + } } + if (errMap) return + // 瑙﹀彂琛ㄥ崟楠岃瘉 this.$refs.form.validate(valid => { if (valid) { that.confirmLoading = that.spinning = true - let tableData = that.$refs.editableDetailTable.getTableData() - that.model.tableDetailList = [...tableData] - let httpurl = this.url.approval - let method = 'put' - httpAction(httpurl, this.model, method).then((res) => { - if (res.success) { - that.$message.success(res.message) - that.$emit('searchReset') - that.close() - } else { - that.$message.warning(res.message) + // 浠呭湪淇濆吇涓姸鎬佷紶閫掕〃鏍煎垪琛� + 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() + break + } } - }).finally(() => { - that.confirmLoading = that.spinning = false - }) + } + console.log('model', this.model.tableDetailList) + + httpAction(this.url.approval, this.model, 'put') + .then((res) => { + if (res.success) { + that.$notification.success({ + message: '娑堟伅', + description: res.message + }) + that.$emit('modalFormOk') + that.close() + } else { + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }) + } + }) + .finally(() => { + that.confirmLoading = that.spinning = false + }) } else { return false } @@ -396,26 +479,40 @@ autocompleteForm(selectObj) { this.$set(this.model, 'standardName', selectObj.standardName) - this.$set(this.model, 'maintenancePeriod', selectObj.maintenancePeriod) this.$set(this.model, 'standardId', selectObj.id) + this.$set(this.model, 'maintenancePeriod', selectObj.maintenancePeriod) this.$set(this.model, 'equipmentId', selectObj.equipmentId) - if (!this.model.id) this.loadStandardDetail(selectObj.id) + this.spinning = false + }, + + /** + * 妫�鏌ユ槑缁嗘爣绛惧垏鎹㈡椂瑙﹀彂 + * @param tabKey 鍒囨崲鍚庣殑tabKey + */ + handleTabChange(tabKey) { + if (this.$refs['editableDetailTable' + this.activeTabKey]) this.$refs['editableDetailTable' + this.activeTabKey].clearValidate() + this.activeTabKey = tabKey + }, + + // 鍒囨崲tab鑷崇涓�涓〃鏍� + 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 + }) }, //瑙勮寖閫夋嫨鍙樺寲 loadDetail(orderId) { - if (orderId) { - 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') - } - }) - .finally(() => { - this.spinning = false - }) - } + 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') + } + }) }, handleInspectionResultSelectChange(value, record) { @@ -425,31 +522,49 @@ // 鎵归噺閫夋嫨鎵�鏈夌偣妫�缁撴灉 handleSelectAllInspectionResult() { - this.selectedRowKeys.forEach(key => { - const dataItem = this.detail.dataSource.find(item => item.id === key) + let selectedRowKeys, prefix + if (this.activeTabKey == 1) { + selectedRowKeys = this.selectedOperatorMaintenanceRowKeys + prefix = 'operator' + } + else if (this.activeTabKey == 2) { + selectedRowKeys = this.selectedRepairerMaintenanceRowKeys + prefix = 'repairer' + } + else selectedRowKeys = [] + if (selectedRowKeys.length == 0) return + + selectedRowKeys.forEach(key => { + const dataItem = this.detail[prefix + 'MaintenanceList'].find(item => item.id === key) if (dataItem && dataItem.maintenanceResult !== '1') { - console.log('dataItem', dataItem) delete dataItem.exceptionDescription delete dataItem.reportFlag dataItem.maintenanceResult = '1' } }) - this.$refs.editableDetailTable.clearCheckboxRow() - this.selectedRowKeys = [] + this.$refs['editableDetailTable' + this.activeTabKey].clearCheckboxRow() + this['selected' + prefix.charAt(0).toUpperCase() + prefix.slice(1) + 'MaintenanceRowKeys'] = [] }, /** * 琛ㄦ牸澶氶�夋鍙戠敓鏀瑰彉鏃惰Е鍙� * @param {selectedRowIds} 琛ㄦ牸涓凡閫夋嫨鐨処D鍒楄〃 + * @param key 浜屼繚鍖哄垎key */ - handleTableSelectRowChange({ selectedRowIds }) { - this.selectedRowKeys = selectedRowIds + handleTableSelectRowChange({ selectedRowIds }, key) { + this[`selected${key}MaintenanceRowKeys`] = selectedRowIds }, + /** + * 鑷畾涔夋牎楠� + * @param cellValue 杈撳叆鍊� + * @param row 琛ㄦ牸琛岃褰� + * @param callback 缁撴灉鍥炶皟鍑芥暟 + */ customValidator({ cellValue, row }, callback) { if (row.maintenanceResult === '2') { if (!cellValue) { - callback(false, '${title}涓嶈兘涓虹┖锛�') // false = 鏈�氳繃锛屽彲浠ヨ窡鑷畾涔夋彁绀� + callback(false, '${title}涓嶈兘涓虹┖') // false = 鏈�氳繃锛屽彲浠ヨ窡鑷畾涔夋彁绀� } else { callback(true) // true = 閫氳繃楠岃瘉 } @@ -471,6 +586,29 @@ } </script> -<style lang="less" scoped> +<style scoped lang="less"> + /deep/ .ant-select-dropdown-menu { + text-align: left; + } + /deep/ .ant-spin-nested-loading { + height: 100%; + + .ant-spin-container { + height: 100%; + + .ant-form { + height: 100%; + + #outer-row { + height: 100%; + + .scroll-col { + height: 100%; + overflow: auto; + } + } + } + } + } </style> \ No newline at end of file -- Gitblit v1.9.3