From 5251468b491c8cbc34b92bd2fdf144c08ae38196 Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期一, 30 十月 2023 15:21:24 +0800
Subject: [PATCH] 图层管理修改

---
 src/views/layer/layerSet.vue |  336 ++++++++++++-------------------------------------------
 1 files changed, 73 insertions(+), 263 deletions(-)

diff --git a/src/views/layer/layerSet.vue b/src/views/layer/layerSet.vue
index f91eb0a..3f11d1b 100644
--- a/src/views/layer/layerSet.vue
+++ b/src/views/layer/layerSet.vue
@@ -3,10 +3,7 @@
     <div class="layerBox">
       <div class="layerTitle">
         <div class="tileLeft">
-          <div
-            class="titleImg"
-            @click="editState"
-          >
+          <div class="titleImg" @click="editState">
             <ArrowLeft />
           </div>
           <div class="titleLable">鍥惧眰缂栬緫</div>
@@ -22,64 +19,28 @@
           :expand-on-click-node="false"
           @node-click="handleNodeClick"
           ref="treeRef"
-          style="font-size: 16px;"
+          style="font-size: 16px"
         />
       </div>
     </div>
     <div class="edit_box">
       <div class="edit_box_btn btnstyle">
-        <el-button
-          type="primary"
-          :icon="Plus"
-          @click="insertLayerData(1)"
-        >鏂板鍚岀骇</el-button>
-        <el-button
-          type="primary"
-          :icon="Plus"
-          @click="insertLayerData(2)"
-        >鏂板瀛愮骇</el-button>
-        <el-button
-          type="primary"
-          :icon="Delete"
-          class="delbtn"
-          @click="delLayer"
-        >鍒犻櫎</el-button>
-        <el-button
-          type="primary"
-          :icon="Top"
-          @click="move(1)"
-        >鍚戜笂绉诲姩</el-button>
-        <el-button
-          type="primary"
-          :icon="Bottom"
-          @click="move(2)"
-        >鍚戜笅绉诲姩</el-button>
+        <el-button type="primary" :icon="Plus" @click="insertLayerData(1)">鏂板鍚岀骇</el-button>
+        <el-button type="primary" :icon="Plus" @click="insertLayerData(2)">鏂板瀛愮骇</el-button>
+        <el-button type="primary" :icon="Delete" class="delbtn" @click="delLayer">鍒犻櫎</el-button>
+        <el-button type="primary" :icon="Top" @click="move(1)">鍚戜笂绉诲姩</el-button>
+        <el-button type="primary" :icon="Bottom" @click="move(2)">鍚戜笅绉诲姩</el-button>
       </div>
       <div class="edit_box_form">
-        <el-form
-          :model="formInline"
-          label-width="120px"
-        >
+        <el-form :model="formInline" label-width="120px">
           <el-form-item label="鍥惧眰绫诲瀷">
-            <el-select
-              style="width: 100%"
-              v-model="formInline.isLayer"
-            >
-              <el-option
-                label="鍥惧眰缁�"
-                value="0"
-              ></el-option>
-              <el-option
-                label="鍥惧眰"
-                value="1"
-              ></el-option>
+            <el-select style="width: 100%" v-model="formInline.isLayer">
+              <el-option label="鍥惧眰缁�" value="0"></el-option>
+              <el-option label="鍥惧眰" value="1"></el-option>
             </el-select>
           </el-form-item>
           <!-- 鏈嶅姟璧勬簮-->
-          <el-form-item
-            v-show="formInline.isLayer == 1"
-            label="鏈嶅姟璧勬簮"
-          >
+          <el-form-item v-show="formInline.isLayer == 1" label="鏈嶅姟璧勬簮">
             <el-button
               size="small"
               class="serviceButton"
@@ -97,45 +58,24 @@
           </el-form-item>
 
           <el-form-item label="鍥惧眰鍚嶇О">
-            <el-input
-              v-model="formInline.cnName"
-              placeholder="璇疯緭鍏ュ浘灞傚悕绉�"
-            />
+            <el-input v-model="formInline.cnName" placeholder="璇疯緭鍏ュ浘灞傚悕绉�" />
           </el-form-item>
           <!-- 鏈嶅姟绫诲埆 -->
