workflow-editor 0.9.68-pv → 0.9.68

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 (32) hide show
  1. package/lib/workflow-editor.css +1 -1
  2. package/lib/workflow-editor.umd.min.js +8 -8
  3. package/package.json +2 -2
  4. package/packages/plugins/formValidatorUtil.js +6 -1
  5. package/packages/workflow-editor/src/json-object-templates/auto-task.js +70 -0
  6. package/packages/workflow-editor/src/json-object-templates/copy-task.js +5 -0
  7. package/packages/workflow-editor/src/json-object-templates/subprocess.js +2 -1
  8. package/packages/workflow-editor/src/main/canvas.vue +5 -1
  9. package/packages/workflow-editor/src/main/wf-history-canvas.vue +3 -1
  10. package/packages/workflow-editor/src/process-json.js +2 -1
  11. package/packages/workflow-editor/src/process-service.js +2 -2
  12. package/packages/workflow-editor/src/properties-editors/auto-task/basic-properties.vue +81 -0
  13. package/packages/workflow-editor/src/properties-editors/auto-task/permission-settings.vue +155 -0
  14. package/packages/workflow-editor/src/properties-editors/auto-task.vue +73 -0
  15. package/packages/workflow-editor/src/properties-editors/common/additional-condition-utils.js +36 -11
  16. package/packages/workflow-editor/src/properties-editors/common/form-fields-utils.js +1 -1
  17. package/packages/workflow-editor/src/properties-editors/common/notice-reminder.vue +1 -1
  18. package/packages/workflow-editor/src/properties-editors/common/transactor-settings.vue +51 -9
  19. package/packages/workflow-editor/src/properties-editors/copy-task.vue +15 -1
  20. package/packages/workflow-editor/src/properties-editors/human-task/basic-properties.vue +5 -1
  21. package/packages/workflow-editor/src/properties-editors/human-task.vue +2 -2
  22. package/packages/workflow-editor/src/properties-editors/process/basic-properties.vue +9 -62
  23. package/packages/workflow-editor/src/properties-editors/process/selectPage.vue +1 -8
  24. package/packages/workflow-editor/src/properties-editors/subprocess/basic-properties.vue +18 -6
  25. package/packages/workflow-editor/src/properties-editors/user-condition.js +7 -1
  26. package/packages/workflow-editor/src/store/getters.js +1 -2
  27. package/packages/workflow-editor/src/store/workflow-editor.js +0 -3
  28. package/packages/workflow-editor/src/taches/auto-task.vue +99 -0
  29. package/packages/workflow-editor/src/util.js +32 -36
  30. package/packages/workflow-editor/src/workflow-editor.vue +8 -27
  31. package/src/i18n/langs/cn.js +32 -23
  32. package/src/i18n/langs/en.js +8 -2
@@ -11,6 +11,9 @@
11
11
  <el-radio label="byField">
12
12
  {{ $t('workflowEditor.process.personSpecifiedInFormField') }}
13
13
  </el-radio>
14
+ <el-radio label="byDeptField">
15
+ {{ $t('workflowEditor.process.deptSpecifiedInFormField') }}
16
+ </el-radio>
14
17
  <el-radio label="byCondition">
15
18
  {{ $t('workflowEditor.process.filterByCriteria') }}
16
19
  </el-radio>
@@ -19,16 +22,16 @@
19
22
  <common-user-condition v-model="formModel.userCondition" used-in="transactor" />
20
23
  </div>
21
24
  <el-form-item
22
- v-if="formModel.transactor==='byField'"
25
+ v-if="formModel.transactor==='byField' || formModel.transactor==='byDeptField' "
26
+ :label="$t('workflowEditor.process.fieldName')"
23
27
  prop="selectedField"
24
28
  required
25
- :label="$t('workflowEditor.process.fieldName')"
26
29
  label-width="80px"
27
30
  >
28
31
  <el-input :value="formatLabel(formModel.selectedField)" @focus="showFormFields=true" />
29
32
  <form-fields v-if="showFormFields" @close="setField" />
30
33
  </el-form-item>
31
- <div v-if="formModel.transactor==='byCondition' || formModel.transactor==='byField'">
34
+ <div v-if="formModel.transactor==='byCondition' || formModel.transactor==='byField' || formModel.transactor==='byDeptField'">
32
35
  <el-form-item :label="$t('workflowEditor.process.additionalConditions')">
