import React, { useState, useEffect } from 'react'; import { Form, Icon, Input, Button, DatePicker, Select, Card, Row, Col, Pagination, Alert, notification, Modal } from 'antd'; import moment from 'moment'; import request from '../../../utils/request'; import apis from '../../../services/apis'; import Styles from './style.less'; import { router } from 'umi'; import AuthButton from '@/components/AuthButton'; import SelectCity from '../../../components/SelectButton/CitySelect' const { Option } = Select; // eslint-disable-next-line @typescript-eslint/no-unused-vars const { Meta } = Card; const tempDate = [{ code: 's101' }] function openNotificationWithIcon(type, message) { notification[type]({ message, description: '', }); } /** *卡片 * * @returns */ function CartBody(props) { const { data } = props function toEdi(record) { router.push({ pathname: '/building/list/add', query: { id: record.buildingId, }, }) } /** *发布 取消 发布 * * @param {*} record */ function pulicAndUnPulic(record) { const modal = Modal.confirm(); const buidingStatus = record.status === 1 ? 2 : 1 const title = record.status === 1 ? '项目会在小程序端隐藏,后台可继续编辑重新发布?' : '确认发布此数据?' modal.update({ content: title, okText: '确认', cancelText: '关闭', onOk: () => { request({ ...apis.building.updateStatus, data: { id: record.buildingId, status: buidingStatus } }).then(() => { openNotificationWithIcon('success', '操作成功') props.onSuccess() }).catch(err => { openNotificationWithIcon('error', err.message) }) modal.destroy(); }, onCancel: () => { modal.destroy(); }, }); } /** *删除楼盘 * * @param {*} record */ function deleteBuilding(record) { const modal = Modal.confirm(); modal.update({ content: '项目会被删除,小程序端和后台都无法再看到', okText: '确认', cancelText: '关闭', onOk: () => { request({ ...apis.building.deleteBuilding, urlData: { id: record.buildingId } }).then(() => { openNotificationWithIcon('success', '操作成功') props.onSuccess() }).catch(err => { // openNotificationWithIcon('error', err.message) }) modal.destroy(); }, onCancel: () => { modal.destroy(); }, }); } const { buildingImg } = data console.log("buildingImg: ", data.buildingImg, "data: ", data) return ( } bodyStyle={{ padding: '10px 20px' }} >

楼盘编号 :{data.code} toEdi(data)}> 编辑

楼盘名称 :{data.buildingName || data.name}

均价 :约 {data.price || '待定'} 元/m²

项目地址 :{data.address}

发布状态 :{data.status === 1 ? '已发布' : '未发布'}

录入时间 :{moment(data.createDate).format('YYYY-MM-DD HH:mm:ss')}

pulicAndUnPulic(data)}> {/* 已发布的时候,需要显示取消发布的字样 */} {data.status === 1 ? '取消发布' : '发布'} deleteBuilding(data)}> 删除

) } /** * * * @param {*} props * @returns */ function body(props) { const { getFieldDecorator } = props.form // eslint-disable-next-line react-hooks/rules-of-hooks const [dataSource, setDataSource] = useState({ records: [] }) // eslint-disable-next-line react-hooks/rules-of-hooks useEffect(() => { getList({ pageNum: 1, pageSize: 9 }) }, []) function getList(params) { // 网路请求 request({ ...apis.building.getList, params: { ...params } }).then(res => { setDataSource(res) console.log("res:",res) }).catch(err => { // eslint-disable-next-line no-unused-expressions }) } // 提交事件 function handleSubmit(e) { e.preventDefault(); props.form.validateFields((err, values) => { if (!err) { // eslint-disable-next-line no-console console.log('提交数据: ', values) const { startDate } = values if (values.startDate !== undefined) { values.startDate = `${moment(startDate).format('YYYY-MM-DDT00:00:00.000')}Z` } getList({ pageNum: 1, pageSize: 9, ...values }) } }); } // Change 事件 function handleSelectChange(e) { // eslint-disable-next-line no-console console.log(e) } // 分页 function onChange(pageNumber) { // eslint-disable-next-line react-hooks/rules-of-hooks getList({ pageNum: pageNumber, pageSize: 9, ...props.form.getFieldsValue() }) } function getDate(value, dateString) { // moment(value).format('YYYY-MM-DD HH:mm:ss') console.log(value, dateString) } function toAdd() { // 判断楼盘是否最可以添加 request({ ...apis.building.verifyMax}).then(res => { router.push({ pathname: '/building/list/add' }) }).catch(err => { // eslint-disable-next-line no-unused-expressions return }) } /** * 重置搜索 */ function handleReset() { props.form.resetFields(); getList({ pageNum: 1, pageSize: 9 }) } return ( <>
handleSubmit(e, props)}> {getFieldDecorator('code')( } placeholder="楼盘编号" />, )} {getFieldDecorator('name')( } placeholder="楼盘名称" />, )} {getFieldDecorator('startDate')( , )} {getFieldDecorator('buildingStatus')( , )} {getFieldDecorator('marketStatus')( , )} {getFieldDecorator('cityId')( , )} {getFieldDecorator('isMain')( , )}
{/* 卡片内容,显示楼盘项目 */} { dataSource.records.map((item, _) => ( )) } {/* 分页 */}
); } const WrappedBody = Form.create({ name: 'body' })(body); export default WrappedBody