From 366612bd8e8b88d02a98edf508f96d7add23ff9f Mon Sep 17 00:00:00 2001
From: pengwei <2071057782@qq.com>
Date: 星期日, 27 四月 2025 16:03:38 +0800
Subject: [PATCH] 功能新增

---
 项目代码/client/src/views/tts/UserManagement/Usermanagement.vue |  390 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 239 insertions(+), 151 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/UserManagement/Usermanagement.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/UserManagement/Usermanagement.vue"
index c6acb24..d988f4e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/UserManagement/Usermanagement.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/client/src/views/tts/UserManagement/Usermanagement.vue"
@@ -107,6 +107,7 @@
             >鏂板缓</el-button
           >
           <el-button
+            v-if="isactive != 3"
             size="small"
             style="width: 5.5rem; height: 2rem; font-size: 0.88rem"
             @click="printExcel"
@@ -140,7 +141,7 @@
             fontSize: '0.88rem',
             height: '3rem',
           }"
-          @select="UserSelectionChange"
+          @selection-change="UserSelectionChange"
         >
           <el-table-column type="selection" align="center" min-width="1%" />
           <el-table-column
@@ -189,11 +190,21 @@
               />
             </template>
           </el-table-column>
+          <el-table-column
+            prop="groupID"
+            label="鐧惧害浜戝垎缁�"
+            align="center"
+            min-width="3%"
+          />
           <el-table-column label="鏄惁鍚敤" align="center" min-width="2%">
             <template #default="scope">
               <el-switch
                 :disabled="
-                  scope.row.userName == 'admin' || scope.row.user_Id == '1'
+                  userInfo.userName == 'admin' || userInfo.roleId == '1'
+                    ? scope.row.userName == 'admin' || scope.row.user_Id == '1'
+                    : scope.row.userName == 'admin' ||
+                      scope.row.user_Id == '1' ||
+                      scope.row.userName != userInfo.userName
                 "
                 v-model="scope.row.enable"
                 :active-value="1"
@@ -214,19 +225,22 @@
                 size="small"
                 type="text"
                 @click="Edit(scope.row)"
-                :disabled="
-                  scope.row.userName == 'admin' || scope.row.user_Id == '1'
-                "
+                :disabled="scope.row.isdisabled"
                 >缂栬緫</el-button
               >
               <el-button
                 size="small"
                 type="text"
-                :disabled="
-                  scope.row.userName == 'admin' || scope.row.user_Id == '1'
-                "
+                :disabled="scope.row.isdisabled"
                 @click="Editpassword(scope.row)"
                 >淇敼瀵嗙爜</el-button
+              >
+              <el-button
+                size="small"
+                type="text"
+                @click="deletUser(scope.row)"
+                :disabled="scope.row.isdisabled"
+                >鍒犻櫎</el-button
               >
             </template>
           </el-table-column>
@@ -251,7 +265,7 @@
             fontSize: '0.88rem',
             height: '3rem',
           }"
-          @select="RoleSelectionChange"
+          @selection-change="RoleSelectionChange"
         >
           <el-table-column type="selection" align="center" />
           <el-table-column prop="roleName" label="瑙掕壊鍚嶇О" align="center" />
@@ -259,7 +273,11 @@
             <template #default="scope">
               <span
                 v-if="
-                  scope.row.roleName != '瓒呯骇绠$悊鍛�' || scope.row.roleId != '1'
+                  !(userInfo.userName == 'admin' || userInfo.roleId == '1'
+                    ? scope.row.userName == 'admin' || scope.row.user_Id == '1'
+                    : scope.row.userName == 'admin' ||
+                      scope.row.user_Id == '1' ||
+                      scope.row.userName != userInfo.userName)
                 "
                 @click="toDetail(scope.row)"
                 style="color: #4386ff; cursor: pointer"
@@ -272,7 +290,7 @@
             <template #default="scope">
               <el-switch
                 :disabled="
-                  scope.row.roleName == '瓒呯骇绠$悊鍛�' || scope.row.roleId == '1'
+                  !(userInfo.userName == 'admin' || userInfo.roleId == '1')
                 "
                 v-model="scope.row.enable"
                 :active-value="1"
@@ -286,7 +304,11 @@
             <template #default="scope">
               <span
                 v-if="
