fix 短信模板配置
This commit is contained in:
parent
0bd528c6f4
commit
3de8a4a0a5
|
|
@ -31,10 +31,9 @@ export default OakComponent({
|
|||
const selectedTypes = data
|
||||
? data
|
||||
.filter((ele) => !ele.$$deleteAt$$)
|
||||
.map((ele) => {
|
||||
ele.type;
|
||||
})
|
||||
.map((ele) => ele.type)
|
||||
: [];
|
||||
|
||||
return {
|
||||
mtt: data,
|
||||
dirtyIds,
|
||||
|
|
@ -54,39 +53,32 @@ export default OakComponent({
|
|||
},
|
||||
},
|
||||
],
|
||||
listeners: {
|
||||
async selectedTypes(prev, next) {
|
||||
if (next.selectedTypes?.length) {
|
||||
await this.updateMessageTypes(next.selectedTypes);
|
||||
}
|
||||
},
|
||||
},
|
||||
listeners: {},
|
||||
lifetimes: {
|
||||
async ready() {
|
||||
const { systemId, origin } = this.props;
|
||||
const { data: smsTemplates } = await this.features.cache.refresh('smsTemplate', {
|
||||
data: {
|
||||
id: 1,
|
||||
origin: 1,
|
||||
systemId: 1,
|
||||
templateName: 1,
|
||||
templateCode: 1,
|
||||
templateContent: 1,
|
||||
},
|
||||
filter: {
|
||||
origin,
|
||||
systemId,
|
||||
},
|
||||
});
|
||||
this.setState({
|
||||
smsTemplates,
|
||||
});
|
||||
async ready() {
|
||||
await this.getSmsTemplate();
|
||||
await this.getMessageTypes();
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
async syncTemplate() {
|
||||
const { systemId, origin } = this.props;
|
||||
await this.features.template.syncSmsTemplate(systemId, origin);
|
||||
await this.getSmsTemplate();
|
||||
this.setMessage({
|
||||
content: '同步成功',
|
||||
type: 'success',
|
||||
});
|
||||
},
|
||||
async getMessageTypes(selectedTypes) {
|
||||
const { result: MessageTypes } = await this.features.template.getMessageType();
|
||||
this.setState({
|
||||
messageTypes: MessageTypes,
|
||||
});
|
||||
},
|
||||
async getSmsTemplate() {
|
||||
const { systemId, origin } = this.props;
|
||||
|
||||
const { data: smsTemplates } = await this.features.cache.refresh('smsTemplate', {
|
||||
data: {
|
||||
id: 1,
|
||||
|
|
@ -104,17 +96,6 @@ export default OakComponent({
|
|||
this.setState({
|
||||
smsTemplates,
|
||||
});
|
||||
this.setMessage({
|
||||
content: '操作成功',
|
||||
type: 'success',
|
||||
});
|
||||
},
|
||||
async updateMessageTypes(selectedTypes) {
|
||||
const { result: MessageTypes } = await this.features.template.getMessageType();
|
||||
const messageTypes = MessageTypes.filter((ele) => !selectedTypes.includes(ele));
|
||||
this.setState({
|
||||
messageTypes,
|
||||
});
|
||||
},
|
||||
}
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import React from 'react';
|
||||
import { WebComponentProps } from 'oak-frontend-base';
|
||||
import { EntityDict } from '../../../oak-app-domain';
|
||||
export default function Render(props: WebComponentProps<EntityDict, 'messageTypeTemplate', true, {
|
||||
mtt: EntityDict['messageTypeTemplate']['Schema'][];
|
||||
export default function Render(props: WebComponentProps<EntityDict, 'messageTypeSmsTemplate', true, {
|
||||
mtt: EntityDict['messageTypeSmsTemplate']['Schema'][];
|
||||
smsTemplates: EntityDict['smsTemplate']['Schema'][];
|
||||
dirtyIds: string[];
|
||||
messageTypes: string[];
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import React, { useState } from 'react';
|
||||
import { Table, Button, Space, Typography, Select, Modal } from 'antd';
|
||||
export default function Render(props) {
|
||||
const { oakPagination, mtt = [], dirtyIds = [], oakLoading, messageTypes = [], systemId, smsTemplates = [], } = props.data;
|
||||
const { oakPagination, mtt = [], dirtyIds = [], oakLoading, messageTypes = [], systemId, smsTemplates = [], selectedTypes = [] } = props.data;
|
||||
const { setCurrentPage, setPageSize, t, addItem, syncTemplate, removeItem, updateItem, recoverItem, resetItem, execute, } = props.methods;
|
||||
const [syncDisable, setSyncDisable] = useState(false);
|
||||
const [open, setOpen] = useState(false);
|
||||
|
|
@ -9,8 +9,11 @@ export default function Render(props) {
|
|||
return (<>
|
||||
<Space style={{ marginBottom: 16 }}>
|
||||
<Button type="default" disabled={!(messageTypes.length > 0 && smsTemplates.length > 0)} onClick={() => {
|
||||
|
||||
const messageTypes2 = messageTypes.filter(ele => !selectedTypes.includes(ele))
|
||||
|
||||
addItem({
|
||||
type: messageTypes[0],
|
||||
type: messageTypes2[0],
|
||||
templateId: smsTemplates[0].id,
|
||||
});
|
||||
}}>
|
||||
|
|
@ -49,6 +52,7 @@ export default function Render(props) {
|
|||
}, record.id)} options={messageTypes.map((ele) => ({
|
||||
value: ele,
|
||||
label: ele,
|
||||
disabled: selectedTypes.includes(ele)
|
||||
}))}/>);
|
||||
}
|
||||
return (<Typography.Text type={!!record.$$deleteAt$$
|
||||
|
|
@ -77,7 +81,7 @@ export default function Render(props) {
|
|||
return (<Typography.Text type={!!record.$$deleteAt$$
|
||||
? 'danger'
|
||||
: undefined} delete={!!record.$$deleteAt$$}>
|
||||
{record?.template?.title}
|
||||
{record?.template?.templateName}
|
||||
</Typography.Text>);
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ export default function Render(props) {
|
|||
children: (<MessageTypeSmsTemplateList oakAutoUnmount={true} systemId={systemId} origin={ele} oakPath={`$system-smsTemplate-${systemId}-${ele}`}/>),
|
||||
};
|
||||
});
|
||||
return (<Tabs items={items} onChange={(key) => {
|
||||
return (<Tabs activeKey={tabKey} items={items} onChange={(key) => {
|
||||
setTabKey(key);
|
||||
}}/>);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,20 +27,14 @@ export default OakComponent({
|
|||
const dirtyIds = operations
|
||||
? operations
|
||||
.map(
|
||||
(ele) =>
|
||||
(
|
||||
ele.operation
|
||||
.data as EntityDict['messageTypeSmsTemplate']['CreateSingle']['data']
|
||||
)?.id || ele.operation.filter?.id
|
||||
(ele) => (ele.operation.data as EntityDict['messageTypeSmsTemplate']['CreateSingle']['data'])?.id || ele.operation.filter?.id
|
||||
)
|
||||
.filter((ele) => !!ele)
|
||||
: ([] as string[]);
|
||||
const selectedTypes = data
|
||||
? data
|
||||
.filter((ele) => !ele.$$deleteAt$$)
|
||||
.map((ele) => {
|
||||
ele.type;
|
||||
})
|
||||
.map((ele) => ele.type)
|
||||
: [];
|
||||
return {
|
||||
mtt: data,
|
||||
|
|
@ -62,41 +56,31 @@ export default OakComponent({
|
|||
},
|
||||
],
|
||||
listeners: {
|
||||
async selectedTypes(prev, next) {
|
||||
if (next.selectedTypes?.length) {
|
||||
await this.updateMessageTypes(next.selectedTypes);
|
||||
}
|
||||
},
|
||||
},
|
||||
lifetimes: {
|
||||
async ready() {
|
||||
const { systemId, origin } = this.props;
|
||||
const { data: smsTemplates } = await this.features.cache.refresh(
|
||||
'smsTemplate',
|
||||
{
|
||||
data: {
|
||||
id: 1,
|
||||
origin: 1,
|
||||
systemId: 1,
|
||||
templateName: 1,
|
||||
templateCode: 1,
|
||||
templateContent: 1,
|
||||
},
|
||||
filter: {
|
||||
origin,
|
||||
systemId,
|
||||
},
|
||||
}
|
||||
);
|
||||
this.setState({
|
||||
smsTemplates,
|
||||
});
|
||||
await this.getSmsTemplate();
|
||||
await this.getMessageTypes();
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
async syncTemplate() {
|
||||
const { systemId, origin } = this.props;
|
||||
await this.features.template.syncSmsTemplate(systemId!, origin!);
|
||||
await this.getSmsTemplate();
|
||||
this.setMessage({
|
||||
content: '同步成功',
|
||||
type: 'success',
|
||||
});
|
||||
},
|
||||
async getMessageTypes() {
|
||||
const { result: MessageTypes } = await this.features.template.getMessageType();
|
||||
this.setState({
|
||||
messageTypes: MessageTypes,
|
||||
});
|
||||
},
|
||||
async getSmsTemplate() {
|
||||
const { systemId, origin } = this.props;
|
||||
const { data: smsTemplates } = await this.features.cache.refresh(
|
||||
'smsTemplate',
|
||||
{
|
||||
|
|
@ -117,20 +101,6 @@ export default OakComponent({
|
|||
this.setState({
|
||||
smsTemplates,
|
||||
});
|
||||
this.setMessage({
|
||||
content: '操作成功',
|
||||
type: 'success',
|
||||
});
|
||||
},
|
||||
async updateMessageTypes(selectedTypes: string[]) {
|
||||
const { result: MessageTypes } =
|
||||
await this.features.template.getMessageType();
|
||||
const messageTypes = MessageTypes.filter(
|
||||
(ele: string) => !selectedTypes.includes(ele)
|
||||
);
|
||||
this.setState({
|
||||
messageTypes,
|
||||
});
|
||||
},
|
||||
}
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -6,15 +6,16 @@ import { EntityDict } from '../../../oak-app-domain';
|
|||
export default function Render(
|
||||
props: WebComponentProps<
|
||||
EntityDict,
|
||||
'messageTypeTemplate',
|
||||
'messageTypeSmsTemplate',
|
||||
true,
|
||||
{
|
||||
mtt: EntityDict['messageTypeTemplate']['Schema'][];
|
||||
mtt: EntityDict['messageTypeSmsTemplate']['Schema'][];
|
||||
smsTemplates: EntityDict['smsTemplate']['Schema'][];
|
||||
dirtyIds: string[];
|
||||
messageTypes: string[];
|
||||
systemId: string;
|
||||
origin: EntityDict['smsTemplate']['Schema']['origin'];
|
||||
selectedTypes: string[]
|
||||
},
|
||||
{
|
||||
syncTemplate: () => Promise<void>;
|
||||
|
|
@ -29,6 +30,7 @@ export default function Render(
|
|||
messageTypes = [],
|
||||
systemId,
|
||||
smsTemplates = [],
|
||||
selectedTypes = [],
|
||||
} = props.data;
|
||||
const {
|
||||
setCurrentPage,
|
||||
|
|
@ -124,17 +126,14 @@ export default function Render(
|
|||
options={messageTypes.map((ele) => ({
|
||||
value: ele,
|
||||
label: ele,
|
||||
disabled: selectedTypes.includes(ele)
|
||||
}))}
|
||||
/>
|
||||
);
|
||||
}
|
||||
return (
|
||||
<Typography.Text
|
||||
type={
|
||||
!!record.$$deleteAt$$
|
||||
? 'danger'
|
||||
: undefined
|
||||
}
|
||||
type={!!record.$$deleteAt$$ ? 'danger' : undefined}
|
||||
delete={!!record.$$deleteAt$$}
|
||||
>
|
||||
{value}
|
||||
|
|
@ -174,14 +173,10 @@ export default function Render(
|
|||
}
|
||||
return (
|
||||
<Typography.Text
|
||||
type={
|
||||
!!record.$$deleteAt$$
|
||||
? 'danger'
|
||||
: undefined
|
||||
}
|
||||
type={!!record.$$deleteAt$$ ? 'danger' : undefined}
|
||||
delete={!!record.$$deleteAt$$}
|
||||
>
|
||||
{record?.template?.title}
|
||||
{record?.template?.templateName}
|
||||
</Typography.Text>
|
||||
);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import React, { useState } from 'react';
|
||||
import { WebComponentProps } from 'oak-frontend-base';
|
||||
import { Tabs } from 'antd';
|
||||
import MessageTypeSmsTemplateList from '../list';
|
||||
import { EntityDict } from '../../../oak-app-domain';
|
||||
import { Origin } from '../../../oak-app-domain/SmsTemplate/Schema';
|
||||
import MessageTypeSmsTemplateList from '../list';
|
||||
|
||||
export default function Render(
|
||||
props: WebComponentProps<
|
||||
|
|
@ -37,6 +37,7 @@ export default function Render(
|
|||
return (
|
||||
<Tabs
|
||||
items={items}
|
||||
activeKey={tabKey}
|
||||
onChange={(key) => {
|
||||
setTabKey(key as Origin);
|
||||
}}
|
||||
|
|
|
|||
Loading…
Reference in New Issue