Bläddra i källkod

修复测试bug

tianyabing 2 år sedan
förälder
incheckning
65380af4ee

+ 2 - 4
public/config.js

@@ -1,10 +1,8 @@
 var systemConfig = {
     // 天地图tk
     tdt_tk: 'b57488e37657af2abde80438a911a635',
-    // dtb服务地址
-    baseUrl: 'http://122.228.28.40:10091',
     // oauth服务地址
-    oauthUrl: 'http://122.228.28.40:10096',
+    oauthUrl: 'http://122.228.28.40:10096/oauth',
     // dtb ID配置 与数据库对应 若数据库无修改以下内容不动
     serviceId: '9', // 对接oauth服务id
     authType: '90', // 菜单权限在oauth中类型id
@@ -23,5 +21,5 @@ var SkySceneryConfig = {
     userName: "user001",
     password: "1234567890",
     // oauth服务地址
-    authUrl: systemConfig.oauthUrl,
+    authUrl: 'http://122.228.28.40:10096',
 }

+ 1 - 1
src/api/data/AuthInfo.js

@@ -31,7 +31,7 @@ const updateUserRole = (params) => {
 // 新增用户
 const addUser = (params) => {
     params['serviceId'] = constant.serviceId;
-    return request.postForm(constant.oauthProxy + '/user/addUser', params);
+    return request.postForm(constant.oauthProxy + '/user/register', params);
 }
 
 export default {

+ 7 - 6
src/components/dataManage/ImportData.vue

@@ -37,6 +37,7 @@
         <el-table :data="importForm.tableData" border stripe max-height="220">
           <el-table-column prop="fieldName" label="字段名称"/>
           <el-table-column prop="title" label="字段说明"/>
+          <el-table-column prop="require" label="必填" width="100"/>
           <el-table-column prop="newFieldName" label="文件中字段名称">
             <template #default="scope">
               <el-form-item :prop="scope.row.fieldName==='数据类型'?'menuId':scope.row.fieldName">
@@ -129,14 +130,14 @@ export default {
         Shape: ['application/x-zip-compressed'],
       },
       fieldTableData: [
-        {title: '标题', fieldName: 'title', newFieldName: 'title', dataType: [1,2,3,4,6], importType: [1,2,3]},
-        {title: '描述', fieldName: 'content', newFieldName: 'content', dataType: [1,2,3,4,6], importType: [1,2,3]},
-        {title: '类别', fieldName: '数据类型', newFieldName: '', dataType: [1,2,3,4,6], importType: [1,2,3]},
+        {title: '标题', fieldName: 'title', require: '是', newFieldName: 'title', dataType: [1,2,3,4,6], importType: [1,2,3]},
+        {title: '描述', fieldName: 'content', require: '是', newFieldName: 'content', dataType: [1,2,3,4,6], importType: [1,2,3]},
+        {title: '类别', fieldName: '数据类型', require: '是', newFieldName: '', dataType: [1,2,3,4,6], importType: [1,2,3]},
         {title: 'url地址', fieldName: 'url', newFieldName: 'url', dataType: [4], importType: [1,2,3]},
         {title: '媒体地址', fieldName: 'modelUrl', newFieldName: 'modelUrl', dataType: [6], importType: [1,2,3]},
-        {title: '纬度', fieldName: 'latStr', newFieldName: '', dataType: [1,2,3,4,6], importType: [1]},
-        {title: '经度', fieldName: 'lonStr', newFieldName: '', dataType: [1,2,3,4,6], importType: [1]},
-        {title: '高程', fieldName: 'elevation', newFieldName: '', dataType: [2,4,6], importType: [1]},
+        {title: '纬度', fieldName: 'latStr', require: '是', newFieldName: '', dataType: [1,2,3,4,6], importType: [1]},
+        {title: '经度', fieldName: 'lonStr', require: '是', newFieldName: '', dataType: [1,2,3,4,6], importType: [1]},
+        {title: '高程', fieldName: 'elevation', require: '是', newFieldName: '', dataType: [2,4,6], importType: [1]},
         {title: '俯仰角', fieldName: 'angleOfPitch', newFieldName: '', dataType: [6], importType: [1]},
         {title: '方位角', fieldName: 'azimuth', newFieldName: '', dataType: [6], importType: [1]},
         {title: '地名地址库', fieldName: 'address', newFieldName: 'address', dataType: [1,2,3,4,6], importType: [1,2,3]},

+ 7 - 4
src/components/dataManage/dataDetail/BusinessDataDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <el-dialog v-if="isShow"
              :model-value="isShow"
-             title="编辑数据"
+             :title="dialogTitle"
              :width="700"
              :close-on-click-modal="false"
              :before-close="handleClose"
@@ -108,6 +108,7 @@ export default {
     }
   },
   props: {
+    dialogTitle: String,
     isShow: Boolean,
     item: Object,
     currCategory: Object,
@@ -119,9 +120,6 @@ export default {
   mounted() {
     this.getMenuData()
     this.formData = this.item;
-    if (!this.formData.menuId || this.formData.menuId == '') {
-      this.formData.menuId = this.currCategory.id
-    }
     this.oriFormData = JSON.parse(JSON.stringify(this.formData))
   },
   components: {
@@ -153,6 +151,11 @@ export default {
       menuApi.getMenuData(params).then(res=>{
         if (res.code===200) {
           app.category = res.content
+
+          if (!app.formData.menuId || app.formData.menuId == '') {
+            app.formData.menuId = app.currCategory.id
+            app.handleMenuIdSelect(app.formData.menuId)
+          }
         }
       })
     },

+ 11 - 8
src/components/dataManage/dataDetail/IotDataDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <el-dialog v-if="isShow"
              :model-value="isShow"
-             title="编辑数据"
+             :title="dialogTitle"
              :width="700"
              :close-on-click-modal="false"
              :before-close="handleClose"
@@ -23,7 +23,7 @@
           </el-input>
         </el-form-item>
         <el-form-item label="媒体地址:" prop="url" style="width: 100%">
-          <el-input v-model="formData.modelUrl" placeholder="请输入媒体地址" :disabled="formData.isDataView">
+          <el-input v-model="formData.url" placeholder="请输入媒体地址" :disabled="formData.isDataView">
             <template #append>
               <el-button @click="handleMapShow(true)" class="inputButtonStyle">
                 预览
@@ -155,6 +155,7 @@ export default {
     }
   },
   props: {
+    dialogTitle: String,
     isShow: Boolean,
     item: Object,
     currCategory: Object,
@@ -166,9 +167,6 @@ export default {
   mounted() {
     this.getMenuData();
     this.formData = this.item;
-    if (!this.formData.menuId || this.formData.menuId == '') {
-      this.formData.menuId = this.currCategory.id
-    }
     this.oriFormData = JSON.parse(JSON.stringify(this.formData))
   },
   components: {
@@ -184,12 +182,12 @@ export default {
       this.extraParams = {};
       this.extraParams.lon = this.formData.lon
       this.extraParams.lat = this.formData.lat
-      this.extraParams.height = this.formData.elevation
+      this.extraParams.elevation = this.formData.elevation
       this.extraParams.heading = this.formData.azimuth
       this.extraParams.pitch = this.formData.angleOfPitch
       this.extraParams.roll = 0
       this.extraParams.title = this.formData.title
-      this.mapUrl = this.formData.modelUrl+this.$store.state.token;
+      this.mapUrl = this.formData.url+this.$store.state.token;
       this.mapType = 3
       this.isMapShow = true;
     },
@@ -229,6 +227,11 @@ export default {
       menuApi.getMenuData(params).then(res => {
         if (res.code === 200) {
           app.category = res.content
+
+          if (!app.formData.menuId || app.formData.menuId == '') {
+            app.formData.menuId = app.currCategory.id
+            app.handleMenuIdSelect(app.formData.menuId)
+          }
         }
       })
     },
@@ -264,7 +267,7 @@ export default {
     },
     // 编辑数据
     updateData() {
-      let app = this;
+      let app = this
       let params = JSON.parse(JSON.stringify(app.formData));
       delete params.createDate;
       delete params.updateDate;

+ 10 - 7
src/components/dataManage/dataDetail/MetaDataDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <el-dialog v-if="isShow"
              :model-value="isShow"
-             title="编辑数据"
+             :title="dialogTitle"
              :width="700"
              :close-on-click-modal="false"
              :before-close="handleClose"
@@ -22,9 +22,9 @@
                      :disabled="true">
             <el-option
                 v-for="item in category"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
+                :key="item.id"
+                :label="item.title"
+                :value="item.id"
             />
           </el-select>
         </el-form-item>
@@ -125,6 +125,7 @@ export default {
     }
   },
   props: {
+    dialogTitle: String,
     isShow: Boolean,
     item: Object,
     currCategory: Object,
@@ -138,9 +139,6 @@ export default {
   mounted() {
     this.getMenuData()
     this.formData = this.item;
-    if (!this.formData.menuId || this.formData.menuId == '') {
-      this.formData.menuId = this.currCategory.id
-    }
     this.oriFormData = JSON.parse(JSON.stringify(this.formData))
   },
   components: {
@@ -159,6 +157,11 @@ export default {
       menuApi.getMenuData(params).then(res => {
         if (res.code === 200) {
           app.category = res.content
+
+          if (!app.formData.menuId || app.formData.menuId == '') {
+            app.formData.menuId = app.currCategory.id
+            app.handleMenuIdSelect(app.formData.menuId)
+          }
         }
       })
     },

+ 7 - 4
src/components/dataManage/dataDetail/ModelDataDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <el-dialog v-if="isShow"
              :model-value="isShow"
-             title="编辑数据"
+             :title="dialogTitle"
              :width="700"
              :close-on-click-modal="false"
              :before-close="handleClose"
@@ -149,6 +149,7 @@ export default {
     }
   },
   props: {
+    dialogTitle: String,
     isShow: Boolean,
     item: Object,
     currCategory: Object,
@@ -160,9 +161,6 @@ export default {
   mounted() {
     this.getMenuData();
     this.formData = this.item;
-    if (!this.formData.menuId || this.formData.menuId == '') {
-      this.formData.menuId = this.currCategory.id
-    }
     this.oriFormData = JSON.parse(JSON.stringify(this.formData))
   },
   components: {
@@ -228,6 +226,11 @@ export default {
       menuApi.getMenuData(params).then(res => {
         if (res.code === 200) {
           app.category = res.content
+
+          if (!app.formData.menuId || app.formData.menuId == '') {
+            app.formData.menuId = app.currCategory.id
+            app.handleMenuIdSelect(app.formData.menuId)
+          }
         }
       })
     },

+ 12 - 9
src/components/dataManage/dataDetail/ThreeDimensionalDataDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <el-dialog v-if="isShow"
              :model-value="isShow"
-             title="编辑数据"
+             :title="dialogTitle"
              :width="700"
              :close-on-click-modal="false"
              :before-close="handleClose"
@@ -41,7 +41,7 @@
           </el-input>
         </el-form-item>
         <el-form-item label="高程:" style="width: 20%" :label-width="70">
-          <el-input v-model="formData.height" placeholder="高程" :disabled="formData.isDataView">
+          <el-input v-model="formData.elevation" placeholder="高程" :disabled="formData.isDataView">
           </el-input>
         </el-form-item>
         <el-form-item>
@@ -87,7 +87,7 @@
   <OlMap v-if="isLonLatShow"
          :is-show="isLonLatShow"
          :is-view="formData.isDataView"
-         :geometry-str="formData.geometryStr"
+         :geometry-str="formData.geoStr"
          :type="'Point'"
          :callback="setLonLatData"
          :close="handleLonlatSelect">
@@ -143,7 +143,7 @@ export default {
           {required: true, message: '该字段不能为空', trigger: 'blur'},
           {required: true, message: '该字段不能为空', trigger: 'change'},
         ],
-        height: [
+        elevation: [
           {required: true, message: '该字段不能为空', trigger: 'blur'},
           {required: true, message: '该字段不能为空', trigger: 'change'},
         ],
@@ -162,6 +162,7 @@ export default {
     }
   },
   props: {
+    dialogTitle: String,
     isShow: Boolean,
     item: Object,
     currCategory: Object,
@@ -175,9 +176,6 @@ export default {
     if (this.formData.geometry && this.formData.geometry!='') {
       this.formData.geometryStr = JSON.stringify(this.formData.geometry)
     }
-    if (!this.formData.menuId || this.formData.menuId == '') {
-      this.formData.menuId = this.currCategory.id
-    }
     this.oriFormData = JSON.parse(JSON.stringify(this.formData))
   },
   components: {
@@ -192,7 +190,7 @@ export default {
     },
     handleMapShow(flag) {
       if (flag) {
-        if (this.formData.geometryStr && this.formData.geometryStr !== '') {
+        if (this.formData.geoStr && this.formData.geoStr !== '') {
           this.isMapShow = true
         } else {
           this.$message({message: '请输入地理信息', type: 'warning'})
@@ -208,7 +206,7 @@ export default {
     },
     handleLonlatSelect(flag) {
       if (flag) {
-        this.formData.geometryStr = JSON.stringify(this.covertToGeometry())
+        this.formData.geoStr = JSON.stringify(this.covertToGeometry())
         this.isLonLatShow = true
       } else {
         this.isLonLatShow = false
@@ -242,6 +240,11 @@ export default {
       menuApi.getMenuData(params).then(res => {
         if (res.code === 200) {
           app.category = res.content
+
+          if (!app.formData.menuId || app.formData.menuId == '') {
+            app.formData.menuId = app.currCategory.id
+            app.handleMenuIdSelect(app.formData.menuId)
+          }
         }
       })
     },

+ 6 - 1
src/components/dataManage/dataDetail/TwoDimensionalDataDetail.vue

@@ -1,7 +1,7 @@
 <template>
   <el-dialog v-if="isShow"
              :model-value="isShow"
-             title="编辑数据"
+             :title="dialogTitle"
              :width="700"
              :close-on-click-modal="false"
              :before-close="handleClose"
@@ -108,6 +108,7 @@ export default {
     }
   },
   props: {
+    dialogTitle: String,
     isShow: Boolean,
     item: Object,
     currCategory: Object,
@@ -153,6 +154,10 @@ export default {
       menuApi.getMenuData(params).then(res=>{
         if (res.code===200) {
           app.category = res.content
+          if (!app.formData.menuId || app.formData.menuId == '') {
+            app.formData.menuId = app.currCategory.id
+            app.handleMenuIdSelect(app.formData.menuId)
+          }
         }
       })
     },

+ 5 - 1
src/components/dataManage/dataShow/BusinessData.vue

@@ -89,7 +89,7 @@
     </div>
   </div>
 
-  <BusinessDataDetail v-if="isDetailShow" :is-show="isDetailShow" :item="currRow" :curr-category="currCategory" :close="handleDetailShow"></BusinessDataDetail>
+  <BusinessDataDetail v-if="isDetailShow" :is-show="isDetailShow" :dialog-title="dialogTitle" :item="currRow" :curr-category="currCategory" :close="handleDetailShow"></BusinessDataDetail>
 </template>
 
 <script>
@@ -100,6 +100,7 @@ import CategoryMenu from "@/components/dataManage/CategoryMenu";
 export default {
   data() {
     return {
+      dialogTitle: '',
       auth: false,
       loading: false,
       filterForm: {},
@@ -211,6 +212,7 @@ export default {
     // 录入数据
     addDataClick() {
       this.currRow = {};
+      this.dialogTitle = '录入数据'
       this.isDetailShow = true;
     },
     // 批量删除数据
@@ -226,6 +228,7 @@ export default {
     // 查看详情
     viewData(item) {
       let app = this;
+      this.dialogTitle = '数据详情'
       let params = {
         baseId: item.id
       }
@@ -251,6 +254,7 @@ export default {
     // 编辑数据
     editData(item) {
       let app = this;
+      this.dialogTitle = '编辑数据'
       let params = {
         baseId: item.id
       }

+ 6 - 2
src/components/dataManage/dataShow/IotData.vue

@@ -43,7 +43,7 @@
         <el-table-column prop="content" label="描述" width="250"/>
         <el-table-column prop="menuNameTwo" label="类别" width="80"/>
         <el-table-column prop="mediaType" label="媒体类型" width="120"/>
-        <el-table-column prop="modelUrl" label="媒体路径" width="230"/>
+        <el-table-column prop="url" label="媒体路径" width="230"/>
         <el-table-column prop="lon" label="位置" width="180">
           <template #default="scope">
             [
@@ -104,7 +104,7 @@
     </div>
   </div>
 
-  <IotDataDetail v-if="isDetailShow" :is-show="isDetailShow" :item="currRow" :curr-category="currCategory" :close="handleDetailShow"></IotDataDetail>
+  <IotDataDetail v-if="isDetailShow" :is-show="isDetailShow" :dialog-title="dialogTitle" :item="currRow" :curr-category="currCategory" :close="handleDetailShow"></IotDataDetail>
 
   <CesiumMap v-if="isMapShow"
              :is-show="isMapShow"
@@ -124,6 +124,7 @@ import CesiumMap from "@/components/map/CesiumMap.vue";
 export default {
   data() {
     return {
+      dialogTitle: '',
       auth: false,
       loading: false,
       filterForm: {},
@@ -243,6 +244,7 @@ export default {
     // 录入数据
     addDataClick() {
       this.currRow = {};
+      this.dialogTitle = '录入数据'
       this.isDetailShow = true;
     },
     // 批量删除数据
@@ -258,6 +260,7 @@ export default {
     // 查看详情
     viewData(item) {
       let app = this;
+      this.dialogTitle = '数据详情'
       let params = {
         IOTDataId: item.id
       }
@@ -283,6 +286,7 @@ export default {
     // 编辑数据
     editData(item) {
       let app = this;
+      this.dialogTitle = '编辑数据'
       let params = {
         IOTDataId: item.id
       }

+ 5 - 1
src/components/dataManage/dataShow/MetaData.vue

@@ -88,7 +88,7 @@
     </div>
   </div>
 
-  <MetaDataDetail v-if="isDetailShow" :is-show="isDetailShow" :item="currRow" :curr-category="currCategory" :close="handleDetailShow"></MetaDataDetail>
+  <MetaDataDetail v-if="isDetailShow" :is-show="isDetailShow" :dialog-title="dialogTitle" :item="currRow" :curr-category="currCategory" :close="handleDetailShow"></MetaDataDetail>
 </template>
 
 <script>
@@ -100,6 +100,7 @@ import CategoryMenu from "@/components/dataManage/CategoryMenu";
 export default {
   data() {
     return {
+      dialogTitle: '',
       auth: false,
       loading: false,
       filterForm: {},
@@ -210,6 +211,7 @@ export default {
     // 录入数据
     addDataClick() {
       this.currRow = {};
+      this.dialogTitle = '录入数据'
       this.isDetailShow = true;
     },
     // 批量删除数据
@@ -225,6 +227,7 @@ export default {
     // 查看详情
     viewData(item) {
       let app = this;
+      this.dialogTitle = '数据详情'
       if (item.menuId) {
         item.menuId = Number(item.menuId);
       }
@@ -237,6 +240,7 @@ export default {
     // 编辑数据
     editData(item) {
       let app = this;
+      this.dialogTitle = '编辑数据'
       if (item.menuId) {
         item.menuId = Number(item.menuId);
       }

+ 5 - 1
src/components/dataManage/dataShow/ModelData.vue

@@ -98,7 +98,7 @@
     </div>
   </div>
 
-  <ModelDataDetail v-if="isDetailShow" :is-show="isDetailShow" :item="currRow" :curr-category="currCategory" :close="handleDetailShow"></ModelDataDetail>
+  <ModelDataDetail v-if="isDetailShow" :is-show="isDetailShow" :dialog-title="dialogTitle" :item="currRow" :curr-category="currCategory" :close="handleDetailShow"></ModelDataDetail>
 </template>
 
 <script>
@@ -109,6 +109,7 @@ import CategoryMenu from "@/components/dataManage/CategoryMenu";
 export default {
   data() {
     return {
+      dialogTitle: '',
       auth: false,
       loading: false,
       filterForm: {},
@@ -220,6 +221,7 @@ export default {
     // 录入数据
     addDataClick() {
       this.currRow = {};
+      this.dialogTitle = '录入数据'
       this.isDetailShow = true;
     },
     // 批量删除数据
@@ -235,6 +237,7 @@ export default {
     // 查看详情
     viewData(item) {
       let app = this;
+      this.dialogTitle = '数据详情'
       app.currRow = JSON.parse(JSON.stringify(item))
       if (app.currRow.menuId) {
         app.currRow.menuId = Number(app.currRow.menuId)
@@ -245,6 +248,7 @@ export default {
     // 编辑数据
     editData(item) {
       let app = this;
+      this.dialogTitle = '编辑数据'
       app.currRow = JSON.parse(JSON.stringify(item))
       if (app.currRow.menuId) {
         app.currRow.menuId = Number(app.currRow.menuId)

+ 5 - 1
src/components/dataManage/dataShow/ThreeDimensionalData.vue

@@ -99,7 +99,7 @@
     </div>
   </div>
 
-  <ThreeDimensionalDataDetail v-if="isDetailShow" :is-show="isDetailShow" :item="currRow" :curr-category="currCategory"
+  <ThreeDimensionalDataDetail v-if="isDetailShow" :dialog-title="dialogTitle" :is-show="isDetailShow" :item="currRow" :curr-category="currCategory"
                               :close="handleDetailShow"></ThreeDimensionalDataDetail>
 </template>
 
@@ -111,6 +111,7 @@ import CategoryMenu from "@/components/dataManage/CategoryMenu";
 export default {
   data() {
     return {
+      dialogTitle: '',
       auth: false,
       loading: false,
       filterForm: {},
@@ -222,6 +223,7 @@ export default {
     // 录入数据
     addDataClick() {
       this.currRow = {};
+      this.dialogTitle = '录入数据'
       this.isDetailShow = true;
     },
     // 批量删除数据
@@ -239,6 +241,7 @@ export default {
     // 查看详情
     viewData(item) {
       let app = this;
+      this.dialogTitle = '数据详情'
       app.currRow = JSON.parse(JSON.stringify(item))
       if (app.currRow.menuId) {
         app.currRow.menuId = Number(app.currRow.menuId)
@@ -249,6 +252,7 @@ export default {
     // 编辑数据
     editData(item) {
       let app = this;
+      this.dialogTitle = '编辑数据'
       app.currRow = JSON.parse(JSON.stringify(item))
       if (app.currRow.menuId) {
         app.currRow.menuId = Number(app.currRow.menuId)

+ 5 - 1
src/components/dataManage/dataShow/TwoDimensionalData.vue

@@ -90,7 +90,7 @@
     </div>
   </div>
 
-  <TwoDimensionalDataDetail v-if="isDetailShow" :is-show="isDetailShow" :item="currRow" :curr-category="currCategory" :close="handleDetailShow"></TwoDimensionalDataDetail>
+  <TwoDimensionalDataDetail v-if="isDetailShow" :is-show="isDetailShow" :dialog-title="dialogTitle" :item="currRow" :curr-category="currCategory" :close="handleDetailShow"></TwoDimensionalDataDetail>
 </template>
 
 <script>
@@ -102,6 +102,7 @@ import CategoryMenu from "@/components/dataManage/CategoryMenu";
 export default {
   data() {
     return {
+      dialogTitle: '',
       auth: false,
       loading: false,
       filterForm: {},
@@ -213,6 +214,7 @@ export default {
     // 录入数据
     addDataClick() {
       this.currRow = {};
+      this.dialogTitle = '录入数据';
       this.isDetailShow = true;
     },
     // 批量删除数据
@@ -228,6 +230,7 @@ export default {
     // 查看详情
     viewData(item) {
       let app = this;
+      this.dialogTitle = '数据详情';
       let params = {
         latlonDataId: item.id
       }
@@ -253,6 +256,7 @@ export default {
     // 编辑数据
     editData(item) {
       let app = this;
+      this.dialogTitle = '编辑数据';
       let params = {
         latlonDataId: item.id
       }

+ 8 - 7
src/components/home/DataManage.vue

@@ -10,44 +10,44 @@
             </el-icon>
             <span>数据管理</span>
           </template>
-          <el-menu-item index="1-1">
+          <el-menu-item index="1-1" v-if="pageShow['DTB-DATAMANAGE-TWOD']">
             <el-icon>
               <IconPark-multi-triangular/>
             </el-icon>
             <span>二维数据</span>
           </el-menu-item>
-          <el-menu-item index="1-2">
+          <el-menu-item index="1-2" v-if="pageShow['DTB-DATAMANAGE-THREED']">
             <el-icon>
               <IconPark-sphere/>
             </el-icon>
             <span>三维数据</span>
           </el-menu-item>
-          <el-menu-item index="1-3">
+          <el-menu-item index="1-3" v-if="pageShow['DTB-DATAMANAGE-BASEDATA']">
             <el-icon>
               <IconPark-internal-data/>
             </el-icon>
             <span>业务数据</span>
           </el-menu-item>
-          <el-menu-item index="1-4">
+          <el-menu-item index="1-4" v-if="pageShow['DTB-DATAMANAGE-MODEL']">
             <el-icon>
               <IconPark-graphic-stitching/>
             </el-icon>
             <span>模型数据</span>
           </el-menu-item>
-          <el-menu-item index="1-5">
+          <el-menu-item index="1-5" v-if="pageShow['DTB-DATAMANAGE-METADATA']">
             <el-icon :color="'#303133'">
               <IconPark-data/>
             </el-icon>
             <span>元数据</span>
           </el-menu-item>
-          <el-menu-item index="1-6">
+          <el-menu-item index="1-6" v-if="pageShow['DTB-DATAMANAGE-IOTDATA']">
             <el-icon>
               <IconPark-connection-point/>
             </el-icon>
             <span>物联感知数据</span>
           </el-menu-item>
         </el-sub-menu>
-        <el-menu-item index="2">
+        <el-menu-item index="2" v-if="auth">
           <el-icon>
             <IconPark-external-transmission/>
           </el-icon>
@@ -81,6 +81,7 @@ import {defineAsyncComponent} from "vue";
 export default {
   data() {
     return {
+      auth: false,
       activeName: '1-1',
       pageShow: {},
       tableHeight: 200,

+ 15 - 9
src/components/map/CesiumMap.vue

@@ -14,12 +14,12 @@
   </el-dialog>
 
   <el-dialog v-if="isMessageShow" :model-value="isMessageShow" title="点位信息" :width="600" :close-on-click-modal="false" :before-close="()=>this.isMessageShow=false">
-    <el-descriptions :title="extraParams.title?extraParams.title:'-'">
-      <el-descriptions-item label="经度:">{{ extraParams.lon?extraParams.lon:'-' }}</el-descriptions-item>
-      <el-descriptions-item label="纬度:">{{ extraParams.lat?extraParams.lat:'-' }}</el-descriptions-item>
-      <el-descriptions-item label="高程:">{{ extraParams.height?extraParams.height:'-' }}</el-descriptions-item>
-      <el-descriptions-item label="方位角:">{{ extraParams.azimuth?extraParams.azimuth:'-' }}</el-descriptions-item>
-      <el-descriptions-item label="俯仰角:">{{ extraParams.angleOfPitch?extraParams.angleOfPitch:'-' }}</el-descriptions-item>
+    <el-descriptions :title="msgInfo.title?msgInfo.title:'-'">
+      <el-descriptions-item label="经度:">{{ msgInfo.lon?msgInfo.lon:'-' }}</el-descriptions-item>
+      <el-descriptions-item label="纬度:">{{ msgInfo.lat?msgInfo.lat:'-' }}</el-descriptions-item>
+      <el-descriptions-item label="高程:">{{ msgInfo.elevation?msgInfo.elevation:'-' }}</el-descriptions-item>
+      <el-descriptions-item label="方位角:">{{ msgInfo.azimuth?msgInfo.azimuth:'-' }}</el-descriptions-item>
+      <el-descriptions-item label="俯仰角:">{{ msgInfo.angleOfPitch?msgInfo.angleOfPitch:'-' }}</el-descriptions-item>
     </el-descriptions>
   </el-dialog>
 </template>
@@ -68,6 +68,7 @@ export default {
         useBrowserRecommendedResolution: true, // 以浏览器建议的分辨率渲染
       },
       isMessageShow: false,
+      msgInfo: {},
     }
   },
   props: {
@@ -174,8 +175,8 @@ export default {
     addGltf(url) {
       let app= this;
       let height = 1;
-      if (this.extraParams.height && this.extraParams.height!=='') {
-        height = Number(this.extraParams.height)
+      if (this.extraParams.elevation && this.extraParams.elevation!=='') {
+        height = Number(this.extraParams.elevation)
       }
       var modelObj = new SkyScenery.singleModelBindClick(viewer, {
         url: url,
@@ -188,7 +189,7 @@ export default {
         info: {
           log: this.extraParams.lon,
           lat: this.extraParams.lat,
-          height: this.extraParams.height,
+          elevation: this.extraParams.elevation,
           heading: this.extraParams.heading,
           pitch: this.extraParams.pitch,
           roll: this.extraParams.roll,
@@ -205,6 +206,7 @@ export default {
         },
       });
       modelObj.openClick(info => {
+        app.msgInfo = info
         app.isMessageShow = true
       })
     },
@@ -223,6 +225,10 @@ export default {
           roll: SkyScenery.Math.toRadians(0),
         },
       });
+      modelObj.openClick(info => {
+        app.msgInfo = info
+        app.isMessageShow = true
+      })
     },
     // 添加水面
     addWater(url) {

+ 3 - 3
src/components/map/OlMap.vue

@@ -155,9 +155,9 @@ export default {
       })
       app.map.addInteraction(app.draw)
       app.draw.on('drawend', e=>{
-        // if (app.type.indexOf('Multi')!=0) {
-        //   app.clearMapDraw();
-        // }
+        if (app.type.indexOf('Multi')!=0) {
+          app.clearMapDraw();
+        }
         e.feature.setStyle(app.drawStyle);
       })
     },

+ 1 - 1
src/components/systemManage/AuthManage.vue

@@ -14,7 +14,7 @@
 
     <div class="authDetails" v-show="currRole.id">
       <h4 style="display: inline-block;padding-top: 3px">权限管理</h4>
-      <el-button type="default" title="保存" @click="submit" style="display: inline-block;font-size: 15px;float: right">
+      <el-button title="保存" @click="submit" style="display: inline-block;font-size: 15px;float: right; color: #6566f4;" >
         <el-icon><IconPark-save /></el-icon>
       </el-button>
       <el-divider />

+ 4 - 0
src/components/systemManage/UserManage.vue

@@ -150,6 +150,8 @@ export default {
         "password": [
           {required: true, message: '密码不能为空', trigger: 'blur'},
           {required: true, message: '密码不能为空', trigger: 'change'},
+          {required: true, message: '长度需为6-24位', min: 6, max: 24, trigger: 'blur'},
+          {required: true, message: '长度需为6-24位', min: 6, max: 24, trigger: 'change'},
         ],
         "confirmPwd": [
           {required: true, validator: validatorConfirmPwd, trigger: 'blur'},
@@ -219,6 +221,7 @@ export default {
     },
     handleAddUserClose() {
       this.addUserShow = false;
+      this.addUserForm = {}
     },
     handleManageRole(row) {
       let app = this;
@@ -264,6 +267,7 @@ export default {
             if (res.code===200) {
               app.$message({message: '添加成功', type: 'success'});
               app.getData();
+              app.handleAddUserClose();
             }
           })
         }

+ 2 - 2
src/utils/constant.js

@@ -4,6 +4,6 @@ export default {
     serviceId: systemConfig.serviceId, // 对接oauth服务id
     authType: systemConfig.authType, // 菜单权限在oauth中类型id
     menuIds: systemConfig.menuIds,
-    oauthProxy: systemConfig.oauthUrl+'/oauth', // oauth 地址
-    dtbserverProxy: systemConfig.baseUrl+'/dtb'// dtbserver 地址
+    oauthProxy: systemConfig.oauthUrl, // oauth 地址
+    dtbserverProxy: '/proxy_dtbserver' // dtbserver 地址
 }

+ 12 - 0
vue.config.js

@@ -18,5 +18,17 @@ module.exports = defineConfig({
         },
         // sourcemap生成
         devtool: process.env.NODE_ENV === "production" ? false : "source-map"
+    },
+    devServer: {
+        port: 8080,
+        proxy: {
+            '/proxy_dtbserver/': {
+                target: 'http://121.43.55.7:10091/dtbservice',
+                changeOrigin: true,
+                pathRewrite: {
+                    '^/proxy_dtbserver': ''
+                }
+            },
+        }
     }
 })