n20-common-lib 2.1.9 → 2.1.11
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 +1 -1
- package/src/assets/css/cl-form-item.scss +2 -1
- package/src/assets/css/cl-layout-header.scss +1 -0
- package/src/components/ApprovalButtons/index.vue +59 -63
- package/src/components/ApprovalButtons/showAppOpi.vue +19 -5
- package/src/components/ApprovalButtons/showOtherAttr.vue +1 -1
- package/src/components/FileUploadTable/index.vue +1 -1
- package/src/components/InputNumber/index.vue +31 -14
- package/src/components/Layout/HeaderWrap/indexN.vue +1 -1
- package/src/components/LoginSetting/setItem.vue +12 -1
- package/src/components/LoginTemporary/form.vue +3 -0
- package/src/components/LoginTemporary/indexN.vue +4 -3
- package/src/components/LoginTemporary/item2-active.png +0 -0
- package/src/components/LoginTemporary/item2.png +0 -0
- package/src/plugins/Sign/NetSM3/InfosecNetSignCNGAgent.min.js +2311 -0
- package/src/plugins/Sign/NetSM3/index.js +275 -0
- package/src/plugins/Sign/index.js +43 -47
- package/src/utils/xls2json.js +6 -1
- package/style/index.css +3 -3
- package/style/index.css.map +1 -1
- package/theme/blue.css +3 -3
- package/theme/cctcRed.css +3 -3
- package/theme/green.css +3 -3
- package/theme/lightBlue.css +3 -3
- package/theme/orange.css +3 -3
- package/theme/purple.css +3 -3
- package/theme/red.css +3 -3
- package/theme/yellow.css +3 -3
package/package.json
CHANGED
|
@@ -3,75 +3,71 @@
|
|
|
3
3
|
<div>
|
|
4
4
|
<el-form label-position="right" :label-width="_lang === 'zh' ? '5em' : '10em'">
|
|
5
5
|
<div v-if="taskId && showBtn" class="flex-box">
|
|
6
|
-
<
|
|
7
|
-
<el-
|
|
6
|
+
<el-form-item v-if="authList.includes('isCarboncopy')" :label="'抄送' | $lc" class="flex-1 m-b-s">
|
|
7
|
+
<el-input
|
|
8
|
+
:value="carbonCopyList.map((c) => c.uname).join(', ')"
|
|
9
|
+
type="textarea"
|
|
10
|
+
:autosize="{ minRows: 1 }"
|
|
11
|
+
@focus="setCarboncopyV = true"
|
|
12
|
+
/>
|
|
13
|
+
</el-form-item>
|
|
14
|
+
<el-form-item v-if="authList.includes('isAddtask')" :label="'加签' | $lc" :error="addMsg" class="flex-1 m-b-s">
|
|
15
|
+
<label slot="label">
|
|
16
|
+
<span>{{ '加签' | $lc }}</span>
|
|
17
|
+
<el-tooltip placement="top">
|
|
18
|
+
<span class="n20-icon-xinxitishi m-l-ss" style="position: static"></span>
|
|
19
|
+
<div slot="content" style="width: 16em; line-height: 1.6">
|
|
20
|
+
{{ '会签并行:增加一个会签节点,全部审批人同意才可通过审批' | $lc }}<br />
|
|
21
|
+
{{ '普通串行:按照加签人数增加节点,每个节点审批通过才可完成当前加签流程' | $lc }}
|
|
22
|
+
</div>
|
|
23
|
+
</el-tooltip>
|
|
24
|
+
</label>
|
|
25
|
+
<div class="flex-box">
|
|
26
|
+
<el-select v-model="addTaskType" clearable :placeholder="'请选择审批方式' | $lc" style="width: 10em">
|
|
27
|
+
<!-- <el-option :label="'普通节点' | $lc" value="1" /> -->
|
|
28
|
+
<el-option :label="'会签并行' | $lc" value="2" />
|
|
29
|
+
<el-option :label="'普通串行' | $lc" value="3" />
|
|
30
|
+
</el-select>
|
|
8
31
|
<el-input
|
|
9
|
-
|
|
32
|
+
class="flex-item"
|
|
10
33
|
type="textarea"
|
|
34
|
+
:value="addTaskList.map((c) => c.uname).join(', ')"
|
|
11
35
|
:autosize="{ minRows: 1 }"
|
|
12
|
-
@focus="
|
|
13
|
-
/>
|
|
14
|
-
</el-form-item>
|
|
15
|
-
</div>
|
|
16
|
-
<div v-if="authList.includes('isAddtask')" class="flex-1">
|
|
17
|
-
<el-form-item :label="'加签' | $lc" :error="addMsg">
|
|
18
|
-
<label slot="label">
|
|
19
|
-
<span>{{ '加签' | $lc }}</span>
|
|
20
|
-
<el-tooltip placement="top">
|
|
21
|
-
<span class="n20-icon-xinxitishi m-l-ss" style="position: static"></span>
|
|
22
|
-
<div slot="content" style="width: 16em; line-height: 1.6">
|
|
23
|
-
{{ '会签并行:增加一个会签节点,全部审批人同意才可通过审批' | $lc }}<br />
|
|
24
|
-
{{ '普通串行:按照加签人数增加节点,每个节点审批通过才可完成当前加签流程' | $lc }}
|
|
25
|
-
</div>
|
|
26
|
-
</el-tooltip>
|
|
27
|
-
</label>
|
|
28
|
-
<div class="flex-box">
|
|
29
|
-
<el-select v-model="addTaskType" clearable :placeholder="'请选择审批方式' | $lc" style="width: 10em">
|
|
30
|
-
<!-- <el-option :label="'普通节点' | $lc" value="1" /> -->
|
|
31
|
-
<el-option :label="'会签并行' | $lc" value="2" />
|
|
32
|
-
<el-option :label="'普通串行' | $lc" value="3" />
|
|
33
|
-
</el-select>
|
|
34
|
-
<el-input
|
|
35
|
-
class="flex-item"
|
|
36
|
-
type="textarea"
|
|
37
|
-
:value="addTaskList.map((c) => c.uname).join(', ')"
|
|
38
|
-
:autosize="{ minRows: 1 }"
|
|
39
|
-
@focus="setAddtaskV = true"
|
|
40
|
-
/>
|
|
41
|
-
</div>
|
|
42
|
-
</el-form-item>
|
|
43
|
-
</div>
|
|
44
|
-
</div>
|
|
45
|
-
<el-form-item :label="'审批意见' | $lc" :error="errMsg">
|
|
46
|
-
<el-input
|
|
47
|
-
ref="msg-input"
|
|
48
|
-
v-model="messageC"
|
|
49
|
-
type="textarea"
|
|
50
|
-
:placeholder="
|
|
51
|
-
('请输入操作意见(' + messageMax + '字以内),批准该意见为非必填,驳回/作废该意见为必填!') | $lc
|
|
52
|
-
"
|
|
53
|
-
:maxlength="messageMax"
|
|
54
|
-
:autosize="{ minRows: 1 }"
|
|
55
|
-
/>
|
|
56
|
-
</el-form-item>
|
|
57
|
-
<template v-if="taskId && showBtn">
|
|
58
|
-
<el-form-item v-if="authList.includes('showAppOpi') || authList.includes('showOtherAtt')" label=" ">
|
|
59
|
-
<div class="flex-box">
|
|
60
|
-
<show-app-opi
|
|
61
|
-
v-if="authList.includes('showAppOpi')"
|
|
62
|
-
class="flex-1"
|
|
63
|
-
:task-id="taskId"
|
|
64
|
-
:message.sync="messageC"
|
|
65
|
-
/>
|
|
66
|
-
<show-other-att
|
|
67
|
-
v-if="authList.includes('showOtherAtt')"
|
|
68
|
-
class="flex-1"
|
|
69
|
-
:task-id="taskId"
|
|
70
|
-
:other-att="otherAtt"
|
|
36
|
+
@focus="setAddtaskV = true"
|
|
71
37
|
/>
|
|
72
38
|
</div>
|
|
73
39
|
</el-form-item>
|
|
74
|
-
</
|
|
40
|
+
</div>
|
|
41
|
+
<div class="flex-box">
|
|
42
|
+
<el-form-item class="flex-1" :label="'审批意见' | $lc" :error="errMsg" style="width: 70%">
|
|
43
|
+
<el-input
|
|
44
|
+
ref="msg-input"
|
|
45
|
+
v-model="messageC"
|
|
46
|
+
type="textarea"
|
|
47
|
+
:placeholder="
|
|
48
|
+
('请输入操作意见(' + messageMax + '字以内),批准该意见为非必填,驳回/作废该意见为必填!') | $lc
|
|
49
|
+
"
|
|
50
|
+
:maxlength="messageMax"
|
|
51
|
+
:autosize="{ rows: 1 }"
|
|
52
|
+
/>
|
|
53
|
+
</el-form-item>
|
|
54
|
+
<template v-if="taskId && showBtn">
|
|
55
|
+
<show-app-opi
|
|
56
|
+
v-if="authList.includes('showAppOpi')"
|
|
57
|
+
class="flex-1 m-l-s"
|
|
58
|
+
:task-id="taskId"
|
|
59
|
+
:message.sync="messageC"
|
|
60
|
+
style="width: 20%"
|
|
61
|
+
/>
|
|
62
|
+
<show-other-att
|
|
63
|
+
v-if="authList.includes('showOtherAtt')"
|
|
64
|
+
class="flex-1 m-l"
|
|
65
|
+
:task-id="taskId"
|
|
66
|
+
:other-att="otherAtt"
|
|
67
|
+
style="width: 18%"
|
|
68
|
+
/>
|
|
69
|
+
</template>
|
|
70
|
+
</div>
|
|
75
71
|
</el-form>
|
|
76
72
|
|
|
77
73
|
<div class="text-c">
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="
|
|
3
|
-
<
|
|
4
|
-
|
|
2
|
+
<div class="approve-msg-slt">
|
|
3
|
+
<el-select
|
|
4
|
+
v-model="approveMsgSlt"
|
|
5
|
+
class="w-100p"
|
|
6
|
+
clearable
|
|
7
|
+
multiple
|
|
8
|
+
collapse-tags
|
|
9
|
+
placeholder="请选择审批意见"
|
|
10
|
+
@change="changeFn"
|
|
11
|
+
>
|
|
5
12
|
<el-option v-for="(item, i) in approveMsgList" :key="i" :label="item.suggestion" :value="item.suggestion" />
|
|
6
13
|
</el-select>
|
|
7
14
|
</div>
|
|
@@ -32,7 +39,7 @@ export default {
|
|
|
32
39
|
},
|
|
33
40
|
methods: {
|
|
34
41
|
getData() {
|
|
35
|
-
axios.post('/bems/activiti/actAppOpi/
|
|
42
|
+
axios.post('/bems/activiti/actAppOpi/queryAppOpiAndUser').then(({ data }) => {
|
|
36
43
|
this.approveMsgList = data.list || []
|
|
37
44
|
})
|
|
38
45
|
},
|
|
@@ -45,4 +52,11 @@ export default {
|
|
|
45
52
|
}
|
|
46
53
|
</script>
|
|
47
54
|
|
|
48
|
-
<style
|
|
55
|
+
<style>
|
|
56
|
+
.approve-msg-slt .el-select__tags {
|
|
57
|
+
flex-wrap: nowrap;
|
|
58
|
+
}
|
|
59
|
+
.approve-msg-slt .el-tag {
|
|
60
|
+
max-width: calc(100% - 36px);
|
|
61
|
+
}
|
|
62
|
+
</style>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="flex-box">
|
|
3
|
-
<span class="
|
|
3
|
+
<span class="p-t-s m-r-s">{{ otherattname || '--' }}</span>
|
|
4
4
|
<el-select v-model="otherattvalue" class="flex-item" clearable @change="changeFn">
|
|
5
5
|
<el-option v-for="(item, i) in otherattjson" :key="i" :label="item.name" :value="item.value" />
|
|
6
6
|
</el-select>
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
{{ $options.filters.fileName(row, keys.url) || row[keys.name] }}
|
|
73
73
|
</slot>
|
|
74
74
|
</el-table-column>
|
|
75
|
-
<el-table-column :label="'附件上传' | $lc">
|
|
75
|
+
<el-table-column v-if="!readonly" :label="'附件上传' | $lc">
|
|
76
76
|
<slot slot="header" slot-scope="scope" name="upload-header" :column="scope.column">{{
|
|
77
77
|
'附件上传' | $lc
|
|
78
78
|
}}</slot>
|
|
@@ -104,14 +104,13 @@ export default {
|
|
|
104
104
|
value: {
|
|
105
105
|
handler(val) {
|
|
106
106
|
if (val && typeof val === 'string') {
|
|
107
|
-
val =
|
|
107
|
+
val = NumberP(val)
|
|
108
108
|
|
|
109
109
|
this.$emit('input', isNaN(val) ? undefined : val)
|
|
110
110
|
this.valueStr = this.num2str(val)
|
|
111
111
|
return
|
|
112
112
|
}
|
|
113
113
|
this.valueStr = this.num2str(val)
|
|
114
|
-
this.preValue = this.valueStr
|
|
115
114
|
},
|
|
116
115
|
immediate: true
|
|
117
116
|
}
|
|
@@ -133,28 +132,29 @@ export default {
|
|
|
133
132
|
this.isFocus = true
|
|
134
133
|
if (!this.disabled && this.valueStr) {
|
|
135
134
|
this.valueStr = this.valueStr.replace(/,/g, '')
|
|
135
|
+
this.preValue = this.valueStr
|
|
136
136
|
}
|
|
137
137
|
},
|
|
138
138
|
blurFn() {
|
|
139
139
|
this.isFocus = false
|
|
140
|
-
let val = Number(this.valueStr.replace(/,/g, ''))
|
|
141
|
-
if (isNaN(val)) {
|
|
142
|
-
this.valueStr = ''
|
|
143
|
-
} else {
|
|
144
|
-
this.valueStr = this.num2str(val)
|
|
145
|
-
}
|
|
146
140
|
|
|
141
|
+
this.changeFn(this.valueStr)
|
|
147
142
|
this.$emit('blur')
|
|
148
143
|
},
|
|
149
144
|
stepFn(ev) {
|
|
150
|
-
if (ev.code === 'ArrowUp' || ev.code === 'ArrowDown') {
|
|
151
|
-
let val =
|
|
145
|
+
if ((ev.code === 'ArrowUp' || ev.code === 'ArrowDown') && !this.disabled) {
|
|
146
|
+
let val = NumberP(this.valueStr)
|
|
152
147
|
if (!isNaN(val)) {
|
|
153
148
|
ev.preventDefault()
|
|
154
149
|
val = ev.code === 'ArrowUp' ? val + this.step : val - this.step
|
|
150
|
+
if (val < this.min) {
|
|
151
|
+
val = this.min
|
|
152
|
+
} else if (val > this.max) {
|
|
153
|
+
val = this.max
|
|
154
|
+
}
|
|
155
|
+
|
|
155
156
|
let valueStr = Number(val.toFixed(9)).toString()
|
|
156
157
|
this.valueStr = valueStr
|
|
157
|
-
this.changeFn(valueStr)
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
},
|
|
@@ -166,16 +166,22 @@ export default {
|
|
|
166
166
|
}
|
|
167
167
|
},
|
|
168
168
|
changeFn(valStr) {
|
|
169
|
-
|
|
169
|
+
if (this.changeIng) return
|
|
170
|
+
this.changeIng = true
|
|
171
|
+
setTimeout(() => {
|
|
172
|
+
this.changeIng = false
|
|
173
|
+
})
|
|
174
|
+
|
|
175
|
+
valStr = valStr.trim()
|
|
176
|
+
let val = NumberP(valStr)
|
|
170
177
|
|
|
171
|
-
if (
|
|
178
|
+
if (isNaN(val)) {
|
|
172
179
|
this.valueStr = ''
|
|
173
180
|
this.$emit('input', undefined)
|
|
174
181
|
this.$emit('change', undefined)
|
|
175
182
|
return
|
|
176
183
|
}
|
|
177
184
|
|
|
178
|
-
let val = Number(valStr)
|
|
179
185
|
if (val < this.min) {
|
|
180
186
|
val = this.min
|
|
181
187
|
} else if (val > this.max) {
|
|
@@ -218,4 +224,15 @@ export default {
|
|
|
218
224
|
}
|
|
219
225
|
}
|
|
220
226
|
}
|
|
227
|
+
|
|
228
|
+
function NumberP(val) {
|
|
229
|
+
if (typeof val === 'string') {
|
|
230
|
+
val = val.replace(/,/g, '').trim()
|
|
231
|
+
}
|
|
232
|
+
if (val === undefined || val === null || val === '') {
|
|
233
|
+
return NaN
|
|
234
|
+
} else {
|
|
235
|
+
return Number(val)
|
|
236
|
+
}
|
|
237
|
+
}
|
|
221
238
|
</script>
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
<span class="set-user-btn iconfont icon-kehuduanxiazai header-color m-l-lg" @click="dowApp"></span>
|
|
66
66
|
</el-tooltip>
|
|
67
67
|
|
|
68
|
-
<el-badge :hidden="noticeNum === 0" :value="noticeNum"
|
|
68
|
+
<el-badge :hidden="noticeNum === 0" :value="noticeNum">
|
|
69
69
|
<span v-popover:noticePop class="news-btn iconfont icon-xiaoxi header-color"></span>
|
|
70
70
|
</el-badge>
|
|
71
71
|
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
</el-form-item>
|
|
98
98
|
<el-form-item label="系统标识图片设置" class="is-required">
|
|
99
99
|
<div class="login-form-bg-box">
|
|
100
|
-
<img :key="keyS[i]" class="login-preview" :src="systemItem
|
|
100
|
+
<img :key="keyS[i]" class="login-preview" :src="systemItem | realUrl" />
|
|
101
101
|
<div>
|
|
102
102
|
<div class="flex-box">
|
|
103
103
|
<span class="m-r">上传图片</span>
|
|
@@ -142,8 +142,19 @@
|
|
|
142
142
|
|
|
143
143
|
<script>
|
|
144
144
|
import { $lc } from '../../utils/i18n/index'
|
|
145
|
+
import realUrl from '../../assets/realUrl'
|
|
146
|
+
import IconMap from '../LoginTemporary/systemIconMap'
|
|
145
147
|
|
|
146
148
|
export default {
|
|
149
|
+
filters: {
|
|
150
|
+
realUrl(item) {
|
|
151
|
+
if (item.ICON) {
|
|
152
|
+
return item.ICON
|
|
153
|
+
} else {
|
|
154
|
+
return realUrl(IconMap[item.NO])
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
},
|
|
147
158
|
props: {
|
|
148
159
|
idNo: {
|
|
149
160
|
type: String,
|
|
@@ -415,6 +415,9 @@ export default {
|
|
|
415
415
|
} else if (supplier === 'netca') {
|
|
416
416
|
// 网证通
|
|
417
417
|
window.sessionStorage.setItem('signType', 'netcaSign')
|
|
418
|
+
} else if (supplier === 'NetSM3') {
|
|
419
|
+
// 网证通
|
|
420
|
+
window.sessionStorage.setItem('signType', 'NetSM3')
|
|
418
421
|
} else {
|
|
419
422
|
// 信安CA
|
|
420
423
|
window.sessionStorage.setItem('signType', 'inetSign')
|
|
@@ -702,12 +702,13 @@ export default {
|
|
|
702
702
|
.login-wrap-2 .sys-item {
|
|
703
703
|
width: 190px;
|
|
704
704
|
height: 205px;
|
|
705
|
-
background:
|
|
706
|
-
|
|
705
|
+
background: url('./item2.png');
|
|
706
|
+
background-size: 100% 100%;
|
|
707
707
|
}
|
|
708
708
|
.login-wrap-2 .sys-item:hover,
|
|
709
709
|
.login-wrap-2 .sys-item.active {
|
|
710
|
-
background:
|
|
710
|
+
background: url('./item2-active.png');
|
|
711
|
+
background-size: 100% 100%;
|
|
711
712
|
}
|
|
712
713
|
.login-wrap-2 .sys-item-title {
|
|
713
714
|
height: 58px;
|
|
Binary file
|
|
Binary file
|