Browse Source

修改权限

liwenxuan_v2
超级管理员 2 years ago
parent
commit
46d9a3873c
  1. 79
      src/components/workflow/dialog/matrix.vue
  2. 68
      src/components/workflow/drwer/approverDrawer.vue
  3. 1
      src/utils/workflow/const.ts
  4. 16
      src/views/sysworkflow/flow/flowDrawingBoard.vue

79
src/components/workflow/dialog/matrix.vue

@ -0,0 +1,79 @@
<!--
@ 作者: 秦东
@ 时间: 2023-10-28 13:56:34
@ 备注: 矩阵选项
-->
<script lang='ts' setup>
import { searchMatrix,matrixCont } from '@/api/matrixapi/type'
import { getMatrixList } from '@/api/matrixapi/index'
const props = defineProps({
isshow:{
type:Boolean,
default:false
}
})
const emits = defineEmits(["update:isshow","change"]); //
const isShow = computed({
get: () => props.isshow,
set: (val) => {
emits("update:isshow", val);
},
});
const loading = ref(true);
const matrixContList = ref<matrixCont[]>();
//
watch(() => props.isshow,(val:any) => {
if(val){
console.log("执行监听")
searchMatrixList();
}
})
//
const searchArchiveQuery = reactive<searchMatrix>({
page:1,
pagesize:10
})
const total = ref(0); //
/**
* 获取矩阵列表
*/
function searchMatrixList(){
loading.value = true
getMatrixList(searchArchiveQuery)
.then(({ data })=>{
console.log("获取矩阵列表->",data)
matrixContList.value = data.list
total.value = data.total
}).finally(()=>{loading.value = false})
}
</script>
<template>
<el-descriptions
v-if="isShow"
title="权限矩阵"
direction="vertical"
:column="2"
:size="size"
border
>
<el-descriptions-item label="可用矩阵" width="50%">
<el-row v-loading="loading">
<el-col v-for="item in matrixContList" :key="item.id" :span="24">
{{item.name}}
</el-col>
<el-col :span="24">
<el-pagination v-model:total="total" v-model:current-page="searchArchiveQuery.page" small layout="prev, pager, next" :page-size="searchArchiveQuery.pagesize" :pager-count="5" />
</el-col>
</el-row>
</el-descriptions-item>
<el-descriptions-item label="矩阵选项" width="50%">
</el-descriptions-item>
</el-descriptions>
</template>
<style lang='scss' scoped>
</style>

68
src/components/workflow/drwer/approverDrawer.vue

