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 70b5837b
authored
Aug 25, 2021
by
温丽香
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面完善
1 parent
e69959c4
Pipeline
#3671
passed
in 1 minute 6 seconds
Changes
16
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
145 additions
and
70 deletions
.eslintrc.js
public/config.js
src/components/seeta-ui/seeta-table/index.vue
src/http.ts
src/layouts/components/user-info.vue
src/router/index.js
src/utils/system.js
src/utils/typeConversion.js
src/views/Apply/index.vue
src/views/DataList/index.vue
src/views/ParamsModel/add.vue
src/views/ParamsModel/detail.vue
src/views/ParamsModel/edit.vue
src/views/ParamsModel/index.vue
src/views/PersonInfo/index.vue
src/views/login.vue
.eslintrc.js
View file @
70b5837
...
@@ -24,6 +24,7 @@ module.exports = {
...
@@ -24,6 +24,7 @@ module.exports = {
// add your custom rules here
// add your custom rules here
rules
:
{
rules
:
{
"no-control-regex"
:
0
,
// allow debugger during development
// allow debugger during development
'no-debugger'
:
process
.
env
.
NODE_ENV
===
'production'
?
'error'
:
'off'
,
'no-debugger'
:
process
.
env
.
NODE_ENV
===
'production'
?
'error'
:
'off'
,
...
...
public/config.js
View file @
70b5837
window
.
g
=
{
window
.
g
=
{
baseURL
:
'http://hzdev.seetatech.com:9997'
,
baseURL
:
'http
s
://hzdev.seetatech.com:9997'
,
defaultLang
:
'zh-CN'
,
// 目前支持 zh-CN / ja-JP
defaultLang
:
'zh-CN'
,
// 目前支持 zh-CN / ja-JP
}
}
\ No newline at end of file
src/components/seeta-ui/seeta-table/index.vue
View file @
70b5837
...
@@ -59,6 +59,7 @@
...
@@ -59,6 +59,7 @@
<!-- 普通列 -->
<!-- 普通列 -->
<!-- 表头居中 -->
<!-- 表头居中 -->
<el-table-column
<el-table-column
show-overflow-tooltip
header-align=
"left"
header-align=
"left"
align=
"left"
align=
"left"
v-else-if=
"!(typeof col.render === 'function')"
v-else-if=
"!(typeof col.render === 'function')"
...
@@ -109,6 +110,7 @@
...
@@ -109,6 +110,7 @@
</template>
</template>
<slot></slot>
<slot></slot>
</el-table>
</el-table>
<div
class=
"pagination"
><slot
name=
"pagination"
></slot></div>
<div
class=
"pagination"
v-if=
"pagination"
>
<div
class=
"pagination"
v-if=
"pagination"
>
<el-pagination
<el-pagination
:current-page
.
sync=
"currentPage"
:current-page
.
sync=
"currentPage"
...
...
src/http.ts
View file @
70b5837
...
@@ -15,7 +15,7 @@ function notificationError(title: any, msg: any, duration: number = 1500) {
...
@@ -15,7 +15,7 @@ function notificationError(title: any, msg: any, duration: number = 1500) {
})
})
}
}
// Axios.defaults.baseURL =
'/front'
// Axios.defaults.baseURL =
baseUrl
export
default
(
method
,
url
,
data
,
config
)
=>
{
export
default
(
method
,
url
,
data
,
config
)
=>
{
method
=
method
.
toLowerCase
()
method
=
method
.
toLowerCase
()
...
...
src/layouts/components/user-info.vue
View file @
70b5837
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
</ul>
</ul>
<template
v-slot:reference
>
<template
v-slot:reference
>
<span
class=
"user-info flex right"
>
<span
class=
"user-info flex right"
>
<span
v-if=
"userData.info"
>
{{
userData
.
info
.
username
}}
</span>
<span
v-if=
"userData.info"
>
{{
userData
.
info
.
creater
}}
</span>
<i
class=
"iconfont icon-mianxingxiala"
<i
class=
"iconfont icon-mianxingxiala"
:class=
"
{
:class=
"
{
'expand': showInfo,
'expand': showInfo,
...
...
src/router/index.js
View file @
70b5837
...
@@ -30,13 +30,13 @@ VueRouter.prototype.push = function push(location) {
...
@@ -30,13 +30,13 @@ VueRouter.prototype.push = function push(location) {
// 取消转圈圈
// 取消转圈圈
NProgress
.
configure
({
showSpinner
:
false
})
NProgress
.
configure
({
showSpinner
:
false
})
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
// if ((!browserStorage.getItem('id') || !browserStorage.getItem('userId')
) && to.path !== '/login' && to.path !== '/register') {
if
(
!
browserStorage
.
getItem
(
'token'
)
&&
to
.
path
!==
'/login'
&&
to
.
path
!==
'/register'
)
{
//
notificationError('提示', 'token无效或过期')
notificationError
(
'提示'
,
'token无效或过期'
)
//
next({ name: 'login' })
next
({
name
:
'login'
})
//
return
return
//
}
}
//
NProgress.start()
NProgress
.
start
()
//
store.commit('CHNAGE_BREADCRUMB', to.path)
store
.
commit
(
'CHNAGE_BREADCRUMB'
,
to
.
path
)
next
()
next
()
})
})
router
.
afterEach
((
to
,
from
)
=>
{
router
.
afterEach
((
to
,
from
)
=>
{
...
...
src/utils/system.js
View file @
70b5837
...
@@ -62,3 +62,13 @@ export function isArrayEqual(value1 = [], value2 = []) {
...
@@ -62,3 +62,13 @@ export function isArrayEqual(value1 = [], value2 = []) {
}
}
return
false
return
false
}
}
export
function
calculateByte
(
base64
)
{
if
(
base64
.
indexOf
(
'base64,'
)
!==
-
1
)
{
base64
=
base64
.
substring
(
base64
.
indexOf
(
'base64,'
)
+
7
)
}
if
(
base64
.
indexOf
(
'='
)
!==
-
1
)
{
base64
=
base64
.
substring
(
0
,
base64
.
indexOf
(
'='
))
}
return
base64
.
length
*
0.75
}
src/utils/typeConversion.js
View file @
70b5837
...
@@ -24,3 +24,23 @@ export const base64ToFile = (base64, fileName) => {
...
@@ -24,3 +24,23 @@ export const base64ToFile = (base64, fileName) => {
const
blob
=
new
Blob
([
u8arr
],
{
type
:
mime
})
const
blob
=
new
Blob
([
u8arr
],
{
type
:
mime
})
return
new
File
([
blob
],
fileName
,
{
type
:
mime
})
return
new
File
([
blob
],
fileName
,
{
type
:
mime
})
}
}
export
const
stringToBase64
=
str
=>
{
// 对字符串进行编码
const
encode
=
encodeURI
(
str
)
// 对编码的字符串转化base64
const
base64
=
btoa
(
encode
)
return
base64
}
export
const
base64ToString
=
base64
=>
{
// 对base64转编码
const
decode
=
atob
(
base64
)
// 编码转字符串
const
str
=
decodeURI
(
decode
)
return
str
}
export
const
isASCII
=
str
=>
{
return
/^
[\x
00-
\x
7F
]
*$/
.
test
(
str
)
}
src/views/Apply/index.vue
View file @
70b5837
...
@@ -75,7 +75,7 @@ export default {
...
@@ -75,7 +75,7 @@ export default {
},
},
methods
:
{
methods
:
{
async
getData
()
{
async
getData
()
{
const
res
=
await
getApp
({
pages
:
0
,
pagesize
:
5
})
const
res
=
await
getApp
({
pages
:
0
,
pagesize
:
10
})
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
this
.
tokenList
=
res
.
data
.
data
.
apps
this
.
tokenList
=
res
.
data
.
data
.
apps
this
.
total
=
res
.
data
.
data
.
total
this
.
total
=
res
.
data
.
data
.
total
...
...
src/views/DataList/index.vue
View file @
70b5837
...
@@ -104,15 +104,29 @@ export default {
...
@@ -104,15 +104,29 @@ export default {
},
},
],
],
tokenList
:
[],
tokenList
:
[],
currentPage
:
1
,
currentSize
:
10
,
total
:
0
total
:
0
}
}
},
},
mounted
()
{
watch
:
{
'$route.query'
:
{
handler
(
val
)
{
if
(
!
val
)
return
this
.
currentPage
=
Number
(
val
.
page_index
)
this
.
currentSize
=
Number
(
val
.
page_size
)
||
10
this
.
getData
()
this
.
getData
()
},
},
immediate
:
true
,
deep
:
true
}
},
mounted
()
{
// this.getData()
},
methods
:
{
methods
:
{
async
getData
()
{
async
getData
()
{
const
res
=
await
getTable
({
pages
:
0
,
pagesize
:
5
})
const
res
=
await
getTable
({
pages
:
this
.
currentPage
-
1
,
pagesize
:
this
.
currentSize
})
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
this
.
tokenList
=
res
.
data
.
data
.
tables
this
.
tokenList
=
res
.
data
.
data
.
tables
this
.
total
=
res
.
data
.
data
.
total
this
.
total
=
res
.
data
.
data
.
total
...
@@ -129,6 +143,7 @@ export default {
...
@@ -129,6 +143,7 @@ export default {
this
.
getData
()
this
.
getData
()
}
}
this
.
showDialog
=
false
this
.
showDialog
=
false
this
.
form
=
{}
},
},
async
handleDelete
(
row
)
{
async
handleDelete
(
row
)
{
const
confirmDelete
=
await
Dialog
.
confirm
(
'提示'
,
{
message
:
'是否删除此数据表?'
})
const
confirmDelete
=
await
Dialog
.
confirm
(
'提示'
,
{
message
:
'是否删除此数据表?'
})
...
...
src/views/ParamsModel/add.vue
View file @
70b5837
...
@@ -86,9 +86,11 @@
...
@@ -86,9 +86,11 @@
<div
class=
"btn-box"
v-if=
"scope.row.type === 'blob'"
>
<div
class=
"btn-box"
v-if=
"scope.row.type === 'blob'"
>
<span
class=
"upload-btn"
v-if=
"!scope.row.value"
>
Select File
</span>
<span
class=
"upload-btn"
v-if=
"!scope.row.value"
>
Select File
</span>
<input
type=
"file"
@
blur=
"handleBlur"
@
change=
"(event) => handleUpload(event, scope.row)"
class=
"input-btn"
v-if=
"!scope.row.value"
>
<input
type=
"file"
@
blur=
"handleBlur"
@
change=
"(event) => handleUpload(event, scope.row)"
class=
"input-btn"
v-if=
"!scope.row.value"
>
<span
class=
"file-btn"
v-if=
"scope.row.value"
>
<span
v-if=
"scope.row.value"
>
<el-image
v-if=
"scope.row.value"
style=
"width: 24px; height: 24px"
:src=
"scope.row.value"
fit=
"fit"
></el-image>
<span
style=
"float: left;margin-right: 10px"
>
{{
calculateByte
(
scope
.
row
.
value
)
}}
字节
</span>
<i
class=
"iconfont icon-guanbi"
@
click=
"deleteFile(scope.row)"
></i>
<el-image
style=
"width: 42px; height: 28px;overflow: visible"
:src=
"scope.row.value"
fit=
"fit"
>
<div
slot=
"error"
style=
"width: 80px; height: 28px;overflow: visible"
>
(不可预览)
</div>
</el-image>
</span>
</span>
</div>
</div>
<div
v-if=
"scope.row.type === 'table'"
>
<div
v-if=
"scope.row.type === 'table'"
>
...
@@ -126,6 +128,7 @@
...
@@ -126,6 +128,7 @@
<
script
>
<
script
>
import
{
createParameter
,
getTable
,
getParameter
}
from
'@/axios'
import
{
createParameter
,
getTable
,
getParameter
}
from
'@/axios'
import
{
fileToBase64
}
from
'@/utils/typeConversion'
import
{
fileToBase64
}
from
'@/utils/typeConversion'
import
{
calculateByte
}
from
'@/utils/system'
import
Dialog
from
'@/helpers/dialog'
import
Dialog
from
'@/helpers/dialog'
export
default
{
export
default
{
data
()
{
data
()
{
...
@@ -166,6 +169,7 @@ export default {
...
@@ -166,6 +169,7 @@ export default {
this
.
getBaseOptions
()
this
.
getBaseOptions
()
},
},
methods
:
{
methods
:
{
calculateByte
:
base64
=>
calculateByte
(
base64
),
async
getTableOptions
()
{
async
getTableOptions
()
{
const
res
=
await
getTable
({
pages
:
0
,
pagesize
:
10000000000
})
const
res
=
await
getTable
({
pages
:
0
,
pagesize
:
10000000000
})
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
...
@@ -204,20 +208,17 @@ export default {
...
@@ -204,20 +208,17 @@ export default {
table
:
tableObj
table
:
tableObj
}
}
})
})
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
Toast
.
success
(
'操作成功'
)
Toast
.
success
(
'操作成功'
)
this
.
$router
.
push
({
path
:
'/params'
})
this
.
$router
.
push
({
path
:
'/params'
})
}
},
},
cancel
()
{
cancel
()
{
this
.
$router
.
push
({
path
:
'/params'
})
this
.
$router
.
push
({
path
:
'/params'
})
},
},
async
handleUpload
(
event
,
row
)
{
async
handleUpload
(
event
,
row
)
{
row
.
file
=
event
.
target
.
files
[
0
]
row
.
value
=
await
fileToBase64
(
event
.
target
.
files
[
0
])
row
.
value
=
await
fileToBase64
(
event
.
target
.
files
[
0
])
},
},
deleteFile
(
row
)
{
row
.
file
=
''
row
.
value
=
''
},
insertTableData
()
{
insertTableData
()
{
this
.
tableData
.
push
({
field
:
''
,
type
:
''
,
value
:
''
})
this
.
tableData
.
push
({
field
:
''
,
type
:
''
,
value
:
''
})
},
},
...
@@ -229,7 +230,6 @@ export default {
...
@@ -229,7 +230,6 @@ export default {
this
.
flexHeight
=
ele
&&
ele
.
clientHeight
this
.
flexHeight
=
ele
&&
ele
.
clientHeight
},
},
handleChange
(
row
)
{
handleChange
(
row
)
{
row
.
file
=
''
row
.
value
=
''
row
.
value
=
''
},
},
handleVisibleChange
(
val
)
{
handleVisibleChange
(
val
)
{
...
...
src/views/ParamsModel/detail.vue
View file @
70b5837
...
@@ -33,9 +33,9 @@
...
@@ -33,9 +33,9 @@
<span
v-if=
"row.type === 'number' || row.type === 'string'"
>
{{
row
.
value
}}
</span>
<span
v-if=
"row.type === 'number' || row.type === 'string'"
>
{{
row
.
value
}}
</span>
<span
v-if=
"row.type === 'blob'"
style=
"line-height: 28px"
>
<span
v-if=
"row.type === 'blob'"
style=
"line-height: 28px"
>
<!-- TODO -->
<!-- TODO -->
<span
style=
"float: left;margin-right: 10px"
>
{{
row
.
value
.
length
*
0.75
}}
字节
</span>
<span
style=
"float: left;margin-right: 10px"
>
{{
calculateByte
(
row
.
value
)
}}
字节
</span>
<el-image
style=
"width: 42px; height: 28px;overflow: visible"
:src=
"row.value"
fit=
"fit"
>
<el-image
style=
"width: 42px; height: 28px;overflow: visible"
:src=
"row.value"
fit=
"fit"
>
<div
slot=
"error"
>
(不可预览)
</div>
<div
slot=
"error"
style=
"width: 80px; height: 28px;overflow: visible"
>
(不可预览)
</div>
</el-image>
</el-image>
</span>
</span>
<span
v-if=
"row.type === 'table'"
style=
"color: #409EFF; cursor: pointer"
@
click=
"$router.push(
{ path: '/data' })">
{{
row
.
value
}}
</span>
<span
v-if=
"row.type === 'table'"
style=
"color: #409EFF; cursor: pointer"
@
click=
"$router.push(
{ path: '/data' })">
{{
row
.
value
}}
</span>
...
@@ -49,6 +49,7 @@
...
@@ -49,6 +49,7 @@
<
script
>
<
script
>
import
{
detailParameter
}
from
'@/axios'
import
{
detailParameter
}
from
'@/axios'
import
{
calculateByte
}
from
'@/utils/system'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -91,6 +92,7 @@ export default {
...
@@ -91,6 +92,7 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
calculateByte
:
base64
=>
calculateByte
(
base64
),
}
}
}
}
</
script
>
</
script
>
...
...
src/views/ParamsModel/edit.vue
View file @
70b5837
...
@@ -86,15 +86,10 @@
...
@@ -86,15 +86,10 @@
<div
class=
"btn-box"
v-if=
"scope.row.type === 'blob'"
>
<div
class=
"btn-box"
v-if=
"scope.row.type === 'blob'"
>
<span
class=
"upload-btn"
v-if=
"!scope.row.value"
>
Select File
</span>
<span
class=
"upload-btn"
v-if=
"!scope.row.value"
>
Select File
</span>
<input
type=
"file"
@
blur=
"handleBlur"
@
change=
"(event) => handleUpload(event, scope.row)"
class=
"input-btn"
v-if=
"!scope.row.value"
>
<input
type=
"file"
@
blur=
"handleBlur"
@
change=
"(event) => handleUpload(event, scope.row)"
class=
"input-btn"
v-if=
"!scope.row.value"
>
<span
v-if=
"scope.row.value"
style=
"float: left;margin-right: 10px"
>
{{
scope
.
row
.
value
.
length
*
0.75
}}
字节
</span>
<span
v-if=
"scope.row.value"
style=
"float: left;margin-right: 10px"
>
{{
calculateByte
(
scope
.
row
.
value
)
}}
字节
</span>
<span
class=
"file-btn"
v-if=
"scope.row.value"
>
<el-image
v-if=
"scope.row.value"
style=
"width: 24px; height: 24px"
:src=
"scope.row.value"
fit=
"fit"
></el-image>
<i
class=
"iconfont icon-guanbi"
@
click=
"deleteFile(scope.row)"
></i>
</span>
<!--
<span
v-if=
"scope.row.value"
style=
"float: left;margin-right: 10px"
>
{{
scope
.
row
.
value
.
length
*
0.75
}}
字节
</span>
<el-image
v-if=
"scope.row.value"
style=
"width: 42px; height: 28px;overflow: visible"
:src=
"scope.row.value"
fit=
"fit"
>
<el-image
v-if=
"scope.row.value"
style=
"width: 42px; height: 28px;overflow: visible"
:src=
"scope.row.value"
fit=
"fit"
>
<div
slot=
"error"
>
(不可预览)
</div>
<div
slot=
"error"
style=
"width: 80px; height: 28px;overflow: visible"
>
(不可预览)
</div>
</el-image>
-->
</el-image>
</div>
</div>
<div
v-if=
"scope.row.type === 'table'"
>
<div
v-if=
"scope.row.type === 'table'"
>
<pack-select
v-model=
"scope.row.value"
placeholder=
"请选择"
@
blur=
"handleBlur"
@
visible-change=
"handleVisibleChange"
>
<pack-select
v-model=
"scope.row.value"
placeholder=
"请选择"
@
blur=
"handleBlur"
@
visible-change=
"handleVisibleChange"
>
...
@@ -114,7 +109,7 @@
...
@@ -114,7 +109,7 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<div
class=
"add-btn"
@
click=
"
add
TableData"
>
<div
class=
"add-btn"
@
click=
"
insert
TableData"
>
<span
class=
"add-btn-text"
><i
class=
"iconfont icon-tianjia"
></i>
添加
</span>
<span
class=
"add-btn-text"
><i
class=
"iconfont icon-tianjia"
></i>
添加
</span>
</div>
</div>
</div>
</div>
...
@@ -131,6 +126,7 @@
...
@@ -131,6 +126,7 @@
<
script
>
<
script
>
import
{
editParameter
,
getParameter
,
detailParameter
,
getTable
}
from
'@/axios'
import
{
editParameter
,
getParameter
,
detailParameter
,
getTable
}
from
'@/axios'
import
{
fileToBase64
}
from
'@/utils/typeConversion'
import
{
fileToBase64
}
from
'@/utils/typeConversion'
import
{
calculateByte
}
from
'@/utils/system'
import
Dialog
from
'@/helpers/dialog'
import
Dialog
from
'@/helpers/dialog'
export
default
{
export
default
{
data
()
{
data
()
{
...
@@ -173,6 +169,7 @@ export default {
...
@@ -173,6 +169,7 @@ export default {
this
.
getBaseOptions
()
this
.
getBaseOptions
()
},
},
methods
:
{
methods
:
{
calculateByte
:
base64
=>
calculateByte
(
base64
),
async
getTableOptions
()
{
async
getTableOptions
()
{
const
res
=
await
getTable
({
pages
:
0
,
pagesize
:
10000000000
})
const
res
=
await
getTable
({
pages
:
0
,
pagesize
:
10000000000
})
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
...
@@ -204,7 +201,9 @@ export default {
...
@@ -204,7 +201,9 @@ export default {
}
}
}
}
},
},
cancel
()
{},
cancel
()
{
this
.
$router
.
push
({
path
:
'/params'
})
},
async
save
()
{
async
save
()
{
const
tableData
=
this
.
tableData
.
filter
(
item
=>
item
.
field
&&
item
.
value
)
const
tableData
=
this
.
tableData
.
filter
(
item
=>
item
.
field
&&
item
.
value
)
const
scalarsArr
=
tableData
.
filter
(
item
=>
item
.
type
===
'string'
||
item
.
type
===
'number'
)
const
scalarsArr
=
tableData
.
filter
(
item
=>
item
.
type
===
'string'
||
item
.
type
===
'number'
)
...
@@ -230,29 +229,21 @@ export default {
...
@@ -230,29 +229,21 @@ export default {
table
:
tableObj
table
:
tableObj
}
}
})
})
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
Toast
.
success
(
'操作成功'
)
Toast
.
success
(
'操作成功'
)
this
.
$router
.
push
({
path
:
'/params'
})
this
.
$router
.
push
({
path
:
'/params'
})
}
},
},
async
handleUpload
(
event
,
row
)
{
async
handleUpload
(
event
,
row
)
{
row
.
file
=
event
.
target
.
files
[
0
]
row
.
value
=
await
fileToBase64
(
event
.
target
.
files
[
0
])
row
.
value
=
await
fileToBase64
(
event
.
target
.
files
[
0
])
},
},
deleteFile
(
row
)
{
insertTableData
()
{
row
.
file
=
''
this
.
tableData
.
push
({
field
:
''
,
type
:
''
,
value
:
''
})
row
.
value
=
''
},
setFlexHeight
()
{
const
ele
=
document
.
getElementsByClassName
(
'flex-item'
)
&&
document
.
getElementsByClassName
(
'flex-item'
)[
0
]
this
.
flexHeight
=
ele
&&
ele
.
clientHeight
},
addTableData
()
{
this
.
tableData
.
push
({
field
:
''
,
type
:
'string'
,
value
:
''
})
},
},
handleDelete
(
index
)
{
handleDelete
(
index
)
{
this
.
tableData
.
splice
(
index
,
1
)
this
.
tableData
.
splice
(
index
,
1
)
},
},
handleChange
(
row
)
{
handleChange
(
row
)
{
row
.
file
=
''
row
.
value
=
''
row
.
value
=
''
},
},
handleVisibleChange
(
val
)
{
handleVisibleChange
(
val
)
{
...
@@ -260,6 +251,10 @@ export default {
...
@@ -260,6 +251,10 @@ export default {
this
.
setCurrent
()
this
.
setCurrent
()
}
}
},
},
setFlexHeight
()
{
const
ele
=
document
.
getElementsByClassName
(
'flex-item'
)
&&
document
.
getElementsByClassName
(
'flex-item'
)[
0
]
this
.
flexHeight
=
ele
&&
ele
.
clientHeight
},
handleBlur
(
event
)
{
handleBlur
(
event
)
{
this
.
setCurrent
()
this
.
setCurrent
()
event
.
target
&&
event
.
target
.
classList
&&
event
.
target
.
classList
.
remove
(
'write'
)
event
.
target
&&
event
.
target
.
classList
&&
event
.
target
.
classList
.
remove
(
'write'
)
...
...
src/views/ParamsModel/index.vue
View file @
70b5837
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<st-button
type=
"primary"
@
click=
"$router.push(
{ path: '/params/add', query: { level: 1 } })">
<st-button
type=
"primary"
@
click=
"$router.push(
{ path: '/params/add', query: { level: 1 } })">
<i
class=
"iconfont icon-tianjia"
></i><span
class=
"text"
>
{{
'添加'
}}
</span></st-button>
<i
class=
"iconfont icon-tianjia"
></i><span
class=
"text"
>
{{
'添加'
}}
</span></st-button>
<div
class=
"search"
>
<div
class=
"search"
>
<input
type=
"text"
class=
"search-input"
placeholder=
"请输入搜索内容"
v-model=
"
input
Val"
>
<input
type=
"text"
class=
"search-input"
placeholder=
"请输入搜索内容"
v-model=
"
one
Val"
>
<i
class=
"el-input__icon el-icon-search"
></i>
<i
class=
"el-input__icon el-icon-search"
></i>
</div>
</div>
</div>
</div>
...
@@ -22,13 +22,19 @@
...
@@ -22,13 +22,19 @@
list: oneList,
list: oneList,
total: oneTotal,
total: oneTotal,
}"
}"
:pagination="false"
highlight-current-row
highlight-current-row
@row-click="handleClickRow">
@row-click="handleClickRow">
<div
slot=
"operate"
slot-scope=
"row"
>
<div
slot=
"operate"
slot-scope=
"row"
>
<span
class=
"operate"
@
click=
"$router.push(
{ path: '/params/detail', query: { name: row.name }})">详情
</span>
<span
class=
"operate"
@
click=
"$router.push(
{ path: '/params/detail', query: { name: row.name }})">详情
</span>
<span
class=
"operate"
@
click=
"$router.push(
{ path: '/params/edit', query: { name: row.name, level: 1 } })">编辑
</span>
<span
class=
"operate"
@
click=
"$router.push(
{ path: '/params/edit', query: { name: row.name, level: 1 } })">编辑
</span>
<span
class=
"operate operate-delete"
@
click=
"handleDelete(row)"
>
删除
</span>
<span
class=
"operate operate-delete"
@
click=
"handleDelete(row
, 1
)"
>
删除
</span>
</div>
</div>
<el-pagination
slot=
"pagination"
layout=
"prev, pager, next"
@
current-change=
"handleOneCurrentChange"
:current-page=
"oneCurrentPage"
:total=
"oneTotal"
>
</el-pagination>
</st-table>
</st-table>
</div>
</div>
</div>
</div>
...
@@ -39,7 +45,7 @@
...
@@ -39,7 +45,7 @@
<st-button
type=
"primary"
@
click=
"$router.push(
{ path: '/params/add', query: { level: 2 } })">
<st-button
type=
"primary"
@
click=
"$router.push(
{ path: '/params/add', query: { level: 2 } })">
<i
class=
"iconfont icon-tianjia"
></i><span
class=
"text"
>
{{
'添加'
}}
</span></st-button>
<i
class=
"iconfont icon-tianjia"
></i><span
class=
"text"
>
{{
'添加'
}}
</span></st-button>
<div
class=
"search"
>
<div
class=
"search"
>
<input
type=
"text"
class=
"search-input"
placeholder=
"请输入搜索内容"
v-model=
"
input
Val"
>
<input
type=
"text"
class=
"search-input"
placeholder=
"请输入搜索内容"
v-model=
"
two
Val"
>
<i
class=
"el-input__icon el-icon-search"
></i>
<i
class=
"el-input__icon el-icon-search"
></i>
</div>
</div>
</div>
</div>
...
@@ -48,6 +54,7 @@
...
@@ -48,6 +54,7 @@
<st-table
<st-table
ref=
"vTable"
ref=
"vTable"
:options=
"definitions"
:options=
"definitions"
:pagination=
"false"
:data=
"
{
:data=
"
{
list: twoList,
list: twoList,
total: twoTotal,
total: twoTotal,
...
@@ -55,8 +62,13 @@
...
@@ -55,8 +62,13 @@
<div
slot=
"operate"
slot-scope=
"row"
>
<div
slot=
"operate"
slot-scope=
"row"
>
<span
class=
"operate"
@
click=
"$router.push(
{ path: '/params/detail', query: { name: row.name } })">详情
</span>
<span
class=
"operate"
@
click=
"$router.push(
{ path: '/params/detail', query: { name: row.name } })">详情
</span>
<span
class=
"operate"
@
click=
"$router.push(
{ path: '/params/edit', query: { name: row.name, level: 2 } })">编辑
</span>
<span
class=
"operate"
@
click=
"$router.push(
{ path: '/params/edit', query: { name: row.name, level: 2 } })">编辑
</span>
<span
class=
"operate operate-delete"
@
click=
"handleDelete(row)"
>
删除
</span>
<span
class=
"operate operate-delete"
@
click=
"handleDelete(row
, 2
)"
>
删除
</span>
</div>
</div>
<el-pagination
slot=
"pagination"
layout=
"prev, pager, next"
@
current-change=
"handleTwoCurrentChange"
:current-page=
"twoCurrentPage"
:total=
"twoTotal"
>
</el-pagination>
</st-table>
</st-table>
</div>
</div>
</div>
</div>
...
@@ -71,7 +83,14 @@ import Dialog from '@/helpers/dialog'
...
@@ -71,7 +83,14 @@ import Dialog from '@/helpers/dialog'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
inputVal
:
''
,
oneVal
:
''
,
twoVal
:
''
,
oneList
:
[],
twoList
:
[],
oneTotal
:
0
,
twoTotal
:
0
,
oneCurrentPage
:
1
,
twoCurrentPage
:
1
,
definitions
:
[
definitions
:
[
{
{
label
:
'序号'
,
label
:
'序号'
,
...
@@ -96,41 +115,48 @@ export default {
...
@@ -96,41 +115,48 @@ export default {
slotName
:
'operate'
slotName
:
'operate'
},
},
],
],
oneList
:
[],
twoList
:
[],
oneTotal
:
0
,
twoTotal
:
0
}
}
},
},
mounted
()
{
mounted
()
{
this
.
getData
()
this
.
getOneData
()
this
.
getTwoData
()
},
},
methods
:
{
methods
:
{
async
getData
()
{
async
get
One
Data
()
{
const
oneLevel
=
await
getParameter
({
base
:
1
,
pages
:
0
,
pagesize
:
5
})
const
oneLevel
=
await
getParameter
({
base
:
1
,
pages
:
this
.
oneCurrentPage
-
1
,
pagesize
:
10
})
if
(
oneLevel
&&
oneLevel
.
data
&&
oneLevel
.
data
.
code
===
0
)
{
if
(
oneLevel
&&
oneLevel
.
data
&&
oneLevel
.
data
.
code
===
0
)
{
this
.
oneList
=
oneLevel
.
data
.
parameters
.
datas
this
.
oneList
=
oneLevel
.
data
.
parameters
.
datas
this
.
oneTotal
=
oneLevel
.
data
.
parameters
.
total
this
.
oneTotal
=
oneLevel
.
data
.
parameters
.
total
}
}
const
twoLevel
=
await
getParameter
({
base
:
0
,
pages
:
0
,
pagesize
:
5
})
},
async
getTwoData
()
{
const
twoLevel
=
await
getParameter
({
base
:
0
,
pages
:
this
.
twoCurrentPage
-
1
,
pagesize
:
10
})
if
(
twoLevel
&&
twoLevel
.
data
&&
twoLevel
.
data
.
code
===
0
)
{
if
(
twoLevel
&&
twoLevel
.
data
&&
twoLevel
.
data
.
code
===
0
)
{
this
.
twoList
=
twoLevel
.
data
.
parameters
.
datas
this
.
twoList
=
twoLevel
.
data
.
parameters
.
datas
this
.
twoTotal
=
twoLevel
.
data
.
parameters
.
total
this
.
twoTotal
=
twoLevel
.
data
.
parameters
.
total
}
}
},
},
async
handleDelete
(
row
)
{
async
handleDelete
(
row
,
level
)
{
console
.
log
(
row
)
const
confirmDelete
=
await
Dialog
.
confirm
(
'提示'
,
{
message
:
'是否删除此模板?'
})
const
confirmDelete
=
await
Dialog
.
confirm
(
'提示'
,
{
message
:
'是否删除此模板?'
})
if
(
!
confirmDelete
)
return
if
(
!
confirmDelete
)
return
const
res
=
await
deleteParameter
({
name
:
row
.
name
})
const
res
=
await
deleteParameter
({
name
:
row
.
name
})
if
(
res
)
{
if
(
res
)
{
Toast
.
success
(
'操作成功'
)
Toast
.
success
(
'操作成功'
)
this
.
getData
()
if
(
level
===
1
)
this
.
getOneData
()
if
(
level
===
2
)
this
.
getTwoData
()
}
}
},
},
handleClickRow
(
row
,
column
,
event
)
{
handleClickRow
(
row
,
column
,
event
)
{
console
.
log
(
row
)
console
.
log
(
row
)
},
handleOneCurrentChange
(
val
)
{
this
.
oneCurrentPage
=
val
this
.
getOneData
()
},
handleTwoCurrentChange
(
val
)
{
this
.
twoCurrentPage
=
val
this
.
getTwoData
()
}
}
}
}
}
}
...
...
src/views/PersonInfo/index.vue
View file @
70b5837
...
@@ -7,26 +7,26 @@
...
@@ -7,26 +7,26 @@
<st-form
<st-form
ref=
"form"
ref=
"form"
label-width=
"70px"
label-width=
"70px"
:model=
"
form
"
>
:model=
"
userData
"
>
<st-form-item
<st-form-item
style=
"margin-bottom:10px"
style=
"margin-bottom:10px"
:label=
"'头像'+':'"
>
:label=
"'头像'+':'"
>
<el-image
style=
"width: 80px; height: 80px"
src=
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg
"
fit=
"fit"
></el-image>
<el-image
style=
"width: 80px; height: 80px"
:src=
"userData.image
"
fit=
"fit"
></el-image>
</st-form-item>
</st-form-item>
<st-form-item
<st-form-item
style=
"margin-bottom:10px"
style=
"margin-bottom:10px"
:label=
"'账户'+':'"
>
:label=
"'账户'+':'"
>
<span>
{{
form
.
account
}}
asdfasdf
</span>
<span>
{{
userData
.
role
}}
</span>
</st-form-item>
</st-form-item>
<st-form-item
<st-form-item
style=
"margin-bottom:10px"
style=
"margin-bottom:10px"
:label=
"'姓名'+':'"
>
:label=
"'姓名'+':'"
>
<span>
{{
form
.
name
}}
asdfasdf
</span><span
class=
"btn-text"
@
click=
"showDialog = true;type = 'name'"
>
编辑
</span>
<span>
{{
userData
.
creater
}}
</span><span
class=
"btn-text"
@
click=
"showDialog = true;type = 'name'"
>
编辑
</span>
</st-form-item>
</st-form-item>
<st-form-item
<st-form-item
style=
"margin-bottom:10px"
style=
"margin-bottom:10px"
:label=
"'邮箱'+':'"
>
:label=
"'邮箱'+':'"
>
<span>
{{
form
.
email
}}
asdfasdf
</span><span
class=
"btn-text"
@
click=
"showDialog = true;type = 'email'"
>
编辑
</span>
<span>
{{
userData
.
email
}}
</span><span
class=
"btn-text"
@
click=
"showDialog = true;type = 'email'"
>
编辑
</span>
</st-form-item>
</st-form-item>
<st-form-item
<st-form-item
style=
"margin-bottom:10px"
style=
"margin-bottom:10px"
...
@@ -78,11 +78,12 @@
...
@@ -78,11 +78,12 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getUser
}
from
'@/utils/user'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
showDialog
:
false
,
showDialog
:
false
,
form
:
{},
userData
:
{},
type
:
''
,
type
:
''
,
email
:
''
,
email
:
''
,
name
:
''
,
name
:
''
,
...
@@ -92,7 +93,8 @@ export default {
...
@@ -92,7 +93,8 @@ export default {
}
}
},
},
mounted
()
{
mounted
()
{
// this.getData()
this
.
userData
=
getUser
().
info
console
.
log
(
this
.
userData
)
},
},
methods
:
{
methods
:
{
submit
()
{
submit
()
{
...
...
src/views/login.vue
View file @
70b5837
...
@@ -289,9 +289,10 @@ export default {
...
@@ -289,9 +289,10 @@ export default {
// })
// })
// .then(response => console.log(response.data))
// .then(response => console.log(response.data))
// .catch(e => console.log(e))
// .catch(e => console.log(e))
if
(
res
&&
res
.
data
.
code
===
0
)
{
if
(
res
&&
res
.
data
&&
res
.
data
.
code
===
0
)
{
// TokenId
// TokenId
browserStorage
.
setItem
(
'token'
,
res
.
data
.
token
)
browserStorage
.
setItem
(
'token'
,
res
.
data
.
token
)
browserStorage
.
setItem
(
'user'
,
JSON
.
stringify
(
res
.
data
))
this
.
$router
.
push
({
path
:
'/params'
})
this
.
$router
.
push
({
path
:
'/params'
})
}
else
{
}
else
{
Toast
.
danger
(
res
.
data
.
msg
)
Toast
.
danger
(
res
.
data
.
msg
)
...
...
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