From 5641cc61c43a13a959142c02ce7e7c27ebe3dbf5 Mon Sep 17 00:00:00 2001 From: zuiidea Date: Fri, 28 Apr 2017 16:34:08 +0800 Subject: [PATCH] user mocj --- src/mock/user.js | 39 ++++++++++++++++++++++++++------------- src/routes/user/index.js | 4 ++-- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/mock/user.js b/src/mock/user.js index 1f6c469..4eee116 100644 --- a/src/mock/user.js +++ b/src/mock/user.js @@ -129,24 +129,37 @@ module.exports = { [`GET ${apiPrefix}/users`] (req, res) { const { query } = req - const pageSize = query.pageSize || 10 - const currentPage = query.page || 1 + let { pageSize, page, ...other } = query + pageSize = pageSize || 10 + page = page || 1 - let data - let total + let newData = database + for (let key in other) { + if ({}.hasOwnProperty.call(other, key)) { + newData = newData.filter((item) => { + if ({}.hasOwnProperty.call(item, key)) { + if (key === 'address') { + return other[key].every(iitem => item[key].indexOf(iitem) > -1) + } else if (key === 'createTime') { + const start = new Date(other[key][0]).getTime() + const end = new Date(other[key][1]).getTime() + const now = new Date(item[key]).getTime() - if (query.field) { - const newData = database.filter((item) => item[query.field].indexOf(decodeURI(query.keyword)) > -1) - data = newData.slice((currentPage - 1) * pageSize, currentPage * pageSize) - total = newData.length - } else { - data = database.slice((currentPage - 1) * pageSize, currentPage * pageSize) - total = database.length + if (start && end) { + return now >= start && now <= end + } + return true + } + return String(item[key]).trim().indexOf(decodeURI(other[key]).trim()) > -1 + } + return true + }) + } } res.status(200).json({ - data, - total, + data: newData.slice((page - 1) * pageSize, page * pageSize), + total: newData.length, }) }, diff --git a/src/routes/user/index.js b/src/routes/user/index.js index c21b0c9..95363e5 100644 --- a/src/routes/user/index.js +++ b/src/routes/user/index.js @@ -8,7 +8,7 @@ import UserModal from './UserModal' const User = ({ location, dispatch, user, loading }) => { const { list, pagination, currentItem, modalVisible, modalType, isMotion } = user - const { current, pageSize } = pagination + const { pageSize } = pagination const userModalProps = { item: modalType === 'create' ? {} : currentItem, @@ -71,7 +71,7 @@ const User = ({ location, dispatch, user, loading }) => { pathname: location.pathname, query: { ...value, - page: current, + page: 1, pageSize, }, }))