From cd6722665d20ed6a9221a44d381b5e0901fc918d Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期五, 15 九月 2023 17:12:09 +0800
Subject: [PATCH] 颜色别表更新

---
 src/views/datamanage/layerManagement.vue |  306 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 251 insertions(+), 55 deletions(-)

diff --git a/src/views/datamanage/layerManagement.vue b/src/views/datamanage/layerManagement.vue
index 9ddd70c..1cca2bd 100644
--- a/src/views/datamanage/layerManagement.vue
+++ b/src/views/datamanage/layerManagement.vue
@@ -99,7 +99,7 @@
 
         </div>
         <div class="dividing-line"></div>
-        <div style="padding: 10px;">
+        <div style="padding: 10px;height: 70vh;margin-top: 10px; overflow: auto;">
           <el-form
             :model="formInline"
             class="demo-form-inline"
@@ -150,23 +150,53 @@
                 :placeholder="$t('dataManage.layerObj.prompt1')"
                 style="width: 60%;"
                 v-model="formInline.cnName"
-                :disabled="serviceActive"
               ></el-input>
             </el-form-item>
-            <!-- 鑻辨枃鍚嶇О -->
-            <el-form-item :label="$t('dataManage.layerObj.englishName')">
-              <el-input
-                :placeholder="$t('dataManage.layerObj.prompt6')"
-                style="width: 60%;"
-                v-model="formInline.enName"
-                :disabled="serviceActive"
-              ></el-input>
-            </el-form-item>
-
-            <!-- 鏁版嵁绫诲瀷 -->
+            <!-- 璧勬簮绫诲埆 -->
             <el-form-item
               v-show="formInline.isLayer == 1"
               :label="$t('dataManage.layerObj.firm')"
+            >
+              <el-select
+                style="width: 60%;"
+                v-model="formInline.category"
+                :disabled="serviceActive"
+                :placeholder="$t('dataManage.layerObj.prompt3')"
+              >
+                <el-option
+                  v-for="item in serviceType"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </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"
+                @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"
+              :label="$t('dataManage.layerObj.serviceType')"
             >
               <el-select
                 style="width: 60%;"
@@ -183,6 +213,7 @@
                 </el-option>
               </el-select>
             </el-form-item>
+
             <!-- 鏈嶅姟鍦板潃 -->
             <el-form-item
               v-show="formInline.isLayer == 1"
@@ -195,11 +226,22 @@
                 :disabled="serviceActive"
               ></el-input>
             </el-form-item>
-
+            <!-- 鑻辨枃鍚嶇О -->
+            <el-form-item
+              v-show="formInline.isLayer == 1 && formInline.category == 2"
+              :label="$t('dataManage.layerObj.englishName')"
+            >
+              <el-input
+                :disabled="serviceActive"
+                :placeholder="$t('dataManage.layerObj.prompt6')"
+                style="width: 60%;"
+                v-model="formInline.tab"
+              ></el-input>
+            </el-form-item>
             <!-- 鏄惁鏄剧ず -->
             <el-form-item
               v-show="formInline.isLayer == 1"
-              :label="$t('dataManage.layerObj.displayOrNot')"
+              :label="$t('dataManage.layerObj.enableOrNot')"
             >
 
               <el-radio
@@ -211,7 +253,20 @@
                 label="1"
               > {{$t('dataManage.layerObj.isEnable')}}</el-radio>
             </el-form-item>
-
+            <!-- 鏄惁鏄剧ず -->
+            <el-form-item
+              v-show="formInline.isLayer == 1"
+              :label="$t('dataManage.layerObj.displayOrNot')"
+            >
+              <el-radio
+                v-model="formInline.isShow"
+                label="0"
+              >{{$t('dataManage.layerObj.isfalse')}}</el-radio>
+              <el-radio
+                v-model="formInline.isShow"
+                label="1"
+              > {{$t('dataManage.layerObj.istrue')}}</el-radio>
+            </el-form-item>
             <!-- 鎻忚堪 -->
             <el-form-item :label="$t('common.bak')">
               <el-input
@@ -304,26 +359,56 @@
           <!-- 鑿滃崟鍚嶇О -->
           <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.firm')"
+          >
+            <el-select
+              style="width: 60%;"
+              v-model="insertData.category"
+              :disabled="insertServiceActive"
+              :placeholder="$t('dataManage.layerObj.prompt3')"
+            >
+              <el-option
+                v-for="item in serviceType"
+                :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="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')"
           >
             <el-select
               :disabled="insertServiceActive"
@@ -352,10 +437,22 @@
               v-model="insertData.serviceUrl"
             ></el-input>
           </el-form-item>
