Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

ZaiZai 1 gadu atpakaļ
vecāks
revīzija
3f20d4ca8d
3 mainītis faili ar 56 papildinājumiem un 45 dzēšanām
  1. 2 6
      src/api/modules/system/role.js
  2. 48 35
      src/views/system/role.vue
  3. 6 4
      src/views/system/user.vue

+ 2 - 6
src/api/modules/system/role.js

@@ -1,14 +1,10 @@
 import { HcApi } from '../../request/index'
 
-export const getList = (current, size, params) => {
+export const getList = ( params) => {
   return HcApi({
     url: '/api/blade-system/role/list',
     method: 'get',
-    params: {
-      ...params,
-      current,
-      size,
-    },
+    params,
   })
 }
 export const grantTree = () => {

+ 48 - 35
src/views/system/role.vue

@@ -8,7 +8,7 @@
                     <span class="text-white">新增</span>
                 </el-button>
 
-                <el-button color="#FF6C6C" :disabled="tableCheckedKeys.length === 0" @click="rowDelClick">
+                <el-button color="#FF6C6C" :disabled="tableCheckedKeys.length === 0" @click="batchDelClick">
                     <hc-icon name="delete-bin-2" class="text-white" />
                     <span class="text-white">删除</span>
                 </el-button>
@@ -38,8 +38,8 @@
         <el-divider style="margin-top: 10px;" />
         <el-form :inline="true" :model="baseForm" label-width="auto" :rules="baseFormRules">
             <div class="hc-form-item">
-                <el-form-item label="角色名称:" prop="user">
-                    <el-input v-model="baseForm.user" placeholder="请输入" clearable />
+                <el-form-item label="角色名称:" prop="roleName">
+                    <el-input v-model="baseForm.roleName" placeholder="请输入" clearable />
                 </el-form-item>
             </div>
         </el-form>
@@ -60,10 +60,15 @@
 </template>
 
    <script setup>
-   import { ref, watch } from 'vue'
+   import { onMounted, ref, watch } from 'vue'
    import { HcDelMsg } from 'hc-vue3-ui'
+   import { getList, getRoleTree, remove } from '~api/system/role.js'
+   import { arrToId, formValidate, getArrValue, getObjValue } from 'js-fast-way'
+   onMounted(()=>{
+      getTableData()
+  })
    const tableColumn = [
-       { key: 'key1', name: '角色名称', align:'center' },
+       { key: 'roleName', name: '角色名称', align:'center' },
 
        { key: 'action', name: '操作', align:'center' },
    ]
@@ -77,31 +82,12 @@
        addModal.value = true
    }
    const baseForm = ref({
-     user:'',
-     username: '',
-     password: '',
-     role: '',
-   })
+    roleName:'' })
    const baseFormRules = {
-    user: {
+    roleName: {
         required: true,
         trigger: 'blur',
-        message: '请输入登陆账户',
-    },
-    password: {
-        required: true,
-        trigger: 'blur',
-        message: '请输入密码',
-    },
-    username: {
-        required: true,
-        trigger: 'blur',
-        message: '请输入用户名',
-    },
-    role: {
-        required: true,
-        trigger: 'blur',
-        message: '请选择角色',
+        message: '请输入角色名称',
     },
 }
 const tableCheckedKeys = ref([])
@@ -110,11 +96,21 @@ const tableSelectionChange = (rows) => {
     tableCheckedKeys.value = rows
 }
 //搜索表单
-const searchForm = ref({
-    queryValue: null, current: 1, size: 20, total: 0,
-})
-const getTableData = ()=>{
-
+//搜索表单
+const searchForm = ref({ queryValue: null, current: 1, size: 20 })
+const tableLoading = ref(false)
+const getTableData = async () => {
+    tableLoading.value = true
+    const { error, code, data } = await getList({
+        ...searchForm.value,
+    })
+    tableLoading.value = false
+    if (!error && code === 200) {
+        tableData.value = getArrValue(data)
+    } else {
+        tableData.value = []
+    }
+    
 }
 //分页被点击
 const pageChange = ({ current, size }) => {
@@ -124,16 +120,33 @@ const pageChange = ({ current, size }) => {
 }
 const rowEditClick = (row)=>{
     addModal.value = true
-    baseForm.value = row
+    baseForm.value = { ...row }
 }
 const rowDelClick = ()=>{
     HcDelMsg( async ( resolve) => {
-            // await removeContractTreeNode()
+            await removeRole()
             resolve() //关闭弹窗的回调
     })
 }
+const batchDelClick = ()=>{
+    let ids = arrToId(tableCheckedKeys.value)
+    HcDelMsg(async (resolve) => {
+        await removeRole(ids)
+        resolve() //关闭弹窗的回调
+    })
 
-
+}
+const removeRole = async (ids) => {
+    const { error, code, msg } = await remove(
+        ids,
+    )
+    if (!error && code === 200) {
+        window?.$message?.success('删除成功')
+       getTableData()
+    } else {
+        window.$message.error(msg ?? '操作失败')
+    }
+}
 
 
   const treeRef = ref(null)

+ 6 - 4
src/views/system/user.vue

@@ -64,6 +64,7 @@
                             multiple
                             :render-after-expand="false"
                             style="width: 240px"
+                            @change="changeRole"
                         />
                     </el-form-item>
                 </div>
@@ -191,11 +192,9 @@ const removeUser = async (ids) => {
     }
 }
 const refreshPassword1 = async (_, resolve) => {
-    if (tableCheckedKeys.value.length !== 1) {
-        return
-    }
+    let ids = arrToId(tableCheckedKeys.value)
     //这里可以写一些操作
-    await resetPasswordClick(tableCheckedKeys.value[0].id)
+    await resetPasswordClick(ids)
     resolve() //这个一定要存在,否则不会关闭弹窗
 }
 const resetPasswordClick = async (id)=>{
@@ -216,6 +215,9 @@ const exportClick = async (_, resolve) => {
 const formRef = ref(null)
 const roleIdArr = ref([])
 const addsaveLoading = ref(false)
+const changeRole = (val)=>{
+    baseForm.value.roleId = roleIdArr.value.join(',')
+}
 const modalSave = async ()=>{
     const isValidate = await formValidate(formRef.value)
     if (!isValidate) return false