|
@@ -45,31 +45,44 @@ const userList: User[] = data.list;
|
|
|
class Test {
|
|
|
// 分页列表
|
|
|
async page(params: any) {
|
|
|
- const { status, occupation, keyWord, page, size, phone, name, sort, order } = params || {};
|
|
|
+ const { keyWord, page, size, sort, order } = params || {};
|
|
|
|
|
|
- // 过滤后的列表
|
|
|
- const list = orderBy(userList, order, sort).filter((e) => {
|
|
|
- if (status !== undefined) {
|
|
|
- return e.status == status;
|
|
|
- }
|
|
|
+ console.log("[test]", params);
|
|
|
|
|
|
- if (phone !== undefined) {
|
|
|
- return String(e.phone).includes(phone);
|
|
|
- }
|
|
|
+ // 关键字查询
|
|
|
+ const keyWordLikeFields = ["phone", "name"];
|
|
|
|
|
|
- if (name !== undefined) {
|
|
|
- return e.name.includes(name);
|
|
|
- }
|
|
|
+ // 等值查询
|
|
|
+ const fieldEq = ["createTime", "occupation", "status"];
|
|
|
|
|
|
- if (keyWord !== undefined) {
|
|
|
- return e.name.includes(keyWord) || String(e.phone).includes(keyWord);
|
|
|
- }
|
|
|
+ // 模糊查询
|
|
|
+ const likeFields = ["phone", "name"];
|
|
|
+
|
|
|
+ // 过滤后的列表
|
|
|
+ const list = orderBy(userList, order, sort).filter((e: any) => {
|
|
|
+ let f = true;
|
|
|
|
|
|
- if (occupation !== undefined) {
|
|
|
- return e.occupation == occupation;
|
|
|
+ if (keyWord !== undefined) {
|
|
|
+ f = !!keyWordLikeFields.find((k) => String(e[k]).includes(String(params.keyWord)));
|
|
|
}
|
|
|
|
|
|
- return true;
|
|
|
+ fieldEq.forEach((k) => {
|
|
|
+ if (f) {
|
|
|
+ if (params[k] !== undefined) {
|
|
|
+ f = e[k] == params[k];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ likeFields.forEach((k) => {
|
|
|
+ if (f) {
|
|
|
+ if (params[k] !== undefined) {
|
|
|
+ f = String(e[k]).includes(String(params[k]));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ return f;
|
|
|
});
|
|
|
|
|
|
return new Promise((resolve) => {
|