瀏覽代碼

fix:场站选择框联动

chenxinlei 2 年之前
父節點
當前提交
e29e8c203b
共有 1 個文件被更改,包括 42 次插入14 次删除
  1. 42 14
      src/views/stationConfiguration/station/components/TableEdit.vue

+ 42 - 14
src/views/stationConfiguration/station/components/TableEdit.vue

@@ -13,7 +13,6 @@
         <el-form-item label="别称" prop="aname">
           <el-input placeholder="请输入" class="inputs" v-model.trim="form.aname" autocomplete="off"></el-input>
         </el-form-item>
-
         <el-form-item label="编码" prop="code">
           <el-input placeholder="请输入" class="inputs" v-model="form.code" autocomplete="off"></el-input>
         </el-form-item>
@@ -54,11 +53,8 @@
         </el-form-item>
       </div>
       <div class="lists">
-        <el-form-item label="公司编号" prop="companyid">
-          <el-select style="width: 200px;" v-model="form.companyid" placeholder="请选择" clearable>
-            <el-option v-for="item in stationList" :key="item.id" :label="item.name" :value="item.id">
-            </el-option>
-          </el-select>
+        <el-form-item label="海拔高度" prop="height">
+          <el-input placeholder="请输入" class="inputs" v-model.trim="form.height" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="系统厂家" prop="systemmanufact">
           <el-input placeholder="请输入" class="inputs" v-model.trim="form.systemmanufact" autocomplete="off"></el-input>
@@ -84,18 +80,27 @@
         </el-form-item>
       </div>
       <div class="lists">
-        <el-form-item label="海拔高度" prop="height">
-          <el-input placeholder="请输入" class="inputs" v-model.trim="form.height" autocomplete="off"></el-input>
+        <el-form-item label="公司编号" prop="companyid">
+          <el-select style="width: 200px;" v-model="form.companyid" placeholder="请选择" clearable @change="companyidChange">
+            <el-option v-for="item in stationList" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="区域编号" prop="regionid">
-          <!-- <el-input  placeholder="请输入"class="inputs" v-model.trim="form.regionid" autocomplete="off"></el-input> -->
+          <el-select style="width: 200px;" v-model="form.regionid" placeholder="请选择">
+            <el-option v-for="item in regionid_options" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <!-- <el-form-item label="区域编号" prop="regionid">
           <el-cascader 
+            :key="cascaderKey"            
             v-model="form.regionid" 
-            :options="options" 
+            :options="regionid_options" 
             style="width: 200px" 
             :props="{ checkStrictly: true, emitPath: true, label: 'name', value: 'id' , children:'children'}" 
           />
-        </el-form-item>
+        </el-form-item> -->
       </div>
     </el-form>
     <div slot="footer" class="dialog-footer">
@@ -106,6 +111,7 @@
 </template>
 
 <script>
+import { recursionTree, recursionTreeChildren } from '@/utils/deepTree'
 import api from '@/api/station'
 export default {
   name: 'TableEdit',
@@ -124,7 +130,7 @@ export default {
       form: {
         id: '',
         name: '',
-        regionid: '',
+        regionid: "",
         aname: '',
         code: '',
         address: '',
@@ -168,11 +174,32 @@ export default {
       title: '',
       dialogFormVisible: false,
       idAdd: true,
+      optionsAll: [],
+      regionid_options: [],
+      cascaderKey: 0
     }
   },
   created() { },
   methods: {
+    getTree() {
+      api.newtreeTreels({tag:1}).then(res => {
+        if (res.data) {
+          this.optionsAll = res.data
+          this.regionid_options = recursionTreeChildren(this.form.companyid, this.optionsAll) || []
+        }
+      })
+    },
+    companyidChange(data){
+      this.form.regionid = ""
+      this.cascaderKey += 1
+      if(data){
+        this.regionid_options = recursionTreeChildren(data, this.optionsAll)
+      } else {
+        this.regionid_options = []
+      }
+    },
     showEdit(row) {
+      this.getTree()
       if (!row) {
         this.title = '添加'
         this.idAdd = true
@@ -180,7 +207,8 @@ export default {
         this.title = '编辑'
         this.idAdd = false
         this.form = Object.assign({}, row)
-        this.form.regionid = row.regionid.split(",")
+        // console.log(this.form);
+        // this.form.regionid = [this.form.regionid]
       }
       this.dialogFormVisible = true
     },
@@ -194,7 +222,7 @@ export default {
       console.log(this.form);
       this.$refs['form'].validate(async (valid) => {
         if (valid) {
-          this.form.regionid = this.form.regionid.join(",")
+          // this.form.regionid = this.form.regionid[0]
           api.addWindpowerstation(this.form).then(res => {
             if (res.data) {
               this.$message({