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
01e90fb6
Commit
01e90fb6
authored
2 years ago
by
dll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交
parent
991a067c
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
288 additions
and
90 deletions
+288
-90
attendance-performance-manager-ui/admin/src/assets/mixins/table.js
...e-performance-manager-ui/admin/src/assets/mixins/table.js
+6
-0
attendance-performance-manager-ui/admin/src/components/FileUpload.vue
...erformance-manager-ui/admin/src/components/FileUpload.vue
+1
-1
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
-0
attendance-performance-manager-ui/admin/src/router.js
attendance-performance-manager-ui/admin/src/router.js
+1
-1
attendance-performance-manager-ui/admin/src/views/attendance/class/dialogshow.vue
...anager-ui/admin/src/views/attendance/class/dialogshow.vue
+124
-35
attendance-performance-manager-ui/admin/src/views/attendance/group/responsible/dialogshow.vue
...min/src/views/attendance/group/responsible/dialogshow.vue
+9
-8
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
...ui/admin/src/views/attendance/leave/record/drawershow.vue
+14
-10
attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue
...nager-ui/admin/src/views/attendance/record/error/list.vue
+21
-2
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/list.vue
...r-ui/admin/src/views/attendance/vacation/balance/list.vue
+33
-8
attendance-performance-manager-ui/admin/src/views/dept/list.vue
...ance-performance-manager-ui/admin/src/views/dept/list.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/job/drawershow.vue
...performance-manager-ui/admin/src/views/job/drawershow.vue
+13
-10
attendance-performance-manager-ui/admin/src/views/job/list.vue
...dance-performance-manager-ui/admin/src/views/job/list.vue
+12
-6
attendance-performance-manager-ui/admin/src/views/staff/list.vue
...nce-performance-manager-ui/admin/src/views/staff/list.vue
+51
-7
No files found.
attendance-performance-manager-ui/admin/src/assets/mixins/table.js
View file @
01e90fb6
...
...
@@ -217,6 +217,12 @@ export default {
formatterMoney
(
row
,
column
,
val
)
{
return
((
val
||
0
)
/
1000
).
toFixed
(
2
)
},
// 查看天数
formatterDay
(
row
,
column
,
val
)
{
return
<
el
-
tag
onClick
=
{()
=>
{
this
.
handleCountDays
(
row
,
column
)
}}
>
{((
val
||
0
)
/
1000
).
toFixed
(
2
)}
<
/el-tag
>
},
// 格式化单元格数据
formatterDate
(
row
,
column
)
{
//console.log("date:",row,column)
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/components/FileUpload.vue
View file @
01e90fb6
...
...
@@ -100,7 +100,7 @@ export default {
data
()
{
return
{
number
:
0
,
uploadFileUrl
:
"
/
study/
file/commonupload
"
,
// 上传的地址
uploadFileUrl
:
"
/file/commonupload
"
,
// 上传的地址
uploadList
:
[],
headers
:{},
fileList
:
[],
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/components/tabPane.vue
View file @
01e90fb6
<
template
>
<div>
<div
style=
"margin-bottom:20px"
>
<el-menu
:default-active=
"activeName"
class=
"el-menu-demo"
mode=
"horizontal"
@
select=
"handleClick"
v-if=
"thirdList.length>0"
>
<el-menu-item
:index=
"item.path"
v-for=
"(item,index) in thirdList"
:key=
"index"
>
{{
item
.
name
}}
</el-menu-item>
</el-menu>
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/components/tools/TableButtons.vue
View file @
01e90fb6
...
...
@@ -7,6 +7,7 @@
<Confirm
@
confirm=
'$emit("del", row.id)'
message=
'确定要删除该条记录吗?'
>
<el-button
v-if=
'!noDel'
type=
"text"
icon=
"el-icon-delete"
size=
'mini'
title=
"删除"
>
删除
</el-button>
</Confirm>
</span>
</
template
>
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/router.js
View file @
01e90fb6
...
...
@@ -36,7 +36,7 @@ const router = new Router({
...
restBuilder
(
'
role
'
,
'
system/role
'
),
// 系统管理--角色管理
...
restBuilder
(
'
user
'
,
'
system/user
'
),
// 用户管理 -- 管理用户
...
restBuilder
(
'
param
'
,
'
system/param
'
),
// 系统管理--参数管理
...
restBuilder
(
'
task
'
,
'
system/task
'
),
// 系统管理--任务管理
//
...restBuilder('task', 'system/task'), // 系统管理--任务管理
//部门
...
restBuilder
(
'
dept
'
,
'
dept
'
),
//部门
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/attendance/class/dialogshow.vue
View file @
01e90fb6
<
template
>
<!-- 班次表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
size=
"
60
%"
>
<el-drawer
:title=
"title"
:visible.sync=
"open"
size=
"
55
%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"班次名称"
prop=
"className"
v-model=
"form.className"
placeholder=
"请输入班次名称"
/>
...
...
@@ -12,7 +12,7 @@
<div
class=
"bancifor"
v-for=
"(item,index) in attendanceClassDetailList"
:key=
"index"
>
<div
class=
"title flex flex-align-center flex-pack-justify"
>
<span>
第
{{
index
+
1
}}
次上班
时间
第
{{
index
+
1
}}
次上班
</span>
<el-button
type=
"danger"
size=
"mini"
@
click=
"handleDeleteAttendanceClassDetail(index)"
>
删除
</el-button>
</div>
...
...
@@ -23,31 +23,32 @@
style=
"width:150px"
class=
"ml20"
value-format=
"HH:mm"
v-model=
"goWorkDate"
format=
"HH:mm"
v-model=
"item.goWorkDate"
placeholder=
"上班时间"
>
</el-time-picker>
</div>
<div>
<span>
打开时段
</span>
<span>
打开时段
:
</span>
<span>
上班前
</span>
<el-time-picker
size=
"mini"
style=
"width:150px"
class=
"ml20"
v-model=
"goWorkDateBefore"
value-format=
"H
H
:mm"
format=
"H
H
小时mm分钟"
v-model=
"
item.
goWorkDateBefore"
value-format=
"H:mm"
format=
"H小时mm分钟"
placeholder=
"未设置"
>
</el-time-picker>
<span
class=
"ml20"
>
——
</span>
<span
class=
"ml20"
>
下
班后
</span>
<span
class=
"ml20"
>
上
班后
</span>
<el-time-picker
size=
"mini"
style=
"width:150px"
class=
"ml20"
v-model=
"goWorkDateAfter"
v-model=
"
item.
goWorkDateAfter"
value-format=
"HH:mm"
format=
"H
H
小时mm分钟"
format=
"H小时mm分钟"
placeholder=
"未设置"
>
</el-time-picker>
</div>
...
...
@@ -57,21 +58,22 @@
size=
"mini"
style=
"width:150px"
class=
"ml20"
format=
"HH:mm"
value-format=
"HH:mm"
v-model=
"offWorkDate"
v-model=
"
item.
offWorkDate"
placeholder=
"下班时间"
>
</el-time-picker>
</div>
<div>
<span>
打开时段
</span>
<span>
上
班前
</span>
<span>
打开时段
:
</span>
<span>
下
班前
</span>
<el-time-picker
size=
"mini"
style=
"width:150px"
class=
"ml20"
v-model=
"offWorkDateBefore"
v-model=
"
item.
offWorkDateBefore"
value-format=
"HH:mm"
format=
"H
H
小时mm分钟"
format=
"H小时mm分钟"
placeholder=
"未设置"
>
</el-time-picker>
<span
class=
"ml20"
>
——
</span>
...
...
@@ -80,9 +82,9 @@
size=
"mini"
style=
"width:150px"
class=
"ml20"
v-model=
"offWorkDateAfter"
v-model=
"
item.
offWorkDateAfter"
value-format=
"HH:mm"
format=
"H
H
小时mm分钟"
format=
"H小时mm分钟"
placeholder=
"未设置"
>
</el-time-picker>
</div>
...
...
@@ -104,6 +106,15 @@
dialogShow
,
},
data
()
{
var
validteList
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
{
return
callback
(
new
Error
(
'
请添加上班时间
'
))
}
else
if
(
!
this
.
judgeStatus
(
value
)
){
callback
(
new
Error
(
'
请完成输入
'
))
}
else
{
callback
()
}
}
return
{
// 子表选中数据
checkedAttendanceClassDetail
:
[],
...
...
@@ -126,33 +137,110 @@
{
required
:
true
,
message
:
"
请选择班次负责人
"
},
],
attendanceClassDetailList
:[
{
required
:
true
,
message
:
"
请添加
"
}
{
required
:
true
,
message
:
"
请添加
"
},
{
validator
:
validteList
,
trigger
:
'
change
'
}
]
}
},
currentIndex
:
0
//当前索引值
};
},
created
(){
// this.transFormMinut('09:03')
},
methods
:
{
// 时间转分钟
transFormMinut
(
String
){
if
(
!
String
){
return
0
}
let
arr
=
String
.
split
(
'
:
'
)
let
hour
=
arr
[
0
].
indexOf
(
'
0
'
)
===
0
?
arr
[
0
].
substring
(
1
,
arr
[
0
].
length
):
arr
[
0
]
let
minu
=
arr
[
1
].
indexOf
(
'
0
'
)
===
0
?
arr
[
1
].
substring
(
1
,
arr
[
1
].
length
):
arr
[
1
]
return
hour
*
60
+
minu
*
1
},
/** 考勤班次详细信息序号 */
rowAttendanceClassDetailIndex
({
row
,
rowIndex
})
{
row
.
index
=
rowIndex
+
1
;
},
/** 考勤班次详细信息添加按钮操作 */
handleAddAttendanceClassDetail
()
{
let
obj
=
{};
obj
.
goWorkDate
=
""
;
obj
.
goWorkDateBefore
=
""
;
obj
.
goWorkDateAfter
=
""
;
obj
.
offWorkDate
=
""
;
obj
.
offWorkDateBefore
=
""
;
obj
.
offWorkDateAfter
=
""
;
obj
.
remark
=
""
;
obj
.
createUserId
=
""
;
obj
.
createTime
=
""
;
obj
.
updateUserId
=
""
;
obj
.
updateTime
=
""
;
obj
.
className
=
""
;
this
.
attendanceClassDetailList
.
push
(
obj
);
let
value
=
this
.
judgeStatus
(
this
.
attendanceClassDetailList
)
if
(
value
){
if
(
this
.
attendanceClassDetailList
.
length
==
0
){
this
.
currentIndex
=
0
}
else
{
this
.
currentIndex
++
}
let
obj
=
{};
obj
.
goWorkDate
=
""
;
obj
.
goWorkDateBefore
=
""
;
obj
.
goWorkDateAfter
=
""
;
obj
.
offWorkDate
=
""
;
obj
.
offWorkDateBefore
=
""
;
obj
.
offWorkDateAfter
=
""
;
this
.
attendanceClassDetailList
.
push
(
obj
);
}
else
{
this
.
$message
.
error
(
"
请完成当前设置再添加
"
)
}
},
// 判断添加上下班时间
judgeStatus
(
arr
){
let
status
=
true
if
(
arr
.
length
==
0
){
}
else
if
(
arr
.
length
==
1
){
console
.
log
(
arr
[
this
.
currentIndex
])
for
(
let
key
in
arr
[
this
.
currentIndex
]){
if
(
!
arr
[
this
.
currentIndex
][
key
]){
status
=
false
return
}
}
//比较下班和上班
let
workTime
=
this
.
transFormMinut
(
arr
[
this
.
currentIndex
].
goWorkDate
)
+
this
.
transFormMinut
(
arr
[
this
.
currentIndex
].
goWorkDateAfter
)
let
offworkTime
=
this
.
transFormMinut
(
arr
[
this
.
currentIndex
].
offWorkDate
)
-
this
.
transFormMinut
(
arr
[
this
.
currentIndex
].
offWorkDateBefore
)
if
(
offworkTime
<=
workTime
){
this
.
$message
.
error
(
'
下班打卡时间不能小于上班打卡时间
'
)
status
=
false
return
}
}
else
{
for
(
let
key
in
arr
[
this
.
currentIndex
]){
if
(
!
this
.
arr
[
this
.
currentIndex
][
key
]){
status
=
false
return
}
}
// 上一次比较
let
lastworkTime
=
this
.
transFormMinut
(
arr
[
this
.
currentIndex
-
1
].
goWorkDate
)
+
this
.
transFormMinut
(
arr
[
this
.
currentIndex
-
1
].
goWorkDateAfter
)
let
currentwokeTime
=
this
.
transFormMinut
(
arr
[
this
.
currentIndex
].
goWorkDate
)
-
this
.
transFormMinut
(
arr
[
this
.
currentIndex
].
goWorkDateBefore
)
//当前
let
workTime
=
this
.
transFormMinut
(
arr
[
this
.
currentIndex
].
goWorkDate
)
+
this
.
transFormMinut
(
arr
[
this
.
currentIndex
].
goWorkDateAfter
)
let
offworkTime
=
this
.
transFormMinut
(
arr
[
this
.
currentIndex
].
offWorkDate
)
-
this
.
transFormMinut
(
arr
[
this
.
currentIndex
].
offWorkDateBefore
)
if
(
currentwokeTime
<=
lastworkTime
){
this
.
$message
.
error
(
`第
${
this
.
currentIndex
}
上班时间需大于第
${
this
.
currentIndex
-
1
}
上班时间`
)
status
=
false
return
}
if
(
offworkTime
<=
workTime
){
this
.
$message
.
error
(
'
下班打卡时间不能小于上班打卡时间
'
)
status
=
false
return
}
}
return
status
},
/** 考勤班次详细信息删除按钮操作 */
handleDeleteAttendanceClassDetail
(
index
)
{
...
...
@@ -160,6 +248,7 @@
confirmButtonText
:
'
确定
'
,
callback
:
action
=>
{
this
.
attendanceClassDetailList
.
splice
(
index
,
1
)
this
.
currentIndex
--
}
})
},
...
...
@@ -246,4 +335,4 @@
border-bottom: 1px solid rgb(206, 206, 206);
}
}
</
style
>
</
style
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/attendance/group/responsible/dialogshow.vue
View file @
01e90fb6
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"
9
0%"
append-to-body
>
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"
6
0%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"考勤组"
prop=
"groupId"
v-model=
"form.groupId"
placeholder=
"请输入考勤组"
/>
<Field
label=
"考勤组名称"
prop=
"groupName"
v-model=
"form.groupName"
placeholder=
"请输入考勤组名称"
/>
<Field
label=
"负责人ID"
prop=
"responsibleId"
v-model=
"form.responsibleId"
placeholder=
"请输入负责人ID"
/>
<Field
label=
"负责人名称"
prop=
"responsibleName"
v-model=
"form.responsibleName"
placeholder=
"请输入负责人名称"
/>
<Field
label=
"负责人类型"
prop=
"responsibleType"
v-model=
"form.responsibleType"
type=
"select"
:enumData=
"dict.responsibleType"
placeholder=
"请选择负责人类型"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
<Field
label=
"姓名"
prop=
"responsibleName"
v-model=
"form.responsibleName"
placeholder=
"请输入负责人名称"
/>
<Field
label=
"电话号码"
prop=
"responsibleName"
v-model=
"form.responsibleName"
placeholder=
"请输入电话号码"
/>
<Field
label=
"考勤组"
prop=
"groupId"
v-model=
"form.groupId"
placeholder=
"请输入考勤组"
/>
<Field
label=
"考勤组名称"
prop=
"groupName"
v-model=
"form.groupName"
placeholder=
"请输入考勤组名称"
/>
<Field
label=
"负责人ID"
prop=
"responsibleId"
v-model=
"form.responsibleId"
placeholder=
"请输入负责人ID"
/>
<Field
label=
"负责人类型"
prop=
"responsibleType"
v-model=
"form.responsibleType"
type=
"select"
:enumData=
"dict.responsibleType"
placeholder=
"请选择负责人类型"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
...
...
@@ -68,7 +69,7 @@
this
.
urls
.
currUrl
=
"
attendance/group/responsible/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增考勤组负责人
员信息
"
;
this
.
title
=
"
新增考勤组负责人
"
;
},
/** 查看*/
view
(
row
)
{
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
View file @
01e90fb6
...
...
@@ -7,24 +7,25 @@
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"请假人
id
"
prop=
"leavePersonId"
v-model=
"form.leavePersonId"
placeholder=
"请输入请假人id"
/>
<
Field
label=
"请假人"
prop=
"leavePerson"
v-model=
"form.leavePerson"
placeholder=
"请输入请假人"
/
>
<Field
label=
"所属部门
id
"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门id"
/>
<
Field
label=
"所属部门"
prop=
"deptName"
v-model=
"form.deptName"
type=
"textarea"
placeholder=
"请输入所属部门"
/
>
<Field
label=
"请假人"
prop=
"leavePersonId"
v-model=
"form.leavePersonId"
placeholder=
"请输入请假人id"
/>
<
!--
<Field
label=
"请假人"
prop=
"leavePerson"
v-model=
"form.leavePerson"
placeholder=
"请输入请假人"
/>
--
>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门id"
/>
<
!--
<Field
label=
"所属部门"
prop=
"deptName"
v-model=
"form.deptName"
type=
"textarea"
placeholder=
"请输入所属部门"
/>
--
>
<Field
label=
"电话号码"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入电话号码"
/>
<Field
label=
"请假类型"
prop=
"leaveType"
v-model=
"form.leaveType"
type=
"select"
:enumData=
"dict.leaveType"
placeholder=
"请选择请假类型"
/>
<Field
label=
"开始时间"
prop=
"startTime"
v-model=
"form.startTime"
type=
"date"
/>
<Field
label=
"结束时间"
prop=
"endTime"
v-model=
"form.endTime"
type=
"date"
/>
<Field
label=
"时长
,单位秒
"
prop=
"duration"
v-model=
"form.duration"
placeholder=
"请输入时长,单位秒"
/>
<Field
label=
"时长"
prop=
"duration"
v-model=
"form.duration"
placeholder=
"请输入时长,单位秒"
/>
<Field
label=
"请假事由"
prop=
"reason"
v-model=
"form.reason"
type=
"textarea"
placeholder=
"请输入请假事由"
/>
<Field
label=
"审批负责人Id"
prop=
"approverId"
v-model=
"form.approverId"
placeholder=
"请输入审批负责人Id"
/>
<Field
label=
"审批负责人"
prop=
"approver"
v-model=
"form.approver"
placeholder=
"请输入审批负责人"
/>
<Field
label=
"附件"
prop=
"attachment"
v-model=
"form.attachment"
type=
"textarea"
placeholder=
"请输入附件"
/>
<Field
label=
"附件路径"
prop=
"attachmentPath"
v-model=
"form.attachmentPath"
type=
"textarea"
placeholder=
"请输入附件路径"
/>
<Field
label=
"审批负责人"
prop=
"approverId"
v-model=
"form.approverId"
placeholder=
"请输入审批负责人Id"
/>
<!--
<Field
label=
"审批负责人"
prop=
"approver"
v-model=
"form.approver"
placeholder=
"请输入审批负责人"
/>
-->
<!--
<Field
label=
"附件"
prop=
"attachment"
v-model=
"form.attachment"
type=
"textarea"
placeholder=
"请输入附件"
/>
-->
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<el-form-item
label=
"附件路径"
prop=
"attachmentPath"
>
<FileUpload
@
input=
"uploadFn"
/>
</el-form-item>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
...
...
@@ -65,6 +66,9 @@
},
methods
:
{
uploadFn
(
e
){
this
.
form
.
attachmentPath
=
e
},
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/attendance/record/error/list.vue
View file @
01e90fb6
...
...
@@ -40,6 +40,14 @@
},
morehandle
(){
console
.
log
(
this
.
selection
)
},
// 处理
handle
(
err
){
console
.
log
(
err
)
},
// 撤销
reCancle
(
err
){
console
.
log
(
err
)
}
},
data
()
{
...
...
@@ -109,6 +117,10 @@
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
staffName
"
},
{
label
:
"
部门
"
,
prop
:
"
staffName
"
},
{
label
:
"
考勤组
"
,
prop
:
"
staffName
"
},
{
label
:
"
班次
"
,
prop
:
"
staffName
"
},
{
label
:
"
异常状态
"
,
prop
:
"
errorStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
异常时间
"
,
prop
:
"
errorDateTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
处理结果
"
,
prop
:
"
errorDateTime
"
,
formatter
:
this
.
formatterDate
},
...
...
@@ -123,8 +135,15 @@
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
noEdit
noView
noDel
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
<
span
>
<
el
-
button
type
=
"
text
"
size
=
'
mini
'
onClick
=
{(
row
)
=>
{
this
.
handle
(
row
)
}}
>
处理
<
/el-button
>
<
el
-
button
type
=
"
text
"
size
=
'
mini
'
onClick
=
{(
row
)
=>
{
this
.
reCancle
(
row
)
}}
>
撤销
<
/el-button
>
<
/span
>
)
}
}
]
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/list.vue
View file @
01e90fb6
...
...
@@ -21,6 +21,17 @@ export default {
created
()
{
},
methods
:
{
// 导出
doExport
(){
this
.
isExport
=
true
;
this
.
$download
(
"
/attendance/vacation/balance/exportExcel
"
,
{
"
idList
"
:
this
.
selection
,
'
name
'
:
this
.
$route
.
query
[
'
name
'
],
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
})
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
...
...
@@ -49,14 +60,27 @@ export default {
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
error
.
message
);
})
;
})
}
},
data
()
{
return
{
config
:
{
isshowTabPane
:
true
,
search
:
[
{
name
:
"
deptId
"
,
type
:
"
select
"
,
label
:
"
全部部门
"
,
fuzzy
:
true
},
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
...
...
@@ -64,11 +88,11 @@ export default {
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
入职时间
"
,
prop
:
"
entryTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
事假(天)
"
,
prop
:
"
personalLeaveDays
"
,
formatter
:
this
.
formatter
Mone
y
},
{
label
:
"
调休(天)
"
,
prop
:
"
compensatedLeaveDays
"
,
formatter
:
this
.
formatter
Mone
y
},
{
label
:
"
病假(天)
"
,
prop
:
"
sickLeaveDays
"
,
formatter
:
this
.
formatter
Mone
y
},
{
label
:
"
年假(天)
"
,
prop
:
"
annualLeaveDays
"
,
formatter
:
this
.
formatter
Mone
y
},
{
label
:
"
婚假(
tian)
"
,
prop
:
"
marriageLeaveDays
"
,
formatter
:
this
.
formatterMone
y
},
{
label
:
"
事假(天)
"
,
prop
:
"
personalLeaveDays
"
,
formatter
:
this
.
formatter
Da
y
},
{
label
:
"
调休(天)
"
,
prop
:
"
compensatedLeaveDays
"
,
formatter
:
this
.
formatter
Da
y
},
{
label
:
"
病假(天)
"
,
prop
:
"
sickLeaveDays
"
,
formatter
:
this
.
formatter
Da
y
},
{
label
:
"
年假(天)
"
,
prop
:
"
annualLeaveDays
"
,
formatter
:
this
.
formatter
Da
y
},
{
label
:
"
婚假(
天)
"
,
prop
:
"
marriageLeaveDays
"
,
formatter
:
this
.
formatterDa
y
},
// {label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label
:
"
操作
"
,
...
...
@@ -80,9 +104,10 @@ export default {
)
}
}
]
],
isExport
:
false
}
}
}
}
</
script
>
</
script
>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/dept/list.vue
View file @
01e90fb6
...
...
@@ -56,7 +56,7 @@
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
// {label: "祖级列表", prop: "ancestors"},
{
label
:
"
部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
成员数量
"
,
prop
:
"
deptName
"
},
{
label
:
"
成员数量
"
,
prop
:
"
personNum
"
},
{
label
:
"
负责人
"
,
prop
:
"
workName
"
},
// {label: "部门状态", prop: "deptStatus",formatter: this.formatter},
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/job/drawershow.vue
View file @
01e90fb6
...
...
@@ -5,16 +5,15 @@
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
style=
"padding:20px"
>
<el-row>
<Field
label=
"分组id"
prop=
"groupId"
v-model=
"form.groupId"
placeholder=
"请输入分组id
"
/>
<Field
label=
"分组名称"
prop=
"groupName"
v-model=
"form.groupName"
placeholder=
"请输入分组名称"
/>
<Field
label=
"职位编码"
prop=
"jobCode"
v-model=
"form.jobCode"
placeholder=
"请输入职位编码"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注
"
/>
<Field
label=
"分组"
prop=
"groupId"
v-model=
"form.groupId"
type=
"select"
placeholder=
"请选择分组
"
/>
<Field
label=
"分组名称"
prop=
"groupName"
v-model=
"form.groupName"
placeholder=
"请输入分组名称"
/>
<Field
label=
"职位编码"
prop=
"jobCode"
v-model=
"form.jobCode"
placeholder=
"请输入职位编码"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"类型"
prop=
"type"
v-model=
"form.type"
type=
"select"
:enumData=
"dict.type"
placeholder=
"请选择类型
"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
...
...
@@ -47,7 +46,8 @@
],
// 表单校验
rules
:
{
}
},
from
:
''
};
},
...
...
@@ -63,11 +63,14 @@
},
/** 新增 */
add
(
row
)
{
// console.log(row,'添加')
this
.
from
=
row
this
.
title
=
row
===
'
group
'
?
"
新增分组信息
"
:
'
新增职位信息
'
;
this
.
reset
()
this
.
urls
.
currUrl
=
"
job/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工信息
"
;
},
/** 查看*/
view
(
row
)
{
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/job/list.vue
View file @
01e90fb6
...
...
@@ -5,9 +5,9 @@
</div>
<el-row
:gutter=
"20"
>
<el-col
:span=
"6"
:xs=
"12"
class=
"mytree"
>
<div
class=
"title
s
"
>
<el-button
type=
"primary"
>
新增分组
</el-button>
<el-button
type=
"success"
>
新增职位
</el-button>
<div
class=
"title"
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"saveFn('group')"
>
新增分组
</el-button>
<el-button
type=
"success"
size=
"mini"
@
click=
"saveFn('position')"
>
新增职位
</el-button>
</div>
<el-scrollbar
style=
"height: 100%"
>
<el-tree
...
...
@@ -65,6 +65,9 @@
}
},
methods
:
{
saveFn
(
from
){
this
.
$refs
.
drawerform
.
add
(
from
)
},
renderContent
:
function
(
h
,
{
node
,
data
,
store
})
{
return
(
<
span
>
...
...
@@ -95,7 +98,8 @@
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
// console.log(row,'ssss')
// this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
...
...
@@ -164,9 +168,11 @@
)
}
}
]
]
,
},
isExport
:
false
isExport
:
false
,
saveFrom
:
''
,
addShow
:
false
,
}
}
};
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/staff/list.vue
View file @
01e90fb6
...
...
@@ -8,8 +8,6 @@
<div
class=
"item flex"
>
<div>
全职
<span
class=
"num"
>
{{
tableData
.
staff
.
fullStaff
}}
</span></div>
<div>
实习
<span
class=
"num"
>
{{
tableData
.
staff
.
pricateStaff
}}
</span></div>
<!-- 兼职未对 -->
<div>
兼职
<span
class=
"num"
>
{{
tableData
.
staff
.
concurrentlyStaff
}}
</span></div>
</div>
...
...
@@ -51,10 +49,18 @@
更多操作
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item>
同步数据
</el-dropdown-item>
<el-dropdown-item
@
click=
"handleImport"
>
导入花名册
</el-dropdown-item>
<el-dropdown-item>
历史花名册
</el-dropdown-item>
<el-dropdown-item>
自定义列表字段
</el-dropdown-item>
<el-dropdown-item>
<el-button
type=
"text"
>
同步数据
</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button
type=
"text"
@
click=
"handleImport"
>
导入花名册
</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button
type=
"text"
@
click=
"lookDetailHis"
>
历史花名册
</el-button>
</el-dropdown-item>
<el-dropdown-item>
<el-button
type=
"text"
>
自定义列表字段
</el-button>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
...
...
@@ -107,6 +113,25 @@
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 花名册记录查看 -->
<el-drawer
title=
"花名册记录"
:visible.sync=
"drawerhistory"
direction=
"rtl"
>
<div
class=
"hisList"
>
<div
class=
"list mt10"
v-for=
"item in 10"
:key=
"item"
>
<div
class=
"flex flex-align-center flex-pack-justify"
>
<div>
花名册记录
</div>
<el-button
type=
"text"
>
查看
</el-button>
</div>
<div
class=
"times"
>
导出时间:2020-08-13
</div>
</div>
</div>
</el-drawer>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
:bumentree=
"areaData"
/>
</div>
</
template
>
...
...
@@ -178,6 +203,11 @@
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
})
},
// 导出花名册
lookDetailHis
(){
console
.
log
(
'
1111
'
)
this
.
drawerhistory
=
true
}
},
data
()
{
...
...
@@ -236,7 +266,8 @@
isshowHome
:
false
,
personData
:[],
isExport
:
false
,
staffInfo
:{}
staffInfo
:{},
drawerhistory
:
false
}
},
computed
:{
...
...
@@ -268,6 +299,19 @@
.page
{
min-width
:
1400px
;
}
.hisList
{
padding
:
15px
;
.list
{
background-color
:
rgba
(
64
,
158
,
255
,
0
.1
);
font-size
:
14px
;
border-radius
:
10px
;
padding
:
10px
;
.times
{
font-size
:
12px
;
color
:
#999
;
}
}
}
.totalNum
{
background
:
rgba
(
64
,
158
,
255
,
0
.2
);
padding
:
15px
;
...
...
This diff is collapsed.
Click to expand it.
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