From 598fe738b22d39172b068db5309476e08481e868 Mon Sep 17 00:00:00 2001 From: feige <791364011@qq.com> Date: 星期二, 10 九月 2024 16:20:31 +0800 Subject: [PATCH] 修改bug --- ruoyi-ui/src/views/system/user/index.vue | 574 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 471 insertions(+), 103 deletions(-) diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue index b2b305a..88d13cc 100644 --- a/ruoyi-ui/src/views/system/user/index.vue +++ b/ruoyi-ui/src/views/system/user/index.vue @@ -87,7 +87,7 @@ :disabled="multiple" @click="handleDelete" v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button> + >鍋滅敤</el-button> </el-col> <el-col :span="1.5"> <el-button @@ -115,9 +115,13 @@ <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="50" align="center" /> <el-table-column label="鐢ㄦ埛缂栧彿" align="center" key="userId" prop="userId" v-if="columns[0].visible" /> - <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" /> - <el-table-column label="鐢ㄦ埛鏄电О" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" /> + <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" key="nickName" prop="nickName" v-if="columns[1].visible" :show-overflow-tooltip="true" /> + <el-table-column label="鐢ㄦ埛濮撳悕" align="center" key="userName" prop="userName" v-if="columns[2].visible" :show-overflow-tooltip="true" /> + <el-table-column label="鎬у埆" align="center" key="sex" prop="sex" v-if="columns[2].visible" :show-overflow-tooltip="true" > + <template slot-scope="scope">{{scope.row.sex==0? '鐢�': '濂�'}}</template> + + </el-table-column> <el-table-column label="鎵嬫満鍙风爜" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" /> <el-table-column label="鐘舵��" align="center" key="status" v-if="columns[5].visible"> <template slot-scope="scope"> @@ -154,7 +158,7 @@ icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']" - >鍒犻櫎</el-button> + >鍋滅敤</el-button> <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']"> <el-button size="mini" type="text" icon="el-icon-d-arrow-right">鏇村</el-button> <el-dropdown-menu slot="dropdown"> @@ -179,72 +183,27 @@ </el-row> <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> + <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body @close="handleClose"> <el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-row> <el-col :span="12"> - <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> - <el-input v-model="form.nickName" placeholder="璇疯緭鍏ョ敤鎴锋樀绉�" maxlength="30" /> + <el-form-item label="鐢ㄦ埛鍚嶇О" prop="nickName"> + <el-input v-model="form.nickName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" maxlength="30" /> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="瑙掕壊" prop="roleIds"> - <el-select v-model="rt" placeholder="璇烽�夋嫨瑙掕壊" @change="getRole"> - <el-option :key="-1" :label="鏃�" :value="-1">鏃�</el-option> - <el-option - v-for="item in roleOptions" - :key="item.roleId" - :label="item.roleName" - :value="item.roleId" - :disabled="item.status == 1" - ></el-option> - </el-select> - </el-form-item> - </el-col> + <el-col :span="12"> + <el-form-item label="鐢ㄦ埛濮撳悕" prop="userName"> + <el-input v-model="form.userName" placeholder="璇疯緭鍏ョ敤鎴峰鍚�" maxlength="30" /> + </el-form-item> + </el-col> + </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="瀹跺涵鍙�"> - <el-select v-model="fid" placeholder="璇烽�夋嫨瀹跺涵鍙�"> - <el-option :key="-1" :label="鏃�" - value="鏃�">鏃�</el-option> - - <el-option - v-for="item in famiInfo" - :key="item.id" - :label="item.name" - :value="item.id" - - ></el-option> - </el-select> - - </el-form-item> - </el-col> - - <el-col :span="12"> - <el-form-item label="閭" prop="email"> - <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" maxlength="50" /> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item v-if="form.userId == undefined" label="鐢ㄦ埛鍚嶇О" prop="userName"> - <el-input v-model="form.userName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" maxlength="30" /> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item v-if="form.userId == undefined" label="鐢ㄦ埛瀵嗙爜" prop="password"> - <el-input v-model="form.password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" type="password" maxlength="20" show-password/> - </el-form-item> - </el-col> - </el-row> <el-row> <el-col :span="12"> <el-form-item label="鐢ㄦ埛鎬у埆"> - <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆"> + <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆" @change="getSex"> <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" @@ -267,11 +226,90 @@ </el-col> </el-row> <el-row> - <el-col :span="12"> - <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> - <el-input v-model="form.phonenumber" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" maxlength="11" /> - </el-form-item> - </el-col> + + <el-col :span="12"> + <el-form-item label="瑙掕壊" prop="role"> + <el-select v-model="form.role" placeholder="璇烽�夋嫨瑙掕壊" @change="getRole"> + + <el-option + v-for="item in roleOptions" + :key="item.roleId" + :label="item.roleName" + :value="item.roleId" + :disabled="item.status == 1" + ></el-option> + </el-select> + </el-form-item> + </el-col> + + + <el-col :span="12" v-if="form.role == 102"> + <el-form-item label="鏄惁鏈" prop="isMyFamily" > + <el-select v-model="form.isMyFamily" placeholder="璇疯緭鍏ユ槸鍚︽湰瀹�" @change="handleFamily"> + + <el-option + v-for="item in famOptions" + :key="item.opsi" + :label="item.opName" + :value="item.opsi" + + ></el-option> + + </el-select> + + </el-form-item> + </el-col> + </el-row> + <el-row v-if="form.role != 2 && form.isMyFamily == 1"> + + + <el-col :span="12"> + <el-form-item label="鐖朵翰" prop="fid"> + <el-select v-model="form.fid" placeholder="璇烽�夋嫨鐖朵翰" @change="hanldeLoop"> + <el-option + v-for="item in fathorInfo" + :key="item.userId" + :label="item.nickName" + :value="item.userId" + ></el-option> + </el-select> + + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="姣嶄翰" prop="mid"> + <el-select v-model="form.mid" placeholder="璇烽�夋嫨姣嶄翰" @change="hanldeLoopMon"> + <el-option + v-for="item in motherInfo" + :key="item.userId" + :label="item.nickName" + :value="item.userId" + ></el-option> + </el-select> + + </el-form-item> + </el-col> + </el-row> + + <el-row > + + + + </el-row> + <el-row v-if="form.role == 102 && form.isMyFamily == 0"> + <el-col :span="12" > + <el-form-item label="閰嶅伓淇℃伅" prop="spouseId" > + <el-select v-model="form.spouseId" placeholder="璇烽�夋嫨閰嶅伓淇℃伅" @change="handleSpouse"> + <el-option + v-for="(item, index) in allInfo2" + :key="index" + :label="item.nickName" + :value="item.userId" + ></el-option> + </el-select> + + </el-form-item> + </el-col> </el-row> <el-row> <el-col :span="24"> @@ -320,7 +358,10 @@ </template> <script> -import { listUser, getUser, delUser, updateUserInfo,addUser, updateUser, getAllFamilys,resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user"; +import { getIndividual,getInfoByFid, +getAllInfo,listUser, getUser, delUser, + updateUserInfo,addUser, updateUser, getAllFamilys,resetUserPwd, + changeUserStatus, deptTreeSelect ,updateFM, updatePO, addPO} from "@/api/system/user"; import { getToken } from "@/utils/auth"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; @@ -331,6 +372,11 @@ components: { Treeselect }, data() { return { + // 淇敼閰嶅伓鏃剁殑鐢ㄦ埛id鍜宻ex + originRole: undefined, + sex:'', + pOID:'', + a:undefined, // 閬僵灞� loading: true, //瑙掕壊淇濆瓨 @@ -345,6 +391,8 @@ showSearch: true, // 鎬绘潯鏁� total: 0, + isshowMri: false, + isshowMar: false, // 鐢ㄦ埛琛ㄦ牸鏁版嵁 userList: null, // 寮瑰嚭灞傛爣棰� @@ -366,9 +414,19 @@ postOptions: [], // 瑙掕壊閫夐」 roleOptions: [], + famOptions:[{"opsi":1,"opName":"鏄�"},{"opsi":0,"opName":"鍚�"}], // 琛ㄥ崟鍙傛暟 - + cuid: undefined, + orfid: undefined, + ormid: undefined, + motherInfo:[], + fathorInfo:[], + allInfo:[], + allInfo2:[], + faid: 0, + maid: 0, form: {}, + zinfid: undefined, defaultProps: { children: "children", label: "label" @@ -394,6 +452,7 @@ pageSize: 10, userName: undefined, phonenumber: undefined, + clanId: undefined, status: undefined, deptId: undefined }, @@ -418,6 +477,9 @@ ], roleIds: [ { required: true, message: "鐢ㄦ埛瑙掕壊涓嶈兘涓虹┖", trigger: "blur" } + ], + isMyFamily: [ + { required: true, message: "鏄惁澶栧珌涓嶈兘涓虹┖", trigger: "blur" } ], deptId: [ { required: true, message: "鐢ㄦ埛瑙掕壊涓嶈兘涓虹┖", trigger: "blur" } @@ -454,28 +516,234 @@ this.getList(); this.getFamlilyInfo(); this.getDeptTree(); + //鎷垮埌鑷繁瀹氫箟鐨勭敤鎴蜂俊鎭� + this.getAllIn(); this.getConfigKey("sys.user.initPassword").then(response => { this.initPassword = response.msg; }); }, methods: { - getRole(){ + handleChange(){ + if(this.fid=="鏃�") + this.fid = "-1" + if(this.fid!="-1"){ + //鏌ヨ涓嶆槸鏈鐨勬椂鍊欙紝鍙互閫夋嫨鐨勯厤鍋朵俊鎭� + getInfoByFid(this.fid).then(response=>{ + console.log("--------------------") + console.log(response.data) + this.allInfo = response.data + }) + this.isshowMar = true + } + else{ + this.isshowMar = false + } + }, + + handleSpouse(value){ + + }, + // 鑾峰彇鎬у埆 + getSex(value){ + if(value != undefined){ + this.sex = value + } + // alert(this.sex) + const tpfid = this.pOID + let clanId = this.$store.state.user.clanId + // 鏂板a=1,淇敼a=2 + this.allInfo2 = [] + if(this.a ===1){ + addPO(this.sex, clanId).then(response =>{ + for(let i in response.data[0]){ + this.allInfo2.push({'nickName':response.data[0][i],'userId': parseInt(i)}) + } + console.log(this.allInfo2,'鏂板a=1鏂板a=1鏂板a=1') + }) + } + // else{ + // updatePO(tpfid,this.sex).then(response =>{ + // for(let i in response.data[0]){ + // this.allInfo2.push({'nickName':response.data[0][i],'userId': parseInt(i)}) + // } + // console.log(this.allInfo2,'淇敼a=2淇敼a=2淇敼a=2') + // }) + // } + // console.log(sex,'sexsexsex') + }, + // 鍏抽棴寮圭獥鍚� + handleClose(){ + this.pOID = '' + this.allInfo2 = [] + // this.reset(); + // alert(this.pOID) + }, + + hanldeLoop(){ + let fid = this.form.fid + alert(fid) + let _this = this + if(this.cuid==undefined) + { + let jsd = true + for(var i = 0; i < _this.allInfo.length; i++) + { + if(_this.allInfo[i].userId==_this.form.fid) + { + //_this.form.mid = _this.allInfo[i].spouseId + _this.$set(_this.form,'mid',_this.allInfo[i].spouseId); + jsd = false + + } + if(jsd == true) + _this.$set(_this.form,'mid',''); + } + return; + } + + //alert(this.cuid) + let clanId = this.$store.state.user.clanId + + updateFM(this.cuid, fid).then(response => { + //alert(response.data) + if(!response.data) + { + for(var i = 0; i < _this.allInfo.length; i++) + { + if(_this.allInfo[i].userId==_this.form.fid) + { + //_this.form.mid = _this.allInfo[i].spouseId + _this.$set(_this.form,'mid',_this.allInfo[i].spouseId); + + } + } + }else + { + //alert(fid) + _this.$set(_this.form,'fid',_this.orfid); + this.$modal.msgSuccess("涓嶈兘閫夋嫨瀛愬瓩涓虹埗浜诧紒"); + this.form.fid = undefined + this.form.mid = undefined + } + }) + }, + hanldeLoopMon(){ + //alert(this.cuid) + let fid = this.form.mid + let _this = this + if(this.cuid==undefined) + { + let jsd = true + for(var i = 0; i < _this.allInfo.length; i++) + { + if(_this.allInfo[i].userId==_this.form.mid) + { + //_this.form.fid = _this.allInfo[i].spouseId + jsd = false + _this.$set(_this.form,'fid',_this.allInfo[i].spouseId); + + } + } + if(jsd == true) + _this.$set(_this.form,'fid',''); + return; + } + let clanId = this.$store.state.user.clanId + alert(fid) + alert(this.cuid) + updateFM(this.cuid, fid).then(response => { + //alert(response.data) + if(!response.data) + { + for(var i = 0; i < _this.allInfo.length; i++) + { + if(_this.allInfo[i].userId==_this.form.mid) + { + //_this.form.fid = _this.allInfo[i].spouseId + _this.$set(_this.form,'fid',_this.allInfo[i].spouseId); + + } + } + }else + { + //alert(fid) + _this.$set(_this.form,'mid',_this.ormid); + this.$modal.msgSuccess("涓嶈兘閫夋嫨瀛愬瓩涓烘瘝浜诧紒"); + this.form.fid = undefined + this.form.mid = undefined + } + }) + }, + handleFamily(value) + { + if(this.form.sex==undefined){ + this.$modal.msgSuccess("璇峰厛閫夋嫨鎬у埆锛�"); + return; + } + else{ + let clanId = this.$store.state.user.clanId + this.allInfo2 = [] + //alert(this.form.sex) + addPO(this.form.sex, clanId).then(response =>{ + for(let i in response.data[0]){ + this.allInfo2.push({'nickName':response.data[0][i],'userId': parseInt(i)}) + } + console.log(this.allInfo2,'鏂板a=1鏂板a=1鏂板a=1') + }) + if(this.form.isMyFamily=="0") + this.isshowMri = true + + } + }, + getAllIn(){ + let clanId = this.$store.state.user.clanId + getAllInfo(clanId).then(response => { + console.log(response) + console.log('-------00000000000000000-----------') + this.allInfo = response.data; + this.fathorInfo = [] + this.motherInfo = [] + console.log(response.data,'allInfoallInfoallInfoallInfo') + for(var i = 0; i < this.allInfo.length; i++) + { + //alert(this.allInfo[i].sex == 1) + if(this.allInfo[i].sex == 0) + this.fathorInfo.push(this.allInfo[i]) + else + this.motherInfo.push(this.allInfo[i]) + } + // alert(98) + console.log(this.fathorInfo) + console.log('----sdfdsfds') + + console.log(this.motherInfo) + }) + }, + getRole(value){ this.form.roleIds = [] - //alert(123) this.form.roleIds.push(this.rt) }, getFamlilyInfo(){ let _this = this getAllFamilys().then(response => { - //console.log(response.data) - _this.famiInfo = response.data + // console.log(response.data) + // alert(response.data[0]) + _this.famiInfo= response.data.filter(function(item){ + return item.name !== "涓�鍙峰搴�"; +}); + + }) }, /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ getList() { this.loading = true; + // alert(this.state.clanId) + // alert(this.state.name) + this.queryParams.clanId = this.$store.state.user.clanId listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => { this.userList = response.rows; + console.log(this.userList,'userList') this.total = response.total; this.loading = false; } @@ -511,6 +779,9 @@ // 鍙栨秷鎸夐挳 cancel() { this.open = false; + this.fid = "鏃�" + this.isshowMar = false + this.isshowMri = false this.reset(); }, // 琛ㄥ崟閲嶇疆 @@ -565,10 +836,16 @@ }, /** 鏂板鎸夐挳鎿嶄綔 */ handleAdd() { + this.a = 1 this.reset(); getUser().then(response => { this.postOptions = response.posts; - this.roleOptions = response.roles; + // this.roleOptions = response.roles; + this.roleOptions= [] + this.roleOptions.push(response.roles[1]) + this.roleOptions.push(response.roles[3]) + console.log(this.roleOptions,'roleOptionsroleOptionsroleOptions') + console.log("0-009888") this.open = true; this.title = "娣诲姞鐢ㄦ埛"; this.form.password = this.initPassword; @@ -576,15 +853,79 @@ }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { - this.reset(); + this.reset(); + this.a = 2 + this.pOID = row.userId + this.sex = row.sex + this.getSex(); + + this.getAllIn() const userId = row.userId || this.ids; + this.cuid= row.userId || this.ids; + let clanId = this.$store.state.user.clanId + this.allInfo2 = [] + //alert(this.form.sex) + addPO(this.sex, clanId).then(response =>{ + for(let i in response.data[0]){ + this.allInfo2.push({'nickName':response.data[0][i],'userId': parseInt(i)}) + } + }) + // this.fid = response.data.familyId + //alert(this.fid) + let _this = this getUser(userId).then(response => { + console.log(response.data) this.form = response.data; + console.log(response.data,'formformformformform') + // console.log(_this.form.spouseId,'浼翠荆id') this.postOptions = response.posts; - this.roleOptions = response.roles; - this.rt = response.roleIds[0] - this.$set(this.form, "postIds", response.postIds); - this.$set(this.form, "roleIds", response.roleIds); + this.roleOptions= [] + this.roleOptions.push(response.roles[1]) + this.roleOptions.push(response.roles[3]) + // this.roleOptions = response.roles; + console.log(this.roleOptions,'roleOptionsroleOptionsroleOptions') + // this.$set(this.form, "postIds", response.postIds); + // this.$set(this.form, "roleIds", response.roleIds); + // alert(response.roleIds.length) + // if(response.roleIds.length!=0) + // this.rt = response.roleIds[0] + let _this = this + + getIndividual(userId).then(response => { + // alert(123) + // console.log('++++++++-----0000((((((9999))))))') + console.log(response.data,'getIndividualgetIndividualgetIndividual') + if(response.data!=undefined) + { + + _this.orfid = response.data.fatherId + _this.ormid = response.data.momId + //alert(response.data.roleId) + + _this.$set(_this.form,'fid',response.data.fatherId); + _this.$set(_this.form,'mid',response.data.momId); + _this.$set(_this.form,'isMyFamily',response.data.isMyFamily); + console.log(response.data.spouseId) + console.log("==============_________________000000000") + _this.$set(_this.form,'spouseId',response.data.spouseId); + if(response.data.roleId==3) + { + _this.originRole = 102 + + _this.$set(_this.form,'role',102); + } + else + { + _this.originRole = 2 + _this.$set(_this.form,'role',response.data.roleId); + } + // alert(_this.form.fid) + _this.zinfid = response.data.userId + // alert(78) + } + } + ); + this.open = true; this.title = "淇敼鐢ㄦ埛"; this.form.password = ""; @@ -612,51 +953,78 @@ /** 鎻愪氦鎸夐挳 */ submitForm: function() { this.$refs["form"].validate(valid => { - //alert(valid) - // alert(this.fid) - //alert(this.rt) - // alert(this.form.roleIds) let ps = true - // alert(this.rt) - // alert(this.fid) - let _this = this - if(this.rt===2 && (this.fid!="鏃�")) - { - ps = false - } - // alert(ps) + + let _this = this + + if(ps) { + let fm = {} + fm.userId = _this.zinfid; + fm.nickName = this.form.nickName + // alert(this.form.role) + fm.roleId = this.form.role + fm.sex = this.form.sex + // alert(fm.sex) + fm.status = this.form.status + if(this.originRole==102 && fm.roleId==2) + { + this.$modal.msgSuccess("瀹跺涵鐢ㄦ埛涓嶈兘淇敼涓烘櫘閫氱敤鎴�"); + return + } + fm.fid = this.form.fid + fm.mid = this.form.mid + alert(this.form.fid) + alert(this.form.mid) + // alert(this.form.isMyFamily) + fm.isMyFamily = this.form.isMyFamily=='1'?1:0 + + fm.spouseId = this.form.spouseId + fm.sysId = this.form.userId + fm.userName = this.form.userName + fm.remark = this.form.remark + fm.clanId = this.$store.state.user.clanId + // alert(fm.remark) + + console.log(fm,'fmfmfmfmfmfmfmfm') if (valid) { if (this.form.userId != undefined) { - updateUser(this.form).then(response => { - - let fm = {} - fm.userId = _this.form.userId - - if(_this.fid==="鏃�") - fm.familyId= -1 - else - fm.familyId = _this.fid - updateUserInfo(fm).then(response=>{ - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; + updateUser(fm).then(response => { + this.open = false; this.getList(); - }) - }); + // this.isshowMar = false + // this.isshowMri = false + // updateUserInfo(fm).then(response=>{ + this.$modal.msgSuccess("淇敼鎴愬姛"); + // this.open = false; + // this.getList(); + // _this.rt = undefined + // _this.fid = "鏃�" + // this.isshowMar = false + // this.isshowMri = false + // }) + }); } else { - addUser(this.form).then(response => { + addUser(fm).then(response => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.open = false; this.getList(); + _this.rt = undefined + this.getAllIn() + // this.isshowMar = false + // this.isshowMri = false }); } } } else{ this.$modal.msgSuccess("鏅�氳鑹蹭笉鑳芥嫢鏈夊搴彿锛�"); + // _this.rt = undefined + // _this.fid = "鏃�" + _this.isshowMar = false } }); }, -- Gitblit v1.9.1