-          <el-form-item
-            v-show="formInline.isLayer == 1"
-            label="鏈嶅姟绫诲埆"
-          >
-            <el-select
-              style="width: 100%"
-              v-model="formInline.category"
-              :disabled="serviceActive"
-            >
+          <el-form-item v-show="formInline.isLayer == 1" label="鏈嶅姟绫诲埆">
+            <el-select style="width: 100%" v-model="formInline.category" :disabled="serviceActive">
               <el-option
                 v-for="item in category_type"
                 :key="item.value"
                 :label="item.name"
                 :value="item.value"
-              >
-              </el-option>
+              ></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item
-            label="琛ㄥ悕绉�"
-            v-show="formInline.category == 2"
-          >
-            <el-input
-              v-model="formInline.tab"
-              placeholder="璇疯緭鍏ヨ〃鍚嶇О"
-              :disabled="serviceActive"
-            />
+          <el-form-item label="琛ㄥ悕绉�" v-show="formInline.category == 2">
+            <el-input v-model="formInline.tab" placeholder="璇疯緭鍏ヨ〃鍚嶇О" :disabled="serviceActive" />
           </el-form-item>
           <!-- 鏁版嵁绫诲瀷 -->
-          <el-form-item
-            v-show="formInline.isLayer == 1"
-            label="鏁版嵁绫诲瀷"
-          >
+          <el-form-item v-show="formInline.isLayer == 1" label="鏁版嵁绫诲瀷">
             <el-select
               style="width: 100%"
               v-model="formInline.data"
@@ -147,34 +87,22 @@
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
-              >
-              </el-option>
+              ></el-option>
             </el-select>
           </el-form-item>
           <!-- 鏁版嵁绫诲瀷 -->
-          <el-form-item
-            v-show="formInline.isLayer == 1"
-            label="鏈嶅姟绫诲瀷"
-          >
-            <el-select
-              style="width: 100%"
-              v-model="formInline.type"
-              :disabled="serviceActive"
-            >
+          <el-form-item v-show="formInline.isLayer == 1" label="鏈嶅姟绫诲瀷">
+            <el-select style="width: 100%" v-model="formInline.type" :disabled="serviceActive">
               <el-option
                 v-for="item in dataType"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
-              >
-              </el-option>
+              ></el-option>
             </el-select>
           </el-form-item>
 
-          <el-form-item
-            label="鏈嶅姟鍦板潃"
-            v-show="formInline.isLayer == 1"
-          >
+          <el-form-item label="鏈嶅姟鍦板潃" v-show="formInline.isLayer == 1">
             <el-input
               v-model="formInline.serviceUrl"
               placeholder="璇疯緭鍏ユ湇鍔″湴鍧�"
@@ -183,49 +111,24 @@
           </el-form-item>
           <el-form-item>
             <div class="btnstyle editBtn">
-              <el-button
-                type="primary"
-                @click="onSubmit"
-              >纭畾</el-button>
-              <el-button
-                class="delbtn"
-                @click="updateRest"
-              >鍙栨秷</el-button>
+              <el-button type="primary" @click="onSubmit">纭畾</el-button>
+              <el-button class="delbtn" @click="updateRest">鍙栨秷</el-button>
             </div>
           </el-form-item>
         </el-form>
       </div>
     </div>
-    <el-dialog
-      title="鏂板"
-      v-model="dialogVisible"
-      width="50%"
-    >
+    <el-dialog title="鏂板" v-model="dialogVisible" width="50%">
       <div style="width: 100%; max-height: 63vh; overflow-y: auto">
-        <el-form
-          :model="insertData"
-          label-width="120px"
-        >
+        <el-form :model="insertData" label-width="120px">
           <el-form-item label="鍥惧眰绫诲瀷">
