CSharp-Single-EFCore/Bunny.Generate/WebTemplate/handle.tt

93 lines
2.1 KiB
Plaintext

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<string[]>([]);
export const updateForm = reactive<WebUserUpdateForm>({
});
/**
* * 获取用户数据
*/
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());
}
};