Merge branch 'dev' of ssh://git.online.zzfzyc.com:10022/mp/EShop into 订单售后v3

This commit is contained in:
czm 2022-06-15 20:06:43 +08:00
commit f444ab5bdf
4 changed files with 106 additions and 49 deletions

View File

@ -21,36 +21,3 @@ import { useRequest } from "@/use/useHttp"
method: "put", method: "put",
}) })
} }
/**
*
* @returns
*/
export const addressDetailApi = () => {
return useRequest({
url: `/v1/mall/address`,
method: "get",
})
}
/**
*
* @returns
*/
export const addressEditApi = () => {
return useRequest({
url: `/v1/mall/address`,
method: "put",
})
}
/**
*
* @returns
*/
export const addressDeleteApi = () => {
return useRequest({
url: `/v1/mall/address`,
method: "delete",
})
}

View File

@ -39,3 +39,24 @@ import { useRequest } from "@/use/useHttp"
method: "put", method: "put",
}) })
} }
/**
* |
*/
export const companyTypeApi = () => {
return useRequest({
url: `/v1/mall/enum/purchaserType`,
method: "get",
})
}
/**
*
*/
export const portraitUpdateApi = () => {
return useRequest({
url: `/v1/mall/user/avatar`,
method: "put",
})
}

View File

