tangning 3 years ago
parent
commit
339e7fd6c9

+ 3 - 6
src/components/company-select/index.vue

@@ -6,7 +6,7 @@
       style="width: 100%"
       v-model="threeValue"
       :disabled="disabled"
-      placeholder="承办单位:顶顶顶顶"
+      placeholder="承办单位:"
       :options="threeOptions"
       :props="{ expandTrigger: 'hover', checkStrictly: true }">
       <template v-slot:default="{ data }">
@@ -18,7 +18,7 @@
 
 <script>
 import selectComponentJs from '../select'
-import { getTreeselect,getCompanyList } from '@/request/config'
+import { getTreeselect } from '@/request/config'
 import axios from 'axios'
 import { computed, ref } from 'vue'
 
@@ -27,8 +27,7 @@ const extObj = selectComponentJs()
 const analyData = (data) => {
   return data.map(citem => {
     let item = {label: citem.name, value: citem.id, level: citem.level}
-    console.log('citem',citem);
-    if (citem.children.length) {
+    if (citem.children&& citem.children.length) {
       item.children = analyData(citem.children)
     }
     return item
@@ -117,9 +116,7 @@ export default {
   },
   async mounted() {
     let res = await axios.get(getTreeselect)
-    let ress = await axios.post(getCompanyList)
     let coms = Array.isArray(res.data) ? res.data : [res.data]
-    console.log('ress',res,ress,this.showAll,this.notUpdate,coms);
     if (this.showAll) {
       this.threeOptions = [{label: '全部', value: ''}].concat(analyData(coms))
     } else if (this.notUpdate){

+ 3 - 0
src/request/config.js

@@ -17,6 +17,9 @@ export const sendUserMsg = '/web/user/getMsgAuthCode'
 export const updatePsw = '/web/user/changePassword'
 // 新增用户
 export const userAdd = '/web/user/addUser'
+//修改用户
+export const userEdit = '/web/user/editUser'
+
 // 登出
 export const userLogout = '/web/user/logout'
 // 获取用户列表

+ 11 - 1
src/state/user.js

@@ -14,7 +14,8 @@ const strToJson = (str, def) => {
 const user = ref({
   token: localStorage.getItem('token'),
   info: strToJson(localStorage.getItem('info'), {}),
-  permission: strToJson(localStorage.getItem('permission'), [])
+  permission: strToJson(localStorage.getItem('permission'), []),
+  roleKey:localStorage.getItem('roleKey')
 })
 
 watch(
@@ -23,6 +24,11 @@ watch(
 )
 
 watch(
+  () => user.value.roleKey,
+  () => localStorage.setItem('roleKey', user.value.roleKey)
+)
+
+watch(
   () => user.value.info,
   () => localStorage.setItem('info', JSON.stringify(user.value.info))
 )
@@ -81,4 +87,8 @@ export const setInfo = val => {
   user.value.info = val
 }
 
+export const setRoleKey = val => {
+  user.value.roleKey = val
+}
+
 export default user

+ 2 - 1
src/view/layout/top/index.vue

@@ -69,7 +69,7 @@ import comDialog from "@/components/dialog";
 import axios from 'axios';
 import { updatePsw, userLogout } from '@/request/config'
 import { sendUserMsg } from '@/request/config'
-import { setToken, setPermission, setInfo } from '@/state/user'
+import { setToken, setPermission, setInfo, setRoleKey } from '@/state/user'
 import { computed, ref, reactive, watch } from 'vue'
 import user from '@/state/user'
 import {PSW} from '@/constant/REG'
@@ -117,6 +117,7 @@ export default {
     async _loginout() {
       await axios.post(userLogout)
       setToken('')
+      setRoleKey('')
       setPermission()
       console.log('----------')
       setInfo({})

+ 3 - 1
src/view/system/login.vue

@@ -38,7 +38,7 @@
 <script>
 import { reactive, watch } from 'vue'
 import axios from 'axios'
-import { setToken, setPermission, setInfo } from '@/state/user'
+import { setToken, setPermission, setInfo, setRoleKey } from '@/state/user'
 import { userLogin, getCode } from '@/request/config'
 import {PHONE} from '@/constant/REG'
 import { openErrorMsg } from '@/request/errorMsg.js'
@@ -110,6 +110,7 @@ export default {
 
         if (!res.data.roles.length) {
           setToken('')
+          setRoleKey('')
           setPermission([])
           setInfo({})
           openErrorMsg('当前账号无权限,请联系总队管理员处理。', '提示')
@@ -118,6 +119,7 @@ export default {
           console.log('info', res.data.user)
           setInfo(res.data.user)
           setToken(res.data.token)
+          setRoleKey(res.data.roles[0].roleKey)
           setPermission(res.data.roles[0].id)
           this.$router.replace({ name: 'home' })
         }

+ 21 - 5
src/view/user/index.vue

@@ -94,7 +94,7 @@
       width="540"
     >
       <el-form ref="form" :model="form" label-width="90px" class="user-from">
-        <el-form-item label="用户姓名" class="mandatory" v-show="operRoleId">
+        <el-form-item label="用户姓名" class="mandatory" >
           <el-input
             v-model="editName"
             placeholder="请输入"
@@ -119,6 +119,9 @@
         <el-form-item label="用户角色" class="roleName mandatory">
          <com-role v-model="newData.roleId" style="width: 100%" allText="请选择" hideAll :notDefault="true" /> 
         </el-form-item>
+        <el-form-item label="所属架构:" v-if="user.roleKey == 'admin-hq'">
+          <com-select v-model="newData.deptId" />
+        </el-form-item>
         <el-form-item label="用户账号" class="mandatory">
           <el-input
             v-model="newData.userName"
@@ -146,6 +149,7 @@ import comHead from "@/components/head";
 import comCompany from "@/components/company-select";
 import comPagination from "@/components/pagination";
 import roleCompany from "@/components/role-select";
+import comSelect from "@/components/company-select";
 import auth from "@/state/viewAuth";
 import user from "@/state/user";
 import axios from "axios";
@@ -153,7 +157,7 @@ import axios from "axios";
 // import { PSW, PHONE } from "@/constant/REG";
 import { ADMIN_USER_ID } from "@/constant";
 
-import { getUserList, updateUser, changeUserStatus,userAdd } from "@/request/config";
+import { getUserList, updateUser, changeUserStatus,userAdd,userEdit } from "@/request/config";
 import { getApp } from "../../app";
 
 export default {
@@ -209,6 +213,7 @@ export default {
   },
   methods: {
     async newSubmit(){
+      console.log('newSubmit',this.user,this.newData);
       if (!this.newData.nickName) {
         return this.$message.error("请输入用户姓名", "提示");
       }
@@ -222,22 +227,32 @@ export default {
         return this.$message.error("请输入登录密码", "提示");
       }
       await axios.post(userAdd, {
-            ...this.newData
+        nickName:this.newData.nickName,
+        password:this.newData.psw,
+        userName:this.newData.userName,
+        roleId:this.newData.roleId,
+        deptId:this.newData.deptId
+            // ...this.newData
       });
       this.$message({message: '新增成功', type: 'success'});
       // await this.$confirm('每个组织只能创建一个总管理员~', '新增用户')
-      console.log('newData',this.newData)
+      this.newData = {}
+      this.newShow = false
+      this.dataList.refer();
     },
     async operItem() {
       if (!this.editName) {
         return this.$message.error("请输入用户名称", "提示");
       }
       console.log('state.oper',this.oper);
-      await axios.post(userAdd, {
+      await axios.post(userEdit, {
           id:this.oper.state.id,
           nickName:this.editName,
       });
       this.$message({message: '编辑成功', type: 'success'});
+      this.oper.reset();
+      this.editName = ''
+      this.dataList.refer();
       // const updatePhone = this.oper.state.__oldData
       //   ? this.oper.state.__oldData.userName !== this.oper.state.userName
       //   : true;
@@ -319,6 +334,7 @@ export default {
     "com-company": comCompany,
     "com-role": roleCompany,
     "com-pagination": comPagination,
+    "com-select": comSelect
   },
 };
 </script>