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,194 @@
1
+ <style scoped lang='scss'>
2
+ .rowSty {align-items: center; flex-wrap: nowrap; overflow: hidden; background: url('public/static/img/headNav/dhl.png') no-repeat; background-size: 100% 100%; padding: 0 0.2rem;
3
+ .logo {height: 100%;
4
+ img {height: 0.5rem; margin: 0.12rem 0.6rem 0 0.1rem;}
5
+ }
6
+ .user {height: 100%;display: flex; justify-content: space-around; align-items: center; line-height: 0.3rem;
7
+ .homelogo {cursor: pointer;
8
+ img {vertical-align: middle;}}
9
+ .menu-jiange {font-size: 0.30rem;color: rgba(255, 255, 255, 0.6);}
10
+ }
11
+ }
12
+ :deep(.cx-menufold){background: transparent;}
13
+ :deep(.cx-menufold .menufold-horizontal.el-menu--horizontal .el-menu-item.fold-item.is-active){height: .72rem; color: var(--cx-colorPrimary6) !important;}
14
+ :deep(.cx-menufold .menufold-horizontal.el-menu--horizontal .el-menu-item.fold-item:hover){height: .72rem;}
15
+ :deep(.cx-menufold .menufold-horizontal.el-menu--horizontal .el-menu-item.fold-item){font-weight: 600; background: transparent;}
16
+ :deep(.cx-menufold .cx-menuitem .item-icon ) {font-size: .22rem; color: var(--cx-colorPrimary5);}
17
+ :deep(.cx-menufold .cx-menuitem .item-label){font-size: .2rem;}
18
+ :deep(.el-menu--horizontal){justify-content: space-around;height: .72rem;}
19
+ :deep(.cx-user-dropdown .title){font-size: 0.18rem; font-weight: 600; color: #245ea4;}
20
+ .user-icon{font-size: 0.2rem; color: #245ea4; cursor: pointer;position: absolute;right: 0.2rem;top:50%; transform: translateY(-50%);}
21
+ </style>
22
+
23
+ <template>
24
+ <el-row class="rowSty">
25
+ <el-col :span="6" class="logo">
26
+ <img :src="curLogoSrc" alt="">
27
+ </el-col>
28
+
29
+ <el-col :span="15">
30
+ <cx-menu-fold
31
+ :size="size"
32
+ :menus="menuList"
33
+ :defActive="defaultact"
34
+ :elAtts="{mode: 'horizontal'}"
35
+ tintFont
36
+ @menu-click="onStairMenuClick">
37
+ </cx-menu-fold>
38
+ </el-col>
39
+
40
+ <el-col :span="3" class="user">
41
+ <div class="menu-jiange">丨</div>
42
+ <cx-user-dropdown :size="size" v-bind="userinfo" v-on="userListeners1"/>
43
+ <cx-icon v-if="userNo=='admin'" class="user-icon" icon="cx-fi ic-rightsMan" @click="goQxgl"></cx-icon>
44
+ </el-col>
45
+ </el-row>
46
+ </template>
47
+
48
+ <script>
49
+ /**
50
+ * 组件 - 头部菜单导航
51
+ */
52
+
53
+ /**
54
+ * 维护历史:
55
+ * 24-04-29 张光辉 修改格式
56
+ */
57
+ export default
58
+ {
59
+ mixins: [cx.mixin.IComBase],
60
+ data()
61
+ {
62
+ return {
63
+ logoList: [{ sys: 11, logoSrc: 'static/img/headNav/xmmc2.png', bgSrc: 'static/img/headNav/logo_bg.png' }],
64
+ curLogoSrc: '',
65
+ curBgSrc: '',
66
+ userinfo: { username: $g.user.name, filterMenu: this.filterMenu, extraMenus: this.makeExtraMenus() },
67
+ menuList: [],
68
+ defaultact: {},
69
+ userNo: $g.user.no
70
+ }
71
+ },
72
+
73
+ created()
74
+ {
75
+ this.initLogo()
76
+ this.getFuncMenu()
77
+ },
78
+
79
+ methods:
80
+ {
81
+ filterMenu(menus)
82
+ {
83
+ menus.reverse()
84
+ return [{ name: 'exit', title: '退出', icon: 'cx-fi ic-exit', divided: true, click: () => this.logout() }]
85
+ },
86
+
87
+ makeExtraMenus()
88
+ {
89
+ return [
90
+
91
+ ]
92
+ },
93
+
94
+ goQxgl()
95
+ {
96
+ this.defaultact = ''
97
+ cx.run.runPlug('Qxgl', { type: 'Qxgl', namec: '权限管理' })
98
+ },
99
+
100
+ // 初始化logo和背景
101
+ initLogo()
102
+ {
103
+ let curLogoBg = this.logoList.find(item => item.sys === Number($g.user.sys))
104
+ this.curLogoSrc = curLogoBg.logoSrc
105
+ this.curBgSrc = curLogoBg.bgSrc
106
+ },
107
+
108
+ onStairMenuClick(evt, isFirst = false)
109
+ {
110
+ if ((evt.menu.plugin && this.defaultact.plugin !== evt.menu.plugin) || isFirst)
111
+ {
112
+ cx.run.runPlug(evt.menu.plugin, evt.menu.params)
113
+ this.defaultact = evt.menu
114
+ }
115
+ this.$emit('menu-click', evt)
116
+ },
117
+
118
+ /**
119
+ * 返回系统选择页
120
+ */
121
+ goSysPage()
122
+ {
123
+ this.$router.push('sysPage')
124
+ },
125
+
126
+ // 重置logo与菜单
127
+ getFuncMenu()
128
+ {
129
+ let menus = $g.init.func.filter(item => !item.grp && item.target === 'menu')
130
+ menus.forEach(item =>
131
+ {
132
+ item.title = item.namec
133
+ item.children = []
134
+ $g.init.func.forEach(f =>
135
+ {
136
+ f.title = f.namec
137
+ if (f.grp === item.name)
138
+ item.children.push(f)
139
+ })
140
+ if (this.$route.matched[1] && this.$route.matched[1].name === item.plugin)
141
+ this.defaultact = item
142
+ })
143
+ this.menuList = menus
144
+ if (!this.defaultact.name)
145
+ {
146
+ this.defaultact = this.menuList[0]
147
+ this.onStairMenuClick({ menu: this.defaultact }, true)
148
+ }
149
+ },
150
+
151
+ logout()
152
+ {
153
+ cx.localCache.remove('userNo')
154
+ cx.config.initOpts.authorization = ''
155
+ cx.InitRunenv.setLoginAuth({ authorization: 'ret.Authorization', user: '' })
156
+ window.location.href = 'https://ssoserver.hubgs.com/ssoserver/login/loginout?url=' + window.location.origin + window.location.pathname
157
+ // vm.$router.push('/login')
158
+ },
159
+
160
+ onClickMenu(menu)
161
+ {
162
+ if (menu.plugin === 'InitModel')
163
+ {
164
+ let routeData = this.$router.resolve({ path: `/${menu.plugin}` })
165
+ window.open(location.pathname + routeData.href, '_blank')
166
+ }
167
+ else
168
+ this.$router.push({ name: menu.plugin })
169
+ },
170
+
171
+ onCommand(command)
172
+ {
173
+ switch (command)
174
+ {
175
+ case 'pass':
176
+ {
177
+ let params =
178
+ {
179
+ onOk: () =>
180
+ {
181
+ this.logout()
182
+ }
183
+ }
184
+ cx.run.runPlug('PswSet', params)
185
+ break
186
+ }
187
+ case 'logout':
188
+ this.logout()
189
+ break
190
+ }
191
+ }
192
+ }
193
+ }
194
+ </script>
@@ -0,0 +1,59 @@
1
+ <style lang='scss' scoped>
2
+ </style>
3
+
4
+ <template>
5
+ <cx-layout ref="rootEle">
6
+ <!-- <cx-region region="north" height=".6rem" class="north"> -->
7
+ <cx-region region="north" class="north">
8
+ <HeadNav></HeadNav>
9
+ </cx-region>
10
+ <cx-region region="center">
11
+ <router-view />
12
+ </cx-region>
13
+ </cx-layout>
14
+ <!-- 对话框容器 -->
15
+ <cx-dialogs :plugName='plugName'></cx-dialogs>
16
+ <!-- 动态组件插件容器 -->
17
+ <cx-dyna-coms :plugName="plugName"></cx-dyna-coms>
18
+ </template>
19
+
20
+ <script>
21
+ /**
22
+ * 插件 - 系统容器
23
+ */
24
+
25
+ /**
26
+ * 维护历史:
27
+ * 24-04-29 张光辉 修改格式
28
+ */
29
+ import HeadNav from './HeadNav.vue'
30
+ export default
31
+ {
32
+ mixins: [cx.mixin.IPlugBase],
33
+ components: { HeadNav },
34
+
35
+ data()
36
+ {
37
+ return {
38
+ }
39
+ },
40
+
41
+ created()
42
+ {
43
+ this.getMrSjj()
44
+ },
45
+
46
+ methods: {
47
+ getMrSjj()
48
+ {
49
+ cx.svr.data.query($app.TabConst.sjj.major, $app.TabConst.sjj.minor, { args: [['userid', '=', $g.user.id, null], ['defdata', '=', 1, 'and']] }).then((res) =>
50
+ {
51
+ if (res.length)
52
+ window.mrsjj = res[0]
53
+ }).catch(() =>
54
+ {
55
+ })
56
+ }
57
+ }
58
+ }
59
+ </script>
@@ -0,0 +1,237 @@
1
+ <style lang='scss' scoped>
2
+ .center-region{padding-top: 0.8%; justify-content: space-between;}
3
+ .list-card{position: relative; width: 16%; height: 98%;
4
+ .list-img{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
5
+ .list-title{position: absolute; top: 26%; width: 50%; left: 55%; transform: translate(-50%,0); font-size: 0.18rem; color: #5f6165; font-weight: 600;}
6
+ .list-num{position: absolute; top: 50%; width: 50%; left: 55%; transform: translate(-50%,0); font-size: 0.24rem; color:#3aaefe; font-weight: 800;}
7
+ }
8
+ .top-bcg{width: 100%; height: 0.5rem; background-image: linear-gradient(to right, #ebf5fe, #fdfdfe);
9
+ img{margin-top: 1%;}
10
+ }
11
+ .data-preview{position: relative; width: 99% !important; height: 95% !important; margin: auto; margin-top: 1%;
12
+ .img-title{text-align: right;}
13
+ }
14
+ .right-card1{width: 100%; height: 27%; background: #fff; border-radius: 0.08rem;
15
+ .content{font-size: 0.14rem; color: #5f6165; font-weight: 600; padding: 0.1rem; padding-top: 0; line-height: 0.3rem; margin-top: 0.08rem;}
16
+ }
17
+ .right-card2{position: relative; width: 100%; height: 45%; background: #fff; border-radius: 0.08rem;
18
+ .img-content{position: absolute; top: 63%; left: 50%; transform: translate(-50%, -50%);}
19
+ .content{font-size: 0.14rem; color: #5f6165; font-weight: 600; padding: 0.1rem; padding-top: 0; line-height: 0.26rem; margin-top: 0.08rem;}
20
+ }
21
+ .right-card3{position: relative; width: 100%; height: 24%; background: #fff; border-radius: 0.08rem;
22
+ .img-content{position: absolute; height: 60%; top: 68%; left: 50%; transform: translate(-50%, -50%);}
23
+ }
24
+ .tp-imgs{width: 100%; height: 100%;}
25
+ :deep(.el-carousel__container){height: 100%;}
26
+ .bottom-box{position: absolute; bottom: 1%; left: 50%; transform: translate(-50%,0); width: 32%; text-align: center; font-size: 0.1rem;}
27
+ </style>
28
+
29
+ <template>
30
+ <cx-layout ref="rootEle" padding style="background-color: #f1f2f6; height: 96%;">
31
+ <cx-region region="north" class="east" border style="display: flex; justify-content: space-around; align-items: center; width: 100%; height: 15%; background-color: #fff; box-shadow: 0 0 0.1rem 0 rgba(0, 0, 0, 0.1); border-radius: 0.08rem ;">
32
+ <div v-for="item in topList" :key="item" class="list-card">
33
+ <img class="list-img" style="width: 100%;" :src="item.img" alt="">
34
+ <div class="list-title">{{item.title}}</div>
35
+ <div class="list-num">{{item.num}}</div>
36
+ </div>
37
+ </cx-region>
38
+ <cx-region region="center">
39
+ <cx-layout class="center-region">
40
+ <cx-region region="east" class="east" border style="width: 49.5%; height: 100%; background-color: #fff; box-shadow: 0 0 0.1rem 0 rgba(0, 0, 0, 0.1); border-radius: 0.08rem; overflow: hidden;">
41
+ <div class="top-bcg">
42
+ <img src="static/img/home/hbskcdztcg.png" alt="">
43
+ </div>
44
+ <el-carousel class="data-preview" autoplay>
45
+ <el-carousel-item v-for="(item,index) in imgs" :key="index" style="height: 100%; text-align: center;">
46
+ <el-image class="tp-imgs" :src="item.img" :preview-teleported="true" :preview-src-list="[item.img]" style="width: 100%; height: 90%;"></el-image>
47
+ <div class="img-title">{{ item.title }}</div>
48
+ </el-carousel-item>
49
+ </el-carousel>
50
+ <!-- <DataPreview
51
+ class="data-preview"
52
+ :noShowTool="true"
53
+ ref="DataPreview"
54
+ :baseMapArr="baseMapArr"
55
+ :services="att"
56
+ :showBaseMap="showBaseMap"
57
+ :legendList="legendList"
58
+ @drawBq="drawBq"
59
+ @clearDrawBq="clearDrawBq"
60
+ @exportShp="exportShp"
61
+ @saveShp="saveShp"
62
+ /> -->
63
+ </cx-region>
64
+ <cx-region region="west" class="west" border style="display: flex; flex-direction: column; justify-content: space-around; align-items: center; width: 49.5%; height: 100%;">
65
+ <div class="right-card1">
66
+ <div class="top-bcg">
67
+ <img src="static/img/home/ptjs.png" alt="">
68
+ </div>
69
+ <p class="content" v-html="content"></p>
70
+ </div>
71
+ <div class="right-card2">
72
+ <div class="top-bcg">
73
+ <img src="static/img/home/yycj.png" alt="">
74
+ </div>
75
+ <!-- <img class="img-content" src="static/img/home/yycjt.png" alt=""> -->
76
+ <p class="content" v-html="content1"></p>
77
+ </div>
78
+ <div class="right-card3">
79
+ <div class="top-bcg">
80
+ <img src="static/img/home/zkyclc.png" alt="">
81
+ </div>
82
+ <img class="img-content" src="static/img/home/ckyclct1.png" alt="">
83
+ </div>
84
+ </cx-region>
85
+ </cx-layout>
86
+ </cx-region>
87
+ </cx-layout>
88
+ <div class="bottom-box">
89
+ <div>
90
+ <span style="color: #727a8d;">版本: </span><span style="margin-left: 0.08rem;color: #727a8d;">V1.0</span>
91
+ <span style="margin-left: 12%;color: #727a8d;">主管单位:</span><span style="margin-left: 0.08rem;color: #727a8d;">湖北省地质局</span>
92
+ <span style="margin-left: 12%;color: #727a8d;">技术支撑:</span><span style="margin-left: 0.08rem;color: #727a8d;">湖北省地质调查院</span>
93
+ </div>
94
+ </div>
95
+ </template>
96
+
97
+ <script>
98
+
99
+ /**
100
+ * 组件 - 首页
101
+ */
102
+
103
+ /**
104
+ * 维护历史:
105
+ * 25-07-01 黄佳龙 首次提交
106
+ */
107
+ import DataPreview from '@/plugins/zbcxCesium/coms/dataPreview/DataPreview.vue'
108
+ export default
109
+ {
110
+ mixins: [cx.mixin.IPlugBase],
111
+ components: { DataPreview },
112
+ data()
113
+ {
114
+ return {
115
+ topList: [
116
+ { img: 'static/img/home/kcmx.png', title: '矿床模型', num: 0 },
117
+ { img: 'static/img/home/sjj.png', title: '数据集', num: 0 },
118
+ { img: 'static/img/home/yssj.png', title: '原始数据', num: 0 },
119
+ { img: 'static/img/home/yclsj.png', title: '预处理数据', num: 0 },
120
+ { img: 'static/img/home/ckycmx.png', title: '成矿预测模型', num: 0 },
121
+ { img: 'static/img/home/zngj.png', title: '智能工具', num: 0 }
122
+ ],
123
+ content: '‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp“鄂找矿”大数据智能找矿预测系统,简称“鄂找矿”系统,其核心是“以知识驱动、数据驱动重构传统矿产勘查逻辑”,以云计算、大数据和人工智能为底座,打通地质、地球化学、地球物理与遥感等多源异构数据壁垒。地质人员只需导入各类勘查资料,系统即可在分钟级完成数据分析、融合与可视化,并可以依托成矿预测模型开展矿产资源潜力智能评价,辅助地质人员进行矿产勘查和开发决策,提升矿产资源预测的信息化和智能化水平。',
124
+ content1: '‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp<span style="font-weight:900">“鄂找矿”大数据智能找矿预测系统的应用场景包括:</span><br><span style="color: #3aaefe; font-weight: 600">‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp矿床模型:</span>地质人员可以进行典型矿床模型的上传(包括上传典型矿床的基本信息、成矿模式图、预测要素表、参考文献),以及矿床模型的查看和修改。<br><span style="color: #3aaefe;font-weight: 600">‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp数据集管理:</span>地质人员可以实现包括.csv、.excel、.grd、.mapgis、.dgss、.shp、.tif七种格式的数据导入,并可以在三维地形图上进行预览。<br><span style="color: #3aaefe;font-weight: 600">‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp数据分析处理:</span>地质人员可以实现包括基础统计分析、QQ/PP图、回归分析、相关性分析、聚类分析、PCA分析的基础数据分析,以及实现包括插值分析、衬度计算、趋势分析、信息熵计算、相关系数计算等的通用的模型计算分析;并可以根据项目需求开展包括地质、化探、物探、遥感等数据的异常提取。<br><span style="color: #3aaefe;font-weight: 600">‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp‌&nbsp智能找矿预测工具:</span>地质人员可以根据找矿预测任务自行搭建找矿预测模型,也可以直接调用系统内部的找矿预测工具(包括证据权、自注意力网络、卷积神经网络)等,并可以将预测结果在三维地形图上进行展示(实现包括地形图的测量和靶区的绘制和靶区的下载)。',
125
+ showBaseMap: true,
126
+ baseMapArr: [],
127
+ imgs: [
128
+ {
129
+ img: 'static/img/ui/湖北省地质图.jpg',
130
+ title: '据《中国区域地质志·湖北志》'
131
+ },
132
+ {
133
+ img: 'static/img/ui/湖北省矿产地质图.jpg',
134
+ title: '据《中国矿产地质志·湖北卷》'
135
+ },
136
+ {
137
+ img: 'static/img/ui/湖北省构造单元综合分区图.png',
138
+ title: '据《中国区域地质志·湖北志》'
139
+ },
140
+ {
141
+ img: 'static/img/ui/湖北省综合成矿区带图.png',
142
+ title: '据《中国矿产地质志·湖北卷》'
143
+ }
144
+ ]
145
+ }
146
+ },
147
+
148
+ created()
149
+ {
150
+ this.imgs = window.SmData.homeimgs
151
+ this.getNum()
152
+ },
153
+
154
+ mounted()
155
+ {
156
+ // this.getMapservice()
157
+ // this.flyToPos()
158
+ },
159
+
160
+ methods:
161
+ {
162
+ getMapservice()
163
+ {
164
+ let baseLayer = new cxe.ImageryLayer('tdt', {
165
+ style: 'img',
166
+ key: '569737ea36171685d686b54ce079a49d'
167
+ })
168
+ let baseLayerZj = new cxe.ImageryLayer('tdt', {
169
+ style: 'cva',
170
+ key: '569737ea36171685d686b54ce079a49d'
171
+ })
172
+ Viewer.layers.addImageryLayer(baseLayer)
173
+ Viewer.layers.addImageryLayer(baseLayerZj)
174
+ this.loadBaseMap()
175
+ },
176
+
177
+ // 加载superMapSvr默认底图
178
+ loadBaseMap()
179
+ {
180
+ let opt = {
181
+ url: 'https://geocloud.hubgs.com/api/igs/rest/ogc/doc/020101010006201/WMSServer?styles=default&hb_token=eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJjb20uem9uZHkuc2hpcm8iLCJpc3MiOiJjb20uem9uZHkuc2hpcm8iLCJpYXQiOjE3NTEzNzk3OTUsInN1YiI6IjQxMDg2IiwiZXhwIjoxODgwOTc5Nzk1fQ.0eKckfMW8II3UA2bHjRrjiW7W3iBoMwkMiIl0SyO8ZI',
182
+ format: 'image/png',
183
+ layers: '020101010006201',
184
+ parameters: {
185
+ service: 'WMS',
186
+ transparent: true
187
+ }
188
+ }
189
+ let baseLayer = new cxe.ImageryLayer('wms', opt)
190
+ Viewer.layers.addImageryLayer(baseLayer)
191
+ },
192
+
193
+ flyToPos()
194
+ {
195
+ Viewer.camera.setView({
196
+ destination: Cesium.Cartesian3.fromDegrees(112.5, 31, 800000.0), // 经度, 纬度, 高度
197
+ orientation: {
198
+ heading: Cesium.Math.toRadians(0.0), // 方向,以北为0度,向东为90度,以此类推
199
+ pitch: Cesium.Math.toRadians(-90.0), // 俯仰角,以水平为0度,向下为-90度
200
+ roll: 0.0 // 翻滚角
201
+ }
202
+ })
203
+ },
204
+
205
+ /**
206
+ * 获取数据总数
207
+ */
208
+ getNum()
209
+ {
210
+ cx.svr.data.query($app.TabConst.kcmxb.major, $app.TabConst.kcmxb.minor, { args: [['id', '>', 0, null]] }).then((res) =>
211
+ {
212
+ this.topList[0].num = res.length
213
+ })
214
+ cx.svr.data.query($app.TabConst.sjj.major, $app.TabConst.sjj.minor, { args: [['id', '>', 0, null]] }).then((res) =>
215
+ {
216
+ this.topList[1].num = res.length
217
+ })
218
+ cx.svr.data.query($app.TabConst.ysjj.major, $app.TabConst.ysjj.minor, { args: [['id', '>', 0, null]] }).then((res) =>
219
+ {
220
+ this.topList[2].num = res.length
221
+ })
222
+ cx.svr.data.query($app.TabConst.yclsjj.major, $app.TabConst.yclsjj.minor, { args: [['id', '>', 0, null]] }).then((res) =>
223
+ {
224
+ this.topList[3].num = res.length
225
+ })
226
+ cx.svr.data.query($app.TabConst.cx_bf_flow.major, $app.TabConst.cx_bf_flow.minor, { args: [['id', '>', 0, null]] }).then((res) =>
227
+ {
228
+ this.topList[4].num = res.length
229
+ })
230
+ cx.svr.data.query($app.TabConst.zdygjsxb.major, $app.TabConst.zdygjsxb.minor, { args: [['id', '>', 0, null]] }).then((res) =>
231
+ {
232
+ this.topList[5].num = res.length
233
+ })
234
+ }
235
+ }
236
+ }
237
+ </script>
@@ -0,0 +1,139 @@
1
+ <style lang='scss' scoped>
2
+ .login-page{width: 100vw; height: 100vh;}
3
+ .login-form{position: absolute; top: 2.2rem; right: 2rem; width: 4.1rem; height: 4.5rem; background-color: #fff; box-shadow: 0 0 0.1rem rgba(0, 0, 0, 0.3);}
4
+ .login-url{background: url('../../../public/static/login/login_bg.png') 0 0 no-repeat;}
5
+ .fwd-url{display: flex; justify-content: center; align-items: center; background: url('../../../public/static/login/tav_bg.png') 0 0 no-repeat; background-size: 100% 100%;}
6
+ .back {position: absolute; left: 2.2rem; top: 0.33rem;}
7
+ .fotpassword{position: relative; width: 8rem; height: 5rem;}
8
+ :deep(.el-button){background: #518cff; padding: 0rem 0.15rem; border-radius: 0.03rem;}
9
+ .copyright{position: absolute; bottom: 0; width: 100%; height: .5rem; left: 0;}
10
+ </style>
11
+
12
+ <template>
13
+ <div class="login-page" :class="[isLogin?'login-url':'fwd-url']">
14
+ <div v-if="isLogin" class="login-form">
15
+ <cx-login
16
+ :config="login"
17
+ @forget="onForget"
18
+ @login="onLogin"
19
+ />
20
+ </div>
21
+ <div v-else class="fotpassword">
22
+ <cx-forgot-pwd
23
+ :config="forget"
24
+ @success="onToLogin"
25
+ />
26
+ <div class="back">
27
+ <el-button type="primary"
28
+ @click="isLogin=true"
29
+ >
30
+ {{ $locLogin('cmdToLogin') }}
31
+ </el-button>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </template>
36
+
37
+ <script>
38
+ /**
39
+ * 插件 - 用户登录页
40
+ */
41
+
42
+ /**
43
+ * 修改记录:
44
+ * 23-08-08 张发勇 升级到多种方式登录
45
+ * 23-09-20 张清 修改密钥与数据库默认值匹配,删除sys配置
46
+ */
47
+
48
+ export default
49
+ {
50
+ mixins: [cx.mixin.IPlugBase],
51
+ data()
52
+ {
53
+ return {
54
+ isLogin: true,
55
+ login:
56
+ {
57
+ types:
58
+ [
59
+ {
60
+ name: 'AccSlider', // 滑块验证登录
61
+ label: this.$locLogin('loginAccSlider'),
62
+ params:
63
+ {
64
+ addForget: true // 加忘记密码
65
+ }
66
+ }
67
+ ],
68
+ config:
69
+ {
70
+ sys: 11,
71
+ addVerify: false, // 是否增加图形验证
72
+ encodeUser: undefined, // 手机号,邮箱等用户信息加密函数
73
+ encodeLogin: key => cx.security.encrypt.encrypt(key, cx.base.bytesToStr([49, 49, 90, 66, 67, 88, 35, 50])), // 登录信息加密函数,里面bytes由cx.base.strToBytes(cx_syscfg.enKey)产生
74
+ decodeLogin: key => cx.security.encrypt.decrypt(key, cx.base.bytesToStr([49, 49, 90, 66, 67, 88, 35, 50])) // 登录信息解密函数
75
+ }
76
+ },
77
+ forget:
78
+ {
79
+ types: [cx.consts.LOGIN_MAIL, cx.consts.LOGIN_CELL] // 支持的验证类型
80
+ }
81
+ }
82
+ },
83
+
84
+ created()
85
+ {
86
+ // 切换到默认的皮肤切不保存
87
+ cx.config.theme.setTheme($app.theme, true)
88
+ // 给忘记密码的配置信息里面增加函数
89
+ const config = this.login.config
90
+ if (config.encodeUser)
91
+ this.forget.encodeUser = config.encodeUser
92
+ if (config.encodeLogin)
93
+ this.forget.encodeLogin = config.encodeLogin
94
+ },
95
+
96
+ methods:
97
+ {
98
+ // 忘记密码
99
+ onForget()
100
+ {
101
+ this.isLogin = false
102
+ },
103
+
104
+ // 从忘记密码返回到登录页面
105
+ onToLogin(form)
106
+ {
107
+ this.isLogin = true
108
+ },
109
+
110
+ // 返回登录成功or失败的状态
111
+ onLogin(ret)
112
+ {
113
+ if (ret.ret === 0)
114
+ {
115
+ // 初始化系统
116
+ vm.$processing.show()
117
+ cx.InitRunenv.init(this.login.config.sys, cx.config.initOpts)
118
+ .then(ret =>
119
+ {
120
+ vm.$processing.close()
121
+ // 启用用户选择的皮肤
122
+ cx.config.theme.initTheme($app.theme)
123
+ // 构造路由
124
+ cx.router.addRoutesByPlug($g.plugin.list)
125
+
126
+ // 运行初始功能页面
127
+ cx.run.runPlug('Home')
128
+ cx.events.publish('onLogin', { isLogin: true, name: $g.user.name })
129
+ })
130
+ .catch(err =>
131
+ {
132
+ vm.$processing.close()
133
+ this.$showRet(err)
134
+ })
135
+ }
136
+ }
137
+ }
138
+ }
139
+ </script>