@ -1,15 +1,17 @@
import { alert, goLink, isEmptyObject, retrieval } from "@/common/common"; import { alert, goLink, isEmptyObject, retrieval } from "@/common/common";
import Popup from "@/components/popup"; import Popup from "@/components/popup";
import { Button, Image, Text, Textarea, View } from "@tarojs/components" import { Button, Image, Picker, Text, Textarea, View } from "@tarojs/components"
import Taro, { chooseMedia } from "@tarojs/taro"; import Taro, { chooseMedia } from "@tarojs/taro";
import { realNameUpdateApi } from "@/api/user"; import { realNameUpdateApi, companyTypeApi, portraitUpdateApi } from "@/api/user";
import { companyDetailApi, companyUpdateApi } from "@/api/company" import { companyDetailApi, companyUpdateApi } from "@/api/company"
import { memo, useCallback, useEffect, useRef, useState } from "react" import { memo, useCallback, useEffect, useRef, useState } from "react"
import "./index.scss" import "./index.scss"
import ModifyModal from "./components/ModifyModal"; import ModifyModal from "./components/ModifyModal";
import useLogin from "@/use/useLogin"; import useLogin from "@/use/useLogin";
import { useSelector } from "@/reducers/hooks"; import { useSelector } from "@/reducers/hooks";
import useUploadCDNImg from "@/use/useUploadImage";
import { IMG_CND_Prefix } from "@/common/constant";
export default ()=>{ export default ()=>{
const { getPhoneNumber, getAdminUserInfo } = useLogin(); const { getPhoneNumber, getAdminUserInfo } = useLogin();
@ -17,9 +19,17 @@ export default ()=>{
// 用户信息 // 用户信息
useEffect(()=>{ useEffect(()=>{
setFormData({ setFormData({
...adminUserInfo as any ...formData,
}) ...adminUserInfo as any,
}, [adminUserInfo]) });
}, [adminUserInfo]);
useEffect(()=>{
setFormData({
...adminUserInfo as any,
company_type_index: 0
});
getCompanyTypeData();
},[])
// 表单数据 // 表单数据
const [formData, setFormData] = useState({ const [formData, setFormData] = useState({
user_name: "麦兜" user_name: "麦兜"
@ -27,21 +37,28 @@ export default ()=>{
// 昵称修改保存 // 昵称修改保存
const { fetchData: realNameUpdateFetch } = realNameUpdateApi(); const { fetchData: realNameUpdateFetch } = realNameUpdateApi();
const rules = { const rules = {
user_name: [{ text: [{
message: "请输入" message: "请输入"
}] }]
} }
const {fetchData: saveFetch} = companyUpdateApi(); const {fetchData: saveFetch} = companyUpdateApi();
const {fetchData: getCompanyFetch} = companyDetailApi();
const handleTextareaSave = async (text, type)=>{ const handleTextareaSave = async (text, type)=>{
retrieval({text},rules).then(async ()=>{ retrieval({text},rules).then(async ()=>{
let result; let result;
if(type=="Ickname"){ if(type=="Ickname"){
result = await realNameUpdateFetch({real_name: text}); result = await realNameUpdateFetch({real_name: text});
}else{ }else{
result = saveFetch({company_name: text}); const params = await getCompanyFetch();
result = await saveFetch({
...params.data,
company_name: text
});
} }
if(result.success){ if(result.success){
getAdminUserInfo(); getAdminUserInfo();
(ModifyIcknameEl.current as any).setModalShow(false);
(ModifyCompanyNameEl.current as any).setModalShow(false)
alert.success("保存成功"); alert.success("保存成功");
}else{ }else{
alert.none(result.msg); alert.none(result.msg);
@ -56,13 +73,26 @@ export default ()=>{
goLink(url); goLink(url);
} }
// 肖像编辑 // 肖像编辑
const { fetchData: portraitUpdateFetch } = portraitUpdateApi();
const {getWxPhoto} = useUploadCDNImg();
const handleSelectRortrait = ()=>{ const handleSelectRortrait = ()=>{
chooseMedia({ Taro.showModal({
count: 1, title: "提示",
mediaType: ["image"], content: "是否确定更改头像?",
success(ev){ showCancel: true,
console.log(ev); async success(ev){
if(ev.confirm){
let result = await getWxPhoto('mall');
const portraitUpdateResult = await portraitUpdateFetch({
avatar_url: IMG_CND_Prefix+(result as any).url
});
if(portraitUpdateResult.success){
getAdminUserInfo();
alert.success("保存成功");
}else{
alert.none(portraitUpdateResult.msg);
}
}
} }
}) })
} }
@ -75,11 +105,46 @@ export default ()=>{
} }
const ModifyIcknameEl = useRef(null); const ModifyIcknameEl = useRef(null);
const ModifyCompanyNameEl = useRef(null); const ModifyCompanyNameEl = useRef(null);
// 获取企业类型
const { fetchData: companyTypeFetch, state: companyTypeData } = companyTypeApi();
const getCompanyTypeData = async ()=>{
const reuslt = await companyTypeFetch();
if(reuslt.success){
reuslt.data?.list?.every((item,index)=>{
if(item.id==(adminUserInfo as any).purchaser_type){
setFormData({
...adminUserInfo as any,
company_type_index: index
});
return false;
}
return true;
})
}
}
// 修改企业类型
const handleCompanyType = async (ev)=>{
const {value} = ev.detail;
const item = companyTypeData.data.list&&companyTypeData.data.list[value];
if(item){
const params = await getCompanyFetch();
const result = await saveFetch({
...params.data,
purchaser_type: item.id
});
if(result.success){
getAdminUserInfo();
alert.success("保存成功")
}else{
alert.none(result.msg);
}
}
}
return ( return (
<View className="user-edit"> <View className="user-edit">
<View onClick={handleSelectRortrait} className="user-edit-portrait"> <View onClick={handleSelectRortrait} className="user-edit-portrait">
<Image src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F1113%2F052420110515%2F200524110515-2-1200.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1652840455&t=6d2fd53931578ef6e213a929a77d059c"/> <Image src={(formData as any)?.avatar_url}/>
<View></View> <View></View>
</View> </View>
<View className="user-edit-content"> <View className="user-edit-content">
@ -97,13 +162,17 @@ export default ()=>{
<View className="user-edit-content"> <View className="user-edit-content">
<View className="user-edit-content-title"><Text/> </View> <View className="user-edit-content-title"><Text/> </View>
<UserEditList onClick={()=>(ModifyCompanyNameEl.current as any).setModalShow(true)} data={(formData as any)?.company_name} label="名称" placeholder="待绑定" icon=""/> <UserEditList onClick={()=>(ModifyCompanyNameEl.current as any).setModalShow(true)} data={(formData as any)?.company_name} label="名称" placeholder="待绑定" icon=""/>
<UserEditList onClick={()=>onNavigate("/pages/company/index")} label="类型" placeholder="完善公司/组织信息" icon=""/> <UserEditList label="类型" placeholder="完善公司/组织信息" icon="">
<Picker mode="selector" range={(companyTypeData.data as any).list as any} rangeKey="name" value={(formData as any)?.company_type_index} onChange={handleCompanyType}>
{(companyTypeData.data as any).list&&(companyTypeData.data as any).list[(formData as any)?.company_type_index].name}
</Picker>
</UserEditList>
<UserEditList onClick={()=>onNavigate("/pages/certification/index")} label="我的认证" placeholder="待绑定" icon=""> <UserEditList onClick={()=>onNavigate("/pages/certification/index")} label="我的认证" placeholder="待绑定" icon="">
<View className="user-edit-content-company"> <View className="user-edit-content-company">
<Text className="iconfont "/> <Text className="iconfont "/>
</View> </View>
</UserEditList> </UserEditList>
<UserEditList onClick={()=>onNavigate("/pages/weightList/index")} label="创建人" data={(formData as any)?.founder_user_name} placeholder="完善公司/组织信息" icon=""/> <UserEditList label="创建人" data={(formData as any)?.founder_user_name} placeholder="完善公司/组织信息" icon=""/>
</View> </View>
<Button hoverClass="none" className="user-edit-logout">退</Button> <Button hoverClass="none" className="user-edit-logout">退</Button>

Binary file not shown.