33
36
  <el-checkbox v-model="formModel.additionalCondition.onlyInCreatorDepartment">
34
37
  {{ $t('workflowEditor.process.handlingYyThePersonnelOfTheDepartmentOfTheInitiator') }}
@@ -45,6 +48,9 @@
45
48
  <el-checkbox v-if="isSubprocess" v-model="formModel.additionalCondition.generateOneInstanceFromDept">
46
49
  {{ $t('workflowEditor.process.generateOneInstanceFromDept') }}
47
50
  </el-checkbox>
51
+ <el-checkbox v-if="isCountersign" v-model="formModel.additionalCondition.activateOneVoteVeto">
52
+ {{ $t('workflowEditor.process.activateOneVoteVeto') }}
53
+ </el-checkbox>
48
54
  </el-form-item>
49
55
  <div v-if="formModel.additionalCondition.selectOneFromMultiple">
50
56
  <el-form-item :label="$t('workflowEditor.process.selectionMethod')">
@@ -59,9 +65,9 @@
59
65
  </el-form-item>
60
66
  <el-form-item
61
67
  v-show="formModel.additionalCondition.selectType==='autoType'"
62
- prop="additionalCondition.selectUrl"
63
68
  :label="$t('workflowEditor.process.callbackURL')"
64
69
  :rules="[{ required: true, message: this.$t('workflowEditor.process.cannotBeEmpty'), trigger: 'blur' }]"
70
+ prop="additionalCondition.selectUrl"
65
71
  >
66
72
  <el-input v-model="formModel.additionalCondition.selectUrl" />
67
73
  </el-form-item>
@@ -70,9 +76,9 @@
70
76
  </el-form-item>
71
77
  <el-form-item
72
78
  v-if="usedIn==='HumanTask' && formModel.transactor==='${previousTransactorAssignment}'"
73
- prop="url"
74
79
  :rules="[{ required: true, message: this.$t('workflowEditor.process.cannotBeEmpty'), trigger: 'blur' }]"
75
80
  :label="$t('workflowEditor.process.selectURL')"
81
+ prop="url"
76
82
  label-width="80px"
77
83
  >
78
84
  <el-input v-model.trim="formModel.url" @change="handleUrlChange" />
@@ -102,6 +108,11 @@ export default {
102
108
  isSubprocess: {
103
109
  type: Boolean,
104
110
  default: false
111
+ },
112
+ // basicProperties
113
+ basicProperties: {
114
+ type: Object,
115
+ default: null
105
116
  }
106
117
  },
107
118
  data() {
@@ -115,7 +126,8 @@ export default {
115
126
  this.initFormModel(formModel)
116
127
  return {
117
128
  showFormFields: false,
118
- formModel
129
+ formModel,
130
+ isCountersign: false
119
131
  }
120
132
  },
121
133
  mounted() {
@@ -135,6 +147,12 @@ export default {
135
147
  }, {
136
148
  deep: true
137
149
  })
150
+ this.$watch('basicProperties', function() {
151
+ this.showActivateOneVoteVeto()
152
+ }, {
153
+ deep: true
154
+ })
155
+ this.showActivateOneVoteVeto()
138
156
  },
