This commit is contained in:
xiangheng
2023-12-18 01:44:18 +08:00
parent 60b2a5ce4c
commit c48a106744
11 changed files with 320 additions and 37 deletions

View File

@@ -9,9 +9,9 @@
审批节点
<div>设置审批人具体人员部门负责人岗位</div>
<!-- {{ adminUserList }} -->
<el-form>
<el-form label-width="80px">
<el-form-item label="审批人">
<el-select v-model="properties.user" placeholder="请选择审批人">
<el-select v-model="properties.userId" placeholder="请选择审批人">
<el-option
v-for="item in adminUserList"
:key="item.value"
@@ -20,6 +20,27 @@
/>
</el-select>
</el-form-item>
<el-form-item label="审批部门">
<el-select v-model="properties.deptId" placeholder="请选择审批部门">
<el-option
v-for="item in deptList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="岗位">
<el-select v-model="properties.postId" placeholder="请选择岗位">
<el-option
v-for="item in postList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
</div>
@@ -33,13 +54,33 @@
<div v-if="node.type == 'bpmn:exclusiveGateway'">
<div>网关只能有一个网关通过</div>
<div>从form取值判断</div>
<el-table fit size="small" :data="fieldList" style="width: 100%">
<el-table-column prop="label" label="表单"></el-table-column>
<el-table-column label="权限">
<template #default="{ row }">
<el-select v-model="row.condition" placeholder="请选择审批人">
<el-option
v-for="item in conditionList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</template>
</el-table-column>
<el-table-column label="值">
<template #default="{ row }">
<el-input v-model="row.conditionValue" placeholder="请输入"></el-input>
</template>
</el-table-column>
</el-table>
</div>
<div v-if="node.type == 'bpmn:endEvent'">结束</div>
<!-- 网关和结束节点不需要表单权限设置 -->
<el-table
v-if="['bpmn:startEvent', 'bpmn:userTask', 'bpmn:serviceTask'].includes(node.type)"
v-if="['bpmn:startEvent', 'bpmn:userTask'].includes(node.type)"
fit
size="small"
:data="fieldList"
@@ -66,6 +107,8 @@
<script>
import { adminLists } from '@/api/perms/admin'
import { deptLists } from '@/api/org/department'
import { postAll } from '@/api/org/post'
export default {
name: 'PropertyPanel',
@@ -74,10 +117,15 @@ export default {
return {
drawerVisible: false,
adminUserList: [],
deptList: [],
postList: [],
node: {},
properties: {
user: '', //审批人id
userId: '', //审批人id
deptId: '', //审批部门id
postId: '', //岗位id
fieldAuth: {} // 字段权限
},
/**
@@ -88,7 +136,21 @@ export default {
* auth: 1,
* }]
*/
fieldList: []
fieldList: [],
conditionList: [
{
value: 1,
label: '等于'
},
{
value: 2,
label: '大于等于'
},
{
value: 3,
label: '小于等于'
}
]
}
},
@@ -96,8 +158,11 @@ export default {
open(node, fieldList) {
this.node = node
this.properties.user = node?.properties?.user || ''
this.properties.userId = node?.properties?.userId || ''
this.properties.deptId = node?.properties?.deptId || ''
this.properties.postId = node?.properties?.postId || ''
this.properties.fieldAuth = node?.properties?.fieldAuth || {}
this.fieldList = fieldList.map((item) => {
let auth = 1
const formId = item?.field?.id
@@ -111,6 +176,8 @@ export default {
}
})
this.getAdminList()
this.getDeptList()
this.getPostList()
this.drawerVisible = true
},
close() {
@@ -122,7 +189,9 @@ export default {
this.setProperties('fieldAuth', {
...fieldAuth
})
this.setProperties('user', this.properties.user)
this.setProperties('userId', this.properties.userId)
this.setProperties('deptId', this.properties.deptId)
this.setProperties('postId', this.properties.postId)
},
getAdminList() {
adminLists().then((res) => {
@@ -135,6 +204,28 @@ export default {
})
})
},
getDeptList() {
deptLists().then((res) => {
console.log('res', res)
this.deptList = res.map((item) => {
return {
value: item.id,
label: item.name
}
})
})
},
getPostList() {
postAll().then((res) => {
console.log('res', res)
this.postList = res.map((item) => {
return {
value: item.id,
label: item.name
}
})
})
},
setProperties(key, val) {
this.$emit('setProperties', this.node, {
[key]: val