60 lines
1.3 KiB
TypeScript
60 lines
1.3 KiB
TypeScript
import type { VbenFormSchema } from '#/adapter/form';
|
|
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
|
|
import type { MpAccountApi } from '#/api/mp/account';
|
|
|
|
import { formatDateTime } from '@vben/utils';
|
|
|
|
import { getSimpleAccountList } from '#/api/mp/account';
|
|
|
|
let accountList: MpAccountApi.Account[] = [];
|
|
getSimpleAccountList().then((data) => (accountList = data));
|
|
|
|
/** 搜索表单配置 */
|
|
export function useGridFormSchema(): VbenFormSchema[] {
|
|
return [
|
|
{
|
|
fieldName: 'accountId',
|
|
label: '公众号',
|
|
component: 'Select',
|
|
componentProps: {
|
|
options: accountList.map((item) => ({
|
|
label: item.name,
|
|
value: item.id,
|
|
})),
|
|
placeholder: '请选择公众号',
|
|
clearable: true,
|
|
},
|
|
},
|
|
];
|
|
}
|
|
|
|
/** 表格列配置 */
|
|
export function useGridColumns(): VxeGridPropTypes.Columns {
|
|
return [
|
|
{
|
|
field: 'cover',
|
|
title: '图片',
|
|
width: 360,
|
|
slots: { default: 'cover' },
|
|
},
|
|
{
|
|
field: 'title',
|
|
title: '标题',
|
|
slots: { default: 'title' },
|
|
},
|
|
{
|
|
field: 'updateTime',
|
|
title: '修改时间',
|
|
formatter: ({ row }) => {
|
|
return formatDateTime(row.updateTime * 1000);
|
|
},
|
|
},
|
|
{
|
|
title: '操作',
|
|
width: 120,
|
|
fixed: 'right',
|
|
slots: { default: 'actions' },
|
|
},
|
|
];
|
|
}
|