From dd6a43fdbadaaf6d646b3eb2ca0a63f58ed77ea4 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 29 十月 2025 15:56:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
---
 admin/src/views/system/user.vue |   65 ++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 9 deletions(-)
diff --git a/admin/src/views/system/user.vue b/admin/src/views/system/user.vue
index 2295442..8a27ad8 100644
--- a/admin/src/views/system/user.vue
+++ b/admin/src/views/system/user.vue
@@ -14,6 +14,11 @@
       <el-form-item label="缁勭粐" prop="companyName">
         <el-input v-model="searchForm.companyName" v-trim placeholder="璇疯緭鍏ョ粍缁�" @keypress.enter.native="search"/>
       </el-form-item>
+      <el-form-item label="瑙掕壊" prop="roleId">
+        <el-select v-model="searchForm.roleId" placeholder="璇烽�夋嫨瑙掕壊" @change="search">
+          <el-option :label="item.name" :value="item.id" v-for="(item, index) in rolesList" :key="index"></el-option>
+        </el-select>
+      </el-form-item>
 <!--            <el-form-item label="鎵�灞為儴闂�" prop="rootDeptId">-->
 <!--        <DepartmentSelect v-model="searchForm.rootDeptId" placeholder="璇烽�夋嫨鎵�灞為儴闂�" clearable/>-->
 <!--      </el-form-item>-->
@@ -32,13 +37,14 @@
         <li v-permissions="['system:user:delete']"><el-button icon="el-icon-delete" @click="deleteByIdInBatch">鍒犻櫎</el-button></li>
       </ul>
       <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        :default-sort = "{prop: 'createTime', order: 'descending'}"
-        stripe
-        @selection-change="handleSelectionChange"
-        @sort-change="handleSortChange"
-      >
+          :height="tableHeightNew"
+          v-loading="isWorking.search"
+          :data="tableData.list"
+          :default-sort = "{prop: 'createTime', order: 'descending'}"
+          stripe
+          @selection-change="handleSelectionChange"
+          @sort-change="handleSortChange"
+        >
         <el-table-column type="selection" width="55"></el-table-column>
 <!--        <el-table-column prop="avatar" label="澶村儚" width="80px" class-name="table-column-avatar" fixed="left">-->
 <!--          <template slot-scope="{row}">-->
@@ -73,6 +79,25 @@
             <ul>
               <li v-for="role in row.roles" :key="role.id">{{role.name}}</li>
             </ul>
+          </template>
+        </el-table-column>
+        <el-table-column prop="prohibitStatus" label="绂佹鐧诲綍" min-width="160px" class-name="table-column-strings">
+          <template slot-scope="{row}">
+            <el-switch
+              v-model="row.prohibitStatus"
+              @change="changeStatus($event, row.id)"
+              active-color="#13ce66"
+              inactive-color="#ff4949"
+              :active-value="0"
+              :inactive-value="1">
+            </el-switch>
+          </template>
+        </el-table-column>
+        <el-table-column prop="prohibitRemark" label="绂佺敤澶囨敞" min-width="100px"></el-table-column>
+        <el-table-column label="鍒濆鍖栧瘑鐮�" min-width="100px">
+          <template slot-scope="{row}">
+            <span v-if="row.needChangePwd === 0">{{row.firstPassword}}</span>
+            <span v-else>-</span>
           </template>
         </el-table-column>
         <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px">
@@ -121,7 +146,8 @@
 import ResetPwdWindow from '@/components/system/user/ResetPwdWindow'
 import DepartmentSelect from '@/components/common/DepartmentSelect'
 import PositionSelect from '@/components/common/PositionSelect'
-
+import { fetchAll as fetchAllRoles, fetchAll } from '@/api/system/role'
+import { updUserProhibitStatus } from '@/api/system/user'
 export default {
   name: 'SystemUser',
   extends: BaseTable,
@@ -135,8 +161,10 @@
         rootDeptId: null, // 閮ㄩ棬ID
         positionId: null, // 宀椾綅ID
         companyName: null, // 浼佷笟鍚嶇О
+        roleId: null, // 瑙掕壊
         mobile: '' // 鎵嬫満鍙风爜
-      }
+      },
+      rolesList: []
     }
   },
   created () {
@@ -150,6 +178,25 @@
       }]
     })
     this.search()
+    fetchAllRoles()
+      .then(records => {
+        this.rolesList = records
+      })
+      .catch(e => {
+        this.$tip.apiFailed(e)
+      })
+  },
+  methods: {
+    changeStatus(prohibitStatus, id) {
+      console.log(id)
+      console.log(prohibitStatus)
+      updUserProhibitStatus({
+        prohibitStatus,
+        id
+      }).then(res => {
+        this.search()
+      })
+    }
   }
 }
 </script>
--
Gitblit v1.9.3