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.
Files changed (249) hide show
  1. package/README.md +3 -0
  2. package/package.json +90 -0
  3. package/src/plugins/app/com/CesiumTool.js +730 -0
  4. package/src/plugins/app/com/MapMethods.js +355 -0
  5. package/src/plugins/app/com/MapTool.vue +772 -0
  6. package/src/plugins/app/com/MenuRouter.vue +157 -0
  7. package/src/plugins/app/com/ParamsDes.vue +35 -0
  8. package/src/plugins/app/com/SelCoorSys.vue +235 -0
  9. package/src/plugins/app/com/WebProj4.js +32 -0
  10. package/src/plugins/app/com/measure.js +127 -0
  11. package/src/plugins/app/com/yx.js +238 -0
  12. package/src/plugins/app/modelmanagement/D3DrawGraph.js +708 -0
  13. package/src/plugins/app/modelmanagement/MineralGo.vue +241 -0
  14. package/src/plugins/app/modelmanagement/MineralModel.vue +1203 -0
  15. package/src/plugins/app/modelmanagement/ModelCloudmap.vue +69 -0
  16. package/src/plugins/app/modelmanagement/ModelMst.vue +60 -0
  17. package/src/plugins/app/modelmanagement/ModelSy.vue +173 -0
  18. package/src/plugins/app/modelmanagement/ModelTp.vue +51 -0
  19. package/src/plugins/app/modelmanagement/ModelUpload.vue +774 -0
  20. package/src/plugins/app/znycpjxt/Api.js +714 -0
  21. package/src/plugins/app/znycpjxt/Bf/AttFactory.js +25 -0
  22. package/src/plugins/app/znycpjxt/Bf/IAnomalyhandle.js +102 -0
  23. package/src/plugins/app/znycpjxt/Bf/IComposeanomaly.js +140 -0
  24. package/src/plugins/app/znycpjxt/Bf/IContinueanaly.js +138 -0
  25. package/src/plugins/app/znycpjxt/Bf/IContrastanaly.js +138 -0
  26. package/src/plugins/app/znycpjxt/Bf/ICustomNode.js +145 -0
  27. package/src/plugins/app/znycpjxt/Bf/IDerivanaly.js +139 -0
  28. package/src/plugins/app/znycpjxt/Bf/IFilterananly.js +141 -0
  29. package/src/plugins/app/znycpjxt/Bf/IMeananaly.js +137 -0
  30. package/src/plugins/app/znycpjxt/Bf/IModelNodeBase.js +135 -0
  31. package/src/plugins/app/znycpjxt/Bf/IMoveaverage.js +135 -0
  32. package/src/plugins/app/znycpjxt/Bf/IReducepole.js +141 -0
  33. package/src/plugins/app/znycpjxt/Bf/ISmoothanaly.js +135 -0
  34. package/src/plugins/app/znycpjxt/Bf/ITrendanaly.js +144 -0
  35. package/src/plugins/app/znycpjxt/Bf/IVector2grd.js +144 -0
  36. package/src/plugins/app/znycpjxt/Bf/IYcfj.js +84 -0
  37. package/src/plugins/app/znycpjxt/Bf/IYcxxjs.js +105 -0
  38. package/src/plugins/app/znycpjxt/Bf/IYgsbtq.js +112 -0
  39. package/src/plugins/app/znycpjxt/Bf/IYgtxrh.js +112 -0
  40. package/src/plugins/app/znycpjxt/Bf/Iinteranaly.js +135 -0
  41. package/src/plugins/app/znycpjxt/Bf/index.js +44 -0
  42. package/src/plugins/app/znycpjxt/Bf/input/InputData.js +21 -0
  43. package/src/plugins/app/znycpjxt/Bf/input/InputExcel.js +28 -0
  44. package/src/plugins/app/znycpjxt/Bf/input/InputKd.js +31 -0
  45. package/src/plugins/app/znycpjxt/Bqqd/Bqqd.vue +380 -0
  46. package/src/plugins/app/znycpjxt/Bqqd/BqqdMap.vue +1046 -0
  47. package/src/plugins/app/znycpjxt/Bqqd/SetOpacity.vue +101 -0
  48. package/src/plugins/app/znycpjxt/Bqqd/SjzxTree.vue +244 -0
  49. package/src/plugins/app/znycpjxt/Bqqd/YclsjjTree.vue +212 -0
  50. package/src/plugins/app/znycpjxt/Bqqd/api/DsjzxApi.js +37 -0
  51. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmx.vue +161 -0
  52. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/CfgGloalParams.vue +92 -0
  53. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/CfgNodeFlds.vue +102 -0
  54. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/CfgNodeParams.vue +277 -0
  55. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/Ckycmxgl.vue +303 -0
  56. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/SetLabelParam.vue +68 -0
  57. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/SetModelParam.vue +69 -0
  58. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Ckycmxtab.vue +107 -0
  59. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Dtzzylwl.vue +156 -0
  60. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Jjsjwl.vue +230 -0
  61. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Sjsl.vue +126 -0
  62. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zcxlj.vue +128 -0
  63. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zjq.vue +123 -0
  64. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zstp.vue +271 -0
  65. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zzylwl.vue +149 -0
  66. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/coms/ParamsData.vue +323 -0
  67. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/coms/ParamsDataNew.vue +336 -0
  68. package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/coms/QqtEcharts.vue +137 -0
  69. package/src/plugins/app/znycpjxt/Ckycmx/Ckycrwgl/Ckycrwgl.vue +290 -0
  70. package/src/plugins/app/znycpjxt/CusTools/CodeApi.js +83 -0
  71. package/src/plugins/app/znycpjxt/CusTools/CodeEditor/CodeEditor.md +36 -0
  72. package/src/plugins/app/znycpjxt/CusTools/CodeEditor/CodeEditor.vue +227 -0
  73. package/src/plugins/app/znycpjxt/CusTools/CodeEditor/PlugCodeEditor.vue +78 -0
  74. package/src/plugins/app/znycpjxt/CusTools/CodeEditor/demo/basic.png +0 -0
  75. package/src/plugins/app/znycpjxt/CusTools/CodeEditor/demo/basic.vue +27 -0
  76. package/src/plugins/app/znycpjxt/CusTools/DmbjForm.vue +76 -0
  77. package/src/plugins/app/znycpjxt/CusTools/DmfbForm.vue +351 -0
  78. package/src/plugins/app/znycpjxt/CusTools/GjForm.vue +206 -0
  79. package/src/plugins/app/znycpjxt/CusTools/Gjbjyfb.vue +200 -0
  80. package/src/plugins/app/znycpjxt/CusTools/ParamSelect.vue +222 -0
  81. package/src/plugins/app/znycpjxt/CusTools/ParamSelect2.vue +204 -0
  82. package/src/plugins/app/znycpjxt/CusTools/Zngjj.vue +105 -0
  83. package/src/plugins/app/znycpjxt/DataAnlyModel/DataAnlyModel.vue +134 -0
  84. package/src/plugins/app/znycpjxt/DataAnlyModel/Hgfx/HgfxEcharts.vue +98 -0
  85. package/src/plugins/app/znycpjxt/DataAnlyModel/Hgfx/HgfxTab.vue +73 -0
  86. package/src/plugins/app/znycpjxt/DataAnlyModel/Hgfx.vue +101 -0
  87. package/src/plugins/app/znycpjxt/DataAnlyModel/Jctj/JctjjgTab.vue +70 -0
  88. package/src/plugins/app/znycpjxt/DataAnlyModel/Jctj/Plzft.vue +154 -0
  89. package/src/plugins/app/znycpjxt/DataAnlyModel/Jctj.vue +118 -0
  90. package/src/plugins/app/znycpjxt/DataAnlyModel/Jlfx/JlfxImg.vue +80 -0
  91. package/src/plugins/app/znycpjxt/DataAnlyModel/Jlfx.vue +91 -0
  92. package/src/plugins/app/znycpjxt/DataAnlyModel/PCAfx/PcaTab.vue +161 -0
  93. package/src/plugins/app/znycpjxt/DataAnlyModel/PCAfx.vue +101 -0
  94. package/src/plugins/app/znycpjxt/DataAnlyModel/Qqt/QqtEcharts.vue +202 -0
  95. package/src/plugins/app/znycpjxt/DataAnlyModel/Qqt.vue +88 -0
  96. package/src/plugins/app/znycpjxt/DataAnlyModel/Xgxfx/XgxfxImg.vue +80 -0
  97. package/src/plugins/app/znycpjxt/DataAnlyModel/Xgxfx.vue +96 -0
  98. package/src/plugins/app/znycpjxt/DatasetMan/CreateDataset.vue +296 -0
  99. package/src/plugins/app/znycpjxt/DatasetMan/DatasetMan.vue +141 -0
  100. package/src/plugins/app/znycpjxt/DatasetMan/PreData.js +91 -0
  101. package/src/plugins/app/znycpjxt/DatasetMan/PreData.vue +545 -0
  102. package/src/plugins/app/znycpjxt/DatasetMan/PreDataApi.js +101 -0
  103. package/src/plugins/app/znycpjxt/DatasetMan/SelData.vue +186 -0
  104. package/src/plugins/app/znycpjxt/DatasetMan/SjTree.vue +130 -0
  105. package/src/plugins/app/znycpjxt/DatasetMan/Sjj.vue +478 -0
  106. package/src/plugins/app/znycpjxt/DatasetMan/Yclsjj.vue +445 -0
  107. package/src/plugins/app/znycpjxt/DatasetMan/Yssjj.vue +389 -0
  108. package/src/plugins/app/znycpjxt/DocList/DocList.vue +496 -0
  109. package/src/plugins/app/znycpjxt/DocList/unit/DocItem.vue +137 -0
  110. package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Dchj.vue +107 -0
  111. package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/GeophysicalAnomaly.vue +115 -0
  112. package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Jxyt.vue +98 -0
  113. package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Lbjs.vue +127 -0
  114. package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Pjcjs.vue +103 -0
  115. package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Qdjs.vue +103 -0
  116. package/src/plugins/app/znycpjxt/ExceptHandlModel/ExceptHandlModel.vue +163 -0
  117. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Cdjs.vue +102 -0
  118. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Czfx.vue +163 -0
  119. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/GetFormData.vue +343 -0
  120. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Hdpj.vue +100 -0
  121. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Pjtd.vue +90 -0
  122. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Qsfx.vue +109 -0
  123. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/ResultOnlyData.vue +121 -0
  124. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/ResultTable.vue +231 -0
  125. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/UniversalComputing.vue +139 -0
  126. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Xgxsjs.vue +93 -0
  127. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Xxsjs.vue +90 -0
  128. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Ycfj.vue +116 -0
  129. package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Yhcl.vue +100 -0
  130. package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/AnomalsGard.vue +91 -0
  131. package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/Dqhxycht.vue +113 -0
  132. package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/GeocAnomalies.vue +99 -0
  133. package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/JgTableList.vue +203 -0
  134. package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/Lszcl.vue +110 -0
  135. package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/Ycxxjs.vue +116 -0
  136. package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/GeoAnomalyExtraction.vue +108 -0
  137. package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/coms/AttWeight.vue +99 -0
  138. package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/coms/Ckdctq.vue +98 -0
  139. package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/coms/LeftForm.vue +266 -0
  140. package/src/plugins/app/znycpjxt/ExceptHandlModel/ygyctq/Ygsbtq.vue +150 -0
  141. package/src/plugins/app/znycpjxt/ExceptHandlModel/ygyctq/Ygtxrh.vue +107 -0
  142. package/src/plugins/app/znycpjxt/ExceptHandlModel/ygyctq/ygyctq.vue +98 -0
  143. package/src/plugins/app/znycpjxt/Index/DataCard.vue +45 -0
  144. package/src/plugins/app/znycpjxt/Index/Index.vue +123 -0
  145. package/src/plugins/app/znycpjxt/Rzgl/Rzgl.vue +156 -0
  146. package/src/plugins/app/znycpjxt/coms/CmapColor.vue +70 -0
  147. package/src/plugins/app/znycpjxt/coms/CustomFileView.vue +343 -0
  148. package/src/plugins/app/znycpjxt/coms/CustomForm.vue +220 -0
  149. package/src/plugins/app/znycpjxt/coms/GrdView.vue +355 -0
  150. package/src/plugins/app/znycpjxt/coms/LeftForm.vue +195 -0
  151. package/src/plugins/app/znycpjxt/coms/MakeData.js +472 -0
  152. package/src/plugins/app/znycpjxt/coms/PreView.js +55 -0
  153. package/src/plugins/app/znycpjxt/coms/RightContent.vue +71 -0
  154. package/src/plugins/app/znycpjxt/coms/TableEarth.vue +259 -0
  155. package/src/plugins/app/znycpjxt/intellPred/ModelList.vue +200 -0
  156. package/src/plugins/app/znycpjxt/intellPred/coms/D3DrawGraph.js +634 -0
  157. package/src/plugins/app/znycpjxt/intellPred/coms/MineralGo.vue +249 -0
  158. package/src/plugins/app/znycpjxt/intellPred/coms/ModelCard.vue +298 -0
  159. package/src/plugins/app/znycpjxt/intellPred/coms/ModelEdit.vue +292 -0
  160. package/src/plugins/app/znycpjxt/intellPred/coms/ModelSpecif.vue +46 -0
  161. package/src/plugins/app/znycpjxt/intellPred/intellPred.vue +71 -0
  162. package/src/plugins/bf/BfApi.js +92 -0
  163. package/src/plugins/bf/BfColAdd.vue +78 -0
  164. package/src/plugins/bf/BfColEdit.vue +68 -0
  165. package/src/plugins/bf/BfColFilter.vue +112 -0
  166. package/src/plugins/bf/BfDataGroup.vue +80 -0
  167. package/src/plugins/bf/BfDataPreview.vue +118 -0
  168. package/src/plugins/bf/BfDataStat.vue +81 -0
  169. package/src/plugins/bf/BfDuplicateDel.vue +82 -0
  170. package/src/plugins/bf/BfProcCall.vue +82 -0
  171. package/src/plugins/bf/BfRunHis.vue +289 -0
  172. package/src/plugins/bf/BfRunParams.vue +94 -0
  173. package/src/plugins/bf/BfSaveFlow.vue +186 -0
  174. package/src/plugins/bf/BfSelFlow.vue +123 -0
  175. package/src/plugins/bf/BfTabCombine.vue +127 -0
  176. package/src/plugins/bf/BfTabJoin.vue +108 -0
  177. package/src/plugins/bf/BfTabMerge.vue +68 -0
  178. package/src/plugins/bf/BfTabReader.vue +126 -0
  179. package/src/plugins/bf/BfValFormat.vue +68 -0
  180. package/src/plugins/bf/BfValNumber.vue +68 -0
  181. package/src/plugins/bf/BfValProc.vue +78 -0
  182. package/src/plugins/bf/BfValSort.vue +78 -0
  183. package/src/plugins/bf/BiFlow.vue +1177 -0
  184. package/src/plugins/bf/IBfPlug.js +205 -0
  185. package/src/plugins/bf/coms/ColAdd.vue +75 -0
  186. package/src/plugins/bf/coms/ColEdit.vue +52 -0
  187. package/src/plugins/bf/coms/ColList.vue +91 -0
  188. package/src/plugins/bf/coms/DataGroup.vue +90 -0
  189. package/src/plugins/bf/coms/DataStat.vue +67 -0
  190. package/src/plugins/bf/coms/EditTable.vue +161 -0
  191. package/src/plugins/bf/coms/NodeTree.vue +105 -0
  192. package/src/plugins/bf/coms/PlugCmd.vue +95 -0
  193. package/src/plugins/bf/coms/RunParams.vue +68 -0
  194. package/src/plugins/bf/coms/TabCombine.vue +60 -0
  195. package/src/plugins/bf/coms/TabJoin.vue +69 -0
  196. package/src/plugins/bf/coms/ValFormat.vue +53 -0
  197. package/src/plugins/bf/coms/ValProc.vue +77 -0
  198. package/src/plugins/bf/coms/ValSort.vue +89 -0
  199. package/src/plugins/bf/parts/Icon.vue +105 -0
  200. package/src/plugins/bf/parts/Rect.vue +98 -0
  201. package/src/plugins/bf/parts/index.js +11 -0
  202. package/src/plugins/cxMixin/IAttBase.js +78 -0
  203. package/src/plugins/cxMixin/IAttDlg.js +45 -0
  204. package/src/plugins/cxMixin/IAttProc.js +98 -0
  205. package/src/plugins/cxMixin/IComBase.js +42 -0
  206. package/src/plugins/cxMixin/IContextMenu.js +74 -0
  207. package/src/plugins/cxMixin/IDataAcce.js +1106 -0
  208. package/src/plugins/cxMixin/IDataList.js +775 -0
  209. package/src/plugins/cxMixin/IDataMan.js +1670 -0
  210. package/src/plugins/cxMixin/IDataMan2.js +2561 -0
  211. package/src/plugins/cxMixin/IDataProc.js +379 -0
  212. package/src/plugins/cxMixin/IDatagrid.js +234 -0
  213. package/src/plugins/cxMixin/IEditableDg.js +477 -0
  214. package/src/plugins/cxMixin/IExpBase.js +51 -0
  215. package/src/plugins/cxMixin/IFormBase.js +29 -0
  216. package/src/plugins/cxMixin/IGridBpm.js +732 -0
  217. package/src/plugins/cxMixin/IGridData.js +109 -0
  218. package/src/plugins/cxMixin/IOperMore.js +323 -0
  219. package/src/plugins/cxMixin/IPlugBase.js +341 -0
  220. package/src/plugins/cxMixin/ISendCode.js +86 -0
  221. package/src/plugins/cxMixin/ISinglePage.js +112 -0
  222. package/src/plugins/cxMixin/ITags.js +81 -0
  223. package/src/plugins/cxe/CxeMap.vue +61 -0
  224. package/src/plugins/home/HeadNav.vue +194 -0
  225. package/src/plugins/home/Home.vue +59 -0
  226. package/src/plugins/home/HomePage.vue +237 -0
  227. package/src/plugins/home/Login.vue +139 -0
  228. package/src/plugins/zbcxCesium/coms/GraDrawBarWgt.vue +176 -0
  229. package/src/plugins/zbcxCesium/coms/baseMapSwitch/BaseMap.scss +42 -0
  230. package/src/plugins/zbcxCesium/coms/baseMapSwitch/BaseMap.vue +59 -0
  231. package/src/plugins/zbcxCesium/coms/dataPreview/DataPreview.vue +526 -0
  232. package/src/plugins/zbcxCesium/coms/dataPreview/DataPreviewPlug.vue +79 -0
  233. package/src/plugins/zbcxCesium/coms/dataPreview/ReadShpFile.js +42 -0
  234. package/src/plugins/zbcxCesium/coms/legend/Legend.vue +78 -0
  235. package/src/plugins/zbcxCesium/coms/popup/dialog-left-bg.png +0 -0
  236. package/src/plugins/zbcxCesium/coms/popup/index.js +88 -0
  237. package/src/plugins/zbcxCesium/coms/popup/index.vue +93 -0
  238. package/src/plugins/zbcxCesium/pub/LoadGeojson.js +44 -0
  239. package/src/plugins/zbcxCesium/pub/LoadModel.js +128 -0
  240. package/src/plugins/zbcxCesium/pub/LoadOgc.js +226 -0
  241. package/src/plugins/zbcxCesium/pub/Opacity.vue +139 -0
  242. package/src/plugins/zbcxCesium/pub/PubCxe.js +97 -0
  243. package/src/plugins/zbcxCesium/pub/SceneSet.vue +178 -0
  244. package/src/plugins/zbcxCesium/pub/ShowEffect.vue +216 -0
  245. package/src/plugins/zbcxCesium/pub/TMeasure.vue +122 -0
  246. package/src/plugins/zbcxCesium/pub/ToDefView3.vue +109 -0
  247. package/src/plugins/zbcxCesium/pub/getWmsGetCapabilities.js +127 -0
  248. package/src/plugins/zbcxCesium/utils/ShpToGeoJson.js +24 -0
  249. package/src/plugins/zbcxCesium/utils/WebProj4.js +32 -0
