feat: 从表结构生成前端基础文件

This commit is contained in:
7emotions
2025-02-04 00:10:46 +08:00
parent ecfad1952a
commit 91742ee27b
4 changed files with 279 additions and 0 deletions

View File

@@ -0,0 +1,86 @@
import { CrudOptions, AddReq, DelReq, EditReq, dict, CrudExpose, UserPageQuery, CreateCrudOptionsRet } from '@fast-crud/fast-crud';
import _ from 'lodash-es';
import * as api from './api';
import { request } from '/@/utils/service';
import { auth } from "/@/utils/authFunction";
//此处为crudOptions配置
export default function ({ crudExpose }: { crudExpose: CrudExpose }): CreateCrudOptionsRet {
const pageRequest = async (query: any) => {
return await api.GetList(query);
};
const editRequest = async ({ form, row }: EditReq) => {
if (row.id) {
form.id = row.id;
}
return await api.UpdateObj(form);
};
const delRequest = async ({ row }: DelReq) => {
return await api.DelObj(row.id);
};
const addRequest = async ({ form }: AddReq) => {
return await api.AddObj(form);
};
const exportRequest = async (query: UserPageQuery) => {
return await api.exportData(query)
};
return {
crudOptions: {
request: {
pageRequest,
addRequest,
editRequest,
delRequest,
},
actionbar: {
buttons: {
export: {
// 注释编号:django-vue3-admin-crud210716:注意这个auth里面的值最好是使用index.vue文件里面的name值并加上请求动作的单词
show: auth('VIEWSETNAME:Export'),
text: "导出",//按钮文字
title: "导出",//鼠标停留显示的信息
click() {
return exportRequest(crudExpose.getSearchFormData())
// return exportRequest(crudExpose!.getSearchFormData()) // 注意这个crudExpose!.getSearchFormData(),一些低版本的环境是需要添加!的
}
},
add: {
show: auth('VIEWSETNAME:Create'),
},
}
},
rowHandle: {
//固定右侧
fixed: 'right',
width: 200,
buttons: {
view: {
type: 'text',
order: 1,
show: auth('VIEWSETNAME:Retrieve')
},
edit: {
type: 'text',
order: 2,
show: auth('VIEWSETNAME:Update')
},
copy: {
type: 'text',
order: 3,
show: auth('VIEWSETNAME:Copy')
},
remove: {
type: 'text',
order: 4,
show: auth('VIEWSETNAME:Delete')
},
},
},
columns: {
// COLUMNS_CONFIG
},
},
};
}