diff --git a/src/components/NumberInterval/NumberInterval.tsx b/src/components/NumberInterval/NumberInterval.tsx index 02808bd..80cbbad 100644 --- a/src/components/NumberInterval/NumberInterval.tsx +++ b/src/components/NumberInterval/NumberInterval.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import React, { useState, useEffect } from 'react' import { View, Text } from '@tarojs/components' import { InputNumber } from '@nutui/nutui-react-taro' import { Checkbox } from '@nutui/nutui-react-taro' @@ -17,7 +17,19 @@ const NumberInterval: React.FC = ({ min, max }) => { - const { min:minParticipants, max:maxParticipants, organizer_joined } = value || { min: 1, max: 1, organizer_joined: true } + const [organizer_joined, setOrganizerJoined] = useState(true); + const [minParticipants, setMinParticipants] = useState(1); + const [maxParticipants, setMaxParticipants] = useState(1); + + useEffect(() => { + if (value) { + setOrganizerJoined(value.organizer_joined); + setMinParticipants(value.min); + setMaxParticipants(value.max); + } + console.log(value, 'valuevaluevaluevaluevaluevalue'); + }, [value]); + const handleChange = (value: { min: number | string, max: number | string, organizer_joined: boolean }) => { const toNumber = (v: number | string): number => typeof v === 'string' ? Number(v) : v const { min, max, organizer_joined } = value; @@ -32,7 +44,7 @@ const NumberInterval: React.FC = ({ handleChange({ min: value, max: maxParticipants, organizer_joined: organizer_joined })} @@ -45,7 +57,7 @@ const NumberInterval: React.FC = ({ handleChange({ min: minParticipants, max: value, organizer_joined: organizer_joined })} min={minParticipants} max={max} diff --git a/src/publish_pages/publishBall/index.module.scss b/src/publish_pages/publishBall/index.module.scss index 4904bda..51b0a2a 100644 --- a/src/publish_pages/publishBall/index.module.scss +++ b/src/publish_pages/publishBall/index.module.scss @@ -208,6 +208,8 @@ width: 11px; height: 11px; :global(.nut-icon-Checked){ + width: 11px; + height: 11px; background: rgba(22, 24, 35, 0.75)!important; } } diff --git a/src/publish_pages/publishBall/index.tsx b/src/publish_pages/publishBall/index.tsx index c5872d7..a39804c 100644 --- a/src/publish_pages/publishBall/index.tsx +++ b/src/publish_pages/publishBall/index.tsx @@ -390,6 +390,27 @@ const PublishBall: React.FC = () => { } } + + const formatConfig = () => { + const newFormSchema = publishBallFormSchema.reduce((acc, item) => { + if (item.prop === 'wechat') { + return acc + } + if (item.prop === 'image_list') { + if (item.props) { + item.props.source = ['album', 'history'] + } + } + if (item.prop === 'players') { + if (item.props) { + item.props.max = 100 + } + } + acc.push(item) + return acc + }, [] as FormFieldConfig[]) + setOptionsConfig(newFormSchema) + } const initFormData = () => { const currentInstance = Taro.getCurrentInstance() const params = currentInstance.router?.params @@ -399,24 +420,7 @@ const PublishBall: React.FC = () => { if (type === 'individual' || type === 'group') { setActivityType(type) if (type === 'group') { - const newFormSchema = publishBallFormSchema.reduce((acc, item) => { - if (item.prop === 'wechat') { - return acc - } - if (item.prop === 'image_list') { - if (item.props) { - item.props.source = ['album', 'history'] - } - } - if (item.prop === 'players') { - if (item.props) { - item.props.max = 100 - } - } - acc.push(item) - return acc - }, [] as FormFieldConfig[]) - setOptionsConfig(newFormSchema) + formatConfig() setFormData([defaultFormData]) setTitleBar('发布畅打活动') } else { @@ -427,21 +431,26 @@ const PublishBall: React.FC = () => { // 从 Store 注入 AI 生成的表单 JSON - if (publishAiData) { + if (publishAiData && Array.isArray(publishAiData) && publishAiData.length > 0) { Taro.showToast({ title: '智能识别成功,请完善剩余信息', icon: 'none' }) - if (Array.isArray(publishAiData)) { - const merged = publishAiData.map(item => mergeWithDefault(item)) - setFormData(merged.length ? merged : [defaultFormData]) + const merged = publishAiData.map(item => mergeWithDefault(item)) + setFormData(merged.length ? merged : [defaultFormData]) + if (merged.length === 1) { + setTitleBar('发布') + setActivityType('individual') } else { - setFormData([mergeWithDefault(publishAiData)]) + formatConfig() + setTitleBar('发布畅打活动') + setActivityType('group') } } else { setFormData([defaultFormData]) + setTitleBar('发布') + setActivityType('individual') } - setTitleBar('发布畅打活动') } } }