From ec86ce630c3bf6ef4abe5f52ecde21eeda03c5e7 Mon Sep 17 00:00:00 2001
From: WX <1377869194@qq.com>
Date: 星期二, 15 八月 2023 10:59:21 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.20.39:8989/r/LunarMidplane

---
 src/views/datamanage/layerManagement.vue |  835 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 528 insertions(+), 307 deletions(-)

diff --git a/src/views/datamanage/layerManagement.vue b/src/views/datamanage/layerManagement.vue
index cf304ad..9ddd70c 100644
--- a/src/views/datamanage/layerManagement.vue
+++ b/src/views/datamanage/layerManagement.vue
@@ -1,9 +1,9 @@
 <template>
   <div class="subpage_Box">
     <My-bread :list="[
-          `${$t('dataManage.dataManage')}`,
-          `${$t('dataManage.layerManage')}`,
-        ]"></My-bread>
+            `${$t('dataManage.dataManage')}`,
+            `${$t('dataManage.layerManage')}`,
+          ]"></My-bread>
     <el-divider />
     <div class="mainBox">
 
@@ -35,15 +35,15 @@
         <div
           class="inquire"
           style="
-            align-items: center;
-            display: flex;
-            justify-content: space-between;
-          "
+              align-items: center;
+              display: flex;
+              justify-content: space-between;
+            "
         >
           <el-breadcrumb separator="/">
             <el-breadcrumb-item :to="{ path: '/' }">{{
-              
-            }}</el-breadcrumb-item>
+                
+              }}</el-breadcrumb-item>
           </el-breadcrumb>
           <div style="margin-right: -5px">
             <div class="menuTop">
@@ -58,7 +58,7 @@
                   >{{ $t("shuJuGuanLi.butten.NewPeer") }}</el-button>
                 </el-form-item>
                 <!-- 瀛愮骇鑺傜偣娣诲姞 -->
-                <el-form-item v-show="menuStatus.insert && formInline.type == 1">
+                <el-form-item v-show="menuStatus.insert  &&  formInline.isLayer == 0">
                   <el-button
                     type="success"
                     size="small"
@@ -105,54 +105,74 @@
             class="demo-form-inline"
             label-width="150px"
           >
+
+            <!-- 鑿滃崟绫诲瀷 -->
+            <el-form-item :label="$t('dataManage.layerObj.layerType')">
+              <el-select
+                :placeholder="$t('dataManage.layerObj.prompt2')"
+                style="width: 60%;"
+                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="$t('dataManage.layerObj.serviceResources')"
+            >
+              <el-button
+                size="small"
+                class="serviceButton"
+                @click="setServiceChange('0')"
+                key="0"
+                :class="{serviceActive: !serviceActive }"
+              >{{$t('dataManage.layerObj.isfalse')}}</el-button>
+              <el-button
+                size="small"
+                class="serviceButton"
+                @click="setServiceChange('1')"
+                key="1"
+                :class="{serviceActive: serviceActive}"
+              >{{$t('dataManage.layerObj.istrue')}}</el-button>
+
+            </el-form-item>
             <!-- 鑿滃崟鍚嶇О -->
             <el-form-item :label="$t('dataManage.layerObj.layerName')">
               <el-input
-                style="width: 80%;"
-                v-model="formInline.cnName"
                 :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
-                style="width: 80%;"
-                v-model="formInline.enName"
                 :placeholder="$t('dataManage.layerObj.prompt6')"
+                style="width: 60%;"
+                v-model="formInline.enName"
+                :disabled="serviceActive"
               ></el-input>
             </el-form-item>
-            <!-- 鑿滃崟绫诲瀷 -->
-            <el-form-item :label="$t('dataManage.layerObj.layerType')">
-              <el-select
-                clearable
-                style="width: 80%;"
-                v-model="formInline.type"
-                :placeholder="$t('dataManage.layerObj.prompt2')"
-              >
-                <el-option
-                  label="鍥惧眰缁�"
-                  :value='1'
-                ></el-option>
-                <el-option
-                  label="鏅�氬浘灞�"
-                  :value='2'
-                ></el-option>
-                <el-option
-                  label="浠g悊鍥惧眰"
-                  :value='3'
-                ></el-option>
-              </el-select>
-            </el-form-item>
+
             <!-- 鏁版嵁绫诲瀷 -->
             <el-form-item
-              v-show="formInline.type ===  2 || formInline.type === 3 "
+              v-show="formInline.isLayer == 1"
               :label="$t('dataManage.layerObj.firm')"
             >
               <el-select
-                clearable
-                style="width: 80%;"
-                v-model="formInline.firm"
-                :placeholder="$t('dataManage.layerObj.prompt8')"
+                style="width: 60%;"
+                v-model="formInline.type"
+                :placeholder="$t('dataManage.layerObj.prompt3')"
+                :disabled="serviceActive"
               >
                 <el-option
                   v-for="item in dataType"
@@ -163,108 +183,41 @@
                 </el-option>
               </el-select>
             </el-form-item>
-            <!-- 鏈嶅姟绫诲瀷 -->
-            <el-form-item
-              v-show="formInline.type ===  2 || formInline.type === 3 "
-              :label="$t('dataManage.layerObj.serviceType')"
-            >
-              <el-select
-                clearable
-                style="width: 80%;"
-                v-model="formInline.category"
-                :placeholder="$t('dataManage.layerObj.prompt3')"
-              >
-                <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.type ===  2 || formInline.type === 3 "
+              v-show="formInline.isLayer == 1"
               :label="$t('dataManage.layerObj.serviceAddress')"
             >
               <el-input
                 :placeholder="$t('dataManage.layerObj.prompt4')"
-                style="width: 80%;"
-                v-model="formInline.url"
-              ></el-input>
-            </el-form-item>
-            <!-- 娴嬭瘯鍦板潃 -->
-            <el-form-item
-              v-show="formInline.type ===  2 || formInline.type === 3 "
-              :label="$t('dataManage.layerObj.testAddress')"
-            >
-              <el-input
-                :placeholder="$t('dataManage.layerObj.prompt9')"
-                style="width: 80%;"
-                v-model="formInline.test"
-              ></el-input>
-            </el-form-item>
-            <!-- 浠g悊鍦板潃 -->
-            <el-form-item
-              v-show="formInline.type ===  2 || formInline.type === 3 "
-              :label="$t('dataManage.layerObj.proxyAddress')"
-            >
-              <el-input
-                :disabled="!formInline.proxy"
-                :placeholder="$t('dataManage.layerObj.prompt11')"
-                style="width: 80%;"
-                :value="formInline.proxy"
-              ></el-input>
-            </el-form-item>
-            <!-- 鑻辨枃琛ㄥ悕 -->
-            <el-form-item
-              v-show="formInline.type ===  2 || formInline.type === 3 "
-              :label="$t('dataManage.layerObj.tableName')"
-            >
-              <el-input
-                :placeholder="$t('dataManage.layerObj.prompt12')"
-                style="width: 80%;"
-                v-model="formInline.tab"
+                style="width: 60%;"
+                v-model="formInline.serviceUrl"
+                :disabled="serviceActive"
               ></el-input>
             </el-form-item>
 
             <!-- 鏄惁鏄剧ず -->
             <el-form-item
-              v-show="formInline.type ===  2 || formInline.type === 3 "
-              :label="$t('dataManage.layerObj.status')"
+              v-show="formInline.isLayer == 1"
+              :label="$t('dataManage.layerObj.displayOrNot')"
             >
+
               <el-radio
                 v-model="formInline.status"
-                :label="0"
-              > {{$t('dataManage.layerObj.isStop')}}</el-radio>
+                label="0"
+              >{{$t('dataManage.layerObj.isStop')}}</el-radio>
               <el-radio
                 v-model="formInline.status"
