import * as api from "./api"; import { dict } from "@fast-crud/fast-crud"; import CustomLayout from "./custom-layout.vue"; import { shallowRef } from "vue"; export default function ({ crudExpose }) { const pageRequest = async (query) => { return await api.GetList(query); }; const editRequest = async ({ form, row }) => { form.id = row.id; return await api.UpdateObj(form); }; const delRequest = async ({ row }) => { return await api.DelObj(row.id); }; const addRequest = async ({ form }) => { return await api.AddObj(form); }; return { crudOptions: { container: { is: shallowRef(CustomLayout) //可以将自定义布局组件全局注册,这里只需要配置name即可 }, request: { pageRequest, addRequest, editRequest, delRequest }, columns: { id: { title: "ID", key: "id", type: "number", column: { width: 50 }, form: { show: false } }, name: { title: "姓名", type: "text", search: { show: true } }, city: { title: "城市", type: "dict-select", search: { show: false }, dict: dict({ value: "id", label: "text", data: [ { id: "sz", text: "深圳", color: "success" }, { id: "gz", text: "广州", color: "blue" }, { id: "bj", text: "北京" }, { id: "wh", text: "武汉" }, { id: "sh", text: "上海" } ] }) }, radio: { title: "单选", search: { show: false }, type: "dict-radio", dict: dict({ url: "/mock/dicts/OpenStatusEnum?single" }) } } } }; }