import { useWebUserStore } from '@/store/user/webUser'; import { reactive, ref } from 'vue'; import type { WebUser, WebUserUpdateForm } from '../../../../../../types/store/user/webUser'; import { messageBox } from '@/utils/message'; const webUserStore = useWebUserStore(); export const ids = ref([]); export const updateForm = reactive({ }); /** * * 获取用户数据 */ export const getDataList = async () => { webUserStore.loading = true; await webUserStore.getUserinfoList(); webUserStore.loading = false; }; /** * * 当前页改变时 */ export const onCurrentPageChange = async (value: number) => { webUserStore.pagination.currentPage = value; await getDataList(); }; /** * * 当分页发生变化 * @param value */ export const onPageSizeChange = (value: number) => { webUserStore.pagination.pageSize = value; getDataList().then(); }; /** * * 选择行 * @param itemList */ export const handleSelectionChange = (itemList: WebUser[]) => { ids.value = itemList.map(item => item.id); }; /** * * 添加操作 */ export const onAdd = () => { webUserStore.addDialogVisible = true; }; /** * * 当更新时 */ export const onUpdate = ({ row }): void => { // 合并数据 Object.assign(updateForm, row); // 设置基础数据格式 updateForm.sex = row.sex === '女' ? 0 : 1; // 打开弹窗 webUserStore.updateDialogVisible = true; }; /** * * 当删除时 */ export const onDelete = async ({ row }) => { const result = await webUserStore.deleteUserinfo([row.id]).then(); // 成功刷新数据 result && (await webUserStore.getUserinfoList()); }; /** * * 批量删除 */ export const onDeleteBatch = async () => { const isConfirm = await messageBox({ message: '是否确认批量删除', title: '删除警告', showMessage: false, confirmMessage: '删除成功', cancelMessage: '取消删除', }); // 确认删除时执行 if (isConfirm) { const result = await webUserStore.deleteUserinfo(ids.value); // 成功刷新数据 result && (await webUserStore.getUserinfoList()); } };