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,296 @@
1
+ <style lang='scss' scoped>
2
+ .cx-plug-attinput {
3
+ $attform-label-width: 1.35rem;
4
+ .attach-title { width: $attform-label-width; }
5
+ .doclist { position: relative; left: $attform-label-width; }
6
+ }
7
+ :deep(.el-image__error) { display: none; }
8
+ .rev-item {
9
+ :deep(.el-form-item__label) { width: 26%; font-size: 0.14rem; }
10
+ }
11
+ </style>
12
+
13
+ <template>
14
+ <cx-layout class="cx-plug-attinput" :size="size" padding>
15
+ <cx-region region="center" class="region-padding-top">
16
+ <cx-att-edit ref="com"
17
+ v-if="paramsCom"
18
+ :size="size"
19
+ :params="paramsCom"
20
+ :colNum="params.colNum"
21
+ @values-change="onValChange"
22
+ />
23
+ <el-form-item v-if="showRever" label="xy是否反转:" class="rev-item">
24
+ <el-select v-model="reversal" style="width: 98%;">
25
+ <el-option label="是" :value="1"></el-option>
26
+ <el-option label="否" :value="0"></el-option>
27
+ </el-select>
28
+ </el-form-item>
29
+ <!-- 附件 -->
30
+ <section v-if="useAttach" class="cx-h-a cx-ta-l">
31
+ <el-form class="cx-attform" label-position="right" label-width="1.35rem" inline
32
+ :size="size"
33
+ >
34
+ <el-form-item prop="attach" class="cx-fldform col1"
35
+ :label="$locBase('attach') + ':'"
36
+ >
37
+ <component ref="doclist"
38
+ :is="docListCom"
39
+ :size="size"
40
+ v-bind="docAttrs"
41
+ v-on="docListeners"
42
+ :upload-attrs="uploadAttrs"
43
+ >
44
+ </component>
45
+ </el-form-item>
46
+ </el-form>
47
+ </section>
48
+ </cx-region>
49
+ <cx-region region="south" border>
50
+ <component
51
+ :is="cmdCom"
52
+ :size="size"
53
+ :disabled-ok="!able"
54
+ @ok-click="onOk"
55
+ @cancel-click="onClose"
56
+ />
57
+ </cx-region>
58
+ </cx-layout>
59
+ </template>
60
+
61
+ <script>
62
+ /**
63
+ * 插件 - 输入属性
64
+ */
65
+
66
+ /**
67
+ * 调用说明:
68
+ * @param {Object} params
69
+ * @param {Number} [params.major] 实体主类型
70
+ * @param {Number} [params.minor] 实体子类型
71
+ * @param {Object} [params.att] 实体属性 (不传则采用默认属性)
72
+ * @param {String} [params.title] 对话框标题
73
+ * @param {Array} [params.uneditables] 不可编辑的字段列表
74
+ * @param {Number} [params.retAtt = 0] 是否返回数据
75
+ * @param {String} [params.cmdCom = cx-cmd-ok-cancel] 命令组件
76
+ * @param {String} [params.attCom = cx-att-form] 属性组件
77
+ * @param {Boolean} [params.useAttach] 是否支持上传附件
78
+ * @param {String} [params.uploadType] 上传协议类型 (ws/http), 默认用ws
79
+ * @param {Boolean} [params.attachAttrs] 自定义传给cx-doc-list组件的参数对象,通过v-bind绑定,参数枚举见cx-doc-list组件的参数说明
80
+ * @param {Boolean} [params.attachListeners] 自定义给cx-doc-list组件注册的事件监听对象,通过v-on绑定,支持的事件见cx-doc-list组件的事件说明
81
+ * @prop {Object} [params.uploadAttrs] 自定义传入el-upload组件的原生参数对象
82
+ * @param {Boolean} [params.unsaveFile] 不保存文件(默认是保存)
83
+ * @param {Boolean} [params.changed] 数据修改状态
84
+ * @param {Number} [params.colNum = 2] 属性列数
85
+ *
86
+ * @param {Caller} params.onOk 回调函数-确认 - function(attNew, plug)
87
+ * @param {Function} [params.onClose] 回调函数-关闭- function()
88
+ * @param {Function} [params.onFldChange] 回调函数-字段输入值变化时 - function(fld)
89
+ */
90
+
91
+ /**
92
+ * 修改记录:
93
+ * 22-04-28 张发勇 升级到 VUE3 / Element-Plus
94
+ * 23-07-11 高旭龙 新增附件上传支持,通过传入参数useAttach为TRUE,来显示附件上传面板;同时需要在onOk函数中,返回包含入库记录id的对象,如:{id: 8},以此将附件信息回写入cx_media表中,并通过major/minor/entityid和当前记录关联上
95
+ * 23-07-31 张发勇 点击添加按钮,需要先禁止,之后再使能,避免多次添加
96
+ * 23-08-19 张发勇 增加属性显示的列数
97
+ * 23-09-09 张发勇 保存数据之后,清除临时文件的状态
98
+ * 24-04-11 陶江源 增加uploadType参数,用于配置上传协议类型 (ws/http), 默认用ws
99
+ */
100
+
101
+ export default
102
+ {
103
+ mixins: [cx.mixin.IPlugBase],
104
+
105
+ data()
106
+ {
107
+ return {
108
+ paramsCom: null,
109
+ cmdCom: 'cx-cmd-ok-cancel',
110
+ useAttach: false,
111
+ docAttrs: { uploadable: true, downloadable: true, removable: true, viewable: false },
112
+ docListeners: {},
113
+ uploadAttrs: {},
114
+ ableOK: true,
115
+ reversal: 0,
116
+ showRever: false
117
+ }
118
+ },
119
+
120
+ computed:
121
+ {
122
+ able()
123
+ {
124
+ return (this.params.changed === undefined || this.params.changed) && this.ableOK
125
+ },
126
+
127
+ docListCom()
128
+ {
129
+ return this.params.uploadType === 'http' ? 'cx-doc-list' : 'cx-doc-list-ws'
130
+ }
131
+ },
132
+
133
+ created()
134
+ {
135
+ const self = this
136
+ const params = self.params
137
+
138
+ // 命令
139
+ if (params.cmdCom !== undefined)
140
+ self.cmdCom = params.cmdCom
141
+
142
+ // 对话框标题
143
+ if (params.title)
144
+ self.setTitle(params.title)
145
+
146
+ // 属性显示列数
147
+ if (!params.colNum)
148
+ params.colNum = 2
149
+
150
+ // gaoxulong.20230711.增加附件启用判断,及初始化
151
+ self.useAttach = params.useAttach
152
+ if (self.useAttach)
153
+ {
154
+ cx.base.extend(self.docAttrs, params.attachAttrs)
155
+ cx.base.extend(self.docListeners, params.attachListeners)
156
+ cx.base.extend(self.uploadAttrs, params.uploadAttrs)
157
+ }
158
+ },
159
+
160
+ methods:
161
+ {
162
+ /**
163
+ * 初始化数据
164
+ */
165
+ initData()
166
+ {
167
+ const params = this.params
168
+
169
+ params.editable = true
170
+ params.mode = 1
171
+ params.colNum = params.colNum ? params.colNum : 2
172
+ params.retAtt = cx.base.defVal(params.retAtt, 0)
173
+
174
+ this.paramsCom = params
175
+ },
176
+
177
+ /**
178
+ * 字段值发生变化
179
+ * @param {Object} fld 字段信息
180
+ * @param {Boolean} changed 是否变更
181
+ */
182
+ onValChange(fld, changed)
183
+ {
184
+ if (this.params.onFldChange)
185
+ this.params.onFldChange(fld, this.getDoclist())
186
+ if (fld.colname === 'datatype')
187
+ {
188
+ if (fld.value == '3')
189
+ this.showRever = true
190
+ else
191
+ this.showRever = false
192
+
193
+ if (fld.value == '6' || fld.value == '7')
194
+ {
195
+ this.$refs.com.attObj.flds.forEach((item) =>
196
+ {
197
+ if (item.colname == 'yxlx')
198
+ {
199
+ item.editable = 1
200
+ item.newedit = 1
201
+ }
202
+ })
203
+ this.$refs.com.flds.forEach((item) =>
204
+ {
205
+ if (item.colname == 'yxlx')
206
+ {
207
+ item.editable = 1
208
+ item.newedit = 1
209
+ }
210
+ })
211
+ }
212
+ else
213
+ {
214
+ this.$refs.com.attObj.flds.forEach((item) =>
215
+ {
216
+ if (item.colname == 'yxlx')
217
+ {
218
+ item.editable = 0
219
+ item.newedit = 0
220
+ }
221
+ })
222
+ this.$refs.com.flds.forEach((item) =>
223
+ {
224
+ if (item.colname == 'yxlx')
225
+ {
226
+ item.editable = 0
227
+ item.newedit = 0
228
+ item.value = ''
229
+ item._value = ''
230
+ }
231
+ })
232
+ }
233
+ }
234
+ },
235
+
236
+ /**
237
+ * 消息响应函数-OK
238
+ */
239
+ async onOk()
240
+ {
241
+ const self = this
242
+ const params = self.params
243
+ const comAtt = self.$refs.com
244
+ const att = comAtt.getInput()
245
+
246
+ if (!comAtt.valid(att))
247
+ return
248
+
249
+ // 计算属性
250
+ comAtt.attObj.calcAtt(att)
251
+ comAtt.attObj.numberize(att)
252
+ comAtt.attObj.encode(att)
253
+ att.reversal = self.reversal
254
+ if (params && params.onChange)
255
+ params.onChange()
256
+ try
257
+ {
258
+ self.ableOK = false
259
+ const ret = await params.onOk(att, self)
260
+ self.ableOK = true
261
+
262
+ if (ret)
263
+ {
264
+ // gaoxulong.20230711.针对有附件的情况,使用返回的新纪录id,将附件信息入库
265
+ if (ret.id && self.useAttach && !params.unsaveFile)
266
+ {
267
+ // 上载的文件列表
268
+ const files = self.$refs.doclist.getFilesNew()
269
+ if (files.length)
270
+ {
271
+ await cx.svr.doc.saveTempFile({ filename: cx.array.toString(files, 'filename'), major: params.major, minor: params.minor, entityid: ret.id, filelength: cx.array.toString(files, 'filelength'), title: cx.array.toString(files, 'title') })
272
+ this.$refs.doclist.clearNew(true)
273
+ }
274
+ }
275
+ self.close()
276
+ }
277
+ params.onChange()
278
+ }
279
+ catch (ret)
280
+ {
281
+ self.ableOK = true
282
+ params.onChange()
283
+ }
284
+ },
285
+
286
+ /**
287
+ * 获取 cx-doc-list 对象
288
+ * @returns {Object} 组件引用
289
+ */
290
+ getDoclist()
291
+ {
292
+ return this.$refs.doclist
293
+ }
294
+ }
295
+ }
296
+ </script>
@@ -0,0 +1,141 @@
1
+ <style lang='scss' scoped>
2
+ :deep(.cx-tabs) {height: 100%;}
3
+ :deep(.cx-tabs .pane-body) {height: 100%;}
4
+ :deep(.cx-datagrid) {height: 100%;}
5
+ :deep(.el-tabs__content){padding-top: 0.1rem; width: 98.8%; margin: auto; box-sizing: border-box;}
6
+ :deep(.cx-gridpage){height: 0.4rem;}
7
+ .btn_sm{position: absolute;right: 0.5%;top: -6.8%;z-index: 99;}
8
+ </style>
9
+
10
+ <template>
11
+ <el-popover
12
+ placement="right"
13
+ width="600"
14
+ trigger="click">
15
+ <p style="white-space: pre-wrap;max-height: 5rem;overflow: auto;" v-html="smData"></p>
16
+ <template #reference>
17
+ <el-button class="btn_sm" type="primary">功能说明</el-button>
18
+ </template>
19
+ </el-popover>
20
+ <cx-tabs
21
+ ref="tabs"
22
+ :size="size"
23
+ v-bind="param"
24
+ @click="onSelect"
25
+ />
26
+ </template>
27
+
28
+ <script>
29
+
30
+ /**
31
+ * 插件 - 数据集管理
32
+ */
33
+
34
+ /**
35
+ * 修改记录:
36
+ * 24-05-06 张光辉 首次编写
37
+ */
38
+ import Yssjj from './Yssjj.vue'
39
+ import Yclsjj from './Yclsjj.vue'
40
+ import sjj from './Sjj.vue'
41
+ export default
42
+ {
43
+ mixins: [cx.mixin.IPlugBase],
44
+
45
+ data()
46
+ {
47
+ return {
48
+ param:
49
+ {
50
+ type: 'plain',
51
+ container: '',
52
+ allRender: false,
53
+ tabs:
54
+ [
55
+ {
56
+ name: 'sjj',
57
+ title: '数据集',
58
+ modDef: { url: '', com: sjj },
59
+ selected: true,
60
+ closable: false
61
+ },
62
+ {
63
+ name: 'yssjj',
64
+ title: '原始数据',
65
+ modDef: { url: '', com: Yssjj },
66
+ selected: false,
67
+ closable: false
68
+ },
69
+ {
70
+ name: 'yclsjj',
71
+ title: '预处理数据',
72
+ modDef: { url: '', com: Yclsjj },
73
+ comParams: { arg: [['username', '=', $g.user.id, 'and'], ['gcsj', 'is null', '', 'and']] },
74
+ selected: false,
75
+ closable: false
76
+ },
77
+ {
78
+ name: 'yclsjj—gcsj',
79
+ title: '过程数据',
80
+ modDef: { url: '', com: Yclsjj },
81
+ comParams: { arg: [['username', '=', $g.user.id, 'and'], ['gcsj', '=', '1', 'and']] },
82
+ selected: false,
83
+ closable: false
84
+ },
85
+ {
86
+ name: 'yclsjj—bqqd',
87
+ title: '靶区圈定',
88
+ modDef: { url: '', com: '' },
89
+ comParams: { arg: [['username', '=', $g.user.id, 'and'], ['gcsj', '=', '1', 'and']] },
90
+ selected: false,
91
+ closable: false
92
+ }
93
+ ]
94
+ },
95
+ smDataList: [
96
+ '功能概述\n该功能允许用户创建一个新的数据集,输入相关参数并选择坐标系和默认网度,确保数据在预测模型中的有效性和一致性。用户可以根据地质区域特征自定义数据集的名称、坐标范围和分辨率,确保数据集能够与预测模型对接,进而提高预测的准确性。\n\n按钮操作说明\n创建数据集\n【通过点击该按钮,用户可以创建一个新的数据集,进入数据集参数设置界面。】\n\n数据集名称\n【在该字段中,用户需要为创建的数据集命名。建议选择与数据内容或预测目标相关的名称,以便后续管理和调用。例如:“矿区A预测数据集”或“区域X成矿潜力数据集”。\n参数说明:\n推荐设置:建议使用简洁且具描述性的名称,确保在多个数据集中能够快速区分。】\n\nX最小值最大值\n【此项设置用于定义数据集的地理或投影坐标范围的坐标值。X轴值代表东西方向上的坐标值,用户应根据预测区域的实际范围设定最小和最大值,确保数据集覆盖正确的地理范围。\n参数说明:\n最小值:该字段用于设置数据集范围的最小坐标值。\n最大值:该字段用于设置数据集范围的最大坐标值。\n推荐设置:根据目标区域的经度范围设定,例如中国东部区域可能为 X 最小值:73,最大值:135;或 X 最小值:17000000,最大值:19000000。】\n\nY最小值最大值\n【此项设置用于定义数据集的地理或投影坐标范围的坐标值。Y轴值代表南北方向上的坐标值,用户应根据预测区域的实际范围设定最小和最大值。\n参数说明:\n最小值:该字段用于设置数据集范围的最小坐标值。\n最大值:该字段用于设置数据集范围的最大坐标值。\n推荐设置:根据目标区域的纬度范围设定,例如中国东部区域可能为 Y 最小值:17,最大值:55;或 Y 最小值:2000000,最大值:3000000。】\n\n默认网度 (m)\n【默认网度决定数据集的空间分辨率,即每个栅格单元(像素)代表的实际地理距离。网度越小,数据越精细,但计算复杂度和存储需求也越高。\n参数说明:\n默认值:1000 m\n推荐设置:根据预测区域的地质特征和需要的精度设置网度。推荐设置为1000米(1公里)作为初始值,可根据实际需求进行调整。】\n\n默认坐标系\n【该设置允许用户选择数据集的坐标系,确保数据与预测模型的坐标系一致。坐标系选择的正确性对于数据的空间分析非常重要。\n参数说明:\n默认坐标系选择\n在创建数据集时,用户需要选择合适的坐标系,以确保数据与预测模型的一致性。系统提供了以下默认坐标系选项:\n默认值:WGS 84(EPSG: 4326)\n适用于全球范围的地理数据,广泛应用于 GPS 定位和全球范围的地理信息处理。\n可选值:\nGCS_China_Geodetic_Coordinate_System_2000\n适用于中国境内的地理数据,使用 2000 年大地基准,支持中国地区的地理定位。\nWGS_1984_(Transit)\n使用 WGS 1984 基准,广泛应用于卫星定位系统,适用于全球范围的数据。\nWGS_1984_(G873)\n使用 WGS 1984 基准,适用于与 G873 基准相关的高精度定位数据,主要用于卫星数据应用。】',
97
+ '功能概述\n该功能允许用户添加原始数据到系统中,为预测模型提供输入数据。用户可以选择已创建的数据集,并根据数据格式和类型上传不同种类的原始数据。支持多种数据格式,包括 Excel、CSV、GRD、MapGIS、DGSS、Shp、TIF 文件等。用户可根据数据类型指定数据的类别,如地质数据、化探数据、物探数据等,并提供相关的属性信\n\n按钮操作说明\n新增数据\n【点击该按钮,用户可以进入数据上传界面,选择数据集并填写相关的参数,上传原始数据。】\n\n数据集名称\n【允许用户选择之前创建的数据集。用户只能选择一个已有的数据集作为默认数据集以进行数据关联。\n推荐设置:根据需要选择已有的数据集名称,确保上传的数据与目标数据集相关联。】\n\n数据格式\n【用户在此字段中选择原始数据的文件格式。支持的文件格式包括:\nExcel、CSV:表格数据。\nGRD:栅格数据。\nMapGIS:MapGIS 数据格式。\nDGSS:数字地质数据系统文件。\nShp:Shapefile 格式(请上传压缩包,压缩包内不要包含文件夹)。\nTIF:栅格影像数据。\n参数说明:\n类型:下拉选择框\n推荐设置:根据数据源文件格式选择适当格式进行上传。请确保上传的数据格式与选择的数据类型匹配。】\n\n数据类型\n【用户选择原始数据的类型,以帮助系统理解数据的性质和应用场景。数据类型包括:\n地质数据:包含区域内的岩石、地层、构造等信息。\n化探数据:化学勘探结果,如金属元素含量、矿化异常等。\n物探数据:物理勘探数据,如磁力、重力、地震反射等。\n遥感数据:卫星图像和遥感影像数据。\n矿点数据:包含矿点位置及含矿属性的点数据。\n参数说明:\n类型:下拉选择框\n推荐设置:根据数据来源选择相应的数据类型,以确保后续数据处理的正确性。】\n\n数据名称\n【用户在此字段输入上传数据的名称。建议使用简洁且具描述性的名称,便于识别和管理。】\n\n数据比例尺\n【用于指定数据的比例尺,描述数据的空间精度。比例尺越小,表示数据的精度越高。\n推荐设置:根据数据来源提供的比例尺或地图图幅信息输入,例如 “1:50000” 或 “1:1000000”。】\n\n数据来源\n【用户在此字段中填写数据的来源,如“野外勘探”、“遥感卫星”等。】\n\n添加时间\n【系统自动记录数据上传的时间,作为数据的时间戳。】\n\n附件拖拽\n【用户通过拖拽文件的方式上传原始数据。不同格式的数据文件上传方式有所不同:\nExcel/CSV/GRD 文件:请选择单个文件进行上传。\nMapGIS/DGSS/Shp 文件:请将整个文件夹或压缩包(.zip)上传,确保包含完整的文件集(例如 Shapefile 需要同时上传 .shp、.shx 和 .dbf 文件等)。\n参数说明:\n默认值:无\n推荐设置:\n对于 Excel/CSV/GRD,请选择单个文件进行上传。\n对于 Shapefile、MapGIS、DGSS,请选择整个压缩包上传。\n请确保上传的文件完整,避免单个文件上传时数据缺失。】',
98
+ '功能概述\n在完成数据的预处理后,系统将显示已处理数据的基本信息,用户可以查看、修改、删除已处理的数据,并进行数据预览。预处理数据是为了确保数据格式、清洗和标准化符合后续分析需求。\n\n按钮操作说明\n数据列表显示\n【系统将展示所有已预处理的数据,显示基本信息(如数据名称、数据类型、处理时间等)。用户可以查看每个数据的处理状态和详细信息。】\n\n修改数据\n【用户可以点击“修改”按钮,修改已预处理数据的名称或其他相关信息。】\n\n删除数据\n【用户可以点击“删除”按钮,删除不再需要的已预处理数据。删除操作不可恢复。】\n\n数据预览\n【点击“预览”按钮,用户可以查看已处理数据的预览,帮助确认数据的正确性。】',
99
+ '功能概述\n过程数据是用来存放所有经过智能成矿预测和数据处理工具处理后的中间过程数据和预测结果数据,用户可以查看、修改、删除这些经过服务处理后的数据,并进行数据预览。过程数据用于区分预处理数据和用户使用数据处理工具产生的数据。\n\n按钮操作说明\n数据列表显示\n【系统将展示所有已预处理的数据,显示基本信息(如数据名称、数据类型、处理时间等)。用户可以查看每个数据的处理状态和详细信息。】\n\n修改数据\n【用户可以点击“修改”按钮,修改已预处理数据的名称或其他相关信息。】\n\n删除数据\n【用户可以点击“删除”按钮,删除不再需要的已预处理数据。删除操作不可恢复。】\n\n数据预览\n【点击“预览”按钮,用户可以查看已处理数据的预览,帮助确认数据的正确性。】'
100
+ ],
101
+ smData: ''
102
+ }
103
+ },
104
+
105
+ created()
106
+ {
107
+ this.smData = this.smDataList[0]
108
+ },
109
+
110
+ // 按功能相关性组织函数块,函数名体现功能
111
+ methods:
112
+ {
113
+ /**
114
+ * 选择标签页
115
+ * @param {Object} data 标签数据
116
+ */
117
+ onSelect(data)
118
+ {
119
+ if (data.curTab.name == 'yclsjj—bqqd')
120
+ cx.run.runPlug('Bqqd', { major: $app.TabConst.yclsjj.major, minor: $app.TabConst.yclsjj.minor })
121
+ switch (data.curTab.title)
122
+ {
123
+ case '数据集':
124
+ this.smData = this.smDataList[0]
125
+ break
126
+ case '原始数据':
127
+ this.smData = this.smDataList[1]
128
+ break
129
+ case '预处理数据':
130
+ this.smData = this.smDataList[2]
131
+ break
132
+ case '过程数据':
133
+ this.smData = this.smDataList[3]
134
+ break
135
+ default:
136
+ return null
137
+ }
138
+ }
139
+ }
140
+ }
141
+ </script>
@@ -0,0 +1,91 @@
1
+
2
+
3
+ export default {
4
+
5
+ methods:
6
+ {
7
+ /**
8
+ * 根据文件类型控制字段是否必填或者不显示
9
+ * excel/dat:坐标系、x、y、分析字段必填
10
+ * grd:坐标系
11
+ * mapgis、dgss、shp:坐标系、分析字段
12
+ */
13
+ makeFldsShow(att)
14
+ {
15
+ let cols = this.getColByType(att?._datatype)
16
+ let flds = [], obj = {}
17
+ $g.field.fld.yclsjj.forEach(item =>
18
+ {
19
+ flds.push({ ...item })
20
+ obj[item.colname] = ''
21
+ })
22
+
23
+ this.flds = flds.filter(item => cols.includes(item.colname))
24
+ this.form = obj
25
+
26
+ this.setRules()
27
+ },
28
+
29
+ setRules()
30
+ {
31
+ this.flds.forEach(item =>
32
+ {
33
+ if (!item.nullable)
34
+ this.rules[item.colname] = [{ required: true, message: `请输入${item.namec}`, trigger: 'blur' }]
35
+ })
36
+ },
37
+
38
+ getVal(att)
39
+ {
40
+ this.curFiletype = att?._datatype.toLowerCase()
41
+ this.form.name = att ? att.name : ''
42
+ this.form.sourceid = att ? att.id : ''
43
+ this.form.udate = cx.formatter.dateDb(cx.date.today(), true)
44
+ this.form.username = $g.user.id
45
+ this.form.datatype = this.curFiletype
46
+ },
47
+
48
+ // 处理图层数据
49
+ makeLayer(filesInfo)
50
+ {
51
+ const options = []
52
+ filesInfo.forEach(item =>
53
+ {
54
+ options.push({ label: item, value: item, children: [], disabled: true })
55
+ })
56
+ return options
57
+ },
58
+
59
+ makeAnlyCol(filesInfo)
60
+ {
61
+ const options = []
62
+ filesInfo.forEach(item =>
63
+ {
64
+ options.push(
65
+ this.makeCascaderOpts(item)
66
+ )
67
+ })
68
+ return options
69
+ },
70
+
71
+ makeCascaderOpts(item)
72
+ {
73
+ return {
74
+ label: item.filename,
75
+ value: item.filename,
76
+ children: item.fieldnames ? item.fieldnames.map(col => ({ label: col, value: col })) : []
77
+ }
78
+ },
79
+
80
+ makeSelectOpts(header)
81
+ {
82
+ let opts = []
83
+ opts = header.map(item => ({
84
+ label: item.filename,
85
+ value: item.filename
86
+ }))
87
+ return opts
88
+ }
89
+ }
90
+ }
91
+