n20-common-lib 3.0.86 → 3.0.88
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/table.scss +11 -0
- package/src/assets/css/v3/table.scss +19 -0
- package/src/components/ApprovalButtons/index.vue +42 -23
- package/src/components/ApprovalButtons/selectSpr.vue +15 -0
- package/src/components/ApprovalButtons/showAppOpi.vue +5 -1
- package/src/components/ApprovalButtons/showOtherAttrNew.vue +40 -41
- package/src/components/ApprovalCard/index.vue +21 -5
- package/src/components/ApprovalRecord/approvalImgPro/index.vue +23 -3
- package/src/components/ApprovalRecord/index.vue +7 -2
- package/src/components/FileUploadTable/index.vue +4 -3
- package/src/components/HandlingAdvice/index.vue +97 -70
- package/src/components/InputNumber/README.md +112 -0
- package/src/components/Pivot/index.vue +15 -10
- package/src/components/TablePro/index.vue +12 -1
- package/src/components/TableProOperateColumn/OperateBtns.vue +25 -5
- package/src/components/TableProOperateColumn/childrenOperateBtn.vue +83 -25
- package/src/components/Tabs/index.vue +3 -3
- package/src/components/TertiaryTab/index.vue +2 -2
- package/src/components/Upload/uploadMsg.vue +2 -0
- package/src/components/v3/SecondaryTab/index.vue +3 -3
- package/src/components/v3/TablePro/index.vue +40 -7
- package/src/index.js +3 -0
- package/src/plugins/Sign/signV3/InfosecNetSignCNGAgent.min.js +4112 -1
- package/src/plugins/Sign/signV3/sign.js +23 -11
- package/style/index.css +1 -1
- package/theme/blue.css +1 -1
- package/theme/cctcRed.css +1 -1
- package/theme/green.css +1 -1
- package/theme/lightBlue.css +1 -1
- package/theme/orange.css +1 -1
- package/theme/purple.css +1 -1
- package/theme/red.css +1 -1
- package/theme/yellow.css +1 -1
- package/src/assets/css/table copy.scss +0 -234
- package/src/components/Pivot/ViewToggle.vue +0 -132
package/package.json
CHANGED
|
@@ -242,3 +242,14 @@ th.vxe-header--column {
|
|
|
242
242
|
text-overflow: ellipsis;
|
|
243
243
|
white-space: nowrap;
|
|
244
244
|
}
|
|
245
|
+
// badge图章样式
|
|
246
|
+
.table-operate-btns__wrapper {
|
|
247
|
+
.el-badge__content {
|
|
248
|
+
position: absolute;
|
|
249
|
+
top: 6px;
|
|
250
|
+
right: 15px;
|
|
251
|
+
font-size: 10px;
|
|
252
|
+
height: 12px;
|
|
253
|
+
line-height: 12px;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
@@ -287,6 +287,14 @@
|
|
|
287
287
|
align-items: center;
|
|
288
288
|
gap: 4px;
|
|
289
289
|
white-space: nowrap;
|
|
290
|
+
.el-badge__content {
|
|
291
|
+
position: absolute;
|
|
292
|
+
top: 0;
|
|
293
|
+
right: 0;
|
|
294
|
+
font-size: 10px;
|
|
295
|
+
height: 12px;
|
|
296
|
+
line-height: 12px;
|
|
297
|
+
}
|
|
290
298
|
}
|
|
291
299
|
|
|
292
300
|
.hover-btns-more {
|
|
@@ -520,4 +528,15 @@
|
|
|
520
528
|
text-overflow: ellipsis;
|
|
521
529
|
white-space: nowrap;
|
|
522
530
|
}
|
|
531
|
+
|
|
532
|
+
.table-operate-btns__wrapper {
|
|
533
|
+
.el-badge__content {
|
|
534
|
+
position: absolute;
|
|
535
|
+
top: 6px;
|
|
536
|
+
right: 15px;
|
|
537
|
+
font-size: 10px;
|
|
538
|
+
height: 12px;
|
|
539
|
+
line-height: 12px;
|
|
540
|
+
}
|
|
541
|
+
}
|
|
523
542
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<ExpandablePane
|
|
6
6
|
v-if="taskId && showBtn && authList.includes('isShowOtherAtt')"
|
|
7
7
|
title="自定义项"
|
|
8
|
-
:default-expand="
|
|
8
|
+
:default-expand="otherExpand"
|
|
9
9
|
>
|
|
10
10
|
<el-form ref="approveBtnGroup" label-position="right" :label-width="_lang === 'zh' ? '12em' : '12em'">
|
|
11
11
|
<div
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
<carboncopy-prop
|
|
222
222
|
type="addtask"
|
|
223
223
|
:carbon-copy-list="addTaskList"
|
|
224
|
-
@close="
|
|
224
|
+
@close="setAddtaskClose"
|
|
225
225
|
@confirm="setAddtaskOk"
|
|
226
226
|
/>
|
|
227
227
|
</cl-dialog>
|
|
@@ -454,6 +454,10 @@ export default {
|
|
|
454
454
|
beforeDiscard: {
|
|
455
455
|
type: Function,
|
|
456
456
|
default: undefined
|
|
457
|
+
},
|
|
458
|
+
otherExpand: {
|
|
459
|
+
type: Boolean,
|
|
460
|
+
default: true
|
|
457
461
|
}
|
|
458
462
|
},
|
|
459
463
|
data() {
|
|
@@ -579,27 +583,8 @@ export default {
|
|
|
579
583
|
noMsg: true
|
|
580
584
|
}
|
|
581
585
|
)
|
|
582
|
-
//
|
|
583
|
-
|
|
584
|
-
this.$confirm('请确定是否向后加签', $lc('提示'), {
|
|
585
|
-
confirmButtonText: $lc('确定'),
|
|
586
|
-
cancelButtonText: $lc('取消'),
|
|
587
|
-
type: 'warning'
|
|
588
|
-
}).then(() => {
|
|
589
|
-
// 如果返回正常 且有返回值 且showNextEgwOutgoingNodeName跟showNextNodeAssignee有一个为true
|
|
590
|
-
if (
|
|
591
|
-
res.code === 200 &&
|
|
592
|
-
res.data &&
|
|
593
|
-
(res.data.showNextEgwOutgoingNodeName || res.data.showNextNodeAssignee)
|
|
594
|
-
) {
|
|
595
|
-
this.setSpr = true
|
|
596
|
-
this.selectSprList = res.data
|
|
597
|
-
} else {
|
|
598
|
-
this.checkFlowFn()
|
|
599
|
-
}
|
|
600
|
-
})
|
|
601
|
-
} else {
|
|
602
|
-
// 如果返回正常 且有返回值 且showNextEgwOutgoingNodeName跟showNextNodeAssignee有一个为true
|
|
586
|
+
// 处理请求结果:showNextEgwOutgoingNodeName 或 showNextNodeAssignee 有一个为 true 时显示加签列表
|
|
587
|
+
const handleResult = () => {
|
|
603
588
|
if (
|
|
604
589
|
res.code === 200 &&
|
|
605
590
|
res.data &&
|
|
@@ -608,9 +593,18 @@ export default {
|
|
|
608
593
|
this.setSpr = true
|
|
609
594
|
this.selectSprList = res.data
|
|
610
595
|
} else {
|
|
596
|
+
this.nextEgwOutgoingNodeId = undefined
|
|
597
|
+
this.nextNodeApproveUnos = undefined
|
|
611
598
|
this.checkFlowFn()
|
|
612
599
|
}
|
|
613
600
|
}
|
|
601
|
+
// addTaskTip 需要加签时,直接弹出加签弹窗选择被加签人
|
|
602
|
+
if (res.code === 200 && res.data && res.data.addTaskTip) {
|
|
603
|
+
this._pendingAddTaskTip = handleResult
|
|
604
|
+
this.setAddtaskV = true
|
|
605
|
+
} else {
|
|
606
|
+
handleResult()
|
|
607
|
+
}
|
|
614
608
|
} catch (error) {
|
|
615
609
|
console.log(error)
|
|
616
610
|
this.checkFlowFn()
|
|
@@ -1143,6 +1137,14 @@ export default {
|
|
|
1143
1137
|
|
|
1144
1138
|
this.setCarboncopyV = false
|
|
1145
1139
|
},
|
|
1140
|
+
setAddtaskClose() {
|
|
1141
|
+
this.setAddtaskV = false
|
|
1142
|
+
if (this._pendingAddTaskTip) {
|
|
1143
|
+
const callback = this._pendingAddTaskTip
|
|
1144
|
+
this._pendingAddTaskTip = null
|
|
1145
|
+
callback()
|
|
1146
|
+
}
|
|
1147
|
+
},
|
|
1146
1148
|
setAddtaskOk(list) {
|
|
1147
1149
|
this.addTaskList = list
|
|
1148
1150
|
if (this.addTaskList.length > 0 && !this.addTaskType) {
|
|
@@ -1154,6 +1156,23 @@ export default {
|
|
|
1154
1156
|
}
|
|
1155
1157
|
|
|
1156
1158
|
this.setAddtaskV = false
|
|
1159
|
+
|
|
1160
|
+
// 加签提示场景:未选择被加签人时,弹窗确认是否向后加签
|
|
1161
|
+
if (this._pendingAddTaskTip) {
|
|
1162
|
+
const callback = this._pendingAddTaskTip
|
|
1163
|
+
this._pendingAddTaskTip = null
|
|
1164
|
+
if (this.addTaskList.length === 0) {
|
|
1165
|
+
this.$confirm('请检查是否向后加签', $lc('提示'), {
|
|
1166
|
+
confirmButtonText: $lc('确定'),
|
|
1167
|
+
cancelButtonText: $lc('取消'),
|
|
1168
|
+
type: 'warning'
|
|
1169
|
+
}).then(() => {
|
|
1170
|
+
callback()
|
|
1171
|
+
}).catch(() => {})
|
|
1172
|
+
} else {
|
|
1173
|
+
callback()
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1157
1176
|
},
|
|
1158
1177
|
getFileDtos(fileList) {
|
|
1159
1178
|
return fileList.map((file) => {
|
|
@@ -106,7 +106,22 @@ export default {
|
|
|
106
106
|
this.selectCheck = this.selectSprList?.showNextNodeAssignee || false
|
|
107
107
|
},
|
|
108
108
|
personChange(list) {
|
|
109
|
+
const { nextNodeAssigneeMinnum: min = 0, nextNodeAssigneeMaxnum: max = 0 } = this.selectSprList || {}
|
|
110
|
+
|
|
111
|
+
// 校验最大值
|
|
112
|
+
if (max && list.length > max) {
|
|
113
|
+
this.$message.warning(`审批人数需小于或等于 ${max} 个`)
|
|
114
|
+
return
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// 更新当前选中
|
|
109
118
|
this.personList = list
|
|
119
|
+
|
|
120
|
+
// 校验最小值(仅提示,不强制拦截)
|
|
121
|
+
if (min && list.length < min) {
|
|
122
|
+
this.$message.info(`审批人数需大于或等于 ${min} 个`)
|
|
123
|
+
return
|
|
124
|
+
}
|
|
110
125
|
},
|
|
111
126
|
closeFn(item) {
|
|
112
127
|
this.selectSprList = {
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
clearable
|
|
8
8
|
:multiple="multiple"
|
|
9
9
|
collapse-tags
|
|
10
|
-
:placeholder="'
|
|
10
|
+
:placeholder="'
|
|
11
|
+
,选择后将自动填充至下方输入框,您可在此基础上修改' | $lc"
|
|
11
12
|
@change="changeFn"
|
|
12
13
|
>
|
|
13
14
|
<el-option v-for="(item, i) in approveMsgList" :key="i" :label="item.suggestion" :value="item.suggestion" />
|
|
@@ -77,6 +78,8 @@
|
|
|
77
78
|
placeholder="请输入"
|
|
78
79
|
size="normal"
|
|
79
80
|
clearable
|
|
81
|
+
maxlength="500"
|
|
82
|
+
show-word-limit
|
|
80
83
|
@change="row.appNoType = 'add'"
|
|
81
84
|
/>
|
|
82
85
|
</vxe-column>
|
|
@@ -106,6 +109,7 @@ import ClTablePro from '../TablePro/index.vue'
|
|
|
106
109
|
import { $lc } from '../../utils/i18n/index'
|
|
107
110
|
import axios from '../../utils/axios'
|
|
108
111
|
export default {
|
|
112
|
+
name: 'ShowAppOpi',
|
|
109
113
|
components: {
|
|
110
114
|
clSecondaryTab,
|
|
111
115
|
ClDialog,
|
|
@@ -1,33 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
class="
|
|
4
|
-
style="
|
|
5
|
-
flex-wrap: wrap;
|
|
6
|
-
display: grid;
|
|
7
|
-
grid-template-columns: repeat(2, 1fr);
|
|
8
|
-
gap: 16px;
|
|
9
|
-
padding: 0;
|
|
10
|
-
overflow-x: hidden;
|
|
11
|
-
"
|
|
12
|
-
>
|
|
13
|
-
<div v-for="(item, i) in otherAttData" :key="i" class="flex-box flex-v" style="width: 100%; padding: 0 20px">
|
|
2
|
+
<div class="w-100p">
|
|
3
|
+
<div v-for="(item, i) in otherAttData" :key="i" class="flex-box m-l-m m-r-m">
|
|
14
4
|
<el-form-item
|
|
15
5
|
class="m-r-ss m-b-s"
|
|
16
|
-
:label-width="labelWidth"
|
|
17
6
|
:class="item.cfgHasRemark === '1' ? 'flex-auto' : 'flex-1'"
|
|
18
7
|
:label="item.cfgName"
|
|
19
8
|
>
|
|
20
9
|
<span slot="label">
|
|
21
|
-
<span
|
|
22
|
-
v-title="item.cfgName"
|
|
23
|
-
style="
|
|
24
|
-
display: inline-block;
|
|
25
|
-
white-space: nowrap;
|
|
26
|
-
overflow: hidden;
|
|
27
|
-
text-overflow: ellipsis;
|
|
28
|
-
"
|
|
29
|
-
:style="{ maxWidth: labelWidth }"
|
|
30
|
-
>
|
|
10
|
+
<span style="display: inline-block; white-space: wrap">
|
|
31
11
|
<span v-if="required" style="color: red">*</span>
|
|
32
12
|
{{ item.cfgName }}
|
|
33
13
|
</span>
|
|
@@ -61,20 +41,10 @@
|
|
|
61
41
|
>
|
|
62
42
|
<el-option v-for="(row, i) in JSON.parse(item.cfgJson)" :key="i" :label="row.value" :value="row.code" />
|
|
63
43
|
</el-select>
|
|
64
|
-
<el-radio-group
|
|
65
|
-
v-if="item.cfgType === '22'"
|
|
66
|
-
v-model="item.cfgVal"
|
|
67
|
-
class="input-w"
|
|
68
|
-
@change="(val) => changeFn(val, item)"
|
|
69
|
-
>
|
|
44
|
+
<el-radio-group v-if="item.cfgType === '22'" v-model="item.cfgVal" @change="(val) => changeFn(val, item)">
|
|
70
45
|
<el-radio v-for="(row, i) in JSON.parse(item.cfgJson)" :key="i" :label="row.code">{{ row.value }}</el-radio>
|
|
71
46
|
</el-radio-group>
|
|
72
|
-
<el-checkbox-group
|
|
73
|
-
v-if="item.cfgType === '32'"
|
|
74
|
-
v-model="item.checkList"
|
|
75
|
-
class="input-w"
|
|
76
|
-
@change="(val) => changeFn(val, item)"
|
|
77
|
-
>
|
|
47
|
+
<el-checkbox-group v-if="item.cfgType === '32'" v-model="item.checkList" @change="(val) => changeFn(val, item)">
|
|
78
48
|
<el-checkbox v-for="(row, i) in JSON.parse(item.cfgJson || '[]')" :key="i" :label="row.code">{{
|
|
79
49
|
row.value
|
|
80
50
|
}}</el-checkbox>
|
|
@@ -93,13 +63,13 @@
|
|
|
93
63
|
v-model="item.cfgVal"
|
|
94
64
|
:type="'textarea'"
|
|
95
65
|
placeholder="请输入"
|
|
96
|
-
class="w-100p m-r-
|
|
66
|
+
class="w-100p m-r-s m-b-s flex-1"
|
|
97
67
|
clearable
|
|
98
68
|
/>
|
|
99
69
|
<el-input
|
|
100
70
|
v-if="item.cfgHasRemark === '1' && !['11', '12'].includes(item.cfgType)"
|
|
101
71
|
v-model="item.cfgRemark"
|
|
102
|
-
class="w-100p m-r-
|
|
72
|
+
class="w-100p m-r-lg m-b-s flex-1"
|
|
103
73
|
placeholder="请输入备注"
|
|
104
74
|
/>
|
|
105
75
|
</div>
|
|
@@ -109,11 +79,8 @@
|
|
|
109
79
|
<script>
|
|
110
80
|
import axios from '../../utils/axios'
|
|
111
81
|
export default {
|
|
82
|
+
name: 'ShowOtherAttrNew',
|
|
112
83
|
props: {
|
|
113
|
-
labelWidth: {
|
|
114
|
-
type: String,
|
|
115
|
-
default: '12em'
|
|
116
|
-
},
|
|
117
84
|
taskId: {
|
|
118
85
|
type: [String, Number],
|
|
119
86
|
default: ''
|
|
@@ -144,6 +111,34 @@ export default {
|
|
|
144
111
|
this.getData(this.otherAttDataA)
|
|
145
112
|
},
|
|
146
113
|
methods: {
|
|
114
|
+
setDefaultValue(item) {
|
|
115
|
+
const defaultTypes = ['22', '21', '31', '32']
|
|
116
|
+
// 不满足条件的直接返回
|
|
117
|
+
if (!defaultTypes.includes(item.cfgType) || item.cfgVal) return
|
|
118
|
+
|
|
119
|
+
try {
|
|
120
|
+
// 解析cfgJson,获取默认选项
|
|
121
|
+
const cfgJson = JSON.parse(item.cfgJson || '[]')
|
|
122
|
+
const defaultItems = cfgJson.filter((row) => row.isDefault === '1')
|
|
123
|
+
if (!defaultItems.length) return
|
|
124
|
+
// 获取默认选项的code值
|
|
125
|
+
const defaultCodes = defaultItems.map((row) => row.code)
|
|
126
|
+
if (['22', '21'].includes(item.cfgType)) {
|
|
127
|
+
item.cfgVal = defaultCodes[0]
|
|
128
|
+
item.cfgText = defaultItems[0]?.value
|
|
129
|
+
} else if (['31', '32'].includes(item.cfgType)) {
|
|
130
|
+
item.cfgVal = defaultCodes.join(',')
|
|
131
|
+
item.cfgText = defaultItems.map((row) => row.value).join(',')
|
|
132
|
+
if (item.cfgType === '31') {
|
|
133
|
+
item.selectList = defaultCodes
|
|
134
|
+
} else {
|
|
135
|
+
item.checkList = defaultCodes
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
} catch (e) {
|
|
139
|
+
// JSON解析失败时忽略
|
|
140
|
+
}
|
|
141
|
+
},
|
|
147
142
|
getData(data) {
|
|
148
143
|
if (data.length) {
|
|
149
144
|
this.otherAttData = data
|
|
@@ -156,6 +151,10 @@ export default {
|
|
|
156
151
|
if (['32'].includes(item.cfgType)) {
|
|
157
152
|
item.checkList = item.checkList ? item.checkList : []
|
|
158
153
|
}
|
|
154
|
+
if (['31'].includes(item.cfgType)) {
|
|
155
|
+
item.selectList = item.selectList ? item.selectList : []
|
|
156
|
+
}
|
|
157
|
+
this.setDefaultValue(item)
|
|
159
158
|
return item
|
|
160
159
|
}) || []
|
|
161
160
|
}
|
|
@@ -192,8 +192,14 @@
|
|
|
192
192
|
>{{ '审查意见:' | $lc }} <i class="n20-icon-shouqizhedie f-s-m"></i
|
|
193
193
|
></span>
|
|
194
194
|
<div v-show="showFlowHistoryChild" class="n20-description-bgc p-a-s">
|
|
195
|
-
<div
|
|
196
|
-
|
|
195
|
+
<div
|
|
196
|
+
v-for="(s, i) in row.flowHistoryCfgs"
|
|
197
|
+
:key="i"
|
|
198
|
+
:class="{ 'flex-box': align === 'left-right' }"
|
|
199
|
+
:style="align === 'left-right' ? 'justify-content: space-between' : ''"
|
|
200
|
+
>
|
|
201
|
+
<span>{{ s.cfgName }}:</span
|
|
202
|
+
><span>{{ s.cfgText ? s.cfgText : s.cfgVal }}{{ s.cfgRemark }}</span>
|
|
197
203
|
</div>
|
|
198
204
|
</div>
|
|
199
205
|
</div>
|
|
@@ -266,9 +272,15 @@
|
|
|
266
272
|
>{{ '审查意见:' | $lc }}<i class="n20-icon-shouqizhedie f-s-m"></i
|
|
267
273
|
></span>
|
|
268
274
|
<div v-show="showFlowHistory" class="n20-description-bgc p-a-s">
|
|
269
|
-
<div
|
|
270
|
-
|
|
271
|
-
|
|
275
|
+
<div
|
|
276
|
+
v-for="(s, i) in item.flowHistoryCfgs"
|
|
277
|
+
:key="i"
|
|
278
|
+
class="p-b-s"
|
|
279
|
+
:class="{ 'flex-box': align === 'left-right' }"
|
|
280
|
+
:style="align === 'left-right' ? 'justify-content: space-between' : ''"
|
|
281
|
+
>
|
|
282
|
+
<span>{{ s.cfgName }}:{{ s.cfgName }}:</span>
|
|
283
|
+
<span>{{ s.cfgText ? s.cfgText : s.cfgVal }}{{ s.cfgRemark }}</span>
|
|
272
284
|
</div>
|
|
273
285
|
</div>
|
|
274
286
|
</div>
|
|
@@ -412,6 +424,10 @@ export default {
|
|
|
412
424
|
hideLoading: {
|
|
413
425
|
type: Boolean,
|
|
414
426
|
default: false
|
|
427
|
+
},
|
|
428
|
+
align: {
|
|
429
|
+
type: String,
|
|
430
|
+
default: 'left-right'
|
|
415
431
|
}
|
|
416
432
|
},
|
|
417
433
|
data() {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
</symbol>
|
|
18
18
|
</svg>
|
|
19
19
|
<div ref="activiti-svg-wrap" class="activiti-svg-wrap"></div>
|
|
20
|
-
<div class="flex-box activiti-svg-zoom">
|
|
20
|
+
<div class="flex-box activiti-svg-zoom flex-v">
|
|
21
21
|
<el-button type="text" icon="el-icon-zoom-out" style="font-size: 18px" @click="scaleMinus" />
|
|
22
22
|
<el-slider
|
|
23
23
|
v-model="zoomValue"
|
|
@@ -32,7 +32,27 @@
|
|
|
32
32
|
<span class="m-l-s m-r-s" style="display: inline-block; width: 38px; line-height: 38px">{{
|
|
33
33
|
zoomValue | zoomFormat
|
|
34
34
|
}}</span>
|
|
35
|
-
<
|
|
35
|
+
<svg
|
|
36
|
+
style="font-size: 16px; width: 20px; height: 20px"
|
|
37
|
+
@click="scaleReset"
|
|
38
|
+
t="1773296357916"
|
|
39
|
+
class="icon pointer"
|
|
40
|
+
viewBox="0 0 1024 1024"
|
|
41
|
+
version="1.1"
|
|
42
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
43
|
+
p-id="39626"
|
|
44
|
+
width="200"
|
|
45
|
+
height="200"
|
|
46
|
+
>
|
|
47
|
+
<path
|
|
48
|
+
d="M896 85.333333a42.666667 42.666667 0 0 1 42.666667 42.666667v768a42.666667 42.666667 0 0 1-42.666667 42.666667H128a42.666667 42.666667 0 0 1-42.666667-42.666667V128a42.666667 42.666667 0 0 1 42.666667-42.666667h768z m-42.666667 85.333334H170.666667v682.666666h682.666666V170.666667z"
|
|
49
|
+
p-id="39627"
|
|
50
|
+
></path>
|
|
51
|
+
<path
|
|
52
|
+
d="M751.125333 667.242667h-64.384v-176.234667l0.64-28.970667 1.045334-31.658666c-10.709333 10.688-18.133333 17.706667-22.293334 21.034666l-35.008 28.138667-31.04-38.762667 98.133334-78.122666h52.906666v304.576zM477.589333 637.44c0-11.648 3.114667-20.48 9.386667-26.453333 6.229333-5.973333 15.338667-8.96 27.264-8.96 11.52 0 20.416 3.072 26.666667 9.173333 6.4 6.122667 9.6 14.869333 9.6 26.24 0 10.986667-3.2 19.669333-9.6 26.069333-6.378667 6.250667-15.274667 9.365333-26.666667 9.365334-11.648 0-20.693333-3.050667-27.093333-9.173334-6.378667-6.250667-9.557333-14.997333-9.557334-26.24z m0-172.074667c0-11.648 3.114667-20.48 9.386667-26.453333 6.229333-5.973333 15.338667-8.96 27.264-8.96 11.52 0 20.416 3.050667 26.666667 9.173333 6.4 6.101333 9.6 14.869333 9.6 26.24 0 11.264-3.264 20.010667-9.813334 26.24-6.378667 6.122667-15.189333 9.173333-26.453333 9.173334-11.648 0-20.693333-3.050667-27.093333-9.173334-6.378667-6.08-9.557333-14.848-9.557334-26.24zM385.706667 667.242667h-64.362667v-176.234667l0.618667-28.970667 1.045333-31.658666c-10.709333 10.688-18.133333 17.706667-22.293333 21.034666l-34.986667 28.138667L234.666667 440.789333 332.8 362.666667h52.906667v304.576z"
|
|
53
|
+
p-id="39628"
|
|
54
|
+
></path>
|
|
55
|
+
</svg>
|
|
36
56
|
</div>
|
|
37
57
|
<el-popover ref="title-pop" v-model="msgV" trigger="hover" placement="top">
|
|
38
58
|
<div class="activiti-msg">
|
|
@@ -292,7 +312,7 @@ export default {
|
|
|
292
312
|
detailList: assigneeEnd.map((item) => {
|
|
293
313
|
return {
|
|
294
314
|
assignee: item.assignee,
|
|
295
|
-
optResult: item.
|
|
315
|
+
optResult: item.optResult,
|
|
296
316
|
suggestion: item.suggestion,
|
|
297
317
|
endTime: item.endTime
|
|
298
318
|
}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
class="p-a"
|
|
22
22
|
:proc-inst-id="procInstIdC"
|
|
23
23
|
style="height: 70vh; overflow: auto"
|
|
24
|
+
:align="align"
|
|
24
25
|
/>
|
|
25
26
|
</el-dialog>
|
|
26
27
|
<el-dialog
|
|
@@ -35,12 +36,12 @@
|
|
|
35
36
|
<approvalImg class="text-c p-a" :proc-inst-id="procInstIdC" style="height: 70vh; overflow: auto" />
|
|
36
37
|
</el-dialog>
|
|
37
38
|
</div>
|
|
38
|
-
<div v-else
|
|
39
|
+
<div v-else>
|
|
39
40
|
<expandableWrap :title="'审批记录' | $lc">
|
|
40
41
|
<template slot="tips">
|
|
41
42
|
<el-button size="mini" plain @click="imgV = true">{{ '流程图查看' | $lc }}</el-button>
|
|
42
43
|
</template>
|
|
43
|
-
<approvalCard :api-prefix="apiPrefix" :proc-inst-id="procInstIdC" />
|
|
44
|
+
<approvalCard :api-prefix="apiPrefix" :proc-inst-id="procInstIdC" :align="align" />
|
|
44
45
|
<el-dialog
|
|
45
46
|
v-drag
|
|
46
47
|
:title="'查看流程' | $lc"
|
|
@@ -80,6 +81,10 @@ export default {
|
|
|
80
81
|
buttonMode: {
|
|
81
82
|
type: Boolean,
|
|
82
83
|
default: true
|
|
84
|
+
},
|
|
85
|
+
align: {
|
|
86
|
+
type: String,
|
|
87
|
+
default: 'left-right'
|
|
83
88
|
}
|
|
84
89
|
},
|
|
85
90
|
data() {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<slot v-if="!readonly && showBatchUpload" name="batch-btn">
|
|
13
13
|
<el-button size="mini" plain @click="handleBathUpload">{{ '批量上传' | $lc }}</el-button>
|
|
14
14
|
</slot>
|
|
15
|
-
<slot v-if="
|
|
15
|
+
<slot v-if="showBatchPrint" name="batch-btn">
|
|
16
16
|
<el-button size="mini" plain @click="batchPrint">{{ '批量打印' | $lc }}</el-button>
|
|
17
17
|
</slot>
|
|
18
18
|
<slot name="down-btn">
|
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
>
|
|
249
249
|
<div class="flex-column flex-c flex-v" style="height: 100%">
|
|
250
250
|
<i class="el-icon-s-release" style="font-size: 60px; color: #999"></i>
|
|
251
|
-
<span style="margin-top: 16px">
|
|
251
|
+
<span style="margin-top: 16px" class="flex-box flex-c flex-v">
|
|
252
252
|
{{ '不支持在线预览,请' | $lc
|
|
253
253
|
}}<el-link type="primary" class="color-primary" @click="downFile(seeRow)">{{ '下载' | $lc }}</el-link
|
|
254
254
|
>{{ '到本地查看' | $lc }}
|
|
@@ -673,7 +673,8 @@ export default {
|
|
|
673
673
|
})
|
|
674
674
|
}
|
|
675
675
|
if (this.batchPrintMethod) {
|
|
676
|
-
|
|
676
|
+
this.batchPrintMethod(this.selectionList)
|
|
677
|
+
return
|
|
677
678
|
}
|
|
678
679
|
const { code, data } = await axios.post(
|
|
679
680
|
this.apiPrefix
|