From 4c8b185fea72bc3bb8fc380a196b8fe2a8e5f1af Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期四, 03 七月 2025 20:13:28 +0800
Subject: [PATCH] 设备管理问题修改

---
 src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue |  480 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 313 insertions(+), 167 deletions(-)

diff --git a/src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue b/src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue
index 4a26886..06f9ffe 100644
--- a/src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue
+++ b/src/views/eam/purchase/modules/EamEquipmentPurchasePlanForm.vue
@@ -1,101 +1,247 @@
 <template>
   <a-spin :spinning="confirmLoading">
     <j-form-container :disabled="formDisabled">
-      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+      <a-form-model
+        ref="form"
+        :model="model"
+        :rules="validatorRules"
+        slot="detail"
+      >
         <a-row>
           <a-col :span="12">
-            <a-form-model-item label="閲囪喘璁″垝缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planCode">
-              <a-input v-model="model.planCode" placeholder="绯荤粺鑷姩鐢熸垚" disabled ></a-input>
+            <a-form-model-item
+              label="閲囪喘璁″垝缂栫爜"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="planCode"
+            >
+              <a-input
+                v-model="model.planCode"
+                placeholder="绯荤粺鑷姩鐢熸垚"
+                disabled
+              ></a-input>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="閲囪喘璁″垝鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planName">
-              <a-input v-model="model.planName" placeholder="璇疯緭鍏ラ噰璐鍒掑悕绉�"  ></a-input>
+            <a-form-model-item
+              label="閲囪喘璁″垝鍚嶇О"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="planName"
+            >
+              <a-input
+                v-model="model.planName"
+                placeholder="璇疯緭鍏ラ噰璐鍒掑悕绉�"
+              ></a-input>
             </a-form-model-item>
           </a-col>
-          <a-col :span="12" v-if="disabled">
-            <a-form-model-item label="璁″垝鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planStatus">
-              <j-dict-select-tag dict-code="equipment_purchase_plan_status" placeholder="璇烽�夋嫨璁″垝鐘舵��"
-                                 v-model="model.planStatus" />
+          <a-col
+            :span="12"
+            v-if="disabled"
+          >
+            <a-form-model-item
+              label="璁″垝鐘舵��"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="planStatus"
+            >
+              <j-dict-select-tag
+                dict-code="equipment_purchase_plan_status"
+                placeholder="璇烽�夋嫨璁″垝鐘舵��"
+                v-model="model.planStatus"
+              />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="鍨嬪彿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentModel">
-              <a-input v-model="model.equipmentModel" placeholder="璇疯緭鍏ュ瀷鍙�"  ></a-input>
+            <a-form-model-item
+              label="鍨嬪彿"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="equipmentModel"
+            >
+              <a-input
+                v-model="model.equipmentModel"
+                placeholder="璇疯緭鍏ュ瀷鍙�"
+              ></a-input>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="閲囪喘鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="purchaseNumber">
-              <a-input-number v-model="model.purchaseNumber" placeholder="璇疯緭鍏ラ噰璐暟閲�" style="width: 100%" />
+            <a-form-model-item
+              label="閲囪喘鏁伴噺"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="purchaseNumber"
+            >
+              <a-input-number
+                v-model="model.purchaseNumber"
+                placeholder="璇疯緭鍏ラ噰璐暟閲�"
+                style="width: 100%"
+              />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="棰勮鍗曚环" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="estimatedUnitPrice">
-              <a-input-number v-model="model.estimatedUnitPrice" placeholder="璇疯緭鍏ラ璁″崟浠�" style="width: 100%" />
+            <a-form-model-item
+              label="棰勮鍗曚环"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="estimatedUnitPrice"
+            >
+              <a-input-number
+                v-model="model.estimatedUnitPrice"
+                placeholder="璇疯緭鍏ラ璁″崟浠�"
+                style="width: 100%"
+              />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="鎬讳环" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="totalPrice">
-              <a-input-number v-model="model.totalPrice" placeholder="璇疯緭鍏ユ�讳环" style="width: 100%" />
+            <a-form-model-item
+              label="鎬讳环"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="totalPrice"
+            >
+              <a-input-number
+                v-model="model.totalPrice"
+                placeholder="璇疯緭鍏ユ�讳环"
+                style="width: 100%"
+              />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="鍚堝悓鎬婚噾棰�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="overallContractAmount">
-              <a-input-number v-model="model.overallContractAmount" placeholder="璇疯緭鍏ュ悎鍚屾�婚噾棰�" style="width: 100%" />
+            <a-form-model-item
+              label="鍚堝悓鎬婚噾棰�"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="overallContractAmount"
+            >
+              <a-input-number
+                v-model="model.overallContractAmount"
+                placeholder="璇疯緭鍏ュ悎鍚屾�婚噾棰�"
+                style="width: 100%"
+              />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="绠$悊鍒嗙被" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentImportance">
-              <j-dict-select-tag dict-code="equipment_abc_flag" placeholder="璇烽�夋嫨绠$悊鍒嗙被"
-                                 v-model="model.equipmentImportance" />
+            <a-form-model-item
+              label="绠$悊鍒嗙被"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="equipmentImportance"
+            >
+              <j-dict-select-tag
+                dict-code="equipment_abc_flag"
+                placeholder="璇烽�夋嫨绠$悊鍒嗙被"
+                v-model="model.equipmentImportance"
+              />
             </a-form-model-item>
           </a-col>
