workflow-editor 0.9.67-dw → 0.9.67

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.
Files changed (114) hide show
  1. package/lib/workflow-editor.css +1 -1
  2. package/lib/workflow-editor.umd.min.js +10 -10
  3. package/package.json +2 -2
  4. package/packages/index.js +34 -0
  5. package/packages/plugins/formValidatorUtil.js +528 -0
  6. package/packages/plugins/index.js +8 -0
  7. package/packages/workflow-editor/index.js +14 -0
  8. package/packages/workflow-editor/src/api.js +7 -0
  9. package/packages/workflow-editor/src/assets/wf-editor-icons.js +2 -0
  10. package/packages/workflow-editor/src/constant.js +8 -0
  11. package/packages/workflow-editor/src/json-object-templates/copy-task.js +67 -0
  12. package/packages/workflow-editor/src/json-object-templates/decision.js +11 -0
  13. package/packages/workflow-editor/src/json-object-templates/end.js +14 -0
  14. package/packages/workflow-editor/src/json-object-templates/fork.js +10 -0
  15. package/packages/workflow-editor/src/json-object-templates/human-decision.js +9 -0
  16. package/packages/workflow-editor/src/json-object-templates/human-task.js +199 -0
  17. package/packages/workflow-editor/src/json-object-templates/join.js +10 -0
  18. package/packages/workflow-editor/src/json-object-templates/process.js +98 -0
  19. package/packages/workflow-editor/src/json-object-templates/start.js +13 -0
  20. package/packages/workflow-editor/src/json-object-templates/subprocess.js +30 -0
  21. package/packages/workflow-editor/src/json-object-templates/transition.js +26 -0
  22. package/packages/workflow-editor/src/main/admin-save-dialog.vue +66 -0
  23. package/packages/workflow-editor/src/main/canvas.vue +479 -0
  24. package/packages/workflow-editor/src/main/context-menu.vue +132 -0
  25. package/packages/workflow-editor/src/main/icon-svg.vue +32 -0
  26. package/packages/workflow-editor/src/main/selection-region.vue +66 -0
  27. package/packages/workflow-editor/src/main/tache-history-tooltip.vue +38 -0
  28. package/packages/workflow-editor/src/main/tache-name-input.vue +19 -0
  29. package/packages/workflow-editor/src/main/tache-subprocess-history-dialog.vue +35 -0
  30. package/packages/workflow-editor/src/main/toolbox.vue +60 -0
  31. package/packages/workflow-editor/src/main/wf-history-canvas.vue +302 -0
  32. package/packages/workflow-editor/src/process-json.js +622 -0
  33. package/packages/workflow-editor/src/process-service.js +31 -0
  34. package/packages/workflow-editor/src/properties-editors/common/additional-condition-utils.js +531 -0
  35. package/packages/workflow-editor/src/properties-editors/common/additional-condition.vue +276 -0
  36. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields-utils.js +34 -0
  37. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields.vue +239 -0
  38. package/packages/workflow-editor/src/properties-editors/common/common-notice-tool.vue +47 -0
  39. package/packages/workflow-editor/src/properties-editors/common/common-user-condition.vue +241 -0
  40. package/packages/workflow-editor/src/properties-editors/common/form-fields-utils.js +23 -0
  41. package/packages/workflow-editor/src/properties-editors/common/form-fields.vue +116 -0
  42. package/packages/workflow-editor/src/properties-editors/common/i18n-input.vue +75 -0
  43. package/packages/workflow-editor/src/properties-editors/common/i18n-set-dialog.vue +125 -0
  44. package/packages/workflow-editor/src/properties-editors/common/notice.vue +98 -0
  45. package/packages/workflow-editor/src/properties-editors/common/reminder.vue +179 -0
  46. package/packages/workflow-editor/src/properties-editors/common/select-mail-template.vue +83 -0
  47. package/packages/workflow-editor/src/properties-editors/common/standard-fields.vue +65 -0
  48. package/packages/workflow-editor/src/properties-editors/common/system-role-tree-inline.vue +355 -0
  49. package/packages/workflow-editor/src/properties-editors/common/system-role-tree.vue +63 -0
  50. package/packages/workflow-editor/src/properties-editors/common/task-title.vue +148 -0
  51. package/packages/workflow-editor/src/properties-editors/common/transactor-settings.vue +233 -0
  52. package/packages/workflow-editor/src/properties-editors/common/user-selection.vue +386 -0
  53. package/packages/workflow-editor/src/properties-editors/common/value-selection-dialog.vue +209 -0
  54. package/packages/workflow-editor/src/properties-editors/common/variables.vue +135 -0
  55. package/packages/workflow-editor/src/properties-editors/copy-task/basic-properties.vue +90 -0
  56. package/packages/workflow-editor/src/properties-editors/copy-task/permission-settings.vue +155 -0
  57. package/packages/workflow-editor/src/properties-editors/copy-task.vue +80 -0
  58. package/packages/workflow-editor/src/properties-editors/decision.vue +90 -0
  59. package/packages/workflow-editor/src/properties-editors/fork.vue +72 -0
  60. package/packages/workflow-editor/src/properties-editors/human-decision.vue +44 -0
  61. package/packages/workflow-editor/src/properties-editors/human-task/additional-condition-dialog.vue +60 -0
  62. package/packages/workflow-editor/src/properties-editors/human-task/basic-properties.vue +156 -0
  63. package/packages/workflow-editor/src/properties-editors/human-task/componentsConfigUtil.js +291 -0
  64. package/packages/workflow-editor/src/properties-editors/human-task/custom-actions.vue +249 -0
  65. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-field-setting.vue +392 -0
  66. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-fields.vue +241 -0
  67. package/packages/workflow-editor/src/properties-editors/human-task/editable-field-selection.vue +220 -0
  68. package/packages/workflow-editor/src/properties-editors/human-task/editable-fields.vue +204 -0
  69. package/packages/workflow-editor/src/properties-editors/human-task/events.vue +59 -0
  70. package/packages/workflow-editor/src/properties-editors/human-task/permission-settings.vue +207 -0
  71. package/packages/workflow-editor/src/properties-editors/human-task/selection-conditions.vue +390 -0
  72. package/packages/workflow-editor/src/properties-editors/human-task.vue +103 -0
  73. package/packages/workflow-editor/src/properties-editors/join.vue +44 -0
  74. package/packages/workflow-editor/src/properties-editors/process/basic-properties.vue +273 -0
  75. package/packages/workflow-editor/src/properties-editors/process/events.vue +76 -0
  76. package/packages/workflow-editor/src/properties-editors/process/notice-settings.vue +60 -0
  77. package/packages/workflow-editor/src/properties-editors/process/parameter-settings.vue +95 -0
  78. package/packages/workflow-editor/src/properties-editors/process/permission-settings.vue +28 -0
  79. package/packages/workflow-editor/src/properties-editors/process/selectPage.vue +81 -0
  80. package/packages/workflow-editor/src/properties-editors/process.vue +109 -0
  81. package/packages/workflow-editor/src/properties-editors/subprocess/basic-properties.vue +187 -0
  82. package/packages/workflow-editor/src/properties-editors/subprocess/events.vue +26 -0
  83. package/packages/workflow-editor/src/properties-editors/subprocess/field-mappings.vue +206 -0
  84. package/packages/workflow-editor/src/properties-editors/subprocess/transactor-settings.vue +64 -0
  85. package/packages/workflow-editor/src/properties-editors/subprocess.vue +79 -0
  86. package/packages/workflow-editor/src/properties-editors/transition/basic-properties.vue +53 -0
  87. package/packages/workflow-editor/src/properties-editors/transition.vue +74 -0
  88. package/packages/workflow-editor/src/properties-editors/user-condition.js +177 -0
  89. package/packages/workflow-editor/src/store/getters.js +27 -0
  90. package/packages/workflow-editor/src/store/workflow-editor.js +125 -0
  91. package/packages/workflow-editor/src/taches/common-methods.js +21 -0
  92. package/packages/workflow-editor/src/taches/copy-task.vue +99 -0
  93. package/packages/workflow-editor/src/taches/custom-task.vue +88 -0
  94. package/packages/workflow-editor/src/taches/decision.vue +102 -0
  95. package/packages/workflow-editor/src/taches/end.vue +76 -0
  96. package/packages/workflow-editor/src/taches/fork.vue +102 -0
  97. package/packages/workflow-editor/src/taches/human-decision.vue +102 -0
  98. package/packages/workflow-editor/src/taches/human-task.vue +113 -0
  99. package/packages/workflow-editor/src/taches/join.vue +91 -0
  100. package/packages/workflow-editor/src/taches/joint.vue +177 -0
  101. package/packages/workflow-editor/src/taches/start.vue +76 -0
  102. package/packages/workflow-editor/src/taches/subprocess.vue +99 -0
  103. package/packages/workflow-editor/src/taches/tache-resizer.vue +80 -0
  104. package/packages/workflow-editor/src/transitions/broken-line.vue +91 -0
  105. package/packages/workflow-editor/src/transitions/curve-line.vue +91 -0
  106. package/packages/workflow-editor/src/transitions/straight-line.vue +26 -0
  107. package/packages/workflow-editor/src/transitions/transition.vue +212 -0
  108. package/packages/workflow-editor/src/transitions/virtual-transition.vue +43 -0
  109. package/packages/workflow-editor/src/util.js +493 -0
  110. package/packages/workflow-editor/src/workflow-editor.vue +605 -0
  111. package/packages/workflow-editor/src/workflow-history.vue +153 -0
  112. package/src/i18n/i18n.js +1 -1
  113. package/src/i18n/langs/cn.js +6 -1
  114. package/src/i18n/langs/en.js +6 -1
