分组管理优化

This commit is contained in:
Xubx 2025-03-23 17:36:25 +08:00
parent d4589f5049
commit b2de5a8964
4 changed files with 71 additions and 16 deletions

View File

@ -30,8 +30,8 @@ export const list = (params) =>
defHttp.get({url: Api.list, params}).then((res) => {
//添加组员信息
res.records.map((item) => {
getRowUser({id: item.id}).then((data) => {
item.rowUser = data.map((item) => item).join(',');
getRowUser({groupId: item.id}).then((data) => {
item.rowUser = data.map((item2) => item2.userName).join(',');
}).catch((error) => {
item.rowUser = '加载失败';
});

View File

@ -4,14 +4,16 @@ import { rules} from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
//import { getRowUser } from '/@/views/cees/group/CeesGroup.api';
//列表数据
export const columns: BasicColumn[] = [
{
title: '组名',
align:"center",
dataIndex: 'name'
dataIndex: 'name',
width: 150
},
// {
// title: '操作',
// title: '分组',
// align: 'center',
// width: 150,
// slots: { customRender: 'action2' }, // 使用插槽自定义操作列
@ -54,12 +56,20 @@ export const formSchema: FormSchema[] = [
},
},
{
label: '专业id',
label: '学科',
field: 'majorId',
component: 'InputNumber',
component: 'Select',
componentProps: {
options: [
{ label: '语文', value: 1 },
{ label: '地理', value: 4 },
{ label: '历史', value: 7 },
{ label: '政治', value: 8 },
],
},
dynamicRules: ({model,schema}) => {
return [
{ required: true, message: '请输入专业id!'},
{ required: true, message: '请选择学科!'},
];
},
},

View File

@ -36,6 +36,10 @@
</BasicTable>
<!-- 表单区域 -->
<CeesGroupModal @register="registerModal" @success="handleSuccess"></CeesGroupModal>
<!-- 分组对话框 -->
<!--<CeesGroupTransferModal v-model:visible="groupDialogVisible" :groupDialogTitle="groupDialogTitle"
:groupTitle="groupTitle" :dataSource="transferData" show-search @search="handleSearch" :targetKeys="targetKeys"
@change="handleTransferChange" @cancel="handleGroupDialogCancel" @ok="handleGroupDialogOk" />-->
</div>
</template>
@ -43,10 +47,11 @@
import { ref, reactive, computed, unref, onMounted } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { useModal } from '/@/components/Modal';
import CeesGroupTransferModal from './components/CeesGroupTransferModal.vue'
import { useListPage } from '/@/hooks/system/useListPage'
import CeesGroupModal from './components/CeesGroupModal.vue'
import { columns, searchFormSchema, superQuerySchema } from './CeesGroup.data';
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, getRowUser } from './CeesGroup.api';
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, getRowUser, addGroupMembers, removeGroupMembers } from './CeesGroup.api';
import { downloadFile } from '/@/utils/common/renderUtils';
import { useUserStore } from '/@/store/modules/user';
@ -93,15 +98,11 @@ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext
//
const superQueryConfig = reactive(superQuerySchema);
//
const addOrUpdateHandle = (record) => {
console.log('分组操作:', record);
}
/**
* 高级查询事件
*/

View File

@ -0,0 +1,44 @@
<template>
<a-modal :title="groupDialogTitle" :visible="visible" @cancel="handleCancel" @ok="handleOk" width="1000px">
<a-transfer v-model:target-keys="targetKeys" :data-source="dataSource" :titles="['所有用户', groupTitle]"
:render="item => item.title" @change="handleChange" />
</a-modal>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue';
import { Transfer } from 'ant-design-vue';
export default defineComponent({
components: {
'a-transfer': Transfer,
},
props: {
groupDialogTitle: String,
groupTitle: String,
visible: Boolean,
dataSource: Array,
targetKeys: Array,
},
emits: ['cancel', 'ok', 'change'],
setup(props, { emit }) {
const handleCancel = () => {
emit('cancel');
};
const handleOk = () => {
emit('ok');
};
const handleChange = (targetKeys, direction, moveKeys) => {
emit('change', targetKeys, direction, moveKeys);
};
return {
handleCancel,
handleOk,
handleChange,
};
},
});
</script>