n20-common-lib 2.9.50 → 2.9.52
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/components/ApprovalButtons/index.vue +12 -10
- package/src/components/ApprovalButtons/showOtherAttrNew.vue +27 -12
- package/src/components/HandlingAdvice/index.vue +71 -0
- package/src/i18n.json +3 -3
- package/src/index.js +3 -0
- package/src/plugins/Sign/NetV3/index.js +16 -0
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/* 审批按钮组 */
|
|
2
2
|
<template>
|
|
3
3
|
<div :class="prefixCls">
|
|
4
|
-
<el-form ref="approveBtnGroup" label-position="right">
|
|
5
|
-
<div
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/>
|
|
4
|
+
<el-form ref="approveBtnGroup" label-position="right" :label-width="_lang === 'zh' ? '12em' : '12em'">
|
|
5
|
+
<div
|
|
6
|
+
v-if="taskId && showBtn && authList.includes('isShowOtherAtt')"
|
|
7
|
+
class="m-b-lg p-b-lg p-t-lg p-r-lg"
|
|
8
|
+
style="border: 1px dashed var(--border-color-base); border-radius: 5px"
|
|
9
|
+
>
|
|
10
|
+
<!-- <div class="p-l-lg p-t-lg p-b-s font-w600">{{ '审查意见' }}</div> -->
|
|
11
|
+
<show-other-att-new ref="showOtherAttNew" :task-id="taskId" :form="customizationDtos" />
|
|
12
12
|
</div>
|
|
13
|
-
|
|
13
|
+
</el-form>
|
|
14
|
+
<el-form ref="approveBtnGroup" label-position="right" :label-width="_lang === 'zh' ? '6em' : '12em'">
|
|
14
15
|
<div v-if="taskId && showBtn" class="flex-box">
|
|
15
16
|
<el-form-item v-if="authList.includes('isCarboncopy')" :label="'抄送' | $lc" class="flex-1 m-b-s">
|
|
16
17
|
<el-input
|
|
@@ -94,7 +95,7 @@
|
|
|
94
95
|
<template v-if="taskId && showBtn">
|
|
95
96
|
<show-app-opi
|
|
96
97
|
v-if="opiAndUser || authList.includes('showAppOpi')"
|
|
97
|
-
class="
|
|
98
|
+
class="m-l-s"
|
|
98
99
|
:task-id="taskId"
|
|
99
100
|
:message.sync="messageC"
|
|
100
101
|
:and-user="opiAndUser"
|
|
@@ -138,6 +139,7 @@
|
|
|
138
139
|
/>
|
|
139
140
|
</el-form-item>
|
|
140
141
|
</el-form>
|
|
142
|
+
|
|
141
143
|
<div v-if="authList.includes('byAddTask') && addTaskList.length > 0" class="text-c">
|
|
142
144
|
<el-button v-if="authList.includes('approval')" type="primary" @click="checkFlowFn">{{
|
|
143
145
|
'加 签' | $lc
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="w-100p flex-column">
|
|
3
|
-
<div v-for="(item, i) in otherAttData" :key="i" class="flex-box">
|
|
4
|
-
<el-form-item
|
|
5
|
-
|
|
3
|
+
<div v-for="(item, i) in otherAttData" :key="i" class="flex-box flex-v">
|
|
4
|
+
<el-form-item
|
|
5
|
+
class="m-r-ss m-b-s"
|
|
6
|
+
:class="item.cfgHasRemark === '1' ? 'flex-auto' : 'flex-1'"
|
|
7
|
+
:label="item.cfgName"
|
|
8
|
+
>
|
|
9
|
+
<el-input v-if="item.cfgType === '11'" v-model="item.cfgVal" placeholder="请输入" class="input-w" clearable />
|
|
6
10
|
<el-select
|
|
7
11
|
v-if="['21'].includes(item.cfgType)"
|
|
8
12
|
v-model="item.cfgVal"
|
|
9
|
-
class="flex-item"
|
|
13
|
+
class="flex-item input-w"
|
|
10
14
|
clearable
|
|
11
15
|
@change="(val) => changeFn(val, item)"
|
|
12
16
|
>
|
|
@@ -17,24 +21,37 @@
|
|
|
17
21
|
v-model="selectList"
|
|
18
22
|
multiple
|
|
19
23
|
collapse-tags
|
|
20
|
-
class="flex-item"
|
|
24
|
+
class="flex-item input-w"
|
|
21
25
|
clearable
|
|
22
26
|
@change="(val) => changeFn(val, item)"
|
|
23
27
|
>
|
|
24
28
|
<el-option v-for="(row, i) in JSON.parse(item.cfgJson)" :key="i" :label="row.value" :value="row.code" />
|
|
25
29
|
</el-select>
|
|
26
|
-
<el-radio-group
|
|
30
|
+
<el-radio-group
|
|
31
|
+
v-if="item.cfgType === '22'"
|
|
32
|
+
v-model="item.cfgVal"
|
|
33
|
+
class="input-w"
|
|
34
|
+
@change="(val) => changeFn(val, item)"
|
|
35
|
+
>
|
|
27
36
|
<el-radio v-for="(row, i) in JSON.parse(item.cfgJson)" :key="i" :label="row.code">{{ row.value }}</el-radio>
|
|
28
37
|
</el-radio-group>
|
|
29
|
-
<el-checkbox-group
|
|
38
|
+
<el-checkbox-group
|
|
39
|
+
v-if="item.cfgType === '32'"
|
|
40
|
+
v-model="checkList"
|
|
41
|
+
class="input-w"
|
|
42
|
+
@change="(val) => changeFn(val, item)"
|
|
43
|
+
>
|
|
30
44
|
<el-checkbox v-for="(row, i) in JSON.parse(item.cfgJson || '[]')" :key="i" :label="row.code">{{
|
|
31
45
|
row.value
|
|
32
46
|
}}</el-checkbox>
|
|
33
47
|
</el-checkbox-group>
|
|
34
48
|
</el-form-item>
|
|
35
|
-
<el-
|
|
36
|
-
|
|
37
|
-
|
|
49
|
+
<el-input
|
|
50
|
+
v-if="item.cfgHasRemark === '1'"
|
|
51
|
+
v-model="item.cfgRemark"
|
|
52
|
+
class="w-100p m-r-ss m-b-s flex-1"
|
|
53
|
+
placeholder="请输入备注"
|
|
54
|
+
/>
|
|
38
55
|
</div>
|
|
39
56
|
</div>
|
|
40
57
|
</template>
|
|
@@ -100,5 +117,3 @@ export default {
|
|
|
100
117
|
}
|
|
101
118
|
}
|
|
102
119
|
</script>
|
|
103
|
-
|
|
104
|
-
<style></style>
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<el-dialog :visible.sync="visible" width="600px" :title="'提醒' | $lc">
|
|
4
|
+
<el-form style="margin-bottom: 50px">
|
|
5
|
+
<el-form-item :label="'请确认提交内容' | $lc">
|
|
6
|
+
<el-select v-model="reasonSelect" class="w-100p" @change="changeReasonSelect">
|
|
7
|
+
<el-option v-for="(item, i) in flowOptions" :key="i" :label="item.label" :value="item.value" />
|
|
8
|
+
</el-select>
|
|
9
|
+
</el-form-item>
|
|
10
|
+
<el-form-item>
|
|
11
|
+
<el-input v-model="reason" type="textarea" rows="5" class="w-100p" />
|
|
12
|
+
</el-form-item>
|
|
13
|
+
</el-form>
|
|
14
|
+
<span slot="footer">
|
|
15
|
+
<el-button type="primary" @click="submit">{{ $lc('提交') }}</el-button>
|
|
16
|
+
<el-button plain @click="visible = false">{{ $lc('取消') }}</el-button>
|
|
17
|
+
</span>
|
|
18
|
+
</el-dialog>
|
|
19
|
+
</div>
|
|
20
|
+
</template>
|
|
21
|
+
|
|
22
|
+
<script>
|
|
23
|
+
import { $lc } from '../../utils/i18n/index'
|
|
24
|
+
export default {
|
|
25
|
+
name: 'HandlingAdvice',
|
|
26
|
+
data() {
|
|
27
|
+
return {
|
|
28
|
+
visible: false,
|
|
29
|
+
flowOptions: [],
|
|
30
|
+
cb: null,
|
|
31
|
+
reasonSelect: '',
|
|
32
|
+
reason: ''
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
methods: {
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @param typeCode {String} 业务类型编码
|
|
39
|
+
* @param cb {Function?} 回调函数
|
|
40
|
+
*/
|
|
41
|
+
async getHandlingAdvice(typeCode, cb) {
|
|
42
|
+
const { data, code } = await this.$axios.post(`/bems/activiti/admin/todo/isFlowStartWithOptions`, { typeCode })
|
|
43
|
+
if (code === 200) {
|
|
44
|
+
this.visible = data.whether ?? false
|
|
45
|
+
this.flowOptions = data?.opinions?.map((d) => {
|
|
46
|
+
return {
|
|
47
|
+
label: d,
|
|
48
|
+
value: d
|
|
49
|
+
}
|
|
50
|
+
})
|
|
51
|
+
if (!this.visible) {
|
|
52
|
+
this.cb = cb
|
|
53
|
+
cb && cb()
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
changeReasonSelect(val) {
|
|
58
|
+
this.reason = val
|
|
59
|
+
},
|
|
60
|
+
submit(cb) {
|
|
61
|
+
this.visible = false
|
|
62
|
+
if (cb) {
|
|
63
|
+
cb(this.reason)
|
|
64
|
+
} else if (this.cb) {
|
|
65
|
+
this.cb(this.reason)
|
|
66
|
+
}
|
|
67
|
+
this.$emit('submit', this.reason)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
</script>
|
package/src/i18n.json
CHANGED
|
@@ -1080,7 +1080,7 @@
|
|
|
1080
1080
|
"vi": "Một cột hiển thị cột"
|
|
1081
1081
|
},
|
|
1082
1082
|
"最近一月": {
|
|
1083
|
-
"en": "Last
|
|
1083
|
+
"en": "Last month",
|
|
1084
1084
|
"th": "เดือนมกราคมที่แล้ว",
|
|
1085
1085
|
"vi": "Tháng 1 vừa qua"
|
|
1086
1086
|
},
|
|
@@ -1550,7 +1550,7 @@
|
|
|
1550
1550
|
"vi": "Từ chối"
|
|
1551
1551
|
},
|
|
1552
1552
|
"最近三月": {
|
|
1553
|
-
"en": "Last
|
|
1553
|
+
"en": "Last three",
|
|
1554
1554
|
"th": "เดือนมีนาคมที่แล้ว",
|
|
1555
1555
|
"vi": "Tháng ba vừa qua"
|
|
1556
1556
|
},
|
|
@@ -2165,7 +2165,7 @@
|
|
|
2165
2165
|
"vi": "Kiểu thường dùng"
|
|
2166
2166
|
},
|
|
2167
2167
|
"最近六月": {
|
|
2168
|
-
"en": "Last
|
|
2168
|
+
"en": "Last six",
|
|
2169
2169
|
"th": "เมื่อเดือนมิถุนายนล่าสุด",
|
|
2170
2170
|
"vi": "Tháng 6 gần đây nhất"
|
|
2171
2171
|
},
|
package/src/index.js
CHANGED
|
@@ -70,6 +70,7 @@ import Preview from './components/Preview/index.vue'
|
|
|
70
70
|
import SelectTreePro from './components/SelectTree/pro.vue'
|
|
71
71
|
import Tree from './components/Tree/index.vue'
|
|
72
72
|
import AttachmentPass from './components/AttachmentPass/index.vue'
|
|
73
|
+
import HandlingAdvice from './components/HandlingAdvice/index.vue'
|
|
73
74
|
|
|
74
75
|
// 新版日期选择框
|
|
75
76
|
import BusiDatePicker from './components/DateSelect/busiDate.vue'
|
|
@@ -228,6 +229,7 @@ const components = [
|
|
|
228
229
|
ElectronicArchive,
|
|
229
230
|
Preview,
|
|
230
231
|
AttachmentPass,
|
|
232
|
+
HandlingAdvice,
|
|
231
233
|
/* old */
|
|
232
234
|
TableO,
|
|
233
235
|
FiltersO,
|
|
@@ -367,6 +369,7 @@ export {
|
|
|
367
369
|
UploadMsg,
|
|
368
370
|
WorkCard,
|
|
369
371
|
WornPagination,
|
|
372
|
+
HandlingAdvice,
|
|
370
373
|
asyncGetRelaNos,
|
|
371
374
|
// 方法
|
|
372
375
|
auth,
|
|
@@ -59,6 +59,17 @@ function getUserCert(uno) {
|
|
|
59
59
|
let dn = getDN()
|
|
60
60
|
let sd = data.sd === 'd'
|
|
61
61
|
|
|
62
|
+
/**
|
|
63
|
+
* (方法 RSA)生成 P10 包,新容器
|
|
64
|
+
* 参数一:签名密钥或加密密钥标识,”true”/”false”
|
|
65
|
+
* 参数二:密钥长度 512,1024, 2048,4096
|
|
66
|
+
* 参数三:主题 DN,空值 DN 请赋值””空串
|
|
67
|
+
* 参数四:摘要算法 OID,使用默认值请赋值””空串
|
|
68
|
+
* 参数五:公钥算法 OID,,使用默认值请赋值””空串
|
|
69
|
+
* 参数六:签名算法 OID,,使用默认值请赋值””空串
|
|
70
|
+
* 参数七:私钥是否可导出,”true”/”false”
|
|
71
|
+
* 参数八:是否启用增强密钥保护,”true”/”false”
|
|
72
|
+
*/
|
|
62
73
|
const res = IWSA_rsa_csp_genContainerP10('true', alg, data.subjectDN || dn, '', '', '', 'false', 'false')
|
|
63
74
|
if (res[0] === '0') {
|
|
64
75
|
let dto = {
|
|
@@ -68,6 +79,11 @@ function getUserCert(uno) {
|
|
|
68
79
|
}
|
|
69
80
|
axios.post(`/bems/prod_1.0/dssc/sign/getRadsCert`, dto).then(({ code, data }) => {
|
|
70
81
|
if (code === 200) {
|
|
82
|
+
/**
|
|
83
|
+
* (方法 RSA)导入签名证书 X509
|
|
84
|
+
* 参数一:容器名,支持””:使用产生 P10 时的容器
|
|
85
|
+
* 参数二:X509 证书,Base64 编码
|
|
86
|
+
*/
|
|
71
87
|
const certData = IWSA_rsa_csp_importSignX509Cert(res[1], data.signCer)
|
|
72
88
|
if (certData[0] === '0') {
|
|
73
89
|
Message.success('证书导入成功')
|