123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- import type { CreateCrudOptionsRet, CreateCrudOptionsProps } from '@fast-crud/fast-crud';
- import dayjs from 'dayjs';
- import { queryScore } from '../api';
- export default function createCrudOptions(crudOptionsProps: CreateCrudOptionsProps): CreateCrudOptionsRet {
- return {
- crudOptions: {
- request: {
- pageRequest: async ({ page, query }) => {
- query.subjectId = crudOptionsProps.context?.subjectId;
- const { total, data } = await queryScore(page.offset + 1, page.limit, query);
- return { records: data, total, currentPage: page.offset, pageSize: page.limit };
- },
- addRequest: () => {
- return Promise.resolve(true);
- },
- editRequest: () => {
- return Promise.resolve(true);
- },
- delRequest: () => {
- return Promise.resolve(true);
- }
- },
- rowHandle: {
- show: false
- },
- toolbar: {
- show: false
- },
- actionbar: {
- show: false
- },
- search: {
- show: true,
- buttons: {
- search: {
- show: true
- },
- reset: {
- show: true
- },
- custom: {
- show: true,
- text: '关闭',
- click: () => {
- crudOptionsProps.context?.viewActiveCloseFunc();
- }
- }
- }
- },
- columns: {
- studentNumber: {
- title: '学员编号',
- search: {
- show: true
- },
- type: 'text',
- column: {
- align: 'center',
- width: 240
- },
- form: {
- show: false
- }
- },
- testDate: {
- title: '考试日期',
- type: 'datetime',
- search: { show: false },
- column: {
- align: 'center'
- },
- form: {
- show: false
- },
- valueBuilder(context) {
- const { value, row, key } = context;
- if (value) {
- 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');
- }
- }
- },
- score: {
- title: '成绩',
- type: 'number',
- search: {
- show: false
- },
- form: {
- show: false
- },
- column: {
- align: 'center'
- }
- },
- createTime: {
- key: 'createTime',
- title: '创建时间',
- type: 'datetime',
- column: {
- width: 250,
- align: 'center'
- },
- search: { show: false },
- valueBuilder(context) {
- const { value, row, key } = context;
- if (value) {
- 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: 'datetime',
- align: 'center',
- column: {
- width: 250,
- align: 'center'
- },
- valueBuilder(context) {
- const { value, row, key } = context;
- if (value) {
- 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');
- }
- }
- },
- passRate: {
- title: '及格率',
- type: 'text',
- search: { show: false },
- column: {
- align: 'center'
- }
- },
- excelRate: {
- title: '通过率',
- type: 'text',
- search: { show: false },
- column: {
- align: 'center'
- }
- },
- comment: {
- title: '备注信息',
- type: 'text',
- search: { show: false },
- column: {
- align: 'center',
- width: 300
- }
- }
- }
- }
- };
- }
|