feat:消息创建优化
All checks were successful
Build and Push Docker Image / build (push) Successful in 3m49s
All checks were successful
Build and Push Docker Image / build (push) Successful in 3m49s
This commit is contained in:
parent
b8407eeba7
commit
a145e8dabc
@ -16,8 +16,8 @@ export default defineConfig({
|
|||||||
'/api/': {
|
'/api/': {
|
||||||
// target: 'http://yt:8003',
|
// target: 'http://yt:8003',
|
||||||
// target: 'http://10.39.13.78:8001/',
|
// target: 'http://10.39.13.78:8001/',
|
||||||
// target: 'https://test-admin.linyikj.com.cn/',
|
target: 'https://test-admin.linyikj.com.cn/',
|
||||||
target: 'https://admin.linyikj.com.cn/',
|
// target: 'https://admin.linyikj.com.cn/',
|
||||||
// target: 'http://c789629c.natappfree.cc',
|
// target: 'http://c789629c.natappfree.cc',
|
||||||
|
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
|
|||||||
@ -12,8 +12,8 @@ export default function infoPreview(props: MyBetaModalFormProps) {
|
|||||||
<div className="preview_header">
|
<div className="preview_header">
|
||||||
<div className="avatar">员工头像</div>
|
<div className="avatar">员工头像</div>
|
||||||
<div className="info">
|
<div className="info">
|
||||||
<div className="name">员工的名字</div>
|
<div className="name">员工名字</div>
|
||||||
<div className="desc">此处显示“发送文案”输入的文案</div>
|
<div className="desc">此处显示“发送文案”</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="preview_content">
|
<div className="preview_content">
|
||||||
@ -31,8 +31,8 @@ export default function infoPreview(props: MyBetaModalFormProps) {
|
|||||||
<div className="preview_header">
|
<div className="preview_header">
|
||||||
<div className="avatar">员工头像</div>
|
<div className="avatar">员工头像</div>
|
||||||
<div className="info">
|
<div className="info">
|
||||||
<div className="name">员工的名字</div>
|
<div className="name">员工名字</div>
|
||||||
<div className="desc">此处显示“发送文案”输入的文案</div>
|
<div className="desc">此处显示“发送文案”</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="preview_content">
|
<div className="preview_content">
|
||||||
@ -55,9 +55,9 @@ export default function infoPreview(props: MyBetaModalFormProps) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="preview_content cover_image_preview">
|
<div className="preview_content cover_image_preview">
|
||||||
<div className="cover_image">封面图</div>
|
<div className="cover_image">封面</div>
|
||||||
<div className="cover_info">
|
<div className="cover_info">
|
||||||
此处显示“链接标题”输入的文案,文案字数多时可以换行显示
|
此处显示“链接标题”,字数较多时自动换行显示
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ProCard>
|
</ProCard>
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
background-color: #f8f8f8;
|
background-color: #f8f8f8;
|
||||||
width: 400px;
|
width: 400px;
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
margin-left: 10px;
|
margin-left: 60px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
.title {
|
.title {
|
||||||
border-left: 3px solid #1890ff;
|
border-left: 3px solid #1890ff;
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import { Apis } from '@/gen/Apis';
|
|||||||
import {
|
import {
|
||||||
CustomerMomentsChannelEnum,
|
CustomerMomentsChannelEnum,
|
||||||
CustomerMomentsContentTypeEnum,
|
CustomerMomentsContentTypeEnum,
|
||||||
|
CustomerMomentsPushStatusEnum,
|
||||||
CustomerMomentsPushTypeEnum,
|
CustomerMomentsPushTypeEnum,
|
||||||
CustomerMomentsTaskEndTypeEnum,
|
CustomerMomentsTaskEndTypeEnum,
|
||||||
} from '@/gen/Enums';
|
} from '@/gen/Enums';
|
||||||
@ -47,15 +48,29 @@ export default function Index({ title = '创建内容' }) {
|
|||||||
]}
|
]}
|
||||||
columns={[
|
columns={[
|
||||||
MyColumns.ID(),
|
MyColumns.ID(),
|
||||||
|
MyColumns.EnumTag({
|
||||||
|
title: '任务推送',
|
||||||
|
dataIndex: 'push_status',
|
||||||
|
valueEnum: CustomerMomentsPushStatusEnum,
|
||||||
|
search: false,
|
||||||
|
}),
|
||||||
{
|
{
|
||||||
title: '名称',
|
title: '标题',
|
||||||
dataIndex: 'title',
|
dataIndex: 'title',
|
||||||
render: (_, i: any) => {
|
render: (_, i: any) => {
|
||||||
return (
|
return (
|
||||||
<Card size="small">
|
<Card size="small">
|
||||||
<Space align="start">
|
<Space align="start">
|
||||||
<img src={i?.cover_image[0]?.url} width={45} height={45} />
|
|
||||||
<div>{i?.title}</div>
|
<div>{i?.title}</div>
|
||||||
|
<img
|
||||||
|
src={
|
||||||
|
i?.cover_image?.length > 0
|
||||||
|
? i?.cover_image[0]?.url
|
||||||
|
: i?.attachments[0]?.url
|
||||||
|
}
|
||||||
|
width={45}
|
||||||
|
height={45}
|
||||||
|
/>
|
||||||
</Space>
|
</Space>
|
||||||
</Card>
|
</Card>
|
||||||
);
|
);
|
||||||
@ -77,7 +92,7 @@ export default function Index({ title = '创建内容' }) {
|
|||||||
valueEnum: CustomerMomentsPushTypeEnum,
|
valueEnum: CustomerMomentsPushTypeEnum,
|
||||||
}),
|
}),
|
||||||
{
|
{
|
||||||
title: '定时发送时间',
|
title: '推送时间',
|
||||||
dataIndex: 'scheduled_time',
|
dataIndex: 'scheduled_time',
|
||||||
search: false,
|
search: false,
|
||||||
},
|
},
|
||||||
@ -89,15 +104,16 @@ export default function Index({ title = '创建内容' }) {
|
|||||||
search: false,
|
search: false,
|
||||||
}),
|
}),
|
||||||
{
|
{
|
||||||
title: '任务结束天数',
|
title: '任务结束时间',
|
||||||
dataIndex: 'task_days',
|
dataIndex: 'task_days',
|
||||||
search: false,
|
search: false,
|
||||||
|
render: (_, record: any) => {
|
||||||
|
return record?.task_end_type === 'AfterNDays'
|
||||||
|
? `任务发送后:${record?.task_days}天`
|
||||||
|
: '${record?.task_end_time}';
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: '定时结束',
|
|
||||||
dataIndex: 'task_end_time',
|
|
||||||
search: false,
|
|
||||||
},
|
},
|
||||||
|
|
||||||
MyColumns.UpdatedAt(),
|
MyColumns.UpdatedAt(),
|
||||||
MyColumns.CreatedAt(),
|
MyColumns.CreatedAt(),
|
||||||
MyColumns.Option({
|
MyColumns.Option({
|
||||||
|
|||||||
@ -40,7 +40,7 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
}),
|
}),
|
||||||
Selects?.Companies({
|
Selects?.Companies({
|
||||||
key: 'companies_id',
|
key: 'companies_id',
|
||||||
title: '公司',
|
title: '选择机构',
|
||||||
colProps: { span: 24 },
|
colProps: { span: 24 },
|
||||||
required: true,
|
required: true,
|
||||||
}),
|
}),
|
||||||
@ -54,10 +54,11 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
columns: [
|
columns: [
|
||||||
MyFormItems.EnumRadio({
|
MyFormItems.EnumRadio({
|
||||||
key: 'push_type',
|
key: 'push_type',
|
||||||
title: '推送类型',
|
title: '任务推送方式',
|
||||||
|
tooltip: '内容穿创建后,推送任务给员工的方式',
|
||||||
valueEnum: CustomerMomentsPushTypeEnum,
|
valueEnum: CustomerMomentsPushTypeEnum,
|
||||||
required: true,
|
required: true,
|
||||||
colProps: { span: 9 },
|
colProps: { span: 12 },
|
||||||
}),
|
}),
|
||||||
{
|
{
|
||||||
name: ['push_type'],
|
name: ['push_type'],
|
||||||
@ -67,9 +68,9 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
key: 'scheduled_time',
|
key: 'scheduled_time',
|
||||||
title: '定时发送时间',
|
title: '定时推送时间',
|
||||||
valueType: 'dateTime',
|
valueType: 'dateTime',
|
||||||
colProps: { span: 10 },
|
colProps: { span: 12 },
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
: [];
|
: [];
|
||||||
@ -86,7 +87,7 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
title: '任务结束类型',
|
title: '任务结束类型',
|
||||||
valueEnum: CustomerMomentsTaskEndTypeEnum,
|
valueEnum: CustomerMomentsTaskEndTypeEnum,
|
||||||
required: true,
|
required: true,
|
||||||
colProps: { span: 9 },
|
colProps: { span: 12 },
|
||||||
}),
|
}),
|
||||||
{
|
{
|
||||||
name: ['task_end_type'],
|
name: ['task_end_type'],
|
||||||
@ -96,7 +97,7 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
key: 'task_days',
|
key: 'task_days',
|
||||||
title: '任务结束天数',
|
title: ' ',
|
||||||
colProps: { span: 10 },
|
colProps: { span: 10 },
|
||||||
valueType: 'digit',
|
valueType: 'digit',
|
||||||
formItemProps: { ...rulesHelper.number },
|
formItemProps: { ...rulesHelper.number },
|
||||||
@ -123,7 +124,7 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
},
|
},
|
||||||
MyFormItems.EnumSelect({
|
MyFormItems.EnumSelect({
|
||||||
key: 'range_type',
|
key: 'range_type',
|
||||||
title: '范围类型',
|
title: '推送范围',
|
||||||
valueEnum: CustomerMomentsRangeTypeEnum,
|
valueEnum: CustomerMomentsRangeTypeEnum,
|
||||||
required: true,
|
required: true,
|
||||||
}),
|
}),
|
||||||
@ -150,6 +151,12 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
{
|
{
|
||||||
title: '创建内容',
|
title: '创建内容',
|
||||||
columns: [
|
columns: [
|
||||||
|
{
|
||||||
|
key: 'title',
|
||||||
|
title: '标题',
|
||||||
|
formItemProps: { ...rulesHelper.text },
|
||||||
|
colProps: { span: 24 },
|
||||||
|
},
|
||||||
MyFormItems.EnumRadio({
|
MyFormItems.EnumRadio({
|
||||||
key: 'content_type',
|
key: 'content_type',
|
||||||
title: '内容类型',
|
title: '内容类型',
|
||||||
@ -157,18 +164,58 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
required: true,
|
required: true,
|
||||||
colProps: { span: 24 },
|
colProps: { span: 24 },
|
||||||
}),
|
}),
|
||||||
|
|
||||||
{
|
{
|
||||||
key: 'skip_url',
|
name: ['content_type'],
|
||||||
title: '链接',
|
valueType: 'dependency',
|
||||||
|
columns: ({ content_type }: any) => {
|
||||||
|
return content_type === CustomerMomentsContentTypeEnum.Image.value
|
||||||
|
? [
|
||||||
|
{
|
||||||
|
key: 'content',
|
||||||
|
title: '发送文案',
|
||||||
|
valueType: 'textarea',
|
||||||
|
colProps: { span: 24 },
|
||||||
formItemProps: { ...rulesHelper.text },
|
formItemProps: { ...rulesHelper.text },
|
||||||
colProps: { span: 12 },
|
|
||||||
},
|
},
|
||||||
|
MyFormItems.UploadImages({
|
||||||
|
key: 'attachments',
|
||||||
|
title: '上传图片',
|
||||||
|
// uploadType: 'file',
|
||||||
|
required: true,
|
||||||
|
tooltip: '限9张图片',
|
||||||
|
max: 9,
|
||||||
|
colProps: { span: 24 },
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
: content_type === CustomerMomentsContentTypeEnum.Video.value
|
||||||
|
? [
|
||||||
{
|
{
|
||||||
key: 'title',
|
key: 'content',
|
||||||
title: '标题',
|
title: '发送文案',
|
||||||
|
valueType: 'textarea',
|
||||||
|
colProps: { span: 24 },
|
||||||
|
formItemProps: { ...rulesHelper.text },
|
||||||
|
},
|
||||||
|
MyFormItems.UploadImages({
|
||||||
|
key: 'attachments',
|
||||||
|
title: '上传视频',
|
||||||
|
required: true,
|
||||||
|
tooltip: '限1个视频',
|
||||||
|
// uploadType: 'file',
|
||||||
|
max: 1,
|
||||||
|
colProps: { span: 24 },
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
: content_type === CustomerMomentsContentTypeEnum.Link.value ||
|
||||||
|
content_type ===
|
||||||
|
CustomerMomentsContentTypeEnum.MiniProgram.value
|
||||||
|
? [
|
||||||
|
{
|
||||||
|
key: 'content',
|
||||||
|
title: '发送文案',
|
||||||
|
valueType: 'textarea',
|
||||||
|
colProps: { span: 24 },
|
||||||
formItemProps: { ...rulesHelper.text },
|
formItemProps: { ...rulesHelper.text },
|
||||||
colProps: { span: 12 },
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: ['content_type'],
|
name: ['content_type'],
|
||||||
@ -181,37 +228,54 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
key: 'mini_program_app_id',
|
key: 'mini_program_app_id',
|
||||||
title: '小程序APPID',
|
title: '小程序APPID',
|
||||||
formItemProps: { ...rulesHelper.text },
|
formItemProps: { ...rulesHelper.text },
|
||||||
|
colProps: { span: 12 },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'skip_url',
|
||||||
|
title: '链接地址',
|
||||||
|
formItemProps: { ...rulesHelper.text },
|
||||||
|
colProps: { span: 12 },
|
||||||
|
},
|
||||||
|
]
|
||||||
|
: [
|
||||||
|
{
|
||||||
|
key: 'skip_url',
|
||||||
|
title: '链接地址',
|
||||||
|
formItemProps: { ...rulesHelper.text },
|
||||||
|
colProps: { span: 24 },
|
||||||
|
},
|
||||||
|
];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
key: 'desc',
|
||||||
|
title: '链接标题',
|
||||||
|
colProps: { span: 24 },
|
||||||
|
formItemProps: { ...rulesHelper.text },
|
||||||
|
},
|
||||||
|
MyFormItems.UploadImages({
|
||||||
|
key: 'cover_image',
|
||||||
|
tooltip: '限1张图片',
|
||||||
|
title: '设置封面',
|
||||||
|
required: true,
|
||||||
|
max: 1,
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
: content_type === CustomerMomentsContentTypeEnum.Link.value ||
|
||||||
|
content_type ===
|
||||||
|
CustomerMomentsContentTypeEnum.MiniProgram.value
|
||||||
|
? [
|
||||||
|
{
|
||||||
|
key: 'skip_url',
|
||||||
|
title: '链接',
|
||||||
|
formItemProps: { ...rulesHelper.text },
|
||||||
colProps: { span: 24 },
|
colProps: { span: 24 },
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
: [];
|
: [];
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
key: 'content',
|
|
||||||
title: '内容',
|
|
||||||
valueType: 'textarea',
|
|
||||||
colProps: { span: 24 },
|
|
||||||
formItemProps: { ...rulesHelper.text },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
key: 'desc',
|
|
||||||
title: '描述',
|
|
||||||
valueType: 'textarea',
|
|
||||||
colProps: { span: 24 },
|
|
||||||
},
|
|
||||||
MyFormItems.UploadImages({
|
|
||||||
key: 'cover_image',
|
|
||||||
title: '封面',
|
|
||||||
max: 1,
|
|
||||||
}),
|
|
||||||
MyFormItems.UploadImages({
|
|
||||||
key: 'attachments',
|
|
||||||
title: '附件',
|
|
||||||
uploadType: 'file',
|
|
||||||
max: 100,
|
|
||||||
colProps: { span: 12 },
|
|
||||||
}),
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
@ -236,23 +300,23 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
type="primary"
|
type="primary"
|
||||||
size={'middle'}
|
size={'middle'}
|
||||||
myRef={modalRef}
|
myRef={modalRef}
|
||||||
width="1200px"
|
width="580px"
|
||||||
node={
|
node={
|
||||||
<Space direction="vertical">
|
<Space direction="vertical">
|
||||||
<div style={{ width: '1160px' }}>
|
<div style={{ width: '666px' }}>
|
||||||
<Steps
|
<Steps
|
||||||
style={{ padding: '50px 150px 30px 150px' }}
|
style={{ padding: '20px 200px 20px 20px' }}
|
||||||
current={current}
|
current={current}
|
||||||
items={steps}
|
items={steps}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<Space align="start">
|
<Space align="start">
|
||||||
<div style={{ width: '700px' }}>
|
<div style={{ width: '500px' }}>
|
||||||
<BetaSchemaForm<ApiTypes.Customer.CustomerMomentCategories.Store>
|
<BetaSchemaForm<ApiTypes.Customer.CustomerMomentCategories.Store>
|
||||||
{...MyModalFormProps.props}
|
{...MyModalFormProps.props}
|
||||||
title={`添加${props.title}`}
|
title={`添加${props.title}`}
|
||||||
wrapperCol={{ span: 24 }}
|
wrapperCol={{ span: 24 }}
|
||||||
width="800px"
|
// width="1200px"
|
||||||
form={form}
|
form={form}
|
||||||
layoutType="Form"
|
layoutType="Form"
|
||||||
trigger={<MyButtons.Create title={`添加${props.title}`} />}
|
trigger={<MyButtons.Create title={`添加${props.title}`} />}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user