Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
evm-store
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wanli
evm-store
Commits
883c66c3
Commit
883c66c3
authored
Mar 15, 2021
by
wanli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
15ef1eea
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
25 additions
and
166 deletions
+25
-166
backend/app-store.db
backend/app-store.db
+0
-0
backend/controller/user_manager.py
backend/controller/user_manager.py
+5
-79
backend/model/user.py
backend/model/user.py
+2
-5
backend/schema/user.py
backend/schema/user.py
+7
-21
frontend/src/views/system/users.vue
frontend/src/views/system/users.vue
+10
-60
frontend/vue.config.js
frontend/vue.config.js
+1
-1
No files found.
backend/app-store.db
View file @
883c66c3
No preview for this file type
backend/controller/user_manager.py
View file @
883c66c3
...
@@ -39,23 +39,11 @@ class UserManager(object):
...
@@ -39,23 +39,11 @@ class UserManager(object):
if
not
editor
:
if
not
editor
:
return
False
,
"current user is not exists"
return
False
,
"current user is not exists"
if
"role"
in
data
:
role
=
Role
.
get
(
uuid
=
data
.
get
(
"role"
))
if
not
role
:
return
False
,
"role does not exists"
data
.
update
({
"role"
:
role
.
id
})
if
"depot"
in
data
:
# depot = Depot.select().where(uuid=data["depot"]).first()
depot
=
Depot
.
get
(
uuid
=
data
.
get
(
"depot"
))
if
not
depot
:
return
False
,
"depot does not exists"
data
.
update
({
"depot"
:
depot
.
id
})
if
"username"
not
in
data
or
not
data
.
get
(
"username"
):
if
"username"
not
in
data
or
not
data
.
get
(
"username"
):
data
.
update
({
"username"
:
data
.
get
(
"account"
)
})
data
.
update
({
"username"
:
data
.
get
(
"account"
)
})
print
(
data
)
# 密码加密
# 密码加密
data
[
'password'
]
=
md5_salt
(
data
[
'password'
])
data
[
'password'
]
=
md5_salt
(
data
[
'password'
])
data
.
update
({
data
.
update
({
...
@@ -103,18 +91,6 @@ class UserManager(object):
...
@@ -103,18 +91,6 @@ class UserManager(object):
if
"password"
in
data
:
if
"password"
in
data
:
data
[
"password"
]
=
md5_salt
(
data
[
'password'
])
data
[
"password"
]
=
md5_salt
(
data
[
'password'
])
if
"role"
in
data
:
role
=
Role
.
get
(
uuid
=
data
.
get
(
"role"
))
if
not
role
:
return
False
,
"role does not exists"
data
.
update
({
"role"
:
role
.
id
})
if
"depot"
in
data
:
depot
=
Depot
.
get
(
uuid
=
data
.
get
(
"depot"
))
if
not
depot
:
return
False
,
"depot does not exists"
data
.
update
({
"depot"
:
depot
.
id
})
user
=
User
.
get
(
uuid
=
uuid
)
user
=
User
.
get
(
uuid
=
uuid
)
if
user
:
if
user
:
user
.
set
(
update_at
=
datetime
.
now
(),
update_by
=
editor
.
id
,
**
data
)
user
.
set
(
update_at
=
datetime
.
now
(),
update_by
=
editor
.
id
,
**
data
)
...
@@ -131,12 +107,9 @@ class UserManager(object):
...
@@ -131,12 +107,9 @@ class UserManager(object):
'''
'''
result
=
User
.
get
(
id
=
request
.
current_user
.
get
(
"id"
),
is_delete
=
False
)
result
=
User
.
get
(
id
=
request
.
current_user
.
get
(
"id"
),
is_delete
=
False
)
if
result
:
if
result
:
temp
=
result
.
to_dict
(
with_collections
=
True
,
related_objects
=
True
,
only
=
[
"uuid"
,
"username"
,
"account"
,
"phone"
,
"email"
,
"
hometown"
,
"gender"
,
"birthday"
,
"entry_time"
,
"expire_date
"
,
"create_at"
,
"update_at"
])
temp
=
result
.
to_dict
(
with_collections
=
True
,
related_objects
=
True
,
only
=
[
"uuid"
,
"username"
,
"account"
,
"phone"
,
"email"
,
"
gender
"
,
"create_at"
,
"update_at"
])
temp
.
update
({
temp
.
update
({
"birthday"
:
result
.
birthday
.
strftime
(
"
%
Y-
%
m-
%
d"
)
if
result
.
birthday
else
None
,
"create_at"
:
result
.
create_at
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
if
result
.
create_at
else
None
,
"create_at"
:
result
.
create_at
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
if
result
.
create_at
else
None
,
"entry_time"
:
result
.
entry_time
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
if
result
.
entry_time
else
None
,
"expire_date"
:
result
.
expire_date
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
if
result
.
expire_date
else
None
,
"update_at"
:
result
.
update_at
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
if
result
.
update_at
else
None
,
"update_at"
:
result
.
update_at
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
if
result
.
update_at
else
None
,
})
})
result
=
temp
result
=
temp
...
@@ -149,39 +122,6 @@ class UserManager(object):
...
@@ -149,39 +122,6 @@ class UserManager(object):
# 当参数为空时,直接返回错误
# 当参数为空时,直接返回错误
if
not
data
or
len
(
data
)
<=
0
:
if
not
data
or
len
(
data
)
<=
0
:
return
False
,
0
,
"parameters can not be null."
return
False
,
0
,
"parameters can not be null."
# select_sql = "select `id`, `account`, `username` from `{}`".format(User._table_)
# conditions = []
# globals_dict = dict()
# if "id" in data and data.get("id"):
# conditions.append(" id = $id")
# globals_dict.update({ "id": data.get("id") })
# if "account" in data and data.get("account"):
# conditions.append("account = \"$account\"")
# globals_dict.update({ "account": sql_filter(data.get("account")) })
# if "username" in data and data.get("username"):
# conditions.append("username = \"$username\"")
# globals_dict.update({ "username": sql_filter(data.get("username")) })
# if len(conditions):
# select_sql = select_sql + " where " + " and ".join(conditions)
# conditions = []
# select_sql = select_sql + " "
# conditions.append("order by $order")
# globals_dict.update({ "order": sql_filter(data.get("order", "create_at")) })
# conditions.append("limit $limit")
# globals_dict.update({ "limit": data.get("pagesize", 10) })
# conditions.append("offset $offset")
# globals_dict.update({ "offset": (data.get("pagenum", 1) - 1) * data.get("pagesize", 10) })
# result = User.select_by_sql(select_sql + " ".join(conditions), globals=globals_dict)
temp
=
copy
.
deepcopy
(
data
)
temp
=
copy
.
deepcopy
(
data
)
if
'pagenum'
in
temp
:
if
'pagenum'
in
temp
:
...
@@ -190,18 +130,7 @@ class UserManager(object):
...
@@ -190,18 +130,7 @@ class UserManager(object):
temp
.
pop
(
'pagesize'
)
temp
.
pop
(
'pagesize'
)
if
'scope_type'
in
temp
:
if
'scope_type'
in
temp
:
temp
.
pop
(
'scope_type'
)
temp
.
pop
(
'scope_type'
)
if
'role'
in
temp
:
role
=
Role
.
get
(
uuid
=
temp
.
get
(
'role'
))
if
role
:
temp
.
update
({
"role"
:
role
})
else
:
temp
.
pop
(
'pagenum'
)
if
'depot'
in
temp
:
depot
=
Depot
.
get
(
uuid
=
temp
.
get
(
'depot'
))
if
depot
:
temp
.
update
({
"depot"
:
depot
})
else
:
temp
.
pop
(
'pagenum'
)
temp
.
setdefault
(
"is_delete"
,
False
)
temp
.
setdefault
(
"is_delete"
,
False
)
if
"scope_type"
in
data
and
data
.
get
(
"scope_type"
)
==
"list"
:
if
"scope_type"
in
data
and
data
.
get
(
"scope_type"
)
==
"list"
:
...
@@ -218,13 +147,10 @@ class UserManager(object):
...
@@ -218,13 +147,10 @@ class UserManager(object):
if
result
and
len
(
result
):
if
result
and
len
(
result
):
temp
=
[]
temp
=
[]
for
item
in
result
:
for
item
in
result
:
t
=
item
.
to_dict
(
with_collections
=
True
,
related_objects
=
True
,
only
=
[
"uuid"
,
"username"
,
"account"
,
"phone"
,
"email"
,
"
hometown"
,
"gender"
,
"birthday"
,
"entry_time"
,
"expire_date
"
,
"create_at"
,
"update_at"
,
"remarks"
])
t
=
item
.
to_dict
(
with_collections
=
True
,
related_objects
=
True
,
only
=
[
"uuid"
,
"username"
,
"account"
,
"phone"
,
"email"
,
"
gender
"
,
"create_at"
,
"update_at"
,
"remarks"
])
t
.
update
({
t
.
update
({
"email"
:
""
if
item
.
email
==
"user@example.com"
else
item
.
email
,
"email"
:
""
if
item
.
email
==
"user@example.com"
else
item
.
email
,
"birthday"
:
item
.
birthday
.
strftime
(
"
%
Y-
%
m-
%
d"
)
if
item
.
birthday
else
None
,
"create_at"
:
item
.
create_at
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
),
"create_at"
:
item
.
create_at
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
),
"entry_time"
:
item
.
entry_time
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
),
"expire_date"
:
item
.
expire_date
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
),
"update_at"
:
item
.
update_at
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
),
"update_at"
:
item
.
update_at
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
),
})
})
temp
.
append
(
t
)
temp
.
append
(
t
)
...
...
backend/model/user.py
View file @
883c66c3
...
@@ -16,13 +16,10 @@ class User(db.Entity):
...
@@ -16,13 +16,10 @@ class User(db.Entity):
account
=
Required
(
str
,
unique
=
True
)
# 账号
account
=
Required
(
str
,
unique
=
True
)
# 账号
username
=
Required
(
str
,
max_len
=
100
)
# 用户名
username
=
Required
(
str
,
max_len
=
100
)
# 用户名
password
=
Required
(
str
,
max_len
=
64
)
password
=
Required
(
str
,
max_len
=
64
)
gender
=
Required
(
int
,
size
=
8
)
# 性别,未知0 男1 女2
gender
=
Optional
(
int
,
size
=
8
)
# 性别,未知0 男1 女2
birthday
=
Optional
(
date
,
default
=
date
.
today
())
# 使用age会带来age无法随时间变化问题
birthday
=
Optional
(
date
,
default
=
date
.
today
())
# 使用age会带来age无法随时间变化问题
phone
=
Required
(
str
,
max_len
=
11
)
# 联系方式
phone
=
Optional
(
str
,
max_len
=
11
)
# 联系方式
email
=
Optional
(
str
,
max_len
=
100
)
# 邮箱
email
=
Optional
(
str
,
max_len
=
100
)
# 邮箱
hometown
=
Optional
(
str
,
max_len
=
50
)
# 籍贯
entry_time
=
Required
(
datetime
,
default
=
datetime
.
now
)
# 入职时间
expire_date
=
Required
(
datetime
,
default
=
datetime
.
now
)
# 劳动合同到期时间
create_at
=
Required
(
datetime
,
default
=
datetime
.
now
)
create_at
=
Required
(
datetime
,
default
=
datetime
.
now
)
create_by
=
Required
(
int
)
create_by
=
Required
(
int
)
update_at
=
Required
(
datetime
,
default
=
datetime
.
now
)
update_at
=
Required
(
datetime
,
default
=
datetime
.
now
)
...
...
backend/schema/user.py
View file @
883c66c3
...
@@ -16,15 +16,10 @@ class AddSchema(BaseSchema):
...
@@ -16,15 +16,10 @@ class AddSchema(BaseSchema):
account
=
fields
.
String
(
required
=
True
,
validate
=
validate
.
Length
(
min
=
2
,
max
=
20
))
account
=
fields
.
String
(
required
=
True
,
validate
=
validate
.
Length
(
min
=
2
,
max
=
20
))
username
=
fields
.
String
(
required
=
False
,
validate
=
validate
.
Length
(
min
=
2
,
max
=
20
))
username
=
fields
.
String
(
required
=
False
,
validate
=
validate
.
Length
(
min
=
2
,
max
=
20
))
password
=
fields
.
String
(
required
=
True
,
validate
=
validate
.
Length
(
min
=
6
,
max
=
18
))
password
=
fields
.
String
(
required
=
True
,
validate
=
validate
.
Length
(
min
=
6
,
max
=
18
))
email
=
fields
.
Email
(
required
=
False
)
email
=
fields
.
Email
(
required
=
False
,
default
=
""
)
phone
=
fields
.
String
(
required
=
True
,
validate
=
validate
.
Length
(
min
=
11
,
max
=
11
))
phone
=
fields
.
String
(
required
=
False
,
default
=
""
)
gender
=
fields
.
Int
(
required
=
True
)
gender
=
fields
.
Int
(
required
=
False
,
default
=
1
)
birthday
=
fields
.
Date
(
missing
=
None
)
birthday
=
fields
.
Date
(
required
=
False
,
default
=
None
)
hometown
=
fields
.
String
(
missing
=
""
)
role
=
fields
.
UUID
(
required
=
True
)
depot
=
fields
.
UUID
(
required
=
True
)
entry_time
=
fields
.
DateTime
(
required
=
False
,
nullable
=
True
)
expire_date
=
fields
.
DateTime
(
required
=
False
,
nullable
=
True
)
remarks
=
fields
.
String
(
required
=
False
)
remarks
=
fields
.
String
(
required
=
False
)
class
Meta
:
class
Meta
:
...
@@ -39,14 +34,9 @@ class UpdateSchema(BaseSchema):
...
@@ -39,14 +34,9 @@ class UpdateSchema(BaseSchema):
account
=
fields
.
String
(
required
=
False
,
validate
=
validate
.
Length
(
min
=
2
,
max
=
20
))
account
=
fields
.
String
(
required
=
False
,
validate
=
validate
.
Length
(
min
=
2
,
max
=
20
))
username
=
fields
.
String
(
required
=
False
,
validate
=
validate
.
Length
(
min
=
2
,
max
=
20
))
username
=
fields
.
String
(
required
=
False
,
validate
=
validate
.
Length
(
min
=
2
,
max
=
20
))
email
=
fields
.
Email
(
required
=
False
)
email
=
fields
.
Email
(
required
=
False
)
phone
=
fields
.
String
(
required
=
False
,
validate
=
validate
.
Length
(
min
=
11
,
max
=
11
)
)
phone
=
fields
.
String
(
required
=
False
)
gender
=
fields
.
Int
(
required
=
False
)
gender
=
fields
.
Int
(
required
=
False
)
birthday
=
fields
.
Date
(
required
=
False
)
birthday
=
fields
.
Date
(
missing
=
False
)
hometown
=
fields
.
String
(
required
=
False
)
role
=
fields
.
UUID
(
required
=
False
)
depot
=
fields
.
UUID
(
required
=
False
)
entry_time
=
fields
.
DateTime
(
required
=
False
)
expire_date
=
fields
.
DateTime
(
required
=
False
)
remarks
=
fields
.
String
(
required
=
False
)
remarks
=
fields
.
String
(
required
=
False
)
class
Meta
:
class
Meta
:
...
@@ -55,8 +45,6 @@ class UpdateSchema(BaseSchema):
...
@@ -55,8 +45,6 @@ class UpdateSchema(BaseSchema):
class
QuerySchema
(
BaseSchema
):
class
QuerySchema
(
BaseSchema
):
uuid
=
fields
.
UUID
(
required
=
False
)
uuid
=
fields
.
UUID
(
required
=
False
)
scope_type
=
fields
.
String
(
required
=
False
)
scope_type
=
fields
.
String
(
required
=
False
)
role
=
fields
.
UUID
(
required
=
False
)
depot
=
fields
.
UUID
(
required
=
False
)
pagenum
=
fields
.
Int
(
required
=
False
)
pagenum
=
fields
.
Int
(
required
=
False
)
pagesize
=
fields
.
Int
(
required
=
False
,
max
=
50
)
# 防止用户传特别大的数,导致数据库查询阻塞
pagesize
=
fields
.
Int
(
required
=
False
,
max
=
50
)
# 防止用户传特别大的数,导致数据库查询阻塞
...
@@ -69,12 +57,10 @@ class ResponseSchema(BaseSchema):
...
@@ -69,12 +57,10 @@ class ResponseSchema(BaseSchema):
username
=
fields
.
String
(
required
=
True
,
validate
=
validate
.
Length
(
min
=
2
,
max
=
20
))
username
=
fields
.
String
(
required
=
True
,
validate
=
validate
.
Length
(
min
=
2
,
max
=
20
))
password
=
fields
.
String
(
required
=
True
,
validate
=
validate
.
Length
(
min
=
6
,
max
=
18
))
password
=
fields
.
String
(
required
=
True
,
validate
=
validate
.
Length
(
min
=
6
,
max
=
18
))
email
=
fields
.
Email
(
required
=
False
)
email
=
fields
.
Email
(
required
=
False
)
phone
=
fields
.
String
(
required
=
True
,
validate
=
validate
.
Length
(
min
=
11
,
max
=
11
)
)
phone
=
fields
.
String
(
required
=
True
)
gender
=
fields
.
Int
(
required
=
True
)
gender
=
fields
.
Int
(
required
=
True
)
birthday
=
fields
.
Date
(
required
=
False
)
birthday
=
fields
.
Date
(
required
=
False
)
hometown
=
fields
.
String
(
required
=
False
)
hometown
=
fields
.
String
(
required
=
False
)
role
=
fields
.
Int
(
required
=
True
)
depot
=
fields
.
Int
(
required
=
True
)
entry_time
=
fields
.
DateTime
(
required
=
True
)
entry_time
=
fields
.
DateTime
(
required
=
True
)
expire_date
=
fields
.
DateTime
(
required
=
True
)
expire_date
=
fields
.
DateTime
(
required
=
True
)
remarks
=
fields
.
String
(
required
=
True
)
remarks
=
fields
.
String
(
required
=
True
)
...
...
frontend/src/views/system/users.vue
View file @
883c66c3
...
@@ -6,16 +6,6 @@
...
@@ -6,16 +6,6 @@
<el-option
v-for=
"(item, index) in users"
:key=
"index"
:label=
"item.account"
:value=
"item.uuid"
></el-option>
<el-option
v-for=
"(item, index) in users"
:key=
"index"
:label=
"item.account"
:value=
"item.uuid"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"角色"
prop=
"role"
>
<el-select
v-model=
"form.role"
filterable
placeholder=
"请选择角色"
>
<el-option
v-for=
"(item, index) in roles"
:key=
"index"
:label=
"item.name"
:value=
"item.uuid"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"部门"
prop=
"depot"
>
<el-select
v-model=
"form.depot"
filterable
placeholder=
"请选择角色"
>
<el-option
v-for=
"(item, index) in depots"
:key=
"index"
:label=
"item.name"
:value=
"item.uuid"
></el-option>
</el-select>
</el-form-item>
<el-form-item><el-button
type=
"primary"
@
click=
"onSubmit"
>
查询
</el-button></el-form-item>
<el-form-item><el-button
type=
"primary"
@
click=
"onSubmit"
>
查询
</el-button></el-form-item>
<el-form-item><el-button
@
click=
"onReset('form')"
>
重置
</el-button></el-form-item>
<el-form-item><el-button
@
click=
"onReset('form')"
>
重置
</el-button></el-form-item>
<el-form-item><el-button
type=
"warning"
@
click=
"onAdd"
>
添加
</el-button></el-form-item>
<el-form-item><el-button
type=
"warning"
@
click=
"onAdd"
>
添加
</el-button></el-form-item>
...
@@ -23,23 +13,11 @@
...
@@ -23,23 +13,11 @@
<el-table
v-loading=
"isLoading"
element-loading-text=
"Loading"
:data=
"list"
size=
"mini"
border
stripe
fit
highlight-current-row
>
<el-table
v-loading=
"isLoading"
element-loading-text=
"Loading"
:data=
"list"
size=
"mini"
border
stripe
fit
highlight-current-row
>
<el-table-column
prop=
"username"
label=
"用户名"
align=
"center"
width=
"150"
></el-table-column>
<el-table-column
prop=
"username"
label=
"用户名"
align=
"center"
width=
"150"
></el-table-column>
<el-table-column
prop=
"account"
label=
"账号"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"account"
label=
"账号"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"role.name"
label=
"角色"
width=
"120"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
prop=
"phone"
label=
"手机"
width=
"150"
></el-table-column>
<el-table-column
prop=
"depot.name"
label=
"部门"
width=
"120"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
prop=
"email"
label=
"邮箱"
width=
"200"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
prop=
"phone"
label=
"联系方式"
width=
"150"
></el-table-column>
<el-table-column
prop=
"remarks"
label=
"备注"
width=
"240"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
prop=
"birthday"
label=
"出生年月"
width=
"150"
></el-table-column>
<el-table-column
prop=
"email"
label=
"邮箱"
width=
"180"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
prop=
"hometown"
label=
"籍贯"
min-width=
"100"
></el-table-column>
<el-table-column
prop=
"entry_time"
label=
"入职时间"
width=
"150"
></el-table-column>
<el-table-column
prop=
"expire_date"
label=
"到期时间"
width=
"150"
>
<template
slot=
"header"
>
<el-tooltip
effect=
"dark"
content=
"劳动合同到期时间"
placement=
"top"
>
<span>
到期时间
</span>
</el-tooltip>
</
template
>
</el-table-column>
<el-table-column
prop=
"remarks"
label=
"备注"
width=
"180"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
prop=
"create_at"
label=
"创建时间"
width=
"150"
></el-table-column>
<el-table-column
prop=
"create_at"
label=
"创建时间"
width=
"150"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"180"
fixed=
"right"
>
<el-table-column
label=
"操作"
align=
"center"
min-
width=
"180"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"success"
@
click=
"handleEdit(scope.$index, scope.row)"
>
编辑
</el-button>
<el-button
size=
"mini"
type=
"success"
@
click=
"handleEdit(scope.$index, scope.row)"
>
编辑
</el-button>
<el-button
size=
"mini"
type=
"danger"
@
click=
"handleDelete(scope.$index, scope.row)"
>
删除
</el-button>
<el-button
size=
"mini"
type=
"danger"
@
click=
"handleDelete(scope.$index, scope.row)"
>
删除
</el-button>
...
@@ -64,40 +42,12 @@
...
@@ -64,40 +42,12 @@
<el-form-item
label=
"用户名"
prop=
"username"
>
<el-form-item
label=
"用户名"
prop=
"username"
>
<el-input
type=
"text"
v-model=
"post.username"
autocomplete=
"off"
></el-input>
<el-input
type=
"text"
v-model=
"post.username"
autocomplete=
"off"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"性别"
prop=
"gender"
>
<el-radio-group
v-model=
"post.gender"
>
<el-radio
:label=
"0"
>
女
</el-radio>
<el-radio
:label=
"1"
>
男
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"出生年月"
prop=
"birthday"
>
<el-date-picker
v-model=
"post.birthday"
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
type=
"date"
placeholder=
"选择出生年月"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"籍贯"
prop=
"hometown"
>
<el-input
type=
"text"
v-model=
"post.hometown"
autocomplete=
"off"
></el-input>
</el-form-item>
<el-form-item
label=
"联系方式"
prop=
"phone"
>
<el-form-item
label=
"联系方式"
prop=
"phone"
>
<el-input
type=
"text"
v-model=
"post.phone"
autocomplete=
"off"
></el-input>
<el-input
type=
"text"
v-model=
"post.phone"
autocomplete=
"off"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"邮箱"
prop=
"email"
>
<el-form-item
label=
"邮箱"
prop=
"email"
>
<el-input
type=
"email"
v-model=
"post.email"
autocomplete=
"off"
></el-input>
<el-input
type=
"email"
v-model=
"post.email"
autocomplete=
"off"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"部门"
prop=
"depot"
>
<el-select
v-model=
"post.depot"
filterable
placeholder=
"请选择部门"
>
<el-option
v-for=
"(item, index) in depots"
:key=
"index"
:label=
"item.name"
:value=
"item.uuid"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"角色"
prop=
"role"
>
<el-select
v-model=
"post.role"
filterable
placeholder=
"请选择角色"
>
<el-option
v-for=
"(item, index) in roles"
:key=
"index"
:label=
"item.name"
:value=
"item.uuid"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"入职时间"
prop=
"entry_time"
>
<el-date-picker
v-model=
"post.entry_time"
format=
"yyyy-MM-dd HH:mm:ss"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetime"
placeholder=
"选择入职时间"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"到期时间"
prop=
"expire_date"
>
<el-date-picker
v-model=
"post.expire_date"
format=
"yyyy-MM-dd HH:mm:ss"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetime"
placeholder=
"选择到期时间"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remarks"
>
<el-form-item
label=
"备注"
prop=
"remarks"
>
<el-input
type=
"text"
v-model=
"post.remarks"
autocomplete=
"off"
></el-input>
<el-input
type=
"text"
v-model=
"post.remarks"
autocomplete=
"off"
></el-input>
</el-form-item>
</el-form-item>
...
@@ -155,15 +105,15 @@ export default {
...
@@ -155,15 +105,15 @@ export default {
{
min
:
1
,
max
:
20
,
message
:
'
字符串长度在 1 到 20 之间
'
,
trigger
:
'
blur
'
}
{
min
:
1
,
max
:
20
,
message
:
'
字符串长度在 1 到 20 之间
'
,
trigger
:
'
blur
'
}
],
],
password
:
[{
type
:
'
string
'
,
required
:
true
,
message
:
'
密码不能为空
'
,
trigger
:
'
blur
'
},
{
min
:
6
,
max
:
18
,
message
:
'
长度在 6 到 18 个字符
'
,
trigger
:
'
blur
'
}],
password
:
[{
type
:
'
string
'
,
required
:
true
,
message
:
'
密码不能为空
'
,
trigger
:
'
blur
'
},
{
min
:
6
,
max
:
18
,
message
:
'
长度在 6 到 18 个字符
'
,
trigger
:
'
blur
'
}],
phone
:
[{
type
:
'
string
'
,
required
:
tru
e
,
message
:
'
手机号不能为空
'
,
trigger
:
'
blur
'
},
{
len
:
11
,
message
:
'
手机号长度为11
'
,
trigger
:
'
blur
'
}],
phone
:
[{
type
:
'
string
'
,
required
:
fals
e
,
message
:
'
手机号不能为空
'
,
trigger
:
'
blur
'
},
{
len
:
11
,
message
:
'
手机号长度为11
'
,
trigger
:
'
blur
'
}],
birthday
:
[{
required
:
false
,
message
:
'
出生年月不能为空
'
,
trigger
:
'
blur
'
}],
birthday
:
[{
required
:
false
,
message
:
'
出生年月不能为空
'
,
trigger
:
'
blur
'
}],
gender
:
[{
type
:
'
number
'
,
required
:
tru
e
,
message
:
'
性别不能为空
'
,
trigger
:
'
blur
'
}],
gender
:
[{
type
:
'
number
'
,
required
:
fals
e
,
message
:
'
性别不能为空
'
,
trigger
:
'
blur
'
}],
email
:
[{
type
:
'
email
'
,
required
:
tru
e
,
message
:
'
邮箱不能为空
'
,
trigger
:
'
blur
'
}],
email
:
[{
type
:
'
email
'
,
required
:
fals
e
,
message
:
'
邮箱不能为空
'
,
trigger
:
'
blur
'
}],
hometown
:
[{
type
:
'
string
'
,
required
:
tru
e
,
message
:
'
籍贯不能为空
'
,
trigger
:
'
blur
'
}],
hometown
:
[{
type
:
'
string
'
,
required
:
fals
e
,
message
:
'
籍贯不能为空
'
,
trigger
:
'
blur
'
}],
entry_time
:
[{
required
:
false
,
message
:
'
入职时间不能为空
'
,
trigger
:
'
blur
'
}],
entry_time
:
[{
required
:
false
,
message
:
'
入职时间不能为空
'
,
trigger
:
'
blur
'
}],
expire_date
:
[{
required
:
false
,
message
:
'
到期时间不能为空
'
,
trigger
:
'
blur
'
}],
expire_date
:
[{
required
:
false
,
message
:
'
到期时间不能为空
'
,
trigger
:
'
blur
'
}],
depot
:
[{
type
:
'
string
'
,
required
:
tru
e
,
message
:
'
部门不能为空
'
,
trigger
:
'
blur
'
}],
depot
:
[{
type
:
'
string
'
,
required
:
fals
e
,
message
:
'
部门不能为空
'
,
trigger
:
'
blur
'
}],
role
:
[{
type
:
'
string
'
,
required
:
tru
e
,
message
:
'
角色不能为空
'
,
trigger
:
'
blur
'
}],
role
:
[{
type
:
'
string
'
,
required
:
fals
e
,
message
:
'
角色不能为空
'
,
trigger
:
'
blur
'
}],
remarks
:
[{
type
:
'
string
'
,
required
:
false
,
message
:
'
备注不能为空
'
,
trigger
:
'
blur
'
}],
remarks
:
[{
type
:
'
string
'
,
required
:
false
,
message
:
'
备注不能为空
'
,
trigger
:
'
blur
'
}],
}
}
}
}
...
...
frontend/vue.config.js
View file @
883c66c3
...
@@ -31,7 +31,7 @@ module.exports = {
...
@@ -31,7 +31,7 @@ module.exports = {
// change xxx-api/login => mock/login
// change xxx-api/login => mock/login
// detail: https://cli.vuejs.org/config/#devserver-proxy
// detail: https://cli.vuejs.org/config/#devserver-proxy
"
/api/v1
"
:
{
"
/api/v1
"
:
{
target
:
"
http://127.0.0.1:
9999
/
"
,
target
:
"
http://127.0.0.1:
5000
/
"
,
changeOrigin
:
true
,
changeOrigin
:
true
,
pathRewrite
:
{},
pathRewrite
:
{},
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment