Commit f13a602d by Mr. Lan

feat: 添加角色处理人。

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