-          <!-- 鏄惁鏄剧ず -->
+          <!-- 鑻辨枃鍚嶇О -->
+          <el-form-item
+            v-show="insertData.isLayer == 1 && insertData.category == 2"
+            :label="$t('dataManage.layerObj.englishName')"
+          >
+            <el-input
+              :disabled="insertServiceActive"
+              :placeholder="$t('dataManage.layerObj.prompt6')"
+              style="width: 60%;"
+              v-model="insertData.tab"
+            ></el-input>
+          </el-form-item>
+          <!-- 鏄惁鍚敤 -->
           <el-form-item
             v-show="insertData.isLayer == 1"
-            :label="$t('dataManage.layerObj.displayOrNot')"
+            :label="$t('dataManage.layerObj.enableOrNot')"
           >
             <el-radio
               v-model="insertData.status"
@@ -366,7 +463,20 @@
               label="1"
             > {{$t('dataManage.layerObj.isEnable')}}</el-radio>
           </el-form-item>
-
+          <!-- 鏄惁鏄剧ず -->
+          <el-form-item
+            v-show="insertData.isLayer == 1"
+            :label="$t('dataManage.layerObj.displayOrNot')"
+          >
+            <el-radio
+              v-model="insertData.isShow"
+              label="0"
+            >{{$t('dataManage.layerObj.isfalse')}}</el-radio>
+            <el-radio
+              v-model="insertData.isShow"
+              label="1"
+            > {{$t('dataManage.layerObj.istrue')}}</el-radio>
+          </el-form-item>
           <!-- 鎻忚堪 -->
           <el-form-item :label="$t('common.bak')">
             <el-input
@@ -379,12 +489,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>
 
@@ -451,7 +561,7 @@
           <el-table-column
             align="center"
             prop="category"
-            :label="$t('dataManage.layerObj.firm')"
+            :label="$t('dataManage.layerObj.serviceType')"
             :formatter="setResCategory"
           />
           <el-table-column
@@ -494,7 +604,7 @@
 } from "../../api/api";
 import $ from 'jquery'
 import { getToken } from '../../utils/auth';
-import { serve_type, data_type } from './js/layerManage.js'
+import { serve_type, data_type, category_type } from './js/layerManage.js'
 import { json } from "body-parser";
 
 export default {
@@ -512,7 +622,7 @@
         url: null,
         dataType: null,
         bak: null,
-        isShow: '1',
+        isShow: '0',
         isProject: '0',
         enName: '',
         isLayer: null,
@@ -537,7 +647,10 @@
       checkData: null,
       backUpData: null,
       dialogVisible: false,
-      insertData: {},
+      insertData: {
+        type: null,
+        data: null,
+      },
       currentData: null,
       newNode: null,
       newData: [],
@@ -552,7 +665,8 @@
       tableData: [],
       multipleSelection: [],
       serviceActive: true,
-      insertServiceActive: false
+      insertServiceActive: false,
+      serviceType: null
     };
   },
   watch: {
@@ -561,6 +675,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("鏈�夋嫨璧勬簮鏁版嵁");
@@ -571,24 +714,35 @@
         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;
         this.insertData.resid = this.multipleSelection.id
         this.insertData.serviceUrl = serviceUrl;
         this.insertData.url = url;
+        this.insertData.data = this.multipleSelection.data;
+        this.insertData.tab = this.multipleSelection.tab;
+        this.insertData.category = this.multipleSelection.category;
         this.insertServiceActive = true
-        // this.insertData.status = this.multipleSelection.status;
       } else {
         this.formInline.cnName = this.multipleSelection.cnName;
         this.formInline.enName = this.multipleSelection.enName;
         this.formInline.type = this.multipleSelection.type;
         this.formInline.resid = this.multipleSelection.id
         this.formInline.serviceUrl = serviceUrl;
+        this.formInline.data = this.multipleSelection.data;
+        this.formInline.tab = this.multipleSelection.tab;
+        this.formInline.category = this.multipleSelection.category;
         this.formInline.url = url;
         this.serviceActive = true
         // this.formInline.status = '1';
@@ -596,6 +750,8 @@
       }
       this.dialogService = false
     },
+
+
     setServiceRest() {
       this.listData = {
         pageIndex: 1,
@@ -814,10 +970,11 @@
       var val = JSON.parse(JSON.stringify(this.insertData));
       val.status = parseInt(val.status);
       var token = getToken();
-      if (val.serviceUrl.indexOf(BASE_URL) > -1) {
+      if (val.serviceUrl && val.serviceUrl.indexOf(BASE_URL) > -1) {
         val.serviceUrl = val.serviceUrl.replaceAll(BASE_URL, '');
         val.serviceUrl = val.serviceUrl.replaceAll(token, '{token}')
       }
+      val.isShow = parseInt(val.isShow)
       val.url = val.serviceUrl
       const data = await layer_insert(val);
       if (data.code != 200) {
@@ -837,11 +994,17 @@
       this.newNode = node;
       var id, lever, orderNum;
       if (res == 1) {
-        //鏂板鍚岀骇
-        id = this.formInline.pid;
-        let pchildNodes = this.$refs.tree.getNode(this.newNode.id).parent.childNodes
-        orderNum = this.getMaxOrderNum(pchildNodes);
-        lever = this.formInline.level;
+        if (this.formInline.pid) {
+          id = this.formInline.pid;
+          let pchildNodes = this.$refs.tree.getNode(this.newNode.id).parent.childNodes
+          orderNum = this.getMaxOrderNum(pchildNodes);
+          lever = this.formInline.level;
+        } else {
+          let pchildNodes = this.$refs.tree.getNode(this.newNode.id).parent.childNodes
+          orderNum = this.getMaxOrderNum(pchildNodes);
+          lever = this.formInline.level;
+          id = this.formInline.pid;
+        }
       } else if (res == 2) {
         //鏂板瀛愮骇
         id = this.formInline.id;
@@ -852,6 +1015,7 @@
       this.insertData.pid = id;
       this.insertData.level = lever;
       this.insertData.orderNum = orderNum;
+
       this.dialogVisible = true;
     },
     getMaxOrderNum(res) {
@@ -865,6 +1029,10 @@
       return val;
     },
     insertStart() {
+      var data = this.serveType[0].value;
+      this.setInsertDataTypeChange(this.serveType[0].value)
+      var type = this.dataType[0].value
+      var category = this.serviceType[0].value
       this.insertData = {
         cnName: null,
         type: null,
@@ -872,24 +1040,27 @@
         url: null,
         dataType: null,
         bak: null,
-        isShow: '1',
+        isShow: '0',
         isProject: '0',
         enName: '',
         isLayer: null,
-        category: null,
+        category: category,
         status: null,
         service: '0',
-        status: '1'
+        status: '1',
+        type: type,
+        data: data,
       }
     },
     //淇敼鏁版嵁
     async updateSend() {
       var val = JSON.parse(JSON.stringify(this.formInline));
       var token = getToken();
-      if (val.serviceUrl.indexOf(BASE_URL) > -1) {
+      if (val.serviceUrl && val.serviceUrl.indexOf(BASE_URL) > -1) {
         val.serviceUrl = val.serviceUrl.replaceAll(BASE_URL, '');
         val.serviceUrl = val.serviceUrl.replaceAll(token, '{token}')
       }
+      val.isShow = parseInt(val.isShow)
       val.url = val.serviceUrl
       const data = await layer_update(val);
       this.currentData = JSON.stringify(this.formInline)
@@ -913,13 +1084,17 @@
     },
     //鑾峰彇鍥惧眰鍒楄〃
     async getLayerTree() {
-      const data = await layer_selectAll();
+      const data = await layer_selectAll({ flag: 0 });
       if (data.code != 200) {
         return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触");
       }
       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) {
@@ -944,20 +1119,30 @@
       this.formInline = result;
       this.formInline.isLayer = res.isLayer.toString();
       this.formInline.status = result.status.toString();
+
+      this.formInline.isShow = res.isShow.toString();
+
+
       if (res.resid && res.resid > 0) {
         this.serviceActive = true
       } else {
         this.serviceActive = false
       }
+
       var url;
       if (!this.serviceActive) {
         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();
     },
     //鍥惧眰鍒楄〃鐐瑰嚮浜嬩欢
@@ -976,7 +1161,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锛�
         // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋�
@@ -992,6 +1176,7 @@
     optionsStart() {
       var std = [];
       var ste = [];
+      var str = [];
       for (var i in serve_type) {
         ste.push({
           value: serve_type[i].value,
@@ -1003,9 +1188,20 @@
         std.push({
           value: data_type[i].value,
           label: data_type[i].name,
+          children: data_type[i].children
         })
       }
       this.dataType = ste;
+
+      for (var i in category_type) {
+        str.push({
+          value: category_type[i].value,
+          label: category_type[i].name,
+        })
+      }
+      this.serviceType = str;
+
+
     },
     //鏁版嵁鍒濆鍖�
     formInlineStart() {
@@ -1016,7 +1212,7 @@
         url: null,
         dataType: null,
         bak: null,
-        isShow: '1',
+        isShow: '0',
         isProject: '0',
         enName: '',
         isLayer: null,

--
Gitblit v1.9.3