批量删除、删除、批量分组分配权限
This commit is contained in:
parent
48b47dfb99
commit
4179a5f731
|
@ -7,21 +7,11 @@
|
|||
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
|
||||
<j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item key="1" @click="batchHandleDelete">
|
||||
<Icon icon="ant-design:delete-outlined"></Icon>
|
||||
删除
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
<a-button>批量操作
|
||||
<Icon icon="mdi:chevron-down"></Icon>
|
||||
</a-button>
|
||||
</a-dropdown>
|
||||
<!-- 高级查询 -->
|
||||
<super-query :config="superQueryConfig" @search="handleSuperQuery" />
|
||||
<a-button type="primary" @click="batchHandleDelete" v-if="hasPermission('adminInfo:batchDelete')"
|
||||
>批量删除
|
||||
</a-button>
|
||||
<!-- 高级查询 -->
|
||||
<super-query :config="superQueryConfig" @search="handleSuperQuery" />
|
||||
</template>
|
||||
<!--操作栏-->
|
||||
<template #action="{ record }">
|
||||
|
@ -46,6 +36,9 @@
|
|||
import {list, deleteOne, batchDelete, getImportUrl,getExportUrl} from './CeesAdminInfo.api';
|
||||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
import { usePermission } from '/@/hooks/web/usePermission';
|
||||
import { message } from 'ant-design-vue';
|
||||
const { hasPermission } = usePermission();
|
||||
const queryParam = reactive<any>({});
|
||||
const checkedKeys = ref<Array<string | number>>([]);
|
||||
const userStore = useUserStore();
|
||||
|
@ -140,8 +133,12 @@
|
|||
* 批量删除事件
|
||||
*/
|
||||
async function batchHandleDelete() {
|
||||
await batchDelete({ids: selectedRowKeys.value}, handleSuccess);
|
||||
}
|
||||
if (selectedRowKeys.value.length < 1) {
|
||||
message.warning('请至少选择一个用户!');
|
||||
return;
|
||||
}
|
||||
await batchDelete({ids: selectedRowKeys.value}, handleSuccess);
|
||||
}
|
||||
/**
|
||||
* 成功回调
|
||||
*/
|
||||
|
@ -152,18 +149,19 @@
|
|||
* 操作栏
|
||||
*/
|
||||
function getTableAction(record){
|
||||
return [
|
||||
const actions = [
|
||||
{
|
||||
label: '编辑',
|
||||
onClick: handleEdit.bind(null, record),
|
||||
}
|
||||
]
|
||||
return actions;
|
||||
}
|
||||
/**
|
||||
* 下拉操作栏
|
||||
*/
|
||||
function getDropDownAction(record){
|
||||
return [
|
||||
const actions = [
|
||||
{
|
||||
label: '详情',
|
||||
onClick: handleDetail.bind(null, record),
|
||||
|
@ -173,9 +171,13 @@
|
|||
title: '是否确认删除',
|
||||
confirm: handleDelete.bind(null, record),
|
||||
placement: 'topLeft',
|
||||
}
|
||||
},
|
||||
ifShow: () => {
|
||||
return hasPermission('adminInfo:delete');
|
||||
},
|
||||
}
|
||||
]
|
||||
return actions;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -7,20 +7,9 @@
|
|||
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
|
||||
<j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item key="1" @click="batchHandleDelete">
|
||||
<Icon icon="ant-design:delete-outlined" />
|
||||
删除
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
<a-button
|
||||
>批量操作
|
||||
<Icon icon="mdi:chevron-down" />
|
||||
</a-button>
|
||||
</a-dropdown>
|
||||
<a-button type="primary" @click="batchHandleDelete" v-if="hasPermission('dormitory:batchDelete')"
|
||||
>批量删除
|
||||
</a-button>
|
||||
<!-- 高级查询 -->
|
||||
<super-query :config="superQueryConfig" @search="handleSuperQuery" />
|
||||
</template>
|
||||
|
@ -58,6 +47,9 @@
|
|||
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './CeesDormitoryInfo.api';
|
||||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
import { usePermission } from '/@/hooks/web/usePermission';
|
||||
import { message } from 'ant-design-vue';
|
||||
const { hasPermission } = usePermission();
|
||||
const queryParam = reactive<any>({});
|
||||
const checkedKeys = ref<Array<string | number>>([]);
|
||||
const userStore = useUserStore();
|
||||
|
@ -150,6 +142,10 @@
|
|||
* 批量删除事件
|
||||
*/
|
||||
async function batchHandleDelete() {
|
||||
if (selectedRowKeys.value.length < 1) {
|
||||
message.warning('请至少选择一个用户!');
|
||||
return;
|
||||
}
|
||||
await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
|
||||
}
|
||||
/**
|
||||
|
@ -162,12 +158,14 @@
|
|||
* 操作栏
|
||||
*/
|
||||
function getTableAction(record) {
|
||||
return [
|
||||
const actions = [
|
||||
{
|
||||
label: '编辑',
|
||||
onClick: handleEdit.bind(null, record),
|
||||
},
|
||||
];
|
||||
|
||||
return actions;
|
||||
}
|
||||
/**
|
||||
* 下拉操作栏
|
||||
|
@ -185,6 +183,9 @@
|
|||
confirm: handleDelete.bind(null, record),
|
||||
placement: 'topLeft',
|
||||
},
|
||||
ifShow: () => {
|
||||
return hasPermission('dormitory:delete');
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
|
|
|
@ -7,19 +7,8 @@
|
|||
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
|
||||
<j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item key="1" @click="batchHandleDelete">
|
||||
<Icon icon="ant-design:delete-outlined"></Icon>
|
||||
删除
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
<a-button>批量操作
|
||||
<Icon icon="mdi:chevron-down"></Icon>
|
||||
</a-button>
|
||||
</a-dropdown>
|
||||
<a-button type="primary" @click="batchHandleDelete" v-if="hasPermission('group:batchDelete')">批量删除
|
||||
</a-button>
|
||||
<!-- 高级查询 -->
|
||||
<super-query :config="superQueryConfig" @search="handleSuperQuery" />
|
||||
</template>
|
||||
|
@ -54,7 +43,10 @@ import { columns, searchFormSchema, superQuerySchema } from './CeesGroup.data';
|
|||
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, getRowUser, addGroupMembers, removeGroupMembers } from './CeesGroup.api';
|
||||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
import { usePermission } from '/@/hooks/web/usePermission';
|
||||
import { message } from 'ant-design-vue';
|
||||
|
||||
const { hasPermission } = usePermission();
|
||||
const queryParam = reactive<any>({});
|
||||
const checkedKeys = ref<Array<string | number>>([]);
|
||||
const userStore = useUserStore();
|
||||
|
@ -151,6 +143,10 @@ async function handleDelete(record) {
|
|||
* 批量删除事件
|
||||
*/
|
||||
async function batchHandleDelete() {
|
||||
if (selectedRowKeys.value.length < 1) {
|
||||
message.warning('请至少选择一个用户!');
|
||||
return;
|
||||
}
|
||||
await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
|
||||
}
|
||||
/**
|
||||
|
@ -163,12 +159,14 @@ function handleSuccess() {
|
|||
* 操作栏
|
||||
*/
|
||||
function getTableAction(record) {
|
||||
return [
|
||||
const actions = [
|
||||
{
|
||||
label: '编辑',
|
||||
onClick: handleEdit.bind(null, record),
|
||||
}
|
||||
]
|
||||
},
|
||||
];
|
||||
|
||||
return actions;
|
||||
}
|
||||
/**
|
||||
* 下拉操作栏
|
||||
|
@ -178,15 +176,19 @@ function getDropDownAction(record) {
|
|||
{
|
||||
label: '详情',
|
||||
onClick: handleDetail.bind(null, record),
|
||||
}, {
|
||||
},
|
||||
{
|
||||
label: '删除',
|
||||
popConfirm: {
|
||||
title: '是否确认删除',
|
||||
confirm: handleDelete.bind(null, record),
|
||||
placement: 'topLeft',
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
ifShow: () => {
|
||||
return hasPermission('group:delete');
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -7,17 +7,17 @@
|
|||
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
|
||||
<j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-dropdown>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item key="1" @click="batchHandleDelete">
|
||||
<Icon icon="ant-design:delete-outlined" />
|
||||
删除
|
||||
</a-menu-item>
|
||||
<a-menu-item key="1" @click="batchHandleGroup">
|
||||
<Icon icon="ant-design:usergroup-add-outlined" />
|
||||
分组
|
||||
</a-menu-item>
|
||||
<a-menu-item key="1" @click="batchHandleDelete" v-if="hasPermission('localTeacher:batchDelete')">
|
||||
<Icon icon="ant-design:delete-outlined" />
|
||||
删除
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
<a-button
|
||||
|
@ -60,6 +60,9 @@
|
|||
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, getGroup, batchGroup } from './CeesLocalTeacher.api';
|
||||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
import { usePermission } from '/@/hooks/web/usePermission';
|
||||
import { message } from 'ant-design-vue';
|
||||
const { hasPermission } = usePermission();
|
||||
const queryParam = reactive<any>({});
|
||||
const checkedKeys = ref<Array<string | number>>([]);
|
||||
const userStore = useUserStore();
|
||||
|
@ -173,15 +176,20 @@
|
|||
* 批量删除事件
|
||||
*/
|
||||
async function batchHandleDelete() {
|
||||
if (selectedRowKeys.value.length < 1) {
|
||||
message.warning('请至少选择一个用户!');
|
||||
return;
|
||||
}
|
||||
await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
|
||||
}
|
||||
/**
|
||||
* 批量分组事件
|
||||
*/
|
||||
async function batchHandleGroup() {
|
||||
//if (selectedRowKeys.value.length === 0) {
|
||||
// return;
|
||||
//}
|
||||
if (selectedRowKeys.value.length < 1) {
|
||||
message.warning('请至少选择一个用户!');
|
||||
return;
|
||||
}
|
||||
groupModalRef.value?.setGroupOptions(groupOptions.value);
|
||||
openGroupModal(true);
|
||||
}
|
||||
|
@ -189,9 +197,7 @@
|
|||
* 分组选好后的确认事件
|
||||
*/
|
||||
async function handleGroupSuccess(groupId) {
|
||||
console.log('asdfasd');
|
||||
try {
|
||||
console.log('111');
|
||||
await batchGroup({ ids: selectedRowKeys.value, groupId }, handleSuccess);
|
||||
} catch (error) {
|
||||
console.error('批量分组失败:', error);
|
||||
|
@ -207,12 +213,14 @@
|
|||
* 操作栏
|
||||
*/
|
||||
function getTableAction(record) {
|
||||
return [
|
||||
const actions = [
|
||||
{
|
||||
label: '编辑',
|
||||
onClick: handleEdit.bind(null, record),
|
||||
},
|
||||
];
|
||||
|
||||
return actions;
|
||||
}
|
||||
/**
|
||||
* 下拉操作栏
|
||||
|
@ -230,6 +238,9 @@
|
|||
confirm: handleDelete.bind(null, record),
|
||||
placement: 'topLeft',
|
||||
},
|
||||
ifShow: () => {
|
||||
return hasPermission('localTeacher:delete');
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
|
|
|
@ -7,17 +7,17 @@
|
|||
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
|
||||
<j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-dropdown>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item key="1" @click="batchHandleDelete">
|
||||
<Icon icon="ant-design:delete-outlined" />
|
||||
删除
|
||||
</a-menu-item>
|
||||
<a-menu-item key="1" @click="batchHandleGroup">
|
||||
<Icon icon="ant-design:usergroup-add-outlined" />
|
||||
分组
|
||||
</a-menu-item>
|
||||
<a-menu-item key="1" @click="batchHandleDelete" v-if="hasPermission('student:batchDelete')">
|
||||
<Icon icon="ant-design:delete-outlined" />
|
||||
删除
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
<a-button
|
||||
|
@ -65,6 +65,10 @@
|
|||
import { downloadFile } from '/@/utils/common/renderUtils';
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { usePermission } from '/@/hooks/web/usePermission';
|
||||
import { message } from 'ant-design-vue';
|
||||
const { hasPermission } = usePermission();
|
||||
|
||||
const queryParam = reactive<any>({});
|
||||
const checkedKeys = ref<Array<string | number>>([]);
|
||||
const userStore = useUserStore();
|
||||
|
@ -174,6 +178,10 @@
|
|||
* 批量删除事件
|
||||
*/
|
||||
async function batchHandleDelete() {
|
||||
if (selectedRowKeys.value.length < 1) {
|
||||
message.warning('请至少选择一个用户!');
|
||||
return;
|
||||
}
|
||||
await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
|
||||
}
|
||||
|
||||
|
@ -181,9 +189,10 @@
|
|||
* 批量分组事件
|
||||
*/
|
||||
async function batchHandleGroup() {
|
||||
//if (selectedRowKeys.value.length === 0) {
|
||||
// return;
|
||||
//}
|
||||
if (selectedRowKeys.value.length < 1) {
|
||||
message.warning('请至少选择一个用户!');
|
||||
return;
|
||||
}
|
||||
groupModalRef.value?.setGroupOptions(groupOptions.value);
|
||||
openGroupModal(true);
|
||||
}
|
||||
|
@ -191,9 +200,7 @@
|
|||
* 分组选好后的确认事件
|
||||
*/
|
||||
async function handleGroupSuccess(groupId) {
|
||||
console.log('asdfasd');
|
||||
try {
|
||||
console.log('111');
|
||||
await batchGroup({ ids: selectedRowKeys.value, groupId }, handleSuccess);
|
||||
} catch (error) {
|
||||
console.error('批量分组失败:', error);
|
||||
|
@ -209,12 +216,14 @@
|
|||
* 操作栏
|
||||
*/
|
||||
function getTableAction(record) {
|
||||
return [
|
||||
const actions = [
|
||||
{
|
||||
label: '编辑',
|
||||
onClick: handleEdit.bind(null, record),
|
||||
},
|
||||
];
|
||||
|
||||
return actions;
|
||||
}
|
||||
/**
|
||||
* 下拉操作栏
|
||||
|
@ -232,6 +241,9 @@
|
|||
confirm: handleDelete.bind(null, record),
|
||||
placement: 'topLeft',
|
||||
},
|
||||
ifShow: () => {
|
||||
return hasPermission('student:delete');
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
|
|
|
@ -15,17 +15,17 @@
|
|||
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
|
||||
<a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
|
||||
<j-upload-button type="primary" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-dropdown>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item key="1" @click="batchHandleDelete">
|
||||
<Icon icon="ant-design:delete-outlined" />
|
||||
删除
|
||||
</a-menu-item>
|
||||
<a-menu-item key="1" @click="batchHandleGroup">
|
||||
<Icon icon="ant-design:usergroup-add-outlined" />
|
||||
分组
|
||||
</a-menu-item>
|
||||
<a-menu-item key="1" @click="batchHandleDelete" v-if="hasPermission('waiTeacher:batchDelete')">
|
||||
<Icon icon="ant-design:delete-outlined" />
|
||||
删除
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
<a-button
|
||||
|
@ -122,7 +122,8 @@
|
|||
import { configStyleImportPlugin } from 'build/vite/plugin/styleImport';
|
||||
import { message } from 'ant-design-vue';
|
||||
import { registerCoordinateSystem } from 'echarts';
|
||||
|
||||
import { usePermission } from '/@/hooks/web/usePermission'
|
||||
const { hasPermission } = usePermission();
|
||||
// 定义响应式数据
|
||||
const dormOptions = ref([]);
|
||||
|
||||
|
@ -262,16 +263,21 @@
|
|||
* 批量删除事件
|
||||
*/
|
||||
async function batchHandleDelete() {
|
||||
if (selectedRowKeys.value.length < 1) {
|
||||
message.warning('请至少选择一个用户!');
|
||||
return;
|
||||
}
|
||||
await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量分组事件
|
||||
*/
|
||||
async function batchHandleGroup() {
|
||||
//if (selectedRowKeys.value.length === 0) {
|
||||
// return;
|
||||
//}
|
||||
async function batchHandleGroup() {
|
||||
if (selectedRowKeys.value.length < 1) {
|
||||
message.warning('请至少选择一个用户!');
|
||||
return;
|
||||
}
|
||||
groupModalRef.value?.setGroupOptions(groupOptions.value);
|
||||
openGroupModal(true);
|
||||
}
|
||||
|
@ -361,6 +367,9 @@
|
|||
confirm: handleDelete.bind(null, record),
|
||||
placement: 'topLeft',
|
||||
},
|
||||
ifShow: () => {
|
||||
return hasPermission('waiTeacher:delete');
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue