From 1653112f53e17dbbd8a5b7230b096da8902b3337 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期五, 11 八月 2023 15:13:47 +0800
Subject: [PATCH] 图层管理修改

---
 src/api/api.js                                             |   18 +
 src/assets/lang/zh.js                                      |    8 
 src/views/AuthorizationManagement/roleResAuthorization.vue |   79 +++----
 src/assets/lang/en.js                                      |    6 
 src/views/datamanage/resourceManagement.vue                |   68 +++++-
 src/components/navMenu.vue                                 |    2 
 src/views/datamanage/dataUpdata.vue                        |    8 
 src/views/datamanage/layerManagement.vue                   |  389 +++++++++++++++++++++++++++++++++-----
 8 files changed, 459 insertions(+), 119 deletions(-)

diff --git a/src/api/api.js b/src/api/api.js
index 7045b15..c08b0b0 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -229,7 +229,10 @@
 export function res_update(params) {
   return request.post('/res/update', params);
 }
-
+//璧勬簮鍒楄〃-鍒嗛〉鏌ヨ骞惰繑鍥炶褰曟暟
+export function res_selectByPageAndCount(params) {
+  return request.get('/res/selectByPageAndCount', { params: params });
+}
 
 
 
@@ -248,7 +251,18 @@
 export function roleRes_deletes(params) {
   return request.get('/roleRes/deletes', { params: params });
 }
