|
|
@ -101,13 +101,23 @@ const matrixIsShow = ref(false) |
|
|
watch(approverConfig1, (val:any)=>{ |
|
|
watch(approverConfig1, (val:any)=>{ |
|
|
|
|
|
|
|
|
val.value.attribute = val.value.attribute*1 |
|
|
val.value.attribute = val.value.attribute*1 |
|
|
// console.log("directormaxlevel",val.value) |
|
|
console.log("directormaxlevel",val.value) |
|
|
matrixIsShow.value = false |
|
|
matrixIsShow.value = false |
|
|
approverConfig.value = val.value |
|
|
approverConfig.value = val.value |
|
|
if(val.type == 3){ |
|
|
if(val.type == 3){ |
|
|
nodeTitle.value = "执行人设置" |
|
|
if(val.value.nodeName != ""){ |
|
|
|
|
|
nodeTitle.value = val.value.nodeName+"设置" |
|
|
|
|
|
}else{ |
|
|
|
|
|
nodeTitle.value = "执行人设置" |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
}else{ |
|
|
}else{ |
|
|
nodeTitle.value = "审批人设置" |
|
|
if(val.value.nodeName != ""){ |
|
|
|
|
|
nodeTitle.value = val.value.nodeName+"设置" |
|
|
|
|
|
}else{ |
|
|
|
|
|
nodeTitle.value = "审批人设置" |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
isExecutor.value = false |
|
|
isExecutor.value = false |
|
|
// approverConfig.attribute = approverConfig.attribute*1 |
|
|
// approverConfig.attribute = approverConfig.attribute*1 |
|
|
@ -217,12 +227,12 @@ const saveApprover = ()=> { |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
console.log("正确",formData.value) |
|
|
// console.log("正确",formData.value) |
|
|
if(formData.value.purview){ |
|
|
if(formData.value.purview){ |
|
|
console.log("正确") |
|
|
// console.log("正确") |
|
|
let isNew = true |
|
|
let isNew = true |
|
|
formData.value.purview.forEach((item:any)=>{ |
|
|
formData.value.purview.forEach((item:any)=>{ |
|
|
console.log("正确---->",item.nodeKey) |
|
|
// console.log("正确---->",item.nodeKey) |
|
|
if(item.nodeKey == approverConfig1.value.value.nodeNumber){ |
|
|
if(item.nodeKey == approverConfig1.value.value.nodeNumber){ |
|
|
item.powerAry=powerAry |
|
|
item.powerAry=powerAry |
|
|
isNew = false |
|
|
isNew = false |
|
|
@ -299,6 +309,7 @@ watch(()=>visible.value,(val:boolean)=>{ |
|
|
jieForm(); |
|
|
jieForm(); |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
|
|
|
const nodeSetUp = ref("first") |
|
|
</script> |
|
|
</script> |
|
|
<template> |
|
|
<template> |
|
|
|
|
|
|
|
|
@ -307,183 +318,180 @@ watch(()=>visible.value,(val:boolean)=>{ |
|
|
<div class="demo-drawer__content"> |
|
|
<div class="demo-drawer__content"> |
|
|
<!--审批人设置主体--> |
|
|
<!--审批人设置主体--> |
|
|
<div class="drawer_content"> |
|
|
<div class="drawer_content"> |
|
|
<div class="approver_content"> |
|
|
<el-tabs v-model="nodeSetUp" class="demo-tabs"> |
|
|
<el-radio-group v-model="approverConfig.settype" class="clear" @change="changeType"> |
|
|
<el-tab-pane name="first"> |
|
|
<template v-for="({value, label}) in setTypes" :key="value"> |
|
|
<template #label> |
|
|
<el-radio v-if="isShowRatify(value)" :label="value" style="width:auto">{{label}}</el-radio> |
|
|
<span class="wordKeyCss">属性设置</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-radio-group> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--指定成员--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==1" content-position="left">指定成员</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==1" class="approver_manager"> |
|
|
|
|
|
<el-button type="primary" @click="addApprover">添加/修改成员</el-button> |
|
|
|
|
|
<p class="selected_list"> |
|
|
|
|
|
<el-tag v-for="(item,index) in approverConfig.nodeUserList" :key="index" closable type="info" effect="plain" class="tag_us" @close="$func.removeEle(approverConfig.nodeUserList,item,'targetId')">{{item.name}}</el-tag> |
|
|
|
|
|
<el-tag v-if="approverConfig.nodeUserList.length!=0" type="danger" effect="dark" @click="approverConfig.nodeUserList=[]">清除</el-tag> |
|
|
|
|
|
</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--主管--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==2" content-position="left">主管</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==2" class="approver_manager"> |
|
|
|
|
|
<p> |
|
|
|
|
|
<el-row :gutter="10"> |
|
|
|
|
|
<el-col v-if="isExecutor" :span="6"> |
|
|
|
|
|
<select v-model="approverConfig.attribute" style="width:100%"> |
|
|
|
|
|
<option value="1">发起人</option> |
|
|
|
|
|
<option value="2">执行人</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="18"> |
|
|
|
|
|
<select v-model="approverConfig.directorLevel"> |
|
|
|
|
|
<option v-for="item in props.directormaxlevel" :key="item" :value="item">{{item==1?'直接':'第'+item+'级'}}主管</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
</p> |
|
|
|
|
|
<p class="tip">找不到主管时,由上级主管代审批</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--行政岗位--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==3" content-position="left">指定行政岗位</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==3" class="approver_manager"> |
|
|
|
|
|
<el-row> |
|
|
|
|
|
<el-col :span="18"> |
|
|
|
|
|
<el-button type="primary" @click="addApproverPost">添加/修改行政岗位</el-button> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="6"> |
|
|
|
|
|
<select v-if="isExecutor" v-model="approverConfig.attribute" style="width:100%"> |
|
|
|
|
|
<option value="1">发起人</option> |
|
|
|
|
|
<option value="2">执行人</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<p class="selected_list"> |
|
|
|
|
|
<el-tag v-for="(item,index) in approverConfig.nodeUserList" :key="index" closable type="info" effect="plain" class="tag_us" @close="$func.removeEle(approverConfig.nodeUserList,item,'targetId')">{{item.name}}</el-tag> |
|
|
|
|
|
<el-tag v-if="approverConfig.nodeUserList.length!=0" type="danger" effect="dark" @click="approverConfig.nodeUserList=[]">清除</el-tag> |
|
|
|
|
|
</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--发起人自选--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==4" content-position="left">发起人自选</el-divider> |
|
|
|
|
|
<div v-show="approverConfig.settype==4" class="approver_self_select"> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.selectMode" style="width: 100%;"> |
|
|
|
|
|
<el-radio v-for="({value, label}) in selectModes" :key="value" :label="value">{{label}}</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
<h3>选择范围</h3> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.selectRange" style="width: 100%;" @change="changeRange"> |
|
|
|
|
|
<el-radio v-for="({value, label}) in selectRanges" :key="value" :label="value" >{{label}}</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
<template v-if="approverConfig.selectRange==2||approverConfig.selectRange==3"> |
|
|
|
|
|
<el-button v-if="approverConfig.selectRange==2" type="primary" @click="addApprover">添加/修改成员</el-button> |
|
|
|
|
|
<el-button v-else type="primary" @click="addRoleApprover">添加/修改角色</el-button> |
|
|
|
|
|
<p class="selected_list"> |
|
|
|
|
|
<el-tag v-for="(item,index) in approverConfig.nodeUserList" :key="index" closable type="info" effect="plain" class="tag_us" @close="$func.removeEle(approverConfig.nodeUserList,item,'targetId')">{{item.name}}</el-tag> |
|
|
|
|
|
<el-tag v-if="approverConfig.nodeUserList.length!=0&&approverConfig.selectRange!=1" type="danger" effect="dark" @click="approverConfig.nodeUserList=[]">清除</el-tag> |
|
|
|
|
|
</p> |
|
|
|
|
|
</template> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--发起人自己--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==5" content-position="left">发起人自选</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==5" class="approver_self"> |
|
|
|
|
|
<p>该审批节点设置“发起人自己”后,审批人默认为发起人</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--连续多级主管--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==6" content-position="left">连续多级主管</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==6" class="approver_manager"> |
|
|
|
|
|
<p style="padding-bottom:20px"> |
|
|
|
|
|
<el-row :gutter="10"> |
|
|
|
|
|
<el-col v-if="isExecutor" :span="6"> |
|
|
|
|
|
<select v-model="approverConfig.attribute" style="width:100%"> |
|
|
|
|
|
<option value="1">发起人</option> |
|
|
|
|
|
<option value="2">执行人</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="10"> |
|
|
|
|
|
<select v-model="approverConfig.examineEndDirectorLevel"> |
|
|
|
|
|
<option v-for="item in props.directormaxlevel" :key="item" :value="item">{{item==1?'直接':'第'+item+'级'}}主管</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--指定审批节点为本节点设置审批人--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==7" content-position="left">可选节点列表</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==7" class="approver_manager"> |
|
|
|
|
|
<p>可选节点列表</p> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.customNode" class="clear"> |
|
|
|
|
|
<el-radio label="beginnode" >发起人</el-radio> |
|
|
|
|
|
<el-radio v-for="item in nodeOptional" :key="item.nodeNumber" :label="item.nodeNumber" class="nodeGroupRadio">{{ item.nodeName }}(编号:{{ item.nodeNumber }})</el-radio> |
|
|
|
|
|
|
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--根据关联表单设置指定审批字段--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==8" content-position="left">指定审批字段</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==8" class="approver_manager"> |
|
|
|
|
|
<el-button type="primary" @click="formTableField">添加/修改审批字段</el-button> |
|
|
|
|
|
<p class="selected_list"> |
|
|
|
|
|
<el-tag v-for="(item,index) in approverConfig.nodeUserList" :key="index" closable type="info" effect="plain" class="tag_us" @close="$func.removeEle(approverConfig.nodeUserList,item,'targetId')">{{item.name}}</el-tag> |
|
|
|
|
|
<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"> |
|
|
|
|
|
<select v-if="isExecutor" v-model="approverConfig.attribute" style="width:100%"> |
|
|
|
|
|
<option value="1">发起人</option> |
|
|
|
|
|
<option value="2">执行人</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</div> |
|
|
|
|
|
<MatrixPage |
|
|
|
|
|
v-if="approverConfig.settype==9" |
|
|
|
|
|
v-model:isshow="matrixIsShow" |
|
|
|
|
|
:data="matrixFieldList" |
|
|
|
|
|
@change="updateMatrix" |
|
|
|
|
|
/> |
|
|
|
|
|
<!--补充审批信息--> |
|
|
|
|
|
<el-divider 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" content-position="left">多人审批时采用的审批方式</el-divider> |
|
|
|
|
|
<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"> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.examineMode" class="clear"> |
|
|
|
|
|
<el-radio :label="1">依次审批</el-radio> |
|
|
|
|
|
<el-radio v-if="approverConfig.settype!=2" :label="2">会签(须所有审批人同意)</el-radio> |
|
|
|
|
|
<el-radio v-if="approverConfig.settype!=2" :label="3">或签(有一位审批人同意即可)</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==2||approverConfig.settype==6||approverConfig.settype==9" content-position="left">审批人为空时</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==2||approverConfig.settype==6||approverConfig.settype==9" class="approver_some"> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.noHanderAction" class="clear"> |
|
|
|
|
|
<el-radio :label="1">自动审批通过/不允许发起</el-radio> |
|
|
|
|
|
<br/> |
|
|
|
|
|
<el-radio :label="2">转交给审核管理员</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-divider content-position="left">退回设置</el-divider> |
|
|
|
|
|
<div class="approver_some"> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.sendBackNode" class="clear"> |
|
|
|
|
|
<el-radio label="beginnode" >发起人</el-radio> |
|
|
|
|
|
<el-radio v-for="item in nodeOptional" :key="item.nodeNumber" :label="item.nodeNumber" >{{ item.nodeName }}(编号:{{ item.nodeNumber }})</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<el-divider content-position="left">操作权限</el-divider> |
|
|
<!-- <el-divider content-position="left">节点属性</el-divider> --> |
|
|
<div class="info_box"> |
|
|
<div class="approver_content"> |
|
|
<div class="table_name"><el-text class="mx-1" type="primary">主表</el-text></div> |
|
|
<el-radio-group v-model="approverConfig.settype" class="clear" @change="changeType"> |
|
|
<el-table v-if="powerUnitAry.recUnitAry.masterUnitList" :data="powerUnitAry.recUnitAry.masterUnitList" size="small" style="width: 100%; --el-table-border-color: none;" :header-cell-style="{background:'#eef1f6',color:'#606266'}" class="customer-no-border-table" > |
|
|
<template v-for="({value, label}) in setTypes" :key="value"> |
|
|
<el-table-column prop="name" label="字段" /> |
|
|
<el-radio v-if="isShowRatify(value)" :label="value" style="width:auto">{{label}}</el-radio> |
|
|
<el-table-column label="可见" align="center" width="80"> |
|
|
</template> |
|
|
<template #default="scope"> |
|
|
</el-radio-group> |
|
|
<el-checkbox v-model="scope.row.isLook" label="" /> |
|
|
</div> |
|
|
</template> |
|
|
<!--指定成员--> |
|
|
</el-table-column> |
|
|
<el-divider v-if="approverConfig.settype==1" content-position="left">指定成员</el-divider> |
|
|
<el-table-column label="可编辑" align="center" width="80"> |
|
|
<div v-if="approverConfig.settype==1" class="approver_manager"> |
|
|
<template #default="scope"> |
|
|
<el-button type="primary" @click="addApprover">添加/修改成员</el-button> |
|
|
<el-checkbox v-model="scope.row.isEdit" label="" /> |
|
|
<p class="selected_list"> |
|
|
|
|
|
<el-tag v-for="(item,index) in approverConfig.nodeUserList" :key="index" closable type="info" effect="plain" class="tag_us" @close="$func.removeEle(approverConfig.nodeUserList,item,'targetId')">{{item.name}}</el-tag> |
|
|
|
|
|
<el-tag v-if="approverConfig.nodeUserList.length!=0" type="danger" effect="dark" @click="approverConfig.nodeUserList=[]">清除</el-tag> |
|
|
|
|
|
</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--主管--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==2" content-position="left">主管</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==2" class="approver_manager"> |
|
|
|
|
|
<p> |
|
|
|
|
|
<el-row :gutter="10"> |
|
|
|
|
|
<el-col v-if="isExecutor" :span="6"> |
|
|
|
|
|
<select v-model="approverConfig.attribute" style="width:100%"> |
|
|
|
|
|
<option value="1">发起人</option> |
|
|
|
|
|
<option value="2">执行人</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="18"> |
|
|
|
|
|
<select v-model="approverConfig.directorLevel"> |
|
|
|
|
|
<option v-for="item in props.directormaxlevel" :key="item" :value="item">{{item==1?'直接':'第'+item+'级'}}主管</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
</p> |
|
|
|
|
|
<p class="tip">找不到主管时,由上级主管代审批</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--行政岗位--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==3" content-position="left">指定行政岗位</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==3" class="approver_manager"> |
|
|
|
|
|
<el-row> |
|
|
|
|
|
<el-col :span="18"> |
|
|
|
|
|
<el-button type="primary" @click="addApproverPost">添加/修改行政岗位</el-button> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="6"> |
|
|
|
|
|
<select v-if="isExecutor" v-model="approverConfig.attribute" style="width:100%"> |
|
|
|
|
|
<option value="1">发起人</option> |
|
|
|
|
|
<option value="2">执行人</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<p class="selected_list"> |
|
|
|
|
|
<el-tag v-for="(item,index) in approverConfig.nodeUserList" :key="index" closable type="info" effect="plain" class="tag_us" @close="$func.removeEle(approverConfig.nodeUserList,item,'targetId')">{{item.name}}</el-tag> |
|
|
|
|
|
<el-tag v-if="approverConfig.nodeUserList.length!=0" type="danger" effect="dark" @click="approverConfig.nodeUserList=[]">清除</el-tag> |
|
|
|
|
|
</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--发起人自选--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==4" content-position="left">发起人自选</el-divider> |
|
|
|
|
|
<div v-show="approverConfig.settype==4" class="approver_self_select"> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.selectMode" style="width: 100%;"> |
|
|
|
|
|
<el-radio v-for="({value, label}) in selectModes" :key="value" :label="value">{{label}}</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
<h3>选择范围</h3> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.selectRange" style="width: 100%;" @change="changeRange"> |
|
|
|
|
|
<el-radio v-for="({value, label}) in selectRanges" :key="value" :label="value" >{{label}}</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
<template v-if="approverConfig.selectRange==2||approverConfig.selectRange==3"> |
|
|
|
|
|
<el-button v-if="approverConfig.selectRange==2" type="primary" @click="addApprover">添加/修改成员</el-button> |
|
|
|
|
|
<el-button v-else type="primary" @click="addRoleApprover">添加/修改角色</el-button> |
|
|
|
|
|
<p class="selected_list"> |
|
|
|
|
|
<el-tag v-for="(item,index) in approverConfig.nodeUserList" :key="index" closable type="info" effect="plain" class="tag_us" @close="$func.removeEle(approverConfig.nodeUserList,item,'targetId')">{{item.name}}</el-tag> |
|
|
|
|
|
<el-tag v-if="approverConfig.nodeUserList.length!=0&&approverConfig.selectRange!=1" type="danger" effect="dark" @click="approverConfig.nodeUserList=[]">清除</el-tag> |
|
|
|
|
|
</p> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</div> |
|
|
</el-table> |
|
|
<!--发起人自己--> |
|
|
<el-row v-if="powerUnitAry.recUnitAry.sunUnitList" v-for="(item,index) in powerUnitAry.recUnitAry.sunUnitList" :key="index"> |
|
|
<el-divider v-if="approverConfig.settype==5" content-position="left">发起人自选</el-divider> |
|
|
<el-col :span="24" class="table_name"><el-text class="mx-1" type="primary">{{item.name}}</el-text>子表</el-col> |
|
|
<div v-if="approverConfig.settype==5" class="approver_self"> |
|
|
<el-col :span="24"> |
|
|
<p>该审批节点设置“发起人自己”后,审批人默认为发起人</p> |
|
|
<el-table v-if="item.masterUnitList" :data="item.masterUnitList" size="small" style="width: 100%; --el-table-border-color: none;" :header-cell-style="{background:'#eef1f6',color:'#606266'}"> |
|
|
</div> |
|
|
|
|
|
<!--连续多级主管--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==6" content-position="left">连续多级主管</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==6" class="approver_manager"> |
|
|
|
|
|
<p style="padding-bottom:20px"> |
|
|
|
|
|
<el-row :gutter="10"> |
|
|
|
|
|
<el-col v-if="isExecutor" :span="6"> |
|
|
|
|
|
<select v-model="approverConfig.attribute" style="width:100%"> |
|
|
|
|
|
<option value="1">发起人</option> |
|
|
|
|
|
<option value="2">执行人</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="10"> |
|
|
|
|
|
<select v-model="approverConfig.examineEndDirectorLevel"> |
|
|
|
|
|
<option v-for="item in props.directormaxlevel" :key="item" :value="item">{{item==1?'直接':'第'+item+'级'}}主管</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--指定审批节点为本节点设置审批人--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==7" content-position="left">可选节点列表</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==7" class="approver_manager"> |
|
|
|
|
|
<p>可选节点列表</p> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.customNode" class="clear"> |
|
|
|
|
|
<el-radio label="beginnode" >发起人</el-radio> |
|
|
|
|
|
<el-radio v-for="item in nodeOptional" :key="item.nodeNumber" :label="item.nodeNumber" class="nodeGroupRadio">{{ item.nodeName }}(编号:{{ item.nodeNumber }})</el-radio> |
|
|
|
|
|
|
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
</div> |
|
|
|
|
|
<!--根据关联表单设置指定审批字段--> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==8" content-position="left">指定审批字段</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==8" class="approver_manager"> |
|
|
|
|
|
<el-button type="primary" @click="formTableField">添加/修改审批字段</el-button> |
|
|
|
|
|
<p class="selected_list"> |
|
|
|
|
|
<el-tag v-for="(item,index) in approverConfig.nodeUserList" :key="index" closable type="info" effect="plain" class="tag_us" @close="$func.removeEle(approverConfig.nodeUserList,item,'targetId')">{{item.name}}</el-tag> |
|
|
|
|
|
<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"> |
|
|
|
|
|
<select v-if="isExecutor" v-model="approverConfig.attribute" style="width:100%"> |
|
|
|
|
|
<option value="1">发起人</option> |
|
|
|
|
|
<option value="2">执行人</option> |
|
|
|
|
|
</select> |
|
|
|
|
|
</div> |
|
|
|
|
|
<MatrixPage |
|
|
|
|
|
v-if="approverConfig.settype==9" |
|
|
|
|
|
v-model:isshow="matrixIsShow" |
|
|
|
|
|
:data="matrixFieldList" |
|
|
|
|
|
@change="updateMatrix" |
|
|
|
|
|
/> |
|
|
|
|
|
<!--补充审批信息--> |
|
|
|
|
|
<el-divider 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" content-position="left">多人审批时采用的审批方式</el-divider> |
|
|
|
|
|
<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"> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.examineMode" class="clear"> |
|
|
|
|
|
<el-radio :label="1">依次审批</el-radio> |
|
|
|
|
|
<el-radio v-if="approverConfig.settype!=2" :label="2">会签(须所有审批人同意)</el-radio> |
|
|
|
|
|
<el-radio v-if="approverConfig.settype!=2" :label="3">或签(有一位审批人同意即可)</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-divider v-if="approverConfig.settype==2||approverConfig.settype==6||approverConfig.settype==9" content-position="left">审批人为空时</el-divider> |
|
|
|
|
|
<div v-if="approverConfig.settype==2||approverConfig.settype==6||approverConfig.settype==9" class="approver_some"> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.noHanderAction" class="clear"> |
|
|
|
|
|
<el-radio :label="1">自动审批通过/不允许发起</el-radio> |
|
|
|
|
|
<br/> |
|
|
|
|
|
<el-radio :label="2">转交给审核管理员</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
</div> |
|
|
|
|
|
<el-divider content-position="left">退回设置</el-divider> |
|
|
|
|
|
<div class="approver_some"> |
|
|
|
|
|
<el-radio-group v-model="approverConfig.sendBackNode" class="clear"> |
|
|
|
|
|
<el-radio label="beginnode" >发起人</el-radio> |
|
|
|
|
|
<el-radio v-for="item in nodeOptional" :key="item.nodeNumber" :label="item.nodeNumber" >{{ item.nodeName }}(编号:{{ item.nodeNumber }})</el-radio> |
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-tab-pane> |
|
|
|
|
|
<el-tab-pane name="second"> |
|
|
|
|
|
<template #label> |
|
|
|
|
|
<span class="wordKeyCss">操作权限</span> |
|
|
|
|
|
</template> |
|
|
|
|
|
<!-- <el-divider content-position="left">操作权限</el-divider> --> |
|
|
|
|
|
<div class="info_box"> |
|
|
|
|
|
<div class="table_name"><el-text class="mx-1" type="primary">主表</el-text></div> |
|
|
|
|
|
<el-table v-if="powerUnitAry.recUnitAry.masterUnitList" :data="powerUnitAry.recUnitAry.masterUnitList" size="small" style="width: 100%; --el-table-border-color: none;" :header-cell-style="{background:'#eef1f6',color:'#606266'}" class="customer-no-border-table" > |
|
|
<el-table-column prop="name" label="字段" /> |
|
|
<el-table-column prop="name" label="字段" /> |
|
|
<el-table-column label="可见" align="center" width="80"> |
|
|
<el-table-column label="可见" align="center" width="80"> |
|
|
<template #default="scope"> |
|
|
<template #default="scope"> |
|
|
@ -496,10 +504,27 @@ watch(()=>visible.value,(val:boolean)=>{ |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
</el-col> |
|
|
<el-row v-if="powerUnitAry.recUnitAry.sunUnitList" v-for="(item,index) in powerUnitAry.recUnitAry.sunUnitList" :key="index"> |
|
|
</el-row> |
|
|
<el-col :span="24" class="table_name"><el-text class="mx-1" type="primary">{{item.name}}</el-text>子表</el-col> |
|
|
</div> |
|
|
<el-col :span="24"> |
|
|
|
|
|
<el-table v-if="item.masterUnitList" :data="item.masterUnitList" size="small" style="width: 100%; --el-table-border-color: none;" :header-cell-style="{background:'#eef1f6',color:'#606266'}"> |
|
|
|
|
|
<el-table-column prop="name" label="字段" /> |
|
|
|
|
|
<el-table-column label="可见" align="center" width="80"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<el-checkbox v-model="scope.row.isLook" label="" /> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column label="可编辑" align="center" width="80"> |
|
|
|
|
|
<template #default="scope"> |
|
|
|
|
|
<el-checkbox v-model="scope.row.isEdit" label="" /> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-tab-pane> |
|
|
|
|
|
</el-tabs> |
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<div class="demo-drawer__footer clear"> |
|
|
<div class="demo-drawer__footer clear"> |
|
|
@ -631,4 +656,7 @@ watch(()=>visible.value,(val:boolean)=>{ |
|
|
.info_box{ |
|
|
.info_box{ |
|
|
padding: 0 20px; |
|
|
padding: 0 20px; |
|
|
} |
|
|
} |
|
|
|
|
|
.wordKeyCss{ |
|
|
|
|
|
padding: 0 20px; |
|
|
|
|
|
} |
|
|
</style> |
|
|
</style> |
|
|
|