workflow-editor 0.0.81-up-tmp12 → 0.0.81-up-tmp15

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 (126) hide show
  1. package/es/style.css +143 -143
  2. package/lib/style.css +146 -146
  3. package/package.json +7 -1
  4. package/.prettierrc.json +0 -9
  5. package/index.html +0 -13
  6. package/packages/index.js +0 -50
  7. package/packages/plugins/formValidatorUtil.js +0 -723
  8. package/packages/plugins/index.js +0 -8
  9. package/packages/workflow-editor/index.js +0 -14
  10. package/packages/workflow-editor/src/api.js +0 -7
  11. package/packages/workflow-editor/src/assets/tab-select.png +0 -0
  12. package/packages/workflow-editor/src/assets/tab-selectWhite.png +0 -0
  13. package/packages/workflow-editor/src/assets/wf-editor-icons.js +0 -2
  14. package/packages/workflow-editor/src/constant.js +0 -8
  15. package/packages/workflow-editor/src/json-object-templates/auto-task.js +0 -70
  16. package/packages/workflow-editor/src/json-object-templates/copy-task.js +0 -72
  17. package/packages/workflow-editor/src/json-object-templates/decision.js +0 -11
  18. package/packages/workflow-editor/src/json-object-templates/end.js +0 -14
  19. package/packages/workflow-editor/src/json-object-templates/fork.js +0 -10
  20. package/packages/workflow-editor/src/json-object-templates/human-decision.js +0 -9
  21. package/packages/workflow-editor/src/json-object-templates/human-task.js +0 -208
  22. package/packages/workflow-editor/src/json-object-templates/join.js +0 -10
  23. package/packages/workflow-editor/src/json-object-templates/process.js +0 -99
  24. package/packages/workflow-editor/src/json-object-templates/start.js +0 -13
  25. package/packages/workflow-editor/src/json-object-templates/subprocess.js +0 -31
  26. package/packages/workflow-editor/src/json-object-templates/transition.js +0 -26
  27. package/packages/workflow-editor/src/main/admin-save-dialog.vue +0 -67
  28. package/packages/workflow-editor/src/main/canvas.vue +0 -493
  29. package/packages/workflow-editor/src/main/context-menu.vue +0 -147
  30. package/packages/workflow-editor/src/main/icon-svg.vue +0 -32
  31. package/packages/workflow-editor/src/main/selection-region.vue +0 -66
  32. package/packages/workflow-editor/src/main/tache-history-tooltip.vue +0 -38
  33. package/packages/workflow-editor/src/main/tache-name-input.vue +0 -19
  34. package/packages/workflow-editor/src/main/tache-subprocess-history-dialog.vue +0 -40
  35. package/packages/workflow-editor/src/main/toolbox.vue +0 -60
  36. package/packages/workflow-editor/src/main/wf-history-canvas.vue +0 -309
  37. package/packages/workflow-editor/src/process-json.js +0 -624
  38. package/packages/workflow-editor/src/process-service.js +0 -68
  39. package/packages/workflow-editor/src/properties-editors/auto-task/basic-properties.vue +0 -81
  40. package/packages/workflow-editor/src/properties-editors/auto-task/permission-settings.vue +0 -155
  41. package/packages/workflow-editor/src/properties-editors/auto-task.vue +0 -74
  42. package/packages/workflow-editor/src/properties-editors/common/additional-condition-utils.js +0 -568
  43. package/packages/workflow-editor/src/properties-editors/common/additional-condition.vue +0 -320
  44. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields-utils.js +0 -34
  45. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields.vue +0 -268
  46. package/packages/workflow-editor/src/properties-editors/common/common-notice-tool.vue +0 -81
  47. package/packages/workflow-editor/src/properties-editors/common/common-user-condition.vue +0 -242
  48. package/packages/workflow-editor/src/properties-editors/common/form-fields-utils.js +0 -23
  49. package/packages/workflow-editor/src/properties-editors/common/form-fields.vue +0 -117
  50. package/packages/workflow-editor/src/properties-editors/common/i18n-input.vue +0 -88
  51. package/packages/workflow-editor/src/properties-editors/common/i18n-set-dialog.vue +0 -143
  52. package/packages/workflow-editor/src/properties-editors/common/notice-reminder.vue +0 -149
  53. package/packages/workflow-editor/src/properties-editors/common/notice.vue +0 -108
  54. package/packages/workflow-editor/src/properties-editors/common/reminder.vue +0 -272
  55. package/packages/workflow-editor/src/properties-editors/common/select-mail-template.vue +0 -92
  56. package/packages/workflow-editor/src/properties-editors/common/standard-fields.vue +0 -66
  57. package/packages/workflow-editor/src/properties-editors/common/system-role-tree-inline.vue +0 -354
  58. package/packages/workflow-editor/src/properties-editors/common/system-role-tree.vue +0 -68
  59. package/packages/workflow-editor/src/properties-editors/common/task-title.vue +0 -165
  60. package/packages/workflow-editor/src/properties-editors/common/transactor-settings.vue +0 -275
  61. package/packages/workflow-editor/src/properties-editors/common/user-selection.vue +0 -426
  62. package/packages/workflow-editor/src/properties-editors/common/value-selection-dialog.vue +0 -272
  63. package/packages/workflow-editor/src/properties-editors/common/variables.vue +0 -139
  64. package/packages/workflow-editor/src/properties-editors/copy-task/basic-properties.vue +0 -90
  65. package/packages/workflow-editor/src/properties-editors/copy-task/permission-settings.vue +0 -155
  66. package/packages/workflow-editor/src/properties-editors/copy-task.vue +0 -95
  67. package/packages/workflow-editor/src/properties-editors/decision.vue +0 -95
  68. package/packages/workflow-editor/src/properties-editors/fork.vue +0 -77
  69. package/packages/workflow-editor/src/properties-editors/human-decision.vue +0 -49
  70. package/packages/workflow-editor/src/properties-editors/human-task/additional-condition-dialog.vue +0 -62
  71. package/packages/workflow-editor/src/properties-editors/human-task/basic-properties.vue +0 -184
  72. package/packages/workflow-editor/src/properties-editors/human-task/componentsConfigUtil.js +0 -359
  73. package/packages/workflow-editor/src/properties-editors/human-task/custom-actions.vue +0 -256
  74. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-field-setting.vue +0 -405
  75. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-fields.vue +0 -257
  76. package/packages/workflow-editor/src/properties-editors/human-task/editable-field-selection.vue +0 -430
  77. package/packages/workflow-editor/src/properties-editors/human-task/editable-fields.vue +0 -206
  78. package/packages/workflow-editor/src/properties-editors/human-task/events.vue +0 -60
  79. package/packages/workflow-editor/src/properties-editors/human-task/permission-settings.vue +0 -224
  80. package/packages/workflow-editor/src/properties-editors/human-task/selection-conditions.vue +0 -499
  81. package/packages/workflow-editor/src/properties-editors/human-task.vue +0 -107
  82. package/packages/workflow-editor/src/properties-editors/join.vue +0 -49
  83. package/packages/workflow-editor/src/properties-editors/process/basic-properties.vue +0 -336
  84. package/packages/workflow-editor/src/properties-editors/process/events.vue +0 -79
  85. package/packages/workflow-editor/src/properties-editors/process/notice-settings.vue +0 -68
  86. package/packages/workflow-editor/src/properties-editors/process/parameter-settings.vue +0 -106
  87. package/packages/workflow-editor/src/properties-editors/process/permission-settings.vue +0 -28
  88. package/packages/workflow-editor/src/properties-editors/process/selectPage.vue +0 -88
  89. package/packages/workflow-editor/src/properties-editors/process.vue +0 -115
  90. package/packages/workflow-editor/src/properties-editors/subprocess/basic-properties.vue +0 -201
  91. package/packages/workflow-editor/src/properties-editors/subprocess/events.vue +0 -26
  92. package/packages/workflow-editor/src/properties-editors/subprocess/field-mappings.vue +0 -216
  93. package/packages/workflow-editor/src/properties-editors/subprocess/transactor-settings.vue +0 -66
  94. package/packages/workflow-editor/src/properties-editors/subprocess.vue +0 -80
  95. package/packages/workflow-editor/src/properties-editors/transition/basic-properties.vue +0 -53
  96. package/packages/workflow-editor/src/properties-editors/transition.vue +0 -75
  97. package/packages/workflow-editor/src/properties-editors/user-condition.js +0 -183
  98. package/packages/workflow-editor/src/store/getters.js +0 -33
  99. package/packages/workflow-editor/src/store/workflow-editor.js +0 -153
  100. package/packages/workflow-editor/src/taches/auto-task.vue +0 -99
  101. package/packages/workflow-editor/src/taches/common-methods.js +0 -21
  102. package/packages/workflow-editor/src/taches/copy-task.vue +0 -99
  103. package/packages/workflow-editor/src/taches/custom-task.vue +0 -88
  104. package/packages/workflow-editor/src/taches/decision.vue +0 -102
  105. package/packages/workflow-editor/src/taches/end.vue +0 -76
  106. package/packages/workflow-editor/src/taches/fork.vue +0 -102
  107. package/packages/workflow-editor/src/taches/human-decision.vue +0 -102
  108. package/packages/workflow-editor/src/taches/human-task.vue +0 -113
  109. package/packages/workflow-editor/src/taches/join.vue +0 -91
  110. package/packages/workflow-editor/src/taches/joint.vue +0 -177
  111. package/packages/workflow-editor/src/taches/start.vue +0 -76
  112. package/packages/workflow-editor/src/taches/subprocess.vue +0 -99
  113. package/packages/workflow-editor/src/taches/tache-resizer.vue +0 -80
  114. package/packages/workflow-editor/src/transitions/broken-line.vue +0 -91
  115. package/packages/workflow-editor/src/transitions/curve-line.vue +0 -91
  116. package/packages/workflow-editor/src/transitions/straight-line.vue +0 -26
  117. package/packages/workflow-editor/src/transitions/transition.vue +0 -209
  118. package/packages/workflow-editor/src/transitions/virtual-transition.vue +0 -43
  119. package/packages/workflow-editor/src/util.js +0 -499
  120. package/packages/workflow-editor/src/workflow-editor.vue +0 -852
  121. package/packages/workflow-editor/src/workflow-history.vue +0 -153
  122. package/public/vite.svg +0 -1
  123. package/src/i18n/i18n.js +0 -16
  124. package/src/i18n/langs/cn.js +0 -521
  125. package/src/i18n/langs/en.js +0 -529
  126. package/vite.config.js +0 -103
@@ -1,426 +0,0 @@
1
- <template>
2
- <el-form-item :label="label" :label-width="labelWidth">
3
- <el-col>
4
- <el-checkbox-group v-model="checkList">
5
- <el-checkbox label="${instanceCreator}">
6
- {{ $t('workflowEditor.process.processInitiator') }}
7
- </el-checkbox>
8
- <el-checkbox label="${processAdmin}">
9
- {{ $t('workflowEditor.process.processAdministrator') }}
10
- </el-checkbox>
11
- <el-checkbox v-if="currentTransactor" label="${currentTransactor}">
12
- {{ $t('workflowEditor.process.currentHandler') }}
13
- </el-checkbox>
14
- <el-checkbox v-else label="${allHandleTransactors}">
15
- {{ $t('workflowEditor.process.allHandlingPersonnel') }}
16
- </el-checkbox>
17
- <el-checkbox label="assignUser" @change="toggleUserList">
18
- {{ $t('workflowEditor.process.designatedPersonnel') }}
19
- </el-checkbox>
20
- </el-checkbox-group>
21
- </el-col>
22
- <div style="width: 100%; vertical-align: middle" v-if="showUserList">
23
- <el-col>
24
- <el-row>
25
- <el-col :span="4">
26
- {{ $t('workflowEditor.process.listOfDesignatedPersons') }}
27
- </el-col>
28
- <el-col style="display: flex; justify-content: center; align-items: center" :span="5">
29
- <el-dropdown size="small" split-button type="primary" plain @command="handleCommand">
30
- <span class="el-dropdown-link">
31
- <i class="fa fa-search" /> {{ $t('workflowEditorPublicModel.choice') }}
32
- </span>
33
- <template #dropdown>
34
- <el-dropdown-menu>
35
- <el-dropdown-item command="selectUser" @click="selectPointUser()">
36
- {{ $t('workflowEditor.common.selectusers') }}
37
- </el-dropdown-item>
38
- <el-dropdown-item command="selectDepartment" @click="selectPointDepartment()">
39
- {{ $t('workflowEditor.common.selectDepartment') }}
40
- </el-dropdown-item>
41
- <el-dropdown-item command="selectWorkgroup" @click="selectPointWorkgroup()">
42
- {{ $t('workflowEditor.common.selectTeam') }}
43
- </el-dropdown-item>
44
- <el-dropdown-item command="selectRole" @click="selectPointRole()">
45
- {{ $t('workflowEditor.common.selectRole') }}
46
- </el-dropdown-item>
47
- <el-dropdown-item command="selectField" @click="selectPointField()">
48
- {{ $t('workflowEditor.common.selectField') }}
49
- </el-dropdown-item>
50
- </el-dropdown-menu>
51
- </template>
52
- </el-dropdown>
53
- </el-col>
54
- <el-col :span="3">
55
- <el-button type="primary" size="small" plain icon="Delete" @click="resetSelectedUsers">
56
- {{ $t('workflowEditorPublicModel.empty') }}
57
- </el-button>
58
- </el-col>
59
- </el-row>
60
- <el-row>
61
- <el-col>
62
- <el-input
63
- v-model="selectedUsersShowValue"
64
- type="textarea"
65
- :rows="2"
66
- :placeholder="$t('workflowEditorMessage.pleaseSelectPersonnel')"
67
- />
68
- </el-col>
69
- </el-row>
70
- </el-col>
71
- <department-user-tree
72
- v-if="showSelectUser"
73
- width="60%"
74
- :multiple="true"
75
- @close="addPointUsers"
76
- />
77
- <department-tree
78
- v-if="showSelectDepartment"
79
- width="30%"
80
- :multiple="true"
81
- @close="addPointDepartments"
82
- />
83
- <workgroup-tree
84
- v-if="showSelectWorkgroup"
85
- width="30%"
86
- :multiple="true"
87
- @close="addPointWorkgroups"
88
- />
89
- <system-role-tree v-if="showSelectRole" :multiple="true" @close="addPointRoles" />
90
- <form-fields v-if="showSelectField" @close="setField" />
91
- </div>
92
- </el-form-item>
93
- </template>
94
- <script>
95
- import FormFields from '../common/form-fields'
96
- import SystemRoleTree from './system-role-tree'
97
- import { getFormFieldLabel } from '../common/form-fields-utils.js'
98
- export default {
99
- name: 'UserSelection',
100
- components: {
101
- SystemRoleTree,
102
- FormFields
103
- },
104
- props: {
105
- label: {
106
- type: String,
107
- default: ''
108
- },
109
- labelWidth: {
110
- type: String,
111
- default: null
112
- },
113
- modelValue: {
114
- type: String,
115
- default: ''
116
- },
117
- currentTransactor: {
118
- type: Boolean,
119
- default: false
120
- }
121
- },
122
- data() {
123
- let showUserList = false
124
- let selectedUsers = ''
125
- // 流程发起人等前3个选项和指定人员选中的人使用分号(后跟一个空格)来分割,这样区分了前三个选项和最后一个选项
126
- const users = this.modelValue.split('; ')
127
- const checkList = users[0].split(' condition.operator.or ')
128
- if (users.length === 2) {
129
- showUserList = true
130
- selectedUsers = users[1].split(' condition.operator.or ')
131
- checkList.push('assignUser')
132
- }
133
- return {
134
- checkList,
135
- showUserList,
136
- selectedUsers,
137
- showSelectUser: false, // 是否显示用户树
138
- selectedUsersShowValue: null, // 已选择人员的显示值,例如:用户 等于 '张三/分支1' 或者 用户 等于 '李四/集团公司'
139
- showSelectDepartment: false, // 是否显示部门树
140
- showSelectWorkgroup: false, // 是否显示工作组树
141
- showSelectRole: false, // 是否显示角色树
142
- showSelectField: false // 是否选择字段
143
- }
144
- },
145
- watch: {
146
- checkList(val) {
147
- // this.$emit('input', this.getValue())
148
- this.$emit('update:modelValue', this.getValue())
149
- },
150
- selectedUsers(val) {
151
- // this.$emit('input', this.getValue())
152
- this.$emit('update:modelValue', this.getValue())
153
- }
154
- },
155
- created() {
156
- console.log(this.checkList)
157
- this.getSelectedUsersShowValue()
158
- },
159
- methods: {
160
- formatLabel(name) {
161
- return getFormFieldLabel(name)
162
- },
163
- getValue() {
164
- const checkList = this.checkList.filter((item) => {
165
- return item !== '' && item !== 'assignUser'
166
- })
167
- let value = checkList.join(' condition.operator.or ')
168
- if (this.showUserList && this.selectedUsers && this.selectedUsers.length !== 0) {
169
- value = value + '; ' + this.selectedUsers.join(' condition.operator.or ')
170
- }
171
- return value
172
- },
173
- toggleUserList() {
174
- this.showUserList = !this.showUserList
175
- },
176
- // 清空已选人员
177
- resetSelectedUsers() {
178
- this.selectedUsers = []
179
- this.selectedUsersShowValue = ''
180
- },
181
- // 选择指定人员下拉菜单事件处理
182
- handleCommand(command) {
183
- if (command === 'selectUser') {
184
- this.selectPointUser()
185
- } else if (command === 'selectDepartment') {
186
- this.selectPointDepartment()
187
- } else if (command === 'selectRole') {
188
- this.selectPointRole()
189
- } else if (command === 'selectWorkgroup') {
190
- this.selectPointWorkgroup()
191
- } else if (command === 'selectField') {
192
- this.selectPointField()
193
- }
194
- },
195
- // 显示用户树
196
- selectPointUser() {
197
- this.showSelectUser = true
198
- },
199
- // 显示部门树
200
- selectPointDepartment() {
201
- this.showSelectDepartment = true
202
- },
203
- // 显示角色树
204
- selectPointRole() {
205
- this.showSelectRole = true
206
- },
207
- selectPointField() {
208
- this.showSelectField = true
209
- },
210
- // 显示工作组树
211
- selectPointWorkgroup() {
212
- this.showSelectWorkgroup = true
213
- },
214
- // 选择用户
215
- addPointUsers(selectNodeInfo) {
216
- if (selectNodeInfo) {
217
- const isContainBranch = selectNodeInfo.containBranch
218
- if (isContainBranch) {
219
- // 如果包含分支机构,需要拼接分支编码,格式为:loginName~~branchCode,并封装为用户条件
220
- this.packageSelectedUserConditionsWithBranch(selectNodeInfo.users)
221
- } else {
222
- // 如果不包含分支机构,直接封装为用户条件
223
- this.packageSelectedUserConditionsWithOutBranch(selectNodeInfo.users)
224
- }
225
- // 获得显示时的条件值
226
- this.getSelectedUsersShowValue()
227
- }
228
- this.showSelectUser = false
229
- },
230
- // 如果包含分支机构,需要拼接分支编码,格式为:loginName~~branchCode,并封装为用户条件
231
- packageSelectedUserConditionsWithBranch(selectedUsers) {
232
- // 用户登录名和分支编码的分隔符
233
- const loginNameAndBranchSeparator = '~~'
234
- // 用户姓名和分支名称的分隔符
235
- const userNameAndBranchSeparator = '/'
236
- const fixCondition = '${user} operator.text.eq '
237
- selectedUsers.forEach((user) => {
238
- let loginName = user.loginName
239
- let userName = user.name
240
- if (user.subCompanyId && user.subCompanyId !== null) {
241
- // 用户属于分支机构,拼接分支机构编码
242
- const branchCode = user.subCompanyCode
243
- const branchName = user.subCompanyName
244
- loginName = loginName + loginNameAndBranchSeparator + branchCode
245
- userName = userName + userNameAndBranchSeparator + branchName
246
- } else {
247
- // 用户属于集团公司,拼接公司编码
248
- loginName = loginName + loginNameAndBranchSeparator + user.tenantCode
249
- userName = userName + userNameAndBranchSeparator + user.tenantName
250
- }
251
- const condition = fixCondition + userName + '[' + loginName + ']'
252
- if (this.selectedUsers) {
253
- const selectedCondition = this.selectedUsers.filter(this.filterCondition(condition))
254
- if (selectedCondition.length === 0) {
255
- this.selectedUsers.push(condition)
256
- }
257
- } else {
258
- this.selectedUsers = []
259
- this.selectedUsers.push(condition)
260
- }
261
- })
262
- },
263
- // 如果不包含分支机构,直接封装为用户条件
264
- packageSelectedUserConditionsWithOutBranch(selectedUsers) {
265
- const fixCondition = '${user} operator.text.eq '
266
- selectedUsers.forEach((user) => {
267
- if (!this.selectedUsers) {
268
- this.selectedUsers = []
269
- }
270
- const condition = fixCondition + user.name + '[' + user.loginName + ']'
271
- const selectedUserCondition = this.selectedUsers.filter(this.filterCondition(condition))
272
- if (selectedUserCondition.length === 0) {
273
- this.selectedUsers.push(condition)
274
- }
275
- })
276
- },
277
- // 获得显示时的条件值
278
- getSelectedUsersShowValue() {
279
- if (this.selectedUsers) {
280
- const selectedUsersCondition = this.selectedUsers.join(' condition.operator.or ')
281
- this.selectedUsersShowValue = selectedUsersCondition
282
- .replace(/\$\{user\}/g, '用户')
283
- .replace(/\$\{department\}/g, '部门')
284
- .replace(/\$\{workGroup\}/g, '工作组')
285
- .replace(/\$\{role\}/g, '角色')
286
- .replace(/operator\.text\.eq/g, '等于')
287
- .replace(/condition\.operator\.or/g, '或者')
288
- .replace(/\$\{field/g, '字段')
289
- .replace(/]\}/g, ']')
290
- }
291
- },
292
- // 过滤已选条件中是否包含condition条件
293
- filterCondition(condition) {
294
- return (selectedUserCondition) => {
295
- return selectedUserCondition === condition
296
- }
297
- },
298
- // 选择部门
299
- addPointDepartments(selectNodeInfo) {
300
- if (selectNodeInfo) {
301
- const isContainBranch = selectNodeInfo.containBranch
302
- if (isContainBranch) {
303
- // 如果包含分支机构,需要拼接显示的分支名称,格式为:部门名称/分支名称,并封装为部门条件
304
- this.packageSelectedDepartmentOrWorkgroupConditionsWithBranch(
305
- selectNodeInfo.departments,
306
- '${department}'
307
- )
308
- } else {
309
- // 如果不包含分支机构,直接封装为部门条件
310
- this.packageSelectedDepartmentOrWorkgroupConditionsWithOutBranch(
311
- selectNodeInfo.departments,
312
- '${department}'
313
- )
314
- }
315
- // 获得显示时的条件值
316
- this.getSelectedUsersShowValue()
317
- }
318
- this.showSelectDepartment = false
319
- },
320
- // 如果包含分支机构,需要拼接显示的分支名称,格式为:部门名称/分支名称 或 工作组名称/分支名称,并封装为部门 或 工作组条件
321
- packageSelectedDepartmentOrWorkgroupConditionsWithBranch(selectedDepartments, type) {
322
- // 部门姓名和分支名称的分隔符
323
- const departmentNameAndBranchSeparator = '/'
324
- const fixCondition = type + ' operator.text.eq '
325
- selectedDepartments.forEach((department) => {
326
- const departmentCode = department.code
327
- let departmentName = department.name
328
- if (department.subCompanyId && department.subCompanyId !== null) {
329
- // 用户属于分支机构,拼接分支机构名称
330
- const branchName = department.subCompanyName
331
- if (branchName && branchName !== '') {
332
- departmentName = departmentName + departmentNameAndBranchSeparator + branchName
333
- }
334
- } else {
335
- // 用户属于集团公司,拼接公司名称
336
- departmentName = departmentName + departmentNameAndBranchSeparator + department.tenantName
337
- }
338
- const condition = fixCondition + departmentName + '[' + departmentCode + ']'
339
- if (this.selectedUsers) {
340
- const selectedCondition = this.selectedUsers.filter(this.filterCondition(condition))
341
- if (selectedCondition.length === 0) {
342
- this.selectedUsers.push(condition)
343
- }
344
- } else {
345
- this.selectedUsers = []
346
- this.selectedUsers.push(condition)
347
- }
348
- })
349
- },
350
- // 如果不包含分支机构,直接封装为部门条件 或 工作组条件
351
- packageSelectedDepartmentOrWorkgroupConditionsWithOutBranch(selectedDepartments, type) {
352
- const fixCondition = type + ' operator.text.eq '
353
- selectedDepartments.forEach((department) => {
354
- const condition = fixCondition + department.name + '[' + department.code + ']'
355
- if (this.selectedUsers) {
356
- const selectedCondition = this.selectedUsers.filter(this.filterCondition(condition))
357
- if (selectedCondition.length === 0) {
358
- this.selectedUsers.push(condition)
359
- }
360
- } else {
361
- this.selectedUsers = []
362
- this.selectedUsers.push(condition)
363
- }
364
- })
365
- },
366
- // 选择工作组
367
- addPointWorkgroups(selectNodeInfo) {
368
- if (selectNodeInfo) {
369
- const isContainBranch = selectNodeInfo.containBranch
370
- if (isContainBranch) {
371
- // 如果包含分支机构,需要拼接分支名称,格式为:工作组名称/分支名称,并封装为工作组条件
372
- this.packageSelectedDepartmentOrWorkgroupConditionsWithBranch(
373
- selectNodeInfo.workgroups,
374
- '${workGroup}'
375
- )
376
- } else {
377
- // 如果不包含分支机构,直接封装为工作组条件
378
- this.packageSelectedDepartmentOrWorkgroupConditionsWithOutBranch(
379
- selectNodeInfo.workgroups,
380
- '${workGroup}'
381
- )
382
- }
383
- // 获得显示时的条件值
384
- this.getSelectedUsersShowValue()
385
- }
386
- this.showSelectWorkgroup = false
387
- },
388
- // 选择角色
389
- addPointRoles(selectNodeInfo) {
390
- if (selectNodeInfo) {
391
- // 角色不需要考虑分支机构
392
- this.packageSelectedDepartmentOrWorkgroupConditionsWithOutBranch(
393
- selectNodeInfo.roles,
394
- '${role}'
395
- )
396
- // 获得显示时的条件值
397
- this.getSelectedUsersShowValue()
398
- }
399
- this.showSelectRole = false
400
- },
401
- // 如果不包含分支机构,直接封装为部门条件 或 工作组条件
402
- packageSelectedFieldConditions(fieldName, type) {
403
- const fixCondition = type + ' operator.text.eq '
404
- const condition = fixCondition + '${field[' + fieldName + ']}'
405
- if (this.selectedUsers) {
406
- const selectedCondition = this.selectedUsers.filter(this.filterCondition(condition))
407
- if (selectedCondition.length === 0) {
408
- this.selectedUsers.push(condition)
409
- }
410
- } else {
411
- this.selectedUsers = []
412
- this.selectedUsers.push(condition)
413
- }
414
- },
415
- // 选择字段
416
- setField(name) {
417
- if (name !== undefined) {
418
- this.packageSelectedFieldConditions(name, '${user}')
419
- // 获得显示时的条件值
420
- this.getSelectedUsersShowValue()
421
- }
422
- this.showSelectField = false
423
- }
424
- }
425
- }
426
- </script>
@@ -1,272 +0,0 @@
1
- <template>
2
- <el-dialog
3
- :title="titleName"
4
- model-value
5
- top="10vh"
6
- append-to-body
7
- class="properties-editor-valueSelect"
8
- center
9
- @close="$emit('close')"
10
- >
11
- <el-tabs id="custTabOne" v-model="activeTab" type="border-card">
12
- <el-tab-pane
13
- v-if="options.length > 0"
14
- :label="$t('workflowEditor.process.standardFields')"
15
- name="standardFields"
16
- >
17
- <el-row v-for="option in options" :key="option.name">
18
- <el-radio v-model="selectedValue" :label="option.name" border>
19
- {{ option.label }}
20
- </el-radio>
21
- </el-row>
22
- </el-tab-pane>
23
- <el-tab-pane
24
- v-if="showOrganization"
25
- :label="$t('workflowEditor.common.organizationStructure')"
26
- name="organization"
27
- >
28
- <inline-department-user-tree
29
- v-if="orgType === 'user'"
30
- ref="organizationTree"
31
- :multiple="false"
32
- @result="orgSelect"
33
- />
34
- <inline-department-tree
35
- v-if="orgType === 'department'"
36
- ref="organizationTree"
37
- :multiple="false"
38
- @result="orgSelect"
39
- />
40
- <inline-workgroup-tree
41
- v-if="orgType === 'workgroup'"
42
- ref="organizationTree"
43
- :multiple="false"
44
- @result="orgSelect"
45
- />
46
- <inline-system-role-tree
47
- v-if="orgType === 'role'"
48
- ref="organizationTree"
49
- :multiple="false"
50
- @result="orgSelect"
51
- />
52
- </el-tab-pane>
53
- <el-tab-pane :label="$t('workflowEditor.common.formField')" name="formFields">
54
- <el-radio-group v-model="selectedValue" class="group">
55
- <el-row style="width: 100%;">
56
- <el-col v-for="field in customFormFields" :key="field.name" :span="8">
57
- <el-radio :label="'${field[' + field.name + ']}'">
58
- {{ field.label }}
59
- </el-radio>
60
- </el-col>
61
- </el-row>
62
- <el-collapse v-model="activeNames" style="width: 100%;">
63
- <el-collapse-item :title="$t('workflowEditor.task.baseField')" name="baseField">
64
- <el-row>
65
- <el-col v-for="field in baseFormFields" :key="field.name" :span="8">
66
- <el-radio :label="'${field[' + field.name + ']}'">
67
- {{ field.label }}
68
- </el-radio>
69
- </el-col>
70
- </el-row>
71
- </el-collapse-item>
72
- </el-collapse>
73
- </el-radio-group>
74
- </el-tab-pane>
75
- </el-tabs>
76
- <template #footer>
77
- <el-button type="primary" size="small" @click="setValue">
78
- {{ $t('workflowEditorPublicModel.determine') }}
79
- </el-button>
80
- <el-button size="small" @click="$emit('close')">
81
- {{ $t('workflowEditorPublicModel.cancel') }}
82
- </el-button>
83
- </template>
84
- </el-dialog>
85
- </template>
86
- <script>
87
- import InlineSystemRoleTree from './system-role-tree-inline'
88
- import { mapGetters } from 'vuex'
89
- import { getI18n } from '../../../../workflow-editor/src/util'
90
- export default {
91
- name: 'ValueSelectionDialog',
92
- components: {
93
- InlineSystemRoleTree
94
- },
95
- props: {
96
- standardFields: {
97
- type: [Object, Array],
98
- default: null
99
- },
100
- title: {
101
- type: String,
102
- default: ''
103
- },
104
- showOrganization: {
105
- type: Boolean,
106
- default: true
107
- },
108
- showFormFields: {
109
- type: Boolean,
110
- default: true
111
- },
112
- orgType: {
113
- type: String,
114
- default: ''
115
- }
116
- },
117
- data() {
118
- let titleName = this.title
119
- let activeTab = 'organization'
120
- if (!this.showOrganization) {
121
- activeTab = 'standardFields'
122
- }
123
- if (!this.title || this.title === '') {
124
- titleName = getI18n().t('workflowEditorMessage.pleaseSelectAValue')
125
- }
126
- return {
127
- selectedValue: '',
128
- activeTab,
129
- titleName: titleName,
130
- dialogVisible: true,
131
- activeNames: ['baseField']
132
- }
133
- },
134
- computed: {
135
- ...mapGetters('wfEditor', ['formFields']),
136
- customFormFields() {
137
- return this.formFields.filter(field => !field.baseField)
138
- },
139
- baseFormFields() {
140
- return this.formFields.filter(field => field.baseField)
141
- },
142
- options() {
143
- if (Array.isArray(this.standardFields)) {
144
- return this.standardFields
145
- } else {
146
- const result = []
147
- for (const key of Object.keys(this.standardFields)) {
148
- result.push({
149
- name: key,
150
- label: this.standardFields[key]
151
- })
152
- }
153
- return result
154
- }
155
- }
156
- },
157
- watch: {
158
- activeTab(value) {
159
- // 切换页签时清空选中的值
160
- this.selectedValue = ''
161
- }
162
- },
163
- methods: {
164
- setValue() {
165
- // 获得组织结构树的结果
166
- this.organizationResultValue()
167
- if (this.selectedValue === '') {
168
- this.$alert(this.$t('workflowEditorMessage.pleaseSelectAValueInTheCurrentTab'))
169
- return
170
- }
171
- this.$emit('close', this.selectedValue)
172
- },
173
- // 监听组织结构树结果
174
- orgSelect(selectedInfo) {
175
- if (selectedInfo) {
176
- if (this.orgType === 'user') {
177
- this.getSelectedUser(selectedInfo.user, selectedInfo.containBranch)
178
- } else if (this.orgType === 'department') {
179
- this.getSelectedDepartmentOrWorkgroup(selectedInfo.department, selectedInfo.containBranch)
180
- } else if (this.orgType === 'workgroup') {
181
- this.getSelectedDepartmentOrWorkgroup(selectedInfo.workgroup, selectedInfo.containBranch)
182
- } else if (this.orgType === 'role') {
183
- this.getSelectedRole(selectedInfo.role)
184
- }
185
- }
186
- },
187
- // 获得组织结构的结果
188
- organizationResultValue() {
189
- if (this.orgType && this.activeTab === 'organization') {
190
- if (this.orgType === 'user') {
191
- this.$refs.organizationTree.confirmSelectUser()
192
- } else if (this.orgType === 'department') {
193
- this.$refs.organizationTree.selectDepartment()
194
- } else if (this.orgType === 'workgroup') {
195
- this.$refs.organizationTree.selectWorkgroup()
196
- } else if (this.orgType === 'role') {
197
- this.$refs.organizationTree.selectRole()
198
- }
199
- }
200
- },
201
- getSelectedUser(user, containBranch) {
202
- // 用户登录名和分支编码的分隔符
203
- const loginNameAndBranchSeparator = '~~'
204
- // 用户姓名和分支名称的分隔符
205
- const userNameAndBranchSeparator = '/'
206
- let loginName = user.loginName
207
- let userName = user.name
208
- if (containBranch) {
209
- if (user.subCompanyId && user.subCompanyId !== null) {
210
- // 用户属于分支机构,拼接分支机构编码
211
- const branchCode = user.subCompanyCode
212
- const branchName = user.subCompanyName
213
- loginName = loginName + loginNameAndBranchSeparator + branchCode
214
- userName = userName + userNameAndBranchSeparator + branchName
215
- } else {
216
- // 用户属于集团公司,拼接公司编码
217
- loginName = loginName + loginNameAndBranchSeparator + user.tenantCode
218
- userName = userName + userNameAndBranchSeparator + user.tenantName
219
- }
220
- this.selectedValue = userName + '[' + loginName + ']'
221
- } else {
222
- this.selectedValue = user.name + '[' + user.loginName + ']'
223
- }
224
- },
225
- getSelectedDepartmentOrWorkgroup(department, containBranch) {
226
- this.selectedValue = department.name
227
- // 用户姓名和分支名称的分隔符
228
- const userNameAndBranchSeparator = '/'
229
- let departmentName = department.name
230
- if (containBranch) {
231
- if (department.subCompanyId && department.subCompanyId !== null) {
232
- // 用户属于分支机构,拼接分支机构编码
233
- const branchName = department.subCompanyName
234
- departmentName = departmentName + userNameAndBranchSeparator + branchName
235
- } else {
236
- // 用户属于集团公司,拼接公司编码
237
- departmentName = departmentName + userNameAndBranchSeparator + department.tenantName
238
- }
239
- this.selectedValue = departmentName + '[' + department.code + ']'
240
- } else {
241
- this.selectedValue = department.name + '[' + department.code + ']'
242
- }
243
- },
244
- getSelectedRole(role) {
245
- this.selectedValue = role.name + '[' + role.code + ']'
246
- }
247
- }
248
- }
249
- </script>
250
- <style scoped>
251
- #custTabOne :deep(.el-tabs__content) {
252
- height: 500px;
253
- }
254
-
255
- .group {
256
- font-size: 14px;
257
- width: 100%;
258
- }
259
-
260
- .item {
261
- float: left;
262
- list-style-type: none;
263
- width: 33.33%;
264
- margin-bottom: 18px;
265
- }
266
-
267
- .item-content {
268
- height: calc(100vh - 300px);
269
- padding-left: 20px;
270
- overflow: auto;
271
- }
272
- </style>