-
+//瑙掕壊璧勬簮-鍒犻櫎澶氭潯
+export function roleLayer_selectResByRole(params) {
+  return request.get('/roleLayer/selectResByRole', { params: params });
+}
+//瑙掕壊璧勬簮-鍒犻櫎澶氭潯
+export function roleLayer_inserts(params) {
+  return request.post('/roleLayer/inserts', params);
+}
+//瑙掕壊璧勬簮-鍒犻櫎澶氭潯
+export function roleLayer_deletes(params) {
+  return request.get('/roleLayer/deletes', { params: params });
+}
 
 //璧勬簮涓婁紶
 export function upload_res(params) {
diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js
index 60dde17..4ee7212 100644
--- a/src/assets/lang/en.js
+++ b/src/assets/lang/en.js
@@ -84,6 +84,7 @@
       layerType: 'Layer Type',
       serviceName: 'service name',
       serviceType: 'service type',
+      serviceResources: 'Service Resources',
       serviceAddress: 'Service Address',
       serviceParameters: 'Service parameters ',
       displayOrNot: 'Display or not',
@@ -92,6 +93,9 @@
       istrue: 'true',
       isfalse: 'false',
       isEnable: 'Enable',
+      enableProxy: 'Enable proxy address',
+      disable: 'Disable',
+      enableOriginalAddress: 'Enable original address',
       isDisuse: 'Disuse',
       isStop: 'Stop',
       testAddress: 'Test Address',
@@ -311,6 +315,7 @@
     UserRoleAuthorization: 'User Role Authorization',
     MenuRoleAuthorization: 'Menu Permission Authorization',
     RoleResAuthorization: 'Role Resource Authorization',
+    RoleLayerAuthorization: 'Role Layer Authorization',
     RoleMenuAuthorization: 'Role Menu Authorization',
     UserRoleAuthorizationObj: {
       RoleTable: 'Role Table',
@@ -323,6 +328,7 @@
       PermissionTable: 'Permission table',
       server: 'Service Address',
       ResTable: 'Resource table',
+      layerTable: 'Layer Table'
     },
     ELM: {
       username: 'username',
diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js
index 653c60f..019d92b 100644
--- a/src/assets/lang/zh.js
+++ b/src/assets/lang/zh.js
@@ -85,6 +85,7 @@
       layerType: '鍥惧眰绫诲瀷',
       serviceName: '鏈嶅姟鍚嶇О',
       serviceType: '鏈嶅姟绫诲瀷',
+      serviceResources: '鏈嶅姟璧勬簮',
       serviceAddress: '鏈嶅姟鍦板潃',
       serviceParameters: '鏈嶅姟鍙傛暟',
       displayOrNot: '鏄惁鏄剧ず',
@@ -93,6 +94,9 @@
       istrue: '鏄�',
       isfalse: '鍚�',
       isEnable: '鍚敤',
+      enableProxy: '鍚敤浠g悊鍦板潃',
+      disable: '绂佺敤',
+      enableOriginalAddress: '鍚敤鍘熷鍦板潃',
       isDisuse: '搴熷純',
       isStop: '鍋滄',
       testAddress: '娴嬭瘯鍦板潃',
@@ -307,6 +311,7 @@
     UserRoleAuthorization: '鐢ㄦ埛瑙掕壊鎺堟潈',
     MenuRoleAuthorization: '鑿滃崟鏉冮檺鎺堟潈',
     RoleResAuthorization: '瑙掕壊璧勬簮鎺堟潈',
+    RoleLayerAuthorization: '瑙掕壊鍥惧眰鎺堟潈',
     RoleMenuAuthorization: '瑙掕壊鑿滃崟鎺堟潈',
     UserRoleAuthorizationObj: {
       RoleTable: '瑙掕壊琛�',
@@ -319,6 +324,9 @@
       menuTable: '鑿滃崟琛�',
       server: '鏈嶅姟鍦板潃',
       ResTable: '璧勬簮琛�',
+
+
+      layerTable: '鍥惧眰琛�'
     },
     ELM: {
       username: '鐢ㄦ埛鍚嶇О',
diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue
index 2c85a70..7ce050d 100644
--- a/src/components/navMenu.vue
+++ b/src/components/navMenu.vue
@@ -358,7 +358,7 @@
             })
               .filter((value) => {
                 if (value.pid == res[i].id) {
-                  console.log(JSON.stringify(value))
+                  // console.log(JSON.stringify(value))
                 }
                 return value.pid == res[i].id;
               });
diff --git a/src/views/AuthorizationManagement/roleResAuthorization.vue b/src/views/AuthorizationManagement/roleResAuthorization.vue
index 447ceb2..1ec95b5 100644
--- a/src/views/AuthorizationManagement/roleResAuthorization.vue
+++ b/src/views/AuthorizationManagement/roleResAuthorization.vue
@@ -46,6 +46,7 @@
           <el-table-column
             align="center"
             width="55"
+            row-key="id"
           >
             <template slot-scope="scope">
               <el-radio
@@ -124,11 +125,12 @@
         </div>
         <el-divider class="divider" />
         <el-tree
-          ref="tree"
-          :props="defaultLayerrops"
-          node-key="resid"
-          :data="layerData"
+          :data="Layertree"
           show-checkbox
+          node-key="layerid"
+          ref="layerFrom"
+          :props="defaultLayerrops"
+          accordion
           :default-expanded-keys="[1]"
         >
         </el-tree>
@@ -204,14 +206,12 @@
 import {
   queryDepTree,
   select_Role_ByPageAndCount,
-  roleReselectByPageAndCount,
-  roleResDeletes,
-  resSelectCountForRole,
+
   roleResInserts,
-  res_selectAll,
-  roleRes_selectResByRole,
-  roleRes_inserts,
-  roleRes_deletes
+
+  roleLayer_selectResByRole,
+  roleLayer_inserts,
+  roleLayer_deletes
 } from '../../api/api';
 export default {
   //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
@@ -266,7 +266,8 @@
       roleid: null,
       addmultipleSelection: [],
       layerData: [],
-      layeroption: []
+      layeroption: [],
+      Layertree: []
 
     };
   },
