Commit 6c4e0a7f authored by GuanHua's avatar GuanHua

fix: 店铺能力归属地址选择问题

parent e399ad49
......@@ -19,12 +19,6 @@ interface CitySelectPropsType {
onChange: Function;
}
interface selectItemType {
index: number;
lable: string;
value: number;
}
const { Option } = Select;
const CityCascader: React.FC<CitySelectPropsType> = (props) => {
......@@ -39,7 +33,7 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
}, [])
const getProviceById = (id: number) => {
let result: number = 0
let result = 0
provinceData && provinceData.map(item => {
if (item.value === id) {
result = item
......@@ -49,7 +43,7 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
}
const getCityById = (id: number, provinceCode: string) => {
let result: number = 0
let result = 0
!isEmpty(cityData) && cityData[provinceCode].map(item => {
if (item.value === id) {
result = item
......@@ -69,16 +63,24 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
if (!areaList) {
return
}
let tempProvinceData = []
let tempCityData = {}
for (let item of areaList) {
const tempProvinceData = []
const tempCityData = {}
tempProvinceData.push({
lable: "所有",
value: "0"
})
for (const item of areaList) {
tempProvinceData.push({
lable: item.name,
value: item.code
})
if (!!item.areaResponses) {
let tempCityList = []
for (let cityItem of item.areaResponses) {
if (item.areaResponses) {
const tempCityList = []
tempCityList.push({
lable: "所有",
value: "0"
})
for (const cityItem of item.areaResponses) {
tempCityList.push({
lable: cityItem.name,
value: cityItem.code
......@@ -89,13 +91,16 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
}
setProvinceData(tempProvinceData)
tempCityData["0"] = [{
lable: "所有",
value: "0"
}]
setCityData(tempCityData)
}
const handleProvinceChange = (value: number, index: number) => {
let newData = JSON.parse(JSON.stringify(selectData))
let proviceById: any = getProviceById(value)
const newData = JSON.parse(JSON.stringify(selectData))
const proviceById: any = getProviceById(value)
setCities(cityData[proviceById.value])
newData.map((item: any) => {
......@@ -111,7 +116,7 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
}
const onSecondCityChange = (value: number, provinceCode: string, index: number) => {
let newData = JSON.parse(JSON.stringify(selectData))
const newData = JSON.parse(JSON.stringify(selectData))
const cityById: any = getCityById(value, provinceCode)
newData.map((item: any) => {
......@@ -155,7 +160,7 @@ const CityCascader: React.FC<CitySelectPropsType> = (props) => {
onChange={(value) => onSecondCityChange(value, item.provinceCode, item.index)}
placeholder="请选择"
>
{(item.provinceCode && !isEmpty(cityData)) ? cityData[item.provinceCode] && cityData[item.provinceCode].map((item: any) => (
{((item.provinceCode || item.provinceCode === 0)&& !isEmpty(cityData)) ? cityData[item.provinceCode] && cityData[item.provinceCode].map((item: any) => (
<Option value={item.value} key={item.value}>{item.lable}</Option>
)) : null}
</Select>
......@@ -186,4 +191,6 @@ const CitySelect: React.FC<CitySelectPropsType> = forwardRef((props, ref) => {
)
})
CitySelect.displayName = "CitySelect"
export default CitySelect
......@@ -148,10 +148,10 @@ const ChannelInfo: React.FC<ShopInfoPropsType> = (props) => {
if (!checkmemberChannelAreas(value.memberChannelAreas)) {
return
}
if (!shopId) {
message.error("店铺链接不能为空")
return
}
// if (!shopId) {
// message.error("店铺链接不能为空")
// return
// }
value.storeUrl = storeUrl || `${siteUrl}/${GlobalConfig.channelRootRoute}`
value.shopId = shopId
setConfirmLoading(true)
......@@ -175,10 +175,9 @@ const ChannelInfo: React.FC<ShopInfoPropsType> = (props) => {
message.error('请选择归属地市')
return false
}
return shopAreas.every(item => {
if (!item.provinceCode) {
if (isEmpty(item.provinceCode)) {
message.destroy()
message.error('请选择归属地市')
return false
......@@ -406,7 +405,7 @@ const ChannelInfo: React.FC<ShopInfoPropsType> = (props) => {
label={<RequireItem label="客服链接" />}
rules={[{ pattern: /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-.,@?^=%&:/~+#]*[\w\-@?^=%&/~+#])?/, message: '请输入正确的客服链接' }]}
>
<Input allowClear className={styles.form_item} />
<Input allowClear autoComplete="off" className={styles.form_item} />
</Form.Item>
<Form.Item
label={<RequireItem label="" />}
......
......@@ -8,7 +8,6 @@ import CitySelect from '@/components/CitySelect'
import RequireItem from '@/components/RequireItem'
import { PublicApi } from '@/services/api'
import UploadImage from '@/components/UploadImage'
import { GetTemplateShopFindShopResponse } from '@/services/TemplateApi'
import copy from 'copy-to-clipboard'
import cx from 'classnames'
import styles from './index.less'
......@@ -34,8 +33,9 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
const [workshopPics, setWorkshopPics] = useState([]) // 厂房照片
const [honorPics, setHonorPics] = useState([]) // 资质荣誉
const [logo, setLogo] = useState<string>("")
const [shopInfo, setShopInfo] = useState<GetTemplateShopFindShopResponse>()
const [shopInfo, setShopInfo] = useState<any>()
const [shopId, setShopId] = useState<number>()
const [confirmLoading, setConfirmLoading] = useState<boolean>(false)
useEffect(() => {
fetchShopInfo()
......@@ -149,19 +149,21 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
if (!checkMemberShopAreas(value.memberShopAreas)) {
return
}
if (!shopId) {
message.error("店铺链接不能为空")
return
}
// if (!shopId) {
// message.error("店铺链接不能为空")
// return
// }
value.storeUrl = storeUrl || `${siteUrl}/shop`
value.shopId = shopId
setConfirmLoading(true)
PublicApi.postTemplateWebMemberShopWebSaveCurrMemberShop(value).then(res => {
if (res.code === 1000) {
fetchShopInfo()
setFormIsHalfFilledOut(false)
}
setConfirmLoading(false)
}).catch(() => {
setConfirmLoading(false)
})
})
......@@ -176,7 +178,7 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
return shopAreas.every(item => {
if (!item.provinceCode) {
if (isEmpty(item.provinceCode)) {
message.destroy()
message.error('请选择归属地市')
return false
......@@ -402,12 +404,12 @@ const ShopInfo: React.FC<ShopInfoPropsType> = (props) => {
label={<RequireItem label="客服链接" />}
rules={[{ pattern: /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-.,@?^=%&:/~+#]*[\w\-@?^=%&/~+#])?/, message: '请输入正确的客服链接' }]}
>
<Input allowClear className={styles.form_item} />
<Input allowClear autoComplete="off" className={styles.form_item} />
</Form.Item>
<Form.Item
label={<RequireItem label="" />}
>
<Button type="primary" style={{ marginRight: 16 }} onClick={handleSave}>保存</Button>
<Button loading={confirmLoading} type="primary" style={{ marginRight: 16 }} onClick={handleSave}>保存</Button>
</Form.Item>
</Form>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment