--对接编辑头像
This commit is contained in:
parent
f704a67f06
commit
c092b0a638
@ -21,36 +21,3 @@ import { useRequest } from "@/use/useHttp"
|
||||
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",
|
||||
})
|
||||
}
|
||||
|
@ -39,3 +39,24 @@ import { useRequest } from "@/use/useHttp"
|
||||
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",
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -1,15 +1,17 @@
|
||||
|
||||
import { alert, goLink, isEmptyObject, retrieval } from "@/common/common";
|
||||
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 { realNameUpdateApi } from "@/api/user";
|
||||
import { realNameUpdateApi, companyTypeApi, portraitUpdateApi } from "@/api/user";
|
||||
import { companyDetailApi, companyUpdateApi } from "@/api/company"
|
||||
import { memo, useCallback, useEffect, useRef, useState } from "react"
|
||||
import "./index.scss"
|
||||
import ModifyModal from "./components/ModifyModal";
|
||||
import useLogin from "@/use/useLogin";
|
||||
import { useSelector } from "@/reducers/hooks";
|
||||
import useUploadCDNImg from "@/use/useUploadImage";
|
||||
import { IMG_CND_Prefix } from "@/common/constant";
|
||||
|
||||
export default ()=>{
|
||||
const { getPhoneNumber, getAdminUserInfo } = useLogin();
|
||||
@ -17,9 +19,17 @@ export default ()=>{
|
||||
// 用户信息
|
||||
useEffect(()=>{
|
||||
setFormData({
|
||||
...adminUserInfo as any
|
||||
})
|
||||
}, [adminUserInfo])
|
||||
...formData,
|
||||
...adminUserInfo as any,
|
||||
});
|
||||
}, [adminUserInfo]);
|
||||
useEffect(()=>{
|
||||
setFormData({
|
||||
...adminUserInfo as any,
|
||||
company_type_index: 0
|
||||
});
|
||||
getCompanyTypeData();
|
||||
},[])
|
||||
// 表单数据
|
||||
const [formData, setFormData] = useState({
|
||||
user_name: "麦兜"
|
||||
@ -27,21 +37,28 @@ export default ()=>{
|
||||
// 昵称修改保存
|
||||
const { fetchData: realNameUpdateFetch } = realNameUpdateApi();
|
||||
const rules = {
|
||||
user_name: [{
|
||||
text: [{
|
||||
message: "请输入"
|
||||
}]
|
||||
}
|
||||
const {fetchData: saveFetch} = companyUpdateApi();
|
||||
const {fetchData: getCompanyFetch} = companyDetailApi();
|
||||
const handleTextareaSave = async (text, type)=>{
|
||||
retrieval({text},rules).then(async ()=>{
|
||||
let result;
|
||||
if(type=="Ickname"){
|
||||
result = await realNameUpdateFetch({real_name: text});
|
||||
}else{
|
||||
result = saveFetch({company_name: text});
|
||||
const params = await getCompanyFetch();
|
||||
result = await saveFetch({
|
||||
...params.data,
|
||||
company_name: text
|
||||
});
|
||||
}
|
||||
if(result.success){
|
||||
getAdminUserInfo();
|
||||
(ModifyIcknameEl.current as any).setModalShow(false);
|
||||
(ModifyCompanyNameEl.current as any).setModalShow(false)
|
||||
alert.success("保存成功");
|
||||
}else{
|
||||
alert.none(result.msg);
|
||||
@ -56,13 +73,26 @@ export default ()=>{
|
||||
goLink(url);
|
||||
}
|
||||
// 肖像编辑
|
||||
const { fetchData: portraitUpdateFetch } = portraitUpdateApi();
|
||||
const {getWxPhoto} = useUploadCDNImg();
|
||||
const handleSelectRortrait = ()=>{
|
||||
chooseMedia({
|
||||
count: 1,
|
||||
mediaType: ["image"],
|
||||
success(ev){
|
||||
console.log(ev);
|
||||
|
||||
Taro.showModal({
|
||||
title: "提示",
|
||||
content: "是否确定更改头像?",
|
||||
showCancel: true,
|
||||
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 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 (
|
||||
<View className="user-edit">
|
||||
<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 className="user-edit-content">
|
||||
@ -97,13 +162,17 @@ export default ()=>{
|
||||
<View className="user-edit-content">
|
||||
<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={()=>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="">
|
||||
<View className="user-edit-content-company">
|
||||
<Text className="iconfont "/> 未认证
|
||||
</View>
|
||||
</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>
|
||||
<Button hoverClass="none" className="user-edit-logout">退出当前账号</Button>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user