workflow-editor 0.0.6-up → 0.0.8-up

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/lib/workflow-editor.css +1 -0
  2. package/lib/workflow-editor.umd.cjs +55 -0
  3. package/package.json +12 -2
  4. package/index.html +0 -13
  5. package/packages/index.js +0 -34
  6. package/packages/plugins/formValidatorUtil.js +0 -533
  7. package/packages/plugins/index.js +0 -8
  8. package/packages/workflow-editor/index.js +0 -14
  9. package/packages/workflow-editor/src/api.js +0 -7
  10. package/packages/workflow-editor/src/assets/wf-editor-icons.js +0 -2
  11. package/packages/workflow-editor/src/constant.js +0 -8
  12. package/packages/workflow-editor/src/json-object-templates/auto-task.js +0 -70
  13. package/packages/workflow-editor/src/json-object-templates/copy-task.js +0 -72
  14. package/packages/workflow-editor/src/json-object-templates/decision.js +0 -11
  15. package/packages/workflow-editor/src/json-object-templates/end.js +0 -14
  16. package/packages/workflow-editor/src/json-object-templates/fork.js +0 -10
  17. package/packages/workflow-editor/src/json-object-templates/human-decision.js +0 -9
  18. package/packages/workflow-editor/src/json-object-templates/human-task.js +0 -199
  19. package/packages/workflow-editor/src/json-object-templates/join.js +0 -10
  20. package/packages/workflow-editor/src/json-object-templates/process.js +0 -98
  21. package/packages/workflow-editor/src/json-object-templates/start.js +0 -13
  22. package/packages/workflow-editor/src/json-object-templates/subprocess.js +0 -31
  23. package/packages/workflow-editor/src/json-object-templates/transition.js +0 -26
  24. package/packages/workflow-editor/src/main/admin-save-dialog.vue +0 -66
  25. package/packages/workflow-editor/src/main/canvas.vue +0 -483
  26. package/packages/workflow-editor/src/main/context-menu.vue +0 -132
  27. package/packages/workflow-editor/src/main/icon-svg.vue +0 -32
  28. package/packages/workflow-editor/src/main/selection-region.vue +0 -66
  29. package/packages/workflow-editor/src/main/tache-history-tooltip.vue +0 -38
  30. package/packages/workflow-editor/src/main/tache-name-input.vue +0 -19
  31. package/packages/workflow-editor/src/main/tache-subprocess-history-dialog.vue +0 -35
  32. package/packages/workflow-editor/src/main/toolbox.vue +0 -60
  33. package/packages/workflow-editor/src/main/wf-history-canvas.vue +0 -304
  34. package/packages/workflow-editor/src/process-json.js +0 -623
  35. package/packages/workflow-editor/src/process-service.js +0 -31
  36. package/packages/workflow-editor/src/properties-editors/auto-task/basic-properties.vue +0 -81
  37. package/packages/workflow-editor/src/properties-editors/auto-task/permission-settings.vue +0 -155
  38. package/packages/workflow-editor/src/properties-editors/auto-task.vue +0 -73
  39. package/packages/workflow-editor/src/properties-editors/common/additional-condition-utils.js +0 -531
  40. package/packages/workflow-editor/src/properties-editors/common/additional-condition.vue +0 -276
  41. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields-utils.js +0 -34
  42. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields.vue +0 -239
  43. package/packages/workflow-editor/src/properties-editors/common/common-notice-tool.vue +0 -67
  44. package/packages/workflow-editor/src/properties-editors/common/common-user-condition.vue +0 -241
  45. package/packages/workflow-editor/src/properties-editors/common/form-fields-utils.js +0 -23
  46. package/packages/workflow-editor/src/properties-editors/common/form-fields.vue +0 -116
  47. package/packages/workflow-editor/src/properties-editors/common/i18n-input.vue +0 -75
  48. package/packages/workflow-editor/src/properties-editors/common/i18n-set-dialog.vue +0 -125
  49. package/packages/workflow-editor/src/properties-editors/common/notice-reminder.vue +0 -72
  50. package/packages/workflow-editor/src/properties-editors/common/notice.vue +0 -101
  51. package/packages/workflow-editor/src/properties-editors/common/reminder.vue +0 -185
  52. package/packages/workflow-editor/src/properties-editors/common/select-mail-template.vue +0 -83
  53. package/packages/workflow-editor/src/properties-editors/common/standard-fields.vue +0 -65
  54. package/packages/workflow-editor/src/properties-editors/common/system-role-tree-inline.vue +0 -347
  55. package/packages/workflow-editor/src/properties-editors/common/system-role-tree.vue +0 -63
  56. package/packages/workflow-editor/src/properties-editors/common/task-title.vue +0 -148
  57. package/packages/workflow-editor/src/properties-editors/common/transactor-settings.vue +0 -233
  58. package/packages/workflow-editor/src/properties-editors/common/user-selection.vue +0 -386
  59. package/packages/workflow-editor/src/properties-editors/common/value-selection-dialog.vue +0 -209
  60. package/packages/workflow-editor/src/properties-editors/common/variables.vue +0 -135
  61. package/packages/workflow-editor/src/properties-editors/copy-task/basic-properties.vue +0 -90
  62. package/packages/workflow-editor/src/properties-editors/copy-task/permission-settings.vue +0 -155
  63. package/packages/workflow-editor/src/properties-editors/copy-task.vue +0 -94
  64. package/packages/workflow-editor/src/properties-editors/decision.vue +0 -90
  65. package/packages/workflow-editor/src/properties-editors/fork.vue +0 -72
  66. package/packages/workflow-editor/src/properties-editors/human-decision.vue +0 -44
  67. package/packages/workflow-editor/src/properties-editors/human-task/additional-condition-dialog.vue +0 -60
  68. package/packages/workflow-editor/src/properties-editors/human-task/basic-properties.vue +0 -160
  69. package/packages/workflow-editor/src/properties-editors/human-task/componentsConfigUtil.js +0 -291
  70. package/packages/workflow-editor/src/properties-editors/human-task/custom-actions.vue +0 -249
  71. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-field-setting.vue +0 -392
  72. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-fields.vue +0 -241
  73. package/packages/workflow-editor/src/properties-editors/human-task/editable-field-selection.vue +0 -220
  74. package/packages/workflow-editor/src/properties-editors/human-task/editable-fields.vue +0 -204
  75. package/packages/workflow-editor/src/properties-editors/human-task/events.vue +0 -59
  76. package/packages/workflow-editor/src/properties-editors/human-task/permission-settings.vue +0 -207
  77. package/packages/workflow-editor/src/properties-editors/human-task/selection-conditions.vue +0 -390
  78. package/packages/workflow-editor/src/properties-editors/human-task.vue +0 -109
  79. package/packages/workflow-editor/src/properties-editors/join.vue +0 -44
  80. package/packages/workflow-editor/src/properties-editors/process/basic-properties.vue +0 -273
  81. package/packages/workflow-editor/src/properties-editors/process/events.vue +0 -76
  82. package/packages/workflow-editor/src/properties-editors/process/notice-settings.vue +0 -60
  83. package/packages/workflow-editor/src/properties-editors/process/parameter-settings.vue +0 -95
  84. package/packages/workflow-editor/src/properties-editors/process/permission-settings.vue +0 -28
  85. package/packages/workflow-editor/src/properties-editors/process/selectPage.vue +0 -81
  86. package/packages/workflow-editor/src/properties-editors/process.vue +0 -115
  87. package/packages/workflow-editor/src/properties-editors/subprocess/basic-properties.vue +0 -199
  88. package/packages/workflow-editor/src/properties-editors/subprocess/events.vue +0 -26
  89. package/packages/workflow-editor/src/properties-editors/subprocess/field-mappings.vue +0 -206
  90. package/packages/workflow-editor/src/properties-editors/subprocess/transactor-settings.vue +0 -64
  91. package/packages/workflow-editor/src/properties-editors/subprocess.vue +0 -79
  92. package/packages/workflow-editor/src/properties-editors/transition/basic-properties.vue +0 -53
  93. package/packages/workflow-editor/src/properties-editors/transition.vue +0 -74
  94. package/packages/workflow-editor/src/properties-editors/user-condition.js +0 -177
  95. package/packages/workflow-editor/src/store/getters.js +0 -27
  96. package/packages/workflow-editor/src/store/workflow-editor.js +0 -125
  97. package/packages/workflow-editor/src/taches/auto-task.vue +0 -99
  98. package/packages/workflow-editor/src/taches/common-methods.js +0 -21
  99. package/packages/workflow-editor/src/taches/copy-task.vue +0 -99
  100. package/packages/workflow-editor/src/taches/custom-task.vue +0 -88
  101. package/packages/workflow-editor/src/taches/decision.vue +0 -102
  102. package/packages/workflow-editor/src/taches/end.vue +0 -76
  103. package/packages/workflow-editor/src/taches/fork.vue +0 -102
  104. package/packages/workflow-editor/src/taches/human-decision.vue +0 -102
  105. package/packages/workflow-editor/src/taches/human-task.vue +0 -113
  106. package/packages/workflow-editor/src/taches/join.vue +0 -91
  107. package/packages/workflow-editor/src/taches/joint.vue +0 -177
  108. package/packages/workflow-editor/src/taches/start.vue +0 -76
  109. package/packages/workflow-editor/src/taches/subprocess.vue +0 -99
  110. package/packages/workflow-editor/src/taches/tache-resizer.vue +0 -80
  111. package/packages/workflow-editor/src/transitions/broken-line.vue +0 -91
  112. package/packages/workflow-editor/src/transitions/curve-line.vue +0 -91
  113. package/packages/workflow-editor/src/transitions/straight-line.vue +0 -26
  114. package/packages/workflow-editor/src/transitions/transition.vue +0 -212
  115. package/packages/workflow-editor/src/transitions/virtual-transition.vue +0 -43
  116. package/packages/workflow-editor/src/util.js +0 -489
  117. package/packages/workflow-editor/src/workflow-editor.vue +0 -606
  118. package/packages/workflow-editor/src/workflow-history.vue +0 -153
  119. package/src/i18n/i18n.js +0 -16
  120. package/src/i18n/langs/cn.js +0 -509
  121. package/src/i18n/langs/en.js +0 -551
  122. package/vite.config.js +0 -36
  123. /package/{public → lib}/vite.svg +0 -0
@@ -1,392 +0,0 @@
1
- <template>
2
- <div>
3
- <div>
4
- <el-row>
5
- <el-checkbox-group v-model="actionArr" @change="changeActionArr">
6
- <el-col :span="8">
7
- <el-checkbox label="add">
8
- {{ $t('workflowEditor.condition.rowsCanBeAdded') }}
9
- <i v-if="actionArr && actionArr.indexOf('add') !== -1" class="el-icon-s-tools" @click="showButtonVisible('add')" />
10
- </el-checkbox>
11
- </el-col>
12
- <el-col :span="8">
13
- <el-checkbox label="delete">
14
- {{ $t('workflowEditor.condition.deleteLine') }}
15
- <i v-if="actionArr && actionArr.indexOf('delete') !== -1" class="el-icon-s-tools" @click="showButtonVisible('delete')" />
16
- </el-checkbox>
17
- </el-col>
18
- <el-col :span="8">
19
- <el-checkbox label="update">
20
- {{ $t('workflowEditor.condition.modifiableHistoricalData') }}
21
- <i v-if="actionArr && actionArr.indexOf('update') !== -1" class="el-icon-s-tools" @click="showButtonVisible('update')" />
22
- </el-checkbox>
23
- </el-col>
24
- </el-checkbox-group>
25
- <!-- <el-col :span="4">
26
- <el-radio v-model="permission" label="fieldControl" @change="combinationParameters()">
27
- {{ $t('workflowEditor.condition.controlByField') }}
28
- </el-radio>
29
- </el-col>
30
- <el-col :span="4">
31
- <el-radio v-model="permission" label="allForbidden" @change="combinationParameters()">
32
- {{ $t('workflowEditor.condition.allReadOnly') }}
33
- </el-radio>
34
- </el-col>
35
- <el-col :span="4">
36
- <el-radio v-model="permission" label="allRequired" @change="combinationParameters()">
37
- {{ $t('workflowEditor.condition.allRequired') }}
38
- </el-radio>
39
- </el-col> -->
40
- </el-row>
41
- <selection-conditions v-if="showButtonVisibleFlag" :attribute-map="subtableConditionItem" :condition-list="buttonVisibleCon.condition" :parent-condition="buttonVisibleCon.parentCondition" :user-condition="buttonVisibleCon.userCondition" :is-add="buttonType && buttonType=== 'add'" @close="saveButtonVisible" />
42
- </div>
43
- <div>
44
- <el-row>
45
- <el-button type="primary" size="mini" plain icon="el-icon-circle-plus-outline" @click="add">
46
- {{ $t('workflowEditorPublicModel.add') }}
47
- </el-button>
48
- <el-button type="primary" size="mini" plain icon="el-icon-delete" @click="remove">
49
- {{ $t('workflowEditorPublicModel.delete') }}
50
- </el-button>
51
- </el-row>
52
- <el-table
53
- ref="table"
54
- :data="fieldArr"
55
- border
56
- highlight-current-row
57
- style="width: 100%"
58
- @selection-change="handleSelectionChange"
59
- @current-change="handleCurrentChange"
60
- >
61
- <el-table-column
62
- type="selection"
63
- width="55"
64
- />
65
- <el-table-column
66
- type="index"
67
- width="50"
68
- />
69
- <el-table-column
70
- prop="name"
71
- :label="$t('workflowEditor.task.propertyName')"
72
- width="280"
73
- >
74
- <template slot-scope="scope">
75
- <el-select v-model="scope.row.name" size="small" filterable @change="combinationParameters">
76
- <el-option :label="$t('workflowEditor.condition.allFields')" value="all_fields" />
77
- <el-option
78
- v-for="item in attributeArr"
79
- :key="item.value"
80
- :label="item.label"
81
- :value="item.value"
82
- />
83
- </el-select>
84
- </template>
85
- </el-table-column>
86
- <el-table-column
87
- prop="constraintRule"
88
- :label="$t('workflowEditor.task.editingMethod')"
89
- width="380"
90
- >
91
- <template slot-scope="scope">
92
- <el-radio-group v-model="scope.row.constraintRule" @change="combinationParameters">
93
- <el-radio label="REQUIRED">
94
- {{ $t('workflowEditorMessage.mustFill') }}
95
- </el-radio>
96
- <el-radio label="READ_ONLY">
97
- {{ $t('workflowEditorMessage.readOnly') }}
98
- </el-radio>
99
- </el-radio-group>
100
- </template>
101
- </el-table-column>
102
- <el-table-column
103
- prop="condition"
104
- :label="$t('workflowEditor.task.condition')"
105
- >
106
- <template slot-scope="scope">
107
- <i class="el-icon-s-tools" @click="selectCondition(scope.row)" />
108
- <!-- <el-input
109
- :value="formatConditionList(scope.row.condition)"
110
- type="textarea"
111
- autosize
112
- @focus="selectCondition(scope.row)"
113
- /> -->
114
- </template>
115
- </el-table-column>
116
- </el-table>
117
- <selection-conditions v-if="showAdditionalCondition" :attribute-map="subtableConditionItem" :condition-list="currentRow.condition" :parent-condition="currentRow.parentCondition" :user-condition="currentRow.userCondition" @close="savebuttonSetting" />
118
- </div>
119
- </div>
120
- </template>
121
-
122
- <script>
123
- import { mapGetters } from 'vuex'
124
- import selectionConditions from './selection-conditions'
125
- import componentsConfigUtil from './componentsConfigUtil'
126
-
127
- export default {
128
- name: 'EditableChildFieldSetting',
129
- components: {
130
- selectionConditions
131
- },
132
- props: {
133
- setting: {
134
- type: Object,
135
- default: null
136
- },
137
- tableName: {
138
- type: String,
139
- default: null
140
- }
141
- },
142
- data() {
143
- let actionArr = []
144
- if (this.setting && this.setting.actionArr) {
145
- actionArr = this.setting.actionArr
146
- }
147
- let fieldArr = []
148
- if (this.setting && this.setting.fieldArr) {
149
- fieldArr = this.setting.fieldArr
150
- }
151
- let actionVisibleConditionArr
152
- if (this.setting && this.setting.visibleConditionArr) {
153
- actionVisibleConditionArr = this.setting.visibleConditionArr
154
- }
155
- let modelName
156
- if (this.setting && this.setting.modelName) {
157
- modelName = this.setting.modelName
158
- }
159
- let sumPermission
160
- if (this.setting && this.setting.sumPermission !== null) {
161
- sumPermission = this.setting.sumPermission
162
- }
163
- return {
164
- sumPermission,
165
- subtableConditionItem: null,
166
- attributeArr: null,
167
- showAdditionalCondition: false,
168
- currentRow: null,
169
- multipleSelection: null,
170
- actionArr,
171
- fieldArr,
172
- queryList: null,
173
- fieldMap: null,
174
- fieldNameMap: null,
175
- actionVisibleConditionArr,
176
- buttonType: null,
177
- buttonVisibleCon: null,
178
- showButtonVisibleFlag: false,
179
- clickButton: false,
180
- operationArr: [],
181
- modelName
182
- }
183
- },
184
- watch: {
185
- setting: {
186
- handler(newValue, oldValue) {
187
- if (newValue && newValue.actionArr) {
188
- this.actionArr = newValue.actionArr
189
- }
190
- if (newValue && newValue.fieldArr) {
191
- this.fieldArr = newValue.fieldArr
192
- }
193
- if (newValue && newValue.actionVisibleConditionArr) {
194
- this.actionVisibleConditionArr = newValue.actionVisibleConditionArr
195
- }
196
- this.modelName = newValue.modelName
197
- this.sumPermission = newValue.sumPermission
198
- this.combinationParameters()
199
- },
200
- deep: true
201
- }
202
- // permission: {
203
- // handler(newValue, oldValue) {
204
- // console.log(11111111111111)
205
- // this.combinationParameters()
206
- // }
207
- // },
208
- // actionArr: {
209
- // handler(newValue, oldValue) {
210
- // console.log(22222222222222)
211
- // this.combinationParameters()
212
- // }
213
- // },
214
- // fieldArr: {
215
- // handler(newValue, oldValue) {
216
- // console.log(333333333333333)
217
- // this.combinationParameters()
218
- // },
219
- // deep: true
220
- // },
221
- // actionVisibleConditionArr: {
222
- // handler(newValue, oldValue) {
223
- // console.log(4444444444444444)
224
- // this.combinationParameters()
225
- // },
226
- // deep: true
227
- // }
228
- },
229
- computed: {
230
- ...mapGetters('wfEditor', [
231
- 'subtableConditionMap'
232
- ])
233
- },
234
- created() {
235
- if (this.subtableConditionMap) {
236
- if (this.tableName) {
237
- this.subtableConditionItem = this.subtableConditionMap[this.tableName]
238
- this.getAttributeArr()
239
- }
240
- }
241
- },
242
- mounted() {
243
- if (this.subtableConditionMap) {
244
- if (this.tableName) {
245
- this.subtableConditionItem = this.subtableConditionMap[this.tableName]
246
- if (this.subtableConditionMap[this.tableName]) {
247
- this.attributeArr = this.subtableConditionItem.attributeArr
248
- }
249
- }
250
- }
251
- },
252
- methods: {
253
- ...componentsConfigUtil,
254
- getAttributeArr() {
255
- if (this.subtableConditionItem && this.subtableConditionItem.attributeArr) {
256
- this.queryList = this.subtableConditionItem.attributeArr
257
- this.fieldMap = this.subtableConditionItem.fieldMap
258
- this.fieldNameMap = this.subtableConditionItem.fieldNameMap
259
- }
260
- },
261
- savebuttonSetting(param) {
262
- if (param) {
263
- this.$set(this.currentRow, 'condition', param.condition)
264
- this.$set(this.currentRow, 'userCondition', param.userCondition)
265
- this.$set(this.currentRow, 'parentCondition', param.parentCondition)
266
- this.combinationParameters()
267
- }
268
- this.showAdditionalCondition = false
269
- },
270
- handleCurrentChange(val) {
271
- this.currentRow = val
272
- },
273
- handleSelectionChange(val) {
274
- this.multipleSelection = val
275
- },
276
- selectRow(row) {
277
- this.$refs.table.setCurrentRow(row)
278
- },
279
- add() {
280
- if (!this.fieldArr) {
281
- this.fieldArr = []
282
- }
283
- this.fieldArr.push(
284
- {
285
- name: null,
286
- constraintRule: null,
287
- condition: null
288
- }
289
- )
290
- this.combinationParameters()
291
- },
292
- getCurrentRowIndex() {
293
- let index = -1
294
- for (let i = 0; i < this.fieldArr.length; i++) {
295
- if (this.fieldArr[i].name === this.currentRow.name) {
296
- index = i
297
- break
298
- }
299
- }
300
- return index
301
- },
302
- remove() {
303
- if (this.multipleSelection && this.multipleSelection.length > 0) {
304
- for (var i = 0; i < this.multipleSelection.length; i++) {
305
- const selectRow = this.multipleSelection[i]
306
- this.selectRow(selectRow)
307
- const index = this.getCurrentRowIndex()
308
- this.fieldArr.splice(index, 1)
309
- }
310
- // this.$emit('input', this.selectedFields)
311
- this.combinationParameters()
312
- }
313
- },
314
- selectCondition(row) {
315
- this.selectRow(row)
316
- this.showAdditionalCondition = true
317
- },
318
- showButtonVisible(type) {
319
- this.clickButton = true
320
- this.buttonType = type
321
- if (this.actionVisibleConditionArr && this.actionVisibleConditionArr[type]) {
322
- this.buttonVisibleCon = this.actionVisibleConditionArr[type]
323
- this.$set(this, 'buttonVisibleCon', this.actionVisibleConditionArr[type])
324
- } else {
325
- this.$set(this, 'buttonVisibleCon', {})
326
- }
327
- this.$set(this, 'showButtonVisibleFlag', true)
328
- },
329
- saveButtonVisible(param) {
330
- if (param) {
331
- if (!this.actionVisibleConditionArr) {
332
- this.actionVisibleConditionArr = {}
333
- }
334
- this.$set(this.actionVisibleConditionArr, this.buttonType, param)
335
- this.combinationParameters()
336
- }
337
- this.showButtonVisibleFlag = false
338
- },
339
- changeActionArr() {
340
- if (this.clickButton) {
341
- this.actionArr.push(this.buttonType)
342
- this.clickButton = false
343
- } else {
344
- this.combinationParameters()
345
- }
346
- },
347
- // 组合参数
348
- combinationParameters() {
349
- const subTableItem = {}
350
- subTableItem.modelName = this.modelName
351
- subTableItem.tableName = this.tableName
352
- subTableItem.permission = this.sumPermission
353
- const actions = []
354
- if (this.actionArr && this.actionArr.length > 0) {
355
- this.actionArr.forEach(type => {
356
- const action = {}
357
- action.name = type
358
- if (this.actionVisibleConditionArr && this.actionVisibleConditionArr[type]) {
359
- const param = this.actionVisibleConditionArr[type]
360
- action.condition = this.dataToXml(param.condition)
361
- action.parentCondition = param.parentCondition
362
- action.userCondition = param.userCondition
363
- }
364
- actions.push(action)
365
- })
366
- subTableItem.action = actions
367
- }
368
- if (this.fieldArr && this.fieldArr.length > 0) {
369
- const field = []
370
- this.fieldArr.forEach(item => {
371
- const fieldItem = {}
372
- fieldItem.name = item.name
373
- fieldItem.constraintRule = item.constraintRule
374
- if (item.condition) {
375
- fieldItem.condition = this.dataToXml(item.condition)
376
- }
377
- fieldItem.userCondition = item.userCondition
378
- fieldItem.parentCondition = item.parentCondition
379
- field.push(fieldItem)
380
- })
381
- subTableItem.field = field
382
- }
383
- console.log('触发combinationParameters', subTableItem)
384
- this.$emit('combinationParameters', subTableItem)
385
- }
386
- }
387
- }
388
- </script>
389
-
390
- <style lang="scss" scoped>
391
-
392
- </style>
@@ -1,241 +0,0 @@
1
- <template>
2
- <div>
3
- <el-card class="box-card">
4
- <span v-for="(mapValue, key) in subtableConditionMap" :key="key">
5
- <div slot="header" class="clearfix">
6
- <el-row>
7
- <el-col :span="12">
8
- <span>{{ key }}</span>
9
- </el-col>
10
- <el-col v-if="selectedFieldMap[key]" :span="12">
11
- <el-switch
12
- v-model="selectedFieldMap[key].sumPermission"
13
- :inactive-text="$t('workflowEditor.condition.accessControl')"
14
- @change="changeSumPermission(key)"
15
- />
16
- </el-col>
17
- </el-row>
18
- <el-row>
19
- <el-col>
20
- <span v-if="selectedFieldMap[key] && selectedFieldMap[key].sumPermission">
21
- <span style="color: cornflowerblue">{{ $t('workflowEditor.condition.formBindingModel') }}:</span>
22
- <span style="padding-left:5px"><el-input v-model="selectedFieldMap[key].modelName" style="width:300px" /></span>
23
- <el-button icon="el-icon-refresh" type="text" @click="refreshModelName(key)" />
24
- </span>
25
- </el-col>
26
- </el-row>
27
- <!-- <span>{{ selectedFieldMap }}</span> -->
28
- </div>
29
- <div v-if="selectedFieldMap[key] && selectedFieldMap[key].sumPermission">
30
- <editable-child-field-setting :setting="selectedFieldMap[key]" :table-name="key" @combinationParameters="combinationParameters" />
31
- </div>
32
- </span>
33
- </el-card>
34
- </div>
35
- </template>
36
-
37
- <script>
38
- import editableChildFieldSetting from './editable-child-field-setting'
39
- import componentsConfigUtil from './componentsConfigUtil'
40
- import { mapGetters } from 'vuex'
41
- export default {
42
- name: 'EditableChildFields',
43
- components: {
44
- editableChildFieldSetting
45
- },
46
- props: {
47
- value: {
48
- type: [Array, Object],
49
- default: null
50
- }
51
- },
52
- data() {
53
- let selectedFields = []
54
- if (this.value !== '' && this.value !== null && this.value !== undefined) {
55
- if (Array.isArray(this.value)) {
56
- selectedFields = this.value
57
- } else {
58
- // 只有一个字段时其实是field对象
59
- selectedFields.push(this.value)
60
- }
61
- }
62
- return {
63
- selectedFields,
64
- selectedFieldMap: {}
65
- }
66
- },
67
- computed: {
68
- ...mapGetters('wfEditor', [
69
- 'subtableConditionMap'
70
- ])
71
- },
72
- watch: {
73
- },
74
- created() {
75
- if (this.selectedFields && this.selectedFields.length > 0) {
76
- this.selectedFields.forEach(item => {
77
- const sss = {}
78
- const tableName = item.tableName
79
- if (item.action) {
80
- if (Array.isArray(item.action)) {
81
- if (item.action.length > 0) {
82
- const sssActionArr = []
83
- const actionVisibleCondition = {}
84
- item.action.forEach(item1 => {
85
- sssActionArr.push(item1.name)
86
- const param = {}
87
- if (item1.condition) {
88
- param.condition = this.xmlToData(item1.condition)
89
- }
90
- param.parentCondition = item1.parentCondition
91
- param.userCondition = item1.userCondition
92
- actionVisibleCondition[item1.name] = param
93
- // actionVisibleCondition[item1.name] = item1.visibleCondition
94
- })
95
- sss.actionArr = sssActionArr
96
- sss.visibleConditionArr = actionVisibleCondition
97
- }
98
- } else {
99
- const sssActionArr = []
100
- const actionVisibleCondition = {}
101
- sssActionArr.push(item.action.name)
102
- const param = {}
103
- if (item.action.condition) {
104
- param.condition = this.xmlToData(item.action.condition)
105
- }
106
- param.parentCondition = item.action.parentCondition
107
- param.userCondition = item.action.userCondition
108
- actionVisibleCondition[item.action.name] = param
109
- sss.actionArr = sssActionArr
110
- sss.visibleConditionArr = actionVisibleCondition
111
- }
112
- }
113
- if (item.field) {
114
- if (Array.isArray(item.field)) {
115
- if (item.field.length > 0) {
116
- const sssFieldArr = []
117
- item.field.forEach(item2 => {
118
- const fieldItem = {}
119
- fieldItem.name = item2.name
120
- fieldItem.constraintRule = item2.constraintRule
121
- fieldItem.condition = this.xmlToData(item2.condition)
122
- fieldItem.userCondition = item2.userCondition
123
- fieldItem.parentCondition = item2.parentCondition
124
- sssFieldArr.push(fieldItem)
125
- })
126
- sss.fieldArr = sssFieldArr
127
- }
128
- } else {
129
- const sssFieldArr = []
130
- const fieldItem = {}
131
- fieldItem.name = item.field.name
132
- fieldItem.constraintRule = item.field.constraintRule
133
- fieldItem.condition = this.xmlToData(item.field.condition)
134
- fieldItem.userCondition = item.field.userCondition
135
- fieldItem.parentCondition = item.field.parentCondition
136
- sssFieldArr.push(fieldItem)
137
- sss.fieldArr = sssFieldArr
138
- }
139
- }
140
- if (item.modelName) {
141
- sss.modelName = item.modelName
142
- } else {
143
- sss.modelName = null
144
- }
145
- if (item.permission) {
146
- sss.sumPermission = item.permission
147
- } else {
148
- sss.sumPermission = false
149
- }
150
- this.$set(this.selectedFieldMap, tableName, sss)
151
- })
152
- }
153
- if (this.subtableConditionMap) {
154
- for (var key in this.subtableConditionMap) {
155
- if (!this.selectedFieldMap[key]) {
156
- const sss = {}
157
- sss.tableName = key
158
- sss.modelName = this.subtableConditionMap[key].modelName
159
- sss.sumPermission = false
160
- this.$set(this.selectedFieldMap, key, sss)
161
- }
162
- }
163
- }
164
- },
165
- mounted() {
166
-
167
- },
168
- methods: {
169
- ...componentsConfigUtil,
170
- combinationParameters(subTableItem) {
171
- if (subTableItem && subTableItem.tableName) {
172
- if (this.selectedFields && this.selectedFields.length > 0) {
173
- const index = this.selectedFields.findIndex((fie) => fie.tableName === subTableItem.tableName)
174
- if (index !== -1) {
175
- // this.selectedFields[index] = subTableItem
176
- this.$set(this.selectedFields, index, subTableItem)
177
- } else {
178
- this.selectedFields.push(subTableItem)
179
- }
180
- } else {
181
- this.selectedFields = []
182
- this.selectedFields.push(subTableItem)
183
- }
184
- this.$emit('input', this.selectedFields)
185
- }
186
- },
187
- refreshModelName(key) {
188
- if (this.subtableConditionMap && this.subtableConditionMap[key] && this.subtableConditionMap[key].modelName) {
189
- if (this.selectedFieldMap[key]) {
190
- const sss = this.selectedFieldMap[key]
191
- sss.modelName = this.subtableConditionMap[key].modelName
192
- } else {
193
- const sss = {}
194
- sss.modelName = this.subtableConditionMap[key].modelName
195
- this.$set(this.selectedFieldMap, key, sss)
196
- }
197
- this.$message({
198
- showClose: true,
199
- type: 'success',
200
- message: this.$t('workflowEditorMessage.updateSuccessful')
201
- })
202
- }
203
- },
204
- changeSumPermission(key) {
205
- if (key && this.selectedFieldMap[key]) {
206
- if (!this.selectedFields) {
207
- this.$set(this, 'selectedFields', [])
208
- }
209
- if (this.selectedFieldMap[key].sumPermission === false) {
210
- const index = this.selectedFields.findIndex((fie) => fie.tableName === key)
211
- if (index !== null && index !== undefined && index !== -1) {
212
- // this.$delete(this.selectedFields, index)
213
- this.$set(this.selectedFields[index], 'permission', false)
214
- } else {
215
- this.$set(this.selectedFields, this.selectedFields.length, {
216
- permission: false,
217
- tableName: key
218
- })
219
- }
220
- } else {
221
- const index = this.selectedFields.findIndex((fie) => fie.tableName === key)
222
- if (index !== null && index !== undefined && index !== -1) {
223
- // this.$delete(this.selectedFields, index)
224
- this.$set(this.selectedFields[index], 'permission', true)
225
- } else {
226
- this.$set(this.selectedFields, this.selectedFields.length, {
227
- permission: true,
228
- tableName: key
229
- })
230
- }
231
- }
232
- }
233
- this.$emit('input', this.selectedFields)
234
- }
235
- }
236
- }
237
- </script>
238
-
239
- <style lang="scss" scoped>
240
-
241
- </style>