@@ -297,7 +298,7 @@
         .catch(() => { });
     },
     async adduser() {
-      var val = this.$refs.tree.getCheckedNodes(false, true); // 鍒╃敤杩欎釜鏂规硶灏卞彲浠ヨ幏鍙栧埌瀛愯妭鐐�+鐖惰妭鐐�)
+      var val = this.$refs.layerFrom.getCheckedNodes(false, true); // 鍒╃敤杩欎釜鏂规硶灏卞彲浠ヨ幏鍙栧埌瀛愯妭鐐�+鐖惰妭鐐�)
 
       var std = [];
       for (var i in val) {
@@ -309,7 +310,9 @@
       if (std.length == 0) {
         return
       }
-      const data = await roleRes_inserts(std)
+
+      const data = await roleLayer_inserts(std);
+
       if (data.code != 200) {
         this.$message.error('鎺堟潈澶辫触');
       } else {
@@ -324,7 +327,7 @@
     },
     //鐢ㄦ埛鍒犻櫎
     async deletesUser() {
-      var val = this.$refs.tree.getCheckedNodes(false, true); // 鍒╃敤杩欎釜鏂规硶灏卞彲浠ヨ幏鍙栧埌瀛愯妭鐐�+鐖惰妭鐐�)
+      var val = this.$refs.layerFrom.getCheckedNodes(false, true); // 鍒╃敤杩欎釜鏂规硶灏卞彲浠ヨ幏鍙栧埌瀛愯妭鐐�+鐖惰妭鐐�)
       var std = [];
       for (var i in val) {
         if (val[i].id > 0) {
@@ -341,7 +344,7 @@
       if (arr.length == 0) {
         return
       }
-      const data = await roleRes_deletes({ ids: arr.toString() });
+      const data = await roleLayer_deletes({ ids: arr.toString() });
       if (data.code != 200) {
         this.$message.error('鎺堟潈澶辫触');
       } else {
@@ -422,27 +425,22 @@
     },
     //鑾峰彇璧勬簮鍒楄〃
     async getlayerTree() {
-      this.layerData = []
-      const data = await res_selectAll();
-      if (data.code != 200) {
-        return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触");
-      }
-      var val = this.setTreeData(data.result);
-      val.sort(function (a, b) {
-        return a.sort - b.sort
-      })
-      this.layerData = val
+      // this.layerData = []
+      // const data = await res_selectAll();
+      // if (data.code != 200) {
+      //   return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触");
+      // }
+      // var val = this.setTreeData(data.result);
+      // val.sort(function (a, b) {
+      //   return a.sort - b.sort
+      // })
+      // this.layerData = val
     },
     setTreeData(source) {
       let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕
       return cloneData.filter((father) => {
         // 寰幆鎵�鏈夐」
-        let branchArr = cloneData.filter((child) => father.resid == child.pid);
-        if (branchArr.length > 0) {
-          branchArr.sort(function (a, b) {
-            return a.sort - b.sort
-          })
-        }
+        let branchArr = cloneData.filter((child) => father.layerid == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁
         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锛�
         // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋�
@@ -512,26 +510,25 @@
     },
     // 鐢ㄦ埛琛ㄨ姹�
     async getuserList() {
-      this.layerData = [];
+      this.Layertree = [];
       this.layeroption = [];
 
-      const data = await roleRes_selectResByRole({ roleid: this.userlistData.roleid });
+      const data = await roleLayer_selectResByRole({ roleid: this.userlistData.roleid });
       if (data.code !== 200) {
         return this.$message.error('鏍规嵁ID鏌ヨ璧勬簮澶辫触');
       }
       var std = [];
       this.layeroption = data.result;
       for (var i in data.result) {
-        if (data.result[i].id > 0 && data.result[i].type != 1) {
-          std.push(data.result[i].resid)
+        if (data.result[i].id > 0 && data.result[i].isLayer != 0) {
+          std.push(data.result[i].layerid)
         }
       }
       var val = this.setTreeData(data.result);
-      val.sort(function (a, b) {
-        return a.sort - b.sort
-      })
-      this.layerData = val
-      this.$refs.tree.setCheckedKeys(std);
+
+
+      this.Layertree = val
+      this.$refs.layerFrom.setCheckedKeys(std);
     },
     // 瑙掕壊琛ㄨ姹�
     async getRole() {
diff --git a/src/views/datamanage/dataUpdata.vue b/src/views/datamanage/dataUpdata.vue
index 03a9f06..a967df8 100644
--- a/src/views/datamanage/dataUpdata.vue
+++ b/src/views/datamanage/dataUpdata.vue
@@ -178,6 +178,7 @@
             </el-form-item> -->
             <!-- 鍧愭爣绯� -->
             <el-form-item
+              v-show="false"
               :label="$t('dataManage.dataUpObj.coordinateSystem')"
               style="margin-right: 3%"
               size="small"
@@ -2703,8 +2704,11 @@
         return;
       }
       this.entryOption = data.result;
-      this.formInline.entryId = this.entryOption[0].name;
-      this.formInline.dirid = this.entryOption[0].id;
+      if (this.entryOption.length > 0) {
+        this.formInline.entryId = this.entryOption[0].name;
+        this.formInline.dirid = this.entryOption[0].id;
+      }
+
 
       this.getselectVerByDirid();
     },
diff --git a/src/views/datamanage/layerManagement.vue b/src/views/datamanage/layerManagement.vue
index 35d78a8..5d1dedc 100644
--- a/src/views/datamanage/layerManagement.vue
+++ b/src/views/datamanage/layerManagement.vue
@@ -105,22 +105,7 @@
             class="demo-form-inline"
             label-width="150px"
           >
-            <!-- 鑿滃崟鍚嶇О -->
-            <el-form-item :label="$t('dataManage.layerObj.layerName')">
-              <el-input
-                :placeholder="$t('dataManage.layerObj.prompt1')"
-                style="width: 60%;"
-                v-model="formInline.cnName"
-              ></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"
-              ></el-input>
-            </el-form-item>
+
             <!-- 鑿滃崟绫诲瀷 -->
             <el-form-item :label="$t('dataManage.layerObj.layerType')">
               <el-select
@@ -138,6 +123,44 @@
                 ></el-option>
               </el-select>
             </el-form-item>
+            <!-- 鏈嶅姟璧勬簮-->
+            <el-form-item
+              v-show="formInline.isLayer == 1"
+              :label="$t('dataManage.layerObj.serviceResources')"
+            >
+              <el-button
+                size="small"
+                class="serviceButton"
+                @click="setServiceChange('0')"
+                :class="{serviceActive: formInline.service === '0'}"
+              >{{$t('dataManage.layerObj.isfalse')}}</el-button>
+              <el-button
+                size="small"
+                class="serviceButton"
+                @click="setServiceChange('1')"
+                :class="{serviceActive: formInline.service === '1'}"
+              >{{$t('dataManage.layerObj.istrue')}}</el-button>
+
+            </el-form-item>
+            <!-- 鑿滃崟鍚嶇О -->
+            <el-form-item :label="$t('dataManage.layerObj.layerName')">
+              <el-input
+                :placeholder="$t('dataManage.layerObj.prompt1')"
+                style="width: 60%;"
+                v-model="formInline.cnName"
+                :disabled="formInline.service =='1'"
+              ></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="formInline.service =='1'"
+              ></el-input>
+            </el-form-item>
+
             <!-- 鏁版嵁绫诲瀷 -->
             <el-form-item
               v-show="formInline.isLayer == 1"
@@ -147,6 +170,7 @@
                 style="width: 60%;"
                 v-model="formInline.type"
                 :placeholder="$t('dataManage.layerObj.prompt3')"
+                :disabled="formInline.service =='1'"
               >
                 <el-option
                   v-for="item in dataType"
@@ -166,19 +190,9 @@
                 :placeholder="$t('dataManage.layerObj.prompt4')"
                 style="width: 60%;"
                 v-model="formInline.url"
+                :disabled="formInline.service =='1'"
               ></el-input>
             </el-form-item>
-            <!-- 鑻辨枃琛ㄥ悕 -->
-            <!-- <el-form-item
-              v-show="formInline.isLayer == 1 && formInline.type =='WMS'"
-              :label="$t('dataManage.layerObj.enTableName')"
-            >
-              <el-input
-                :placeholder="$t('dataManage.layerObj.prompt6')"
-                style="width: 60%;"
-                v-model="formInline.enName"
-              ></el-input>
-            </el-form-item> -->
 
             <!-- 鏄惁鏄剧ず -->
             <el-form-item
@@ -236,22 +250,6 @@
           class="demo-form-inline"
           label-width="150px"
         >
-          <!-- 鑿滃崟鍚嶇О -->
-          <el-form-item :label="$t('dataManage.layerObj.layerName')">
-            <el-input
-              :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
-              :placeholder="$t('dataManage.layerObj.prompt6')"
-              style="width: 60%;"
-              v-model="insertData.enName"
-            ></el-input>
-          </el-form-item>
           <!-- 鑿滃崟绫诲瀷 -->
           <el-form-item :label="$t('dataManage.layerObj.layerType')">
             <el-select
@@ -269,12 +267,50 @@
               ></el-option>
             </el-select>
           </el-form-item>
+          <el-form-item
+            v-show="insertData.isLayer == 1"
+            :label="$t('dataManage.layerObj.serviceResources')"
+          >
+            <el-button
+              size="small"
+              class="serviceButton"
+              @click="setServiceChange('0')"
+              :class="{serviceActive: insertData.service === '0'}"
+            >{{$t('dataManage.layerObj.isfalse')}}</el-button>
+            <el-button
+              size="small"
+              class="serviceButton"
+              @click="setServiceChange('1')"
+              :class="{serviceActive: insertData.service === '1'}"
+            >{{$t('dataManage.layerObj.istrue')}}</el-button>
+
+          </el-form-item>
+          <!-- 鑿滃崟鍚嶇О -->
+          <el-form-item :label="$t('dataManage.layerObj.layerName')">
+            <el-input
+              :disabled="insertData.service =='1'"
+              :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="insertData.service =='1'"
+              :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.serviceType')"
           >
             <el-select
+              :disabled="insertData.service =='1'"
               style="width: 60%;"
               v-model="insertData.type"
               :placeholder="$t('dataManage.layerObj.prompt3')"
@@ -294,26 +330,17 @@
             :label="$t('dataManage.layerObj.serviceAddress')"
           >
             <el-input
+              :disabled="insertData.service =='1'"
               :placeholder="$t('dataManage.layerObj.prompt4')"
               style="width: 60%;"
               v-model="insertData.url"
             ></el-input>
           </el-form-item>
-          <!-- 鑻辨枃琛ㄥ悕 -->
-          <!-- <el-form-item :label="$t('dataManage.layerObj.enTableName')">
-            <el-input
-              :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.displayOrNot')"
           >
-
             <el-radio
               v-model="insertData.status"
               label="0"
@@ -341,10 +368,99 @@
             <el-button
               type="info"
               size="small"
+              @click="submitCancel( )"
             >{{$t('common.cancel')}}</el-button>
           </el-form-item>
 
         </el-form>
+      </div>
+    </el-dialog>
+    <el-dialog
+      :visible.sync="dialogService"
+      width="50%"
+      :show-close="false"
+    >
+      <div style="width: 100%;max-height: 63vh;overflow-y: auto; ">
+        <div style="  display: flex; justify-content: space-between;">
+          <div> <el-input
+              size="small"
+              v-model="listData.name"
+            > <i
+                slot="suffix"
+                class="el-input__icon el-icon-search"
+                @click="setServiceQuery"
+              ></i></el-input></div>
+          <div>
+            <el-button
+              type="info"
+              size="small"
+              @click="setServiceRest"
+            >{{$t('common.reset')}}</el-button>
+
+            <el-button
+              type="primary"
+              size="small"
+              @click="setServiceConfirm"
+            >{{$t('common.confirm')}}</el-button>
+            <el-button
+              type="info"
+              size="small"
+              @click="setServiceCanel"
+            >{{$t('common.cancel')}}</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="$t('common.index')"
+            width="70px"
+          />
+          <el-table-column
+            align="center"
+            prop="cnName"
+            :label="$t('dataManage.layerObj.resourceName')"
+          />
+
+          <el-table-column
+            align="center"
+            prop="category"
+            :label="$t('dataManage.layerObj.serviceType')"
+            :formatter="setResCategory"
+          />
+          <el-table-column
+            align="center"
+            prop="type"
+            :label="$t('dataManage.layerObj.dataType')"
+            :formatter="setResType"
+          />
+        </el-table>
+        <div
+          class="pagination_box"
+          style="margin-top: 15px"
+        >
+          <el-pagination
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="listData.pageIndex"
+            :page-sizes="[10, 50,100,200]"
+            :page-size="listData.pageSize"
+            layout="total, sizes, prev, pager, next, jumper"
+            :total="listData.count"
+          >
+          </el-pagination>
+        </div>
+
       </div>
     </el-dialog>
   </div>
@@ -357,7 +473,8 @@
   layer_update,
   layer_updates,
   layer_insert,
-  layer_delete
+  layer_delete,
+  res_selectByPageAndCount,
 } from "../../api/api";
 import $ from 'jquery'
 import { getToken } from '../../utils/auth';
@@ -370,7 +487,6 @@
     MyBread,
   },
   data() {
-
     return {
       filterText: null,
       formInline: {
@@ -386,6 +502,7 @@
         isLayer: null,
         category: null,
         status: null,
+        service: '0'
       },
       serveType: null,
       dataType: null,
@@ -408,6 +525,15 @@
       newNode: null,
       newData: [],
       oriData: [],
+      dialogService: false,
+      listData: {
+        pageIndex: 1,
+        pageSize: 10,
+        count: 0,
+        name: ''
+      },
+      tableData: [],
+      multipleSelection: [],
     };
   },
   watch: {
@@ -416,6 +542,139 @@
     },
   },
   methods: {
+    setServiceConfirm() {
+      if (this.multipleSelection.length <= 0) {
+        return this.$message("鏈�夋嫨璧勬簮鏁版嵁");
+      }
+
+      var url;
+      if (this.multipleSelection.status == 1) {
+        url = this.multipleSelection.url;
+      } else if (this.multipleSelection.status == 2) {
+        var token = getToken()
+        url = BASE_URL + this.multipleSelection.proxy.replaceAll('{token}', token);
+      }
+
+      if (this.dialogVisible) {
+        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.url = url;
+        this.insertData.service = '1'
+      } 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.url = url;
+        this.formInline.service = '1'
+      }
+
+
+
+      this.dialogService = false
+
+    },
+    setServiceRest() {
+      this.listData = {
+        pageIndex: 1,
+        pageSize: 10,
+        count: 0,
+        name: ''
+      }
+      this.getServiceData();
+    },
+    setServiceQuery() {
+      this.listData.pageIndex = 1;
+      this.listData.pageSize = 10;
+      this.listData.count = 0;
+      this.getServiceData();
+    },
+    setServiceCanel() {
+      this.dialogService = false;
+      this.multipleSelection = [];
+      this.tableData == [];
+      this.listData = {
+        pageIndex: 1,
+        pageSize: 10,
+        count: 0,
+        name: ''
+      }
+    },
+    selectChange(selection, row) {
+      this.multipleSelection = row
+      if (selection.length > 1) {
+        let del_row = selection.shift()
+        this.$refs.multipleTable.toggleRowSelection(del_row, false)
+      }
+    },
+    setResType(row, column) {
+      switch (row.type) {
+        case 0:
+          return "URL"
+          break;
+        case 1:
+          return "TMS"
+          break;
+        case 2:
+          return "WMTS"
+          break;
+        case 3:
+          return "WMS"
+          break;
+        case 4:
+          return "WFS"
+          break;
+        case 5:
+          return "Tileset"
+          break;
+        default:
+          return ""
+          break;
+      }
+    },
+    setResCategory(row, column) {
+      switch (row.category) {
+        case 0:
+          return "鍏朵粬"
+          break;
+        case 1:
+          return "GisServer"
+          break;
+        case 2:
+          return "GeoServer"
+          break;
+        case 3:
+          return "鏁扮畝"
+          break;
+        default:
+          return ""
+          break;
+      }
+    },
+    handleSizeChange(val) {
+      this.listData.pageSize = val;
+      this.getServiceData();
+    },
+    handleCurrentChange(val) {
+      this.listData.pageIndex = val;
+      this.getServiceData();
+    },
+    setServiceChange(res) {
+      if (res == '1') {
+        this.setServiceRest()
+      }
+    },
+    async getServiceData() {
+      const data = await res_selectByPageAndCount(this.listData);
+      if (data.code != 200) {
+        return this.$message.error("璧勬簮鏁版嵁鑾峰彇澶辫触");
+      }
+      this.tableData = data.result;
+      this.listData.count = data.count;
+      this.dialogService = true
+    },
     //鍚戜笂鍚戜笅绉诲姩
     setEditNode(res) {
       let node = this.$refs.tree.getCurrentNode();
@@ -516,6 +775,10 @@
 
       this.getLayerTree();
     },
+    submitCancel() {
+      this.dialogVisible = false;
+      this.insertStart();
+    },
     async submitForm() {
       var val = this.insertData;
       val.status = parseInt(val.status);
@@ -579,6 +842,8 @@
         isLayer: null,
         category: null,
         status: null,
+        service: '0',
+        status: '1'
       }
     },
     //淇敼鏁版嵁
@@ -637,6 +902,11 @@
       this.formInline = result;
       this.formInline.isLayer = res.isLayer.toString();
       this.formInline.status = result.status.toString();
+      if (res.resid && res.resid > 0) {
+        this.formInline.service = '1'
+      } else {
+        this.formInline.service = '0'
+      }
       // this.formInline.isProject = result.isProject.toString();
     },
     //鍥惧眰鍒楄〃鐐瑰嚮浜嬩欢
@@ -780,6 +1050,15 @@
     }
   }
 }
