feat:【ele】【mp】模版消息的新增
This commit is contained in:
143
apps/web-ele/src/views/mp/messageTemplate/data.ts
Normal file
143
apps/web-ele/src/views/mp/messageTemplate/data.ts
Normal file
@@ -0,0 +1,143 @@
|
||||
import type { VbenFormSchema } from '#/adapter/form';
|
||||
import type { VxeGridPropTypes } from '#/adapter/vxe-table';
|
||||
|
||||
import { getUserPage } from '#/api/mp/user';
|
||||
|
||||
/** 列表的搜索表单 */
|
||||
export function useGridFormSchema(): VbenFormSchema[] {
|
||||
return [
|
||||
{
|
||||
fieldName: 'accountId',
|
||||
label: '公众号',
|
||||
component: 'Input',
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
/** 发送消息模板表单 */
|
||||
export function useSendFormSchema(accountId?: number): VbenFormSchema[] {
|
||||
return [
|
||||
{
|
||||
fieldName: 'id',
|
||||
label: '模板编号',
|
||||
component: 'Input',
|
||||
componentProps: {
|
||||
disabled: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
fieldName: 'title',
|
||||
label: '模板标题',
|
||||
component: 'Input',
|
||||
componentProps: {
|
||||
disabled: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
fieldName: 'userId',
|
||||
label: '用户',
|
||||
component: 'ApiSelect',
|
||||
componentProps: {
|
||||
api: async () => {
|
||||
if (!accountId) {
|
||||
return [];
|
||||
}
|
||||
const data = await getUserPage({
|
||||
pageNo: 1,
|
||||
pageSize: 100,
|
||||
accountId,
|
||||
});
|
||||
return (data.list || []).map((user) => ({
|
||||
label: user.nickname || user.openid,
|
||||
value: user.id,
|
||||
}));
|
||||
},
|
||||
filterable: true,
|
||||
placeholder: '请选择用户',
|
||||
},
|
||||
rules: 'required',
|
||||
},
|
||||
{
|
||||
fieldName: 'data',
|
||||
label: '模板数据',
|
||||
component: 'Textarea',
|
||||
componentProps: {
|
||||
rows: 4,
|
||||
placeholder:
|
||||
'请输入模板数据(JSON 格式),例如:{"keyword1": {"value": "测试内容"}}',
|
||||
},
|
||||
},
|
||||
{
|
||||
fieldName: 'url',
|
||||
label: '跳转链接',
|
||||
component: 'Input',
|
||||
componentProps: {
|
||||
placeholder: '请输入跳转链接',
|
||||
},
|
||||
},
|
||||
{
|
||||
fieldName: 'miniProgramAppId',
|
||||
label: '小程序 appId',
|
||||
component: 'Input',
|
||||
componentProps: {
|
||||
placeholder: '请输入小程序 appId',
|
||||
},
|
||||
},
|
||||
{
|
||||
fieldName: 'miniProgramPagePath',
|
||||
label: '小程序页面路径',
|
||||
component: 'Input',
|
||||
componentProps: {
|
||||
placeholder: '请输入小程序页面路径',
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
/** 表格列配置 */
|
||||
export function useGridColumns(): VxeGridPropTypes.Columns {
|
||||
return [
|
||||
{
|
||||
title: '公众号模板 ID',
|
||||
field: 'templateId',
|
||||
minWidth: 400,
|
||||
},
|
||||
{
|
||||
title: '标题',
|
||||
field: 'title',
|
||||
minWidth: 150,
|
||||
},
|
||||
{
|
||||
title: '模板内容',
|
||||
field: 'content',
|
||||
minWidth: 400,
|
||||
},
|
||||
{
|
||||
title: '模板示例',
|
||||
field: 'example',
|
||||
minWidth: 200,
|
||||
},
|
||||
{
|
||||
title: '一级行业',
|
||||
field: 'primaryIndustry',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '二级行业',
|
||||
field: 'deputyIndustry',
|
||||
minWidth: 120,
|
||||
},
|
||||
{
|
||||
title: '创建时间',
|
||||
field: 'createTime',
|
||||
formatter: 'formatDateTime',
|
||||
minWidth: 180,
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
width: 140,
|
||||
fixed: 'right',
|
||||
slots: { default: 'actions' },
|
||||
},
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user