-                :label="1"
-              >{{$t('dataManage.layerObj.isEnable')}}</el-radio>
-              <el-radio
-                v-model="formInline.status"
-                :label="-1"
-              >{{$t('dataManage.layerObj.isDisuse')}}</el-radio>
+                label="1"
+              > {{$t('dataManage.layerObj.isEnable')}}</el-radio>
             </el-form-item>
-            <!-- 鏄惁涓洪」鐩暟鎹� -->
-            <!-- <el-form-item :label="$t('dataManage.layerObj.isItProjectData')">
-            <el-radio
-              v-model="insertData.isProject"
-              label="0"
-            > {{$t('dataManage.layerObj.isfalse')}}</el-radio>
-            <el-radio
-              v-model="insertData.isProject"
-              label="1"
-            >{{$t('dataManage.layerObj.istrue')}}</el-radio>
-          </el-form-item> -->
+
             <!-- 鎻忚堪 -->
-            <el-form-item :label="$t('dataManage.layerObj.descr')">
+            <el-form-item :label="$t('common.bak')">
               <el-input
-                :placeholder="$t('dataManage.layerObj.prompt10')"
-                style="width: 80%;"
-                v-model="formInline.descr"
-                type="textarea"
+                style="width: 60%;"
+                v-model="formInline.bak"
+                :placeholder="$t('dataManage.layerObj.prompt7')"
               ></el-input>
             </el-form-item>
             <el-form-item v-show="menuStatus.update">
@@ -289,59 +242,94 @@
       width="50%"
     >
       <div style="width: 100%;max-height: 63vh;overflow-y: auto; ">
+        <!-- <el-form
+          :model="insertData"
+          class="demo-form-inline"
+          label-width="150px"
+        > -->
         <el-form
           :model="insertData"
           class="demo-form-inline"
           label-width="150px"
         >
+          <!-- 鑿滃崟绫诲瀷 -->
+          <el-form-item :label="$t('dataManage.layerObj.layerType')">
+            <el-select
+              :placeholder="$t('dataManage.layerObj.prompt2')"
+              style="width: 60%;"
+              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="$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-button
+              size="small"
+              class="serviceButton"
+              @click="setInsertServiceChange('0')"
+              key="0"
+              :class="{serviceActive: !insertServiceActive }"
+            >{{$t('dataManage.layerObj.isfalse')}}</el-button>
+            <el-button
+              size="small"
+              class="serviceButton"
+              @click="setInsertServiceChange('1')"
+              key="1"
+              :class="{serviceActive: insertServiceActive}"
+            >{{$t('dataManage.layerObj.istrue')}}</el-button>
+
+          </el-form-item>
           <!-- 鑿滃崟鍚嶇О -->
           <el-form-item :label="$t('dataManage.layerObj.layerName')">
             <el-input
-              style="width: 80%;"
-              v-model="insertData.cnName"
+              :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
-              style="width: 80%;"
-              v-model="insertData.enName"
+              :disabled="insertServiceActive"
               :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
-              clearable
-              style="width: 80%;"
-              v-model="insertData.type"
-              :placeholder="$t('dataManage.layerObj.prompt2')"
-            >
-              <el-option
-                label="鍥惧眰缁�"
-                :value='1'
-              ></el-option>
-              <el-option
-                label="鏅�氬浘灞�"
-                :value='2'
-              ></el-option>
-              <el-option
-                label="浠g悊鍥惧眰"
-                :value='3'
-              ></el-option>
-            </el-select>
-          </el-form-item>
+
           <!-- 鏁版嵁绫诲瀷 -->
           <el-form-item
-            v-show="insertData.type === 2 || insertData.type === 3"
+            v-show="insertData.isLayer == 1"
             :label="$t('dataManage.layerObj.firm')"
           >
             <el-select
