秀山需求变更完成

This commit is contained in:
aixianling
2022-06-14 16:11:55 +08:00
parent c09236b06f
commit 7f76715aeb
4 changed files with 73 additions and 61 deletions

View File

@@ -55,14 +55,14 @@
v-if="item.candidateApproverType==1">
<el-button size="mini" type="primary">选择指定人员</el-button>
</ai-people> -->
<!-- <ai-user-picker :instance="instance" v-model="form.portalUserId"/> -->
<ai-person-select
:chooseUserList="item.candidateList"
v-if="item.candidateApproverType==1"
:instance="instance" customRightText url="/user/page"
headerTitle="人员列表" dialogTitle="选择" :isMultiple="true"
@selectPerson="e => changeCharge(e, index)">
:chooseUserList="item.candidateList"
v-if="item.candidateApproverType==1"
:instance="instance" customRightText url="/user/page"
headerTitle="人员列表" dialogTitle="选择" :isMultiple="true"
@selectPerson="e => changeCharge(e, index)">
<template v-slot:option="{ item }">
<span class="iconfont iconProlife">{{ item.name }}</span>
<span>{{ item.phone }}</span>
@@ -75,41 +75,58 @@
</ai-card>
<el-dialog :title="titleType" class="editStyle" :visible.sync="isAddStep" width="575px" height="380px"
:close-on-click-modal="false">
<el-form :model="nodeObj" label-width="120px" ref="addForm" :rules="addRules">
<el-form-item label="审批步骤名称" prop="nodeName">
<el-input size="small" v-model="nodeObj.nodeName" placeholder="如部门主管审批限10个字" :maxLength="10"
clearable></el-input>
<el-form size="small" :model="nodeObj" label-width="120px" ref="addForm" :rules="addRules">
<el-form-item label="审批步骤名称" prop="nodeName">
<el-input v-model="nodeObj.nodeName" placeholder="如部门主管审批限10个字" :maxLength="10"
clearable/>
</el-form-item>
<el-form-item label="审批方式" prop="nodeType">
<el-form-item label="审批方式" prop="nodeType">
<el-radio-group v-model="nodeObj.nodeType">
<section style="position: relative;top: 10px;margin-bottom: 30px;">
<el-radio :label="2">或签
<el-popover
placement="top-start"
width="200"
trigger="click"
content="或签是指该节点指定多名负责人审批时,其中任何一人完成审批即可。适合一个事项只需要某个岗位任何一人审批即可的业务场景。">
<el-button class="el-icon-warning" slot="reference"
style="padding:0;height:14px;border:0;"></el-button>
</el-popover>
</el-radio>
<el-radio :label="3">抄送
<el-popover
placement="top-start"
width="200"
trigger="click"
content="抄送是指一个事项审批完成后,抄送给需要知晓的单位或个人,被抄送的对象可以查阅该事项内容,无需审批。适合一个事项无需对方审批,但审批完成后需要通知对方知晓的业务场景。">
<el-button class="el-icon-warning" slot="reference"
style="padding:0;height:14px;border:0;"></el-button>
</el-popover>
</el-radio>
</section>
<el-radio :label="2">或签
<el-popover
placement="top-start"
width="200"
trigger="click"
content="或签是指该节点指定多名负责人审批时,其中任何一人完成审批即可。适合一个事项只需要某个岗位任何一人审批即可的业务场景。">
<el-button class="el-icon-warning" slot="reference"
style="padding:0;height:14px;border:0;"></el-button>
</el-popover>
</el-radio>
<el-radio :label="3">抄送
<el-popover
placement="top-start"
width="200"
trigger="click"
content="抄送是指一个事项审批完成后,抄送给需要知晓的单位或个人,被抄送的对象可以查阅该事项内容,无需审批。适合一个事项无需对方审批,但审批完成后需要通知对方知晓的业务场景。">
<el-button class="el-icon-warning" slot="reference"
style="padding:0;height:14px;border:0;"></el-button>
</el-popover>
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="数据权限" prop="areaFilter">
<el-radio-group v-model="nodeObj.areaFilter">
<el-radio :label="0">不限
<el-popover placement="top-start" width="200" trigger="click" content="审批人员可查看全部申报事项">
<el-button class="el-icon-warning" slot="reference" style="padding:0;height:14px;border:0;"/>
</el-popover>
</el-radio>
<el-radio :label="1">村社区
<el-popover placement="top-start" width="200" trigger="click" content="审批人员可查看本村申报事项">
<el-button class="el-icon-warning" slot="reference" style="padding:0;height:14px;border:0;"/>
</el-popover>
</el-radio>
<el-radio :label="2">镇街
<el-popover placement="top-start" width="200" trigger="click" content="审批人员可查看本镇申报事项">
<el-button class="el-icon-warning" slot="reference" style="padding:0;height:14px;border:0;"/>
</el-popover>
</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" style="text-align: center;">
<el-button style="width: 92px;" size="small" @click="isAddStep = false">取消</el-button>
<el-button style="width: 92px;" size="small" type="primary" @click="saveAddProgress('addForm')">确认
<el-button style="width: 92px;" size="small" type="primary" @click="saveAddProgress">确认
</el-button>
</div>
</el-dialog>
@@ -157,9 +174,8 @@ export default {
nodeName: [
{required: true, message: '请输入审批节点名称', trigger: 'change'}
],
nodeType: [
{required: true, message: '请选择审批方式', trigger: 'change'}
],
nodeType: [{required: true, message: '请选择审批方式', trigger: 'change'}],
areaFilter: [{required: true, message: '请选择数据权限'}],
candidateApproverType: [
{required: true, message: '请选择选人方式', trigger: 'change'}
],
@@ -183,7 +199,7 @@ export default {
})
},
changeCharge (e, i) {
changeCharge(e, i) {
this.$set(this.form.processNodeList[i], 'candidateList', e.map(v => {
return {
...v,
@@ -204,6 +220,7 @@ export default {
if (index == 2) {
this.titleType = '编辑审批步骤';
item.nodeType = item.nodeType * 1;
item.areaFilter = item.areaFilter * 1;
item.candidateApproverType = item.candidateApproverType * 1;
item.scopeCandidates = item.scopeCandidates * 1;
this.nodeObj = JSON.parse(JSON.stringify(item));
@@ -215,8 +232,8 @@ export default {
}
},
// 确定添加审批步骤
saveAddProgress(formName) {
this.$refs[formName].validate((valid) => {
saveAddProgress() {
this.$refs.addForm.validate((valid) => {
if (valid) {
if (this.nodeObj.scopeCandidates == 0) this.nodeObj.candidateList = [];
if (this.indexType == 1) {
@@ -224,7 +241,7 @@ export default {
} else {
this.form.processNodeList.splice(this.bomIndex, 1, JSON.parse(JSON.stringify(this.nodeObj)));
}
this.$refs[formName].resetFields();
this.$refs.addForm.resetFields();
this.isAddStep = false;
}
})
@@ -238,13 +255,12 @@ export default {
nodeType: '',
scopeCandidates: ''
};
this.$refs['addForm'].resetFields();
this.$refs.addForm?.resetFields();
},
},
created() {
this.areaId = this.user.info.areaId.substring(0, 6) + '000000'
if (this.config.detailObj?.id) {
Object.keys(this.form).map(e => this.form[e] = this.config.detailObj[e])
}
}