<template>
|
<a-modal :title="title"
|
:maskClosable="true"
|
@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-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>
|
<a-form-model-item label="内容" :labelCol="{span: 4}" :wrapperCol="{span: 20}">
|
<a-input v-model="formParams.msgContent" disabled></a-input>
|
</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>
|
|
<a-form-model-item label="确认" :labelCol="{span: 4}" :wrapperCol="{span: 12}" prop="isConfirm"
|
v-if="buttonId==2">
|
<a-select v-model='formParams.isConfirm' placeholder="请选择是否确认">
|
<a-select-option value="2">确认</a-select-option>
|
<a-select-option value="3">拒绝</a-select-option>
|
</a-select>
|
</a-form-model-item>
|
</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>
|
</a-modal>
|
</template>
|
|
<script>
|
import { postAction } from '@/api/manage'
|
|
export default {
|
name: 'MdcMessageApprovalModal',
|
props: {
|
visible: {
|
type: Boolean
|
},
|
title: {
|
type: String
|
},
|
buttonId: {
|
type: Number
|
}
|
},
|
data() {
|
return {
|
form: this.$form.createForm(this),
|
formParams: {
|
equipmentId: '',
|
titile: '',
|
msgContent: '',
|
reportContent: '',
|
msgStatus: '',
|
isConfirm: ''
|
},
|
confirmLoading: false,
|
validatorRules: {
|
reportContent: [
|
{ required: true, message: '请输入上报原因' }
|
],
|
isConfirm: [
|
{ required: true, message: '请选择是否确认' }
|
]
|
},
|
url: {
|
reportUrl: '/mdc/mdcMessageApproval/reportReason',
|
confirmUrl: '/mdc/mdcMessageApproval/handleConfirm'
|
}
|
}
|
},
|
methods: {
|
closeModal() {
|
this.$refs.form.clearValidate()
|
this.$emit('closeModal')
|
},
|
handleSubmit() {
|
const that = this
|
// 触发表单验证
|
this.$refs.form.validate(valid => {
|
if (valid) {
|
that.confirmLoading = true
|
this.formParams.msgStatus = this.formParams.isConfirm
|
let obj
|
if (this.buttonId === 1) {
|
obj = postAction(this.url.reportUrl, this.formParams)
|
} else {
|
obj = postAction(this.url.confirmUrl, this.formParams)
|
}
|
obj.then((res) => {
|
if (res.success) {
|
that.$notification.success({
|
message: '消息',
|
description: res.message
|
})
|
that.$emit('formHasSubmitted')
|
} else {
|
that.$notification.warning({
|
message: '消息',
|
description: res.message
|
})
|
}
|
}).finally(() => {
|
that.confirmLoading = false
|
that.closeModal()
|
})
|
} else {
|
return false
|
}
|
})
|
}
|
}
|
}
|
</script>
|
|
<style scoped lang="less">
|
.drawer-bottom-button {
|
position: absolute;
|
bottom: -25px;
|
width: 100%;
|
border-top: 1px solid #e8e8e8;
|
padding: 10px 16px;
|
text-align: right;
|
left: 0;
|
background: #fff;
|
border-radius: 0 0 2px 2px;
|
}
|
</style>
|