-              clearable
-              style="width: 80%;"
-              v-model="insertData.firm"
-              :placeholder="$t('dataManage.layerObj.prompt8')"
+              :disabled="insertServiceActive"
+              style="width: 60%;"
+              v-model="insertData.type"
+              :placeholder="$t('dataManage.layerObj.prompt3')"
             >
               <el-option
                 v-for="item in dataType"
@@ -352,95 +340,39 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <!-- 鏈嶅姟绫诲瀷 -->
-          <el-form-item
-            v-show="insertData.type === 2 || insertData.type === 3"
-            :label="$t('dataManage.layerObj.serviceType')"
-          >
-            <el-select
-              clearable
-              style="width: 80%;"
-              v-model="insertData.category"
-              :placeholder="$t('dataManage.layerObj.prompt3')"
-            >
-              <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.type === 2 || insertData.type === 3"
+            v-show="insertData.isLayer == 1"
             :label="$t('dataManage.layerObj.serviceAddress')"
           >
             <el-input
+              :disabled="insertServiceActive"
               :placeholder="$t('dataManage.layerObj.prompt4')"
-              style="width: 80%;"
-              v-model="insertData.url"
+              style="width: 60%;"
+              v-model="insertData.serviceUrl"
             ></el-input>
           </el-form-item>
-          <el-form-item
-            v-show="insertData.type === 2 || insertData.type === 3"
-            :label="$t('dataManage.layerObj.testAddress')"
-          >
-            <el-input
-              :placeholder="$t('dataManage.layerObj.prompt9')"
-              style="width: 80%;"
-              v-model="insertData.test"
-            ></el-input>
-          </el-form-item>
-          <!-- 鑻辨枃琛ㄥ悕 -->
-          <el-form-item
-            v-show="insertData.type ===  2 || insertData.type === 3 "
-            :label="$t('dataManage.layerObj.tableName')"
-          >
-            <el-input
-              :placeholder="$t('dataManage.layerObj.prompt12')"
-              style="width: 80%;"
-              v-model="insertData.tab"
-            ></el-input>
-          </el-form-item>
-
           <!-- 鏄惁鏄剧ず -->
           <el-form-item
-            v-show="insertData.type === 2 || insertData.type === 3"
-            :label="$t('dataManage.layerObj.status')"
+            v-show="insertData.isLayer == 1"
+            :label="$t('dataManage.layerObj.displayOrNot')"
           >
             <el-radio
               v-model="insertData.status"
-              :label="0"
-            > {{$t('dataManage.layerObj.isStop')}}</el-radio>
-            <el-radio
-              v-model="insertData.status"
-              :label="1"
-            >{{$t('dataManage.layerObj.isEnable')}}</el-radio>
-            <el-radio
-              v-model="insertData.status"
-              :label="-1"
-            >{{$t('dataManage.layerObj.isDisuse')}}</el-radio>
-          </el-form-item>
-          <!-- 鏄惁涓洪」鐩暟鎹� -->
-          <!-- <el-form-item :label="$t('dataManage.layerObj.isItProjectData')">
-            <el-radio
-              v-model="insertData.isProject"
               label="0"
-            > {{$t('dataManage.layerObj.isfalse')}}</el-radio>
+            >{{$t('dataManage.layerObj.isStop')}}</el-radio>
             <el-radio
-              v-model="insertData.isProject"
+              v-model="insertData.status"
               label="1"
-            >{{$t('dataManage.layerObj.istrue')}}</el-radio>
-          </el-form-item> -->
+            > {{$t('dataManage.layerObj.isEnable')}}</el-radio>
+          </el-form-item>
+
           <!-- 鎻忚堪 -->
-          <el-form-item :label="$t('dataManage.layerObj.descr')">
+          <el-form-item :label="$t('common.bak')">
             <el-input
-              :placeholder="$t('dataManage.layerObj.prompt10')"
-              style="width: 80%;"
-              v-model="insertData.descr"
-              type="textarea"
+              style="width: 60%;"
+              v-model="insertData.bak"
+              :placeholder="$t('dataManage.layerObj.prompt7')"
             ></el-input>
           </el-form-item>
           <el-form-item v-show="menuStatus.update">
@@ -452,24 +384,113 @@
             <el-button
               type="info"
               size="small"
-              @click="cannelForm( )"
+              @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.firm')"
+            :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>
 </template>
-<script>
+  <script>
 import MyBread from "../../components/MyBread.vue";
 import {
   getPerms,
-  res_selectAll,
-  res_insert,
-  res_delete,
-  res_updates,
-  res_update,
+  layer_selectAll,
+  layer_update,
+  layer_updates,
+  layer_insert,
+  layer_delete,
+  res_selectByPageAndCount,
 } from "../../api/api";
 import $ from 'jquery'
 import { getToken } from '../../utils/auth';
@@ -482,19 +503,23 @@
     MyBread,
   },
   data() {
-
     return {
       filterText: null,
       formInline: {
         cnName: null,
         type: null,
         serveType: null,
-        serveType: null,
         url: null,
         dataType: null,
         bak: null,
-        isShow: '0',
-        isProject: '0'
+        isShow: '1',
+        isProject: '0',
+        enName: '',
+        isLayer: null,
+        category: null,
+        status: null,
+        service: '0',
+        serviceUrl: null
       },
       serveType: null,
       dataType: null,
@@ -517,6 +542,17 @@
       newNode: null,
       newData: [],
       oriData: [],
+      dialogService: false,
+      listData: {
+        pageIndex: 1,
+        pageSize: 10,
+        count: 0,
+        name: ''
+      },
+      tableData: [],
+      multipleSelection: [],
+      serviceActive: true,
+      insertServiceActive: false
     };
   },
   watch: {
@@ -525,6 +561,151 @@
     },
   },
   methods: {
+    setServiceConfirm() {
+      if (this.multipleSelection.length <= 0) {
+        return this.$message("鏈�夋嫨璧勬簮鏁版嵁");
+      }
+      var url, serviceUrl;
+      if (this.multipleSelection.status == 1) {
+        serviceUrl = this.multipleSelection.url;
+        url = this.multipleSelection.url;
+      } else if (this.multipleSelection.status == 2) {
+        var token = getToken()
+        serviceUrl = BASE_URL + this.multipleSelection.proxy.replaceAll('{token}', token);
+        url = this.multipleSelection.proxy;
+      }
+      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.serviceUrl = serviceUrl;
+        this.insertData.url = url;
+        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.url = url;
+        this.serviceActive = true
+        // this.formInline.status = '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()
+      } else {
+        this.serviceActive = false
+        this.formInline.resid = 0
+      }
+    },
+    setInsertServiceChange(res) {
+      if (res == '1') {
+        this.setServiceRest()
+      } else {
+        this.insertServiceActive = false
+        this.insertData.resid = 0
+      }
+    },
+    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();
@@ -553,18 +734,11 @@
                 arr.push(res);
               }
             });
-            var token = getToken();
-            if (arr[1].proxy && arr[1].proxy.indexOf(token) > -1) {
-              arr[1].proxy.replace(token, "{token}")
-            }
 
-            if (arr[0].proxy && arr[0].proxy.indexOf(token) > -1) {
-              arr[0].proxy.replace(token, "{token}")
-            }
+            const orderNum = arr[1].orderNum
+            arr[1].orderNum = arr[0].orderNum
+            arr[0].orderNum = orderNum
 
-            const orderNum = arr[1].sort
-            arr[1].sort = arr[0].sort
-            arr[0].sort = orderNum
             this.newData = arr;
             this.sendChange();
           } else {
@@ -591,18 +765,9 @@
                 arr.push(res);
               }
             });
