workflow-editor 0.0.81-up → 0.0.81-up-tmp2

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 (175) hide show
  1. package/dist/index.full.min.js +3237 -0
  2. package/dist/style.css +1 -0
  3. package/es/_virtual/FileSaver.min.mjs +4 -0
  4. package/es/_virtual/___vite-browser-external.mjs +6 -0
  5. package/es/_virtual/__vite-browser-external.mjs +4 -0
  6. package/es/_virtual/_commonjsHelpers.mjs +30 -0
  7. package/es/_virtual/_plugin-vue_export-helper.mjs +9 -0
  8. package/es/_virtual/clipboard.mjs +4 -0
  9. package/es/_virtual/dayjs.min.mjs +4 -0
  10. package/es/_virtual/index.mjs +4 -0
  11. package/es/_virtual/nprogress.mjs +4 -0
  12. package/es/_virtual/prism.mjs +4 -0
  13. package/es/_virtual/sax.mjs +4 -0
  14. package/es/_virtual/string_decoder.mjs +4 -0
  15. package/es/_virtual/tinymce.mjs +4 -0
  16. package/es/_virtual/weekOfYear.mjs +4 -0
  17. package/es/index.mjs +20 -0
  18. package/es/plugins/formValidatorUtil.mjs +391 -0
  19. package/es/plugins/index.mjs +9 -0
  20. package/es/style.css +1 -0
  21. package/es/vite.svg +1 -0
  22. package/es/workflow-editor/index.mjs +14 -0
  23. package/lib/_virtual/FileSaver.min.cjs +1 -0
  24. package/lib/_virtual/___vite-browser-external.cjs +1 -0
  25. package/lib/_virtual/__vite-browser-external.cjs +1 -0
  26. package/lib/_virtual/_commonjsHelpers.cjs +1 -0
  27. package/lib/_virtual/_plugin-vue_export-helper.cjs +1 -0
  28. package/lib/_virtual/clipboard.cjs +1 -0
  29. package/lib/_virtual/dayjs.min.cjs +1 -0
  30. package/lib/_virtual/index.cjs +1 -0
  31. package/lib/_virtual/nprogress.cjs +1 -0
  32. package/lib/_virtual/prism.cjs +1 -0
  33. package/lib/_virtual/sax.cjs +1 -0
  34. package/lib/_virtual/string_decoder.cjs +1 -0
  35. package/lib/_virtual/tinymce.cjs +1 -0
  36. package/lib/_virtual/weekOfYear.cjs +1 -0
  37. package/lib/index.cjs +1 -0
  38. package/lib/plugins/formValidatorUtil.cjs +1 -0
  39. package/lib/plugins/index.cjs +1 -0
  40. package/lib/style.css +1 -0
  41. package/lib/workflow-editor/index.cjs +1 -0
  42. package/package.json +5 -3
  43. package/vite.config.js +49 -11
  44. package/lib/401-5a92e011.js +0 -101
  45. package/lib/404-2e472acc.js +0 -26
  46. package/lib/authredirect-ae6e75b4.js +0 -10
  47. package/lib/iframe-page-4e84c0f8.js +0 -33
  48. package/lib/index-27119bd2.js +0 -31464
  49. package/lib/index-369eae4a.js +0 -13
  50. package/lib/tab-content-iframe-index-e9146736.js +0 -33
  51. package/lib/tab-content-index-bbc6792b.js +0 -1241
  52. package/lib/tache-subprocess-history-d51d6a50.js +0 -56
  53. package/lib/workflow-editor.css +0 -1
  54. package/lib/workflow-editor.js +0 -5
  55. package/lib/workflow-editor.umd.cjs +0 -85
  56. package/packages/index.js +0 -34
  57. package/packages/plugins/formValidatorUtil.js +0 -723
  58. package/packages/plugins/index.js +0 -8
  59. package/packages/workflow-editor/index.js +0 -14
  60. package/packages/workflow-editor/src/api.js +0 -7
  61. package/packages/workflow-editor/src/assets/tab-select.png +0 -0
  62. package/packages/workflow-editor/src/assets/tab-selectWhite.png +0 -0
  63. package/packages/workflow-editor/src/assets/wf-editor-icons.js +0 -2
  64. package/packages/workflow-editor/src/constant.js +0 -8
  65. package/packages/workflow-editor/src/json-object-templates/auto-task.js +0 -70
  66. package/packages/workflow-editor/src/json-object-templates/copy-task.js +0 -72
  67. package/packages/workflow-editor/src/json-object-templates/decision.js +0 -11
  68. package/packages/workflow-editor/src/json-object-templates/end.js +0 -14
  69. package/packages/workflow-editor/src/json-object-templates/fork.js +0 -10
  70. package/packages/workflow-editor/src/json-object-templates/human-decision.js +0 -9
  71. package/packages/workflow-editor/src/json-object-templates/human-task.js +0 -208
  72. package/packages/workflow-editor/src/json-object-templates/join.js +0 -10
  73. package/packages/workflow-editor/src/json-object-templates/process.js +0 -99
  74. package/packages/workflow-editor/src/json-object-templates/start.js +0 -13
  75. package/packages/workflow-editor/src/json-object-templates/subprocess.js +0 -31
  76. package/packages/workflow-editor/src/json-object-templates/transition.js +0 -26
  77. package/packages/workflow-editor/src/main/admin-save-dialog.vue +0 -67
  78. package/packages/workflow-editor/src/main/canvas.vue +0 -493
  79. package/packages/workflow-editor/src/main/context-menu.vue +0 -147
  80. package/packages/workflow-editor/src/main/icon-svg.vue +0 -32
  81. package/packages/workflow-editor/src/main/selection-region.vue +0 -66
  82. package/packages/workflow-editor/src/main/tache-history-tooltip.vue +0 -38
  83. package/packages/workflow-editor/src/main/tache-name-input.vue +0 -19
  84. package/packages/workflow-editor/src/main/tache-subprocess-history-dialog.vue +0 -40
  85. package/packages/workflow-editor/src/main/toolbox.vue +0 -60
  86. package/packages/workflow-editor/src/main/wf-history-canvas.vue +0 -309
  87. package/packages/workflow-editor/src/process-json.js +0 -624
  88. package/packages/workflow-editor/src/process-service.js +0 -69
  89. package/packages/workflow-editor/src/properties-editors/auto-task/basic-properties.vue +0 -81
  90. package/packages/workflow-editor/src/properties-editors/auto-task/permission-settings.vue +0 -155
  91. package/packages/workflow-editor/src/properties-editors/auto-task.vue +0 -74
  92. package/packages/workflow-editor/src/properties-editors/common/additional-condition-utils.js +0 -568
  93. package/packages/workflow-editor/src/properties-editors/common/additional-condition.vue +0 -320
  94. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields-utils.js +0 -34
  95. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields.vue +0 -268
  96. package/packages/workflow-editor/src/properties-editors/common/common-notice-tool.vue +0 -81
  97. package/packages/workflow-editor/src/properties-editors/common/common-user-condition.vue +0 -242
  98. package/packages/workflow-editor/src/properties-editors/common/form-fields-utils.js +0 -23
  99. package/packages/workflow-editor/src/properties-editors/common/form-fields.vue +0 -117
  100. package/packages/workflow-editor/src/properties-editors/common/i18n-input.vue +0 -88
  101. package/packages/workflow-editor/src/properties-editors/common/i18n-set-dialog.vue +0 -143
  102. package/packages/workflow-editor/src/properties-editors/common/notice-reminder.vue +0 -149
  103. package/packages/workflow-editor/src/properties-editors/common/notice.vue +0 -108
  104. package/packages/workflow-editor/src/properties-editors/common/reminder.vue +0 -272
  105. package/packages/workflow-editor/src/properties-editors/common/select-mail-template.vue +0 -92
  106. package/packages/workflow-editor/src/properties-editors/common/standard-fields.vue +0 -66
  107. package/packages/workflow-editor/src/properties-editors/common/system-role-tree-inline.vue +0 -354
  108. package/packages/workflow-editor/src/properties-editors/common/system-role-tree.vue +0 -68
  109. package/packages/workflow-editor/src/properties-editors/common/task-title.vue +0 -165
  110. package/packages/workflow-editor/src/properties-editors/common/transactor-settings.vue +0 -275
  111. package/packages/workflow-editor/src/properties-editors/common/user-selection.vue +0 -426
  112. package/packages/workflow-editor/src/properties-editors/common/value-selection-dialog.vue +0 -272
  113. package/packages/workflow-editor/src/properties-editors/common/variables.vue +0 -139
  114. package/packages/workflow-editor/src/properties-editors/copy-task/basic-properties.vue +0 -90
  115. package/packages/workflow-editor/src/properties-editors/copy-task/permission-settings.vue +0 -155
  116. package/packages/workflow-editor/src/properties-editors/copy-task.vue +0 -95
  117. package/packages/workflow-editor/src/properties-editors/decision.vue +0 -95
  118. package/packages/workflow-editor/src/properties-editors/fork.vue +0 -77
  119. package/packages/workflow-editor/src/properties-editors/human-decision.vue +0 -49
  120. package/packages/workflow-editor/src/properties-editors/human-task/additional-condition-dialog.vue +0 -62
  121. package/packages/workflow-editor/src/properties-editors/human-task/basic-properties.vue +0 -184
  122. package/packages/workflow-editor/src/properties-editors/human-task/componentsConfigUtil.js +0 -359
  123. package/packages/workflow-editor/src/properties-editors/human-task/custom-actions.vue +0 -256
  124. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-field-setting.vue +0 -405
  125. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-fields.vue +0 -257
  126. package/packages/workflow-editor/src/properties-editors/human-task/editable-field-selection.vue +0 -430
  127. package/packages/workflow-editor/src/properties-editors/human-task/editable-fields.vue +0 -206
  128. package/packages/workflow-editor/src/properties-editors/human-task/events.vue +0 -60
  129. package/packages/workflow-editor/src/properties-editors/human-task/permission-settings.vue +0 -224
  130. package/packages/workflow-editor/src/properties-editors/human-task/selection-conditions.vue +0 -499
  131. package/packages/workflow-editor/src/properties-editors/human-task.vue +0 -107
  132. package/packages/workflow-editor/src/properties-editors/join.vue +0 -49
  133. package/packages/workflow-editor/src/properties-editors/process/basic-properties.vue +0 -336
  134. package/packages/workflow-editor/src/properties-editors/process/events.vue +0 -79
  135. package/packages/workflow-editor/src/properties-editors/process/notice-settings.vue +0 -68
  136. package/packages/workflow-editor/src/properties-editors/process/parameter-settings.vue +0 -106
  137. package/packages/workflow-editor/src/properties-editors/process/permission-settings.vue +0 -28
  138. package/packages/workflow-editor/src/properties-editors/process/selectPage.vue +0 -88
  139. package/packages/workflow-editor/src/properties-editors/process.vue +0 -115
  140. package/packages/workflow-editor/src/properties-editors/subprocess/basic-properties.vue +0 -201
  141. package/packages/workflow-editor/src/properties-editors/subprocess/events.vue +0 -26
  142. package/packages/workflow-editor/src/properties-editors/subprocess/field-mappings.vue +0 -216
  143. package/packages/workflow-editor/src/properties-editors/subprocess/transactor-settings.vue +0 -66
  144. package/packages/workflow-editor/src/properties-editors/subprocess.vue +0 -80
  145. package/packages/workflow-editor/src/properties-editors/transition/basic-properties.vue +0 -53
  146. package/packages/workflow-editor/src/properties-editors/transition.vue +0 -75
  147. package/packages/workflow-editor/src/properties-editors/user-condition.js +0 -183
  148. package/packages/workflow-editor/src/store/getters.js +0 -33
  149. package/packages/workflow-editor/src/store/workflow-editor.js +0 -153
  150. package/packages/workflow-editor/src/taches/auto-task.vue +0 -99
  151. package/packages/workflow-editor/src/taches/common-methods.js +0 -21
  152. package/packages/workflow-editor/src/taches/copy-task.vue +0 -99
  153. package/packages/workflow-editor/src/taches/custom-task.vue +0 -88
  154. package/packages/workflow-editor/src/taches/decision.vue +0 -102
  155. package/packages/workflow-editor/src/taches/end.vue +0 -76
  156. package/packages/workflow-editor/src/taches/fork.vue +0 -102
  157. package/packages/workflow-editor/src/taches/human-decision.vue +0 -102
  158. package/packages/workflow-editor/src/taches/human-task.vue +0 -113
  159. package/packages/workflow-editor/src/taches/join.vue +0 -91
  160. package/packages/workflow-editor/src/taches/joint.vue +0 -177
  161. package/packages/workflow-editor/src/taches/start.vue +0 -76
  162. package/packages/workflow-editor/src/taches/subprocess.vue +0 -99
  163. package/packages/workflow-editor/src/taches/tache-resizer.vue +0 -80
  164. package/packages/workflow-editor/src/transitions/broken-line.vue +0 -91
  165. package/packages/workflow-editor/src/transitions/curve-line.vue +0 -91
  166. package/packages/workflow-editor/src/transitions/straight-line.vue +0 -26
  167. package/packages/workflow-editor/src/transitions/transition.vue +0 -209
  168. package/packages/workflow-editor/src/transitions/virtual-transition.vue +0 -43
  169. package/packages/workflow-editor/src/util.js +0 -499
  170. package/packages/workflow-editor/src/workflow-editor.vue +0 -852
  171. package/packages/workflow-editor/src/workflow-history.vue +0 -153
  172. package/src/i18n/i18n.js +0 -16
  173. package/src/i18n/langs/cn.js +0 -521
  174. package/src/i18n/langs/en.js +0 -529
  175. /package/{public → dist}/vite.svg +0 -0
@@ -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>