-            <el-select
-              style="width: 100%"
-              v-model="insertData.isLayer"
-            >
-              <el-option
-                label="鍥惧眰缁�"
-                value="0"
-              ></el-option>
-              <el-option
-                label="鍥惧眰"
-                value="1"
-              ></el-option>
+            <el-select style="width: 100%" v-model="insertData.isLayer">
+              <el-option label="鍥惧眰缁�" value="0"></el-option>
+              <el-option label="鍥惧眰" value="1"></el-option>
             </el-select>
           </el-form-item>
           <!-- 鏈嶅姟璧勬簮-->
-          <el-form-item
-            v-show="insertData.isLayer == 1"
-            label="鏈嶅姟璧勬簮"
-          >
+          <el-form-item v-show="insertData.isLayer == 1" label="鏈嶅姟璧勬簮">
             <el-button
               size="small"
               class="serviceButton"
@@ -243,16 +146,10 @@
           </el-form-item>
 
           <el-form-item label="鍥惧眰鍚嶇О">
-            <el-input
-              v-model="insertData.cnName"
-              placeholder="璇疯緭鍏ュ浘灞傚悕绉�"
-            />
+            <el-input v-model="insertData.cnName" placeholder="璇疯緭鍏ュ浘灞傚悕绉�" />
           </el-form-item>
           <!-- 鏈嶅姟绫诲埆 -->
-          <el-form-item
-            v-show="insertData.isLayer == 1"
-            label="鏈嶅姟绫诲埆"
-          >
+          <el-form-item v-show="insertData.isLayer == 1" label="鏈嶅姟绫诲埆">
             <el-select
               style="width: 100%"
               v-model="insertData.category"
@@ -263,14 +160,10 @@
                 :key="item.value"
                 :label="item.name"
                 :value="item.value"
-              >
-              </el-option>
+              ></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item
-            label="琛ㄥ悕绉�"
-            v-show="insertData.category == 2"
-          >
+          <el-form-item label="琛ㄥ悕绉�" v-show="insertData.category == 2">
             <el-input
               v-model="insertData.tab"
               placeholder="璇疯緭鍏ヨ〃鍚嶇О"
@@ -278,10 +171,7 @@
             />
           </el-form-item>
           <!-- 鏁版嵁绫诲瀷 -->
-          <el-form-item
-            v-show="insertData.isLayer == 1"
-            label="鏁版嵁绫诲瀷"
-          >
+          <el-form-item v-show="insertData.isLayer == 1" label="鏁版嵁绫诲瀷">
             <el-select
               style="width: 100%"
               v-model="insertData.data"
@@ -293,15 +183,11 @@
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
-              >
-              </el-option>
+              ></el-option>
             </el-select>
           </el-form-item>
           <!-- 鏁版嵁绫诲瀷 -->
-          <el-form-item
-            v-show="insertData.isLayer == 1"
-            label="鏈嶅姟绫诲瀷"
-          >
+          <el-form-item v-show="insertData.isLayer == 1" label="鏈嶅姟绫诲瀷">
             <el-select
               style="width: 100%"
               v-model="insertData.type"
@@ -312,15 +198,11 @@
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
-              >
-              </el-option>
+              ></el-option>
             </el-select>
           </el-form-item>
 
-          <el-form-item
-            label="鏈嶅姟鍦板潃"
-            v-show="insertData.isLayer == 1"
-          >
+          <el-form-item label="鏈嶅姟鍦板潃" v-show="insertData.isLayer == 1">
             <el-input
               v-model="insertData.serviceUrl"
               placeholder="璇疯緭鍏ユ湇鍔″湴鍧�"
@@ -329,111 +211,41 @@
           </el-form-item>
           <el-form-item>
             <div class="btnstyle editBtn">
-              <el-button
-                type="primary"
-                size="small"
-                @click="added()"
-              >纭畾</el-button>
-              <el-button
-                class="delbtn"
-                type="info"
-                size="small"
-                @click="submitCancel()"
-              >鍙栨秷</el-button>
+              <el-button type="primary" size="small" @click="added()">纭畾</el-button>
+              <el-button class="delbtn" type="info" size="small" @click="submitCancel()">鍙栨秷</el-button>
             </div>
           </el-form-item>
         </el-form>
       </div>
     </el-dialog>
