Files
xingque/utils/zhiding-order.js
2026-06-29 17:59:23 +08:00

54 lines
1.7 KiB
JavaScript

import request from './request.js';
import { getDefaultAvatarUrl } from './avatar.js';
export const ZHIDING_HF_MAP = { 1: '想接', 2: '已婉拒', 3: '等会接' };
export async function fetchMyZhidingOrders() {
try {
const res = await request({ url: '/dingdan/zdcx', method: 'POST', data: {} });
const body = res?.data;
if (body && (body.code === 200 || body.code === 0) && body.data) {
return body.data.list || [];
}
} catch (e) {
console.warn('fetchMyZhidingOrders failed', e);
}
return [];
}
export async function submitZhidingResponse(dingdanId, huifu, dengHuiNote = '') {
const res = await request({
url: '/dingdan/zdhf',
method: 'POST',
data: {
dingdan_id: dingdanId,
huifu,
deng_hui_note: dengHuiNote,
},
});
return res?.data;
}
export function processZhidingList(list, app, uid, highlightOrderId = '') {
const defAvatar = getDefaultAvatarUrl(app);
const oss = app.globalData?.ossImageUrl || '';
return (list || []).map((item) => {
let avatar = defAvatar;
if (item.zhiding_avatar) {
avatar = item.zhiding_avatar.startsWith('http') ? item.zhiding_avatar : oss + item.zhiding_avatar;
}
return {
...item,
isMyZhiding: true,
zhiding_avatar_full: avatar,
zhiding_hf_text: item.zhiding_hf_text || ZHIDING_HF_MAP[item.zhiding_hf] || '',
isHighlighted: highlightOrderId && item.dingdan_id === highlightOrderId,
};
}).filter((item) => String(item.zhiding_uid) === String(uid));
}
/** 横幅只展示尚未回复的指定单(已等会接/不想接的不占横幅) */
export function filterZhidingBannerList(list) {
return (list || []).filter((item) => !item.zhiding_hf);
}