Merge pull request 'fix : 流程管理中人员回显,表格更新负责人按钮更换位置,需求汇总选择框过滤' (#487) from dd into master

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/487
This commit is contained in:
2024-07-06 09:36:54 +00:00
3 changed files with 132 additions and 122 deletions

View File

@@ -151,7 +151,10 @@ const tableConfig = reactive({
columns: [
{
type: 'selection',
prop: 'selection'
prop: 'selection',
selectable: (row, index) => {
return row.state === '4';
}
},
{
prop: 'requirementName',
@@ -287,13 +290,17 @@ const headBtnClick = (key) => {
}
}
const selectionChange = (data) => {
console.log('data', data)
console.log('data', data, tableIns.value.tableInstance)
data.forEach(item => {
// toggleRowSelection
})
projectSelectList.value = data
}
const handleExport = () => {
console.log('projectSelectList.value', projectSelectList.value)
let projectIds=[]
projectSelectList.value.map(item=>{
let projectIds = []
projectSelectList.value.map(item => {
projectIds.push(item.projectId)
})
if (projectSelectList.value.length > 0) {

View File

@@ -9,10 +9,10 @@
</el-col>
<el-col :span="24">
<el-form-item prop="projectChargePerson" label="项目负责人">
{{ tableForm.projectChargePersonName }}
<el-button color="#DED0B2" @click="showPersonnelPicker" style="margin-left: 10px">
<el-button color="#DED0B2" @click="showPersonnelPicker" style="margin-right: 10px">
{{ tableForm.projectChargePersonName ? '更改' : '请选择项目负责人' }}
</el-button>
{{ tableForm.projectChargePersonName }}
</el-form-item>
</el-col>
<el-col :span="12">

View File

@@ -5,16 +5,17 @@
<el-radio v-for="item in approvalTypes" :label="item.type" :key="item.type">{{ item.name }}</el-radio>
</el-radio-group>
<!-- <div v-else>-->
<!-- <span class="item-desc">发起人自己作为审批人进行审批</span>-->
<!-- </div>-->
<!-- <div v-else>-->
<!-- <span class="item-desc">发起人自己作为审批人进行审批</span>-->
<!-- </div>-->
</el-form-item>
<el-form-item style="margin-top: -18px">
<div v-if="nodeProps.assignedType === 'ASSIGN_USER'" >
<div v-if="nodeProps.assignedType === 'ASSIGN_USER'">
<el-button size="mini" icon="Plus" type="primary" @click="showSysRolePicker" round>
选择人员
</el-button>
<user-picker :check-matrix="true" title="请选择人员" :multiple="false" ref="sysRolePicker" :v-model="assignedUser" @ok="selectedUser"/>
<user-picker :check-matrix="true" title="请选择人员" :multiple="false" ref="sysRolePicker"
v-model:value="assignedUser" @ok="selectedUser"/>
<!-- <ellipsis :row="3" :user-info="assignedUser"/>-->
<role-items v-model="assignedUser"/>
</div>
@@ -57,129 +58,130 @@
</div>
<div v-else-if="nodeProps.assignedType === 'FORM_USER'">
<el-form-item label="选择表单联系人项" prop="text" class="approve-end">
<el-select style="width: 80%;" size="small" v-model="nodeProps.formUser" placeholder="请选择包含联系人的表单项" filterable>
<el-select style="width: 80%;" size="small" v-model="nodeProps.formUser" placeholder="请选择包含联系人的表单项"
filterable>
<el-option v-for="(op,i) in forms" :label="op.title" :value="op.id" :key="i"></el-option>
</el-select>
</el-form-item>
</div>
</el-form-item>
<!-- <el-divider></el-divider>-->
<!-- <el-form-item label="审批人为空时" prop="text" class="line-mode">-->
<!-- <el-radio-group v-model="nodeProps.nobody.handler">-->
<!-- <el-radio label="TO_PASS">自动通过</el-radio>-->
<!-- <el-radio label="TO_REFUSE">自动驳回</el-radio>-->
<!-- <el-radio label="TO_ADMIN">转交审批管理员</el-radio>-->
<!-- <el-radio label="TO_USER">转交到指定人员</el-radio>-->
<!-- </el-radio-group>-->
<!-- <div style="margin-top: 10px" v-if="nodeProps.nobody.handler === 'TO_USER'">-->
<!-- <el-button size="mini" icon="Plus" type="primary" @click="showUserPicker()" round>-->
<!-- 选择人员-->
<!-- </el-button>-->
<!-- <user-picker title="请指定用户" :multiple="false" ref="toUserPicker" :v-model="nobodyAssignedUser"-->
<!-- @ok="selectNoSetUser"/>-->
<!-- <ellipsis :row="3" :user-info="nobodyAssignedUser"/>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- <el-divider></el-divider>-->
<!-- <el-form-item label="审批人为空时" prop="text" class="line-mode">-->
<!-- <el-radio-group v-model="nodeProps.nobody.handler">-->
<!-- <el-radio label="TO_PASS">自动通过</el-radio>-->
<!-- <el-radio label="TO_REFUSE">自动驳回</el-radio>-->
<!-- <el-radio label="TO_ADMIN">转交审批管理员</el-radio>-->
<!-- <el-radio label="TO_USER">转交到指定人员</el-radio>-->
<!-- </el-radio-group>-->
<!-- <div style="margin-top: 10px" v-if="nodeProps.nobody.handler === 'TO_USER'">-->
<!-- <el-button size="mini" icon="Plus" type="primary" @click="showUserPicker()" round>-->
<!-- 选择人员-->
<!-- </el-button>-->
<!-- <user-picker title="请指定用户" :multiple="false" ref="toUserPicker" :v-model="nobodyAssignedUser"-->
<!-- @ok="selectNoSetUser"/>-->
<!-- <ellipsis :row="3" :user-info="nobodyAssignedUser"/>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- <div v-if="showMode">-->
<!-- <el-divider/>-->
<!-- <el-form-item label="多人审批时审批方式" prop="text" class="approve-mode">-->
<!-- <el-radio-group v-model="nodeProps.mode">-->
<!-- <el-radio label="NEXT">会签 按选择顺序审批每个人必须同意</el-radio>-->
<!-- <el-radio label="AND">会签可同时审批每个人必须同意</el-radio>-->
<!-- <el-radio label="OR">或签有一人同意即可</el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- </div>-->
<!-- <div v-if="showMode">-->
<!-- <el-divider/>-->
<!-- <el-form-item label="多人审批时审批方式" prop="text" class="approve-mode">-->
<!-- <el-radio-group v-model="nodeProps.mode">-->
<!-- <el-radio label="NEXT">会签 按选择顺序审批每个人必须同意</el-radio>-->
<!-- <el-radio label="AND">会签可同时审批每个人必须同意</el-radio>-->
<!-- <el-radio label="OR">或签有一人同意即可</el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- </div>-->
<el-divider>高级设置</el-divider>
<!-- <el-form-item label="✍ 审批同意时是否需要签字" prop="text">-->
<!-- <el-switch inactive-text="不用" active-text="需要" v-model="nodeProps.sign"></el-switch>-->
<!-- <el-tooltip class="item" effect="dark" content="如果全局设置了需要签字,则此处不生效" placement="top-start">-->
<!-- <i class="el-icon-question" style="margin-left: 10px; font-size: medium; color: #b0b0b1"></i>-->
<!-- </el-tooltip>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="✍ 审批同意时是否需要签字" prop="text">-->
<!-- <el-switch inactive-text="不用" active-text="需要" v-model="nodeProps.sign"></el-switch>-->
<!-- <el-tooltip class="item" effect="dark" content="如果全局设置了需要签字,则此处不生效" placement="top-start">-->
<!-- <i class="el-icon-question" style="margin-left: 10px; font-size: medium; color: #b0b0b1"></i>-->
<!-- </el-tooltip>-->
<!-- </el-form-item>-->
<el-form-item label="是否使用矩阵审批" prop="text">
<el-switch inactive-text="不用" active-text="使用" v-model="nodeProps.matrixApproval"></el-switch>
</el-form-item>
<el-form-item v-if="nodeProps.matrixApproval && nodeProps.assignedType === 'SELF'" label="是否跳过自己" prop="text">
<!-- {{nodeProps.skipSelf}}-->
<!-- {{nodeProps.skipSelf}}-->
<el-switch inactive-text="不跳过" active-text="跳过" v-model="nodeProps.skipSelf"></el-switch>
</el-form-item>
<!-- <el-form-item label="审批期限(为 0 则不生效)" prop="timeLimit">-->
<!-- <el-input style="width: 180px;" placeholder="时长" type="number"-->
<!-- v-model="nodeProps.timeLimit.timeout.value">-->
<!-- <el-select style="width: 75px;" v-model="nodeProps.timeLimit.timeout.unit" slot="append" placeholder="请选择" filterable>-->
<!-- <el-option label="天" value="D"></el-option>-->
<!-- <el-option label="小时" value="H"></el-option>-->
<!-- </el-select>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="审批期限超时后执行" prop="level" v-if="nodeProps.timeLimit.timeout.value > 0">-->
<!-- <el-radio-group v-model="nodeProps.timeLimit.handler.type">-->
<!-- <el-radio label="PASS">自动通过</el-radio>-->
<!-- <el-radio label="REFUSE">自动驳回</el-radio>-->
<!-- <el-radio label="NOTIFY">发送提醒</el-radio>-->
<!-- </el-radio-group>-->
<!-- <div v-if="nodeProps.timeLimit.handler.type === 'NOTIFY'">-->
<!-- <div style="color:#409EEF; font-size: small">默认提醒当前审批人</div>-->
<!-- <el-switch inactive-text="循环" active-text="一次" v-model="nodeProps.timeLimit.handler.notify.once"></el-switch>-->
<!-- <span style="margin-left: 20px" v-if="!nodeProps.timeLimit.handler.notify.once">-->
<!-- 每隔-->
<!-- <el-input-number :min="0" :max="10000" :step="1" size="mini"-->
<!-- v-model="nodeProps.timeLimit.handler.notify.hour"/>-->
<!-- 小时提醒一次-->
<!-- </span>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="🙅‍ 如果审批被驳回 👇">-->
<!-- <el-radio-group v-model="nodeProps.refuse.type">-->
<!-- <el-radio label="TO_INITIAL">重新开始流程</el-radio>-->
<!-- <el-radio label="TO_BEFORE">驳回到上级审批节点</el-radio>-->
<!-- <el-radio label="TO_NODE">驳回到指定节点</el-radio>-->
<!-- </el-radio-group>-->
<!-- <div v-if="nodeProps.refuse.type === 'TO_NODE'">-->
<!-- <span>指定节点:</span>-->
<!-- <el-select style="margin-left: 10px; width: 150px;" placeholder="选择跳转步骤" size="small"-->
<!-- v-model="nodeProps.refuse.target" filterable>-->
<!-- <el-option v-for="(node, index) in nodeOptions" :key="index" :label="node.name"-->
<!-- :value="node.id"></el-option>-->
<!-- </el-select>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="自定义监听器">-->
<!-- <div slot="label">-->
<!-- <span style="margin-left: 20px">使用自定义监听器: </span>-->
<!-- &lt;!&ndash; <el-switch v-model="config.listener.state" @change="getListener"></el-switch>&ndash;&gt;-->
<!-- </div>-->
<!-- <div v-if="config.listener.state">-->
<!-- <div slot="label">-->
<!-- <span style="margin-right: 10px">设置监听器</span>-->
<!-- <el-button type="primary" @click="addListener(config.listener.list)" link> + 添加</el-button>-->
<!-- </div>-->
<!-- <div v-for="(listen, index) in config.listener.list" :key="index">-->
<!-- <el-input v-if="listen.isSys" placeholder="监听器名称" :disabled="true" size="small" style="width: 100px;"-->
<!-- v-model="listen.listenerName"/>-->
<!-- <el-input v-if="!listen.isSys" placeholder="监听器名称" size="small" style="width: 100px;"-->
<!-- v-model="listen.listenerName"/>-->
<!-- <el-radio-group size="small" style="margin: 0 5px;" @change="typeChange(listen)" v-model="listen.isSys">-->
<!-- <el-radio-button :label="true">内置</el-radio-button>-->
<!-- <el-radio-button :label="false">自定义</el-radio-button>-->
<!-- </el-radio-group>-->
<!-- <el-select v-if="listen.isSys" style="width: 180px;" v-model="listen.listenerValue" size="small"-->
<!-- @change="listenerOptionChange(listen)"-->
<!-- placeholder="请选择表单字段" filterable>-->
<!-- <el-option v-for="option in listenerOption" :key="option.value" :label="option.label"-->
<!-- :value="option.value"/>-->
<!-- </el-select>-->
<!-- &lt;!&ndash; <el-input v-if="listen.isSys" placeholder="请设置字段值" size="small" v-model="listen.listenerValue" style="width: 180px;"/>&ndash;&gt;-->
<!-- <el-button v-if="!listen.isSys" type="primary" size="small" @click="settingListener(listen)" link>设置</el-button>-->
<!-- <el-button @click="delListener(config.listener.list, index)"-->
<!-- class="el-icon-delete" type="primary"-->
<!-- style="margin-left: 5px; color: #c75450;" link/>-->
<!-- </div>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="审批期限(为 0 则不生效)" prop="timeLimit">-->
<!-- <el-input style="width: 180px;" placeholder="时长" type="number"-->
<!-- v-model="nodeProps.timeLimit.timeout.value">-->
<!-- <el-select style="width: 75px;" v-model="nodeProps.timeLimit.timeout.unit" slot="append" placeholder="请选择" filterable>-->
<!-- <el-option label="天" value="D"></el-option>-->
<!-- <el-option label="小时" value="H"></el-option>-->
<!-- </el-select>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="审批期限超时后执行" prop="level" v-if="nodeProps.timeLimit.timeout.value > 0">-->
<!-- <el-radio-group v-model="nodeProps.timeLimit.handler.type">-->
<!-- <el-radio label="PASS">自动通过</el-radio>-->
<!-- <el-radio label="REFUSE">自动驳回</el-radio>-->
<!-- <el-radio label="NOTIFY">发送提醒</el-radio>-->
<!-- </el-radio-group>-->
<!-- <div v-if="nodeProps.timeLimit.handler.type === 'NOTIFY'">-->
<!-- <div style="color:#409EEF; font-size: small">默认提醒当前审批人</div>-->
<!-- <el-switch inactive-text="循环" active-text="一次" v-model="nodeProps.timeLimit.handler.notify.once"></el-switch>-->
<!-- <span style="margin-left: 20px" v-if="!nodeProps.timeLimit.handler.notify.once">-->
<!-- 每隔-->
<!-- <el-input-number :min="0" :max="10000" :step="1" size="mini"-->
<!-- v-model="nodeProps.timeLimit.handler.notify.hour"/>-->
<!-- 小时提醒一次-->
<!-- </span>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="🙅‍ 如果审批被驳回 👇">-->
<!-- <el-radio-group v-model="nodeProps.refuse.type">-->
<!-- <el-radio label="TO_INITIAL">重新开始流程</el-radio>-->
<!-- <el-radio label="TO_BEFORE">驳回到上级审批节点</el-radio>-->
<!-- <el-radio label="TO_NODE">驳回到指定节点</el-radio>-->
<!-- </el-radio-group>-->
<!-- <div v-if="nodeProps.refuse.type === 'TO_NODE'">-->
<!-- <span>指定节点:</span>-->
<!-- <el-select style="margin-left: 10px; width: 150px;" placeholder="选择跳转步骤" size="small"-->
<!-- v-model="nodeProps.refuse.target" filterable>-->
<!-- <el-option v-for="(node, index) in nodeOptions" :key="index" :label="node.name"-->
<!-- :value="node.id"></el-option>-->
<!-- </el-select>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="自定义监听器">-->
<!-- <div slot="label">-->
<!-- <span style="margin-left: 20px">使用自定义监听器: </span>-->
<!-- &lt;!&ndash; <el-switch v-model="config.listener.state" @change="getListener"></el-switch>&ndash;&gt;-->
<!-- </div>-->
<!-- <div v-if="config.listener.state">-->
<!-- <div slot="label">-->
<!-- <span style="margin-right: 10px">设置监听器</span>-->
<!-- <el-button type="primary" @click="addListener(config.listener.list)" link> + 添加</el-button>-->
<!-- </div>-->
<!-- <div v-for="(listen, index) in config.listener.list" :key="index">-->
<!-- <el-input v-if="listen.isSys" placeholder="监听器名称" :disabled="true" size="small" style="width: 100px;"-->
<!-- v-model="listen.listenerName"/>-->
<!-- <el-input v-if="!listen.isSys" placeholder="监听器名称" size="small" style="width: 100px;"-->
<!-- v-model="listen.listenerName"/>-->
<!-- <el-radio-group size="small" style="margin: 0 5px;" @change="typeChange(listen)" v-model="listen.isSys">-->
<!-- <el-radio-button :label="true">内置</el-radio-button>-->
<!-- <el-radio-button :label="false">自定义</el-radio-button>-->
<!-- </el-radio-group>-->
<!-- <el-select v-if="listen.isSys" style="width: 180px;" v-model="listen.listenerValue" size="small"-->
<!-- @change="listenerOptionChange(listen)"-->
<!-- placeholder="请选择表单字段" filterable>-->
<!-- <el-option v-for="option in listenerOption" :key="option.value" :label="option.label"-->
<!-- :value="option.value"/>-->
<!-- </el-select>-->
<!-- &lt;!&ndash; <el-input v-if="listen.isSys" placeholder="请设置字段值" size="small" v-model="listen.listenerValue" style="width: 180px;"/>&ndash;&gt;-->
<!-- <el-button v-if="!listen.isSys" type="primary" size="small" @click="settingListener(listen)" link>设置</el-button>-->
<!-- <el-button @click="delListener(config.listener.list, index)"-->
<!-- class="el-icon-delete" type="primary"-->
<!-- style="margin-left: 5px; color: #c75450;" link/>-->
<!-- </div>-->
<!-- </div>-->
<!-- </el-form-item>-->
</el-form>
<!--
<el-dialog custom-class="custom-dialog" class="border" width="600px" title="定义监听器设置"
@@ -312,7 +314,7 @@ const roleList = computed({
props.config.roleList = val
}
})
watch(()=>props.config.roleList,(value)=>{
watch(() => props.config.roleList, (value) => {
roleList.value = value
})
@@ -402,7 +404,8 @@ const selectedUser = (select) => {
let userInfo = {
id: val.id,
name: val.name,
avatar: val.avatar,
companyName: val.companyName,
accountType: val.accountType,
}
userInfoList.push(userInfo)
}