From 1ad4dd1d9a1a521980ce2cfeae4208b1873c7c9a Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期三, 08 十一月 2023 15:06:03 +0800
Subject: [PATCH] 	modified:   src/views/basic/param/index.vue

---
 src/views/basic/division/division-form.vue |  114 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 58 insertions(+), 56 deletions(-)

diff --git a/src/views/basic/division/division-form.vue b/src/views/basic/division/division-form.vue
index 43476c2..dd96889 100644
--- a/src/views/basic/division/division-form.vue
+++ b/src/views/basic/division/division-form.vue
@@ -1,67 +1,33 @@
 <template>
-  <el-dialog
-    :title="!dataForm.id ? '鏂板' : '淇敼'"
-    :close-on-click-modal="false"
-    :visible.sync="visible"
-  >
-    <el-form
-      :model="dataForm"
-      :rules="dataRule"
-      ref="dataForm"
-      label-width="80px"
-      class="l-mes"
-    >
+  <el-dialog :title="!dataForm.id ? '鏂板' : '淇敼'" :close-on-click-modal="false" :visible.sync="visible">
+    <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="80px" class="l-mes">
       <el-row>
         <el-col :span="12">
           <el-form-item label="閮ㄩ棬缂栧彿" prop="divisionNo">
-            <el-input
-              v-model="dataForm.divisionNo"
-              placeholder="閮ㄩ棬缂栧彿"
-            ></el-input>
+            <el-input v-model="dataForm.divisionNo" placeholder="閮ㄩ棬缂栧彿"></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="閮ㄩ棬鍚嶇О" prop="divisionName">
-            <el-input
-              v-model="dataForm.divisionName"
-              placeholder="閮ㄩ棬鍚嶇О"
-            ></el-input>
+            <el-input v-model="dataForm.divisionName" placeholder="閮ㄩ棬鍚嶇О"></el-input>
           </el-form-item>
         </el-col>
       </el-row>
       <el-row>
         <el-col :span="12">
-          <el-form-item label="绠$悊浜哄憳" prop="staffId">
-            <el-select
-              v-model="dataForm.staffId"
-              filterable
-              placeholder="璇烽�夋嫨"
-              style="width: 100%;"
-            >
-              <el-option
-                v-for="(item, index) in this.staffOptions"
-                :key="index"
-                :label="item.staffName"
-                :value="item.id"
-              >
+          <el-form-item label="鍏徃" prop="companyId">
+            <el-select @change="changeCompany" v-model="dataForm.companyId" filterable placeholder="璇烽�夋嫨"
+              style="width: 100%;">
+              <el-option v-for="(item, index) in this.companyOptions" :key="index" :label="item.companyName"
+                :value="item.id">
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="鍏徃" prop="companyId">
-            <el-select
-              v-model="dataForm.companyId"
-              filterable
-              placeholder="璇烽�夋嫨"
-              style="width: 100%;"
-            >
-              <el-option
-                v-for="(item, index) in this.companyOptions"
-                :key="index"
-                :label="item.companyName"
-                :value="item.id"
-              >
+          <el-form-item label="宸ュ巶" prop="factotyId">
+            <el-select style="width: 100%;" v-model="dataForm.factotyId" @change="changeFactory" placeholder="璇烽�夋嫨">
+              <el-option v-for="item in factotyOption" :key="item.id" :label="item.factoryName" :value="item.id">
               </el-option>
             </el-select>
           </el-form-item>
@@ -77,12 +43,7 @@
     </el-form>
     <span slot="footer" class="dialog-footer">
       <el-button @click="visible = false">鍙栨秷</el-button>
-      <el-button
-        type="primary"
-        :disabled="isSubmit"
-        v-thinclick="`dataFormSubmit`"
-        >纭畾</el-button
-      >
+      <el-button type="primary" :disabled="isSubmit" v-thinclick="`dataFormSubmit`">纭畾</el-button>
     </span>
   </el-dialog>
 </template>
@@ -93,7 +54,8 @@
   addObj,
   putObj,
   loadStaff,
-  dataFormTransfer
+  dataFormTransfer,
+  loadFactoryListByCompany
 } from '@/api/basic/division'
 import { loadCompany } from '@/api/basic/factory'
 
@@ -101,18 +63,20 @@
   data() {
     return {
       visible: false,
+      factotyOption: [],
       dataForm: {
         id: 0,
         divisionNo: '',
         divisionName: '',
         supervisorId: '',
         remark: '',
+        factotyId: null,
+        factotyName: null,
         companyId: '',
         createTime: '',
         updateTime: '',
         createUser: '',
         updateUser: '',
-        companyId: '',
         staffId: ''
       },
       companyOptions: [],
@@ -126,7 +90,10 @@
         ],
         companyId: [
           { required: true, message: '鍏徃涓嶈兘涓虹┖', trigger: 'blur' }
-        ]
+        ],
+        factotyId: [
+          { required: true, message: '宸ュ巶涓嶈兘涓虹┖', trigger: 'blur' }
+        ],
       },
       isSubmit: false
     }
@@ -140,11 +107,31 @@
         /* this.initCompanySelect();
           this.initStaffSelect(); */
         if (this.dataForm.id) {
+          console.log(111);
           getObj(this.dataForm.id).then((response) => {
             this.dataForm = response.data.data
+            this.dataForm.factotyId = response.data.data.factoryId
+            this.changeCompany()
           })
         }
       })
+    },
+    changeCompany() {
+      loadFactoryListByCompany(this.dataForm.companyId).then((res) => {
+        this.factotyOption = res.data.data
+      })
+      // if (this.dataForm.factotyId != '') {
+      //   let datas = this.factotyOption.filter(item => {
+      //     return item.id == this.dataForm.factotyId
+      //   });
+      //   console.log(datas);
+      // }
+    },
+    changeFactory() {
+      this.dataForm.factotyName = this.factotyOption.filter(item => {
+        return item.id == this.dataForm.factotyId
+      })[0].factoryName;
+      console.log(this.dataForm);
     },
     // 琛ㄥ崟鎻愪氦
     dataFormSubmit() {
@@ -155,7 +142,9 @@
         remark: this.dataForm.remark,
         staffId: this.dataForm.staffId,
         companyId: this.dataForm.companyId,
-        id: this.dataForm.id
+        id: this.dataForm.id,
+        factoryId: this.dataForm.factotyId,
+        factoryName: this.dataForm.factotyName,
       }
       this.$refs.dataForm.validate((valid) => {
         if (valid) {
@@ -198,6 +187,19 @@
   created() {
     this.initCompanySelect()
     this.initStaffSelect()
+  },
+  watch: {
+    'dataForm.companyId': {
+      handler(newValue, oldValue) {
+        if (newValue != ''&&oldValue!='') {
+            if(oldValue!=newValue){
+              this.dataForm.factotyId=null
+            }
+        }
+      },
+      immediate: true,
+      deep: true
+    }
   }
 }
 </script>

--
Gitblit v1.9.3