-    <el-dialog
-      v-model="dialogService"
-      width="50%"
-      :show-close="false"
-    >
+    <el-dialog v-model="dialogService" width="50%" :show-close="false">
       <div style="width: 100%; max-height: 63vh; overflow-y: auto">
-        <div
-          style="display: flex; justify-content: space-between"
-          class="tableForm"
-        >
+        <div style="display: flex; justify-content: space-between" class="tableForm">
           <div>
-            <el-input
-              size="small"
-              v-model="listData.name"
-            >
+            <el-input size="small" v-model="listData.name">
               <template #suffix>
-                <el-icon
-                  class="el-input__icon el-icon-search"
-                  @click="setServiceQuery"
-                >
+                <el-icon class="el-input__icon el-icon-search" @click="setServiceQuery">
                   <search />
                 </el-icon>
               </template>
             </el-input>
           </div>
           <div class="btnstyle">
-            <el-button
-              type="info"
-              size="small"
-              @click="setServiceRest"
-            >
-              閲嶇疆
-            </el-button>
+            <el-button type="info" size="small" @click="setServiceRest">閲嶇疆</el-button>
 
-            <el-button
-              type="primary"
-              size="small"
-              @click="setServiceConfirm"
-            >
-              纭
-            </el-button>
-            <el-button
-              type="info"
-              size="small"
-              @click="setServiceCanel"
-              class="delbtn"
-            >
-              鍙栨秷
-            </el-button>
+            <el-button type="primary" size="small" @click="setServiceConfirm">纭</el-button>
+            <el-button type="info" size="small" @click="setServiceCanel" class="delbtn">鍙栨秷</el-button>
           </div>
         </div>
-        <el-table
-          ref="multipleTable"
-          :data="tableData"
-          @select="selectChange"
-        >
-          <el-table-column
-            type="selection"
-            width="55"
-          > </el-table-column>
-          <el-table-column
-            align="center"
-            type="index"
-            label="搴忓彿"
-            width="70px"
-          />
-          <el-table-column
-            align="center"
-            prop="cnName"
-            label="璧勬簮鍚嶇О"
-          />
+        <el-table ref="multipleTable" :data="tableData" @select="selectChange">
+          <el-table-column type="selection" width="55"></el-table-column>
+          <el-table-column align="center" type="index" label="搴忓彿" width="70px" />
+          <el-table-column align="center" prop="cnName" label="璧勬簮鍚嶇О" />
 
-          <el-table-column
-            align="center"
-            prop="category"
-            label="鏈嶅姟绫诲瀷"
-            :formatter="setResCategory"
-          />
-          <el-table-column
-            align="center"
-            prop="type"
-            label="鏁版嵁绫诲瀷"
-            :formatter="setResType"
-          />
+          <el-table-column align="center" prop="category" label="鏈嶅姟绫诲瀷" :formatter="setResCategory" />
+          <el-table-column align="center" prop="type" label="鏁版嵁绫诲瀷" :formatter="setResType" />
         </el-table>
-        <div
-          class="pagination_box"
-          style="margin-top: 15px"
-        >
+        <div class="pagination_box" style="margin-top: 15px">
           <el-pagination
             @size-change="handleSizeChange"
             @current-change="handleCurrentChange"
@@ -442,8 +254,7 @@
             :page-size="listData.pageSize"
             layout="total, sizes, prev, pager, next, jumper"
             :total="listData.count"
-          >
-          </el-pagination>
+          ></el-pagination>
         </div>
       </div>
     </el-dialog>
@@ -466,7 +277,7 @@
 import { res_selectByPageAndCount } from "@/api/api";
 import { Search } from "@element-plus/icons-vue";
 const stretchValue = ref("");
