import React, { useState, useEffect } from 'react'; import { Form, Input, Button, Icon, Select, Tabs, Radio, DatePicker, message, Upload } from 'antd'; import { FormattedMessage } from 'umi-plugin-react/locale'; import Prompt from 'umi/prompt'; import router from 'umi/router'; import styles from '../style/GoodsList.less'; import apis from '../../services/apis'; import moment from 'moment'; import ActivityType from '../../components/SelectButton/ActivityType' import XForm, { FieldTypes } from '../../components/XForm'; import Wangedit from '../../components/Wangedit/Wangedit' import request from '../../utils/request' import yinhao from '../../assets/yinhao.png' import ImageUploader from '../../components/XForm/ImageUpload'; import logo from '../../assets/logo.png'; import touxiang from '../../assets/touxiang.jpg'; import poster1 from '../../assets/poster1.png'; import poster2 from '../../assets/poster2.png'; import xiaochengxu from '../../assets/xiaochengxu.png' const { MonthPicker, RangePicker, WeekPicker } = DatePicker; const { TextArea } = Input; const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 14 }, }; const cancelPage = () => { router.push({ pathname: '/activity/ActivityList', }); } const BasicForm = props => { const [isEnlist, setIsEnlist] = useState(1) const [activityStatus, setActivityStatus] = useState(1) const [disable, setDisable] = useState(false) const [data, setData] = useState(1) const [showSignupTime, setShowSignupTime] = useState([]) const radioOnChange = e => { setIsEnlist(e.target.value) } const { dynamicId } = props // 查询详情 const getDynamicData = dynamicId => { request({ ...apis.activity.details, params: { dynamicId } }).then(data => { data.activityTime = [moment(data.startDate), moment(data.endDate)] data.signupTime = [moment(data.enlistStart), moment(data.enlistEnd)] // setSignupTime([moment(data.enlistStart), moment(data.enlistEnd)]) setData(data) setIsEnlist(data.isEnlist) setActivityStatus(data.activityStatus) setDisable(data.activityStatus === 0) props.form.setFieldsValue(data) }) } // eslint-disable-next-line react-hooks/rules-of-hooks useEffect(() => { props.form.setFieldsValue({ isEnlist }) if (dynamicId) { getDynamicData(dynamicId); } }, []) const checkTime = () => { function compareDate(dateTime1, dateTime2) { return new Date(dateTime1) > new Date(dateTime2) } // 1)修改后的开始时间不得大于当前时间(会存在已经成功报名的用户) // (2)修改后开始时间<当前时间<修改后结束时间:活动进行中 // (3)修改后结束时间<当前时间:活动已结束 if (showSignupTime[0]) { // const date = data.signupTime const nowDate = new Date() // console.log(compareDate(nowDate, showSignupTime[0])) if (compareDate(nowDate, showSignupTime[0])) { return true } else { // return '修改后的开始时间不得大于当前时间(会存在已经成功报名的用户)' } } return true } const handleSubmit = e => { e.preventDefault(); props.form.validateFields((err, values) => { if (!err) { console.log('Received values of form: ', values); const { activityTime, signupTime } = values const [startDate, endDate] = activityTime values.startDate = moment(startDate).format('YYYY-MM-DD HH:mm'); values.endDate = moment(endDate).format('YYYY-MM-DD HH:mm'); if (signupTime) { const [enlistStart, enlistEnd] = signupTime values.enlistStart = moment(enlistStart).format('YYYY-MM-DD HH:mm'); values.enlistEnd = moment(enlistEnd).format('YYYY-MM-DD HH:mm'); } console.log('submit data --->', values) if (dynamicId) { const checks = checkTime() if (checks != true) { message.info(checks) return } console.log(data.enlistNum,values.personNum,'143') if (data.enlistNum > values.personNum) { message.info('活动人数必须大于已报名人数') return } values.dynamicId = dynamicId request({ ...apis.activity.update, data: values }).then(data => { message.info('保存成功') cancelPage() }).catch((err) => { message.info(err.msg || err.message) }) } else { request({ ...apis.activity.add, data: { ...values } }).then((data) => { message.info('保存成功') cancelPage() // router.push({ // pathname: '/activity/editActivity', // query: { // dynamicId: data.dynamicId, // }, // }); // router.go(-1) }).catch((err) => { message.info(err.msg || err.message) }) } } }); } const changeTime = (value, date) => { // console.log(value, data, '-----checkTime---------') // console.log(props.form.getFieldsValue(), '--------time1-----------') // let datas = data // console.log(value, date, datas) // datas.signupTime = date // // data.signupTime = [moment(data.enlistStart), moment(data.enlistEnd)] // console.log(datas,'-------datas--------') // props.form.setFieldsValue(data) setShowSignupTime(date) // props.form.setFieldsValue(datas) // // form.setFieldsValue // console.log('-------1--------') } const { getFieldDecorator } = props.form; return ( <>
{inputValue || '海报标题'}
{textAreaValue || '海报描述'}
长按识别小程序码
进入活动查看详情
海报模板
活动海报图
建议图片尺寸:640*670px,比例64:67,格式:jpg,用于普通活动海报
海报标题
changeInput(e.target.value)} />海报描述
分享模板
南京云致
{inputValue || ''}
分享标题
changeInput(e.target.value)} />活动分享图
建议图片尺寸:750*600px,比例5:4,格式:jpg,用于活动分享好友