123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- import type { AddReq, CreateCrudOptionsRet, DelReq, EditReq, UserPageQuery, UserPageRes } from '@fast-crud/fast-crud';
- import { dict } from '@fast-crud/fast-crud';
- import dayjs from 'dayjs';
- import * as api from './api';
- import { selectAll_1 } from './api';
- export default function createCrudOptions(): CreateCrudOptionsRet {
- const pageRequest = async (query: any): Promise<any> => {
- // 调用你自己的函数从接口获取数据
- const data = await selectAll_1(query);
- return {
- rows: data,
- total: data.length
- };
- };
- const editRequest = async (ctx: EditReq) => {
- const { form, row } = ctx;
- form.id = row.id;
- return api.UpdateObj(form);
- };
- const delRequest = async (ctx: DelReq) => {
- const { row } = ctx;
- return api.DelObj(row.id);
- };
- const addRequest = async (req: AddReq) => {
- const { form } = req;
- return api.AddObj(form);
- };
- return {
- crudOptions: {
- container: {
- is: 'fs-layout-card'
- },
- request: {
- pageRequest,
- addRequest,
- editRequest,
- delRequest
- },
- columns: {
- id: {
- title: 'ID',
- key: 'id',
- type: 'number',
- search: { show: true },
- column: {
- width: 50,
- align:'center',
- },
- form: {
- show: false
- }
- },
- name: {
- title: '部门名称',
- search: { show: true },
- key: 'name',
- type: 'text',
- column: {
- width: 150,
- align:'center',
- },
- form: {
- show: true
- }
- },
- // select: {
- // title: '状态',
- // search: { show: true },
- // type: 'dict-select',
- // align: 'center',
- // // dict: dict({
- // // url: '/mock/crud/demo/dict'
- // // })
- // },
- description: {
- title: '部门地址',
- key: 'description',
- type: 'text',
- search: { show: true },
- column: {
- width: 200,
- align:'center',
- },
- },
- createTime: {
- key: 'createTime',
- title: '创建时间',
- type: 'text',
- column: {
- width: 250,
- align:'center',
- },
- search: { show: true },
- // naive 默认仅支持数字类型时间戳作为日期输入与输出
- // 字符串类型的时间需要转换格式
- valueBuilder(context) {
- const { value, row, key } = context;
- if (value) {
- // naive 默认仅支持时间戳作为日期输入与输出
- row[key] = dayjs(value).valueOf();
- }
- },
- valueResolve(context) {
- const { value, form, key } = context;
- if (value) {
- form[key] = dayjs(value).format('YYYY-MM-DD HH:mm:ss');
- }
- }
- },
- modifyTime: {
- title: '修改时间',
- key: 'modifyTime',
- type: 'text',
- align: 'center',
- column: {
- width: 250,
- align:'center',
- },
- // naive 默认仅支持数字类型时间戳作为日期输入与输出
- // 字符串类型的时间需要转换格式
- valueBuilder(context) {
- const { value, row, key } = context;
- if (value) {
- // naive 默认仅支持时间戳作为日期输入与输出
- row[key] = dayjs(value).valueOf();
- }
- },
- valueResolve(context) {
- const { value, form, key } = context;
- if (value) {
- form[key] = dayjs(value).format('YYYY-MM-DD HH:mm:ss');
- }
- }
- },
- createUid: {
- title: '创建用户ID',
- key: 'createUid',
- type: 'file-uploader',
- column: {
- width: 250,
- align:'center',
- },
- },
- disabled: {
- key: 'disabled',
- title: '状态',
- type: 'dict-select',
- column: {
- width: 100,
- align:'center',
- },
- dict: dict({
- url: '/mock/crud/demo/dict'
- }),
- search: { show: true }
- },
- // richtext: {
- // title: '富文本',
- // type: 'editor-wang5',
- // column: {
- // // cell中不显示
- // show: false
- // },
- // form: {
- // col: {
- // // 横跨两列
- // span: 24
- // },
- // component: {
- // style: {
- // height: '300px'
- // }
- // }
- // }
- // }
- },
- }
- };
- }
|