From ffceff32d09ca4aa21c1ff85734c2b92cbc13bdc Mon Sep 17 00:00:00 2001
From: liuying <1427574514@qq.com>
Date: 周四, 25 4月 2024 16:44:39 +0800
Subject: [PATCH] 1

---
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue |  197 ++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 152 insertions(+), 45 deletions(-)

diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue
index 6a10c9f..eede413 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue
@@ -1,12 +1,12 @@
 <template>
-  <a-modal title="鏂板鍩虹鐗╂枡淇℃伅" :width="900" :visible="visible" :confirmLoading="confirmLoading" @ok="handleSubmit"
+  <a-modal :title="title" :width="1300" :visible="visible" :confirmLoading="confirmLoading" @ok="handleSubmit"
     @cancel="handleCancel">
     <a-spin :spinning="confirmLoading">
       <!-- tab -->
       <a-tabs default-active-key="1" @change="callbacktab">
         <a-tab-pane key="1" tab="鍩烘湰淇℃伅">
           <!-- <add-form ref="addFormRef" @ok="handleOk" /> -->
-          <!-- 鍩烘湰淇℃伅 -->
+          <!-- 鍩烘湰淇℃伅  layout="inline"  layout="vertical" -->
           <a-form :form="form">
             <a-form-item label="鐗╂枡鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
               <a-input placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"
@@ -29,16 +29,10 @@
 
             <a-form-item label="鐗╂枡绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol">
               <a-select style="width: 100%" placeholder="璇烽�夋嫨鐗╂枡绫诲瀷" v-decorator="['materialType']">
-                <a-select-option v-for="(item, index) in materialTypeData" :key="index"
-                  :value="Number(item.materialTypeCode)">{{ item.materialTypeName }}</a-select-option>
+                <a-select-option v-for="(item, index) in materialTypeData" :key="index" :value="item.id">{{
+                  item.materialTypeName }}</a-select-option>
               </a-select>
             </a-form-item>
-
-            <!-- <a-col :md="8" :sm="24">
-    
-              </a-col> -->
-
-
 
             <a-form-item label="鐗╂枡缁�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
               <a-input placeholder="璇疯緭鍏ョ墿鏂欑粍" v-decorator="['materialGroup']" />
@@ -47,7 +41,15 @@
               <a-input placeholder="璇疯緭鍏BC鍒嗙被鍚嶇О" v-decorator="['aBCClassName']" />
             </a-form-item> -->
             <a-form-item label="ABC鍒嗙被" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
-              <a-input-number placeholder="璇疯緭鍏BC鍒嗙被" style="width: 100%" v-decorator="['aBCClass']" />
+              <!-- <a-input-number placeholder="璇疯緭鍏BC鍒嗙被" style="width: 100%" v-decorator="['aBCClass']" /> -->
+
+              <a-select style="width: 100%" placeholder="璇烽�夋嫨ABC鍒嗙被" v-decorator="['abcClass']">
+                <a-select-option v-for="(item, index) in materialTypeData2" :key="index" :value="Number(item.code)">{{
+                  item.name }}</a-select-option>
+              </a-select>
+
+
+
             </a-form-item>
             <a-form-item label="鐗╂枡瑙勬牸" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
               <a-input placeholder="璇疯緭鍏ョ墿鏂欒鏍�" v-decorator="['materialSpec']" />
@@ -56,10 +58,24 @@
               <a-input placeholder="璇疯緭鍏ラ粯璁ゅ叆搴撳簱浣�" v-decorator="['inPlaceCode']" />
             </a-form-item>
             <a-form-item label="搴撳瓨鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
-              <a-input placeholder="璇疯緭鍏ュ簱瀛樺崟浣�" v-decorator="['materialUnit']" />
+              <!-- <a-input placeholder="璇疯緭鍏ュ簱瀛樺崟浣�" v-decorator="['materialUnit']" /> -->
+
+              <a-select style="width: 100%" placeholder="璇烽�夋嫨搴撳瓨鍗曚綅" v-decorator="['materialUnit']">
+                <a-select-option v-for="(item, index) in selectTypeData1" :key="index" :value="item.unitName">{{
+                  item.unitName }}</a-select-option>
+              </a-select>
+
+
             </a-form-item>
             <a-form-item label="閲囪喘鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
-              <a-input placeholder="璇疯緭鍏ラ噰璐崟浣�" v-decorator="['pOUnit']" />
+              <!-- <a-input placeholder="璇疯緭鍏ラ噰璐崟浣�" v-decorator="['pOUnit']" /> -->
+
+              <a-select style="width: 100%" placeholder="璇烽�夋嫨閲囪喘鍗曚綅" v-decorator="['pOUnit']">
+                <a-select-option v-for="(item, index) in selectTypeData2" :key="index" :value="item.unitName">{{
+                  item.unitName }}</a-select-option>
+              </a-select>
+
+
             </a-form-item>
             <a-form-item label="棰滆壊" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
               <a-input placeholder="璇疯緭鍏ラ鑹�" v-decorator="['color']" />
