@ebiz/designer-components 0.1.50 → 0.1.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/dist/designer-components.css +1 -1
- package/dist/index.mjs +2010 -1987
- package/package.json +1 -1
- package/src/components/EbizApprovalForm.vue +38 -10
- package/src/components/EbizEmployeeSelector.vue +2 -1
- package/src/components/EbizSApprovalProcess.vue +15 -9
- package/src/components/EbizTree.vue +21 -32
package/package.json
CHANGED
|
@@ -76,7 +76,6 @@
|
|
|
76
76
|
<t-dialog header="退回确认" :visible="showReturnDialog" :confirm-btn="{ content: '确定退回', theme: 'danger' }"
|
|
77
77
|
:cancel-btn="{ content: '取消', theme: 'default' }" @confirm="confirmReturn" @close="showReturnDialog = false">
|
|
78
78
|
<p>确定要退回该审批吗?</p>
|
|
79
|
-
<t-input v-model="returnReason" placeholder="请输入退回原因" />
|
|
80
79
|
</t-dialog>
|
|
81
80
|
</div>
|
|
82
81
|
</template>
|
|
@@ -311,7 +310,19 @@ const handlePass = async () => {
|
|
|
311
310
|
}
|
|
312
311
|
|
|
313
312
|
try {
|
|
314
|
-
await emit('pass', params)
|
|
313
|
+
//await emit('pass', params)
|
|
314
|
+
|
|
315
|
+
//通过审批申请
|
|
316
|
+
await request(
|
|
317
|
+
{
|
|
318
|
+
...params
|
|
319
|
+
},
|
|
320
|
+
{},
|
|
321
|
+
`/tasks/${params.taskId}/complete`
|
|
322
|
+
)
|
|
323
|
+
|
|
324
|
+
emit('pass')
|
|
325
|
+
|
|
315
326
|
comments.value = ''
|
|
316
327
|
attachments.value = []
|
|
317
328
|
} catch (err) {
|
|
@@ -322,7 +333,17 @@ const handlePass = async () => {
|
|
|
322
333
|
// 拒绝审批
|
|
323
334
|
const handleReject = async () => {
|
|
324
335
|
try {
|
|
325
|
-
await emit('reject', comments.value)
|
|
336
|
+
//await emit('reject', comments.value)
|
|
337
|
+
await request(
|
|
338
|
+
{
|
|
339
|
+
taskId: props.taskId,
|
|
340
|
+
comment: comments.value,
|
|
341
|
+
approve: false
|
|
342
|
+
},
|
|
343
|
+
{},
|
|
344
|
+
`/tasks/${props.taskId}/complete`
|
|
345
|
+
)
|
|
346
|
+
emit('reject')
|
|
326
347
|
comments.value = ''
|
|
327
348
|
attachments.value = []
|
|
328
349
|
} catch (err) {
|
|
@@ -341,7 +362,8 @@ const confirmTransfer = async () => {
|
|
|
341
362
|
const res = await request(
|
|
342
363
|
{
|
|
343
364
|
toUserId: String(transferApprover.value),
|
|
344
|
-
|
|
365
|
+
comment: comments.value,
|
|
366
|
+
attachments: attachments.value
|
|
345
367
|
},
|
|
346
368
|
{},
|
|
347
369
|
`/tasks/${props.taskId}/transfer`
|
|
@@ -371,7 +393,9 @@ const confirmReceiver = async () => {
|
|
|
371
393
|
saveData: {
|
|
372
394
|
id: props.approvalDetail.variables.form.id,
|
|
373
395
|
receiver: String(selectedReceiver.value),
|
|
374
|
-
taskId: props.taskId
|
|
396
|
+
taskId: props.taskId,
|
|
397
|
+
comment: comments.value,
|
|
398
|
+
attachments: attachments.value
|
|
375
399
|
}
|
|
376
400
|
},
|
|
377
401
|
{
|
|
@@ -410,7 +434,9 @@ const confirmAddSign = async () => {
|
|
|
410
434
|
const res = await request(
|
|
411
435
|
{
|
|
412
436
|
userIds: [selectedAddSignUser.value],
|
|
413
|
-
position: addSignPosition.value
|
|
437
|
+
position: addSignPosition.value,
|
|
438
|
+
comment: comments.value,
|
|
439
|
+
attachments: attachments.value
|
|
414
440
|
},
|
|
415
441
|
{},
|
|
416
442
|
`/tasks/${props.taskId}/addSign`
|
|
@@ -421,9 +447,10 @@ const confirmAddSign = async () => {
|
|
|
421
447
|
showAddSignDialog.value = false
|
|
422
448
|
selectedAddSignUser.value = null
|
|
423
449
|
|
|
424
|
-
if (addSignPosition.value === 'before') {
|
|
425
|
-
|
|
426
|
-
|
|
450
|
+
/* if (addSignPosition.value === 'before') {
|
|
451
|
+
emit('refresh')
|
|
452
|
+
} */
|
|
453
|
+
emit('refresh')
|
|
427
454
|
} catch (err) {
|
|
428
455
|
MessagePlugin.error(err.message || '加签失败')
|
|
429
456
|
}
|
|
@@ -434,7 +461,8 @@ const confirmReturn = async () => {
|
|
|
434
461
|
try {
|
|
435
462
|
const res = await request(
|
|
436
463
|
{
|
|
437
|
-
|
|
464
|
+
comment: comments.value,
|
|
465
|
+
attachments: attachments.value
|
|
438
466
|
},
|
|
439
467
|
{},
|
|
440
468
|
`/tasks/${props.taskId}/return`
|
|
@@ -147,7 +147,8 @@
|
|
|
147
147
|
</div>
|
|
148
148
|
<div class="employee-info">
|
|
149
149
|
<div class="employee-code">{{ item.no }} - </div>
|
|
150
|
-
<div class="employee-name">{{ item.name }}
|
|
150
|
+
<div class="employee-name">{{ item.name }} <small style="color: #999;">[{{ item.deptName
|
|
151
|
+
}}]</small></div>
|
|
151
152
|
</div>
|
|
152
153
|
</div>
|
|
153
154
|
</t-radio>
|
|
@@ -71,14 +71,19 @@
|
|
|
71
71
|
</div>
|
|
72
72
|
|
|
73
73
|
<!-- 目标用户信息(转审、加签等操作) -->
|
|
74
|
-
<div v-if="approver.
|
|
74
|
+
<div v-if="approver.targetUsers && needShowTargetUser(approver)"
|
|
75
75
|
class="target-user-info">
|
|
76
76
|
<div class="target-label">{{ getTargetUserLabel(approver) }}</div>
|
|
77
|
-
<
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
<div style="display: flex; flex-direction: column; gap: 4px;">
|
|
78
|
+
<div v-for="targetUser in approver.targetUsers" :key="targetUser.userId">
|
|
79
|
+
<user-info :userId="targetUser.userId"
|
|
80
|
+
:userInfo="getTargetUserInfo(targetUser)" avatar-size="small"
|
|
81
|
+
name-size="small" :show-department="false" />
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
80
84
|
</div>
|
|
81
85
|
|
|
86
|
+
|
|
82
87
|
<!-- 评论信息 -->
|
|
83
88
|
<div class="approver-comment">
|
|
84
89
|
<div v-if="approver.comment">{{ approver.comment }}</div>
|
|
@@ -642,10 +647,11 @@ function onAddCcListConfirm(event) {
|
|
|
642
647
|
|
|
643
648
|
// 判断是否需要显示目标用户
|
|
644
649
|
const needShowTargetUser = (approver) => {
|
|
645
|
-
if (!approver.operation || !approver.
|
|
650
|
+
if (!approver.operation || !approver.targetUsers) return false
|
|
646
651
|
|
|
647
|
-
|
|
648
|
-
|
|
652
|
+
return true;
|
|
653
|
+
// const operationType = approver.operation.operationType
|
|
654
|
+
// return ['TRANSFER', 'ADD_SIGN', 'RETURN'].includes(operationType)
|
|
649
655
|
}
|
|
650
656
|
|
|
651
657
|
// 获取目标用户标签
|
|
@@ -666,8 +672,8 @@ const getTargetUserLabel = (approver) => {
|
|
|
666
672
|
}
|
|
667
673
|
|
|
668
674
|
// 获取目标用户信息
|
|
669
|
-
const getTargetUserInfo = (
|
|
670
|
-
const targetUser = approver.targetUser
|
|
675
|
+
const getTargetUserInfo = (targetUser) => {
|
|
676
|
+
// const targetUser = approver.targetUser
|
|
671
677
|
return {
|
|
672
678
|
userId: targetUser.userId,
|
|
673
679
|
name: targetUser.userName,
|
|
@@ -1,26 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<t-tree
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
:actived="activedModel"
|
|
9
|
-
:transition="transition"
|
|
10
|
-
:disable-check="disableCheck"
|
|
11
|
-
:keys="keys"
|
|
12
|
-
@change="handleChange"
|
|
13
|
-
@expand="handleExpand"
|
|
14
|
-
@active="handleActive"
|
|
15
|
-
@select="$emit('select', $event)"
|
|
16
|
-
@drag-start="$emit('drag-start', $event)"
|
|
17
|
-
@drag-end="$emit('drag-end', $event)"
|
|
18
|
-
@drag-over="$emit('drag-over', $event)"
|
|
19
|
-
@drag-leave="$emit('drag-leave', $event)"
|
|
20
|
-
@drag-drop="$emit('drag-drop', $event)"
|
|
21
|
-
@click="$emit('click', $event)"
|
|
22
|
-
@load="$emit('load', $event)"
|
|
23
|
-
>
|
|
2
|
+
<t-tree ref="treeRef" v-bind="$attrs" :data="data" :value="modelValue" :actived="activedModel"
|
|
3
|
+
:transition="transition" :disable-check="disableCheck" checkStrictly :keys="keys" @change="handleChange"
|
|
4
|
+
@expand="handleExpand" @active="handleActive" @select="$emit('select', $event)"
|
|
5
|
+
@drag-start="$emit('drag-start', $event)" @drag-end="$emit('drag-end', $event)"
|
|
6
|
+
@drag-over="$emit('drag-over', $event)" @drag-leave="$emit('drag-leave', $event)"
|
|
7
|
+
@drag-drop="$emit('drag-drop', $event)" @click="$emit('click', $event)" @load="$emit('load', $event)">
|
|
24
8
|
<template v-if="$slots.default" #default="slotProps">
|
|
25
9
|
<slot :node="slotProps.node"></slot>
|
|
26
10
|
</template>
|
|
@@ -44,7 +28,7 @@
|
|
|
44
28
|
|
|
45
29
|
<script setup>
|
|
46
30
|
import { Tree as TTree } from 'tdesign-vue-next';
|
|
47
|
-
import { computed
|
|
31
|
+
import { computed, ref } from 'vue';
|
|
48
32
|
|
|
49
33
|
// 定义组件属性
|
|
50
34
|
const props = defineProps({
|
|
@@ -53,6 +37,10 @@ const props = defineProps({
|
|
|
53
37
|
type: Array,
|
|
54
38
|
default: () => []
|
|
55
39
|
},
|
|
40
|
+
checkStrictly: {
|
|
41
|
+
type: Boolean,
|
|
42
|
+
default: false
|
|
43
|
+
},
|
|
56
44
|
// 展开节点
|
|
57
45
|
expanded: {
|
|
58
46
|
type: Array,
|
|
@@ -92,14 +80,14 @@ const props = defineProps({
|
|
|
92
80
|
const treeRef = ref();
|
|
93
81
|
// 定义组件事件
|
|
94
82
|
const emit = defineEmits([
|
|
95
|
-
'update:modelValue',
|
|
96
|
-
'update:expanded',
|
|
97
|
-
'update:actived',
|
|
98
|
-
'change',
|
|
99
|
-
'expand',
|
|
100
|
-
'active',
|
|
101
|
-
'select',
|
|
102
|
-
'click',
|
|
83
|
+
'update:modelValue',
|
|
84
|
+
'update:expanded',
|
|
85
|
+
'update:actived',
|
|
86
|
+
'change',
|
|
87
|
+
'expand',
|
|
88
|
+
'active',
|
|
89
|
+
'select',
|
|
90
|
+
'click',
|
|
103
91
|
'load',
|
|
104
92
|
'drag-start',
|
|
105
93
|
'drag-end',
|
|
@@ -125,6 +113,7 @@ const activedModel = computed({
|
|
|
125
113
|
|
|
126
114
|
// 值改变事件
|
|
127
115
|
const handleChange = (val, context) => {
|
|
116
|
+
console.log('handleChange', val, context);
|
|
128
117
|
emit('update:modelValue', val);
|
|
129
118
|
emit('change', val, context);
|
|
130
119
|
};
|
|
@@ -150,4 +139,4 @@ defineExpose({
|
|
|
150
139
|
.t-tree {
|
|
151
140
|
width: 100%;
|
|
152
141
|
}
|
|
153
|
-
</style>
|
|
142
|
+
</style>
|