diff --git a/mock/users.js b/mock/users.js index 9673bc1..613eb7b 100644 --- a/mock/users.js +++ b/mock/users.js @@ -1,37 +1,46 @@ -'use strict' - const qs = require('qs') -const mockjs = require('mockjs') +const Mock = require('mockjs') +const Watch = require("watchjs") -// 数据持久 -let tableListData = {} -if (!global.tableListData) { - const data = mockjs.mock({ - 'data|100': [ - { - 'id|+1': 1, - name: '@cname', - nickName: '@name', - phone: /^1[34578]\d{9}$/, - 'age|11-99': 1, - address: '@county(true)', - isMale: '@boolean', - email: '@email', - createTime: '@datetime', - avatar: mockjs.Random.image('100x100', mockjs.Random.color()) +let usersListData = {} +if (!global.usersListData) { + const data = !!localStorage.getItem("antdUsersListData") + ? JSON.parse(localStorage.getItem("antdUsersListData")) + : Mock.mock({ + 'data|100': [ + { + 'id|+1': 1, + name: '@cname', + nickName: '@last', + phone: /^1[34578]\d{9}$/, + 'age|11-99': 1, + address: '@county(true)', + isMale: '@boolean', + email: '@email', + createTime: '@datetime', + avatar: function(){ + return Mock.Random.image('100x100', Mock.Random.color(),"#757575",'png',this.nickName.substr(0,1)) + } + } + ], + page: { + total: 100, + current: 1 } - ], - page: { - total: 100, - current: 1 - } - }) - tableListData = data - global.tableListData = tableListData + }) + usersListData = data + global.usersListData = usersListData + if (!localStorage.getItem("antdUsersListData")) { + localStorage.setItem("antdUsersListData", JSON.stringify(usersListData)) + } } else { - tableListData = global.tableListData + usersListData = global.usersListData } +Watch.watch(usersListData, function () { + localStorage.setItem("antdUsersListData", JSON.stringify(usersListData)) +}) + module.exports = { 'GET /api/users' (req, res) { @@ -42,7 +51,7 @@ module.exports = { let data let newPage - let newData = tableListData.data.concat() + let newData = usersListData.data.concat() if (page.field) { const d = newData.filter(function (item) { @@ -56,11 +65,11 @@ module.exports = { total: d.length } } else { - data = tableListData.data.slice((currentPage - 1) * pageSize, currentPage * pageSize) - tableListData.page.current = currentPage * 1 + data = usersListData.data.slice((currentPage - 1) * pageSize, currentPage * pageSize) + usersListData.page.current = currentPage * 1 newPage = { - current: tableListData.page.current, - total: tableListData.page.total + current: usersListData.page.current, + total: usersListData.page.total } } res.json({success: true, data, page: newPage}) @@ -69,44 +78,44 @@ module.exports = { 'POST /api/users' (req, res) { const newData = qs.parse(req.body) - newData.id = tableListData.data.length + 1 - tableListData.data.unshift(newData) + newData.id = usersListData.data.length + 1 + usersListData.data.unshift(newData) - tableListData.page.total = tableListData.data.length - tableListData.page.current = 1 + usersListData.page.total = usersListData.data.length + usersListData.page.current = 1 - global.tableListData = tableListData - res.json({success: true, data: tableListData.data, page: tableListData.page}) + global.usersListData = usersListData + res.json({success: true, data: usersListData.data, page: usersListData.page}) }, 'DELETE /api/users' (req, res) { const deleteItem = qs.parse(req.body) - tableListData.data = tableListData.data.filter(function (item) { + usersListData.data = usersListData.data.filter(function (item) { if (item.id == deleteItem.id) { return false } return true }) - tableListData.page.total = tableListData.data.length + usersListData.page.total = usersListData.data.length - global.tableListData = tableListData - res.json({success: true, data: tableListData.data, page: tableListData.page}) + global.usersListData = usersListData + res.json({success: true, data: usersListData.data, page: usersListData.page}) }, 'PUT /api/users' (req, res) { const editItem = qs.parse(req.body) - tableListData.data = tableListData.data.map(function (item) { + usersListData.data = usersListData.data.map(function (item) { if (item.id == editItem.id) { return editItem } return item }) - global.tableListData = tableListData - res.json({success: true, data: tableListData.data, page: tableListData.page}) + global.usersListData = usersListData + res.json({success: true, data: usersListData.data, page: usersListData.page}) } } diff --git a/package.json b/package.json index e9a7610..42d313f 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,8 @@ "glob": "^7.0.5", "mockjs": "^1.0.1-beta3", "redbox-react": "^1.2.10", - "robe-ajax": "^1.0.0" + "robe-ajax": "^1.0.0", + "watchjs": "^0.0.0" }, "scripts": { "start": "dora --plugins \"proxy,webpack,webpack-hmr\"", diff --git a/proxy.config.js b/proxy.config.js index ccdf9e5..d3c83e0 100644 --- a/proxy.config.js +++ b/proxy.config.js @@ -4,8 +4,6 @@ const mock = {} require('fs').readdirSync(require('path').join(__dirname + '/mock')) .forEach(function (file) { - console.log(file); - console.log(require('./mock/' + file)); Object.assign(mock, require('./mock/' + file)) }) diff --git a/src/components/layout/common.less b/src/components/layout/common.less index c4479de..5f90d0c 100644 --- a/src/components/layout/common.less +++ b/src/components/layout/common.less @@ -80,3 +80,21 @@ body { border-radius: 0; box-shadow: 0 0 20px rgba(100, 100, 100, 0.2); } + +:global .vertical-center-modal { + display: flex; + align-items: center; + justify-content: center; + + .ant-modal { + top: 0; + + .ant-modal-body { + max-height: 500px; + overflow-y: auto; + } + } +} +:global .ant-form-item-control{ + vertical-align:middle; +} diff --git a/src/components/users/list.jsx b/src/components/users/list.jsx index 0da39c4..1a376d1 100644 --- a/src/components/users/list.jsx +++ b/src/components/users/list.jsx @@ -74,6 +74,7 @@ function list({ return (