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 styles from '../style/GoodsList.less';
import apis from '../../services/apis';
import moment from 'moment';
import router from 'umi/router';
import BuildSelect from '../../components/SelectButton/BuildSelect'
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 BasicForm = props => {
const [isEnlist, setIsEnlist] = useState(1)
const [activityStatus, setActivityStatus] = useState(1)
const [disable, setDisable] = useState(false)
const radioOnChange = e => {
setIsEnlist(e.target.value)
}
const { dynamicId } = props
// 查询详情
const getDynamicData = dynamicId => {
request({ ...apis.activity.details, params: { dynamicId } }).then((data) => {
console.log(data)
data.activityTime = [moment(data.startDate), moment(data.endDate)]
data.signupTime = [moment(data.enlistStart), moment(data.enlistEnd)]
setIsEnlist(data.isEnlist)
setActivityStatus(data.activityStatus)
setDisable(data.activityStatus === 0 ? true : false)
props.form.setFieldsValue(data)
})
}
// eslint-disable-next-line react-hooks/rules-of-hooks
useEffect(() => {
props.form.setFieldsValue({ isEnlist })
if (dynamicId) {
getDynamicData(dynamicId);
}
}, [])
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) {
values.dynamicId = dynamicId
request({ ...apis.activity.update, data: values }).then(data => {
message.info('保存成功')
// router.go(-1)
}).catch((err) => {
message.info(err.msg || err.message)
})
} else {
request({ ...apis.activity.add, data: { ...values } }).then((data) => {
message.info('保存成功')
// router.go(-1)
}).catch((err) => {
message.info(err.msg || err.message)
})
}
}
});
}
const { getFieldDecorator } = props.form;
return (
<>
{getFieldDecorator('buildingId', {
rules: [
{
required: true,
message: '请选择所属项目',
},
],
})()}
{getFieldDecorator('listImgUrl', {
rules: [
{
required: true,
message: '请选择活动封面图1',
},
],
})()}
{getFieldDecorator('imgUrl', {
rules: [
{
required: true,
message: '请选择活动详情主图',
},
],
})()}
{getFieldDecorator('title', {
rules: [
{
required: true,
message: '请输入活动标题',
},
],
})()}
{getFieldDecorator('activityTime', {
rules: [
{
required: true,
message: '请选择活动时间',
},
],
})()}
{getFieldDecorator('address', {
rules: [
{
required: true,
message: '请输入活动地点',
},
],
})()}
{getFieldDecorator('personNum', {
rules: [
{
required: true,
message: '请输入活动人数',
},
],
})()}
{getFieldDecorator('maxEnlistByPerson', {
rules: [
{
required: true,
message: '请输入最大报名人数',
},
],
})()}
{getFieldDecorator('desc')()}
{getFieldDecorator('signupTime', {
rules: [
{
required: true,
message: '请选择报名时间',
},
],
})()}
{getFieldDecorator('heavy', {
rules: [
{
required: true,
message: '请输入权重',
},
],
})()}数字越大越靠前
>
)
}
const Basic = Form.create({ name: 'BasicForm' })(BasicForm);
/**
*
*
* @param {*} props
* @returns
*/
const Edit = props => {
const [tab, changeTab] = useState('basic')
const { dynamicId } = props.location.query
const cancelPage = () => {
router.push({
pathname: '/activity/ActivityList',
});
}
const Poster = (props) => {
const [inputValue, changeInput] = useState('')
const [textAreaValue, changeTextArea] = useState('')
const [imgValue, changeImg] = useState('')
const [posterId, setPosterId] = useState('')
if (dynamicId) {
console.log(dynamicId, 'dynamicId')
useEffect(() => {
request({ ...apis.activity.poster, params: { targetId: dynamicId, targetType: 'activity' } }).then((data) => {
console.log(data, "2222")
if (data.length > 0) {
setPosterId(data[0].posterId)
changeImg(data[0].posterImg)
changeTextArea(data[0].posterDescription)
changeInput(data[0].posterTitle)
}
}).catch((err) => {
message.info(err.msg || err.message)
})
getMiniappName()
}, [])
}else{
getMiniappName()
}
// 获取小程序名称
const [miniappName, setMiniappName] = useState('')
function getMiniappName() {
request({ ...apis.building.getMiniappName }).then(res => {
console.log(res, "0000000000000")
setMiniappName(res)
})
}
const submitPoster = () => {
if (dynamicId) {
if (posterId) {
request({ ...apis.activity.updatePoster, urlData: { id: posterId }, data: { targetId: dynamicId, targetType: 'activity', posterImg: imgValue, posterTitle: inputValue, posterDescription: textAreaValue }, }).then((data) => {
message.info("保存成功")
}).catch((err) => {
message.info(err.msg || err.message)
})
} else {
request({ ...apis.activity.addPoster, data: { targetId: dynamicId, targetType: 'activity', posterImg: imgValue, posterTitle: inputValue, posterDescription: textAreaValue }, }).then((data) => {
setPosterId(data.posterId)
message.info("保存成功")
}).catch((err) => {
message.info(err.msg || err.message)
})
}
} else {
message.warn("请先保存基本信息数据")
}
}
return
喵喵
邀您参与
2019.09.21
{inputValue ? inputValue : '海报标题'}
{textAreaValue ? textAreaValue : '海报描述'}
长按识别小程序码
进入{miniappName || '置业V顾问'}报名活动
海报模板
建议图片尺寸:750*600px,比例5:4,格式:jpg,用于普通活动海报
}
const Share = (props) => {
const [inputValue, changeInput] = useState('')
const [imgValue, changeImg] = useState('')
const [shareContentId, setShareContentId] = useState('')
if (dynamicId) {
useEffect(() => {
request({ ...apis.activity.shareContent, params: { targetId: dynamicId, targetType: 'activity' }, }).then((data) => {
console.log(data, "2222")
if (data.length > 0) {
setShareContentId(data[0].shareContentId)
changeImg(data[0].shareContentImg)
changeInput(data[0].shareContentTitle)
}
}).catch((err) => {
message.info(err.msg || err.message)
})
}, [])
}
const submitShare = () => {
if (dynamicId) {
if (shareContentId) {
request({ ...apis.activity.updateShareContent, urlData: { id: shareContentId }, data: { targetId: dynamicId, shareContentType: 'activity', shareContentImg: imgValue, shareContentTitle: inputValue }, }).then((data) => {
message.info("保存成功")
}).catch((err) => {
message.info(err.msg || err.message)
})
} else {
request({ ...apis.activity.addShareContent, data: { targetId: dynamicId, shareContentType: 'activity', shareContentImg: imgValue, shareContentTitle: inputValue }, }).then((data) => {
setShareContentId(data.shareContentId)
message.info("保存成功")
}).catch(err => {
message.info(err.msg || err.message)
})
}
} else {
message.warn("请先保存基本信息数据")
}
}
return
分享模板
知与行互动
{inputValue ? inputValue : '置业V客厅 精准获客平台'}
建议图片尺寸:750*600px,比例5:4,格式:jpg,用于活动分享好友
}
return (
changeTab(e.target.value)}>
基本信息
海报图片
分享设置
{tab === 'basic' &&
}
{tab === 'poster' &&
}
{tab === 'share' &&
}
);
}
export default Edit