@@ -88,7 +104,7 @@
           </a-form>
         </a-tab-pane>
         <a-tab-pane key="2" tab="鎺у埗灞炴��" force-render>
-          <add-control-rule v-if="visible" ref="WmsControlRule" />
+          <add-control-rule v-if="visible" ref="WmsControlRuleRef" />
         </a-tab-pane>
         <a-tab-pane key="3" tab="鎵规灞炴��">
           闇�姹傚緟瀹�
@@ -109,13 +125,16 @@
 </template>
 
 <script>
-import { WmsMaterialAdd, GetAreas, GetStations, materialTypeDataList } from '@/api/modular/main/WmsMaterialManage'
+
+import {
+  WmsMaterialAdd, WmsMaterialEdit, WmsMaterialDetailList, materialTypeDataList
+} from '@/api/modular/main/WmsBase/WmsMaterialManage'
 import addForm from './tabItem/addForm.vue'
 import addFormBaseCustomer from './tabItem/addFormBaseCustomer/addFormBaseCustomer.vue'
 import addFormContainerPackaging from './tabItem/WmsContainerPackaging/addFormContainerPackaging.vue'
 import addFormSub from './tabItem/WmsSubstituteGood/addFormWmsSubstituteGood.vue'
 import addControlRule from './tabItem/WmsControlRule/addForm.vue'
