From 968394a4f9885e7df2a4af4b5b35af070975f4b6 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期二, 29 八月 2023 17:03:02 +0800 Subject: [PATCH] 资源查询页面修改,接口对接调试,图层管理页面修改,数据上传页面修改 --- src/components/MapView/moonMap.vue | 2 src/assets/lang/zh.js | 3 src/views/datamanage/dictionaryManage.vue | 2 src/views/datamanage/projectionLayerManagement.vue | 7 src/views/resourceQuery/resourceQuery.vue | 279 ++++++++++++++++--------- public/config/config.js | 5 src/utils/treeData.js | 134 +++++++----- src/views/datamanage/js/layerManage.js | 57 +++++ src/assets/lang/en.js | 3 src/views/datamanage/dataUpdata.vue | 137 +++++------ src/views/datamanage/layerManagement.vue | 9 11 files changed, 396 insertions(+), 242 deletions(-) diff --git a/public/config/config.js b/public/config/config.js index 66115df..d7cf7fd 100644 --- a/public/config/config.js +++ b/public/config/config.js @@ -1,5 +1,7 @@ var isWeb = location.hostname.indexOf("103.85.165.") > -1; -// var isWeb = false; + +const webUrl = location.href.indexOf("/web") > -1 ? "/web" : ""; + var is_production = false;//鍒ゆ柇鏄惁涓虹敓浜х幆澧� var webHost = isWeb ? "103.85.165.99" + ":28888" : '192.168.20.83' + ":8888"; @@ -8,7 +10,6 @@ var iisHost = isWeb ? "103.85.165.99" + ":8050" : '192.168.20.83' + ":80"; -const webUrl = true ? "/middle" : ""; //SDK璁稿彲 var StaticFileBaseUrl = webUrl + "/CIMSDK/"; diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js index 3b1986f..d146404 100644 --- a/src/assets/lang/en.js +++ b/src/assets/lang/en.js @@ -196,7 +196,8 @@ code: 'Code', sensorType: 'Sensor Type', collectionTime: 'Collection Time', - metadataType: 'Metadata Type' + metadataType: 'Metadata Type', + label1: 'Please select the collection time', }, metadataManage: 'information management', uploadManage: 'Release management', diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js index aaf9265..ea14b33 100644 --- a/src/assets/lang/zh.js +++ b/src/assets/lang/zh.js @@ -188,7 +188,8 @@ code: '缂栫爜', sensorType: '浼犳劅鍣ㄧ被鍨�', collectionTime: '閲囬泦鏃堕棿', - metadataType: '鍏冩暟鎹被鍨�' + metadataType: '鍏冩暟鎹被鍨�', + label1: '璇烽�夋嫨閲囬泦鏃堕棿', }, metadataManage: '淇℃伅绠$悊', diff --git a/src/components/MapView/moonMap.vue b/src/components/MapView/moonMap.vue index 469b539..3dbb2af 100644 --- a/src/components/MapView/moonMap.vue +++ b/src/components/MapView/moonMap.vue @@ -133,7 +133,7 @@ ); //椤甸潰鍒濆鍖� this.earthCtrl = new SmartEarth.EarthCtrl("cesiumContainer", { - // StaticFileBaseUrl: StaticFileBaseUrl, + StaticFileBaseUrl: StaticFileBaseUrl, ellipsoidCoordinates: "MOON", }); this.earthCtrl.environment.disableAllEffect(); diff --git a/src/utils/treeData.js b/src/utils/treeData.js index 1299043..2027b27 100644 --- a/src/utils/treeData.js +++ b/src/utils/treeData.js @@ -74,65 +74,80 @@ std.push(dir); } } + var str = []; for (var i in std) { let dir = std[i].split('/'); - for (var j = 1; j < dir.length; j++) { - if (j == 1) { - var clabel = dir[0] + "/" + dir[j] - let f_val = res.filter((rs) => { - if (rs.label === dir[j - 1]) { - return rs; + if (dir.length > 1) { + for (var j = 1; j < dir.length; j++) { + if (j == 1) { + var clabel = dir[0] + "/" + dir[j] + let f_val = res.filter((rs) => { + if (rs.label === dir[j - 1]) { + return rs; + } + }) + var c_Data = str.filter(rs => { + if (rs.bak == clabel) { + return rs; + } + }) + if (f_val.length != 0 && c_Data.length == 0) { + num++; + var val = { + id: num, + pid: f_val[0].id, + label: dir[j], + bak: clabel + } + str.push(val) } - }) - var c_Data = str.filter(rs => { - if (rs.bak == clabel) { - return rs; - } - }) - if (f_val.length != 0 && c_Data.length == 0) { - num++; - var val = { - id: num, - pid: f_val[0].id, - label: dir[j], - bak: clabel - } - str.push(val) - } - } else { - var clabel1 = dir[0] - for (var k = 1; k < j; k++) { - clabel1 = clabel1 + "/" + dir[k]; - } - var f_val = []; - for (var w in str) { - if (str[w].label == dir[j - 1]) { - if (str[w].bak == clabel1) { - f_val.push(str[w]) + } else { + var clabel1 = dir[0] + for (var k = 1; k < j; k++) { + clabel1 = clabel1 + "/" + dir[k]; + } + var f_val = []; + for (var w in str) { + if (str[w].label == dir[j - 1]) { + if (str[w].bak == clabel1) { + f_val.push(str[w]) + } } } - } - var clabel2 = clabel1 + "/" + dir[j] - var c_Data = str.filter(rs => { - if (rs.bak == clabel2) { - return rs; + var clabel2 = clabel1 + "/" + dir[j] + var c_Data = str.filter(rs => { + if (rs.bak == clabel2) { + return rs; + } + }) + if (f_val.length != 0 && c_Data.length == 0) { + num++; + var val = { + id: num, + pid: f_val[0].id, + label: dir[j], + bak: clabel2 + } + str.push(val) } - }) - if (f_val.length != 0 && c_Data.length == 0) { - num++; - var val = { - id: num, - pid: f_val[0].id, - label: dir[j], - bak: clabel2 - } - str.push(val) } } + } else { + num++; + var val = { + id: num, + pid: -1, + label: dir[0], + bak: dir[0] + } + str.push(val) + + } + } return str @@ -146,25 +161,32 @@ var str = []; for (var i in result) { var dir = result[i].bak.split('/'); - var f_filter = dataFilter(std, dir[0]); - if (f_filter.length == 0) { - std.push(dir[0]) - num++ - str.push({ - id: num, - pid: -1, - label: dir[0] - }) + if (dir.length > 1) { + var f_filter = dataFilter(std, dir[0]); + + if (f_filter.length == 0) { + std.push(dir[0]) + num++ + str.push({ + id: num, + pid: -1, + label: dir[0] + }) + } } + } + return str; } //閬嶅巻鍖归厤鑾峰彇鏁版嵁 function dataFilter(result, bak) { let val = result.filter(res => { + if (res == bak) { return res; } }) + return val; } \ No newline at end of file diff --git a/src/views/datamanage/dataUpdata.vue b/src/views/datamanage/dataUpdata.vue index 5a701b0..4105f52 100644 --- a/src/views/datamanage/dataUpdata.vue +++ b/src/views/datamanage/dataUpdata.vue @@ -83,50 +83,62 @@ </el-form-item> <!-- 浼犳劅鍣ㄧ被鍨� --> <el-form-item - :label="$t('dataManage.dataUpObj.dataVersion')" + :label="$t('dataManage.dataUpObj.sensorType')" style="margin-right: 2%" size="small" > <el-select :popper-append-to-body="false" - :disabled="tableData.length == 0 ? false : true" - v-model="formInline.verid" + v-model="formInline.sensorType" :placeholder="$t('common.choose')" size="small" > <el-option - v-for="item in verOption" - :key="item.id" + v-for="item in sensorOption" + :key="item.value" :label="item.name" - :value="item.id" + :value="item.value" > </el-option> </el-select> </el-form-item> <!-- 鍏冩暟鎹被鍨� --> <el-form-item - :label="$t('dataManage.dataUpObj.dataVersion')" + :label="$t('dataManage.dataUpObj.metadataType')" style="margin-right: 2%" size="small" > <el-select :popper-append-to-body="false" - :disabled="tableData.length == 0 ? false : true" - v-model="formInline.verid" + v-model="formInline.mataType" :placeholder="$t('common.choose')" size="small" > <el-option - v-for="item in verOption" - :key="item.id" + v-for="item in metaOption" + :key="item.value" :label="item.name" - :value="item.id" + :value="item.value" > </el-option> </el-select> </el-form-item> <div class="flex_box"> <div style="margin-right: auto"> + + <!-- 閲囬泦鏃堕棿 --> + <el-form-item + :label="$t('dataManage.dataUpObj.collectionTime')" + size="small" + > + <el-date-picker + v-model="formInline.acqTime" + type="datetime" + placeholder="璇烽�夋嫨閲囬泦鏃堕棿" + > + </el-date-picker> + </el-form-item> + <!-- 閫夋嫨鏁版嵁 --> <el-form-item size="small"> <el-link @@ -201,7 +213,7 @@ >{{ $t('common.Warehousin') }} </el-button> <!-- 璐ㄦ --> - <el-button + <!-- <el-button style="margin-right:-9px" v-if="menuStatus.insert" :disabled="multipleSelection.length == 0 ? true : false" @@ -210,7 +222,7 @@ icon="el-icon-folder-checked" @click="handleQuayTestClick()" >{{ $t('common.quayTest') }} - </el-button> + </el-button> --> </el-form-item> </div> @@ -318,7 +330,7 @@ </div> <div> <el-form-item> - <el-button + <!-- <el-button v-if="menuStatus.upload" :disabled="multipleDelete.length == 0 ? true : false" @click="setEnclosure" @@ -326,7 +338,7 @@ type="success" size="small" >{{ $t('common.enclosure') }} - </el-button> + </el-button> --> <el-button v-if="menuStatus.delete" @click="setWarehouseDel" @@ -1308,6 +1320,7 @@ dataUpload_selectMetaById, selectdirTab, } from "../../api/api"; +import { meta_type, sensor_type } from "./js/layerManage"; export default { name: "dataUpdata", @@ -1318,34 +1331,7 @@ return { coordinateOption: [], disOptions: [ - { - name: "宕╁娌荤悊", - value: "宕╁娌荤悊", - }, - { - name: "涓嶇ǔ瀹氭枩鍧℃不鐞�", - value: "涓嶇ǔ瀹氭枩鍧℃不鐞�", - }, - { - name: "鍦伴潰濉岄櫡娌荤悊", - value: "鍦伴潰濉岄櫡娌荤悊", - }, - { - name: "楂橀櫋杈瑰潯娌荤悊", - value: "楂橀櫋杈瑰潯娌荤悊", - }, - { - name: "娉ョ煶娴佹不鐞�", - value: "娉ョ煶娴佹不鐞�", - }, - { - name: "姘存瘉娌荤悊", - value: "姘存瘉娌荤悊", - }, - { - name: "婊戝潯娌荤悊", - value: "婊戝潯娌荤悊", - }, + ], testQuayVisible: false, formCheckAll: { @@ -1423,6 +1409,9 @@ coordinateId: null, path: null, verid: null, + sensorType: 0, + mataType: 0, + acqTime: null }, cascader: { label: "name", @@ -1431,22 +1420,7 @@ emitPath: false, }, specialtyOption: [ - { - value: "娴嬮噺涓撲笟", - label: "娴嬮噺涓撲笟", - }, - { - value: "鍕樺療涓撲笟", - label: "鍕樺療涓撲笟", - }, - { - value: "鍦扮伨涓撲笟", - label: "鍦扮伨涓撲笟", - }, - { - value: "娲炲簱涓撲笟", - label: "娲炲簱涓撲笟", - }, + ], fileType: [], pathBak: null, @@ -1519,15 +1493,18 @@ }, warehouseDialog: false, wareData: [], + metaOption: [], + sensorOption: [] }; }, mounted() { - + //鑾峰彇浼犳劅鍣ㄥ厓鏁版嵁绫诲瀷 + this.getSensorMeta() //鑾峰彇鍧愭爣绯� - this.setCoordinateSystem(); + // this.setCoordinateSystem(); //鑾峰彇椤圭洰鍚嶇О - this.setProjectName(); + // this.setProjectName(); //鑾峰彇鏂囦欢涓婁紶璺緞 this.getFilePath(); //鏉冮檺鑾峰彇 @@ -1543,6 +1520,10 @@ }, watch: {}, methods: { + getSensorMeta() { + this.metaOption = meta_type; + this.sensorOption = sensor_type; + }, stateFormat(row, column) { var val = ['shp', 'gdb', 'xls', 'xlsx'] if (val.indexOf(row.type) > -1 && row.rows > 0) { @@ -1859,11 +1840,11 @@ '-' + this.add0(d) + ' ' + - h + + this.add0(h) + ':' + - mm + + this.add0(mm) + ':' + - s + this.add0(s) ); }, //鑷姩鍖归厤鍙栨秷 @@ -1899,6 +1880,15 @@ res.isMeta = true; } }); + } + var time = null; + if (this.formInline.acqTime) { + time = this.changetimeLayer(this.formInline.acqTime) + } + for (var i in this.insertWareList) { + this.insertWareList[i].mataType = this.formInline.mataType; + this.insertWareList[i].sensortype = this.formInline.sensorType; + this.insertWareList[i].acqTime = time.toString(); } @@ -2067,7 +2057,7 @@ this.loading = true; var obj = { dirid: this.formInline.dirid, - epsgCode: this.formInline.coordinateId, + epsgCode: 'EPSG:4490', path: this.formInline.path, verid: this.formInline.verid, }; @@ -2391,9 +2381,9 @@ this.formInline.specialtyData = "璇烽�夋嫨鏁版嵁"; document.getElementById("selectDataFile").value = ""; this.formInline.metaData = "璇烽�夋嫨鍏冩暟鎹�"; - document.getElementById("metaDataFile").value = ""; + // document.getElementById("metaDataFile").value = ""; this.formInline.wbsData = "璇烽�夋嫨WBS鏁版嵁"; - document.getElementById("wbsDataFile").value = ""; + // document.getElementById("wbsDataFile").value = ""; }, //鑾峰彇涓婁紶鏂囦欢鏁伴噺 async getFileLength() { @@ -2577,8 +2567,8 @@ }, //閲嶇疆WPS閫夋嫨 restWBSFile() { - this.formInline.wbsData = "璇烽�夋嫨WBS鏁版嵁"; - document.getElementById("wbsDataFile").value = ""; + // this.formInline.wbsData = "璇烽�夋嫨WBS鏁版嵁"; + // document.getElementById("wbsDataFile").value = ""; }, //WBS鏁版嵁Change浜嬩欢 handleWBSFileChange(event) { @@ -2731,6 +2721,7 @@ }, //鏍煎紡鍖栨椂闂� add0(m) { + return m < 10 ? "0" + m : m; }, //澶у皬鍊兼敼鍙� @@ -2799,8 +2790,8 @@ }, //閲嶇疆鍏冩暟鎹� restMetaFile() { - this.formInline.metaData = "璇烽�夋嫨鍏冩暟鎹�"; - document.getElementById("metaDataFile").value = ""; + // this.formInline.metaData = "璇烽�夋嫨鍏冩暟鎹�"; + // document.getElementById("metaDataFile").value = ""; }, //閫夋嫨鍏冩暟鎹枃浠跺垏鎹� handleMetaFileChange(event) { diff --git a/src/views/datamanage/dictionaryManage.vue b/src/views/datamanage/dictionaryManage.vue index 74b2aa5..acf6914 100644 --- a/src/views/datamanage/dictionaryManage.vue +++ b/src/views/datamanage/dictionaryManage.vue @@ -679,6 +679,7 @@ this.insertform.tabDesc = val.tabDesc; this.insertform.ns = val.ns; this.activeName = val.tab; + this.listData.pageIndex = 1; this.listData.tab = val.tab; this.listData.ns = val.ns; this.startQueryNameData(); @@ -815,6 +816,7 @@ this.$message.error("鍒楄〃璋冪敤澶辫触"); } var val = JSON.parse(JSON.stringify(data.result)); + var tree = getTreeData(data.result); this.domainData = tree this.getQueryNameData(tree[0]); diff --git a/src/views/datamanage/js/layerManage.js b/src/views/datamanage/js/layerManage.js index de6040e..576554f 100644 --- a/src/views/datamanage/js/layerManage.js +++ b/src/views/datamanage/js/layerManage.js @@ -88,4 +88,61 @@ value: 0 } +] +export const meta_type = [ + { + name: '璇烽�夋嫨鍏冩暟鎹被鍨�', + value: 0 + }, { + name: '鏁板瓧姝e皠褰卞儚鍥�', + value: 1, + }, { + name: '鏁板瓧楂樼▼妯″瀷', + value: 2, + }, { + name: '鍗曟尝娈垫爡鏍兼暟鎹�', + value: 3, + }, { + name: '澶氬厜璋辨爡鏍兼暟鎹�', + value: 4, + }, { + name: '楂樺厜璋辨爡鏍兼暟鎹�', + value: 5, + }, { + name: '鐭㈤噺鏁版嵁', + value: 6, + }, { + name: '涓夌淮妯″瀷', + value: 7, + } +] +export const sensor_type = [ + { + name: '璇烽�夋嫨浼犳劅鍣ㄧ被鍨�', + value: 0 + }, { + name: '瀚﹀ē涓�鍙�', + value: 1, + }, { + name: '瀚﹀ē浜屽彿', + value: 2, + }, { + name: '绉戞櫘鏁欒偛', + value: 3, + }, { + name: '鍏嬭幈闂ㄦ眬', + value: 4, + }, { + name: '鏈堢悆鎺㈠嫎鑰�', + value: 5, + }, { + name: '鏈堜寒濂崇', + value: 6, + }, { + name: '鏈堢悆鍕樻祴杞ㄩ亾鍣�', + value: 7, + }, { + name: '鍦f澂鍙�', + value: 8, + } ] \ No newline at end of file diff --git a/src/views/datamanage/layerManagement.vue b/src/views/datamanage/layerManagement.vue index e68c5a3..7e19901 100644 --- a/src/views/datamanage/layerManagement.vue +++ b/src/views/datamanage/layerManagement.vue @@ -1000,9 +1000,10 @@ orderNum = this.getMaxOrderNum(pchildNodes); lever = this.formInline.level; } else { - id = 0; - orderNum = 1; - lever = 1; + let pchildNodes = this.$refs.tree.getNode(this.newNode.id).parent.childNodes + orderNum = this.getMaxOrderNum(pchildNodes); + lever = this.formInline.level; + id = this.formInline.pid; } } else if (res == 2) { //鏂板瀛愮骇 @@ -1014,7 +1015,7 @@ this.insertData.pid = id; this.insertData.level = lever; this.insertData.orderNum = orderNum; - + debugger this.dialogVisible = true; }, getMaxOrderNum(res) { diff --git a/src/views/datamanage/projectionLayerManagement.vue b/src/views/datamanage/projectionLayerManagement.vue index 2d98b24..8673fed 100644 --- a/src/views/datamanage/projectionLayerManagement.vue +++ b/src/views/datamanage/projectionLayerManagement.vue @@ -1002,9 +1002,10 @@ orderNum = this.getMaxOrderNum(pchildNodes); lever = this.formInline.level; } else { - id = 0; - orderNum = 1; - lever = 1; + let pchildNodes = this.$refs.tree.getNode(this.newNode.id).parent.childNodes + orderNum = this.getMaxOrderNum(pchildNodes); + lever = this.formInline.level; + id = this.formInline.pid; } } else if (res == 2) { diff --git a/src/views/resourceQuery/resourceQuery.vue b/src/views/resourceQuery/resourceQuery.vue index 79ba022..7abc8fe 100644 --- a/src/views/resourceQuery/resourceQuery.vue +++ b/src/views/resourceQuery/resourceQuery.vue @@ -29,12 +29,12 @@ <el-form-item label="浼犳劅鍣ㄧ被鍨�"> <el-select style="width: 100%" - v-model="form.region" + v-model="form.sensorType" placeholder="" > <el-option - v-for="(e, i) in stretchOptions" - :label="e.label" + v-for="(e, i) in sensorOption" + :label="e.name" :value="e.value" :key="i" /> @@ -43,12 +43,12 @@ <el-form-item label="鏁版嵁绫诲瀷"> <el-select style="width: 100%" - v-model="form.region" + v-model="form.mataType" placeholder="" > <el-option - v-for="(e, i) in stretchOptions" - :label="e.label" + v-for="(e, i) in metaOption" + :label="e.name" :value="e.value" :key="i" /> @@ -57,7 +57,7 @@ <el-form-item label="鏃堕棿鑼冨洿"> <el-date-picker style="width: 100%" - v-model="form.time" + v-model="form.acqTime" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" @@ -66,12 +66,7 @@ > </el-date-picker> </el-form-item> - <el-form-item> - <!-- <div class="btnstyle editBtn"> - <el-button type="primary" @click="onSubmit">纭畾</el-button> - <el-button class="delbtn">鍙栨秷</el-button> - </div> --> - </el-form-item> + </el-form> <div class="KJCX"> <div class="KJCX_title">绌洪棿鏌ヨ</div> @@ -104,6 +99,13 @@ <span>澶氳竟褰�</span> <div class="btn_bg db"></div> </div> + <div + class="KJCX_btn" + @click="setDrawMenu(5)" + > + <span>娓呴櫎</span> + <div class="btn_bg db"></div> + </div> </div> </div> </div> @@ -118,33 +120,39 @@ <el-button type="primary" class="btnbox" + @click="setQueryRetrieval" >妫�绱�</el-button> </div> <div> <el-button type="primary" class="btnbox delbtn" + @click="setQueryRestRetrieval" >閲嶇疆</el-button> </div> </div> </div> - <div v-show="listDialog"> - </div> - <!-- <div class="pagination"> + <div + class="pagination" + v-show="listDialog" + > <el-pagination small @size-change="handleSizeChange" @current-change="handleCurrentChange" - :current-page="currentPage4" + :current-page="form.pageIndex" :page-sizes="[100, 200, 300, 400]" - :page-size="100" + :page-size="form.pageSize" layout="sizes, prev, pager, next, jumper" - :total="400" + :total="form.count" > </el-pagination> - </div> --> - <!-- <div class="list_box"> + </div> + <div + class="list_box" + v-show="listDialog" + > <div class="list" v-for="(e, i) in list" @@ -180,10 +188,13 @@ <i class="el-icon-more"></i> </div> </div> - </div> --> - <!-- <div class="bottom_box"> - <span class="msg_box">鏄剧ず绗瑊{ paginationData.pageNo }}鍒皗{ - paginationData.pageSize + </div> + <div + class="bottom_box" + v-show="listDialog" + > + <span class="msg_box">鏄剧ず绗瑊{ (( (form.pageIndex - 1)*form.pageSize)+1 )}}鍒皗{(form.pageIndex*form.pageSize) + }}鏉★紝鍏眥{ list.length }}鏉¤褰曪紝宸查�夋嫨{{ listChecked.length }}鏉�</span> @@ -191,17 +202,20 @@ <el-button type="primary" class="btnbox" + @click="setListCheckAll" >鍏ㄩ��</el-button> <el-button type="primary" class="btnbox delbtn" + @click="setListRemoveCheckAll" >鍙栨秷</el-button> </div> - </div> --> + </div> </div> <div class="details_box" v-show="detailsBox" + v-drag="true" > <div class="details_t"> <i @@ -214,14 +228,17 @@ <div class="table_td">灞炴��</div> <div class="table_td">灞炴�у��</div> </div> - <div - class="table_tr" - v-for="(e, i) in tableList" - :key="i" - > - <div class="table_td">{{ e.name }}</div> - <div class="table_td">{{ e.value }}</div> + <div style="height: 430px;overflow: auto;"> + <div + class="table_tr" + v-for="(e,key, i) in tableList" + :key="i" + > + <div class="table_td">{{ key}}</div> + <div class="table_td">{{ e }}</div> + </div> </div> + </div> </div> <el-dialog @@ -262,6 +279,8 @@ <script> import * as turf from "@turf/turf" import moonMap from "../../components/MapView/moonMap.vue"; //鍦板浘 +import { meta_type, sensor_type } from "../datamanage/js/layerManage"; +import { select_meta_ByPageAndCount, encr } from '../../api/api' export default { components: { moonMap, @@ -273,89 +292,84 @@ pageSize: 10, }, tableList: [ - { - name: "dataid", - value: "LC81350352022001LGN00", - }, - { - name: "satellite", - value: "LANDSAT8", - }, - { - name: "datatype", - value: "OLLTIRS", - }, - { - name: "ines samples", - value: "7931.0", - }, - { - name: "sensor", - value: "7811.0", - }, + ], listChecked: [], list: [ - { - name: "鍚嶇О", - CQWZ: "浣嶇疆", - time: "鏃堕棿", - data: "澶у皬", - checked: false, - }, - { - name: "鍚嶇О", - CQWZ: "浣嶇疆", - time: "鏃堕棿", - data: "澶у皬", - checked: false, - }, - { - name: "鍚嶇О", - CQWZ: "浣嶇疆", - time: "鏃堕棿", - data: "澶у皬", - checked: false, - }, - { - name: "鍚嶇О", - CQWZ: "浣嶇疆", - time: "鏃堕棿", - data: "澶у皬", - checked: false, - }, + ], currentPage4: 4, form: { name: "", - region: "", - selectName: "", - layerUrl: "", - children: [], - value1: "", + sensorType: 0, + mataType: 0, + acqTime: null, + wkt: null, + pageIndex: 1, + pageSize: 100, + count: 0, }, - stretchOptions: [ - { - value: "鐩綍", - label: "鐩綍", - }, - ], + sensorOption: [], + metaOption: [], detailsBox: false, listDialog: false, leftDialog: true, drawType: null, dialogVisible: false, bufferNumber: 100, + geoWkt: null, + wktEntity: null }; }, methods: { - details(val) { - this.detailsBox = true; + setListCheckAll() { + for (var i in this.list) { + var checked = this.list[i].checked + if (!checked) { + this.list[i].checked = true; + this.listChecked.push(this.list[i]); + } + } }, + setListRemoveCheckAll() { + for (var i in this.list) { + this.list[i].checked = false; + } + this.listChecked = []; + }, + details(e) { + this.detailsBox = true; + this.tableList = e; + }, + setQueryRestRetrieval() { + this.listDialog = false; + this.setFromStart(); + this.setDrawMenu(5); + this.listChecked = []; + }, + async setQueryRetrieval() { + if (this.geoWkt) { + this.form.wkt = encr(this.geoWkt) + } else { + this.form.wkt = null; + } + const data = await select_meta_ByPageAndCount(this.form); + if (data.code != 200) return; + this.form.count = data.count; + this.list = data.result; + this.listDialog = true; + }, + handleSizeChange(val) { - console.log(`姣忛〉 ${val} 鏉); + this.form.pageIndex = 1; + this.form.pageSize = val; + this.setQueryRetrieval(); + }, handleCurrentChange(val) { + this.form.pageIndex = val; + this.setQueryRetrieval(); + console.log(`褰撳墠椤�: ${val}`); }, checkedList(val) { @@ -367,7 +381,7 @@ if (this.listChecked.length > 0) { if (!val.checked) { this.listChecked.forEach((e, i) => { - if (e.name == val.name) { + if (e.id == val.id) { this.listChecked.splice(i, 1); } }); @@ -393,6 +407,9 @@ this.drawType = 'polygon'; this.setDrawEntity(); break + case 5: + this.setClearWktGeom(); + break } }, handleClose() { @@ -410,6 +427,9 @@ var config = {} if (this.drawType != 'point') { config = { showSize: false } + } + if (this.wktEntity) { + this.setClearWktGeom(); } var that = this; sgworld.Creator.createSimpleGraphic(this.drawType, config, (entity) => { @@ -433,8 +453,43 @@ res_val = res.polygon.hierarchy.getValue().positions; break; } - var val = this.getEntityGeometry(res_val, this.drawType) - debugger + this.geoWkt = this.getEntityGeometry(res_val, this.drawType) + if (this.geoWkt) { + + this.setAddWktEntity(this.geoWkt) + } + + }, + setAddWktEntity(res) { + var wkt = this.$wkt.parse(res).coordinates[0]; + var geom = []; + for (var i in wkt) { + + geom.push(Cesium.Cartesian3.fromDegrees(wkt[i][0], wkt[i][1], wkt[i][2] ?? 0)) + } + this.wktEntity = Viewer.entities.add({ + name: '璧勬簮鏌ヨ', + polygon: { + hierarchy: geom, + material: Cesium.Color.BLUE.withAlpha(0), + heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, + outline: true, + outlineColor: Cesium.Color.GREEN, + outlineWidth: 5, + classificationType: Cesium.ClassificationType.BOTH,//璐村湴褰㈠拰3dtile + clampToGround: true,//寮�鍚创鍦� + height: 0, + }, + + }); + }, + setClearWktGeom() { + if (this.wktEntity) { + Viewer.entities.remove(this.wktEntity) + this.wktEntity = null; + this.geoWkt = null; + } + }, getEntityGeometry(res, type) { var res_val; @@ -503,9 +558,29 @@ std.lng = Cesium.Math.toDegrees(cartographic.longitude) std.alt = cartographic.height return std + }, + getSensorMeta() { + this.metaOption = meta_type; + this.sensorOption = sensor_type; + }, + setFromStart() { + this.form = { + name: "", + sensorType: 0, + mataType: 0, + acqTime: null, + wkt: null, + pageIndex: 1, + pageSize: 100, + count: 0, + } } }, created() { }, + mounted() { + this.getSensorMeta(); + this.setFromStart(); + } }; </script> @@ -524,7 +599,7 @@ background-size: 100% 100%; } .left_box { - width: 427px; + min-width: 427px; height: auto; left: 10px; top: 10px; @@ -645,8 +720,9 @@ } .list_box { overflow: auto; - // height: 350px; - height: 42%; + height: 350px; + //height: 42%; + .list { padding: 10px; background: #0d131d; @@ -730,6 +806,7 @@ .details_box { width: 533px; // height: 430px; + overflow: auto; background: rgba(7, 8, 14, 0.8); padding: 10px; position: absolute; -- Gitblit v1.9.3