-<!--          <a-col :span="12">-->
-<!--            <a-form-model-item label="璁″垝绫诲埆" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planCategory">-->
-<!--              <a-input v-model="model.planCategory" placeholder="璇疯緭鍏ヨ鍒掔被鍒�"  ></a-input>-->
-<!--            </a-form-model-item>-->
-<!--          </a-col>-->
+          <!--          <a-col :span="12">-->
+          <!--            <a-form-model-item label="璁″垝绫诲埆" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planCategory">-->
+          <!--              <a-input v-model="model.planCategory" placeholder="璇疯緭鍏ヨ鍒掔被鍒�"  ></a-input>-->
+          <!--            </a-form-model-item>-->
+          <!--          </a-col>-->
           <a-col :span="12">
-            <a-form-model-item label="鐢宠浜�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applicant">
-              <j-search-select-tag  placeholder="璇烽�夋嫨鐢宠浜�" v-model="model.applicant" dict="sys_user,realname, username, del_flag=0 and status=1"/>
+            <a-form-model-item
+              label="鐢宠浜�"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="applicant"
+            >
+              <j-search-select-tag
+                placeholder="璇烽�夋嫨鐢宠浜�"
+                v-model="model.applicant"
+                dict="sys_user,realname, realname, del_flag=0 and status=1"
+              />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="鐢宠杞﹂棿" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applicantProduction">
-              <a-tree-select v-model="model.applicantProduction"
-                             style="width: 100%"
-                             :tree-data="treeData"
-                             :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
-                             placeholder="璇烽�夋嫨浣跨敤杞﹂棿"
-                             allow-clear
-                             tree-default-expand-all
-                >
+            <a-form-model-item
+              label="鐢宠杞﹂棿"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="applicantProduction"
+            >
+              <a-tree-select
+                v-model="model.applicantProduction"
+                style="width: 100%"
+                :tree-data="treeData"
+                :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+                placeholder="璇烽�夋嫨浣跨敤杞﹂棿"
+                allow-clear
+                tree-default-expand-all
+              >
               </a-tree-select>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="璁″垝寮�濮嬫棩鏈�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planStartDate">
