import UserAPI from "@/api/system/user"; import type { ISelectConfig } from "@/components/TableSelect/index.vue"; const selectConfig: ISelectConfig = { pk: "id", width: "70%", placeholder: "请选择用户", formItems: [ { type: "input", label: "关键字", prop: "keywords", attrs: { placeholder: "用户名/昵称/手机号", clearable: true, style: { width: "200px", }, }, }, { type: "tree-select", label: "部门", prop: "deptId", attrs: { placeholder: "请选择", data: [ { value: 1, label: "有来技术", children: [ { value: 2, label: "研发部门", }, { value: 3, label: "测试部门", }, ], }, ], filterable: true, "check-strictly": true, "render-after-expand": false, clearable: true, style: { width: "150px", }, }, }, { type: "select", label: "状态", prop: "status", attrs: { placeholder: "全部", clearable: true, style: { width: "100px", }, }, options: [ { label: "启用", value: 1 }, { label: "禁用", value: 0 }, ], }, { type: "date-picker", label: "创建时间", prop: "createAt", attrs: { type: "daterange", "range-separator": "~", "start-placeholder": "开始时间", "end-placeholder": "截止时间", "value-format": "YYYY-MM-DD", style: { width: "240px", }, }, }, ], indexAction: function (params) { if ("createAt" in params) { const createAt = params.createAt as string[]; if (createAt?.length > 1) { params.startTime = createAt[0]; params.endTime = createAt[1]; } delete params.createAt; } return UserAPI.getPage(params); }, tableColumns: [ { type: "selection", width: 50, align: "center" }, { label: "编号", align: "center", prop: "id", width: 100 }, { label: "用户名", align: "center", prop: "username" }, { label: "用户昵称", align: "center", prop: "nickname", width: 120 }, { label: "性别", align: "center", prop: "gender", width: 100, templet: "custom", slotName: "gender", }, { label: "部门", align: "center", prop: "deptName", width: 120 }, { label: "手机号码", align: "center", prop: "mobile", width: 120 }, { label: "状态", align: "center", prop: "status", templet: "custom", slotName: "status", }, { label: "创建时间", align: "center", prop: "createTime", width: 180 }, ], }; export default selectConfig;