吉安感知网项目-前端
罗广辉
2026-08-13 1d552a3bad95caae4af15322df28e6240b797693
applications/drone-command/src/views/permissionManage/permissionRole/index.vue
@@ -32,15 +32,15 @@
         <el-button :icon="Delete" color="#1A2652" type="primary" :disabled="!selectedIds.length" @click="handleDelete()">
            删除
         </el-button>
         <el-button
<!--         <el-button
            color="#1A2652"
            type="primary"
            :disabled="selectedIds.length !== 1"
            v-if="userInfo.role_name?.includes('admin')"
            v-if="permission.permissionRole_set"
            @click="handleRole"
         >
            权限设置
         </el-button>
         </el-button>-->
      </div>
      <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)">
@@ -57,28 +57,19 @@
               <el-table-column prop="roleName" show-overflow-tooltip label="角色名称" />
               <el-table-column prop="roleAlias" show-overflow-tooltip label="角色别名" />
               <el-table-column prop="sort" show-overflow-tooltip label="角色排序" />
               <el-table-column label="操作" class-name="operation-btns">
               <el-table-column label="操作" class-name="operation-btns" fixed="right">
                  <template v-slot="{ row }">
                     <el-link @click="handleView(row)">查看</el-link>
                     <el-link @click="handleEdit(row)">编辑</el-link>
                     <el-link v-if="userInfo.role_name?.includes('admin')" @click="handleRole(row)">权限设置</el-link>
                     <el-link v-if="permission.permissionRole_set" @click="handleRole(row)">权限设置</el-link>
                     <el-link type="danger" @click="handleDelete(row)">删除</el-link>
                  </template>
               </el-table-column>
            </el-table>
         </div>
         <div class="command-table-pagination">
            <el-pagination
               popper-class="command-select-popper"
               v-model:current-page="searchParams.current"
               v-model:page-size="searchParams.size"
               layout="total, prev, pager, next, sizes"
               :total="total"
               @change="loadList"
            />
         </div>
      </div>
      <div class="placeholder-ele"></div>
      <FormDiaLog ref="dialogRef" @success="loadList" />
      <RolePermissionDialog ref="roleDialogRef" @success="loadList" />
@@ -93,46 +84,44 @@
import { useStore } from 'vuex'
import FormDiaLog from './FormDiaLog.vue'
import RolePermissionDialog from './RolePermissionDialog.vue'
import { saveOperationLog } from '@ztzf/apis'
import { useRoute } from 'vue-router'
const initSearchParams = () => ({
   roleName: '',
   roleAlias: '',
   current: 1,
   size: 10,
   sysType: 5
})
const searchParams = ref(initSearchParams())
const loading = ref(true)
const list = ref([])
const total = ref(0)
const selectedIds = ref([])
const selectedRows = ref([])
const queryParamsRef = ref(null)
const dialogRef = ref(null)
const roleDialogRef = ref(null)
const store = useStore()
const userInfo = computed(() => store.getters.userInfo || {})
const permission = computed(() => store.getters.permission || {})
const route = useRoute()
async function loadList() {
   loading.value = true
   try {
      const res = await getRolePage(searchParams.value.current, searchParams.value.size, searchParams.value)
      const records = res?.data?.data?.records ?? res?.data?.data ?? []
      const res = await getRolePage(searchParams.value)
      const records = res?.data?.data ?? []
      list.value = records
      total.value = res?.data?.data?.total ?? res?.data?.total ?? records.length
   } finally {
      loading.value = false
   }
}
function handleSearch() {
   searchParams.value.current = 1
   loadList()
}
function resetForm() {
   queryParamsRef.value?.resetFields()
   searchParams.value.current = 1
   loadList()
}
@@ -171,6 +160,11 @@
   })
   const ids = row ? row.id : selectedIds.value.join(',')
   await remove(ids)
   saveOperationLog({
      requestUri: route.path,
      title: `${route.name || '角色管理'}-删除`,
      type: 1,
   })
   ElMessage.success('删除成功')
   selectedIds.value = []
   loadList()