From c092b0a638c1a0c5a1e9ce0aa025efd372e35b48 Mon Sep 17 00:00:00 2001 From: li tong bao <2903733959@qq.com> Date: Wed, 15 Jun 2022 20:04:03 +0800 Subject: [PATCH] =?UTF-8?q?--=E5=AF=B9=E6=8E=A5=E7=BC=96=E8=BE=91=E5=A4=B4?= =?UTF-8?q?=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/company.ts | 33 ------------ src/api/user.ts | 21 ++++++++ src/pages/userEdit/index.tsx | 101 +++++++++++++++++++++++++++++------ 3 files changed, 106 insertions(+), 49 deletions(-) diff --git a/src/api/company.ts b/src/api/company.ts index 8b72c6d..799464b 100644 --- a/src/api/company.ts +++ b/src/api/company.ts @@ -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", - }) -} diff --git a/src/api/user.ts b/src/api/user.ts index 283f55c..345c9c7 100644 --- a/src/api/user.ts +++ b/src/api/user.ts @@ -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", + }) +} + diff --git a/src/pages/userEdit/index.tsx b/src/pages/userEdit/index.tsx index bea22f1..7a3eed9 100644 --- a/src/pages/userEdit/index.tsx +++ b/src/pages/userEdit/index.tsx @@ -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 ( - + 点击编辑头像 @@ -97,13 +162,17 @@ export default ()=>{ 组织资料 (ModifyCompanyNameEl.current as any).setModalShow(true)} data={(formData as any)?.company_name} label="名称" placeholder="待绑定" icon=""/> - onNavigate("/pages/company/index")} label="类型" placeholder="完善公司/组织信息" icon=""/> + + + {(companyTypeData.data as any).list&&(companyTypeData.data as any).list[(formData as any)?.company_type_index].name} + + onNavigate("/pages/certification/index")} label="我的认证" placeholder="待绑定" icon=""> 未认证 - onNavigate("/pages/weightList/index")} label="创建人" data={(formData as any)?.founder_user_name} placeholder="完善公司/组织信息" icon=""/> +