<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" /> <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}} <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}} <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> <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> <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> <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:'', TemplateSorce:2, }, 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:[], }, TemplateSorce:2, } 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){ this.directors=1 } 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){ this.directors=1 } 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>