139
157
  methods: {
140
158
  formatLabel(name) {
@@ -150,9 +168,12 @@ export default {
150
168
  } else {
151
169
  if (userCondition === '${instanceCreator}' || userCondition === '${previousTransactorAssignment}') {
152
170
  formModel.transactor = userCondition
153
- } else if (userCondition.indexOf('${field[') >= 0) {
171
+ } else if (userCondition.startsWith('${field[') && userCondition.indexOf('${field[') >= 0 && userCondition.indexOf('"selectedField": "${field[') < 2) {
154
172
  formModel.transactor = 'byField'
155
173
  formModel.selectedField = userCondition
174
+ } else if (userCondition.startsWith('${deptField[')) {
175
+ formModel.transactor = 'byDeptField'
176
+ formModel.selectedField = userCondition
156
177
  } else {
157
178
  formModel.transactor = 'byCondition'
158
179
  formModel.userCondition = userCondition
@@ -209,6 +230,9 @@ export default {
209
230
  } else {
210
231
  this.model.url = ''
211
232
  }
233
+ // if (val === 'byDeptField') {
234
+ // this.model.userCondition = this.formModel.selectedField
235
+ // }
212
236
 
213
237
  // 不是按条件筛选的时候,需要清空xml中additionalCondition
214
238
  if (val === 'byCondition') {
@@ -223,10 +247,28 @@ export default {
223
247
  },
224
248
  setField(name) {
225
249
  if (name !== undefined) {
226
- this.formModel.selectedField = '${field[' + name + ']}'
227
- this.model.userCondition = this.formModel.selectedField
250
+ if (this.formModel.transactor === 'byDeptField') {
251
+ this.formModel.selectedField = '${deptField[' + name + ']}'
252
+ this.model.userCondition = this.formModel.selectedField
253
+ } else {
254
+ this.formModel.selectedField = '${field[' + name + ']}'
255
+ this.model.userCondition = this.formModel.selectedField
256
+ }
228
257
  }
229
258
  this.showFormFields = false
259
+ },
260
+ /**
261
+ * 会签时显示一票否决配置
262
+ */
263
+ showActivateOneVoteVeto() {
264
+ if (this.basicProperties && this.basicProperties.processingMode) {
265
+ if (this.basicProperties.processingMode.type === 'COUNTERSIGN') {
266
+ this.isCountersign = true
267
+ } else {
268
+ this.isCountersign = false
269
+ this.formModel.additionalCondition.activateOneVoteVeto = false
270
+ }
271
+ }
230
272
  }
231
273
  }
232
274
  }
@@ -22,6 +22,13 @@
22
22
  <el-tab-pane :label="$t('workflowEditor.task.settingOfHandler')" name="transactors">
23
23
  <transactor-settings :model="model.ref.transactorSettings" used-in="CopyTask" />
24
24
  </el-tab-pane>
25
+ <el-tab-pane :label="$t('workflowEditor.task.reminderSettings')" name="reminders">
26
+ <!-- <reminder v-model="model.ref.reminder" /> -->
27
+ <notice-reminder :reminder-value="model.ref.reminder" :task-notice-value="model.ref.taskNotice" />
28
+ </el-tab-pane>
29
+ <el-tab-pane :label="$t('workflowEditor.task.eventProcessing')" name="events">
30
+ <events v-model="model.ref.events" />
31
+ </el-tab-pane>
25
32
  <el-tab-pane :label="$t('workflowEditor.task.permissionSettings')" name="permissions">
26
33
  <permission-settings v-model="model.ref.permissionSettings" />
27
34
  </el-tab-pane>
@@ -32,12 +39,16 @@
32
39
  import BasicProperties from './copy-task/basic-properties'
33
40
  import PermissionSettings from './copy-task/permission-settings'
34
41
  import TransactorSettings from './common/transactor-settings'
42
+ import NoticeReminder from './common/notice-reminder.vue'
43
+ import Events from './human-task/events.vue'
35
44
  export default {
36
45
  name: 'HumanTaskPropertiesEditor',
37
46
  components: {
38
47
  BasicProperties,
39
48
  TransactorSettings,
40
- PermissionSettings
49
+ PermissionSettings,
50
+ NoticeReminder,
51
+ Events
41
52
  },
42
53
  props: {
43
54
  model: {
@@ -47,6 +58,9 @@ export default {
47
58
  },
48
59
  data() {
49
60
  console.log(this.model)
61
+ if (!this.model.ref.taskNotice) {
62
+ this.model.ref.taskNotice = {}
63
+ }
50
64
  return {
51
65
  activeTab: 'basicProperties'
52
66
  }
@@ -4,7 +4,11 @@
4
4
  <el-col :span="12">
5
5
  <el-form-item :label="$t('workflowEditor.task.name')">
6
6
  <!-- <el-input v-model="formModel.name" /> -->
7
- <i18n-input v-model="formModel.name" :i18n-key="tache.i18nKey?tache.i18nKey:'name.'+formModel.id" @setI18n="setI18nValue" />
7
+ <i18n-input
8
+ v-model="formModel.name"
9
+ :i18n-key="tache.i18nKey?tache.i18nKey:'name.'+formModel.id"
10
+ @setI18n="setI18nValue"
11
+ />
8
12
  </el-form-item>
9
13
  </el-col>
10
14
  <el-col :span="12">
@@ -20,7 +20,7 @@
20
20
  />
21
21
  </el-tab-pane>
22
22
  <el-tab-pane :label="$t('workflowEditor.task.settingOfHandler')" name="transactors">
23
- <transactor-settings :model="model.ref.transactorSettings" />
23
+ <transactor-settings :model="model.ref.transactorSettings" :basic-properties="model.ref.basicProperties" />
24
24
  </el-tab-pane>
25
25
  <el-tab-pane :label="$t('workflowEditor.task.permissionSettings')" name="permissions">
26
26
  <permission-settings v-model="model.ref.permissionSettings" />
@@ -72,7 +72,7 @@ export default {
72
72
  },
73
73
  data() {
74
74
  console.log(this.model)
75
- if (this.model.ref.taskNotice === undefined) {
75
+ if (!this.model.ref.taskNotice) {
76
76
  this.model.ref.taskNotice = {}
77
77
  }
78
78
  return {
@@ -53,7 +53,7 @@
53
53
  <el-row>
54
54
  <el-col :span="12">
55
55
  <el-form-item :label="$t('workflowEditor.process.system')" prop="model.systemCode" :rules="[requiredRule]">
56
- <el-select v-model="model.systemCode" :placeholder="$t('workflowEditorMessage.pleaseSelect')" @change="changeSystem(model.systemCode, null)">
56
+ <el-select v-model="model.systemCode" :placeholder="$t('workflowEditorMessage.pleaseSelect')">
57
57
  <el-option
58
58
  v-for="item in allSystems"
59
59
  :key="item.code"
@@ -63,20 +63,6 @@
63
63
  </el-select>
64
64
  </el-form-item>
65
65
  </el-col>
66
- <el-col :span="12">
67
- <el-form-item :label="$t('workflowEditor.process.systemVersion')" :rules="[requiredRule]">
68
- <el-select v-model="systemPublishVersion" :placeholder="$t('workflowEditorMessage.pleaseSelect')" @change="changeVersion">
69
- <el-option
70
- v-for="item in systems"
71
- :key="item.publishVersion"
72
- :label="item.publishVersion"
73
- :value="item.publishVersion"
74
- />
75
- </el-select>
76
- </el-form-item>
77
- </el-col>
78
- </el-row>
79
- <el-row>
80
66
  <el-col :span="12">
81
67
  <el-form-item :label="$t('workflowEditor.process.affiliatedBranch')">
82
68
  <el-select v-model="model.branchCode" clearable :placeholder="$t('workflowEditorMessage.pleaseSelect')">
@@ -96,12 +82,11 @@
96
82
  </el-form>
97
83
  </template>
98
84
  <script>
99
- import { mapGetters, mapMutations } from 'vuex'
85
+ import { mapMutations } from 'vuex'
100
86
  import processService from '../../process-service'
101
87
  import { getI18n } from '../../../../workflow-editor/src/util'
102
88
  import i18nInput from '../common/i18n-input'
103
89
  import { getUsername } from 'imatrix-ui/src/utils/auth'
104
- import authApi from 'imatrix-ui/src/utils/auth-api'
105
90
  export default {
106
91
  name: 'BasicProperties',
107
92
  components: {
@@ -143,40 +128,22 @@ export default {
143
128
  trigger: 'blur'
144
129
  },
145
130
  isSelectAdmin: false,
146
- selectedForm: [],
147
- systemPublishVersion: null,
148
- sysCode: null,
149
- systems: []
150
-
131
+ selectedForm: []
151
132
  }
152
133
  },
153
- computed: {
154
- ...mapGetters('wfEditor', [
155
- 'systemVersion', 'systemCode'
156
- ])
157
- },
158
134
  created() {
159
135
  this.getAdminNameWhenUpdate()
160
- // this.listAllForms()
136
+ this.listAllForms()
161
137
  this.listAllProcessTypes()
162
138
  this.listAllSystems()
163
139
  this.listAllBranches()
164
140
  // TODO 流程创建人先写死,现在的资源路径都是匿名的无法获得当前用户
165
141
  // this.model.creator = 'admin'
166
- if (!this.model.creator) {
142
+ if(!this.model.creator){
167
143
  this.model.creator = getUsername()
168
144
  }
169
145
  this.setProcessCode(this.formModel.code)
170
- if (this.model.systemCode) {
171
- // 编辑修改流程
172
- this.setSystemCode(this.model.systemCode)
173
- } else {
174
- // 新建流程, model systemCode为空
175
- this.model.systemCode = this.systemCode
176
- }
177
- this.systemPublishVersion = parseInt(authApi.getSessionCache('wf_editor_systemVersion'))
178
- this.changeSystem(this.systemCode, this.systemPublishVersion)
179
- this.listAllForms(this.systemCode, this.systemPublishVersion)
146
+ this.setSystemCode(this.model.systemCode)
180
147
  },
181
148
  mounted() {
182
149
  // 支持.snyc修饰符的写法
@@ -190,15 +157,11 @@ export default {
190
157
  this.$watch('model.systemCode', function(newVal, oldVal) {
191
158
  this.setSystemCode(newVal)
192
159
  })
193
- this.$watch('systemPublishVersion', function(newVal, oldVal) {
194
- this.setSystemVersion(newVal)
195
- })
196
160
  },
197
161
  methods: {
198
162
  ...mapMutations('wfEditor', [
199
163
  'setFormFields',
200
164
  'setSystemCode',
201
- 'setSystemVersion',
202
165
  'setProcessCode'
203
166
  ]),
204
167
  handleChange(values) {
@@ -208,7 +171,7 @@ export default {
208
171
  this.model.formCode = formInfo.substring(formInfo.indexOf('/') + 1, formInfo.lastIndexOf('/'))
209
172
  this.model.formVersion = formInfo.substring(formInfo.lastIndexOf('/') + 1)
210
173
  // 表单改变时,重新获取表单字段并放到vuex中
211
- processService.fetchFormFields(this.model.formCode, this.model.formVersion, this.systemPublishVersion)
174
+ processService.fetchFormFields(this.model.formCode, this.model.formVersion)
212
175
  },
213
176
  // 弹出人员树
214
177
  selectAdmin() {
@@ -233,8 +196,8 @@ export default {
233
196
  this.isSelectAdmin = false
234
197
  },
235
198
  // 获得对应表单列表
236
- listAllForms(systemCode, publishVersion) {
237
- this.$http.get(this.baseAPI + '/wf-editor/workflow-editors/forms?systemCode=' + systemCode + '&publishVersion=' + publishVersion).then(systemAndForms => {
199
+ listAllForms() {
200
+ this.$http.get(this.baseAPI + '/wf-editor/workflow-editors/forms').then(systemAndForms => {
238
201
  // 设置表单信息
239
202
  const selectedFormInfo = this.model.formCode + '/' + this.model.formVersion
240
203
  // 修改时,获得默认选中的表单项
@@ -303,22 +266,6 @@ export default {
303
266
  },
304
267
  setI18nValue(i18nKey) {
305
268
  this.model.i18nKey = i18nKey
306
- },
307
- changeSystem(systemCode, systemPublishVersion) {
308
- this.systemPublishVersion = systemPublishVersion
309
- this.allForms = []
310
- if (systemCode) {
311
- this.$http.get(this.baseAPI + '/wf-editor/systems/getPublishVersionsByCode/' + systemCode).then(result => {
312
- if (result) {
313
- this.systems = result
314
- } else {
315
- this.systems = []
316
- }
317
- })
318
- }
319
- },
320
- changeVersion() {
321
- this.listAllForms(this.model.systemCode, this.systemPublishVersion)
322
269
  }
323
270
  }
324
271
  }
@@ -28,8 +28,6 @@
28
28
 
29
29
  // import modulePageService from '@/subsystems/mms/api/module-page'
30
30
  import Vue from 'vue'
31
- import { mapGetters } from 'vuex'
32
- import authApi from 'imatrix-ui/src/utils/auth-api'
33
31
 
34
32
  export default {
35
33
  props: {
@@ -45,11 +43,6 @@ export default {
45
43
  selection: []
46
44
  }
47
45
  },
48
- computed: {
49
- ...mapGetters('wfEditor', [
50
- 'systemVersion'
51
- ])
52
- },
53
46
  watch: {
54
47
  conditionList: {
55
48
  handler(newValue, oldValue) {
@@ -60,7 +53,7 @@ export default {
60
53
  created() {
61
54
  this.baseURL = Vue.prototype.baseURL
62
55
  if (this.pageFormCode) {
63
- this.listURL = '/wf-editor/workflow-editors/modulePages/' + this.pageFormCode + '/' + parseInt(authApi.getSessionCache('wf_editor_systemVersion'))
56
+ this.listURL = '/wf-editor/workflow-editors/modulePages/' + this.pageFormCode
64
57
  }
65
58
  },
66
59
  methods: {
@@ -4,7 +4,11 @@
4
4
  <el-col :span="12">
5
5
  <el-form-item :label="$t('workflowEditor.process.name')" label-width="50px">
6
6
  <!-- <el-input v-model="formModel.name" /> -->
7
- <i18n-input v-model="formModel.name" :i18n-key="formModel.tache.i18nKey?formModel.tache.i18nKey:'name.'+formModel.id" @setI18n="setI18nValue" />
7
+ <i18n-input
8
+ v-model="formModel.name"
9
+ :i18n-key="formModel.tache.i18nKey?formModel.tache.i18nKey:'name.'+formModel.id"
10
+ @setI18n="setI18nValue"
11
+ />
8
12
  </el-form-item>
9
13
  </el-col>
10
14
  <el-col :span="12">
@@ -13,6 +17,9 @@
13
17
  </el-form-item>
14
18
  </el-col>
15
19
  </el-row>
20
+ <el-form-item :label="$t('workflowEditor.task.taskTitle')">
21
+ <task-title v-model="tache.taskTitle" />
22
+ </el-form-item>
16
23
  <el-form-item :label="$t('workflowEditor.process.subprocess')" label-width="60px">
17
24
  <el-cascader
18
25
  v-model="selectedProcess"
@@ -56,11 +63,13 @@ import FieldMappings from './field-mappings'
56
63
  import processService from '../../process-service.js'
57
64
  import { validateTacheCode } from '../../util'
58
65
  import i18nInput from '../common/i18n-input'
66
+ import TaskTitle from '../common/task-title'
59
67
  export default {
60
68
  name: 'BasicProperties',
61
69
  components: {
62
70
  FieldMappings,
63
- i18nInput
71
+ i18nInput,
72
+ TaskTitle
64
73
  },
65
74
  props: {
66
75
  model: {
@@ -89,6 +98,9 @@ export default {
89
98
  }
90
99
  },
91
100
  computed: {
101
+ tache() {
102
+ return this.model
103
+ }
92
104
  },
93
105
  created() {
94
106
  this.listAllProcesses().then(() => {
@@ -103,10 +115,10 @@ export default {
103
115
  }
104
116
  },
105
117
  mounted() {
106
- // this.$watch('model.attr.id', function(newVal, oldVal) {
107
- // // updateTransitionsWhenTacheIdChanged(newVal, oldVal)
108
- // this.$emit('update:id', newVal)
109
- // })
118
+ // 支持.snyc修饰符的写法
119
+ this.$watch('formModel.name', function(newVal, oldVal) {
120
+ this.$emit('update:name', newVal)
121
+ })
110
122
  },
111
123
  methods: {
112
124
  fetchSubprocessFormFields() {
@@ -2,6 +2,9 @@ import {getI18n} from '../../../workflow-editor/src/util'
2
2
  export const userStandardFieldsForReminder = {
3
3
  '${instanceCreatorName}': getI18n().t('workflowEditor.process.processInitiator'),
4
4
  '${instanceCreatorDirectSuperiorName}': getI18n().t('workflowEditor.process.sponsorsImmediateSuperior'),
5
+ '${instanceCreatorDeptApprover}': getI18n().t('workflowEditor.process.deptApprover'),
6
+ '${instanceCreatorDirectSuperiorDeptApprover}': getI18n().t('workflowEditor.process.superiorDeptApprover'),
7
+ '${instanceCreatorDirectSuperiorDeptLeader}': getI18n().t('workflowEditor.process.superiorDeptLeader'),
5
8
  '${currentTransactorName}': getI18n().t('workflowEditor.process.nameOfCurrentHandler'),
6
9
  '${currentTransactorDirectSuperiorName}': getI18n().t('workflowEditor.process.nameOfTheImmediateSuperiorOfTheCurrentHandler')
7
10
  }
@@ -44,7 +47,10 @@ const allStandardFieldsForReminder = {
44
47
 
45
48
  export const userStandardFieldsForTransactor = {
46
49
  '${instanceCreatorName}': getI18n().t('workflowEditor.process.processInitiator'),
47
- '${instanceCreatorDirectSuperiorName}': getI18n().t('workflowEditor.process.sponsorsImmediateSuperior')
50
+ '${instanceCreatorDirectSuperiorName}': getI18n().t('workflowEditor.process.sponsorsImmediateSuperior'),
51
+ '${instanceCreatorDeptApprover}': getI18n().t('workflowEditor.process.deptApprover'),
52
+ '${instanceCreatorDirectSuperiorDeptApprover}': getI18n().t('workflowEditor.process.superiorDeptApprover'),
53
+ '${instanceCreatorDirectSuperiorDeptLeader}': getI18n().t('workflowEditor.process.superiorDeptLeader')
48
54
  }
49
55
  export const departmentStandardFieldsForTransactor = {
50
56
  '${upstageDepartment}': getI18n().t('workflowEditor.process.topDepartments'),
@@ -22,7 +22,6 @@ const getters = {
22
22
  processCode: state => state.processCode,
23
23
  processI18n: state => state.processI18n,
24
24
  subtableConditionMap: state => state.subtableConditionMap,
25
- propSettingKeyList: state => state.propSettingKeyList,
26
- systemVersion: state => state.systemVersion
25
+ propSettingKeyList: state => state.propSettingKeyList
27
26
  }
28
27
  export default getters
@@ -118,9 +118,6 @@ const wfEditor = {
118
118
  },
119
119
  setPropSettingKeyList(state, propSettingKeyList) {
120
120
  state.propSettingKeyList = propSettingKeyList
121
- },
122
- setSystemVersion(state, systemVersion) {
123
- state.systemVersion = systemVersion
124
121
  }
125
122
  }
126
123
  }
@@ -0,0 +1,99 @@
1
+ <template>
2
+ <g
3
+ @mousedown.stop="startDrag"
4
+ @mouseup="endDrag"
5
+ @mouseenter="showJoints"
6
+ @mouseleave="hideJoints"
7
+ @dblclick.stop="setPropertiesEditorFor('AutoTask')"
8
+ >
9
+ <rect
10
+ ref="tache"
11
+ :width="model.width"
12
+ :height="model.height"
13
+ :class="{'draggable':true,'task-tache':true, 'selected':model.isSelected}"
14
+ :x="model.x"
15
+ :y="model.y"
16
+ rx="6"
17
+ ry="6"
18
+ />
19
+ <text
20
+ :x="text.x"
21
+ :y="text.y"
22
+ text-anchor="middle"
23
+ class="draggable"
24
+ >
25
+ {{ name }}
26
+ </text>
27
+ <joint
28
+ v-for="position in jointPoints"
29
+ :key="position"
30
+ :parent="model"
31
+ :position="position"
32
+ />
33
+ <tache-resizer
34
+ v-for="position in resizers"
35
+ :key="position"
36
+ :owner="model"
37
+ :position="position"
38
+ />
39
+ </g>
40
+ </template>
41
+ <script>
42
+ import { mapGetters, mapMutations } from 'vuex'
43
+ import Joint from './joint'
44
+ import TacheResizer from './tache-resizer'
45
+ import tacheMethods from './common-methods'
46
+ import { watchShowName } from '../util'
47
+ export default {
48
+ name: 'AutoTask',
49
+ components: {
50
+ Joint,
51
+ TacheResizer
52
+ },
53
+ props: {
54
+ model: {
55
+ type: Object,
56
+ default: null
57
+ }
58
+ },
59
+ data() {
60
+ return {
61
+ // 一个tache有上右下左四个连接点,这四个连接点的坐标根据tache的位置和大小计算出来
62
+ jointPoints: [],
63
+ resizers: ['NW', 'NE', 'SW', 'SE'],
64
+ name: this.model.name
65
+ }
66
+ },
67
+ computed: {
68
+ ...mapGetters('wfEditor', [
69
+ 'selectedTaches',
70
+ 'processI18n'
71
+ ]),
72
+ text() {
73
+ return {
74
+ x: this.model.x + this.model.width / 2,
75
+ y: this.model.y + this.model.height / 2
76
+ }
77
+ }
78
+ },
79
+ created() {
80
+ this.name = watchShowName(this, this.name)
81
+ },
82
+ mounted() {
83
+ this.$watch('model.name', function(newVal) {
84
+ this.name = watchShowName(this, newVal)
85
+ })
86
+ },
87
+ methods: {
88
+ ...mapMutations('wfEditor', [
89
+ 'setPropertiesEditorFor',
90
+ 'setContextMenuVisible'
91
+ ]),
92
+ ...tacheMethods
93
+ }
94
+ }
95
+ </script>
96
+ <style>
97
+
98
+ </style>
99
+