@nstc-business/imes 1.0.2 → 1.0.4
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/package.json
CHANGED
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
模型类型:{{ item.itemType == 11 ? '计算模型' : '评价模型' }}
|
|
170
170
|
</span>
|
|
171
171
|
<div class="m-t-s">
|
|
172
|
-
<
|
|
172
|
+
<table-pro
|
|
173
173
|
border
|
|
174
174
|
:columns="tabelHeadersEvalModel"
|
|
175
175
|
:data="item.tableData"
|
|
@@ -308,7 +308,7 @@
|
|
|
308
308
|
></input-number>
|
|
309
309
|
</template>
|
|
310
310
|
</vxe-column>
|
|
311
|
-
</
|
|
311
|
+
</table-pro>
|
|
312
312
|
</div>
|
|
313
313
|
</div>
|
|
314
314
|
|
|
@@ -321,7 +321,7 @@
|
|
|
321
321
|
<span>模型名称:{{ item.name }}</span>
|
|
322
322
|
<span class="m-l-s">模型类型:{{ '统计模型' }}</span>
|
|
323
323
|
<div class="m-t-s">
|
|
324
|
-
<
|
|
324
|
+
<table-pro
|
|
325
325
|
border
|
|
326
326
|
:columns="tabelHeadersStatistics"
|
|
327
327
|
:data="item.tableData"
|
|
@@ -462,14 +462,13 @@
|
|
|
462
462
|
></input-number>
|
|
463
463
|
</template>
|
|
464
464
|
</vxe-column>
|
|
465
|
-
</
|
|
465
|
+
</table-pro>
|
|
466
466
|
</div>
|
|
467
467
|
</div>
|
|
468
468
|
</div>
|
|
469
469
|
</template>
|
|
470
470
|
|
|
471
471
|
<script>
|
|
472
|
-
// import { getModelById, qryModelBkIndicatorList, testCalc } from '../../api/modelIndex'
|
|
473
472
|
/**
|
|
474
473
|
* 关键参数说明 sourceType
|
|
475
474
|
* 0 系统自定义
|
|
@@ -521,8 +520,18 @@ import {TablePro, InputNumber} from 'n20-common-lib'
|
|
|
521
520
|
|
|
522
521
|
export default {
|
|
523
522
|
name: 'modelCalcTest',
|
|
524
|
-
props: ['modelId', 'modelCode', 'modelData'],
|
|
523
|
+
props: ['modelId', 'modelCode', 'modelData', 'apiPrefix'],
|
|
525
524
|
components: {inputNumber2, TablePro, InputNumber},
|
|
525
|
+
watch: {
|
|
526
|
+
modelCode: {
|
|
527
|
+
handler(val) {
|
|
528
|
+
if (val) {
|
|
529
|
+
this.init()
|
|
530
|
+
}
|
|
531
|
+
},
|
|
532
|
+
immediate: true
|
|
533
|
+
}
|
|
534
|
+
},
|
|
526
535
|
data() {
|
|
527
536
|
return {
|
|
528
537
|
toFixedTrunc,
|
|
@@ -531,7 +540,6 @@ export default {
|
|
|
531
540
|
cltNo: '',
|
|
532
541
|
calcDate: ''
|
|
533
542
|
},
|
|
534
|
-
|
|
535
543
|
// 拆分数结构为三类数据
|
|
536
544
|
typeObj: {
|
|
537
545
|
// 指标数组
|
|
@@ -541,7 +549,6 @@ export default {
|
|
|
541
549
|
// 评价/计算模型数组
|
|
542
550
|
evalModelArray: []
|
|
543
551
|
},
|
|
544
|
-
|
|
545
552
|
tabelHeadersTarget: [
|
|
546
553
|
{
|
|
547
554
|
label: '分组',
|
|
@@ -588,7 +595,6 @@ export default {
|
|
|
588
595
|
'show-overflow-tooltip': false
|
|
589
596
|
}
|
|
590
597
|
],
|
|
591
|
-
|
|
592
598
|
tabelHeadersEvalModel: [
|
|
593
599
|
// {
|
|
594
600
|
// label: '序号',
|
|
@@ -628,7 +634,6 @@ export default {
|
|
|
628
634
|
'show-overflow-tooltip': false
|
|
629
635
|
}
|
|
630
636
|
],
|
|
631
|
-
|
|
632
637
|
tabelHeadersStatistics: [
|
|
633
638
|
{
|
|
634
639
|
label: '指标项',
|
|
@@ -675,16 +680,47 @@ export default {
|
|
|
675
680
|
'show-overflow-tooltip': false
|
|
676
681
|
}
|
|
677
682
|
],
|
|
678
|
-
|
|
679
683
|
messageStr: '',
|
|
680
684
|
key: 0
|
|
681
685
|
}
|
|
682
686
|
},
|
|
683
687
|
methods: {
|
|
688
|
+
init() {
|
|
689
|
+
this.typeObj = {
|
|
690
|
+
// 指标数组
|
|
691
|
+
targetArray: [],
|
|
692
|
+
// 统计模型数组
|
|
693
|
+
statisticsArray: [],
|
|
694
|
+
// 评价/计算模型数组
|
|
695
|
+
evalModelArray: []
|
|
696
|
+
}
|
|
697
|
+
switch (this.modelData.type) {
|
|
698
|
+
case 1:
|
|
699
|
+
case 2:
|
|
700
|
+
if (this.modelCode) {
|
|
701
|
+
this.processingData(this.modelData)
|
|
702
|
+
this.getModelWithChildren(this.modelCode)
|
|
703
|
+
}
|
|
704
|
+
break
|
|
705
|
+
case 3:
|
|
706
|
+
const modelTreeVO = JSON.parse(
|
|
707
|
+
JSON.stringify(this.modelData.modelTreeVO)
|
|
708
|
+
)
|
|
709
|
+
modelTreeVO.itemID = modelTreeVO.modelID
|
|
710
|
+
modelTreeVO.tableData = []
|
|
711
|
+
modelTreeVO.children = []
|
|
712
|
+
this.typeObj.statisticsArray.push({...modelTreeVO})
|
|
713
|
+
this.comFn(this.modelData)
|
|
714
|
+
break
|
|
715
|
+
default:
|
|
716
|
+
break
|
|
717
|
+
}
|
|
718
|
+
},
|
|
684
719
|
/** 获取模型下面的内容 */
|
|
685
720
|
async getModelWithChildren(modelCode) {
|
|
686
|
-
const {code, data} = await this.$axios.post(
|
|
687
|
-
|
|
721
|
+
const {code, data} = await this.$axios.post(this.apiPrefix
|
|
722
|
+
? `${this.apiPrefix}/imes/v1/indicatorModel/getModelByCodeWithChildren`
|
|
723
|
+
: '/imes/v1/indicatorModel/getModelByCodeWithChildren',
|
|
688
724
|
{id: modelCode}
|
|
689
725
|
)
|
|
690
726
|
if (code == 0) {
|
|
@@ -836,7 +872,9 @@ export default {
|
|
|
836
872
|
// 组合时间戳和随机数
|
|
837
873
|
const randomNumStr = `${timestamp}${randomNum}`
|
|
838
874
|
const {code, data: optionList} = await this.$axios.post(
|
|
839
|
-
|
|
875
|
+
this.apiPrefix
|
|
876
|
+
? `${this.apiPrefix}/imes/v1/indicator/getScoreMap?randomNumStr=${randomNumStr}`
|
|
877
|
+
: `/imes/v1/indicator/getScoreMap?randomNumStr=${randomNumStr}`,
|
|
840
878
|
{id: item.itemID}
|
|
841
879
|
)
|
|
842
880
|
if (code == 0) {
|
|
@@ -871,7 +909,9 @@ export default {
|
|
|
871
909
|
// 统计模型单独写测算
|
|
872
910
|
if (this.modelData.type == 3) {
|
|
873
911
|
try {
|
|
874
|
-
res = await this.$axios.post(
|
|
912
|
+
res = await this.$axios.post(this.apiPrefix
|
|
913
|
+
? `${this.apiPrefix}/imes/v2/models/testCalc`
|
|
914
|
+
: '/imes/v2/models/testCalc', this.param)
|
|
875
915
|
} catch (error) {
|
|
876
916
|
this.$emit('changeLoading', false)
|
|
877
917
|
}
|
|
@@ -885,7 +925,9 @@ export default {
|
|
|
885
925
|
} else {
|
|
886
926
|
try {
|
|
887
927
|
res = await this.$axios.post(
|
|
888
|
-
|
|
928
|
+
this.apiPrefix
|
|
929
|
+
? `${this.apiPrefix}/imes/v2/models/calcWithChildren`
|
|
930
|
+
: '/imes/v2/models/calcWithChildren',
|
|
889
931
|
this.param
|
|
890
932
|
)
|
|
891
933
|
} catch (error) {
|
|
@@ -1173,33 +1215,6 @@ export default {
|
|
|
1173
1215
|
}
|
|
1174
1216
|
return value + displayStyle
|
|
1175
1217
|
}
|
|
1176
|
-
},
|
|
1177
|
-
mounted() {
|
|
1178
|
-
// if (this.modelData.showLevel !== 1) {
|
|
1179
|
-
// this.tabelHeadersTarget = this.tabelHeadersTarget.filter(item => item.prop !== 'serialNumber')
|
|
1180
|
-
// this.tabelHeadersEvalModel = this.tabelHeadersEvalModel.filter(item => item.prop !== 'serialNumber')
|
|
1181
|
-
// }
|
|
1182
|
-
switch (this.modelData.type) {
|
|
1183
|
-
case 1:
|
|
1184
|
-
case 2:
|
|
1185
|
-
if (this.modelCode) {
|
|
1186
|
-
this.processingData(this.modelData)
|
|
1187
|
-
this.getModelWithChildren(this.modelCode)
|
|
1188
|
-
}
|
|
1189
|
-
break
|
|
1190
|
-
case 3:
|
|
1191
|
-
const modelTreeVO = JSON.parse(
|
|
1192
|
-
JSON.stringify(this.modelData.modelTreeVO)
|
|
1193
|
-
)
|
|
1194
|
-
modelTreeVO.itemID = modelTreeVO.modelID
|
|
1195
|
-
modelTreeVO.tableData = []
|
|
1196
|
-
modelTreeVO.children = []
|
|
1197
|
-
this.typeObj.statisticsArray.push({...modelTreeVO})
|
|
1198
|
-
this.comFn(this.modelData)
|
|
1199
|
-
break
|
|
1200
|
-
default:
|
|
1201
|
-
break
|
|
1202
|
-
}
|
|
1203
1218
|
}
|
|
1204
1219
|
}
|
|
1205
1220
|
</script>
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
v-title
|
|
15
15
|
slot-scope="{ node, data }"
|
|
16
16
|
>
|
|
17
|
-
<i :class="data.type == 0 ? 'el-icon-folder' : 'el-icon-tickets'"
|
|
17
|
+
<i :class="data.type == 0 ? 'el-icon-folder' : 'el-icon-tickets'"/>
|
|
18
18
|
<div class="custom-tree-label" v-title:tooltip>
|
|
19
|
-
{{ data.label}}
|
|
19
|
+
{{ data.label }}
|
|
20
20
|
</div>
|
|
21
21
|
</div>
|
|
22
22
|
</el-tree>
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
export default {
|
|
28
28
|
name: 'Tree',
|
|
29
29
|
props: {
|
|
30
|
-
|
|
31
|
-
type:
|
|
32
|
-
default:
|
|
30
|
+
type: {
|
|
31
|
+
type: Number,
|
|
32
|
+
default: 1
|
|
33
33
|
},
|
|
34
34
|
modelTree: {
|
|
35
35
|
type: [Array, Object],
|
|
@@ -39,9 +39,6 @@ export default {
|
|
|
39
39
|
computed: {
|
|
40
40
|
treeVal: {
|
|
41
41
|
get() {
|
|
42
|
-
if (!this.flag) {
|
|
43
|
-
return this.modelTree?.map(item => this.buildTreeItem(item)) || []
|
|
44
|
-
}
|
|
45
42
|
return Array.isArray(this.modelTree)
|
|
46
43
|
? this.modelTree.map(item => this.buildModelTreeItem(item))
|
|
47
44
|
: [this.buildModelTreeItem(this.modelTree)]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<Page>
|
|
3
3
|
<template slot="header">
|
|
4
4
|
<expandable-pane title="模型信息">
|
|
5
5
|
<descriptions>
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
</template>
|
|
18
18
|
<expandable-pane title="模型指标">
|
|
19
19
|
<div class="flex-box">
|
|
20
|
-
<tree
|
|
20
|
+
<tree :modelTree="treeData"/>
|
|
21
21
|
<modelCalcTest
|
|
22
|
-
v-if="
|
|
22
|
+
v-if="model.code"
|
|
23
23
|
class="m-l-xl flex-item overflow"
|
|
24
24
|
ref="calcTable"
|
|
25
25
|
@changeLoading="changeLoading"
|
|
@@ -31,11 +31,10 @@
|
|
|
31
31
|
</div>
|
|
32
32
|
</expandable-pane>
|
|
33
33
|
<div slot="footer">
|
|
34
|
-
<expandable-pane title="模型结果">
|
|
34
|
+
<expandable-pane title="模型结果" v-if="model.type !== 3">
|
|
35
35
|
<div>测算结果:{{ model.showStyle === 2 ? addThousands(result) : result }}</div>
|
|
36
36
|
</expandable-pane>
|
|
37
37
|
<div class="flex-box flex-c flex-v">
|
|
38
|
-
<el-button plain @click="back">返回</el-button>
|
|
39
38
|
<el-button
|
|
40
39
|
type="primary"
|
|
41
40
|
size="small"
|
|
@@ -46,7 +45,7 @@
|
|
|
46
45
|
</el-button>
|
|
47
46
|
</div>
|
|
48
47
|
</div>
|
|
49
|
-
</
|
|
48
|
+
</Page>
|
|
50
49
|
</template>
|
|
51
50
|
|
|
52
51
|
<script>
|
|
@@ -56,7 +55,11 @@ import modelCalcTest from './model-calculate/modelCalcTest.vue'
|
|
|
56
55
|
|
|
57
56
|
export default {
|
|
58
57
|
props: {
|
|
59
|
-
modelId: String
|
|
58
|
+
modelId: String,
|
|
59
|
+
apiPrefix: {
|
|
60
|
+
type: String,
|
|
61
|
+
default: undefined
|
|
62
|
+
}
|
|
60
63
|
},
|
|
61
64
|
watch: {
|
|
62
65
|
modelId: {
|
|
@@ -77,10 +80,10 @@ export default {
|
|
|
77
80
|
},
|
|
78
81
|
data() {
|
|
79
82
|
return {
|
|
80
|
-
indicatorList: [],
|
|
81
83
|
model: {type: 1, name: ''},
|
|
82
84
|
result: '',
|
|
83
|
-
loading: false
|
|
85
|
+
loading: false,
|
|
86
|
+
treeData: {}
|
|
84
87
|
}
|
|
85
88
|
},
|
|
86
89
|
methods: {
|
|
@@ -95,14 +98,16 @@ export default {
|
|
|
95
98
|
},
|
|
96
99
|
async getModelById() {
|
|
97
100
|
if (!this.modelId) return
|
|
98
|
-
const {data, code} = await this.$axios.post(
|
|
101
|
+
const {data, code} = await this.$axios.post(this.apiPrefix
|
|
102
|
+
? `${this.apiPrefix}/imes/v1/indicatorModel/getModelById`
|
|
103
|
+
: `/imes/v1/indicatorModel/getModelById`, {id: this.modelId})
|
|
99
104
|
if (code === 0) {
|
|
100
105
|
this.model = data
|
|
101
|
-
if (this.model.type
|
|
102
|
-
this.$set(this, '
|
|
103
|
-
this.recursionFn(this.
|
|
106
|
+
if (this.model.type === 3) {
|
|
107
|
+
this.$set(this, 'treeData', [this.model.modelTreeVO])
|
|
108
|
+
this.recursionFn(this.treeData)
|
|
104
109
|
} else {
|
|
105
|
-
this.
|
|
110
|
+
this.treeData = this.model.modelTreeVO
|
|
106
111
|
}
|
|
107
112
|
}
|
|
108
113
|
},
|
|
@@ -131,9 +136,6 @@ export default {
|
|
|
131
136
|
},
|
|
132
137
|
calc() {
|
|
133
138
|
this.$refs.calcTable.calc()
|
|
134
|
-
},
|
|
135
|
-
back() {
|
|
136
|
-
this.$router.go(-1)
|
|
137
139
|
}
|
|
138
140
|
}
|
|
139
141
|
}
|
package/src/index.js
CHANGED