-              <j-date :show-time="true" dateFormat="YYYY-MM-DD HH" placeholder="璇烽�夋嫨璁″垝寮�濮嬫棩鏈�" v-model="model.planStartDate"  style="width: 100%" />
+            <a-form-model-item
+              label="璁″垝寮�濮嬫棩鏈�"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="planStartDate"
+            >
+              <j-date
+                :show-time="true"
+                dateFormat="YYYY-MM-DD HH"
+                placeholder="璇烽�夋嫨璁″垝寮�濮嬫棩鏈�"
+                v-model="model.planStartDate"
+                style="width: 100%"
+              />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="璁″垝瀹屾垚鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planEndDate">
-              <j-date :show-time="true" dateFormat="YYYY-MM-DD HH" placeholder="璇烽�夋嫨璁″垝瀹屾垚鏃ユ湡" v-model="model.planEndDate"  style="width: 100%" />
+            <a-form-model-item
+              label="璁″垝瀹屾垚鏃ユ湡"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="planEndDate"
+            >
+              <j-date
+                :show-time="true"
+                dateFormat="YYYY-MM-DD HH"
+                placeholder="璇烽�夋嫨璁″垝瀹屾垚鏃ユ湡"
+                v-model="model.planEndDate"
+                style="width: 100%"
+              />
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="璁″垝鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="planDescription">
-              <a-textarea v-model="model.planDescription" placeholder="璇疯緭鍏ヨ鍒掓弿杩�"  ></a-textarea>
+            <a-form-model-item
+              label="璁″垝鎻忚堪"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="planDescription"
+            >
+              <a-textarea
+                v-model="model.planDescription"
+                placeholder="璇疯緭鍏ヨ鍒掓弿杩�"
+              ></a-textarea>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="瀹炴柦鍙婂崗鍔╅儴闂�" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relatedDeparts">
-              <a-input v-model="model.relatedDeparts" placeholder="璇疯緭鍏ュ疄鏂藉強鍗忓姪閮ㄩ棬"  ></a-input>
+            <a-form-model-item
+              label="瀹炴柦鍙婂崗鍔╅儴闂�"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="relatedDeparts"
+            >
+              <a-input
+                v-model="model.relatedDeparts"
+                placeholder="璇疯緭鍏ュ疄鏂藉強鍗忓姪閮ㄩ棬"
+              ></a-input>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
-            <a-form-model-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
-              <a-textarea v-model="model.remark" placeholder="璇疯緭鍏ュ娉�"  ></a-textarea>
+            <a-form-model-item
+              label="澶囨敞"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="remark"
+            >
+              <a-textarea
+                v-model="model.remark"
+                placeholder="璇疯緭鍏ュ娉�"
+              ></a-textarea>
             </a-form-model-item>
           </a-col>
         </a-row>
@@ -106,126 +252,126 @@
 
 <script>
 
-  import { httpAction, getAction } from '@/api/manage'
-  import { validateDuplicateValue } from '@/utils/util'
+import { httpAction, getAction } from '@/api/manage'
+import { validateDuplicateValue } from '@/utils/util'
 
