import React, { useState, useEffect } from 'react'; import { Modal, message } from 'antd'; import { FormattedMessage } from 'umi-plugin-react/locale'; import styles from '../style/GoodsList.less'; import moment from 'moment'; import router from 'umi/router'; import BuildSelect from '../../components/SelectButton/BuildSelect' import { FieldTypes, createForm } from '../../components/XForm'; import Wangedit from '../../components/Wangedit/Wangedit'; import SelectActivity from './SelectActivity'; import SelectNews from './SelectNews'; import apis from '../../services/apis'; import request from '../../utils/request' import SelectHelp from './SelectHelp'; import SelectGroup from './SelectGroup'; /** * * * @param {*} props * @returns */ const createEditor = () => { let contentVisible = false let activityVisible = false let newsVisible = false let helpVisible = false let groupVisible = false let buildingId = '' const setExtraData = (data) => { contentVisible = data.contentType === 'other'; activityVisible = data.contentType === 'activity'; newsVisible = data.contentType === 'news'; helpVisible = data.contentType === 'help'; groupVisible = data.contentType === 'group'; buildingId = data.buildingId } const handleFormValueChange = (props, changedValues, allValues) => { setExtraData(allValues) } const XForm = createForm({ onValuesChange: handleFormValueChange }) return (props) => { const [ tab, changeTab ] = useState('basic') const contentId = props.location.query.contentId const [ data, setData ] = useState({}) if(contentId){ useEffect(() => { getDetail(contentId); },[]) // 查询列表 const getDetail = (contentId) => { request({ ...apis.carsuseFigure.getExtendContent,urlData:{id: contentId}}).then((data) => { setExtraData(data) setData(data) }) } } const cancelPage = () =>{ router.push({ pathname: '/carouselFigure/advertisingList', }); } const fields = [ { label: '所属项目', name: 'buildingId', render: , value: data.buildingId, }, { label: '商品图片', name: 'image', type: FieldTypes.ImageUploader, value: data.image, help: '建议图片尺寸:640px*960px', }, { label: '标题', name: 'title', type: FieldTypes.Text, value: data.title, }, { label: '类型', name: 'contentType', type: FieldTypes.Select, dict: [{ label: '活动', value: 'activity' }, { label: '项目', value: 'project' }, { label: '资讯', value: 'news' }, { label: '其他', value: 'other' }, { label: '拼团', value: 'group' }, { label: '助力', value: 'help' }], value: data.contentType, }, { label: '发布活动', name: 'targetId', render: buildingId} />, hidden: () => !activityVisible, value: data.targetId, }, { label: '发布资讯', name: 'targetId', render: buildingId} />, hidden: () => !newsVisible, value: data.targetId, }, { label: '发布内容', name: 'content', render: , value: data.content, hidden: () => !contentVisible, }, { label: '发布助力', name: 'targetId', render: buildingId} />, hidden: () => !helpVisible, value: data.targetId, }, { label: '发布拼团', name: 'targetId', render: buildingId} />, hidden: () => !groupVisible, value: data.targetId, }, { label: '状态', name: 'status', type: FieldTypes.Select, dict: [{ label: "启用", value: 1 }, { label: "停用", value: 0 },], value: data.status != null ? data.status : 1, }, ] const handleSubmit = val => { val.showType = 'screen' if(contentId){ request({ ...apis.carsuseFigure.updataExtendContent,urlData:{id: contentId}, data: val,}).then((data) => { cancelPage() }).catch((err) => { message.info(err.msg || err.message) }) }else{ request({ ...apis.carsuseFigure.addExtendContent, data: val,}).then((data) => { cancelPage() }).catch((err) => { message.info(err.msg || err.message) }) } } return ( ); } } export default createEditor()