workflow-editor 0.0.84-up → 0.0.86-up
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/lib/{401-b7e48e35.js → 401-407e546c.js} +1 -1
- package/lib/{404-5cc6c62f.js → 404-b12fe353.js} +1 -1
- package/lib/{iframe-page-b1c44766.js → iframe-page-ec0cb4b8.js} +1 -1
- package/lib/{index-d9654a7a.js → index-b621a74d.js} +3558 -3792
- package/lib/{tab-content-iframe-index-76ce0dc2.js → tab-content-iframe-index-a5e89336.js} +1 -1
- package/lib/{tab-content-index-dd617101.js → tab-content-index-19178806.js} +1 -1
- package/lib/{tache-subprocess-history-16a4e565.js → tache-subprocess-history-2c11f85e.js} +1 -1
- package/lib/workflow-editor.css +1 -1
- package/lib/workflow-editor.js +1 -1
- package/lib/workflow-editor.umd.cjs +28 -28
- package/package.json +2 -2
- package/packages/plugins/formValidatorUtil.js +38 -29
- package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields.vue +2 -2
- package/packages/workflow-editor/src/properties-editors/common/form-fields.vue +20 -23
- package/packages/workflow-editor/src/properties-editors/common/i18n-input.vue +6 -9
- package/packages/workflow-editor/src/properties-editors/common/notice-reminder.vue +37 -42
- package/packages/workflow-editor/src/properties-editors/common/reminder.vue +76 -41
- package/packages/workflow-editor/src/properties-editors/common/task-title.vue +40 -33
- package/packages/workflow-editor/src/properties-editors/copy-task.vue +7 -7
- package/packages/workflow-editor/src/properties-editors/decision.vue +18 -25
- package/packages/workflow-editor/src/properties-editors/human-task/basic-properties.vue +1 -1
- package/packages/workflow-editor/src/properties-editors/human-task/editable-fields.vue +1 -1
- package/packages/workflow-editor/src/properties-editors/human-task/permission-settings.vue +78 -71
- package/packages/workflow-editor/src/properties-editors/human-task.vue +2 -2
- package/packages/workflow-editor/src/properties-editors/process.vue +6 -3
- package/src/i18n/langs/cn.js +8 -3
- package/src/i18n/langs/en.js +7 -2
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "workflow-editor",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.86-up",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/workflow-editor.js",
|
|
7
7
|
"scripts": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@vitejs/plugin-vue": "^4.2.3",
|
|
19
|
-
"agilebuilder-ui": "1.1.
|
|
19
|
+
"agilebuilder-ui": "1.1.83",
|
|
20
20
|
"axios": "^1.5.1",
|
|
21
21
|
"element-plus": "^2.4.1",
|
|
22
22
|
"font-awesome": "^4.7.0",
|
|
@@ -676,38 +676,47 @@ function formValidator(
|
|
|
676
676
|
subTablePageInfo,
|
|
677
677
|
isNeedField
|
|
678
678
|
) {
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
validateRulesKeys.
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
679
|
+
// 兼容 workflowRules= { CODE:[{xxxxx}], rules:{},subRules:{}}格式的验证
|
|
680
|
+
let validateResult = validator(entity, validateRules, null, isSql, null, null, isNeedField)
|
|
681
|
+
if ((!isNeedField && validateResult === true) || (isNeedField && validateResult.msg === true)) {
|
|
682
|
+
// 先验证流程编辑器配置的字段必填验证
|
|
683
|
+
const validateRulesKeys = Object.keys(validateRules)
|
|
684
|
+
// 脚本控制的验证会走下面的验证代码
|
|
685
|
+
if (
|
|
686
|
+
validateRulesKeys.indexOf('rules') >= 0 &&
|
|
687
|
+
validateRulesKeys.indexOf('subRules') >= 0 &&
|
|
688
|
+
validateRulesKeys.indexOf('totalSubRules') >= 0
|
|
689
|
+
) {
|
|
690
|
+
// 表示是带有子表验证规则的
|
|
691
|
+
const rules = validateRules.rules
|
|
692
|
+
const subRules = validateRules.subRules
|
|
693
|
+
const totalSubRules = validateRules.totalSubRules
|
|
694
|
+
const dataTypeMap = validateRules.dataTypeMap
|
|
695
|
+
validateResult = validator(entity, rules, null, isSql, null, null, isNeedField)
|
|
696
|
+
if ((!isNeedField && validateResult === true) || (isNeedField && validateResult.msg === true)) {
|
|
697
|
+
if (subRules || totalSubRules) {
|
|
698
|
+
validateResult = validateSub(
|
|
699
|
+
entity,
|
|
700
|
+
subRules,
|
|
701
|
+
totalSubRules,
|
|
702
|
+
isSql,
|
|
703
|
+
dataTypeMap,
|
|
704
|
+
additionalParamMap,
|
|
705
|
+
taskParamMap,
|
|
706
|
+
contextParameter,
|
|
707
|
+
subTablePageInfo,
|
|
708
|
+
isNeedField
|
|
709
|
+
)
|
|
710
|
+
}
|
|
705
711
|
}
|
|
712
|
+
return validateResult
|
|
713
|
+
} else if(validateRulesKeys.indexOf('rules') >= 0) {
|
|
714
|
+
// 表示没有子表验证规则
|
|
715
|
+
const rules = validateRules.rules
|
|
716
|
+
return validator(entity, rules, null, isSql, null, null, isNeedField)
|
|
706
717
|
}
|
|
718
|
+
} else{
|
|
707
719
|
return validateResult
|
|
708
|
-
} else {
|
|
709
|
-
// 表示没有子表验证规则
|
|
710
|
-
return validator(entity, validateRules, null, isSql, null, null, isNeedField)
|
|
711
720
|
}
|
|
712
721
|
}
|
|
713
722
|
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
</el-table>
|
|
71
71
|
</el-card>
|
|
72
72
|
<el-card class="box-card" style="margin-top: 10px">
|
|
73
|
-
<template #header>
|
|
74
|
-
<el-form-item :label="'
|
|
73
|
+
<template #header> {{ $t('workflowEditorMessage.handlingOpinion') }} </template>
|
|
74
|
+
<el-form-item :label="$t('workflowEditorMessage.opinionSourceField')" label-width="100">
|
|
75
75
|
<el-input
|
|
76
76
|
:value="getFieldLabel(opinionAutoSetting.opinionSourceField)"
|
|
77
77
|
:placeholder="$t('workflowEditorMessage.pleaseSelect')"
|
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
class="properties-editor-noTab"
|
|
10
10
|
@close="$emit('close')"
|
|
11
11
|
>
|
|
12
|
-
<div style="padding-bottom:10px">
|
|
13
|
-
<span style="float:left;width:70%">
|
|
12
|
+
<div style="padding-bottom: 10px">
|
|
13
|
+
<span style="float: left; width: 70%">
|
|
14
14
|
<el-input v-model="searchFormCode" :placeholder="$t('workflowEditorMessage.pleaseEnterTheNameOrCode')" />
|
|
15
15
|
</span>
|
|
16
16
|
<span>
|
|
17
|
-
<el-button style="margin-left:10px" type="primary" @click="searchForm">
|
|
17
|
+
<el-button style="margin-left: 10px" type="primary" @click="searchForm">
|
|
18
18
|
{{ $t('workflowEditorPublicModel.search') }}
|
|
19
19
|
</el-button>
|
|
20
20
|
</span>
|
|
@@ -62,9 +62,7 @@ export default {
|
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
64
|
computed: {
|
|
65
|
-
...mapGetters('wfEditor', [
|
|
66
|
-
'formFields'
|
|
67
|
-
]),
|
|
65
|
+
...mapGetters('wfEditor', ['formFields']),
|
|
68
66
|
allFields() {
|
|
69
67
|
// 显示传递进来的字段或者取vuex中缓存的表单字段
|
|
70
68
|
if (this.fields) {
|
|
@@ -84,7 +82,7 @@ export default {
|
|
|
84
82
|
},
|
|
85
83
|
searchForm() {
|
|
86
84
|
if (this.searchFormCode && this.searchFormCode !== '') {
|
|
87
|
-
this.showFields = this.copyAllFields.filter(item => {
|
|
85
|
+
this.showFields = this.copyAllFields.filter((item) => {
|
|
88
86
|
return item.name.indexOf(this.searchFormCode) > -1 || item.label.indexOf(this.searchFormCode) > -1
|
|
89
87
|
})
|
|
90
88
|
} else {
|
|
@@ -96,22 +94,21 @@ export default {
|
|
|
96
94
|
</script>
|
|
97
95
|
|
|
98
96
|
<style lang="scss" scoped>
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
.item {
|
|
105
|
-
float: left;
|
|
106
|
-
list-style-type:none;
|
|
107
|
-
width: 33.33%;
|
|
108
|
-
margin-bottom: 18px
|
|
109
|
-
}
|
|
97
|
+
.group {
|
|
98
|
+
font-size: 14px;
|
|
99
|
+
width: 100%;
|
|
100
|
+
}
|
|
110
101
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
102
|
+
.item {
|
|
103
|
+
float: left;
|
|
104
|
+
list-style-type: none;
|
|
105
|
+
width: 33.33%;
|
|
106
|
+
margin-bottom: 18px;
|
|
107
|
+
}
|
|
116
108
|
|
|
109
|
+
.item-content {
|
|
110
|
+
height: calc(100vh - 300px);
|
|
111
|
+
padding-left: 20px;
|
|
112
|
+
overflow: auto;
|
|
113
|
+
}
|
|
117
114
|
</style>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<span>
|
|
3
|
-
<div style="float: left;padding-right: 5px
|
|
3
|
+
<div style="float: left; padding-right: 5px">
|
|
4
4
|
<el-input v-model="zh">
|
|
5
5
|
<template #append>
|
|
6
6
|
<i class="fa fa-cog" @click="i18nSet"></i>
|
|
7
7
|
</template>
|
|
8
8
|
</el-input>
|
|
9
9
|
</div>
|
|
10
|
-
<i18n-set v-if="isShowI18n" :value="{values:{zh_CN: zh}, key: myI18nKey}" @close="closeI18nSet" />
|
|
10
|
+
<i18n-set v-if="isShowI18n" :value="{ values: { zh_CN: zh }, key: myI18nKey }" @close="closeI18nSet" />
|
|
11
11
|
</span>
|
|
12
12
|
</template>
|
|
13
13
|
<script>
|
|
@@ -44,24 +44,21 @@ export default {
|
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
computed: {
|
|
47
|
-
...mapGetters('wfEditor', [
|
|
48
|
-
'processCode',
|
|
49
|
-
'isHandleCreate'
|
|
50
|
-
])
|
|
47
|
+
...mapGetters('wfEditor', ['processCode', 'isHandleCreate'])
|
|
51
48
|
},
|
|
52
49
|
mounted() {
|
|
53
|
-
this.$watch('zh', function(newVal) {
|
|
50
|
+
this.$watch('zh', function (newVal) {
|
|
54
51
|
// this.$emit('input', newVal)
|
|
55
52
|
this.$emit('update:modelValue', newVal)
|
|
56
53
|
})
|
|
57
54
|
},
|
|
58
55
|
created() {
|
|
59
|
-
if(this.isHandleCreate && this.isHandleCreate==='true') {
|
|
56
|
+
if (this.isHandleCreate && this.isHandleCreate === 'true') {
|
|
60
57
|
this.isNewI18n = false
|
|
61
58
|
} else {
|
|
62
59
|
this.isNewI18n = true
|
|
63
60
|
}
|
|
64
|
-
if(this.isNewI18n){
|
|
61
|
+
if (this.isNewI18n) {
|
|
65
62
|
this.myI18nKey = this.modelValue
|
|
66
63
|
}
|
|
67
64
|
},
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
<template #header>
|
|
5
5
|
<div class="clearfix">
|
|
6
6
|
<span>{{ $t('workflowEditor.common.taskNotice') }}</span>
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
|
|
8
|
+
<el-tooltip>
|
|
9
|
+
<template #content>
|
|
10
|
+
<ul>
|
|
11
|
+
<li>{{ $t('workflowEditor.task.reminderTipTemplateMsg') }}</li>
|
|
12
|
+
<li class="sub-li">{{ $t('workflowEditor.task.reminderTipTemplateNotice') }}</li>
|
|
13
|
+
<li class="sub-li">{{ $t('workflowEditor.task.reminderTipTemplateEmail') }}</li>
|
|
14
|
+
</ul>
|
|
15
|
+
</template>
|
|
16
|
+
<el-icon><Warning /></el-icon>
|
|
17
|
+
</el-tooltip>
|
|
18
18
|
</div>
|
|
19
19
|
</template>
|
|
20
20
|
<el-form :model="noticeObj" label-width="80px">
|
|
@@ -24,17 +24,19 @@
|
|
|
24
24
|
:custom-msg="noticeObj.customMsg"
|
|
25
25
|
@input-msg="setCustomMsg"
|
|
26
26
|
/>
|
|
27
|
-
<el-form-item
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
<el-form-item
|
|
28
|
+
v-if="noticeObj.informType && noticeObj.informType.length > 0"
|
|
29
|
+
label-width="100"
|
|
30
|
+
:label="$t('workflowEditor.task.selectNoticeTemplate')"
|
|
31
|
+
>
|
|
32
|
+
<select-mail-templates v-model="noticeObj.mailTemplateCode" @set-value="setNoticeCommonTemplateCode" />
|
|
32
33
|
</el-form-item>
|
|
33
|
-
<el-form-item
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
<el-form-item
|
|
35
|
+
v-if="noticeObj.informType && noticeObj.informType.length > 0 && noticeObj.informType.indexOf('mail') >= 0"
|
|
36
|
+
label-width="100"
|
|
37
|
+
:label="$t('workflowEditor.task.selectMailTemplate')"
|
|
38
|
+
>
|
|
39
|
+
<select-mail-templates v-model="noticeObj.mailPointTemplateCode" @set-value="setMailTemplateCode" />
|
|
38
40
|
</el-form-item>
|
|
39
41
|
</el-form>
|
|
40
42
|
</el-card>
|
|
@@ -43,21 +45,21 @@
|
|
|
43
45
|
<div class="clearfix">
|
|
44
46
|
<span>{{ $t('workflowEditor.common.reminderNotice') }}</span>
|
|
45
47
|
<el-tooltip>
|
|
46
|
-
|
|
48
|
+
<template #content>
|
|
47
49
|
<ul>
|
|
48
|
-
<li>{{$t('workflowEditor.task.reminderTipTemplateMsg')}}</li>
|
|
49
|
-
<li class="sub-li">{{$t('workflowEditor.task.reminderTipTemplateNotice')}}</li>
|
|
50
|
-
<li class="sub-li">{{$t('workflowEditor.task.reminderTipTemplateEmail')}}</li>
|
|
51
|
-
<li>{{$t('workflowEditor.task.reminderTipRemindMsg')}}</li>
|
|
52
|
-
<li class="sub-li">{{$t('workflowEditor.task.reminderTipRemindImmediately')}}</li>
|
|
53
|
-
<li class="sub-li">{{$t('workflowEditor.task.reminderTipRemindHistory')}}</li>
|
|
50
|
+
<li>{{ $t('workflowEditor.task.reminderTipTemplateMsg') }}</li>
|
|
51
|
+
<li class="sub-li">{{ $t('workflowEditor.task.reminderTipTemplateNotice') }}</li>
|
|
52
|
+
<li class="sub-li">{{ $t('workflowEditor.task.reminderTipTemplateEmail') }}</li>
|
|
53
|
+
<li>{{ $t('workflowEditor.task.reminderTipRemindMsg') }}</li>
|
|
54
|
+
<li class="sub-li">{{ $t('workflowEditor.task.reminderTipRemindImmediately') }}</li>
|
|
55
|
+
<li class="sub-li">{{ $t('workflowEditor.task.reminderTipRemindHistory') }}</li>
|
|
54
56
|
</ul>
|
|
55
57
|
</template>
|
|
56
58
|
<el-icon><Warning /></el-icon>
|
|
57
59
|
</el-tooltip>
|
|
58
60
|
</div>
|
|
59
61
|
</template>
|
|
60
|
-
<reminder v-model:modelValue="reminderObj" :isProcess="isProcess"/>
|
|
62
|
+
<reminder v-model:modelValue="reminderObj" :isProcess="isProcess" />
|
|
61
63
|
</el-card>
|
|
62
64
|
</div>
|
|
63
65
|
</template>
|
|
@@ -83,26 +85,18 @@ export default {
|
|
|
83
85
|
default: null
|
|
84
86
|
},
|
|
85
87
|
// 是否是流程的催办设置。流程催办不需要转办配置。
|
|
86
|
-
isProcess:{
|
|
88
|
+
isProcess: {
|
|
87
89
|
type: Boolean,
|
|
88
90
|
default: false
|
|
89
91
|
}
|
|
90
92
|
},
|
|
91
93
|
data() {
|
|
92
94
|
let reminderObj = null
|
|
93
|
-
if (
|
|
94
|
-
this.reminderValue !== null &&
|
|
95
|
-
this.reminderValue !== undefined &&
|
|
96
|
-
this.reminderValue !== ''
|
|
97
|
-
) {
|
|
95
|
+
if (this.reminderValue !== null && this.reminderValue !== undefined && this.reminderValue !== '') {
|
|
98
96
|
reminderObj = this.reminderValue
|
|
99
97
|
}
|
|
100
98
|
let noticeObj = {}
|
|
101
|
-
if (
|
|
102
|
-
this.taskNoticeValue !== null &&
|
|
103
|
-
this.taskNoticeValue !== undefined &&
|
|
104
|
-
this.taskNoticeValue !== ''
|
|
105
|
-
) {
|
|
99
|
+
if (this.taskNoticeValue !== null && this.taskNoticeValue !== undefined && this.taskNoticeValue !== '') {
|
|
106
100
|
noticeObj = this.taskNoticeValue
|
|
107
101
|
}
|
|
108
102
|
return {
|
|
@@ -144,6 +138,7 @@ ul {
|
|
|
144
138
|
ul li {
|
|
145
139
|
list-style: none;
|
|
146
140
|
}
|
|
147
|
-
.sub-li{
|
|
141
|
+
.sub-li {
|
|
148
142
|
padding-left: 10px;
|
|
149
|
-
}
|
|
143
|
+
}
|
|
144
|
+
</style>
|
|
@@ -13,49 +13,71 @@
|
|
|
13
13
|
/>
|
|
14
14
|
<el-form-item
|
|
15
15
|
label-width="100"
|
|
16
|
-
v-if="
|
|
17
|
-
model.remindType && model.remindType.length > 0
|
|
18
|
-
"
|
|
16
|
+
v-if="model.remindType && model.remindType.length > 0"
|
|
19
17
|
:label="$t('workflowEditor.task.selectNoticeTemplate')"
|
|
20
18
|
>
|
|
21
|
-
<select-mail-templates
|
|
22
|
-
v-model="model.mailTemplateCode"
|
|
23
|
-
@set-value="setMailTemplateCode"
|
|
24
|
-
/>
|
|
19
|
+
<select-mail-templates v-model="model.mailTemplateCode" @set-value="setMailTemplateCode" />
|
|
25
20
|
</el-form-item>
|
|
26
21
|
<el-form-item
|
|
27
22
|
label-width="100"
|
|
28
|
-
v-if="
|
|
29
|
-
model.remindType && model.remindType.length > 0 && model.remindType.indexOf('mail') !== -1
|
|
30
|
-
"
|
|
23
|
+
v-if="model.remindType && model.remindType.length > 0 && model.remindType.indexOf('mail') !== -1"
|
|
31
24
|
:label="$t('workflowEditor.task.selectMailTemplate')"
|
|
32
25
|
>
|
|
33
|
-
<select-mail-templates
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
<select-mail-templates v-model="model.mailPointTemplateCode" @set-value="setMailPointTemplateCode" />
|
|
27
|
+
</el-form-item>
|
|
28
|
+
<el-form-item :label="$t('workflowEditor.task.timeLimitForHandling')">
|
|
29
|
+
<el-radio-group
|
|
30
|
+
v-model="model.timeLimitType"
|
|
31
|
+
aria-label="size control"
|
|
32
|
+
size="small"
|
|
33
|
+
@click="clearDueDateSourceField"
|
|
34
|
+
>
|
|
35
|
+
<el-radio-button value="DEFAULT">{{ $t('workflowEditor.task.timeLimitTypeDefault') }}</el-radio-button>
|
|
36
|
+
<el-radio-button value="FORM_FIELD">{{ $t('workflowEditor.task.timeLimitTypeFormField') }}</el-radio-button>
|
|
37
|
+
<el-radio-button value="CUSTOM">{{ $t('workflowEditor.task.timeLimitTypeCustom') }}</el-radio-button>
|
|
38
|
+
</el-radio-group>
|
|
37
39
|
</el-form-item>
|
|
38
|
-
<el-form-item
|
|
40
|
+
<el-form-item>
|
|
41
|
+
<template v-if="!model.timeLimitType || model.timeLimitType === 'DEFAULT'">
|
|
42
|
+
<el-input-number
|
|
43
|
+
v-model="model.dueDate"
|
|
44
|
+
controls-position="right"
|
|
45
|
+
:min="1"
|
|
46
|
+
:max="30"
|
|
47
|
+
style="width: 90px"
|
|
48
|
+
size="small"
|
|
49
|
+
/>
|
|
50
|
+
<el-select v-model="model.dueTimeUnit" style="width: 70px" size="small">
|
|
51
|
+
<el-option :label="$t('workflowEditor.task.day')" value="day" />
|
|
52
|
+
<el-option :label="$t('workflowEditor.task.hour')" value="hour" />
|
|
53
|
+
</el-select>
|
|
54
|
+
</template>
|
|
55
|
+
<template v-else-if="model.timeLimitType === 'FORM_FIELD'">
|
|
56
|
+
<el-input
|
|
57
|
+
:value="getFieldLabel(model.dueDateSourceField)"
|
|
58
|
+
:placeholder="$t('workflowEditorMessage.pleaseSelect')"
|
|
59
|
+
readonly
|
|
60
|
+
style="width: 200px"
|
|
61
|
+
:clearable="true"
|
|
62
|
+
size="small"
|
|
63
|
+
@click="selectDueDateSourceField"
|
|
64
|
+
>
|
|
65
|
+
<template #append>
|
|
66
|
+
<el-button icon="Delete" @click="clearDueDateSourceField" />
|
|
67
|
+
</template>
|
|
68
|
+
</el-input>
|
|
69
|
+
<form-fields v-if="showFormFields" @close="setField" />
|
|
70
|
+
</template>
|
|
71
|
+
<span>{{ $t('workflowEditor.task.urgingInterval') }}</span>
|
|
39
72
|
<el-input-number
|
|
40
|
-
v-model="model.dueDate"
|
|
41
|
-
controls-position="right"
|
|
42
|
-
:min="1"
|
|
43
|
-
:max="30"
|
|
44
|
-
style="width: 90px"
|
|
45
|
-
/>
|
|
46
|
-
<el-select v-model="model.dueTimeUnit" style="width: 70px">
|
|
47
|
-
<el-option :label="$t('workflowEditor.task.day')" value="day" />
|
|
48
|
-
<el-option :label="$t('workflowEditor.task.hour')" value="hour" />
|
|
49
|
-
</el-select>
|
|
50
|
-
<span>{{ $t('workflowEditor.task.urgingInterval') }}</span
|
|
51
|
-
><el-input-number
|
|
52
73
|
v-model="model.repeat"
|
|
53
74
|
controls-position="right"
|
|
54
75
|
:min="1"
|
|
55
76
|
:max="30"
|
|
56
77
|
style="width: 90px"
|
|
78
|
+
size="small"
|
|
57
79
|
/>
|
|
58
|
-
<el-select v-model="model.timeUnit" style="width: 70px">
|
|
80
|
+
<el-select v-model="model.timeUnit" style="width: 70px" size="small">
|
|
59
81
|
<el-option :label="$t('workflowEditor.task.day')" value="day" />
|
|
60
82
|
<el-option :label="$t('workflowEditor.task.hour')" value="hour" />
|
|
61
83
|
</el-select>
|
|
@@ -84,11 +106,7 @@
|
|
|
84
106
|
:custom-msg="model.noticeCustomMsg"
|
|
85
107
|
@input-msg="setNoticeCustomMsg"
|
|
86
108
|
/>
|
|
87
|
-
<el-form-item
|
|
88
|
-
v-if="!isProcess"
|
|
89
|
-
:label="$t('workflowEditor.common.notifyPersonnel')"
|
|
90
|
-
style="margin-bottom: 5px"
|
|
91
|
-
>
|
|
109
|
+
<el-form-item v-if="!isProcess" :label="$t('workflowEditor.common.notifyPersonnel')" style="margin-bottom: 5px">
|
|
92
110
|
<el-checkbox v-model="model.containTransferUser">
|
|
93
111
|
{{ $t('workflowEditor.task.includingHandoverPersonnel') }}
|
|
94
112
|
</el-checkbox>
|
|
@@ -96,11 +114,7 @@
|
|
|
96
114
|
<el-form-item label-width="0">
|
|
97
115
|
<common-user-condition v-model="model.noticeUserCondition" />
|
|
98
116
|
</el-form-item>
|
|
99
|
-
<el-form-item
|
|
100
|
-
v-if="!isProcess"
|
|
101
|
-
:label="$t('workflowEditor.task.handoverPersonnel')"
|
|
102
|
-
style="margin-bottom: 5px"
|
|
103
|
-
>
|
|
117
|
+
<el-form-item v-if="!isProcess" :label="$t('workflowEditor.task.handoverPersonnel')" style="margin-bottom: 5px">
|
|
104
118
|
<el-checkbox v-model="model.containNoticeUser">
|
|
105
119
|
{{ $t('workflowEditor.task.includeNotifyPeople') }}
|
|
106
120
|
</el-checkbox>
|
|
@@ -116,13 +130,16 @@
|
|
|
116
130
|
import CommonNoticeTool from './common-notice-tool'
|
|
117
131
|
import CommonUserCondition from './common-user-condition'
|
|
118
132
|
import SelectMailTemplates from '../common/select-mail-template.vue'
|
|
133
|
+
import FormFields from '../common/form-fields.vue'
|
|
134
|
+
import { getFormFieldLabel } from '../common/form-fields-utils'
|
|
119
135
|
import * as Vue from 'vue'
|
|
120
136
|
export default {
|
|
121
137
|
name: 'Reminder',
|
|
122
138
|
components: {
|
|
123
139
|
CommonNoticeTool,
|
|
124
140
|
CommonUserCondition,
|
|
125
|
-
SelectMailTemplates
|
|
141
|
+
SelectMailTemplates,
|
|
142
|
+
FormFields
|
|
126
143
|
},
|
|
127
144
|
props: {
|
|
128
145
|
modelValue: {
|
|
@@ -130,7 +147,7 @@ export default {
|
|
|
130
147
|
default: null
|
|
131
148
|
},
|
|
132
149
|
// 是否是流程的催办设置。流程催办不需要转办配置。
|
|
133
|
-
isProcess:{
|
|
150
|
+
isProcess: {
|
|
134
151
|
type: Boolean,
|
|
135
152
|
default: false
|
|
136
153
|
}
|
|
@@ -171,7 +188,8 @@ export default {
|
|
|
171
188
|
multiSelectData: [],
|
|
172
189
|
options: {
|
|
173
190
|
showColumns: 'code,name'
|
|
174
|
-
}
|
|
191
|
+
},
|
|
192
|
+
showFormFields: false
|
|
175
193
|
}
|
|
176
194
|
},
|
|
177
195
|
watch: {
|
|
@@ -184,6 +202,10 @@ export default {
|
|
|
184
202
|
this.$emit('update:modelValue', null)
|
|
185
203
|
}
|
|
186
204
|
},
|
|
205
|
+
setField(name) {
|
|
206
|
+
this.model.dueDateSourceField = name
|
|
207
|
+
this.isSelectOpinionField = false
|
|
208
|
+
},
|
|
187
209
|
showNotice(val) {
|
|
188
210
|
if (val) {
|
|
189
211
|
// this.$emit('input', this.model)
|
|
@@ -261,6 +283,19 @@ export default {
|
|
|
261
283
|
},
|
|
262
284
|
setNoticeCustomMsg(msg) {
|
|
263
285
|
this.model.noticeCustomMsg = msg
|
|
286
|
+
},
|
|
287
|
+
selectDueDateSourceField() {
|
|
288
|
+
this.showFormFields = true
|
|
289
|
+
},
|
|
290
|
+
getFieldLabel(name) {
|
|
291
|
+
return getFormFieldLabel(name)
|
|
292
|
+
},
|
|
293
|
+
clearDueDateSourceField() {
|
|
294
|
+
delete this.model.dueDateSourceField
|
|
295
|
+
},
|
|
296
|
+
setField(name) {
|
|
297
|
+
this.model.dueDateSourceField = name
|
|
298
|
+
this.showFormFields = false
|
|
264
299
|
}
|
|
265
300
|
}
|
|
266
301
|
}
|