-                  scope.row.roleName != '瓒呯骇绠$悊鍛�' || scope.row.roleId != '1'
+                  !(userInfo.userName == 'admin' || userInfo.roleId == '1'
+                    ? scope.row.userName == 'admin' || scope.row.user_Id == '1'
+                    : scope.row.userName == 'admin' ||
+                      scope.row.user_Id == '1' ||
+                      scope.row.userName != userInfo.userName)
                 "
                 style="color: blue; font-size: 0.88rem; cursor: pointer"
                 @click="EditRole(scope.row)"
@@ -313,6 +335,17 @@
           :current-page="pageQuery.page"
           :page-size="pageQuery.rows"
           :total="pageTotal"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+        />
+        <el-pagination
+          v-if="isactive == 2"
+          size="small"
+          background
+          layout="prev, pager, next"
+          :current-page="pageQuery.page"
+          :page-size="pageQuery.rows"
+          :total="pageTotal1"
           @size-change="handleSizeChange"
           @current-change="handleCurrentChange"
         />
@@ -353,7 +386,7 @@
       >
         <el-row :gutter="20">
           <el-col :span="8">
-            <el-form-item prop="userName">
+            <el-form-item prop="username">
               <template #label>
                 <div style="display: flex; align-items: flex-end">
                   <span style="color: red; margin-right: 0.2rem">*</span>
@@ -365,13 +398,13 @@
               </template>
               <el-input
                 size="small"
-                v-model="formUser.userName"
+                v-model="formUser.username"
                 placeholder="璇疯緭鍏�"
               />
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item prop="userTrueName">
+            <el-form-item prop="usertruename">
               <template #label>
                 <div style="display: flex; align-items: flex-end">
                   <span style="color: red; margin-right: 0.2rem">*</span>
@@ -383,13 +416,13 @@
               </template>
               <el-input
                 size="small"
-                v-model="formUser.userTrueName"
+                v-model="formUser.usertruename"
                 placeholder="璇疯緭鍏�"
               />
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item prop="phoneNo">
+            <el-form-item prop="phoneno">
               <template #label>
                 <div style="display: flex; align-items: flex-end">
                   <span style="color: red; margin-right: 0.2rem">*</span>
@@ -401,7 +434,7 @@
               </template>
               <el-input
                 size="small"
-                v-model="formUser.phoneNo"
+                v-model="formUser.phoneno"
                 placeholder="璇疯緭鍏�"
               />
             </el-form-item>
@@ -409,7 +442,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="8">
-            <el-form-item prop="role_Id">
+            <el-form-item prop="roleid">
               <template #label>
                 <div style="display: flex; align-items: flex-end">
                   <span style="color: red; margin-right: 0.2rem">*</span>
@@ -420,22 +453,22 @@
                 </div>
               </template>
               <el-select
-                v-model="formUser.role_Id"
+                v-model="formUser.roleid"
                 placeholder="璇烽�夋嫨"
                 size="small"
               >
                 <el-option
-                  :disabled="item.value == 20"
+                  :disabled="item.roleId == 1"
                   v-for="item in groupOptions"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
+                  :key="item.roleId"
+                  :label="item.roleName"
+                  :value="item.roleId"
                 />
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item prop="roleName">
+            <el-form-item prop="rolename">
               <template #label>
                 <div style="display: flex; align-items: flex-end">
                   <span style="color: red; margin-right: 0.2rem">*</span>
@@ -446,7 +479,7 @@
                 </div>
               </template>
               <el-select
-                v-model="formUser.roleName"
+                v-model="formUser.rolename"
                 placeholder="璇烽�夋嫨"
                 size="small"
               >
@@ -516,6 +549,7 @@
                 @before-upload="beforeAvatarUpload"
                 :on-success="handleAvatarSuccess"
                 :file-list="fileList != [] ? fileList : []"
+                :class="{ hide: showUpload }"
               >
                 <el-icon>
                   <Plus />
@@ -605,7 +639,7 @@
         </div>
       </template>
       <el-form
-        :model="formUser"
+        :model="newobj"
         label-width="auto"
         label-position="top"
         ref="formpasswordRef"
@@ -636,7 +670,7 @@
           <el-input
             style="margin-top: 1rem"
             size="large"
