From 6ce9ab875c659ef669cb5fbd4dc006b3d6d47b0f Mon Sep 17 00:00:00 2001 From: fessor <352475718@qq.com> Date: Mon, 27 Mar 2023 01:44:23 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20ep=E9=87=8D=E5=86=99=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: fessor <352475718@qq.com> --- src/views/system/user/AddForm.vue | 223 ++++++ src/views/system/user/ImportForm.vue | 153 +++++ src/views/system/user/RoleForm.vue | 90 +++ src/views/system/user/index.vue | 979 +++++++++++++-------------- src/views/system/user/utils.ts | 44 ++ 5 files changed, 977 insertions(+), 512 deletions(-) create mode 100644 src/views/system/user/AddForm.vue create mode 100644 src/views/system/user/ImportForm.vue create mode 100644 src/views/system/user/RoleForm.vue create mode 100644 src/views/system/user/utils.ts diff --git a/src/views/system/user/AddForm.vue b/src/views/system/user/AddForm.vue new file mode 100644 index 00000000..12dc1737 --- /dev/null +++ b/src/views/system/user/AddForm.vue @@ -0,0 +1,223 @@ + + \ No newline at end of file diff --git a/src/views/system/user/ImportForm.vue b/src/views/system/user/ImportForm.vue new file mode 100644 index 00000000..b029730a --- /dev/null +++ b/src/views/system/user/ImportForm.vue @@ -0,0 +1,153 @@ + + + \ No newline at end of file diff --git a/src/views/system/user/RoleForm.vue b/src/views/system/user/RoleForm.vue new file mode 100644 index 00000000..694e5eeb --- /dev/null +++ b/src/views/system/user/RoleForm.vue @@ -0,0 +1,90 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 542ae2f0..ce034c4e 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -1,307 +1,325 @@ - - - diff --git a/src/views/system/user/utils.ts b/src/views/system/user/utils.ts new file mode 100644 index 00000000..3eb97aba --- /dev/null +++ b/src/views/system/user/utils.ts @@ -0,0 +1,44 @@ +export const parseTime = (time) => { + if (!time) { + return null + } + const format = '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if (typeof time === 'string' && /^[0-9]+$/.test(time)) { + time = parseInt(time) + } else if (typeof time === 'string') { + time = time + .replace(new RegExp(/-/gm), '/') + .replace('T', ' ') + .replace(new RegExp(/\.[\d]{3}/gm), '') + } + if (typeof time === 'number' && time.toString().length === 10) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { + return ['日', '一', '二', '三', '四', '五', '六'][value] + } + if (result.length > 0 && value < 10) { + value = '0' + value + } + return value || 0 + }) + return time_str +} \ No newline at end of file