¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <j-modal |
| | | :title="title" |
| | | :width="800" |
| | | :visible="visible" |
| | | :confirmLoading="confirmLoading" |
| | | :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" |
| | | switchFullscreen |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | centered |
| | | cancelText="å
³é"> |
| | | |
| | | <a-spin :spinning="spinning"> |
| | | <a-form-model ref="form" :model="model" :rules="validatorRules"> |
| | | <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> åç¨ä¿¡æ¯ |
| | | </a-divider> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="code" label="åæ®å·"> |
| | | <a-input v-model="model.code" disabled /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="设å¤ç¼ç "> |
| | | <lx-search-equipment-select placeholder="请è¾å
¥è®¾å¤ç¼å·æåç§°æç´¢" |
| | | v-model="model.equipmentId" disabled></lx-search-equipment-select> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :guitter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leanDepartId_dictText" label="åå
¥è½¦é´"> |
| | | <a-input v-model="model.leanDepartId_dictText" disabled /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leanPerson_dictText" label="åç¨äºº"> |
| | | <a-input v-model="model.leanPerson_dictText" disabled /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leanReason" label="åç¨åå "> |
| | | <a-textarea v-model="model.leanReason" disabled /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark" label="夿³¨"> |
| | | <a-textarea v-model="model.remark" disabled /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | <div v-if="approvalDisable"> |
| | | <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 管çåå®¡æ¹ |
| | | </a-divider> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="12"> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalDealType" label="审æ¹ç±»å"> |
| | | <j-dict-select-tag type="radio" v-model="model.approvalDealType" dictCode="approved_rejected" |
| | | placeholder="è¯·éæ©å¤çç±»å" :disabled="disableSubmit || initialAcceptanceDisable" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="approvalComment" label="å®¡æ¹æè§"> |
| | | <a-textarea placeholder="请è¾å
¥æè§" v-model="model.approvalComment" |
| | | :disabled="disableSubmit || returnDisable" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </div> |
| | | <div v-if="returnDisable"> |
| | | <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> å½è¿ä¿¡æ¯ |
| | | </a-divider> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="returnComment" |
| | | label="å½è¿å¤æ³¨"> |
| | | <a-textarea placeholder="请è¾å
¥å½è¿å¤æ³¨" v-model="model.returnComment" |
| | | :disabled="disableSubmit || confirmDisable" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </div> |
| | | <div v-if="confirmDisable"> |
| | | <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 管çå确认 |
| | | </a-divider> |
| | | <a-row :gutter="24"> |
| | | <a-col :span="24"> |
| | | <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmComment" |
| | | label="确认æè§"> |
| | | <a-textarea placeholder="请è¾å
¥æè§" v-model="model.confirmComment" |
| | | :disabled="disableSubmit || completionDisable" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | </a-row> |
| | | </div> |
| | | </a-form-model> |
| | | </a-spin> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getAction, httpAction } from '@/api/manage' |
| | | import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue' |
| | | |
| | | export default { |
| | | name: 'EquipmentLeanOutApprovalModal', |
| | | components: { |
| | | LxSearchEquipmentSelect |
| | | }, |
| | | props: { |
| | | selectShenpiData: { |
| | | type: Object |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title: 'æä½', |
| | | visible: false, |
| | | editable: false, |
| | | model: {}, |
| | | treeData: [], |
| | | labelCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 5 } |
| | | }, |
| | | wrapperCol: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 18 } |
| | | }, |
| | | labelColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 2 } |
| | | }, |
| | | wrapperColLong: { |
| | | xs: { span: 24 }, |
| | | sm: { span: 21 } |
| | | }, |
| | | confirmLoading: false, |
| | | spinning: false, |
| | | imageSrc: null, |
| | | validatorRules: { |
| | | approvalDealType: [ |
| | | { required: true, message: 'è¯·éæ©éè¿æé©³å!' } |
| | | ], |
| | | approvalComment: [ |
| | | { required: true, message: '请è¾å
¥å®¡æ¹æè§!' } |
| | | ], |
| | | returnComment: [ |
| | | { required: true, message: '请è¾å
¥å½è¿å¤æ³¨!' } |
| | | ], |
| | | confirmComment: [ |
| | | { required: true, message: '请è¾å
¥ç¡®è®¤æè§!' } |
| | | ] |
| | | }, |
| | | url: { |
| | | queryById: '/eam/eamEquipmentLeanOut/queryById', |
| | | approval: '/eam/eamEquipmentLeanOut/approval', |
| | | loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions' |
| | | }, |
| | | disableSubmit: false |
| | | } |
| | | }, |
| | | created() { |
| | | this.loadAllProductionTree() |
| | | }, |
| | | computed: { |
| | | approvalDisable: function() { |
| | | return ['WAIT_APPROVAL', 'WAIT_RETURN', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.model.leanStatus) |
| | | }, |
| | | returnDisable: function() { |
| | | return ['WAIT_RETURN', 'WAIT_CONFIRM', 'COMPLETE'].includes(this.model.leanStatus) |
| | | }, |
| | | confirmDisable: function() { |
| | | return ['WAIT_CONFIRM', 'COMPLETE'].includes(this.model.leanStatus) |
| | | }, |
| | | completionDisable: function() { |
| | | return ['COMPLETE'].includes(this.model.leanStatus) |
| | | } |
| | | }, |
| | | methods: { |
| | | async handleDetail(item) { |
| | | this.initParams() |
| | | this.model = {} |
| | | 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 |
| | | this.spinning = false; |
| | | }, |
| | | |
| | | recordDetail(record) { |
| | | console.log('record', record) |
| | | this.initParams() |
| | | this.model = Object.assign({}, record) |
| | | }, |
| | | |
| | | initParams() { |
| | | this.visible = true |
| | | this.spinning = true |
| | | }, |
| | | |
| | | async handleOk() { |
| | | const that = this |
| | | // 触å表åéªè¯ |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = that.spinning = true |
| | | 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) |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = that.spinning = false |
| | | }) |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | handleCancel() { |
| | | this.close() |
| | | }, |
| | | |
| | | close() { |
| | | this.$emit('close') |
| | | this.visible = false |
| | | this.$refs.form.clearValidate() |
| | | }, |
| | | loadAllProductionTree() { |
| | | //å 载车é´éæ©æ |
| | | getAction(this.url.loadProductionOptions).then(res => { |
| | | if (res.success) { |
| | | this.treeData = [...res.result] |
| | | } else { |
| | | that.$message.warning(res.message) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | |
| | | </style> |