Commit 702a446b authored by GuanHua's avatar GuanHua
parents ed7d967c 3fd90b1e
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: XieZhiXiong * @Author: XieZhiXiong
* @Date: 2021-06-22 15:34:47 * @Date: 2021-06-22 15:34:47
* @LastEditors: XieZhiXiong * @LastEditors: XieZhiXiong
* @LastEditTime: 2021-06-22 16:44:56 * @LastEditTime: 2021-09-30 17:10:42
* @Description: 基本信息 * @Description: 基本信息
*/ */
import React from 'react'; import React from 'react';
...@@ -91,7 +91,7 @@ const CouponBacisInfo: React.FC<PropsType> = (props: PropsType) => { ...@@ -91,7 +91,7 @@ const CouponBacisInfo: React.FC<PropsType> = (props: PropsType) => {
}, },
{ {
title: '活动名称', title: '活动名称',
value: '全品类通用优惠券', value: dataSource.name,
}, },
{ {
title: '券面额', title: '券面额',
......
...@@ -2,16 +2,16 @@ ...@@ -2,16 +2,16 @@
* @Author: XieZhiXiong * @Author: XieZhiXiong
* @Date: 2021-07-02 15:30:48 * @Date: 2021-07-02 15:30:48
* @LastEditors: XieZhiXiong * @LastEditors: XieZhiXiong
* @LastEditTime: 2021-07-02 18:03:50 * @LastEditTime: 2021-09-30 17:02:09
* @Description: 操作 Modal * @Description: 操作 Modal
*/ */
import React, { useRef } from 'react'; import React, { useRef } from 'react';
import { Modal } from 'antd'; import { Modal } from 'antd';
import ReasonForm, { ReasonValueType, ReasonFormRefHandle } from '../ReasonForm'; import ReasonForm, { ReasonValueType, ReasonFormRefHandle } from '../ReasonForm';
import EditForm, { EditSubmitValueType, EditFormRefHandle } from '../EditForm'; import EditForm, { EditSubmitValueType, EditFormRefHandle, EditValueType } from '../EditForm';
export type ActionModalType = 'stop' | 'cancel' | 'startUp' | 'edit'; export type ActionModalType = 'stop' | 'cancel' | 'startUp' | 'edit';
export type ActionModalValueType = { id: number }; export type ActionModalValueType = { id: number } & Partial<EditValueType>;
interface IProps { interface IProps {
/** /**
...@@ -96,6 +96,7 @@ const ActionModal: React.FC<IProps> = (props) => { ...@@ -96,6 +96,7 @@ const ActionModal: React.FC<IProps> = (props) => {
render: () => ( render: () => (
<EditForm <EditForm
onSubmit={handleEditSubmit} onSubmit={handleEditSubmit}
value={value}
ref={formRef} ref={formRef}
/> />
), ),
......
...@@ -40,6 +40,10 @@ interface IProps { ...@@ -40,6 +40,10 @@ interface IProps {
* 提交触发事件 * 提交触发事件
*/ */
onSubmit: (values: EditSubmitValueType) => void, onSubmit: (values: EditSubmitValueType) => void,
/**
* 值
*/
value: EditValueType,
} }
export interface EditFormRefHandle { export interface EditFormRefHandle {
...@@ -47,7 +51,7 @@ export interface EditFormRefHandle { ...@@ -47,7 +51,7 @@ export interface EditFormRefHandle {
} }
const EditForm: React.ForwardRefRenderFunction<EditFormRefHandle, IProps> = ((props, ref) => { const EditForm: React.ForwardRefRenderFunction<EditFormRefHandle, IProps> = ((props, ref) => {
const { onSubmit } = props; const { onSubmit, value } = props;
useImperativeHandle(ref, () => ({ useImperativeHandle(ref, () => ({
submit: () => formActions.submit(), submit: () => formActions.submit(),
...@@ -70,6 +74,7 @@ const EditForm: React.ForwardRefRenderFunction<EditFormRefHandle, IProps> = ((pr ...@@ -70,6 +74,7 @@ const EditForm: React.ForwardRefRenderFunction<EditFormRefHandle, IProps> = ((pr
components={{ components={{
DatePicker, DatePicker,
}} }}
value={value}
effects={($, { setFieldState }) => { effects={($, { setFieldState }) => {
}} }}
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: XieZhiXiong * @Author: XieZhiXiong
* @Date: 2021-06-22 09:49:42 * @Date: 2021-06-22 09:49:42
* @LastEditors: XieZhiXiong * @LastEditors: XieZhiXiong
* @LastEditTime: 2021-09-22 13:57:50 * @LastEditTime: 2021-09-30 17:00:59
* @Description: 商家优惠劵查询 * @Description: 商家优惠劵查询
*/ */
import React, { useRef, useState } from 'react'; import React, { useRef, useState } from 'react';
...@@ -177,7 +177,7 @@ const MerchantCouponQuery: React.FC = () => { ...@@ -177,7 +177,7 @@ const MerchantCouponQuery: React.FC = () => {
{record.update && ( {record.update && (
<Button <Button
type="link" type="link"
onClick={() => handleShowActionModal('edit', { id: record.id })} onClick={() => handleShowActionModal('edit', { id: record.id, releaseTimeStart: moment(record.releaseTimeStart).format('YYYY-MM-DD HH:mm:ss'), releaseTimeEnd: moment(record.releaseTimeEnd).format('YYYY-MM-DD HH:mm:ss'), quantity: `${record.quantity}` })}
> >
修改 修改
</Button> </Button>
......
...@@ -2,10 +2,11 @@ ...@@ -2,10 +2,11 @@
* @Author: XieZhiXiong * @Author: XieZhiXiong
* @Date: 2021-06-24 14:04:16 * @Date: 2021-06-24 14:04:16
* @LastEditors: XieZhiXiong * @LastEditors: XieZhiXiong
* @LastEditTime: 2021-09-22 13:45:32 * @LastEditTime: 2021-09-30 16:38:36
* @Description: * @Description:
*/ */
import { FormEffectHooks, FormPath, IFormActions } from '@formily/antd'; import { FormEffectHooks, FormPath, IFormActions } from '@formily/antd';
import moment from 'moment';
import { useLinkageUtils } from '@/utils/formEffectUtils'; import { useLinkageUtils } from '@/utils/formEffectUtils';
import { import {
MERCHANT_COUPON_TYPE_UNIVERSAL, MERCHANT_COUPON_TYPE_UNIVERSAL,
...@@ -293,12 +294,80 @@ export const useBusinessEffects = (context, actions: IFormActions) => { ...@@ -293,12 +294,80 @@ export const useBusinessEffects = (context, actions: IFormActions) => {
onFieldInputChange$('receiveCondition.conditionGetTotal').subscribe(state => { onFieldInputChange$('receiveCondition.conditionGetTotal').subscribe(state => {
const { value } = state; const { value } = state;
const conditionGetDayValue = getFieldValue('receiveCondition.conditionGetDay'); // 每会员ID总共可领取; const conditionGetDayValue = getFieldValue('receiveCondition.conditionGetDay'); // 每会员ID总共可领取;
if (+value < +conditionGetDayValue) { const quantityValue = getFieldValue('quantity'); // 每会员ID总共可领取
setFieldState('receiveCondition.conditionGetTotal', fieldState => {
FormPath.setIn(fieldState, 'errors', '每会员ID总共可领取必须大于每日可领取'); if (value && quantityValue) {
if (+value > +quantityValue) {
setFieldState('receiveCondition.conditionGetTotal', fieldState => {
FormPath.setIn(fieldState, 'errors', '每会员ID总共可领取数量应该小于等于发券数量');
});
} else {
actions.clearErrors('receiveCondition.conditionGetTotal');
}
}
if (value && conditionGetDayValue) {
if (+value < +conditionGetDayValue) {
setFieldState('receiveCondition.conditionGetTotal', fieldState => {
FormPath.setIn(fieldState, 'errors', '每会员ID总共可领取必须大于每日可领取');
});
} else {
actions.clearErrors('receiveCondition.conditionGetTotal');
}
}
});
// 领(发)券起始时间
onFieldValueChange$('[releaseTimeStart, releaseTimeEnd]').subscribe(state => {
const { value } = state;
const releaseTimeStartValue = value?.[0];
const effectiveTime = getFieldValue('[effectiveTimeStart, effectiveTimeEnd]'); // 券有效期
const effectiveTimeStartValue = effectiveTime?.[0];
if (
releaseTimeStartValue
&& effectiveTimeStartValue
&& moment(releaseTimeStartValue) > moment(effectiveTimeStartValue)
) {
setFieldState('[releaseTimeStart, releaseTimeEnd]', fieldState => {
FormPath.setIn(fieldState, 'errors', '领(发)券起始时间应该小于券有效期起始时间');
});
} else {
actions.clearErrors('[releaseTimeStart, releaseTimeEnd]');
}
});
// 券有效期始时间
onFieldValueChange$('[effectiveTimeStart, effectiveTimeEnd]').subscribe(state => {
const { value } = state;
const effectiveTimeStartValue = value?.[0];
const releaseTime = getFieldValue('[releaseTimeStart, releaseTimeEnd]'); // 券有效期
const releaseTimeStartValue = releaseTime?.[0];
if (
effectiveTimeStartValue
&& releaseTimeStartValue
&& moment(effectiveTimeStartValue) < moment(releaseTimeStartValue)
) {
setFieldState('[effectiveTimeStart, effectiveTimeEnd]', fieldState => {
FormPath.setIn(fieldState, 'errors', '券有效期起始时间应该大于等于领(发)券起始时间');
});
} else {
actions.clearErrors('[effectiveTimeStart, effectiveTimeEnd]');
}
});
// 发券数量
onFieldValueChange$('quantity').subscribe(state => {
const { value } = state;
const conditionGetTotalValue = getFieldValue('receiveCondition.conditionGetTotal'); // 每会员ID总共可领取
if (value && conditionGetTotalValue && +value <= +conditionGetTotalValue) {
setFieldState('quantity', fieldState => {
FormPath.setIn(fieldState, 'errors', '发券数量应该大于等于每会员ID总共可领取数量');
}); });
} else { } else {
actions.clearErrors('receiveCondition.conditionGetTotal'); actions.clearErrors('quantity');
} }
}); });
} }
\ No newline at end of file
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