Commit 58ce212d authored by 前端-钟卫鹏's avatar 前端-钟卫鹏
parents 1aac5d97 3988f9a2
......@@ -37,7 +37,6 @@ interface Iprops {
const RangeTime: React.FC<Iprops> = (props: Iprops) => {
const { containerStyle, rangeTime, onChange, placeholader, shouldGtCurrent, disabled, showTime } = props;
const currentDay = moment();
const endOfUnit = showTime ? 'second' : 'day';
const [innerRangeTime, setInnerRangeTime] = useState({
startTime: null,
......@@ -53,11 +52,24 @@ const RangeTime: React.FC<Iprops> = (props: Iprops) => {
}, [props.rangeTime]);
const handleChange = (date: Moment | null, dateString: string, mode: "startTime" | "endTime") => {
const reverseMode = mode === 'startTime' ? 'endTime' : 'startTime';
const newObject = {
...innerRangeTime,
[mode]: date,
};
// 对调位置,可以省去很多复杂且不必要的判断
if (date && newObject[reverseMode]) {
if (mode === 'startTime' && date > newObject[reverseMode]) {
newObject[mode] = newObject[reverseMode];
newObject[reverseMode] = date;
}
if (mode === 'endTime' && date < newObject[reverseMode]) {
newObject[mode] = newObject[reverseMode];
newObject[reverseMode] = date;
}
}
if (onChange) {
onChange?.([newObject.startTime as unknown as Moment, newObject.endTime as unknown as Moment]);
} else {
......@@ -67,37 +79,39 @@ const RangeTime: React.FC<Iprops> = (props: Iprops) => {
const getDisableDate = useCallback((current: Moment, mode: "startTime" | "endTime") => {
const reverseMode = mode === 'startTime' ? 'endTime' : 'startTime';
const modeTime: Moment | null = innerRangeTime[reverseMode];
const modeTime: Moment | null = moment(innerRangeTime[reverseMode]);
// current 为当前日历上的日期, 如果返回值为true,那么表示当前日期为禁用状态
if (!modeTime) {
if (shouldGtCurrent) {
return current < currentDay.endOf(endOfUnit);
return current < currentDay;
}
return false;
}
if (mode === 'startTime') {
return shouldGtCurrent ? (current < currentDay.endOf(endOfUnit) || current > (modeTime as Moment).endOf(endOfUnit)) : current > (modeTime as Moment).endOf(endOfUnit);
return shouldGtCurrent ? (current < currentDay || current > modeTime.endOf('day')) : current > modeTime.endOf('day');
} else {
//现在的时间要大于开始的时间, true 为禁用
return shouldGtCurrent ? (current < currentDay.endOf(endOfUnit) || current < (modeTime as Moment).endOf(endOfUnit)) : current < (modeTime as Moment).endOf(endOfUnit);
return shouldGtCurrent ? (current < currentDay || current < modeTime) : current < modeTime.endOf('day');
}
}, [innerRangeTime]);
const disabledDateTime = (current: Moment, partial: 'start' | 'end') => {
const { startTime } = innerRangeTime;
const hours = range(0, 24);
const minutes = range(0, 60);
if (partial === 'start') {
return {
disabledHours: () => range(0, 24).splice(0, moment().get('hour')),
disabledMinutes: () => range(0, 60).splice(0, moment().get('minute')),
disabledSeconds: () => range(0, 60).splice(0, moment().get('second')),
disabledHours: () => hours.splice(0, current && current.isSame(currentDay, 'day') ? moment().get('hour') : 0),
disabledMinutes: () => minutes.splice(0, current && current.isSame(currentDay, 'day') ? moment().get('minute') : 0),
disabledSeconds: () => minutes.splice(0, current && current.isSame(currentDay, 'day') ? moment().get('second') : 0),
};
}
if (partial === 'end') {
return {
disabledHours: () => range(0, 24).splice(0, startTime?.get('hour')),
disabledMinutes: () => range(0, 60).splice(0, current && current.isSame(startTime, 'hour') ? startTime?.get('minute') : 0),
disabledSeconds: () => range(0, 60).splice(0, current && current.isSame(startTime, 'hour') && current.isSame(startTime, 'minute') ? startTime?.get('second') + 1 : 0),
disabledHours: () => hours.splice(0, startTime?.get('hour')),
disabledMinutes: () => minutes.splice(0, current && current.isSame(startTime, 'hour') ? startTime?.get('minute') : 0),
disabledSeconds: () => minutes.splice(0, current && current.isSame(startTime, 'hour') && current.isSame(startTime, 'minute') ? startTime?.get('second') + 1 : 0),
};
}
return {};
......
......@@ -169,7 +169,7 @@ export default {
"merchantCoupon.useTimeStart": "Deadline for receiving (issuing) coupons",
"merchantCoupon.useTimeEnd": "수령권 종료 시간",
"merchantCoupon.CustomerID": "Customer ID",
"merchantCoupon.DeterminepassCoupon?": "Are you sure you want to pass the selected coupon",
"merchantCoupon.DeterminepassCoupon": "Are you sure you want to pass the selected coupon?",
"merchantCoupon.giveCouponStartTime": "Start time for receiving (issuing) coupons",
"merchantCoupon.giveCouponEndTime": "The deadline for receiving (issuing) coupons",
"merchantCoupon.CollarAll": "Coupon Method (All)",
......
......@@ -169,7 +169,7 @@ export default {
"merchantCoupon.useTimeStart": "주문 (사용) 시작 시간",
"merchantCoupon.useTimeEnd": "주문 (사용) 종료 시간",
"merchantCoupon.CustomerID": '고객 ID',
"merchantCoupon.DeterminepassCoupon?": '선택한 쿠폰을 통과하시겠습니까?',
"merchantCoupon.DeterminepassCoupon": '선택한 쿠폰을 통과하시겠습니까?',
"merchantCoupon.giveCouponStartTime": '상품권 수령 시작 시간',
"merchantCoupon.giveCouponEndTime": '상품권 수령 마감 시간',
"merchantCoupon.CollarAll": '쿠폰 수령 방식(모두)',
......
......@@ -169,7 +169,7 @@ export default {
"merchantCoupon.useTimeStart": "下单(使用)起始时间",
"merchantCoupon.useTimeEnd": "下单(使用)止时间",
"merchantCoupon.CustomerID": "客户ID",
"merchantCoupon.DeterminepassCoupon?": "确定要通过选中的优惠券吗",
"merchantCoupon.DeterminepassCoupon": "确定要通过选中的优惠券吗?",
"merchantCoupon.giveCouponStartTime": "领(发)劵起始时间",
"merchantCoupon.giveCouponEndTime": "领(发)劵截止时间",
"merchantCoupon.CollarAll": "领劵方式(所有)",
......
......@@ -6,7 +6,7 @@
* @Description: 待提交审核商家优惠劵
*/
import React, { useState, useRef } from 'react';
import { history } from 'umi';
import { history, useIntl } from 'umi';
import {
Card,
Space,
......@@ -31,8 +31,6 @@ import { getMarketingCouponTypeList, getMarketingCouponWaitAuditPage, GetMarketi
import useSpliceArray from '@/hooks/useSpliceArray';
import { querySchema } from './schema';
import commonColumn from '../common/columns/coupon';
import { useIntl } from 'umi'
const { confirm } = Modal;
......@@ -144,6 +142,9 @@ const MerchantCouponUnsubmitted: React.FC = () => {
setSelectedRowKeys(keys);
},
selectedRowKeys: selectedRowKeys,
getCheckboxProps: (record: GetMarketingCouponWaitAuditPageResponseDetail) => ({
disabled: record.status !== 1, // 状态不等于待提交审核的禁用
}),
};
// 初始化高级筛选选项
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment