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