-  export default {
-    name: 'EamEquipmentPurchasePlanForm',
-    components: {
-    },
-    props: {
-      //琛ㄥ崟绂佺敤
-      disabled: {
-        type: Boolean,
-        default: false,
-        required: false
-      }
-    },
-    data () {
-      return {
-        model:{
-         },
-        treeData: [],
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-        confirmLoading: false,
-        validatorRules: {
-           planName: [
-              { required: true, message: '璇疯緭鍏ラ噰璐鍒掑悕绉�!'},
-           ],
-           equipmentModel: [
-              { required: true, message: '璇疯緭鍏ュ瀷鍙�!'},
-           ],
-           purchaseNumber: [
-              { required: true, message: '璇疯緭鍏ラ噰璐暟閲�!'},
-           ],
-           estimatedUnitPrice: [
-              { required: true, message: '璇疯緭鍏ラ璁″崟浠�!'},
-           ],
-           totalPrice: [
-              { required: true, message: '璇疯緭鍏ユ�讳环!'},
-           ],
-           overallContractAmount: [
-              { required: true, message: '璇疯緭鍏ュ悎鍚屾�婚噾棰�!'},
-           ],
-           planStartDate: [
-              { required: true, message: '璇疯緭鍏ヨ鍒掑紑濮嬫棩鏈�!'},
-           ],
-           planEndDate: [
-              { required: true, message: '璇疯緭鍏ヨ鍒掑畬鎴愭棩鏈�!'},
-           ],
-        },
-        url: {
-          add: "/eam/eamEquipmentPurchasePlan/add",
-          edit: "/eam/eamEquipmentPurchasePlan/edit",
-          queryById: "/eam/eamEquipmentPurchasePlan/queryById",
-          loadWorkShopOptions:'/mdc/mdcProduction/loadProductionTreeOptions'
-        }
-      }
-    },
-    computed: {
-      formDisabled(){
-        return this.disabled
-      },
-    },
-    created () {
-       //澶囦唤model鍘熷鍊�
-      this.modelDefault = JSON.parse(JSON.stringify(this.model));
-      this.loadWorkShopTree()
-    },
-    methods: {
-      loadWorkShopTree() {
-        //鍔犺浇杞﹂棿閫夋嫨鏍�
-        getAction(this.url.loadWorkShopOptions).then(res => {
-          if (res.success) {
-            this.treeData = [...res.result]
-          }else {
-            that.$message.warning(res.message)
-          }
-        })
-      },
-      add () {
-        this.edit(this.modelDefault);
-      },
-      edit (record) {
-        this.model = Object.assign({}, record);
-        this.visible = true;
-      },
-      submitForm () {
-        const that = this;
-        // 瑙﹀彂琛ㄥ崟楠岃瘉
-        this.$refs.form.validate(valid => {
-          if (valid) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            httpAction(httpurl,this.model,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-            })
-          }
-
-        })
-      },
+export default {
+  name: 'EamEquipmentPurchasePlanForm',
+  components: {
+  },
+  props: {
+    //琛ㄥ崟绂佺敤
+    disabled: {
+      type: Boolean,
+      default: false,
+      required: false
     }
+  },
+  data() {
+    return {
+      model: {
+      },
+      treeData: [],
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 },
+      },
+      confirmLoading: false,
+      validatorRules: {
+        planName: [
+          { required: true, message: '璇疯緭鍏ラ噰璐鍒掑悕绉�!' },
+        ],
+        equipmentModel: [
+          { required: true, message: '璇疯緭鍏ュ瀷鍙�!' },
+        ],
+        purchaseNumber: [
+          { required: true, message: '璇疯緭鍏ラ噰璐暟閲�!' },
+        ],
+        estimatedUnitPrice: [
+          { required: true, message: '璇疯緭鍏ラ璁″崟浠�!' },
+        ],
+        totalPrice: [
+          { required: true, message: '璇疯緭鍏ユ�讳环!' },
+        ],
+        overallContractAmount: [
+          { required: true, message: '璇疯緭鍏ュ悎鍚屾�婚噾棰�!' },
+        ],
+        planStartDate: [
+          { required: true, message: '璇疯緭鍏ヨ鍒掑紑濮嬫棩鏈�!' },
+        ],
+        planEndDate: [
+          { required: true, message: '璇疯緭鍏ヨ鍒掑畬鎴愭棩鏈�!' },
+        ],
+      },
+      url: {
+        add: "/eam/eamEquipmentPurchasePlan/add",
+        edit: "/eam/eamEquipmentPurchasePlan/edit",
+        queryById: "/eam/eamEquipmentPurchasePlan/queryById",
+        loadWorkShopOptions: '/mdc/mdcProduction/loadProductionTreeOptions'
+      }
+    }
+  },
+  computed: {
+    formDisabled() {
+      return this.disabled
+    },
+  },
+  created() {
+    //澶囦唤model鍘熷鍊�
+    this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    this.loadWorkShopTree()
+  },
+  methods: {
+    loadWorkShopTree() {
+      //鍔犺浇杞﹂棿閫夋嫨鏍�
+      getAction(this.url.loadWorkShopOptions).then(res => {
+        if (res.success) {
+          this.treeData = [...res.result]
+        } else {
+          that.$message.warning(res.message)
+        }
+      })
+    },
+    add() {
+      this.edit(this.modelDefault);
+    },
+    edit(record) {
+      this.model = Object.assign({}, record);
+      this.visible = true;
+    },
+    submitForm() {
+      const that = this;
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          that.confirmLoading = true;
+          let httpurl = '';
+          let method = '';
+          if (!this.model.id) {
+            httpurl += this.url.add;
+            method = 'post';
+          } else {
+            httpurl += this.url.edit;
+            method = 'put';
+          }
+          httpAction(httpurl, this.model, method).then((res) => {
+            if (res.success) {
+              that.$message.success(res.message);
+              that.$emit('ok');
+            } else {
+              that.$message.warning(res.message);
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+          })
+        }
+
+      })
+    },
   }
+}
 </script>
\ No newline at end of file

--
Gitblit v1.9.3