秀山需求变更

This commit is contained in:
aixianling
2022-06-23 14:59:54 +08:00
parent 1a3827e541
commit 16128af70f

View File

@@ -44,25 +44,8 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<!-- <ai-wechat-selecter slot="append" :instance="instance" :props="{id:'wxUserId',label:'name'}" <ai-person-select :chooseUserList="item.candidateList" v-if="item.candidateApproverType==1" :instance="instance" customRightText url="/user/page"
v-model="item.candidateList" v-if="item.candidateApproverType==1"> headerTitle="人员列表" dialogTitle="选择" :isMultiple="true" @selectPerson="e => changeCharge(e, index)">
<el-button size="mini" type="primary">选择指定人员</el-button>
</ai-wechat-selecter> -->
<!-- <ai-user-picker :instance="instance" v-model="item.candidateList" v-if="item.candidateApproverType==1"/> -->
<!-- <ai-people :showAiArea="false" customCliker :instance="instance"
unitUrl="/admin/sysunit/getAll2"
:meta="[]" v-model="item.candidateList"
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)">
<template v-slot:option="{ item }"> <template v-slot:option="{ item }">
<span class="iconfont iconProlife">{{ item.name }}</span> <span class="iconfont iconProlife">{{ item.name }}</span>
<span>{{ item.phone }}</span> <span>{{ item.phone }}</span>
@@ -75,31 +58,16 @@
</ai-card> </ai-card>
<ai-dialog :title="titleType" class="editStyle" :visible.sync="isAddStep" width="575px" height="380px" <ai-dialog :title="titleType" class="editStyle" :visible.sync="isAddStep" width="575px" height="380px"
:close-on-click-modal="false" @onConfirm="saveAddProgress"> :close-on-click-modal="false" @onConfirm="saveAddProgress">
<el-form size="small" :model="nodeObj" label-width="120px" ref="addForm" :rules="addRules"> <el-form size="small" :model="nodeObj" label-width="100px" ref="addForm" :rules="addRules">
<el-form-item label="审批步骤名称" prop="nodeName"> <el-form-item label="审批步骤" prop="nodeName">
<el-input v-model="nodeObj.nodeName" placeholder="如部门主管审批限10个字" :maxLength="10" <el-input v-model="nodeObj.nodeName" placeholder="如部门主管审批限10个字" :maxLength="10" clearable/>
clearable/>
</el-form-item> </el-form-item>
<el-form-item label="审批方式" prop="nodeType"> <el-form-item label="审批方式" prop="nodeType">
<el-radio-group v-model="nodeObj.nodeType"> <el-radio-group v-model="nodeObj.nodeType" @change="nodeObj.areaFilter='',nodeObj.annexEnable='',nodeObj.pictureEnable=''">
<el-radio :label="2">或签 <el-radio v-for="op in approvalWays" :key="op.value" :label="op.value">
<el-popover <span v-text="op.label"/>
placement="top-start" <el-popover placement="top-start" width="200" trigger="click" :content="op.tips">
width="200" <el-button type="text" slot="reference" icon="el-icon-warning" class="color-666"/>
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-popover>
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
@@ -107,25 +75,17 @@
<template v-if="nodeObj.nodeType==2"> <template v-if="nodeObj.nodeType==2">
<el-form-item label="数据权限" prop="areaFilter"> <el-form-item label="数据权限" prop="areaFilter">
<el-radio-group v-model="nodeObj.areaFilter"> <el-radio-group v-model="nodeObj.areaFilter">
<el-radio :label="0">不限 <el-radio v-for="op in dict.getDict('processNodeAreaFilter')" :key="op.dictValue" :label="op.dictValue">
<el-popover placement="top-start" width="200" trigger="click" content="审批人员可查看全部申报事项"> <span v-text="op.dictName"/>
<el-button class="el-icon-warning" slot="reference" style="padding:0;height:14px;border:0;"/> <el-popover placement="top-start" width="200" trigger="click" :content="dict.getLabel('processNodeAreaFilterTips',op.dictValue)">
</el-popover> <el-button type="text" slot="reference" icon="el-icon-warning" class="color-666"/>
</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-popover>
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="附件图片" prop="areaFilter"> <el-form-item label="附件图片">
<el-checkbox v-model="nodeObj.annexEnable" label="1">附件</el-checkbox>
<el-checkbox v-model="nodeObj.pictureEnable" label="1">图片</el-checkbox>
</el-form-item> </el-form-item>
</template> </template>
</el-form> </el-form>
@@ -149,7 +109,10 @@ export default {
form: { form: {
processNodeList: [], processNodeList: [],
}, },
areaId: "", approvalWays: [
{value: 2, label: '或签', tips: '或签是指该节点指定多名负责人审批时,其中任何一人完成审批即可。适合一个事项只需要某个岗位任何一人审批即可的业务场景。'},
{value: 3, label: '抄送', tips: '抄送是指一个事项审批完成后,抄送给需要知晓的单位或个人,被抄送的对象可以查阅该事项内容,无需审批。适合一个事项无需对方审批,但审批完成后需要通知对方知晓的业务场景。'},
],
isAddStep: false, isAddStep: false,
isSelectImg: false, isSelectImg: false,
isSelectUnit: false, isSelectUnit: false,
@@ -190,15 +153,11 @@ export default {
handleProcessApproval() { handleProcessApproval() {
return Promise.resolve(this.form) return Promise.resolve(this.form)
}, },
/**
*删除
* */
deleteInfo(index) { deleteInfo(index) {
this.$confirm("是否删除").then(() => { this.$confirm("是否删除").then(() => {
this.form.processNodeList.splice(index, 1) this.form.processNodeList.splice(index, 1)
}) }).catch(() => 0)
}, },
changeCharge(e, i) { changeCharge(e, i) {
this.$set(this.form.processNodeList[i], 'candidateList', e.map(v => { this.$set(this.form.processNodeList[i], 'candidateList', e.map(v => {
return { return {
@@ -209,9 +168,6 @@ export default {
}, },
/** /**
* 添加流程 * 添加流程
* @param index
* @param item
* @param i
*/ */
addAppStep(index, item, i) { addAppStep(index, item, i) {
this.isAddStep = true; this.isAddStep = true;
@@ -223,7 +179,7 @@ export default {
item.areaFilter = item.areaFilter * 1; item.areaFilter = item.areaFilter * 1;
item.candidateApproverType = item.candidateApproverType * 1; item.candidateApproverType = item.candidateApproverType * 1;
item.scopeCandidates = item.scopeCandidates * 1; item.scopeCandidates = item.scopeCandidates * 1;
this.nodeObj = JSON.parse(JSON.stringify(item)); this.nodeObj = this.$copy(item)
} else { } else {
this.titleType = '添加审批步骤'; this.titleType = '添加审批步骤';
if (this.form.processNodeList.length > 0) { if (this.form.processNodeList.length > 0) {
@@ -237,9 +193,9 @@ export default {
if (valid) { if (valid) {
if (this.nodeObj.scopeCandidates == 0) this.nodeObj.candidateList = []; if (this.nodeObj.scopeCandidates == 0) this.nodeObj.candidateList = [];
if (this.indexType == 1) { if (this.indexType == 1) {
this.form.processNodeList.push(JSON.parse(JSON.stringify(this.nodeObj))); this.form.processNodeList.push(this.$copy(this.nodeObj));
} else { } else {
this.form.processNodeList.splice(this.bomIndex, 1, JSON.parse(JSON.stringify(this.nodeObj))); this.form.processNodeList.splice(this.bomIndex, 1, this.$copy(this.nodeObj));
} }
this.$refs.addForm.resetFields(); this.$refs.addForm.resetFields();
this.isAddStep = false; this.isAddStep = false;
@@ -259,7 +215,7 @@ export default {
}, },
}, },
created() { created() {
this.areaId = this.user.info.areaId.substring(0, 6) + '000000' this.dict.load("processNodeAreaFilter", 'processNodeAreaFilterTips')
if (this.config.detailObj?.id) { if (this.config.detailObj?.id) {
Object.keys(this.form).map(e => this.form[e] = this.config.detailObj[e]) Object.keys(this.form).map(e => this.form[e] = this.config.detailObj[e])
} }
@@ -442,6 +398,10 @@ export default {
} }
} }
.color-666 {
color: #666;
}
.dia_per_content { .dia_per_content {
width: 640px; width: 640px;
height: 400px; height: 400px;
@@ -511,7 +471,7 @@ export default {
.peraoBtn { .peraoBtn {
.el-button--text { .el-button--text {
color: #333; color: #333;
font-size: 12px; font-size: 14px;
} }
} }