<template> <div style="height:100%;padding:3px 8px;overflow: auto;" class="userD-mag"> <div id="showUserDetail"> </div> <div id="saveUserDetail"> </div> <div id="getNation"> </div> <div id="getProvince"> </div> <div id="getCitpaginationys"> </div> <el-tabs ref="tab1" type="border-card" @tab-click="handleClick"> <el-tab-pane :label="userTitle"> <el-form ref="addUser" :model="user" tokenKey="addUser" label-width="120px" :disabled="isDisabled"> <el-input event-render="loadText" v-model="user.id" type="text" :disabled="false" v-if="false"> </el-input> <el-row ref="thirdLine" :gutter="30"> <el-col :span="11"> <el-form-item :label="$t('statics.登录名:')" prop="logName" > <el-input event-render="loadText" v-model="user.logName" type="text" :disabled="logNameDisabled" maxlength="8"> </el-input> </el-form-item> </el-col> <el-col :span="11"> <el-form-item :label="$t('statics.姓名:')" prop="name"> <el-input event-render="loadText" v-model="user.name" type="text" :disabled="false"> </el-input> </el-form-item> </el-col> </el-row> <el-row ref="thirdLine" :gutter="30" v-if="setPassWord"> <el-col :span="11"> <el-form-item :label="$t('statics.密码:')" prop="logPass" class="requireds"> <el-input event-render="loadText" v-model="user.logPass" type="password" :disabled="false" > </el-input> </el-form-item> </el-col> <el-col :span="11"> <el-form-item :label="$t('statics.确认密码:')" prop="confirmPass" class="requireds"> <el-input event-render="loadText" v-model="user.confirmPass" type="password" :disabled="false"> </el-input> </el-form-item> </el-col> </el-row> <el-row ref="thirdLine" :gutter="30"> <!--col,53--> <el-col :span="11"> <el-form-item :label="$t('statics.归属行:')" prop="workorg"> <el-select v-model="user.workorg"> <el-option v-for="item in branchlist" :key="item.branch" :label="$i18n.locale === 'zh' ? item.branch +' - '+ item.bchname : item.branch +' - '+ item.namen" :value="item.branch" > <span style="float: left" v-if="$i18n.locale === 'zh'">{{ item.branch }} - {{ item.bchname }}</span> <span style="float: left" v-if="$i18n.locale === 'en'">{{ item.branch }} - {{ item.namen }}</span> </el-option> </el-select> </el-form-item> <!--表单行,51--> </el-col> <el-col :span="11"> <!--表单行,54--> <el-form-item :label="$t('statics.是否冻结:')" prop="state"> <!--单选框,18--> <el-radio v-model="user.state" label="3"> {{ $t('statics.是') }} </el-radio> <!--单选框,18--> <!--单选框,19--> <el-radio v-model="user.state" label="Y"> {{ $t('statics.否') }} </el-radio> <!--单选框,19--> <!--单选框,20--> <el-radio v-model="user.state" label="2"> {{ $t('statics.临时冻结') }}(10min) </el-radio> <!--单选框,20--> </el-form-item> <!--表单行,54--> </el-col> <!--col,53--> <!--col,54--> </el-row> <!--布局,29--> <!--布局,30--> <el-row ref="thirdLine" :gutter="30"> <!--col,55--> <!--col,55--> <!--col,56--> <!--col,56--> </el-row> <!--布局,30--> <!--布局,31--> <el-row ref="thirdLine" :gutter="30"> <!--col,57--> <!--col,57--> <!--col,58--> <el-col :span="11"> <!--表单行,57--> <!--表单行,57--> </el-col> <!--col,58--> </el-row> <!--布局,31--> <!--布局,32--> <el-row ref="thirdLine" :gutter="30"> <!--col,60--> <!--col,61--> </el-row> <!--布局,32--> <!--布局,33--> <el-row ref="thirdLine" :gutter="30"> <!--col,62--> <!--col,63--> <el-col :span="11"> <!--表单行,61--> <el-form-item :label="$t('statics.电话:')" prop="mobilePhone"> <!--输入框,46--> <el-input event-render="loadText" v-model="user.mobilePhone" type="text" :disabled="false"> </el-input> <!--输入框,46--> </el-form-item> <!--表单行,61--> </el-col> <el-col :span="11"> <!--表单行,62--> <el-form-item :label="$t('statics.传真:')" prop="faxaPhone"> <!--输入框,47--> <el-input event-render="loadText" v-model="user.faxaPhone" type="text" :disabled="false"> </el-input> <!--输入框,47--> </el-form-item> <!--表单行,62--> </el-col> <!--col,63--> </el-row> <!--布局,33--> <!--布局,34--> <el-row ref="thirdLine" :gutter="30"> <!--col,64--> <el-col :span="11"> <!--表单行,63--> <el-form-item :label="$t('statics.邮编:')" prop="postalcode"> <!--输入框,48--> <el-input event-render="loadText" v-model="user.postalcode" type="text" :disabled="false"> </el-input> <!--输入框,48--> </el-form-item> <!--表单行,63--> </el-col> <el-col :span="11"> <!--表单行,64--> <el-form-item :label="$t('statics.电子邮箱:')" prop="email"> <!--输入框,49--> <el-input event-render="loadText" v-model="user.email" type="text" :disabled="false"> </el-input> <!--输入框,49--> </el-form-item> <!--表单行,64--> </el-col> <!--col,65--> </el-row> <!--布局,34--> <!--布局,35--> <el-row ref="thirdLine" :gutter="30"> <!--col,66--> <el-col :span="11"> <!--表单行,68--> <el-form-item :label="$t('statics.授权档次:')" prop="authlevel"> <c-select v-model="user.authlevel" dbCode="ATHLVL"></c-select> </el-form-item> <!--表单行,68--> </el-col> <el-col :span="11"> <!--表单行,69--> <el-form-item :label="$t('statics.授权权限:')" prop="relgrp"> <c-select v-model="user.relgrp" dbCode="GRPCDE"></c-select> </el-form-item> <!--表单行,69--> </el-col> </el-row> <!--布局,35--> <el-row :gutter="30"> <!--col,71--> </el-row> <el-row :gutter="30"> <!--col,71--> <el-col :span="11"> <!--表单行,69--> <el-form-item :label="$t('statics.授权币种:')" prop="relcur"> <c-select v-model="user.relcur" dbCode="CURTXT"></c-select> </el-form-item> <!--表单行,69--> </el-col> <!--col,71--> <el-col :span="11"> <!--表单行,68--> <el-form-item :label="$t('statics.授权金额:')" prop="relamt"> <!--输入框,53--> <el-input event-render="loadText" v-model="user.relamt" type="text" :disabled="false"> </el-input> </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="11"> <!--表单行,69--> <el-form-item :label="$t('statics.关联机构:')" prop="associationrinstitution"> <el-select v-model="user.branchcode" multiple> <el-option v-for="item in branchlist" :key="item.branch" :label="$i18n.locale == 'zh' ? item.branch +' - '+ item.bchname : item.branch +' - '+ item.namen" :value="item.branch"> <span style="float: left" v-if="$i18n.locale === 'zh'">{{ item.branch }} - {{ item.bchname }}</span> <span style="float: left" v-if="$i18n.locale === 'en'">{{ item.branch }} - {{ item.namen }}</span> </el-option> </el-select> </el-form-item> <!--表单行,69--> </el-col> <el-col :span="11"> <el-form-item :label="$t('statics.关联角色:')" prop="associationrrole"> <el-select v-model="user.rolecode" multiple> <el-option v-for="item2 in rolelist" :key="item2.id" :label="$i18n.locale == 'zh' ? item2.id +' - '+ item2.name : item2.id +' - '+ item2.extfield1" :value="item2.id" > <span style="float: left" v-if="$i18n.locale === 'zh'">{{ item2.id }} - {{ item2.name }}</span> <span style="float: left" v-if="$i18n.locale === 'en'">{{ item2.id }} - {{ item2.extfield1 }}</span> </el-option> </el-select> </el-form-item> </el-col> </el-row> <el-row ref="thirdLine" :gutter="30"> <!--col,67--> <el-col :span="11"> <!--表单行,65--> <el-form-item :label="$t('statics.附加信息1:')" prop="extfield1"> <!--输入框,50--> <el-input event-render="loadText" v-model="user.extfield1" type="text" :disabled="false"> </el-input> <!--输入框,50--> </el-form-item> <!--表单行,65--> </el-col> <!--col,67--> <el-col :span="11"> <!--表单行,66--> <el-form-item :label="$t('statics.附加信息2:')" prop="extfield2"> <!--输入框,51--> <el-input event-render="loadText" v-model="user.extfield2" type="text" :disabled="false"> </el-input> <!--输入框,51--> </el-form-item> <!--表单行,66--> </el-col> </el-row> <!--布局,36--> <!--布局,37--> <el-row ref="thirdLine" :gutter="30"> <!--col,69--> <el-col :span="11"> <!--表单行,67--> <el-form-item :label="$t('statics.附加信息3:')" prop="extfield3"> <!--输入框,52--> <el-input event-render="loadText" v-model="user.extfield3" type="text" :disabled="false"> </el-input> <!--输入框,52--> </el-form-item> <!--表单行,67--> </el-col> <!--col,69--> <el-col :span="11"> <!--表单行,68--> <el-form-item :label="$t('statics.附加信息4:')" prop="extfield4"> <!--输入框,53--> <el-input event-render="loadText" v-model="user.extfield4" type="text" :disabled="false"> </el-input> <!--输入框,53--> </el-form-item> <!--表单行,68--> </el-col> </el-row> <!--布局,37--> <!--布局,38--> <el-row :gutter="30"> <!--col,71--> <el-col :span="11"> <!--表单行,69--> <el-form-item :label="$t('statics.附加信息5:')" prop="extfield5"> <!--输入框,54--> <el-input event-render="loadText" v-model="user.extfield5" type="text" :disabled="false"> </el-input> <!--输入框,54--> </el-form-item> <!--表单行,69--> </el-col> <!--col,71--> </el-row> <!--布局,38--> <!--布局,39--> <!--布局,39--> </el-form> <el-row> <!--col,72--> <el-col :span="24" class="text-center subBtn"> <!--按钮,69--> <el-tooltip effect="light" :content="$t('statics.保存[用户基本信息]后,请务必同步新增对应的[所属机构]和[角色]信息')" placement="left"> <el-button type="primary" ref="userSubmitBtn" v-if="isShowSubmit" :loading="false" @click="saveUser()" icon="el-icon-circle-check"> {{ $t('statics.提交') }} </el-button> </el-tooltip> <!--按钮,69--> <!--按钮,70--> <el-button type="primary" :loading="false" icon="el-icon-refresh-left" native-type="reset" :disabled="false" @click="goBack()"> {{ $t('statics.返回') }} </el-button> <!--按钮,70--> <!--按钮,71--> <el-button type="primary" v-if="passWordBtn" :loading="false" icon="el-icon-refresh" @click="changePassW"> {{ $t('statics.重设密码') }} </el-button> <!--按钮,71--> </el-col> <!--col,72--> </el-row> </el-tab-pane> </el-tabs> </div> </template> <script type="text/javascript"> import * as iscMessage from '@/util/isc-common/messageManage.js' import dateFormat from '@/util/date/dateFormat.js' import { Col,TabPane,RadioGroup,Form,FormItem,Radio,RadioButton,TableColumn,Card,Input,Button,Dialog,Select,Tree,Tabs,Option,DatePicker,Row,Popover} from 'element-ui' import { IscPagingTable} from '@/components/isc' import RelatedOrgChild from '@/page/Statics/Usr/RelatedOrg.vue'; import Api from "@/service/Api"; export default { data () { return { branchlist:[], rolelist:[], editPriority: '5', selectDataList: [], limit: 100, offset: 0, userID:0, btnType:"", isDisabled:false, isShowSubmit:true, setPassWord:false, passWordBtn:false, cityList:[], nationList:[], provinceList:[], relationTableRef:'', openOrgDialog:false, orgTreeDialogbtn:true, orgTreeblongbtn:false, userTitle:this.$t('statics.新增用户'), Dialogtitle:this.$t('statics.机构数据'), nodeProp:{children:'children',label: 'text',isLeaf: 'leaf'}, GroupGridList:null, OrgGridList:null, PostGridList:null, DepartGridList:null, RoleGridList:null, openDeptDialog:false, openDepartDialog:false, deptNode:null, deptResolve:null, orgNode:null, orgResolve:null, deptTreeData:[{label: this.$t('statics.一级 1'),children: [{label: this.$t('statics.二级 1-1'),children: [{label: this.$t('statics.三级 1-1-1') }]}]}], orgTreeData:[{label: this.$t('statics.一级 1'),children: [{label: this.$t('statics.二级 1-1'),children: [{label: this.$t('statics.三级 1-1-1') }]}]}], openGroupDialog:false, openPostDialog:false, openRoleDialog:false, groupTreeData:[], postTreeData:[], RoleTreeData:[], orgRadio:'', orgRow:null, departRadio:'', departRow:null, postRadio:'', postRow:null, groupRadio:'', groupRow:null, roleRadio:'', roleRow:null, clickListRow:null, ddddd:[{'label':this.$t('statics.选项'),'value':'11','disabled':true},{'label':this.$t('statics.选项一')}], orgData:'', orgDataList:[], departmentDataList:[], delGroup:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/group/relation/{userid}/{groupid}"}, delRole:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/qukacc/user/role/relation/{userid}/{roleid}/{departmentid}"}, searchDepart:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/depart/relation/{userid}"}, saveDepart:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/depart/relation/put"}, savePost:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/post/relation/put"}, searchPost:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/post/relation/{userid}"}, // searchRoleOrg:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/org/relation/{userid}"}, selectGroupTree:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/group/relation/grouptree/{userid}"}, searchRole:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/role/relation/{userid}"}, getProvince:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/province"}, selectPostTree:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/post/relation/posttree/{userid}"}, submitGroup:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/group/relation"}, submitRole:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/role/relation"}, selectRoletree:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/conn/allroletree"}, delDepart:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/depart/relation/{userid}/{departId}"}, saveGroup:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/group/relation/put"}, getNation:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/nation"}, saveRole:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/role/relation/put"}, showUserDetail:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/admin/usr/userdetail/userid/{id}"}, getDeptTreeChild:{"fileName":"department.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/department/find/treeNode/{departmentNumber}"}, saveUserDetail:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/usr/saveUsr"}, delPost:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/post/relation/{userid}/{postid}"}, getDepartTreeA:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/userrest/depart/relation/departtree/all"}, submitPost:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/post/relation"}, getOrgChildTree:{"fileName":"orgs.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/orgs/org/parentorg/{parentid}"}, getCitys:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/province/city/{provinceid}"}, getDeptTree:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/departtree/all/{workorg}"}, saveDepartRe:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/depart/relation"}, getOrgParentTree:{"fileName":"orgs.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/orgs/org/getDepartParent"}, searchGroup:{"fileName":"users.json","basePath":"{{basePath}}","method":"get","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/users/user/group/relation/{userid}"}, saveInfo:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/uro/saveInfo"}, deleteInfo:{"fileName":"users.json","basePath":"{{basePath}}","method":"post","scheme":"{{schemes}}","host":"{{host}}","consume":"0","produce":"0","uri":"/uro/deleteInfo"}, user:{ branchcode:{}, rolecode:{}, province:'', extfield1:'', extfield2:'', extfield3:'', extfield4:'', extfield5:'', mobilePhone:'', postalcode:'', email:'', state:'Y', workDept:'', workDeptName:'', workorg:'', workorgName:'', faxaPhone:'', confirmPass:'', logPass:'', logName:'', name:'', id:'', relgrp:'', // 授权权限 relcur:'', // 授权币种 relamt:'', // 授权金额 authlevel:'', // 授权档次 role:'',//用户关联角色 institution:'',//用户关联机构 }, scope:{ row:'' }, logNameDisabled:false } }, components: { 'isc-paging-table':IscPagingTable, 'el-radio-group':RadioGroup, 'el-form':Form, 'el-radio':Radio, 'el-col':Col, 'el-radio-button':RadioButton, 'el-input':Input, 'el-option':Option, 'el-row':Row, 'el-tabs':Tabs, 'el-button':Button, 'el-select':Select, 'el-form-item':FormItem, 'el-date-picker':DatePicker, 'el-dialog':Dialog, 'el-table-column':TableColumn, 'el-card':Card, 'el-popover':Popover, 'el-tree':Tree, 'el-tab-pane':TabPane, 'el-related-org-child':RelatedOrgChild }, mounted (){ this.$parent.hideChild = false; this.userID = this.$route.query.id; this.isDisabled = false; this.isShowSubmit = true; this.logNameDisabled = false; this.btnType = this.$route.query.btnType; this.bch_init(); this.role_init(); let $this = this; this.$el.querySelectorAll('*[isToken]').forEach(function(el,index){ var key =el.getAttribute('tokenKey'); iscMessage.getTokenID($this,key); }); this.$el.querySelectorAll('*[data-init]').forEach(function(el,index){ var init =el.getAttribute('data-init'); var message = iscMessage.initMessageKey(init); $this.poin_initManage(message[0],message[1],message[2]); }); if(this.userID == null){ //增加,显示密码框 this.setPassWord = true; this.logNameDisabled = false; }else{ //修改 ,显示重置密码按钮,反显数据 this.logNameDisabled = true; if(this.btnType == "info"){ this.passWordBtn=false; this.userTitle=this.$t('statics.查看用户'); this.isDisabled = true; this.isShowSubmit = false; }else{ this.passWordBtn=true; this.userTitle=this.$t('statics.修改用户'); } this.user.id = this.userID; this.poin_initManage({"id":"showUserDetail"},function afterLoad(response,responseData){ if(response.ok){ let bchList=responseData.data.branchList; let tmpList=[] bchList.forEach((item) => { tmpList.push(item.BRANCH); }); $this.user.branchcode=tmpList; let roleList=responseData.data.roleList; let tmpList2=[] roleList.forEach((item2) => { tmpList2.push(item2.ROLEID); }); $this.user.rolecode=tmpList2; $this.user.id= responseData.data.id; $this.user.logName=responseData.data.extkey; $this.user.name= responseData.data.nam; $this.user.workorg= responseData.data.workorg; $this.user.workorgName= responseData.data.workorg; $this.user.mobilePhone=responseData.data.tel; $this.user.faxaPhone= responseData.data.fax; $this.user.postalcode= responseData.data.postalcode; $this.user.relgrp = responseData.data.relgrp; $this.user.relcur = responseData.data.relcur; $this.user.relamt = responseData.data.relamt; $this.user.logPass=responseData.data.password; $this.user.email=responseData.data.eml; $this.user.workDept= responseData.data.workDept; $this.user.workDeptName=responseData.data.workDeptName; $this.user.confirmPass=responseData.data.confirmPass; $this.user.authlevel = responseData.data.authlevel; $this.user.state = responseData.data.secsta; $this.user.extfield1= responseData.data.extfield1; $this.user.extfield2= responseData.data.extfield2; $this.user.extfield3= responseData.data.extfield3; $this.user.extfield4= responseData.data.extfield4; $this.user.extfield5= responseData.data.extfield5; } },function beforLoad(messageObj){ messageObj.loading =true; messageObj.setUriParam({"id":$this.userID}); }); }; this.poin_initManage({ // "id":"searchRoleOrg", 'responseFields':{'total':'%OrgRelationGrid.total'}, 'requestFields':{'offset':'#offset','limit':'#limit'}}, 'afterGetUserRelations', 'beforGetUserRelations'); }, methods : { bch_init(){ Api.post('/admin/bch/getBchListForUsr',{}).then(res=>{ this.branchlist = res.data; } ) }, role_init(){ Api.post('/admin/role/getRoleList',{}).then(res=>{ this.rolelist = res.data; } ) }, poin_initManage(messageKey,callback,execBefore){ messageKey.vue = this; iscMessage.messageManage(messageKey,callback,execBefore); }, saveUser(){ //提交用户操作 var $this = this; this.$refs.addUser.validate((valid)=>{ if(valid){ this.poin_initManage({"id":"saveUserDetail"},function aftersave(response,responseData){ if (typeof $this.user.birthday === 'string' && $this.user.birthday.indexOf('-') > -1) { const birArr = $this.user.birthday.split('-') $this.user.birthday = new Date(birArr[0], birArr[1] - 1, birArr[2]) } if(response && response.ok){ $this.$message({message: this.$t('statics.保存用户成功!'),center: true,type: 'success'}); $this.$notify({ title: this.$t('statics.提示'), dangerouslyUseHTMLString: true, message: `<p>${this.$t('statics.保存')}[<strong>${this.$t('statics.用户基本信息')}</strong>]${this.$t('statics.后,请务必同步新增对应的')}[<strong>${this.$t('statics.所属机构')}</strong>]${this.$t('statics.和')}[<strong>${this.$t('statics.角色')}</strong>]${this.$t('statics.信息')}。</p>` }) //保存成功后,取用户id,给界面 $this.userID = responseData.id; }else{ $this.$message({message:responseData.errorMsg,center: true,type: 'error'}); } },function beforeSave(messageObj){ messageObj.setLoading(true); //后台要接收数字类型 $this.user.sex = parseInt($this.user.sex); $this.user.state = parseInt($this.user.state); if($this.user.birthday != "" && $this.user.birthday != null){ var birth=new Date($this.user.birthday); $this.user.birthday= birth.getFullYear()+"-"+(1+birth.getMonth())+"-"+birth.getDate() } messageObj.setData({details:$this.user}); $this.user.sex = ($this.user.sex).toString(); $this.user.state = ($this.user.state).toString(); }) }else{ return false; } }) }, beforGetUserRelations(messageObj){ //根据用户查询所属机构,部门,工作组,岗位,角色表 if(this.userID == null){ //增加用户,不用查询关联表信息 messageObj.closeFlag = true; }else{ messageObj.closeFlag = false; } messageObj.setUriParam({"userid":this.userID}); }, afterGetUserRelations(res,data) { if(res && res.ok && data){ var selectList = data.rows; this.orgDataList = []; for(var i =0; i < selectList.length; i++){ var option = {}; option.label = selectList[i].name; option.value = +selectList[i].nodeId; this.orgDataList.push(option); } this.orgDataList.unshift({label:this.$t('statics.所有机构'),value: 0}) this.selectDataList = this.orgDataList.concat(this.departmentDataList) } }, checkOrgBlong(){ //选择归属行弹出框 if(this.orgNode != null){ //重新渲染机构树 this.orgTreeData =[]; this.searchChild(this.orgNode, this.orgResolve); } this.Dialogtitle=this.$t('statics.归属行'); this.orgTreeDialogbtn =false; this.orgTreeblongbtn =true; this.openOrgDialog = true; }, searchChild(node, resolve){ //渲染机构树方法 var $this= this; if(node.level == 0){ //保存顶级对象,用于再次刷新树渲染 this.orgNode = node; this.orgResolve = resolve; //加载树的根节点 this.poin_initManage({"id":"getOrgParentTree"},function aftert(response,responseData,messageObj){ var treeDatas=[]; if(response.ok){ treeDatas = iscMessage.arrayToTree(responseData,'0','id','pid'); }else{ $this.$message({message: responseData.errorMsg,center: true,type: 'error'}); } resolve(treeDatas); }); }else{ var nodeid = node.data.id; //根据id加载子节点 this.poin_initManage({"id":"getOrgChildTree"},function aftert(response,responseData,messageObj){ var treeDatas=[]; if(response.ok){ //子节点的数据处理 treeDatas = iscMessage.arrayToTree(responseData,nodeid,'id','pid'); }else{ $this.$message({message: responseData.errorMsg,center: true,type: 'error'}); } resolve(treeDatas); },function beforeGet(messageObj){ messageObj.setUriParam({'parentid':nodeid}); }); } }, searchDeptChild(node, resolve){ //渲染归属部门树方法 var $this= this; if(node.level == 0){ //保存顶级对象,用于再次刷新树渲染 this.deptNode = node; this.deptResolve = resolve; //查询顶级树节点 this.poin_initManage({"id":"getDeptTree"},function aftert(response,responseData,messageObj){ var treeDatas=[]; if(response.ok){ treeDatas = iscMessage.arrayToTree(responseData,responseData[0].pid,'id','pid'); }else{ $this.$message({message: responseData.errorMsg,center: true,type: 'error'}); } resolve(treeDatas); },function beforeGet(messageObj){ messageObj.setUriParam({'workorg':$this.user.workorg}); }); }else{ var nodeid = node.data.id; this.poin_initManage({"id":"getDeptTreeChild"},function aftert(response,responseData,messageObj){ var treeDatas=[]; if(response.ok){ //子节点的数据处理 treeDatas = iscMessage.arrayToTree(responseData,nodeid,'id','pid'); }else{ $this.$message({message: responseData.errorMsg,center: true,type: 'error'}); } resolve(treeDatas); },function beforeGet(messageObj){ messageObj.setUriParam({'departmentNumber':nodeid}); }); } }, searchDepartTree(node, resolve){ //渲染部门数据树方法 var $this= this; if(node.level == 0){ this.poin_initManage({"id":"getDepartTreeA"},function aftert(response,responseData,messageObj){ var treeDatas=[]; if(response.ok){ treeDatas = iscMessage.arrayToTree(responseData,responseData[0].pid,'id','pid'); }else{ $this.$message({message: responseData.errorMsg,center: true,type: 'error'}); } resolve(treeDatas); }); }else{ var nodeid = node.data.id; this.poin_initManage({"id":"getDeptTreeChild"},function aftert(response,responseData,messageObj){ var treeDatas=[]; if(response.ok){ //子节点的数据处理 treeDatas = iscMessage.arrayToTree(responseData,nodeid,'id','pid'); }else{ $this.$message({message: responseData.errorMsg,center: true,type: 'error'}); } resolve(treeDatas); },function beforeGet(messageObj){ messageObj.setUriParam({'departmentNumber':nodeid}); }); } }, // 新增用户关联机构信息 saveRelatedOrg(departId,personId){ this.poin_initManage({'id':'saveInfo'},function afterSave(response,data){ },function beforSaveOrgD(messageObj){ messageObj.setData([{"departId":departId,"userdetailsid":personId}]); }) }, // 删除用户关联机构信息 deleteRelatedOrg(departId,personId){ this.poin_initManage({'id':'deleteInfo'},function afterSave(response,data){ },function beforSaveOrgD(messageObj){ messageObj.setData({"departId":departId,"userdetailsid":personId}); }) }, handleClick(tab, event) { if("usrRelOrg" == tab.name){ this.$refs.usrRelOrgChild.searchTable(this.userID); } }, addOrgblongBtn(tree){ //选择归属行提交 var node = this.$refs[tree].getCurrentNode(); if(node){ this.user.workorg = node.id; this.user.workorgName = node.text; //归属部门清空 if(this.user.workDept){ this.user.workDept = ""; this.user.workDeptName = ""; } this.openOrgDialog = false; //add by lujing@date2019-10-17 重置树选中 this.$refs[tree].store.setCurrentNodeKey(null); }else{ this.$message({message: this.$t('statics.请选择完再提交!'),center: true,type: 'warning'}); } }, validatePass2(rule, value, callback){ if (value === '') { callback(new Error(this.$t('statics.请再次输入密码'))); } else if (value !== this.user.logPass) { callback(new Error(this.$t('statics.两次输入密码不一致'))); } else { callback(); } }, changePassW(){ this.user.logPass=""; this.setPassWord = true; }, goBack(){ //this.$router.push({name:'userSearch'}); this.routerPush({ path: '/iscOrganization/userManage' }) this.$parent.$refs.userTable.refresh(); }, }, beforeDestroy() { this.$parent.hideChild = true; } } </script> <style type="text/css" lang="less"> .userD-mag{ .requireds .el-form-item__label:before{ content: '*'; color: #f56c6c; margin-right: 4px; } .el-form .subBtn>.el-button{ margin-right:50px } .dialog-tree{ height:410px; overflow: auto; } .el-table__row{ a{ color: #000; text-decoration: none; border-bottom: dashed 1px #0088cc; } } .fontdashed { cursor:pointer; border-bottom: dashed 1px #0088cc; } } </style>