86 lines
3.0 KiB
TypeScript
86 lines
3.0 KiB
TypeScript
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
|
||
},
|
||
},
|
||
};
|
||
} |