修正了 pages 名为拼音的问题
This commit is contained in:
240
pages/assess-center/assess-center.js
Normal file
240
pages/assess-center/assess-center.js
Normal file
@@ -0,0 +1,240 @@
|
||||
// pages/shenhedating/shenhedating.js
|
||||
const app = getApp();
|
||||
import request from '../../utils/request.js';
|
||||
|
||||
Page({
|
||||
data: {
|
||||
// 模块列表 [{bankuai_id, mingcheng, count, is_related}]
|
||||
moduleList: [],
|
||||
xuanzhongBankuaiId: 0, // 0代表全部
|
||||
// 审核记录列表
|
||||
recordList: [],
|
||||
page: 1,
|
||||
pageSize: 5,
|
||||
hasMore: true,
|
||||
isLoading: false,
|
||||
isLoadingMore: false,
|
||||
scrollViewRefreshing: false,
|
||||
lastRefreshTime: 0,
|
||||
refreshCooldown: 2000,
|
||||
// 弹窗控制
|
||||
showRuleModal: false,
|
||||
currentRuleContent: '',
|
||||
showBeizhuModal: false,
|
||||
currentBeizhuContent: '',
|
||||
// 加载状态
|
||||
loadingModules: false
|
||||
},
|
||||
|
||||
onLoad() {
|
||||
this.loadModules();
|
||||
},
|
||||
|
||||
onShow() {
|
||||
this.registerNotificationComponent();
|
||||
},
|
||||
|
||||
registerNotificationComponent() {
|
||||
const notificationComp = this.selectComponent('#global-notification');
|
||||
if (notificationComp && notificationComp.showNotification) {
|
||||
app.globalData.globalNotification = {
|
||||
show: (data) => notificationComp.showNotification(data),
|
||||
hide: () => notificationComp.hideNotification()
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
// 加载板块模块
|
||||
async loadModules() {
|
||||
this.setData({ loadingModules: true });
|
||||
try {
|
||||
const res = await request({ url: '/dengji/shdthqmk', method: 'POST' });
|
||||
if (res && res.data.code === 0) {
|
||||
const modules = res.data.data.modules || [];
|
||||
this.setData({ moduleList: modules, xuanzhongBankuaiId: 0 });
|
||||
this.loadRecords(true);
|
||||
} else {
|
||||
wx.showToast({ title: '加载模块失败', icon: 'none' });
|
||||
}
|
||||
} catch (e) {
|
||||
wx.showToast({ title: '网络错误', icon: 'none' });
|
||||
} finally {
|
||||
this.setData({ loadingModules: false });
|
||||
}
|
||||
},
|
||||
|
||||
// 选择模块(含全部)
|
||||
selectModule(e) {
|
||||
const bankuaiId = e.currentTarget.dataset.id;
|
||||
if (bankuaiId === this.data.xuanzhongBankuaiId) return;
|
||||
this.setData({
|
||||
xuanzhongBankuaiId: bankuaiId,
|
||||
recordList: [],
|
||||
page: 1,
|
||||
hasMore: true
|
||||
});
|
||||
this.loadRecords(true);
|
||||
},
|
||||
|
||||
// 加载审核记录
|
||||
async loadRecords(isRefresh = false) {
|
||||
if (this.data.isLoading) return;
|
||||
const page = isRefresh ? 1 : this.data.page;
|
||||
if (!isRefresh && !this.data.hasMore) return;
|
||||
|
||||
this.setData({ isLoading: true, isLoadingMore: !isRefresh });
|
||||
|
||||
try {
|
||||
const res = await request({
|
||||
url: '/dengji/hqshsj',
|
||||
method: 'POST',
|
||||
data: {
|
||||
bankuai_id: this.data.xuanzhongBankuaiId || undefined,
|
||||
page: page,
|
||||
page_size: this.data.pageSize
|
||||
}
|
||||
});
|
||||
|
||||
this.setData({ isLoading: false, isLoadingMore: false, scrollViewRefreshing: false });
|
||||
|
||||
if (res && res.data.code === 0) {
|
||||
const list = res.data.data.list || [];
|
||||
const hasMore = res.data.data.has_more;
|
||||
const ossUrl = app.globalData.ossImageUrl || '';
|
||||
const processedList = list.map(item => {
|
||||
let avatar = item.shenqingren_avatar || '';
|
||||
if (avatar && !avatar.startsWith('http')) {
|
||||
avatar = ossUrl + avatar;
|
||||
}
|
||||
return { ...item, shenqingren_avatar: avatar };
|
||||
});
|
||||
const newList = isRefresh ? processedList : [...this.data.recordList, ...processedList];
|
||||
this.setData({ recordList: newList, page: page + 1, hasMore: hasMore });
|
||||
if (isRefresh) this.setData({ lastRefreshTime: Date.now() });
|
||||
} else {
|
||||
wx.showToast({ title: '加载记录失败', icon: 'none' });
|
||||
}
|
||||
} catch (e) {
|
||||
this.setData({ isLoading: false, isLoadingMore: false, scrollViewRefreshing: false });
|
||||
wx.showToast({ title: '网络错误', icon: 'none' });
|
||||
}
|
||||
},
|
||||
|
||||
// 上拉加载更多
|
||||
onReachBottom() {
|
||||
const now = Date.now();
|
||||
if (now - this.data.lastRefreshTime < this.data.refreshCooldown ||
|
||||
this.data.isLoading || this.data.isLoadingMore) return;
|
||||
if (this.data.hasMore) {
|
||||
this.loadRecords(false);
|
||||
}
|
||||
},
|
||||
|
||||
// 下拉刷新
|
||||
onPullDownRefresh() {
|
||||
const now = Date.now();
|
||||
if (now - this.data.lastRefreshTime < this.data.refreshCooldown || this.data.isLoading) {
|
||||
this.setData({ scrollViewRefreshing: false });
|
||||
return;
|
||||
}
|
||||
this.setData({ scrollViewRefreshing: true, lastRefreshTime: now, page: 1, hasMore: true });
|
||||
this.loadRecords(true);
|
||||
},
|
||||
|
||||
// 查看规则详情
|
||||
showRuleDetail(e) {
|
||||
const content = e.currentTarget.dataset.content;
|
||||
this.setData({ showRuleModal: true, currentRuleContent: content });
|
||||
},
|
||||
hideRuleDetail() {
|
||||
this.setData({ showRuleModal: false, currentRuleContent: '' });
|
||||
},
|
||||
|
||||
// 查看备注详情
|
||||
showBeizhuDetail(e) {
|
||||
const content = e.currentTarget.dataset.content;
|
||||
this.setData({ showBeizhuModal: true, currentBeizhuContent: content || '无' });
|
||||
},
|
||||
hideBeizhuDetail() {
|
||||
this.setData({ showBeizhuModal: false, currentBeizhuContent: '' });
|
||||
},
|
||||
|
||||
// 抢单
|
||||
async onShouShen(e) {
|
||||
const jiluId = e.currentTarget.dataset.jiluid;
|
||||
const bankuaiId = e.currentTarget.dataset.bankuaiid;
|
||||
if (!jiluId) {
|
||||
wx.showToast({ title: '记录ID异常,无法接单', icon: 'none' });
|
||||
return;
|
||||
}
|
||||
|
||||
const that = this;
|
||||
wx.showModal({
|
||||
title: '确认审核',
|
||||
content: '确定要审核此用户吗?审核后请前往游戏进行审核,并严格评分。',
|
||||
confirmColor: '#c9a558',
|
||||
success: async (res) => {
|
||||
if (res.confirm) {
|
||||
wx.showLoading({ title: '接单中...', mask: true });
|
||||
try {
|
||||
const qdRes = await request({
|
||||
url: '/dengji/shqd',
|
||||
method: 'POST',
|
||||
data: { jilu_id: jiluId }
|
||||
});
|
||||
if (qdRes && qdRes.data.code === 0) {
|
||||
// 抢单成功,弹出联系打手弹窗
|
||||
wx.showModal({
|
||||
title: '接待成功',
|
||||
content: '请认真考核,点击联系他查看打手信息并打分。',
|
||||
showCancel: false,
|
||||
confirmText: '联系他',
|
||||
confirmColor: '#c9a558',
|
||||
success: (modalRes) => {
|
||||
if (modalRes.confirm) {
|
||||
wx.navigateTo({
|
||||
url: '/pages/assess-score/assess-score?jilu_id=' + jiluId
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
const newList = that.data.recordList.filter(r => r.jilu_id !== jiluId);
|
||||
that.setData({ recordList: newList });
|
||||
// 对应板块待审核数减1
|
||||
const bkId = qdRes.data.data ? qdRes.data.data.bankuai_id : bankuaiId;
|
||||
if (bkId) {
|
||||
const newModules = that.data.moduleList.map(m => {
|
||||
if (m.bankuai_id === bkId && m.count > 0) {
|
||||
return { ...m, count: m.count - 1 };
|
||||
}
|
||||
return m;
|
||||
});
|
||||
that.setData({ moduleList: newModules });
|
||||
}
|
||||
} else {
|
||||
const errMsg = qdRes?.data?.msg || '接单失败,请重试';
|
||||
wx.showModal({
|
||||
title: '接单失败',
|
||||
content: errMsg,
|
||||
showCancel: false,
|
||||
confirmText: '知道了',
|
||||
confirmColor: '#c9a558'
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: '网络错误,请重试',
|
||||
showCancel: false,
|
||||
confirmText: '知道了'
|
||||
});
|
||||
} finally {
|
||||
wx.hideLoading();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
noop() {}
|
||||
});
|
||||
Reference in New Issue
Block a user