Commit 1ee7dfed authored by 黄媛媛's avatar 黄媛媛

流程设置

parent d45a7f70
......@@ -101,7 +101,7 @@
<!-- <li>
<span>注:财务基本流程包括(收款流程,付款流程,发票流程),如果需要其他的流程,比如退款流程等请在自定义流程下新增流程设置</span>
</li> -->
<li><input type="button" class="normalBtn" value="新增流程" @click="goUrl('addFinancialProcess',0,8)"/>
<li><input type="button" class="normalBtn" value="新增流程" @click="goUrl('XaddFinancialProcess',0,8)"/>
<input type="button" class="hollowFixedBtn" :value="$t('pub.searchBtn')" @click="resetPageIndex();getTemplateList();"/>
</li>
</ul>
......@@ -220,7 +220,7 @@
<i class="iconfont icon-zanting1" v-show="item.Status==1" @click="UpdateStatus(item.Id,item.TemplateType)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="修改" placement="top">
<i class="iconfont icon-liuchengsheji" v-show="item.Status==1" @click="goUrl('addFinancialProcess',item.Id,8)"></i>
<i class="iconfont icon-liuchengsheji" v-show="item.Status==1" @click="goUrl('XaddFinancialProcess',item.Id,8)"></i>
</el-tooltip>
<!-- <el-tooltip class="item" effect="dark" content="删除" placement="top">
<i class="edit el-icon-delete" v-show="item.Status==1" @click="deletTemplate(item.Id,item.Name)"></i>
......
<style scoped>
/* .approval_page_layer_none{display: none} */
.approval_page_layer {
/* display: block; */
position: fixed;
width: 100%;
left: 0;
top: 0;
z-index: 99;
height: 100%;
background: rgba(0, 0, 0, .2);
}
.approval_person_set {
width: 800px;
height: 100%;
transition: right .3s;
background: #fff;
position: absolute;
top: 0;
right: -800px;
box-shadow: 4px 0px 10px rgba(0, 0, 0, 0.1)
}
.approval_person_set_right {
right: 0;
}
.approval_person_layerContent {
padding-left: 20px;
overflow: hidden;
}
.page_addfp .approval_page_content {
width: 680px;
min-height: auto !important;
overflow: hidden;
padding: 0 20px;
background: #fff;
border-radius: 4px;
}
.approval_back_btn {
margin: 20px 0;
}
.approval_page_title {
height: 14px;
line-height: 14px;
padding-left: 15px;
border-left: 3px solid #E95252;
margin: 20px 0;
}
.approval_person_content {
padding: 20px 30px;
overflow: hidden;
margin-bottom: 0;
}
.approval_person_content>span {
font-size: 12px;
color: #666;
margin-right: 30px;
}
.approval_person_list {
float: left;
width: 550px;
max-height: 400px;
overflow: auto;
margin-bottom: 20px;
}
.approval_person_content span.approval_span_type {
float: left;
width: 120px;
margin-bottom: 20px;
color:#333333;
font-size: 14px;
}
span.approval_person_list_tit{
float: left;
color:#666666;
font-size: 12px;
line-height: 30px;
padding-right: 20px;
}
.approval_person_set .setTitle {
height: 48px;
line-height: 48px;
background: #EDEEF0;
font-size: 16px;
color: #333;
text-indent: 20px;
}
.approval_person_layerContent {
padding-left: 20px;
overflow: hidden;
}
approval_page_title {
height: 14px;
line-height: 14px;
padding-left: 15px;
border-left: 3px solid #E95252;
margin: 20px 0;
}
.approval_layer_info {
padding: 20px 0 0 20px;
}
.normalMember {
margin: 10px 0;
width: 700px;
max-height: 500px;
overflow: auto
}
.normalMember li {
display: inline-block;
margin: 10px;
padding: 5px 10px;
background: #f8f8f8;
border-radius: 4px;
text-align: center;
font-size: 14px;
color: #333;
}
.approval_page_layer_bottom {
position: absolute;
bottom: 20px;
padding-left: 20px;
}
._info_box_top{padding-left: 20px;padding-bottom: 20px}
.approval_layer_info label,._info_box_top label{font-size: 14px}
.approval_process_item_delete {
position: absolute;
right: 2px;
top: -11px;
font-size: 5px;
}
.approval_process_item {
display: inline-block;
margin: 0 5px 10px 0;
cursor: pointer;
}
.approval_process_item b.bnotice {
color: #E95252;
}
.approval_process_item>span {
padding: 0 10px;
min-width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 12px;
background: #e7e6f3;
border-radius: 4px;
display: inline-block;
}
.padding_l88{padding-left: 88px}
.SpecialNodeSelectType{
display: inline-block;
margin-right: 15px;
color: #606266;
}
</style>
<template>
<div class="page_addfp">
<div class="approval_page_layer_none" :class="{approval_page_layer:showlayer}" @click="closeLayer">
<div :class="{approval_person_set:true,approval_person_set_right:isTransition}" @click.stop>
<p class="setTitle">{{$t('fnc.sprshezhi')}}</p>
<div class="approval_person_layerContent">
<div class="approval_page_title">{{$t('fnc.sprleibie')}}</div>
<div class="_info_box _info_box_top">
<label>{{$t('fnc.jdmiaoshu')}}</label>
<el-input v-model="AuditDescription" class="w200" size="mini" :placeholder="$t('tips.qsrmiaoshu')" maxlength="6"></el-input>
</div>
<div v-show="!xingzhenState" class="_info_box _info_box_top">
<label>{{$t('fnc.jddongzuo')}}</label>
<el-select filterable v-model='GetNodeValue' class="w200" size="mini">
<el-option v-for='item in GetNodeList'
:label='item.Name'
:value='item.ID'
:key='item.ID'
v-if="(radio==1&&item.ID!=2)||(radio==2&&item.ID!=1)">
</el-option>
</el-select>
</div>
<div v-show="xingzhenState" class="_info_box _info_box_top">
<label>是否签名</label>
<el-select filterable v-model='GetNodeValue' class="w200" size="mini">
<el-option label='审核人签名' :value='1'></el-option>
<el-option label='申请人签名' :value='2'></el-option>
<el-option label='否' :value='0'></el-option>
</el-select>
</div>
<el-row v-show="GetNodeValue!=2">
<el-col :span="10" style="padding-left: 20px;">
<el-radio-group v-model="approvalType" @change='clearValue'>
<el-radio :label="1">{{$t('fnc.zhuguan')}}</el-radio>
<el-radio :label="2">{{$t('fnc.zdchengyuan')}}</el-radio>
<el-radio :label="3">{{$t('admin.admin_Post')}}</el-radio>
<!-- <el-radio :label="4">空节点</el-radio>
<el-radio :label="5">出纳窗口</el-radio>
<el-radio :label="6">会计窗口</el-radio> -->
</el-radio-group>
</el-col>
<el-col v-show="!xingzhenState" :span="14" style="font-size:14px;">
<label class="SpecialNodeSelectType">{{$t('fnc.tsjiedian')}}</label>
<el-select filterable v-model='SpecialNodeSelectType' @change='changeSpecialNodeSelectType' class="w200" size="mini">
<el-option v-for='item in SpecialNodeSelect'
:label='item.name'
:value='item.id'
:key='item.id'>
</el-option>
</el-select>
</el-col>
</el-row>
<div v-show="GetNodeValue!=2" class="approval_layer_info" v-if="approvalType==1">
<div class="_info_box">
<label>{{$t('fnc.fqrende')}}</label>
<el-select filterable v-model='directors' class="w200" size="mini">
<el-option v-for='item in levelList'
:label='item.name'
:value='item.level'
:key='item.level'>
</el-option>
</el-select>
</div>
</div>
<div class="approval_layer_info" v-if="approvalType==2">
<div class="normalMember">
<ul>
<li v-for="item in showMember">{{item.DepartmentName}}</li>
</ul>
</div>
<input type="button" class="normalBtn" @click="getMember(),mySetCheckedKeys(-1)" :value="$t('fnc.tjchengyuan')" />
<div style="margin: 10px 0;" v-if="showMember.length>1">
<el-radio-group v-model="AuditWay">
<el-radio :label="2">{{$t('fnc.huiquandetail')}}</el-radio>
<el-radio :label="3">{{$t('fnc.huoqiandetail')}}</el-radio>
</el-radio-group>
</div>
</div>
<div class="approval_layer_info" v-if="approvalType==3">
<div class="normalMember">
<ul>
<li v-for="item in showRole">{{item.DepartmentName}}</li>
</ul>
</div>
<input type="button" class="normalBtn" @click="outerVisible1 = true,dialogTitle = $t('fnc.xzgangwei')" :value="$t('fnc.addgangweo')" />
<div style="margin: 10px 0;">
<el-radio-group v-model="AuditWay">
<el-radio :label="2">{{$t('fnc.huiquandetail')}}</el-radio>
<el-radio :label="3">{{$t('fnc.huoqiandetail')}}</el-radio>
</el-radio-group>
</div>
</div>
<div class="approval_layer_info" v-if="approvalType==4">
<div class="normalMember">
<ul>
<li v-for="item in showMember">{{item.DepartmentName}}</li>
</ul>
</div>
<div style="margin: 10px 0;">
<el-radio-group v-model="AuditWay">
<el-radio :label="2">{{$t('fnc.huiquandetail')}}</el-radio>
<el-radio :label="3">{{$t('fnc.huoqiandetail')}}</el-radio>
</el-radio-group>
</div>
</div>
<!-- <div class="approval_layer_info" v-if="approvalType==5">
<label>出纳窗口</label>
<el-select filterable v-model='WindowID' class="w200" size="mini">
<el-option v-for='item in WindowList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</div>
<div class="approval_layer_info" v-if="approvalType==6">
<label>会计窗口</label>
<el-select filterable v-model='WindowID' class="w200" size="mini">
<el-option v-for='item in WindowList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</div> -->
<div class="approval_layer_info" v-if="approvalType==5||approvalType==6||approvalType==7||approvalType==8 || approvalType==9||approvalType==10||approvalType==11">
<div style="margin: 10px 0;">
<el-radio-group v-model="AuditWay">
<el-radio :label="2">{{$t('fnc.huiquandetail')}}</el-radio>
<el-radio :label="3">{{$t('fnc.huoqiandetail')}}</el-radio>
</el-radio-group>
</div>
</div>
</div>
<div class="approval_page_layer_bottom">
<input type="button" class="hollowFixedBtn" :value="$t('pub.cancelBtn')" @click="closeLayer" /> &nbsp;&nbsp;
<input type="button" class="normalBtn" v-if='addBtn' :value="$t('pub.sureBtn')" @click="addNode" />
<input type="button" class="normalBtn" v-if='!addBtn' :value="$t('fnc.xgjiedian')" @click="saveUpdateNode" />
</div>
</div>
</div>
<div v-loading="loading">
<input type="button" class="hollowFixedBtn approval_back_btn" :value="$t('pub.returnBack')" @click="goUrl('FProcessManagement')"/>
<el-form class="_add_box clearfix" :model="addMsg" ref="addMsg" :rules="rules" label-width="100px">
<div class="approval_page_title">{{$t('fnc.jcxinxi')}}</div>
<el-form-item :label="$t('fnc.lcmingcheng')" prop="Name">
<el-input v-model="addMsg.Name" class="w200" maxlength="10"></el-input>
</el-form-item>
<el-form-item :label="$t('fnc.sygongsi')">
<el-select filterable multiple v-model='BranchIdS' class="w200" @change="disabledOption">
<el-option :label='$t("fnc.jttongyong")' :value='-1' :key='-1'>
</el-option>
<el-option v-for='item in CompanyList'
:label='item.BName'
:value='item.Id'
:key='item.Id'
:disabled="item.disabled">
</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="xingzhenState" label="审批类型">
<el-select filterable v-model='addMsg.PropertyType' class="w200">
<el-option v-for='item in PropertyTypeList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
<!-- 判断行政流程修改还是 -->
<div v-show="!xingzhenState">
<el-form-item :label="$t('fnc.lcleixing')">
<el-radio v-model="radio" v-if="addMsg.TemplateType!=8" disabled="disabled" :label="1">{{$t('restaurant.res_income')}}</el-radio>
<el-radio v-model="radio" v-else @change="getCostTypeList(1),CostIdS=[],accListShow=true" :label="1">{{$t('restaurant.res_income')}}</el-radio>
<el-radio v-model="radio" v-if="addMsg.TemplateType!=8" disabled="disabled" :label="2">{{$t('restaurant.res_outcome')}}</el-radio>
<el-radio v-model="radio" v-else @change="getCostTypeList(2),CostIdS=[],accListMsg=[],accListShow=false" :label="2">{{$t('restaurant.res_outcome')}}</el-radio>
<el-radio v-model="radio" v-if="addMsg.TemplateType!=8" disabled="disabled" :label="7">{{$t('fnc.guazhang')}}</el-radio>
<el-radio v-model="radio" v-else @change="getCostTypeList(2),CostIdS=[],accListMsg=[],accListShow=false" :label="7">{{$t('fnc.guazhang')}}</el-radio>
<el-radio v-model="radio" v-if="addMsg.TemplateType!=8" disabled="disabled" :label="8">折让</el-radio>
<el-radio v-model="radio" v-else @change="getCostTypeList(2),CostIdS=[],accListMsg=[],accListShow=false" :label="8">折让</el-radio>
</el-form-item>
<el-form-item :label="$t('fnc.scfujian')">
<el-radio v-model="addMsg.IsUploadPic" :label="0">{{$t('fnc.buqiyong')}}</el-radio>
<el-radio v-model="addMsg.IsUploadPic" :label="1">{{$t('fnc.qiyong')}}</el-radio>
</el-form-item>
<el-form-item :label="$t('ios.sfxianshi')">
<el-radio @change="RadioShow" v-model="addMsg.IsShow" :label="1">{{$t('pub.yes')}}</el-radio>
<el-radio @change="RadioShow" v-model="addMsg.IsShow" :label="2">{{$t('pub.no')}}</el-radio>
</el-form-item>
<el-form-item v-show="addMsg.IsShow==2" label="可显示部门">
<el-select filterable multiple v-model='addMsg.ShowDepartmentList' class="w200" style="max-height:100px;overflow:hidden" size="small">
<el-option v-for='item in DepartmentList'
:label='item.DepartmentName'
:value='item.DepartmentID'
:key='item.DepartmentID'>
</el-option>
</el-select>
</el-form-item>
<el-form-item v-show="addMsg.IsShow==2" label="可显示人">
<el-select filterable multiple v-model='addMsg.ShowEmployeeList' class="w200" style="max-height:100px;overflow:hidden" size="small">
<el-option v-for='item in EmployeeList'
:label='item.EmName'
:value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('fnc.syfeiyong')" v-if="addMsg.TemplateType==8" class="_treeselect">
<!-- <el-select filterable multiple v-model='CostIdS' class="w200" @change="disabledOption2">
<el-option label='通用' value='0' key='0'></el-option>
<el-option v-for='item in CostTypeList'
:label='item.Name'
:value='item.ID'
:key='item.ID'
:disabled="item.disabled">
</el-option>
</el-select> -->
<!-- :sort-value-by="sortValueBy" -->
<treeselect
class="w230"
v-model="CostIdS"
value-consists-of="LEAF_PRIORITY"
:placeholder="$t('pub.pleaseSel')"
:multiple="true"
:options="CostTypeList"
noChildrenText=''
:normalizer="normalizer"/>
</el-form-item>
<el-form-item :label="$t('fnc.syzhanghu')" v-if="accListShow">
<el-checkbox :indeterminate="isIndeterminate" v-model="AccCheckAll" @change="handleCheckAllChangeAcc">{{$t('system.table_chekAll')}}</el-checkbox>
<div style="margin: 15px 0;"></div>
<el-checkbox-group v-model="accListMsg" @change="handleCheckedCitiesChangeAcc" text-color="#409EFF" fill="#409EFF">
<el-checkbox :value="1" :label="1" :key="1">{{$t('fnc.yinhang')}}</el-checkbox>
<el-checkbox :value="2" :label="2" :key="2">{{$t('fnc.xianjin')}}</el-checkbox>
<el-checkbox :value="3" :label="3" :key="3">{{$t('fnc.pingtai')}}</el-checkbox>
<el-checkbox :value="4" :label="4" :key="4">{{$t('fnc.zjinchi')}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
</div>
<el-form-item label="排序">
<el-input v-model="addMsg.Sort" class="w250" maxlength="60"></el-input>
</el-form-item>
<el-form-item :label="$t('fnc.mbmiaoshu')">
<el-input v-model="addMsg.DescribeInfo" class="w450" maxlength="100"></el-input>
</el-form-item>
<div class="approval_page_title">{{$t('fnc.lcshezhi')}}</div>
<div class="approval_page_content">
<div class="approval_person_content">
<span class="approval_span_type">{{$t('fnc.mrspliucheng')}}</span>
<span style="float:right"><el-button @click="Auditshow=true,EditAudit()" style="padding:4px" type="primary" icon="el-icon-edit" circle></el-button></span>
<div class="approval_person_list fl">
<span class="approval_person_list_tit">{{$t('fnc.mrspiren')}}</span>
<div class="padding_l88">
<div class="approval_process_item" draggable="true" v-for="(item,index) in myAuditList" @click="getItemValue(item,index),AuditDescription = item.AuditDescription">
<span style="position: relative;" @mouseenter="itemIndex=index" @mouseleave="itemIndex='-1'">
<i class="iconfont icon-user11"></i>
{{item.AuditDescription}}&nbsp;
<b class="bnotice" v-if="item.AuditWay!=1">({{item.AuditWay=="2"?$t('fnc.huiqian'):$t('fnc.huoqian')}})</b>
<em v-if='index==itemIndex' class="iconfont icon-guanbi approval_process_item_delete" @click.stop='deleteItem(item.Sort)'></em>
</span>
<i class="iconfont icon-jiantouyou"></i>
</div>
<input type="button" class="hollowFixedBtn" @click="addAppPerson" :value="$t('fnc.tianjia')" />
</div>
</div>
<div class="approval_person_list fl">
<span class="approval_person_list_tit">{{$t('fnc.mrcsongren')}}</span>
<div class="padding_l88">
<div class="approval_process_item" draggable="true" v-for="(item,index) in myAuditUserList">
<span style="position: relative;" @mouseenter="itemIndex1=index" @mouseleave="itemIndex1='-1'">
<i class="iconfont icon-user11"></i>
{{item.emName}}&nbsp;
<em v-if='index==itemIndex1' class="iconfont icon-guanbi approval_process_item_delete" @click.stop='deleteUser(item.EmployeeId)'></em>
</span>
<i class="iconfont icon-jiantouyou"></i>
</div>
<input type="button" class="hollowFixedBtn" @click="addAuditUser" :value="$t('fnc.tianjia')" />
</div>
</div>
</div>
</div>
</el-form>
<div style="margin: 30px 0;">
<input type="button" :value="$t('pub.cancelBtn')" class="hollowFixedBtn" @click="goUrl('FProcessManagement')" />
<input type="button" :value="$t('pub.saveBtn')" class="normalBtn" @click="saveApproval" />
</div>
</div>
<el-dialog custom-class='w700' :title="dialogTitle" :visible.sync="outerVisible" center>
<div class="fl" style="width: 300px; margin: 0 20px;">
<p style="margin: 0 0 10px 0;">{{$t('fnc.xuanze')}}<el-input class='w200' :placeholder="$t('tips.srgjzjxguolv')" v-model="filterText">
</el-input>
</p>
<el-tree class='ApprovalProcessBg'
:data="memberList"
show-checkbox
:filter-node-method="filterNode"
ref="tree" :props="defaultProps"
:render-after-expand="false"
node-key="DepartmentId"
@check-change="handleNodeChange">
</el-tree>
</div>
<div class="fl">
<p style="margin: 0 0 20px 0;">{{$t('fnc.yixuan')}}</p>
<div class="Approval_yxList">
<li v-for="item in showMember">{{item.DepartmentName}}
<i @click="mySetCheckedKeys(item.DepartmentId)" class="el-icon-circle-close showMemberIcon"></i>
</li>
</div>
</div>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="outerVisible = false">{{$t('pub.cancelBtn')}}</button> &nbsp;
<button class="normalBtn" type="primary" @click="outerVisible = false">{{$t('pub.sureBtn')}}</button>
</div>
</el-dialog>
<el-dialog custom-class='w700' :title="dialogTitle" :visible.sync="outerVisible1" center>
<div class="fl" style="width: 300px; margin: 0 20px;">
<p style="margin: 0 0 10px 0;">{{$t('fnc.xzgangwei')}}<el-input class='w200' :placeholder="$t('tips.srgjzjxguolv')" v-model="filterText1">
</el-input>
</p>
<el-tree class='ApprovalProcessBg'
:data="roleList"
ref="treeRole"
show-checkbox
:filter-node-method="filterNode1"
:props="defaultProps1"
@check-change="checkedRole"
:default-checked-keys="defaultCheckedArr"
node-key="PostId"
>
</el-tree>
</div>
<div class="fl">
<p style="margin: 0 0 20px 0;">{{$t('fnc.yixuangangwei')}}</p>
<div class="Approval_yxList">
<li v-for="item in showRole">{{item.DepartmentName}}
<i @click="deleteRole()" class="el-icon-circle-close showMemberIcon"></i>
</li>
</div>
</div>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="outerVisible1= false">{{$t('pub.cancelBtn')}}</button> &nbsp;
<button class="normalBtn" type="primary" @click="outerVisible1 = false">{{$t('pub.sureBtn')}}</button>
</div>
</el-dialog>
<el-dialog custom-class='w700' :title="dialogTitle" :visible.sync="outerVisible2" center>
<div class="fl" style="width: 300px; margin: 0 20px;">
<p style="margin: 0 0 10px 0;">{{$t('fnc.xzcsongren')}}<el-input class='w200' :placeholder="$t('tips.srgjzjxguolv')" v-model="filterText2">
</el-input>
</p>
<el-tree class='ApprovalProcessBg'
:data="userList"
show-checkbox
:filter-node-method="filterNode2"
ref="treeUser"
:props="defaultProps2"
:render-after-expand="false"
node-key="DepartmentId"
@check-change="handleNodeChange1">
</el-tree>
</div>
<div class="fl">
<p style="margin: 0 0 20px 0;">{{$t('fnc.yixuan')}}</p>
<div class="Approval_yxList">
<li v-for="item in myAuditUserList1">{{item.emName}}
<i @click="deleteUser(item.EmployeeId)" class="el-icon-circle-close showMemberIcon"></i>
</li>
</div>
</div>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="outerVisible2 = false">{{$t('pub.cancelBtn')}}</button> &nbsp;
<button class="normalBtn" type="primary" @click="saveAuditUser">{{$t('pub.sureBtn')}}</button>
</div>
</el-dialog>
<el-dialog
title="修改审批人"
:visible.sync="Auditshow"
width="400px">
<div>
<ul>
<li v-for="(item,index) in myAuditList" :key="index+500" style="margin-bottom:10px">
<span style="display:inline-block;width:90px">{{item.AuditDescription}}</span>
<el-input v-model.number="item.Sort" size="mini" style="width:200px"></el-input>
</li>
</ul>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="mini" @click="dialogVisible = false">取 消</el-button>
<el-button size="mini" type="danger" @click="AuditSort">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
export default {
components: { Treeselect },
data(){
return{
PropertyTypeList:[],
xingzhenState:false,
DepartmentList:[],
EmployeeList:[],
Auditshow:false,
accListShow: true,
TemplateId:0,
radio:1,
addMsg:{
Id:0,
Name:'',
DescribeInfo:'',
Sort:'0',
TemplateType:'8',
TempLateClass:'',
FinancialInstitutions:[],
RB_BranchId:-1,
IsUploadPic:0,
Workflow_Condition:{
Id:0,
AuditList:[],
AuditUserList:[],
},
IsShow: 1,
ShowEmployeeList:[],
ShowDepartmentList:[],
PropertyType:'',
},
AuditUserList:{
EmName:'',
EmployeeId:'',
Sort:''
},
getCompanyMsg:{
RB_Group_Id:'0',
Status:'0',
},
getPostMsg:{
RB_Group_Id:'0'
},
i:0,
SpecialNodeSelect:[
{
id:4,
name: this.$t('fnc.kjiedian')
},
{
id:5,
name: this.$t('fnc.cnchuangkou')
},
{
id:6,
name:this.$t('fnc.kjchuangkou')
},
{
id:7,
name:this.$t('fnc.xiankong')
},
{
id:8,
name:this.$t('fnc.jzchuna')
},
{
id:9,
name:this.$t('fnc.skchuna')
},
{
id:10,
name:"分公司OP"
},
{
id:11,
name:"总部线控"
},
],
accListMsg:[],
SpecialNodeSelectType:'',
AuditDescription:'',
AuditWay:2,
RoleOrInitiator:'',
BranchIdS:[],
CostIdS:[],
CompanyList:[],
CostTypeList:[],
myAuditList:[],
levelList:[],
showMember:[],
memberList:[],
memberSetCheckedKeys:[],
memberSetCheckedUserKeys:[],
myAuditUserList: [],
showRole:[],
roleList:[],
roleSetCheckedKeys:[],
sysUserKeys:[],
userList:[],
myAuditUserList1:[],
getMsg:[],
GetNodeList:[],
showlayer:false,
isTransition: false,
addBtn:true,
outerVisible:false,
outerVisible1:false,
outerVisible2:false,
loading:false,
dialogTitle:'',
approvalType:1,
itemIndex: -1,
itemIndex1: -1,
GetNodeValue:0,
updateItemIndex:-1, //修改节点
directors:'',// 直接主管等级
filterText:"",
filterText1:"",
filterText2:"",
DepartIDs:'0',
defaultCheckedArr:[],
defaultProps: {
children: 'ChildList',
label: 'DepartmentName',
},
defaultProps1: {
// children: 'ChildList',
label: 'PostName',
disabled: "Disabled"
},
defaultProps2: {
children: 'ChildList',
label: 'DepartmentName',
},
rules:{
Name: [
{ required: true, message: this.$t('rule.qsrlcmingcheng'), trigger: 'blur' }
],
TypeId: [
{ required: true, message: this.$t('rule.qxzzhleixing'), trigger: 'change' }
],
},
tongyong:false,
normalizer(node) {
return {
id: node.ID,
label: node.Name,
children: node.ChildList,
}
},
WindowList:[],
WindowID:'',
AccCheckAll: false,
AccList: [{
id: 1,
lab: this.$t('fnc.yinhang')
}, {
id: 2,
lab: this.$t('fnc.xianjin')
}, {
id: 3,
lab: this.$t('fnc.pingtai')
}, {
id: 4,
lab: this.$t('fnc.zjinchi')
}],
isIndeterminate: true,
}
},watch: {
filterText(val) {
this.$refs.tree.filter(val);
},
filterText1(val) {
this.$refs.treeRole.filter(val);
},
filterText2(val) {
this.$refs.treeUser.filter(val);
}
},
created(){
let userInfo=this.getLocalStorage();
this.TemplateId = this.$route.query.id;
this.getCompanyMsg.RB_Group_Id=userInfo.RB_Group_id; //集团ID
this.getPostMsg.RB_Group_Id=userInfo.RB_Group_id;
this.addMsg.TemplateType = this.$route.query.isZ;
this.DepartIDs = userInfo.RB_Department_Id;
if(this.$route.query.id===0){
if(this.$route.query.Branch_Id>=0){
this.BranchIdS.push(this.$route.query.Branch_Id);
this.addMsg.RB_BranchId = this.$route.query.Branch_Id;
};
}
},
mounted(){
if(this.$route.query.xingzhen){
this.xingzhenState=true;
this.addMsg.TemplateSorce=2;
this.CostIdS.push('0')
// this.addMsg.PropertyType="";
this.getPropertyType();
}
this.getCompanyList();
this.getMaxDepartmentTierList();
if(this.TemplateId!=0){
this.getList();
}else {
this.getCostTypeList(1)
}
this.getFinancialFlowTemplate_post_GetNodeList();
this.getRole()
this.getEmployeeList();
this.getDepartment();
},
methods:{
getPropertyType(){
this.apipost(
"FinancialFlowTemplate_post_GetPropertyTypeList",
{},
res => {
if (res.data.resultCode == 1) {
this.PropertyTypeList=res.data.data;
}
},
err => {}
);
},
//根据多公司获取部门
getDepartment() {
let msg= {
RB_Group_Id: '0',
RB_Branch_Id: '-1',
Status: '0',
};
this.apipost(
"department_get_GetListByBranchIds",
msg,
res => {
if (res.data.resultCode == 1) {
this.DepartmentList = res.data.data;
}
},
err => {}
);
},
RadioShow(val){
if(val==1){
this.addMsg.ShowEmployeeList=[];
this.addMsg.ShowDepartmentList=[];
}
},
getEmployeeList () {
this.apipost(
'admin_get_EmployeeGetList', {},
res => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data
}
},
err => {
}
)
},
AuditSort(){
let sum=0;
let sortnum=0;
for(let i=0;i<this.myAuditList.length;i++){
let id=this.myAuditList[i].Sort;
sum+=i+1;
sortnum+=this.myAuditList[i].Sort;
}
if(sum!=sortnum){
this.Error("请输入连续的排序!")
return;
}
this.myAuditList.sort(
this.$commonUtils.createComprisonFunction("Sort")
);
this.Auditshow=false;
},
EditAudit(){
},
handleCheckAllChangeAcc(val) {
this.accListMsg = val ? [1,2,3,4] : [];
this.isIndeterminate = false;
},
handleCheckedCitiesChangeAcc(value) {
let checkedCount = value.length;
this.AccCheckAll = checkedCount === this.AccList.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.AccList.length;
},
changeSpecialNodeSelectType(i){ // 设置特殊节点值
this.approvalType = i;
},
getFinancialFlowTemplate_post_GetNodeList(){
this.apipost('FinancialFlowTemplate_post_GetNodeList', {}, res => {
if(res.data.resultCode==1){
this.GetNodeList = res.data.data
}
}, err => {})
},
getList() {
this.loading = true
this.apipost('FinancialFlowTemplate_post_Get', {ID:this.TemplateId,TemplateType:this.addMsg.TemplateType}, res => {
if(res.data.resultCode == 1) {
this.loading=false;
let data = res.data.data;
this.getMsg = data ;
this.addMsg.Id= data.Id;
this.addMsg.Name= data.Name;
this.addMsg.DescribeInfo = data.DescribeInfo;
this.addMsg.Sort=data.Sort;
this.addMsg.TempLateClass = data.TempLateClass;
this.addMsg.IsUploadPic = data.IsUploadPic;
this.addMsg.IsShow = data.IsShow;
this.addMsg.ShowEmployeeList = data.ShowEmployeeList;
this.addMsg.ShowDepartmentList = data.ShowDepartmentList;
this.addMsg.PropertyType= data.PropertyType;
if (data.list && data.list[0] !== -1) {
this.accListMsg = data.list;
}
if(data.TempLateClass!=null){
this.radio = data.TempLateClass;
this.getCostTypeList(data.TempLateClass.toString())
}
if(data.Workflow_Condition.AuditList){
data.Workflow_Condition.AuditList.forEach(x=>{
if(x.AuditType==1){
x.AuditUserList =[{EmployeeId:'',Sort:''}];
}
if(x.AuditType==3){
x.AuditUserList =[{EmployeeId:'',Sort:''}];
}
})
}
if(data.FinanceFlowConnectType==3){
this.BranchIdS.push(-1);
}else{
data.SuitableObjectNameList.forEach(x=>{
this.BranchIdS.push(x);
})
}
let CostIdS = data.CoseTypeList.length==0?[]:JSON.parse(JSON.stringify(data.CoseTypeList));
let arr = []
CostIdS.forEach(x=>{
arr.push(parseInt(x))
})
this.CostIdS = arr;
this.myAuditList = data.Workflow_Condition.AuditList==null?[]:data.Workflow_Condition.AuditList
this.myAuditList.forEach((x,index)=>{
x.Sort = index+1
if(x.AuditUserList!=null&&x.AuditType==2){
x.Name = x.AuditDescription
}
})
this.myAuditUserList = data.Workflow_Condition.AuditUserList==null?[]:data.Workflow_Condition.AuditUserList
this.myAuditUserList1 = JSON.parse(JSON.stringify(this.myAuditUserList))
this.myAuditUserList1.forEach(item=>{
this.sysUserKeys.push(item.EmployeeId)
})
if(this.radio!==1) {
this.accListShow = false;
}
this.disabledOption();
} else {}
}, error => {})
},
disabledOption(){ // 选择公司 如果选择通用则禁用其它选项
if(this.BranchIdS.length==0){
this.CompanyList.forEach(y=>{
y.disabled=false
})
this.tongyong = false
}else{
this.BranchIdS.forEach(x=>{
if(x==-1){
this.BranchIdS=[]
this.BranchIdS.push(-1)
this.CompanyList.forEach(y=>{
y.disabled=true
})
this.tongyong = true
}
})
}
},
disabledOption2(){ // 选择费用类型 如果选择通用则禁用其它选项
if(this.CostIdS.length==0){
this.CostTypeList.forEach(y=>{
y.disabled=false
})
}else{
this.CostIdS.forEach(x=>{
if(x=='0'){
this.CostIdS=[]
this.CostIdS.push('0')
this.CostTypeList.forEach(y=>{
y.disabled=true
})
}
})
}
},
saveApproval(){ // 保存数据
if(this.xingzhenState){
if(!this.addMsg.PropertyType || this.addMsg.PropertyType=='' ){
this.Error("请选择审批类型!");
return;
}
}
if (this.accListMsg.length === 0) {
this.addMsg.list = [-1]
} else {
this.addMsg.list = this.accListMsg
}
if(this.BranchIdS.length!=0){ //适用公司
this.BranchIdS.forEach(x=>{
if(x==-1){
let FinancialInstitutions={
ID:0,
SuitableObjectId:'',
Type:''
}
FinancialInstitutions.SuitableObjectId = 0
FinancialInstitutions.Type=3
this.addMsg.FinancialInstitutions.push(FinancialInstitutions)
}else{
let FinancialInstitutions={
ID:0,
SuitableObjectId:'',
Type:''
}
FinancialInstitutions.Type=1
FinancialInstitutions.SuitableObjectId = x
this.addMsg.FinancialInstitutions.push(FinancialInstitutions)
}
})
}else{
this.$message.error(this.$t('tips.qxzsygongsi'))
return
}
if(this.CostIdS.length!=0){ //适用费用
this.CostIdS.forEach(x=>{
let FinancialInstitutions={
ID:0,
SuitableObjectId:x,
Type:2
}
this.addMsg.FinancialInstitutions.push(FinancialInstitutions)
})
}else{
this.$message.error(this.$t('tips.qxzsyfeiyong'))
return
}
if(this.myAuditList.length!=0){
this.addMsg.Workflow_Condition.AuditList=this.myAuditList
}else{
this.$message.error(this.$t('tips.qxzspiren'))
return
}
if(this.myAuditUserList.length!=0){
this.addMsg.Workflow_Condition.AuditUserList=this.myAuditUserList
}
if(this.TemplateId!=0){
this.addMsg.Workflow_Condition.Id = this.getMsg.Workflow_Condition.Id
}
if(this.radio!=''){
this.addMsg.TempLateClass = parseInt(this.radio)
}else{
this.$message.error(this.$t('tips.qxzliucehng'))
return
}
this.loading=true;
this.apipost('FinancialFlowTemplate_post_Set',this.addMsg,res=>{
if(res.data.resultCode==1){
this.loading=false;
this.$message.success(this.$t('tips.czchenggong'))
if(this.xingzhenState){
this.$router.push({ name: 'XProcessmanagement',query:{"type":this.addMsg.TemplateType,'Branch_Id':this.$route.query.Branch_Id} })
}else{
this.$router.push({ name: 'FProcessManagement',query:{"type":this.addMsg.TemplateType,'Branch_Id':this.$route.query.Branch_Id} })
}
}else{
this.loading=false;
if(this.xingzhenState){
this.addMsg.TemplateSorce=2;
}
this.addMsg = {
PropertyType:'',
Id:this.addMsg.Id,
Name:this.addMsg.Name,
DescribeInfo:this.addMsg.DescribeInfo,
Sort:this.addMsg.Sort,
TemplateType:this.addMsg.TemplateType,
TempLateClass:this.radio,
FinancialInstitutions:[],
RB_BranchId:this.$route.query.Branch_Id,
Workflow_Condition:{
Id:this.addMsg.Workflow_Condition.Id,
AuditList:[],
AuditUserList:[],
}
}
this.$message.error(res.data.message)
return
}
},err=>{})
},
deleteUser(id){ // 删除人员
if(this.memberSetCheckedUserKeys.findIndex(item => item === id)!=-1){
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === id), 1)
}
if(this.myAuditUserList.findIndex(item => item.EmployeeId === id)!=-1)
{
this.myAuditUserList.splice(this.myAuditUserList.findIndex(item => item.EmployeeId === id), 1)
}
if(this.myAuditUserList1.findIndex(item => item.EmployeeId === id)!=-1)
{
this.myAuditUserList1.splice(this.myAuditUserList1.findIndex(item => item.EmployeeId === id), 1)
}
},
saveAuditUser(){ // 抄送人保存
if(this.myAuditUserList1.length<=10){
this.myAuditUserList=JSON.parse(JSON.stringify(this.myAuditUserList1))
this.outerVisible2 = false
}else{
this.$message.error(this.$t('tips.rsbncgtr'))
return false;
}
},
handleNodeChange1(data, checked) { //抄送人操作选中
data.IsCheck = checked;
if(data.Type == 2 && data.IsCheck) { //是员工且选中
let isExsit = false
this.myAuditUserList1.forEach(x => {
if(x.EmployeeId == data.DepartmentId) {
isExsit = true
return false
}
})
if(!isExsit) {
this.myAuditUserList1.push({
emName: data.DepartmentName,
EmployeeId: data.DepartmentId,
Sort: this.myAuditUserList1.length + 1
})
this.memberSetCheckedUserKeys.push(data.DepartmentId)
}
} else if(data.Type == 2 && !data.IsCheck) {
if(this.myAuditUserList1.findIndex(item => item.EmployeeId === data.DepartmentId) != -1) {
this.myAuditUserList1.splice(this.myAuditUserList1.findIndex(item => item.EmployeeId === data.DepartmentId), 1)
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data.DepartmentId), 1)
if(this.myAuditUserList1.findIndex(item => item.EmployeeId === data.ParentId) != -1) {
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data.ParentId), 1)
}
}
}
if(data.Type != 2 && data.IsCheck) {
if(this.memberSetCheckedUserKeys.findIndex(item => item === data.DepartmentId) == -1) {
this.memberSetCheckedUserKeys.push(data.DepartmentId)
}
} else if(data.Type == 2 && !data.IsCheck) {
if(this.memberSetCheckedUserKeys.findIndex(item => item === data.DepartmentId) != -1) {
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data.DepartmentId), 1)
if(this.myAuditUserList1.findIndex(item => item.EmployeeId === data.ParentId) != -1) {
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data.ParentId), 1)
}
}
}
},
addAuditUser(){ // 抄送人
let _arr=this.sysUserKeys.concat(this.memberSetCheckedUserKeys)
this.dialogTitle = this.$t('fnc.xzrenyuan');
this.outerVisible2=true;
let _this=this;
this.apipost('WorkFlow_get_GetTempLateDepartMentEmployee', {}, res => {
if(res.data.resultCode==1){
this.userList = res.data.data
}
}, err => {})
},
checkedRole(data,checked){ // 岗位选择+
if(data.DepartmentId==0) return
if(checked) {
this.roleSetCheckedKeys.push(data.PostId)
this.$refs.treeRole.setCheckedKeys([data.PostId]);
this.showRole=[];
this.showRole.push({DepartmentName:data.PostName,Id:data.PostId})
} else {
if(this.roleSetCheckedKeys.length == 1) {
this.roleSetCheckedKeys.push(data.PostId)
} else {
this.roleSetCheckedKeys = this.roleSetCheckedKeys.slice(this.roleSetCheckedKeys.length - 1)
}
}
},
deleteRole(){ // 删除已选岗位
this.showRole=[]
this.roleSetCheckedKeys.splice(this.roleSetCheckedKeys.findIndex(item => item), 1)
this.$refs.treeRole.setCheckedKeys(this.roleSetCheckedKeys);
},
getRole() { // 选择岗位
this.apipost('admin_get_PostGetList',{RB_Group_Id:this.getPostMsg.RB_Group_Id}, res => {
let data = res.data.data;
data.forEach(x=>{
x.Disabled = false;
})
this.roleList = data;
}, err => {})
},
saveUpdateNode(){
let AuditList = {};
let type = this.approvalType
if(this.AuditDescription==''){
return this.$message.error(this.$t('tips.qtxjdmiaoshu'))
}
if(type == 1)
{
AuditList.AuditType = type;
AuditList.AuditWay = 1;
AuditList.AuditUserList = [{EmployeeId:'',Sort:''}];
AuditList.Sort = this.myAuditList.length + 1;
AuditList.RoleOrInitiator = this.directors;
AuditList.SpecialNode = this.GetNodeValue;
if(this.GetNodeValue!=2){
if(this.directors==''){
return this.$message.error(this.$t('tips.qxzbmzgjibie'))
}
}
this.levelList.forEach(x=>{
if(x.level == this.directors)
{
AuditList.Name=this.AuditDescription
AuditList.AuditDescription=this.AuditDescription
}
else return
})
this.myAuditList[this.updateItemIndex]=AuditList;
}
if(type == 2) { //指定成员
let Au = this.showMember;
let Auu = [];
Au.forEach((item, index) => {
Auu.push({
EmployeeId: item.DepartmentId,
emName:item.DepartmentName,
Sort: index+1
})
})
AuditList.AuditWay = this.AuditWay;
AuditList.AuditDescription = this.AuditDescription;
AuditList.Name = this.AuditDescription;
AuditList.AuditType = 2;
AuditList.RoleOrInitiator = '';
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditUserList = Auu;
AuditList.SpecialNode = this.GetNodeValue;
if(Auu.length==0)
{
this.$message.error(this.$t('tips.cybnweikong'))
return
}else if(Auu.length>10){
this.$message.error(this.$t('tips.rsbncgtr'))
return
}
this.myAuditList[this.updateItemIndex]=AuditList;
}
if(type == 3) { //岗位
AuditList.AuditType=3;
AuditList.AuditWay = this.AuditWay;
AuditList.AuditUserList = [{EmployeeId:'',Sort:''}];
AuditList.Sort = this.myAuditList.length + 1;
AuditList.SpecialNode = this.GetNodeValue;
if(this.showRole.length==0)
{
this.$message.error(this.$t('tips.qxzgangwei'))
return
}else{
AuditList.RoleOrInitiator=this.showRole[0].PostId?this.showRole[0].PostId:this.showRole[0].Id;
AuditList.Name=this.showRole[0].DepartmentName;
AuditList.AduitName = this.showRole[0].DepartmentName;
AuditList.AuditDescription=this.AuditDescription;
}
this.myAuditList[this.updateItemIndex]=AuditList;
}
if(type==4){ //空节点
AuditList.AuditType=4;
AuditList.AuditWay = this.AuditWay;
AuditList.AuditUserList = [{EmployeeId:'0',Sort:''}];
AuditList.Sort = this.myAuditList.length + 1;
AuditList.SpecialNode = this.GetNodeValue;
AuditList.RoleOrInitiator=0;
AuditList.Name='';
AuditList.AduitName = '';
AuditList.AuditDescription=this.AuditDescription;
this.myAuditList[this.updateItemIndex]=AuditList;
}
if(type==5){//出纳
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 5;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList[this.updateItemIndex]=AuditList;
}
if(type==6){//会计
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 6;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList[this.updateItemIndex]=AuditList;
}
if(type==7){//线控(当团OP所在部门的负责人)
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 7;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList[this.updateItemIndex]=AuditList;
}
if(type==10){//分公司op(当团OP所在部门的负责人)
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 10;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList[this.updateItemIndex]=AuditList;
}
if(type==11){//总部线控
AuditList.AuditType = 11;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList[this.updateItemIndex]=AuditList;
}
if(type==8){//记账负责人
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 8;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList[this.updateItemIndex]=AuditList;
}
if(type==9){//收款出纳
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 9;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList[this.updateItemIndex]=AuditList;
}
this.closeLayer()
},
getItemValue(obj,index){
this.SpecialNode = obj.SpecialNode
this.addBtn=false;
this.updateItemIndex=index;
this.updateItem=obj;
this.showLayer();
this.approvalType=obj.AuditType;
this.GetNodeValue = obj.SpecialNode;
if(obj.AuditType==1){
this.directors=obj.RoleOrInitiator
}
if(obj.AuditType==2){
this.showMember=[];
this.memberSetCheckedKeys=[];
this.AuditWay=obj.AuditWay;
obj.AuditUserList.forEach((item,index)=>{
this.showMember.push({
DepartmentName: item.EmName?item.EmName:item.emName,
DepartmentId: item.EmployeeId
})
this.memberSetCheckedKeys.push(item.EmployeeId)
})
}
if(obj.AuditType==3){
this.AuditWay=obj.AuditWay;
this.showRole=[];
this.showRole.push({DepartmentName:obj.AduitName,Id:obj.RoleOrInitiator})
this.defaultCheckedArr.push(obj.RoleOrInitiator)
}
if(obj.AuditType==4){
this.AuditWay=obj.AuditWay;
this.showRole=[];
this.showRole.push({DepartmentName:obj.AduitName,Id:obj.RoleOrInitiator})
this.SpecialNodeSelectType = obj.AuditType;
}
if(obj.AuditType==5||obj.AuditType==6||obj.AuditType==7 || obj.AuditType==8 || obj.AuditType==9||obj.AuditType==10||obj.AuditType==11){
this.AuditWay=obj.AuditWay;
this.WindowID = obj.RoleOrInitiator;
this.SpecialNodeSelectType = obj.AuditType;
}
},
handleNodeChange(data, checked) {
data.IsCheck = checked;
if(data.Type == 2 && data.IsCheck) { //是员工且选中
let isExsit = false
this.showMember.forEach(x => {
if(x.DepartmentId == data.DepartmentId) {
isExsit = true
return false
}
})
if(!isExsit) {
this.showMember.push({
DepartmentName: data.DepartmentName,
DepartmentId: data.DepartmentId
})
if(data.DepartmentId!=0)
this.memberSetCheckedKeys.push(data.DepartmentId)
}
} else if(data.Type == 2 && !data.IsCheck) {
if(this.showMember.findIndex(item => item.DepartmentId === data.DepartmentId) != -1) {
this.showMember.splice(this.showMember.findIndex(item => item.DepartmentId === data.DepartmentId), 1)
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId), 1)
if(this.showMember.findIndex(item => item.DepartmentId === data.ParentId) != -1) {
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.ParentId), 1)
}
}
}
if(data.Type != 2 && data.IsCheck) {
if(this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId) == -1) {
if(data.DepartmentId!=0)
this.memberSetCheckedKeys.push(data.DepartmentId)
}
} else if(data.Type == 2 && !data.IsCheck) {
if(this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId) != -1) {
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId), 1)
if(this.showMember.findIndex(item => item.DepartmentId === data.ParentId) != -1) {
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.ParentId), 1)
}
}
}
},
mySetCheckedKeys(id) {
if(this.memberSetCheckedKeys.length == 0)
return
if(id == -1) {
this.$refs.tree.setCheckedKeys(this.memberSetCheckedKeys)
return
}
this.showMember.splice(this.showMember.findIndex(item => item.DepartmentId === id), 1)
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === id), 1)
this.$refs.tree.setCheckedKeys(this.memberSetCheckedKeys);
},
getMember() { // 获取指定成员列表
this.outerVisible = true;
this.dialogTitle = this.$t('fnc.xzrenyuan');
this.apipost('WorkFlow_get_GetTempLateDepartMentEmployee', {}, res => {
this.memberList = res.data.data
}, err => {})
},
deleteItem(sort) { // 删除已添加审批人
this.myAuditList.splice(this.myAuditList.findIndex(item => item.Sort === sort), 1)
},
addNode(){ // 添加节点
let AuditList = {};
let type = this.approvalType
if(this.AuditDescription==''){
return this.$message.error(this.$t('tips.qtxjdmiaoshu'))
}
if(type==1){
AuditList.AuditType = type;
AuditList.AuditWay = 1;
AuditList.AuditUserList = [{EmployeeId:'',Sort:''}];
AuditList.Sort = this.myAuditList.length + 1;
AuditList.RoleOrInitiator = this.directors;
AuditList.AuditDescription='';
AuditList.SpecialNode = this.GetNodeValue;
if(this.GetNodeValue!=2){
if(this.directors==''){
return this.$message.error(this.$t('tips.qxzbmzgjibie'))
}
}
this.levelList.forEach(x=>{
if(x.level == this.directors)
{
AuditList.Name=this.AuditDescription;
AuditList.AuditDescription=this.AuditDescription;
}
else return
})
this.myAuditList.push(AuditList)
}
if(type==2){
let Au = this.showMember;
let Auu = [];
Au.forEach((item, index) => {
Auu.push({
EmployeeId: item.DepartmentId,
emName:item.DepartmentName,
Sort: index+1
})
})
AuditList.AuditWay = this.AuditWay;
AuditList.AuditDescription = this.AuditDescription;
AuditList.Name = this.AuditDescription;
AuditList.AuditType = type;
AuditList.RoleOrInitiator = '';
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditUserList = Auu;
AuditList.SpecialNode = this.GetNodeValue;
if(Auu.length==0)
{
this.$message.error(this.$t('tips.cybnweikong'))
return
}else if(Auu.length>10){
this.$message.error(this.$t('tips.rsbncgtr'))
return
}
this.myAuditList.push(AuditList);
}
if(type==3){
AuditList.AuditType=type;
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditUserList = [{EmployeeId:'',Sort:''}];
AuditList.SpecialNode = this.GetNodeValue;
if(this.showRole.length==0)
{
this.$message.error(this.$t('tips.qxzbumen'))
return
}else{
AuditList.RoleOrInitiator=this.showRole[0].Id;
AuditList.Name=this.showRole[0].DepartmentName;
AuditList.AuditDescription=this.AuditDescription;
}
this.myAuditList.push(AuditList);
}
if(type==4){//空节点
AuditList.AuditType=type;
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditUserList = [{EmployeeId:'0',Sort:''}];
AuditList.SpecialNode = this.GetNodeValue;
AuditList.RoleOrInitiator=0;
AuditList.Name='';
AuditList.AuditDescription=this.AuditDescription;
this.myAuditList.push(AuditList);
}
if(type==5){//出纳
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 5;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList.push(AuditList);
}
if(type==6){//会计
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 6;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList.push(AuditList);
}
if(type==7){//op
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 7;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList.push(AuditList);
}
if(type==10){//分公司op
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 10;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList.push(AuditList);
}
if(type==11){//总部线控
AuditList.AuditType = 11;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList.push(AuditList);
}
if(type==8){//记账出纳
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 8;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList.push(AuditList);
}
if(type==9){//收款出纳
// if(!this.WindowID){
// this.$message.error("请选择窗口!")
// return
// }
AuditList.AuditType = 9;
AuditList.RoleOrInitiator = '';
AuditList.AuditWay = this.AuditWay;
AuditList.Sort = this.myAuditList.length + 1;
AuditList.AuditDescription = this.AuditDescription;
AuditList.SpecialNode = this.GetNodeValue;
this.myAuditList.push(AuditList);
}
this.closeLayer()
},
clearValue(t){ // 选择会计出纳窗口获取对应下拉
this.SpecialNodeSelectType = ''; // 选择普通节点初始化 特殊节点 值
// if(t==5){
// this.WindowList = [];
// this.apipost('Window_post_GetWindowList',{Type:1},res=>{
// if(res.data.resultCode==1){
// let data = res.data.data;
// this.WindowList = data;
// }else{}
// },null)
// }
// if(t==6){
// this.WindowList = [];
// this.apipost('Window_post_GetWindowList',{Type:2},res=>{
// if(res.data.resultCode==1){
// let data = res.data.data;
// this.WindowList = data;
// }else{}
// },null)
// }
},
changeValue(value) {
},
getMaxDepartmentTierList(){ // 获取直接主管层级
this.apipost('admin_get_GetMaxDepartmentTier',{},res=>{
if(res.data.resultCode==1){
let data = res.data.data;
let newList = [];
data.forEach(x => {
let newObj = {
level:x,
name: this.$t('tips.di')+x+this.$t('tips.jizhuguan'),
}
newList.push(newObj)
});
this.levelList = newList
}else{}
},err=>{})
},
getCostTypeList(type){ // 获取费用类型
this.apipost('Financial_post_GetTreeList',{Type:type},res=>{
if(res.data.resultCode==1){
this.CostTypeList=res.data.data;
this.CostTypeList.unshift({
ChildList:[],
ID:'0',
Name:this.$t('active.cl_tongyong')
})
}else{}
},err=>{})
},
getCompanyList(){ //获取公司列表
this.apipost('admin_get_BranchGetList',this.getCompanyMsg,res=>{
if(res.data.resultCode==1){
let data = res.data.data
data.forEach(x=>{
x.Id=x.Id.toString()
})
this.CompanyList=res.data.data;
}else{}
},err=>{})
},
addAppPerson(){ // 添加默认审批人按钮
this.approvalType=1;
this.addBtn=true;
this.AuditDescription = '';
this.showLayer();
this.showMember = [];
this.showRole = [];
this.GetNodeValue = 0;
},
goUrl(path) {
this.$router.push({ name: path,query:{"type":this.addMsg.TemplateType,'Branch_Id':this.$route.query.Branch_Id} })
},
showLayer() { // 开启弹层
this.showlayer = true;
this.isTransition = true;
},
closeLayer() { // 关闭弹层
let _this = this;
this.directors=''
setTimeout(function() {
_this.showlayer = false;
}, 300)
this.showMember = [];
this.memberSetCheckedKeys = [];
// this.$refs.tree.setCheckedKeys(this.memberSetCheckedKeys);
this.isTransition = false;
this.defaultCheckedArr = [];
this.WindowID = '';
this.SpecialNodeSelectType = '';
},
filterNode(value, data) {
if (!value) return true;
return data.DepartmentName.indexOf(value) !== -1;
},
filterNode1(value, data) {
if (!value) return true;
return data.PostName.indexOf(value) !== -1;
},
filterNode2(value, data) {
if (!value) return true;
return data.DepartmentName.indexOf(value) !== -1;
},
}
}
</script>
......@@ -666,6 +666,15 @@ export default {
title: '流程管理'
},
},
{
path: '/XaddFinancialProcess', //新增财务流程
name: 'XaddFinancialProcess',
component: resolve => require(['@/components/administrative/XaddFinancialProcess'], resolve),
meta: {
title: '新增财务流程'
},
},
{
path: '/custumerXzCertification', //客户实名认证
name: 'custumerXzCertification',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment