From e0cb458357cce65c70ec3eaf773c68b17647ca1d Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期二, 15 八月 2023 10:59:17 +0800
Subject: [PATCH] 图层管理,资源管理修改

---
 src/views/AuthorizationManagement/roleResAuthorization.vue |    2 
 src/views/datamanage/js/layerManage.js                     |   26 +++++
 src/views/datamanage/resourceManagement.vue                |  118 +++++++++++++++++++++++++---
 src/views/datamanage/layerManagement.vue                   |   52 ++++++++++++-
 4 files changed, 175 insertions(+), 23 deletions(-)

diff --git a/src/views/AuthorizationManagement/roleResAuthorization.vue b/src/views/AuthorizationManagement/roleResAuthorization.vue
index 1ec95b5..570edaa 100644
--- a/src/views/AuthorizationManagement/roleResAuthorization.vue
+++ b/src/views/AuthorizationManagement/roleResAuthorization.vue
@@ -4,7 +4,7 @@
       <div class="content_left_box subpage_Div content-border">
         <My-bread :list="[
             `${$t('operatManage.operatManage')}`,
-            `${$t('operatManage.RoleResAuthorization')}`,
+            `${$t('operatManage.RoleLayerAuthorization')}`,
           ]"></My-bread>
         <el-divider />
         <div style="height: 90%; overflow-y: auto">
diff --git a/src/views/datamanage/js/layerManage.js b/src/views/datamanage/js/layerManage.js
index 99291af..954f6d4 100644
--- a/src/views/datamanage/js/layerManage.js
+++ b/src/views/datamanage/js/layerManage.js
@@ -1,3 +1,4 @@
+
 export const serve_type = [
     {
         name: 'URL',
@@ -12,20 +13,39 @@
         value: 2
 
     }, {
-        name: 'WFS',
+        name: 'WMS',
         value: 3
 
     }, {
-        name: 'Tileset',
+        name: 'WFS',
         value: 4
 
     }, {
-        name: 'WMS',
+        name: 'Tileset',
         value: 5
 
     },
 ]
+
 export const data_type = [
+    {
+        name: 'URL',
+        value: 0
+
+    },
+    {
+        name: 'DOM',
+        value: 1
+
+    }, {
+        name: 'DEM',
+        value: 2
+
+    }
+]
+
+
+export const category_type = [
 
     {
         name: 'GisServer',
diff --git a/src/views/datamanage/layerManagement.vue b/src/views/datamanage/layerManagement.vue
index 9ddd70c..50b0125 100644
--- a/src/views/datamanage/layerManagement.vue
+++ b/src/views/datamanage/layerManagement.vue
@@ -166,7 +166,7 @@
             <!-- 鏁版嵁绫诲瀷 -->
             <el-form-item
               v-show="formInline.isLayer == 1"
-              :label="$t('dataManage.layerObj.firm')"
+              :label="$t('dataManage.layerObj.serviceType')"
             >
               <el-select
                 style="width: 60%;"
@@ -176,6 +176,27 @@
               >
                 <el-option
                   v-for="item in dataType"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+
+            <!-- 鏁版嵁绫诲瀷 -->
+            <el-form-item
+              v-show="formInline.isLayer == 1"
+              :label="$t('dataManage.layerObj.dataType')"
+            >
+              <el-select
+                style="width: 60%;"
+                v-model="formInline.data"
+                :placeholder="$t('dataManage.layerObj.prompt3')"
+                :disabled="serviceActive"
+              >
+                <el-option
+                  v-for="item in serveType"
                   :key="item.value"
                   :label="item.label"
                   :value="item.value"
@@ -323,7 +344,7 @@
           <!-- 鏁版嵁绫诲瀷 -->
           <el-form-item
             v-show="insertData.isLayer == 1"
-            :label="$t('dataManage.layerObj.firm')"
+            :label="$t('dataManage.layerObj.serviceType')"
           >
             <el-select
               :disabled="insertServiceActive"
@@ -333,6 +354,26 @@
             >
               <el-option
                 v-for="item in dataType"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <!-- 鏁版嵁绫诲瀷 -->
+          <el-form-item
+            v-show="insertData.isLayer == 1"
+            :label="$t('dataManage.layerObj.dataType')"
+          >
+            <el-select
+              style="width: 60%;"
+              v-model="insertData.data"
+              :placeholder="$t('dataManage.layerObj.prompt3')"
+              :disabled="serviceActive"
+            >
+              <el-option
+                v-for="item in serveType"
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
@@ -451,7 +492,7 @@
           <el-table-column
             align="center"
             prop="category"
-            :label="$t('dataManage.layerObj.firm')"
+            :label="$t('dataManage.layerObj.serviceType')"
             :formatter="setResCategory"
           />
           <el-table-column
@@ -552,7 +593,8 @@
       tableData: [],
       multipleSelection: [],
       serviceActive: true,
-      insertServiceActive: false
+      insertServiceActive: false,
+
     };
   },
   watch: {
@@ -581,6 +623,7 @@
         this.insertData.resid = this.multipleSelection.id
         this.insertData.serviceUrl = serviceUrl;
         this.insertData.url = url;
+        this.insertData.data = this.multipleSelection.data;
         this.insertServiceActive = true
         // this.insertData.status = this.multipleSelection.status;
       } else {
@@ -589,6 +632,7 @@
         this.formInline.type = this.multipleSelection.type;
         this.formInline.resid = this.multipleSelection.id
         this.formInline.serviceUrl = serviceUrl;
+        this.formInline.data = this.multipleSelection.data;
         this.formInline.url = url;
         this.serviceActive = true
         // this.formInline.status = '1';
diff --git a/src/views/datamanage/resourceManagement.vue b/src/views/datamanage/resourceManagement.vue
index c78e6be..4488022 100644
--- a/src/views/datamanage/resourceManagement.vue
+++ b/src/views/datamanage/resourceManagement.vue
@@ -34,7 +34,7 @@
               v-if="menuStatus.insert"
               icon="el-icon-edit"
               type="success"
-              @click="insertDialog = true"
+              @click="setInsertTableData"
               size="small"
             >{{ $t('common.append') }}
             </el-button>
@@ -108,6 +108,13 @@
           <el-table-column
             align="center"
             prop="type"
+            :label="$t('dataManage.layerObj.serviceType')"
+            :formatter="setResType"
+            width="150"
+          />
+          <el-table-column
+            align="center"
+            prop="data"
             :label="$t('dataManage.layerObj.dataType')"
             :formatter="setResType"
             width="150"
@@ -233,13 +240,7 @@
               class="insertWidth"
             ></el-input>
           </el-form-item>
-          <!-- <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 :label="$t('dataManage.layerObj.firm')">
             <el-select
               class="insertWidth"
@@ -255,11 +256,28 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item :label="$t('dataManage.layerObj.dataType')">
+          <el-form-item :label="$t('dataManage.layerObj.serviceType')">
             <el-select
               class="insertWidth"
               v-model="insertData.type"
+              @change="setCategoryTypeChange"
               :placeholder="$t('dataManage.layerObj.prompt8')"
+            >
+              <el-option
+                v-for="item in categoryType"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item :label="$t('dataManage.layerObj.dataType')">
+            <el-select
+              class="insertWidth"
+              v-model="insertData.data"
+              :disabled='insertDisabled'
+              :placeholder="$t('dataManage.layerObj.prompt3')"
             >
               <el-option
                 v-for="item in dataType"
@@ -389,11 +407,28 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item :label="$t('dataManage.layerObj.dataType')">
+          <el-form-item :label="$t('dataManage.layerObj.serviceType')">
             <el-select
               class="insertWidth"
               v-model="editData.type"
+              @change="setEdtitTypeChange"
               :placeholder="$t('dataManage.layerObj.prompt8')"
+            >
+              <el-option
+                v-for="item in categoryType"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item :label="$t('dataManage.layerObj.dataType')">
+            <el-select
+              class="insertWidth"
+              v-model="editData.data"
+              :placeholder="$t('dataManage.layerObj.prompt3')"
+              :disabled="editDisabled"
             >
               <el-option
                 v-for="item in dataType"
@@ -496,7 +531,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";
 import { flatten } from '@turf/turf';
 
@@ -531,12 +566,18 @@
       editData: {},
       copyData: null,
       insertData: {
-        status: "2"
+        status: "2",
+        category: null,
+        type: null,
+        data: null
       },
       editDialog: false,
       insertDialog: false,
       dataType: [],
-      serviceType: []
+      serviceType: [],
+      categoryType: [],
+      insertDisabled: false,
+      editDisabled: false,
     };
   },
   watch: {
@@ -580,6 +621,37 @@
     setEmptyData() {
       this.formInline.name = ""
       this.setListDataStart()
+    },
+    setInsertTableData() {
+      this.insertData.category = this.serviceType[0].value
+      this.insertData.type = this.categoryType[0].value
+
+      this.insertDialog = true;
+      this.setinsertDisabled();
+    },
+    setinsertDisabled() {
+      var val = [0, 4, 5]
+      if (val.indexOf(this.insertData.type) > -1) {
+        this.insertDisabled = true
+        this.insertData.data = this.dataType[0].value;
+      } else {
+        this.insertDisabled = false
+      }
+    },
+    setCategoryTypeChange(item) {
+      this.setinsertDisabled()
+    },
+    setEdtitTypeChange(item) {
+      this.setEditDisabled()
+    },
+    setEditDisabled() {
+      var val = [0, 4, 5]
+      if (val.indexOf(this.editData.type) > -1) {
+        this.editDisabled = true
+        this.editData.data = this.dataType[0].value;
+      } else {
+        this.editDisabled = false
+      }
     },
     async setDelTableData() {
       if (this.multipleSelection.length <= 0) {
@@ -633,6 +705,7 @@
     optionsStart() {
       var std = [];
       var ste = [];
+      var str = [];
       for (var i in serve_type) {
         ste.push({
           value: serve_type[i].value,
@@ -640,18 +713,33 @@
         })
       }
       this.serviceType = std;
-      for (var i in data_type) {
+      for (var i in category_type) {
         std.push({
+          value: category_type[i].value,
+          label: category_type[i].name,
+        })
+      }
+      this.categoryType = ste;
+      for (var i in data_type) {
+        str.push({
           value: data_type[i].value,
           label: data_type[i].name,
         })
       }
-      this.dataType = ste;
+      this.dataType = str;
+
     },
     setScopeEdit(row) {
       this.copyData = JSON.parse(JSON.stringify(row));
       this.editData = JSON.parse(JSON.stringify(row));
       this.editData.status = this.editData.status.toString()
+      this.editData.category = parseInt(this.editData.category)
+      this.editData.type = parseInt(this.editData.type)
+      if (this.editData.data) {
+        this.editData.data = parseInt(this.editData.data)
+      }
+
+      this.setEditDisabled()
       this.editDialog = true
     },
     formatProxy(row, column) {

--
Gitblit v1.9.3