From fbec0a50ff9a4e4afb5ac7cbb965020acb9db2c7 Mon Sep 17 00:00:00 2001
From: yz3456 <2753272399@qq.com>
Date: 星期五, 10 五月 2024 15:35:10 +0800
Subject: [PATCH] 备忘录添加了fid
---
ruoyi-ui/src/views/system/user/index.vue | 351 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 262 insertions(+), 89 deletions(-)
diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue
index ae87fe4..ce425f0 100644
--- a/ruoyi-ui/src/views/system/user/index.vue
+++ b/ruoyi-ui/src/views/system/user/index.vue
@@ -2,31 +2,7 @@
<div class="app-container">
<el-row :gutter="20">
<!--閮ㄩ棬鏁版嵁-->
- <el-col :span="4" :xs="24">
- <div class="head-container">
- <el-input
- v-model="deptName"
- placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"
- clearable
- size="small"
- prefix-icon="el-icon-search"
- style="margin-bottom: 20px"
- />
- </div>
- <div class="head-container">
- <el-tree
- :data="deptOptions"
- :props="defaultProps"
- :expand-on-click-node="false"
- :filter-node-method="filterNode"
- ref="tree"
- node-key="id"
- default-expand-all
- highlight-current
- @node-click="handleNodeClick"
- />
- </div>
- </el-col>
+
<!--鐢ㄦ埛鏁版嵁-->
<el-col :span="20" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
@@ -141,7 +117,7 @@
<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="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
+
<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">
@@ -212,35 +188,22 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="褰掑睘閮ㄩ棬" prop="deptId">
- <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="璇烽�夋嫨褰掑睘閮ㄩ棬" />
+ <el-form-item label="瑙掕壊" prop="roleIds">
+ <el-select v-model="rt" 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-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="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="鐢ㄦ埛鎬у埆">
@@ -268,31 +231,78 @@
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="宀椾綅">
- <el-select v-model="form.postIds" multiple placeholder="璇烽�夋嫨宀椾綅">
- <el-option
- v-for="item in postOptions"
- :key="item.postId"
- :label="item.postName"
- :value="item.postId"
- :disabled="item.status == 1"
- ></el-option>
- </el-select>
+ <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 label="瑙掕壊">
- <el-select v-model="form.roleIds" multiple placeholder="璇烽�夋嫨瑙掕壊">
- <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 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="fid" placeholder="璇烽�夋嫨瀹跺涵鍙�" @change="handleChange">
+
+ <el-option
+ key="-1"
+ label="鏃�"
+ value="-1"
+ ></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-row>
+
+ <el-row v-if="isshowMar">
+
+ <el-col :span="12">
+ <el-form-item label="鏄惁鏈" prop="isMyFamily">
+ <el-select v-model="form.isMyFamily" placeholder="璇疯緭鍏ユ槸鍚︽湰瀹�" @change="handleFamily">
+
+
+ <el-option
+ key=1
+ label="鏄�"
+ value=1
+ ></el-option>
+ <el-option
+ key=0
+ label="鍚�"
+ value=0
+ ></el-option>
+ </el-select>
+
+ </el-form-item>
+ </el-col>
+
+ </el-row>
+ <el-row v-if="isshowMri">
+ <el-col :span="12">
+ <el-form-item label="閰嶅伓淇℃伅" prop="spouseId">
+ <el-select v-model="form.spouseId" placeholder="璇烽�夋嫨閰嶅伓淇℃伅">
+ <el-option
+ v-for="item in allInfo"
+ :key="item.userId"
+ :label="item.nickName"
+ :value="item.userId"
+ ></el-option>
+ </el-select>
+
+ </el-form-item>
+ </el-col>
</el-row>
<el-row>
<el-col :span="24">
@@ -341,7 +351,10 @@
</template>
<script>
-import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user";
+import { getIndividual,getInfoByFid,
+getAllInfo,listUser, getUser, delUser,
+ updateUserInfo,addUser, updateUser, getAllFamilys,resetUserPwd,
+ changeUserStatus, deptTreeSelect } from "@/api/system/user";
import { getToken } from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -354,6 +367,8 @@
return {
// 閬僵灞�
loading: true,
+ //瑙掕壊淇濆瓨
+ rt: undefined,
// 閫変腑鏁扮粍
ids: [],
// 闈炲崟涓鐢�
@@ -364,6 +379,8 @@
showSearch: true,
// 鎬绘潯鏁�
total: 0,
+ isshowMri: false,
+ isshowMar: false,
// 鐢ㄦ埛琛ㄦ牸鏁版嵁
userList: null,
// 寮瑰嚭灞傛爣棰�
@@ -378,11 +395,19 @@
initPassword: undefined,
// 鏃ユ湡鑼冨洿
dateRange: [],
+ //瀹跺涵鍙�
+ famiInfo:[],
+ fid: "鏃�",
// 宀椾綅閫夐」
postOptions: [],
// 瑙掕壊閫夐」
roleOptions: [],
// 琛ㄥ崟鍙傛暟
+ motherInfo:[],
+ fathorInfo:[],
+ allInfo:[],
+ faid: 0,
+ maid: 0,
form: {},
defaultProps: {
children: "children",
@@ -431,6 +456,18 @@
nickName: [
{ required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }
],
+ roleIds: [
+ { required: true, message: "鐢ㄦ埛瑙掕壊涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ isMyFamily: [
+ { required: true, message: "鏄惁澶栧珌涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ deptId: [
+ { required: true, message: "鐢ㄦ埛瑙掕壊涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ spouseId: [
+ { required: true, message: "閰嶅伓淇℃伅涓嶈兘涓虹┖", trigger: "blur" }
+ ],
password: [
{ required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" },
{ min: 5, max: 20, message: '鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿', trigger: 'blur' }
@@ -460,12 +497,67 @@
},
created() {
this.getList();
+ this.getFamlilyInfo();
this.getDeptTree();
+ //鎷垮埌鑷繁瀹氫箟鐨勭敤鎴蜂俊鎭�
+ // this.getAllIn();
this.getConfigKey("sys.user.initPassword").then(response => {
this.initPassword = response.msg;
});
},
methods: {
+ handleChange()
+ {
+ // alert(this.fid)
+ if(this.fid=="鏃�")
+ this.fid = "-1"
+ if(this.fid!="-1")
+ {
+ //鏌ヨ涓嶆槸鏈鐨勬椂鍊欙紝鍙互閫夋嫨鐨勯厤鍋朵俊鎭�
+ alert(this.fid)
+
+ getInfoByFid(this.fid).then(response=>{
+ console.log("--------------------")
+ console.log(response.data)
+ this.allInfo = response.data
+ })
+ this.isshowMar = true
+ }
+ else{
+ this.isshowMar = false
+ }
+ },
+ handleFamily()
+ {
+ alert(this.form.isMyFamily)
+ if(this.form.isMyFamily=="0")
+ this.isshowMri = true
+ },
+ getAllIn(){
+ // alert(123)
+ getAllInfo().then(response => {
+ // this.allInfo = response.data;
+ // console.log(response.data)
+ // alert(982)
+ })
+ },
+ getRole(){
+ this.form.roleIds = []
+ //alert(123)
+ this.form.roleIds.push(this.rt)
+ },
+ getFamlilyInfo(){
+ let _this = this
+ getAllFamilys().then(response => {
+ // console.log(response.data)
+ // alert(response.data[0])
+ _this.famiInfo= response.data.filter(function(item){
+ return item.name !== "涓�鍙峰搴�";
+});
+
+
+ })
+ },
/** 鏌ヨ鐢ㄦ埛鍒楄〃 */
getList() {
this.loading = true;
@@ -506,6 +598,9 @@
// 鍙栨秷鎸夐挳
cancel() {
this.open = false;
+ this.fid = "鏃�"
+ this.isshowMar = false
+ this.isshowMri = false
this.reset();
},
// 琛ㄥ崟閲嶇疆
@@ -563,7 +658,10 @@
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])
this.open = true;
this.title = "娣诲姞鐢ㄦ埛";
this.form.password = this.initPassword;
@@ -573,10 +671,29 @@
handleUpdate(row) {
this.reset();
const userId = row.userId || this.ids;
+ // alert(userId)
+
+ // this.fid = response.data.familyId
+ //alert(this.fid)
getUser(userId).then(response => {
this.form = response.data;
+ console.log(response.data)
this.postOptions = response.posts;
this.roleOptions = response.roles;
+ // 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(response.data)
+ if(response.data!=undefined)
+ {
+ _this.fid = response.data.familyId;
+ }
+ }
+ );
this.$set(this.form, "postIds", response.postIds);
this.$set(this.form, "roleIds", response.roleIds);
this.open = true;
@@ -606,20 +723,76 @@
/** 鎻愪氦鎸夐挳 */
submitForm: function() {
this.$refs["form"].validate(valid => {
- if (valid) {
- if (this.form.userId != undefined) {
- updateUser(this.form).then(response => {
- this.$modal.msgSuccess("淇敼鎴愬姛");
- this.open = false;
- this.getList();
- });
- } else {
- addUser(this.form).then(response => {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- this.open = false;
- this.getList();
- });
- }
+ //alert(valid)
+ // alert(this.fid)
+ //alert(this.rt)
+
+ // alert(this.form.roleIds)
+ let ps = true
+ // alert(this.rt)
+ // alert(this.fid)
+ if(this.fid=="鏃�")
+ this.fid = -1
+ let _this = this
+ if(this.rt===2 && (this.fid!=-1))
+ {
+ ps = false
+
+ }
+ if(this.rt!=2&&this.fid==-1)
+ {
+ this.$modal.msgSuccess("瀹跺涵鎴愬憳锛屽繀椤昏鎷ユ湁瀹跺涵鍙凤紒");
+ return
+ }
+ // alert(ps)
+ if(ps)
+ {
+ let fm = {}
+ fm.userId = _this.form.userId
+
+ if(_this.fid==="鏃�")
+ fm.familyId= -1
+ else
+ fm.familyId = _this.fid
+ this.form.familyId = fm.familyId
+
+ if (valid) {
+ if (this.form.userId != undefined) {
+ updateUser(this.form).then(response => {
+
+
+ updateUserInfo(fm).then(response=>{
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.open = false;
+ this.getList();
+ _this.rt = undefined
+ _this.fid = "鏃�"
+ this.isshowMar = false
+ this.isshowMri = false
+ })
+ });
+ } else {
+ // alert(this.form.ismarry)
+ // alert(987)
+ addUser(this.form).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.open = false;
+ this.getList();
+ _this.rt = undefined
+ _this.fid = "鏃�"
+ this.isshowMar = false
+ this.isshowMri = false
+ });
+ }
+ }
+
+
+ }
+ else{
+ this.$modal.msgSuccess("鏅�氳鑹蹭笉鑳芥嫢鏈夊搴彿锛�");
+ // _this.rt = undefined
+ _this.fid = "鏃�"
+ _this.isshowMar = false
}
});
},
@@ -667,4 +840,4 @@
}
}
};
-</script>
\ No newline at end of file
+</script>
--
Gitblit v1.9.1