+.serviceButton {
+  background: transparent !important;
+  color: #dcdfe6;
+}
+.serviceActive {
+  background: transparent !important;
+  color: #46a6ff;
+  border: 1px solid #46a6ff;
+}
 /deep/ .el-input__suffix {
   top: 50%;
   transform: translateY(-50%);
diff --git a/src/views/datamanage/resourceManagement.vue b/src/views/datamanage/resourceManagement.vue
index b4c7c55..f3ed560 100644
--- a/src/views/datamanage/resourceManagement.vue
+++ b/src/views/datamanage/resourceManagement.vue
@@ -67,6 +67,7 @@
           border
           height="calc(100% - 10px)"
           @selection-change="handleSelectionChange"
+          @cell-dblclick="copyText"
         >
           <el-table-column
             type="selection"
@@ -81,15 +82,15 @@
           <el-table-column
             align="center"
             prop="cnName"
-            :label="$t('dataManage.layerObj.layerName')"
+            :label="$t('dataManage.layerObj.resourceName')"
             width="150"
           />
-          <el-table-column
+          <!-- <el-table-column
             align="center"
             prop="enName"
             :label="$t('dataManage.layerObj.englishName')"
             width="170"
-          />
+          /> -->
           <el-table-column
             align="center"
             prop="status"
@@ -140,6 +141,7 @@
             prop="proxy"
             :label="$t('dataManage.layerObj.proxyAddress')"
             width="300"
+            :formatter="formatProxy"
           />
           <el-table-column
             align="center"
@@ -149,7 +151,7 @@
           />
           <el-table-column
             align="center"
-            prop="createUser"
+            prop="createName"
             :label="$t('dataManage.vmobj.createonuser')"
             width="200"
           />
@@ -162,7 +164,7 @@
           />
           <el-table-column
             align="center"
-            prop="updateUser"
+            prop="updateName"
             :label="$t('dataManage.vmobj.updateonuser')"
             width="200"
           />
@@ -231,13 +233,13 @@
               class="insertWidth"
             ></el-input>
           </el-form-item>
-          <el-form-item :label="$t('dataManage.layerObj.englishName')">
+          <!-- <el-form-item :label="$t('dataManage.layerObj.englishName')">
             <el-input
               v-model="insertData.enName"
               :placeholder="$t('dataManage.layerObj.prompt14')"
               class="insertWidth"
             ></el-input>
-          </el-form-item>
+          </el-form-item> -->
           <el-form-item :label="$t('dataManage.layerObj.serviceType')">
             <el-select
               class="insertWidth"
@@ -302,11 +304,15 @@
               <el-radio
                 v-model="insertData.status"
                 label="0"
-              >{{$t('dataManage.layerObj.isStop')}}</el-radio>
+              >{{$t('dataManage.layerObj.disable')}}</el-radio>
               <el-radio
                 v-model="insertData.status"
                 label="1"
-              > {{$t('dataManage.layerObj.isEnable')}}</el-radio>
+              > {{$t('dataManage.layerObj.enableOriginalAddress')}}</el-radio>
+              <el-radio
+                v-model="insertData.status"
+                label="2"
+              > {{$t('dataManage.layerObj.enableProxy')}}</el-radio>
             </div>
           </el-form-item>
           <el-form-item :label="$t('dataManage.layerObj.descr')">
@@ -361,13 +367,13 @@
               class="insertWidth"
             ></el-input>
           </el-form-item>
-          <el-form-item :label="$t('dataManage.layerObj.englishName')">
+          <!-- <el-form-item :label="$t('dataManage.layerObj.englishName')">
             <el-input
               v-model="editData.enName"
               :placeholder="$t('dataManage.layerObj.prompt14')"
               class="insertWidth"
             ></el-input>
-          </el-form-item>
+          </el-form-item> -->
           <el-form-item :label="$t('dataManage.layerObj.serviceType')">
             <el-select
               class="insertWidth"
@@ -432,11 +438,15 @@
               <el-radio
                 v-model="editData.status"
                 label="0"
-              >{{$t('dataManage.layerObj.isStop')}}</el-radio>
+              >{{$t('dataManage.layerObj.disable')}}</el-radio>
               <el-radio
                 v-model="editData.status"
                 label="1"
-              > {{$t('dataManage.layerObj.isEnable')}}</el-radio>
+              > {{$t('dataManage.layerObj.enableOriginalAddress')}}</el-radio>
+              <el-radio
+                v-model="editData.status"
+                label="2"
+              > {{$t('dataManage.layerObj.enableProxy')}}</el-radio>
             </div>
           </el-form-item>
           <el-form-item :label="$t('dataManage.layerObj.descr')">
@@ -520,7 +530,9 @@
       multipleSelection: [],
       editData: {},
       copyData: null,
-      insertData: {},
+      insertData: {
+        status: "2"
+      },
       editDialog: false,
       insertDialog: false,
       dataType: [],
@@ -590,7 +602,9 @@
     },
     closeInsertDialog() {
       this.insertDialog = false;
-      this.insertData = {}
+      this.insertData = {
+        status: '2'
+      }
     },
     setInsertCannel() {
       var that = this;
@@ -640,6 +654,22 @@
       this.editData.status = this.editData.status.toString()
       this.editDialog = true
     },
+    formatProxy(row, column) {
+      var token = getToken()
+      var val = row.proxy.replaceAll('{token}', token)
+      return BASE_URL + val
+    },
+    copyText(row, column, cell, event) {
+      // 鍙屽嚮澶嶅埗
+      let save = function (e) {
+        e.clipboardData.setData('text/plain', event.target.innerText);
+        e.preventDefault();  //闃绘榛樿琛屼负
+      }
+      document.addEventListener('copy', save);//娣诲姞涓�涓猚opy浜嬩欢
+      document.execCommand("copy");//鎵цcopy鏂规硶
+      this.$message({ message: '澶嶅埗鎴愬姛', type: 'success' })//鎻愮ず
+    },
+
     //鏍煎紡鍖栧垪琛�
     formatData(row, column) {
       let data = row[column.property];
@@ -721,15 +751,16 @@
       }
     },
     setResStatus(row, column) {
+
       switch (row.status) {
         case 0:
-          return "鍋滅敤"
+          return "绂佺敤"
           break;
         case 1:
-          return "鍚敤"
+          return "鍚敤鍘熷鍦板潃"
           break;
         case 2:
-          return "鍚敤浠g悊"
+          return "鍚敤浠g悊鍦板潃"
           break;
         default:
           return ""
@@ -745,6 +776,7 @@
           type: "warning",
         });
       }
+
       this.tableData = data.result;
       this.listData.count = data.count;
     },

--
Gitblit v1.9.3