-            v-model="formUser.newPwd"
+            v-model="newobj.newPwd"
             placeholder="璇疯緭鍏�"
           />
         </el-form-item>
@@ -748,7 +782,6 @@
     </el-dialog>
 
     <!-- 鏉冮檺绠$悊寮瑰嚭妗� -->
-
     <el-dialog v-model="imgdialogVisible">
       <div
         style="
@@ -768,16 +801,17 @@
 import { ref, reactive, onMounted, toRef } from "vue";
 import { ElMessage, ElMessageBox } from "element-plus";
 import {
-  GetUserList,
   AddUser,
   UpdateUser,
   DelApi,
   ExportApi,
   ExportApi1,
-  UpdatePassword,
   UpdatePwd,
-  AddUserApi,
-  EditUserApi,
+  NewGetUserList,
+  AdduserData,
+  NewUpdateUser,
+  DeleteUserData,
+  FaceGetPageData,
 } from "@/api/user";
 import { useRouter } from "vue-router";
 import { formatTime } from "@/utils/index.js";
@@ -799,6 +833,7 @@
 
 const tableData = ref([]);
 const grideData = ref([]);
+const faceData = ref([]);
 //鏂板缓鐢ㄦ埛ref
 const formUserRef = ref();
 const options = ref([]);
@@ -810,37 +845,27 @@
   },
   { value: 1, label: "鏄�" },
 ]);
+const showUpload = ref(false);
 //鍒嗙粍
-const groupOptions = ref([
-  { value: 20, label: "瓒呯骇绠$悊鍛�" },
-  { value: 21, label: "璐ㄦ缁�" },
-  { value: 22, label: "鐢垫皵缁�" },
-  { value: 23, label: "鏈烘缁�" },
-  { value: 24, label: "鍦版矡缁�" },
-]);
+const groupOptions = ref([]);
+const groupIDOptions = ref([]);
 const formUser = ref({
-  user_Id: undefined,
-  userName: "",
-  role_Id: 21,
-  roleName: "",
-  phoneNo: "",
-  remark: "",
-  userPwd: "123456",
-  userTrueName: "",
-  dept_Id: 0,
+  id: undefined,
+  username: "",
+  phoneno: "",
+  roleid: 2,
+  rolename: "",
   enable: 1,
-  headImageUrl: "",
-  createDate: formatTime(new Date()), //鍒涘缓鏃堕棿
-  creater: JSON.parse(localStorage.getItem("user")).userName, //鍒涘缓浜�
-  newPwd: "",
+  path: "",
+  usertruename: "",
 });
 const rules = reactive({
-  userName: {
+  username: {
     required: true,
     message: "璇疯緭鍏ョ敤鎴峰悕",
     trigger: "blur",
   },
-  role_Id: {
+  roleid: {
     required: true,
     message: "璇烽�夋嫨瑙掕壊",
     trigger: "change",
@@ -857,12 +882,12 @@
     message: "璇疯緭鍏ュ鍚�",
     trigger: "blur",
   },
-  phoneNo: {
+  phoneno: {
     required: true,
     message: "璇疯緭鍏ユ墜鏈哄彿",
     trigger: "blur",
   },
-  userTrueName: {
+  usertruename: {
     required: true,
     message: "璇疯緭鍏ョ湡瀹炲鍚�",
     trigger: "blur",
@@ -874,6 +899,7 @@
 const dialogVisible = ref(false);
 const imgdialogVisible = ref(false);
 const dialogImageUrl = ref("");
+const userInfo = ref();
 //鐢ㄦ埛淇℃伅淇敼瀵嗙爜寮瑰嚭妗�
 const dialogVisible1 = ref(false);
 //鐢ㄦ埛瑙掕壊鏂板缓
@@ -881,11 +907,11 @@
 //绛涢�夋潯浠�
 const userOptions = [
   {
-    value: "userName",
+    value: "username",
     label: "鐧诲綍璐﹀彿",
   },
   {
-    value: "userTrueName",
+    value: "usertruename",
     label: "鐪熷疄濮撳悕",
   },
   {
@@ -935,39 +961,11 @@
 });
 
 const uploadRef = ref();
-// //鐢ㄦ埛淇敼瀵嗙爜
-// const handleUpdatePassword = (row) => {
-//   dialogVisible1.value = true;
-//   formUser.value = Object.assign({}, row);
-// };
-// const UpdatePassword = () => {
-//   formpasswordRef.value.validate((valid) => {
-//     if (valid) {
-//       UpdatePassword({
-//         user_Id: formUser.value.user_Id,
-//         oldPwd: formpassword.value.oldPwd,
-//         newPwd: formpassword.value.newPwd,
-//       }).then((res) => {
-//         if (res.code == 200) {
-//           ElMessage({
-//             message: "淇敼鎴愬姛",
-//             type: "success",
-//           });
-//           dialogVisible1.value = false;
-//           initData();
-//         } else {
-//           ElMessage({
-//             message: res.msg,
-//             type: "error",
-//           });
-//         }
-//       });
-//     }
-//   });
-// };
 
 const pageTotal = ref(0);
-//鐧诲綍璁板綍
+const pageTotal1 = ref(0);
+const pageTotal2 = ref(0);
+//鐢ㄦ埛鍒楄〃
 const initData = () => {
   // 鏌ヨ鏉′欢
   const startTime = formatTime(queryForm.value.selectTime[0]);
@@ -981,12 +979,25 @@
     { name: "createDate", value: startTime, displayType: "ThanOrEqual" },
     { name: "createDate", value: endTime, displayType: "LessOrEqual" },
   ];
-  GetUserList({
-    ...pageQuery.value,
-    filter,
+  NewGetUserList({
+    pageIndex: pageQuery.value.page,
+    pageSize: pageQuery.value.rows,
+    searchKeyword: queryForm.value.selectInput,
+    startDate: startTime,
+    endDate: endTime,
   }).then((res) => {
-    tableData.value = res.rows;
-    pageTotal.value = res.total;
+    tableData.value = res.data.items.map((item) => {
+      return {
+        ...item,
+        isdisabled:
+          userInfo.value.userName == "admin" || userInfo.value.roleId == "1"
+            ? item.userName == "admin" || item.user_Id == "1"
+            : item.userName == "admin" ||
+              item.user_Id == "1" ||
+              item.userName != userInfo.value.userName,
+      };
+    });
+    pageTotal.value = res.data.totalCount;
   });
 };
 //鍒嗛〉璇锋眰鍙傛暟
@@ -998,23 +1009,48 @@
   wheres: "", //鏉′欢鏌ヨ
 });
 
+//鍒嗛〉璇锋眰鍙傛暟
+const pageQuery1 = ref({
+  page: 1, //褰撳墠椤甸潰
+  rows: 10, //姣忛〉鏄剧ず鏉℃暟
+  order: "desc", //鎺掑簭鏂瑰紡
+  sort: "", //鎺掑簭瀛楁
+  wheres: "", //鏉′欢鏌ヨ
+});
+
+//鍒嗛〉璇锋眰鍙傛暟
+const pageQuery2 = ref({
+  page: 1, //褰撳墠椤甸潰
+  rows: 10, //姣忛〉鏄剧ず鏉℃暟
+  order: "desc", //鎺掑簭鏂瑰紡
+  sort: "", //鎺掑簭瀛楁
+  wheres: "", //鏉′欢鏌ヨ
+});
 //鏁版嵁妫�绱簨浠�
 const handleQuery = () => {
-  pageQuery.value.page = 1;
   if (isactive.value == 1) {
+    pageQuery.value.page = 1;
     initData();
-  } else {
+  } else if (isactive.value == 2) {
+    pageQuery1.value.page = 1;
     getRole();
+  } else {
+    pageQuery2.value.page = 1;
+    GetFacePageData();
   }
 };
 //閲嶇疆鏌ヨ鏉′欢
 const resetQuery = () => {
   queryForm.value = Object.assign({}, obj);
-  pageQuery.value.page = 1;
   if (isactive.value == 1) {
+    pageQuery.value.page = 1;
     initData();
-  } else {
+  } else if (isactive.value == 2) {
+    pageQuery1.value.page = 1;
     getRole();
+  } else {
+    pageQuery2.value.page = 1;
+    GetFacePageData();
   }
 };
 //鍒嗛〉椤甸潰澶у皬鏀瑰彉
@@ -1022,8 +1058,10 @@
   pageQuery.value.rows = val;
   if (isactive.value == 1) {
     initData();
-  } else {
+  } else if (isactive.value == 2) {
     getRole();
+  } else {
+    GetFacePageData();
   }
 };
 
@@ -1032,34 +1070,42 @@
   pageQuery.value.page = val;
   if (isactive.value == 1) {
     initData();
-  } else {
+  } else if (isactive.value == 2) {
     getRole();
+  } else {
+    GetFacePageData();
   }
 };
-const handleAvatarSuccess = (val) => {
-  formUser.value.headImageUrl = "/image/" + val.data;
+const handleAvatarSuccess = (response, file, fileList) => {
+  formUser.value.path = response.data;
+  if (fileList.length >= 1) {
+    showUpload.value = true;
+  }
 };
 //閲嶇疆琛ㄥ崟
 const resetForm = (formEl) => {
   if (!formEl) return;
   formEl.resetFields();
   formUser.value = {
-    user_Id: undefined,
-    userName: "",
-    role_Id: 21,
-    roleName: "",
-    phoneNo: "",
-    remark: "",
-    userPwd: "123456",
-    userTrueName: "",
-    dept_Id: 0,
+    username: "",
+    phoneno: "",
+    roleid: 2,
+    rolename: "",
     enable: 1,
-    headImageUrl: "",
-    newPwd: "",
+    path: "",
+    user_Id: undefined,
   };
   fileList.value = [];
 };
 const resetForm1 = (formEl) => {
+  if (!formEl) return;
+  formEl.resetFields();
+  formRole.value = {
+    roleName: "",
+    description: "",
+  };
+};
+const resetForm2 = (formEl) => {
   if (!formEl) return;
   formEl.resetFields();
   formRole.value = {
@@ -1072,23 +1118,18 @@
   dialogImageUrl.value = uploadFile.url;
   imgdialogVisible.value = true;
 };
-const handleRemove = (val) => {
+const handleRemove = (file, fileList1) => {
   fileList.value = [];
   //绉婚櫎宸蹭笂浼犵殑鍥剧墖
-  formUser.value.headImageUrl = "";
+  formUser.value.path = "";
+  if (fileList.value.length < 1) {
+    showUpload.value = false;
+  }
 };
+
 const beforeAvatarUpload = (val) => {
   console.log(val);
 };
-// const submitUpload = () => {
-//   let promise = new Promise((resolve, reject) => {
-//     setTimeout(async () => {
-//       await uploadRef.value.submit();
-//       resolve("涓婁紶鎴愬姛");
-//     });
-//   });
-//   return promise;
-// };
 
 //鏂板缓鐢ㄦ埛璐﹀彿
 const saveObj = async (formEl) => {
@@ -1096,14 +1137,14 @@
   if (!formEl) return;
   await formEl.validate((valid, fields) => {
     if (valid) {
-      if (formUser.value.user_Id != undefined) {
-        UpdateUser(formUser.value).then((res) => {
+      if (formUser.value.id != undefined) {
+        NewUpdateUser(formUser.value).then((res) => {
           ElMessage({ message: "淇敼鎴愬姛", type: "success" });
           dialogVisible.value = false;
           initData();
         });
       } else {
-        AddUser(formUser.value).then((res) => {
+        AdduserData(formUser.value).then((res) => {
           ElMessage({ message: "鎻愪氦鎴愬姛", type: "success" });
           dialogVisible.value = false;
           initData();
@@ -1116,14 +1157,21 @@
 };
 //鏄惁鍚敤
 const changeSwitch = (val) => {
-  let data = Object.assign({}, val);
-  console.log(data);
-  UpdateUser(data).then((res) => {
+  let data = {
+    id: val.user_Id,
+    username: val.userName,
+    phoneno: val.phoneNo,
+    roleid: val.role_Id,
+    rolename: val.roleName,
+    enable: val.enable,
+    path: val.headImageUrl,
+    usertruename: val.userTrueName,
+  };
+  NewUpdateUser(data).then((res) => {
     ElMessage({ message: "淇敼鎴愬姛", type: "success" });
     dialogVisible.value = false;
     initData();
   });
-  console.log(val);
 };
 // 鐢ㄦ埛瑙掕壊鏄惁鍚敤
 const changeRoleSwitch = (val) => {
@@ -1136,15 +1184,24 @@
 };
 //缂栬緫鐢ㄦ埛璐﹀彿
 const Edit = (val) => {
-  let obj = Object.assign({}, val);
+  let obj = {
+    id: val.user_Id,
+    username: val.userName,
+    phoneno: val.phoneNo,
+    roleid: val.role_Id,
+    rolename: val.roleName,
+    enable: val.enable,
+    path: val.headImageUrl,
+    usertruename: val.userTrueName,
+  };
   formUser.value = {
     ...obj,
   };
-  if (obj.headImageUrl != "") {
+  if (obj.path != "") {
     fileList.value = [
       {
         name: "1",
-        url: "http://115.159.85.185:9098" + obj.headImageUrl,
+        url: "http://115.159.85.185:9098" + obj.path,
       },
     ];
   }
@@ -1158,20 +1215,15 @@
   formUser.value = obj;
   formpassword.value = val;
   newobj.value = Object.assign({}, val);
-  console.log(newobj.value);
-
   dialogVisible1.value = true;
 };
 //淇濆瓨淇敼瀵嗙爜
 const savePassword = async (formEl) => {
-  let obj = Object.assign({}, newobj);
-  // obj.password = formpassword.value.password;
-  console.log(formUser.value);
-
+  let obj = Object.assign({}, newobj.value);
   let formdata = {
-    id: formUser.value.user_Id,
-    oldPwd: formUser.value.userPwd,
-    newPwd: formUser.value.newPwd,
+    id: obj.user_Id,
+    oldPwd: obj.userPwd,
+    newPwd: obj.newPwd,
   };
   if (!formEl) return;
   await formEl.validate((valid, fields) => {
@@ -1255,11 +1307,39 @@
     { name: "createDate", value: startTime, displayType: "ThanOrEqual" },
     { name: "createDate", value: endTime, displayType: "LessOrEqual" },
   ];
-  GetPageDataApi({ ...pageQuery.value, filter }).then((res) => {
+  GetPageDataApi({ ...pageQuery1.value, filter }).then((res) => {
     grideData.value = res.rows;
-    pageTotal.value = res.total;
+    pageTotal1.value = res.total;
+    groupOptions.value = res.rows;
   });
 };
+
+//鍒犻櫎鐢ㄦ埛
+const deletUser = (val) => {
+  ElMessageBox.confirm("纭鍒犻櫎璇ョ敤鎴峰悧锛�", {
+    confirmButtonText: "纭",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+    .then(() => {
+      DeleteUserData({
+        userAccount: val.userName,
+      }).then((res) => {
+        ElMessage({
+          type: "success",
+          message: "鍒犻櫎鎴愬姛",
+        });
+        initData();
+      });
+    })
+    .catch(() => {
+      ElMessage({
+        type: "info",
+        message: "鍙栨秷鍒犻櫎",
+      });
+    });
+};
+
 //鎵撳嵃鏁版嵁
 const printExcel = () => {
   // 鏌ヨ鏉′欢
@@ -1298,9 +1378,11 @@
   if (isactive.value == 1) {
     selectoptions.value = userOptions;
     initData();
-  } else {
+  } else if (isactive.value == 2) {
     selectoptions.value = roleOptions;
     getRole();
+  } else {
+    GetFacePageData();
   }
 };
 
@@ -1335,19 +1417,22 @@
     });
   }
 };
+
 //绠$悊
 //璺敱璺宠浆
 const toDetail = (row) => {
   router.push({ name: "permission", state: { info: JSON.stringify(row) } });
 };
-
 onMounted(() => {
   initData();
+  getRole();
+  userInfo.value = JSON.parse(localStorage.getItem("user"));
 });
 </script>
 <style lang="scss" scoped>
 .Usermanagement {
   display: flex;
+  flex-direction: column;
   background-color: #fff;
 
   .content {
@@ -1488,14 +1573,17 @@
     text-align: center;
   }
 }
+
+:deep(.hide .el-upload--picture-card) {
+  display: none;
+}
 </style>
 <style>
-.confirmButtonClass {
+/* .confirmButtonClass {
   margin-right: 10px;
 }
-
 .el-message-box .el-message-box__btns {
   flex-direction: row-reverse !important;
   justify-content: normal !important;
-}
+} */
 </style>

--
Gitblit v1.9.3