Files
a_long/miniprogram/pages/cfss/cfss/cfss.js
2026-06-27 01:26:11 +08:00

100 lines
2.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// pages/cfss/cfss.js
import request from '../../../utils/request.js'; // 向上4级就是根目录
// 如果有 COS
const app = getApp();
Page({
data: {
// 统计数字(由接口 /yonghu/cffktjhq 返回)
stats: {
fakuan: { total: 0, daijiaona: 0, shensuzhong: 0, yijiaona: 0, yibohui: 0 },
jifen: { total: 0, daichuli: 0, yichuli: 0, daichuli_0: 0, shensuzhong_3: 0, yichufa_1: 0, yibohui_2: 0 }
},
// 当前选中的主标签:'fakuan' 或 'jifen'
activeTab: 'fakuan',
// 子标签状态值
activeFakuanStatus: 1, // 罚款默认展示“待缴纳”
activeJifenStatus: 0, // 积分默认展示“待处理”
// 搜索关键词(订单号)
searchDingdan: '',
// 刷新触发器,传给子组件
trigger: {
fakuan: 0,
jifen: 0
}
},
onLoad() {
this.fetchTongji();
},
onShow() {
// 每次显示页面都重新拉取统计,确保数字最新
this.fetchTongji();
},
// 获取综合统计
async fetchTongji() {
try {
const res = await request({
url: '/yonghu/cffktjhq',
method: 'POST'
});
if (res.statusCode === 200 && res.data.code === 0) {
this.setData({ stats: res.data.data });
}
} catch (error) {
console.error('获取处罚统计失败', error);
}
},
// 切换主Tab罚款 / 积分)
switchMainTab(e) {
const tab = e.currentTarget.dataset.tab;
if (tab === this.data.activeTab) return;
this.setData({ activeTab: tab });
},
// 切换罚款状态子标签
switchFakuanStatus(e) {
const status = Number(e.currentTarget.dataset.status);
if (status === this.data.activeFakuanStatus) return;
this.setData({ activeFakuanStatus: status });
this.bumpTrigger('fakuan'); // 通知罚款列表组件刷新
},
// 切换积分状态子标签
switchJifenStatus(e) {
const status = Number(e.currentTarget.dataset.status);
if (status === this.data.activeJifenStatus) return;
this.setData({ activeJifenStatus: status });
this.bumpTrigger('jifen'); // 通知积分列表组件刷新
},
// 搜索输入
onSearchInput(e) {
this.setData({ searchDingdan: e.detail.value });
},
// 执行搜索(按键盘搜索按钮或点击搜索图标)
onSearchConfirm() {
this.bumpTrigger(this.data.activeTab);
},
// 清空搜索关键字
clearSearch() {
this.setData({ searchDingdan: '' });
this.bumpTrigger(this.data.activeTab);
},
// 递增触发器,子组件通过 observer 响应
bumpTrigger(tab) {
const key = `trigger.${tab}`;
this.setData({ [key]: this.data.trigger[tab] + 1 });
}
});