-const emits = defineEmits(["SETstate", "addlayer", "delLayer"]);
+const emits = defineEmits(["SETstate", "addlayer", "delLayer","onSubmit"]);
 //defineProps 鏉ユ帴鏀剁粍浠剁殑浼犲��
 const defineProp = defineProps({
   layerTree: Array,
@@ -653,7 +464,8 @@
       multipleSelection.value.proxy.indexOf("{token}") > -1
     ) {
       serviceUrl =
-        BASE_URL + multipleSelection.value.proxy.replaceAll("{token}", token);
+        config.BASE_URL +
+        multipleSelection.value.proxy.replaceAll("{token}", token);
     } else {
       serviceUrl = multipleSelection.value.url;
     }
@@ -723,7 +535,9 @@
     formInline.value = res;
     formInline.value.isLayer = res.isLayer.toString();
 
-    formInline.value.status = res.status.toString();
+    if (formInline.value.status) {
+      formInline.value.status = res.status.toString();
+    }
   }
   dialogVisible.value = false;
   // this.formInline.isProject = res.isProject.toString();
@@ -793,9 +607,7 @@
   data: Tree,
   checked: boolean,
   indeterminate: boolean
-) => {
-  console.log(data, checked, indeterminate);
-};
+) => {};
 const onSubmit = () => {
   if (!checkedStaste) {
     return ElMessage.warning("璇峰厛鐐瑰嚮閫変腑鐩稿簲鍥惧眰");
@@ -807,10 +619,7 @@
   copyNode.previousSibling = { ...node.previousSibling };
   copyNode.nextSibling = { ...node.nextSibling };
   copyNode.parent = { ...node.parent };
-
-  // console.log(1111111111111, copyNode.previousSibling);
-  // console.log(2222222222222, copyNode.nextSibling);
-  // console.log(3333333333333, copyNode.parent);
+  emits("onSubmit",true);
   if (Object.keys(copyNode.previousSibling).length !== 0) {
     // 鍒犻櫎鍘熷厛鐨刵ode
     treeRef.value.remove(node.data);
@@ -834,6 +643,8 @@
 
     return;
   }
+ 
+
   ElMessage({
     message: "淇敼鎴愬姛",
     type: "success",
@@ -843,8 +654,6 @@
 
 // 澶勭悊鑺傜偣鐐瑰嚮浜嬩欢
 function handleNodeClick(data: any) {
-  console.log(data);
-
   if (data.id === selectedNodeId.value) {
     // 濡傛灉褰撳墠鑺傜偣宸茬粡閫変腑锛屽垯鍙栨秷閫変腑
     selectedNodeId.value = null;
@@ -857,7 +666,8 @@
     backUpData.value = JSON.stringify(data);
     // this.currentData = JSON.stringify(result)
     formInline.value = JSON.parse(backUpData.value);
-    formInline.value.isLayer = data.isLayer.toString();
+    ;
+    formInline.value.isLayer = parseInt(data.isLayer) == 0 ? "0" : "1";
     if (data.resid && data.resid > 0) {
       serviceActive.value = true;
     } else {
@@ -869,7 +679,7 @@
     } else if (serviceActive.value) {
       var token = getToken();
       if (data.url.indexOf("{token}") > -1) {
-        url = BASE_URL + data.url.replaceAll("{token}", token);
+        url = config.BASE_URL + data.url.replaceAll("{token}", token);
       } else {
         url = data.url;
       }
@@ -884,7 +694,7 @@
     id += Math.floor(Math.random() * 10);
   }
   var addObj = {
-    isLayer: insertData.value.isLayer.toString(),
+    isLayer: parseInt(insertData.value.isLayer),
     id: id,
     cnName: insertData.value.cnName,
     url: insertData.value.serviceUrl,
@@ -894,7 +704,6 @@
     tab: insertData.value.tab, //Geoserver 鍚嶇О锛�
     category: insertData.value.category, //鏈嶅姟绫诲埆 Geoserver , 1 GisServer 2 GeoServer 3鏁扮畝
   };
-
   if (addlocation == 1) {
     //鏂板鍚岀骇
     treeRef.value.insertAfter(addObj, treeRef.value.getNode(selectedObj.value));
@@ -937,6 +746,7 @@
 //绉诲姩
 const move = (type) => {
   // let node = treeRef.value.getCurrentNode();
+  
   let node = treeRef.value.getNode(selectedObj.value);
   let data = selectedObj.value;
   // 灏嗗彉鍔ㄤ箣鍓嶇殑node澶囦唤

--
Gitblit v1.9.3