n20-common-lib 2.9.13 → 2.9.14
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/nstc-g6/components/NstcCharts/NstcCharts.vue +16 -8
- package/package.json +8 -5
- package/src/assets/css/approve-card.scss +1 -1
- package/src/assets/css/date-quarter.scss +8 -0
- package/src/assets/css/expandable-pane.scss +7 -0
- package/src/assets/css/file-upload-table.scss +2 -3
- package/src/assets/css/font-icon.scss +3 -1
- package/src/assets/css/message.scss +6 -6
- package/src/assets/css/normalize.scss +4 -1
- package/src/assets/css/table.scss +16 -11
- package/src/assets/iconFont/SIMSUN.ttf +0 -0
- package/src/assets/iconFont/font.css +4 -0
- package/src/components/AIButton/index.vue +101 -0
- package/src/components/AdvancedFilter/formItemRender.vue +7 -4
- package/src/components/AdvancedFilter/index.vue +6 -7
- package/src/components/Anchor/index.vue +1 -0
- package/src/components/ApprovalButtons/index.vue +404 -82
- package/src/components/ApprovalButtons/indexApp.vue +1102 -0
- package/src/components/ApprovalButtons/selectSpr.vue +128 -0
- package/src/components/ApprovalButtons/setCarboncopyProp.vue +1 -1
- package/src/components/ApprovalButtons/setRejectToProp.vue +45 -5
- package/src/components/ApprovalButtons/showAppOpi.vue +265 -8
- package/src/components/ApprovalButtons/showOtherAttrNew.vue +161 -0
- package/src/components/ApprovalCard/index.vue +190 -44
- package/src/components/ApprovalCard/indexApp.vue +592 -0
- package/src/components/ApprovalRecord/approvalImgPro/child.vue +1 -1
- package/src/components/ApprovalRecord/approvalImgPro/index.vue +42 -5
- package/src/components/ApprovalRecord/index.vue +23 -6
- package/src/components/ApprovalRecord/indexApp.vue +79 -0
- package/src/components/AttachmentPass/index.vue +286 -0
- package/src/components/Button/button-group.vue +3 -1
- package/src/components/CascaderArea/index.vue +5 -6
- package/src/components/DatePicker/por.vue +31 -1
- package/src/components/DateSelect/quarterDatePicker.vue +23 -1
- package/src/components/Descriptions/index.vue +7 -3
- package/src/components/Dialog/index.vue +4 -0
- package/src/components/Diff/index.vue +4 -2
- package/src/components/DynamicField/DynamicField.vue +29 -6
- package/src/components/DynamicField/DynamicFieldMixin.js +13 -5
- package/src/components/DynamicField/DynamicFieldOptions.vue +135 -62
- package/src/components/DynamicField/DynamicTable.vue +11 -1
- package/src/components/DynamicField/contentPop.vue +110 -0
- package/src/components/DynamicField/tableList.vue +5 -1
- package/src/components/DynamicField/tableView.vue +143 -0
- package/src/components/ECharts/index.vue +15 -9
- package/src/components/Expandable/main.vue +17 -2
- package/src/components/FileImport/index.vue +4 -5
- package/src/components/FileUploadTable/FileUploadTableV3.vue +937 -0
- package/src/components/FileUploadTable/aiCheckDialog.vue +139 -0
- package/src/components/FileUploadTable/index.vue +251 -33
- package/src/components/FileUploadTable/jytg.svg +6 -0
- package/src/components/FileUploadTable/wsc.svg +3 -0
- package/src/components/FileUploadTable/ysc.svg +3 -0
- package/src/components/HandlingAdvice/index.vue +191 -0
- package/src/components/InputAccount/index.vue +105 -0
- package/src/components/InputNumber/index.vue +16 -4
- package/src/components/InputNumber/numberRange.vue +14 -0
- package/src/components/InputSearch/index.vue +8 -0
- package/src/components/Layout/HeaderWrap/changePwd.vue +50 -23
- package/src/components/Layout/HeaderWrap/index.vue +2 -2
- package/src/components/Layout/HeaderWrap/indexN.vue +296 -119
- package/src/components/Layout/SubContent/index.vue +45 -14
- package/src/components/Layout/indexN.vue +26 -5
- package/src/components/LoginTemporary/form.vue +126 -34
- package/src/components/LoginTemporary/index.vue +14 -3
- package/src/components/LoginTemporary/indexN.vue +35 -13
- package/src/components/Preview/index.vue +199 -0
- package/src/components/SelectDatePickerPro/customDatePicker.vue +7 -0
- package/src/components/SelectDatePickerPro/halfYearPicker.vue +165 -0
- package/src/components/SelectDatePickerPro/index.vue +44 -4
- package/src/components/SelectDatePickerPro/quarterDatePicker.vue +32 -10
- package/src/components/SelectTree/index.vue +10 -4
- package/src/components/SelectTree/pro.vue +3 -0
- package/src/components/ShowColumn/index copy 2.vue +545 -0
- package/src/components/ShowColumn/index copy.vue +566 -0
- package/src/components/ShowColumn/index.vue +11 -7
- package/src/components/Statis/statisItem.vue +8 -7
- package/src/components/Table/filters.js +13 -0
- package/src/components/Table/index.vue +4 -4
- package/src/components/TablePro/filterContent.vue +18 -8
- package/src/components/TablePro/index.js +41 -1
- package/src/components/TablePro/index.vue +117 -6
- package/src/components/TableProOperateColumn/OperateBtns.vue +11 -53
- package/src/components/TableProOperateColumn/OperateBtns_copy.vue +141 -0
- package/src/components/TableProOperateColumn/childrenOperateBtn.vue +108 -0
- package/src/components/TableProOperateColumn/index.vue +3 -6
- package/src/components/TableSetSize/index.vue +1 -1
- package/src/components/Tree/index.vue +21 -5
- package/src/components/Upload/index.vue +25 -10
- package/src/components/Upload/uploadMsg.vue +30 -25
- package/src/components/operatingStatus/index.vue +3 -4
- package/src/directives/VTitle/index.js +15 -5
- package/src/directives/watermark/index.js +140 -56
- package/src/i18n.json +146 -18
- package/src/index.js +31 -3
- package/src/plugins/Sign/CaMap.js +47 -8
- package/src/plugins/Sign/Itrus/index.js +1 -1
- package/src/plugins/Sign/Itrus/sign_3720.js +2 -1
- package/src/plugins/Sign/NetSM3/index.js +20 -11
- package/src/plugins/Sign/NetV3/index.js +163 -22
- package/src/plugins/Sign/SkfSign/index.js +55 -52
- package/src/plugins/Sign/bjca/index.js +229 -9
- package/src/plugins/Sign/hnca/index.js +5064 -0
- package/src/plugins/Sign/index.js +155 -103
- package/src/plugins/Sign/kySign/base64.js +160 -0
- package/src/plugins/Sign/kySign/hex.js +92 -0
- package/src/plugins/Sign/kySign/index.js +186 -0
- package/src/plugins/Sign/kySign/skf.js +937 -0
- package/src/plugins/Sign/kySign/test.html +463 -0
- package/src/plugins/Sign/sdca/index.js +73 -0
- package/src/plugins/Sign/sign.js +72 -52
- package/src/plugins/Sign/signV3/InfosecNetSignCNGAgent.min.js +1 -0
- package/src/plugins/Sign/signV3/sign.js +187 -0
- package/src/plugins/Sign/sign_back.js +172 -0
- package/src/utils/accountFormat.js +7 -0
- package/src/utils/asyncGetRelaNos.js +79 -46
- package/src/utils/axios.js +3 -5
- package/src/utils/i18n/index.js +1 -1
- package/src/utils/importGlobal.js +23 -12
- package/style/fonts/SIMSUN.5e0c362c.ttf +0 -0
- package/style/index.css +2 -2
- package/theme/blue.css +2 -2
- package/theme/cctcRed.css +2 -2
- package/theme/fonts/SIMSUN.5e0c362c.ttf +0 -0
- package/theme/green.css +2 -2
- package/theme/lightBlue.css +2 -2
- package/theme/orange.css +2 -2
- package/theme/purple.css +2 -2
- package/theme/red.css +2 -2
- package/theme/yellow.css +2 -2
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
<script>
|
|
6
6
|
import * as echarts from 'echarts'
|
|
7
|
+
import XEUtils from 'xe-utils'
|
|
7
8
|
import resize from './mixins/resize'
|
|
8
|
-
import merge from 'lodash/merge'
|
|
9
9
|
|
|
10
|
-
import {
|
|
10
|
+
import { axisConfig, color, pieConfig } from './define'
|
|
11
11
|
|
|
12
12
|
export default {
|
|
13
13
|
name: 'NstcCharts',
|
|
@@ -71,7 +71,9 @@ export default {
|
|
|
71
71
|
containLabel: true
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
grid = Array.isArray(grid)
|
|
74
|
+
grid = Array.isArray(grid)
|
|
75
|
+
? grid.map((item) => XEUtils.merge({}, selfGrid, item))
|
|
76
|
+
: XEUtils.merge({}, selfGrid, grid)
|
|
75
77
|
|
|
76
78
|
return {
|
|
77
79
|
grid
|
|
@@ -79,13 +81,19 @@ export default {
|
|
|
79
81
|
},
|
|
80
82
|
|
|
81
83
|
xAxis({ xAxis }) {
|
|
82
|
-
xAxis =
|
|
84
|
+
xAxis =
|
|
85
|
+
xAxis && xAxis.length
|
|
86
|
+
? xAxis.map((item) => XEUtils.merge({}, axisConfig, item))
|
|
87
|
+
: [XEUtils.merge({}, axisConfig, xAxis)]
|
|
83
88
|
|
|
84
89
|
return { xAxis }
|
|
85
90
|
},
|
|
86
91
|
|
|
87
92
|
yAxis({ yAxis }) {
|
|
88
|
-
yAxis =
|
|
93
|
+
yAxis =
|
|
94
|
+
yAxis && yAxis.length
|
|
95
|
+
? yAxis.map((item) => XEUtils.merge({}, axisConfig, item))
|
|
96
|
+
: [XEUtils.merge({}, axisConfig, yAxis)]
|
|
89
97
|
|
|
90
98
|
return { yAxis }
|
|
91
99
|
},
|
|
@@ -109,7 +117,7 @@ export default {
|
|
|
109
117
|
config = pieConfig
|
|
110
118
|
}
|
|
111
119
|
|
|
112
|
-
return merge(config, sery)
|
|
120
|
+
return XEUtils.merge(config, sery)
|
|
113
121
|
})
|
|
114
122
|
|
|
115
123
|
return { series }
|
|
@@ -131,14 +139,14 @@ export default {
|
|
|
131
139
|
return { ...prev, ...this[key](baseOption) }
|
|
132
140
|
}, defaultConfigs)
|
|
133
141
|
|
|
134
|
-
return { options, baseOption: merge({}, _baseOption, baseOption), ...other }
|
|
142
|
+
return { options, baseOption: XEUtils.merge({}, _baseOption, baseOption), ...other }
|
|
135
143
|
}
|
|
136
144
|
|
|
137
145
|
const option = keys.reduce((prev, key) => {
|
|
138
146
|
return { ...prev, ...this[key](params) }
|
|
139
147
|
}, defaultConfigs)
|
|
140
148
|
|
|
141
|
-
return merge({}, option, params)
|
|
149
|
+
return XEUtils.merge({}, option, params)
|
|
142
150
|
},
|
|
143
151
|
|
|
144
152
|
clear() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n20-common-lib",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.14",
|
|
4
4
|
"private": false,
|
|
5
5
|
"scripts": {
|
|
6
6
|
"serve": "vue-cli-service serve",
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"getI18n": "node ./node_modules/nstc-get-i18n --path ./server-config.jsonc --name lang",
|
|
19
19
|
"info": "node versionInfo.js",
|
|
20
20
|
"serve:theme": "vue-cli-service serve --testTheme",
|
|
21
|
-
"test": "vue-cli-service serve --test"
|
|
21
|
+
"test": "vue-cli-service serve --test",
|
|
22
|
+
"publish": "npm publish --tag legacy"
|
|
22
23
|
},
|
|
23
24
|
"main": "src/index.js",
|
|
24
25
|
"files": [
|
|
@@ -51,7 +52,9 @@
|
|
|
51
52
|
"dependencies": {
|
|
52
53
|
"axios": "*",
|
|
53
54
|
"dayjs": "*",
|
|
55
|
+
"decimal.js": "^10.5.0",
|
|
54
56
|
"js-cookie": "^3.0.1",
|
|
57
|
+
"jsencrypt": "^3.3.2",
|
|
55
58
|
"jsonwebtoken": "^8.5.1",
|
|
56
59
|
"lz-string": "^1.4.4",
|
|
57
60
|
"normalize.css": "^8.0.1",
|
|
@@ -61,6 +64,7 @@
|
|
|
61
64
|
"qrcode": "*",
|
|
62
65
|
"resize-detector": "*",
|
|
63
66
|
"strip-json-comments": "*",
|
|
67
|
+
"swiper": "8.4.5",
|
|
64
68
|
"v-viewer": "1.6.4",
|
|
65
69
|
"vue-jsonp": "2.0.0",
|
|
66
70
|
"vuedraggable": "*",
|
|
@@ -77,6 +81,7 @@
|
|
|
77
81
|
"@vue/compiler-dom": "^3.2.47",
|
|
78
82
|
"@vue/test-utils": "^1.1.3",
|
|
79
83
|
"@vue/vue2-jest": "^27.0.0-alpha.2",
|
|
84
|
+
"babel-core": "^7.0.0-bridge.0",
|
|
80
85
|
"babel-eslint": "^10.1.0",
|
|
81
86
|
"babel-jest": "^27.0.6",
|
|
82
87
|
"babel-plugin-component": "^1.1.1",
|
|
@@ -94,7 +99,6 @@
|
|
|
94
99
|
"html-webpack-tags-plugin": "^2.0.17",
|
|
95
100
|
"jest": "^27.0.5",
|
|
96
101
|
"jszip": "^3.10.0",
|
|
97
|
-
"lodash": "^4.17.21",
|
|
98
102
|
"md2vue-loader": "file:./md2vue-loader",
|
|
99
103
|
"mockjs": "^1.1.0",
|
|
100
104
|
"node-sass": "6.0.0",
|
|
@@ -107,7 +111,6 @@
|
|
|
107
111
|
"svg-sprite-loader": "4.1.3",
|
|
108
112
|
"svg-url-loader": "^7.1.1",
|
|
109
113
|
"svgo": "1.2.0",
|
|
110
|
-
"swiper": "^8.4.5",
|
|
111
114
|
"umy-table": "^1.1.8",
|
|
112
115
|
"url-loader": "^4.1.1",
|
|
113
116
|
"vue": "^2.6.11",
|
|
@@ -117,7 +120,7 @@
|
|
|
117
120
|
"vue-router": "^3.5.2",
|
|
118
121
|
"vue-template-compiler": "^2.6.11",
|
|
119
122
|
"vuex": "^3.6.2",
|
|
120
|
-
"vxe-table": "
|
|
123
|
+
"vxe-table": "3.6.17",
|
|
121
124
|
"webpack-bundle-analyzer": "^3.9.0",
|
|
122
125
|
"xlsx": "0.14.1",
|
|
123
126
|
"xlsx-style": "^0.8.13"
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
.el-select .el-input__inner {
|
|
9
9
|
border: none;
|
|
10
10
|
border-radius: 4px 0 0 4px;
|
|
11
|
+
padding: 0 10px;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
.el-select .el-input__inner:active,
|
|
@@ -109,3 +110,10 @@
|
|
|
109
110
|
.el-button.el-button--text.is-disabled:hover {
|
|
110
111
|
color: #333;
|
|
111
112
|
}
|
|
113
|
+
.clearable-datetimerange {
|
|
114
|
+
.el-picker-panel__footer {
|
|
115
|
+
.el-picker-panel__link-btn:first-child {
|
|
116
|
+
display: none !important;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -8,6 +8,10 @@ $--expandable-pane-height: 28px;
|
|
|
8
8
|
color: $--color-text-primary;
|
|
9
9
|
padding: 0 12px;
|
|
10
10
|
margin-bottom: 8px;
|
|
11
|
+
margin-top: 8px;
|
|
12
|
+
&__algin_l {
|
|
13
|
+
margin-left: 20px;
|
|
14
|
+
}
|
|
11
15
|
}
|
|
12
16
|
|
|
13
17
|
.n20-tips {
|
|
@@ -31,6 +35,9 @@ $--expandable-pane-height: 28px;
|
|
|
31
35
|
.expand {
|
|
32
36
|
transform: rotate(90deg);
|
|
33
37
|
}
|
|
38
|
+
.topExpand {
|
|
39
|
+
transform: rotate(270deg);
|
|
40
|
+
}
|
|
34
41
|
}
|
|
35
42
|
|
|
36
43
|
.color-0 {
|
|
@@ -6,13 +6,12 @@
|
|
|
6
6
|
border-right: $--tab-border-line;
|
|
7
7
|
|
|
8
8
|
.cell {
|
|
9
|
-
|
|
10
9
|
.el-icon-download,
|
|
11
10
|
.el-icon-view {
|
|
12
11
|
color: $--color-text-primary;
|
|
13
12
|
|
|
14
13
|
&:hover {
|
|
15
|
-
color: $--color-primary
|
|
14
|
+
color: $--color-primary;
|
|
16
15
|
}
|
|
17
16
|
}
|
|
18
17
|
}
|
|
@@ -36,4 +35,4 @@
|
|
|
36
35
|
.el-message-box__btns {
|
|
37
36
|
margin-top: 0;
|
|
38
37
|
}
|
|
39
|
-
}
|
|
38
|
+
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
@import url('../iconFont/font.css');
|
|
1
2
|
@import url('../iconFont/iconfont.css');
|
|
2
3
|
|
|
4
|
+
|
|
3
5
|
.n20-icon- {
|
|
4
6
|
font-family: 'core-lib-iconfont' !important;
|
|
5
7
|
font-style: normal;
|
|
@@ -48,4 +50,4 @@
|
|
|
48
50
|
-webkit-font-smoothing: antialiased;
|
|
49
51
|
-moz-osx-font-smoothing: grayscale;
|
|
50
52
|
-webkit-text-stroke-width: 0.2px;
|
|
51
|
-
}
|
|
53
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
.el-message {
|
|
2
2
|
padding-top: 12px;
|
|
3
3
|
padding-bottom: 12px;
|
|
4
|
+
overflow-wrap: anywhere;
|
|
5
|
+
max-width: 80%;
|
|
4
6
|
}
|
|
5
7
|
|
|
6
8
|
.el-message-box {
|
|
@@ -46,7 +48,7 @@
|
|
|
46
48
|
border-color: var(--color-primary-hover);
|
|
47
49
|
}
|
|
48
50
|
|
|
49
|
-
& .el-button
|
|
51
|
+
& .el-button + .el-button {
|
|
50
52
|
margin-left: 0;
|
|
51
53
|
margin-right: 16px;
|
|
52
54
|
}
|
|
@@ -101,7 +103,7 @@
|
|
|
101
103
|
border-color: var(--color-primary-hover);
|
|
102
104
|
}
|
|
103
105
|
|
|
104
|
-
& .el-button
|
|
106
|
+
& .el-button + .el-button {
|
|
105
107
|
margin-left: 0;
|
|
106
108
|
margin-right: 16px;
|
|
107
109
|
}
|
|
@@ -160,7 +162,7 @@
|
|
|
160
162
|
}
|
|
161
163
|
|
|
162
164
|
.el-message--success {
|
|
163
|
-
border: 1px solid rgba(72, 210, 160, 0.
|
|
165
|
+
border: 1px solid rgba(72, 210, 160, 0.4);
|
|
164
166
|
}
|
|
165
167
|
|
|
166
168
|
.el-message--error {
|
|
@@ -171,7 +173,6 @@
|
|
|
171
173
|
border: 1px solid #ffe28d;
|
|
172
174
|
}
|
|
173
175
|
|
|
174
|
-
|
|
175
176
|
.message-por.el-message--info {
|
|
176
177
|
.el-message__icon {
|
|
177
178
|
color: $--color-primary;
|
|
@@ -190,7 +191,6 @@
|
|
|
190
191
|
color: $--color-text-regular;
|
|
191
192
|
}
|
|
192
193
|
|
|
193
|
-
|
|
194
194
|
.el-message--success .el-message__content {
|
|
195
195
|
color: $--color-text-regular;
|
|
196
196
|
}
|
|
@@ -213,4 +213,4 @@
|
|
|
213
213
|
|
|
214
214
|
.el-message-box__status.el-icon-info {
|
|
215
215
|
color: $--messagebox-warning-color;
|
|
216
|
-
}
|
|
216
|
+
}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
// .input-w {width: $--input-width;}
|
|
3
3
|
// .button-4em{min-width: 72px;}
|
|
4
4
|
/* 格式化样式 */
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
5
8
|
html {
|
|
6
9
|
height: 100%;
|
|
7
10
|
}
|
|
@@ -9,7 +12,7 @@ html {
|
|
|
9
12
|
body {
|
|
10
13
|
height: 100%;
|
|
11
14
|
font-size: $--font-size-base;
|
|
12
|
-
font-family: PingFang SC, Microsoft YaHei, Arial, sans-serif;
|
|
15
|
+
font-family: PingFang SC, Microsoft YaHei, SUN, Arial, sans-serif;
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
li {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.el-table--small .el-table__cell {
|
|
14
|
-
padding:
|
|
14
|
+
padding: 8px 0;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
.el-table .cell {
|
|
@@ -51,7 +51,6 @@
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
.el-table {
|
|
54
|
-
|
|
55
54
|
/* 排序 */
|
|
56
55
|
.caret-wrapper {
|
|
57
56
|
display: inline-flex;
|
|
@@ -123,8 +122,8 @@
|
|
|
123
122
|
|
|
124
123
|
/* 附件上传hover颜色 */
|
|
125
124
|
.base-table_default {
|
|
126
|
-
.el-table__body .hover-active:hover>td {
|
|
127
|
-
background-color: #
|
|
125
|
+
.el-table__body .hover-active:hover > td {
|
|
126
|
+
background-color: #ff3c2f10 !important;
|
|
128
127
|
}
|
|
129
128
|
}
|
|
130
129
|
|
|
@@ -196,17 +195,17 @@ th.vxe-header--column {
|
|
|
196
195
|
color: #333;
|
|
197
196
|
}
|
|
198
197
|
|
|
199
|
-
.vxe-table-custom-wrap.vxe-body--column.col--ellipsis:not(.col--actived)
|
|
200
|
-
.vxe-table--render-default .vxe-table-custom-wrap.vxe-footer--column.col--ellipsis:not(.col--actived)
|
|
201
|
-
.vxe-table--render-default .vxe-table-custom-wrap.vxe-header--column.col--ellipsis:not(.col--actived)
|
|
198
|
+
.vxe-table-custom-wrap.vxe-body--column.col--ellipsis:not(.col--actived) > .vxe-cell,
|
|
199
|
+
.vxe-table--render-default .vxe-table-custom-wrap.vxe-footer--column.col--ellipsis:not(.col--actived) > .vxe-cell,
|
|
200
|
+
.vxe-table--render-default .vxe-table-custom-wrap.vxe-header--column.col--ellipsis:not(.col--actived) > .vxe-cell {
|
|
202
201
|
overflow: hidden;
|
|
203
202
|
text-overflow: ellipsis;
|
|
204
203
|
white-space: wrap !important;
|
|
205
204
|
}
|
|
206
205
|
|
|
207
|
-
.vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-body--column.col--ellipsis
|
|
208
|
-
.vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-footer--column.col--ellipsis
|
|
209
|
-
.vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-header--column.col--ellipsis
|
|
206
|
+
.vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-body--column.col--ellipsis > .vxe-cell,
|
|
207
|
+
.vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-footer--column.col--ellipsis > .vxe-cell,
|
|
208
|
+
.vxe-table--render-default.size--small .vxe-table-custom-wrap.vxe-header--column.col--ellipsis > .vxe-cell {
|
|
210
209
|
max-height: 100%;
|
|
211
210
|
}
|
|
212
211
|
|
|
@@ -226,4 +225,10 @@ th.vxe-header--column {
|
|
|
226
225
|
.icon-mini {
|
|
227
226
|
background-image: url('../../components/TableSetSize/mini.png');
|
|
228
227
|
}
|
|
229
|
-
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.el-table th.el-table__cell > .cell {
|
|
231
|
+
overflow: hidden;
|
|
232
|
+
text-overflow: ellipsis;
|
|
233
|
+
white-space: nowrap;
|
|
234
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<span>
|
|
3
|
+
<slot :customEvent="aiFn">
|
|
4
|
+
<el-button v-title="'AI识别'" type="text" icon="n20-icon-query" @click="aiFn" />
|
|
5
|
+
</slot>
|
|
6
|
+
<Dialog v-drag :visible.sync="visible" title="AI识别" :destroy-on-open="true" width="690px">
|
|
7
|
+
<cl-upload
|
|
8
|
+
:drag="true"
|
|
9
|
+
:file-name.sync="fileName"
|
|
10
|
+
:file-url.sync="fileUrl"
|
|
11
|
+
:action="apiPrefix ? apiPrefix + 'neams/eamsbaserecord/batchSavejson' : 'neams/eamsbaserecord/batchSavejson'"
|
|
12
|
+
:on-success="onSuccess"
|
|
13
|
+
:msg-type="null"
|
|
14
|
+
:data="dataPorp"
|
|
15
|
+
>
|
|
16
|
+
<template slot="trigger">
|
|
17
|
+
<i class="drag-icon n20-icon-shangchuan"></i>
|
|
18
|
+
<span class="drag-text">点击或将文件拖拽到这里上传</span>
|
|
19
|
+
</template>
|
|
20
|
+
</cl-upload>
|
|
21
|
+
</Dialog>
|
|
22
|
+
</span>
|
|
23
|
+
</template>
|
|
24
|
+
|
|
25
|
+
<script>
|
|
26
|
+
import Dialog from '../Dialog/index.vue'
|
|
27
|
+
import clUpload from '../Upload/index.vue'
|
|
28
|
+
let dayjs = undefined
|
|
29
|
+
import('../../index.js').then((res) => {
|
|
30
|
+
dayjs = res.dayjs
|
|
31
|
+
})
|
|
32
|
+
export default {
|
|
33
|
+
name: 'AiButton',
|
|
34
|
+
components: { Dialog, clUpload },
|
|
35
|
+
props: {
|
|
36
|
+
apiPrefix: {
|
|
37
|
+
type: String,
|
|
38
|
+
default: undefined
|
|
39
|
+
},
|
|
40
|
+
AIOptions: {
|
|
41
|
+
type: Object,
|
|
42
|
+
default: () => ({})
|
|
43
|
+
},
|
|
44
|
+
dataPorp: {
|
|
45
|
+
type: Object,
|
|
46
|
+
default: () => {
|
|
47
|
+
return {
|
|
48
|
+
data: JSON.stringify({
|
|
49
|
+
syscode: '010000000',
|
|
50
|
+
appno: 'abcd',
|
|
51
|
+
bussValue: '006001001',
|
|
52
|
+
cltno: '001',
|
|
53
|
+
creator: 'jz'
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
data() {
|
|
60
|
+
return {
|
|
61
|
+
visible: false,
|
|
62
|
+
fileName: '',
|
|
63
|
+
fileUrl: ''
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
computed: {},
|
|
67
|
+
watch: {},
|
|
68
|
+
created() {},
|
|
69
|
+
mounted() {},
|
|
70
|
+
methods: {
|
|
71
|
+
aiFn() {
|
|
72
|
+
this.visible = true
|
|
73
|
+
},
|
|
74
|
+
onSuccess({ data }) {
|
|
75
|
+
this.AiFn(data)
|
|
76
|
+
},
|
|
77
|
+
// ai识别
|
|
78
|
+
async AiFn(beid) {
|
|
79
|
+
const uploadTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
|
|
80
|
+
if (!this.AIOptions.bussType) {
|
|
81
|
+
this.$message.error('请先配置bussType')
|
|
82
|
+
return false
|
|
83
|
+
}
|
|
84
|
+
const { data, code } = await this.$axios.post(
|
|
85
|
+
this.apiPrefix ? `${this.apiPrefix}neams/eamsbaserecord/aiAttaFile` : `/neams/eamsbaserecord/aiAttaFile`,
|
|
86
|
+
{
|
|
87
|
+
beid: beid,
|
|
88
|
+
bussType: this.AIOptions.bussType,
|
|
89
|
+
extendPrompt: ''
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
if (code === 200) {
|
|
93
|
+
this.$emit('aiFn', { AiResult: data, beid: beid, fileName: this.fileName, uploadTime: uploadTime })
|
|
94
|
+
this.visible = false
|
|
95
|
+
this.$message.success('识别成功')
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
</script>
|
|
101
|
+
<style lang="scss" scoped></style>
|
|
@@ -8,11 +8,12 @@ import inputNumber from '../InputNumber/index.vue'
|
|
|
8
8
|
import InputNumberRange from '../InputNumber/numberRange.vue'
|
|
9
9
|
import selectTree from '../SelectTree/index.vue'
|
|
10
10
|
import selectTreePro from '../SelectTree/pro.vue'
|
|
11
|
+
import { setOptionsMap } from './utils.js'
|
|
11
12
|
const canvas = document.createElement('canvas')
|
|
12
13
|
const context = canvas.getContext('2d')
|
|
13
14
|
context.font = '14px Ping Fang SC'
|
|
14
15
|
export default {
|
|
15
|
-
name: '
|
|
16
|
+
name: 'FormItemRender',
|
|
16
17
|
components: {
|
|
17
18
|
inputNumber,
|
|
18
19
|
selectTree,
|
|
@@ -76,6 +77,7 @@ export default {
|
|
|
76
77
|
resKeys.forEach((key) => {
|
|
77
78
|
list = list[key]
|
|
78
79
|
})
|
|
80
|
+
setOptionsMap(this.item.id, list)
|
|
79
81
|
this.$set(this.item, 'options', list)
|
|
80
82
|
})
|
|
81
83
|
}
|
|
@@ -171,9 +173,9 @@ export default {
|
|
|
171
173
|
}
|
|
172
174
|
} else {
|
|
173
175
|
if (type) {
|
|
174
|
-
W = w
|
|
176
|
+
W = w || asciiWidth(item.placeholder || typeEnum[item.type]) + 150
|
|
175
177
|
} else {
|
|
176
|
-
W = w
|
|
178
|
+
W = w || asciiWidth(item.placeholder || typeEnum[item.type]) + 40
|
|
177
179
|
}
|
|
178
180
|
}
|
|
179
181
|
} else {
|
|
@@ -600,7 +602,8 @@ export default {
|
|
|
600
602
|
ruleField: true,
|
|
601
603
|
'rule-form': 'ruleValidate',
|
|
602
604
|
ruleErrorHide: item.ruleErrorHide,
|
|
603
|
-
rules: item.rules
|
|
605
|
+
rules: item.rules,
|
|
606
|
+
...item.props
|
|
604
607
|
},
|
|
605
608
|
props: pickerProps,
|
|
606
609
|
style: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="prefixCls">
|
|
3
|
-
<el-form
|
|
3
|
+
<el-form v-show="visible" ref="advancedFilter" :class="prefixCls + '-body'" @submit.native.prevent="() => {}">
|
|
4
4
|
<slot name="prefix"></slot>
|
|
5
5
|
<el-form-item
|
|
6
6
|
v-for="item in GroupData"
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
</div>
|
|
43
43
|
<filterItem
|
|
44
44
|
:filter-list="filterListS"
|
|
45
|
-
:
|
|
45
|
+
:max-length="maxLength"
|
|
46
46
|
:check-array.sync="checkList"
|
|
47
47
|
@checked="check"
|
|
48
48
|
/>
|
|
49
49
|
<div class="flex-box flex-c m-t-m">
|
|
50
50
|
<el-button size="mini" type="primary" @click="savaCheck">{{ $lc('确认') }}</el-button>
|
|
51
|
-
<el-button plain type="primary" @click="cancel">{{ $
|
|
51
|
+
<el-button plain type="primary" @click="cancel">{{ $lc('取消') }}</el-button>
|
|
52
52
|
</div>
|
|
53
53
|
</el-popover>
|
|
54
54
|
<el-link class="m-l-s color-primary" :underline="false" icon="n20-icon-query" @click="$emit('search')">
|
|
@@ -62,9 +62,8 @@
|
|
|
62
62
|
|
|
63
63
|
<script>
|
|
64
64
|
// import formItemInput from './form-item-input.vue'
|
|
65
|
-
import
|
|
65
|
+
import XEUtils from 'xe-utils'
|
|
66
66
|
import axios from '../../utils/axios.js'
|
|
67
|
-
import { $lc } from '../../utils/i18n/index.js'
|
|
68
67
|
import InputSearch from '../InputSearch/index.vue'
|
|
69
68
|
import filterItem from './filterItem.vue'
|
|
70
69
|
import formItemRender from './formItemRender.vue'
|
|
@@ -165,7 +164,7 @@ export default {
|
|
|
165
164
|
}
|
|
166
165
|
})
|
|
167
166
|
.map((item) => item[this.onlyKey])
|
|
168
|
-
this.defineCheckList =
|
|
167
|
+
this.defineCheckList = XEUtils.clone(_checkList, true)
|
|
169
168
|
},
|
|
170
169
|
getOnlyKey(data) {
|
|
171
170
|
return getOnlyKey(this.onlyKey, data)
|
|
@@ -401,7 +400,7 @@ export default {
|
|
|
401
400
|
}
|
|
402
401
|
}
|
|
403
402
|
this.checkList = this.GroupData.map((res) => res.id)
|
|
404
|
-
this.cancelCheck =
|
|
403
|
+
this.cancelCheck = XEUtils.clone(this.checkList, true)
|
|
405
404
|
// 查找排序,在this.filterList中查找this.checkList中的每一项,并将其排在前面
|
|
406
405
|
this.filterList = this.filterList.sort((a, b) => {
|
|
407
406
|
if (this.checkList.includes(a[this.onlyKey]) && !this.checkList.includes(b[this.onlyKey])) {
|