@@ -0,0 +1,103 @@
1
+ <template>
2
+ <el-dialog
3
+ visible
4
+ top="10vh"
5
+ :title="$t('workflowEditor.task.linkAttribute')"
6
+ :center="true"
7
+ append-to-body
8
+ custom-class="properties-editor"
9
+ @open="$emit('open')"
10
+ @opend="$emit('opend')"
11
+ @close="$emit('close')"
12
+ @closed="$emit('closed')"
13
+ >
14
+ <el-tabs v-model="activeTab" type="border-card" @tab-click="handleClick">
15
+ <el-tab-pane :label="$t('workflowEditor.task.basicProperties')" name="basicProperties">
16
+ <basic-properties
17
+ :id.sync="model.ref.attr.id"
18
+ :name.sync="model.ref.attr.name"
19
+ :model="model.ref.basicProperties"
20
+ />
21
+ </el-tab-pane>
22
+ <el-tab-pane :label="$t('workflowEditor.task.settingOfHandler')" name="transactors">
23
+ <transactor-settings :model="model.ref.transactorSettings" />
24
+ </el-tab-pane>
25
+ <el-tab-pane :label="$t('workflowEditor.task.permissionSettings')" name="permissions">
26
+ <permission-settings v-model="model.ref.permissionSettings" />
27
+ </el-tab-pane>
28
+ <el-tab-pane :label="$t('workflowEditor.task.autoFillInFieldSettings')" name="autoFilledFields">
29
+ <auto-filled-fields v-model="model.ref.autoFilledFields" />
30
+ </el-tab-pane>
31
+ <el-tab-pane :label="$t('workflowEditor.task.reminderSettings')" name="reminders">
32
+ <reminder v-model="model.ref.reminder" />
33
+ </el-tab-pane>
34
+ <el-tab-pane :label="$t('workflowEditor.task.eventProcessing')" name="events">
35
+ <events v-model="model.ref.events" />
36
+ </el-tab-pane>
37
+ <el-tab-pane :label="$t('workflowEditor.task.linkVariable')" name="variables">
38
+ <variables v-model="model.ref.variables" />
39
+ </el-tab-pane>
40
+ </el-tabs>
41
+ </el-dialog>
42
+ </template>
43
+
44
+ <script>
45
+ import BasicProperties from './human-task/basic-properties'
46
+ import PermissionSettings from './human-task/permission-settings'
47
+ import TransactorSettings from './common/transactor-settings'
48
+ import AutoFilledFields from './common/auto-filled-fields'
49
+ import Reminder from './common/reminder'
50
+ import Variables from './common/variables'
51
+ import Events from './human-task/events'
52
+ export default {
53
+ name: 'HumanTaskPropertiesEditor',
54
+ components: {
55
+ BasicProperties,
56
+ TransactorSettings,
57
+ PermissionSettings,
58
+ AutoFilledFields,
59
+ Reminder,
60
+ Events,
61
+ Variables
62
+
63
+ },
64
+ props: {
65
+ model: {
66
+ type: Object,
67
+ default: null
68
+ }
69
+ },
70
+ data() {
71
+ console.log(this.model)
72
+ return {
73
+ activeTab: 'basicProperties'
74
+ }
75
+ },
76
+ computed: {
77
+ formModel() {
78
+ return this.model.ref
79
+ }
80
+ },
81
+ mounted() {
82
+ this.$watch('model.ref.attr.id', function(newVal, oldVal) {
83
+ this.model.id = newVal
84
+ })
85
+ this.$watch('model.ref.attr.name', function(newVal, oldVal) {
86
+ this.model.name = newVal
87
+ })
88
+ },
89
+ methods: {
90
+ handleClick(tab, event) {
91
+ // console.log(tab, event)
92
+ }
93
+ }
94
+ }
95
+ </script>
96
+
97
+ <style scoped>
98
+ /* 使用深度作用选择器(vue-loader的功能)">>>"符号重新定义了.el-dialog__body,不影响其他页面的同名样式*/
99
+ .properties-editor >>> .el-dialog__body{
100
+ padding-top: 0
101
+ }
102
+ </style>
103
+
@@ -0,0 +1,44 @@
1
+ <template>
2
+ <el-dialog
3
+ visible
4
+ :title="$t('workflowEditor.task.convergedProperties')"
5
+ :center="true"
6
+ append-to-body
7
+ @open="$emit('open')"
8
+ @opend="$emit('opend')"
9
+ @close="$emit('close')"
10
+ @closed="$emit('closed')"
11
+ >
12
+ <el-form>
13
+ <el-form-item :label="$t('workflowEditor.task.name')" label-width="40px">
14
+ <el-input v-model="formModel.attr.name" />
15
+ </el-form-item>
16
+ </el-form>
17
+ </el-dialog>
18
+ </template>
19
+
20
+ <script>
21
+ export default {
22
+ name: 'ForkPropertiesEditor',
23
+ props: {
24
+ model: {
25
+ type: Object,
26
+ default: null
27
+ }
28
+ },
29
+ computed: {
30
+ formModel() {
31
+ return this.model.ref
32
+ }
33
+ },
34
+ mounted() {
35
+ this.$watch('model.ref.attr.name', function(newVal) {
36
+ this.model.name = newVal
37
+ })
38
+ }
39
+ }
40
+ </script>
41
+
42
+ <style lang="scss" scoped>
43
+
44
+ </style>
@@ -0,0 +1,273 @@
1
+ <template>
2
+ <el-form :model="formModel" label-width="100px">
3
+ <el-row>
4
+ <el-col :span="12">
5
+ <el-form-item :label="$t('workflowEditor.process.processName')" prop="name" :rules="[requiredRule]">
6
+ <!-- <el-input v-model.trim="formModel.name" /> -->
7
+ <i18n-input v-model.trim="formModel.name" :i18n-key="model.i18nKey?model.i18nKey:'processName'" @setI18n="setI18nValue" /> <!--:tache-code="'222333'"-->
8
+ </el-form-item>
9
+ </el-col>
10
+ <el-col :span="12">
11
+ <el-form-item :label="$t('workflowEditor.process.processCode')" prop="code" :rules="[requiredRule]">
12
+ <el-input v-model.trim="formModel.code" />
13
+ </el-form-item>
14
+ </el-col>
15
+ </el-row>
16
+ <el-row>
17
+ <el-col :span="12">
18
+ <el-form-item :label="$t('workflowEditor.process.processAdministrator')" :rules="[requiredRule]">
19
+ <el-input v-model="formModel.adminName" readonly suffix-icon="el-icon-search" @focus="selectAdmin" />
20
+ <department-user-tree v-if="isSelectAdmin" width="30%" :multiple="false" @close="addAdmin" />
21
+ </el-form-item>
22
+ </el-col>
23
+ <el-col :span="12">
24
+ <el-form-item :label="$t('workflowEditor.process.creater')">
25
+ <el-input v-model="model.creator" readonly />
26
+ </el-form-item>
27
+ </el-col>
28
+ </el-row>
29
+ <el-row>
30
+ <el-col :span="12">
31
+ <el-form-item :label="$t('workflowEditor.process.correspondingForm')" :rules="[requiredRule]">
32
+ <el-cascader
33
+ v-model="selectedForm"
34
+ :show-all-levels="false"
35
+ :options="allForms"
36
+ @change="handleChange"
37
+ />
38
+ </el-form-item>
39
+ </el-col>
40
+ <el-col :span="12">
41
+ <el-form-item :label="$t('workflowEditor.process.processType')">
42
+ <el-select v-model="model.processTypeCode" :placeholder="$t('workflowEditorMessage.pleaseSelect')">
43
+ <el-option
44
+ v-for="item in allProcessTypes"
45
+ :key="item.code"
46
+ :label="item.name"
47
+ :value="item.code"
48
+ />
49
+ </el-select>
50
+ </el-form-item>
51
+ </el-col>
52
+ </el-row>
53
+ <el-row>
54
+ <el-col :span="12">
55
+ <el-form-item :label="$t('workflowEditor.process.system')" prop="model.systemCode" :rules="[requiredRule]">
56
+ <el-select v-model="model.systemCode" :placeholder="$t('workflowEditorMessage.pleaseSelect')">
57
+ <el-option
58
+ v-for="item in allSystems"
59
+ :key="item.code"
60
+ :label="item.name"
61
+ :value="item.code"
62
+ />
63
+ </el-select>
64
+ </el-form-item>
65
+ </el-col>
66
+ <el-col :span="12">
67
+ <el-form-item :label="$t('workflowEditor.process.affiliatedBranch')">
68
+ <el-select v-model="model.branchCode" clearable :placeholder="$t('workflowEditorMessage.pleaseSelect')">
69
+ <el-option
70
+ v-for="item in allBranches"
71
+ :key="item.code"
72
+ :label="item.name"
73
+ :value="item.code"
74
+ />
75
+ </el-select>
76
+ </el-form-item>
77
+ </el-col>
78
+ </el-row>
79
+ <el-form-item :label="$t('workflowEditor.process.customCategory')">
80
+ <el-input v-model="model.customType" />
81
+ </el-form-item>
82
+ </el-form>
83
+ </template>
84
+ <script>
85
+ import { mapMutations } from 'vuex'
86
+ import processService from '../../process-service'
87
+ import { getI18n } from '../../../../workflow-editor/src/util'
88
+ import i18nInput from '../common/i18n-input'
89
+ import { getUsername } from 'imatrix-ui/src/utils/auth'
90
+ export default {
91
+ name: 'BasicProperties',
92
+ components: {
93
+ i18nInput
94
+ },
95
+ props: {
96
+ model: {
97
+ type: Object,
98
+ default: null
99
+ },
100
+ name: {
101
+ type: String,
102
+ default: null
103
+ },
104
+ code: {
105
+ type: String,
106
+ default: null
107
+ }
108
+ },
109
+ data() {
110
+ return {
111
+ formModel: {
112
+ name: this.name,
113
+ code: this.code,
114
+ model: this.model
115
+ },
116
+ allForms: [],
117
+ allProcessTypes: [],
118
+ allSystems: [],
119
+ allBranches: [],
120
+ nameError: null,
121
+ codeError: null,
122
+ systemError: null,
123
+ adminError: null,
124
+ formError: null,
125
+ requiredRule: {
126
+ required: true,
127
+ message: getI18n().t('workflowEditor.process.cannotBeEmpty'),
128
+ trigger: 'blur'
129
+ },
130
+ isSelectAdmin: false,
131
+ selectedForm: []
132
+ }
133
+ },
134
+ created() {
135
+ this.getAdminNameWhenUpdate()
136
+ this.listAllForms()
137
+ this.listAllProcessTypes()
138
+ this.listAllSystems()
139
+ this.listAllBranches()
140
+ // TODO 流程创建人先写死,现在的资源路径都是匿名的无法获得当前用户
141
+ // this.model.creator = 'admin'
142
+ if(!this.model.creator){
143
+ this.model.creator = getUsername()
144
+ }
145
+ this.setProcessCode(this.formModel.code)
146
+ this.setSystemCode(this.model.systemCode)
147
+ },
148
+ mounted() {
149
+ // 支持.snyc修饰符的写法
150
+ this.$watch('formModel.name', function(newVal, oldVal) {
151
+ this.$emit('update:name', newVal)
152
+ })
153
+ this.$watch('formModel.code', function(newVal, oldVal) {
154
+ this.$emit('update:code', newVal)
155
+ this.setProcessCode(newVal)
156
+ })
157
+ this.$watch('model.systemCode', function(newVal, oldVal) {
158
+ this.setSystemCode(newVal)
159
+ })
160
+ },
161
+ methods: {
162
+ ...mapMutations('wfEditor', [
163
+ 'setFormFields',
164
+ 'setSystemCode',
165
+ 'setProcessCode'
166
+ ]),
167
+ handleChange(values) {
168
+ // values格式为:['系统编码','系统编码/表单编码/表单版本']
169
+ console.log(values)
170
+ const formInfo = values[1]
171
+ this.model.formCode = formInfo.substring(formInfo.indexOf('/') + 1, formInfo.lastIndexOf('/'))
172
+ this.model.formVersion = formInfo.substring(formInfo.lastIndexOf('/') + 1)
173
+ // 表单改变时,重新获取表单字段并放到vuex中
174
+ processService.fetchFormFields(this.model.formCode, this.model.formVersion)
175
+ },
176
+ // 弹出人员树
177
+ selectAdmin() {
178
+ this.isSelectAdmin = true
179
+ },
180
+ addAdmin(selectNodeInfo) {
181
+ if (selectNodeInfo) {
182
+ selectNodeInfo.containBranch = true
183
+ let loginName = selectNodeInfo.loginName
184
+ const user = selectNodeInfo.user
185
+ if (selectNodeInfo.containBranch) {
186
+ if (user.subCompanyCode) {
187
+ loginName = selectNodeInfo.loginName + '~~' + user.subCompanyCode
188
+ } else {
189
+ loginName = selectNodeInfo.loginName + '~~' + user.tenantCode
190
+ }
191
+ }
192
+ this.model.admin = loginName
193
+ console.log(loginName)
194
+ this.formModel.adminName = selectNodeInfo.name
195
+ }
196
+ this.isSelectAdmin = false
197
+ },
198
+ // 获得对应表单列表
199
+ listAllForms() {
200
+ this.$http.get(this.baseAPI + '/wf-editor/workflow-editors/forms').then(systemAndForms => {
201
+ // 设置表单信息
202
+ const selectedFormInfo = this.model.formCode + '/' + this.model.formVersion
203
+ // 修改时,获得默认选中的表单项
204
+ this.setDefaultSelectedFormWhenUpdate(systemAndForms, selectedFormInfo)
205
+ this.allForms = systemAndForms
206
+ })
207
+ },
208
+ // 修改时,获得默认选中的表单项
209
+ setDefaultSelectedFormWhenUpdate(systemAndForms, selectFormInfo) {
210
+ let selectedForm
211
+ let selectedSystemCode
212
+ for (var i = 0; i < systemAndForms.length; i++) {
213
+ const systemCode = systemAndForms[i].value
214
+ const forms = systemAndForms[i].children
215
+ const selectedForms = forms.filter(this.filterForm(selectFormInfo))
216
+ if (selectedForms.length > 0) {
217
+ selectedSystemCode = systemCode
218
+ selectedForm = selectedForms[0]
219
+ break
220
+ }
221
+ }
222
+ if (selectedForm) {
223
+ const result = []
224
+ result.push(selectedSystemCode + '')
225
+ result.push(selectedSystemCode + '/' + selectFormInfo)
226
+ this.selectedForm = result
227
+ }
228
+ },
229
+ // 过滤表单
230
+ filterForm(selectFormInfo) {
231
+ return (form) => {
232
+ // systemAndformInfo格式为“systemCode/表单编号/表单版本”
233
+ const systemAndformInfo = form.value
234
+ // 获得“表单编号/表单版本”
235
+ const formInfo = systemAndformInfo.substring(systemAndformInfo.indexOf('/') + 1)
236
+ return (formInfo === selectFormInfo)
237
+ }
238
+ },
239
+ // 获得对应流程类型列表
240
+ listAllProcessTypes() {
241
+ this.$http.get(this.baseAPI + '/api/workflow-types/all').then(types => {
242
+ this.allProcessTypes = types
243
+ })
244
+ },
245
+ // 获得所有启用的系统列表
246
+ listAllSystems() {
247
+ this.$http.get(this.baseAPI + '/api/all-enabled-systems').then(systems => {
248
+ console.log(systems)
249
+ this.allSystems = systems
250
+ })
251
+ },
252
+ // 获得所有分支机构列表
253
+ listAllBranches() {
254
+ this.$http.get(this.baseAPI + '/api/branches/all').then(branches => {
255
+ this.allBranches = branches
256
+ })
257
+ },
258
+ // 修改流程属性时,根据流程管理员登录名信息获得流程管理员姓名信息
259
+ getAdminNameWhenUpdate() {
260
+ if (this.model.admin && this.model.admin !== '') {
261
+ this.$http.get(this.baseAPI + '/wf-editor/workflow-editors/admin-name-info?loginNameInfo=' + this.model.admin).then(adminName => {
262
+ console.log(adminName)
263
+ this.formModel.adminName = adminName
264
+ })
265
+ }
266
+ },
267
+ setI18nValue(i18nKey) {
268
+ this.model.i18nKey = i18nKey
269
+ }
270
+ }
271
+ }
272
+ </script>
273
+
@@ -0,0 +1,76 @@
1
+ <template>
2
+ <el-checkbox-group v-model="selectedEvents">
3
+ <el-row :gutter="12">
4
+ <el-col v-for="event in events" :key="event.name" :span="8" style="margin-bottom:12px">
5
+ <el-card shadow="always">
6
+ <el-checkbox :label="event.name">
7
+ {{ event.label }}
8
+ </el-checkbox>
9
+ </el-card>
10
+ </el-col>
11
+ </el-row>
12
+ </el-checkbox-group>
13
+ </template>
14
+ <script>
15
+ import { getI18n } from '../../../../workflow-editor/src/util'
16
+ export default {
17
+ name: 'Events',
18
+ props: {
19
+ value: {
20
+ type: Object,
21
+ default: null
22
+ }
23
+ },
24
+ data() {
25
+ const selectedEvents = []
26
+ const initSelectEvents = this.value.event
27
+ if (initSelectEvents !== undefined && initSelectEvents.length && initSelectEvents.length > 0) {
28
+ let initSelectEventArr = []
29
+ if (typeof initSelectEvents === 'string') {
30
+ initSelectEventArr = initSelectEvents.split(',')
31
+ } else {
32
+ initSelectEventArr = this.value.event
33
+ }
34
+ initSelectEventArr.map(function(event) {
35
+ selectedEvents.push(event)
36
+ })
37
+ }
38
+ return {
39
+ events: [
40
+ { name: 'START_INSTANCE', label: getI18n().t('workflowEditor.process.initiationProcess') },
41
+ { name: 'DELETE_INSTANCE', label: getI18n().t('workflowEditor.process.deleteProcess') },
42
+ { name: 'CANCEL_INSTANCE', label: getI18n().t('workflowEditor.process.cancelProcess') },
43
+ { name: 'END_INSTANCE', label: getI18n().t('workflowEditor.process.endProcess') },
44
+ { name: 'STOP_INSTANCE', label: getI18n().t('workflowEditor.process.pauseProcess') },
45
+ { name: 'RESUME_INSTANCE', label: getI18n().t('workflowEditor.process.continueTheProcess') },
46
+ { name: 'JUMP_TACHE', label: getI18n().t('workflowEditor.process.jumpLink') },
47
+ { name: 'CHANGE_TRANSACTOR', label: getI18n().t('workflowEditor.process.modificationHandler') },
48
+ { name: 'ADD_TRANSACTOR', label: getI18n().t('workflowEditor.process.addHandler') },
49
+ { name: 'REMOVE_TRANSACTOR', label: getI18n().t('workflowEditor.process.decreaseOofHandler') },
50
+ { name: 'ASSIGN_TASK', label: getI18n().t('workflowEditor.process.appointedTask') },
51
+ { name: 'RETURN_TASK', label: getI18n().t('workflowEditor.process.returnTask') },
52
+ { name: 'WITHDRAW_TASK', label: getI18n().t('workflowEditor.process.retrieveTask') },
53
+ { name: 'TRUST_TASK', label: getI18n().t('workflowEditor.process.trustTask') }
54
+ ],
55
+ selectedEvents
56
+ }
57
+ },
58
+ watch: {
59
+ selectedEvents(val) {
60
+ // const events = []
61
+ // this.selectedEvents.map(event => {
62
+ // events.push({
63
+ // name: event
64
+ // })
65
+ // })
66
+
67
+ this.$emit('input', {
68
+ event: this.selectedEvents
69
+ })
70
+ }
71
+ },
72
+ methods: {
73
+
74
+ }
75
+ }
76
+ </script>
@@ -0,0 +1,60 @@
1
+ <template>
2
+ <el-form v-if="model" :model="model" label-width="100px">
3
+ <notice v-model="model" :switch-label="$t('workflowEditor.process.sendNotificationAfterProcessEnds')" />
4
+ <el-form-item :label="$t('workflowEditor.process.defaultMailTemplate')">
5
+ <select-mail-templates v-model="model.defaultMailTemplateCode" @set-value="setMailTemplateCode" />
6
+ </el-form-item>
7
+ </el-form>
8
+ </template>
9
+ <script>
10
+ import Notice from '../common/notice'
11
+ import SelectMailTemplates from '../common/select-mail-template.vue'
12
+ export default {
13
+ name: 'NoticeSettings',
14
+ components: {
15
+ Notice,
16
+ SelectMailTemplates
17
+ },
18
+ props: {
19
+ value: {
20
+ type: [Object, String],
21
+ default: null
22
+ }
23
+ },
24
+ data() {
25
+ let model = {
26
+ informType: '',
27
+ userCondition: '',
28
+ subject: null,
29
+ content: null,
30
+ defaultMailTemplateCode: ''
31
+ }
32
+ if (this.value !== null && this.value !== undefined && this.value !== '') {
33
+ model = this.value
34
+ }
35
+ return {
36
+ showMailTemplateFlag: false,
37
+ model
38
+ }
39
+ },
40
+ created() {
41
+ // inform在xml中可能是没有的,所以不能直接使用inform作为model
42
+ // 通过deep监听model把设置的值返回给流程的inform属性
43
+ this.$watch('model', function(newVal, oldVal) {
44
+ this.getValue()
45
+ }, {
46
+ deep: true
47
+ })
48
+ },
49
+ methods: {
50
+ getValue() {
51
+ const notice = this.model
52
+ this.$emit('input', notice)
53
+ },
54
+ setMailTemplateCode(mailTemplateCode) {
55
+ this.model.defaultMailTemplateCode = mailTemplateCode
56
+ }
57
+ }
58
+ }
59
+ </script>
60
+
@@ -0,0 +1,95 @@
1
+ <template>
2
+ <el-form :model="model" label-width="150px">
3
+ <el-card>
4
+ <div slot="header">
5
+ <span>{{ $t('workflowEditor.process.processTaskParameterSettings') }}</span>
6
+ </div>
7
+ <el-form-item :label="$t('workflowEditor.process.uRLForProcessingTask')">
8
+ <el-input v-model="model.doTask.url">
9
+ <i slot="suffix" class="el-input__icon el-icon-search" @click="openSelectPage" />
10
+ </el-input>
11
+ </el-form-item>
12
+ <el-form-item :label="$t('workflowEditor.process.parametersForReceivingTaskID')">
13
+ <el-input v-model="model.doTask.parameterName" />
14
+ </el-form-item>
15
+ </el-card>
16
+ <el-card>
17
+ <div slot="header">
18
+ <span>{{ $t('workflowEditor.process.viewFormParameterSettings') }}</span>
19
+ </div>
20
+ <el-form-item :label="$t('workflowEditor.process.viewTheURLOfTheForm')">
21
+ <el-input v-model="model.viewForm.url" />
22
+ </el-form-item>
23
+ <el-form-item :label="$t('workflowEditor.process.parametersOfReceivingEntityID')">
24
+ <el-input v-model="model.viewForm.parameterName" />
25
+ </el-form-item>
26
+ </el-card>
27
+ <el-card>
28
+ <div slot="header">
29
+ <span>{{ $t('workflowEditor.process.emergencyTreatmentParameterSetting') }}</span>
30
+ </div>
31
+ <el-form-item :label="$t('workflowEditor.process.uRLOfEmergencyHandling')">
32
+ <el-input v-model="model.handleEmergency.url" />
33
+ </el-form-item>
34
+ <el-form-item :label="$t('workflowEditor.process.parametersOfReceivingEntityID')">
35
+ <el-input v-model="model.handleEmergency.parameterName" />
36
+ </el-form-item>
37
+ </el-card>
38
+ <el-card>
39
+ <div slot="header">
40
+ <span>{{ $t('workflowEditor.process.initiateProcessParameterSettings') }}</span>
41
+ </div>
42
+ <el-form-item :label="$t('workflowEditor.process.uRLOfTheInitiatingProcess')">
43
+ <el-input v-model="model.startProcess.url" />
44
+ </el-form-item>
45
+ <el-form-item :label="$t('workflowEditor.process.parametersForReceivingProcessName')">
46
+ <el-input v-model="model.startProcess.parameterName" />
47
+ </el-form-item>
48
+ <el-form-item :label="$t('workflowEditor.process.customParameterValue')">
49
+ <el-input v-model="model.startProcess.parameterValue" />
50
+ </el-form-item>
51
+ </el-card>
52
+ <select-page v-if="selectPageFlag" :page-form-code="pageFormCode" @setPage="setPage" />
53
+ </el-form>
54
+ </template>
55
+ <script>
56
+
57
+ import selectPage from './selectPage.vue'
58
+ import { mapGetters } from 'vuex'
59
+
60
+ export default {
61
+ name: 'ParameterSettings',
62
+ components: {
63
+ selectPage
64
+ },
65
+ props: {
66
+ model: {
67
+ type: Object,
68
+ default: null
69
+ }
70
+ },
71
+ data() {
72
+ return {
73
+ selectPageFlag: false,
74
+ pageFormCode: null
75
+ }
76
+ },
77
+ computed: {
78
+ ...mapGetters('wfEditor', [
79
+ 'formCode'
80
+ ])
81
+ },
82
+ methods: {
83
+ openSelectPage() {
84
+ if (this.formCode) {
85
+ this.pageFormCode = this.formCode
86
+ }
87
+ this.selectPageFlag = true
88
+ },
89
+ setPage(path) {
90
+ this.$set(this.model.doTask, 'url', path)
91
+ this.selectPageFlag = false
92
+ }
93
+ }
94
+ }
95
+ </script>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <el-form :model="model" label-width="80px">
3
+ <user-selection v-model="model.viewFlowHistory" :label="$t('workflowEditor.process.ViewFlowHistoryPersonnel')" label-width="130px" />
4
+ <user-selection v-model="model.viewSubscribeResult" :label="$t('workflowEditor.process.ViewCountersignatureResultPersonnel')" label-width="130px" />
5
+ <user-selection v-model="model.viewVoteResult" :label="$t('workflowEditor.process.ViewVotingResultsBy')" label-width="130px" />
6
+ </el-form>
7
+ </template>
8
+ <script>
9
+ import UserSelection from '../common//user-selection'
10
+ export default {
11
+ name: 'PermissionSettings',
12
+ components: {
13
+ UserSelection
14
+ },
15
+ props: {
16
+ model: {
17
+ type: Object,
18
+ default: null
19
+ }
20
+ },
21
+ data() {
22
+ return {
23
+ showNotice: false
24
+ }
25
+ }
26
+ }
27
+ </script>
28
+