From fa3615d2dcad3eb020a7ac59581546a6560e37ae Mon Sep 17 00:00:00 2001 From: yz3456 <2753272399@qq.com> Date: 星期五, 10 五月 2024 16:06:41 +0800 Subject: [PATCH] 解决了其他附件封面问题 --- ruoyi-ui/src/views/system/user/index.vue | 619 +++++++++++++++++++++----------------------------------- 1 files changed, 234 insertions(+), 385 deletions(-) diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue index 3d7dfc5..ce425f0 100644 --- a/ruoyi-ui/src/views/system/user/index.vue +++ b/ruoyi-ui/src/views/system/user/index.vue @@ -189,7 +189,8 @@ </el-col> <el-col :span="12"> <el-form-item label="瑙掕壊" prop="roleIds"> - <el-select v-model="form.roleIds" multiple placeholder="璇烽�夋嫨瑙掕壊"> + <el-select v-model="rt" placeholder="璇烽�夋嫨瑙掕壊" @change="getRole"> + <el-option v-for="item in roleOptions" :key="item.roleId" @@ -202,41 +203,7 @@ </el-col> </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="瀹跺涵鍙�"> - <el-select v-model="fid" placeholder="璇烽�夋嫨瀹跺涵鍙�"> - <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="鐢ㄦ埛鎬у埆"> @@ -264,10 +231,78 @@ </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 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="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"> @@ -316,7 +351,10 @@ </template> <script> -import { listUser, getUser, delUser, addUser, updateUser, getAllFamilys,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"; @@ -329,6 +367,8 @@ return { // 閬僵灞� loading: true, + //瑙掕壊淇濆瓨 + rt: undefined, // 閫変腑鏁扮粍 ids: [], // 闈炲崟涓鐢� @@ -339,6 +379,8 @@ showSearch: true, // 鎬绘潯鏁� total: 0, + isshowMri: false, + isshowMar: false, // 鐢ㄦ埛琛ㄦ牸鏁版嵁 userList: null, // 寮瑰嚭灞傛爣棰� @@ -355,13 +397,17 @@ dateRange: [], //瀹跺涵鍙� famiInfo:[], - fid: undefined, + fid: "鏃�", // 宀椾綅閫夐」 postOptions: [], // 瑙掕壊閫夐」 roleOptions: [], // 琛ㄥ崟鍙傛暟 - + motherInfo:[], + fathorInfo:[], + allInfo:[], + faid: 0, + maid: 0, form: {}, defaultProps: { children: "children", @@ -413,10 +459,15 @@ 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' } @@ -448,16 +499,63 @@ 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) - _this.famiInfo = response.data + // console.log(response.data) + // alert(response.data[0]) + _this.famiInfo= response.data.filter(function(item){ + return item.name !== "涓�鍙峰搴�"; +}); + + }) }, /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ @@ -500,6 +598,9 @@ // 鍙栨秷鎸夐挳 cancel() { this.open = false; + this.fid = "鏃�" + this.isshowMar = false + this.isshowMri = false this.reset(); }, // 琛ㄥ崟閲嶇疆 @@ -557,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; @@ -567,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; @@ -600,350 +723,76 @@ /** 鎻愪氦鎸夐挳 */ submitForm: function() { this.$refs["form"].validate(valid => { - alert(valid) - alert(this.fid) - 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(); - }); - } - } - }); - }, - /** 鍒犻櫎鎸夐挳鎿嶄綔 */ - handleDelete(row) { - const userIds = row.userId || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�').then(function() { - return delUser(userIds); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); - }).catch(() => {}); - }, - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ - handleExport() { - this.download('system/user/export', { - ...this.queryParams - }, `user_${new Date().getTime()}.xlsx`) - }, - /** 瀵煎叆鎸夐挳鎿嶄綔 */ - handleImport() { - this.upload.title = "鐢ㄦ埛瀵煎叆"; - this.upload.open = true; - }, - /** 涓嬭浇妯℃澘鎿嶄綔 */ - importTemplate() { - this.download('system/user/importTemplate', { - }, `user_template_${new Date().getTime()}.xlsx`) - }, - // 鏂囦欢涓婁紶涓鐞� - handleFileUploadProgress(event, file, fileList) { - this.upload.isUploading = true; - }, - // 鏂囦欢涓婁紶鎴愬姛澶勭悊 - handleFileSuccess(response, file, fileList) { - this.upload.open = false; - this.upload.isUploading = false; - this.$refs.upload.clearFiles(); - this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true }); - this.getList(); - }, - // 鎻愪氦涓婁紶鏂囦欢 - submitFileForm() { - this.$refs.upload.submit(); - } - } -}; -</script> + //alert(valid) + // alert(this.fid) + //alert(this.rt) -export default { - name: "User", - dicts: ['sys_normal_disable', 'sys_user_sex'], - components: { Treeselect }, - data() { - return { - // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], - // 闈炲崟涓鐢� - single: true, - // 闈炲涓鐢� - multiple: true, - // 鏄剧ず鎼滅储鏉′欢 - showSearch: true, - // 鎬绘潯鏁� - total: 0, - // 鐢ㄦ埛琛ㄦ牸鏁版嵁 - userList: null, - // 寮瑰嚭灞傛爣棰� - title: "", - // 閮ㄩ棬鏍戦�夐」 - deptOptions: undefined, - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, - // 閮ㄩ棬鍚嶇О - deptName: undefined, - // 榛樿瀵嗙爜 - initPassword: undefined, - // 鏃ユ湡鑼冨洿 - dateRange: [], - // 宀椾綅閫夐」 - postOptions: [], - // 瑙掕壊閫夐」 - roleOptions: [], - // 琛ㄥ崟鍙傛暟 - form: {}, - defaultProps: { - children: "children", - label: "label" - }, - // 鐢ㄦ埛瀵煎叆鍙傛暟 - upload: { - // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� - open: false, - // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛� - title: "", - // 鏄惁绂佺敤涓婁紶 - isUploading: false, - // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹� - updateSupport: 0, - // 璁剧疆涓婁紶鐨勮姹傚ご閮� - headers: { Authorization: "Bearer " + getToken() }, - // 涓婁紶鐨勫湴鍧� - url: process.env.VUE_APP_BASE_API + "/system/user/importData" - }, - // 鏌ヨ鍙傛暟 - queryParams: { - pageNum: 1, - pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined - }, - // 鍒椾俊鎭� - columns: [ - { key: 0, label: `鐢ㄦ埛缂栧彿`, visible: true }, - { key: 1, label: `鐢ㄦ埛鍚嶇О`, visible: true }, - { key: 2, label: `鐢ㄦ埛鏄电О`, visible: true }, - { key: 3, label: `閮ㄩ棬`, visible: true }, - { key: 4, label: `鎵嬫満鍙风爜`, visible: true }, - { key: 5, label: `鐘舵�乣, visible: true }, - { key: 6, label: `鍒涘缓鏃堕棿`, visible: true } - ], - // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { min: 2, max: 20, message: '鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿', trigger: 'blur' } - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" } - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { min: 5, max: 20, message: '鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿', trigger: 'blur' } - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"] - } - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur" - } - ] - } - }; - }, - watch: { - // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 - deptName(val) { - this.$refs.tree.filter(val); - } - }, - created() { - this.getList(); - this.getDeptTree(); - this.getConfigKey("sys.user.initPassword").then(response => { - this.initPassword = response.msg; - }); - }, - methods: { - /** 鏌ョ湅瀹跺涵鍙� */ - getFamilyInfo() - { + // 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 - }, - /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ - getList() { - this.loading = true; - listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => { - this.userList = response.rows; - this.total = response.total; - this.loading = false; } - ); - }, - /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ - getDeptTree() { - deptTreeSelect().then(response => { - this.deptOptions = response.data; - }); - }, - // 绛涢�夎妭鐐� - filterNode(value, data) { - if (!value) return true; - return data.label.indexOf(value) !== -1; - }, - // 鑺傜偣鍗曞嚮浜嬩欢 - handleNodeClick(data) { - this.queryParams.deptId = data.id; - this.handleQuery(); - }, - // 鐢ㄦ埛鐘舵�佷慨鏀� - handleStatusChange(row) { - let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; - this.$modal.confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵').then(function() { - return changeUserStatus(row.userId, row.status); - }).then(() => { - this.$modal.msgSuccess(text + "鎴愬姛"); - }).catch(function() { - row.status = row.status === "0" ? "1" : "0"; - }); - }, - // 鍙栨秷鎸夐挳 - cancel() { - this.open = false; - this.reset(); - }, - // 琛ㄥ崟閲嶇疆 - reset() { - this.form = { - userId: undefined, - deptId: undefined, - userName: undefined, - nickName: undefined, - password: undefined, - phonenumber: undefined, - email: undefined, - sex: undefined, - status: "0", - remark: undefined, - postIds: [], - roleIds: [] - }; - this.resetForm("form"); - }, - /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1; - this.getList(); - }, - /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.dateRange = []; - this.resetForm("queryForm"); - this.queryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); - }, - // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.userId); - this.single = selection.length != 1; - this.multiple = !selection.length; - }, - // 鏇村鎿嶄綔瑙﹀彂 - handleCommand(command, row) { - switch (command) { - case "handleResetPwd": - this.handleResetPwd(row); - break; - case "handleAuthRole": - this.handleAuthRole(row); - break; - default: - break; - } - }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset(); - getUser().then(response => { - this.postOptions = response.posts; - this.roleOptions = response.roles; - this.open = true; - this.title = "娣诲姞鐢ㄦ埛"; - this.form.password = this.initPassword; - }); - }, - /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(row) { - this.reset(); - const userId = row.userId || this.ids; - getUser(userId).then(response => { - this.form = response.data; - this.postOptions = response.posts; - this.roleOptions = response.roles; - this.$set(this.form, "postIds", response.postIds); - this.$set(this.form, "roleIds", response.roleIds); - this.open = true; - this.title = "淇敼鐢ㄦ埛"; - this.form.password = ""; - }); - }, - /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ - handleResetPwd(row) { - this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - closeOnClickModal: false, - inputPattern: /^.{5,20}$/, - inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿" - }).then(({ value }) => { - resetUserPwd(row.userId, value).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); - }); - }).catch(() => {}); - }, - /** 鍒嗛厤瑙掕壊鎿嶄綔 */ - handleAuthRole: function(row) { - const userId = row.userId; - this.$router.push("/system/user-auth/role/" + userId); - }, - /** 鎻愪氦鎸夐挳 */ - 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(); - }); - } + 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 } }); }, -- Gitblit v1.9.1