小程序修改代码

This commit is contained in:
2025-08-18 09:46:18 +08:00
parent 3dc4d64215
commit 2e363f3f1a
3 changed files with 206 additions and 192 deletions

View File

@ -14,15 +14,143 @@ Page({
sortOrder: 'descend',
sortOrders: ['升序', '降序'],
items: [], // 用于存储查询结果
allItems: [], // 用于存储所有查询数据(用于模糊查询)
role: '', // 假设初始为主管角色,可以根据实际情况动态设置
k: 1,
showRole: ''
},
// 主管名称输入
// 页面加载时查询
onLoad(options) {
const role = options.role;
this.setData({ k: options.k })
if (role === 'staff') this.setData({ selectedSortField: '推广人数' })
this.setData({ role });
let showRole = '';
switch (options.role) {
case 'manager':
showRole = '主管';
break;
case 'supervisor':
showRole = '员工';
break;
case 'staff':
showRole = '员工'
}
this.setData({ showRole });
// 执行搜索获取所有数据
this.onSearch()
},
// 搜索按钮点击
onSearch() {
const { showRole, role } = this.data;
// 显示加载中
wx.showLoading({
title: '加载中...',
mask: true // 显示遮罩层
});
if (showRole === '员工') {
this.setData({ sortField: 'promoCount' })
}
const requestData = {
nickName: this.data.nickName,
phoneNumber: this.data.phoneNumber,
sortField: this.data.sortField || '',
sortOrder: this.data.sortOrder || 'ascend'
};
if (role === 'manager') {
wx.request({
url: baseUrl + '/perform/rank/supervisor', // 替换为实际API地址
method: 'POST',
header: {
Authorization: wx.getStorageSync('token')
},
data: requestData,
success: (res) => {
wx.hideLoading();
if (res.data.code === 1) {
this.setData({
items: res.data.data,
allItems: res.data.data // 将所有数据存储以便后续模糊查询
});
} else {
notLogin(res.data.message)
}
},
fail: () => {
wx.hideLoading();
wx.showToast({
title: '请求失败',
icon: 'none'
});
}
});
} else if (role === 'supervisor' || role === 'staff') {
wx.request({
url: baseUrl + '/perform/rank/staff', // 替换为实际API地址
method: 'POST',
header: {
Authorization: wx.getStorageSync('token')
},
data: requestData,
success: (res) => {
wx.hideLoading();
if (res.data.code === 1) {
this.setData({
items: res.data.data,
allItems: res.data.data // 将所有数据存储以便后续模糊查询
});
} else {
wx.showToast({
title: '没有数据',
icon: 'none'
});
}
},
fail: () => {
wx.hideLoading();
wx.showToast({
title: '请求失败',
icon: 'none'
});
}
});
}
},
// 输入主管名称时保存值
onNameInput(e) {
const inputValue = e.detail.value;
this.setData({
nickName: e.detail.value
nickName: inputValue
});
},
// 模糊查询
onSearchWithFilter() {
const { nickName, allItems } = this.data;
// 如果没有输入主管名称,则直接显示所有数据
if (!nickName) {
this.setData({
items: allItems
});
return;
}
// 模糊查询
const filteredItems = allItems.filter(item =>
item.nickName.includes(nickName) // 根据主管名称进行模糊匹配
);
this.setData({
items: filteredItems
});
},
@ -61,149 +189,10 @@ Page({
this.onSearch()
},
// 搜索按钮点击
onSearch() {
const { showRole, role } = this.data;
// // —— 新增:校验主管名称 ——
// const nameRegex = /^[\u4e00-\u9fa5]+$/;
// if (!this.data.nickName) {
// wx.showToast({ title: '主管名称不能为空', icon: 'none' });
// return;
// }
// if (!nameRegex.test(this.data.nickName)) {
// wx.showToast({ title: '主管名称只能为汉字', icon: 'none' });
// return;
// }
// // —— 新增:校验手机号 ——
// if (!this.data.phoneNumber) {
// wx.showToast({ title: '手机号不能为空', icon: 'none' });
// return;
// }
// if (this.data.phoneNumber.length < 11) {
// wx.showToast({ title: '手机号不够11位', icon: 'none' });
// return;
// }
// 原排序条件校验,保持不变
// if (this.data.selectedSortField === '待选择') {
// wx.showToast({
// title: '排序条件不能为空',
// icon: 'none'
// });
// return;
// }
// 显示加载中
wx.showLoading({
title: '加载中...',
mask: true // 显示遮罩层
});
if (showRole === '员工') {
this.setData({ sortField: 'promoCount' })
}
const requestData = {
nickName: this.data.nickName,
phoneNumber: this.data.phoneNumber,
sortField: this.data.sortField || '',
sortOrder: this.data.sortOrder || 'ascend'
};
console.log('requestData====>', requestData)
if(role === 'manager') {
wx.request({
url: baseUrl + '/perform/rank/supervisor', // 替换为实际API地址
method: 'POST',
header: {
Authorization: wx.getStorageSync('token')
},
data: requestData,
success: (res) => {
console.log('看看后端--->', res.data);
// 请求成功后隐藏loading
wx.hideLoading();
if (res.data.code === 1) {
this.setData({
items: res.data.data
});
} else {
notLogin(res.data.message)
}
},
fail: () => {
// 请求失败后隐藏loading
wx.hideLoading();
wx.showToast({
title: '请求失败',
icon: 'none'
});
}
});
} else if( role === 'supervisor' || role === 'staff') {
wx.request({
url: baseUrl + '/perform/rank/staff', // 替换为实际API地址
method: 'POST',
header: {
Authorization: wx.getStorageSync('token')
},
data: requestData,
success: (res) => {
console.log('看看后端--->', res.data);
// 请求成功后隐藏loading
wx.hideLoading();
if (res.data.code === 1) {
this.setData({
items: res.data.data
});
} else {
wx.showToast({
title: '没有数据',
icon: 'none'
});
}
},
fail: () => {
// 请求失败后隐藏loading
wx.hideLoading();
wx.showToast({
title: '请求失败',
icon: 'none'
});
}
});
}
},
onLoad(options) {
// 根据身份确定角色
const role = options.role;
this.setData({k: options.k})
if (role === 'staff') this.setData({selectedSortField: '推广人数'})
console.log('角色---->',options.role);
this.setData({ role });
let showRole = '';
switch (options.role) {
case 'manager':
showRole = '主管';
break;
case 'supervisor':
showRole = '员工';
break;
case 'staff':
showRole = '员工'
}
this.setData({ showRole });
this.onSearch()
},
// 下拉刷新
onPullDownRefresh() {
this.onSearch()
wx.stopPullDownRefresh();
},
});
});