From d22f9b9278303f340e2f8efd6f5a98f0b614c05c Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期一, 17 十月 2022 18:03:36 +0800 Subject: [PATCH] 部门功能修改 --- src/views/systemSetting/baseSetting/department/updateUser/index.vue | 166 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 86 insertions(+), 80 deletions(-) diff --git a/src/views/systemSetting/baseSetting/department/updateUser/index.vue b/src/views/systemSetting/baseSetting/department/updateUser/index.vue index 4cead04..fecebad 100644 --- a/src/views/systemSetting/baseSetting/department/updateUser/index.vue +++ b/src/views/systemSetting/baseSetting/department/updateUser/index.vue @@ -1,33 +1,38 @@ <template> <div class="updateUser"> - <header> - <div class="headerTitle">{{updateFlag ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅' :'鏌ョ湅鐢ㄦ埛淇℃伅'}}</div> - </header> + <!-- <header> + <div class="headerTitle">{{updateFlag ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅' :'鏌ョ湅鐢ㄦ埛淇℃伅'}}</div> + </header> --> <main> <div class="mainContent"> <el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules" label-position="right"> + <!-- 閮ㄩ棬id + <el-form-item class="optionItem" label="閮ㄩ棬id:" prop="id"> + <el-input v-model="user.id" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" :disabled="!updateFlag"></el-input> + </el-form-item> --> <!-- 閮ㄩ棬鍚嶇О --> <el-form-item class="optionItem" label="閮ㄩ棬鍚嶇О:" prop="departName"> - <el-input v-model="user.departName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" :disabled="true"></el-input> + <el-input v-model="user.departName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" :disabled="!updateFlag"></el-input> </el-form-item> <!-- 涓婄骇閮ㄩ棬 --> <el-form-item class="optionItems" label="涓婄骇閮ㄩ棬:" prop="parentId"> <el-select v-model="user.parentId" placeholder="璇烽�夋嫨涓婄骇閮ㄩ棬" disabled> - <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"> + <el-option v-for="item in departList" :key="item.departName" :label="item.departName" + :value="item.id"> </el-option> </el-select> </el-form-item> <!-- 閮ㄩ棬绫诲瀷 --> <el-form-item class="optionItem" label="閮ㄩ棬绫诲瀷:" prop="departType"> - <el-select v-model="user.departType" placeholder="璇烽�夋嫨閮ㄩ棬绫诲瀷" disabled> - <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"> + <el-select v-model="user.departType" placeholder="璇烽�夋嫨閮ㄩ棬绫诲瀷" :disabled="!updateFlag"> + <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> <!-- 閮ㄩ棬鎻忚堪 --> <el-form-item class="optionItem" label="閮ㄩ棬鎻忚堪:" prop="departDes"> - <el-input v-model="user.departDes" placeholder="璇疯緭鍏ラ儴闂ㄦ弿杩�" :disabled="true"></el-input> + <el-input v-model="user.departDes" placeholder="璇疯緭鍏ラ儴闂ㄦ弿杩�" :disabled="!updateFlag"></el-input> </el-form-item> <el-form-item v-if="updateFlag"> <div class="optionBtn"> @@ -42,66 +47,72 @@ </div> </template> <script> +import {getTypeList} from '@/utils/helper' export default { data() { const validateNickname = (rule, value, callback) => { if (!value) { - callback(new Error("璇峰~鍐欑敤鎴峰悕绉�")); + callback(new Error("璇峰~鍐欓儴闂ㄥ悕绉�")); + } else { + callback(); } }; + const validateId = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欓儴闂╥d")); + } else { + callback(); + } + } const validatePass = (rule, value, callback) => { if (!value) { - callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�")); + callback(); } else { - const rep = /^\w+$/; - if (!rep.test(value)) { - callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆")); - } - } - }; - const validateTruename = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欑敤鎴峰鍚�")); - } else { - const rep = /^[\u4E00-\u9FA5]{2,4}$/; - if (!rep.test(value)) { - callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕"); - } + callback(); + // const rep = /^\w+$/; + // if (!rep.test(value)) { + // callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆")); + // } } }; const validatePhone = (rule, value, callback) => { if (!value) { - callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�")); + callback(); } else { - const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/ - if (!rep.test(value)) { - callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); - } + callback(); + // const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/ + // if (!rep.test(value)) { + // callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); + // } } }; return { user: { + id: '', departName: '', parentId: '', departDes: '', - departType:'', + departType: '', }, createUserRules: { + id: [ + { required: true, trigger: "blur", validator: validateId }, + ], departName: [ { required: true, trigger: "blur", validator: validateNickname }, ], parentId: [ - { required: true, trigger: "blur", validator: validatePass }, + { required: false, trigger: "blur", validator: validatePass }, ], departDes: [ - { required: true, trigger: "blur", validator: validateTruename }, + { required: false, trigger: "blur" }, ], departType: [ - { required: true, trigger: "blur" }, + { required: false, trigger: "blur" }, ], }, - roleList: [ - { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 } + departList: [ + ], typeList: [] } @@ -109,29 +120,43 @@ created() { const that = this; this.user = JSON.parse(JSON.stringify(that.userInfo)); - // 鑾峰彇瑙掕壊鍒楄〃 - // this.$axios.get('') - // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃 - // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{ - // console.log(res); - // }) - // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃 this.$axios.get('sccg/depart/page').then(res => { - that.typeList = res.data.records; - }) + that.departList = res.data.records; + }); + // 鑾峰彇閮ㄩ棬绫诲瀷 + this.getDepartType(); }, methods: { handleUser() { - const { user } = this; - this.$axios.post('sccg/depart/status', { - id: user.departmentId, - status: user.status ? 1 : 0, - }).then(res => { - console.log(res); + this.$refs['user'].validate((valid) => { + if (valid) { + const { user } = this; + console.log(user) + this.$axios.post('sccg/depart/update', { + id: user.id, + departName: user.departName, + parentId: user.parentId, + departDes: user.departDes + }).then(res => { + console.log(res); + this.$message({ + message:res.message, + type:res.code === 200 ? 'success' : 'warning', + }) + this.$emit('changeDialog', { flag: false }); + this.getUserList(); + }) + } else { + return false; + } }) + }, + // 鑾峰彇閮ㄩ棬绫诲瀷 + async getDepartType(){ + this.typeList = await getTypeList(1,'08') } }, - props: ['userInfo', 'updateFlag'] + props: ['userInfo', 'updateFlag', 'getUserList', 'changeDialog'] } </script> <style lang="scss" scoped> @@ -139,44 +164,25 @@ border-radius: 1px; background-color: #09152f; - header { - display: flex; - justify-content: center; - height: 60px; - line-height: 60px; - padding: 0 20px; - border: 1px solid #fff; - .headerTitle { - color: #4b9bb7; - font-weight: 600; - } - - .headerTip span { - color: #ff3b6c; - } - - .headerTip label { - color: #4b9bb7; - } - } - main { - border: 1px solid #fff; + // border: 1px solid #fff; text-align: left; padding: 0 55px; background-color: #09152f; padding-bottom: 50px; - .mainTitle { - color: #4b9bb7; - font-weight: 600; - line-height: 100px; - font-size: 14px; - } + + // .mainTitle { + // color: #4b9bb7; + // font-weight: 600; + // line-height: 100px; + // font-size: 14px; + // } .mainContent { display: flex; justify-content: center; - margin-top: 50px; + padding-top: 50px; + .el-form-item__content { width: 400px; -- Gitblit v1.8.0