From 87572c2af4c6b927b55cd9efda438087d36d0f3d Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期三, 16 八月 2023 15:01:23 +0800
Subject: [PATCH] 资源管理,图层管理修改

---
 src/views/datamanage/layerManagement.vue |  165 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 105 insertions(+), 60 deletions(-)

diff --git a/src/views/datamanage/layerManagement.vue b/src/views/datamanage/layerManagement.vue
index 071b057..6bf643d 100644
--- a/src/views/datamanage/layerManagement.vue
+++ b/src/views/datamanage/layerManagement.vue
@@ -160,7 +160,27 @@
                 v-model="formInline.enName"
               ></el-input>
             </el-form-item> -->
-
+            <!-- 鏁版嵁绫诲瀷 -->
+            <el-form-item
+              v-show="formInline.isLayer == 1"
+              :label="$t('dataManage.layerObj.dataType')"
+            >
+              <el-select
+                style="width: 60%;"
+                v-model="formInline.data"
+                :placeholder="$t('dataManage.layerObj.prompt3')"
+                :disabled="serviceActive"
+                @change="setFromDataTypeClick"
+              >
+                <el-option
+                  v-for="item in serveType"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
             <!-- 鏁版嵁绫诲瀷 -->
             <el-form-item
               v-show="formInline.isLayer == 1"
@@ -182,26 +202,6 @@
               </el-select>
             </el-form-item>
 
-            <!-- 鏁版嵁绫诲瀷 -->
-            <el-form-item
-              v-show="formInline.isLayer == 1"
-              :label="$t('dataManage.layerObj.dataType')"
-            >
-              <el-select
-                style="width: 60%;"
-                v-model="formInline.data"
-                :placeholder="$t('dataManage.layerObj.prompt3')"
-                :disabled="serviceActive"
-              >
-                <el-option
-                  v-for="item in serveType"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
-            </el-form-item>
             <!-- 鏈嶅姟鍦板潃 -->
             <el-form-item
               v-show="formInline.isLayer == 1"
@@ -323,23 +323,34 @@
           <!-- 鑿滃崟鍚嶇О -->
           <el-form-item :label="$t('dataManage.layerObj.layerName')">
             <el-input
-              :disabled="insertServiceActive"
               :placeholder="$t('dataManage.layerObj.prompt1')"
               style="width: 60%;"
               v-model="insertData.cnName"
             ></el-input>
           </el-form-item>
-          <!-- 鑻辨枃鍚嶇О -->
-          <!-- <el-form-item :label="$t('dataManage.layerObj.englishName')">
-            <el-input
-              :disabled="insertServiceActive"
-              :placeholder="$t('dataManage.layerObj.prompt6')"
-              style="width: 60%;"
-              v-model="insertData.enName"
-            ></el-input>
-          </el-form-item> -->
 
           <!-- 鏁版嵁绫诲瀷 -->
+          <el-form-item
+            v-show="insertData.isLayer == 1"
+            :label="$t('dataManage.layerObj.dataType')"
+          >
+            <el-select
+              style="width: 60%;"
+              v-model="insertData.data"
+              :placeholder="$t('dataManage.layerObj.prompt3')"
+              :disabled="insertServiceActive"
+              @change="setInsertDataTypeClick"
+            >
+              <el-option
+                v-for="item in serveType"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <!-- 鏈嶅姟绫荤被鍨� -->
           <el-form-item
             v-show="insertData.isLayer == 1"
             :label="$t('dataManage.layerObj.serviceType')"
@@ -352,26 +363,6 @@
             >
               <el-option
                 v-for="item in dataType"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <!-- 鏁版嵁绫诲瀷 -->
-          <el-form-item
-            v-show="insertData.isLayer == 1"
-            :label="$t('dataManage.layerObj.dataType')"
-          >
-            <el-select
-              style="width: 60%;"
-              v-model="insertData.data"
-              :placeholder="$t('dataManage.layerObj.prompt3')"
-              :disabled="serviceActive"
-            >
-              <el-option
-                v-for="item in serveType"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
@@ -418,12 +409,12 @@
             <el-button
               type="primary"
               size="small"
-              @click="submitForm( )"
+              @click="submitForm()"
             >{{$t('common.confirm')}}</el-button>
             <el-button
               type="info"
               size="small"
-              @click="submitCancel( )"
+              @click="submitCancel()"
             >{{$t('common.cancel')}}</el-button>
           </el-form-item>
 
@@ -576,7 +567,10 @@
       checkData: null,
       backUpData: null,
       dialogVisible: false,
-      insertData: {},
+      insertData: {
+        type: null,
+        data: null,
+      },
       currentData: null,
       newNode: null,
       newData: [],
@@ -601,6 +595,35 @@
     },
   },
   methods: {
+    setFromDataTypeClick(res) {
+      this.setInsertDataTypeChange(res)
+      this.formInline.type = this.dataType[0].value
+    },
+    setInsertDataTypeClick(res) {
+      this.setInsertDataTypeChange(res)
+      this.insertData.type = this.dataType[0].value
+    },
+    setInsertDataTypeChange(res) {
+      var filter = this.serveType.filter(rs => {
+        if (rs.value == res) {
+          return rs
+        }
+      })
+      if (filter.length <= 0) return
+      var std = [];
+      var data = filter[0].children;
+      for (var i in data) {
+        for (var j in serve_type) {
+          if (serve_type[j].value == data[i]) {
+            std.push({
+              value: serve_type[j].value,
+              label: serve_type[j].name,
+            })
+          }
+        }
+      }
+      this.dataType = std
+    },
     setServiceConfirm() {
       if (this.multipleSelection.length <= 0) {
         return this.$message("鏈�夋嫨璧勬簮鏁版嵁");
@@ -611,10 +634,16 @@
         url = this.multipleSelection.url;
       } else if (this.multipleSelection.status == 2) {
         var token = getToken()
-        serviceUrl = BASE_URL + this.multipleSelection.proxy.replaceAll('{token}', token);
+        if (this.multipleSelection.proxy && this.multipleSelection.proxy.indexOf('{token}') > -1) {
+          serviceUrl = BASE_URL + this.multipleSelection.proxy.replaceAll('{token}', token);
+        } else {
+          serviceUrl = this.multipleSelection.url
+        }
+
         url = this.multipleSelection.proxy;
       }
       if (this.dialogVisible) {
+        this.setInsertDataTypeChange(this.multipleSelection.data);
         this.insertData.cnName = this.multipleSelection.cnName;
         this.insertData.enName = this.multipleSelection.enName;
         this.insertData.type = this.multipleSelection.type;
@@ -623,7 +652,6 @@
         this.insertData.url = url;
         this.insertData.data = this.multipleSelection.data;
         this.insertServiceActive = true
-        // this.insertData.status = this.multipleSelection.status;
       } else {
         this.formInline.cnName = this.multipleSelection.cnName;
         this.formInline.enName = this.multipleSelection.enName;
@@ -638,6 +666,8 @@
       }
       this.dialogService = false
     },
+
+
     setServiceRest() {
       this.listData = {
         pageIndex: 1,
@@ -894,6 +924,7 @@
       this.insertData.pid = id;
       this.insertData.level = lever;
       this.insertData.orderNum = orderNum;
+
       this.dialogVisible = true;
     },
     getMaxOrderNum(res) {
@@ -907,6 +938,9 @@
       return val;
     },
     insertStart() {
+      var data = this.serveType[0].value;
+      this.setInsertDataTypeChange(this.serveType[0].value)
+      var type = this.dataType[0].value
       this.insertData = {
         cnName: null,
         type: null,
@@ -921,7 +955,9 @@
         category: null,
         status: null,
         service: '0',
-        status: '1'
+        status: '1',
+        type: type,
+        data: data,
       }
     },
     //淇敼鏁版嵁
@@ -962,6 +998,10 @@
       this.oriData = data.result;
       this.newData = data.result;
       var val = this.setTreeData(data.result);
+      val.sort(function (a, b) {
+        return a.orderNum - b.orderNum
+      })
+
       this.treeData = val;
       var cdata;
       if (this.currentData) {
@@ -996,10 +1036,15 @@
         url = result.url;
       } else if (this.serviceActive) {
         var token = getToken()
-        url = BASE_URL + result.url.replaceAll('{token}', token);
+        if (result.url.indexOf('{token}') > -1) {
+          url = BASE_URL + result.url.replaceAll('{token}', token);
+        } else {
+          url = result.url;
+        }
+
       }
       this.formInline.serviceUrl = url;
-
+      this.setInsertDataTypeChange(this.formInline.data)
       // this.formInline.isProject = result.isProject.toString();
     },
     //鍥惧眰鍒楄〃鐐瑰嚮浜嬩欢
@@ -1018,7 +1063,6 @@
             return a.orderNum - b.orderNum
           })
         }
-
         branchArr.length > 0 ? (father.children = branchArr) : ""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
         // 灞炰簬鍚屼竴瀵硅薄闂锛屼緥濡傦細浠� a=b銆乧=1 锛岀劧鍚庡啀浠� b.c=c 锛� 閭d箞 a.c=b.c=c=1 锛涘悓鐞嗭紝鍚庣画浠� c.d=2 ,閭d箞 a.c.d 涔熸槸=2锛�
         // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋�
@@ -1045,6 +1089,7 @@
         std.push({
           value: data_type[i].value,
           label: data_type[i].name,
+          children: data_type[i].children
         })
       }
       this.dataType = ste;

--
Gitblit v1.9.3