import React, { useState, useEffect } from "react"; import { Form, Input, InputNumber, Select, Divider, Radio, Row, Image, Modal, Button } from "antd"; import { formItemLayout } from "../entity"; import { FormInstance } from "antd/lib/form"; import * as api from "../api"; import WareLimitType from "./WareLimitType"; import ShopLimit from "./ShopLimit"; import useInitail from "@/hooks/useInitail"; import { PaymentTypeEnum } from '@/pages/coupon/CashChange/api'; import { RightOutlined } from '@ant-design/icons'; import RenderSelectGoos from '@/pages/capital/ReceiveRules/subPages/GoodsDimension/components/RenderSelectGoos'; const Option = Select.Option; interface Props { // brandId: number, info: MktConponSpace.ConListParams; form: FormInstance; readonly: boolean; getCouponType?: Function; confNo?: string; limitCoupon?: string[]; // 优惠券类型限制 carSelectApi?: Function expires?: boolean; changeEditKeys?: string[]; } export default function FullReduce({ info, readonly, form, getCouponType, confNo, limitCoupon, carSelectApi, expires, changeEditKeys, }: Props) { const [classifyInfo, setClassifyInfo] = useState({ code: "" }); const { data: ClassifyList } = useInitail(api.fetchClassifyList, [], {}); const { data: cashChangeTypes } = useInitail(api.fetchExchangeList, [], {}); const [visible, setVisible] = useState(false); useEffect(() => { setClassifyInfo({ code: info.classifyCode }); const currentItem = ClassifyList.filter( (i) => i.code === info.classifyCode ); if (currentItem.length) { getCouponType && getCouponType(currentItem[0].type); } }, [info.classifyCode]); function changeScene(v: any) { const currentItems = ClassifyList.filter((i) => i.code === v.value)[0]; form.setFieldsValue({ aliasName: currentItems.type == 1 ? currentItems.name : undefined, settlementType: 1, settlementCalType: v.value === "xjdhq" ? 1 : undefined, }); getCouponType && getCouponType(currentItems.type); setClassifyInfo({ code: v.value }); let limitItem = currentItems.schemes .split(",") .map((i: string) => { if (i === "1") { return ({ externalRely: true, limitScheme: true, schemeType: i }); } else { return ({ schemeType: i, limitScheme: false }); } }); if (currentItems.schemes.split(",").includes('7')) { const item = limitItem[1]; limitItem[1] = limitItem[2]; limitItem[2] = item; } // form.setFieldsValue({ schemeList: currentItems.schemes !== "0" ? limitItem : [] }); form.setFieldsValue({ schemeList: limitItem }); } // 优惠券类型限制 function screenCouponType() { const list = limitCoupon && limitCoupon.length ? ClassifyList.filter(v => limitCoupon.includes(v.code)) : ClassifyList; return list || []; } return (