Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart-office-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
smart-office-platform
Commits
ab31d31c
Commit
ab31d31c
authored
Sep 01, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
ef4be49c
26aa9e7b
Changes
26
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
2254 additions
and
1819 deletions
+2254
-1819
smart-office-manager-ui/admin/.env
smart-office-manager-ui/admin/.env
+1
-0
smart-office-manager-ui/admin/public/index.html
smart-office-manager-ui/admin/public/index.html
+13
-7
smart-office-manager-ui/admin/src/assets/utils/table.js
smart-office-manager-ui/admin/src/assets/utils/table.js
+53
-38
smart-office-manager-ui/admin/src/components/DataTable.vue
smart-office-manager-ui/admin/src/components/DataTable.vue
+50
-53
smart-office-manager-ui/admin/src/components/DataTreeTable.vue
...-office-manager-ui/admin/src/components/DataTreeTable.vue
+35
-39
smart-office-manager-ui/admin/src/components/Header.vue
smart-office-manager-ui/admin/src/components/Header.vue
+141
-98
smart-office-manager-ui/admin/src/views/SSO.vue
smart-office-manager-ui/admin/src/views/SSO.vue
+26
-15
smart-office-manager-ui/admin/src/views/device/electron/list.vue
...ffice-manager-ui/admin/src/views/device/electron/list.vue
+275
-242
smart-office-manager-ui/admin/src/views/device/electron/view.vue
...ffice-manager-ui/admin/src/views/device/electron/view.vue
+256
-134
smart-office-manager-ui/admin/src/views/device/list.vue
smart-office-manager-ui/admin/src/views/device/list.vue
+221
-173
smart-office-manager-ui/admin/src/views/device/meet/list.vue
smart-office-manager-ui/admin/src/views/device/meet/list.vue
+269
-235
smart-office-manager-ui/admin/src/views/gocome/record/list.vue
...-office-manager-ui/admin/src/views/gocome/record/list.vue
+97
-72
smart-office-manager-ui/admin/src/views/login/login.vue
smart-office-manager-ui/admin/src/views/login/login.vue
+22
-12
smart-office-manager-ui/admin/src/views/metting/record/list.vue
...office-manager-ui/admin/src/views/metting/record/list.vue
+131
-115
smart-office-manager-ui/admin/src/views/room/list.vue
smart-office-manager-ui/admin/src/views/room/list.vue
+112
-100
smart-office-manager-ui/admin/src/views/room/workman/list.vue
...t-office-manager-ui/admin/src/views/room/workman/list.vue
+70
-57
smart-office-manager-ui/admin/src/views/system/log/list.vue
smart-office-manager-ui/admin/src/views/system/log/list.vue
+7
-3
smart-office-manager-ui/admin/src/views/system/menu/list.vue
smart-office-manager-ui/admin/src/views/system/menu/list.vue
+4
-2
smart-office-manager-ui/admin/src/views/system/param/list.vue
...t-office-manager-ui/admin/src/views/system/param/list.vue
+53
-43
smart-office-manager-ui/admin/src/views/system/resource/list.vue
...ffice-manager-ui/admin/src/views/system/resource/list.vue
+35
-29
smart-office-manager-ui/admin/src/views/system/role/list.vue
smart-office-manager-ui/admin/src/views/system/role/list.vue
+30
-32
smart-office-manager-ui/admin/src/views/system/task/list.vue
smart-office-manager-ui/admin/src/views/system/task/list.vue
+8
-5
smart-office-manager-ui/admin/src/views/system/user/list.vue
smart-office-manager-ui/admin/src/views/system/user/list.vue
+7
-6
smart-office-manager-ui/admin/src/views/system/validcode/list.vue
...fice-manager-ui/admin/src/views/system/validcode/list.vue
+48
-40
smart-office-manager-ui/admin/src/views/workman/list.vue
smart-office-manager-ui/admin/src/views/workman/list.vue
+263
-243
smart-office-manager-ui/admin/vue.config.js
smart-office-manager-ui/admin/vue.config.js
+27
-26
No files found.
smart-office-manager-ui/admin/.env
View file @
ab31d31c
...
...
@@ -14,3 +14,4 @@ VUE_APP_PORTAL_PORT = 21085
# 站点请求地址
VUE_APP_SITETREE_URL = http://8.136.255.30:11078/base/site/siteTree
VUE_APP_API_appName = '智慧办公管理平台'
\ No newline at end of file
smart-office-manager-ui/admin/public/index.html
View file @
ab31d31c
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"utf-8"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
name=
"viewport"
content=
"width=device-width,initial-scale=1.0"
>
<link
rel=
"icon"
href=
"<%= BASE_URL %>favicon.ico"
>
<title>
智慧办公平台
</title>
<link
rel=
"stylesheet"
href=
"https://unpkg.com/element-ui@2.15.5/lib/theme-chalk/index.css"
>
<meta
charset=
"utf-8"
/>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
/>
<meta
name=
"viewport"
content=
"width=device-width,initial-scale=1.0"
/>
<link
rel=
"icon"
href=
"<%= BASE_URL %>favicon.ico"
/>
<title>
智慧办公管理平台
</title>
<link
rel=
"stylesheet"
href=
"https://unpkg.com/element-ui@2.15.5/lib/theme-chalk/index.css"
/>
</head>
<body>
<noscript>
<strong>
We're sorry but app doesn't work properly without JavaScript enabled. Please enable it to continue.
</strong>
<strong
>
We're sorry but app doesn't work properly without JavaScript enabled.
Please enable it to continue.
</strong
>
</noscript>
<div
id=
"app"
></div>
<!-- built files will be auto injected -->
...
...
smart-office-manager-ui/admin/src/assets/utils/table.js
View file @
ab31d31c
// table-list 所需的一系列操作方法
/**
* formatter
*
...
...
@@ -10,8 +9,10 @@
*/
const
formatter
=
(
tableData
,
column
,
val
)
=>
{
const
key
=
column
.
property
;
if
(
tableData
.
dict
&&
tableData
.
dict
[
key
]){
const
dict
=
tableData
.
dict
[
key
]
console
.
log
(
val
);
val
=
val
?
val
:
"
--
"
;
if
(
tableData
.
dict
&&
tableData
.
dict
[
key
])
{
const
dict
=
tableData
.
dict
[
key
];
return
dict
[
val
]
||
val
;
}
return
val
;
...
...
@@ -27,11 +28,11 @@ const formatter = (tableData, column, val) => {
const
formatterAmount
=
(
row
,
column
)
=>
{
const
property
=
column
.
property
;
const
amount
=
row
[
property
];
if
(
!
amount
)
{
return
'
0.00
'
;
if
(
!
amount
)
{
return
"
0.00
"
;
}
if
(
amount
==
0
)
{
return
'
0.00
'
;
if
(
amount
==
0
)
{
return
"
0.00
"
;
}
return
amount
;
};
...
...
@@ -46,15 +47,18 @@ const formatterAmount = (row, column) => {
const
formatterDate
=
(
row
,
column
)
=>
{
const
property
=
column
.
property
;
const
time
=
row
[
property
];
if
(
!
time
)
return
''
;
if
(
!
time
)
return
""
;
let
date
=
new
Date
(
Number
(
time
));
let
Y
=
date
.
getFullYear
()
+
'
-
'
;
let
M
=
(
date
.
getMonth
()
+
1
<
10
?
'
0
'
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
)
+
'
-
'
;
let
D
=
panLeft
(
date
.
getDate
())
+
'
'
;
let
h
=
panLeft
(
date
.
getHours
())
+
'
:
'
;
let
m
=
panLeft
(
date
.
getMinutes
())
+
'
:
'
;
let
Y
=
date
.
getFullYear
()
+
"
-
"
;
let
M
=
(
date
.
getMonth
()
+
1
<
10
?
"
0
"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
)
+
"
-
"
;
let
D
=
panLeft
(
date
.
getDate
())
+
"
"
;
let
h
=
panLeft
(
date
.
getHours
())
+
"
:
"
;
let
m
=
panLeft
(
date
.
getMinutes
())
+
"
:
"
;
let
s
=
panLeft
(
date
.
getSeconds
());
return
Y
+
M
+
D
+
h
+
m
+
s
;
return
Y
+
M
+
D
+
h
+
m
+
s
;
};
/**
...
...
@@ -67,16 +71,19 @@ const formatterDate = (row, column) => {
const
formatterDateOnly
=
(
row
,
column
)
=>
{
const
property
=
column
.
property
;
const
time
=
row
[
property
];
if
(
!
time
)
return
''
;
if
(
!
time
)
return
""
;
let
date
=
new
Date
(
Number
(
time
));
let
Y
=
date
.
getFullYear
()
+
'
-
'
;
let
M
=
(
date
.
getMonth
()
+
1
<
10
?
'
0
'
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
)
+
'
-
'
;
let
D
=
panLeft
(
date
.
getDate
())
+
'
'
;
return
Y
+
M
+
D
;
let
Y
=
date
.
getFullYear
()
+
"
-
"
;
let
M
=
(
date
.
getMonth
()
+
1
<
10
?
"
0
"
+
(
date
.
getMonth
()
+
1
)
:
date
.
getMonth
()
+
1
)
+
"
-
"
;
let
D
=
panLeft
(
date
.
getDate
())
+
"
"
;
return
Y
+
M
+
D
;
};
function
panLeft
(
num
){
return
num
<
10
?
'
0
'
+
num
:
num
;
function
panLeft
(
num
)
{
return
num
<
10
?
"
0
"
+
num
:
num
;
}
/**
...
...
@@ -90,18 +97,18 @@ function panLeft(num){
const
find
=
(
list
,
key
,
val
)
=>
{
let
index
=
-
1
;
let
data
=
null
;
list
.
forEach
((
item
,
i
)
=>
{
if
(
item
[
key
]
===
val
)
{
list
.
forEach
((
item
,
i
)
=>
{
if
(
item
[
key
]
===
val
)
{
index
=
i
;
data
=
JSON
.
parse
(
JSON
.
stringify
(
item
));
return
;
}
})
})
;
return
{
index
,
data
,
}
}
}
;
}
;
/**
* 构造树型结构数据
...
...
@@ -112,24 +119,32 @@ const find = (list, key, val) => {
* @param {*} rootId 根Id 默认 0
*/
function
handleTree
(
data
,
id
,
parentId
,
children
,
rootId
)
{
id
=
id
||
'
id
'
parentId
=
parentId
||
'
parentId
'
children
=
children
||
'
children
'
rootId
=
rootId
||
Math
.
min
.
apply
(
Math
,
data
.
map
(
item
=>
{
return
item
[
parentId
]
}))
||
0
id
=
id
||
"
id
"
;
parentId
=
parentId
||
"
parentId
"
;
children
=
children
||
"
children
"
;
rootId
=
rootId
||
Math
.
min
.
apply
(
Math
,
data
.
map
((
item
)
=>
{
return
item
[
parentId
];
})
)
||
0
;
//对源数据深度克隆
const
cloneData
=
JSON
.
parse
(
JSON
.
stringify
(
data
))
const
cloneData
=
JSON
.
parse
(
JSON
.
stringify
(
data
))
;
//循环所有项
const
treeData
=
cloneData
.
filter
(
father
=>
{
let
branchArr
=
cloneData
.
filter
(
child
=>
{
const
treeData
=
cloneData
.
filter
(
(
father
)
=>
{
let
branchArr
=
cloneData
.
filter
(
(
child
)
=>
{
//返回每一项的子级数组
return
father
[
id
]
===
child
[
parentId
]
return
father
[
id
]
===
child
[
parentId
]
;
});
branchArr
.
length
>
0
?
father
.
children
=
branchArr
:
''
;
branchArr
.
length
>
0
?
(
father
.
children
=
branchArr
)
:
""
;
//返回第一层
return
father
[
parentId
]
===
rootId
;
});
return
treeData
!=
''
?
treeData
:
data
;
}
;
return
treeData
!=
""
?
treeData
:
data
;
}
export
{
formatter
,
...
...
@@ -137,5 +152,5 @@ export {
formatterDate
,
formatterDateOnly
,
find
,
handleTree
handleTree
,
};
smart-office-manager-ui/admin/src/components/DataTable.vue
View file @
ab31d31c
<
template
>
<el-table
size=
'small'
size=
"small"
:data=
"tableData"
:row-key=
"handleRowKeyMethod"
:span-method=
"handleSpanMethod"
...
...
@@ -10,12 +10,13 @@
@
row-click=
"handleRowClick"
height=
"520"
:row-class-name=
"tableRowClassName"
:empty-text=
'emptyText'
:empty-text=
"emptyText"
border
style=
"width: 100%"
>
style=
"width: 100%"
>
<el-table-column
v-for=
'column in columns'
:key=
'column.prop'
v-for=
"column in columns"
:key=
"column.prop"
:type=
"column.type"
:index=
"handleIndexMethod"
:selectable=
"handleSelectableMethod"
...
...
@@ -25,98 +26,94 @@
:sortable=
"column.sortable"
:show-overflow-tooltip=
"column.tooltip"
:align=
"column.align || 'left'"
:formatter=
'column.formatter'
:reserve-selection=
'column.reserveSelection'
:subColumns=
'column.subColumns'
:formatter=
"column.formatter"
:reserve-selection=
"column.reserveSelection"
:subColumns=
"column.subColumns"
>
<el-table-column
v-for=
'sunColumn in column.subColumns'
:key=
'sunColumn.prop'
v-for=
"sunColumn in column.subColumns"
:key=
"sunColumn.prop"
:type=
"sunColumn.type"
:prop=
"sunColumn.prop"
:label=
"sunColumn.label"
:width=
"sunColumn.width"
:sortable=
"sunColumn.sortable"
:align=
"sunColumn.align || 'left'"
:formatter=
'sunColumn.formatter'
:formatter=
"sunColumn.formatter"
/>
</el-table-column>
</el-table>
</
template
>
<
script
>
export
default
{
props
:
{
handleRowKeyMethod
:
{
type
:
Function
,
required
:
false
,
default
:
row
=>
{
return
row
.
id
}
default
:
(
row
)
=>
{
return
row
.
id
;
},
},
handleSelectableMethod
:
{
type
:
Function
,
required
:
false
,
default
:
()
=>
{}
default
:
()
=>
{}
,
},
handleIndexMethod
:
{
type
:
Function
,
required
:
false
,
default
:
()
=>
{}
default
:
()
=>
{}
,
},
handleSpanMethod
:
{
type
:
Function
,
required
:
false
,
default
:
()
=>
{}
default
:
()
=>
{}
,
},
handleSelectionChange
:
{
type
:
Function
,
required
:
false
,
default
:
()
=>
{}
default
:
()
=>
{}
,
},
handleRowClick
:
{
type
:
Function
,
required
:
false
,
default
:
()
=>
{}
default
:
()
=>
{}
,
},
handleSortChange
:
{
type
:
Function
,
required
:
false
,
default
:
()
=>
{}
default
:
()
=>
{}
,
},
tableRowClassName
:
{
type
:
Function
,
required
:
false
,
default
:
()
=>
{}
default
:
()
=>
{}
,
},
loading
:
{
type
:
Boolean
,
required
:
false
,
default
:
true
default
:
true
,
},
tableData
:
{
type
:
Array
,
required
:
false
,
default
:
()
=>
[]
default
:
()
=>
[]
,
},
columns
:
{
type
:
Array
,
required
:
false
,
default
:
()
=>
[],
}
default
:
()
=>
[],
}
,
},
computed
:
{
emptyText
()
{
return
(
!
this
.
loading
&&
!
this
.
tableData
.
length
)
?
'
暂无数据
'
:
'
加载中...
'
},
return
!
this
.
loading
&&
!
this
.
tableData
.
length
?
"
暂无数据
"
:
"
加载中...
"
;
},
methods
:{
},
methods
:
{},
data
()
{
return
{}
}
}
return
{}
;
}
,
}
;
</
script
>
smart-office-manager-ui/admin/src/components/DataTreeTable.vue
View file @
ab31d31c
...
...
@@ -7,76 +7,72 @@
@
row-click=
"handleRowClick"
:row-class-name=
"tableRowClassName"
:default-expand-all=
"expand"
height=
"64
0"
height=
"56
0"
:tree-props=
"
{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table-column
v-for=
'column in columns'
:key=
'column.prop'
v-for=
"column in columns"
:key=
"column.prop"
:type=
"column.type"
:prop=
"column.prop"
:label=
"column.label"
:width=
"column.width"
:show-overflow-tooltip=
"column.tooltip"
:align=
"column.align || 'left'"
:formatter=
'column.formatter'
:formatter=
"column.formatter"
>
</el-table-column>
</el-table>
</
template
>
<
script
>
export
default
{
props
:
{
handleSpanMethod
:
{
type
:
Function
,
required
:
false
,
default
:
()
=>
{}
default
:
()
=>
{}
,
},
handleRowClick
:
{
type
:
Function
,
required
:
false
,
default
:
()
=>
{}
default
:
()
=>
{}
,
},
tableRowClassName
:
{
type
:
Function
,
required
:
false
,
default
:
()
=>
{}
default
:
()
=>
{}
,
},
loading
:
{
type
:
Boolean
,
required
:
false
,
default
:
true
default
:
true
,
},
expand
:
{
type
:
Boolean
,
required
:
false
,
default
:
true
default
:
true
,
},
tableData
:
{
type
:
Array
,
required
:
false
,
default
:
()
=>
[]
default
:
()
=>
[]
,
},
columns
:
{
type
:
Array
,
required
:
false
,
default
:
()
=>
[],
}
default
:
()
=>
[],
}
,
},
computed
:
{
emptyText
()
{
return
(
!
this
.
loading
&&
!
this
.
tableData
.
length
)
?
'
暂无数据
'
:
'
加载中...
'
return
!
this
.
loading
&&
!
this
.
tableData
.
length
?
"
暂无数据
"
:
"
加载中...
"
;
},
},
data
()
{
return
{}
}
}
return
{}
;
}
,
}
;
</
script
>
smart-office-manager-ui/admin/src/components/Header.vue
View file @
ab31d31c
This diff is collapsed.
Click to expand it.
smart-office-manager-ui/admin/src/views/SSO.vue
View file @
ab31d31c
...
...
@@ -7,23 +7,34 @@
<
script
>
export
default
{
mounted
()
{
let
token
=
this
.
$route
.
query
.
token
console
.
log
(
"
token:
"
+
token
)
if
(
token
)
{
let
token
=
this
.
$route
.
query
.
token
;
if
(
token
)
{
this
.
$route
.
query
.
sysName
?
localStorage
.
setItem
(
"
sysName
"
,
this
.
$route
.
query
.
sysName
)
:
""
;
this
.
$route
.
query
.
sysLogo
?
localStorage
.
setItem
(
"
sysLogo
"
,
this
.
$route
.
query
.
sysLogo
)
:
""
;
this
.
$route
.
query
.
sysName
?
(
document
.
title
=
this
.
$route
.
query
.
sysName
)
:
""
;
window
.
sessionStorage
.
setItem
(
"
token
"
,
token
);
this
.
$router
.
push
(
'
/index
'
)
// 有token直接跳转首页
}
else
{
this
.
$router
.
push
(
"
/index
"
);
// 有token直接跳转首页
}
else
{
this
.
$message
({
message
:
'
没有权限,正在跳转登录页面...
'
,
center
:
true
message
:
"
没有权限,正在跳转登录页面...
"
,
center
:
true
,
});
setTimeout
(
function
(){
window
.
location
.
href
=
process
.
env
.
VUE_APP_PORTAL_URL
==
'
undefined
'
?
'
http://192.168.0.98:11072
'
:
process
.
env
.
VUE_APP_PORTAL_URL
setTimeout
(
function
()
{
window
.
location
.
href
=
process
.
env
.
VUE_APP_PORTAL_URL
==
"
undefined
"
?
"
http://192.168.0.98:11072
"
:
process
.
env
.
VUE_APP_PORTAL_URL
;
//this.$router.push('/login')
},
1000
)
},
1000
);
}
}
}
}
,
}
;
</
script
>
<
style
>
...
...
smart-office-manager-ui/admin/src/views/device/electron/list.vue
View file @
ab31d31c
...
...
@@ -7,7 +7,8 @@
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button>
>
导入
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
...
...
@@ -15,7 +16,8 @@
size=
"mini"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button>
>
导出
</el-button
>
</LayoutTable>
<!-- 设备管理导入对话框 -->
...
...
@@ -43,10 +45,11 @@
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
</div>
...
...
@@ -65,20 +68,19 @@
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
DeviceList
"
,
components
:
{
drawerShow
},
drawerShow
,
},
mixins
:
[
table
],
created
()
{
console
.
log
(
"
route
"
,
this
.
$route
)
this
.
changePath
(
"
/device
"
)
console
.
log
(
"
this.pageInfo.list000
"
,
this
.
pageInfo
.
list
)
this
.
query
=
Object
.
assign
({},
this
.
query
,
{
productCode
:
"
dzmp
"
});
console
.
log
(
"
route
"
,
this
.
$route
);
this
.
changePath
(
"
/device
"
);
this
.
query
=
Object
.
assign
({},
this
.
query
,
{
productCode
:
"
dzmp
"
});
},
methods
:
{
/** 导入 */
...
...
@@ -115,9 +117,15 @@
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/device/exportExcel
"
,
{
"
idList
"
:
this
.
selection
,
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
this
.
$download
(
"
/device/exportExcel
"
,
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
...
...
@@ -165,9 +173,8 @@
);
},
statusChange
()
{
this
.
$store
.
dispatch
(
'
login
'
);
this
.
$store
.
dispatch
(
"
login
"
);
},
},
data
()
{
return
{
...
...
@@ -191,27 +198,53 @@
name
:
"
deviceName
"
,
type
:
"
text
"
,
label
:
"
设备名称
"
,
fuzzy
:
true
fuzzy
:
true
,
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
设备名称
"
,
prop
:
"
deviceName
"
},
{
label
:
"
所属房间
"
,
prop
:
"
roomId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
设备名称
"
,
prop
:
"
deviceName
"
,
formatter
:
(
row
)
=>
(
row
.
deviceName
?
row
.
deviceName
:
"
--
"
),
},
{
label
:
"
所属房间
"
,
prop
:
"
roomId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
设备编码
"
,
prop
:
"
deviceCode
"
},
{
label
:
"
设备编码
"
,
prop
:
"
deviceCode
"
,
formatter
:
(
row
)
=>
(
row
.
deviceCode
?
row
.
deviceCode
:
"
--
"
),
},
{
label
:
"
MAC地址
"
,
prop
:
"
deviceMac
"
},
{
label
:
"
MAC地址
"
,
prop
:
"
deviceMac
"
,
formatter
:
(
row
)
=>
(
row
.
deviceMac
?
row
.
deviceMac
:
"
--
"
),
},
{
label
:
"
设备位置
"
,
prop
:
"
deviceAddr
"
},
{
label
:
"
设备位置
"
,
prop
:
"
deviceAddr
"
,
formatter
:
(
row
)
=>
(
row
.
deviceAddr
?
row
.
deviceAddr
:
"
--
"
),
},
{
label
:
"
联系电话
"
,
prop
:
"
leadingOfficialTelephone
"
},
{
label
:
"
联系电话
"
,
prop
:
"
leadingOfficialTelephone
"
,
formatter
:
(
row
)
=>
row
.
leadingOfficialTelephone
?
row
.
leadingOfficialTelephone
:
"
--
"
,
},
{
label
:
"
设备状态
"
,
prop
:
"
deviceStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
设备状态
"
,
prop
:
"
deviceStatus
"
,
formatter
:
this
.
formatter
,
},
{
prop
:
"
enabled
"
,
...
...
@@ -224,7 +257,7 @@
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
<
div
>
<
span
>
<
/span
>
...
...
@@ -252,11 +285,11 @@
/
>
<
/div
>
);
}
}
]
}
};
}
},
},
],
},
};
},
};
</
script
>
smart-office-manager-ui/admin/src/views/device/electron/view.vue
View file @
ab31d31c
This diff is collapsed.
Click to expand it.
smart-office-manager-ui/admin/src/views/device/list.vue
View file @
ab31d31c
...
...
@@ -7,7 +7,8 @@
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button>
>
导入
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
...
...
@@ -15,7 +16,8 @@
size=
"mini"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button>
>
导出
</el-button
>
</LayoutTable>
<!-- 设备管理导入对话框 -->
...
...
@@ -43,10 +45,11 @@
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
</div>
...
...
@@ -65,17 +68,17 @@
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
/** 表单弹出框模式需引入 */
import
{
formatter
}
from
"
../../assets/utils/table
"
;
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
DeviceList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
/** 导入 */
handleImport
()
{
...
...
@@ -111,9 +114,15 @@
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/device/exportExcel
"
,
{
"
idList
"
:
this
.
selection
,
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
this
.
$download
(
"
/device/exportExcel
"
,
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
...
...
@@ -130,7 +139,6 @@
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
...
...
@@ -149,43 +157,83 @@
},
isExport
:
false
,
config
:
{
search
:
[
],
search
:
[],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
设备名称
"
,
prop
:
"
deviceName
"
},
{
label
:
"
设备名称
"
,
prop
:
"
deviceName
"
,
formatter
:
(
row
)
=>
(
row
.
deviceName
?
row
.
deviceName
:
"
--
"
),
},
{
label
:
"
所属房间id
"
,
prop
:
"
roomId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
所属房间id
"
,
prop
:
"
roomId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
所属房间名称
"
,
prop
:
"
roomName
"
},
{
label
:
"
所属房间名称
"
,
prop
:
"
roomName
"
,
formatter
:
(
row
)
=>
(
row
.
roomName
?
row
.
roomName
:
"
--
"
),
},
{
label
:
"
设备编码,SN码等,默认为MAC地址
"
,
prop
:
"
deviceCode
"
},
{
label
:
"
设备编码,SN码等,默认为MAC地址
"
,
prop
:
"
deviceCode
"
,
formatter
:
(
row
)
=>
(
row
.
deviceCode
?
row
.
deviceCode
:
"
--
"
),
},
{
label
:
"
设备的MAC地址
"
,
prop
:
"
deviceMac
"
},
{
label
:
"
设备的MAC地址
"
,
prop
:
"
deviceMac
"
,
formatter
:
(
row
)
=>
(
row
.
deviceMac
?
row
.
deviceMac
:
"
--
"
),
},
{
label
:
"
设备位置
"
,
prop
:
"
deviceAddr
"
},
{
label
:
"
设备位置
"
,
prop
:
"
deviceAddr
"
,
formatter
:
(
row
)
=>
(
row
.
deviceAddr
?
row
.
deviceAddr
:
"
--
"
),
},
{
label
:
"
联系电话
"
,
prop
:
"
leadingOfficialTelephone
"
},
{
label
:
"
联系电话
"
,
prop
:
"
leadingOfficialTelephone
"
,
formatter
:
(
row
)
=>
row
.
leadingOfficialTelephone
?
row
.
leadingOfficialTelephone
:
"
--
"
,
},
{
label
:
"
设备状态
"
,
prop
:
"
deviceStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
设备状态
"
,
prop
:
"
deviceStatus
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
启用状态
"
,
prop
:
"
enabled
"
,
formatter
:
this
.
formatter
},
{
label
:
"
启用状态
"
,
prop
:
"
enabled
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
},
},
],
},
};
},
};
</
script
>
smart-office-manager-ui/admin/src/views/device/meet/list.vue
View file @
ab31d31c
...
...
@@ -7,7 +7,8 @@
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button>
>
导入
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
...
...
@@ -15,7 +16,8 @@
size=
"mini"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button>
>
导出
</el-button
>
</LayoutTable>
<!-- 设备管理导入对话框 -->
...
...
@@ -43,10 +45,11 @@
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
</div>
...
...
@@ -65,19 +68,19 @@
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
DeviceList
"
,
components
:
{
drawerShow
},
drawerShow
,
},
mixins
:
[
table
],
created
()
{
console
.
log
(
"
route111
"
,
this
.
$route
)
this
.
changePath
(
"
/device
"
)
this
.
query
=
Object
.
assign
({},
this
.
query
,
{
productCode
:
"
hysdzmp
"
});
console
.
log
(
"
route
"
,
this
.
$route
);
this
.
changePath
(
"
/device
"
);
this
.
query
=
Object
.
assign
({},
this
.
query
,
{
productCode
:
"
hysdzmp
"
});
},
methods
:
{
/** 导入 */
...
...
@@ -114,9 +117,15 @@
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/device/exportExcel
"
,
{
"
idList
"
:
this
.
selection
,
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
this
.
$download
(
"
/device/exportExcel
"
,
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
...
...
@@ -163,9 +172,8 @@
);
},
statusChange
()
{
this
.
$store
.
dispatch
(
'
login
'
);
this
.
$store
.
dispatch
(
"
login
"
);
},
},
data
()
{
return
{
...
...
@@ -189,33 +197,59 @@
name
:
"
deviceName
"
,
type
:
"
text
"
,
label
:
"
设备名称
"
,
fuzzy
:
true
fuzzy
:
true
,
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
设备名称
"
,
prop
:
"
deviceName
"
},
{
label
:
"
所属房间
"
,
prop
:
"
roomId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
设备名称
"
,
prop
:
"
deviceName
"
,
formatter
:
(
row
)
=>
(
row
.
deviceName
?
row
.
deviceName
:
"
--
"
),
},
{
label
:
"
所属房间
"
,
prop
:
"
roomId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
设备编码
"
,
prop
:
"
deviceCode
"
},
{
label
:
"
设备编码
"
,
prop
:
"
deviceCode
"
,
formatter
:
(
row
)
=>
(
row
.
deviceCode
?
row
.
deviceCode
:
"
--
"
),
},
{
label
:
"
MAC地址
"
,
prop
:
"
deviceMac
"
},
{
label
:
"
MAC地址
"
,
prop
:
"
deviceMac
"
,
formatter
:
(
row
)
=>
(
row
.
deviceMac
?
row
.
deviceMac
:
"
--
"
),
},
{
label
:
"
设备位置
"
,
prop
:
"
deviceAddr
"
},
{
label
:
"
设备位置
"
,
prop
:
"
deviceAddr
"
,
formatter
:
(
row
)
=>
(
row
.
deviceAddr
?
row
.
deviceAddr
:
"
--
"
),
},
{
label
:
"
联系电话
"
,
prop
:
"
leadingOfficialTelephone
"
},
{
label
:
"
联系电话
"
,
prop
:
"
leadingOfficialTelephone
"
,
formatter
:
(
row
)
=>
row
.
leadingOfficialTelephone
?
row
.
leadingOfficialTelephone
:
"
--
"
,
},
{
label
:
"
设备状态
"
,
prop
:
"
deviceStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
设备状态
"
,
prop
:
"
deviceStatus
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
启用状态
"
,
prop
:
"
enabled
"
,
formatter
:
this
.
formatter
},
{
label
:
"
启用状态
"
,
prop
:
"
enabled
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
<
div
>
<
span
>
<
/span
>
...
...
@@ -243,11 +277,11 @@
/
>
<
/div
>
);
}
}
]
}
};
}
},
},
],
},
};
},
};
</
script
>
smart-office-manager-ui/admin/src/views/gocome/record/list.vue
View file @
ab31d31c
...
...
@@ -3,23 +3,21 @@
<LayoutTable
:data=
"tableData"
notAdd
notDel
:config=
"tableConfig"
>
</LayoutTable>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
GocomeRecordList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
...
...
@@ -33,7 +31,6 @@
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
...
...
@@ -43,44 +40,72 @@
name
:
"
userName
"
,
type
:
"
text
"
,
label
:
"
用户名称
"
,
fuzzy
:
true
fuzzy
:
true
,
},
{
name
:
"
afterStatus
"
,
type
:
"
text
"
,
label
:
"
状态
"
label
:
"
状态
"
,
},
{
name
:
"
createTimeStart
"
,
type
:
"
date
"
,
label
:
"
创建时间
"
},{
label
:
"
创建时间
"
,
},
{
name
:
"
createTimeEnd
"
,
type
:
"
date
"
,
label
:
"
结束时间
"
}
label
:
"
结束时间
"
,
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
用户名称
"
,
prop
:
"
userName
"
},
{
label
:
"
电话
"
,
prop
:
"
phone
"
},
{
label
:
"
用户名称
"
,
prop
:
"
userName
"
,
formatter
:
(
row
)
=>
(
row
.
userName
?
row
.
userName
:
"
--
"
),
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
电话
"
,
prop
:
"
phone
"
,
formatter
:
(
row
)
=>
(
row
.
phone
?
row
.
phone
:
"
--
"
),
},
{
label
:
"
所属房间名称
"
,
prop
:
"
roomName
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
,
formatter
:
(
row
)
=>
(
row
.
deptName
?
row
.
deptName
:
"
--
"
),
},
{
label
:
"
修改前状态
"
,
prop
:
"
beforeStatus
"
},
{
label
:
"
所属房间名称
"
,
prop
:
"
roomName
"
,
formatter
:
(
row
)
=>
(
row
.
roomName
?
row
.
roomName
:
"
--
"
),
},
{
label
:
"
修改后状态
"
,
prop
:
"
afterStatus
"
},
{
label
:
"
修改前状态
"
,
prop
:
"
beforeStatus
"
,
formatter
:
(
row
)
=>
(
row
.
beforeStatus
?
row
.
beforeStatus
:
"
--
"
),
},
{
label
:
"
修改时间
"
,
prop
:
"
createTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
修改后状态
"
,
prop
:
"
afterStatus
"
,
formatter
:
(
row
)
=>
(
row
.
afterStatus
?
row
.
afterStatus
:
"
--
"
),
},
]
}
};
}
{
label
:
"
修改时间
"
,
prop
:
"
createTime
"
,
formatter
:
this
.
formatterDate
,
},
],
},
};
},
};
</
script
>
smart-office-manager-ui/admin/src/views/login/login.vue
View file @
ab31d31c
...
...
@@ -3,32 +3,40 @@
<
template
>
<div
class=
"page page-login flex flex-v"
>
<div
class=
"form-wrap flex flex-1"
>
<el-form
@
submit.prevent=
'onSubmit'
ref=
"form"
:model=
"form"
label-width=
"80px"
size=
"small"
>
<h1>
智慧办公管理平台
</h1>
<el-form
@
submit.prevent=
"onSubmit"
ref=
"form"
:model=
"form"
label-width=
"80px"
size=
"small"
>
<h1>
{{
sysName
}}
</h1>
<el-form-item
label=
"用户名"
>
<el-input
v-model=
"form.loginName"
></el-input>
</el-form-item>
<el-form-item
label=
"密码"
>
<el-input
v-model=
"form.password"
type=
'password'
></el-input>
<el-input
v-model=
"form.password"
type=
"password"
></el-input>
</el-form-item>
<el-form-item
size=
"large"
>
<el-button
type=
"primary"
native-type=
'submit'
:loading=
'loading'
@
click=
'onSubmit'
>
登录
</el-button>
<el-button
type=
"primary"
native-type=
"submit"
:loading=
"loading"
@
click=
"onSubmit"
>
登录
</el-button
>
</el-form-item>
</el-form>
</div>
<div
class=
"footer"
>
</div>
<div
class=
"footer"
></div>
</div>
</
template
>
<
script
>
export
default
{
name
:
"
login
"
,
created
()
{
},
created
()
{},
methods
:
{
login
()
{
this
.
loading
=
true
;
...
...
@@ -38,7 +46,7 @@ export default {
},
loginSuccess
({
data
})
{
this
.
$store
.
commit
(
"
setUserData
"
,
data
);
console
.
log
(
"
userData
"
,
this
.
$store
.
state
.
userData
)
console
.
log
(
"
userData
"
,
this
.
$store
.
state
.
userData
);
this
.
$router
.
replace
({
path
:
this
.
redirect
,
});
...
...
@@ -72,6 +80,9 @@ export default {
loginName
:
""
,
password
:
""
,
},
sysName
:
localStorage
.
getItem
(
"
sysName
"
)
?
localStorage
.
getItem
(
"
sysName
"
)
:
"
智慧办公管理平台
"
,
};
},
};
...
...
@@ -120,4 +131,3 @@ export default {
}
}
</
style
>
smart-office-manager-ui/admin/src/views/metting/record/list.vue
View file @
ab31d31c
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
</LayoutTable>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
</LayoutTable>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
...
...
@@ -17,11 +15,10 @@ import moment from "moment/moment";
export
default
{
name
:
"
MettingRecordList
"
,
components
:
{
drawerShow
drawerShow
,
},
mixins
:
[
table
],
created
()
{
},
created
()
{},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
...
...
@@ -63,13 +60,13 @@ export default {
message
:
"
已取消删除
"
,
});
});
}
}
,
,
toFinish
(
row
)
{
this
.
loading
=
true
;
this
.
$post
(
"
/metting/record/save
"
,
{
id
:
row
.
id
,
meetStatus
:
2
,
id
:
row
.
id
,
meetStatus
:
2
,
})
.
then
((
res
)
=>
{
if
(
res
&&
res
.
code
===
1
)
{
...
...
@@ -81,70 +78,89 @@ export default {
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
error
.
message
);
});
}
},
},
data
()
{
return
{
config
:
{
search
:
[
{
search
:
[
{
name
:
"
meetName
"
,
type
:
"
text
"
,
label
:
"
会议名称
"
,
fuzzy
:
true
fuzzy
:
true
,
},
{
name
:
"
meetStatus
"
,
type
:
"
select
"
,
label
:
"
会议状态
"
label
:
"
会议状态
"
,
},
{
name
:
"
meetDateStart
"
,
type
:
"
date
"
,
label
:
"
会议开始日期
"
},{
label
:
"
会议开始日期
"
,
},
{
name
:
"
meetDateEnd
"
,
type
:
"
date
"
,
label
:
"
会议结束日期
"
}
label
:
"
会议结束日期
"
,
}
,
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
会议名称
"
,
prop
:
"
meetName
"
},
{
label
:
"
开会房间
"
,
prop
:
"
roomName
"
},
{
label
:
"
会议名称
"
,
prop
:
"
meetName
"
,
formatter
:
(
row
)
=>
(
row
.
meetName
?
row
.
meetName
:
"
--
"
),
},
{
label
:
"
开会房间
"
,
prop
:
"
roomName
"
,
formatter
:
(
row
)
=>
(
row
.
roomName
?
row
.
roomName
:
"
--
"
),
},
{
label
:
"
开会日期
"
,
prop
:
"
meetDate
"
,
label
:
"
开会日期
"
,
prop
:
"
meetDate
"
,
formatter
:
(
row
)
=>
{
let
meetDate
=
moment
(
row
.
meetDate
).
format
(
'
YYYY-MM-DD
'
);
return
(
<
span
>
{
meetDate
}
<
/span
>
);
let
meetDate
=
moment
(
row
.
meetDate
).
format
(
"
YYYY-MM-DD
"
);
return
<
span
>
{
meetDate
}
<
/span>
;
},
},
{
label
:
"
开始时间
"
,
prop
:
"
meetTimeStart
"
,
label
:
"
开始时间
"
,
prop
:
"
meetTimeStart
"
,
formatter
:
(
row
)
=>
{
let
meetTimeStart
=
moment
(
row
.
meetTimeStart
).
format
(
'
HH:mm
'
);
let
meetTimeEnd
=
moment
(
row
.
meetTimeEnd
).
format
(
'
HH:mm
'
);
let
meetTimeStart
=
moment
(
row
.
meetTimeStart
).
format
(
"
HH:mm
"
);
let
meetTimeEnd
=
moment
(
row
.
meetTimeEnd
).
format
(
"
HH:mm
"
);
return
(
<
span
>
{
meetTimeStart
}
~
{
meetTimeEnd
}
<
/span
>
<
span
>
{
meetTimeStart
}
~
{
meetTimeEnd
}
<
/span
>
);
}
},
{
label
:
"
开会部门
"
,
prop
:
"
meetDeptName
"
},
},
{
label
:
"
开会部门
"
,
prop
:
"
meetDeptName
"
,
formatter
:
(
row
)
=>
(
row
.
meetDeptName
?
row
.
meetDeptName
:
"
--
"
),
},
{
label
:
"
结束方式
"
,
prop
:
"
finishMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
结束方式
"
,
prop
:
"
finishMethod
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
会议状态
"
,
prop
:
"
meetStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
会议状态
"
,
prop
:
"
meetStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
let
editButton
=
(
<
el
-
button
size
=
"
small
"
...
...
@@ -208,11 +224,11 @@ export default {
listButtons
.
push
(
viewButton
);
}
return
<
div
>
{
listButtons
}
<
/div>
;
}
}
]
}
}
,
}
,
]
,
}
,
};
}
}
,
};
</
script
>
smart-office-manager-ui/admin/src/views/room/list.vue
View file @
ab31d31c
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
</LayoutTable>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
</LayoutTable>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
RoomList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
renderTable
(
tableData
)
{
return
(
...
...
@@ -35,8 +32,7 @@
label
=
{
options
.
label
}
width
=
{
options
.
width
}
formatter
=
{
options
.
formatter
}
>
<
/el-table-column
>
><
/el-table-column
>
);
},
/** 重写新增方法 */
...
...
@@ -51,14 +47,13 @@
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
/** 子表列元素 */
columnSet
:
[
{
label
:
"
设备编码
"
,
prop
:
"
deviceCode
"
,
width
:
150
},
{
label
:
"
设备名称
"
,
prop
:
"
deviceName
"
,
width
:
150
}
columnSet
:
[
{
label
:
"
设备编码
"
,
prop
:
"
deviceCode
"
,
width
:
150
},
{
label
:
"
设备名称
"
,
prop
:
"
deviceName
"
,
width
:
150
},
],
config
:
{
search
:
[
...
...
@@ -66,20 +61,29 @@
name
:
"
userName
"
,
type
:
"
text
"
,
label
:
"
房间名称
"
,
fuzzy
:
true
fuzzy
:
true
,
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
房间名称
"
,
prop
:
"
roomName
"
},
{
label
:
"
房间名称
"
,
prop
:
"
roomName
"
,
formatter
:
(
row
)
=>
(
row
.
roomName
?
row
.
roomName
:
"
--
"
),
},
{
label
:
"
房间编码
"
,
prop
:
"
roomCode
"
},
{
label
:
"
房间编码
"
,
prop
:
"
roomCode
"
,
formatter
:
(
row
)
=>
(
row
.
roomCode
?
row
.
roomCode
:
"
--
"
),
},
{
label
:
"
房间类型
"
,
prop
:
"
roomType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
房间类型
"
,
prop
:
"
roomType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
绑定设备
"
,
{
label
:
"
绑定设备
"
,
width
:
120
,
prop
:
"
subColumns
"
,
formatter
:
(
row
)
=>
{
...
...
@@ -89,26 +93,34 @@
return
(
<
el
-
popover
placement
=
"
right
"
width
=
{
widthsize
}
trigger
=
"
click
"
>
{
this
.
renderTable
(
row
.
roomDeviceList
)}
<
el
-
button
type
=
"
text
"
slot
=
"
reference
"
>
详细
<
/el-button
>
<
el
-
button
type
=
"
text
"
slot
=
"
reference
"
>
详细
<
/el-button
>
<
/el-popover
>
);
},
},
{
label
:
"
员工人数
"
,
prop
:
"
countPerson
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工人数
"
,
prop
:
"
countPerson
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
},
},
],
},
};
},
};
</
script
>
smart-office-manager-ui/admin/src/views/room/workman/list.vue
View file @
ab31d31c
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
</LayoutTable>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
</LayoutTable>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
RoomWorkmanList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
...
...
@@ -33,34 +30,50 @@
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
],
search
:
[],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
房间名称
"
,
prop
:
"
roomName
"
},
{
label
:
"
房间名称
"
,
prop
:
"
roomName
"
,
formatter
:
(
row
)
=>
(
row
.
roomName
?
row
.
roomName
:
"
--
"
),
},
{
label
:
"
工作人员名称
"
,
prop
:
"
workmanName
"
},
{
label
:
"
工作人员名称
"
,
prop
:
"
workmanName
"
,
formatter
:
(
row
)
=>
(
row
.
workmanName
?
row
.
workmanName
:
"
--
"
),
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
},
},
],
},
};
},
};
</
script
>
smart-office-manager-ui/admin/src/views/system/log/list.vue
View file @
ab31d31c
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
notAdd
notDel
:config=
"tableConfig"
/>
...
...
@@ -26,36 +25,41 @@ export default {
},
],
columns
:
[
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
{
prop
:
"
userName
"
,
label
:
"
用户名称
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
(
row
.
userName
?
row
.
userName
:
"
--
"
),
},
{
prop
:
"
loginName
"
,
label
:
"
用户登录名
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
(
row
.
loginName
?
row
.
loginName
:
"
--
"
),
},
{
prop
:
"
requestUrl
"
,
label
:
"
请求地址
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
(
row
.
requestUrl
?
row
.
requestUrl
:
"
--
"
),
},
{
prop
:
"
content
"
,
label
:
"
操作内容
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
(
row
.
content
?
row
.
content
:
"
--
"
),
},
{
prop
:
"
ip
"
,
label
:
"
操作IP地址
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
(
row
.
ip
?
row
.
ip
:
"
--
"
),
},
{
...
...
smart-office-manager-ui/admin/src/views/system/menu/list.vue
View file @
ab31d31c
...
...
@@ -142,11 +142,13 @@ export default {
prop
:
"
id
"
,
label
:
"
ID
"
,
width
:
120
,
formatter
:
(
row
)
=>
(
row
.
id
?
row
.
id
:
"
--
"
),
},
{
prop
:
"
name
"
,
label
:
"
名称
"
,
width
:
160
,
formatter
:
(
row
)
=>
(
row
.
name
?
row
.
name
:
"
--
"
),
},
{
prop
:
"
imgPath
"
,
...
...
@@ -162,12 +164,12 @@ export default {
{
prop
:
"
parentId
"
,
label
:
"
父ID
"
,
width
:
160
,
formatter
:
(
row
)
=>
(
row
.
parentId
?
row
.
parentId
:
"
--
"
)
,
},
{
prop
:
"
url
"
,
label
:
"
地址
"
,
width
:
160
,
formatter
:
(
row
)
=>
(
row
.
url
?
row
.
url
:
"
--
"
)
,
},
{
prop
:
"
status
"
,
...
...
smart-office-manager-ui/admin/src/views/system/param/list.vue
View file @
ab31d31c
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
'tableData'
:config=
'tableConfig'
/>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
/>
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
import
table
from
'
@/assets/mixins/table
'
;
import
table
from
"
@/assets/mixins/table
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
table
],
components
:
{
dialogShow
},
components
:
{
dialogShow
},
methods
:
{
// 新增
toAdd
(
row
)
{
...
...
@@ -21,92 +21,102 @@ export default {
this
.
$refs
.
dialogform
.
edit
(
row
);
},
// 查看
toView
(
row
,
)
{
toView
(
row
)
{
this
.
$refs
.
dialogform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
'
name
'
,
type
:
'
text
'
,
label
:
'
参数名称
'
,
name
:
"
name
"
,
type
:
"
text
"
,
label
:
"
参数名称
"
,
},
],
columns
:
[
{
type
:
"
selection
"
,
reserveSelection
:
true
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
{
type
:
"
selection
"
,
reserveSelection
:
true
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
{
prop
:
'
name
'
,
label
:
'
参数名称
'
,
prop
:
"
name
"
,
label
:
"
参数名称
"
,
formatter
:
(
row
)
=>
(
row
.
name
?
row
.
name
:
"
--
"
),
},
{
prop
:
'
firstOrganize
'
,
label
:
'
一级组织
'
,
prop
:
"
firstOrganize
"
,
label
:
"
一级组织
"
,
formatter
:
(
row
)
=>
(
row
.
firstOrganize
?
row
.
firstOrganize
:
"
--
"
),
},
{
prop
:
'
secondOrganize
'
,
label
:
'
二级组织
'
,
prop
:
"
secondOrganize
"
,
label
:
"
二级组织
"
,
formatter
:
(
row
)
=>
row
.
secondOrganize
?
row
.
secondOrganize
:
"
--
"
,
},
{
prop
:
'
paramKey
'
,
label
:
'
参数键
'
,
prop
:
"
paramKey
"
,
label
:
"
参数键
"
,
formatter
:
(
row
)
=>
(
row
.
paramKey
?
row
.
paramKey
:
"
--
"
),
},
{
prop
:
'
paramValue
'
,
label
:
'
参数值
'
,
prop
:
"
paramValue
"
,
label
:
"
参数值
"
,
formatter
:
(
row
)
=>
(
row
.
paramValue
?
row
.
paramValue
:
"
--
"
),
// formatter: this.util_short('paramValue', 20)
},
{
prop
:
'
validStatus
'
,
label
:
'
有效状态
'
,
prop
:
"
validStatus
"
,
label
:
"
有效状态
"
,
width
:
70
,
formatter
:
this
.
formatter
formatter
:
this
.
formatter
,
},
{
prop
:
'
modStatus
'
,
label
:
'
修改状态
'
,
prop
:
"
modStatus
"
,
label
:
"
修改状态
"
,
width
:
100
,
formatter
:
this
.
formatter
formatter
:
this
.
formatter
,
},
{
prop
:
'
displayType
'
,
label
:
'
展现类型
'
,
prop
:
"
displayType
"
,
label
:
"
展现类型
"
,
width
:
100
,
formatter
:
this
.
formatter
formatter
:
this
.
formatter
,
},
{
prop
:
'
remark
'
,
label
:
'
备注
'
,
prop
:
"
remark
"
,
label
:
"
备注
"
,
formatter
:
(
row
)
=>
(
row
.
remark
?
row
.
remark
:
"
--
"
),
},
{
label
:
'
操作
'
,
label
:
"
操作
"
,
width
:
260
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
)
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
},
},
],
},
}
}
}
}
;
}
,
}
;
</
script
>
<
style
lang=
"css"
>
.el-tooltip__popper
{
.el-tooltip__popper
{
display
:
inline-block
;
max-width
:
80%
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
normal
;
white-space
:
normal
;
line-height
:
18px
;
cursor
:
pointer
;
}
</
style
>
smart-office-manager-ui/admin/src/views/system/resource/list.vue
View file @
ab31d31c
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
'tableData'
:config=
'tableConfig'
/>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
/>
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
import
table
from
'
@/assets/mixins/table
'
;
import
table
from
"
@/assets/mixins/table
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
table
],
...
...
@@ -32,34 +32,36 @@ export default {
config
:
{
search
:
[
{
name
:
'
name
'
,
type
:
'
text
'
,
label
:
'
资源名称
'
,
name
:
"
name
"
,
type
:
"
text
"
,
label
:
"
资源名称
"
,
},
{
name
:
'
authType
'
,
type
:
'
select
'
,
label
:
'
权限类型
'
,
name
:
"
authType
"
,
type
:
"
select
"
,
label
:
"
权限类型
"
,
},
],
columns
:
[
{
type
:
"
selection
"
,
reserveSelection
:
true
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
{
type
:
"
selection
"
,
reserveSelection
:
true
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
// {
// prop: 'id',
// label: 'ID',
// },
{
prop
:
'
name
'
,
label
:
'
名称
'
,
prop
:
"
name
"
,
label
:
"
名称
"
,
formatter
:
(
row
)
=>
(
row
.
name
?
row
.
name
:
"
--
"
),
},
{
prop
:
'
url
'
,
label
:
'
资源
'
,
prop
:
"
url
"
,
label
:
"
资源
"
,
formatter
:
(
row
)
=>
(
row
.
url
?
row
.
url
:
"
--
"
),
},
{
prop
:
'
authType
'
,
label
:
'
认证类型
'
,
prop
:
"
authType
"
,
label
:
"
认证类型
"
,
formatter
:
this
.
formatter
,
},
...
...
@@ -70,18 +72,22 @@ export default {
// formatter: this.formatter,
// },
{
label
:
'
操作
'
,
label
:
"
操作
"
,
witdh
:
120
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
return
(
<
table
-
buttons
noView
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onDel
=
{
this
.
toDel
}
/
>
)
<
table
-
buttons
noView
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onDel
=
{
this
.
toDel
}
/
>
);
},
},
],
},
}
}
}
}
;
}
,
}
;
</
script
>
smart-office-manager-ui/admin/src/views/system/role/list.vue
View file @
ab31d31c
...
...
@@ -186,7 +186,7 @@ export default {
return
this
.
allResources
;
}
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$post
(
"
/resource/list
"
,
{
size
:
-
1
})
this
.
$post
(
"
/resource/list
"
,
{
size
:
-
1
})
.
then
(({
data
})
=>
{
resolve
(
this
.
groupByAuth
(
data
.
data
));
})
...
...
@@ -224,8 +224,8 @@ export default {
getRoleAuths
(
id
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$post
(
"
/role/auth/list
"
,
{
"
roleId
"
:
id
,
"
size
"
:
-
1
,
roleId
:
id
,
size
:
-
1
,
})
.
then
(({
data
})
=>
{
const
result
=
data
.
data
.
map
((
i
)
=>
i
.
resourceId
);
...
...
@@ -281,10 +281,10 @@ export default {
async
getUsersoo
(
userTypeIdVal
,
loginNameVal
,
realNameVal
)
{
const
query
=
{
"
size
"
:
-
1
,
"
userType
"
:
userTypeIdVal
,
"
loginName
"
:
loginNameVal
,
"
realName
"
:
realNameVal
,
size
:
-
1
,
userType
:
userTypeIdVal
,
loginName
:
loginNameVal
,
realName
:
realNameVal
,
};
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$post
(
"
/user/list
"
,
query
)
...
...
@@ -336,8 +336,8 @@ export default {
getRoleUsers
(
id
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$post
(
"
/role/user/list
"
,
{
"
roleId
"
:
id
,
"
size
"
:
-
1
,
roleId
:
id
,
size
:
-
1
,
})
.
then
(({
data
})
=>
{
const
result
=
data
.
data
...
...
@@ -380,8 +380,8 @@ export default {
async
saveUser
()
{
try
{
//this.user.form.userIdList = this.user.checkList.join(",");
this
.
user
.
form
.
userIdList
=
this
.
user
.
checkList
await
this
.
$post
(
"
/role/user/distributionUser
"
,
this
.
user
.
form
,
);
this
.
user
.
form
.
userIdList
=
this
.
user
.
checkList
;
await
this
.
$post
(
"
/role/user/distributionUser
"
,
this
.
user
.
form
);
this
.
user
.
visible
=
false
;
this
.
user
.
form
=
this
.
initForm
();
this
.
$message
.
success
(
"
操作成功
"
);
...
...
@@ -445,19 +445,20 @@ export default {
type
:
"
text
"
,
label
:
"
角色名
"
,
},
],
columns
:
[
{
type
:
"
selection
"
,
reserveSelection
:
true
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
{
type
:
"
selection
"
,
reserveSelection
:
true
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
{
prop
:
"
name
"
,
label
:
"
角色名
"
,
formatter
:
(
row
)
=>
(
row
.
name
?
row
.
name
:
"
--
"
),
},
{
prop
:
"
remark
"
,
label
:
"
备注
"
,
formatter
:
(
row
)
=>
(
row
.
remark
?
row
.
remark
:
"
--
"
),
},
// {
// prop: "roleType",
...
...
@@ -483,7 +484,6 @@ export default {
onEdit
=
{
this
.
toEdit
}
onDel
=
{
this
.
toDel
}
/>{" "
}
<
el
-
button
icon
=
"
el-icon-share
"
size
=
"
mini
"
...
...
@@ -547,5 +547,3 @@ export default {
margin-top
:
20px
;
}
</
style
>
smart-office-manager-ui/admin/src/views/system/task/list.vue
View file @
ab31d31c
...
...
@@ -41,23 +41,26 @@ export default {
},
],
columns
:
[
{
type
:
"
selection
"
,
reserveSelection
:
true
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
{
type
:
"
selection
"
,
reserveSelection
:
true
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
{
prop
:
"
name
"
,
label
:
"
任务名称
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
(
row
.
name
?
row
.
name
:
"
--
"
),
},
{
prop
:
"
excuteHost
"
,
label
:
"
执行主机
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
(
row
.
excuteHost
?
row
.
excuteHost
:
"
--
"
),
},
{
prop
:
"
excuteContainer
"
,
label
:
"
执行容器
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
row
.
excuteContainer
?
row
.
excuteContainer
:
"
--
"
,
},
{
prop
:
"
excuteStrategy
"
,
...
...
@@ -69,6 +72,8 @@ export default {
prop
:
"
lastExcuteHost
"
,
label
:
"
最后执行主机
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
row
.
lastExcuteHost
?
row
.
lastExcuteHost
:
"
--
"
,
},
{
prop
:
"
lastExcuteTime
"
,
...
...
@@ -103,5 +108,3 @@ export default {
},
};
</
script
>
smart-office-manager-ui/admin/src/views/system/user/list.vue
View file @
ab31d31c
...
...
@@ -110,8 +110,8 @@ export default {
getRoleUsers
(
id
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$post
(
"
/role/user/list
"
,
{
"
userId
"
:
id
,
"
size
"
:
-
1
,
userId
:
id
,
size
:
-
1
,
})
.
then
(({
data
})
=>
{
const
result
=
data
.
data
...
...
@@ -152,22 +152,25 @@ export default {
},
config
:
{
columns
:
[
{
type
:
"
selection
"
,
reserveSelection
:
true
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
{
type
:
"
selection
"
,
reserveSelection
:
true
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
align
:
"
center
"
,
width
:
50
},
{
prop
:
"
loginName
"
,
label
:
"
登录名称
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
(
row
.
loginName
?
row
.
loginName
:
"
--
"
),
},
{
prop
:
"
realName
"
,
label
:
"
用户名称
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
(
row
.
realName
?
row
.
realName
:
"
--
"
),
},
{
prop
:
"
mobile
"
,
label
:
"
手机号码
"
,
align
:
"
center
"
,
formatter
:
(
row
)
=>
(
row
.
mobile
?
row
.
mobile
:
"
--
"
),
},
{
prop
:
"
roleIds
"
,
...
...
@@ -237,5 +240,3 @@ export default {
},
};
</
script
>
smart-office-manager-ui/admin/src/views/system/validcode/list.vue
View file @
ab31d31c
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
'tableData'
:config=
'tableConfig'
notAdd
notDel
/>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
notAdd
notDel
/>
</div>
</
template
>
<
script
>
import
table
from
'
@/assets/mixins/table
'
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
mixins
:
[
table
],
methods
:
{
},
methods
:
{},
data
()
{
return
{
config
:
{
columns
:
[
{
type
:
'
selection
'
,
type
:
"
selection
"
,
width
:
60
,
},
{
prop
:
'
id
'
,
label
:
'
ID
'
,
prop
:
"
id
"
,
label
:
"
ID
"
,
width
:
60
,
formatter
:
(
row
)
=>
(
row
.
id
?
row
.
id
:
"
--
"
),
},
{
prop
:
'
code
'
,
label
:
'
验证码
'
,
prop
:
"
code
"
,
label
:
"
验证码
"
,
formatter
:
(
row
)
=>
(
row
.
code
?
row
.
code
:
"
--
"
),
},
{
prop
:
'
url
'
,
label
:
'
校验地址
'
,
prop
:
"
url
"
,
label
:
"
校验地址
"
,
formatter
:
(
row
)
=>
(
row
.
url
?
row
.
url
:
"
--
"
),
},
{
prop
:
'
mobile
'
,
label
:
'
手机号码
'
,
prop
:
"
mobile
"
,
label
:
"
手机号码
"
,
formatter
:
(
row
)
=>
(
row
.
mobile
?
row
.
mobile
:
"
--
"
),
},
{
prop
:
'
email
'
,
label
:
'
校验邮箱
'
,
prop
:
"
email
"
,
label
:
"
校验邮箱
"
,
formatter
:
(
row
)
=>
(
row
.
email
?
row
.
email
:
"
--
"
),
},
{
prop
:
'
type
'
,
label
:
'
校验方式
'
,
prop
:
"
type
"
,
label
:
"
校验方式
"
,
width
:
130
,
formatter
:
this
.
formatter
,
},
{
prop
:
'
sessionId
'
,
label
:
'
会话ID
'
prop
:
"
sessionId
"
,
label
:
"
会话ID
"
,
formatter
:
(
row
)
=>
(
row
.
sessionId
?
row
.
sessionId
:
"
--
"
),
},
{
prop
:
'
ip
'
,
label
:
'
IP地址
'
prop
:
"
ip
"
,
label
:
"
IP地址
"
,
formatter
:
(
row
)
=>
(
row
.
ip
?
row
.
ip
:
"
--
"
),
},
{
prop
:
'
createTime
'
,
label
:
'
创建时间
'
prop
:
"
createTime
"
,
label
:
"
创建时间
"
,
formatter
:
(
row
)
=>
(
row
.
createTime
?
row
.
createTime
:
"
--
"
),
},
{
prop
:
'
lapseTime
'
,
label
:
'
失效时间
'
prop
:
"
lapseTime
"
,
label
:
"
失效时间
"
,
formatter
:
(
row
)
=>
(
row
.
lapseTime
?
row
.
lapseTime
:
"
--
"
),
},
{
label
:
'
操作
'
,
formatter
:
(
row
)
=>
{
label
:
"
操作
"
,
formatter
:
(
row
)
=>
{
return
(
<
table
-
buttons
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onDel
=
{
this
.
toDel
}
/
>
)
<
table
-
buttons
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onDel
=
{
this
.
toDel
}
/
>
);
},
},
],
search
:
[
{
name
:
'
mobile
'
,
type
:
'
text
'
,
label
:
'
手机号码
'
,
name
:
"
mobile
"
,
type
:
"
text
"
,
label
:
"
手机号码
"
,
},
]
]
,
},
}
}
}
};
},
};
</
script
>
smart-office-manager-ui/admin/src/views/workman/list.vue
View file @
ab31d31c
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
<!--
<el-button
<!--
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
...
...
@@ -42,10 +42,11 @@
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
</div>
...
...
@@ -59,7 +60,6 @@
</div>
</el-dialog>
<el-dialog
:title=
"user.title"
:visible.sync=
"user.open"
...
...
@@ -70,7 +70,6 @@
<el-form-item
label=
"新密码"
>
<el-input
v-model=
"newPwd"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitUserForm"
>
确 定
</el-button>
...
...
@@ -83,17 +82,16 @@
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
WorkmanList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
/** 导入 */
handleImport
()
{
...
...
@@ -129,9 +127,15 @@
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/workman/exportExcel
"
,
{
"
idList
"
:
this
.
selection
,
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
this
.
$download
(
"
/workman/exportExcel
"
,
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
...
...
@@ -152,8 +156,8 @@
handleChangePwd
(
row
)
{
this
.
user
.
title
=
"
修改密码
"
;
this
.
loginName
=
row
.
loginName
;
this
.
newPwd
=
null
;
this
.
loginName
=
row
.
loginName
;
this
.
newPwd
=
null
;
this
.
user
.
open
=
true
;
},
...
...
@@ -161,7 +165,7 @@
submitUserForm
()
{
this
.
$post
(
"
/workman/change/password
"
,
{
loginName
:
this
.
loginName
,
newPwd
:
this
.
newPwd
newPwd
:
this
.
newPwd
,
})
.
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
...
...
@@ -175,12 +179,11 @@
this
.
$message
.
error
(
error
.
message
);
});
},
},
data
()
{
return
{
loginName
:
null
,
newPwd
:
null
,
loginName
:
null
,
newPwd
:
null
,
// 用户导入参数
upload
:
{
// 是否显示弹出层(工作人员导入)
...
...
@@ -192,7 +195,7 @@
// 是否更新已经存在的数据
updateSupport
:
0
,
// 上传的地址
url
:
"
/office
/workman/importData
"
,
url
:
"
/m
/workman/importData
"
,
},
user
:
{
// 是否显示弹出层(工作人员导入)
...
...
@@ -202,61 +205,81 @@
},
isExport
:
false
,
config
:
{
search
:
[
{
name
:
"
name
"
,
type
:
"
text
"
,
label
:
"
姓名
"
,
fuzzy
:
true
},
{
name
:
"
roomId
"
,
type
:
"
select
"
,
label
:
"
所属房间
"
},
{
name
:
"
workStatus
"
,
type
:
"
select
"
,
label
:
"
工作状态
"
}
],
search
:
[],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
width
:
100
,
label
:
"
照片
"
,
prop
:
"
photoPath
"
,
formatter
:
(
row
)
=>
{
{
label
:
"
照片
"
,
prop
:
"
photoPath
"
,
formatter
:
(
row
)
=>
{
return
row
.
photoPath
!=
""
?
(
<
el
-
image
style
=
"
width: 70px; height: 10
0px
"
style
=
"
width: 70px; height: 7
0px
"
src
=
{
row
.
photoPath
}
preview
-
src
-
list
=
{[
row
.
photoPath
]}
><
/el-image
>
)
:
(
"
--
"
);
},},
{
label
:
"
姓名
"
,
prop
:
"
name
"
},
},
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
姓名
"
,
prop
:
"
name
"
,
formatter
:
(
row
)
=>
(
row
.
name
?
row
.
name
:
"
--
"
),
},
{
label
:
"
所属房间
"
,
prop
:
"
roomName
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
,
formatter
:
(
row
)
=>
(
row
.
deptName
?
row
.
deptName
:
"
--
"
),
},
{
label
:
"
职位
"
,
prop
:
"
userPost
"
},
{
label
:
"
所属房间
"
,
prop
:
"
roomName
"
,
formatter
:
(
row
)
=>
(
row
.
roomName
?
row
.
roomName
:
"
--
"
),
},
{
label
:
"
电话
"
,
prop
:
"
phone
"
},
{
label
:
"
手机
"
,
prop
:
"
mobile
"
},
{
label
:
"
职位
"
,
prop
:
"
userPost
"
,
formatter
:
(
row
)
=>
(
row
.
userPost
?
row
.
userPost
:
"
--
"
),
},
{
label
:
"
电话
"
,
prop
:
"
phone
"
,
formatter
:
(
row
)
=>
(
row
.
phone
?
row
.
phone
:
"
--
"
),
},
{
label
:
"
手机
"
,
prop
:
"
mobile
"
,
formatter
:
(
row
)
=>
(
row
.
mobile
?
row
.
mobile
:
"
--
"
),
},
{
label
:
"
工作状态
"
,
prop
:
"
workStatus
"
},
{
label
:
"
工作状态
"
,
prop
:
"
workStatus
"
,
formatter
:
(
row
)
=>
(
row
.
workStatus
?
row
.
workStatus
:
"
--
"
),
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
<
div
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
span
>
<
/span
>
<
el
-
button
...
...
@@ -266,16 +289,13 @@
>
修改密码
<
/el-button
>
<
/div
>
);
}
}
]
}
};
}
},
},
],
},
};
},
};
</
script
>
smart-office-manager-ui/admin/vue.config.js
View file @
ab31d31c
module
.
exports
=
{
productionSourceMap
:
false
,
assetsDir
:
'
s
'
,
assetsDir
:
"
s
"
,
configureWebpack
:
{
externals
:
{
vue
:
"
Vue
"
,
vuex
:
"
Vuex
"
,
"
vue-router
"
:
"
VueRouter
"
,
"
element-ui
"
:
"
ELEMENT
"
"
element-ui
"
:
"
ELEMENT
"
,
},
},
lintOnSave
:
false
,
lintOnSave
:
false
,
devServer
:
{
inline
:
true
,
disableHostCheck
:
true
,
port
:
8085
,
hot
:
true
,
//自动保存
hot
:
true
,
//自动保存
proxy
:
{
'
/office
'
:
{
target
:
'
http://8.136.255.30:11078
'
,
"
/office
"
:
{
target
:
"
http://192.168.0.98:11072
"
,
// target: 'http://8.136.255.30:11078',
changeOrigin
:
true
,
secure
:
false
,
cookieDomainRewrite
:
'
localhost
'
,
}
}
}
}
cookieDomainRewrite
:
"
localhost
"
,
},
},
},
}
;
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