@pisell/private-materials 6.6.76 → 6.6.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.js +1 -1
- package/build/lowcode/view.js +1 -1
- package/es/businessModel/SalesModel/index.d.ts +0 -1
- package/es/components/booking/addons/model.d.ts +10 -1
- package/es/components/booking/components/TabProduct/index.d.ts +0 -1
- package/es/components/booking/components/formItemChildrenWrap/index.d.ts +0 -1
- package/es/components/booking/components/voucher/index.js +9 -3
- package/es/components/booking/forms/model.d.ts +10 -1
- package/es/components/booking/forms/sendModal/useSendModal.d.ts +1 -1
- package/es/components/booking/forms/table/index.d.ts +0 -1
- package/es/components/booking/info/addServiceVariant/index.d.ts +0 -1
- package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
- package/es/components/booking/info/index.d.ts +0 -1
- package/es/components/booking/info/model.d.ts +10 -1
- package/es/components/booking/info/service/like/index.d.ts +0 -1
- package/es/components/booking/materiels/startTime/index.d.ts +0 -1
- package/es/components/booking/model.d.ts +9 -1
- package/es/components/booking/notes/model.d.ts +10 -1
- package/es/components/booking/payments/model.d.ts +10 -1
- package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
- package/es/components/eftpos/SettlementModal/Action.d.ts +0 -1
- package/es/components/eftpos/deviceList/index.d.ts +0 -1
- package/es/components/eftpos/form/index.d.ts +0 -1
- package/es/components/eftpos/group/index.d.ts +0 -1
- package/es/components/eftpos/hooks.d.ts +0 -1
- package/es/components/eftpos/icon/apiKey.d.ts +0 -1
- package/es/components/eftpos/icon/device.d.ts +0 -1
- package/es/components/eftpos/receipt/index.d.ts +0 -1
- package/es/components/eftpos/surcharge/index.d.ts +0 -1
- package/es/components/eftposPay/adyenPos/index.js +9 -5
- package/es/components/eftposPay/adyenPos/receipt.d.ts +21 -0
- package/es/components/eftposPay/adyenPos/receipt.js +185 -0
- package/es/components/eftposPay/amount.d.ts +1 -1
- package/es/components/eftposPay/component/alert/warn.d.ts +0 -1
- package/es/components/eftposPay/component/header/titlebar.d.ts +0 -1
- package/es/components/eftposPay/component/step/index.d.ts +0 -1
- package/es/components/eftposPay/component/step/step.d.ts +0 -1
- package/es/components/eftposPay/device.d.ts +1 -1
- package/es/components/eftposPay/hooks.d.ts +2 -2
- package/es/components/eftposPay/mx51/Action.d.ts +0 -1
- package/es/components/eftposPay/store/index.d.ts +4 -4
- package/es/components/eftposPay/tyro/hooks.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
- package/es/components/pay/toB/components/CardGroup/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
- package/es/components/pay/toC/model.d.ts +9 -1
- package/es/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +0 -1
- package/es/components/productExtension/fields/Actor/index.d.ts +0 -1
- package/es/components/productExtension/fields/Forms/index.d.ts +0 -1
- package/es/components/schedules/calendar/calendarItem.d.ts +0 -1
- package/es/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +0 -1
- package/es/components/schedules/model.d.ts +9 -1
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +0 -1
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +0 -1
- package/es/components/schedules/resources/relationProduct/index.d.ts +0 -1
- package/es/components/shoppingCart/components/Empty/index.d.ts +0 -1
- package/es/components/shoppingCart/components/Render/index.d.ts +0 -1
- package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -1
- package/es/plus/clientName/index.d.ts +0 -1
- package/es/plus/clinetSearch/Add/PhoneField/index.d.ts +0 -1
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.d.ts +0 -1
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.d.ts +0 -1
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.d.ts +0 -1
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.d.ts +0 -1
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.d.ts +0 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.d.ts +0 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.d.ts +0 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.d.ts +0 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.d.ts +0 -1
- package/es/plus/productSelect/ProductCard/SkuCard/index.d.ts +0 -1
- package/es/pro/pisellPaymentList/example.d.ts +0 -1
- package/lib/businessModel/SalesModel/index.d.ts +0 -1
- package/lib/components/booking/addons/model.d.ts +10 -1
- package/lib/components/booking/components/TabProduct/index.d.ts +0 -1
- package/lib/components/booking/components/formItemChildrenWrap/index.d.ts +0 -1
- package/lib/components/booking/components/voucher/index.js +9 -3
- package/lib/components/booking/forms/model.d.ts +10 -1
- package/lib/components/booking/forms/sendModal/useSendModal.d.ts +1 -1
- package/lib/components/booking/forms/table/index.d.ts +0 -1
- package/lib/components/booking/info/addServiceVariant/index.d.ts +0 -1
- package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
- package/lib/components/booking/info/index.d.ts +0 -1
- package/lib/components/booking/info/model.d.ts +10 -1
- package/lib/components/booking/info/service/like/index.d.ts +0 -1
- package/lib/components/booking/materiels/startTime/index.d.ts +0 -1
- package/lib/components/booking/model.d.ts +9 -1
- package/lib/components/booking/notes/model.d.ts +10 -1
- package/lib/components/booking/payments/model.d.ts +10 -1
- package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
- package/lib/components/eftpos/SettlementModal/Action.d.ts +0 -1
- package/lib/components/eftpos/deviceList/index.d.ts +0 -1
- package/lib/components/eftpos/form/index.d.ts +0 -1
- package/lib/components/eftpos/group/index.d.ts +0 -1
- package/lib/components/eftpos/hooks.d.ts +0 -1
- package/lib/components/eftpos/icon/apiKey.d.ts +0 -1
- package/lib/components/eftpos/icon/device.d.ts +0 -1
- package/lib/components/eftpos/receipt/index.d.ts +0 -1
- package/lib/components/eftpos/surcharge/index.d.ts +0 -1
- package/lib/components/eftposPay/adyenPos/index.js +11 -5
- package/lib/components/eftposPay/adyenPos/receipt.d.ts +21 -0
- package/lib/components/eftposPay/adyenPos/receipt.js +193 -0
- package/lib/components/eftposPay/amount.d.ts +1 -1
- package/lib/components/eftposPay/component/alert/warn.d.ts +0 -1
- package/lib/components/eftposPay/component/header/titlebar.d.ts +0 -1
- package/lib/components/eftposPay/component/step/index.d.ts +0 -1
- package/lib/components/eftposPay/component/step/step.d.ts +0 -1
- package/lib/components/eftposPay/device.d.ts +1 -1
- package/lib/components/eftposPay/hooks.d.ts +2 -2
- package/lib/components/eftposPay/mx51/Action.d.ts +0 -1
- package/lib/components/eftposPay/store/index.d.ts +4 -4
- package/lib/components/eftposPay/tyro/hooks.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
- package/lib/components/pay/toB/components/CardGroup/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
- package/lib/components/pay/toC/model.d.ts +9 -1
- package/lib/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +0 -1
- package/lib/components/productExtension/fields/Actor/index.d.ts +0 -1
- package/lib/components/productExtension/fields/Forms/index.d.ts +0 -1
- package/lib/components/schedules/calendar/calendarItem.d.ts +0 -1
- package/lib/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +0 -1
- package/lib/components/schedules/model.d.ts +9 -1
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +0 -1
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +0 -1
- package/lib/components/schedules/resources/relationProduct/index.d.ts +0 -1
- package/lib/components/shoppingCart/components/Empty/index.d.ts +0 -1
- package/lib/components/shoppingCart/components/Render/index.d.ts +0 -1
- package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -1
- package/lib/plus/clientName/index.d.ts +0 -1
- package/lib/plus/clinetSearch/Add/PhoneField/index.d.ts +0 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.d.ts +0 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.d.ts +0 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.d.ts +0 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.d.ts +0 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.d.ts +0 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.d.ts +0 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.d.ts +0 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.d.ts +0 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.d.ts +0 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/index.d.ts +0 -1
- package/lib/pro/pisellPaymentList/example.d.ts +0 -1
- package/package.json +1 -1
|
@@ -1 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FormState } from "../model";
|
|
3
|
+
export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
|
|
4
|
+
state: FormState;
|
|
5
|
+
} & {
|
|
6
|
+
dispatch: (params: {
|
|
7
|
+
type: string;
|
|
8
|
+
payload: any;
|
|
9
|
+
}) => void;
|
|
10
|
+
}>;
|
|
@@ -43,7 +43,7 @@ var ShopDiscountHooks = {
|
|
|
43
43
|
};
|
|
44
44
|
var services = {};
|
|
45
45
|
var VoucherCard = function VoucherCard(props) {
|
|
46
|
-
var _context$appHelper, _state$client$value, _state$pet2, _state$service3;
|
|
46
|
+
var _context$appHelper, _state$client$value, _state$bookingDetail2, _state$pet2, _state$service3;
|
|
47
47
|
var context = useEngineContext();
|
|
48
48
|
var state = props.state,
|
|
49
49
|
dispatch = props.dispatch,
|
|
@@ -116,6 +116,12 @@ var VoucherCard = function VoucherCard(props) {
|
|
|
116
116
|
}, [(_state$client$value = state.client.value) === null || _state$client$value === void 0 ? void 0 : _state$client$value.id, isBooking4Shop], {
|
|
117
117
|
wait: 200
|
|
118
118
|
});
|
|
119
|
+
useEffect(function () {
|
|
120
|
+
if (shopDiscount !== null && shopDiscount !== void 0 && shopDiscount.setOrderId) {
|
|
121
|
+
var _shopDiscount$setOrde, _state$bookingDetail;
|
|
122
|
+
(_shopDiscount$setOrde = shopDiscount.setOrderId) === null || _shopDiscount$setOrde === void 0 || _shopDiscount$setOrde.call(shopDiscount, ((_state$bookingDetail = state.bookingDetail) === null || _state$bookingDetail === void 0 ? void 0 : _state$bookingDetail.id) || (state === null || state === void 0 ? void 0 : state.bookingId));
|
|
123
|
+
}
|
|
124
|
+
}, [(_state$bookingDetail2 = state.bookingDetail) === null || _state$bookingDetail2 === void 0 ? void 0 : _state$bookingDetail2.id, state === null || state === void 0 ? void 0 : state.bookingId]);
|
|
119
125
|
|
|
120
126
|
// 设置productList
|
|
121
127
|
useEffect(function () {
|
|
@@ -199,8 +205,8 @@ var VoucherCard = function VoucherCard(props) {
|
|
|
199
205
|
shopDiscount === null || shopDiscount === void 0 || (_shopDiscount$setBook = shopDiscount.setBookingSubject) === null || _shopDiscount$setBook === void 0 || _shopDiscount$setBook.call(shopDiscount, (_state$bookingConfig = state.bookingConfig) === null || _state$bookingConfig === void 0 || (_state$bookingConfig = _state$bookingConfig.config) === null || _state$bookingConfig === void 0 || (_state$bookingConfig = _state$bookingConfig.basic) === null || _state$bookingConfig === void 0 ? void 0 : _state$bookingConfig.appointment_subject);
|
|
200
206
|
}, [state.bookingConfig]);
|
|
201
207
|
var disabled = useMemo(function () {
|
|
202
|
-
var _state$
|
|
203
|
-
if (['paid', 'partially_paid'].includes((_state$
|
|
208
|
+
var _state$bookingDetail3;
|
|
209
|
+
if (['paid', 'partially_paid'].includes((_state$bookingDetail3 = state.bookingDetail) === null || _state$bookingDetail3 === void 0 ? void 0 : _state$bookingDetail3.payment_status) && hasEveryBookingId([].concat(_toConsumableArray(state.addons.value || []), _toConsumableArray(state.service.value || [])))) {
|
|
204
210
|
return true;
|
|
205
211
|
}
|
|
206
212
|
return false;
|
|
@@ -1 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FormState } from "../model";
|
|
3
|
+
export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
|
|
4
|
+
state: FormState;
|
|
5
|
+
} & {
|
|
6
|
+
dispatch: (params: {
|
|
7
|
+
type: string;
|
|
8
|
+
payload: any;
|
|
9
|
+
}) => void;
|
|
10
|
+
}>;
|
|
@@ -4,6 +4,6 @@ declare const useSendModal: (bookingId?: number) => {
|
|
|
4
4
|
setOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
5
5
|
handleOpen: () => void;
|
|
6
6
|
handleValuesChange: (val: any) => void;
|
|
7
|
-
handleOk: (values: SendModalValues) => Promise<
|
|
7
|
+
handleOk: (values: SendModalValues) => Promise<boolean | undefined>;
|
|
8
8
|
};
|
|
9
9
|
export default useSendModal;
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FormState } from '../model';
|
|
1
3
|
export declare const walkInData: {
|
|
2
4
|
id: number;
|
|
3
5
|
nickname: string;
|
|
4
6
|
};
|
|
5
|
-
export declare const Provider: any, Context:
|
|
7
|
+
export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
|
|
8
|
+
state: FormState;
|
|
9
|
+
} & {
|
|
10
|
+
dispatch: (params: {
|
|
11
|
+
type: string;
|
|
12
|
+
payload: any;
|
|
13
|
+
}) => void;
|
|
14
|
+
}>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
export interface FormState {
|
|
2
3
|
amountSymbol: string;
|
|
3
4
|
apis: {
|
|
@@ -109,4 +110,11 @@ export declare const walkInData: {
|
|
|
109
110
|
id: number;
|
|
110
111
|
nickname: string;
|
|
111
112
|
};
|
|
112
|
-
export declare const Provider: any, Context:
|
|
113
|
+
export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
|
|
114
|
+
state: FormState;
|
|
115
|
+
} & {
|
|
116
|
+
dispatch: (params: {
|
|
117
|
+
type: string;
|
|
118
|
+
payload: any;
|
|
119
|
+
}) => void;
|
|
120
|
+
}>;
|
|
@@ -1 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FormState } from "../model";
|
|
3
|
+
export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
|
|
4
|
+
state: FormState;
|
|
5
|
+
} & {
|
|
6
|
+
dispatch: (params: {
|
|
7
|
+
type: string;
|
|
8
|
+
payload: any;
|
|
9
|
+
}) => void;
|
|
10
|
+
}>;
|
|
@@ -1 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { FormState } from "../model";
|
|
3
|
+
export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
|
|
4
|
+
state: FormState;
|
|
5
|
+
} & {
|
|
6
|
+
dispatch: (params: {
|
|
7
|
+
type: string;
|
|
8
|
+
payload: any;
|
|
9
|
+
}) => void;
|
|
10
|
+
}>;
|
|
@@ -17,7 +17,7 @@ export declare const useWalletPass: (props: {
|
|
|
17
17
|
cardData: any;
|
|
18
18
|
handleSelectWallet: (value: number[]) => void;
|
|
19
19
|
selectedWalletIds: any[];
|
|
20
|
-
expiredWalletIds: any
|
|
20
|
+
expiredWalletIds: any;
|
|
21
21
|
expiredWalletData: any;
|
|
22
22
|
disabledWalletData: any[];
|
|
23
23
|
clearAllSelectedWallet: () => void;
|
|
@@ -22,6 +22,7 @@ import { getPayParams } from "../helper";
|
|
|
22
22
|
import { usePayment } from "../aggregatePayment";
|
|
23
23
|
import { EPaymentStatus } from "../aggregatePayment/types";
|
|
24
24
|
import payLog from "../utils/payLog";
|
|
25
|
+
import { buildAdyenReceiptPrintPayload } from "./receipt";
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
28
|
* Adyen 常规支付组件
|
|
@@ -128,9 +129,11 @@ var AdyenPos = function AdyenPos(_ref) {
|
|
|
128
129
|
* - 否则直接走成功流程
|
|
129
130
|
*/
|
|
130
131
|
var handleSuccess = function handleSuccess(responseData) {
|
|
131
|
-
var _responseData$data, _response$cvm_result;
|
|
132
|
+
var _responseData$data, _response$cvm_result, _deviceRef$current;
|
|
132
133
|
var _response = (responseData === null || responseData === void 0 || (_responseData$data = responseData.data) === null || _responseData$data === void 0 ? void 0 : _responseData$data.external_unified_response) || {};
|
|
133
134
|
var signatureRequired = _response === null || _response === void 0 || (_response$cvm_result = _response.cvm_result) === null || _response$cvm_result === void 0 ? void 0 : _response$cvm_result.signature_required;
|
|
135
|
+
var deviceSetting = (_deviceRef$current = deviceRef.current) === null || _deviceRef$current === void 0 ? void 0 : _deviceRef$current.setting;
|
|
136
|
+
var receipt = buildAdyenReceiptPrintPayload(_response === null || _response === void 0 ? void 0 : _response.receipts, deviceSetting === null || deviceSetting === void 0 ? void 0 : deviceSetting.print_mode);
|
|
134
137
|
dispatch(updateState({
|
|
135
138
|
status: 'success',
|
|
136
139
|
title: locales.getText('page.eftpos-pay.text.successful')(modeRef.current)
|
|
@@ -138,7 +141,7 @@ var AdyenPos = function AdyenPos(_ref) {
|
|
|
138
141
|
dispatch(updateNextStep());
|
|
139
142
|
dispatch(updateCustom({
|
|
140
143
|
card_reader_surcharge: 0,
|
|
141
|
-
receipt:
|
|
144
|
+
receipt: receipt
|
|
142
145
|
}));
|
|
143
146
|
var params = getPayParams({
|
|
144
147
|
mode: modeRef.current,
|
|
@@ -149,11 +152,12 @@ var AdyenPos = function AdyenPos(_ref) {
|
|
|
149
152
|
pay: payRef.current,
|
|
150
153
|
custom: {
|
|
151
154
|
card_reader_surcharge: 0,
|
|
152
|
-
receipt:
|
|
155
|
+
receipt: receipt
|
|
153
156
|
}
|
|
154
157
|
}, 'success');
|
|
158
|
+
// Adyen 小票只由 print_mode 控制,覆盖 getPayParams 中旧 receipts 设置的结果
|
|
155
159
|
var onChangeParams = _objectSpread(_objectSpread({}, params), {}, {
|
|
156
|
-
receipt:
|
|
160
|
+
receipt: receipt
|
|
157
161
|
});
|
|
158
162
|
if (signatureRequired) {
|
|
159
163
|
// 暂存参数,等待员工完成签名核查后再触发
|
|
@@ -164,7 +168,7 @@ var AdyenPos = function AdyenPos(_ref) {
|
|
|
164
168
|
} else {
|
|
165
169
|
clearRef.current = setTimeout(function () {
|
|
166
170
|
if (unloadRef.current) return;
|
|
167
|
-
onChange('success',
|
|
171
|
+
onChange('success', onChangeParams);
|
|
168
172
|
}, 1000);
|
|
169
173
|
}
|
|
170
174
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** 58mm 热敏纸在标准字体下常用的半角字符列数 */
|
|
2
|
+
export declare const ADYEN_RECEIPT_LINE_WIDTH = 32;
|
|
3
|
+
export interface AdyenReceipt {
|
|
4
|
+
document_qualifier?: string;
|
|
5
|
+
lines?: unknown[];
|
|
6
|
+
}
|
|
7
|
+
/** 获取文本在等宽热敏打印机上的显示列数 */
|
|
8
|
+
export declare const getReceiptTextWidth: (text: string) => number;
|
|
9
|
+
/**
|
|
10
|
+
* 将单份 Adyen PaymentReceipt 转换为可供热敏打印机消费的纯文本。
|
|
11
|
+
*/
|
|
12
|
+
export declare const formatAdyenReceipt: (receipt: AdyenReceipt, width?: number) => string;
|
|
13
|
+
/** 按 Adyen 返回顺序生成商户联、顾客联等独立打印任务 */
|
|
14
|
+
export declare const formatAdyenReceipts: (receipts: unknown, width?: number) => string[];
|
|
15
|
+
/**
|
|
16
|
+
* 是否需要由 POS 打印收据。
|
|
17
|
+
* 兼容历史 boolean 设置以及接口可能返回的 number/string。
|
|
18
|
+
*/
|
|
19
|
+
export declare const shouldPrintReceiptOnPos: (setting?: boolean | number | string) => boolean;
|
|
20
|
+
/** 根据设备设置构建最终传给 POS 的小票数组 */
|
|
21
|
+
export declare const buildAdyenReceiptPrintPayload: (receipts: unknown, printMode?: boolean | number | string, width?: number) => string[];
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
3
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
6
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
7
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
8
|
+
/** 58mm 热敏纸在标准字体下常用的半角字符列数 */
|
|
9
|
+
export var ADYEN_RECEIPT_LINE_WIDTH = 32;
|
|
10
|
+
var TITLE_KEYS = new Set(['merchantTitle', 'cardholderHeader']);
|
|
11
|
+
var CENTERED_KEYS = new Set(['header1', 'header2', 'approved', 'refused', 'void', 'cvmRes', 'retain', 'thanks', 'sigline', 'merchantSigline']);
|
|
12
|
+
var isCombiningCodePoint = function isCombiningCodePoint(codePoint) {
|
|
13
|
+
return codePoint >= 0x0300 && codePoint <= 0x036f || codePoint >= 0x1ab0 && codePoint <= 0x1aff || codePoint >= 0x1dc0 && codePoint <= 0x1dff || codePoint >= 0x20d0 && codePoint <= 0x20ff || codePoint >= 0xfe20 && codePoint <= 0xfe2f || codePoint === 0xfe0e || codePoint === 0xfe0f;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 判断字符是否需要占用两个等宽打印列。
|
|
18
|
+
* 覆盖 CJK、全角字符和常见 emoji,避免居中及换行时错位。
|
|
19
|
+
*/
|
|
20
|
+
var isWideCodePoint = function isWideCodePoint(codePoint) {
|
|
21
|
+
return codePoint >= 0x1100 && (codePoint <= 0x115f || codePoint === 0x2329 || codePoint === 0x232a || codePoint >= 0x2e80 && codePoint <= 0xa4cf && codePoint !== 0x303f || codePoint >= 0xac00 && codePoint <= 0xd7a3 || codePoint >= 0xf900 && codePoint <= 0xfaff || codePoint >= 0xfe10 && codePoint <= 0xfe19 || codePoint >= 0xfe30 && codePoint <= 0xfe6f || codePoint >= 0xff00 && codePoint <= 0xff60 || codePoint >= 0xffe0 && codePoint <= 0xffe6 || codePoint >= 0x1f300 && codePoint <= 0x1faff || codePoint >= 0x20000 && codePoint <= 0x3fffd);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/** 获取文本在等宽热敏打印机上的显示列数 */
|
|
25
|
+
export var getReceiptTextWidth = function getReceiptTextWidth(text) {
|
|
26
|
+
return Array.from(text).reduce(function (width, character) {
|
|
27
|
+
var codePoint = character.codePointAt(0) || 0;
|
|
28
|
+
if (isCombiningCodePoint(codePoint)) {
|
|
29
|
+
return width;
|
|
30
|
+
}
|
|
31
|
+
return width + (isWideCodePoint(codePoint) ? 2 : 1);
|
|
32
|
+
}, 0);
|
|
33
|
+
};
|
|
34
|
+
var normalizeLineWidth = function normalizeLineWidth(width) {
|
|
35
|
+
if (!Number.isFinite(width) || Number(width) < 4) {
|
|
36
|
+
return ADYEN_RECEIPT_LINE_WIDTH;
|
|
37
|
+
}
|
|
38
|
+
return Math.floor(Number(width));
|
|
39
|
+
};
|
|
40
|
+
var wrapText = function wrapText(text, width) {
|
|
41
|
+
var normalizedText = text.trim();
|
|
42
|
+
if (!normalizedText) {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
var lines = [];
|
|
46
|
+
var currentLine = '';
|
|
47
|
+
var currentWidth = 0;
|
|
48
|
+
Array.from(normalizedText).forEach(function (character) {
|
|
49
|
+
var characterWidth = getReceiptTextWidth(character);
|
|
50
|
+
if (currentLine && currentWidth + characterWidth > width) {
|
|
51
|
+
lines.push(currentLine);
|
|
52
|
+
currentLine = character;
|
|
53
|
+
currentWidth = characterWidth;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
currentLine += character;
|
|
57
|
+
currentWidth += characterWidth;
|
|
58
|
+
});
|
|
59
|
+
if (currentLine) {
|
|
60
|
+
lines.push(currentLine);
|
|
61
|
+
}
|
|
62
|
+
return lines;
|
|
63
|
+
};
|
|
64
|
+
var centerText = function centerText(text, width) {
|
|
65
|
+
return wrapText(text, width).map(function (line) {
|
|
66
|
+
var padding = Math.max(0, Math.floor((width - getReceiptTextWidth(line)) / 2));
|
|
67
|
+
return "".concat(' '.repeat(padding)).concat(line);
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
var rightAlignText = function rightAlignText(text, width) {
|
|
71
|
+
return wrapText(text, width).map(function (line) {
|
|
72
|
+
var padding = Math.max(0, width - getReceiptTextWidth(line));
|
|
73
|
+
return "".concat(' '.repeat(padding)).concat(line);
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
var frameTitle = function frameTitle(text, width) {
|
|
77
|
+
var innerWidth = width - 2;
|
|
78
|
+
return wrapText(text, innerWidth).map(function (line) {
|
|
79
|
+
var remainingWidth = Math.max(0, innerWidth - getReceiptTextWidth(line));
|
|
80
|
+
var left = Math.floor(remainingWidth / 2);
|
|
81
|
+
var right = remainingWidth - left;
|
|
82
|
+
return "*".concat('-'.repeat(left)).concat(line).concat('-'.repeat(right), "*");
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
var parseReceiptLine = function parseReceiptLine(line) {
|
|
86
|
+
if (typeof line !== 'string' || !line) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
var params = new URLSearchParams(line);
|
|
91
|
+
return {
|
|
92
|
+
key: (params.get('key') || '').trim(),
|
|
93
|
+
name: (params.get('name') || '').trim(),
|
|
94
|
+
value: (params.get('value') || '').trim()
|
|
95
|
+
};
|
|
96
|
+
} catch (_error) {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
var renderKeyValue = function renderKeyValue(name, value, width) {
|
|
101
|
+
if (!name) {
|
|
102
|
+
return centerText(value, width);
|
|
103
|
+
}
|
|
104
|
+
if (!value) {
|
|
105
|
+
return centerText(name, width);
|
|
106
|
+
}
|
|
107
|
+
var nameWidth = getReceiptTextWidth(name);
|
|
108
|
+
var valueWidth = getReceiptTextWidth(value);
|
|
109
|
+
if (nameWidth + valueWidth + 1 <= width) {
|
|
110
|
+
return ["".concat(name).concat(' '.repeat(width - nameWidth - valueWidth)).concat(value)];
|
|
111
|
+
}
|
|
112
|
+
return [].concat(_toConsumableArray(wrapText(name, width)), _toConsumableArray(rightAlignText(value, width)));
|
|
113
|
+
};
|
|
114
|
+
var renderReceiptLine = function renderReceiptLine(receiptLine, width) {
|
|
115
|
+
var key = receiptLine.key,
|
|
116
|
+
name = receiptLine.name,
|
|
117
|
+
value = receiptLine.value;
|
|
118
|
+
if (key === 'filler') {
|
|
119
|
+
return [''];
|
|
120
|
+
}
|
|
121
|
+
var content = value || name;
|
|
122
|
+
if (TITLE_KEYS.has(key) && content) {
|
|
123
|
+
return frameTitle(content, width);
|
|
124
|
+
}
|
|
125
|
+
if (CENTERED_KEYS.has(key) && content) {
|
|
126
|
+
return centerText(content, width);
|
|
127
|
+
}
|
|
128
|
+
return renderKeyValue(name, value, width);
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* 将单份 Adyen PaymentReceipt 转换为可供热敏打印机消费的纯文本。
|
|
133
|
+
*/
|
|
134
|
+
export var formatAdyenReceipt = function formatAdyenReceipt(receipt) {
|
|
135
|
+
var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ADYEN_RECEIPT_LINE_WIDTH;
|
|
136
|
+
var lineWidth = normalizeLineWidth(width);
|
|
137
|
+
if (!Array.isArray(receipt === null || receipt === void 0 ? void 0 : receipt.lines)) {
|
|
138
|
+
return '';
|
|
139
|
+
}
|
|
140
|
+
var output = receipt.lines.reduce(function (result, line) {
|
|
141
|
+
var parsedLine = parseReceiptLine(line);
|
|
142
|
+
if (parsedLine) {
|
|
143
|
+
result.push.apply(result, _toConsumableArray(renderReceiptLine(parsedLine, lineWidth)));
|
|
144
|
+
}
|
|
145
|
+
return result;
|
|
146
|
+
}, []);
|
|
147
|
+
if (!output.some(Boolean)) {
|
|
148
|
+
return '';
|
|
149
|
+
}
|
|
150
|
+
return "".concat(output.join('\n'), "\n");
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
/** 按 Adyen 返回顺序生成商户联、顾客联等独立打印任务 */
|
|
154
|
+
export var formatAdyenReceipts = function formatAdyenReceipts(receipts) {
|
|
155
|
+
var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ADYEN_RECEIPT_LINE_WIDTH;
|
|
156
|
+
if (!Array.isArray(receipts)) {
|
|
157
|
+
return [];
|
|
158
|
+
}
|
|
159
|
+
return receipts.map(function (receipt) {
|
|
160
|
+
return receipt && _typeof(receipt) === 'object' ? formatAdyenReceipt(receipt, width) : '';
|
|
161
|
+
}).filter(Boolean);
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* 是否需要由 POS 打印收据。
|
|
166
|
+
* 兼容历史 boolean 设置以及接口可能返回的 number/string。
|
|
167
|
+
*/
|
|
168
|
+
export var shouldPrintReceiptOnPos = function shouldPrintReceiptOnPos(setting) {
|
|
169
|
+
if (typeof setting === 'boolean') {
|
|
170
|
+
return setting === false;
|
|
171
|
+
}
|
|
172
|
+
if (typeof setting === 'number') {
|
|
173
|
+
return setting === 0;
|
|
174
|
+
}
|
|
175
|
+
if (typeof setting === 'string') {
|
|
176
|
+
return setting === '0';
|
|
177
|
+
}
|
|
178
|
+
return false;
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
/** 根据设备设置构建最终传给 POS 的小票数组 */
|
|
182
|
+
export var buildAdyenReceiptPrintPayload = function buildAdyenReceiptPrintPayload(receipts, printMode) {
|
|
183
|
+
var width = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ADYEN_RECEIPT_LINE_WIDTH;
|
|
184
|
+
return shouldPrintReceiptOnPos(printMode) ? formatAdyenReceipts(receipts, width) : [];
|
|
185
|
+
};
|
|
@@ -8,7 +8,7 @@ import { PosProps } from './const';
|
|
|
8
8
|
*/
|
|
9
9
|
declare const _default: ({ className, onChange, onClose, formatAmount, isMobile, net, client }: {
|
|
10
10
|
className?: string | undefined;
|
|
11
|
-
onChange?: ((status: "
|
|
11
|
+
onChange?: ((status: "page" | "success" | "print" | "fail" | "mark_tx_processed", params?: string | {
|
|
12
12
|
[keys: string]: unknown;
|
|
13
13
|
} | undefined, other?: any) => void) | undefined;
|
|
14
14
|
onClose: () => void;
|
|
@@ -11,7 +11,7 @@ import './device.less';
|
|
|
11
11
|
declare const _default: ({ api, onChange, onClose, className, device_number, isMobile, net, client, formatAmount, containerStyle, }: {
|
|
12
12
|
api: PayProps['api'];
|
|
13
13
|
className?: string | undefined;
|
|
14
|
-
onChange?: ((status: "
|
|
14
|
+
onChange?: ((status: "page" | "success" | "print" | "fail" | "mark_tx_processed", params?: string | {
|
|
15
15
|
[keys: string]: unknown;
|
|
16
16
|
} | undefined, other?: any) => void) | undefined;
|
|
17
17
|
onClose: () => void;
|
|
@@ -15,11 +15,11 @@ export declare const useStoreRef: <T extends {
|
|
|
15
15
|
readonly numRef: React.MutableRefObject<string | number | undefined>;
|
|
16
16
|
readonly orderIdRef: React.MutableRefObject<string | number>;
|
|
17
17
|
readonly modeRef: React.MutableRefObject<ModeEnum>;
|
|
18
|
-
readonly statusRef: React.MutableRefObject<"
|
|
18
|
+
readonly statusRef: React.MutableRefObject<"loading" | "success" | "warn" | "init" | "fail" | "pedding" | "resove" | "reject" | "question">;
|
|
19
19
|
readonly netRef: React.MutableRefObject<boolean | undefined>;
|
|
20
20
|
readonly symbolRef: React.MutableRefObject<string>;
|
|
21
21
|
readonly amountRef: React.MutableRefObject<string | number>;
|
|
22
|
-
readonly eftposRef: React.MutableRefObject<"
|
|
22
|
+
readonly eftposRef: React.MutableRefObject<"stripe" | "tyro" | "mx51" | "payo" | "windcave" | "linkly" | "huifu" | "adyenpos" | "adyenalipay" | "adyenwechat">;
|
|
23
23
|
readonly clientRef: React.MutableRefObject<ClientEnum>;
|
|
24
24
|
readonly dataRef: React.MutableRefObject<import("./store").State>;
|
|
25
25
|
};
|
|
@@ -178,7 +178,7 @@ export declare const updateCustom: (payload: {
|
|
|
178
178
|
export declare const updateStatus: (status: 'loading' | 'warn' | 'fail' | 'success' | 'question') => {
|
|
179
179
|
type: EActionTypes;
|
|
180
180
|
payload: {
|
|
181
|
-
status: "
|
|
181
|
+
status: "loading" | "success" | "warn" | "fail" | "question";
|
|
182
182
|
};
|
|
183
183
|
};
|
|
184
184
|
/**
|
|
@@ -301,8 +301,8 @@ export declare const backUpFree: (payload: Partial<State>) => {
|
|
|
301
301
|
amount?: string | number | undefined;
|
|
302
302
|
mode?: "pay" | "refund" | "fullPay" | "query" | undefined;
|
|
303
303
|
order_id?: string | number | undefined;
|
|
304
|
-
eftpos?: "
|
|
305
|
-
action?: "
|
|
304
|
+
eftpos?: "stripe" | "tyro" | "mx51" | "payo" | "windcave" | "linkly" | "huifu" | "adyenpos" | "adyenalipay" | "adyenwechat" | undefined;
|
|
305
|
+
action?: "pay" | "amount" | "deviceList" | undefined;
|
|
306
306
|
key?: number | undefined;
|
|
307
307
|
step?: number | undefined;
|
|
308
308
|
title?: string | undefined;
|
|
@@ -312,7 +312,7 @@ export declare const backUpFree: (payload: Partial<State>) => {
|
|
|
312
312
|
net?: boolean | undefined;
|
|
313
313
|
component?: string | undefined;
|
|
314
314
|
form?: string | undefined;
|
|
315
|
-
status?: "
|
|
315
|
+
status?: "loading" | "success" | "warn" | "init" | "fail" | "pedding" | "resove" | "reject" | "question" | undefined;
|
|
316
316
|
warn?: string | undefined;
|
|
317
317
|
steps?: {
|
|
318
318
|
/** 用于重置当前步骤 */
|