From 90044289b992e5df6506c70b1e9bb299df321869 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期三, 21 五月 2025 16:22:20 +0800
Subject: [PATCH] 1、全局加载名称调整为MDC智慧车间 2、消息确认页面调整设备异常反馈功能

---
 src/views/mdc/base/modules/MdcMessageApproval/MdcMessageApprovalModal.vue |  101 ++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 72 insertions(+), 29 deletions(-)

diff --git a/src/views/mdc/base/modules/MdcMessageApproval/MdcMessageApprovalModal.vue b/src/views/mdc/base/modules/MdcMessageApproval/MdcMessageApprovalModal.vue
index 30d9cbf..b6e0511 100644
--- a/src/views/mdc/base/modules/MdcMessageApproval/MdcMessageApprovalModal.vue
+++ b/src/views/mdc/base/modules/MdcMessageApproval/MdcMessageApprovalModal.vue
@@ -4,28 +4,32 @@
            @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>
@@ -34,20 +38,26 @@
       </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
@@ -57,11 +67,16 @@
       },
       buttonId: {
         type: Number
+      },
+      disableSubmit: {
+        type: Boolean
       }
     },
     data() {
       return {
         form: this.$form.createForm(this),
+        treeData: [],
+        treeDefaultExpandedKeys: [],
         formParams: {
           equipmentId: '',
           titile: '',
@@ -71,7 +86,14 @@
           isConfirm: ''
         },
         confirmLoading: false,
+        spinning: false,
         validatorRules: {
+          equipmentId: [
+            { required: true, message: '璇烽�夋嫨璁惧', trigger: 'change' }
+          ],
+          msgType: [
+            { required: true, message: '璇烽�夋嫨寮傚父绫诲瀷' }
+          ],
           reportContent: [
             { required: true, message: '璇疯緭鍏ヤ笂鎶ュ師鍥�' }
           ],
@@ -80,29 +102,45 @@
           ]
         },
         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({
@@ -110,6 +148,7 @@
                   description: res.message
                 })
                 that.$emit('formHasSubmitted')
+                that.closeModal()
               } else {
                 that.$notification.warning({
                   message: '娑堟伅',
@@ -117,13 +156,17 @@
                 })
               }
             }).finally(() => {
-              that.confirmLoading = false
-              that.closeModal()
+              that.confirmLoading = that.spinning = false
             })
           } else {
             return false
           }
         })
+      },
+
+      closeModal() {
+        this.$refs.form.clearValidate()
+        this.$emit('closeModal')
       }
     }
   }

--
Gitblit v1.9.3