| | |
| | | @cancel="closeModal" |
| | | :visible="visible" |
| | | :footer="null"> |
| | | <a-spin :spinning="confirmLoading"> |
| | | <a-form-model ref="form" :form="form" :model="formParams" :rules="validatorRules"> |
| | | <a-form-model-item label="设备编号" :labelCol="{span: 4}" :wrapperCol="{span: 8}"> |
| | | <a-input v-model="formParams.equipmentId" disabled></a-input> |
| | | <a-spin :spinning="spinning"> |
| | | <a-form-model ref="form" :form="form" :model="formParams" :rules="validatorRules" :labelCol="{span: 4}" |
| | | :wrapperCol="{span: 20}"> |
| | | <a-form-model-item label="设备编号" :labelCol="{span: 4}" :wrapperCol="{span: 10}" prop="equipmentId"> |
| | | <a-input-search :readOnly="true" :disabled="disableSubmit" v-model="formParams.equipmentId" |
| | | @search="deviceSearch" enter-button |
| | | placeholder="请选择设备"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item label="标题" :labelCol="{span: 4}" :wrapperCol="{span: 20}"> |
| | | <a-input v-model="formParams.titile" disabled></a-input> |
| | | <a-form-model-item label="异常类型" :labelCol="{span: 4}" :wrapperCol="{span: 10}" |
| | | :prop="!buttonId?'msgType':''"> |
| | | <j-dict-select-tag dictCode="mdcMsgType" v-model='formParams.msgType' placeholder="请选择异常类型" |
| | | :disabled="disableSubmit&&buttonId!==2"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item label="内容" :labelCol="{span: 4}" :wrapperCol="{span: 20}"> |
| | | <a-input v-model="formParams.msgContent" disabled></a-input> |
| | | <a-form-model-item label="标题"> |
| | | <a-input placeholder="请输入标题" v-model="formParams.titile" :disabled="disableSubmit"/> |
| | | </a-form-model-item> |
| | | <a-form-model-item label="内容"> |
| | | <a-input placeholder="请输入内容" v-model="formParams.msgContent" :disabled="disableSubmit"/> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item label="原因" :labelCol="{span: 4}" :wrapperCol="{span: 20}" prop="reportContent" |
| | | v-if="buttonId===1"> |
| | | <a-textarea v-model="formParams.reportContent" :disabled="buttonId!==1"></a-textarea> |
| | | </a-form-model-item> |
| | | <a-form-model-item label="原因" :labelCol="{span: 4}" :wrapperCol="{span: 20}" v-else> |
| | | <a-textarea v-model="formParams.reportContent" :disabled="buttonId!==1"></a-textarea> |
| | | <a-form-model-item label="原因" prop="reportContent" v-if="buttonId"> |
| | | <a-textarea v-model="formParams.reportContent" :disabled="buttonId!==2"/> |
| | | </a-form-model-item> |
| | | |
| | | <a-form-model-item label="确认" :labelCol="{span: 4}" :wrapperCol="{span: 12}" prop="isConfirm" |
| | | v-if="buttonId==2"> |
| | | v-if="buttonId==3"> |
| | | <a-select v-model='formParams.isConfirm' placeholder="请选择是否确认"> |
| | | <a-select-option value="2">确认</a-select-option> |
| | | <a-select-option value="3">拒绝</a-select-option> |
| | |
| | | </a-form-model> |
| | | </a-spin> |
| | | |
| | | <div class="drawer-bottom-button" v-show="buttonId!==0"> |
| | | <a-popconfirm title="确定放弃操作?" @confirm="closeModal" okText="确定" cancelText="取消"> |
| | | <a-button style="margin-right: .8rem">取消</a-button> |
| | | </a-popconfirm> |
| | | <a-button @click="handleSubmit" type="primary" :loading="confirmLoading">提交</a-button> |
| | | <div class="drawer-bottom-button" v-show="buttonId!==1"> |
| | | <a-space> |
| | | <a-popconfirm title="确定放弃操作?" @confirm="closeModal" okText="确定" cancelText="取消"> |
| | | <a-button>取消</a-button> |
| | | </a-popconfirm> |
| | | <a-button @click="handleSubmit" type="primary" :loading="confirmLoading">提交</a-button> |
| | | </a-space> |
| | | </div> |
| | | |
| | | <SelectDeviceDrawerSingleSelection ref="selectDeviceDrawer" @selectFinished="selectOK" :title="'选择设备'"/> |
| | | </a-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import { postAction } from '@/api/manage' |
| | | import SelectDeviceDrawerSingleSelection from './SelectDeviceDrawer-SingleSelection' |
| | | |
| | | export default { |
| | | name: 'MdcMessageApprovalModal', |
| | | components: { SelectDeviceDrawerSingleSelection }, |
| | | props: { |
| | | visible: { |
| | | type: Boolean |
| | |
| | | }, |
| | | buttonId: { |
| | | type: Number |
| | | }, |
| | | disableSubmit: { |
| | | type: Boolean |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | form: this.$form.createForm(this), |
| | | treeData: [], |
| | | treeDefaultExpandedKeys: [], |
| | | formParams: { |
| | | equipmentId: '', |
| | | titile: '', |
| | |
| | | isConfirm: '' |
| | | }, |
| | | confirmLoading: false, |
| | | spinning: false, |
| | | validatorRules: { |
| | | equipmentId: [ |
| | | { required: true, message: '请选择设备', trigger: 'change' } |
| | | ], |
| | | msgType: [ |
| | | { required: true, message: '请选择异常类型' } |
| | | ], |
| | | reportContent: [ |
| | | { required: true, message: '请输入上报原因' } |
| | | ], |
| | |
| | | ] |
| | | }, |
| | | url: { |
| | | add: '/mdc/mdcMessageApproval/add', |
| | | reportUrl: '/mdc/mdcMessageApproval/reportReason', |
| | | confirmUrl: '/mdc/mdcMessageApproval/handleConfirm' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | closeModal() { |
| | | this.$refs.form.clearValidate() |
| | | this.$emit('closeModal') |
| | | deviceSearch() { |
| | | this.$refs.selectDeviceDrawer.visible = true |
| | | this.$refs.selectDeviceDrawer.checkedKeys = this.formParams.equipmentId ? [this.formParams.equipmentId] : [] |
| | | this.$refs.selectDeviceDrawer.selectedKeys = this.formParams.equipmentId ? [this.formParams.equipmentId] : [] |
| | | }, |
| | | |
| | | /** |
| | | * 选择已有设备后点击确定时触发 |
| | | * @param data 已选择的设备 |
| | | */ |
| | | selectOK(data) { |
| | | this.$set(this.formParams, 'equipmentId', data[0]) |
| | | }, |
| | | |
| | | handleSubmit() { |
| | | const that = this |
| | | // 触发表单验证 |
| | | this.$refs.form.validate(valid => { |
| | | if (valid) { |
| | | that.confirmLoading = true |
| | | that.confirmLoading = that.spinning = true |
| | | this.formParams.msgStatus = this.formParams.isConfirm |
| | | let obj |
| | | if (this.buttonId === 1) { |
| | | obj = postAction(this.url.reportUrl, this.formParams) |
| | | if (!this.buttonId) { |
| | | obj = postAction(this.url.add, this.formParams) |
| | | } else { |
| | | obj = postAction(this.url.confirmUrl, this.formParams) |
| | | if (this.buttonId === 2) { |
| | | obj = postAction(this.url.reportUrl, this.formParams) |
| | | } else { |
| | | obj = postAction(this.url.confirmUrl, this.formParams) |
| | | } |
| | | } |
| | | |
| | | obj.then((res) => { |
| | | if (res.success) { |
| | | that.$notification.success({ |
| | |
| | | description: res.message |
| | | }) |
| | | that.$emit('formHasSubmitted') |
| | | that.closeModal() |
| | | } else { |
| | | that.$notification.warning({ |
| | | message: '消息', |
| | |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | that.confirmLoading = false |
| | | that.closeModal() |
| | | that.confirmLoading = that.spinning = false |
| | | }) |
| | | } else { |
| | | return false |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | closeModal() { |
| | | this.$refs.form.clearValidate() |
| | | this.$emit('closeModal') |
| | | } |
| | | } |
| | | } |