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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workflow-editor",
3
- "version": "0.9.68-pv",
3
+ "version": "0.9.68",
4
4
  "description": "流程编辑器",
5
5
  "main": "lib/workflow-editor.umd.min.js",
6
6
  "private": false,
@@ -33,7 +33,7 @@
33
33
  "element-ui": "2.15.3",
34
34
  "eslint": "5.16.0",
35
35
  "eslint-plugin-vue": "5.2.2",
36
- "imatrix-ui": "2.8.37-pv",
36
+ "imatrix-ui": "2.8.24",
37
37
  "node-sass": "4.12.0",
38
38
  "nprogress": "^0.2.0",
39
39
  "sass-loader": "^7.1.0",
@@ -24,6 +24,11 @@ function getLeafPropRule(editField, dataTypeMap) {
24
24
  } else if (dataType === 'BOOLEAN') {
25
25
  rule.message = editField.label + ' ' + getI18n().t('workflowEditorMessage.mustFill')
26
26
  } else {
27
+ // if (entity[editField.name] || entity[editField.name] === 0) {
28
+ // if (typeof entity[editField.name] === 'number' && dataType === 'TEXT') {
29
+ // rule.type = 'number'
30
+ // }
31
+ // }
27
32
  rule.message = editField.label + ' ' + getI18n().t('workflowEditorMessage.mustFill')
28
33
  }
29
34
  if (editField.canEdit) {
@@ -191,7 +196,7 @@ function getValidator(editFieldInfos, entity, isSql, additionalParamMap, taskPar
191
196
  }
192
197
  } else {
193
198
  // 表示是主表的直接属性
194
- rule = getLeafPropRule(editField, dataTypeMap)
199
+ rule = getLeafPropRule(editField, dataTypeMap, entity)
195
200
  rules[prop] = rule
196
201
  }
197
202
  }
@@ -0,0 +1,70 @@
1
+ import i18n from '../../../../src/i18n/i18n'
2
+ export default function newAutoTask() {
3
+ return {
4
+ attr: {
5
+ id: '',
6
+ name: i18n.t('workflowEditor.task.newAutoTask')
7
+ },
8
+ g: {},
9
+ taskNotice: {
10
+
11
+ },
12
+ basicProperties: {
13
+ beanName: ''
14
+ },
15
+ transactorSettings: {
16
+ userCondition: '',
17
+ moreTransactor: false,
18
+ additionalCondition: {
19
+ onlyInCreatorDepartment: false,
20
+ withCreatorDepartment: false,
21
+ selectOneFromMultiple: false
22
+ }
23
+ },
24
+ events: {
25
+ },
26
+ permissionSettings: {
27
+ editForm: {
28
+ permission: false,
29
+ field: []
30
+ },
31
+ viewOpinion: {
32
+ permission: false,
33
+ condition: ''
34
+ },
35
+ editOpinion: {
36
+ permission: false,
37
+ condition: ''
38
+ },
39
+ requireOpinion: {
40
+ permission: false,
41
+ condition: ''
42
+ },
43
+ viewMeetingResult: {
44
+ permission: false,
45
+ condition: ''
46
+ },
47
+ viewVoteResult: {
48
+ permission: false,
49
+ condition: ''
50
+ },
51
+ viewFlowHistory: {
52
+ permission: false,
53
+ condition: ''
54
+ },
55
+ printForm: {
56
+ permission: false,
57
+ condition: ''
58
+ },
59
+ officialText: {
60
+ permission: false // 控制是否设置正文权限,false时就没有后续的create,edit等权限设置了
61
+ },
62
+ attachment: {
63
+ permission: false // 控制是否设置附件权限,false时就没有后面的add,delete等权限设置了
64
+ },
65
+ deleteInstance: {
66
+ userCondition: ''
67
+ }
68
+ }
69
+ }
70
+ }
@@ -6,6 +6,9 @@ export default function newCopyTask() {
6
6
  name: i18n.t('workflowEditor.task.newCc')
7
7
  },
8
8
  g: {},
9
+ taskNotice: {
10
+
11
+ },
9
12
  basicProperties: {
10
13
  taskTitle: '',
11
14
  remark: '',
@@ -20,6 +23,8 @@ export default function newCopyTask() {
20
23
  selectOneFromMultiple: false
21
24
  }
22
25
  },
26
+ events: {
27
+ },
23
28
  permissionSettings: {
24
29
  editForm: {
25
30
  permission: false,
@@ -3,7 +3,8 @@ export default function newSubprocess() {
3
3
  return {
4
4
  attr: {
5
5
  id: '',
6
- name: i18n.t('workflowEditor.task.subprocess')
6
+ name: i18n.t('workflowEditor.task.subprocess'),
7
+ taskTitle: ''
7
8
  },
8
9
  g: {},
9
10
  processCode: '',
@@ -53,6 +53,7 @@ import Fork from '../taches/fork'
53
53
  import Join from '../taches/join'
54
54
  import HumanDecision from '../taches/human-decision'
55
55
  import CopyTask from '../taches/copy-task'
56
+ import AutoTask from '../taches/auto-task'
56
57
  import Transition from '../transitions/transition'
57
58
  import VirtualTransition from '../transitions/virtual-transition'
58
59
  import SelectionRegion from './selection-region'
@@ -64,6 +65,7 @@ import ForkPropertiesEditor from '../properties-editors/fork'
64
65
  import JoinPropertiesEditor from '../properties-editors/join'
65
66
  import HumanDecisionPropertiesEditor from '../properties-editors/human-decision'
66
67
  import CopyTaskPropertiesEditor from '../properties-editors/copy-task'
68
+ import AutoTaskPropertiesEditor from '../properties-editors/auto-task'
67
69
  import SubprocessPropertiesEditor from '../properties-editors/subprocess'
68
70
  import TacheHistoryTooltip from './tache-history-tooltip'
69
71
  import { mapGetters, mapMutations } from 'vuex'
@@ -94,7 +96,9 @@ export default {
94
96
  HumanDecisionPropertiesEditor,
95
97
  CopyTaskPropertiesEditor,
96
98
  SubprocessPropertiesEditor,
97
- TacheHistoryTooltip
99
+ TacheHistoryTooltip,
100
+ AutoTask,
101
+ AutoTaskPropertiesEditor
98
102
  },
99
103
  props: {
100
104
  process: {
@@ -48,6 +48,7 @@ import Fork from '../taches/fork'
48
48
  import Join from '../taches/join'
49
49
  import HumanDecision from '../taches/human-decision'
50
50
  import CopyTask from '../taches/copy-task'
51
+ import AutoTask from '../taches/auto-task'
51
52
  import Transition from '../transitions/transition'
52
53
  import TacheHistoryTooltip from './tache-history-tooltip'
53
54
  import { mapGetters } from 'vuex'
@@ -71,7 +72,8 @@ export default {
71
72
  CopyTask,
72
73
  Transition,
73
74
  TacheHistoryTooltip,
74
- TacheSubprocessHistoryDialog
75
+ TacheSubprocessHistoryDialog,
76
+ AutoTask
75
77
  },
76
78
  props: {
77
79
  process: {
@@ -292,7 +292,8 @@ const process = {
292
292
  subprocess: {
293
293
  attr: {
294
294
  id: 't2',
295
- name: '子流程'
295
+ name: '子流程',
296
+ taskTitle: ''
296
297
  },
297
298
  g: {
298
299
  x: 250,
@@ -6,8 +6,8 @@ function getHttp() {
6
6
  return window.$http
7
7
  }
8
8
  const processService = {
9
- fetchFormFields(formCode, formVersion, publishVersion) {
10
- getHttp().get(Vue.prototype.baseAPI + '/wf-editor/workflow-editors/form-fields?formCode=' + formCode + '&formVersion=' + formVersion + '&publishVersion=' + publishVersion).then(resultFields => {
9
+ fetchFormFields(formCode, formVersion) {
10
+ getHttp().get(Vue.prototype.baseAPI + '/wf-editor/workflow-editors/form-fields?formCode=' + formCode + '&formVersion=' + formVersion).then(resultFields => {
11
11
  const formFields = resultFields.formFields
12
12
  const subFormFields = resultFields.subFormFields
13
13
  getStore().commit('wfEditor/setFormCode', formCode)
@@ -0,0 +1,81 @@
1
+ <template>
2
+ <el-form :model="formModel" label-width="110px">
3
+ <el-row>
4
+ <el-col :span="12">
5
+ <el-form-item :label="$t('workflowEditor.task.name')">
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" />
8
+ </el-form-item>
9
+ </el-col>
10
+ <el-col :span="12">
11
+ <el-form-item :label="$t('workflowEditor.task.code')">
12
+ <el-input v-model="formModel.id" @blur="validateId" />
13
+ </el-form-item>
14
+ </el-col>
15
+ </el-row>
16
+ <el-form-item :label="$t('workflowEditor.task.custombeanName')">
17
+ <el-input v-model="tache.beanName" />
18
+ </el-form-item>
19
+ </el-form>
20
+ </template>
21
+ <script>
22
+ import TaskTitle from '../common/task-title'
23
+ import { validateTacheCode } from '../../util'
24
+ import i18nInput from '../common/i18n-input'
25
+ export default {
26
+ name: 'BasicProperties',
27
+ components: {
28
+ TaskTitle,
29
+ i18nInput
30
+ },
31
+ props: {
32
+ model: {
33
+ type: Object,
34
+ default: null
35
+ },
36
+ id: {
37
+ type: String,
38
+ default: null
39
+ },
40
+ name: {
41
+ type: String,
42
+ default: null
43
+ }
44
+ },
45
+ data() {
46
+ return {
47
+ formModel: {
48
+ name: this.name,
49
+ id: this.id,
50
+ tache: this.model
51
+ }
52
+ }
53
+ },
54
+ computed: {
55
+ tache() {
56
+ return this.model
57
+ }
58
+ },
59
+ mounted() {
60
+ // 支持.snyc修饰符的写法
61
+ this.$watch('formModel.name', function(newVal, oldVal) {
62
+ this.$emit('update:name', newVal)
63
+ })
64
+ },
65
+ methods: {
66
+ validateId() {
67
+ validateTacheCode(this)
68
+ },
69
+ setI18nValue(i18nKey) {
70
+ this.tache.i18nKey = i18nKey
71
+ }
72
+ }
73
+ }
74
+ </script>
75
+ <style scoped>
76
+ .percent{
77
+ margin-left: 10px;
78
+ color:red;
79
+ font-size:1.2em;
80
+ }
81
+ </style>
@@ -0,0 +1,155 @@
1
+ <template>
2
+ <el-form :model="formModel">
3
+ <el-form-item :label="$t('workflowEditor.task.allowViews')">
4
+ <el-switch v-model="formModel.viewOpinion.permission" />
5
+ <el-checkbox v-if="formModel.viewOpinion.permission" v-model="formModel.viewOpinionCheckbox">
6
+ {{ $t('workflowEditor.task.additionalConditions') }}
7
+ </el-checkbox>
8
+ <additional-condition v-if="formModel.viewOpinion.permission&&formModel.viewOpinionCheckbox" v-model="formModel.viewOpinion.condition" />
9
+ </el-form-item>
10
+ <el-form-item :label="$t('workflowEditor.task.allowToViewCountersignatureResults')">
11
+ <el-switch v-model="formModel.viewMeetingResult.permission" />
12
+ <el-checkbox v-if="formModel.viewMeetingResult.permission" v-model="formModel.viewMeetingResultCheckbox">
13
+ {{ $t('workflowEditor.task.additionalConditions') }}
14
+ </el-checkbox>
15
+ <additional-condition v-if="formModel.viewMeetingResult.permission&&formModel.viewMeetingResultCheckbox" v-model="formModel.viewMeetingResult.condition" />
16
+ </el-form-item>
17
+ <el-form-item :label="$t('workflowEditor.task.allowToViewVotingResults')">
18
+ <el-switch v-model="formModel.viewVoteResult.permission" />
19
+ <el-checkbox v-if="formModel.viewVoteResult.permission" v-model="formModel.viewVoteResultCheckbox">
20
+ {{ $t('workflowEditor.task.additionalConditions') }}
21
+ </el-checkbox>
22
+ <additional-condition v-if="formModel.viewVoteResult.permission&&formModel.viewVoteResultCheckbox" v-model="formModel.viewVoteResult.condition" />
23
+ </el-form-item>
24
+ <el-form-item :label="$t('workflowEditor.task.allowToViewFlowHistory')">
25
+ <el-switch v-model="formModel.viewFlowHistory.permission" />
26
+ <el-checkbox v-if="formModel.viewFlowHistory.permission" v-model="formModel.viewFlowHistoryCheckbox">
27
+ {{ $t('workflowEditor.task.additionalConditions') }}
28
+ </el-checkbox>
29
+ <additional-condition v-if="formModel.viewFlowHistory.permission&&formModel.viewFlowHistoryCheckbox" v-model="formModel.viewFlowHistory.condition" />
30
+ </el-form-item>
31
+ <el-form-item :label="$t('workflowEditor.task.allowFormsToPrint')">
32
+ <el-switch v-model="formModel.printForm.permission" />
33
+ <el-checkbox v-if="formModel.printForm.permission" v-model="formModel.printFormCheckbox">
34
+ {{ $t('workflowEditor.task.additionalConditions') }}
35
+ </el-checkbox>
36
+ <additional-condition v-if="formModel.printForm.permission&&formModel.printFormCheckbox" v-model="formModel.printForm.condition" />
37
+ </el-form-item>
38
+ <el-form-item :label="$t('workflowEditor.task.attachmentAuthority')">
39
+ <el-switch v-model="formModel.attachment.permission" />
40
+ </el-form-item>
41
+ <el-card v-if="formModel.attachment.permission" class="box-card">
42
+ <el-form-item :label="$t('workflowEditor.task.downloadAttachment')">
43
+ <el-switch v-model="formModel.attachment.download.permission" />
44
+ <el-checkbox v-if="formModel.attachment.download.permission" v-model="formModel.attachment.downloadCheckbox">
45
+ {{ $t('workflowEditor.task.additionalConditions') }}
46
+ </el-checkbox>
47
+ <additional-condition v-if="formModel.attachment.download.permission&&formModel.attachment.downloadCheckbox" v-model="formModel.attachment.download.condition" />
48
+ </el-form-item>
49
+ </el-card>
50
+ <el-form-item :label="$t('workflowEditor.task.bodyPermission')">
51
+ <el-switch v-model="formModel.officialText.permission" />
52
+ </el-form-item>
53
+ </el-form>
54
+ </template>
55
+ <script>
56
+ import AdditionalCondition from '../common/additional-condition'
57
+ import { deepCopy } from '../../util'
58
+ export default {
59
+ name: 'PermissionSettings',
60
+ components: {
61
+ AdditionalCondition
62
+ },
63
+ props: {
64
+ value: {
65
+ type: Object,
66
+ default: null
67
+ }
68
+ },
69
+ data() {
70
+ const formModel = deepCopy(this.value)
71
+ // 控制附加条件的属性名
72
+ const attrNames = [
73
+ 'viewOpinion', 'viewMeetingResult', 'viewVoteResult',
74
+ 'viewFlowHistory', 'printForm'
75
+ ]
76
+ attrNames.forEach(name => {
77
+ // 如果是''或者undefined,那么两次!后就是false
78
+ formModel[name + 'Checkbox'] = !!this.value[name].condition
79
+ })
80
+ // 控制附件各个权限的附加条件的属性名
81
+ const attachmentAttrNames = [
82
+ 'download'
83
+ ]
84
+ attachmentAttrNames.forEach(item => {
85
+ // 如果是''或者undefined,那么两次!后就是false
86
+ formModel.attachment[name + 'Checkbox'] = !!this.value.attachment[name] && !!this.value.attachment[name].condition
87
+ if (!formModel.attachment.permission) {
88
+ formModel.attachment[name] = {
89
+ permission: false,
90
+ condition: ''
91
+ }
92
+ }
93
+ })
94
+
95
+ return {
96
+ formModel,
97
+ attrNames,
98
+ attachmentAttrNames
99
+ }
100
+ },
101
+ mounted() {
102
+ this.$watch('formModel', function(formModel) {
103
+ const result = {
104
+ viewOpinion: { },
105
+ viewMeetingResult: { },
106
+ viewVoteResult: { },
107
+ viewFlowHistory: { },
108
+ printForm: { },
109
+ officialText: { },
110
+ attachment: { }
111
+ }
112
+ this.attrNames.map(name => {
113
+ // permission为true且附件条件的checkbox也选中了,condition才有效
114
+ result[name].permission = formModel[name].permission
115
+ if (formModel[name].permission && formModel[name + 'Checkbox']) {
116
+ result[name].condition = formModel[name].condition
117
+ } else {
118
+ result[name].condition = ''
119
+ }
120
+ })
121
+
122
+ result.attachment.permission = formModel.attachment.permission
123
+ // 允许设置附件权限时,add,delete等的权限设置才有效,否则根本不生成add,delete等对应的json
124
+ if (formModel.attachment.permission) {
125
+ this.attachmentAttrNames.map(name => {
126
+ // 需要避免result的add,delete等属性为undefined
127
+ if (!result.attachment[name])result.attachment[name] = {}
128
+ // attachment不是undefined并且对应的add,delete等属性的permission为true
129
+ result.attachment[name].permission = formModel.attachment[name].permission
130
+ // permission为true且附件条件的checkbox也选中了,condition才有效
131
+ if (formModel.attachment[name].permission && formModel.attachment[name + 'Checkbox']) {
132
+ result.attachment[name].condition = formModel.attachment[name].condition
133
+ } else {
134
+ result.attachment[name].condition = ''
135
+ }
136
+ })
137
+ }
138
+
139
+ // 正文权限暂不处理
140
+
141
+ this.$emit('input', result)
142
+ }, {
143
+ deep: true
144
+ })
145
+ },
146
+ methods: {
147
+
148
+ }
149
+ }
150
+ </script>
151
+ <style scoped>
152
+ .el-checkbox{
153
+ margin-left: 20px;
154
+ }
155
+ </style>
@@ -0,0 +1,73 @@
1
+ <template>
2
+ <el-dialog
3
+ visible
4
+ :title="$t('workflowEditor.task.propertiesOfAutoTask')"
5
+ :center="true"
6
+ top="10vh"
7
+ append-to-body
8
+ custom-class="properties-editor"
9
+ @open="$emit('open')"
10
+ @opend="$emit('opend')"
11
+ @close="$emit('close')"
12
+ @closed="$emit('closed')"
13
+ >
14
+ <el-tabs v-model="activeTab" type="border-card" @tab-click="handleClick">
15
+ <el-tab-pane :label="$t('workflowEditor.task.basicProperties')" name="basicProperties">
16
+ <basic-properties
17
+ :id.sync="model.ref.attr.id"
18
+ :name.sync="model.ref.attr.name"
19
+ :model="model.ref.basicProperties"
20
+ />
21
+ </el-tab-pane>
22
+ </el-tabs>
23
+ </el-dialog>
24
+ </template>
25
+ <script>
26
+ import BasicProperties from './auto-task/basic-properties'
27
+ export default {
28
+ name: 'HumanTaskPropertiesEditor',
29
+ components: {
30
+ BasicProperties
31
+ },
32
+ props: {
33
+ model: {
34
+ type: Object,
35
+ default: null
36
+ }
37
+ },
38
+ data() {
39
+ console.log(this.model)
40
+ if (!this.model.ref.taskNotice) {
41
+ this.model.ref.taskNotice = {}
42
+ }
43
+ return {
44
+ activeTab: 'basicProperties'
45
+ }
46
+ },
47
+ computed: {
48
+ formModel() {
49
+ return this.model.ref
50
+ }
51
+ },
52
+ mounted() {
53
+ this.$watch('model.ref.attr.id', function(newVal, oldVal) {
54
+ this.model.id = newVal
55
+ })
56
+ this.$watch('model.ref.attr.name', function(newVal, oldVal) {
57
+ this.model.name = newVal
58
+ })
59
+ },
60
+ methods: {
61
+ handleClick(tab, event) {
62
+ // console.log(tab, event)
63
+ }
64
+ }
65
+ }
66
+ </script>
67
+ <style scoped>
68
+ /* 使用深度作用选择器(vue-loader的功能)">>>"符号重新定义了.el-dialog__body,不影响其他页面的同名样式*/
69
+ .properties-editor >>> .el-dialog__body{
70
+ padding-top: 0
71
+ }
72
+ </style>
73
+
@@ -41,7 +41,22 @@ export const standardFields = [
41
41
  },
42
42
  {
43
43
  name: '${instanceCreatorDirectSuperiorName}',
44
- label: getI18n().t('workflowEditor.process.nameOfTheDirectSuperiorOfTheProcessInitiator'),
44
+ label: getI18n().t('workflowEditor.process.sponsorsImmediateSuperior'),
45
+ orgType: 'user'
46
+ },
47
+ {
48
+ name: '${instanceCreatorDeptApprover}',
49
+ label: getI18n().t('workflowEditor.process.deptApprover'),
50
+ orgType: 'user'
51
+ },
52
+ {
53
+ name: '${instanceCreatorDirectSuperiorDeptApprover}',
54
+ label: getI18n().t('workflowEditor.process.superiorDeptApprover'),
55
+ orgType: 'user'
56
+ },
57
+ {
58
+ name: '${instanceCreatorDirectSuperiorDeptLeader}',
59
+ label: getI18n().t('workflowEditor.process.superiorDeptLeader'),
45
60
  orgType: 'user'
46
61
  },
47
62
  {
@@ -124,52 +139,62 @@ export const standardFields = [
124
139
  {
125
140
  name: '${countersignatureDisagreeCount}',
126
141
  label: getI18n().t('workflowEditor.process.totalNnumberOfPersonsWhoDisagreeWithTheCountersignature'),
127
- orgType: 'other'
142
+ orgType: 'other',
143
+ dataType: 'INTEGER'
128
144
  },
129
145
  {
130
146
  name: '${countersignatureAgreeCount}',
131
147
  label: getI18n().t('workflowEditor.process.totalNumberOfCountersignedAndAgreedPersonnel'),
132
- orgType: 'other'
148
+ orgType: 'other',
149
+ dataType: 'INTEGER'
133
150
  },
134
151
  {
135
152
  name: '${countersignatureDisagreePercentage}',
136
153
  label: getI18n().t('workflowEditor.process.percentageOfPersonsWhoDisagreeWithTheCountersignature'),
137
- orgType: 'other'
154
+ orgType: 'other',
155
+ dataType: 'INTEGER'
138
156
  },
139
157
  {
140
158
  name: '${countersignatureAgreePercentage}',
141
159
  label: getI18n().t('workflowEditor.process.percentageOfCountersignedAndAgreedPersonnel'),
142
- orgType: 'other'
160
+ orgType: 'other',
161
+ dataType: 'INTEGER'
143
162
  },
144
163
  {
145
164
  name: '${abstentionPercentage}',
146
165
  label: getI18n().t('workflowEditor.process.percentageOfAbstentions'),
147
- orgType: 'other'
166
+ orgType: 'other',
167
+ dataType: 'INTEGER'
148
168
  },
149
169
  {
150
170
  name: '${againstPercentage}',
151
171
  label: getI18n().t('workflowEditor.process.percentageOfVotesAgainst'),
152
- orgType: 'other'
172
+ orgType: 'other',
173
+ dataType: 'INTEGER'
153
174
  },
154
175
  {
155
176
  name: '${favorPercentage}',
156
177
  label: getI18n().t('workflowEditor.process.percentageOfAffirmativeVotes'),
157
- orgType: 'other'
178
+ orgType: 'other',
179
+ dataType: 'INTEGER'
158
180
  },
159
181
  {
160
182
  name: '${abstentionCount}',
161
183
  label: getI18n().t('workflowEditor.process.totalNumberOfAbstentions'),
162
- orgType: 'other'
184
+ orgType: 'other',
185
+ dataType: 'INTEGER'
163
186
  },
164
187
  {
165
188
  name: '${againstCount}',
166
189
  label: getI18n().t('workflowEditor.process.totalVotesAgainst'),
167
- orgType: 'other'
190
+ orgType: 'other',
191
+ dataType: 'INTEGER'
168
192
  },
169
193
  {
170
194
  name: '${favorCount}',
171
195
  label: getI18n().t('workflowEditor.process.totalNumberOfAffirmativeVotes'),
172
- orgType: 'other'
196
+ orgType: 'other',
197
+ dataType: 'INTEGER'
173
198
  }
174
199
 
175
200
  ]
@@ -6,7 +6,7 @@ export function getFormFieldLabel(name) {
6
6
  export function getFormField(name) {
7
7
  const fields = window.$store.getters['wfEditor/formFields']
8
8
  // name可以是code或者${field[code]}两种形式
9
- if (name && name.indexOf('${field[') >= 0) {
9
+ if (name && (name.indexOf('${field[') >= 0 || name.indexOf('${deptField[') >= 0)) {
10
10
  name = name.substring(name.indexOf('[') + 1, name.lastIndexOf(']'))
11
11
  }
12
12
  const field = fields.filter(item => {
@@ -4,7 +4,7 @@
4
4
  <div slot="header" class="clearfix">
5
5
  <span>{{ $t('workflowEditor.common.taskNotice') }}</span>
6
6
  </div>
7
- <el-form :model="model" label-width="80px">
7
+ <el-form :model="noticeObj" label-width="80px">
8
8
  <common-notice-tool v-model="noticeObj.informType" :label="$t('workflowEditor.common.notificationMethod')" :custom-msg="noticeObj.customMsg" @input-msg="setCustomMsg" />
9
9
  <el-form-item :label="$t('workflowEditor.task.selectMailTemplate')">
10
10
  <select-mail-templates v-model="noticeObj.mailTemplateCode" @set-value="setMailTemplateCode" />