@nstc-business/imes 1.0.3 → 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nstc-business/imes",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "private": false,
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -169,7 +169,7 @@
169
169
  模型类型:{{ item.itemType == 11 ? '计算模型' : '评价模型' }}
170
170
  </span>
171
171
  <div class="m-t-s">
172
- <n20-table-pro
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
- </n20-table-pro>
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
- <n20-table-pro
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
- </n20-table-pro>
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
- '/imes/v1/indicatorModel/getModelByCodeWithChildren',
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
- `/imes/v1/indicator/getScoreMap?randomNumStr=${randomNumStr}`,
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('/imes/v2/models/testCalc', this.param)
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
- '/imes/v2/models/calcWithChildren',
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
- flag: {
31
- type: Boolean,
32
- default: true
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
- <page>
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 disable :modelTree="model.modelTreeVO"/>
20
+ <tree :modelTree="treeData"/>
21
21
  <modelCalcTest
22
- v-if="(model.type === 1 || model.type === 2) && model.code"
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
- </page>
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('/imes/v1/indicatorModel/getModelById', {id: this.modelId})
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 == 3) {
102
- this.$set(this, 'modelTreeVO', [this.model.modelTreeVO])
103
- this.recursionFn(this.modelTreeVO)
106
+ if (this.model.type === 3) {
107
+ this.$set(this, 'treeData', [this.model.modelTreeVO])
108
+ this.recursionFn(this.treeData)
104
109
  } else {
105
- this.recursionFn([this.model.modelTreeVO])
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
@@ -20,5 +20,5 @@ if (typeof window !== 'undefined' && window.Vue) {
20
20
  export default {
21
21
  version: '1.0.0',
22
22
  install,
23
- CascaderArea,
23
+ ModelCalculate,
24
24
  }