-
+import { WmsUnitPage } from '@/api/modular/main/WmsBase/WmsUnitManage'
 export default {
   components: {
     addForm,
@@ -126,9 +145,12 @@
   },
   created() {
     this.materialTypeDataList()
+    const materialTypeOption = this.$options
+    this.materialTypeData2 = materialTypeOption.filters['dictData']('abc_class_type')
   },
   data() {
     return {
+      title: '',
       labelCol: {
         // xs: { span: 24 },
         // sm: { span: 5 }
@@ -145,16 +167,34 @@
       stationNameParameterData: [],
       visible: false,
       confirmLoading: false,
-      form: this.$form.createForm(this)
+      form: this.$form.createForm(this),
+      materialTypeData2: [],
+      selectTypeData2: [],
+      selectTypeData1: []
     }
   },
   methods: {
+    // 鐗╂枡绫诲瀷
     materialTypeDataList() {
       materialTypeDataList().then((d) => {
         this.materialTypeData = d.data || []
       }).catch(() => {
 
       })
+      // 搴撳瓨鍗曚綅
+      WmsUnitPage().then((d) => {
+        this.selectTypeData1 = d.data.rows || []
+      }).catch(() => {
+
+      })
+
+      // 閲囪喘鍗曚綅
+      WmsUnitPage().then((d) => {
+        this.selectTypeData2 = d.data.rows || []
+      }).catch(() => {
+
+      })
+
     },
     callbacktab(e) {
 
@@ -168,22 +208,56 @@
       // }
       // 鏇夸唬鍝�
       if (e == 4) {
-        // let materialCode = this.form.getFieldValue('materialCode');
-        // let materialName = this.form.getFieldValue('materialName');
-        this.$refs.addFormWmsSubstituteGoodRef.initShowSubstituteGood()
+        this.$nextTick(() => {
+          // let materialCode = this.form.getFieldValue('materialCode');
+          // let materialName = this.form.getFieldValue('materialName');
+          this.$refs.addFormWmsSubstituteGoodRef.initShowSubstituteGood()
+        })
       }
     },
     handleOk() { },
     // 鍒濆鍖栨柟娉�
-    add(record) {
+    add(record, type) {
       this.visible = true
-      this.$nextTick(() => {
-        this.getSelects()
-      })
-      // const materialTypeOption = this.$options
-      // this.materialTypeData = materialTypeOption.filters['dictData']('material_type')
-      const inspectionMethodOption = this.$options
-      this.inspectionMethodData = inspectionMethodOption.filters['dictData']('material_inspection')
+      if (record) {//缂栬緫
+        if (type == '璇︽儏') {
+          this.title = '璇︽儏鐗╂枡淇℃伅璇︽儏';// 璇︽儏
+        } else {
+          this.title = '缂栬緫鍩虹鐗╂枡淇℃伅';
+        }
+        this.$nextTick(() => {
+          this.form.setFieldsValue({
+            ...record
+          })
+        })
+        WmsMaterialDetailList({
+          id: record.id
+        })
+          .then(res => {
+            if (res.success) {
+
+              console.log(res)
+              this.$nextTick(() => {
+                if (res.data.controlRuleDetailList && res.data.controlRuleDetailList.length > 0) {
+                  this.$refs.WmsControlRuleRef.form.setFieldsValue({
+                    ...res.data.controlRuleDetailList[0]
+                  })
+                }
+                this.$refs.addFormWmsSubstituteGoodRef.list = res.data.substituteGoodList || []
+                this.$refs.addFormBaseCustomer.list = res.data.baseCustomerList || []
+              })
+
+            } else {
+              this.$message.error('璇︽儏澶辫触锛�' + JSON.stringify(res.message))
+            }
+          })
+          .finally(res => {
+            this.confirmLoading = false
+          })
+
+      } else {
+        this.title = '鏂板鍩虹鐗╂枡淇℃伅';// 鏂板
+      }
     },
     getSelects() {
       if (this.areaNameParameterData.length <= 0 || this.stationNameParameterData.length <= 0) {
@@ -225,11 +299,15 @@
           // }
 
           console.log(6666666666666 + '鎺у埗灞炴��')
-          var ControlRuleld = this.$refs.WmsControlRule.form.getFieldValue('id') || ''
+          var ControlRuleld = this.$refs.WmsControlRuleRef.form.getFieldValue('id') || ''
 
           let SubstituteGoodList = []
           if (this.$refs.addFormWmsSubstituteGoodRef && this.$refs.addFormWmsSubstituteGoodRef.list.length > 0) {
             SubstituteGoodList = this.$refs.addFormWmsSubstituteGoodRef.list
+            SubstituteGoodList.forEach(item => {
+              item.materialName = this.form.getFieldValue('materialName')
+              item.materialCode = this.form.getFieldValue('materialCode')
+            })
           }
           console.log(6666666666666 + '鏇夸唬鍝�')
 
@@ -237,34 +315,56 @@
           let BaseCustomerList = [];
           if (this.$refs.addFormBaseCustomer && this.$refs.addFormBaseCustomer.list.length > 0) {
             BaseCustomerList = this.$refs.addFormBaseCustomer.list
+
           }
-          console.log(6666666666666 + '瀹㈡埛妗f闆嗗悎')
+          console.log(6666666666666 + '寰�鏉ュ叧绯婚泦鍚�')
 
           // console.log(6666666666666 + '鍖呰鍏崇郴')
           // console.log(this.$refs.addFormContainerPackagingRef.list)
-
+          var a1 = []
+          BaseCustomerList.forEach((item)=>{
+            a1.push(item.id)
+          })
           var param = {
             MaterialInput: values,
             ControlRuleld: ControlRuleld, //鎺у埗灞炴��
             SubstituteGoodList: SubstituteGoodList, //鏇夸唬鍝�
-            BaseCustomerList: BaseCustomerList, //瀹㈡埛妗f闆嗗悎
+            BaseCustomerList: a1, //寰�鏉ュ叧绯婚泦鍚�
             // ContainerPackagingList: this.$refs.addFormContainerPackagingRef.list //鍖呰鍏崇郴
           }
           this.confirmLoading = true
-          WmsMaterialAdd(param)
-            .then(res => {
-              if (res.success) {
-                this.$message.success('鏂板鎴愬姛')
+          if (this.title == '鏂板鍩虹鐗╂枡淇℃伅') {
+            WmsMaterialAdd(param)
+              .then(res => {
+                if (res.success) {
+                  this.$message.success('鏂板鎴愬姛')
+                  this.confirmLoading = false
+                  this.$emit('ok', values)
+                  this.handleCancel()
+                } else {
+                  this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message))
+                }
+              })
+              .finally(res => {
                 this.confirmLoading = false
-                this.$emit('ok', values)
-                this.handleCancel()
-              } else {
-                this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message))
-              }
-            })
-            .finally(res => {
-              this.confirmLoading = false
-            })
+              })
+          } else {
+            WmsMaterialEdit(param)
+              .then(res => {
+                if (res.success) {
+                  this.$message.success('缂栬緫鎴愬姛')
+                  this.confirmLoading = false
+                  this.$emit('ok', values)
+                  this.handleCancel()
+                } else {
+                  this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message))
+                }
+              })
+              .finally(res => {
+                this.confirmLoading = false
+              })
+          }
+
         } else {
           this.confirmLoading = false
         }
@@ -291,3 +391,10 @@
   }
 }
 </script>
+
+<style lang="less" scoped>
+.ant-row.ant-form-item {
+  width: 50% !important;
+  display: inline-block;
+}
+</style>

--
Gitblit v1.9.3