zbcx_ckyc 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/package.json +90 -0
- package/src/plugins/app/com/CesiumTool.js +730 -0
- package/src/plugins/app/com/MapMethods.js +355 -0
- package/src/plugins/app/com/MapTool.vue +772 -0
- package/src/plugins/app/com/MenuRouter.vue +157 -0
- package/src/plugins/app/com/ParamsDes.vue +35 -0
- package/src/plugins/app/com/SelCoorSys.vue +235 -0
- package/src/plugins/app/com/WebProj4.js +32 -0
- package/src/plugins/app/com/measure.js +127 -0
- package/src/plugins/app/com/yx.js +238 -0
- package/src/plugins/app/modelmanagement/D3DrawGraph.js +708 -0
- package/src/plugins/app/modelmanagement/MineralGo.vue +241 -0
- package/src/plugins/app/modelmanagement/MineralModel.vue +1203 -0
- package/src/plugins/app/modelmanagement/ModelCloudmap.vue +69 -0
- package/src/plugins/app/modelmanagement/ModelMst.vue +60 -0
- package/src/plugins/app/modelmanagement/ModelSy.vue +173 -0
- package/src/plugins/app/modelmanagement/ModelTp.vue +51 -0
- package/src/plugins/app/modelmanagement/ModelUpload.vue +774 -0
- package/src/plugins/app/znycpjxt/Api.js +714 -0
- package/src/plugins/app/znycpjxt/Bf/AttFactory.js +25 -0
- package/src/plugins/app/znycpjxt/Bf/IAnomalyhandle.js +102 -0
- package/src/plugins/app/znycpjxt/Bf/IComposeanomaly.js +140 -0
- package/src/plugins/app/znycpjxt/Bf/IContinueanaly.js +138 -0
- package/src/plugins/app/znycpjxt/Bf/IContrastanaly.js +138 -0
- package/src/plugins/app/znycpjxt/Bf/ICustomNode.js +145 -0
- package/src/plugins/app/znycpjxt/Bf/IDerivanaly.js +139 -0
- package/src/plugins/app/znycpjxt/Bf/IFilterananly.js +141 -0
- package/src/plugins/app/znycpjxt/Bf/IMeananaly.js +137 -0
- package/src/plugins/app/znycpjxt/Bf/IModelNodeBase.js +135 -0
- package/src/plugins/app/znycpjxt/Bf/IMoveaverage.js +135 -0
- package/src/plugins/app/znycpjxt/Bf/IReducepole.js +141 -0
- package/src/plugins/app/znycpjxt/Bf/ISmoothanaly.js +135 -0
- package/src/plugins/app/znycpjxt/Bf/ITrendanaly.js +144 -0
- package/src/plugins/app/znycpjxt/Bf/IVector2grd.js +144 -0
- package/src/plugins/app/znycpjxt/Bf/IYcfj.js +84 -0
- package/src/plugins/app/znycpjxt/Bf/IYcxxjs.js +105 -0
- package/src/plugins/app/znycpjxt/Bf/IYgsbtq.js +112 -0
- package/src/plugins/app/znycpjxt/Bf/IYgtxrh.js +112 -0
- package/src/plugins/app/znycpjxt/Bf/Iinteranaly.js +135 -0
- package/src/plugins/app/znycpjxt/Bf/index.js +44 -0
- package/src/plugins/app/znycpjxt/Bf/input/InputData.js +21 -0
- package/src/plugins/app/znycpjxt/Bf/input/InputExcel.js +28 -0
- package/src/plugins/app/znycpjxt/Bf/input/InputKd.js +31 -0
- package/src/plugins/app/znycpjxt/Bqqd/Bqqd.vue +380 -0
- package/src/plugins/app/znycpjxt/Bqqd/BqqdMap.vue +1046 -0
- package/src/plugins/app/znycpjxt/Bqqd/SetOpacity.vue +101 -0
- package/src/plugins/app/znycpjxt/Bqqd/SjzxTree.vue +244 -0
- package/src/plugins/app/znycpjxt/Bqqd/YclsjjTree.vue +212 -0
- package/src/plugins/app/znycpjxt/Bqqd/api/DsjzxApi.js +37 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmx.vue +161 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/CfgGloalParams.vue +92 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/CfgNodeFlds.vue +102 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/CfgNodeParams.vue +277 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/Ckycmxgl.vue +303 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/SetLabelParam.vue +68 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxgl/SetModelParam.vue +69 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Ckycmxtab.vue +107 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Dtzzylwl.vue +156 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Jjsjwl.vue +230 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Sjsl.vue +126 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zcxlj.vue +128 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zjq.vue +123 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zstp.vue +271 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/Zzylwl.vue +149 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/coms/ParamsData.vue +323 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/coms/ParamsDataNew.vue +336 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycmxtab/coms/QqtEcharts.vue +137 -0
- package/src/plugins/app/znycpjxt/Ckycmx/Ckycrwgl/Ckycrwgl.vue +290 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeApi.js +83 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeEditor/CodeEditor.md +36 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeEditor/CodeEditor.vue +227 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeEditor/PlugCodeEditor.vue +78 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeEditor/demo/basic.png +0 -0
- package/src/plugins/app/znycpjxt/CusTools/CodeEditor/demo/basic.vue +27 -0
- package/src/plugins/app/znycpjxt/CusTools/DmbjForm.vue +76 -0
- package/src/plugins/app/znycpjxt/CusTools/DmfbForm.vue +351 -0
- package/src/plugins/app/znycpjxt/CusTools/GjForm.vue +206 -0
- package/src/plugins/app/znycpjxt/CusTools/Gjbjyfb.vue +200 -0
- package/src/plugins/app/znycpjxt/CusTools/ParamSelect.vue +222 -0
- package/src/plugins/app/znycpjxt/CusTools/ParamSelect2.vue +204 -0
- package/src/plugins/app/znycpjxt/CusTools/Zngjj.vue +105 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/DataAnlyModel.vue +134 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Hgfx/HgfxEcharts.vue +98 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Hgfx/HgfxTab.vue +73 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Hgfx.vue +101 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Jctj/JctjjgTab.vue +70 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Jctj/Plzft.vue +154 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Jctj.vue +118 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Jlfx/JlfxImg.vue +80 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Jlfx.vue +91 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/PCAfx/PcaTab.vue +161 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/PCAfx.vue +101 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Qqt/QqtEcharts.vue +202 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Qqt.vue +88 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Xgxfx/XgxfxImg.vue +80 -0
- package/src/plugins/app/znycpjxt/DataAnlyModel/Xgxfx.vue +96 -0
- package/src/plugins/app/znycpjxt/DatasetMan/CreateDataset.vue +296 -0
- package/src/plugins/app/znycpjxt/DatasetMan/DatasetMan.vue +141 -0
- package/src/plugins/app/znycpjxt/DatasetMan/PreData.js +91 -0
- package/src/plugins/app/znycpjxt/DatasetMan/PreData.vue +545 -0
- package/src/plugins/app/znycpjxt/DatasetMan/PreDataApi.js +101 -0
- package/src/plugins/app/znycpjxt/DatasetMan/SelData.vue +186 -0
- package/src/plugins/app/znycpjxt/DatasetMan/SjTree.vue +130 -0
- package/src/plugins/app/znycpjxt/DatasetMan/Sjj.vue +478 -0
- package/src/plugins/app/znycpjxt/DatasetMan/Yclsjj.vue +445 -0
- package/src/plugins/app/znycpjxt/DatasetMan/Yssjj.vue +389 -0
- package/src/plugins/app/znycpjxt/DocList/DocList.vue +496 -0
- package/src/plugins/app/znycpjxt/DocList/unit/DocItem.vue +137 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Dchj.vue +107 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/GeophysicalAnomaly.vue +115 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Jxyt.vue +98 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Lbjs.vue +127 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Pjcjs.vue +103 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/AnomalyExtraction/Qdjs.vue +103 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/ExceptHandlModel.vue +163 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Cdjs.vue +102 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Czfx.vue +163 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/GetFormData.vue +343 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Hdpj.vue +100 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Pjtd.vue +90 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Qsfx.vue +109 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/ResultOnlyData.vue +121 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/ResultTable.vue +231 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/UniversalComputing.vue +139 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Xgxsjs.vue +93 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Xxsjs.vue +90 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Ycfj.vue +116 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/GeneralCalculation/Yhcl.vue +100 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/AnomalsGard.vue +91 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/Dqhxycht.vue +113 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/GeocAnomalies.vue +99 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/JgTableList.vue +203 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/Lszcl.vue +110 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/extgeoanomalies/Ycxxjs.vue +116 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/GeoAnomalyExtraction.vue +108 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/coms/AttWeight.vue +99 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/coms/Ckdctq.vue +98 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/geoAnomalyExtraction/coms/LeftForm.vue +266 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/ygyctq/Ygsbtq.vue +150 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/ygyctq/Ygtxrh.vue +107 -0
- package/src/plugins/app/znycpjxt/ExceptHandlModel/ygyctq/ygyctq.vue +98 -0
- package/src/plugins/app/znycpjxt/Index/DataCard.vue +45 -0
- package/src/plugins/app/znycpjxt/Index/Index.vue +123 -0
- package/src/plugins/app/znycpjxt/Rzgl/Rzgl.vue +156 -0
- package/src/plugins/app/znycpjxt/coms/CmapColor.vue +70 -0
- package/src/plugins/app/znycpjxt/coms/CustomFileView.vue +343 -0
- package/src/plugins/app/znycpjxt/coms/CustomForm.vue +220 -0
- package/src/plugins/app/znycpjxt/coms/GrdView.vue +355 -0
- package/src/plugins/app/znycpjxt/coms/LeftForm.vue +195 -0
- package/src/plugins/app/znycpjxt/coms/MakeData.js +472 -0
- package/src/plugins/app/znycpjxt/coms/PreView.js +55 -0
- package/src/plugins/app/znycpjxt/coms/RightContent.vue +71 -0
- package/src/plugins/app/znycpjxt/coms/TableEarth.vue +259 -0
- package/src/plugins/app/znycpjxt/intellPred/ModelList.vue +200 -0
- package/src/plugins/app/znycpjxt/intellPred/coms/D3DrawGraph.js +634 -0
- package/src/plugins/app/znycpjxt/intellPred/coms/MineralGo.vue +249 -0
- package/src/plugins/app/znycpjxt/intellPred/coms/ModelCard.vue +298 -0
- package/src/plugins/app/znycpjxt/intellPred/coms/ModelEdit.vue +292 -0
- package/src/plugins/app/znycpjxt/intellPred/coms/ModelSpecif.vue +46 -0
- package/src/plugins/app/znycpjxt/intellPred/intellPred.vue +71 -0
- package/src/plugins/bf/BfApi.js +92 -0
- package/src/plugins/bf/BfColAdd.vue +78 -0
- package/src/plugins/bf/BfColEdit.vue +68 -0
- package/src/plugins/bf/BfColFilter.vue +112 -0
- package/src/plugins/bf/BfDataGroup.vue +80 -0
- package/src/plugins/bf/BfDataPreview.vue +118 -0
- package/src/plugins/bf/BfDataStat.vue +81 -0
- package/src/plugins/bf/BfDuplicateDel.vue +82 -0
- package/src/plugins/bf/BfProcCall.vue +82 -0
- package/src/plugins/bf/BfRunHis.vue +289 -0
- package/src/plugins/bf/BfRunParams.vue +94 -0
- package/src/plugins/bf/BfSaveFlow.vue +186 -0
- package/src/plugins/bf/BfSelFlow.vue +123 -0
- package/src/plugins/bf/BfTabCombine.vue +127 -0
- package/src/plugins/bf/BfTabJoin.vue +108 -0
- package/src/plugins/bf/BfTabMerge.vue +68 -0
- package/src/plugins/bf/BfTabReader.vue +126 -0
- package/src/plugins/bf/BfValFormat.vue +68 -0
- package/src/plugins/bf/BfValNumber.vue +68 -0
- package/src/plugins/bf/BfValProc.vue +78 -0
- package/src/plugins/bf/BfValSort.vue +78 -0
- package/src/plugins/bf/BiFlow.vue +1177 -0
- package/src/plugins/bf/IBfPlug.js +205 -0
- package/src/plugins/bf/coms/ColAdd.vue +75 -0
- package/src/plugins/bf/coms/ColEdit.vue +52 -0
- package/src/plugins/bf/coms/ColList.vue +91 -0
- package/src/plugins/bf/coms/DataGroup.vue +90 -0
- package/src/plugins/bf/coms/DataStat.vue +67 -0
- package/src/plugins/bf/coms/EditTable.vue +161 -0
- package/src/plugins/bf/coms/NodeTree.vue +105 -0
- package/src/plugins/bf/coms/PlugCmd.vue +95 -0
- package/src/plugins/bf/coms/RunParams.vue +68 -0
- package/src/plugins/bf/coms/TabCombine.vue +60 -0
- package/src/plugins/bf/coms/TabJoin.vue +69 -0
- package/src/plugins/bf/coms/ValFormat.vue +53 -0
- package/src/plugins/bf/coms/ValProc.vue +77 -0
- package/src/plugins/bf/coms/ValSort.vue +89 -0
- package/src/plugins/bf/parts/Icon.vue +105 -0
- package/src/plugins/bf/parts/Rect.vue +98 -0
- package/src/plugins/bf/parts/index.js +11 -0
- package/src/plugins/cxMixin/IAttBase.js +78 -0
- package/src/plugins/cxMixin/IAttDlg.js +45 -0
- package/src/plugins/cxMixin/IAttProc.js +98 -0
- package/src/plugins/cxMixin/IComBase.js +42 -0
- package/src/plugins/cxMixin/IContextMenu.js +74 -0
- package/src/plugins/cxMixin/IDataAcce.js +1106 -0
- package/src/plugins/cxMixin/IDataList.js +775 -0
- package/src/plugins/cxMixin/IDataMan.js +1670 -0
- package/src/plugins/cxMixin/IDataMan2.js +2561 -0
- package/src/plugins/cxMixin/IDataProc.js +379 -0
- package/src/plugins/cxMixin/IDatagrid.js +234 -0
- package/src/plugins/cxMixin/IEditableDg.js +477 -0
- package/src/plugins/cxMixin/IExpBase.js +51 -0
- package/src/plugins/cxMixin/IFormBase.js +29 -0
- package/src/plugins/cxMixin/IGridBpm.js +732 -0
- package/src/plugins/cxMixin/IGridData.js +109 -0
- package/src/plugins/cxMixin/IOperMore.js +323 -0
- package/src/plugins/cxMixin/IPlugBase.js +341 -0
- package/src/plugins/cxMixin/ISendCode.js +86 -0
- package/src/plugins/cxMixin/ISinglePage.js +112 -0
- package/src/plugins/cxMixin/ITags.js +81 -0
- package/src/plugins/cxe/CxeMap.vue +61 -0
- package/src/plugins/home/HeadNav.vue +194 -0
- package/src/plugins/home/Home.vue +59 -0
- package/src/plugins/home/HomePage.vue +237 -0
- package/src/plugins/home/Login.vue +139 -0
- package/src/plugins/zbcxCesium/coms/GraDrawBarWgt.vue +176 -0
- package/src/plugins/zbcxCesium/coms/baseMapSwitch/BaseMap.scss +42 -0
- package/src/plugins/zbcxCesium/coms/baseMapSwitch/BaseMap.vue +59 -0
- package/src/plugins/zbcxCesium/coms/dataPreview/DataPreview.vue +526 -0
- package/src/plugins/zbcxCesium/coms/dataPreview/DataPreviewPlug.vue +79 -0
- package/src/plugins/zbcxCesium/coms/dataPreview/ReadShpFile.js +42 -0
- package/src/plugins/zbcxCesium/coms/legend/Legend.vue +78 -0
- package/src/plugins/zbcxCesium/coms/popup/dialog-left-bg.png +0 -0
- package/src/plugins/zbcxCesium/coms/popup/index.js +88 -0
- package/src/plugins/zbcxCesium/coms/popup/index.vue +93 -0
- package/src/plugins/zbcxCesium/pub/LoadGeojson.js +44 -0
- package/src/plugins/zbcxCesium/pub/LoadModel.js +128 -0
- package/src/plugins/zbcxCesium/pub/LoadOgc.js +226 -0
- package/src/plugins/zbcxCesium/pub/Opacity.vue +139 -0
- package/src/plugins/zbcxCesium/pub/PubCxe.js +97 -0
- package/src/plugins/zbcxCesium/pub/SceneSet.vue +178 -0
- package/src/plugins/zbcxCesium/pub/ShowEffect.vue +216 -0
- package/src/plugins/zbcxCesium/pub/TMeasure.vue +122 -0
- package/src/plugins/zbcxCesium/pub/ToDefView3.vue +109 -0
- package/src/plugins/zbcxCesium/pub/getWmsGetCapabilities.js +127 -0
- package/src/plugins/zbcxCesium/utils/ShpToGeoJson.js +24 -0
- package/src/plugins/zbcxCesium/utils/WebProj4.js +32 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
<style lang='scss' scoped>
|
|
2
|
+
.mycharts {width: 100%; height: 50%;}
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<div class="mycharts" ref="mycharts"></div>
|
|
7
|
+
</template>
|
|
8
|
+
|
|
9
|
+
<script>
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* 组件 - 基础统计分析 - 频率直方图分析结果展示
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 修改记录:
|
|
17
|
+
* 24-05-15 张光辉 首次编写
|
|
18
|
+
*/
|
|
19
|
+
import * as echarts from 'echarts'
|
|
20
|
+
export default
|
|
21
|
+
{
|
|
22
|
+
props:
|
|
23
|
+
{
|
|
24
|
+
datas: { type: Object, default: () => ({}) }
|
|
25
|
+
},
|
|
26
|
+
data()
|
|
27
|
+
{
|
|
28
|
+
return {
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
// 属性监听,处理属性变化后有大量操作
|
|
33
|
+
watch:
|
|
34
|
+
{
|
|
35
|
+
datas:
|
|
36
|
+
{
|
|
37
|
+
deep: true,
|
|
38
|
+
handler(newData)
|
|
39
|
+
{
|
|
40
|
+
if (this.myChart)
|
|
41
|
+
this.setOpt(newData)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
// 组件dom挂载成功
|
|
47
|
+
mounted()
|
|
48
|
+
{
|
|
49
|
+
this.myChart = null
|
|
50
|
+
this.initCharts()
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
// 按功能相关性组织函数块,函数名体现功能
|
|
54
|
+
methods:
|
|
55
|
+
{
|
|
56
|
+
initCharts()
|
|
57
|
+
{
|
|
58
|
+
this.myChart = echarts.init(this.$refs.mycharts)
|
|
59
|
+
this.setOpt(this.datas)
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
setOpt(datas)
|
|
63
|
+
{
|
|
64
|
+
let option = this.getOption(datas)
|
|
65
|
+
this.myChart.setOption(option)
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
getOption(datas)
|
|
69
|
+
{
|
|
70
|
+
let max = Math.max.apply(null, datas.y)
|
|
71
|
+
let interval = 10
|
|
72
|
+
if (datas.y.length)
|
|
73
|
+
interval = datas.y.length < 20 ? max / datas.y.length : max / 20
|
|
74
|
+
let option = {
|
|
75
|
+
tooltip: {
|
|
76
|
+
trigger: 'axis',
|
|
77
|
+
axisPointer: {
|
|
78
|
+
type: 'cross',
|
|
79
|
+
crossStyle: {
|
|
80
|
+
color: 'var(--cx-colorText5)'
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
toolbox: {
|
|
85
|
+
feature: {
|
|
86
|
+
saveAsImage: { show: true }
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
legend: {
|
|
90
|
+
data: ['数量', '数量']
|
|
91
|
+
},
|
|
92
|
+
xAxis: [
|
|
93
|
+
{
|
|
94
|
+
type: 'category',
|
|
95
|
+
data: datas.x,
|
|
96
|
+
axisPointer: {
|
|
97
|
+
type: 'shadow'
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
yAxis: [
|
|
102
|
+
{
|
|
103
|
+
type: 'value',
|
|
104
|
+
name: '数量',
|
|
105
|
+
min: 0,
|
|
106
|
+
max: max,
|
|
107
|
+
interval: interval,
|
|
108
|
+
axisLabel: {
|
|
109
|
+
formatter: '{value}'
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'value',
|
|
114
|
+
name: '数量',
|
|
115
|
+
min: 0,
|
|
116
|
+
max: max,
|
|
117
|
+
interval: interval,
|
|
118
|
+
axisLabel: {
|
|
119
|
+
formatter: '{value}'
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
series: [
|
|
124
|
+
{
|
|
125
|
+
name: '数量',
|
|
126
|
+
type: 'bar',
|
|
127
|
+
tooltip: {
|
|
128
|
+
valueFormatter: function(value)
|
|
129
|
+
{
|
|
130
|
+
return value
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
data: datas.y
|
|
134
|
+
},
|
|
135
|
+
|
|
136
|
+
{
|
|
137
|
+
name: '数量',
|
|
138
|
+
type: 'line',
|
|
139
|
+
yAxisIndex: 1,
|
|
140
|
+
tooltip: {
|
|
141
|
+
valueFormatter: function(value)
|
|
142
|
+
{
|
|
143
|
+
return value
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
data: datas.y
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
}
|
|
150
|
+
return option
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
</script>
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<style lang='scss' scoped>
|
|
2
|
+
.cust-border { width: 100%; height: 100%; border: 0.01rem solid var(--cx-colorBorder1); padding: 0.16rem; box-sizing: border-box; }
|
|
3
|
+
.imp-btn { position: absolute; right: 1%; top: 1%; }
|
|
4
|
+
</style>
|
|
5
|
+
|
|
6
|
+
<template>
|
|
7
|
+
<cx-layout padding>
|
|
8
|
+
<cx-region region="west" width="4.2rem" gutter>
|
|
9
|
+
<LeftForm :sfmk="sfmk" @ok-click="onOk"></LeftForm>
|
|
10
|
+
</cx-region>
|
|
11
|
+
<cx-region region="center" >
|
|
12
|
+
<RightContent @ok-click="onExportResult" title="输出">
|
|
13
|
+
<cx-button class="imp-btn" @click="onExportResult">导出</cx-button>
|
|
14
|
+
<Plzft v-if="plzftdatas.x.length" :datas="plzftdatas"></Plzft>
|
|
15
|
+
<JctjjgTab ref="jctjjgtab" :datas="tabdatas"></JctjjgTab>
|
|
16
|
+
</RightContent>
|
|
17
|
+
</cx-region>
|
|
18
|
+
</cx-layout>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<script>
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 插件 - 数据分析模型-基础统计
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* 修改记录:
|
|
29
|
+
* 24-05-15 张光辉 首次编写
|
|
30
|
+
*/
|
|
31
|
+
import LeftForm from '../coms/LeftForm'
|
|
32
|
+
import RightContent from '../coms/RightContent'
|
|
33
|
+
import JctjjgTab from './Jctj/JctjjgTab'
|
|
34
|
+
import Plzft from './Jctj/Plzft'
|
|
35
|
+
import Api from '../Api.js'
|
|
36
|
+
export default
|
|
37
|
+
{
|
|
38
|
+
mixins: [cx.mixin.IComBase],
|
|
39
|
+
components: { LeftForm, RightContent, JctjjgTab, Plzft },
|
|
40
|
+
data()
|
|
41
|
+
{
|
|
42
|
+
return {
|
|
43
|
+
sfmk: { name: '基础统计', type: 'dataanly' },
|
|
44
|
+
tabdatas: {},
|
|
45
|
+
plzftdatas: {
|
|
46
|
+
x: [], y: []
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
|
|
51
|
+
// 按功能相关性组织函数块,函数名体现功能
|
|
52
|
+
methods:
|
|
53
|
+
{
|
|
54
|
+
/**
|
|
55
|
+
* 表单确定回调
|
|
56
|
+
* @param {Object} form 表单数据
|
|
57
|
+
*/
|
|
58
|
+
onOk(form)
|
|
59
|
+
{
|
|
60
|
+
this.tabdatas = {}
|
|
61
|
+
vm.$processing.show()
|
|
62
|
+
Api.baseanaly(form).then((res) =>
|
|
63
|
+
{
|
|
64
|
+
vm.$processing.close()
|
|
65
|
+
if (res.ret !== 0)
|
|
66
|
+
return this.$showMsg(res.msg, 'error')
|
|
67
|
+
this.tabdatas = res
|
|
68
|
+
}).catch((err) =>
|
|
69
|
+
{
|
|
70
|
+
this.onError(err)
|
|
71
|
+
})
|
|
72
|
+
Api.frepanaly(form).then((res) =>
|
|
73
|
+
{
|
|
74
|
+
vm.$processing.close()
|
|
75
|
+
if (res.ret !== 0)
|
|
76
|
+
return this.$showMsg(res.msg, 'error')
|
|
77
|
+
this.plzftdatas = res
|
|
78
|
+
}).catch((err) =>
|
|
79
|
+
{
|
|
80
|
+
this.onError(err)
|
|
81
|
+
})
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* 错误处理
|
|
86
|
+
* @param {Object} err 错误信息
|
|
87
|
+
*/
|
|
88
|
+
onError(err)
|
|
89
|
+
{
|
|
90
|
+
vm.$processing.close()
|
|
91
|
+
this.$showRet(err)
|
|
92
|
+
},
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* 导出结果
|
|
96
|
+
*/
|
|
97
|
+
onExportResult()
|
|
98
|
+
{
|
|
99
|
+
if (Object.keys(this.tabdatas).length)
|
|
100
|
+
{
|
|
101
|
+
let flds = this.$refs.jctjjgtab.flds
|
|
102
|
+
let columns = {}
|
|
103
|
+
flds.forEach(fld =>
|
|
104
|
+
{
|
|
105
|
+
columns[fld.colname] = fld.namec
|
|
106
|
+
})
|
|
107
|
+
let xls =
|
|
108
|
+
{
|
|
109
|
+
columns,
|
|
110
|
+
json: [this.tabdatas],
|
|
111
|
+
filename: '数据分析模型-基础统计'
|
|
112
|
+
}
|
|
113
|
+
cx.ExpExcel.exportToExcel(xls)
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
</script>
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
<style lang='scss' scoped>
|
|
2
|
+
.imgs-cont {display: flex;position: relative;}
|
|
3
|
+
.pic_dc{position: absolute;right: 0.5%;top: 1%;}
|
|
4
|
+
</style>
|
|
5
|
+
|
|
6
|
+
<template>
|
|
7
|
+
<div class="imgs-cont">
|
|
8
|
+
<el-icon v-if="url" class="pic_dc" @click="download"><Download /></el-icon>
|
|
9
|
+
<el-image v-if="url"
|
|
10
|
+
style="width: 6rem; height: 6rem; margin: auto;"
|
|
11
|
+
:src="url"
|
|
12
|
+
:preview-src-list="[url]"
|
|
13
|
+
/>
|
|
14
|
+
</div>
|
|
15
|
+
</template>
|
|
16
|
+
|
|
17
|
+
<script>
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 组件 - 基础统计分析 - 聚类分析结果图
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 修改记录:
|
|
25
|
+
* 24-05-21 张光辉 首次编写
|
|
26
|
+
*/
|
|
27
|
+
export default
|
|
28
|
+
{
|
|
29
|
+
props:
|
|
30
|
+
{
|
|
31
|
+
datas: { type: Object, default: () => ({}) }
|
|
32
|
+
},
|
|
33
|
+
data()
|
|
34
|
+
{
|
|
35
|
+
return {
|
|
36
|
+
url: ''
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
// 属性监听,处理属性变化后有大量操作
|
|
41
|
+
watch:
|
|
42
|
+
{
|
|
43
|
+
datas:
|
|
44
|
+
{
|
|
45
|
+
deep: true,
|
|
46
|
+
handler(newData)
|
|
47
|
+
{
|
|
48
|
+
if (newData.graph)
|
|
49
|
+
this.url = 'data:image/png;base64,' + newData.graph
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
// 组件dom挂载成功
|
|
55
|
+
mounted()
|
|
56
|
+
{
|
|
57
|
+
if (this.datas.graph)
|
|
58
|
+
this.url = 'data:image/png;base64,' + this.datas.graph
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
// 按功能相关性组织函数块,函数名体现功能
|
|
62
|
+
methods:
|
|
63
|
+
{
|
|
64
|
+
// 导出图片
|
|
65
|
+
download()
|
|
66
|
+
{
|
|
67
|
+
if (this.url)
|
|
68
|
+
{
|
|
69
|
+
let a = document.createElement('a')
|
|
70
|
+
a.href = this.url
|
|
71
|
+
a.download = `分析结果.png`
|
|
72
|
+
a.style.display = 'none'
|
|
73
|
+
document.body.appendChild(a)
|
|
74
|
+
a.click()
|
|
75
|
+
a.remove()
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
</script>
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
<style lang='scss' scoped>
|
|
2
|
+
.cust-border { width: 100%; height: 100%; border: 0.01rem solid var(--cx-colorBorder1); padding: 0.16rem; box-sizing: border-box; }
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<cx-layout padding>
|
|
7
|
+
<cx-region region="west" width="4.2rem" gutter>
|
|
8
|
+
<LeftForm :sfmk="sfmk" @ok-click="onOk"></LeftForm>
|
|
9
|
+
</cx-region>
|
|
10
|
+
<cx-region region="center" >
|
|
11
|
+
<RightContent @ok-click="onExportResult" title="输出">
|
|
12
|
+
<JlfxImgVue :datas="datas"></JlfxImgVue>
|
|
13
|
+
</RightContent>
|
|
14
|
+
</cx-region>
|
|
15
|
+
</cx-layout>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 插件 - 数据分析模型-聚类分析
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 修改记录:
|
|
26
|
+
* 24-05-15 张光辉 首次编写
|
|
27
|
+
*/
|
|
28
|
+
import LeftForm from '../coms/LeftForm'
|
|
29
|
+
import RightContent from '../coms/RightContent'
|
|
30
|
+
import Api from '../Api.js'
|
|
31
|
+
import JlfxImgVue from './Jlfx/JlfxImg.vue'
|
|
32
|
+
export default
|
|
33
|
+
{
|
|
34
|
+
mixins: [cx.mixin.IComBase],
|
|
35
|
+
components: { LeftForm, RightContent, JlfxImgVue },
|
|
36
|
+
data()
|
|
37
|
+
{
|
|
38
|
+
return {
|
|
39
|
+
sfmk: { name: '聚类分析', type: 'dataanly' },
|
|
40
|
+
datas: {}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
// 按功能相关性组织函数块,函数名体现功能
|
|
45
|
+
methods:
|
|
46
|
+
{
|
|
47
|
+
/**
|
|
48
|
+
* 表单确定回调
|
|
49
|
+
* @param {Object} form 表单数据
|
|
50
|
+
*/
|
|
51
|
+
onOk(form)
|
|
52
|
+
{
|
|
53
|
+
if (form.cols.length <= 1)
|
|
54
|
+
return this.$showMsg('至少选择两个分析字段', 'warning')
|
|
55
|
+
this.datas = {}
|
|
56
|
+
vm.$processing.show()
|
|
57
|
+
let { method, orientation } = form
|
|
58
|
+
Api.cluster({ ...form, param: { method, orientation } }).then((res) =>
|
|
59
|
+
{
|
|
60
|
+
vm.$processing.close()
|
|
61
|
+
if (res.msg && res.msg.indexOf('Usecols do not match columns') !== -1)
|
|
62
|
+
return this.$showMsg('请检查数据源是否相同', 'error')
|
|
63
|
+
if (res.ret !== 0)
|
|
64
|
+
return this.$showMsg(res.msg, 'error')
|
|
65
|
+
this.datas = res
|
|
66
|
+
}).catch((err) =>
|
|
67
|
+
{
|
|
68
|
+
vm.$processing.close()
|
|
69
|
+
this.$showRet(err)
|
|
70
|
+
})
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* 导出结果
|
|
75
|
+
*/
|
|
76
|
+
onExportResult()
|
|
77
|
+
{
|
|
78
|
+
if (this.datas.graph)
|
|
79
|
+
{
|
|
80
|
+
let a = document.createElement('a')
|
|
81
|
+
a.href = 'data:image/png;base64,' + this.datas.graph
|
|
82
|
+
a.download = `数据分析模型-聚类分析.png`
|
|
83
|
+
a.style.display = 'none'
|
|
84
|
+
document.body.appendChild(a)
|
|
85
|
+
a.click()
|
|
86
|
+
a.remove()
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
</script>
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
<style lang='scss' scoped>
|
|
2
|
+
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
<div v-if="tabdatas.length">
|
|
7
|
+
<cx-fold
|
|
8
|
+
:size="size"
|
|
9
|
+
v-for="(item, index) in tabdatas" :key="index"
|
|
10
|
+
:folded="item.folded"
|
|
11
|
+
:title="item.title"
|
|
12
|
+
@fold-change="onFoldClick(item)">
|
|
13
|
+
<cx-data-grid
|
|
14
|
+
:datagrid="item.param"
|
|
15
|
+
@pagesize-change="(pagesize) => onPagesizeChange(pagesize, item)"
|
|
16
|
+
@page-change="(currentPage) => onPageChange(currentPage, item)"
|
|
17
|
+
/>
|
|
18
|
+
</cx-fold>
|
|
19
|
+
</div>
|
|
20
|
+
</template>
|
|
21
|
+
|
|
22
|
+
<script>
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 组件 - 基础分析 - PCA分析结果表格展示
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* 修改记录:
|
|
30
|
+
* 24-05-21 张光辉 首次编写
|
|
31
|
+
*/
|
|
32
|
+
export default
|
|
33
|
+
{
|
|
34
|
+
mixins: [cx.mixin.IComBase],
|
|
35
|
+
props:
|
|
36
|
+
{
|
|
37
|
+
datas: { type: Object, default: () => ({}) }
|
|
38
|
+
},
|
|
39
|
+
data()
|
|
40
|
+
{
|
|
41
|
+
return {
|
|
42
|
+
tabdatas: [],
|
|
43
|
+
titles:
|
|
44
|
+
[
|
|
45
|
+
{ colname: 'covariance', namec: '协方差矩阵表' },
|
|
46
|
+
{ colname: 'eigenvalue', namec: '特征值表' },
|
|
47
|
+
{ colname: 'eigenvectors', namec: '特征向量表' },
|
|
48
|
+
{ colname: 'component', namec: '主成分分析表' },
|
|
49
|
+
{ colname: 'pcascores', namec: '主成分得分表' },
|
|
50
|
+
{ colname: 'tabel', namec: '证据权重' }
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
watch:
|
|
56
|
+
{
|
|
57
|
+
datas:
|
|
58
|
+
{
|
|
59
|
+
deep: true,
|
|
60
|
+
handler(newData)
|
|
61
|
+
{
|
|
62
|
+
this.makeTabDatas()
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
// 组件dom挂载成功
|
|
68
|
+
mounted()
|
|
69
|
+
{
|
|
70
|
+
this.makeTabDatas()
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
// 销毁前
|
|
74
|
+
beforeUnmount()
|
|
75
|
+
{},
|
|
76
|
+
|
|
77
|
+
// 按功能相关性组织函数块,函数名体现功能
|
|
78
|
+
methods:
|
|
79
|
+
{
|
|
80
|
+
makeTabDatas()
|
|
81
|
+
{
|
|
82
|
+
for (let key in this.datas)
|
|
83
|
+
{
|
|
84
|
+
if (key === 'ret')
|
|
85
|
+
break
|
|
86
|
+
this.tabdatas.push(
|
|
87
|
+
{
|
|
88
|
+
title: this.getTitle(key),
|
|
89
|
+
param: this.getParam(this.datas[key], key),
|
|
90
|
+
key,
|
|
91
|
+
folded: false
|
|
92
|
+
}
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
getTitle(key)
|
|
98
|
+
{
|
|
99
|
+
let title = this.titles.find(item => item.colname === key)
|
|
100
|
+
if (title)
|
|
101
|
+
return title.namec
|
|
102
|
+
else
|
|
103
|
+
return ''
|
|
104
|
+
},
|
|
105
|
+
|
|
106
|
+
getParam(data, key)
|
|
107
|
+
{
|
|
108
|
+
let cols = [], list = []
|
|
109
|
+
for (let k in data[0])
|
|
110
|
+
{
|
|
111
|
+
cols.push({
|
|
112
|
+
colname: k,
|
|
113
|
+
align: 'center',
|
|
114
|
+
title: k,
|
|
115
|
+
visible: 1
|
|
116
|
+
})
|
|
117
|
+
}
|
|
118
|
+
let param =
|
|
119
|
+
{
|
|
120
|
+
table: { cols, list },
|
|
121
|
+
pages: true,
|
|
122
|
+
page: { total: data.length, currentPage: 1, pageSize: cx.consts.PAGE_SIZE, pageSizes: cx.consts.PAGE_SIZES, layout: 'total, sizes, prev, pager, next, jumper' },
|
|
123
|
+
param:
|
|
124
|
+
{
|
|
125
|
+
showExp: true
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
this.onPageChange(1, { param, key })
|
|
129
|
+
return param
|
|
130
|
+
},
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
// 折叠事件
|
|
134
|
+
onFoldClick(item)
|
|
135
|
+
{
|
|
136
|
+
item.folded = !item.folded
|
|
137
|
+
},
|
|
138
|
+
|
|
139
|
+
// 每页数据量发生变化
|
|
140
|
+
onPagesizeChange(pagesize, item)
|
|
141
|
+
{
|
|
142
|
+
item.param.page.pageSize = pagesize
|
|
143
|
+
item.param.page.currentPage = 1
|
|
144
|
+
this.onPageChange(1, item)
|
|
145
|
+
},
|
|
146
|
+
|
|
147
|
+
// 当前页发生变化
|
|
148
|
+
onPageChange(currentPage, item)
|
|
149
|
+
{
|
|
150
|
+
item.param.page.currentPage = currentPage
|
|
151
|
+
let pagesize = item.param.page.pageSize
|
|
152
|
+
const allData = this.datas[item.key]
|
|
153
|
+
// 分页的起始下标
|
|
154
|
+
const startIndex = (currentPage - 1) * pagesize
|
|
155
|
+
// 分页的末尾下标
|
|
156
|
+
const endIndex = currentPage * pagesize
|
|
157
|
+
item.param.table.list = allData.slice(startIndex, endIndex)
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
</script>
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
<style lang='scss' scoped>
|
|
2
|
+
.cust-border { width: 100%; height: 100%; border: 0.01rem solid var(--cx-colorBorder1); padding: 0.16rem; box-sizing: border-box; }
|
|
3
|
+
.imp-btn { position: absolute; right: 1%; top: 1%; }
|
|
4
|
+
</style>
|
|
5
|
+
|
|
6
|
+
<template>
|
|
7
|
+
<cx-layout padding>
|
|
8
|
+
<cx-region region="west" width="4.2rem" gutter>
|
|
9
|
+
<LeftForm :sfmk="sfmk" @ok-click="onOk"></LeftForm>
|
|
10
|
+
</cx-region>
|
|
11
|
+
<cx-region region="center" >
|
|
12
|
+
<RightContent @ok-click="onExportResult" title="输出">
|
|
13
|
+
<cx-button class="imp-btn" @click="onExportResult">导出</cx-button>
|
|
14
|
+
<PcaTab ref="pcatab" :datas="datas"></PcaTab>
|
|
15
|
+
</RightContent>
|
|
16
|
+
</cx-region>
|
|
17
|
+
</cx-layout>
|
|
18
|
+
</template>
|
|
19
|
+
|
|
20
|
+
<script>
|
|
21
|
+
/**
|
|
22
|
+
* 插件 - 数据分析模型-PCA分析
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 修改记录:
|
|
27
|
+
* 24-05-15 张光辉 首次编写
|
|
28
|
+
*/
|
|
29
|
+
import LeftForm from '../coms/LeftForm'
|
|
30
|
+
import RightContent from '../coms/RightContent'
|
|
31
|
+
import PcaTab from './PCAfx/PcaTab'
|
|
32
|
+
import Api from '../Api.js'
|
|
33
|
+
export default
|
|
34
|
+
{
|
|
35
|
+
mixins: [cx.mixin.IComBase],
|
|
36
|
+
components: { LeftForm, RightContent, PcaTab },
|
|
37
|
+
data()
|
|
38
|
+
{
|
|
39
|
+
return {
|
|
40
|
+
sfmk: { name: 'PCA分析', type: 'dataanly' },
|
|
41
|
+
datas: {}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
// 按功能相关性组织函数块,函数名体现功能
|
|
46
|
+
methods:
|
|
47
|
+
{
|
|
48
|
+
/**
|
|
49
|
+
* 表单确定回调
|
|
50
|
+
* @param {Object} form 表单数据
|
|
51
|
+
*/
|
|
52
|
+
onOk(form)
|
|
53
|
+
{
|
|
54
|
+
Api.pcaanaly(form).then((res) =>
|
|
55
|
+
{
|
|
56
|
+
if (res.msg && res.msg.indexOf('Usecols do not match columns') !== -1)
|
|
57
|
+
return this.$showMsg('请检查数据源是否相同', 'error')
|
|
58
|
+
if (res.ret !== 0)
|
|
59
|
+
return this.$showMsg(res.msg, 'error')
|
|
60
|
+
this.datas = res
|
|
61
|
+
}).catch((err) =>
|
|
62
|
+
{
|
|
63
|
+
this.$showRet(err)
|
|
64
|
+
})
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* 导出结果
|
|
69
|
+
*/
|
|
70
|
+
onExportResult()
|
|
71
|
+
{
|
|
72
|
+
if (this.datas.ret === 0)
|
|
73
|
+
{
|
|
74
|
+
let pcatab = this.$refs.pcatab
|
|
75
|
+
let param =
|
|
76
|
+
{
|
|
77
|
+
columns: {},
|
|
78
|
+
json: {},
|
|
79
|
+
sheets: {},
|
|
80
|
+
filename: '数据分析模型-PCA分析'
|
|
81
|
+
}
|
|
82
|
+
for (let key in this.datas)
|
|
83
|
+
{
|
|
84
|
+
if (key !== 'ret')
|
|
85
|
+
{
|
|
86
|
+
param.sheets[key] = pcatab.getTitle(key)
|
|
87
|
+
param.columns[key] = {}
|
|
88
|
+
let flds = Object.keys(this.datas[key][0])
|
|
89
|
+
flds.forEach(fld =>
|
|
90
|
+
{
|
|
91
|
+
param.columns[key][fld] = fld
|
|
92
|
+
})
|
|
93
|
+
param.json[key] = this.datas[key]
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
cx.ExpExcel.exportToSheets(param)
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
</script>
|