import { request } from '@eciol/request'; import { replaceVariables } from '@eciol/shared'; import { useUserStoreWithOut } from '@/store/modules/user'; import type { BasicInfoService } from './typing'; enum Api { GetBasicInformation = '/system-partner/OuterInfo/GetOuterBasicInfo', GetTbmsBasic = '/tbms-task/partner/basic/{id}', GetSummaryJas = '/system-oms/purorder/partner/summary', EditBasicInformation = '/system-partner/OuterInfo/PostUpdateOuterInfo', EditCompetence = '/system-partner/OuterInfo/PostUpdateOuterCompetence', GetOuterCalender = '/system-partner/OuterInfo/GetOuterCalender', GetIsOuterRead = '/system-partner/OuterInfo/GetIsOuterRead', GetOuterSignature = '/system-partner/OuterInfo/GetOuterSignature', GetCompetenceToEdit = '/system-partner/OuterInfo/GetCompetenceToEdit', SetOuterCalender = '/system-partner/OuterInfo/PostSetOuterCalender', UpdateOuterSignature = '/system-partner/OuterInfo/PostOuterUpdateSignature', PostOuterRead = '/system-partner/OuterInfo/PostOuterRead', } /** * 获取基本信息 */ function getBasicInformation(data: BasicInfoService.GetBasicInformationParams) { const { getUserInfo } = useUserStoreWithOut(); return request.post( { url: Api.GetBasicInformation, data: { ...data, id: getUserInfo.userId, mlang: getUserInfo.langType }, }, { showLoading: true, }, ); } function getTbmsBasic() { const { getUserInfo } = useUserStoreWithOut(); return request.get({ url: replaceVariables(Api.GetTbmsBasic, { id: getUserInfo.userId }), }); } /** * @desc 译员详情-summary-jas总数和top3语言对 * @param {supplierId} 译员id * @return {} * @Author: 张玉石 * @Date: 2023-11-24 * @LastEditTime: 2023-11-24 * @LastEditors: 张玉石 */ export const getSummaryJas = () => { const { getUserInfo } = useUserStoreWithOut(); return request.post( { url: Api.GetSummaryJas, data: { supplierId: getUserInfo.userId, }, }, { joinPrefix: false, showLoading: true, }, ); }; /** * 获取日历 */ function getOuterCalender(year: number) { const { getUserInfo } = useUserStoreWithOut(); return request.post({ url: Api.GetOuterCalender, data: { id: getUserInfo.userId, year }, }); } /** * 用户是否已读 */ function getIsOuterRead(id: number) { return request.post({ url: Api.GetIsOuterRead, data: { outer: id }, }); } /** * 更新用户是否已读 */ function updateOuterRead() { return request.post( { url: Api.PostOuterRead, }, { showLoading: true, }, ); } /** * 获取个性签名 */ function getOuterSignature() { const { getUserInfo } = useUserStoreWithOut(); return request.post({ url: Api.GetOuterSignature, data: { id: getUserInfo.userId }, }); } /** * 编辑时的能力信息 */ function getCompetenceToEdit() { const { getUserInfo } = useUserStoreWithOut(); return request.post( { url: Api.GetCompetenceToEdit, data: { id: getUserInfo.userId }, }, { showLoading: true, }, ); } /** * 编辑基本信息 */ function editBasicInformation(data: BasicInfoService.EditBasicInformationParams) { const { getUserInfo } = useUserStoreWithOut(); return request.post( { url: Api.EditBasicInformation, data: { id: getUserInfo.userId, ...data }, }, { showLoading: true, loadingTip: 'EDIT', successMessageMode: 'message', operationType: 'EDIT', }, ); } /** * 编辑翻译能力 & 可用性 */ function editCompetence(data: BasicInfoService.EditCompetenceParams) { const { getUserInfo } = useUserStoreWithOut(); return request.post( { url: Api.EditCompetence, data: { outerId: getUserInfo.userId, ...data }, }, { showLoading: true, loadingTip: 'EDIT', successMessageMode: 'message', operationType: 'EDIT', }, ); } /** * 设置日历 */ function setOuterCalender(date: number) { const { getUserInfo } = useUserStoreWithOut(); return request.post( { url: Api.SetOuterCalender, data: { id: getUserInfo.userId, date }, }, { showLoading: true, loadingTip: 'SET', successMessageMode: 'message', operationType: 'SET', }, ); } /** * 更新个性签名 */ function updateOuterSignature(data: BasicInfoService.UpdateOuterSignatureParams) { const { getUserInfo } = useUserStoreWithOut(); return request.uploadFile( { url: Api.UpdateOuterSignature, }, { data: { id: getUserInfo.userId }, ...data, }, { showLoading: true, loadingTip: 'EDIT', successMessageMode: 'message', operationType: 'EDIT', }, ); } export { editBasicInformation, editCompetence, getBasicInformation, getCompetenceToEdit, getIsOuterRead, getOuterCalender, getOuterSignature, getTbmsBasic, setOuterCalender, updateOuterRead, updateOuterSignature, }; export type { BasicInfoService } from './typing';