分组管理优化

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) => { defHttp.get({url: Api.list, params}).then((res) => {
//添加组员信息 //添加组员信息
res.records.map((item) => { res.records.map((item) => {
getRowUser({id: item.id}).then((data) => { getRowUser({groupId: item.id}).then((data) => {
item.rowUser = data.map((item) => item).join(','); item.rowUser = data.map((item2) => item2.userName).join(',');
}).catch((error) => { }).catch((error) => {
item.rowUser = '加载失败'; item.rowUser = '加载失败';
}); });

View File

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

View File

@ -36,6 +36,10 @@
</BasicTable> </BasicTable>
<!-- 表单区域 --> <!-- 表单区域 -->
<CeesGroupModal @register="registerModal" @success="handleSuccess"></CeesGroupModal> <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> </div>
</template> </template>
@ -43,10 +47,11 @@
import { ref, reactive, computed, unref, onMounted } from 'vue'; import { ref, reactive, computed, unref, onMounted } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table'; import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { useModal } from '/@/components/Modal'; import { useModal } from '/@/components/Modal';
import CeesGroupTransferModal from './components/CeesGroupTransferModal.vue'
import { useListPage } from '/@/hooks/system/useListPage' import { useListPage } from '/@/hooks/system/useListPage'
import CeesGroupModal from './components/CeesGroupModal.vue' import CeesGroupModal from './components/CeesGroupModal.vue'
import { columns, searchFormSchema, superQuerySchema } from './CeesGroup.data'; 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 { downloadFile } from '/@/utils/common/renderUtils';
import { useUserStore } from '/@/store/modules/user'; import { useUserStore } from '/@/store/modules/user';
@ -93,15 +98,11 @@ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext
// //
const superQueryConfig = reactive(superQuerySchema); 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>