Commit f13a602d by Mr. Lan

feat: 添加角色处理人。

parent a2648e0b
......@@ -2,5 +2,5 @@
ENV = 'production'
# base api
VUE_APP_BASE_API = 'http://localhost:8002'
VUE_APP_BASE_API = 'http://fdevops.com:8001'
......@@ -27,6 +27,7 @@
@change="(e) => { onChange('assignValue', []);onChange('assignType', e) }"
>
<el-option key="person" value="person" :label="i18n['handleNode.assignType.person']" />
<el-option key="role" value="role" :label="i18n['userTask.assignType.role']" />
<!-- <el-option key="persongroup" value="persongroup" :label="i18n['handleNode.assignType.persongroup']"/>
<el-option key="department" value="department" :label="i18n['handleNode.assignType.department']"/> -->
<el-option key="variable" value="variable" :label="i18n['handleNode.assignType.variable']" />
......@@ -46,6 +47,19 @@
<el-option v-for="user in users" :key="user.userId" :label="user.nickName===''?user.username:user.nickName" :value="user.userId" />
</el-select>
</div>
<div v-else-if="model.assignType === 'role'" class="panelRow">
<div><span style="color: red">*</span> {{ i18n['userTask.assignType.role.title'] }}</div>
<el-select
v-model.number="model.assignValue"
style="width:90%; font-size:12px"
:placeholder="i18n['userTask.assignType.role.placeholder']"
:disabled="readOnly"
:multiple="true"
@change="(e) => { onChange('assignValue', e); getPersons(e) }"
>
<el-option v-for="(item, index) in roles" :key="index" :label="item.roleName" :value="item.roleId" />
</el-select>
</div>
<!-- <div v-else-if="model.assignType === 'persongroup'" class="panelRow">
<div>{{ i18n['handleNode.assignType.persongroup.title'] }}</div>
<el-select
......@@ -150,6 +164,10 @@ export default {
type: Array,
default: () => ([])
},
roles: {
type: Array,
default: () => ([])
},
groups: {
type: Array,
default: () => ([])
......
......@@ -27,6 +27,7 @@
@change="(e) => { onChange('assignValue', []);onChange('assignType', e) }"
>
<el-option key="person" value="person" :label="i18n['userTask.assignType.person']" />
<el-option key="role" value="role" :label="i18n['userTask.assignType.role']" />
<!-- <el-option key="persongroup" value="persongroup" :label="i18n['userTask.assignType.persongroup']"/>
<el-option key="department" value="department" :label="i18n['userTask.assignType.department']"/> -->
<el-option key="variable" value="variable" :label="i18n['userTask.assignType.variable']" />
......@@ -46,6 +47,19 @@
<el-option v-for="user in users" :key="user.userId" :label="user.nickName===''?user.username:user.nickName" :value="user.userId" />
</el-select>
</div>
<div v-else-if="model.assignType === 'role'" class="panelRow">
<div><span style="color: red">*</span> {{ i18n['userTask.assignType.role.title'] }}</div>
<el-select
v-model.number="model.assignValue"
style="width:90%; font-size:12px"
:placeholder="i18n['userTask.assignType.role.placeholder']"
:disabled="readOnly"
:multiple="true"
@change="(e) => { onChange('assignValue', e); getPersons(e) }"
>
<el-option v-for="(item, index) in roles" :key="index" :label="item.roleName" :value="item.roleId" />
</el-select>
</div>
<!-- <div v-else-if="model.assignType === 'persongroup'" class="panelRow">
<div>{{ i18n['userTask.assignType.persongroup.title'] }}</div>
<el-select
......@@ -89,14 +103,14 @@
</div>
<div class="panelRow">
<el-checkbox
:disabled="
model.assignValue===undefined||
model.assignValue===null||
model.assignValue.length <= 1||
model.activeOrder||
readOnly"
:disabled="model.assignType !== 'role' && (
model.assignValue===undefined ||
model.assignValue===null ||
model.assignValue.length <= 1 ||
model.activeOrder ||
readOnly)"
:value="model.isCounterSign"
@change="(value) => onChange('isCounterSign', value)"
@change="(e) => { onChange('isCounterSign', e); initCounterSign(e) }"
>{{ i18n['userTask.counterSign'] }}</el-checkbox>
<el-checkbox
:disabled="
......@@ -108,6 +122,15 @@
:value="model.activeOrder"
@change="(value) => onChange('activeOrder', value)"
>{{ i18n['userTask.activeOrder'] }}</el-checkbox>
<el-checkbox
v-if="model.assignType === 'role' &&
model.assignValue!==undefined &&
model.assignValue!==null &&
model.assignValue.length >= 1 &&
model.isCounterSign"
:value="model.fullHandle"
@change="(value) => onChange('fullHandle', value)"
>{{ i18n['userTask.fullHandle'] }}</el-checkbox>
<!-- <el-checkbox @change="(value) => onChange('isEndorsement', value)"
:disabled="readOnly"
:value="!!model.isEndorsement">{{i18n['userTask.endorsement']}}</el-checkbox> -->
......@@ -141,6 +164,10 @@ export default {
type: Array,
default: () => ([])
},
roles: {
type: Array,
default: () => ([])
},
groups: {
type: Array,
default: () => ([])
......@@ -178,7 +205,8 @@ export default {
}, {
value: 2,
label: '创建者负责人'
}]
}],
roleList: []
}
},
methods: {
......@@ -187,6 +215,11 @@ export default {
this.onChange('activeOrder', false)
this.onChange('isCounterSign', false)
}
},
initCounterSign(e) {
if (!e) {
this.onChange('fullHandle', false)
}
}
}
}
......
......@@ -6,6 +6,7 @@
:on-change="onChange"
:read-only="readOnly"
:users="users"
:roles="roles"
:groups="groups"
:departments="departments"
:tasks="tasks"
......@@ -25,6 +26,7 @@
:on-change="onChange"
:read-only="readOnly"
:users="users"
:roles="roles"
:groups="groups"
:departments="departments"
:tasks="tasks"
......@@ -114,6 +116,10 @@ export default {
type: Array,
default: () => ([])
},
roles: {
type: Array,
default: () => ([])
},
groups: {
type: Array,
default: () => ([])
......
......@@ -11,6 +11,7 @@
:model="selectedModel"
:read-only="mode !== 'edit'"
:users="users"
:roles="roles"
:groups="groups"
:departments="departments"
:tasks="tasks"
......@@ -77,6 +78,11 @@ export default {
type: Array,
default: () => ([])
},
// 角色
roles: {
type: Array,
default: () => ([])
},
// 人员组
groups: {
type: Array,
......
......@@ -7,6 +7,9 @@ export default {
'userTask.assignType.person': '人员',
'userTask.assignType.person.title': '审批人',
'userTask.assignType.person.placeholder': '选择审批人',
'userTask.assignType.role': '角色',
'userTask.assignType.role.title': '审批角色',
'userTask.assignType.role.placeholder': '选择审批角色',
'userTask.assignType.persongroup': '人员组',
'userTask.assignType.persongroup.title': '审批组',
'userTask.assignType.persongroup.placeholder': '选择审批组',
......@@ -22,6 +25,7 @@ export default {
'userTask.dueDate.placeholder': '请选择日期',
'userTask.counterSign': '会签',
'userTask.activeOrder': '主动接单',
'userTask.fullHandle': '全员处理',
'userTask.endorsement': '加签',
'conventional': '常规节点',
'handleNode': '处理节点',
......
......@@ -162,6 +162,7 @@
v-if="wfdDesignRefresh"
ref="wfd"
:users="users"
:roles="roles"
:departments="departments"
:tasks="taskListData"
:templates="ruleForm.tpls"
......@@ -197,6 +198,7 @@ import { classifyList } from '@/api/process/admin/classify'
import { templateList } from '@/api/process/admin/template'
import { taskList } from '@/api/process/admin/task'
import { listUser } from '@/api/system/sysuser'
import { listRole } from '@/api/system/role'
export default {
name: 'Process',
......@@ -221,6 +223,7 @@ export default {
// 查询参数
structureValue: [],
users: [],
roles: [],
groups: [],
departments: [],
templates: [],
......@@ -296,6 +299,13 @@ export default {
this.users = response.data.list
})
},
getRoles() {
listRole({
pageSize: 999999
}).then(response => {
this.roles = response.data.list
})
},
// 获取部门
// getDepartments() {
// departmentList({
......@@ -322,6 +332,7 @@ export default {
this.getClassifyList()
this.getTemplates()
this.getUsers()
this.getRoles()
this.getTaskList()
},
handleCreate() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment