Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-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
赵啸非
attendance-performance-platform
Commits
a09bf408
Commit
a09bf408
authored
Jan 11, 2024
by
廖旭伟
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
890d733c
6404dbe3
Changes
30
Show whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
655 additions
and
456 deletions
+655
-456
attendance-performance-manager-ui/admin/src/App.vue
attendance-performance-manager-ui/admin/src/App.vue
+18
-3
attendance-performance-manager-ui/admin/src/assets/less/base.css
...nce-performance-manager-ui/admin/src/assets/less/base.css
+6
-6
attendance-performance-manager-ui/admin/src/assets/less/base.less
...ce-performance-manager-ui/admin/src/assets/less/base.less
+6
-2
attendance-performance-manager-ui/admin/src/components/DataTable.vue
...performance-manager-ui/admin/src/components/DataTable.vue
+2
-2
attendance-performance-manager-ui/admin/src/components/DataTableSelect.vue
...mance-manager-ui/admin/src/components/DataTableSelect.vue
+2
-2
attendance-performance-manager-ui/admin/src/components/DataTreeTable.vue
...ormance-manager-ui/admin/src/components/DataTreeTable.vue
+1
-1
attendance-performance-manager-ui/admin/src/components/FileUpload.vue
...erformance-manager-ui/admin/src/components/FileUpload.vue
+8
-1
attendance-performance-manager-ui/admin/src/components/FormField.vue
...performance-manager-ui/admin/src/components/FormField.vue
+15
-0
attendance-performance-manager-ui/admin/src/components/Header.vue
...ce-performance-manager-ui/admin/src/components/Header.vue
+9
-7
attendance-performance-manager-ui/admin/src/components/SearchForm.vue
...erformance-manager-ui/admin/src/components/SearchForm.vue
+4
-0
attendance-performance-manager-ui/admin/src/components/Table.vue
...nce-performance-manager-ui/admin/src/components/Table.vue
+13
-9
attendance-performance-manager-ui/admin/src/components/tabPane.vue
...e-performance-manager-ui/admin/src/components/tabPane.vue
+1
-1
attendance-performance-manager-ui/admin/src/components/tools/TableButtons.vue
...ce-manager-ui/admin/src/components/tools/TableButtons.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/Layout.vue
attendance-performance-manager-ui/admin/src/views/Layout.vue
+12
-6
attendance-performance-manager-ui/admin/src/views/attendance/class/dialogshow.vue
...anager-ui/admin/src/views/attendance/class/dialogshow.vue
+7
-1
attendance-performance-manager-ui/admin/src/views/attendance/class/list.vue
...ance-manager-ui/admin/src/views/attendance/class/list.vue
+138
-100
attendance-performance-manager-ui/admin/src/views/attendance/group/groupTemplate.vue
...ger-ui/admin/src/views/attendance/group/groupTemplate.vue
+163
-124
attendance-performance-manager-ui/admin/src/views/attendance/group/list.vue
...ance-manager-ui/admin/src/views/attendance/group/list.vue
+155
-125
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
...ui/admin/src/views/attendance/leave/record/drawershow.vue
+32
-24
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/list.vue
...nager-ui/admin/src/views/attendance/leave/record/list.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue
...nager-ui/admin/src/views/attendance/record/error/list.vue
+13
-10
attendance-performance-manager-ui/admin/src/views/attendance/record/hik/list.vue
...manager-ui/admin/src/views/attendance/record/hik/list.vue
+6
-2
attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
...nce-manager-ui/admin/src/views/attendance/record/list.vue
+8
-8
attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
...mance-manager-ui/admin/src/views/attendance/stat/list.vue
+16
-8
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/list.vue
...r-ui/admin/src/views/attendance/vacation/balance/list.vue
+1
-0
attendance-performance-manager-ui/admin/src/views/check/attend/record/list.vue
...e-manager-ui/admin/src/views/check/attend/record/list.vue
+2
-2
attendance-performance-manager-ui/admin/src/views/errors/403.vue
...nce-performance-manager-ui/admin/src/views/errors/403.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/login/login.vue
...ce-performance-manager-ui/admin/src/views/login/login.vue
+7
-6
attendance-performance-manager-ui/admin/src/views/staff/drawershow.vue
...rformance-manager-ui/admin/src/views/staff/drawershow.vue
+6
-2
attendance-performance-manager-ui/admin/src/views/staff/list.vue
...nce-performance-manager-ui/admin/src/views/staff/list.vue
+1
-1
No files found.
attendance-performance-manager-ui/admin/src/App.vue
View file @
a09bf408
...
@@ -60,7 +60,8 @@ export default {
...
@@ -60,7 +60,8 @@ export default {
/deep/.el-menu--horizontal > .el-menu-item.is-active,
/deep/.el-menu--horizontal > .el-menu-item.is-active,
/deep/.el-tabs__item.is-active {
/deep/.el-tabs__item.is-active {
border-bottom: 2px solid #409eff;
border-bottom: 2px solid #409eff;
color: #303133;
color: #409eff;
font-weight: 600;
}
}
/deep/.el-tabs__item.is-active {
/deep/.el-tabs__item.is-active {
border-bottom: 3px solid #409eff;
border-bottom: 3px solid #409eff;
...
@@ -78,7 +79,21 @@ export default {
...
@@ -78,7 +79,21 @@ export default {
}
}
/deep/.el-card,
/deep/.el-card,
/deep/.page {
/deep/.page {
-webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
// -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
// box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
padding: 0;
}
/deep/.el-table th {
background: #fafafa !important;
color: rgba(0, 0, 0, 0.85) !important;
}
/deep/.el-table .cell {
font-size: 14px;
}
/deep/.el-drawer__header {
margin-bottom: 0;
padding-bottom: 20px;
}
}
</
style
>
</
style
>
attendance-performance-manager-ui/admin/src/assets/less/base.css
View file @
a09bf408
...
@@ -11,13 +11,8 @@ html * {
...
@@ -11,13 +11,8 @@ html * {
}
}
html
,
html
,
body
{
body
{
/* height: 100%; */
/* min-height: 100%; */
font-family
:
"Microsoft Yahei"
,
"Helvetica Neue"
,
Helvetica
,
STHeiTi
,
Arial
,
sans-serif
;
font-family
:
"Microsoft Yahei"
,
"Helvetica Neue"
,
Helvetica
,
STHeiTi
,
Arial
,
sans-serif
;
}
}
body
{
overflow-y
:
scroll
;
}
body
,
body
,
div
,
div
,
dl
,
dl
,
...
@@ -251,6 +246,11 @@ a {
...
@@ -251,6 +246,11 @@ a {
#operatorUserCabinCheckBox
.el-checkbox__label
{
#operatorUserCabinCheckBox
.el-checkbox__label
{
display
:
inline
;
display
:
inline
;
}
}
.el-table
th
,
.el-table
tr
{
height
:
54px
;
text-align
:
center
;
}
.page-statistics
.chart
{
.page-statistics
.chart
{
margin-bottom
:
80px
;
margin-bottom
:
80px
;
border
:
1px
solid
#ededed
;
border
:
1px
solid
#ededed
;
...
@@ -295,7 +295,7 @@ a {
...
@@ -295,7 +295,7 @@ a {
word-break
:
break-word
;
word-break
:
break-word
;
}
}
.el-button--primary
{
.el-button--primary
{
background
:
linear-gradient
(
9
0deg
,
#5ab6ff
,
#2e9aff
)
!important
;
background
:
linear-gradient
(
18
0deg
,
#5ab6ff
,
#2e9aff
)
!important
;
color
:
#fff
!important
;
color
:
#fff
!important
;
text-align
:
center
!important
;
text-align
:
center
!important
;
}
}
attendance-performance-manager-ui/admin/src/assets/less/base.less
View file @
a09bf408
...
@@ -275,7 +275,11 @@ a {
...
@@ -275,7 +275,11 @@ a {
#operatorUserCabinCheckBox .el-checkbox__label {
#operatorUserCabinCheckBox .el-checkbox__label {
display: inline;
display: inline;
}
}
.el-table th,
.el-table tr {
height: 54px;
text-align: center;
}
// 统计页面隔日期变色
// 统计页面隔日期变色
.page-statistics {
.page-statistics {
.chart {
.chart {
...
@@ -333,7 +337,7 @@ a {
...
@@ -333,7 +337,7 @@ a {
}
}
}
}
.el-button--primary {
.el-button--primary {
background: linear-gradient(
9
0deg, #5ab6ff, #2e9aff) !important;
background: linear-gradient(
18
0deg, #5ab6ff, #2e9aff) !important;
color: #fff !important;
color: #fff !important;
text-align: center !important;
text-align: center !important;
}
}
attendance-performance-manager-ui/admin/src/components/DataTable.vue
View file @
a09bf408
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
:width=
"column.width"
:width=
"column.width"
:sortable=
"column.sortable"
:sortable=
"column.sortable"
:show-overflow-tooltip=
"column.tooltip"
:show-overflow-tooltip=
"column.tooltip"
:align=
"column.align || '
left
'"
:align=
"column.align || '
center
'"
:formatter=
"column.formatter"
:formatter=
"column.formatter"
:reserve-selection=
"column.reserveSelection"
:reserve-selection=
"column.reserveSelection"
:subColumns=
"column.subColumns"
:subColumns=
"column.subColumns"
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
:label=
"sunColumn.label"
:label=
"sunColumn.label"
:width=
"sunColumn.width"
:width=
"sunColumn.width"
:sortable=
"sunColumn.sortable"
:sortable=
"sunColumn.sortable"
:align=
"sunColumn.align || '
left
'"
:align=
"sunColumn.align || '
center
'"
:formatter=
"sunColumn.formatter"
:formatter=
"sunColumn.formatter"
/>
/>
</el-table-column>
</el-table-column>
...
...
attendance-performance-manager-ui/admin/src/components/DataTableSelect.vue
View file @
a09bf408
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
:width=
"column.width"
:width=
"column.width"
:sortable=
"column.sortable"
:sortable=
"column.sortable"
:show-overflow-tooltip=
"column.tooltip"
:show-overflow-tooltip=
"column.tooltip"
:align=
"column.align || '
left
'"
:align=
"column.align || '
center
'"
:formatter=
"column.formatter"
:formatter=
"column.formatter"
:reserve-selection=
"column.reserveSelection"
:reserve-selection=
"column.reserveSelection"
:subColumns=
"column.subColumns"
:subColumns=
"column.subColumns"
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
:label=
"sunColumn.label"
:label=
"sunColumn.label"
:width=
"sunColumn.width"
:width=
"sunColumn.width"
:sortable=
"sunColumn.sortable"
:sortable=
"sunColumn.sortable"
:align=
"sunColumn.align || '
left
'"
:align=
"sunColumn.align || '
center
'"
:formatter=
"sunColumn.formatter"
:formatter=
"sunColumn.formatter"
/>
/>
</el-table-column>
</el-table-column>
...
...
attendance-performance-manager-ui/admin/src/components/DataTreeTable.vue
View file @
a09bf408
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
:label=
"column.label"
:label=
"column.label"
:width=
"column.width"
:width=
"column.width"
:show-overflow-tooltip=
"column.tooltip"
:show-overflow-tooltip=
"column.tooltip"
:align=
"column.align || '
left
'"
:align=
"column.align || '
center
'"
:formatter=
'column.formatter'
:formatter=
'column.formatter'
>
>
</el-table-column>
</el-table-column>
...
...
attendance-performance-manager-ui/admin/src/components/FileUpload.vue
View file @
a09bf408
...
@@ -12,9 +12,12 @@
...
@@ -12,9 +12,12 @@
:headers=
"headers"
:headers=
"headers"
class=
"upload-file-uploader"
class=
"upload-file-uploader"
ref=
"upload"
ref=
"upload"
:disabled=
"pageInfoType == 'view'"
>
>
<!-- 上传按钮 -->
<!-- 上传按钮 -->
<el-button
size=
"mini"
type=
"primary"
>
选取文件
</el-button>
<el-button
size=
"mini"
type=
"success"
:disabled=
"pageInfoType == 'view'"
>
选取文件
</el-button
>
<!-- 上传提示 -->
<!-- 上传提示 -->
<div
class=
"el-upload__tip"
slot=
"tip"
v-if=
"showTip"
>
<div
class=
"el-upload__tip"
slot=
"tip"
v-if=
"showTip"
>
...
@@ -95,6 +98,10 @@ export default {
...
@@ -95,6 +98,10 @@ export default {
type
:
String
,
type
:
String
,
default
:
""
,
default
:
""
,
},
},
pageInfoType
:
{
type
:
String
,
default
:
""
,
},
},
},
data
()
{
data
()
{
return
{
return
{
...
...
attendance-performance-manager-ui/admin/src/components/FormField.vue
View file @
a09bf408
...
@@ -108,6 +108,21 @@
...
@@ -108,6 +108,21 @@
>
{{
$label
}}
</el-radio
>
{{
$label
}}
</el-radio
>
>
</el-radio-group>
</el-radio-group>
<el-radio-group
:disabled=
"disabled"
v-model=
"field"
@
change=
"emit"
v-if=
"type === 'radioCol'"
style=
"display: flex;margin-top: 12px;"
>
<el-radio
v-for=
"($label, $value) in enumData"
:key=
"$value"
:label=
"$value"
style=
"margin-bottom: 15px;"
>
{{
$label
}}
</el-radio
>
</el-radio-group>
<el-checkbox-group
<el-checkbox-group
:disabled=
"disabled"
:disabled=
"disabled"
...
...
attendance-performance-manager-ui/admin/src/components/Header.vue
View file @
a09bf408
...
@@ -43,16 +43,16 @@
...
@@ -43,16 +43,16 @@
</el-badge>
</el-badge>
</div>
-->
</div>
-->
<div
class=
"controllBar"
@
click=
"returnHome"
>
<div
class=
"controllBar"
@
click=
"returnHome"
>
<i
class=
"el-icon-s-home"
style=
"font-size: 1
5
px; margin-right: 10px"
>
<i
class=
"el-icon-s-home"
style=
"font-size: 1
4
px; margin-right: 10px"
>
首页
</i
返回系统
首页
</i
>
>
</div>
</div>
<a
class=
"controllBar"
:href=
"portal"
style=
"color: #fff;"
>
<a
class=
"controllBar"
:href=
"portal"
style=
"color: #fff;"
>
<i
<i
class=
"el-icon-arrow-left"
class=
"el-icon-arrow-left"
style=
"font-size: 1
5
px; margin-right: 10px"
style=
"font-size: 1
4
px; margin-right: 10px"
>
>
返回门户
</i
返回
平台
门户
</i
>
>
</a>
</a>
...
@@ -210,7 +210,7 @@ export default {
...
@@ -210,7 +210,7 @@ export default {
.layout-menu-wrapper {
.layout-menu-wrapper {
height: 72px;
height: 72px;
line-height: 72px;
line-height: 72px;
font-size: 1
4
px;
font-size: 1
6
px;
color: #eee;
color: #eee;
background: linear-gradient(90deg, #1845c6, #2999ff) !important;
background: linear-gradient(90deg, #1845c6, #2999ff) !important;
.layout-logo {
.layout-logo {
...
@@ -231,6 +231,8 @@ export default {
...
@@ -231,6 +231,8 @@ export default {
.menu-list {
.menu-list {
li {
li {
width: 140px;
text-align: center;
span {
span {
display: block;
display: block;
padding: 0 6px;
padding: 0 6px;
...
@@ -254,10 +256,10 @@ export default {
...
@@ -254,10 +256,10 @@ export default {
}
}
.controllBar {
.controllBar {
background-color: rgba(255, 255, 255, 0.2);
background-color: rgba(255, 255, 255, 0.2);
width: 1
2
0px;
width: 1
5
0px;
height: 44px;
height: 44px;
line-height: 44px;
line-height: 44px;
margin-top: 3
4
px;
margin-top: 3
6
px;
transform: translateY(-50%);
transform: translateY(-50%);
text-align: center;
text-align: center;
border-radius: 5px;
border-radius: 5px;
...
...
attendance-performance-manager-ui/admin/src/components/SearchForm.vue
View file @
a09bf408
...
@@ -559,6 +559,9 @@ export default {
...
@@ -559,6 +559,9 @@ export default {
.el-input {
.el-input {
width: 170px;
width: 170px;
}
}
.el-form-item {
margin-bottom: 10px;
}
.el-select .el-input {
.el-select .el-input {
width: 140px;
width: 140px;
}
}
...
@@ -568,6 +571,7 @@ export default {
...
@@ -568,6 +571,7 @@ export default {
.search-form-wapper {
.search-form-wapper {
.el-form-item {
.el-form-item {
width: 100%;
width: 100%;
margin-bottom: 10px;
.el-form-item__label {
.el-form-item__label {
min-width: 70px;
min-width: 70px;
}
}
...
...
attendance-performance-manager-ui/admin/src/components/Table.vue
View file @
a09bf408
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
size=
"mini"
size=
"mini"
@
click=
"config.methods.add"
@
click=
"config.methods.add"
title=
"新增"
title=
"新增"
style=
"margin-left: 10px;"
>
新增
</el-button
>
新增
</el-button
>
>
<el-button
<el-button
...
@@ -55,6 +56,7 @@
...
@@ -55,6 +56,7 @@
icon=
"el-icon-delete"
icon=
"el-icon-delete"
type=
"danger"
type=
"danger"
size=
"mini"
size=
"mini"
style=
"margin-left: 10px;"
title=
"批量删除"
title=
"批量删除"
>
批量删除
</el-button
>
批量删除
</el-button
>
>
...
@@ -233,7 +235,7 @@
...
@@ -233,7 +235,7 @@
v-if=
"!isShowButton('notPagination') ? false : data.pageInfo.totalResult"
v-if=
"!isShowButton('notPagination') ? false : data.pageInfo.totalResult"
>
>
<Pagination
<Pagination
style=
"float:
lef
t"
style=
"float:
righ
t"
:total=
"data.pageInfo.totalResult"
:total=
"data.pageInfo.totalResult"
:prePageResult=
"data.pageInfo.prePageResult"
:prePageResult=
"data.pageInfo.prePageResult"
/>
/>
...
@@ -344,11 +346,11 @@ export default {
...
@@ -344,11 +346,11 @@ export default {
.table-head {
.table-head {
display: block;
display: block;
width: 100%;
width: 100%;
.el-button {
.el-button {
margin-bottom: 5px;
margin-bottom: 5px;
}
}
.table-head-left {
.table-head-left {
margin-bottom: 10px;
display: block;
display: block;
width: 100%;
width: 100%;
}
}
...
@@ -358,39 +360,41 @@ export default {
...
@@ -358,39 +360,41 @@ export default {
width: 100%;
width: 100%;
}
}
}
}
.table-body,
.table-foot {
padding: 0 10px;
}
}
}
}
}
.layout-table {
.layout-table {
.table-head {
.table-head {
margin-bottom: 10px;
//padding-bottom: 12px;
//padding-bottom: 12px;
// padding-top: 7px;
// padding-top: 7px;
border-bottom: 1px solid #ededed;
//
border-bottom: 1px solid #ededed;
.el-breadcrumb {
.el-breadcrumb {
margin-right: 30px;
margin-right: 30px;
}
}
.table-head-left .buttons {
.table-head-left .buttons {
button + button {
button + button {
margin-left: 10px;
margin-left: 10px;
margin-bottom: 10px;
}
}
button + span {
button + span {
margin-left: 10px;
margin-left: 10px;
margin-bottom: 10px;
}
}
span + span {
span + span {
margin-left: 10px;
margin-left: 10px;
margin-bottom: 10px;
}
}
span + button {
span + button {
margin-left: 10px;
margin-left: 10px;
margin-bottom: 10px;
}
}
}
}
}
}
.table-body,
.table-foot {
padding: 0 10px;
}
.table-form {
.table-form {
padding-top: 10px;
padding-top: 10px;
margin-top: 10px;
overflow: hidden;
overflow: hidden;
}
}
.search-form-wapper {
.search-form-wapper {
...
...
attendance-performance-manager-ui/admin/src/components/tabPane.vue
View file @
a09bf408
<
template
>
<
template
>
<div
style=
"margin-bottom:15px;"
>
<div>
<el-menu
<el-menu
:default-active=
"activeName"
:default-active=
"activeName"
class=
"el-menu-demo"
class=
"el-menu-demo"
...
...
attendance-performance-manager-ui/admin/src/components/tools/TableButtons.vue
View file @
a09bf408
...
@@ -66,7 +66,7 @@
...
@@ -66,7 +66,7 @@
icon=
"el-icon-delete"
icon=
"el-icon-delete"
size=
"mini"
size=
"mini"
title=
"删除"
title=
"删除"
style=
"margin-left: 0;margin-right: 5px"
style=
"margin-left: 0;margin-right: 5px
;color: #FA4D4C;
"
>
删除
</el-button
>
删除
</el-button
>
>
</Confirm>
</Confirm>
...
...
attendance-performance-manager-ui/admin/src/views/Layout.vue
View file @
a09bf408
<
template
>
<
template
>
<div
:style=
"menuPageCss"
class=
"pages page-layout"
>
<div
:style=
"menuPageCss"
class=
"pages page-layout"
>
<LayoutHeader
v-if=
"menuPage !== 'left'"
@
changePath=
"changePath"
></LayoutHeader>
<LayoutHeader
<LayoutHeaderLeft
@
toggle=
"toggle"
:isOpen=
"isOpen"
v-if=
"menuPage === 'left'"
/>
v-if=
"menuPage !== 'left'"
@
changePath=
"changePath"
></LayoutHeader>
<LayoutHeaderLeft
@
toggle=
"toggle"
:isOpen=
"isOpen"
v-if=
"menuPage === 'left'"
/>
<div
class=
"layout"
>
<div
class=
"layout"
>
<router-view
:class=
"
{ active: !isOpen }" />
<router-view
:class=
"
{ active: !isOpen }" />
</div>
</div>
...
@@ -53,7 +60,6 @@ export default {
...
@@ -53,7 +60,6 @@ export default {
.layout {
.layout {
padding: 15px 15px 0 15px;
padding: 15px 15px 0 15px;
box-sizing: border-box;
box-sizing: border-box;
}
}
.page {
.page {
...
@@ -71,7 +77,7 @@ export default {
...
@@ -71,7 +77,7 @@ export default {
}
}
.page-layout {
.page-layout {
background: #
eee
;
background: #
f0f2f5
;
height: 100vh;
height: 100vh;
overflow: auto;
overflow: auto;
}
}
...
@@ -83,13 +89,13 @@ export default {
...
@@ -83,13 +89,13 @@ export default {
/* 滚动条上的滚动滑块 */
/* 滚动条上的滚动滑块 */
.page-layout::-webkit-scrollbar-thumb {
.page-layout::-webkit-scrollbar-thumb {
background: #
CCCCCC
;
background: #
cccccc
;
border-radius: 4px;
border-radius: 4px;
}
}
/* 滚动条轨道 */
/* 滚动条轨道 */
.page-layout::-webkit-scrollbar-track {
.page-layout::-webkit-scrollbar-track {
background: #
EEEEEE
;
background: #
eeeeee
;
border-radius: 4px;
border-radius: 4px;
}
}
</
style
>
</
style
>
attendance-performance-manager-ui/admin/src/views/attendance/class/dialogshow.vue
View file @
a09bf408
<
template
>
<
template
>
<!-- 班次表单 -->
<!-- 班次表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
size=
"55%"
>
<el-drawer
:title=
"title"
:visible.sync=
"open"
size=
"55%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"140px"
style=
"padding-right:10px;"
>
<el-row>
<el-row>
<Field
<Field
label=
"班次名称"
label=
"班次名称"
...
...
attendance-performance-manager-ui/admin/src/views/attendance/class/list.vue
View file @
a09bf408
...
@@ -6,17 +6,16 @@
...
@@ -6,17 +6,16 @@
</
template
>
</
template
>
<
script
>
<
script
>
/** 表单弹出框模式需引入 */
/** 表单弹出框模式需引入 */
import
dialogShow
from
"
./dialogshow
"
;
import
dialogShow
from
"
./dialogshow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
export
default
{
name
:
"
AttendanceClassList
"
,
name
:
"
AttendanceClassList
"
,
components
:
{
components
:
{
dialogShow
dialogShow
,
},
},
mixins
:
[
table
],
mixins
:
[
table
],
created
()
{
created
()
{},
},
methods
:
{
methods
:
{
renderTable
(
tableData
)
{
renderTable
(
tableData
)
{
return
(
return
(
...
@@ -31,8 +30,8 @@
...
@@ -31,8 +30,8 @@
prop
=
{
options
.
prop
}
prop
=
{
options
.
prop
}
label
=
{
options
.
label
}
label
=
{
options
.
label
}
width
=
{
options
.
width
}
width
=
{
options
.
width
}
>
align
=
"
center
"
<
/el-table-column
>
>
<
/el-table-column
>
);
);
},
},
/** 重写新增方法 */
/** 重写新增方法 */
...
@@ -47,18 +46,47 @@
...
@@ -47,18 +46,47 @@
toView
(
row
)
{
toView
(
row
)
{
this
.
$refs
.
dialogform
.
view
(
row
);
this
.
$refs
.
dialogform
.
view
(
row
);
},
},
},
},
data
()
{
data
()
{
return
{
return
{
/** 子表列元素 */
/** 子表列元素 */
columnSet
:[
columnSet
:
[
{
prop
:
"
goWorkDate
"
,
label
:
"
上班打卡时间
"
,
width
:
150
},
{
{
prop
:
"
goWorkDateBefore
"
,
label
:
"
上班前打卡(分钟)
"
,
width
:
150
},
prop
:
"
goWorkDate
"
,
{
prop
:
"
goWorkDateAfter
"
,
label
:
"
上班后打卡(分钟)
"
,
width
:
150
},
label
:
"
上班打卡时间
"
,
{
prop
:
"
offWorkDate
"
,
label
:
"
下班打卡时间
"
,
width
:
150
},
width
:
150
,
{
prop
:
"
offWorkDateBefore
"
,
label
:
"
下班前打卡(分钟)
"
,
width
:
150
},
align
:
"
center
"
,
{
prop
:
"
offWorkDateAfter
"
,
label
:
"
下班后打卡(分钟)
"
,
width
:
150
},
},
{
prop
:
"
goWorkDateBefore
"
,
label
:
"
上班前打卡(分钟)
"
,
width
:
150
,
align
:
"
center
"
,
},
{
prop
:
"
goWorkDateAfter
"
,
label
:
"
上班后打卡(分钟)
"
,
width
:
150
,
align
:
"
center
"
,
},
{
prop
:
"
offWorkDate
"
,
label
:
"
下班打卡时间
"
,
width
:
150
,
align
:
"
center
"
,
},
{
prop
:
"
offWorkDateBefore
"
,
label
:
"
下班前打卡(分钟)
"
,
width
:
150
,
align
:
"
center
"
,
},
{
prop
:
"
offWorkDateAfter
"
,
label
:
"
下班后打卡(分钟)
"
,
width
:
150
,
align
:
"
center
"
,
},
// {prop:"remark",label:"备注",width:150},
// {prop:"remark",label:"备注",width:150},
// {prop:"classId",label:"班次ID",width:150},
// {prop:"classId",label:"班次ID",width:150},
],
],
...
@@ -68,16 +96,17 @@
...
@@ -68,16 +96,17 @@
name
:
"
className
"
,
name
:
"
className
"
,
type
:
"
text
"
,
type
:
"
text
"
,
label
:
"
班次名称
"
,
label
:
"
班次名称
"
,
fuzzy
:
true
fuzzy
:
true
,
}
},
],
],
isshowTabPane
:
true
,
isshowTabPane
:
true
,
columns
:
[
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
班次名称
"
,
prop
:
"
className
"
},
{
label
:
"
班次名称
"
,
prop
:
"
className
"
},
// {label: "考勤时间", prop: "className"},
// {label: "考勤时间", prop: "className"},
{
label
:
"
考勤班次详细信息
"
,
{
label
:
"
考勤班次详细信息
"
,
width
:
200
,
width
:
200
,
prop
:
"
subColumns
"
,
prop
:
"
subColumns
"
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
...
@@ -87,7 +116,9 @@
...
@@ -87,7 +116,9 @@
return
(
return
(
<
el
-
popover
placement
=
"
right
"
width
=
{
widthsize
}
trigger
=
"
click
"
>
<
el
-
popover
placement
=
"
right
"
width
=
{
widthsize
}
trigger
=
"
click
"
>
{
this
.
renderTable
(
row
.
attendanceClassDetailList
)}
{
this
.
renderTable
(
row
.
attendanceClassDetailList
)}
<
el
-
button
type
=
"
text
"
slot
=
"
reference
"
>
详细
<
/el-button
>
<
el
-
button
type
=
"
text
"
slot
=
"
reference
"
>
详细
<
/el-button
>
<
/el-popover
>
<
/el-popover
>
);
);
},
},
...
@@ -95,15 +126,22 @@
...
@@ -95,15 +126,22 @@
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
240
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
return
(
<
table
-
buttons
noAdd
noView
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
noView
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
);
}
},
}
},
]
],
}
},
};
}
};
};
},
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/group/groupTemplate.vue
View file @
a09bf408
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
>
>
</div>
</div>
<tab-pane
:activeName=
"activeName"
:thirdList=
"thirdList"
></tab-pane>
<tab-pane
:activeName=
"activeName"
:thirdList=
"thirdList"
></tab-pane>
<div
style=
"padding: 0 10px;"
>
<div
class=
"mt20"
>
<div
class=
"mt20"
>
<div>
考勤组名称
</div>
<div>
考勤组名称
</div>
<el-input
<el-input
...
@@ -136,27 +137,37 @@
...
@@ -136,27 +137,37 @@
<el-button
type=
"primary"
@
click=
"saveSetform"
>
保存设置
</el-button>
<el-button
type=
"primary"
@
click=
"saveSetform"
>
保存设置
</el-button>
<el-button
@
click=
"allReset"
>
全部重置
</el-button>
<el-button
@
click=
"allReset"
>
全部重置
</el-button>
</div>
</div>
</div>
</el-card>
</el-card>
<!-- 设置考勤人员 -->
<!-- 设置考勤人员 -->
<el-drawer
<el-drawer
title=
"考勤人员"
:title=
"
size=
"70%"
drawer1
? '考勤人员'
: drawer2
? '考勤组负责人'
: drawer3
? '考勤时间'
: drawer4
? '打卡方式'
: ''
"
size=
"50%"
:beforeClose=
"closedrawer"
:beforeClose=
"closedrawer"
:visible.sync=
"drawer"
:visible.sync=
"drawer"
direction=
"rtl"
direction=
"rtl"
>
>
<div
style=
"padding:20px"
>
<div
style=
"padding:
10px 10px 10px
20px"
>
<!-- 考勤人员 -->
<!-- 考勤人员 -->
<div
v-if=
"drawer1"
>
<div
v-if=
"drawer1"
>
<div>
参与考勤人员(
{{
this
.
attendArr
.
length
}}
)
</div>
<div>
参与考勤人员(
{{
this
.
attendArr
.
length
}}
)
</div>
<el-input
<el-input
@
focus=
"selectGroup(true)"
@
focus=
"selectGroup(true)"
type=
"textarea"
type=
"textarea"
maxlength=
"20"
maxlength=
"20
0
"
autosize
:autosize=
"
{ minRows: 2, maxRows: 100 }"
v-model="persons"
v-model="persons"
style=
"width:80%"
style="width:100%;margin-top: 10px;"
size=
"mini"
placeholder="请选择"
placeholder="请选择"
>
>
</el-input>
</el-input>
...
@@ -165,7 +176,10 @@
...
@@ -165,7 +176,10 @@
<!-- 考勤组 -->
<!-- 考勤组 -->
<div
class=
"mt10"
v-if=
"drawer2"
>
<div
class=
"mt10"
v-if=
"drawer2"
>
<div>
考勤组负责人:
</div>
<div>
考勤组负责人:
</div>
<el-select
v-model=
"groupResponsibleEntity.responsibleId"
>
<el-select
v-model=
"groupResponsibleEntity.responsibleId"
style=
"width: 100%;margin-top: 10px;"
>
<el-option
<el-option
v-for=
"($label, $value) in responsiableList"
v-for=
"($label, $value) in responsiableList"
:key=
"$value"
:key=
"$value"
...
@@ -192,10 +206,25 @@
...
@@ -192,10 +206,25 @@
<!-- 考勤时间 -->
<!-- 考勤时间 -->
<div
class=
"mt20"
v-if=
"drawer3"
>
<div
class=
"mt20"
v-if=
"drawer3"
>
<!-- -->
<!-- -->
<div>
班制设定
</div>
<el-radio-group
v-model=
"setParams.type"
@
change=
"changeRadio"
>
<el-radio-group
v-model=
"setParams.type"
@
change=
"changeRadio"
>
<div
class=
"mt10"
v-for=
"(item, index) in paibanType"
:key=
"index"
>
<div
<el-radio
:label=
"item.value"
>
{{
item
.
label
}}
</el-radio>
v-for=
"(item, index) in paibanType"
<div
class=
"tips"
>
{{
item
.
des
}}
</div>
:key=
"index"
style=
"margin: 30px 0;"
class=
"radio_box"
>
<el-radio
:label=
"item.value"
><span
style=
"font-size: 16px;font-weight: 600;"
>
{{
item
.
label
}}
</span
></el-radio
>
<div
class=
"tips"
style=
"font-size: 14px;margin-top: 10px;margin-left: 28px;"
>
{{
item
.
des
}}
</div>
</div>
</div>
</el-radio-group>
</el-radio-group>
</div>
</div>
...
@@ -275,13 +304,14 @@
...
@@ -275,13 +304,14 @@
</div>
</div>
<div
v-if=
"setParams.type != 2"
>
<div
v-if=
"setParams.type != 2"
>
<div>
自动排休
</div>
<div
class=
"mt10"
>
<div
class=
"mt10"
>
<el-checkbox
v-model=
"holidays"
:true-label=
"1"
:false-label=
"0"
<el-checkbox
v-model=
"holidays"
:true-label=
"1"
:false-label=
"0"
>
法定节假日自动排休
</el-checkbox
>
法定节假日自动排休
</el-checkbox
>
>
</div>
</div>
<div
class=
"mt10
"
>
<div
style=
"margin-top: 30px;
"
>
<div>
特殊日期
</div>
<div>
特殊日期
</div>
</div>
</div>
...
@@ -332,15 +362,19 @@
...
@@ -332,15 +362,19 @@
<div>
考勤方式
</div>
<div>
考勤方式
</div>
<el-radio-group
v-model=
"setParams.attendanceType"
>
<el-radio-group
v-model=
"setParams.attendanceType"
>
<div
<div
class=
"mt10"
v-for=
"(item, index) in attendanceType"
v-for=
"(item, index) in attendanceType"
:key=
"index"
:key=
"index"
style=
"margin: 30px 0;"
>
<el-radio
:label=
"item.value"
><span
style=
"font-size: 16px;font-weight: 600;"
>
{{
item
.
label
}}
</span
></el-radio
>
>
<el-radio
:label=
"item.value"
>
{{
item
.
label
}}
</el-radio>
</div>
</div>
</el-radio-group>
</el-radio-group>
</div>
</div>
<div
class=
"button_box"
style=
"width: 100%;margin: 20px"
>
<div
class=
"button_box"
style=
"width: 100%;margin: 20px
0
"
>
<el-button
type=
"primary"
@
click=
"() => (drawer = false)"
<el-button
type=
"primary"
@
click=
"() => (drawer = false)"
>
保存
</el-button
>
保存
</el-button
>
>
...
@@ -1392,7 +1426,7 @@ export default {
...
@@ -1392,7 +1426,7 @@ export default {
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.container {
.container {
font-size: 1
5
px;
font-size: 1
6
px;
}
}
.labelClass {
.labelClass {
width: 200px;
width: 200px;
...
@@ -1437,7 +1471,12 @@ export default {
...
@@ -1437,7 +1471,12 @@ export default {
}
}
.head {
.head {
position: absolute;
position: absolute;
right:
45
px;
right:
10
px;
z-index: 99;
z-index: 99;
top: 6px;
}
/deep/.el-textarea__inner {
height: 500px !important;
font-size: 14px;
}
}
</
style
>
</
style
>
attendance-performance-manager-ui/admin/src/views/attendance/group/list.vue
View file @
a09bf408
<
template
>
<
template
>
<div
class=
"page"
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
notDel
:config=
"tableConfig"
v-if=
"isshow"
></LayoutTable>
<LayoutTable
:data=
"tableData"
notDel
:config=
"tableConfig"
v-if=
"isshow"
></LayoutTable>
<group-template
ref=
"groupTemplate"
@
ok=
"okFn"
/>
<group-template
ref=
"groupTemplate"
@
ok=
"okFn"
/>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
/** 表单弹出框模式需引入 */
/** 表单弹出框模式需引入 */
import
groupTemplate
from
"
./groupTemplate
"
;
import
groupTemplate
from
"
./groupTemplate
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
export
default
{
name
:
"
AttendanceGroupList
"
,
name
:
"
AttendanceGroupList
"
,
components
:
{
components
:
{
groupTemplate
groupTemplate
,
},
},
mixins
:
[
table
],
mixins
:
[
table
],
created
()
{
created
()
{},
},
methods
:
{
methods
:
{
renderTable
(
tableData
)
{
renderTable
(
tableData
)
{
return
(
return
(
...
@@ -31,13 +35,12 @@
...
@@ -31,13 +35,12 @@
prop
=
{
options
.
prop
}
prop
=
{
options
.
prop
}
label
=
{
options
.
label
}
label
=
{
options
.
label
}
width
=
{
options
.
width
}
width
=
{
options
.
width
}
>
><
/el-table-column
>
<
/el-table-column
>
);
);
},
},
/** 重写新增方法 */
/** 重写新增方法 */
toAdd
(
row
)
{
toAdd
(
row
)
{
this
.
isshow
=
false
this
.
isshow
=
false
;
this
.
$refs
.
groupTemplate
.
add
(
row
);
this
.
$refs
.
groupTemplate
.
add
(
row
);
// this.$router.push(
// this.$router.push(
// {
// {
...
@@ -47,7 +50,7 @@
...
@@ -47,7 +50,7 @@
},
},
/** 重写编辑方法 */
/** 重写编辑方法 */
toEdit
(
row
)
{
toEdit
(
row
)
{
this
.
isshow
=
false
this
.
isshow
=
false
;
this
.
$refs
.
groupTemplate
.
edit
(
row
);
this
.
$refs
.
groupTemplate
.
edit
(
row
);
// this.$router.push(
// this.$router.push(
// {
// {
...
@@ -57,47 +60,58 @@
...
@@ -57,47 +60,58 @@
},
},
/** 重写查看方法 */
/** 重写查看方法 */
toView
(
row
)
{
toView
(
row
)
{
this
.
isshow
=
false
this
.
isshow
=
false
;
this
.
$refs
.
groupTemplate
.
view
(
row
);
this
.
$refs
.
groupTemplate
.
view
(
row
);
},
},
okFn
(
val
)
{
okFn
(
val
)
{
this
.
getData
()
this
.
getData
();
this
.
isshow
=
val
this
.
isshow
=
val
;
}
},
},
},
data
()
{
data
()
{
return
{
return
{
isshow
:
true
,
isshow
:
true
,
/** 子表列元素 */
/** 子表列元素 */
columnSet
:
[
columnSet
:
[
{
prop
:
"
groupId
"
,
label
:
"
考勤组
"
,
width
:
100
},
{
prop
:
"
groupId
"
,
label
:
"
考勤组
"
,
width
:
100
},
{
prop
:
"
groupName
"
,
label
:
"
考勤组名称
"
,
width
:
100
},
{
prop
:
"
groupName
"
,
label
:
"
考勤组名称
"
,
width
:
100
},
{
prop
:
"
staffId
"
,
label
:
"
员工ID
"
,
width
:
100
},
{
prop
:
"
staffId
"
,
label
:
"
员工ID
"
,
width
:
100
},
{
prop
:
"
staffName
"
,
label
:
"
员工姓名
"
,
width
:
100
},
{
prop
:
"
staffName
"
,
label
:
"
员工姓名
"
,
width
:
100
},
{
prop
:
"
partAttendance
"
,
label
:
"
是否参与考勤,
"
,
width
:
100
},
{
prop
:
"
partAttendance
"
,
label
:
"
是否参与考勤,
"
,
width
:
100
},
{
prop
:
"
remark
"
,
label
:
"
备注
"
,
width
:
100
},
{
prop
:
"
remark
"
,
label
:
"
备注
"
,
width
:
100
},
],
],
config
:
{
config
:
{
isshowTabPane
:
true
,
isshowTabPane
:
true
,
search
:
[
search
:
[
{
{
name
:
"
staffName
"
,
name
:
"
staffName
"
,
type
:
"
text
"
,
type
:
"
text
"
,
label
:
"
考勤组名称
"
,
label
:
"
考勤组名称
"
,
fuzzy
:
true
fuzzy
:
true
,
},
},
],
],
columns
:
[
columns
:
[
{
type
:
"
selection
"
,
width
:
60
,
fixed
:
'
left
'
},
{
type
:
"
selection
"
,
width
:
60
,
fixed
:
"
left
"
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
,
fixed
:
'
left
'
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
,
fixed
:
"
left
"
},
{
label
:
"
考勤组名称
"
,
prop
:
"
groupName
"
,
width
:
200
,
fixed
:
'
left
'
},
{
label
:
"
考勤组名称
"
,
prop
:
"
groupName
"
,
width
:
200
,
fixed
:
"
left
"
},
{
label
:
"
人数
"
,
prop
:
"
personNum
"
,
width
:
80
,
fixed
:
'
left
'
},
{
label
:
"
人数
"
,
prop
:
"
personNum
"
,
width
:
80
,
fixed
:
"
left
"
},
{
label
:
"
负责人
"
,
prop
:
"
responsibleName
"
,
width
:
80
,
fixed
:
'
left
'
},
//未
{
label
:
"
负责人
"
,
prop
:
"
responsibleName
"
,
width
:
80
,
fixed
:
"
left
"
,
},
//未
{
label
:
"
类型
"
,
prop
:
"
type
"
,
formatter
:
this
.
formatterattendType
,
width
:
100
,
fixed
:
'
left
'
},
{
label
:
"
类型
"
,
prop
:
"
type
"
,
formatter
:
this
.
formatterattendType
,
width
:
100
,
fixed
:
"
left
"
,
},
// {label: "创建用户", prop: "createUserId", formatter: this.formatter},
// {label: "创建用户", prop: "createUserId", formatter: this.formatter},
...
@@ -105,7 +119,11 @@
...
@@ -105,7 +119,11 @@
// {label: "考勤方式", prop: "attendanceType"},
// {label: "考勤方式", prop: "attendanceType"},
{
label
:
"
考勤时间
"
,
prop
:
"
attendanceTime
"
,
formatter
:
this
.
formatterBanci
},
//未
{
label
:
"
考勤时间
"
,
prop
:
"
attendanceTime
"
,
formatter
:
this
.
formatterBanci
,
},
//未
// {label: "考勤组人员信息",
// {label: "考勤组人员信息",
// width: 120,
// width: 120,
...
@@ -125,15 +143,27 @@
...
@@ -125,15 +143,27 @@
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
240
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
return
(
<
table
-
buttons
noAdd
noView
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
noView
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
);
}
},
}
},
]
],
}
},
};
}
};
};
},
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
.table-head {
padding-left: 10px;
}
</
style
>
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
View file @
a09bf408
...
@@ -79,22 +79,18 @@
...
@@ -79,22 +79,18 @@
placeholder=
"请输入请假事由"
placeholder=
"请输入请假事由"
:disabled=
"pageInfo.type == 'view'"
:disabled=
"pageInfo.type == 'view'"
/>
/>
<el-row>
<Field
<Field
label=
"审核结果"
label=
"审核结果"
prop=
"auditResult"
prop=
"auditResult"
v-model=
"form.auditResult"
v-model=
"form.auditResult"
type=
"radio
"
type=
"radioCol
"
:enumData=
"dict.auditResult"
:enumData=
"dict.auditResult"
placeholder=
"请选择审核结果"
placeholder=
"请选择审核结果"
:disabled=
"pageInfo.type == 'view'"
:disabled=
"pageInfo.type == 'view'"
/>
/>
<Field
</el-row>
label=
"审核说明"
prop=
"auditDesc"
v-model=
"form.auditDesc"
placeholder=
"请输入审核说明"
:disabled=
"pageInfo.type == 'view'"
/>
<Field
<Field
label=
"审批负责人"
label=
"审批负责人"
prop=
"approverId"
prop=
"approverId"
...
@@ -104,6 +100,24 @@
...
@@ -104,6 +100,24 @@
:enumData=
"dict.approverId"
:enumData=
"dict.approverId"
:disabled=
"pageInfo.type == 'view'"
:disabled=
"pageInfo.type == 'view'"
/>
/>
<Field
label=
"申请时间"
prop=
"createTime"
v-model=
"form.createTime"
type=
"datetime"
disabled
/>
<el-row>
<Field
label=
"审核说明"
prop=
"auditDesc"
type=
"textarea"
v-model=
"form.auditDesc"
placeholder=
"请输入审核说明"
:disabled=
"pageInfo.type == 'view'"
style=
"width: 100%;"
/>
</el-row>
<!--
<Field
label=
"审批负责人"
prop=
"approver"
v-model=
"form.approver"
placeholder=
"请输入审批负责人"
/>
-->
<!--
<Field
label=
"审批负责人"
prop=
"approver"
v-model=
"form.approver"
placeholder=
"请输入审批负责人"
/>
-->
<!--
<Field
label=
"附件"
prop=
"attachment"
v-model=
"form.attachment"
type=
"textarea"
placeholder=
"请输入附件"
/>
-->
<!--
<Field
label=
"附件"
prop=
"attachment"
v-model=
"form.attachment"
type=
"textarea"
placeholder=
"请输入附件"
/>
-->
<Field
<Field
...
@@ -113,13 +127,7 @@
...
@@ -113,13 +127,7 @@
type=
"textarea"
type=
"textarea"
placeholder=
"请输入备注"
placeholder=
"请输入备注"
:disabled=
"pageInfo.type == 'view'"
:disabled=
"pageInfo.type == 'view'"
/>
style=
"width: 100%;"
<Field
label=
"申请时间"
prop=
"createTime"
v-model=
"form.createTime"
type=
"datetime"
disabled
/>
/>
</el-row>
</el-row>
<el-form-item
label=
"附件路径"
prop=
"attachmentPathList"
>
<el-form-item
label=
"附件路径"
prop=
"attachmentPathList"
>
...
@@ -127,7 +135,7 @@
...
@@ -127,7 +135,7 @@
@
input=
"uploadFn"
@
input=
"uploadFn"
:value=
"form.attachmentPathList"
:value=
"form.attachmentPathList"
:fileNumber=
"1"
:fileNumber=
"1"
:
disabled=
"pageInfo.type == 'view'
"
:
pageInfoType=
"pageInfo.type
"
/>
/>
</el-form-item>
</el-form-item>
<form-buttons
<form-buttons
...
...
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/list.vue
View file @
a09bf408
...
@@ -144,7 +144,7 @@ export default {
...
@@ -144,7 +144,7 @@ export default {
{
{
label
:
"
钉钉原始时间(换算时长)
"
,
label
:
"
钉钉原始时间(换算时长)
"
,
width
:
1
65
,
width
:
1
90
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
return
(
return
(
(
row
.
sourceDingTime
?
row
.
sourceDingTime
:
"
--
"
)
+
(
row
.
sourceDingTime
?
row
.
sourceDingTime
:
"
--
"
)
+
...
...
attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue
View file @
a09bf408
...
@@ -95,7 +95,7 @@ export default {
...
@@ -95,7 +95,7 @@ export default {
{
{
name
:
"
deptId
"
,
name
:
"
deptId
"
,
type
:
"
select
"
,
type
:
"
select
"
,
label
:
"
全部
部门
"
,
label
:
"
部门
"
,
},
},
// {
// {
// name: "groupId",
// name: "groupId",
...
@@ -111,12 +111,12 @@ export default {
...
@@ -111,12 +111,12 @@ export default {
{
{
name
:
"
errorStatus
"
,
name
:
"
errorStatus
"
,
type
:
"
select
"
,
type
:
"
select
"
,
label
:
"
全部
异常状态
"
,
label
:
"
异常状态
"
,
},
},
{
{
name
:
"
processStatus
"
,
name
:
"
processStatus
"
,
type
:
"
select
"
,
type
:
"
select
"
,
label
:
"
全部
处理状态
"
,
label
:
"
处理状态
"
,
},
},
{
{
name
:
"
errorDateTimeStart
"
,
name
:
"
errorDateTimeStart
"
,
...
@@ -134,12 +134,12 @@ export default {
...
@@ -134,12 +134,12 @@ export default {
label
:
"
员工姓名
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
,
fuzzy
:
true
,
},
},
{
//
{
name
:
"
phoneNumber
"
,
//
name: "phoneNumber",
type
:
"
text
"
,
//
type: "text",
label
:
"
手机号
"
,
//
label: "手机号",
fuzzy
:
true
,
//
fuzzy: true,
},
//
},
],
],
columns
:
[
columns
:
[
{
type
:
"
selection
"
,
width
:
60
,
fixed
:
"
left
"
},
{
type
:
"
selection
"
,
width
:
60
,
fixed
:
"
left
"
},
...
@@ -157,6 +157,7 @@ export default {
...
@@ -157,6 +157,7 @@ export default {
{
{
label
:
"
异常时间
"
,
label
:
"
异常时间
"
,
prop
:
"
errorDateTime
"
,
prop
:
"
errorDateTime
"
,
width
:
160
,
formatter
:
this
.
formatterDate
,
formatter
:
this
.
formatterDate
,
},
},
{
{
...
@@ -175,11 +176,13 @@ export default {
...
@@ -175,11 +176,13 @@ export default {
label
:
"
实际打卡时间
"
,
label
:
"
实际打卡时间
"
,
prop
:
"
actualAttendanceDateTime
"
,
prop
:
"
actualAttendanceDateTime
"
,
formatter
:
this
.
formatterDate
,
formatter
:
this
.
formatterDate
,
width
:
160
,
},
},
{
{
label
:
"
处理时间
"
,
label
:
"
处理时间
"
,
prop
:
"
operDateTime
"
,
prop
:
"
operDateTime
"
,
formatter
:
this
.
formatterDate
,
formatter
:
this
.
formatterDate
,
width
:
160
,
},
},
{
{
label
:
"
处理状态
"
,
label
:
"
处理状态
"
,
...
@@ -190,7 +193,7 @@ export default {
...
@@ -190,7 +193,7 @@ export default {
{
label
:
"
备注
"
,
prop
:
"
remark
"
,
formatter
:
this
.
formatters
},
{
label
:
"
备注
"
,
prop
:
"
remark
"
,
formatter
:
this
.
formatters
},
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
24
0
,
width
:
10
0
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
if
(
row
.
processStatus
==
0
||
!
row
.
processStatus
)
{
if
(
row
.
processStatus
==
0
||
!
row
.
processStatus
)
{
return
(
return
(
...
...
attendance-performance-manager-ui/admin/src/views/attendance/record/hik/list.vue
View file @
a09bf408
...
@@ -35,7 +35,8 @@
...
@@ -35,7 +35,8 @@
v-if=
"showBtn"
v-if=
"showBtn"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
@
click=
"formatData"
@
click=
"formatData"
>
生成打卡记录
</el-button
:loading=
"btnLoading"
>
极速计算结果
</el-button
>
>
</LayoutTable>
</LayoutTable>
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/>
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/>
...
@@ -150,8 +151,9 @@ export default {
...
@@ -150,8 +151,9 @@ export default {
:
(
this
.
showBtn
=
false
);
:
(
this
.
showBtn
=
false
);
},
},
methods
:
{
methods
:
{
//
生成打卡记录
//
极速计算结果
formatData
()
{
formatData
()
{
this
.
btnLoading
=
true
;
let
params
=
{};
let
params
=
{};
for
(
let
value
of
this
.
config
.
search
)
{
for
(
let
value
of
this
.
config
.
search
)
{
if
(
this
.
query
[
value
.
name
])
{
if
(
this
.
query
[
value
.
name
])
{
...
@@ -164,6 +166,7 @@ export default {
...
@@ -164,6 +166,7 @@ export default {
this
.
$post
(
"
/attendance/record/hik/addAttendanceRecord
"
,
{
this
.
$post
(
"
/attendance/record/hik/addAttendanceRecord
"
,
{
...
params
,
...
params
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
this
.
btnLoading
=
false
;
if
(
res
.
code
==
1
)
{
if
(
res
.
code
==
1
)
{
this
.
$message
.
success
(
"
生成打卡记录成功!
"
);
this
.
$message
.
success
(
"
生成打卡记录成功!
"
);
}
}
...
@@ -283,6 +286,7 @@ export default {
...
@@ -283,6 +286,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
btnLoading
:
false
,
showBtn
:
false
,
showBtn
:
false
,
progress
:
false
,
progress
:
false
,
isExport
:
false
,
isExport
:
false
,
...
...
attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
View file @
a09bf408
...
@@ -70,7 +70,7 @@
...
@@ -70,7 +70,7 @@
@
click=
"lookexportHis"
@
click=
"lookexportHis"
>
导出记录
</el-button
>
导出记录
</el-button
>
>
<el-button
<
!--
<
el-button
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
icon=
"el-icon-tickets"
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
size=
"mini"
size=
"mini"
@
click=
"setdialog(1)"
@
click=
"setdialog(1)"
>
导出表格设置
</el-button
>
导出表格设置
</el-button
>
>
-->
</LayoutTable>
</LayoutTable>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
<!-- 导出记录查看 -->
<!-- 导出记录查看 -->
...
@@ -573,12 +573,12 @@ export default {
...
@@ -573,12 +573,12 @@ export default {
fuzzy
:
true
,
fuzzy
:
true
,
},
},
{
//
{
name
:
"
workNum
"
,
//
name: "workNum",
type
:
"
text
"
,
//
type: "text",
label
:
"
员工工号
"
,
//
label: "员工工号",
fuzzy
:
true
,
//
fuzzy: true,
},
//
},
{
{
name
:
"
phone
"
,
name
:
"
phone
"
,
type
:
"
text
"
,
type
:
"
text
"
,
...
...
attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
View file @
a09bf408
...
@@ -206,6 +206,7 @@ export default {
...
@@ -206,6 +206,7 @@ export default {
show
:
true
,
show
:
true
,
label
:
item
+
"
(
"
+
getMyDay
(
new
Date
(
item
))
+
"
)
"
,
label
:
item
+
"
(
"
+
getMyDay
(
new
Date
(
item
))
+
"
)
"
,
prop
:
"
attendanceStaffStatEntities
"
,
prop
:
"
attendanceStaffStatEntities
"
,
width
:
100
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
if
(
if
(
row
.
attendanceStaffStatEntities
&&
row
.
attendanceStaffStatEntities
&&
...
@@ -396,12 +397,6 @@ export default {
...
@@ -396,12 +397,6 @@ export default {
label
:
"
员工姓名
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
,
fuzzy
:
true
,
},
},
{
name
:
"
phoneNumber
"
,
type
:
"
text
"
,
label
:
"
手机号
"
,
fuzzy
:
true
,
},
],
],
columns
:
[
columns
:
[
{
type
:
"
selection
"
,
width
:
60
,
fixed
:
"
left
"
,
show
:
true
},
{
type
:
"
selection
"
,
width
:
60
,
fixed
:
"
left
"
,
show
:
true
},
...
@@ -484,6 +479,7 @@ export default {
...
@@ -484,6 +479,7 @@ export default {
label
:
"
因公外出(与窗口工作无关/天)
"
,
label
:
"
因公外出(与窗口工作无关/天)
"
,
prop
:
"
businessTrip
"
,
prop
:
"
businessTrip
"
,
show
:
true
,
show
:
true
,
width
:
140
,
},
},
{
label
:
"
公休(天)
"
,
prop
:
"
publicHoliday
"
,
show
:
true
},
{
label
:
"
公休(天)
"
,
prop
:
"
publicHoliday
"
,
show
:
true
},
...
@@ -496,9 +492,19 @@ export default {
...
@@ -496,9 +492,19 @@ export default {
{
label
:
"
育儿假(天)
"
,
prop
:
"
childRearingLeave
"
,
show
:
true
},
{
label
:
"
育儿假(天)
"
,
prop
:
"
childRearingLeave
"
,
show
:
true
},
{
label
:
"
产假(陪护假/天)
"
,
prop
:
"
maternityLeave
"
,
show
:
true
},
{
label
:
"
产假(陪护假/天)
"
,
prop
:
"
maternityLeave
"
,
show
:
true
,
width
:
140
,
},
{
label
:
"
调回单位(或离职/天)
"
,
prop
:
"
transferBack
"
,
show
:
true
},
{
label
:
"
调回单位(或离职/天)
"
,
prop
:
"
transferBack
"
,
show
:
true
,
width
:
140
,
},
{
label
:
"
探亲假(天)
"
,
prop
:
"
homeLeave
"
,
show
:
true
},
{
label
:
"
探亲假(天)
"
,
prop
:
"
homeLeave
"
,
show
:
true
},
...
@@ -512,6 +518,7 @@ export default {
...
@@ -512,6 +518,7 @@ export default {
label
:
"
未按规定打卡(含忘记打卡)
"
,
label
:
"
未按规定打卡(含忘记打卡)
"
,
prop
:
"
nonCompliancePunch
"
,
prop
:
"
nonCompliancePunch
"
,
show
:
true
,
show
:
true
,
width
:
140
,
},
},
{
label
:
"
迟到(次)
"
,
prop
:
"
lateTimes
"
,
show
:
true
},
{
label
:
"
迟到(次)
"
,
prop
:
"
lateTimes
"
,
show
:
true
},
...
@@ -532,6 +539,7 @@ export default {
...
@@ -532,6 +539,7 @@ export default {
label
:
"
无故缺席会议(次)
"
,
label
:
"
无故缺席会议(次)
"
,
prop
:
"
unexcusedMeetingAbsence
"
,
prop
:
"
unexcusedMeetingAbsence
"
,
show
:
true
,
show
:
true
,
width
:
140
,
},
},
{
label
:
"
会议早退
"
,
prop
:
"
earlyLeaveMeeting
"
,
show
:
true
},
{
label
:
"
会议早退
"
,
prop
:
"
earlyLeaveMeeting
"
,
show
:
true
},
...
...
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/list.vue
View file @
a09bf408
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
:disabled=
"isExport"
:disabled=
"isExport"
size=
"mini"
size=
"mini"
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px;"
>
导出
</el-button
>
导出
</el-button
>
>
</LayoutTable>
</LayoutTable>
...
...
attendance-performance-manager-ui/admin/src/views/check/attend/record/list.vue
View file @
a09bf408
...
@@ -213,7 +213,7 @@ export default {
...
@@ -213,7 +213,7 @@ export default {
{
{
label
:
"
异常时间
"
,
label
:
"
异常时间
"
,
prop
:
"
errorTime
"
,
prop
:
"
errorTime
"
,
width
:
15
0
,
width
:
24
0
,
formatter
:
this
.
formatterDate
,
formatter
:
this
.
formatterDate
,
},
},
...
@@ -226,7 +226,7 @@ export default {
...
@@ -226,7 +226,7 @@ export default {
{
{
label
:
"
实际打卡时间
"
,
label
:
"
实际打卡时间
"
,
prop
:
"
actualAttendTime
"
,
prop
:
"
actualAttendTime
"
,
width
:
15
0
,
width
:
24
0
,
formatter
:
this
.
formatterDate
,
formatter
:
this
.
formatterDate
,
},
},
...
...
attendance-performance-manager-ui/admin/src/views/errors/403.vue
View file @
a09bf408
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<h1>
没有访问权限,或是账号过期。
</h1>
<h1>
没有访问权限,或是账号过期。
</h1>
<div>
<div>
<el-button>
重新登录
</el-button>
<el-button>
重新登录
</el-button>
<el-button
@
click=
'goHome'
>
回首页
</el-button>
<el-button
@
click=
'goHome'
>
回
系统
首页
</el-button>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
...
attendance-performance-manager-ui/admin/src/views/login/login.vue
View file @
a09bf408
...
@@ -33,6 +33,7 @@
...
@@ -33,6 +33,7 @@
native-type=
"submit"
native-type=
"submit"
:loading=
"loading"
:loading=
"loading"
@
click=
"onSubmit"
@
click=
"onSubmit"
style=
"font-size: 20px;"
>
登录
</el-button
>
登录
</el-button
>
>
</el-form-item>
</el-form-item>
...
@@ -139,7 +140,7 @@ export default {
...
@@ -139,7 +140,7 @@ export default {
text-align: center;
text-align: center;
.des,
.des,
.tips {
.tips {
font-size: 1
4
px;
font-size: 1
8
px;
white-space: nowrap;
white-space: nowrap;
margin-bottom: 20px;
margin-bottom: 20px;
margin-top: 10px;
margin-top: 10px;
...
@@ -153,8 +154,8 @@ export default {
...
@@ -153,8 +154,8 @@ export default {
border-radius: 15px;
border-radius: 15px;
h1 {
h1 {
text-align: center;
text-align: center;
font-size:
3
0px;
font-size:
4
0px;
font-weight:
5
00;
font-weight:
6
00;
}
}
button {
button {
margin-top: 10px;
margin-top: 10px;
...
@@ -172,7 +173,7 @@ export default {
...
@@ -172,7 +173,7 @@ export default {
}
}
.el-input__inner {
.el-input__inner {
border-color: #409eff;
border-color: #409eff;
border-radius:
20
px;
border-radius:
8
px;
}
}
.el-input--small .el-input__inner {
.el-input--small .el-input__inner {
height: 52px;
height: 52px;
...
@@ -184,10 +185,10 @@ export default {
...
@@ -184,10 +185,10 @@ export default {
}
}
button {
button {
width: 80%;
width: 80%;
border-radius:
20
px;
border-radius:
8
px;
height: 52px;
height: 52px;
background: linear-gradient(
background: linear-gradient(
9
0deg,
18
0deg,
rgba(24, 69, 198, 1) 0%,
rgba(24, 69, 198, 1) 0%,
rgba(41, 153, 255, 1) 100%
rgba(41, 153, 255, 1) 100%
);
);
...
...
attendance-performance-manager-ui/admin/src/views/staff/drawershow.vue
View file @
a09bf408
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
:title=
"title"
:title=
"title"
:visible.sync=
"open"
:visible.sync=
"open"
:direction=
"direction"
:direction=
"direction"
size=
"
50
%"
size=
"
35
%"
>
>
<el-form
<el-form
ref=
"form"
ref=
"form"
...
@@ -111,7 +111,11 @@
...
@@ -111,7 +111,11 @@
</div>
</div>
</div>
</div>
<form-buttons
@
submit=
"submitForm"
noCancelBtn
/>
<form-buttons
@
submit=
"submitForm"
noCancelBtn
style=
"position: absolute; left: -100px;"
/>
</el-form>
</el-form>
</el-drawer>
</el-drawer>
</div>
</div>
...
...
attendance-performance-manager-ui/admin/src/views/staff/list.vue
View file @
a09bf408
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
</div>
</div>
</div>
</div>
</div>
-->
</div>
-->
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
style=
"padding-top: 10px;"
>
<el-col
:span=
"6"
:xs=
"12"
class=
"mytree"
>
<el-col
:span=
"6"
:xs=
"12"
class=
"mytree"
>
<div
class=
"titles"
>
选择部门
</div>
<div
class=
"titles"
>
选择部门
</div>
<!-- default-expand-all -->
<!-- default-expand-all -->
...
...
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