-            var token = getToken();
-            if (arr[1].proxy && arr[1].proxy.indexOf(token) > -1) {
-              arr[1].proxy.replace(token, "{token}")
-            }
-
-            if (arr[0].proxy && arr[0].proxy.indexOf(token) > -1) {
-              arr[0].proxy.replace(token, "{token}")
-            }
-
-            const orderNum = arr[1].sort
-            arr[1].sort = arr[0].sort
-            arr[0].sort = orderNum
+            const orderNum = arr[1].orderNum
+            arr[1].orderNum = arr[0].orderNum
+            arr[0].orderNum = orderNum
             this.newData = arr;
             this.sendChange();
           } else {
@@ -615,7 +780,7 @@
       }
     },
     async sendChange() {
-      const data = await res_updates(this.newData)
+      const data = await layer_updates(this.newData)
       if (data.code != 200) {
         return this.$message.error("绉诲姩澶辫触");
       }
@@ -623,7 +788,7 @@
     },
 
     async setDeleteNode() {
-      const data = await res_delete({ id: this.formInline.id });
+      const data = await layer_delete({ id: this.formInline.id });
       if (data.code != 200) {
         return this.$message.error("鍒犻櫎澶辫触");
       }
@@ -641,11 +806,20 @@
 
       this.getLayerTree();
     },
+    submitCancel() {
+      this.dialogVisible = false;
+      this.insertStart();
+    },
     async submitForm() {
-      var val = this.insertData;
-      val.isShow = parseInt(val.isShow);
-      val.isProject = parseInt(val.isProject);
-      const data = await res_insert(val);
+      var val = JSON.parse(JSON.stringify(this.insertData));
+      val.status = parseInt(val.status);
+      var token = getToken();
+      if (val.serviceUrl.indexOf(BASE_URL) > -1) {
+        val.serviceUrl = val.serviceUrl.replaceAll(BASE_URL, '');
+        val.serviceUrl = val.serviceUrl.replaceAll(token, '{token}')
+      }
+      val.url = val.serviceUrl
+      const data = await layer_insert(val);
       if (data.code != 200) {
         return this.$message.error("鏂板澶辫触");
       }
@@ -677,18 +851,14 @@
       }
       this.insertData.pid = id;
       this.insertData.level = lever;
-      this.insertData.sort = orderNum;
+      this.insertData.orderNum = orderNum;
       this.dialogVisible = true;
