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
03067487
Commit
03067487
authored
Apr 07, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加基础前端代码
parent
560ff115
Changes
69
Hide whitespace changes
Inline
Side-by-side
Showing
69 changed files
with
7833 additions
and
71 deletions
+7833
-71
attendance-performance-manager-ui/admin/src/router.js
attendance-performance-manager-ui/admin/src/router.js
+15
-0
attendance-performance-manager-ui/admin/src/views/attendance/class/detail/dialogshow.vue
...ui/admin/src/views/attendance/class/detail/dialogshow.vue
+116
-0
attendance-performance-manager-ui/admin/src/views/attendance/class/detail/drawershow.vue
...ui/admin/src/views/attendance/class/detail/drawershow.vue
+126
-0
attendance-performance-manager-ui/admin/src/views/attendance/class/detail/list.vue
...nager-ui/admin/src/views/attendance/class/detail/list.vue
+66
-0
attendance-performance-manager-ui/admin/src/views/attendance/class/detail/view.vue
...nager-ui/admin/src/views/attendance/class/detail/view.vue
+81
-0
attendance-performance-manager-ui/admin/src/views/attendance/class/dialogshow.vue
...anager-ui/admin/src/views/attendance/class/dialogshow.vue
+230
-0
attendance-performance-manager-ui/admin/src/views/attendance/class/drawershow.vue
...anager-ui/admin/src/views/attendance/class/drawershow.vue
+238
-0
attendance-performance-manager-ui/admin/src/views/attendance/class/list.vue
...ance-manager-ui/admin/src/views/attendance/class/list.vue
+106
-0
attendance-performance-manager-ui/admin/src/views/attendance/class/view.vue
...ance-manager-ui/admin/src/views/attendance/class/view.vue
+66
-0
attendance-performance-manager-ui/admin/src/views/attendance/group/dialogshow.vue
...anager-ui/admin/src/views/attendance/group/dialogshow.vue
+112
-0
attendance-performance-manager-ui/admin/src/views/attendance/group/drawershow.vue
...anager-ui/admin/src/views/attendance/group/drawershow.vue
+120
-0
attendance-performance-manager-ui/admin/src/views/attendance/group/list.vue
...ance-manager-ui/admin/src/views/attendance/group/list.vue
+66
-0
attendance-performance-manager-ui/admin/src/views/attendance/group/view.vue
...ance-manager-ui/admin/src/views/attendance/group/view.vue
+74
-0
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/dialogshow.vue
...ui/admin/src/views/attendance/leave/record/dialogshow.vue
+126
-0
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
...ui/admin/src/views/attendance/leave/record/drawershow.vue
+136
-0
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/list.vue
...nager-ui/admin/src/views/attendance/leave/record/list.vue
+114
-0
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/view.vue
...nager-ui/admin/src/views/attendance/leave/record/view.vue
+100
-0
attendance-performance-manager-ui/admin/src/views/attendance/record/detail/dialogshow.vue
...i/admin/src/views/attendance/record/detail/dialogshow.vue
+116
-0
attendance-performance-manager-ui/admin/src/views/attendance/record/detail/drawershow.vue
...i/admin/src/views/attendance/record/detail/drawershow.vue
+126
-0
attendance-performance-manager-ui/admin/src/views/attendance/record/detail/list.vue
...ager-ui/admin/src/views/attendance/record/detail/list.vue
+66
-0
attendance-performance-manager-ui/admin/src/views/attendance/record/detail/view.vue
...ager-ui/admin/src/views/attendance/record/detail/view.vue
+80
-0
attendance-performance-manager-ui/admin/src/views/attendance/record/dialogshow.vue
...nager-ui/admin/src/views/attendance/record/dialogshow.vue
+246
-0
attendance-performance-manager-ui/admin/src/views/attendance/record/drawershow.vue
...nager-ui/admin/src/views/attendance/record/drawershow.vue
+255
-0
attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
...nce-manager-ui/admin/src/views/attendance/record/list.vue
+115
-0
attendance-performance-manager-ui/admin/src/views/attendance/record/view.vue
...nce-manager-ui/admin/src/views/attendance/record/view.vue
+93
-0
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/dialogshow.vue
...dmin/src/views/attendance/vacation/balance/dialogshow.vue
+117
-0
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/drawershow.vue
...dmin/src/views/attendance/vacation/balance/drawershow.vue
+126
-0
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/list.vue
...r-ui/admin/src/views/attendance/vacation/balance/list.vue
+130
-0
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/view.vue
...r-ui/admin/src/views/attendance/vacation/balance/view.vue
+87
-0
attendance-performance-manager-ui/admin/src/views/care/template/dialogshow.vue
...e-manager-ui/admin/src/views/care/template/dialogshow.vue
+106
-0
attendance-performance-manager-ui/admin/src/views/care/template/drawershow.vue
...e-manager-ui/admin/src/views/care/template/drawershow.vue
+114
-0
attendance-performance-manager-ui/admin/src/views/care/template/list.vue
...ormance-manager-ui/admin/src/views/care/template/list.vue
+66
-0
attendance-performance-manager-ui/admin/src/views/care/template/view.vue
...ormance-manager-ui/admin/src/views/care/template/view.vue
+65
-0
attendance-performance-manager-ui/admin/src/views/dept/drawershow.vue
...erformance-manager-ui/admin/src/views/dept/drawershow.vue
+133
-0
attendance-performance-manager-ui/admin/src/views/dept/list.vue
...ance-performance-manager-ui/admin/src/views/dept/list.vue
+38
-67
attendance-performance-manager-ui/admin/src/views/job/dialogshow.vue
...performance-manager-ui/admin/src/views/job/dialogshow.vue
+105
-0
attendance-performance-manager-ui/admin/src/views/job/drawershow.vue
...performance-manager-ui/admin/src/views/job/drawershow.vue
+113
-0
attendance-performance-manager-ui/admin/src/views/job/list.vue
...dance-performance-manager-ui/admin/src/views/job/list.vue
+84
-0
attendance-performance-manager-ui/admin/src/views/job/view.vue
...dance-performance-manager-ui/admin/src/views/job/view.vue
+69
-0
attendance-performance-manager-ui/admin/src/views/staff/adjust/log/dialogshow.vue
...anager-ui/admin/src/views/staff/adjust/log/dialogshow.vue
+149
-0
attendance-performance-manager-ui/admin/src/views/staff/adjust/log/drawershow.vue
...anager-ui/admin/src/views/staff/adjust/log/drawershow.vue
+159
-0
attendance-performance-manager-ui/admin/src/views/staff/adjust/log/list.vue
...ance-manager-ui/admin/src/views/staff/adjust/log/list.vue
+112
-0
attendance-performance-manager-ui/admin/src/views/staff/adjust/log/view.vue
...ance-manager-ui/admin/src/views/staff/adjust/log/view.vue
+122
-0
attendance-performance-manager-ui/admin/src/views/staff/black/dialogshow.vue
...nce-manager-ui/admin/src/views/staff/black/dialogshow.vue
+117
-0
attendance-performance-manager-ui/admin/src/views/staff/black/drawershow.vue
...nce-manager-ui/admin/src/views/staff/black/drawershow.vue
+127
-0
attendance-performance-manager-ui/admin/src/views/staff/black/list.vue
...rformance-manager-ui/admin/src/views/staff/black/list.vue
+74
-0
attendance-performance-manager-ui/admin/src/views/staff/black/view.vue
...rformance-manager-ui/admin/src/views/staff/black/view.vue
+75
-0
attendance-performance-manager-ui/admin/src/views/staff/care/dialogshow.vue
...ance-manager-ui/admin/src/views/staff/care/dialogshow.vue
+127
-0
attendance-performance-manager-ui/admin/src/views/staff/care/drawershow.vue
...ance-manager-ui/admin/src/views/staff/care/drawershow.vue
+135
-0
attendance-performance-manager-ui/admin/src/views/staff/care/list.vue
...erformance-manager-ui/admin/src/views/staff/care/list.vue
+76
-0
attendance-performance-manager-ui/admin/src/views/staff/care/view.vue
...erformance-manager-ui/admin/src/views/staff/care/view.vue
+88
-0
attendance-performance-manager-ui/admin/src/views/staff/contract/dialogshow.vue
...-manager-ui/admin/src/views/staff/contract/dialogshow.vue
+154
-0
attendance-performance-manager-ui/admin/src/views/staff/contract/drawershow.vue
...-manager-ui/admin/src/views/staff/contract/drawershow.vue
+168
-0
attendance-performance-manager-ui/admin/src/views/staff/contract/list.vue
...rmance-manager-ui/admin/src/views/staff/contract/list.vue
+116
-0
attendance-performance-manager-ui/admin/src/views/staff/contract/view.vue
...rmance-manager-ui/admin/src/views/staff/contract/view.vue
+129
-0
attendance-performance-manager-ui/admin/src/views/staff/dialogshow.vue
...rformance-manager-ui/admin/src/views/staff/dialogshow.vue
+144
-0
attendance-performance-manager-ui/admin/src/views/staff/drawershow.vue
...rformance-manager-ui/admin/src/views/staff/drawershow.vue
+156
-0
attendance-performance-manager-ui/admin/src/views/staff/leave/dialogshow.vue
...nce-manager-ui/admin/src/views/staff/leave/dialogshow.vue
+145
-0
attendance-performance-manager-ui/admin/src/views/staff/leave/drawershow.vue
...nce-manager-ui/admin/src/views/staff/leave/drawershow.vue
+156
-0
attendance-performance-manager-ui/admin/src/views/staff/leave/list.vue
...rformance-manager-ui/admin/src/views/staff/leave/list.vue
+108
-0
attendance-performance-manager-ui/admin/src/views/staff/leave/view.vue
...rformance-manager-ui/admin/src/views/staff/leave/view.vue
+116
-0
attendance-performance-manager-ui/admin/src/views/staff/list.vue
...nce-performance-manager-ui/admin/src/views/staff/list.vue
+102
-0
attendance-performance-manager-ui/admin/src/views/staff/regular/dialogshow.vue
...e-manager-ui/admin/src/views/staff/regular/dialogshow.vue
+143
-0
attendance-performance-manager-ui/admin/src/views/staff/regular/drawershow.vue
...e-manager-ui/admin/src/views/staff/regular/drawershow.vue
+154
-0
attendance-performance-manager-ui/admin/src/views/staff/regular/list.vue
...ormance-manager-ui/admin/src/views/staff/regular/list.vue
+108
-0
attendance-performance-manager-ui/admin/src/views/staff/regular/view.vue
...ormance-manager-ui/admin/src/views/staff/regular/view.vue
+113
-0
attendance-performance-manager-ui/admin/src/views/staff/view.vue
...nce-performance-manager-ui/admin/src/views/staff/view.vue
+115
-0
attendance-performance-manager/src/test/java/com/mortals/httpclient/http-client.env.json
...src/test/java/com/mortals/httpclient/http-client.env.json
+2
-3
db/module.sql
db/module.sql
+1
-1
No files found.
attendance-performance-manager-ui/admin/src/router.js
View file @
03067487
...
...
@@ -40,6 +40,21 @@ const router = new Router({
//部门
...
restBuilder
(
'
dept
'
,
'
dept
'
),
...
restBuilder
(
'
staff
'
,
'
staff
'
),
//花名册 员工信息
...
restBuilder
(
'
staff/care
'
,
'
staff/care
'
),
// 员工关怀信息
...
restBuilder
(
'
care/template
'
,
'
care/template
'
),
// 关怀问候信息
...
restBuilder
(
'
job
'
,
'
job
'
),
// 职位信息
...
restBuilder
(
'
staff/black
'
,
'
staff/black
'
),
// 员工黑名单信息
...
restBuilder
(
'
staff/adjust/log
'
,
'
staff/adjust/log
'
),
// 员工调岗信息
...
restBuilder
(
'
staff/regular
'
,
'
staff/regular
'
),
// 员工转正信息
...
restBuilder
(
'
staff/leave
'
,
'
staff/leave
'
),
// 员工离职信息
...
restBuilder
(
'
staff/contract
'
,
'
staff/contract
'
),
// 员工合同信息
...
restBuilder
(
'
attendance/record
'
,
'
attendance/record
'
),
// 考勤打卡记录信息
...
restBuilder
(
'
attendance/record/detail
'
,
'
attendance/record/detail
'
),
// 考勤打卡记录详细信息
...
restBuilder
(
'
attendance/group
'
,
'
attendance/group
'
),
// 考勤组信息
...
restBuilder
(
'
attendance/class
'
,
'
attendance/class
'
),
// 考勤班次信息
...
restBuilder
(
'
attendance/leave/record
'
,
'
attendance/leave/record
'
),
// 请假记录信息
...
restBuilder
(
'
attendance/vacation/balance
'
,
'
attendance/vacation/balance
'
),
// 员工假期余额信息
//以下为基础路由配置
...
...
attendance-performance-manager-ui/admin/src/views/attendance/class/detail/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"班次ID"
prop=
"shiftsId"
v-model=
"form.shiftsId"
placeholder=
"请输入班次ID"
/>
<Field
label=
"班次名称"
prop=
"shiftsName"
v-model=
"form.shiftsName"
placeholder=
"请输入班次名称"
/>
<Field
label=
"上班打卡时间"
prop=
"goWorkDate"
v-model=
"form.goWorkDate"
type=
"date"
/>
<Field
label=
"上班打卡前时间段,单位分钟"
prop=
"goWorkDateBefore"
v-model=
"form.goWorkDateBefore"
placeholder=
"请输入上班打卡前时间段,单位分钟"
/>
<Field
label=
"上班打卡前时间段,单位分钟"
prop=
"goWorkDateAfter"
v-model=
"form.goWorkDateAfter"
placeholder=
"请输入上班打卡前时间段,单位分钟"
/>
<Field
label=
"下班打卡时间"
prop=
"offWorkDate"
v-model=
"form.offWorkDate"
type=
"date"
/>
<Field
label=
"下班打卡前时间段,单位分钟"
prop=
"offWorkDateBefore"
v-model=
"form.offWorkDateBefore"
placeholder=
"请输入下班打卡前时间段,单位分钟"
/>
<Field
label=
"下班打卡前时间段,单位分钟"
prop=
"offWorkDateAfter"
v-model=
"form.offWorkDateAfter"
placeholder=
"请输入下班打卡前时间段,单位分钟"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
考勤班次详细信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
],
// 表单校验
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/class/detail/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改考勤班次详细信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/class/detail/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增考勤班次详细信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/class/detail/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
考勤班次详细信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
shiftsId
:
null
,
shiftsName
:
""
,
goWorkDate
:
null
,
goWorkDateBefore
:
null
,
goWorkDateAfter
:
null
,
offWorkDate
:
null
,
offWorkDateBefore
:
null
,
offWorkDateAfter
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/class/detail/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"班次ID"
prop=
"shiftsId"
v-model=
"form.shiftsId"
placeholder=
"请输入班次ID"
/>
<Field
label=
"班次名称"
prop=
"shiftsName"
v-model=
"form.shiftsName"
placeholder=
"请输入班次名称"
/>
<Field
label=
"上班打卡时间"
prop=
"goWorkDate"
v-model=
"form.goWorkDate"
type=
"date"
/>
<Field
label=
"上班打卡前时间段,单位分钟"
prop=
"goWorkDateBefore"
v-model=
"form.goWorkDateBefore"
placeholder=
"请输入上班打卡前时间段,单位分钟"
/>
<Field
label=
"上班打卡前时间段,单位分钟"
prop=
"goWorkDateAfter"
v-model=
"form.goWorkDateAfter"
placeholder=
"请输入上班打卡前时间段,单位分钟"
/>
<Field
label=
"下班打卡时间"
prop=
"offWorkDate"
v-model=
"form.offWorkDate"
type=
"date"
/>
<Field
label=
"下班打卡前时间段,单位分钟"
prop=
"offWorkDateBefore"
v-model=
"form.offWorkDateBefore"
placeholder=
"请输入下班打卡前时间段,单位分钟"
/>
<Field
label=
"下班打卡前时间段,单位分钟"
prop=
"offWorkDateAfter"
v-model=
"form.offWorkDateAfter"
placeholder=
"请输入下班打卡前时间段,单位分钟"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
AttendanceClassDetailDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
attendance/class/detail
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
考勤班次详细信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
],
toDate
:[
"
goWorkDate
"
,
"
offWorkDate
"
,
],
// 表单校验
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/class/detail/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改考勤班次详细信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/class/detail/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增考勤班次详细信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/class/detail/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
考勤班次详细信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
shiftsId
:
null
,
shiftsName
:
""
,
goWorkDate
:
null
,
goWorkDateBefore
:
null
,
goWorkDateAfter
:
null
,
offWorkDate
:
null
,
offWorkDateBefore
:
null
,
offWorkDateAfter
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/class/detail/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
AttendanceClassDetailList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
上班打卡时间
"
,
prop
:
"
goWorkDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
下班打卡时间
"
,
prop
:
"
offWorkDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/class/detail/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"班次ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.shiftsId}}
</el-descriptions-item>
<el-descriptions-item
label=
"班次名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.shiftsName}}
</el-descriptions-item>
<el-descriptions-item
label=
"上班打卡时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.goWorkDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"上班打卡前时间段,单位分钟"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.goWorkDateBefore}}
</el-descriptions-item>
<el-descriptions-item
label=
"上班打卡前时间段,单位分钟"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.goWorkDateAfter}}
</el-descriptions-item>
<el-descriptions-item
label=
"下班打卡时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.offWorkDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"下班打卡前时间段,单位分钟"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.offWorkDateBefore}}
</el-descriptions-item>
<el-descriptions-item
label=
"下班打卡前时间段,单位分钟"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.offWorkDateAfter}}
</el-descriptions-item>
<el-descriptions-item
label=
"备注"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/class/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"班次名称"
prop=
"className"
v-model=
"form.className"
placeholder=
"请输入班次名称"
/>
<Field
label=
"班次负责人ID"
prop=
"classResponsiblePersonId"
v-model=
"form.classResponsiblePersonId"
placeholder=
"请输入班次负责人ID"
/>
<Field
label=
"班次负责人名称"
prop=
"classResponsiblePersonName"
v-model=
"form.classResponsiblePersonName"
placeholder=
"请输入班次负责人名称"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<el-divider
content-position=
"center"
>
考勤班次详细信息信息
</el-divider>
<br/>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAddAttendanceClassDetail"
>
添加
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
@
click=
"handleDeleteAttendanceClassDetail"
>
删除
</el-button>
</el-col>
</el-row>
<el-table
:data=
"attendanceClassDetailList"
:row-class-name=
"rowAttendanceClassDetailIndex"
@
selection-change=
"handleAttendanceClassDetailSelectionChange"
ref=
"attendanceClassDetail"
>
<el-table-column
type=
"selection"
width=
"50"
align=
"center"
/>
<el-table-column
label=
"序号"
align=
"center"
prop=
"index"
width=
"50"
/>
<el-table-column
label=
"班次名称"
prop=
"shiftsName"
>
<template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.shiftsName"
placeholder=
"请输入班次名称"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"上班打卡时间"
prop=
"goWorkDate"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.goWorkDate"
placeholder=
"请输入上班打卡时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"上班打卡前时间段,单位分钟"
prop=
"goWorkDateBefore"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.goWorkDateBefore"
placeholder=
"请输入上班打卡前时间段,单位分钟"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"上班打卡前时间段,单位分钟"
prop=
"goWorkDateAfter"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.goWorkDateAfter"
placeholder=
"请输入上班打卡前时间段,单位分钟"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"下班打卡时间"
prop=
"offWorkDate"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.offWorkDate"
placeholder=
"请输入下班打卡时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"下班打卡前时间段,单位分钟"
prop=
"offWorkDateBefore"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.offWorkDateBefore"
placeholder=
"请输入下班打卡前时间段,单位分钟"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"下班打卡前时间段,单位分钟"
prop=
"offWorkDateAfter"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.offWorkDateAfter"
placeholder=
"请输入下班打卡前时间段,单位分钟"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
prop=
"remark"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.remark"
placeholder=
"请输入备注"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建用户"
prop=
"createUserId"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.createUserId"
placeholder=
"请输入创建用户"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
prop=
"createTime"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.createTime"
placeholder=
"请输入创建时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"更新用户"
prop=
"updateUserId"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.updateUserId"
placeholder=
"请输入更新用户"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"更新时间"
prop=
"updateTime"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.updateTime"
placeholder=
"请输入更新时间"
/>
</
template
>
</el-table-column>
</el-table>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</template>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 子表选中数据
checkedAttendanceClassDetail
:
[],
// 考勤班次详细信息表格数据
attendanceClassDetailList
:
[],
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
考勤班次信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
],
// 表单校验
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 考勤班次详细信息序号 */
rowAttendanceClassDetailIndex
({
row
,
rowIndex
})
{
row
.
index
=
rowIndex
+
1
;
},
/** 考勤班次详细信息添加按钮操作 */
handleAddAttendanceClassDetail
()
{
let
obj
=
{};
obj
.
shiftsName
=
""
;
obj
.
goWorkDate
=
""
;
obj
.
goWorkDateBefore
=
""
;
obj
.
goWorkDateAfter
=
""
;
obj
.
offWorkDate
=
""
;
obj
.
offWorkDateBefore
=
""
;
obj
.
offWorkDateAfter
=
""
;
obj
.
remark
=
""
;
obj
.
createUserId
=
""
;
obj
.
createTime
=
""
;
obj
.
updateUserId
=
""
;
obj
.
updateTime
=
""
;
this
.
attendanceClassDetailList
.
push
(
obj
);
},
/** 考勤班次详细信息删除按钮操作 */
handleDeleteAttendanceClassDetail
()
{
if
(
this
.
checkedAttendanceClassDetail
.
length
==
0
)
{
this
.
$alert
(
"
请先选择要删除的考勤班次详细信息数据
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
});
}
else
{
this
.
attendanceClassDetailList
.
splice
(
this
.
checkedAttendanceClassDetail
[
0
].
index
-
1
,
1
);
}
},
/** 单选框选中数据 */
handleAttendanceClassDetailSelectionChange
(
selection
)
{
if
(
selection
.
length
>
1
)
{
this
.
$refs
.
attendanceClassDetail
.
clearSelection
();
this
.
$refs
.
attendanceClassDetail
.
toggleRowSelection
(
selection
.
pop
());
}
else
{
this
.
checkedAttendanceClassDetail
=
selection
;
}
},
// 渲染前置处理
beforeRender
(
data
)
{
if
(
data
.
entity
.
attendanceClassDetailList
)
{
this
.
attendanceClassDetailList
=
data
.
entity
.
attendanceClassDetailList
;
}
return
data
},
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/class/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改考勤班次信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/class/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增考勤班次信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/class/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
考勤班次信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
className
:
""
,
classResponsiblePersonId
:
null
,
classResponsiblePersonName
:
""
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/class/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"班次名称"
prop=
"className"
v-model=
"form.className"
placeholder=
"请输入班次名称"
/>
<Field
label=
"班次负责人ID"
prop=
"classResponsiblePersonId"
v-model=
"form.classResponsiblePersonId"
placeholder=
"请输入班次负责人ID"
/>
<Field
label=
"班次负责人名称"
prop=
"classResponsiblePersonName"
v-model=
"form.classResponsiblePersonName"
placeholder=
"请输入班次负责人名称"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<el-divider
content-position=
"center"
>
考勤班次详细信息信息
</el-divider>
<br/>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAddAttendanceClassDetail"
>
添加
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
@
click=
"handleDeleteAttendanceClassDetail"
>
删除
</el-button>
</el-col>
</el-row>
<el-table
:data=
"attendanceClassDetailList"
:row-class-name=
"rowAttendanceClassDetailIndex"
@
selection-change=
"handleAttendanceClassDetailSelectionChange"
ref=
"attendanceClassDetail"
>
<el-table-column
type=
"selection"
width=
"50"
align=
"center"
/>
<el-table-column
label=
"序号"
align=
"center"
prop=
"index"
width=
"50"
/>
<el-table-column
label=
"班次名称"
prop=
"shiftsName"
>
<template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.shiftsName"
placeholder=
"请输入班次名称"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"上班打卡时间"
prop=
"goWorkDate"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.goWorkDate"
placeholder=
"请输入上班打卡时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"上班打卡前时间段,单位分钟"
prop=
"goWorkDateBefore"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.goWorkDateBefore"
placeholder=
"请输入上班打卡前时间段,单位分钟"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"上班打卡前时间段,单位分钟"
prop=
"goWorkDateAfter"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.goWorkDateAfter"
placeholder=
"请输入上班打卡前时间段,单位分钟"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"下班打卡时间"
prop=
"offWorkDate"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.offWorkDate"
placeholder=
"请输入下班打卡时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"下班打卡前时间段,单位分钟"
prop=
"offWorkDateBefore"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.offWorkDateBefore"
placeholder=
"请输入下班打卡前时间段,单位分钟"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"下班打卡前时间段,单位分钟"
prop=
"offWorkDateAfter"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.offWorkDateAfter"
placeholder=
"请输入下班打卡前时间段,单位分钟"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
prop=
"remark"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.remark"
placeholder=
"请输入备注"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建用户"
prop=
"createUserId"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.createUserId"
placeholder=
"请输入创建用户"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
prop=
"createTime"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.createTime"
placeholder=
"请输入创建时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"更新用户"
prop=
"updateUserId"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.updateUserId"
placeholder=
"请输入更新用户"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"更新时间"
prop=
"updateTime"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.updateTime"
placeholder=
"请输入更新时间"
/>
</
template
>
</el-table-column>
</el-table>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</template>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
AttendanceClassDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
attendance/class
"
)
},
data
()
{
return
{
// 子表选中数据
checkedAttendanceClassDetail
:
[],
// 考勤班次详细信息表格数据
attendanceClassDetailList
:
[],
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
考勤班次信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
],
toDate
:[
],
// 表单校验
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 考勤班次详细信息序号 */
rowAttendanceClassDetailIndex
({
row
,
rowIndex
})
{
row
.
index
=
rowIndex
+
1
;
},
/** 考勤班次详细信息添加按钮操作 */
handleAddAttendanceClassDetail
()
{
let
obj
=
{};
obj
.
shiftsName
=
""
;
obj
.
goWorkDate
=
""
;
obj
.
goWorkDateBefore
=
""
;
obj
.
goWorkDateAfter
=
""
;
obj
.
offWorkDate
=
""
;
obj
.
offWorkDateBefore
=
""
;
obj
.
offWorkDateAfter
=
""
;
obj
.
remark
=
""
;
obj
.
createUserId
=
""
;
obj
.
createTime
=
""
;
obj
.
updateUserId
=
""
;
obj
.
updateTime
=
""
;
this
.
attendanceClassDetailList
.
push
(
obj
);
},
/** 考勤班次详细信息删除按钮操作 */
handleDeleteAttendanceClassDetail
()
{
if
(
this
.
checkedAttendanceClassDetail
.
length
==
0
)
{
this
.
$alert
(
"
请先选择要删除的考勤班次详细信息数据
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
});
}
else
{
this
.
attendanceClassDetailList
.
splice
(
this
.
checkedAttendanceClassDetail
[
0
].
index
-
1
,
1
);
}
},
/** 单选框选中数据 */
handleAttendanceClassDetailSelectionChange
(
selection
)
{
if
(
selection
.
length
>
1
)
{
this
.
$refs
.
attendanceClassDetail
.
clearSelection
();
this
.
$refs
.
attendanceClassDetail
.
toggleRowSelection
(
selection
.
pop
());
}
else
{
this
.
checkedAttendanceClassDetail
=
selection
;
}
},
// 渲染前置处理
beforeRender
(
data
)
{
if
(
data
.
entity
.
attendanceClassDetailList
)
{
this
.
attendanceClassDetailList
=
data
.
entity
.
attendanceClassDetailList
;
}
return
data
},
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/class/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改考勤班次信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/class/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增考勤班次信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/class/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
考勤班次信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
className
:
""
,
classResponsiblePersonId
:
null
,
classResponsiblePersonName
:
""
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/class/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
AttendanceClassList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
renderTable
(
tableData
)
{
return
(
<
el
-
table
stripe
data
=
{
tableData
}
class
=
"
total-table
"
>
{
this
.
columnSet
.
map
((
item
)
=>
this
.
renderTableColumn
(
item
))}
<
/el-table
>
);
},
renderTableColumn
(
options
)
{
return
(
<
el
-
table
-
column
prop
=
{
options
.
prop
}
label
=
{
options
.
label
}
width
=
{
options
.
width
}
>
<
/el-table-column
>
);
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
/** 子表列元素 */
columnSet
:[
{
prop
:
"
shiftsId
"
,
label
:
"
班次ID
"
,
width
:
100
},
{
prop
:
"
shiftsName
"
,
label
:
"
班次名称
"
,
width
:
100
},
{
prop
:
"
goWorkDate
"
,
label
:
"
上班打卡时间
"
,
width
:
100
},
{
prop
:
"
goWorkDateBefore
"
,
label
:
"
上班打卡前时间段,单位分钟
"
,
width
:
100
},
{
prop
:
"
goWorkDateAfter
"
,
label
:
"
上班打卡前时间段,单位分钟
"
,
width
:
100
},
{
prop
:
"
offWorkDate
"
,
label
:
"
下班打卡时间
"
,
width
:
100
},
{
prop
:
"
offWorkDateBefore
"
,
label
:
"
下班打卡前时间段,单位分钟
"
,
width
:
100
},
{
prop
:
"
offWorkDateAfter
"
,
label
:
"
下班打卡前时间段,单位分钟
"
,
width
:
100
},
{
prop
:
"
remark
"
,
label
:
"
备注
"
,
width
:
100
},
],
config
:
{
search
:
[
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
考勤班次详细信息
"
,
width
:
120
,
prop
:
"
subColumns
"
,
formatter
:
(
row
)
=>
{
let
widthsize
=
this
.
columnSet
.
reduce
((
pre
,
cur
)
=>
{
return
pre
+
Number
(
cur
.
width
);
},
50
);
return
(
<
el
-
popover
placement
=
"
right
"
width
=
{
widthsize
}
trigger
=
"
click
"
>
{
this
.
renderTable
(
row
.
attendanceClassDetailList
)}
<
el
-
button
type
=
"
text
"
slot
=
"
reference
"
>
详细
<
/el-button
>
<
/el-popover
>
);
},
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/class/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"班次名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.className}}
</el-descriptions-item>
<el-descriptions-item
label=
"班次负责人ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.classResponsiblePersonId}}
</el-descriptions-item>
<el-descriptions-item
label=
"班次负责人名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.classResponsiblePersonName}}
</el-descriptions-item>
<el-descriptions-item
label=
"备注"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/group/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"考勤组名称"
prop=
"groupName"
v-model=
"form.groupName"
placeholder=
"请输入考勤组名称"
/>
<Field
label=
"人数"
prop=
"personNum"
v-model=
"form.personNum"
placeholder=
"请输入人数"
/>
<Field
label=
"负责人"
prop=
"responsiblePerson"
v-model=
"form.responsiblePerson"
placeholder=
"请输入负责人"
/>
<Field
label=
"类型"
prop=
"type"
v-model=
"form.type"
type=
"select"
:enumData=
"dict.type"
placeholder=
"请选择类型"
/>
<Field
label=
"考勤时间"
prop=
"attendanceTime"
v-model=
"form.attendanceTime"
type=
"select"
:enumData=
"dict.attendanceTime"
placeholder=
"请选择考勤时间"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
考勤组信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
"
type
"
,
"
attendanceTime
"
,
],
// 表单校验
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/group/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改考勤组信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/group/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增考勤组信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/group/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
考勤组信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
groupName
:
""
,
personNum
:
null
,
responsiblePerson
:
""
,
type
:
null
,
attendanceTime
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/group/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"考勤组名称"
prop=
"groupName"
v-model=
"form.groupName"
placeholder=
"请输入考勤组名称"
/>
<Field
label=
"人数"
prop=
"personNum"
v-model=
"form.personNum"
placeholder=
"请输入人数"
/>
<Field
label=
"负责人"
prop=
"responsiblePerson"
v-model=
"form.responsiblePerson"
placeholder=
"请输入负责人"
/>
<Field
label=
"类型"
prop=
"type"
v-model=
"form.type"
type=
"select"
:enumData=
"dict.type"
placeholder=
"请选择类型"
/>
<Field
label=
"考勤时间"
prop=
"attendanceTime"
v-model=
"form.attendanceTime"
type=
"select"
:enumData=
"dict.attendanceTime"
placeholder=
"请选择考勤时间"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
AttendanceGroupDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
attendance/group
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
考勤组信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
type
"
,
"
attendanceTime
"
,
],
toDate
:[
],
// 表单校验
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/group/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改考勤组信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/group/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增考勤组信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/group/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
考勤组信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
groupName
:
""
,
personNum
:
null
,
responsiblePerson
:
""
,
type
:
null
,
attendanceTime
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/group/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
AttendanceGroupList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
人数
"
,
prop
:
"
personNum
"
,
formatter
:
this
.
formatter
},
{
label
:
"
类型
"
,
prop
:
"
type
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/group/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"考勤组名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.groupName}}
</el-descriptions-item>
<el-descriptions-item
label=
"人数"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.personNum}}
</el-descriptions-item>
<el-descriptions-item
label=
"负责人"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.responsiblePerson}}
</el-descriptions-item>
<el-descriptions-item
label=
"类型"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("type", form.type) }}
</el-descriptions-item>
<el-descriptions-item
label=
"考勤时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.attendanceTime}}
</el-descriptions-item>
<el-descriptions-item
label=
"备注"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
"
type
"
,
"
attendanceTime
"
,
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<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=
"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=
"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=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
请假记录信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
"
leaveType
"
,
],
// 表单校验
rules
:
{
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/leave/record/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改请假记录信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/leave/record/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增请假记录信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/leave/record/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
请假记录信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
leavePersonId
:
null
,
leavePerson
:
""
,
deptId
:
null
,
deptName
:
""
,
phoneNumber
:
""
,
leaveType
:
null
,
startTime
:
null
,
endTime
:
null
,
duration
:
null
,
reason
:
""
,
approverId
:
null
,
approver
:
""
,
attachment
:
""
,
attachmentPath
:
""
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
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=
"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=
"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=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
AttendanceLeaveRecordDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
attendance/leave/record
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
请假记录信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
leaveType
"
,
],
toDate
:[
"
startTime
"
,
"
endTime
"
,
],
// 表单校验
rules
:
{
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/leave/record/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改请假记录信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/leave/record/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增请假记录信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/leave/record/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
请假记录信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
leavePersonId
:
null
,
leavePerson
:
""
,
deptId
:
null
,
deptName
:
""
,
phoneNumber
:
""
,
leaveType
:
null
,
startTime
:
null
,
endTime
:
null
,
duration
:
null
,
reason
:
""
,
approverId
:
null
,
approver
:
""
,
attachment
:
""
,
attachmentPath
:
""
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
AttendanceLeaveRecordList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
"
leavePersonId
"
,
type
:
"
text
"
,
label
:
"
请假人id
"
,
fuzzy
:
true
},
{
name
:
"
phoneNumber
"
,
type
:
"
text
"
,
label
:
"
电话号码
"
,
fuzzy
:
true
},
{
name
:
"
leaveType
"
,
type
:
"
select
"
,
label
:
"
请假类型
"
,
fuzzy
:
true
},
{
name
:
"
startTime
"
,
type
:
"
date
"
,
label
:
"
开始时间
"
,
fuzzy
:
true
},
{
name
:
"
endTime
"
,
type
:
"
date
"
,
label
:
"
结束时间
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
请假人id
"
,
prop
:
"
leavePersonId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
请假人
"
,
prop
:
"
leavePerson
"
},
{
label
:
"
所属部门id
"
,
prop
:
"
deptId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
电话号码
"
,
prop
:
"
phoneNumber
"
},
{
label
:
"
请假类型
"
,
prop
:
"
leaveType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
开始时间
"
,
prop
:
"
startTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
结束时间
"
,
prop
:
"
endTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
时长,单位秒
"
,
prop
:
"
duration
"
,
formatter
:
this
.
formatter
},
{
label
:
"
审批负责人Id
"
,
prop
:
"
approverId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
审批负责人
"
,
prop
:
"
approver
"
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"请假人id"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.leavePersonId}}
</el-descriptions-item>
<el-descriptions-item
label=
"请假人"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.leavePerson}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门id"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item
label=
"电话号码"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.phoneNumber}}
</el-descriptions-item>
<el-descriptions-item
label=
"请假类型"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("leaveType", form.leaveType) }}
</el-descriptions-item>
<el-descriptions-item
label=
"开始时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.startTime)}}
</el-descriptions-item>
<el-descriptions-item
label=
"结束时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.endTime)}}
</el-descriptions-item>
<el-descriptions-item
label=
"时长,单位秒"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.duration}}
</el-descriptions-item>
<el-descriptions-item
label=
"请假事由"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.reason}}
</el-descriptions-item>
<el-descriptions-item
label=
"审批负责人Id"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.approverId}}
</el-descriptions-item>
<el-descriptions-item
label=
"审批负责人"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.approver}}
</el-descriptions-item>
<el-descriptions-item
label=
"附件"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.attachment}}
</el-descriptions-item>
<el-descriptions-item
label=
"附件路径"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.attachmentPath}}
</el-descriptions-item>
<el-descriptions-item
label=
"备注"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
"
leaveType
"
,
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/record/detail/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"考勤记录ID"
prop=
"recordId"
v-model=
"form.recordId"
placeholder=
"请输入考勤记录ID"
/>
<Field
label=
"班次ID"
prop=
"shiftsId"
v-model=
"form.shiftsId"
placeholder=
"请输入班次ID"
/>
<Field
label=
"班次名称"
prop=
"shiftsName"
v-model=
"form.shiftsName"
placeholder=
"请输入班次名称"
/>
<Field
label=
"上班打卡时间"
prop=
"goWorkDate"
v-model=
"form.goWorkDate"
type=
"date"
/>
<Field
label=
"上班打卡结果"
prop=
"goWorkResult"
v-model=
"form.goWorkResult"
type=
"select"
:enumData=
"dict.goWorkResult"
placeholder=
"请选择上班打卡结果"
/>
<Field
label=
"下班打卡时间"
prop=
"offWorkDate"
v-model=
"form.offWorkDate"
type=
"date"
/>
<Field
label=
"下班打卡结果"
prop=
"offWorkResult"
v-model=
"form.offWorkResult"
type=
"select"
:enumData=
"dict.offWorkResult"
placeholder=
"请选择下班打卡结果"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
考勤打卡记录详细信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
"
goWorkResult
"
,
"
offWorkResult
"
,
],
// 表单校验
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/record/detail/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改考勤打卡记录详细信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/record/detail/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增考勤打卡记录详细信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/record/detail/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
考勤打卡记录详细信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
recordId
:
null
,
shiftsId
:
null
,
shiftsName
:
""
,
goWorkDate
:
null
,
goWorkResult
:
null
,
offWorkDate
:
null
,
offWorkResult
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/record/detail/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"考勤记录ID"
prop=
"recordId"
v-model=
"form.recordId"
placeholder=
"请输入考勤记录ID"
/>
<Field
label=
"班次ID"
prop=
"shiftsId"
v-model=
"form.shiftsId"
placeholder=
"请输入班次ID"
/>
<Field
label=
"班次名称"
prop=
"shiftsName"
v-model=
"form.shiftsName"
placeholder=
"请输入班次名称"
/>
<Field
label=
"上班打卡时间"
prop=
"goWorkDate"
v-model=
"form.goWorkDate"
type=
"date"
/>
<Field
label=
"上班打卡结果"
prop=
"goWorkResult"
v-model=
"form.goWorkResult"
type=
"select"
:enumData=
"dict.goWorkResult"
placeholder=
"请选择上班打卡结果"
/>
<Field
label=
"下班打卡时间"
prop=
"offWorkDate"
v-model=
"form.offWorkDate"
type=
"date"
/>
<Field
label=
"下班打卡结果"
prop=
"offWorkResult"
v-model=
"form.offWorkResult"
type=
"select"
:enumData=
"dict.offWorkResult"
placeholder=
"请选择下班打卡结果"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
AttendanceRecordDetailDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
attendance/record/detail
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
考勤打卡记录详细信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
goWorkResult
"
,
"
offWorkResult
"
,
],
toDate
:[
"
goWorkDate
"
,
"
offWorkDate
"
,
],
// 表单校验
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/record/detail/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改考勤打卡记录详细信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/record/detail/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增考勤打卡记录详细信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/record/detail/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
考勤打卡记录详细信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
recordId
:
null
,
shiftsId
:
null
,
shiftsName
:
""
,
goWorkDate
:
null
,
goWorkResult
:
null
,
offWorkDate
:
null
,
offWorkResult
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/record/detail/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
AttendanceRecordDetailList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
上班打卡时间
"
,
prop
:
"
goWorkDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
下班打卡时间
"
,
prop
:
"
offWorkDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/record/detail/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"考勤记录ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.recordId}}
</el-descriptions-item>
<el-descriptions-item
label=
"班次ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.shiftsId}}
</el-descriptions-item>
<el-descriptions-item
label=
"班次名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.shiftsName}}
</el-descriptions-item>
<el-descriptions-item
label=
"上班打卡时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.goWorkDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"上班打卡结果"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("goWorkResult", form.goWorkResult) }}
</el-descriptions-item>
<el-descriptions-item
label=
"下班打卡时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.offWorkDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"下班打卡结果"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("offWorkResult", form.offWorkResult) }}
</el-descriptions-item>
<el-descriptions-item
label=
"备注"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
"
goWorkResult
"
,
"
offWorkResult
"
,
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/record/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"positionId"
v-model=
"form.positionId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"positionName"
v-model=
"form.positionName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"所属考勤组ID"
prop=
"attendanceGroupId"
v-model=
"form.attendanceGroupId"
placeholder=
"请输入所属考勤组ID"
/>
<Field
label=
"所属考勤组名称"
prop=
"attendanceGroupName"
v-model=
"form.attendanceGroupName"
placeholder=
"请输入所属考勤组名称"
/>
<Field
label=
"班次ID"
prop=
"shiftsId"
v-model=
"form.shiftsId"
placeholder=
"请输入班次ID"
/>
<Field
label=
"班次名称"
prop=
"shiftsName"
v-model=
"form.shiftsName"
placeholder=
"请输入班次名称"
/>
<Field
label=
"打卡日期"
prop=
"attendanceDate"
v-model=
"form.attendanceDate"
type=
"date"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<el-divider
content-position=
"center"
>
考勤打卡记录详细信息信息
</el-divider>
<br/>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAddAttendanceRecordDetail"
>
添加
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
@
click=
"handleDeleteAttendanceRecordDetail"
>
删除
</el-button>
</el-col>
</el-row>
<el-table
:data=
"attendanceRecordDetailList"
:row-class-name=
"rowAttendanceRecordDetailIndex"
@
selection-change=
"handleAttendanceRecordDetailSelectionChange"
ref=
"attendanceRecordDetail"
>
<el-table-column
type=
"selection"
width=
"50"
align=
"center"
/>
<el-table-column
label=
"序号"
align=
"center"
prop=
"index"
width=
"50"
/>
<el-table-column
label=
"班次ID"
prop=
"shiftsId"
>
<template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.shiftsId"
placeholder=
"请输入班次ID"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"班次名称"
prop=
"shiftsName"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.shiftsName"
placeholder=
"请输入班次名称"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"上班打卡时间"
prop=
"goWorkDate"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.goWorkDate"
placeholder=
"请输入上班打卡时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"上班打卡结果"
prop=
"goWorkResult"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.goWorkResult"
placeholder=
"请输入上班打卡结果"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"下班打卡时间"
prop=
"offWorkDate"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.offWorkDate"
placeholder=
"请输入下班打卡时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"下班打卡结果"
prop=
"offWorkResult"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.offWorkResult"
placeholder=
"请输入下班打卡结果"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
prop=
"remark"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.remark"
placeholder=
"请输入备注"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建用户"
prop=
"createUserId"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.createUserId"
placeholder=
"请输入创建用户"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
prop=
"createTime"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.createTime"
placeholder=
"请输入创建时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"更新用户"
prop=
"updateUserId"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.updateUserId"
placeholder=
"请输入更新用户"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"更新时间"
prop=
"updateTime"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.updateTime"
placeholder=
"请输入更新时间"
/>
</
template
>
</el-table-column>
</el-table>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</template>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 子表选中数据
checkedAttendanceRecordDetail
:
[],
// 考勤打卡记录详细信息表格数据
attendanceRecordDetailList
:
[],
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
考勤打卡记录信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 考勤打卡记录详细信息序号 */
rowAttendanceRecordDetailIndex
({
row
,
rowIndex
})
{
row
.
index
=
rowIndex
+
1
;
},
/** 考勤打卡记录详细信息添加按钮操作 */
handleAddAttendanceRecordDetail
()
{
let
obj
=
{};
obj
.
shiftsId
=
""
;
obj
.
shiftsName
=
""
;
obj
.
goWorkDate
=
""
;
obj
.
goWorkResult
=
""
;
obj
.
offWorkDate
=
""
;
obj
.
offWorkResult
=
""
;
obj
.
remark
=
""
;
obj
.
createUserId
=
""
;
obj
.
createTime
=
""
;
obj
.
updateUserId
=
""
;
obj
.
updateTime
=
""
;
this
.
attendanceRecordDetailList
.
push
(
obj
);
},
/** 考勤打卡记录详细信息删除按钮操作 */
handleDeleteAttendanceRecordDetail
()
{
if
(
this
.
checkedAttendanceRecordDetail
.
length
==
0
)
{
this
.
$alert
(
"
请先选择要删除的考勤打卡记录详细信息数据
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
});
}
else
{
this
.
attendanceRecordDetailList
.
splice
(
this
.
checkedAttendanceRecordDetail
[
0
].
index
-
1
,
1
);
}
},
/** 单选框选中数据 */
handleAttendanceRecordDetailSelectionChange
(
selection
)
{
if
(
selection
.
length
>
1
)
{
this
.
$refs
.
attendanceRecordDetail
.
clearSelection
();
this
.
$refs
.
attendanceRecordDetail
.
toggleRowSelection
(
selection
.
pop
());
}
else
{
this
.
checkedAttendanceRecordDetail
=
selection
;
}
},
// 渲染前置处理
beforeRender
(
data
)
{
if
(
data
.
entity
.
attendanceRecordDetailList
)
{
this
.
attendanceRecordDetailList
=
data
.
entity
.
attendanceRecordDetailList
;
}
return
data
},
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/record/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改考勤打卡记录信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/record/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增考勤打卡记录信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/record/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
考勤打卡记录信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
workNum
:
""
,
deptId
:
null
,
deptName
:
""
,
positionId
:
null
,
positionName
:
""
,
attendanceGroupId
:
null
,
attendanceGroupName
:
""
,
shiftsId
:
null
,
shiftsName
:
""
,
attendanceDate
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/record/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"positionId"
v-model=
"form.positionId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"positionName"
v-model=
"form.positionName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"所属考勤组ID"
prop=
"attendanceGroupId"
v-model=
"form.attendanceGroupId"
placeholder=
"请输入所属考勤组ID"
/>
<Field
label=
"所属考勤组名称"
prop=
"attendanceGroupName"
v-model=
"form.attendanceGroupName"
placeholder=
"请输入所属考勤组名称"
/>
<Field
label=
"班次ID"
prop=
"shiftsId"
v-model=
"form.shiftsId"
placeholder=
"请输入班次ID"
/>
<Field
label=
"班次名称"
prop=
"shiftsName"
v-model=
"form.shiftsName"
placeholder=
"请输入班次名称"
/>
<Field
label=
"打卡日期"
prop=
"attendanceDate"
v-model=
"form.attendanceDate"
type=
"date"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<el-divider
content-position=
"center"
>
考勤打卡记录详细信息信息
</el-divider>
<br/>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAddAttendanceRecordDetail"
>
添加
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
@
click=
"handleDeleteAttendanceRecordDetail"
>
删除
</el-button>
</el-col>
</el-row>
<el-table
:data=
"attendanceRecordDetailList"
:row-class-name=
"rowAttendanceRecordDetailIndex"
@
selection-change=
"handleAttendanceRecordDetailSelectionChange"
ref=
"attendanceRecordDetail"
>
<el-table-column
type=
"selection"
width=
"50"
align=
"center"
/>
<el-table-column
label=
"序号"
align=
"center"
prop=
"index"
width=
"50"
/>
<el-table-column
label=
"班次ID"
prop=
"shiftsId"
>
<template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.shiftsId"
placeholder=
"请输入班次ID"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"班次名称"
prop=
"shiftsName"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.shiftsName"
placeholder=
"请输入班次名称"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"上班打卡时间"
prop=
"goWorkDate"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.goWorkDate"
placeholder=
"请输入上班打卡时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"上班打卡结果"
prop=
"goWorkResult"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.goWorkResult"
placeholder=
"请输入上班打卡结果"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"下班打卡时间"
prop=
"offWorkDate"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.offWorkDate"
placeholder=
"请输入下班打卡时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"下班打卡结果"
prop=
"offWorkResult"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.offWorkResult"
placeholder=
"请输入下班打卡结果"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
prop=
"remark"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.remark"
placeholder=
"请输入备注"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建用户"
prop=
"createUserId"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.createUserId"
placeholder=
"请输入创建用户"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
prop=
"createTime"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.createTime"
placeholder=
"请输入创建时间"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"更新用户"
prop=
"updateUserId"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.updateUserId"
placeholder=
"请输入更新用户"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"更新时间"
prop=
"updateTime"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.updateTime"
placeholder=
"请输入更新时间"
/>
</
template
>
</el-table-column>
</el-table>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</template>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
AttendanceRecordDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
attendance/record
"
)
},
data
()
{
return
{
// 子表选中数据
checkedAttendanceRecordDetail
:
[],
// 考勤打卡记录详细信息表格数据
attendanceRecordDetailList
:
[],
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
考勤打卡记录信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
],
toDate
:[
"
attendanceDate
"
,
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 考勤打卡记录详细信息序号 */
rowAttendanceRecordDetailIndex
({
row
,
rowIndex
})
{
row
.
index
=
rowIndex
+
1
;
},
/** 考勤打卡记录详细信息添加按钮操作 */
handleAddAttendanceRecordDetail
()
{
let
obj
=
{};
obj
.
shiftsId
=
""
;
obj
.
shiftsName
=
""
;
obj
.
goWorkDate
=
""
;
obj
.
goWorkResult
=
""
;
obj
.
offWorkDate
=
""
;
obj
.
offWorkResult
=
""
;
obj
.
remark
=
""
;
obj
.
createUserId
=
""
;
obj
.
createTime
=
""
;
obj
.
updateUserId
=
""
;
obj
.
updateTime
=
""
;
this
.
attendanceRecordDetailList
.
push
(
obj
);
},
/** 考勤打卡记录详细信息删除按钮操作 */
handleDeleteAttendanceRecordDetail
()
{
if
(
this
.
checkedAttendanceRecordDetail
.
length
==
0
)
{
this
.
$alert
(
"
请先选择要删除的考勤打卡记录详细信息数据
"
,
"
提示
"
,
{
confirmButtonText
:
"
确定
"
,
});
}
else
{
this
.
attendanceRecordDetailList
.
splice
(
this
.
checkedAttendanceRecordDetail
[
0
].
index
-
1
,
1
);
}
},
/** 单选框选中数据 */
handleAttendanceRecordDetailSelectionChange
(
selection
)
{
if
(
selection
.
length
>
1
)
{
this
.
$refs
.
attendanceRecordDetail
.
clearSelection
();
this
.
$refs
.
attendanceRecordDetail
.
toggleRowSelection
(
selection
.
pop
());
}
else
{
this
.
checkedAttendanceRecordDetail
=
selection
;
}
},
// 渲染前置处理
beforeRender
(
data
)
{
if
(
data
.
entity
.
attendanceRecordDetailList
)
{
this
.
attendanceRecordDetailList
=
data
.
entity
.
attendanceRecordDetailList
;
}
return
data
},
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/record/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改考勤打卡记录信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/record/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增考勤打卡记录信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/record/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
考勤打卡记录信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
workNum
:
""
,
deptId
:
null
,
deptName
:
""
,
positionId
:
null
,
positionName
:
""
,
attendanceGroupId
:
null
,
attendanceGroupName
:
""
,
shiftsId
:
null
,
shiftsName
:
""
,
attendanceDate
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
AttendanceRecordList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
renderTable
(
tableData
)
{
return
(
<
el
-
table
stripe
data
=
{
tableData
}
class
=
"
total-table
"
>
{
this
.
columnSet
.
map
((
item
)
=>
this
.
renderTableColumn
(
item
))}
<
/el-table
>
);
},
renderTableColumn
(
options
)
{
return
(
<
el
-
table
-
column
prop
=
{
options
.
prop
}
label
=
{
options
.
label
}
width
=
{
options
.
width
}
>
<
/el-table-column
>
);
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
/** 子表列元素 */
columnSet
:[
{
prop
:
"
recordId
"
,
label
:
"
考勤记录ID
"
,
width
:
100
},
{
prop
:
"
shiftsId
"
,
label
:
"
班次ID
"
,
width
:
100
},
{
prop
:
"
shiftsName
"
,
label
:
"
班次名称
"
,
width
:
100
},
{
prop
:
"
goWorkDate
"
,
label
:
"
上班打卡时间
"
,
width
:
100
},
{
prop
:
"
goWorkResult
"
,
label
:
"
上班打卡结果
"
,
width
:
100
},
{
prop
:
"
offWorkDate
"
,
label
:
"
下班打卡时间
"
,
width
:
100
},
{
prop
:
"
offWorkResult
"
,
label
:
"
下班打卡结果
"
,
width
:
100
},
{
prop
:
"
remark
"
,
label
:
"
备注
"
,
width
:
100
},
],
config
:
{
search
:
[
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
打卡日期
"
,
prop
:
"
attendanceDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
考勤打卡记录详细信息
"
,
width
:
120
,
prop
:
"
subColumns
"
,
formatter
:
(
row
)
=>
{
let
widthsize
=
this
.
columnSet
.
reduce
((
pre
,
cur
)
=>
{
return
pre
+
Number
(
cur
.
width
);
},
50
);
return
(
<
el
-
popover
placement
=
"
right
"
width
=
{
widthsize
}
trigger
=
"
click
"
>
{
this
.
renderTable
(
row
.
attendanceRecordDetailList
)}
<
el
-
button
type
=
"
text
"
slot
=
"
reference
"
>
详细
<
/el-button
>
<
/el-popover
>
);
},
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/record/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"员工ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工姓名"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item
label=
"工号"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.positionId}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.positionName}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属考勤组ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.attendanceGroupId}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属考勤组名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.attendanceGroupName}}
</el-descriptions-item>
<el-descriptions-item
label=
"班次ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.shiftsId}}
</el-descriptions-item>
<el-descriptions-item
label=
"班次名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.shiftsName}}
</el-descriptions-item>
<el-descriptions-item
label=
"打卡日期"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.attendanceDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"备注"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工id"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工id"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
type=
"textarea"
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=
"entryTime"
v-model=
"form.entryTime"
type=
"date"
/>
<Field
label=
"事假"
prop=
"personalLeaveDays"
v-model=
"form.personalLeaveDays"
placeholder=
"请输入事假"
/>
<Field
label=
"调休"
prop=
"compensatedLeaveDays"
v-model=
"form.compensatedLeaveDays"
placeholder=
"请输入调休"
/>
<Field
label=
"病假"
prop=
"sickLeaveDays"
v-model=
"form.sickLeaveDays"
placeholder=
"请输入病假"
/>
<Field
label=
"年假"
prop=
"annualLeaveDays"
v-model=
"form.annualLeaveDays"
placeholder=
"请输入年假"
/>
<Field
label=
"婚假"
prop=
"marriageLeaveDays"
v-model=
"form.marriageLeaveDays"
placeholder=
"请输入婚假"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工假期余额信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
],
// 表单校验
rules
:
{
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/vacation/balance/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工假期余额信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/vacation/balance/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工假期余额信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/vacation/balance/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工假期余额信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
deptId
:
null
,
deptName
:
""
,
entryTime
:
null
,
personalLeaveDays
:
BigDecimal
.
valueOf
(
0
),
compensatedLeaveDays
:
BigDecimal
.
valueOf
(
0
),
sickLeaveDays
:
BigDecimal
.
valueOf
(
0
),
annualLeaveDays
:
BigDecimal
.
valueOf
(
0
),
marriageLeaveDays
:
BigDecimal
.
valueOf
(
0
),
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工id"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工id"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
type=
"textarea"
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=
"entryTime"
v-model=
"form.entryTime"
type=
"date"
/>
<Field
label=
"事假"
prop=
"personalLeaveDays"
v-model=
"form.personalLeaveDays"
placeholder=
"请输入事假"
/>
<Field
label=
"调休"
prop=
"compensatedLeaveDays"
v-model=
"form.compensatedLeaveDays"
placeholder=
"请输入调休"
/>
<Field
label=
"病假"
prop=
"sickLeaveDays"
v-model=
"form.sickLeaveDays"
placeholder=
"请输入病假"
/>
<Field
label=
"年假"
prop=
"annualLeaveDays"
v-model=
"form.annualLeaveDays"
placeholder=
"请输入年假"
/>
<Field
label=
"婚假"
prop=
"marriageLeaveDays"
v-model=
"form.marriageLeaveDays"
placeholder=
"请输入婚假"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
AttendanceVacationBalanceDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
attendance/vacation/balance
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工假期余额信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
],
toDate
:[
"
entryTime
"
,
],
// 表单校验
rules
:
{
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/vacation/balance/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工假期余额信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
attendance/vacation/balance/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工假期余额信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/vacation/balance/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工假期余额信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
deptId
:
null
,
deptName
:
""
,
entryTime
:
null
,
personalLeaveDays
:
BigDecimal
.
valueOf
(
0
),
compensatedLeaveDays
:
BigDecimal
.
valueOf
(
0
),
sickLeaveDays
:
BigDecimal
.
valueOf
(
0
),
annualLeaveDays
:
BigDecimal
.
valueOf
(
0
),
marriageLeaveDays
:
BigDecimal
.
valueOf
(
0
),
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
AttendanceVacationBalanceList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
"
staffId
"
,
type
:
"
text
"
,
label
:
"
员工id
"
,
fuzzy
:
true
},
{
name
:
"
deptId
"
,
type
:
"
text
"
,
label
:
"
部门id
"
,
fuzzy
:
true
},
{
name
:
"
entryTime
"
,
type
:
"
date
"
,
label
:
"
入职时间
"
,
fuzzy
:
true
},
{
name
:
"
personalLeaveDays
"
,
type
:
"
text
"
,
label
:
"
事假
"
,
fuzzy
:
true
},
{
name
:
"
compensatedLeaveDays
"
,
type
:
"
text
"
,
label
:
"
调休
"
,
fuzzy
:
true
},
{
name
:
"
sickLeaveDays
"
,
type
:
"
text
"
,
label
:
"
病假
"
,
fuzzy
:
true
},
{
name
:
"
annualLeaveDays
"
,
type
:
"
text
"
,
label
:
"
年假
"
,
fuzzy
:
true
},
{
name
:
"
marriageLeaveDays
"
,
type
:
"
text
"
,
label
:
"
婚假
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工id
"
,
prop
:
"
staffId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
部门id
"
,
prop
:
"
deptId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
入职时间
"
,
prop
:
"
entryTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
事假
"
,
prop
:
"
personalLeaveDays
"
,
formatter
:
this
.
formatterMoney
},
{
label
:
"
调休
"
,
prop
:
"
compensatedLeaveDays
"
,
formatter
:
this
.
formatterMoney
},
{
label
:
"
病假
"
,
prop
:
"
sickLeaveDays
"
,
formatter
:
this
.
formatterMoney
},
{
label
:
"
年假
"
,
prop
:
"
annualLeaveDays
"
,
formatter
:
this
.
formatterMoney
},
{
label
:
"
婚假
"
,
prop
:
"
marriageLeaveDays
"
,
formatter
:
this
.
formatterMoney
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/attendance/vacation/balance/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"员工id"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工姓名"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item
label=
"部门id"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item
label=
"部门名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item
label=
"入职时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.entryTime)}}
</el-descriptions-item>
<el-descriptions-item
label=
"事假"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.personalLeaveDays}}
</el-descriptions-item>
<el-descriptions-item
label=
"调休"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.compensatedLeaveDays}}
</el-descriptions-item>
<el-descriptions-item
label=
"病假"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.sickLeaveDays}}
</el-descriptions-item>
<el-descriptions-item
label=
"年假"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.annualLeaveDays}}
</el-descriptions-item>
<el-descriptions-item
label=
"婚假"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.marriageLeaveDays}}
</el-descriptions-item>
<el-descriptions-item
label=
"备注"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/care/template/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"关怀类型"
prop=
"careType"
v-model=
"form.careType"
type=
"select"
:enumData=
"dict.careType"
placeholder=
"请选择关怀类型"
/>
<Field
label=
"是否短信提示"
prop=
"sms"
v-model=
"form.sms"
type=
"select"
:enumData=
"dict.sms"
placeholder=
"请选择是否短信提示"
/>
<Field
label=
"短信模板内容"
prop=
"smsTemplate"
v-model=
"form.smsTemplate"
type=
"textarea"
placeholder=
"请输入短信模板内容"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
关怀问候信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
"
careType
"
,
"
sms
"
,
],
// 表单校验
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
care/template/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改关怀问候信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
care/template/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增关怀问候信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
care/template/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
关怀问候信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
careType
:
1
,
sms
:
1
,
smsTemplate
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/care/template/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"关怀类型"
prop=
"careType"
v-model=
"form.careType"
type=
"select"
:enumData=
"dict.careType"
placeholder=
"请选择关怀类型"
/>
<Field
label=
"是否短信提示"
prop=
"sms"
v-model=
"form.sms"
type=
"select"
:enumData=
"dict.sms"
placeholder=
"请选择是否短信提示"
/>
<Field
label=
"短信模板内容"
prop=
"smsTemplate"
v-model=
"form.smsTemplate"
type=
"textarea"
placeholder=
"请输入短信模板内容"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
CareTemplateDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
care/template
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
关怀问候信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
careType
"
,
"
sms
"
,
],
toDate
:[
],
// 表单校验
rules
:
{
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
care/template/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改关怀问候信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
care/template/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增关怀问候信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
care/template/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
关怀问候信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
careType
:
1
,
sms
:
1
,
smsTemplate
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/care/template/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
CareTemplateList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
关怀类型
"
,
prop
:
"
careType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
是否短信提示
"
,
prop
:
"
sms
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/care/template/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"关怀类型"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("careType", form.careType) }}
</el-descriptions-item>
<el-descriptions-item
label=
"是否短信提示"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("sms", form.sms) }}
</el-descriptions-item>
<el-descriptions-item
label=
"短信模板内容"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.smsTemplate}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
"
careType
"
,
"
sms
"
,
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/dept/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"父id"
prop=
"parentId"
v-model=
"form.parentId"
placeholder=
"请输入父id"
/>
<Field
label=
"祖级列表"
prop=
"ancestors"
v-model=
"form.ancestors"
type=
"textarea"
placeholder=
"请输入祖级列表"
/>
<Field
label=
"部门名称"
prop=
"deptName"
v-model=
"form.deptName"
type=
"textarea"
placeholder=
"请输入部门名称"
/>
<Field
label=
"部门状态"
prop=
"deptStatus"
v-model=
"form.deptStatus"
type=
"select"
:enumData=
"dict.deptStatus"
placeholder=
"请选择部门状态"
/>
<Field
label=
"顺序"
prop=
"orderNum"
v-model=
"form.orderNum"
placeholder=
"请输入顺序"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
DeptDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
dept
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
部门信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
deptStatus
"
,
],
toDate
:[
],
// 表单校验
rules
:
{
ancestors
:
[
{
required
:
true
,
message
:
"
请输入祖级列表
"
,
trigger
:
"
blur
"
},
{
max
:
256
,
message
:
"
最多只能录入256个字符
"
,
trigger
:
"
blur
"
,},
],
deptName
:
[
{
required
:
true
,
message
:
"
请输入部门名称
"
,
trigger
:
"
blur
"
},
{
max
:
256
,
message
:
"
最多只能录入256个字符
"
,
trigger
:
"
blur
"
,},
],
deptStatus
:
[
{
required
:
true
,
message
:
"
请输入部门状态
"
,
trigger
:
"
blur
"
},
],
orderNum
:
[
{
required
:
true
,
message
:
"
请输入顺序
"
,
trigger
:
"
blur
"
},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
dept/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改部门信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
dept/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增部门信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
dept/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
部门信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
parentId
:
null
,
ancestors
:
""
,
deptName
:
""
,
deptStatus
:
1
,
orderNum
:
0
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/dept/list.vue
View file @
03067487
<
template
>
<div
class=
"page"
>
<LayoutTable
ref=
"layoutTable"
:data=
"tableData"
:config=
"tableConfig"
notDel
/
>
<dialog-show
ref=
"dialogform"
@
ok=
"getData"
/
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
</LayoutTable
>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
import
{
handleTree
}
from
"
@/assets/utils/index
"
;
import
Treeselect
from
"
@riophae/vue-treeselect
"
;
import
"
@riophae/vue-treeselect/dist/vue-treeselect.css
"
;
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
name
:
"
Dept
"
,
name
:
"
DeptList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
components
:
{
Treeselect
,
dialogShow
},
created
()
{
},
methods
:
{
afterRender
(
data
)
{
console
.
log
(
"
data
"
,
data
)
data
.
data
=
handleTree
(
data
.
data
,
"
id
"
,
"
parentId
"
);
this
.
deptOptions
=
data
.
data
;
this
.
$refs
.
layoutTable
.
showType
=
"
treetable
"
},
handleAdd
(
row
)
{
this
.
$refs
.
dialogform
.
add
(
row
,
this
.
deptOptions
);
},
/** 重写新增方法 */
toAdd
(
row
)
{
console
.
log
(
"
deptOptions
"
,
this
.
deptOptions
)
this
.
$refs
.
dialogform
.
add
(
row
,
this
.
deptOptions
);
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
loading
=
true
;
this
.
$post
(
this
.
pageInfo
.
exclude
+
"
?id=
"
+
row
.
id
,{})
.
then
((
res
)
=>
{
if
(
res
&&
res
.
code
&&
res
.
code
==
1
)
{
this
.
deptOptions
=
handleTree
(
res
.
data
.
result
);
this
.
$refs
.
dialogform
.
edit
(
row
,
this
.
deptOptions
);
this
.
loading
=
false
;
}
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
error
.
message
);
});
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
d
ialogform
.
view
(
row
,
this
.
deptOptions
);
this
.
$refs
.
d
rawerform
.
view
(
row
);
},
afterDel
(
data
)
{
this
.
getData
()
},
},
data
()
{
return
{
config
:
{
/** 树表是否默认展开 */
expand
:
true
,
showType
:
"
treetable
"
,
search
:
[
{
name
:
"
deptName
"
,
name
:
"
orderNum
"
,
type
:
"
text
"
,
label
:
"
部门名称
"
,
label
:
"
顺序
"
,
fuzzy
:
true
}
},
{
name
:
"
createUserId
"
,
type
:
"
text
"
,
label
:
"
创建用户
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
祖级列表
"
,
prop
:
"
ancestors
"
},
{
label
:
"
部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
部门状态
"
,
prop
:
"
deptStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
部门状态
"
,
prop
:
"
deptStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
顺序
"
,
prop
:
"
orderNum
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
2
8
0
,
width
:
2
4
0
,
formatter
:
row
=>
{
return
(
<
div
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit-outline
"
onClick
=
{()
=>
{
this
.
handleAdd
(
row
);
}}
>
新增
<
/el-button
>
<
table
-
buttons
noAdd
noView
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
/div
>
);
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
...
...
@@ -108,4 +79,4 @@
};
}
};
</
script
>
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/job/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<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=
"请输入备注"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
职位信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
],
// 表单校验
rules
:
{
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
job/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改职位信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
job/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增职位信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
job/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
职位信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
groupId
:
null
,
groupName
:
""
,
jobCode
:
""
,
jobName
:
""
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/job/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<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=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
JobDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
job
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
职位信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
],
toDate
:[
],
// 表单校验
rules
:
{
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
job/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改职位信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
job/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增职位信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
job/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
职位信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
groupId
:
null
,
groupName
:
""
,
jobCode
:
""
,
jobName
:
""
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/job/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
JobList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
"
groupName
"
,
type
:
"
text
"
,
label
:
"
分组名称
"
,
fuzzy
:
true
},
{
name
:
"
jobCode
"
,
type
:
"
text
"
,
label
:
"
职位编码
"
,
fuzzy
:
true
},
{
name
:
"
jobName
"
,
type
:
"
text
"
,
label
:
"
职位名称
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
分组名称
"
,
prop
:
"
groupName
"
},
{
label
:
"
职位编码
"
,
prop
:
"
jobCode
"
},
{
label
:
"
职位名称
"
,
prop
:
"
jobName
"
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/job/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"分组id"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.groupId}}
</el-descriptions-item>
<el-descriptions-item
label=
"分组名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.groupName}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位编码"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobCode}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobName}}
</el-descriptions-item>
<el-descriptions-item
label=
"备注"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/adjust/log/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"fullName"
v-model=
"form.fullName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别1男2女"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别1男2女"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型1全职2兼职3实习"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型1全职2兼职3实习"
/>
<Field
label=
"员工状态1正式2试用3离职"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态1正式2试用3离职"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"调岗后所属部门"
prop=
"newDeptId"
v-model=
"form.newDeptId"
placeholder=
"请输入调岗后所属部门"
/>
<Field
label=
"调岗后所属部门名称"
prop=
"newDeptName"
v-model=
"form.newDeptName"
placeholder=
"请输入调岗后所属部门名称"
/>
<Field
label=
"调岗后职位ID"
prop=
"newJobId"
v-model=
"form.newJobId"
placeholder=
"请输入调岗后职位ID"
/>
<Field
label=
"调岗后职位名称"
prop=
"newJobName"
v-model=
"form.newJobName"
placeholder=
"请输入调岗后职位名称"
/>
<Field
label=
"审核状态0待审核1通过2拒绝"
prop=
"auditStatus"
v-model=
"form.auditStatus"
type=
"select"
:enumData=
"dict.auditStatus"
placeholder=
"请选择审核状态0待审核1通过2拒绝"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工调岗信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
auditStatus
"
,
],
// 表单校验
rules
:
{
fullName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/adjust/log/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工调岗信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/adjust/log/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工调岗信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/adjust/log/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工调岗信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
fullName
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
jobId
:
null
,
jobName
:
""
,
staffType
:
1
,
status
:
1
,
entryDate
:
null
,
newDeptId
:
null
,
newDeptName
:
""
,
newJobId
:
null
,
newJobName
:
""
,
auditStatus
:
0
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/adjust/log/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"fullName"
v-model=
"form.fullName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别1男2女"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别1男2女"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型1全职2兼职3实习"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型1全职2兼职3实习"
/>
<Field
label=
"员工状态1正式2试用3离职"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态1正式2试用3离职"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"调岗后所属部门"
prop=
"newDeptId"
v-model=
"form.newDeptId"
placeholder=
"请输入调岗后所属部门"
/>
<Field
label=
"调岗后所属部门名称"
prop=
"newDeptName"
v-model=
"form.newDeptName"
placeholder=
"请输入调岗后所属部门名称"
/>
<Field
label=
"调岗后职位ID"
prop=
"newJobId"
v-model=
"form.newJobId"
placeholder=
"请输入调岗后职位ID"
/>
<Field
label=
"调岗后职位名称"
prop=
"newJobName"
v-model=
"form.newJobName"
placeholder=
"请输入调岗后职位名称"
/>
<Field
label=
"审核状态0待审核1通过2拒绝"
prop=
"auditStatus"
v-model=
"form.auditStatus"
type=
"select"
:enumData=
"dict.auditStatus"
placeholder=
"请选择审核状态0待审核1通过2拒绝"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
StaffAdjustLogDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
staff/adjust/log
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工调岗信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
auditStatus
"
,
],
toDate
:[
"
birthday
"
,
"
entryDate
"
,
],
// 表单校验
rules
:
{
fullName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/adjust/log/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工调岗信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/adjust/log/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工调岗信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/adjust/log/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工调岗信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
fullName
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
jobId
:
null
,
jobName
:
""
,
staffType
:
1
,
status
:
1
,
entryDate
:
null
,
newDeptId
:
null
,
newDeptName
:
""
,
newJobId
:
null
,
newJobName
:
""
,
auditStatus
:
0
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/adjust/log/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
StaffAdjustLogList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
"
fullName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
},
{
name
:
"
gender
"
,
type
:
"
text
"
,
label
:
"
性别1男2女
"
,
fuzzy
:
true
},
{
name
:
"
politicalstatus
"
,
type
:
"
select
"
,
label
:
"
政治面貌
"
,
fuzzy
:
true
},
{
name
:
"
staffType
"
,
type
:
"
text
"
,
label
:
"
员工类型1全职2兼职3实习
"
,
fuzzy
:
true
},
{
name
:
"
status
"
,
type
:
"
text
"
,
label
:
"
员工状态1正式2试用3离职
"
,
fuzzy
:
true
},
{
name
:
"
auditStatus
"
,
type
:
"
text
"
,
label
:
"
审核状态0待审核1通过2拒绝
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
fullName
"
},
{
label
:
"
性别1男2女
"
,
prop
:
"
gender
"
,
formatter
:
this
.
formatter
},
{
label
:
"
政治面貌
"
,
prop
:
"
politicalstatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工类型1全职2兼职3实习
"
,
prop
:
"
staffType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工状态1正式2试用3离职
"
,
prop
:
"
status
"
,
formatter
:
this
.
formatter
},
{
label
:
"
入职时间
"
,
prop
:
"
entryDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
审核状态0待审核1通过2拒绝
"
,
prop
:
"
auditStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/adjust/log/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"员工ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工姓名"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.fullName}}
</el-descriptions-item>
<el-descriptions-item
label=
"性别1男2女"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.gender}}
</el-descriptions-item>
<el-descriptions-item
label=
"出生日期"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.birthday)}}
</el-descriptions-item>
<el-descriptions-item
label=
"照片"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.photoPath}}
</el-descriptions-item>
<el-descriptions-item
label=
"联系电话"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.phoneNumber}}
</el-descriptions-item>
<el-descriptions-item
label=
"身份证号码"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.idCard}}
</el-descriptions-item>
<el-descriptions-item
label=
"工号"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item
label=
"政治面貌 "
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("politicalstatus", form.politicalstatus) }}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobId}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobName}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工类型1全职2兼职3实习"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffType}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工状态1正式2试用3离职"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.status}}
</el-descriptions-item>
<el-descriptions-item
label=
"入职时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.entryDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"调岗后所属部门"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.newDeptId}}
</el-descriptions-item>
<el-descriptions-item
label=
"调岗后所属部门名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.newDeptName}}
</el-descriptions-item>
<el-descriptions-item
label=
"调岗后职位ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.newJobId}}
</el-descriptions-item>
<el-descriptions-item
label=
"调岗后职位名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.newJobName}}
</el-descriptions-item>
<el-descriptions-item
label=
"审核状态0待审核1通过2拒绝"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.auditStatus}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
auditStatus
"
,
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/black/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"离职原因"
prop=
"leaveReason"
v-model=
"form.leaveReason"
type=
"textarea"
placeholder=
"请输入离职原因"
/>
<Field
label=
"拉黑时间"
prop=
"blackDate"
v-model=
"form.blackDate"
type=
"date"
/>
<Field
label=
"拉黑原因"
prop=
"blackReason"
v-model=
"form.blackReason"
type=
"textarea"
placeholder=
"请输入拉黑原因"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工黑名单信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/black/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工黑名单信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/black/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工黑名单信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/black/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工黑名单信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
leaveDate
:
null
,
leaveReason
:
""
,
blackDate
:
null
,
blackReason
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/black/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"离职原因"
prop=
"leaveReason"
v-model=
"form.leaveReason"
type=
"textarea"
placeholder=
"请输入离职原因"
/>
<Field
label=
"拉黑时间"
prop=
"blackDate"
v-model=
"form.blackDate"
type=
"date"
/>
<Field
label=
"拉黑原因"
prop=
"blackReason"
v-model=
"form.blackReason"
type=
"textarea"
placeholder=
"请输入拉黑原因"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
StaffBlackDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
staff/black
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工黑名单信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
],
toDate
:[
"
leaveDate
"
,
"
blackDate
"
,
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/black/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工黑名单信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/black/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工黑名单信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/black/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工黑名单信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
leaveDate
:
null
,
leaveReason
:
""
,
blackDate
:
null
,
blackReason
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/black/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
StaffBlackList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
离职时间
"
,
prop
:
"
leaveDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
拉黑时间
"
,
prop
:
"
blackDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/black/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"员工姓名"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item
label=
"联系电话"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.phoneNumber}}
</el-descriptions-item>
<el-descriptions-item
label=
"身份证号码"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.idCard}}
</el-descriptions-item>
<el-descriptions-item
label=
"离职时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.leaveDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"离职原因"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.leaveReason}}
</el-descriptions-item>
<el-descriptions-item
label=
"拉黑时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.blackDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"拉黑原因"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.blackReason}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/care/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"关怀类型"
prop=
"careType"
v-model=
"form.careType"
type=
"select"
:enumData=
"dict.careType"
placeholder=
"请选择关怀类型"
/>
<Field
label=
"发送状态"
prop=
"sendStatus"
v-model=
"form.sendStatus"
type=
"select"
:enumData=
"dict.sendStatus"
placeholder=
"请选择发送状态"
/>
<Field
label=
"关怀内容"
><editor
v-model=
"form.content"
:min-height=
"256"
/></Field>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
import
Editor
from
'
@/components/Editor
'
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
Editor
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工关怀信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
"
careType
"
,
"
sendStatus
"
,
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/care/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工关怀信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/care/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工关怀信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/care/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工关怀信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
birthday
:
null
,
deptId
:
null
,
deptName
:
""
,
jobId
:
null
,
jobName
:
""
,
entryDate
:
null
,
careType
:
1
,
sendStatus
:
0
,
content
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/care/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"关怀类型"
prop=
"careType"
v-model=
"form.careType"
type=
"select"
:enumData=
"dict.careType"
placeholder=
"请选择关怀类型"
/>
<Field
label=
"发送状态"
prop=
"sendStatus"
v-model=
"form.sendStatus"
type=
"select"
:enumData=
"dict.sendStatus"
placeholder=
"请选择发送状态"
/>
<Field
label=
"关怀内容"
><editor
v-model=
"form.content"
:min-height=
"256"
/></Field>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
StaffCareDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
staff/care
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工关怀信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
careType
"
,
"
sendStatus
"
,
],
toDate
:[
"
birthday
"
,
"
entryDate
"
,
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/care/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工关怀信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/care/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工关怀信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/care/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工关怀信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
birthday
:
null
,
deptId
:
null
,
deptName
:
""
,
jobId
:
null
,
jobName
:
""
,
entryDate
:
null
,
careType
:
1
,
sendStatus
:
0
,
content
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/care/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
StaffCareList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
入职时间
"
,
prop
:
"
entryDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
关怀类型
"
,
prop
:
"
careType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
发送状态
"
,
prop
:
"
sendStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/care/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"员工姓名"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item
label=
"出生日期"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.birthday)}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobId}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobName}}
</el-descriptions-item>
<el-descriptions-item
label=
"入职时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.entryDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"关怀类型"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("careType", form.careType) }}
</el-descriptions-item>
<el-descriptions-item
label=
"发送状态"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("sendStatus", form.sendStatus) }}
</el-descriptions-item>
<el-descriptions-item
label=
"关怀内容"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
<editor
v-model=
"form.content"
:min-height=
"256"
/>
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
import
Editor
from
'
@/components/Editor
'
;
export
default
{
mixins
:
[
view
],
components
:
{
Editor
,
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
"
careType
"
,
"
sendStatus
"
,
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/contract/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"现合同开始时间"
prop=
"contractStartDate"
v-model=
"form.contractStartDate"
type=
"date"
/>
<Field
label=
"现合同到期时间"
prop=
"contractEndDate"
v-model=
"form.contractEndDate"
type=
"date"
/>
<Field
label=
"合同公司"
prop=
"contractCompany"
v-model=
"form.contractCompany"
type=
"textarea"
placeholder=
"请输入合同公司"
/>
<Field
label=
"合同类型"
prop=
"contractType"
v-model=
"form.contractType"
type=
"select"
:enumData=
"dict.contractType"
placeholder=
"请选择合同类型"
/>
<Field
label=
"新合同开始时间"
prop=
"newStartDate"
v-model=
"form.newStartDate"
type=
"date"
/>
<Field
label=
"新合同到期时间"
prop=
"newEndDate"
v-model=
"form.newEndDate"
type=
"date"
/>
<Field
label=
"审核状态"
prop=
"auditStatus"
v-model=
"form.auditStatus"
type=
"select"
:enumData=
"dict.auditStatus"
placeholder=
"请选择审核状态"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工合同信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
contractType
"
,
"
auditStatus
"
,
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/contract/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工合同信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/contract/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工合同信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/contract/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工合同信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
jobId
:
null
,
jobName
:
""
,
staffType
:
1
,
status
:
1
,
entryDate
:
null
,
contractStartDate
:
null
,
contractEndDate
:
null
,
contractCompany
:
""
,
contractType
:
1
,
newStartDate
:
null
,
newEndDate
:
null
,
auditStatus
:
0
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/contract/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"现合同开始时间"
prop=
"contractStartDate"
v-model=
"form.contractStartDate"
type=
"date"
/>
<Field
label=
"现合同到期时间"
prop=
"contractEndDate"
v-model=
"form.contractEndDate"
type=
"date"
/>
<Field
label=
"合同公司"
prop=
"contractCompany"
v-model=
"form.contractCompany"
type=
"textarea"
placeholder=
"请输入合同公司"
/>
<Field
label=
"合同类型"
prop=
"contractType"
v-model=
"form.contractType"
type=
"select"
:enumData=
"dict.contractType"
placeholder=
"请选择合同类型"
/>
<Field
label=
"新合同开始时间"
prop=
"newStartDate"
v-model=
"form.newStartDate"
type=
"date"
/>
<Field
label=
"新合同到期时间"
prop=
"newEndDate"
v-model=
"form.newEndDate"
type=
"date"
/>
<Field
label=
"审核状态"
prop=
"auditStatus"
v-model=
"form.auditStatus"
type=
"select"
:enumData=
"dict.auditStatus"
placeholder=
"请选择审核状态"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
StaffContractDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
staff/contract
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工合同信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
contractType
"
,
"
auditStatus
"
,
],
toDate
:[
"
birthday
"
,
"
entryDate
"
,
"
contractStartDate
"
,
"
contractEndDate
"
,
"
newStartDate
"
,
"
newEndDate
"
,
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/contract/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工合同信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/contract/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工合同信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/contract/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工合同信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
jobId
:
null
,
jobName
:
""
,
staffType
:
1
,
status
:
1
,
entryDate
:
null
,
contractStartDate
:
null
,
contractEndDate
:
null
,
contractCompany
:
""
,
contractType
:
1
,
newStartDate
:
null
,
newEndDate
:
null
,
auditStatus
:
0
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/contract/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
StaffContractList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
},
{
name
:
"
politicalstatus
"
,
type
:
"
select
"
,
label
:
"
政治面貌
"
,
fuzzy
:
true
},
{
name
:
"
staffType
"
,
type
:
"
select
"
,
label
:
"
员工类型
"
,
fuzzy
:
true
},
{
name
:
"
status
"
,
type
:
"
select
"
,
label
:
"
员工状态
"
,
fuzzy
:
true
},
{
name
:
"
auditStatus
"
,
type
:
"
select
"
,
label
:
"
审核状态
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
性别
"
,
prop
:
"
gender
"
,
formatter
:
this
.
formatter
},
{
label
:
"
政治面貌
"
,
prop
:
"
politicalstatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工类型
"
,
prop
:
"
staffType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工状态
"
,
prop
:
"
status
"
,
formatter
:
this
.
formatter
},
{
label
:
"
入职时间
"
,
prop
:
"
entryDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
现合同开始时间
"
,
prop
:
"
contractStartDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
现合同到期时间
"
,
prop
:
"
contractEndDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
合同类型
"
,
prop
:
"
contractType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
新合同开始时间
"
,
prop
:
"
newStartDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
新合同到期时间
"
,
prop
:
"
newEndDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
审核状态
"
,
prop
:
"
auditStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/contract/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"员工ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工姓名"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item
label=
"性别"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("gender", form.gender) }}
</el-descriptions-item>
<el-descriptions-item
label=
"出生日期"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.birthday)}}
</el-descriptions-item>
<el-descriptions-item
label=
"照片"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.photoPath}}
</el-descriptions-item>
<el-descriptions-item
label=
"联系电话"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.phoneNumber}}
</el-descriptions-item>
<el-descriptions-item
label=
"身份证号码"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.idCard}}
</el-descriptions-item>
<el-descriptions-item
label=
"工号"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item
label=
"政治面貌 "
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("politicalstatus", form.politicalstatus) }}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobId}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobName}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工类型"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("staffType", form.staffType) }}
</el-descriptions-item>
<el-descriptions-item
label=
"员工状态"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("status", form.status) }}
</el-descriptions-item>
<el-descriptions-item
label=
"入职时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.entryDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"现合同开始时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.contractStartDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"现合同到期时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.contractEndDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"合同公司"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.contractCompany}}
</el-descriptions-item>
<el-descriptions-item
label=
"合同类型"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("contractType", form.contractType) }}
</el-descriptions-item>
<el-descriptions-item
label=
"新合同开始时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.newStartDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"新合同到期时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.newEndDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"审核状态"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("auditStatus", form.auditStatus) }}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
contractType
"
,
"
auditStatus
"
,
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工姓名"
prop=
"name"
v-model=
"form.name"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"positionId"
v-model=
"form.positionId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"positionName"
v-model=
"form.positionName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职登记表"
prop=
"registerPath"
v-model=
"form.registerPath"
type=
"textarea"
placeholder=
"请输入入职登记表"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"转正时间"
prop=
"regularDate"
v-model=
"form.regularDate"
type=
"date"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工基本信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
],
// 表单校验
rules
:
{
name
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工基本信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工基本信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工基本信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
name
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
positionId
:
null
,
positionName
:
""
,
staffType
:
1
,
status
:
1
,
registerPath
:
""
,
entryDate
:
null
,
regularDate
:
null
,
leaveDate
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工姓名"
prop=
"name"
v-model=
"form.name"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"positionId"
v-model=
"form.positionId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"positionName"
v-model=
"form.positionName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职登记表"
prop=
"registerPath"
v-model=
"form.registerPath"
type=
"textarea"
placeholder=
"请输入入职登记表"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"转正时间"
prop=
"regularDate"
v-model=
"form.regularDate"
type=
"date"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
StaffDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
staff
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工基本信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
],
toDate
:[
"
birthday
"
,
"
entryDate
"
,
"
regularDate
"
,
"
leaveDate
"
,
],
// 表单校验
rules
:
{
name
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工基本信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工基本信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工基本信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
name
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
positionId
:
null
,
positionName
:
""
,
staffType
:
1
,
status
:
1
,
registerPath
:
""
,
entryDate
:
null
,
regularDate
:
null
,
leaveDate
:
null
,
remark
:
""
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/leave/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"离职原因"
prop=
"leaveReason"
v-model=
"form.leaveReason"
type=
"textarea"
placeholder=
"请输入离职原因"
/>
<Field
label=
"审核状态"
prop=
"auditStatus"
v-model=
"form.auditStatus"
type=
"select"
:enumData=
"dict.auditStatus"
placeholder=
"请选择审核状态"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工离职信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
auditStatus
"
,
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/leave/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工离职信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/leave/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工离职信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/leave/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工离职信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
jobId
:
null
,
jobName
:
""
,
staffType
:
1
,
status
:
1
,
entryDate
:
null
,
leaveDate
:
null
,
leaveReason
:
""
,
auditStatus
:
0
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/leave/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"离职时间"
prop=
"leaveDate"
v-model=
"form.leaveDate"
type=
"date"
/>
<Field
label=
"离职原因"
prop=
"leaveReason"
v-model=
"form.leaveReason"
type=
"textarea"
placeholder=
"请输入离职原因"
/>
<Field
label=
"审核状态"
prop=
"auditStatus"
v-model=
"form.auditStatus"
type=
"select"
:enumData=
"dict.auditStatus"
placeholder=
"请选择审核状态"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
StaffLeaveDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
staff/leave
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工离职信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
auditStatus
"
,
],
toDate
:[
"
birthday
"
,
"
entryDate
"
,
"
leaveDate
"
,
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/leave/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工离职信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/leave/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工离职信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/leave/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工离职信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
jobId
:
null
,
jobName
:
""
,
staffType
:
1
,
status
:
1
,
entryDate
:
null
,
leaveDate
:
null
,
leaveReason
:
""
,
auditStatus
:
0
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/leave/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
StaffLeaveList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
},
{
name
:
"
politicalstatus
"
,
type
:
"
select
"
,
label
:
"
政治面貌
"
,
fuzzy
:
true
},
{
name
:
"
staffType
"
,
type
:
"
select
"
,
label
:
"
员工类型
"
,
fuzzy
:
true
},
{
name
:
"
status
"
,
type
:
"
select
"
,
label
:
"
员工状态
"
,
fuzzy
:
true
},
{
name
:
"
auditStatus
"
,
type
:
"
select
"
,
label
:
"
审核状态
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
性别
"
,
prop
:
"
gender
"
,
formatter
:
this
.
formatter
},
{
label
:
"
政治面貌
"
,
prop
:
"
politicalstatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工类型
"
,
prop
:
"
staffType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工状态
"
,
prop
:
"
status
"
,
formatter
:
this
.
formatter
},
{
label
:
"
入职时间
"
,
prop
:
"
entryDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
离职时间
"
,
prop
:
"
leaveDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
审核状态
"
,
prop
:
"
auditStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/leave/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"员工ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工姓名"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item
label=
"性别"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("gender", form.gender) }}
</el-descriptions-item>
<el-descriptions-item
label=
"出生日期"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.birthday)}}
</el-descriptions-item>
<el-descriptions-item
label=
"照片"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.photoPath}}
</el-descriptions-item>
<el-descriptions-item
label=
"联系电话"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.phoneNumber}}
</el-descriptions-item>
<el-descriptions-item
label=
"身份证号码"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.idCard}}
</el-descriptions-item>
<el-descriptions-item
label=
"工号"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item
label=
"政治面貌 "
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("politicalstatus", form.politicalstatus) }}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobId}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobName}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工类型"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("staffType", form.staffType) }}
</el-descriptions-item>
<el-descriptions-item
label=
"员工状态"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("status", form.status) }}
</el-descriptions-item>
<el-descriptions-item
label=
"入职时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.entryDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"离职时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.leaveDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"离职原因"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.leaveReason}}
</el-descriptions-item>
<el-descriptions-item
label=
"审核状态"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("auditStatus", form.auditStatus) }}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
auditStatus
"
,
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
StaffList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
"
name
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
},
{
name
:
"
politicalstatus
"
,
type
:
"
select
"
,
label
:
"
政治面貌
"
,
fuzzy
:
true
},
{
name
:
"
staffType
"
,
type
:
"
select
"
,
label
:
"
员工类型
"
,
fuzzy
:
true
},
{
name
:
"
status
"
,
type
:
"
select
"
,
label
:
"
员工状态
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
name
"
},
{
label
:
"
性别
"
,
prop
:
"
gender
"
,
formatter
:
this
.
formatter
},
{
label
:
"
政治面貌
"
,
prop
:
"
politicalstatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工类型
"
,
prop
:
"
staffType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工状态
"
,
prop
:
"
status
"
,
formatter
:
this
.
formatter
},
{
label
:
"
入职时间
"
,
prop
:
"
entryDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
转正时间
"
,
prop
:
"
regularDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
离职时间
"
,
prop
:
"
leaveDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/regular/dialogshow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"计划转正时间"
prop=
"regularDate"
v-model=
"form.regularDate"
type=
"date"
/>
<Field
label=
"审核状态"
prop=
"auditStatus"
v-model=
"form.auditStatus"
type=
"select"
:enumData=
"dict.auditStatus"
placeholder=
"请选择审核状态"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工转正信息
"
,
// 是否显示弹出层
open
:
false
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
auditStatus
"
,
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/regular/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工转正信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/regular/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工转正信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/regular/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工转正信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
jobId
:
null
,
jobName
:
""
,
staffType
:
1
,
status
:
1
,
entryDate
:
null
,
regularDate
:
null
,
auditStatus
:
0
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/regular/drawershow.vue
0 → 100644
View file @
03067487
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<Field
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
label=
"照片"
prop=
"photoPath"
v-model=
"form.photoPath"
type=
"textarea"
placeholder=
"请输入照片"
/>
<Field
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<Field
label=
"政治面貌 "
prop=
"politicalstatus"
v-model=
"form.politicalstatus"
type=
"select"
:enumData=
"dict.politicalstatus"
placeholder=
"请选择政治面貌 "
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"职位ID"
prop=
"jobId"
v-model=
"form.jobId"
placeholder=
"请输入职位ID"
/>
<Field
label=
"职位名称"
prop=
"jobName"
v-model=
"form.jobName"
placeholder=
"请输入职位名称"
/>
<Field
label=
"员工类型"
prop=
"staffType"
v-model=
"form.staffType"
type=
"select"
:enumData=
"dict.staffType"
placeholder=
"请选择员工类型"
/>
<Field
label=
"员工状态"
prop=
"status"
v-model=
"form.status"
type=
"select"
:enumData=
"dict.status"
placeholder=
"请选择员工状态"
/>
<Field
label=
"入职时间"
prop=
"entryDate"
v-model=
"form.entryDate"
type=
"date"
/>
<Field
label=
"计划转正时间"
prop=
"regularDate"
v-model=
"form.regularDate"
type=
"date"
/>
<Field
label=
"审核状态"
prop=
"auditStatus"
v-model=
"form.auditStatus"
type=
"select"
:enumData=
"dict.auditStatus"
placeholder=
"请选择审核状态"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
StaffRegularDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
staff/regular
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
员工转正信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
auditStatus
"
,
],
toDate
:[
"
birthday
"
,
"
entryDate
"
,
"
regularDate
"
,
],
// 表单校验
rules
:
{
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
createTime
:
[
{
required
:
true
,
message
:
"
请选择创建时间
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/regular/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改员工转正信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
staff/regular/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增员工转正信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
staff/regular/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
员工转正信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
workNum
:
""
,
politicalstatus
:
1
,
deptId
:
null
,
deptName
:
""
,
jobId
:
null
,
jobName
:
""
,
staffType
:
1
,
status
:
1
,
entryDate
:
null
,
regularDate
:
null
,
auditStatus
:
0
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
attendance-performance-manager-ui/admin/src/views/staff/regular/list.vue
0 → 100644
View file @
03067487
<
template
>
<div
class=
"page"
>
<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
{
name
:
"
StaffRegularList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
员工姓名
"
,
fuzzy
:
true
},
{
name
:
"
politicalstatus
"
,
type
:
"
select
"
,
label
:
"
政治面貌
"
,
fuzzy
:
true
},
{
name
:
"
staffType
"
,
type
:
"
select
"
,
label
:
"
员工类型
"
,
fuzzy
:
true
},
{
name
:
"
status
"
,
type
:
"
select
"
,
label
:
"
员工状态
"
,
fuzzy
:
true
},
{
name
:
"
auditStatus
"
,
type
:
"
select
"
,
label
:
"
审核状态
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
性别
"
,
prop
:
"
gender
"
,
formatter
:
this
.
formatter
},
{
label
:
"
政治面貌
"
,
prop
:
"
politicalstatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工类型
"
,
prop
:
"
staffType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工状态
"
,
prop
:
"
status
"
,
formatter
:
this
.
formatter
},
{
label
:
"
入职时间
"
,
prop
:
"
entryDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
计划转正时间
"
,
prop
:
"
regularDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
审核状态
"
,
prop
:
"
auditStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/regular/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"员工ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工姓名"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item
label=
"性别"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("gender", form.gender) }}
</el-descriptions-item>
<el-descriptions-item
label=
"出生日期"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.birthday)}}
</el-descriptions-item>
<el-descriptions-item
label=
"照片"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.photoPath}}
</el-descriptions-item>
<el-descriptions-item
label=
"联系电话"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.phoneNumber}}
</el-descriptions-item>
<el-descriptions-item
label=
"身份证号码"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.idCard}}
</el-descriptions-item>
<el-descriptions-item
label=
"工号"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item
label=
"政治面貌 "
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("politicalstatus", form.politicalstatus) }}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobId}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.jobName}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工类型"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("staffType", form.staffType) }}
</el-descriptions-item>
<el-descriptions-item
label=
"员工状态"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("status", form.status) }}
</el-descriptions-item>
<el-descriptions-item
label=
"入职时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.entryDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"计划转正时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.regularDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"审核状态"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("auditStatus", form.auditStatus) }}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
"
auditStatus
"
,
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/views/staff/view.vue
0 → 100644
View file @
03067487
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"员工姓名"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.name}}
</el-descriptions-item>
<el-descriptions-item
label=
"性别"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("gender", form.gender) }}
</el-descriptions-item>
<el-descriptions-item
label=
"出生日期"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.birthday)}}
</el-descriptions-item>
<el-descriptions-item
label=
"照片"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.photoPath}}
</el-descriptions-item>
<el-descriptions-item
label=
"联系电话"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.phoneNumber}}
</el-descriptions-item>
<el-descriptions-item
label=
"身份证号码"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.idCard}}
</el-descriptions-item>
<el-descriptions-item
label=
"工号"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item
label=
"政治面貌 "
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("politicalstatus", form.politicalstatus) }}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item
label=
"所属部门名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.positionId}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.positionName}}
</el-descriptions-item>
<el-descriptions-item
label=
"员工类型"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("staffType", form.staffType) }}
</el-descriptions-item>
<el-descriptions-item
label=
"员工状态"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("status", form.status) }}
</el-descriptions-item>
<el-descriptions-item
label=
"入职登记表"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.registerPath}}
</el-descriptions-item>
<el-descriptions-item
label=
"入职时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.entryDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"转正时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.regularDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"离职时间"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.leaveDate)}}
</el-descriptions-item>
<el-descriptions-item
label=
"备注"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
"
gender
"
,
"
politicalstatus
"
,
"
staffType
"
,
"
status
"
,
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
attendance-performance-manager/src/test/java/com/mortals/httpclient/http-client.env.json
View file @
03067487
{
"local"
:
{
"baseUrl"
:
"http://127.0.0.1:17400/refined"
,
"baseLogin"
:
"http://127.0.0.1:18222/m"
"baseUrl"
:
"http://127.0.0.1:17500/attendance"
},
"test"
:
{
"baseUrl"
:
"http://192.168.0.98:110
91/m
"
,
"baseUrl"
:
"http://192.168.0.98:110
39/attendance
"
,
"baseLogin"
:
"http://192.168.0.98:11078/base"
},
"portal"
:
{
...
...
db/module.sql
View file @
03067487
...
...
@@ -364,7 +364,7 @@ CREATE TABLE mortals_xhx_attendance_leave_record(
`duration`
int
(
9
)
COMMENT
'时长,单位秒'
,
`reason`
text
COMMENT
'请假事由'
,
`approverId`
bigint
(
20
)
COMMENT
'审批负责人Id'
,
`approver`
varchar
COMMENT
'审批负责人'
,
`approver`
varchar
(
64
)
COMMENT
'审批负责人'
,
`attachment`
varchar
(
255
)
COMMENT
'附件'
,
`attachmentPath`
varchar
(
255
)
COMMENT
'附件路径'
,
`remark`
varchar
(
255
)
COMMENT
'备注'
,
...
...
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