This commit is contained in:
Xu Chang 2024-07-18 20:27:42 +08:00
parent e68ed07c4c
commit 37c7f6c9e6
13 changed files with 62 additions and 28 deletions

View File

@ -21,13 +21,8 @@ declare const List: <T extends keyof EntityDict>(props: ReactComponentProps<Enti
rowSelection?: any;
hideHeader?: boolean | undefined;
disableSerialNumber?: boolean | undefined;
size?: "small" | "middle" | "large" | undefined;
scroll?: ({
x?: string | number | true | undefined;
y?: string | number | undefined;
} & {
scrollToFirstRowOnChange?: boolean | undefined;
}) | undefined;
size?: "large" | "middle" | "small" | undefined;
scroll?: any;
empty?: React.ReactNode;
opWidth?: number | undefined;
ellipsis?: boolean | undefined;
@ -48,7 +43,7 @@ declare const ListPro: <T extends keyof EntityDict>(props: {
tablePagination?: any;
rowSelection?: any;
disableSerialNumber?: boolean | undefined;
size?: "small" | "middle" | "large" | undefined;
size?: "large" | "middle" | "small" | undefined;
scroll?: any;
empty?: any;
opWidth?: number | undefined;

View File

@ -1,3 +1,7 @@
/**
* 抽象组件在业务层根据EntityDict的重新声明
* by Xc 20230807
*/
import AbsFilterPanel from 'oak-frontend-base/es/components/filterPanel';
import AbsList from 'oak-frontend-base/es/components/list';
import AbsListPro from 'oak-frontend-base/es/components/listPro';

View File

@ -225,17 +225,20 @@ export default OakComponent({
setDepPriceMp(price) { this.setDepPrice(price); },
setDepositChannelMp(depositChannel) { this.setDepositChannel(depositChannel); },
focus: false,
unsub: undefined,
},
lifetimes: {
ready() {
async ready() {
const { oakId } = this.props;
assert(typeof oakId === 'string');
this.subDataEvents([`${DATA_SUBSCRIBER_KEYS.accountNumberChanged}-${oakId}`], 'opb-c-account-detail');
const unsub = await this.subDataEvents([`${DATA_SUBSCRIBER_KEYS.accountNumberChanged}-${oakId}`]);
this.setState({
unsub,
});
},
detached() {
const { oakId } = this.props;
assert(typeof oakId === 'string');
this.unsubDataEvents([`${DATA_SUBSCRIBER_KEYS.accountNumberChanged}-${oakId}`], 'opb-c-account-detail');
const { unsub } = this.state;
unsub && unsub();
}
}
});

View File

@ -118,6 +118,7 @@ export default OakComponent({
data: {
showCloseConfirmMp: false,
showChannelSelectMp: false,
unsub: undefined,
},
formData({ data }) {
const application = this.features.application.getApplication();
@ -292,15 +293,17 @@ export default OakComponent({
}
},
lifetimes: {
ready() {
async ready() {
const { oakId } = this.props;
assert(typeof oakId === 'string');
this.subDataEvents([`${DATA_SUBSCRIBER_KEYS.payStateChanged}-${oakId}`], 'opb-c-pay-detail');
const unsub = await this.subDataEvents([`${DATA_SUBSCRIBER_KEYS.payStateChanged}-${oakId}`]);
this.setState({
unsub,
});
},
detached() {
const { oakId } = this.props;
assert(typeof oakId === 'string');
this.unsubDataEvents([`${DATA_SUBSCRIBER_KEYS.payStateChanged}-${oakId}`], 'opb-c-pay-detail');
const { unsub } = this.state;
unsub && unsub();
}
},
listeners: {

View File

@ -74,6 +74,14 @@ const attrUpdateMatrix = {
},
},
},
timeoutAt: {
actions: ['startPaying'],
filter: {
iState: {
$in: ['unpaid', 'paying'],
}
}
},
},
refund: {
externalId: {

View File

@ -155,7 +155,10 @@ export async function refreshPayState(pay, context) {
filter: {
id: pay.id,
}
}, { blockTrigger: true });
}, {
blockTrigger: true,
forUpdate: true,
});
pay2 = pays[0];
}
const { entity, entityId, timeoutAt, price } = pay2;

View File

@ -123,6 +123,7 @@ exports.default = OakComponent({
data: {
showCloseConfirmMp: false,
showChannelSelectMp: false,
unsub: undefined,
},
formData({ data }) {
const application = this.features.application.getApplication();
@ -297,15 +298,17 @@ exports.default = OakComponent({
}
},
lifetimes: {
ready() {
async ready() {
const { oakId } = this.props;
(0, assert_1.default)(typeof oakId === 'string');
this.subDataEvents([`${constants_1.DATA_SUBSCRIBER_KEYS.payStateChanged}-${oakId}`], 'opb-c-pay-detail');
const unsub = await this.subDataEvents([`${constants_1.DATA_SUBSCRIBER_KEYS.payStateChanged}-${oakId}`]);
this.setState({
unsub,
});
},
detached() {
const { oakId } = this.props;
(0, assert_1.default)(typeof oakId === 'string');
this.unsubDataEvents([`${constants_1.DATA_SUBSCRIBER_KEYS.payStateChanged}-${oakId}`], 'opb-c-pay-detail');
const { unsub } = this.state;
unsub && unsub();
}
},
listeners: {

View File

@ -76,6 +76,14 @@ const attrUpdateMatrix = {
},
},
},
timeoutAt: {
actions: ['startPaying'],
filter: {
iState: {
$in: ['unpaid', 'paying'],
}
}
},
},
refund: {
externalId: {

View File

@ -15,7 +15,7 @@ export declare class BackendRuntimeContext<ED extends EntityDict & BaseEntityDic
type?: number | undefined;
systemId?: number | undefined;
system?: import("../oak-app-domain/System/Schema").Projection | undefined;
config?: number | import("oak-domain/lib/types").JsonProjection<import("../oak-app-domain/Application/Schema").WebConfig | import("../oak-app-domain/Application/Schema").WechatMpConfig | import("../oak-app-domain/Application/Schema").WechatPublicConfig | import("../oak-app-domain/Application/Schema").NativeConfig> | undefined;
config?: number | import("oak-domain/lib/types").JsonProjection<import("../oak-app-domain/Application/Schema").WechatMpConfig | import("../oak-app-domain/Application/Schema").WebConfig | import("../oak-app-domain/Application/Schema").WechatPublicConfig | import("../oak-app-domain/Application/Schema").NativeConfig> | undefined;
style?: number | import("oak-domain/lib/types").JsonProjection<import("oak-general-business/lib/types/Style").Style> | undefined;
domainId?: number | undefined;
domain?: import("../oak-app-domain/Domain/Schema").Projection | undefined;

View File

@ -14,7 +14,7 @@ export declare const mergedProjection: {
type?: number | undefined;
systemId?: number | undefined;
system?: import("../oak-app-domain/System/Schema").Projection | undefined;
config?: number | import("oak-domain/lib/types").JsonProjection<import("../oak-app-domain/Application/Schema").WebConfig | import("../oak-app-domain/Application/Schema").WechatMpConfig | import("../oak-app-domain/Application/Schema").WechatPublicConfig | import("../oak-app-domain/Application/Schema").NativeConfig> | undefined;
config?: number | import("oak-domain/lib/types").JsonProjection<import("../oak-app-domain/Application/Schema").WechatMpConfig | import("../oak-app-domain/Application/Schema").WebConfig | import("../oak-app-domain/Application/Schema").WechatPublicConfig | import("../oak-app-domain/Application/Schema").NativeConfig> | undefined;
style?: number | import("oak-domain/lib/types").JsonProjection<import("oak-general-business/lib/types/Style").Style> | undefined;
domainId?: number | undefined;
domain?: import("../oak-app-domain/Domain/Schema").Projection | undefined;

View File

@ -161,7 +161,10 @@ async function refreshPayState(pay, context) {
filter: {
id: pay.id,
}
}, { blockTrigger: true });
}, {
blockTrigger: true,
forUpdate: true,
});
pay2 = pays[0];
}
const { entity, entityId, timeoutAt, price } = pay2;

View File

@ -2,6 +2,7 @@
* EntityDict的重新声明
* by Xc 20230807
*/
// @ts-nocheck
import React from 'react';
import { EntityDict } from '../oak-app-domain';

View File

@ -180,7 +180,10 @@ export async function refreshPayState(
filter: {
id: pay.id,
}
}, { blockTrigger: true });
}, {
blockTrigger: true,
forUpdate: true,
});
pay2 = pays[0] as typeof pay;
}
const { entity, entityId, timeoutAt, price } = pay2;