zbcx_ckyc 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/package.json +90 -0
- package/src/plugins/app/com/CesiumTool.js +730 -0
- package/src/plugins/app/com/MapMethods.js +355 -0
- package/src/plugins/app/com/MapTool.vue +772 -0
- package/src/plugins/app/com/MenuRouter.vue +157 -0
- package/src/plugins/app/com/ParamsDes.vue +35 -0
- package/src/plugins/app/com/SelCoorSys.vue +235 -0
- package/src/plugins/app/com/WebProj4.js +32 -0
- package/src/plugins/app/com/measure.js +127 -0
- package/src/plugins/app/com/yx.js +238 -0
- package/src/plugins/app/modelmanagement/D3DrawGraph.js +708 -0
- package/src/plugins/app/modelmanagement/MineralGo.vue +241 -0
- package/src/plugins/app/modelmanagement/MineralModel.vue +1203 -0
- package/src/plugins/app/modelmanagement/ModelCloudmap.vue +69 -0
- package/src/plugins/app/modelmanagement/ModelMst.vue +60 -0
- package/src/plugins/app/modelmanagement/ModelSy.vue +173 -0
- package/src/plugins/app/modelmanagement/ModelTp.vue +51 -0
- package/src/plugins/app/modelmanagement/ModelUpload.vue +774 -0
- package/src/plugins/app/znycpjxt/Api.js +714 -0
- package/src/plugins/app/znycpjxt/Bf/AttFactory.js +25 -0
- package/src/plugins/app/znycpjxt/Bf/IAnomalyhandle.js +102 -0
- package/src/plugins/app/znycpjxt/Bf/IComposeanomaly.js +140 -0
- package/src/plugins/app/znycpjxt/Bf/IContinueanaly.js +138 -0
- package/src/plugins/app/znycpjxt/Bf/IContrastanaly.js +138 -0
- package/src/plugins/app/znycpjxt/Bf/ICustomNode.js +145 -0
- package/src/plugins/app/znycpjxt/Bf/IDerivanaly.js +139 -0
- package/src/plugins/app/znycpjxt/Bf/IFilterananly.js +141 -0
- package/src/plugins/app/znycpjxt/Bf/IMeananaly.js +137 -0
- package/src/plugins/app/znycpjxt/Bf/IModelNodeBase.js +135 -0
- package/src/plugins/app/znycpjxt/Bf/IMoveaverage.js +135 -0
- package/src/plugins/app/znycpjxt/Bf/IReducepole.js +141 -0
- package/src/plugins/app/znycpjxt/Bf/ISmoothanaly.js +135 -0
- package/src/plugins/app/znycpjxt/Bf/ITrendanaly.js +144 -0
- package/src/plugins/app/znycpjxt/Bf/IVector2grd.js +144 -0
- package/src/plugins/app/znycpjxt/Bf/IYcfj.js +84 -0
- package/src/plugins/app/znycpjxt/Bf/IYcxxjs.js +105 -0
- package/src/plugins/app/znycpjxt/Bf/IYgsbtq.js +112 -0
- package/src/plugins/app/znycpjxt/Bf/IYgtxrh.js +112 -0
- package/src/plugins/app/znycpjxt/Bf/Iinteranaly.js +135 -0
- package/src/plugins/app/znycpjxt/Bf/index.js +44 -0
- package/src/plugins/app/znycpjxt/Bf/input/InputData.js +21 -0
- package/src/plugins/app/znycpjxt/Bf/input/InputExcel.js +28 -0
- package/src/plugins/app/znycpjxt/Bf/input/InputKd.js +31 -0
- package/src/plugins/app/znycpjxt/Bqqd/Bqqd.vue +380 -0
- package/src/plugins/app/znycpjxt/Bqqd/BqqdMap.vue +1046 -0
- package/src/plugins/app/znycpjxt/Bqqd/SetOpacity.vue +101 -0
- package/src/plugins/app/znycpjxt/Bqqd/SjzxTree.vue +244 -0
- package/src/plugins/app/znycpjxt/Bqqd/YclsjjTree.vue +212 -0
- package/src/plugins/app/znycpjxt/Bqqd/api/DsjzxApi.js +37 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmx.vue +161 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/CfgGloalParams.vue +92 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/CfgNodeFlds.vue +102 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/CfgNodeParams.vue +277 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/Ckycmxgl.vue +303 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/SetLabelParam.vue +68 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/SetModelParam.vue +69 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Ckycmxtab.vue +107 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Dtzzylwl.vue +156 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Jjsjwl.vue +230 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Sjsl.vue +126 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zcxlj.vue +128 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zjq.vue +123 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zstp.vue +271 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zzylwl.vue +149 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/coms/ParamsData.vue +323 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/coms/ParamsDataNew.vue +336 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/coms/QqtEcharts.vue +137 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycrwgl/Ckycrwgl.vue +290 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeApi.js +83 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeEditor/CodeEditor.md +36 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeEditor/CodeEditor.vue +227 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeEditor/PlugCodeEditor.vue +78 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeEditor/demo/basic.png +0 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeEditor/demo/basic.vue +27 -0
- package/src/plugins/app/znycpjxt/CusTools/DmbjForm.vue +76 -0
- package/src/plugins/app/znycpjxt/CusTools/DmfbForm.vue +351 -0
- package/src/plugins/app/znycpjxt/CusTools/GjForm.vue +206 -0
- package/src/plugins/app/znycpjxt/CusTools/Gjbjyfb.vue +200 -0
- package/src/plugins/app/znycpjxt/CusTools/ParamSelect.vue +222 -0
- package/src/plugins/app/znycpjxt/CusTools/ParamSelect2.vue +204 -0
- package/src/plugins/app/znycpjxt/CusTools/Zngjj.vue +105 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/DataAnlyModel.vue +134 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Hgfx/HgfxEcharts.vue +98 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Hgfx/HgfxTab.vue +73 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Hgfx.vue +101 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Jctj/JctjjgTab.vue +70 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Jctj/Plzft.vue +154 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Jctj.vue +118 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Jlfx/JlfxImg.vue +80 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Jlfx.vue +91 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/PCAfx/PcaTab.vue +161 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/PCAfx.vue +101 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Qqt/QqtEcharts.vue +202 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Qqt.vue +88 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Xgxfx/XgxfxImg.vue +80 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Xgxfx.vue +96 -0
- package/src/plugins/app/znycpjxt/DatasetMan/CreateDataset.vue +296 -0
- package/src/plugins/app/znycpjxt/DatasetMan/DatasetMan.vue +141 -0
- package/src/plugins/app/znycpjxt/DatasetMan/PreData.js +91 -0
- package/src/plugins/app/znycpjxt/DatasetMan/PreData.vue +545 -0
- package/src/plugins/app/znycpjxt/DatasetMan/PreDataApi.js +101 -0
- package/src/plugins/app/znycpjxt/DatasetMan/SelData.vue +186 -0
- package/src/plugins/app/znycpjxt/DatasetMan/SjTree.vue +130 -0
- package/src/plugins/app/znycpjxt/DatasetMan/Sjj.vue +478 -0
- package/src/plugins/app/znycpjxt/DatasetMan/Yclsjj.vue +445 -0
- package/src/plugins/app/znycpjxt/DatasetMan/Yssjj.vue +389 -0
- package/src/plugins/app/znycpjxt/DocList/DocList.vue +496 -0
- package/src/plugins/app/znycpjxt/DocList/unit/DocItem.vue +137 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Dchj.vue +107 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/GeophysicalAnomaly.vue +115 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Jxyt.vue +98 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Lbjs.vue +127 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Pjcjs.vue +103 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Qdjs.vue +103 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/ExceptHandlModel.vue +163 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Cdjs.vue +102 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Czfx.vue +163 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/GetFormData.vue +343 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Hdpj.vue +100 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Pjtd.vue +90 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Qsfx.vue +109 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/ResultOnlyData.vue +121 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/ResultTable.vue +231 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/UniversalComputing.vue +139 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Xgxsjs.vue +93 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Xxsjs.vue +90 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Ycfj.vue +116 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Yhcl.vue +100 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/AnomalsGard.vue +91 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/Dqhxycht.vue +113 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/GeocAnomalies.vue +99 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/JgTableList.vue +203 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/Lszcl.vue +110 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/Ycxxjs.vue +116 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/GeoAnomalyExtraction.vue +108 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/coms/AttWeight.vue +99 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/coms/Ckdctq.vue +98 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/coms/LeftForm.vue +266 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/ygyctq/Ygsbtq.vue +150 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/ygyctq/Ygtxrh.vue +107 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/ygyctq/ygyctq.vue +98 -0
- package/src/plugins/app/znycpjxt/Index/DataCard.vue +45 -0
- package/src/plugins/app/znycpjxt/Index/Index.vue +123 -0
- package/src/plugins/app/znycpjxt/Rzgl/Rzgl.vue +156 -0
- package/src/plugins/app/znycpjxt/coms/CmapColor.vue +70 -0
- package/src/plugins/app/znycpjxt/coms/CustomFileView.vue +343 -0
- package/src/plugins/app/znycpjxt/coms/CustomForm.vue +220 -0
- package/src/plugins/app/znycpjxt/coms/GrdView.vue +355 -0
- package/src/plugins/app/znycpjxt/coms/LeftForm.vue +195 -0
- package/src/plugins/app/znycpjxt/coms/MakeData.js +472 -0
- package/src/plugins/app/znycpjxt/coms/PreView.js +55 -0
- package/src/plugins/app/znycpjxt/coms/RightContent.vue +71 -0
- package/src/plugins/app/znycpjxt/coms/TableEarth.vue +259 -0
- package/src/plugins/app/znycpjxt/intellPred/ModelList.vue +200 -0
- package/src/plugins/app/znycpjxt/intellPred/coms/D3DrawGraph.js +634 -0
- package/src/plugins/app/znycpjxt/intellPred/coms/MineralGo.vue +249 -0
- package/src/plugins/app/znycpjxt/intellPred/coms/ModelCard.vue +298 -0
- package/src/plugins/app/znycpjxt/intellPred/coms/ModelEdit.vue +292 -0
- package/src/plugins/app/znycpjxt/intellPred/coms/ModelSpecif.vue +46 -0
- package/src/plugins/app/znycpjxt/intellPred/intellPred.vue +71 -0
- package/src/plugins/bf/BfApi.js +92 -0
- package/src/plugins/bf/BfColAdd.vue +78 -0
- package/src/plugins/bf/BfColEdit.vue +68 -0
- package/src/plugins/bf/BfColFilter.vue +112 -0
- package/src/plugins/bf/BfDataGroup.vue +80 -0
- package/src/plugins/bf/BfDataPreview.vue +118 -0
- package/src/plugins/bf/BfDataStat.vue +81 -0
- package/src/plugins/bf/BfDuplicateDel.vue +82 -0
- package/src/plugins/bf/BfProcCall.vue +82 -0
- package/src/plugins/bf/BfRunHis.vue +289 -0
- package/src/plugins/bf/BfRunParams.vue +94 -0
- package/src/plugins/bf/BfSaveFlow.vue +186 -0
- package/src/plugins/bf/BfSelFlow.vue +123 -0
- package/src/plugins/bf/BfTabCombine.vue +127 -0
- package/src/plugins/bf/BfTabJoin.vue +108 -0
- package/src/plugins/bf/BfTabMerge.vue +68 -0
- package/src/plugins/bf/BfTabReader.vue +126 -0
- package/src/plugins/bf/BfValFormat.vue +68 -0
- package/src/plugins/bf/BfValNumber.vue +68 -0
- package/src/plugins/bf/BfValProc.vue +78 -0
- package/src/plugins/bf/BfValSort.vue +78 -0
- package/src/plugins/bf/BiFlow.vue +1177 -0
- package/src/plugins/bf/IBfPlug.js +205 -0
- package/src/plugins/bf/coms/ColAdd.vue +75 -0
- package/src/plugins/bf/coms/ColEdit.vue +52 -0
- package/src/plugins/bf/coms/ColList.vue +91 -0
- package/src/plugins/bf/coms/DataGroup.vue +90 -0
- package/src/plugins/bf/coms/DataStat.vue +67 -0
- package/src/plugins/bf/coms/EditTable.vue +161 -0
- package/src/plugins/bf/coms/NodeTree.vue +105 -0
- package/src/plugins/bf/coms/PlugCmd.vue +95 -0
- package/src/plugins/bf/coms/RunParams.vue +68 -0
- package/src/plugins/bf/coms/TabCombine.vue +60 -0
- package/src/plugins/bf/coms/TabJoin.vue +69 -0
- package/src/plugins/bf/coms/ValFormat.vue +53 -0
- package/src/plugins/bf/coms/ValProc.vue +77 -0
- package/src/plugins/bf/coms/ValSort.vue +89 -0
- package/src/plugins/bf/parts/Icon.vue +105 -0
- package/src/plugins/bf/parts/Rect.vue +98 -0
- package/src/plugins/bf/parts/index.js +11 -0
- package/src/plugins/cxMixin/IAttBase.js +78 -0
- package/src/plugins/cxMixin/IAttDlg.js +45 -0
- package/src/plugins/cxMixin/IAttProc.js +98 -0
- package/src/plugins/cxMixin/IComBase.js +42 -0
- package/src/plugins/cxMixin/IContextMenu.js +74 -0
- package/src/plugins/cxMixin/IDataAcce.js +1106 -0
- package/src/plugins/cxMixin/IDataList.js +775 -0
- package/src/plugins/cxMixin/IDataMan.js +1670 -0
- package/src/plugins/cxMixin/IDataMan2.js +2561 -0
- package/src/plugins/cxMixin/IDataProc.js +379 -0
- package/src/plugins/cxMixin/IDatagrid.js +234 -0
- package/src/plugins/cxMixin/IEditableDg.js +477 -0
- package/src/plugins/cxMixin/IExpBase.js +51 -0
- package/src/plugins/cxMixin/IFormBase.js +29 -0
- package/src/plugins/cxMixin/IGridBpm.js +732 -0
- package/src/plugins/cxMixin/IGridData.js +109 -0
- package/src/plugins/cxMixin/IOperMore.js +323 -0
- package/src/plugins/cxMixin/IPlugBase.js +341 -0
- package/src/plugins/cxMixin/ISendCode.js +86 -0
- package/src/plugins/cxMixin/ISinglePage.js +112 -0
- package/src/plugins/cxMixin/ITags.js +81 -0
- package/src/plugins/cxe/CxeMap.vue +61 -0
- package/src/plugins/home/HeadNav.vue +194 -0
- package/src/plugins/home/Home.vue +59 -0
- package/src/plugins/home/HomePage.vue +237 -0
- package/src/plugins/home/Login.vue +139 -0
- package/src/plugins/zbcxCesium/coms/GraDrawBarWgt.vue +176 -0
- package/src/plugins/zbcxCesium/coms/baseMapSwitch/BaseMap.scss +42 -0
- package/src/plugins/zbcxCesium/coms/baseMapSwitch/BaseMap.vue +59 -0
- package/src/plugins/zbcxCesium/coms/dataPreview/DataPreview.vue +526 -0
- package/src/plugins/zbcxCesium/coms/dataPreview/DataPreviewPlug.vue +79 -0
- package/src/plugins/zbcxCesium/coms/dataPreview/ReadShpFile.js +42 -0
- package/src/plugins/zbcxCesium/coms/legend/Legend.vue +78 -0
- package/src/plugins/zbcxCesium/coms/popup/dialog-left-bg.png +0 -0
- package/src/plugins/zbcxCesium/coms/popup/index.js +88 -0
- package/src/plugins/zbcxCesium/coms/popup/index.vue +93 -0
- package/src/plugins/zbcxCesium/pub/LoadGeojson.js +44 -0
- package/src/plugins/zbcxCesium/pub/LoadModel.js +128 -0
- package/src/plugins/zbcxCesium/pub/LoadOgc.js +226 -0
- package/src/plugins/zbcxCesium/pub/Opacity.vue +139 -0
- package/src/plugins/zbcxCesium/pub/PubCxe.js +97 -0
- package/src/plugins/zbcxCesium/pub/SceneSet.vue +178 -0
- package/src/plugins/zbcxCesium/pub/ShowEffect.vue +216 -0
- package/src/plugins/zbcxCesium/pub/TMeasure.vue +122 -0
- package/src/plugins/zbcxCesium/pub/ToDefView3.vue +109 -0
- package/src/plugins/zbcxCesium/pub/getWmsGetCapabilities.js +127 -0
- package/src/plugins/zbcxCesium/utils/ShpToGeoJson.js +24 -0
- package/src/plugins/zbcxCesium/utils/WebProj4.js +32 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
<style lang="scss" scoped>
|
|
2
|
+
.iconimg{margin-right: 0.05rem;}
|
|
3
|
+
|
|
4
|
+
</style>
|
|
5
|
+
|
|
6
|
+
<template>
|
|
7
|
+
<div class="drawBarWgt">
|
|
8
|
+
<el-tooltip v-for="(item, index) in btnList" :key="index" effect="dark" :content="item.label" placement="top-start">
|
|
9
|
+
<el-button :size="size" @click="drawGeom(item)">
|
|
10
|
+
<img :src="item.icon" class="iconimg">
|
|
11
|
+
<span class="title">{{item.label}}</span>
|
|
12
|
+
</el-button>
|
|
13
|
+
</el-tooltip>
|
|
14
|
+
</div>
|
|
15
|
+
</template>
|
|
16
|
+
|
|
17
|
+
<script>
|
|
18
|
+
/**
|
|
19
|
+
* 组件:绘制图形
|
|
20
|
+
* 参数说明
|
|
21
|
+
* @prop {String} viewKey 全局变量viewer的key,默认为window.Viewer
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 修改记录:
|
|
26
|
+
* 2023-03-7 张光辉 增加prop;绘制类型改为常量;drawFinish抽出为方法.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
import * as turf from '@turf/turf'
|
|
30
|
+
|
|
31
|
+
const Point = 'Point', Polygon = 'Polygon', LineString = 'LineString', Rectangle = 'Rectangle', Circle = 'Circle'
|
|
32
|
+
const Delete = 'Delete'
|
|
33
|
+
export default
|
|
34
|
+
{
|
|
35
|
+
mixins: [cx.mixin.IFormBase],
|
|
36
|
+
props:
|
|
37
|
+
{
|
|
38
|
+
viewKey: { type: String, default: '' }
|
|
39
|
+
},
|
|
40
|
+
data()
|
|
41
|
+
{
|
|
42
|
+
return {
|
|
43
|
+
draw: null,
|
|
44
|
+
drawLayer: null,
|
|
45
|
+
nowDraw: null,
|
|
46
|
+
btnList: [
|
|
47
|
+
{ label: '点', type: Point, geometryType: Point, icon: 'static/img/tool/点.png' },
|
|
48
|
+
{ label: '线', type: LineString, geometryType: LineString, icon: 'static/img/tool/线.png' },
|
|
49
|
+
{ label: '多边形', type: Polygon, geometryType: Polygon, icon: 'static/img/tool/多边形.png' },
|
|
50
|
+
{ label: '拉框', type: Rectangle, geometryType: Polygon, icon: 'static/img/tool/矩形.png' },
|
|
51
|
+
{ label: '画圆', type: Circle, geometryType: Polygon, icon: 'static/img/tool/圆形.png' },
|
|
52
|
+
{ label: '删除', type: Delete, icon: 'static/img/tool/清空.png' }
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
beforeUnmount()
|
|
57
|
+
{
|
|
58
|
+
this.clearDraw()
|
|
59
|
+
},
|
|
60
|
+
created()
|
|
61
|
+
{
|
|
62
|
+
this.$_viewer = window[this.viewKey] || window.Viewer
|
|
63
|
+
this.$_viewer.scene.globe.depthTestAgainstTerrain = true
|
|
64
|
+
},
|
|
65
|
+
mounted()
|
|
66
|
+
{
|
|
67
|
+
this.coordinates = []
|
|
68
|
+
},
|
|
69
|
+
methods:
|
|
70
|
+
{
|
|
71
|
+
// 图形绘制
|
|
72
|
+
drawGeom(item)
|
|
73
|
+
{
|
|
74
|
+
this.nowDraw = item
|
|
75
|
+
this.clearDraw()
|
|
76
|
+
let params = this.setDrawParams(this.maxPos)
|
|
77
|
+
|
|
78
|
+
switch (this.nowDraw.type)
|
|
79
|
+
{
|
|
80
|
+
case Point: this.draw = new cxe.DrawPoint(this.$_viewer, params); break
|
|
81
|
+
case LineString: this.draw = new cxe.DrawPolyline(this.$_viewer, params); break
|
|
82
|
+
case Polygon: this.draw = new cxe.DrawPolygon(this.$_viewer, params); break
|
|
83
|
+
case Rectangle: this.draw = new cxe.DrawRectangle(this.$_viewer, params); break
|
|
84
|
+
case Circle: this.draw = new cxe.DrawCircle(this.$_viewer, params); break
|
|
85
|
+
case Delete: this.clearDraw(); break
|
|
86
|
+
}
|
|
87
|
+
this.draw.start()
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
// 构造绘制参数
|
|
91
|
+
setDrawParams(maxPos)
|
|
92
|
+
{
|
|
93
|
+
this.drawLayer = new cxe.VectorLayer('layer')
|
|
94
|
+
let layer = this.drawLayer
|
|
95
|
+
this.$_viewer.layers.addLayer(layer)
|
|
96
|
+
|
|
97
|
+
let params = {
|
|
98
|
+
layer,
|
|
99
|
+
drawUpdate: this.drawUpdate,
|
|
100
|
+
drawFinish: this.drawFinish
|
|
101
|
+
}
|
|
102
|
+
if (maxPos)
|
|
103
|
+
params.maxPos = maxPos
|
|
104
|
+
return params
|
|
105
|
+
},
|
|
106
|
+
|
|
107
|
+
// 绘制完成的回调
|
|
108
|
+
drawFinish(args)
|
|
109
|
+
{
|
|
110
|
+
if (this.nowDraw.type === Point)
|
|
111
|
+
this.coordinates.push(args.graph.position._lng, args.graph.position._lat)
|
|
112
|
+
else if (this.nowDraw.type === Circle)
|
|
113
|
+
{
|
|
114
|
+
let centerPoint = [args.graph.center._lng, args.graph.center._lat]
|
|
115
|
+
let circle = turf.circle(centerPoint, args.graph.radius, { steps: 5000, units: 'meters', properties: { foo: 'bar' } })
|
|
116
|
+
this.coordinates.push(circle.geometry.coordinates[0])
|
|
117
|
+
}
|
|
118
|
+
else
|
|
119
|
+
{
|
|
120
|
+
let arr = []
|
|
121
|
+
args.graph.positions.forEach(item =>
|
|
122
|
+
{
|
|
123
|
+
arr.push([item._lng, item._lat])
|
|
124
|
+
})
|
|
125
|
+
if (this.nowDraw.type === Rectangle)
|
|
126
|
+
arr = this.creatteRectangle({ x: arr[0][0], y: arr[0][1] }, { x: arr[1][0], y: arr[1][1] })
|
|
127
|
+
else if (this.nowDraw.type === Polygon)
|
|
128
|
+
arr.push(arr[0])
|
|
129
|
+
|
|
130
|
+
this.coordinates.push(arr)
|
|
131
|
+
}
|
|
132
|
+
this.setGeoJson()
|
|
133
|
+
},
|
|
134
|
+
|
|
135
|
+
// 绘制更新的回调:{graph, event, success}
|
|
136
|
+
drawUpdate(args)
|
|
137
|
+
{},
|
|
138
|
+
|
|
139
|
+
// 创建矩形坐标
|
|
140
|
+
creatteRectangle(startPosition, endPosition)
|
|
141
|
+
{
|
|
142
|
+
let maxx = Math.max(endPosition.x, startPosition.x)
|
|
143
|
+
let minx = Math.min(endPosition.x, startPosition.x)
|
|
144
|
+
let maxy = Math.max(endPosition.y, startPosition.y)
|
|
145
|
+
let miny = Math.min(endPosition.y, startPosition.y)
|
|
146
|
+
let p1 = { x: minx, y: maxy }
|
|
147
|
+
let p2 = { x: maxx, y: maxy }
|
|
148
|
+
let p3 = { x: maxx, y: miny }
|
|
149
|
+
let p4 = { x: minx, y: miny }
|
|
150
|
+
return [[p1.x, p1.y], [p2.x, p2.y], [p3.x, p3.y], [p4.x, p4.y], [p1.x, p1.y]]
|
|
151
|
+
},
|
|
152
|
+
|
|
153
|
+
// 构造 GeoJSON 对象
|
|
154
|
+
setGeoJson()
|
|
155
|
+
{
|
|
156
|
+
let geometry =
|
|
157
|
+
{
|
|
158
|
+
type: this.nowDraw.geometryType,
|
|
159
|
+
coordinates: this.coordinates
|
|
160
|
+
}
|
|
161
|
+
this.$emit('drawFinish', geometry)
|
|
162
|
+
},
|
|
163
|
+
|
|
164
|
+
// 清除绘制
|
|
165
|
+
clearDraw()
|
|
166
|
+
{
|
|
167
|
+
this.coordinates = []
|
|
168
|
+
if (this.draw)
|
|
169
|
+
this.draw.destroy()
|
|
170
|
+
if (this.drawLayer)
|
|
171
|
+
this.$_viewer.layers.removeLayer(this.drawLayer)
|
|
172
|
+
this.$emit('clearDraw')
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
</script>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
$base-map-width: 1rem;
|
|
2
|
+
$base-map-height: 0.98rem;
|
|
3
|
+
$base-map-text-hover-bg: rgba(30, 181, 252, 0.9);
|
|
4
|
+
.base-map{
|
|
5
|
+
--time: 0.5s;
|
|
6
|
+
z-index: 3;
|
|
7
|
+
width: $base-map-width;
|
|
8
|
+
height: $base-map-height;
|
|
9
|
+
padding: 0.15%;
|
|
10
|
+
border: 0.01rem solid var(--cx-color-border-normal);
|
|
11
|
+
background-color: var(--cx-color-bg-normal);
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
transition: width var(--time) ease-in-out;
|
|
14
|
+
}
|
|
15
|
+
// hover-width变量的值来源于行内style。
|
|
16
|
+
.base-map:hover{
|
|
17
|
+
width: var(--hover-width);
|
|
18
|
+
display: flex;align-items:center;justify-content: space-around;
|
|
19
|
+
.img-box{margin: auto;}
|
|
20
|
+
}
|
|
21
|
+
.img-box{
|
|
22
|
+
position: relative;
|
|
23
|
+
width:$base-map-width;
|
|
24
|
+
height:$base-map-height;
|
|
25
|
+
display: inline-block;
|
|
26
|
+
margin: 0 0 0.1rem 0;
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
background-size: 100% 100%;
|
|
29
|
+
background-repeat: no-repeat;
|
|
30
|
+
.text{background-color: rgba(46,46,46,0.7)}
|
|
31
|
+
}
|
|
32
|
+
.img-box:hover{
|
|
33
|
+
.text{background-color: $base-map-text-hover-bg}
|
|
34
|
+
}
|
|
35
|
+
.text{
|
|
36
|
+
position: absolute;
|
|
37
|
+
bottom: 0;
|
|
38
|
+
width: $base-map-width;
|
|
39
|
+
color: var(--cx-color-tint-text);
|
|
40
|
+
text-align: center;
|
|
41
|
+
}
|
|
42
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<style lang='scss' scoped>
|
|
2
|
+
@use "./BaseMap.scss";
|
|
3
|
+
|
|
4
|
+
</style>
|
|
5
|
+
|
|
6
|
+
<template>
|
|
7
|
+
<div class="base-map" :style="{'--hover-width': getHoverWidth}">
|
|
8
|
+
<div
|
|
9
|
+
class="img-box"
|
|
10
|
+
:style="{ backgroundImage: `url(${item.backgroundImage})`}"
|
|
11
|
+
v-for="(item,index) in baseMapArr" :key="index"
|
|
12
|
+
@click="onClick(item)">
|
|
13
|
+
<el-checkbox v-model="item.checked" :checked="item.checked" style="height:auto"></el-checkbox>
|
|
14
|
+
<div class="text">{{item.namec}}</div>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
/**
|
|
21
|
+
* 组件: 底图切换
|
|
22
|
+
* 参数说明:
|
|
23
|
+
* @prop {Array} baseMapArr 图层切换数组
|
|
24
|
+
* @prop {String} [item.name] 图层名称
|
|
25
|
+
* @prop {color} [item.backgroundImage] 背景图片
|
|
26
|
+
**/
|
|
27
|
+
/**
|
|
28
|
+
* 修改记录
|
|
29
|
+
* 2022-05-6 唐朝辉 首次编写
|
|
30
|
+
* 2022-05-24 张光辉 修改样式,动态计算hover事件的宽度。
|
|
31
|
+
*/
|
|
32
|
+
export default {
|
|
33
|
+
props: {
|
|
34
|
+
baseMapArr: { type: Array, default: _ => [] }
|
|
35
|
+
},
|
|
36
|
+
data()
|
|
37
|
+
{
|
|
38
|
+
return {
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
// 计算属性,依赖其他数据数字计算
|
|
42
|
+
computed:
|
|
43
|
+
{
|
|
44
|
+
getHoverWidth()
|
|
45
|
+
{
|
|
46
|
+
let len = this.baseMapArr.length
|
|
47
|
+
return len + len * 0.05 + 0.3 + 'rem'
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
methods:
|
|
51
|
+
{
|
|
52
|
+
onClick(item)
|
|
53
|
+
{
|
|
54
|
+
item.checked = !item.checked
|
|
55
|
+
this.$emit('basemap-click', item)
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
</script>
|