@ -11,6 +11,7 @@ import { getAllParentNode,judgeOptionalNode } from '@/api/workflowapi/index'
import PositionDialog from '@/components/workflow/dialog/positionDialog.vue'
import FormWord from '@/components/workflow/dialog/formWord.vue'
import MatrixPage from '@/components/workflow/dialog/matrix.vue'
let props = defineProps({
nodeConfig:{
@ -55,13 +56,15 @@ let visible = computed({
closeDrawer()
}
})
const matrixIsShow = ref(false)
watch(visible,(val:any)=>{
// if(val)
})
watch(approverConfig1, (val:any)=>{
// console.log("directormaxlevel",visible.value)
// console.log("directormaxlevel",visible.value)\
matrixIsShow.value = false
approverConfig.value = val.value
if(val.type == 3){
nodeTitle.value = "执行人设置"
@ -95,14 +98,21 @@ watch(approverConfig1, (val:any)=>{
}
})
}
if(val.value.settype == 9){
matrixIsShow.value = true
}
})
let changeRange = ()=> {
approverConfig.value.nodeUserList = [];
}
//
const matrixList = ref<any[]>()
const matrixCont = ref<any>()
const matrixFieldList = ref<any[]>()
const changeType = (val:any)=> {
matrixIsShow.value = false
approverConfig.value.nodeUserList = [];
approverConfig.value.examineMode = 1;
approverConfig.value.noHanderAction = 2;
@ -113,7 +123,10 @@ const changeType = (val:any)=> {
approverConfig.value.selectRange = 1;
} else if (val == 7) {
approverConfig.value.examineEndDirectorLevel = 1
}
}else if (val == 9){
matrixIsShow.value = true
}
}
const addApprover = ()=> {
approverVisible.value = true;
@ -170,6 +183,8 @@ const sureFormTableApprover = (data:any)=> {
approverConfig.value.nodeUserList = data;
appFormTableVisible.value = false;
}
//
const updateMatrix = (val:any) =>{}
</script>
<template>
@ -283,6 +298,7 @@ const sureFormTableApprover = (data:any)=> {
</el-radio-group>
</div>
<!--根据关联表单设置指定审批字段-->
<div v-if="approverConfig.settype==8" class="approver_manager">
<p>指定审批字段</p>
<el-button type="primary" @click="formTableField">添加/修改审批字段</el-button>
@ -291,8 +307,46 @@ const sureFormTableApprover = (data:any)=> {
<el-tag v-if="approverConfig.nodeUserList.length!=0" type="danger" effect="dark" @click="approverConfig.nodeUserList=[]">清除</el-tag>
</p>
</div>
<!--权限矩阵-->
<div v-if="approverConfig.settype==9" class="approver_manager">
<MatrixPage
v-model:isshow="matrixIsShow"
@change="updateMatrix"
/>
<el-row :gutter="10">
<el-col :span="12"><el-text class="mx-1" size="large">可用矩阵</el-text></el-col>
<el-col :span="12"><el-text class="mx-1" size="large">矩阵选项</el-text></el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-select v-model="matrixCont" filterable placeholder="Select" style="width:100%">
<el-option
v-for="item in matrixList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-pagination small layout="prev, pager, next" :total="50" />
</el-col>
<el-col :span="12">
<el-select v-model="matrixCont" filterable placeholder="Select" style="width:100%">
<el-option
v-for="item in matrixFieldList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
</div>
<!--补充审批信息-->
<div v-if="(approverConfig.settype==1&&approverConfig.nodeUserList.length>1)||approverConfig.settype==2||approverConfig.settype==6||(approverConfig.settype==4&&approverConfig.selectMode==2)||approverConfig.settype==8" class="approver_some">
<div v-if="(approverConfig.settype==1&&approverConfig.nodeUserList.length>1)||approverConfig.settype==2||approverConfig.settype==6||(approverConfig.settype==4&&approverConfig.selectMode==2)||approverConfig.settype==8||approverConfig.settype==9" class="approver_some">
<p>多人审批时采用的审批方式</p>
<el-radio-group v-model="approverConfig.examineMode" class="clear">
<el-radio :label="1">依次审批</el-radio>
@ -300,7 +354,7 @@ const sureFormTableApprover = (data:any)=> {
<el-radio v-if="approverConfig.settype!=2" :label="3">非会签(有一位审批人同意即可)</el-radio>
</el-radio-group>
</div>
<div v-if="approverConfig.settype==2||approverConfig.settype==6" class="approver_some">
<div v-if="approverConfig.settype==2||approverConfig.settype==6||approverConfig.settype==9" class="approver_some">
<p>审批人为空时</p>
<el-radio-group v-model="approverConfig.noHanderAction" class="clear">
<el-radio :label="1">自动审批通过/不允许发起</el-radio>

1
src/utils/workflow/const.ts

@ -13,6 +13,7 @@ export let setTypes = [
{value: 6, label: '连续多级主管'},
{value: 7, label: '指定前置审批为本节点设置审批人'},
{value: 8, label: '表单字段'},
{value: 9, label: '权限矩阵'}
]
export let selectModes = [

16
src/views/sysworkflow/flow/flowDrawingBoard.vue

@ -87,9 +87,9 @@ const getFlowVerList = ()=>{
isRead.value = false
}
}
console.log("获取工作流版本列表---1-->",activeTabs.value);
console.log("获取工作流版本列表---2-->",enableFlow.value);
console.log("获取工作流版本列表---3-->",enableVersion.value);
// console.log("---1-->",activeTabs.value);
// console.log("---2-->",enableFlow.value);
// console.log("---3-->",enableVersion.value);
})
.finally(()=>{
if(isRead.value == true){
@ -209,7 +209,7 @@ const zoomSize = (type:number) => {
}
};
//
const clearCanvas = (isOk?:number) =>{
const clearCanvas = (isOk?:any) =>{
if(isOk==1){
initWorkFlowData()
setIsTried(false);
@ -246,7 +246,7 @@ watch(()=>props.openDrawer,(val)=>{
//
const clickFormTable = (val:any) =>{
console.log("切换表单",val,activeTabs.value)
// console.log("",val,activeTabs.value)
enableVersion.value = val
gainFlowCont();
clickOpenOrClose();
@ -360,7 +360,7 @@ const setupState = (val:number) =>{
.finally(()=>{
clickOpenOrClose();
})
console.log("enableFlow.version==activeTabs",enableFlow.version,activeTabs)
// console.log("enableFlow.version==activeTabs",enableFlow.version,activeTabs)
}
const openOfClise = ref(false)
const clickOpenOrClose = () => {
@ -369,8 +369,8 @@ const clickOpenOrClose = () => {
}else{
openOfClise.value = false
}
console.log("openOfClise",openOfClise.value)
console.log("enableFlow.version=1=activeTabs",enableFlow.value,activeTabs.value)
// console.log("openOfClise",openOfClise.value)
// console.log("enableFlow.version=1=activeTabs",enableFlow.value,activeTabs.value)
}
</script>
<template>

Loading…
Cancel
Save