@@ -0,0 +1,526 @@
1
+ <style lang='scss' scoped>
2
+ #chart3d {width: 100%; height: 100%; position: relative; overflow: hidden;}
3
+ :deep(.cxe-zoom-controller) {top: 1rem; right: .45rem;}
4
+ :deep(.zoom-in) {line-height: normal;}
5
+ :deep(.refresh) {line-height: normal;}
6
+ :deep(.zoom-out) {line-height: normal;}
7
+ .legend2 {position: absolute; bottom: 0.1rem;right: 0.1rem;max-height: 2.5rem;z-index: 2;background-color: #fff;}
8
+ :deep(.legendBox) {
9
+ margin-left: 0.1rem;
10
+ img {width: 0.20rem; height: 0.20rem;}
11
+ p {font-size:0.12rem; margin-left: 0.1rem;}
12
+ }
13
+ .tool-style{top: 2% !important;z-index: 2;}
14
+ :deep(.cxe-compass){display: none!important}
15
+ :deep(.cxe-zoom-controller){display: none!important}
16
+ :deep(.cxe-location-bar) {left: 4rem}
17
+ :deep(.cxe-distance-legend){display: none;}
18
+ .dq-switch { position: absolute; right: 0.12rem; top: 1.32rem; z-index: 1;}
19
+ .slider-alpha { position: absolute; right: 0.12rem; top: 0.9rem; background: rgba(255,255,255,0.5); width: 2.5rem; color: #000; z-index: 1; display: flex; align-items: center; justify-content: space-around;}
20
+ :deep(.el-slider) {width: 50%;}
21
+
22
+ </style>
23
+
24
+ <template>
25
+ <!-- 标签语义化:header、nav、main、article、aside、footer、section -->
26
+ <div id="chart3d" ref="map3d">
27
+ <slot></slot>
28
+ <el-switch v-if="!noShowTool" class="dq-switch" v-model="dqSwitch" active-text="地球" inactive-text=""/>
29
+
30
+ <div class="slider-alpha" v-if="!noShowTool">
31
+ <span class="demonstration">地图透明度设置</span>
32
+ <el-slider v-model="alpha" :max="1" :step="0.1" @change="setOpacity" />
33
+ </div>
34
+
35
+ <!-- 图例 -->
36
+ <legend2 class="legend2" v-if="legendList_.length" :legendList="legendList_"></legend2>
37
+ <!-- 底图切换 -->
38
+ <BaseMap v-if="baseMapArr.length && showBaseMap" style="position:absolute;bottom: 2vh;right:1%" :baseMapArr="baseMapArr" @basemap-click='baseMapClick'></BaseMap>
39
+ <MapTool ref='map'
40
+ v-if="!noShowTool"
41
+ class="tool-style"
42
+ @drawPointFunc="drawPointFunc('Circle')"
43
+ @drawLineFunc="drawLineFunc('LineString')"
44
+ @drawLineFuncClosed="drawLineFuncClosed('Rectangle')"
45
+ @drawParamLine="drawParamLine"
46
+ @drawPolFunc="drawPolFunc('Polygon')"
47
+ @controlLayer="controlLayer"
48
+ @delVector="delVector"
49
+ @drawBq="drawBq"
50
+ @clearDrawBq="clearDrawBq"
51
+ @exportShp="exportShp"
52
+ @saveShp="saveShp"
53
+ >
54
+ </MapTool>
55
+ </div>
56
+ </template>
57
+
58
+ <script>
59
+
60
+ /**
61
+ * 组件 - 空间数据预览
62
+ *
63
+ * 调用说明:
64
+ * @prop {Array} baseMapArr 底图数组
65
+ * @prop {Object} defSceneCfg 三维场景默认配置
66
+ * @prop {boolean} defSceneCfg.compass 罗盘,默认true
67
+ * @prop {boolean} defSceneCfg.stateBar 状态栏,默认true
68
+ * @prop {boolean} defSceneCfg.disLegend 比例尺,默认true
69
+ * @prop {boolean} defSceneCfg.zoomControl 缩放,默认true
70
+ * @prop {boolean} defSceneCfg.lightFollow 是否开启灯光跟随,类似手电筒效果.默认false
71
+ *
72
+ * @prop {Object} services 图层数据属性,具体字段见cx_mapservice。
73
+ * @prop {Object} services.url 资源url。
74
+ * @prop {Object} services.maptype 图层服务类型。
75
+ * @prop {Object} services.layer layer。
76
+ * @prop {Object} services.params 附带参数。
77
+ * @prop {Object} services.params.rectangle 服务位置的矩形,格式:{"rectangle":{"south":34.334515220101366,"east":96.384783,"north":49.183097094455405,"west":73.501142}}
78
+ * @prop {Object} services.params.tilingScheme 切片方式,默认new GeographicTilingScheme(),参考https://cesium.com/learn/cesiumjs/ref-doc/TilingScheme.html#TilingScheme
79
+ * @prop {Object} services.params.tileMatrixSetID 用于WMTS请求的TileMatrixSet的标识符。
80
+ * @prop {Object} services.params.tileMatrixLabels TileMatrix中用于WMTS请求的标识符列表,每个TileMatrix级别一个。
81
+ * @prop {Object} services.params.center 3dtiles设置中心点,格式:{"center":{"lng":119.18,"lat":34.57,"height":0}}。
82
+ * @prop {Object} services.params.offset 3dtiles平移,格式:{"offset":{"x":1000,"y":0,"z":0}}。
83
+ * @prop {Object} services.params.rotate 3dtiles旋转,格式:{"rotate":{"x":-90,"y":0,"z":0}}。
84
+ * @prop {Object} services.params.scale 3dtiles缩放,格式:{"scale":{"x":-90,"y":0,"z":0}}。
85
+
86
+ * @prop {Array} legendList 数据图例
87
+ * @prop {String} legendList.name 图例名
88
+ * @prop {String} legendList.url 图例图片
89
+ *
90
+ * @prop {Object} opts 额外参数,shp、geojson数据加载时候需要额外样式和回调
91
+ * @prop {Object} opts.style 样式,参考cxe和cesium的语法
92
+ * @prop {function} opts.callback 回调函数
93
+ * @event event 响应方法以及参数
94
+ *
95
+ * @slot default 描述
96
+ *
97
+ */
98
+
99
+ /**
100
+ * 修改记录:
101
+ * 2023-9-4 张光辉 首次编写
102
+ */
103
+ import MapTool from '@/plugins/app/com/MapTool.vue'
104
+ import legend2 from '../legend/Legend.vue'
105
+ import BaseMap from '../baseMapSwitch/BaseMap.vue'
106
+ import PubCxe from '../../pub/PubCxe.js'
107
+ import LoadModel from '../../pub/LoadModel'
108
+ import LoadOgc from '../../pub/LoadOgc'
109
+ import ReadShpFile from './ReadShpFile.js'
110
+ import shpToGeoJson from '../../utils/ShpToGeoJson'
111
+ import LoadGeojson from '../../pub/LoadGeojson.js'
112
+ import MesureTool from '@/plugins/app/com/measure'
113
+ import CesiumTool from '@/plugins/app/com/CesiumTool'
114
+
115
+ const TYPE_GLTF = 'gltf' // gltf模型,单体模型
116
+ const TYPE_GLBS = 'glbs' // glb模型
117
+ const TYPE_TILES = '3dtiles' // 3dtiles模型
118
+ const TYPE_SHP = 'shp' // shp
119
+ const TYPE_WMS = 'wms' // wms图层
120
+ const TYPE_WMTS = 'wmts' // WMTS图层
121
+ const TYPE_GEOJSON = 'geojson' // geojson
122
+ const Point = 'Point', Polygon = 'Polygon', LineString = 'LineString', Rectangle = 'Rectangle', Circle = 'Circle'
123
+ const Delete = 'Delete'
124
+ export default
125
+ {
126
+ mixins: [],
127
+ components: { BaseMap, legend2, MapTool },
128
+ props:
129
+ {
130
+ defSceneCfg: {
131
+ type: Object,
132
+ default: () => ({
133
+ compass: true,
134
+ stateBar: true,
135
+ disLegend: true,
136
+ zoomControl: true
137
+ })
138
+ }, // 基础控件
139
+ baseMapArr: { type: Array, default: () => [] }, // 底图数组
140
+ showBaseMap: { type: Boolean, default: true }, // 是否显示底图控件
141
+ legendList: { type: Array, default: () => [] }, // 图例数组
142
+ services: { type: Object, default: () => ({}) }, // 要预览的数据属性
143
+ opts: { type: Object, default: () => ({}) }, // 额外参数
144
+ noShowTool: {
145
+ type: Boolean,
146
+ default: () =>
147
+ {
148
+ return false
149
+ }
150
+ }
151
+ },
152
+ data()
153
+ {
154
+ return {
155
+ legendList_: this.legendList,
156
+ paramDraw: {
157
+ mode: 'vertical',
158
+ tipPlace: 'left',
159
+ subToolPlace: 'right',
160
+ toolWidth: 40,
161
+ showTextTip: true,
162
+ tools: [
163
+ [
164
+ {
165
+ name: LineString,
166
+ title: '线绘制',
167
+ namec: '线绘制',
168
+ grp: '',
169
+ plugin: '',
170
+ icon: 'cx-fi ic-huizhixian',
171
+ params: '',
172
+ children: []
173
+ },
174
+ {
175
+ name: Polygon,
176
+ title: '多边形绘制',
177
+ namec: '多边形绘制',
178
+ grp: '',
179
+ plugin: '',
180
+ icon: 'cx-fi ic-polygon',
181
+ params: '',
182
+ children: []
183
+ },
184
+ {
185
+ name: Rectangle,
186
+ title: '矩形绘制',
187
+ namec: '矩形绘制',
188
+ grp: '',
189
+ plugin: '',
190
+ icon: 'cx-fi ic-drawRectangle',
191
+ params: '',
192
+ children: []
193
+ },
194
+ {
195
+ name: Circle,
196
+ title: '圆形绘制',
197
+ namec: '圆形绘制',
198
+ grp: '',
199
+ plugin: '',
200
+ icon: 'cx-fi ic-drawcircle',
201
+ params: '',
202
+ children: []
203
+ }
204
+ ]
205
+ ]
206
+ },
207
+ layer: null,
208
+ dqSwitch: true,
209
+ alpha: 1
210
+ }
211
+ },
212
+
213
+ emits: ['created'],
214
+ // 计算属性,依赖其他数据数字计算
215
+ computed:
216
+ {},
217
+
218
+ // 属性监听,处理属性变化后有大量操作
219
+ watch:
220
+ {
221
+ legendList:
222
+ {
223
+ handler: function(newVal, oldVal)
224
+ {
225
+ this.legendList_ = newVal
226
+ },
227
+ deep: true
228
+ },
229
+ dqSwitch(value)
230
+ {
231
+ this.viewer.scene.globe.show = value // 不显示地球
232
+ this.viewer.scene.skyAtmosphere.show = value
233
+ this.viewer.viewer.imageryLayers._layers.forEach(layer =>
234
+ {
235
+ layer.alpha = value ? 1 : 0
236
+ })
237
+ this.viewer.viewer.scene.globe.baseColor = new Cesium.Color(0, 0, 0, value ? 0 : 1)
238
+ }
239
+ },
240
+
241
+ // 初始化组件,data中数据变量赋值
242
+ created()
243
+ {},
244
+
245
+ // 组件dom挂载成功
246
+ mounted()
247
+ {
248
+ this.init()
249
+ },
250
+
251
+ // 销毁前
252
+ beforeUnmount()
253
+ {},
254
+
255
+ // 按功能相关性组织函数块,函数名体现功能
256
+ methods:
257
+ {
258
+ init()
259
+ {
260
+ this.initEarth()
261
+ },
262
+
263
+ // 初始化地球
264
+ initEarth()
265
+ {
266
+ this.viewer = new window.cxe.Viewer('chart3d')
267
+ // 罗盘 true/false
268
+ this.viewer.compass.enable = this.defSceneCfg.compass
269
+ // 状态栏 true/false
270
+ this.viewer.stateBar.enable = this.defSceneCfg.stateBar
271
+ // 比例尺 true/false
272
+ this.viewer.disLegend.enable = this.defSceneCfg.disLegend
273
+ // 缩放
274
+ this.viewer.zoomControl.enable = this.defSceneCfg.zoomControl
275
+
276
+ this.viewer.scene.globe.showSkirts = false // 去网格化
277
+ this.viewer.scene.globe.depthTestAgainstTerrain = true // 深度检测
278
+
279
+ // 是否开启灯光跟随,类似手电筒效果,监听相机位置改变光照。
280
+ if (!this.defSceneCfg.lightFollow)
281
+ this.lightFollow()
282
+ this.pubCxe = new PubCxe({ viewer: this.viewer })
283
+ this.pubCxe.loadBasemap(this.baseMapArr)
284
+
285
+ // 加载数据
286
+ this.loadData(this.services)
287
+
288
+ window.Viewer = this.viewer
289
+ this.$emit('created', this.viewer)
290
+ this.mesure = new MesureTool(this.viewer)
291
+ window.mesure = this.mesure
292
+ window.tool = new CesiumTool(this.viewer, [])
293
+ },
294
+
295
+ // 设置光源位置,照亮视野范围
296
+ lightFollow()
297
+ {
298
+ let scene = this.viewer.scene
299
+ let flashlight = new Cesium.DirectionalLight({
300
+ direction: this.viewer.scene.camera.directionWC
301
+ })
302
+ scene.light = flashlight
303
+ scene.globe.dynamicAtmosphereLighting = false
304
+ this.viewer.scene.preRender.addEventListener(function(scene, time)
305
+ {
306
+ scene.light.direction = Cesium.Cartesian3.clone(scene.camera.directionWC, scene.light.direction)
307
+ })
308
+ },
309
+
310
+ // 加载数据
311
+ loadData(services)
312
+ {
313
+ switch (services.maptype)
314
+ {
315
+ case TYPE_GLTF:
316
+ case TYPE_GLBS:
317
+ case TYPE_TILES:
318
+ LoadModel.loadModel(this.viewer, services); break
319
+ case TYPE_WMS:
320
+ case TYPE_WMTS:
321
+ LoadOgc.loadOgc(this.viewer, services)
322
+ break
323
+ case TYPE_SHP:
324
+ this.loadShp(this.viewer, services, this.opts)
325
+ break
326
+ case TYPE_GEOJSON:
327
+ this.laodGeojson(this.viewer, services, this.opts)
328
+ break
329
+ }
330
+ },
331
+
332
+ loadShp(viewer, services, opts)
333
+ {
334
+ let res = ReadShpFile.parseUrl(services)
335
+ let promise = shpToGeoJson(res.shp, res.dbf)
336
+ promise.then(res =>
337
+ {
338
+ res.forEach(item =>
339
+ {
340
+ this.laodGeojson(viewer, { url: item }, opts)
341
+ })
342
+ })
343
+ },
344
+
345
+ async laodGeojson(viewer, services, opts)
346
+ {
347
+ this.layer = await LoadGeojson.loadGeojson(viewer, { ...opts, ...services, url: services.url })
348
+ },
349
+
350
+ removeLayer()
351
+ {
352
+ if (this.layer)
353
+ this.viewer.layers.removeLayer(this.layer)
354
+ },
355
+
356
+ // 点绘制
357
+ drawPointFunc(name)
358
+ {
359
+ const drawPoint = cx.array.get1(this.paramDraw.tools[0], { name })
360
+ this.toolClickDraws(drawPoint)
361
+ },
362
+ // 点线绘制
363
+ drawLineFunc(name)
364
+ {
365
+ const drawPoint = cx.array.get1(this.paramDraw.tools[0], { name })
366
+ this.toolClickDraws(drawPoint)
367
+ },
368
+ // 矩形绘制
369
+ drawLineFuncClosed(name)
370
+ {
371
+ const drawPoint = cx.array.get1(this.paramDraw.tools[0], { name })
372
+ this.toolClickDraws(drawPoint)
373
+ },
374
+ // 多边形绘制
375
+ drawPolFunc(name)
376
+ {
377
+ const drawPoint = cx.array.get1(this.paramDraw.tools[0], { name })
378
+ this.toolClickDraws(drawPoint)
379
+ },
380
+ // 清除
381
+ delVector()
382
+ {
383
+ this.clearDraw()
384
+ },
385
+
386
+ // 点击绘制
387
+ toolClickDraws(tool)
388
+ {
389
+ this.viewer.scene.globe.depthTestAgainstTerrain = true
390
+ this.coordinates = []
391
+ this.clearDraw()
392
+ this.nowDraw = tool
393
+ let params = this.setDrawParams(this.maxPos)
394
+ switch (tool.name)
395
+ {
396
+ case Point: this.draw = new cxe.DrawPoint(this.viewer, params); break
397
+ case LineString: this.draw = new cxe.DrawPolyline(this.viewer, params); break
398
+ case Polygon: this.draw = new cxe.DrawPolygon(this.viewer, params); break
399
+ case Rectangle: this.draw = new cxe.DrawRectangle(this.viewer, params); break
400
+ case Circle: this.draw = new cxe.DrawCircle(this.viewer, params); break
401
+ case Delete: this.clearDraw(); break
402
+ }
403
+ this.draw.start()
404
+ },
405
+
406
+ // 构造绘制参数
407
+ setDrawParams(maxPos)
408
+ {
409
+ this.drawLayer = new cxe.VectorLayer('layer')
410
+ let layer = this.drawLayer
411
+ this.viewer.layers.addLayer(layer)
412
+
413
+ let params = {
414
+ layer,
415
+ drawUpdate: this.drawUpdate,
416
+ drawFinish: this.drawFinish
417
+ }
418
+ if (maxPos)
419
+ params.maxPos = maxPos
420
+ return params
421
+ },
422
+
423
+ // 绘制完成的回调
424
+ drawFinish(args)
425
+ {
426
+ if (this.nowDraw.name === Point)
427
+ this.coordinates.push(args.graph.position._lng, args.graph.position._lat)
428
+ else if (this.nowDraw.name === LineString)
429
+ {
430
+ this.LineStringObj = args
431
+ setTimeout(() =>
432
+ {
433
+ this.drawLineString = true
434
+ }, 1)
435
+ }
436
+ else if (this.nowDraw.name === Circle)
437
+ this.getFullText(this.nowDraw.name, `${args.graph.center._lng},${args.graph.center._lat},${args.graph.radius}`)
438
+ else if (this.nowDraw.name === Rectangle)
439
+ {
440
+ let arr = []
441
+ args.graph.positions.forEach(item =>
442
+ {
443
+ arr.push([item._lng, item._lat])
444
+ })
445
+ arr = this.creatteRectangle({ x: arr[0][0], y: arr[0][1] }, { x: arr[1][0], y: arr[1][1] })
446
+ // 组织左下角,右上角点位
447
+ let val = `${arr[3][0]},${arr[3][1]},${arr[1][0]},${arr[1][1]}`
448
+ this.getFullText(this.nowDraw.name, val)
449
+ }
450
+ else
451
+ {
452
+ let arr = []
453
+ args.graph.positions.forEach(item =>
454
+ {
455
+ arr.push([item._lng, item._lat])
456
+ })
457
+ arr.push(arr[0])
458
+
459
+ this.coordinates.push(arr)
460
+ this.getFullText(this.nowDraw.name, arr.toString())
461
+ }
462
+ },
463
+
464
+ // 清除绘制
465
+ clearDraw()
466
+ {
467
+ this.coordinates = []
468
+ if (this.draw)
469
+ this.draw.destroy()
470
+ if (this.LineStringObj)
471
+ this.LineStringObj = null
472
+ if (this.pickCoor)
473
+ this.pickCoor.sleep()
474
+ if (this.htmlLayer)
475
+ this.viewer.layers.removeLayer(this.htmlLayer)
476
+ if (this.drawLayer)
477
+ this.viewer.layers.removeLayer(this.drawLayer)
478
+ if (this.billboardLayer)
479
+ this.viewer.layers.removeLayer(this.billboardLayer)
480
+ },
481
+
482
+ drawBq()
483
+ {
484
+ this.$emit('drawBq')
485
+ },
486
+
487
+ clearDrawBq()
488
+ {
489
+ this.$emit('clearDrawBq')
490
+ },
491
+
492
+ exportShp()
493
+ {
494
+ this.$emit('exportShp')
495
+ },
496
+
497
+ saveShp()
498
+ {
499
+ this.$emit('saveShp')
500
+ },
501
+
502
+ // 设置透明度opacity
503
+ setOpacity(value)
504
+ {
505
+ // 如果地球透明 globe.translucency.enabled 要设置为true
506
+ if (value === 1)
507
+ {
508
+ window.Viewer.scene.globe.translucency.enabled = false
509
+ window.Viewer.scene.globe.baseColor = new Cesium.Color(1 / 255, 19 / 255, 70 / 255, 1)
510
+ }
511
+
512
+ else
513
+ {
514
+ window.Viewer.scene.globe.translucency.enabled = true
515
+ window.Viewer.scene.globe.baseColor = new Cesium.Color(0, 0, 0, 0)
516
+ }
517
+
518
+ // 影像图层设置透明度
519
+ window.Viewer.imageryLayers._layers.forEach(layer =>
520
+ {
521
+ layer.alpha = value
522
+ })
523
+ }
524
+ }
525
+ }
526
+ </script>
@@ -0,0 +1,79 @@
1
+ <style lang='scss' scoped>
2
+ </style>
3
+
4
+ <template>
5
+ <DataPreview :baseMapArr="baseMapArr" :defSceneCfg="defSceneCfg" :services="att" :legendList="legendList" :showBaseMap="showBaseMap"></DataPreview>
6
+ </template>
7
+
8
+ <script>
9
+
10
+ /**
11
+ * 插件 - 空间数据预览插件
12
+ *
13
+ * 调用说明:
14
+ * @prop {Object} xxxxxx 描述参数
15
+ *
16
+ * @event event 响应方法以及参数
17
+ *
18
+ * @slot default 描述
19
+ *
20
+ * 参数说明:
21
+ * xxx参数
22
+ * @param {Object} xxx 描述参数
23
+ */
24
+
25
+ /**
26
+ * 修改记录:
27
+ * 22-06-20 姓名 修改内容
28
+ */
29
+ import DataPreview from './DataPreview.vue'
30
+ export default
31
+ {
32
+ mixins: [cx.mixin.IPlugBase],
33
+ components: { DataPreview },
34
+
35
+ data()
36
+ {
37
+ return {
38
+ baseMapArr: [],
39
+ defSceneCfg: {},
40
+ att: {},
41
+ legendList: [],
42
+ showBaseMap: null
43
+ }
44
+ },
45
+
46
+ // 计算属性,依赖其他数据数字计算
47
+ computed:
48
+ {},
49
+
50
+ // 属性监听,处理属性变化后有大量操作
51
+ watch:
52
+ {
53
+
54
+ },
55
+
56
+ // 初始化组件,data中数据变量赋值
57
+ created()
58
+ {
59
+ this.baseMapArr = this.params.baseMapArr
60
+ this.defSceneCfg = this.params.defSceneCfg || {}
61
+ this.att = this.params.att || {}
62
+ this.legendList = this.params.legendList
63
+ this.showBaseMap = this.params.showBaseMap
64
+ },
65
+
66
+ // 组件dom挂载成功
67
+ mounted()
68
+ {},
69
+
70
+ // 销毁前
71
+ beforeUnmount()
72
+ {},
73
+
74
+ // 按功能相关性组织函数块,函数名体现功能
75
+ methods:
76
+ {
77
+ }
78
+ }
79
+ </script>
@@ -0,0 +1,42 @@
1
+ class ReadShpFile
2
+ {
3
+ /**
4
+ * 解析url字段,需要shp、dbf路径,支持两种方式,忽略大小写
5
+ * 1. { url: 'shp:xx/xx.shp;dbf:xx/xx.dbf' } 2. { shpUrl:'xx/.shp',dbfUrl:'xx/xx.dbf' }
6
+ * @param {Object} att shp文件属性
7
+ * @returns {object} shp, dbf路径
8
+ */
9
+ static parseUrl(att)
10
+ {
11
+ let shp, dbf
12
+ if (att.url)
13
+ {
14
+ let res = this.urlDb(att.url)
15
+ shp = res.shp
16
+ dbf = res.dbf
17
+ }
18
+ else if (att.shpUrl && att.dbfUrl)
19
+ {
20
+ shp = att.shpUrl
21
+ dbf = att.dbfUrl
22
+ }
23
+ return { shp, dbf }
24
+ }
25
+
26
+ // 方式1的参数
27
+ static urlDb(url, shp, dbf)
28
+ {
29
+ const shp_ = 'shp:', dbf_ = 'dbf:'
30
+ if (url.toLowerCase().includes(shp_) && url.toLowerCase().includes(dbf_))
31
+ {
32
+ let arr = url.split(';')
33
+ arr.forEach(item =>
34
+ {
35
+ if (item.toLowerCase().includes(shp_)) shp = item.split(':')[1]
36
+ if (item.toLowerCase().includes(dbf_)) dbf = item.split(':')[1]
37
+ })
38
+ }
39
+ return { shp, dbf }
40
+ }
41
+ }
42
+ export default ReadShpFile