Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
seeta-device
/
deviceManage
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 1fdef2b9
authored
Sep 10, 2021
by
温丽香
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
账户页面联调完成
1 parent
0165f96d
Pipeline
#4299
passed
in 1 minute 55 seconds
Changes
7
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
115 additions
and
75 deletions
src/axios.js
src/http.ts
src/layouts/components/user-info.vue
src/views/Account/index.vue
src/views/Apply/index.vue
src/views/DataList/index.vue
src/views/ParamsModel/index.vue
src/axios.js
View file @
1fdef2b
...
...
@@ -5,6 +5,11 @@ const FRONT = '/front'
const
USER
=
'/user'
export
const
loginApi
=
data
=>
axios
(
POST
,
FRONT
+
USER
+
'/login'
,
data
)
export
const
logoutApi
=
data
=>
axios
(
GET
,
FRONT
+
USER
+
'/logout'
,
data
)
export
const
getUsers
=
data
=>
axios
(
GET
,
FRONT
+
USER
+
'/query_list'
,
data
)
export
const
createUser
=
data
=>
axios
(
POST
,
FRONT
+
USER
+
'/add'
,
data
)
export
const
deleteUser
=
data
=>
axios
(
GET
,
FRONT
+
USER
+
'/delete'
,
data
)
export
const
editUser
=
data
=>
axios
(
POST
,
FRONT
+
USER
+
'/change'
,
data
)
const
PARAMETER
=
'/parameter'
export
const
getParameter
=
data
=>
axios
(
GET
,
FRONT
+
PARAMETER
+
'/query_list'
,
data
)
...
...
src/http.ts
View file @
1fdef2b
...
...
@@ -30,6 +30,9 @@ export default (method, url, data, config) => {
}
// 添加请求拦截器
Axios
.
interceptors
.
request
.
use
(
function
(
config
)
{
for
(
const
key
in
config
.
params
)
{
if
(
config
.
params
[
key
]
===
''
||
config
.
params
[
key
]
===
undefined
)
delete
config
.
params
[
key
]
}
const
urlBase
=
config
.
url
.
split
(
'?'
)[
0
]
const
urlQueryArr
=
Array
.
from
(
new
URLSearchParams
(
config
.
url
.
split
(
'?'
)[
1
]))
let
result
=
'?'
...
...
src/layouts/components/user-info.vue
View file @
1fdef2b
...
...
@@ -29,6 +29,7 @@
<
script
lang=
"ts"
>
import
{
Vue
,
Prop
,
Component
,
Watch
}
from
'vue-property-decorator'
import
{
getUser
,
removeUser
}
from
'@/utils/user'
import
{
logoutApi
}
from
'@/axios'
import
Dialog
from
'@/helpers/dialog'
import
seetaPopover
from
'@/components/seeta-ui/seeta-popover.vue'
...
...
@@ -54,6 +55,7 @@ export default class userInfo extends Vue {
async
logout
()
{
removeUser
()
const
res
=
await
logoutApi
()
this
.
$router
.
replace
({
name
:
'login'
})
}
...
...
src/views/Account/index.vue
View file @
1fdef2b
...
...
@@ -64,10 +64,11 @@
<st-form
label-width=
"90px"
ref=
"form"
:model=
"form"
>
:model=
"form"
:rules=
"rules"
>
<st-form-item
:label=
"'账号:'"
>
<st-input
v-model=
"form.
account
"
></st-input>
<st-input
v-model=
"form.
username"
:disabled=
"submitType === 'edit'
"
></st-input>
</st-form-item>
<st-form-item
:label=
"'角色:'"
>
...
...
@@ -77,13 +78,21 @@
:label=
"'邮箱:'"
>
<st-input
v-model=
"form.email"
></st-input>
</st-form-item>
<st-form-item
<st-form-item
v-if=
"submitType === 'create'"
:label=
"'初始密码:'"
>
<st-input
v-model=
"form.password"
></st-input>
<st-input
v-model=
"form.passw
d"
type=
"passw
ord"
></st-input>
</st-form-item>
<st-form-item
<st-form-item
v-if=
"submitType === 'create'"
:label=
"'重复密码:'"
>
<st-input
v-model=
"form.confirmPwd"
></st-input>
<st-input
v-model=
"form.confirmPwd"
type=
"password"
></st-input>
</st-form-item>
<st-form-item
v-if=
"submitType === 'edit'"
:label=
"'原密码:'"
>
<st-input
v-model=
"form.passwordd"
type=
"password"
></st-input>
</st-form-item>
<st-form-item
v-if=
"submitType === 'edit'"
:label=
"'新密码:'"
>
<st-input
v-model=
"form.new_passwordd"
type=
"password"
></st-input>
</st-form-item>
</st-form>
</div>
...
...
@@ -96,11 +105,21 @@
</
template
>
<
script
>
import
{
getUsers
,
createUser
,
deleteUser
,
editUser
}
from
'@/axios'
import
browserStorage
from
'@/services/local-storage'
import
{
rTimeMin
}
from
'@/utils/system.js'
import
Dialog
from
'@/helpers/dialog'
export
default
{
data
()
{
const
validatePasswordConfirmation
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
''
)
{
callback
(
new
Error
(
'请确认密码'
))
}
else
if
(
value
!==
this
.
form
.
passwd
&&
value
!==
this
.
form
.
ConfirmPwd
)
{
callback
(
new
Error
(
'两次密码输入不一致'
))
}
else
{
callback
()
}
}
return
{
// 查询字段
userName
:
''
,
...
...
@@ -113,27 +132,26 @@ export default {
currentPage
:
1
,
currentSize
:
10
,
loadingStatus
:
false
,
borderColor
:
'#ccc'
,
definitions
:
[
{
label
:
'账号'
,
render
:
'
number
'
render
:
'
username
'
},
{
label
:
'角色'
,
render
:
'
nam
e'
render
:
'
rol
e'
},
{
label
:
'邮箱'
,
render
:
'
type
'
render
:
'
email
'
},
{
label
:
'创建人'
,
render
:
'
desc
'
render
:
'
creater
'
},
{
label
:
'创建日期'
,
render
:
'
desc
'
render
:
'
create_date
'
},
{
label
:
'备注'
,
...
...
@@ -146,37 +164,22 @@ export default {
slotName
:
'operate'
},
],
tokenList
:
[
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
{
number
:
1
,
name
:
'aa'
,
type
:
'aa'
,
desc
:
'aaaa'
},
],
total
:
20
tokenList
:
[],
total
:
0
,
rules
:
{
// 表单校验
passwordConfirmation
:
[
{
required
:
true
,
message
:
'请确认密码'
,
trigger
:
'blur'
},
{
validator
:
validatePasswordConfirmation
,
trigger
:
'blur'
}
]
},
}
},
watch
:
{
'$route.query'
:
{
handler
(
val
)
{
if
(
!
val
)
return
this
.
currentPage
=
Number
(
val
.
page_index
)
this
.
currentSize
=
Number
(
val
.
page_size
)
if
(
JSON
.
stringify
(
val
)
===
'{}'
)
return
this
.
currentPage
=
Number
(
val
.
page_index
)
||
1
this
.
currentSize
=
Number
(
val
.
page_size
)
||
10
this
.
getData
()
},
immediate
:
true
,
...
...
@@ -187,8 +190,40 @@ export default {
// this.getData()
},
methods
:
{
submit
()
{
this
.
showDialog
=
false
async
submit
()
{
this
.
$refs
.
form
.
validate
(
async
valid
=>
{
if
(
valid
)
{
let
res
=
''
let
submitForm
=
''
switch
(
this
.
submitType
)
{
case
'create'
:
submitForm
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
form
))
delete
submitForm
.
email
delete
submitForm
.
confirmPwd
submitForm
.
creater
=
'admin'
res
=
await
createUser
(
submitForm
)
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
this
.
getData
()
}
this
.
showDialog
=
false
break
case
'edit'
:
submitForm
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
form
))
delete
submitForm
.
email
delete
submitForm
.
confirmPwd
submitForm
.
creater
=
'admin'
res
=
await
editUser
(
submitForm
)
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
this
.
getData
()
}
this
.
showDialog
=
false
break
default
:
this
.
showDialog
=
false
break
}
}
})
},
cancelSubmit
()
{
this
.
showDialog
=
false
...
...
@@ -196,50 +231,31 @@ export default {
handleCreate
()
{
this
.
submitType
=
'create'
this
.
showDialog
=
true
this
.
form
=
{}
},
handleEdit
(
row
)
{
this
.
submitType
=
'edit'
this
.
showDialog
=
true
this
.
form
=
JSON
.
parse
(
JSON
.
stringify
(
row
))
},
async
handleDelete
(
row
)
{
console
.
log
(
row
)
const
confirmDelete
=
await
Dialog
.
confirm
(
'提示'
,
{
message
:
'是否删除此账号?'
})
if
(
!
confirmDelete
)
return
const
res
=
await
this
.
getData
(
)
const
res
=
await
deleteUser
({
username
:
row
.
username
}
)
if
(
res
)
{
Toast
.
success
(
'操作成功'
)
this
.
getData
()
}
},
checkSearchContent
()
{
if
(
this
.
deviceName
&&
this
.
deviceName
.
search
(
this
.
formatSearchName
)
!==
-
1
)
{
this
.
borderColor
=
'#f00'
return
true
}
this
.
borderColor
=
'#ccc'
return
false
},
async
getData
()
{
// if (this.checkSearchContent()) return
// let startTime = ''
// let endTime = ''
// if (this.timeSection && this.timeSection.length) {
// startTime = new Date(+this.timeSection[0] + 8 * 3600 * 1000).toISOString()
// endTime = new Date(+this.timeSection[1] + 32 * 3600 * 1000).toISOString()
// }
// this.loadingStatus = true
// const res = await projectsApi.getProjectDeviceLogs(
// browserStorage.getItem('projectId'), this.deviceName,
// endTime,
// this.logLevel, this.currentPage, this.currentSize,
// startTime
// )
// if (res && res.data) {
// this.tokenList = res.data.data
// this.total = res.data.total
// }
// this.loadingStatus = false
this
.
loadingStatus
=
true
const
res
=
await
getUsers
({
pages
:
this
.
currentPage
-
1
,
pagesize
:
this
.
currentSize
})
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
this
.
tokenList
=
res
.
data
.
data
.
users
this
.
total
=
res
.
data
.
data
.
total
}
this
.
loadingStatus
=
false
}
},
}
...
...
src/views/Apply/index.vue
View file @
1fdef2b
...
...
@@ -107,16 +107,30 @@ export default {
},
],
tokenList
:
[],
total
:
0
total
:
0
,
currentPage
:
1
,
currentSize
:
10
}
},
watch
:
{
'$route.query'
:
{
handler
(
val
)
{
if
(
JSON
.
stringify
(
val
)
===
'{}'
)
return
this
.
currentPage
=
Number
(
val
.
page_index
)
||
1
this
.
currentSize
=
Number
(
val
.
page_size
)
||
10
this
.
getData
()
},
immediate
:
true
,
deep
:
true
}
},
mounted
()
{
this
.
getData
()
//
this.getData()
},
methods
:
{
async
getData
()
{
this
.
loadingStatus
=
true
const
res
=
await
getApp
({
pages
:
0
,
pagesize
:
10
})
const
res
=
await
getApp
({
pages
:
this
.
currentPage
-
1
,
pagesize
:
this
.
currentSize
})
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
this
.
tokenList
=
res
.
data
.
data
.
apps
this
.
total
=
res
.
data
.
data
.
total
...
...
src/views/DataList/index.vue
View file @
1fdef2b
...
...
@@ -114,8 +114,8 @@ export default {
watch
:
{
'$route.query'
:
{
handler
(
val
)
{
if
(
!
val
)
return
this
.
currentPage
=
Number
(
val
.
page_index
)
if
(
JSON
.
stringify
(
val
)
===
'{}'
)
return
this
.
currentPage
=
Number
(
val
.
page_index
)
||
1
this
.
currentSize
=
Number
(
val
.
page_size
)
||
10
this
.
getData
()
},
...
...
src/views/ParamsModel/index.vue
View file @
1fdef2b
...
...
@@ -142,7 +142,7 @@ export default {
},
async
getTwoData
()
{
this
.
loadingTwo
=
true
const
twoLevel
=
await
getParameter
({
parent
:
this
.
parentLevel
,
pages
:
this
.
twoCurrentPage
-
1
,
pagesize
:
10
})
const
twoLevel
=
await
getParameter
({
parent
:
this
.
parentLevel
===
''
?
0
:
this
.
parentLevel
,
pages
:
this
.
twoCurrentPage
-
1
,
pagesize
:
10
})
if
(
twoLevel
&&
twoLevel
.
data
&&
twoLevel
.
data
.
code
===
0
)
{
this
.
twoList
=
twoLevel
.
data
.
parameters
.
datas
.
map
((
item
,
index
)
=>
{
item
.
order
=
index
+
1
+
(
this
.
twoCurrentPage
-
1
)
*
10
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment