瀏覽代碼

修改增加给server图层接口方法,修改增加style字段后续geoserver用

sugb 10 月之前
父節點
當前提交
a113b4aab2

+ 5 - 1
.env.development

@@ -1,5 +1,9 @@
 NODE_ENV=development
-VUE_APP_API_BASE_URL=http://10.233.1.64:8080/jeecg-boot/
+VUE_APP_API_BASE_URL=http://127.0.0.1:8080/jeecg-boot/
+#VUE_APP_API_BASE_URL=http://10.147.20.133:8080/jeecg-boot/
+
+
+
 VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
 VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview
 

文件差異過大導致無法顯示
+ 403 - 356
src/components/OneMap/BasicMap.vue


+ 4 - 3
src/components/OneMap/widgets/BaseMap.vue

@@ -48,6 +48,7 @@ export default {
   },
   inject: ['basicMap'],
   methods: {
+    //影像图
     createBaseLayers2() {
       let TMSLayer = BaseTileLayer.createSubclass({
         properties: {
@@ -62,8 +63,8 @@ export default {
         },
       });
       let tmsLayer = new TMSLayer({
-        // urlTemplate: "/tdzcxx/sd_dom/sd/{z}/{x}/{y}.png"
-        urlTemplate: "http://218.59.194.82:12682/sd_dom/sd/{z}/{x}/{y}.png"
+        urlTemplate: "/sd_dom/sd/{z}/{x}/{y}.png"
+        //urlTemplate: "http://218.59.194.82:12682/sd_dom/sd/{z}/{x}/{y}.png"
       });
 
       this.localMap=new Basemap({
@@ -97,6 +98,7 @@ export default {
       });
 
     },
+    //天地图
     createBaseLayers() {
       const tdt_tk = '1be60f2d95f809a5dbe14ca7ddfd3d5b';
       let tileInfo = new TileInfo({
@@ -197,7 +199,6 @@ export default {
       this.show = shows
       if (shows == true) {
         this.basicMap.esriMap.basemap = this.localMap;
-
       } else {
         this.basicMap.esriMap.basemap = null;
       }

+ 15 - 14
src/components/OneMap/widgets/ResCatalog.vue

@@ -2,27 +2,28 @@
   <div ref='ResCatalog' v-drag='`.resCatalog${splitScreen} .ant-card-head`'
        :class='`resCatalog resCatalog${splitScreen} ol-unselectable`'>
     <a-card v-show='value' title='专题图层' style='box-shadow: 0 0 5px #357ee5;'>
-      <a-icon slot='extra' type='close' class='panelClose' @click="$emit('input',false)" />
+      <a-icon slot='extra' type='close' class='panelClose' @click="$emit('input',false)"/>
       <a-collapse style='overflow-y: auto; max-height: 50vh;' v-model="activeKey">
         <a-collapse-panel v-for='(item,index) in this.basicMap.list[ind]' :key='item.id' :header='item.name'>
           <template v-for='(itemA,index) in item.layers'>
             <li style='margin: 15px' v-if='!itemA.layers' :key='itemA.name'>
               <div>
+                <!--专题选择-->
                 <a-checkbox v-model='itemA.visible' ref='checkbox' @change='layerSwitch(itemA)'>
-                  <img v-if="itemA.visible&&itemA.legend&&[itemA.children]==''" :src='`${baseUrl}/${itemA.legend}`' />
+                  <img v-if="itemA.visible&&itemA.legend&&[itemA.children]==''" :src='`${baseUrl}/${itemA.legend}`'/>
                   <span>{{ itemA.alias }}</span>
                 </a-checkbox>
                 <a-slider style='display: inline-block;' ref='slider' class='slider' :min='0' :max='1'
                           :step='0.01' :default-value='1' :tooltip-visible='false' :disabled='!itemA.visible'
                           @change='changeOpacity($event,itemA)'></a-slider>
-<!--                <template v-if='itemA.servicetype === "DynamicLayer"'>-->
-<!--                  <a-switch size='small' :defaultChecked='itemA.labelsvisible' :disabled='!itemA.visible'-->
-<!--                            @change='changeLabelsVisible($event,itemA)' class='labelSwitch'></a-switch>-->
-<!--                </template>-->
+                <!--                <template v-if='itemA.servicetype === "DynamicLayer"'>-->
+                <!--                  <a-switch size='small' :defaultChecked='itemA.labelsvisible' :disabled='!itemA.visible'-->
+                <!--                            @change='changeLabelsVisible($event,itemA)' class='labelSwitch'></a-switch>-->
+                <!--                </template>-->
               </div>
               <template v-if="[itemA.categories]!=''&&itemA.visible">
                 <p v-for='item in itemA.categories'>
-                  <img :src='`${baseUrl}/${item.img}`' />
+                  <img :src='`${baseUrl}/${item.img}`'/>
                   {{ item.name }}
                 </p>
               </template>
@@ -34,7 +35,7 @@
                     <div>
                       <a-checkbox v-model='layer.visible' ref='checkbox' @change='layerSwitch(layer)'>
                         <img v-if="layer.visible&&layer.legend&&[layer.children]==''"
-                             :src='`${baseUrl}/${layer.legend}`' />
+                             :src='`${baseUrl}/${layer.legend}`'/>
                         <span>{{ layer.alias }}</span>
                       </a-checkbox>
                       <a-slider style='display: inline-block;' ref='slider' class='slider' :min='0' :max='1'
@@ -43,7 +44,7 @@
                     </div>
                     <template v-if="[layer.categories]!=''&&layer.visible">
                       <p v-for='item in layer.categories'>
-                        <img :src='`${baseUrl}/${item.img}`' />
+                        <img :src='`${baseUrl}/${item.img}`'/>
                         {{ item.name }}
                       </p>
                     </template>
@@ -70,14 +71,14 @@ export default {
     }
   },
   components: {},
-  data: function() {
+  data: function () {
     return {
       baseUrl: '',
       layerList: [],
       map: {},
       ind: 0,
       list: [],
-      activeKey:[]
+      activeKey: []
     };
   },
   inject: ['basicMap', 'splitScreen'],
@@ -97,12 +98,12 @@ export default {
     }
   },
   watch: {
-    value: function(newValue) {
+    value: function (newValue) {
       if (newValue === false) {
 
       } else {
-        if(this.basicMap.list[0]){
-          this.basicMap.list[0].forEach((item)=>{
+        if (this.basicMap.list[0]) {
+          this.basicMap.list[0].forEach((item) => {
             this.activeKey.push(item.id);
           })
         }

+ 1 - 0
src/components/OneMap/widgets/ToolBar.vue

@@ -484,6 +484,7 @@ export default {
       let view = this.basicMap.mapView;
       if (this.toolShow.printShow === true) {
         if (this.print === '') {
+          debugger
           this.print = new Print({
             view: view,
             // specify your own print service

+ 5 - 0
src/views/gis/resManager/catalog/RescatalogList.vue

@@ -141,6 +141,11 @@
             dataIndex: 'name'
           },
           {
+            title:'图层样式',
+            align:"center",
+            dataIndex: 'style'
+          },
+          {
             title:'图层服务地址',
             align:"left",
             dataIndex: 'url'

+ 139 - 135
src/views/gis/resManager/catalog/modules/RescatalogModal.vue

@@ -27,59 +27,60 @@
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="图层名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name">
-              <a-input v-model="model.name" placeholder="请输入图层名称" ></a-input>
+              <a-input v-model="model.name" placeholder="请输入图层名称"></a-input>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="图层别名" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="alias">
-              <a-input v-model="model.alias" placeholder="请输入图层别名" ></a-input>
+              <a-input v-model="model.alias" placeholder="请输入图层别名"></a-input>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="图层服务地址" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="url">
-              <a-input v-model="model.url" placeholder="请输入图层服务地址" ></a-input>
+              <a-input v-model="model.url" placeholder="请输入图层服务地址"></a-input>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="子图层ID" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sublayerid">
-              <a-input-number v-model="model.sublayerid" placeholder="请输入子图层ID" style="width: 100%" />
+              <a-input-number v-model="model.sublayerid" placeholder="请输入子图层ID" style="width: 100%"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="是否显示" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="visible">
-              <j-dict-select-tag type="list" v-model="model.visible"  dictCode="visible" placeholder="请选择是否显示" />
+              <j-dict-select-tag type="list" v-model="model.visible" dictCode="visible" placeholder="请选择是否显示"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="是否显示标注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="labelsvisible">
-              <j-dict-select-tag type="list" v-model="model.labelsvisible"  dictCode="visible" placeholder="请选择是否显示标注" />
+              <j-dict-select-tag type="list" v-model="model.labelsvisible" dictCode="visible" placeholder="请选择是否显示标注"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="服务类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="servicetype">
-              <j-dict-select-tag type="list" v-model="model.servicetype"  dictCode="servicetype" placeholder="请选择服务类型" @change='srvtypeChange' />
+              <j-dict-select-tag type="list" v-model="model.servicetype" dictCode="servicetype" placeholder="请选择服务类型"
+                                 @change='srvtypeChange'/>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="显示层级" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zindex">
-              <a-input-number v-model="model.zindex" placeholder="请输入显示层级" style="width: 100%" />
+              <a-input-number v-model="model.zindex" placeholder="请输入显示层级" style="width: 100%"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="列表显示顺序" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="displayorder">
-              <a-input-number v-model="model.displayorder" placeholder="请输入列表显示顺序" style="width: 100%" />
+              <a-input-number v-model="model.displayorder" placeholder="请输入列表显示顺序" style="width: 100%"/>
             </a-form-model-item>
           </a-col>
-<!--          <a-col :span="12">-->
-<!--            <a-form-model-item label="数据服务接口" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="dataport">-->
-<!--              <a-input v-model="model.dataport" placeholder="请输入数据服务接口" ></a-input>-->
-<!--            </a-form-model-item>-->
-<!--          </a-col>-->
-<!--          <a-col :span="12">-->
-<!--            <a-form-model-item label="数据关联字段" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relfield">-->
-<!--              <a-input v-model="model.relfield" placeholder="请输入数据关联字段" ></a-input>-->
-<!--            </a-form-model-item>-->
-<!--          </a-col>-->
+          <!--          <a-col :span="12">-->
+          <!--            <a-form-model-item label="数据服务接口" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="dataport">-->
+          <!--              <a-input v-model="model.dataport" placeholder="请输入数据服务接口" ></a-input>-->
+          <!--            </a-form-model-item>-->
+          <!--          </a-col>-->
+          <!--          <a-col :span="12">-->
+          <!--            <a-form-model-item label="数据关联字段" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="relfield">-->
+          <!--              <a-input v-model="model.relfield" placeholder="请输入数据关联字段" ></a-input>-->
+          <!--            </a-form-model-item>-->
+          <!--          </a-col>-->
           <a-col :span="12">
             <a-form-model-item label="是否参与分析" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="analyzable">
               <j-dict-select-tag type="list" v-model="model.analyzable" dictCode="whether" placeholder="请选择图层是否参与分析"/>
@@ -137,19 +138,24 @@
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="查询条件字段" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="returnarea">
-              <a-input   v-model="model.queryname"  placeholder="请输入查询条件字段"/>
+              <a-input v-model="model.queryname" placeholder="请输入查询条件字段"/>
             </a-form-model-item>
           </a-col>
           <a-col :span="12">
             <a-form-model-item label="查询条件中文名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="returnarea">
-              <a-input   v-model="model.chinesename"  placeholder="请输入查询条件中文名称"/>
+              <a-input v-model="model.chinesename" placeholder="请输入查询条件中文名称"/>
+            </a-form-model-item>
+          </a-col>
+          <!--          <a-col :span="12">-->
+          <!--            <a-form-model-item label="图例" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="legend">-->
+          <!--              <j-image-upload v-model="model.legend"></j-image-upload>-->
+          <!--            </a-form-model-item>-->
+          <!--          </a-col>-->
+          <a-col :span="12">
+            <a-form-model-item label="图层样式" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="legend">
+              <a-input v-model="model.style" placeholder="请输入查询条件中文名称"/>
             </a-form-model-item>
           </a-col>
-<!--          <a-col :span="12">-->
-<!--            <a-form-model-item label="图例" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="legend">-->
-<!--              <j-image-upload v-model="model.legend"></j-image-upload>-->
-<!--            </a-form-model-item>-->
-<!--          </a-col>-->
         </a-row>
       </a-form-model>
     </a-spin>
@@ -158,124 +164,122 @@
 
 <script>
 
-  import { httpAction } from '@/api/manage'
-  import { validateDuplicateValue } from '@/utils/util'
-  export default {
-    name: "RescatalogModal",
-    components: {
-    },
-    data () {
-      return {
-        title:"操作",
-        width:800,
-        visible: false,
-        model:{
-         },
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-
-        confirmLoading: false,
-        validatorRules: {
-        },
-        url: {
-          add: "/resManager.catalog/rescatalog/add",
-          edit: "/resManager.catalog/rescatalog/edit",
-        },
-        expandedRowKeys:[],
-        pidField:"pid"
+import {httpAction} from '@/api/manage'
+import {validateDuplicateValue} from '@/utils/util'
 
-      }
-    },
-    created () {
-       //备份model原始值
-       this.modelDefault = JSON.parse(JSON.stringify(this.model));
-    },
-    methods: {
-      add (obj) {
-        this.modelDefault.pid=''
-        this.edit(Object.assign(this.modelDefault , obj));
+export default {
+  name: "RescatalogModal",
+  components: {},
+  data() {
+    return {
+      title: "操作",
+      width: 800,
+      visible: false,
+      model: {},
+      labelCol: {
+        xs: {span: 24},
+        sm: {span: 5},
       },
-      edit (record) {
-        this.model = Object.assign({}, record);
-        this.visible = true;
+      wrapperCol: {
+        xs: {span: 24},
+        sm: {span: 16},
       },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-        this.$refs.form.clearValidate()
+
+      confirmLoading: false,
+      validatorRules: {},
+      url: {
+        add: "/resManager.catalog/rescatalog/add",
+        edit: "/resManager.catalog/rescatalog/edit",
       },
-      handleOk () {
-        const that = this;
-        // 触发表单验证
-       this.$refs.form.validate(valid => {
-          if (valid) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-             if(this.model.id && this.model.id === this.model[this.pidField]){
-              that.$message.warning("父级节点不能选择自己");
-              that.confirmLoading = false;
-              return;
-            }
-            httpAction(httpurl,this.model,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                this.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-              that.close();
-            })
-          }else{
-             return false
+      expandedRowKeys: [],
+      pidField: "pid"
+
+    }
+  },
+  created() {
+    //备份model原始值
+    this.modelDefault = JSON.parse(JSON.stringify(this.model));
+  },
+  methods: {
+    add(obj) {
+      this.modelDefault.pid = ''
+      this.edit(Object.assign(this.modelDefault, obj));
+    },
+    edit(record) {
+      this.model = Object.assign({}, record);
+      this.visible = true;
+    },
+    close() {
+      this.$emit('close');
+      this.visible = false;
+      this.$refs.form.clearValidate()
+    },
+    handleOk() {
+      const that = this;
+      // 触发表单验证
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          that.confirmLoading = true;
+          let httpurl = '';
+          let method = '';
+          if (!this.model.id) {
+            httpurl += this.url.add;
+            method = 'post';
+          } else {
+            httpurl += this.url.edit;
+            method = 'put';
           }
-        })
-      },
-      handleCancel () {
-        this.close()
-      },
-      submitSuccess(formData,flag){
-        if(!formData.id){
-          let treeData = this.$refs.treeSelect.getCurrTreeData()
-          this.expandedRowKeys=[]
-          this.getExpandKeysByPid(formData[this.pidField],treeData,treeData)
-          this.$emit('ok',formData,this.expandedRowKeys.reverse());
-        }else{
-          this.$emit('ok',formData,flag);
-        }
-      },
-      getExpandKeysByPid(pid,arr,all){
-        if(pid && arr && arr.length>0){
-          for(let i=0;i<arr.length;i++){
-            if(arr[i].key==pid){
-              this.expandedRowKeys.push(arr[i].key)
-              this.getExpandKeysByPid(arr[i]['parentId'],all,all)
-            }else{
-              this.getExpandKeysByPid(pid,arr[i].children,all)
-            }
+          if (this.model.id && this.model.id === this.model[this.pidField]) {
+            that.$message.warning("父级节点不能选择自己");
+            that.confirmLoading = false;
+            return;
           }
+          httpAction(httpurl, this.model, method).then((res) => {
+            if (res.success) {
+              that.$message.success(res.message);
+              this.$emit('ok');
+            } else {
+              that.$message.warning(res.message);
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            that.close();
+          })
+        } else {
+          return false
         }
-      },
-      srvtypeChange(val){
-        if(val == 'TileLayer'){
-          this.model.sublayerid = '';
+      })
+    },
+    handleCancel() {
+      this.close()
+    },
+    submitSuccess(formData, flag) {
+      if (!formData.id) {
+        let treeData = this.$refs.treeSelect.getCurrTreeData()
+        this.expandedRowKeys = []
+        this.getExpandKeysByPid(formData[this.pidField], treeData, treeData)
+        this.$emit('ok', formData, this.expandedRowKeys.reverse());
+      } else {
+        this.$emit('ok', formData, flag);
+      }
+    },
+    getExpandKeysByPid(pid, arr, all) {
+      if (pid && arr && arr.length > 0) {
+        for (let i = 0; i < arr.length; i++) {
+          if (arr[i].key == pid) {
+            this.expandedRowKeys.push(arr[i].key)
+            this.getExpandKeysByPid(arr[i]['parentId'], all, all)
+          } else {
+            this.getExpandKeysByPid(pid, arr[i].children, all)
+          }
         }
       }
+    },
+    srvtypeChange(val) {
+      if (val == 'TileLayer') {
+        this.model.sublayerid = '';
+      }
     }
   }
+}
 </script>

+ 9 - 11
vue.config.js

@@ -1,5 +1,5 @@
 const path = require('path')
-const CompressionPlugin = require("compression-webpack-plugin")
+const CompressionPlugin = require('compression-webpack-plugin')
 
 function resolve(dir) {
   return path.join(__dirname, dir)
@@ -14,7 +14,7 @@ module.exports = {
    */
   // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
   productionSourceMap: false,
-  //qiankuan打包时放开
+  // qiankuan打包时放开
   // outputDir: '/tdzcxx/',
   // 多入口配置
   // pages: {
@@ -24,18 +24,17 @@ module.exports = {
   //     filename: 'index.html',
   //   }
   // },
-  //打包app时放开该配置
+  // 打包app时放开该配置
   publicPath: '/tdzcxx/',
   configureWebpack: config => {
     config.externals = {
       BMap: 'BMap'
     }
-    //生产环境取消 console.log
+    // 生产环境取消 console.log
     if (process.env.NODE_ENV === 'production') {
       config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
     }
     ;
-
   },
 
   chainWebpack: (config) => {
@@ -46,7 +45,7 @@ module.exports = {
       .set('@comp', resolve('src/components'))
       .set('@views', resolve('src/views'))
 
-    //生产环境,开启js\css压缩
+    // 生产环境,开启js\css压缩
     if (process.env.NODE_ENV === 'production') {
       config.plugin('compressionPlugin').use(new CompressionPlugin({
         test: /\.(js|css|less)$/, // 匹配文件名
@@ -74,7 +73,6 @@ module.exports = {
       .use()
       .loader('babel-loader')
       .end()
-
   },
 
   css: {
@@ -84,9 +82,9 @@ module.exports = {
           /* less 变量覆盖,用于自定义 ant design 主题 */
           'primary-color': '#3264ff',
           'link-color': '#3264ff',
-          'border-radius-base': '4px',
+          'border-radius-base': '4px'
         },
-        javascriptEnabled: true,
+        javascriptEnabled: true
       }
     }
   },
@@ -115,9 +113,9 @@ module.exports = {
         target: 'http://localhost:8080',
         ws: false,
         changeOrigin: true
-      },
+      }
     }
   },
 
   lintOnSave: undefined
-}
+}

部分文件因文件數量過多而無法顯示