-    },
-    cannelForm() {
-      this.dialogVisible = false;
-      this.insertData = {}
     },
     getMaxOrderNum(res) {
       var val = 1;
       for (var i in res) {
-        if (res[i].data.sort > val) {
-          val = res[i].data.sort;
+        if (res[i].data.orderNum > val) {
+          val = res[i].data.orderNum;
         }
       }
       val = val + 1;
@@ -696,18 +866,32 @@
     },
     insertStart() {
       this.insertData = {
-
+        cnName: null,
+        type: null,
+        serveType: null,
+        url: null,
+        dataType: null,
+        bak: null,
+        isShow: '1',
+        isProject: '0',
+        enName: '',
+        isLayer: null,
+        category: null,
+        status: null,
+        service: '0',
+        status: '1'
       }
     },
     //淇敼鏁版嵁
     async updateSend() {
       var val = JSON.parse(JSON.stringify(this.formInline));
-      var token = getToken()
-      if (val.proxy && val.proxy.indexOf(token) > -1) {
-        val.proxy = val.proxy.replace(token, "{token}");
+      var token = getToken();
+      if (val.serviceUrl.indexOf(BASE_URL) > -1) {
+        val.serviceUrl = val.serviceUrl.replaceAll(BASE_URL, '');
+        val.serviceUrl = val.serviceUrl.replaceAll(token, '{token}')
       }
-      debugger
-      const data = await res_update(val);
+      val.url = val.serviceUrl
+      const data = await layer_update(val);
       this.currentData = JSON.stringify(this.formInline)
       if (data.code != 200) {
         return this.$message.error("淇敼澶辫触");
@@ -721,27 +905,21 @@
     //淇敼閲嶇疆
     updateRest() {
       var res = JSON.parse(this.backUpData);
-      var token = getToken()
-      if (res.proxy && res.proxy.indexOf('{token}') > -1) {
-        res.proxy = res.proxy.replace("{token}", token);
-      }
       this.formInline = res;
-      // this.formInline.type = res.type.toString();
-      // this.formInline.isShow = res.isShow.toString();
+      this.formInline.isLayer = res.isLayer.toString();
+
+      this.formInline.status = res.status.toString();
       // this.formInline.isProject = res.isProject.toString();
     },
     //鑾峰彇鍥惧眰鍒楄〃
     async getLayerTree() {
-      const data = await res_selectAll();
+      const data = await layer_selectAll();
       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.sort - b.sort
-      })
       this.treeData = val;
       var cdata;
       if (this.currentData) {
@@ -756,22 +934,30 @@
       });
     },
     layerFormInline(res) {
-      var token = getToken();
+
       var val = JSON.parse(JSON.stringify(res))
+
       var data = this.$refs.tree.getNode(val.id).data;
       var result = JSON.parse(JSON.stringify(data))
       this.backUpData = JSON.stringify(result)
       this.currentData = JSON.stringify(result)
       this.formInline = result;
-
-      if (result.proxy && result.proxy.indexOf('{token}') > -1) {
-        this.formInline.proxy = result.proxy.replace("{token}", token);
+      this.formInline.isLayer = res.isLayer.toString();
+      this.formInline.status = result.status.toString();
+      if (res.resid && res.resid > 0) {
+        this.serviceActive = true
       } else {
-        this.formInline.proxy = result.proxy
+        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);
+      }
+      this.formInline.serviceUrl = url;
 
-      // this.formInline.type = result.type.toString();
-      // this.formInline.isShow = result.isShow.toString();
       // this.formInline.isProject = result.isProject.toString();
     },
     //鍥惧眰鍒楄〃鐐瑰嚮浜嬩欢
@@ -787,7 +973,7 @@
 
           branchArr.sort(function (a, b) {
 
-            return a.sort - b.sort
+            return a.orderNum - b.orderNum
           })
         }
 
@@ -807,14 +993,14 @@
       var std = [];
       var ste = [];
       for (var i in serve_type) {
-        std.push({
+        ste.push({
           value: serve_type[i].value,
           label: serve_type[i].name,
         })
       }
       this.serveType = std;
       for (var i in data_type) {
-        ste.push({
+        std.push({
           value: data_type[i].value,
           label: data_type[i].name,
         })
@@ -827,12 +1013,15 @@
         cnName: null,
         type: null,
         serveType: null,
-        serveType: null,
         url: null,
         dataType: null,
         bak: null,
-        isShow: '0',
-        isProject: '0'
+        isShow: '1',
+        isProject: '0',
+        enName: '',
+        isLayer: null,
+        category: null,
+        serviceUrl: null
       }
     },
     //鑾峰彇鏉冮檺
@@ -875,9 +1064,9 @@
     this.getLayerTree();
   },
 };
-</script>
-
-<style lang="less" scoped>
+  </script>
+  
+  <style lang="less" scoped>
 .subpage_Box {
   //height: 96%;
   width: 98%;
@@ -906,18 +1095,50 @@
     padding: 10px;
     box-sizing: border-box;
     border: 1px solid #dcdfe6;
-    overflow: auto;
     .menuTop {
-      overflow: auto;
-      height: 100%;
       /deep/ .el-form-item {
         margin: 5px;
       }
     }
   }
 }
+.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%);
 }
+/deep/.el-radio {
+  color: white;
+}
 </style>
+  <style>
+.el-select-dropdown {
+  background: #303030 !important;
+
+  border: 1px solid gray;
+}
+
+.el-select-dropdown__item {
+  background-color: transparent !important;
+  color: #fff;
+}
+
+.el-select-dropdown__item.hover,
+.el-select-dropdown__item:hover {
+  color: #ffff !important;
+  background: rgba(7, 8, 14, 0.3) !important;
+}
+
+.el-popper .popper__arrow,
+.el-popper .popper__arrow::after {
+  display: none !important;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3