|
@@ -46,14 +46,18 @@
|
|
</el-button>
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<br/>
|
|
<br/>
|
|
- <el-form-item label="模型数据:" prop="url" style="width: 100%">
|
|
|
|
- <el-input v-model="formData.url" placeholder="请设置模型地址" :disabled="formData.isDataView">
|
|
|
|
- <template #append>
|
|
|
|
- <el-button @click="handleMapShow(true)" class="inputButtonStyle">
|
|
|
|
- 查看模型
|
|
|
|
- </el-button>
|
|
|
|
- </template>
|
|
|
|
- </el-input>
|
|
|
|
|
|
+ <el-form-item label="模型类型:" prop="modelType" >
|
|
|
|
+ <el-select v-model="formData.modelType" placeholder="请选择模型类型" clearable :disabled="formData.isDataView">
|
|
|
|
+ <el-option v-for="(item,key) in modelType" :key="key" :label="key" :value="item"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-button plain style="display: inline-block;vertical-align: top" @click="handleMapShow">预览</el-button>
|
|
|
|
+ <br/>
|
|
|
|
+ <el-form-item label="模型地址:" prop="modelUrls" style="width: 100%" v-if="[1,2,4,5].indexOf(formData.modelType)>-1">
|
|
|
|
+ <TableInput :type="1" v-model:urls="formData.modelUrls" :is-view="formData.isDataView"></TableInput>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="数据地址:" prop="modelData" style="width: 100%" v-if="[3,4,5].indexOf(formData.modelType)>-1">
|
|
|
|
+ <TableInput v-model:urls="formData.modelData" :is-view="formData.isDataView"></TableInput>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="地名地址库:" prop="address" style="width: 100%">
|
|
<el-form-item label="地名地址库:" prop="address" style="width: 100%">
|
|
<el-input v-model="formData.address" placeholder="请输入地名地址库名称" :disabled="formData.isDataView"/>
|
|
<el-input v-model="formData.address" placeholder="请输入地名地址库名称" :disabled="formData.isDataView"/>
|
|
@@ -67,9 +71,11 @@
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<CesiumMap v-if="isMapShow"
|
|
<CesiumMap v-if="isMapShow"
|
|
:is-show="isMapShow"
|
|
:is-show="isMapShow"
|
|
- :item="formData.modelUrl"
|
|
|
|
- :type="mapType"
|
|
|
|
- :close="handleMapShow">
|
|
|
|
|
|
+ :type="formData.modelType"
|
|
|
|
+ :model-urls="formData.modelUrls"
|
|
|
|
+ :model-data="formData.modelData"
|
|
|
|
+ :extra-params="extraParams"
|
|
|
|
+ :close="()=>{this.isMapShow=false}">
|
|
</CesiumMap>
|
|
</CesiumMap>
|
|
|
|
|
|
<OlMap v-if="isLonLatShow"
|
|
<OlMap v-if="isLonLatShow"
|
|
@@ -97,6 +103,8 @@ import JsonDataView from "@/components/json/JsonDataView";
|
|
import api from "@/api/data/ModelData";
|
|
import api from "@/api/data/ModelData";
|
|
import menuApi from "@/api/data/MenuData";
|
|
import menuApi from "@/api/data/MenuData";
|
|
import HighOptionData from "@/components/dataManage/dataDetail/components/HighOptionData.vue"
|
|
import HighOptionData from "@/components/dataManage/dataDetail/components/HighOptionData.vue"
|
|
|
|
+import TableInput from "@/components/dataManage/dataDetail/components/TableInput.vue";
|
|
|
|
+import ModelType from "@/static/datas/ModelType.json";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
data() {
|
|
data() {
|
|
@@ -141,6 +149,8 @@ export default {
|
|
},
|
|
},
|
|
category: [],
|
|
category: [],
|
|
isMapShow: false,
|
|
isMapShow: false,
|
|
|
|
+ modelType: {},
|
|
|
|
+ extraParams: {},
|
|
mapType: 2,
|
|
mapType: 2,
|
|
isLonLatShow: false,
|
|
isLonLatShow: false,
|
|
|
|
|
|
@@ -156,11 +166,25 @@ export default {
|
|
close: Function
|
|
close: Function
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
-
|
|
|
|
|
|
+ "formData.modelType":function (newVal, oldVal) {
|
|
|
|
+ if (oldVal) {
|
|
|
|
+ this.formData.modelUrls = [];
|
|
|
|
+ this.formData.modelData = [];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ created() {
|
|
|
|
+ this.modelType = ModelType;
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
this.getMenuData();
|
|
this.getMenuData();
|
|
this.formData = this.item;
|
|
this.formData = this.item;
|
|
|
|
+ if (this.formData.modelType && this.formData.modelType!='') {
|
|
|
|
+ this.formData.modelType = Number(this.formData.modelType)
|
|
|
|
+ }
|
|
|
|
+ if (this.formData.modelUrls && this.formData.modelUrls!='') {
|
|
|
|
+ this.formData.modelUrls = JSON.parse(this.formData.modelUrls)
|
|
|
|
+ }
|
|
this.oriFormData = JSON.parse(JSON.stringify(this.formData))
|
|
this.oriFormData = JSON.parse(JSON.stringify(this.formData))
|
|
},
|
|
},
|
|
components: {
|
|
components: {
|
|
@@ -168,44 +192,23 @@ export default {
|
|
OlMap,
|
|
OlMap,
|
|
JsonDataView,
|
|
JsonDataView,
|
|
HighOptionData,
|
|
HighOptionData,
|
|
|
|
+ TableInput,
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
setProperties(item) {
|
|
setProperties(item) {
|
|
this.formData['properties'] = item;
|
|
this.formData['properties'] = item;
|
|
},
|
|
},
|
|
- handleMapShow(flag) {
|
|
|
|
- if (flag) {
|
|
|
|
- if (this.formData.url && this.formData.url !== '') {
|
|
|
|
- let token = this.$store.state.token;
|
|
|
|
- let split = this.formData.url.split('?');
|
|
|
|
- let url = split[0]
|
|
|
|
- let queryParams = {};
|
|
|
|
- if (split.length>1) {
|
|
|
|
- let queryString = split[1].split('&');
|
|
|
|
- for (let i = 0; i < queryString.length; i++) {
|
|
|
|
- let param = queryString[i].split('=')
|
|
|
|
- queryParams[param[0]] = param[1];
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (!queryParams['servertype'] || queryParams['servertype']==='') {
|
|
|
|
- queryParams['servertype'] = this.formData.title
|
|
|
|
- }
|
|
|
|
- queryParams['token'] = token;
|
|
|
|
- url = url+'?';
|
|
|
|
- for (const queryParamsKey in queryParams) {
|
|
|
|
- url = url+'&'+queryParamsKey+'='+queryParams[queryParamsKey];
|
|
|
|
- }
|
|
|
|
- this.formData.modelUrl = url;
|
|
|
|
- if (this.formData.modelType == '水面-json') {
|
|
|
|
- this.mapType = 4;
|
|
|
|
- }
|
|
|
|
- this.isMapShow = true
|
|
|
|
- } else {
|
|
|
|
- this.$message({message: '请输入模型地址', type: 'warning'})
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- this.isMapShow = false
|
|
|
|
- }
|
|
|
|
|
|
+ handleMapShow() {
|
|
|
|
+ this.extraParams = {
|
|
|
|
+ lon: this.formData.lon,
|
|
|
|
+ lat: this.formData.lat,
|
|
|
|
+ elevation: this.formData.elevation,
|
|
|
|
+ heading: this.formData.azimuth,
|
|
|
|
+ pitch: this.formData.angleOfPitch,
|
|
|
|
+ roll: 0,
|
|
|
|
+ title: this.formData.title
|
|
|
|
+ };
|
|
|
|
+ this.isMapShow = true;
|
|
},
|
|
},
|
|
handleLonlatSelect(flag) {
|
|
handleLonlatSelect(flag) {
|
|
if (flag) {
|
|
if (flag) {
|
|
@@ -277,6 +280,8 @@ export default {
|
|
let params = JSON.parse(JSON.stringify(app.formData));
|
|
let params = JSON.parse(JSON.stringify(app.formData));
|
|
params['menuNameOne'] = '模型数据'
|
|
params['menuNameOne'] = '模型数据'
|
|
params['userName'] = app.$store.state.userInfo.username;
|
|
params['userName'] = app.$store.state.userInfo.username;
|
|
|
|
+ params['modelUrls'] = JSON.stringify(app.formData.modelUrls)
|
|
|
|
+ params['modelData'] = JSON.stringify(app.formData.modelData)
|
|
api.addData(params).then(res => {
|
|
api.addData(params).then(res => {
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
app.$message({message: '录入成功', type: 'success'})
|
|
app.$message({message: '录入成功', type: 'success'})
|
|
@@ -291,6 +296,8 @@ export default {
|
|
delete params.createDate;
|
|
delete params.createDate;
|
|
delete params.updateDate;
|
|
delete params.updateDate;
|
|
params['userName'] = app.$store.state.userInfo.username;
|
|
params['userName'] = app.$store.state.userInfo.username;
|
|
|
|
+ params['modelUrls'] = JSON.stringify(app.formData.modelUrls)
|
|
|
|
+ params['modelData'] = JSON.stringify(app.formData.modelData)
|
|
api.updateData(params).then(res => {
|
|
api.updateData(params).then(res => {
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
app.$message({message: '修改成功', type: 'success'})
|
|
app.$message({message: '修改成功', type: 'success'})
|