import Address from "@/components/address" import FromList from "@/components/FromList" import { Button, Input, Text, Textarea, View } from "@tarojs/components" import Taro, { getCurrentPages, useRouter } from "@tarojs/taro" import { useEffect, useState } from "react" import { alert, retrieval } from "@/common/common"; import { companyDetailApi, companyUpdateApi } from "@/api/company" import "./index.scss" import useLogin from "@/use/useLogin" export default ()=>{ useLogin() const [showSiteModal, setShowSiteModal] = useState(false); const handleSelectSite = ()=>{ setShowSiteModal(true); } // 获取公司信息 const {fetchData: getFromData} = companyDetailApi(); const getData = async ()=>{ const result = await getFromData(); console.log(result.data,"==="); setFormData({ ...result.data, }); } useEffect(()=>{ getData(); },[]) // 保存 const [formData, setFormData] = useState({ address_detail: "", city_id: 0, company_id: 0, company_long_name: "", company_name: "", company_type: [ 0 ], director: "", district_id: 0, phone: "", province_id: 0, site:"", siteArray: [] }) const rules = { company_name: [{ message: "请输入公司名称" }], company_long_name: [{ message: "请输入公司全称" }], director: [{ message: "请输入联系人" }], phone: [{ message: "请输入正确的电话号码", regex: /^1[3|5|6|9|2|8|7]\d{9}$/ }], district_id: [{ message: "请选择地址" }], address_detail: [{ message: "请输入详细地址" }], } const {fetchData: saveFetch} = companyUpdateApi(); const handleSave = ()=>{ retrieval(formData, rules).then(async ()=>{ const result = await saveFetch({ address_detail: formData.address_detail, city_id: formData.city_id, company_id: formData.company_id, company_long_name: formData.company_long_name, company_name: formData.company_name, company_type: formData.company_type, director: formData.director, district_id: formData.district_id, phone: formData.phone, province_id: formData.province_id }); if(result.success){ Taro.eventCenter.trigger('company:detail') Taro.navigateBack(); alert.success("保存成功"); }else{ alert.error(result.msg); } }).catch(message=>{ alert.none(message) }) Taro.navigateBack(); } // 单选 const radioData = ['布行','二批','制衣厂']; const [radioActive, setRadioActive] = useState(0); const handleActiveRadio = (index:number)=>{ setRadioActive(index); } // 设置选择地址 const handleSetSite = (ev:any)=>{ if(ev.length>=3){ setFormData({ ...formData, siteArray: ev, site: ev.map(item=>item.name+" "), province_id: ev[0]?.id, city_id: ev[1]?.id, district_id: ev[ev.length-1]?.id, }) }else{ alert.error("请选择完整地址"); } } // 监听表单完善 const [hozon, setHozon] = useState(false); useEffect(()=>{ if(retrieval){ retrieval(formData).then(()=>setHozon(true)).catch(()=>setHozon(false)) } },[formData]) return ( setFormData({...formData,company_name:ev.detail.value})} value={formData["company_name"]} label="公司名称" placeholder="请输入公司名称"/> setFormData({...formData,company_long_name:ev.detail.value})} value={formData["company_long_name"]} label="公司全称" placeholder="请输入公司全称"/> { radioData.map((item,index)=>{ return handleActiveRadio(index)} className={radioActive==index?'form-radio-active':''} key={index}>{item} }) } setFormData({...formData,director:ev.detail.value})} value={formData["director"]} label="联系人" placeholder="请输入联系人"/> setFormData({...formData,phone:ev.detail.value})} value={formData["phone"]} label="联系方式" placeholder="请输入联系方式"/> setFormData({...formData,address_detail:ev.detail.value})} value={formData["address_detail"]} label="详细地址" type="textarea" placeholder="请输入详细地址(街道、门牌号等)"/> {/*
setShowSiteModal(false)} show={showSiteModal}/> */}
setShowSiteModal(false)} show={showSiteModal}/> ) }