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
4f1e4230
Commit
4f1e4230
authored
Jul 08, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
a89d6076
0786c9be
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
4192 additions
and
1555 deletions
+4192
-1555
attendance-performance-manager-ui/admin/src/assets/images/circle.svg
...performance-manager-ui/admin/src/assets/images/circle.svg
+7
-0
attendance-performance-manager-ui/admin/src/components/Table.vue
...nce-performance-manager-ui/admin/src/components/Table.vue
+0
-2
attendance-performance-manager-ui/admin/src/views/perform/attend/record/drawershow.vue
...r-ui/admin/src/views/perform/attend/record/drawershow.vue
+427
-147
attendance-performance-manager-ui/admin/src/views/perform/attend/record/list.vue
...manager-ui/admin/src/views/perform/attend/record/list.vue
+238
-184
attendance-performance-manager-ui/admin/src/views/perform/attend/record/list(原考勤绩效管理).vue
...i/admin/src/views/perform/attend/record/list(原考勤绩效管理).vue
+246
-0
attendance-performance-manager-ui/admin/src/views/perform/complain/record/list(原投诉绩效管理).vue
...admin/src/views/perform/complain/record/list(原投诉绩效管理).vue
+240
-0
attendance-performance-manager-ui/admin/src/views/perform/complain/record/list.vue
...nager-ui/admin/src/views/perform/complain/record/list.vue
+242
-184
attendance-performance-manager-ui/admin/src/views/perform/effect/record/list.vue
...manager-ui/admin/src/views/perform/effect/record/list.vue
+245
-186
attendance-performance-manager-ui/admin/src/views/perform/effect/record/list(原效能绩效管理).vue
...i/admin/src/views/perform/effect/record/list(原效能绩效管理).vue
+252
-0
attendance-performance-manager-ui/admin/src/views/perform/gowork/record/drawershow.vue
...r-ui/admin/src/views/perform/gowork/record/drawershow.vue
+439
-138
attendance-performance-manager-ui/admin/src/views/perform/gowork/record/list.vue
...manager-ui/admin/src/views/perform/gowork/record/list.vue
+247
-195
attendance-performance-manager-ui/admin/src/views/perform/gowork/record/list(原办件绩效管理).vue
...i/admin/src/views/perform/gowork/record/list(原办件绩效管理).vue
+232
-0
attendance-performance-manager-ui/admin/src/views/perform/other/record/drawershow.vue
...er-ui/admin/src/views/perform/other/record/drawershow.vue
+394
-139
attendance-performance-manager-ui/admin/src/views/perform/other/record/list.vue
...-manager-ui/admin/src/views/perform/other/record/list.vue
+242
-185
attendance-performance-manager-ui/admin/src/views/perform/other/record/list(原其他绩效管理).vue
...ui/admin/src/views/perform/other/record/list(原其他绩效管理).vue
+246
-0
attendance-performance-manager-ui/admin/src/views/perform/review/record/list.vue
...manager-ui/admin/src/views/perform/review/record/list.vue
+257
-195
attendance-performance-manager-ui/admin/src/views/perform/review/record/list(原评价绩效管理).vue
...i/admin/src/views/perform/review/record/list(原评价绩效管理).vue
+238
-0
No files found.
attendance-performance-manager-ui/admin/src/assets/images/circle.svg
0 → 100644
View file @
4f1e4230
<?xml version="1.0" encoding="utf-8"?>
<svg
version=
"1.1"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"80px"
height=
"80px"
xmlns=
"http://www.w3.org/2000/svg"
>
<g
transform=
"matrix(1 0 0 1 -616 -81 )"
>
<path
d=
"M 656 82 C 677.84 82 695 99.16 695 121 C 695 142.84 677.84 160 656 160 C 634.16 160 617 142.84 617 121 C 617 99.16 634.16 82 656 82 Z "
fill-rule=
"nonzero"
fill=
"#535353"
stroke=
"none"
fill-opacity=
"0.0784313725490196"
/>
<path
d=
"M 656 82 C 677.84 82 695 99.16 695 121 C 695 142.84 677.84 160 656 160 C 634.16 160 617 142.84 617 121 C 617 99.16 634.16 82 656 82 Z "
stroke-width=
"2"
stroke=
"#bbbbbb"
fill=
"none"
/>
</g>
</svg>
\ No newline at end of file
attendance-performance-manager-ui/admin/src/components/Table.vue
View file @
4f1e4230
...
@@ -21,7 +21,6 @@
...
@@ -21,7 +21,6 @@
v-if=
"isShowButton('notAdd')"
v-if=
"isShowButton('notAdd')"
type=
"primary"
type=
"primary"
icon=
"el-icon-plus"
icon=
"el-icon-plus"
plain
size=
"mini"
size=
"mini"
@
click=
"config.methods.add"
@
click=
"config.methods.add"
title=
"新增"
title=
"新增"
...
@@ -56,7 +55,6 @@
...
@@ -56,7 +55,6 @@
icon=
"el-icon-delete"
icon=
"el-icon-delete"
type=
"danger"
type=
"danger"
size=
"mini"
size=
"mini"
plain
title=
"批量删除"
title=
"批量删除"
>
批量删除
</el-button
>
批量删除
</el-button
>
>
...
...
attendance-performance-manager-ui/admin/src/views/perform/attend/record/drawershow.vue
View file @
4f1e4230
...
@@ -4,49 +4,315 @@
...
@@ -4,49 +4,315 @@
:title=
"title"
:title=
"title"
:visible.sync=
"open"
:visible.sync=
"open"
:direction=
"direction"
:direction=
"direction"
size=
"50%"
>
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<el-col
:span=
"22"
>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<el-form-item
label=
"姓名:"
>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<el-select
v-model=
"form.staffId"
style=
"width: 100%;"
>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<el-option
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
v-for=
"item in staffArr"
<Field
label=
"所属考勤组ID"
prop=
"attendanceGroupId"
v-model=
"form.attendanceGroupId"
placeholder=
"请输入所属考勤组ID"
/>
:key=
"item.value"
<Field
label=
"所属考勤组名称"
prop=
"attendanceGroupName"
v-model=
"form.attendanceGroupName"
placeholder=
"请输入所属考勤组名称"
/>
:label=
"item.label"
<Field
label=
"考勤时间"
prop=
"attendanceDate"
v-model=
"form.attendanceDate"
type=
"date"
/>
:value=
"item.value"
<Field
label=
"绩效规则id"
prop=
"ruleId"
v-model=
"form.ruleId"
placeholder=
"请输入绩效规则id"
/>
>
<Field
label=
"规则名称"
prop=
"ruleNme"
v-model=
"form.ruleNme"
placeholder=
"请输入规则名称"
/>
</el-option
<Field
label=
"异常时间"
prop=
"errorTime"
v-model=
"form.errorTime"
type=
"date"
/>
></el-select>
<Field
label=
"上下班时间"
prop=
"goOffTimeStr"
v-model=
"form.goOffTimeStr"
placeholder=
"请输入上下班时间"
/>
</el-form-item>
<Field
label=
"实际打卡时间"
prop=
"actualAttendTime"
v-model=
"form.actualAttendTime"
type=
"date"
/>
</el-col>
<Field
label=
"异常处理结果"
prop=
"errorResult"
v-model=
"form.errorResult"
placeholder=
"请输入异常处理结果"
/>
</el-row>
<Field
label=
"扣分方式"
prop=
"subMethod"
v-model=
"form.subMethod"
type=
"select"
:enumData=
"dict.subMethod"
placeholder=
"请选择扣分方式"
/>
<el-row>
<Field
label=
"扣分人员"
prop=
"deductPerson"
v-model=
"form.deductPerson"
placeholder=
"请输入扣分人员"
/>
<el-col
:span=
"22"
>
<Field
label=
"扣分时间"
prop=
"deductTime"
v-model=
"form.deductTime"
type=
"date"
/>
<el-form-item
label=
"所属部门:"
>
<Field
label=
"增减类型"
prop=
"subAddType"
v-model=
"form.subAddType"
type=
"select"
:enumData=
"dict.subAddType"
placeholder=
"请选择增减类型"
/>
<el-select
v-model=
"form.deptId"
style=
"width: 100%;"
>
<Field
label=
"扣分或增加分值"
prop=
"score"
v-model=
"form.score"
placeholder=
"请输入扣分或增加分值"
/>
<el-option
<Field
label=
"处理状态"
prop=
"processStatus"
v-model=
"form.processStatus"
type=
"select"
:enumData=
"dict.processStatus"
placeholder=
"请选择处理状态"
/>
v-for=
"item in deptArr"
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option
></el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"窗口编号:"
>
<el-input
v-model=
"form.windowNum"
placeholder=
"请输入窗口编号"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"考勤组:"
>
<el-select
v-model=
"form.attendanceGroupId"
style=
"width: 100%;"
>
<el-option
v-for=
"item in kaoqinArr"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option
></el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"异常时间:"
>
<el-date-picker
v-model=
"form.errorTime"
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"实际打卡时间:"
>
<el-time-select
v-model=
"form.actualAttendTime"
:picker-options=
"
{
start: '06:00',
step: '00:15',
end: '18:30',
}"
placeholder="选择时间"
style="width: 100%;"
>
</el-time-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"图片凭证:"
>
<el-upload
class=
"upload-demo"
action=
"https://jsonplaceholder.typicode.com/posts/"
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:before-remove=
"beforeRemove"
multiple
:limit=
"3"
:on-exceed=
"handleExceed"
:file-list=
"fileList"
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传jpg/png等图片文件
</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"绩效规则:"
>
<el-col
:span=
"22"
>
<el-select
v-model=
"form.attendanceGroupId"
style=
"width: 100%;"
>
<el-option
v-for=
"item in kaoqinArr"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option
></el-select>
</el-col>
<el-col
:span=
"22"
>
<el-select
v-model=
"form.attendanceGroupId"
style=
"width: 100%;margin-top: 10px;"
>
<el-option
v-for=
"item in kaoqinArr"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option></el-select
></el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"扣分分值:"
>
<p>
{{
form
.
score
}}
</p>
</el-form-item>
</el-col>
</el-row>
</el-row>
<form-buttons
@
submit=
'submitForm'
v-if=
"pageInfo.type!='view'"
noCancelBtn
/>
<form-buttons
@
submit=
"submitForm"
v-if=
"pageInfo.type != 'view'"
noCancelBtn
/>
</el-form>
</el-form>
<!--
<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=
"attendanceGroupId"
v-model=
"form.attendanceGroupId"
placeholder=
"请输入所属考勤组ID"
/>
<Field
label=
"所属考勤组名称"
prop=
"attendanceGroupName"
v-model=
"form.attendanceGroupName"
placeholder=
"请输入所属考勤组名称"
/>
<Field
label=
"考勤时间"
prop=
"attendanceDate"
v-model=
"form.attendanceDate"
type=
"date"
/>
<Field
label=
"绩效规则id"
prop=
"ruleId"
v-model=
"form.ruleId"
placeholder=
"请输入绩效规则id"
/>
<Field
label=
"规则名称"
prop=
"ruleNme"
v-model=
"form.ruleNme"
placeholder=
"请输入规则名称"
/>
<Field
label=
"异常时间"
prop=
"errorTime"
v-model=
"form.errorTime"
type=
"date"
/>
<Field
label=
"上下班时间"
prop=
"goOffTimeStr"
v-model=
"form.goOffTimeStr"
placeholder=
"请输入上下班时间"
/>
<Field
label=
"实际打卡时间"
prop=
"actualAttendTime"
v-model=
"form.actualAttendTime"
type=
"date"
/>
<Field
label=
"异常处理结果"
prop=
"errorResult"
v-model=
"form.errorResult"
placeholder=
"请输入异常处理结果"
/>
<Field
label=
"扣分方式"
prop=
"subMethod"
v-model=
"form.subMethod"
type=
"select"
:enumData=
"dict.subMethod"
placeholder=
"请选择扣分方式"
/>
<Field
label=
"扣分人员"
prop=
"deductPerson"
v-model=
"form.deductPerson"
placeholder=
"请输入扣分人员"
/>
<Field
label=
"扣分时间"
prop=
"deductTime"
v-model=
"form.deductTime"
type=
"date"
/>
<Field
label=
"增减类型"
prop=
"subAddType"
v-model=
"form.subAddType"
type=
"select"
:enumData=
"dict.subAddType"
placeholder=
"请选择增减类型"
/>
<Field
label=
"扣分或增加分值"
prop=
"score"
v-model=
"form.score"
placeholder=
"请输入扣分或增加分值"
/>
<Field
label=
"处理状态"
prop=
"processStatus"
v-model=
"form.processStatus"
type=
"select"
:enumData=
"dict.processStatus"
placeholder=
"请选择处理状态"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
"submitForm"
v-if=
"pageInfo.type != 'view'"
noCancelBtn
/>
</el-form>
-->
</el-drawer>
</el-drawer>
</
template
>
</
template
>
<
script
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
export
default
{
name
:
"
PerformAttendRecordDetail
"
,
name
:
"
PerformAttendRecordDetail
"
,
mixins
:
[
form
],
mixins
:
[
form
],
components
:
{
components
:
{},
},
created
()
{
created
()
{
this
.
changePath
(
"
perform/attend/record
"
)
this
.
changePath
(
"
perform/attend/record
"
);
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -56,56 +322,54 @@
...
@@ -56,56 +322,54 @@
title
:
"
考勤绩效记录信息
"
,
title
:
"
考勤绩效记录信息
"
,
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
direction
:
"
rtl
"
,
direction
:
"
rtl
"
,
toString
:[
toString
:
[
"
subMethod
"
,
"
subAddType
"
,
"
processStatus
"
],
"
subMethod
"
,
toDate
:
[
"
attendanceDate
"
,
"
errorTime
"
,
"
actualAttendTime
"
,
"
deductTime
"
],
"
subAddType
"
,
"
processStatus
"
,
],
toDate
:[
"
attendanceDate
"
,
"
errorTime
"
,
"
actualAttendTime
"
,
"
deductTime
"
,
],
// 表单校验
// 表单校验
rules
:
{
rules
:
{
staffName
:
[
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
},
],
],
createTime
:
[
createTime
:
[{
required
:
true
,
message
:
"
请选择创建时间
"
}],
{
required
:
true
,
message
:
"
请选择创建时间
"
},
},
staffArr
:
[
{
label
:
"
员工1
"
,
value
:
"
1
"
,
},
],
],
}
deptArr
:
[],
kaoqinArr
:
[],
fileList
:
[],
};
};
},
},
methods
:
{
methods
:
{
/** 编辑 */
/** 编辑 */
edit
(
row
)
{
edit
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
perform/attend/record/edit
"
;
this
.
urls
.
currUrl
=
"
perform/attend/record/edit
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
pageInfo
.
type
=
"
edit
"
;
this
.
title
=
"
修改考勤绩效记录信息
"
;
this
.
title
=
"
修改考勤绩效记录信息
"
;
},
},
/** 新增 */
/** 新增 */
add
(
row
)
{
add
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
urls
.
currUrl
=
"
perform/attend/record/add
"
;
this
.
urls
.
currUrl
=
"
perform/attend/record/add
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
pageInfo
.
type
=
"
add
"
;
this
.
title
=
"
新增考勤绩效记录信息
"
;
this
.
title
=
"
新增考勤绩效记录信息
"
;
},
},
/** 查看*/
/** 查看*/
view
(
row
)
{
view
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
perform/attend/record/view
"
;
this
.
urls
.
currUrl
=
"
perform/attend/record/view
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
pageInfo
.
type
=
"
view
"
;
this
.
title
=
"
考勤绩效记录信息详细
"
;
this
.
title
=
"
考勤绩效记录信息详细
"
;
},
},
/**取消按钮 */
/**取消按钮 */
...
@@ -125,27 +389,27 @@
...
@@ -125,27 +389,27 @@
// 表单重置
// 表单重置
reset
()
{
reset
()
{
this
.
form
=
{
this
.
form
=
{
staffId
:
null
,
staffId
:
null
,
staffName
:
""
,
staffName
:
""
,
workNum
:
""
,
workNum
:
""
,
deptId
:
null
,
deptId
:
null
,
deptName
:
""
,
deptName
:
""
,
attendanceGroupId
:
null
,
attendanceGroupId
:
null
,
attendanceGroupName
:
""
,
attendanceGroupName
:
""
,
attendanceDate
:
null
,
attendanceDate
:
null
,
ruleId
:
null
,
ruleId
:
null
,
ruleNme
:
""
,
ruleNme
:
""
,
errorTime
:
null
,
errorTime
:
null
,
goOffTimeStr
:
""
,
goOffTimeStr
:
""
,
actualAttendTime
:
null
,
actualAttendTime
:
null
,
errorResult
:
""
,
errorResult
:
""
,
subMethod
:
1
,
subMethod
:
1
,
deductPerson
:
""
,
deductPerson
:
""
,
deductTime
:
null
,
deductTime
:
null
,
subAddType
:
1
,
subAddType
:
1
,
score
:
0.0
0
,
score
:
0.
0
,
processStatus
:
1
,
processStatus
:
1
,
remark
:
""
,
remark
:
""
,
};
};
this
.
resetForm
(
"
form
"
);
this
.
resetForm
(
"
form
"
);
},
},
...
@@ -154,6 +418,22 @@
...
@@ -154,6 +418,22 @@
this
.
$refs
[
refName
].
resetFields
();
this
.
$refs
[
refName
].
resetFields
();
}
}
},
},
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
},
},
};
handlePreview
(
file
)
{
console
.
log
(
file
);
},
handleExceed
(
files
,
fileList
)
{
this
.
$message
.
warning
(
`当前限制选择 3 个文件,本次选择了
${
files
.
length
}
个文件,共选择了
${
files
.
length
+
fileList
.
length
}
个文件`
);
},
beforeRemove
(
file
,
fileList
)
{
return
this
.
$confirm
(
`确定移除
${
file
.
name
}
?`
);
},
},
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/perform/attend/record/list.vue
View file @
4f1e4230
...
@@ -7,7 +7,8 @@
...
@@ -7,7 +7,8 @@
icon=
"el-icon-tickets"
icon=
"el-icon-tickets"
size=
"mini"
size=
"mini"
@
click=
"handleImport"
@
click=
"handleImport"
>
导入
</el-button>
>
导入
</el-button
>
<el-button
<el-button
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
...
@@ -15,7 +16,8 @@
...
@@ -15,7 +16,8 @@
size=
"mini"
size=
"mini"
@
click=
"doExport"
@
click=
"doExport"
:disabled=
"isExport"
:disabled=
"isExport"
>
导出
</el-button>
>
导出
</el-button
>
</LayoutTable>
</LayoutTable>
<!-- 考勤绩效记录信息导入对话框 -->
<!-- 考勤绩效记录信息导入对话框 -->
...
@@ -43,10 +45,11 @@
...
@@ -43,10 +45,11 @@
<em>
点击上传
</em>
<em>
点击上传
</em>
</div>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
v-model=
"upload.updateSupport"
<el-link
/>
是否更新已经存在的数据
type=
"primary"
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
下载模板
</el-link
>
>
</div>
</div>
...
@@ -65,17 +68,16 @@
...
@@ -65,17 +68,16 @@
</
template
>
</
template
>
<
script
>
<
script
>
/** 表单弹出框模式需引入 */
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
export
default
{
name
:
"
PerformAttendRecordList
"
,
name
:
"
PerformAttendRecordList
"
,
components
:
{
components
:
{
drawerShow
drawerShow
,
},
mixins
:
[
table
],
created
()
{
},
},
mixins
:
[
table
],
created
()
{},
methods
:
{
methods
:
{
/** 导入 */
/** 导入 */
handleImport
()
{
handleImport
()
{
...
@@ -85,7 +87,11 @@
...
@@ -85,7 +87,11 @@
/** 下载模板操作 */
/** 下载模板操作 */
downloadTemplate
()
{
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/attend/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
})
this
.
$download
(
"
/perform/attend/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
...
@@ -111,9 +117,15 @@
...
@@ -111,9 +117,15 @@
/** 导出Excel */
/** 导出Excel */
doExport
()
{
doExport
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/attend/record/exportExcel
"
,
{
this
.
$download
(
"
idList
"
:
this
.
selection
,
"
/perform/attend/record/exportExcel
"
,
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
this
.
$message
.
error
(
error
.
message
);
});
});
...
@@ -130,7 +142,6 @@
...
@@ -130,7 +142,6 @@
toView
(
row
)
{
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -149,58 +160,101 @@
...
@@ -149,58 +160,101 @@
},
},
isExport
:
false
,
isExport
:
false
,
config
:
{
config
:
{
isshowTabPane
:
true
,
isshowTabPane
:
true
,
search
:
[
search
:
[
{
name
:
"
status
"
,
type
:
"
select
"
,
label
:
"
全部状态
"
,
fuzzy
:
false
,
},
{
name
:
"
deptId
"
,
type
:
"
select
"
,
label
:
"
全部部门
"
,
fuzzy
:
false
,
},
{
name
:
"
date
"
,
type
:
"
date
"
,
label
:
"
请选择日期
"
,
fuzzy
:
false
,
},
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
请输入员工姓名搜索
"
,
fuzzy
:
false
,
},
],
],
columns
:
[
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
selection
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
所属部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
所属考勤组名称
"
,
prop
:
"
attendanceGroupName
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
考勤时间
"
,
prop
:
"
attendanceDate
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
考勤组
"
,
prop
:
"
attendanceGroupName
"
},
{
label
:
"
规则名称
"
,
prop
:
"
ruleNme
"
},
{
label
:
"
异常时间
"
,
prop
:
"
errorTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
异常时间
"
,
prop
:
"
errorTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
上下班时间
"
,
prop
:
"
goOffTimeStr
"
},
{
label
:
"
上下班时间
"
,
prop
:
"
goOffTimeStr
"
},
{
label
:
"
实际打卡时间
"
,
prop
:
"
actualAttendTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
实际打卡时间
"
,
prop
:
"
actualAttendTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
异常结果
"
,
prop
:
"
errorResult
"
},
{
label
:
"
异常处理结果
"
,
prop
:
"
errorResult
"
},
{
label
:
"
图片凭证
"
,
prop
:
"
snapPath
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
绩效规则
"
,
prop
:
"
ruleNme
"
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
增减类型
"
,
prop
:
"
subAddType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
24
0
,
width
:
20
0
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
);
}
},
}
},
]
],
}
},
};
}
};
};
},
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/perform/attend/record/list(原考勤绩效管理).vue
0 → 100644
View file @
4f1e4230
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button
>
</LayoutTable>
<!-- 考勤绩效记录信息导入对话框 -->
<el-dialog
:title=
"upload.title"
:visible.sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"upload.url + '?updateSupport=' + upload.updateSupport"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
</div>
<div
class=
"el-upload__tip"
style=
"color: red"
slot=
"tip"
>
提示:仅允许导入“xls”或“xlsx”格式文件!
</div>
</el-upload>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
</div>
</el-dialog>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
PerformAttendRecordList
"
,
components
:
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
/** 导入 */
handleImport
()
{
this
.
upload
.
title
=
"
考勤绩效记录信息导入
"
;
this
.
upload
.
open
=
true
;
},
/** 下载模板操作 */
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/attend/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 文件上传中处理 */
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
/** 文件上传成功处理 */
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
response
.
msg
,
"
导入结果
"
,
{
dangerouslyUseHTMLString
:
true
});
this
.
getData
();
},
/** 提交上传文件 */
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
},
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/attend/record/exportExcel
"
,
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
// 用户导入参数
upload
:
{
// 是否显示弹出层(考勤绩效记录信息导入)
open
:
false
,
// 弹出层标题(考勤绩效记录信息导入)
title
:
"
导入考勤绩效记录信息数据
"
,
// 是否禁用上传
isUploading
:
false
,
// 是否更新已经存在的数据
updateSupport
:
0
,
// 上传的地址
url
:
"
/attendance/perform/attend/record/importData
"
,
},
isExport
:
false
,
config
:
{
isshowTabPane
:
true
,
search
:
[],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
所属部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
所属考勤组名称
"
,
prop
:
"
attendanceGroupName
"
},
{
label
:
"
考勤时间
"
,
prop
:
"
attendanceDate
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
规则名称
"
,
prop
:
"
ruleNme
"
},
{
label
:
"
异常时间
"
,
prop
:
"
errorTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
上下班时间
"
,
prop
:
"
goOffTimeStr
"
},
{
label
:
"
实际打卡时间
"
,
prop
:
"
actualAttendTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
异常处理结果
"
,
prop
:
"
errorResult
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
增减类型
"
,
prop
:
"
subAddType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
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
>
attendance-performance-manager-ui/admin/src/views/perform/complain/record/list(原投诉绩效管理).vue
0 → 100644
View file @
4f1e4230
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button
>
</LayoutTable>
<!-- 评价绩效投诉记录信息导入对话框 -->
<el-dialog
:title=
"upload.title"
:visible.sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"upload.url + '?updateSupport=' + upload.updateSupport"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
</div>
<div
class=
"el-upload__tip"
style=
"color: red"
slot=
"tip"
>
提示:仅允许导入“xls”或“xlsx”格式文件!
</div>
</el-upload>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
</div>
</el-dialog>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
PerformComplainRecordList
"
,
components
:
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
/** 导入 */
handleImport
()
{
this
.
upload
.
title
=
"
评价绩效投诉记录信息导入
"
;
this
.
upload
.
open
=
true
;
},
/** 下载模板操作 */
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/complain/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 文件上传中处理 */
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
/** 文件上传成功处理 */
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
response
.
msg
,
"
导入结果
"
,
{
dangerouslyUseHTMLString
:
true
});
this
.
getData
();
},
/** 提交上传文件 */
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
},
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/complain/record/exportExcel
"
,
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
// 用户导入参数
upload
:
{
// 是否显示弹出层(评价绩效投诉记录信息导入)
open
:
false
,
// 弹出层标题(评价绩效投诉记录信息导入)
title
:
"
导入评价绩效投诉记录信息数据
"
,
// 是否禁用上传
isUploading
:
false
,
// 是否更新已经存在的数据
updateSupport
:
0
,
// 上传的地址
url
:
"
/m/perform/complain/record/importData
"
,
},
isExport
:
false
,
config
:
{
isshowTabPane
:
true
,
search
:
[],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
所属部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
投诉标题
"
,
prop
:
"
complainTitle
"
},
{
label
:
"
投诉内容
"
,
prop
:
"
complainContent
"
},
{
label
:
"
投诉人真实姓名
"
,
prop
:
"
complainRealName
"
},
{
label
:
"
联系电话
"
,
prop
:
"
contact
"
},
{
label
:
"
投诉时间
"
,
prop
:
"
complainTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
投诉来源
"
,
prop
:
"
complainSource
"
},
{
label
:
"
投诉设备
"
,
prop
:
"
complainDevice
"
},
{
label
:
"
规则名称
"
,
prop
:
"
ruleName
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
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
>
attendance-performance-manager-ui/admin/src/views/perform/complain/record/list.vue
View file @
4f1e4230
...
@@ -7,7 +7,8 @@
...
@@ -7,7 +7,8 @@
icon=
"el-icon-tickets"
icon=
"el-icon-tickets"
size=
"mini"
size=
"mini"
@
click=
"handleImport"
@
click=
"handleImport"
>
导入
</el-button>
>
导入
</el-button
>
<el-button
<el-button
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
...
@@ -15,7 +16,8 @@
...
@@ -15,7 +16,8 @@
size=
"mini"
size=
"mini"
@
click=
"doExport"
@
click=
"doExport"
:disabled=
"isExport"
:disabled=
"isExport"
>
导出
</el-button>
>
导出
</el-button
>
</LayoutTable>
</LayoutTable>
<!-- 评价绩效投诉记录信息导入对话框 -->
<!-- 评价绩效投诉记录信息导入对话框 -->
...
@@ -43,10 +45,11 @@
...
@@ -43,10 +45,11 @@
<em>
点击上传
</em>
<em>
点击上传
</em>
</div>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
v-model=
"upload.updateSupport"
<el-link
/>
是否更新已经存在的数据
type=
"primary"
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
下载模板
</el-link
>
>
</div>
</div>
...
@@ -65,17 +68,16 @@
...
@@ -65,17 +68,16 @@
</
template
>
</
template
>
<
script
>
<
script
>
/** 表单弹出框模式需引入 */
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
export
default
{
name
:
"
PerformComplainRecordList
"
,
name
:
"
PerformComplainRecordList
"
,
components
:
{
components
:
{
drawerShow
drawerShow
,
},
mixins
:
[
table
],
created
()
{
},
},
mixins
:
[
table
],
created
()
{},
methods
:
{
methods
:
{
/** 导入 */
/** 导入 */
handleImport
()
{
handleImport
()
{
...
@@ -85,7 +87,11 @@
...
@@ -85,7 +87,11 @@
/** 下载模板操作 */
/** 下载模板操作 */
downloadTemplate
()
{
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/complain/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
})
this
.
$download
(
"
/perform/complain/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
...
@@ -111,9 +117,15 @@
...
@@ -111,9 +117,15 @@
/** 导出Excel */
/** 导出Excel */
doExport
()
{
doExport
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/complain/record/exportExcel
"
,
{
this
.
$download
(
"
idList
"
:
this
.
selection
,
"
/perform/complain/record/exportExcel
"
,
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
this
.
$message
.
error
(
error
.
message
);
});
});
...
@@ -130,7 +142,6 @@
...
@@ -130,7 +142,6 @@
toView
(
row
)
{
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -149,60 +160,107 @@
...
@@ -149,60 +160,107 @@
},
},
isExport
:
false
,
isExport
:
false
,
config
:
{
config
:
{
isshowTabPane
:
true
,
isshowTabPane
:
true
,
search
:
[
search
:
[
{
name
:
"
status
"
,
type
:
"
select
"
,
label
:
"
全部状态
"
,
fuzzy
:
false
,
},
{
name
:
"
deptId
"
,
type
:
"
select
"
,
label
:
"
全部部门
"
,
fuzzy
:
false
,
},
{
name
:
"
source
"
,
type
:
"
select
"
,
label
:
"
全部来源
"
,
fuzzy
:
false
,
},
{
name
:
"
date
"
,
type
:
"
date
"
,
label
:
"
请选择日期
"
,
fuzzy
:
false
,
},
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
请输入员工姓名搜索
"
,
fuzzy
:
false
,
},
],
],
columns
:
[
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
selection
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
所属部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
投诉标题
"
,
prop
:
"
complainTitle
"
},
{
label
:
"
投诉标题
"
,
prop
:
"
complainTitle
"
},
{
label
:
"
投诉内容
"
,
prop
:
"
complainContent
"
},
{
label
:
"
投诉内容
"
,
prop
:
"
complainContent
"
},
{
label
:
"
投诉人真实姓名
"
,
prop
:
"
complainRealName
"
},
{
label
:
"
投诉人真实姓名
"
,
prop
:
"
complainRealName
"
},
{
label
:
"
联系电话
"
,
prop
:
"
contact
"
},
{
label
:
"
联系电话
"
,
prop
:
"
contact
"
},
{
label
:
"
投诉时间
"
,
prop
:
"
complainTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
投诉时间
"
,
prop
:
"
complainTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
投诉来源
"
,
prop
:
"
complainSource
"
},
{
label
:
"
投诉来源
"
,
prop
:
"
complainSource
"
},
{
label
:
"
图片凭证
"
,
prop
:
"
snapPath
"
},
{
label
:
"
投诉设备
"
,
prop
:
"
complainDevice
"
},
{
label
:
"
投诉设备
"
,
prop
:
"
complainDevice
"
},
{
label
:
"
规则名称
"
,
prop
:
"
ruleName
"
},
{
label
:
"
绩效规则
"
,
prop
:
"
ruleNme
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
24
0
,
width
:
20
0
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
);
}
},
}
},
]
],
}
},
};
}
};
};
},
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/perform/effect/record/list.vue
View file @
4f1e4230
...
@@ -7,7 +7,8 @@
...
@@ -7,7 +7,8 @@
icon=
"el-icon-tickets"
icon=
"el-icon-tickets"
size=
"mini"
size=
"mini"
@
click=
"handleImport"
@
click=
"handleImport"
>
导入
</el-button>
>
导入
</el-button
>
<el-button
<el-button
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
...
@@ -15,7 +16,8 @@
...
@@ -15,7 +16,8 @@
size=
"mini"
size=
"mini"
@
click=
"doExport"
@
click=
"doExport"
:disabled=
"isExport"
:disabled=
"isExport"
>
导出
</el-button>
>
导出
</el-button
>
</LayoutTable>
</LayoutTable>
<!-- 效能绩效记录信息导入对话框 -->
<!-- 效能绩效记录信息导入对话框 -->
...
@@ -43,10 +45,11 @@
...
@@ -43,10 +45,11 @@
<em>
点击上传
</em>
<em>
点击上传
</em>
</div>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
v-model=
"upload.updateSupport"
<el-link
/>
是否更新已经存在的数据
type=
"primary"
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
下载模板
</el-link
>
>
</div>
</div>
...
@@ -65,17 +68,16 @@
...
@@ -65,17 +68,16 @@
</
template
>
</
template
>
<
script
>
<
script
>
/** 表单弹出框模式需引入 */
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
export
default
{
name
:
"
PerformEffectRecordList
"
,
name
:
"
PerformEffectRecordList
"
,
components
:
{
components
:
{
drawerShow
drawerShow
,
},
mixins
:
[
table
],
created
()
{
},
},
mixins
:
[
table
],
created
()
{},
methods
:
{
methods
:
{
/** 导入 */
/** 导入 */
handleImport
()
{
handleImport
()
{
...
@@ -85,7 +87,11 @@
...
@@ -85,7 +87,11 @@
/** 下载模板操作 */
/** 下载模板操作 */
downloadTemplate
()
{
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/effect/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
})
this
.
$download
(
"
/perform/effect/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
...
@@ -111,9 +117,15 @@
...
@@ -111,9 +117,15 @@
/** 导出Excel */
/** 导出Excel */
doExport
()
{
doExport
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/effect/record/exportExcel
"
,
{
this
.
$download
(
"
idList
"
:
this
.
selection
,
"
/perform/effect/record/exportExcel
"
,
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
this
.
$message
.
error
(
error
.
message
);
});
});
...
@@ -130,7 +142,6 @@
...
@@ -130,7 +142,6 @@
toView
(
row
)
{
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -149,60 +160,108 @@
...
@@ -149,60 +160,108 @@
},
},
isExport
:
false
,
isExport
:
false
,
config
:
{
config
:
{
isshowTabPane
:
true
,
isshowTabPane
:
true
,
search
:
[
search
:
[
{
name
:
"
status
"
,
type
:
"
select
"
,
label
:
"
全部状态
"
,
fuzzy
:
false
,
},
{
name
:
"
deptId
"
,
type
:
"
select
"
,
label
:
"
全部部门
"
,
fuzzy
:
false
,
},
{
name
:
"
date
"
,
type
:
"
date
"
,
label
:
"
请选择日期
"
,
fuzzy
:
false
,
},
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
请输入员工姓名搜索
"
,
fuzzy
:
false
,
},
],
],
columns
:
[
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
所属部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
违规类型
"
,
prop
:
"
irregularType
"
,
formatter
:
this
.
formatter
},
{
label
:
"
违规类型
"
,
{
label
:
"
发生时间
"
,
prop
:
"
happenTime
"
,
formatter
:
this
.
formatterDate
},
prop
:
"
irregularType
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
持续时间,秒
"
,
prop
:
"
duration
"
,
formatter
:
this
.
formatter
},
{
label
:
"
发生时间
"
,
prop
:
"
happenTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
报警时间
"
,
prop
:
"
alarmTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
时长
"
,
prop
:
"
duration
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
图片凭证地址
"
,
prop
:
"
snapPath
"
},
{
label
:
"
报警时间
"
,
prop
:
"
alarmTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
绩效规则id
"
,
prop
:
"
ruleId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
图片凭证
"
,
prop
:
"
snapPath
"
},
{
label
:
"
规则名称
"
,
prop
:
"
ruleName
"
},
{
label
:
"
绩效规则
"
,
prop
:
"
ruleName
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
240
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
);
}
},
}
},
]
],
}
},
};
}
};
};
},
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/perform/effect/record/list(原效能绩效管理).vue
0 → 100644
View file @
4f1e4230
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button
>
</LayoutTable>
<!-- 效能绩效记录信息导入对话框 -->
<el-dialog
:title=
"upload.title"
:visible.sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"upload.url + '?updateSupport=' + upload.updateSupport"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
</div>
<div
class=
"el-upload__tip"
style=
"color: red"
slot=
"tip"
>
提示:仅允许导入“xls”或“xlsx”格式文件!
</div>
</el-upload>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
</div>
</el-dialog>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
PerformEffectRecordList
"
,
components
:
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
/** 导入 */
handleImport
()
{
this
.
upload
.
title
=
"
效能绩效记录信息导入
"
;
this
.
upload
.
open
=
true
;
},
/** 下载模板操作 */
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/effect/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 文件上传中处理 */
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
/** 文件上传成功处理 */
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
response
.
msg
,
"
导入结果
"
,
{
dangerouslyUseHTMLString
:
true
});
this
.
getData
();
},
/** 提交上传文件 */
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
},
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/effect/record/exportExcel
"
,
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
// 用户导入参数
upload
:
{
// 是否显示弹出层(效能绩效记录信息导入)
open
:
false
,
// 弹出层标题(效能绩效记录信息导入)
title
:
"
导入效能绩效记录信息数据
"
,
// 是否禁用上传
isUploading
:
false
,
// 是否更新已经存在的数据
updateSupport
:
0
,
// 上传的地址
url
:
"
/m/perform/effect/record/importData
"
,
},
isExport
:
false
,
config
:
{
isshowTabPane
:
true
,
search
:
[],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
所属部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
违规类型
"
,
prop
:
"
irregularType
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
发生时间
"
,
prop
:
"
happenTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
持续时间,秒
"
,
prop
:
"
duration
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
报警时间
"
,
prop
:
"
alarmTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
图片凭证地址
"
,
prop
:
"
snapPath
"
},
{
label
:
"
绩效规则id
"
,
prop
:
"
ruleId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
规则名称
"
,
prop
:
"
ruleName
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
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
>
attendance-performance-manager-ui/admin/src/views/perform/gowork/record/drawershow.vue
View file @
4f1e4230
...
@@ -4,46 +4,328 @@
...
@@ -4,46 +4,328 @@
:title=
"title"
:title=
"title"
:visible.sync=
"open"
:visible.sync=
"open"
:direction=
"direction"
:direction=
"direction"
size=
"50%"
>
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<el-col
:span=
"22"
>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<el-form-item
label=
"姓名:"
>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<el-select
v-model=
"form.staffId"
style=
"width: 100%;"
>
<Field
label=
"窗口编号"
prop=
"windowNum"
v-model=
"form.windowNum"
placeholder=
"请输入窗口编号"
/>
<el-option
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
v-for=
"item in staffArr"
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
:key=
"item.value"
<Field
label=
"办件编码"
prop=
"goworkCode"
v-model=
"form.goworkCode"
placeholder=
"请输入办件编码"
/>
:label=
"item.label"
<Field
label=
"办件所属部门"
prop=
"goworkDepts"
v-model=
"form.goworkDepts"
type=
"textarea"
placeholder=
"请输入办件所属部门"
/>
:value=
"item.value"
<Field
label=
"事项名称"
prop=
"matterlName"
v-model=
"form.matterlName"
type=
"textarea"
placeholder=
"请输入事项名称"
/>
>
<Field
label=
"办理时间"
prop=
"goworkTime"
v-model=
"form.goworkTime"
type=
"date"
/>
</el-option
<Field
label=
"绩效规则id"
prop=
"ruleId"
v-model=
"form.ruleId"
placeholder=
"请输入绩效规则id"
/>
></el-select>
<Field
label=
"规则名称"
prop=
"ruleName"
v-model=
"form.ruleName"
placeholder=
"请输入规则名称"
/>
</el-form-item>
<Field
label=
"扣分方式"
prop=
"subMethod"
v-model=
"form.subMethod"
type=
"select"
:enumData=
"dict.subMethod"
placeholder=
"请选择扣分方式"
/>
</el-col>
<Field
label=
"扣分人员"
prop=
"deductPerson"
v-model=
"form.deductPerson"
placeholder=
"请输入扣分人员"
/>
</el-row>
<Field
label=
"扣分时间"
prop=
"deductTime"
v-model=
"form.deductTime"
type=
"date"
/>
<el-row>
<Field
label=
"扣分或增加分值"
prop=
"score"
v-model=
"form.score"
placeholder=
"请输入扣分或增加分值"
/>
<el-col
:span=
"22"
>
<Field
label=
"处理状态"
prop=
"processStatus"
v-model=
"form.processStatus"
type=
"select"
:enumData=
"dict.processStatus"
placeholder=
"请选择处理状态"
/>
<el-form-item
label=
"所属部门:"
>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
<el-select
v-model=
"form.deptId"
style=
"width: 100%;"
>
<el-option
v-for=
"item in deptArr"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option
></el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"窗口编号:"
>
<el-input
v-model=
"form.windowNum"
placeholder=
"请输入窗口编号"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"办件编码:"
>
<el-input
v-model=
"form.windowNum"
placeholder=
"请输入办件编码"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"办件所属部门:"
>
<el-select
v-model=
"form.goworkDepts"
style=
"width: 100%;"
>
<el-option
v-for=
"item in kaoqinArr"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option
></el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"事项名称:"
>
<el-input
v-model=
"form.windowNum"
placeholder=
"请输入事项名称"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"异常时间:"
>
<el-date-picker
v-model=
"form.errorTime"
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"办件时间:"
>
<el-col
:span=
"11"
>
<el-date-picker
v-model=
"dateValue"
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
>
</el-date-picker>
</el-col>
<el-col
:span=
"11"
>
<el-time-select
v-model=
"timeValue"
:picker-options=
"
{
start: '06:00',
step: '00:15',
end: '18:30',
}"
placeholder="选择时间"
style="width: 100%;margin-left: 10px;"
>
</el-time-select
></el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"图片凭证:"
>
<el-upload
class=
"upload-demo"
action=
"https://jsonplaceholder.typicode.com/posts/"
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:before-remove=
"beforeRemove"
multiple
:limit=
"3"
:on-exceed=
"handleExceed"
:file-list=
"fileList"
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传jpg/png等图片文件
</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"绩效规则:"
>
<el-col
:span=
"22"
>
<el-select
v-model=
"form.attendanceGroupId"
style=
"width: 100%;"
>
<el-option
v-for=
"item in kaoqinArr"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option
></el-select>
</el-col>
<el-col
:span=
"22"
>
<el-select
v-model=
"form.attendanceGroupId"
style=
"width: 100%;margin-top: 10px;"
>
<el-option
v-for=
"item in kaoqinArr"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option></el-select
></el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"扣分分值:"
>
<p>
{{
form
.
score
}}
</p>
</el-form-item>
</el-col>
</el-row>
</el-row>
<form-buttons
@
submit=
'submitForm'
v-if=
"pageInfo.type!='view'"
noCancelBtn
/>
<form-buttons
@
submit=
"submitForm"
v-if=
"pageInfo.type != 'view'"
noCancelBtn
/>
</el-form>
</el-form>
<!--
<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=
"windowNum"
v-model=
"form.windowNum"
placeholder=
"请输入窗口编号"
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"办件编码"
prop=
"goworkCode"
v-model=
"form.goworkCode"
placeholder=
"请输入办件编码"
/>
<Field
label=
"办件所属部门"
prop=
"goworkDepts"
v-model=
"form.goworkDepts"
type=
"textarea"
placeholder=
"请输入办件所属部门"
/>
<Field
label=
"事项名称"
prop=
"matterlName"
v-model=
"form.matterlName"
type=
"textarea"
placeholder=
"请输入事项名称"
/>
<Field
label=
"办理时间"
prop=
"goworkTime"
v-model=
"form.goworkTime"
type=
"date"
/>
<Field
label=
"绩效规则id"
prop=
"ruleId"
v-model=
"form.ruleId"
placeholder=
"请输入绩效规则id"
/>
<Field
label=
"规则名称"
prop=
"ruleName"
v-model=
"form.ruleName"
placeholder=
"请输入规则名称"
/>
<Field
label=
"扣分方式"
prop=
"subMethod"
v-model=
"form.subMethod"
type=
"select"
:enumData=
"dict.subMethod"
placeholder=
"请选择扣分方式"
/>
<Field
label=
"扣分人员"
prop=
"deductPerson"
v-model=
"form.deductPerson"
placeholder=
"请输入扣分人员"
/>
<Field
label=
"扣分时间"
prop=
"deductTime"
v-model=
"form.deductTime"
type=
"date"
/>
<Field
label=
"扣分或增加分值"
prop=
"score"
v-model=
"form.score"
placeholder=
"请输入扣分或增加分值"
/>
<Field
label=
"处理状态"
prop=
"processStatus"
v-model=
"form.processStatus"
type=
"select"
:enumData=
"dict.processStatus"
placeholder=
"请选择处理状态"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
"submitForm"
v-if=
"pageInfo.type != 'view'"
noCancelBtn
/>
</el-form>
-->
</el-drawer>
</el-drawer>
</
template
>
</
template
>
<
script
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
export
default
{
name
:
"
PerformGoworkRecordDetail
"
,
name
:
"
PerformGoworkRecordDetail
"
,
mixins
:
[
form
],
mixins
:
[
form
],
components
:
{
components
:
{},
},
created
()
{
created
()
{
this
.
changePath
(
"
perform/gowork/record
"
)
this
.
changePath
(
"
perform/gowork/record
"
);
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -53,53 +335,56 @@
...
@@ -53,53 +335,56 @@
title
:
"
办件绩效记录信息
"
,
title
:
"
办件绩效记录信息
"
,
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
direction
:
"
rtl
"
,
direction
:
"
rtl
"
,
toString
:[
toString
:
[
"
subMethod
"
,
"
processStatus
"
],
"
subMethod
"
,
toDate
:
[
"
goworkTime
"
,
"
deductTime
"
],
"
processStatus
"
,
],
toDate
:[
"
goworkTime
"
,
"
deductTime
"
,
],
// 表单校验
// 表单校验
rules
:
{
rules
:
{
staffName
:
[
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
},
],
],
createTime
:
[
createTime
:
[{
required
:
true
,
message
:
"
请选择创建时间
"
}],
{
required
:
true
,
message
:
"
请选择创建时间
"
},
},
staffArr
:
[
{
label
:
"
员工1
"
,
value
:
"
1
"
,
},
],
],
}
deptArr
:
[],
kaoqinArr
:
[],
fileList
:
[],
dateValue
:
""
,
timeValue
:
""
,
};
};
},
},
methods
:
{
methods
:
{
/** 编辑 */
/** 编辑 */
edit
(
row
)
{
edit
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
perform/gowork/record/edit
"
;
this
.
urls
.
currUrl
=
"
perform/gowork/record/edit
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
pageInfo
.
type
=
"
edit
"
;
this
.
title
=
"
修改办件绩效记录信息
"
;
this
.
title
=
"
修改办件绩效记录信息
"
;
},
},
/** 新增 */
/** 新增 */
add
(
row
)
{
add
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
urls
.
currUrl
=
"
perform/gowork/record/add
"
;
this
.
urls
.
currUrl
=
"
perform/gowork/record/add
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
pageInfo
.
type
=
"
add
"
;
this
.
title
=
"
新增办件绩效记录信息
"
;
this
.
title
=
"
新增办件绩效记录信息
"
;
},
},
/** 查看*/
/** 查看*/
view
(
row
)
{
view
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
perform/gowork/record/view
"
;
this
.
urls
.
currUrl
=
"
perform/gowork/record/view
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
pageInfo
.
type
=
"
view
"
;
this
.
title
=
"
办件绩效记录信息详细
"
;
this
.
title
=
"
办件绩效记录信息详细
"
;
},
},
/**取消按钮 */
/**取消按钮 */
...
@@ -119,24 +404,24 @@
...
@@ -119,24 +404,24 @@
// 表单重置
// 表单重置
reset
()
{
reset
()
{
this
.
form
=
{
this
.
form
=
{
staffId
:
null
,
staffId
:
null
,
staffName
:
""
,
staffName
:
""
,
workNum
:
""
,
workNum
:
""
,
windowNum
:
""
,
windowNum
:
""
,
deptId
:
null
,
deptId
:
null
,
deptName
:
""
,
deptName
:
""
,
goworkCode
:
""
,
goworkCode
:
""
,
goworkDepts
:
""
,
goworkDepts
:
""
,
matterlName
:
""
,
matterlName
:
""
,
goworkTime
:
null
,
goworkTime
:
null
,
ruleId
:
null
,
ruleId
:
null
,
ruleName
:
""
,
ruleName
:
""
,
subMethod
:
1
,
subMethod
:
1
,
deductPerson
:
""
,
deductPerson
:
""
,
deductTime
:
null
,
deductTime
:
null
,
score
:
0.0
0
,
score
:
0.
0
,
processStatus
:
1
,
processStatus
:
1
,
remark
:
""
,
remark
:
""
,
};
};
this
.
resetForm
(
"
form
"
);
this
.
resetForm
(
"
form
"
);
},
},
...
@@ -145,6 +430,22 @@
...
@@ -145,6 +430,22 @@
this
.
$refs
[
refName
].
resetFields
();
this
.
$refs
[
refName
].
resetFields
();
}
}
},
},
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
},
},
};
handlePreview
(
file
)
{
console
.
log
(
file
);
},
handleExceed
(
files
,
fileList
)
{
this
.
$message
.
warning
(
`当前限制选择 3 个文件,本次选择了
${
files
.
length
}
个文件,共选择了
${
files
.
length
+
fileList
.
length
}
个文件`
);
},
beforeRemove
(
file
,
fileList
)
{
return
this
.
$confirm
(
`确定移除
${
file
.
name
}
?`
);
},
},
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/perform/gowork/record/list.vue
View file @
4f1e4230
...
@@ -7,7 +7,8 @@
...
@@ -7,7 +7,8 @@
icon=
"el-icon-tickets"
icon=
"el-icon-tickets"
size=
"mini"
size=
"mini"
@
click=
"handleImport"
@
click=
"handleImport"
>
导入
</el-button>
>
导入
</el-button
>
<el-button
<el-button
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
...
@@ -15,7 +16,8 @@
...
@@ -15,7 +16,8 @@
size=
"mini"
size=
"mini"
@
click=
"doExport"
@
click=
"doExport"
:disabled=
"isExport"
:disabled=
"isExport"
>
导出
</el-button>
>
导出
</el-button
>
</LayoutTable>
</LayoutTable>
<!-- 办件绩效记录信息导入对话框 -->
<!-- 办件绩效记录信息导入对话框 -->
...
@@ -43,10 +45,11 @@
...
@@ -43,10 +45,11 @@
<em>
点击上传
</em>
<em>
点击上传
</em>
</div>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
v-model=
"upload.updateSupport"
<el-link
/>
是否更新已经存在的数据
type=
"primary"
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
下载模板
</el-link
>
>
</div>
</div>
...
@@ -65,17 +68,16 @@
...
@@ -65,17 +68,16 @@
</
template
>
</
template
>
<
script
>
<
script
>
/** 表单弹出框模式需引入 */
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
export
default
{
name
:
"
PerformGoworkRecordList
"
,
name
:
"
PerformGoworkRecordList
"
,
components
:
{
components
:
{
drawerShow
drawerShow
,
},
mixins
:
[
table
],
created
()
{
},
},
mixins
:
[
table
],
created
()
{},
methods
:
{
methods
:
{
/** 导入 */
/** 导入 */
handleImport
()
{
handleImport
()
{
...
@@ -85,7 +87,11 @@
...
@@ -85,7 +87,11 @@
/** 下载模板操作 */
/** 下载模板操作 */
downloadTemplate
()
{
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/gowork/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
})
this
.
$download
(
"
/perform/gowork/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
...
@@ -111,9 +117,15 @@
...
@@ -111,9 +117,15 @@
/** 导出Excel */
/** 导出Excel */
doExport
()
{
doExport
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/gowork/record/exportExcel
"
,
{
this
.
$download
(
"
idList
"
:
this
.
selection
,
"
/perform/gowork/record/exportExcel
"
,
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
this
.
$message
.
error
(
error
.
message
);
});
});
...
@@ -130,7 +142,6 @@
...
@@ -130,7 +142,6 @@
toView
(
row
)
{
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -149,54 +160,95 @@
...
@@ -149,54 +160,95 @@
},
},
isExport
:
false
,
isExport
:
false
,
config
:
{
config
:
{
isshowTabPane
:
true
,
isshowTabPane
:
true
,
search
:
[
search
:
[
{
name
:
"
status
"
,
type
:
"
select
"
,
label
:
"
全部状态
"
,
fuzzy
:
false
,
},
{
name
:
"
deptId
"
,
type
:
"
select
"
,
label
:
"
全部部门
"
,
fuzzy
:
false
,
},
{
name
:
"
date
"
,
type
:
"
date
"
,
label
:
"
请选择日期
"
,
fuzzy
:
false
,
},
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
请输入员工姓名搜索
"
,
fuzzy
:
false
,
},
],
],
columns
:
[
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
selection
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
所属部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
办件编码
"
,
prop
:
"
goworkCode
"
},
{
label
:
"
办件编码
"
,
prop
:
"
goworkCode
"
},
{
label
:
"
办件所属部门
"
,
prop
:
"
goworkDepts
"
},
{
label
:
"
办件所属部门
"
,
prop
:
"
goworkDepts
"
},
{
label
:
"
事项名称
"
,
prop
:
"
matterlName
"
},
{
label
:
"
事项名称
"
,
prop
:
"
matterlName
"
},
{
label
:
"
办理时间
"
,
prop
:
"
goworkTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
办理时间
"
,
prop
:
"
goworkTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
图片凭证
"
,
prop
:
"
snapPath
"
},
{
label
:
"
规则名称
"
,
prop
:
"
ruleName
"
},
{
label
:
"
绩效规则
"
,
prop
:
"
ruleName
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
240
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
);
}
},
}
},
]
],
}
},
};
}
};
};
},
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/perform/gowork/record/list(原办件绩效管理).vue
0 → 100644
View file @
4f1e4230
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button
>
</LayoutTable>
<!-- 办件绩效记录信息导入对话框 -->
<el-dialog
:title=
"upload.title"
:visible.sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"upload.url + '?updateSupport=' + upload.updateSupport"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
</div>
<div
class=
"el-upload__tip"
style=
"color: red"
slot=
"tip"
>
提示:仅允许导入“xls”或“xlsx”格式文件!
</div>
</el-upload>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
</div>
</el-dialog>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
PerformGoworkRecordList
"
,
components
:
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
/** 导入 */
handleImport
()
{
this
.
upload
.
title
=
"
办件绩效记录信息导入
"
;
this
.
upload
.
open
=
true
;
},
/** 下载模板操作 */
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/gowork/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 文件上传中处理 */
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
/** 文件上传成功处理 */
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
response
.
msg
,
"
导入结果
"
,
{
dangerouslyUseHTMLString
:
true
});
this
.
getData
();
},
/** 提交上传文件 */
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
},
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/gowork/record/exportExcel
"
,
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
// 用户导入参数
upload
:
{
// 是否显示弹出层(办件绩效记录信息导入)
open
:
false
,
// 弹出层标题(办件绩效记录信息导入)
title
:
"
导入办件绩效记录信息数据
"
,
// 是否禁用上传
isUploading
:
false
,
// 是否更新已经存在的数据
updateSupport
:
0
,
// 上传的地址
url
:
"
/m/perform/gowork/record/importData
"
,
},
isExport
:
false
,
config
:
{
isshowTabPane
:
true
,
search
:
[],
columns
:
[
{
type
:
"
selection
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
办件编码
"
,
prop
:
"
goworkCode
"
},
{
label
:
"
办件所属部门
"
,
prop
:
"
goworkDepts
"
},
{
label
:
"
事项名称
"
,
prop
:
"
matterlName
"
},
{
label
:
"
办理时间
"
,
prop
:
"
goworkTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
规则名称
"
,
prop
:
"
ruleName
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
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
>
attendance-performance-manager-ui/admin/src/views/perform/other/record/drawershow.vue
View file @
4f1e4230
...
@@ -4,46 +4,283 @@
...
@@ -4,46 +4,283 @@
:title=
"title"
:title=
"title"
:visible.sync=
"open"
:visible.sync=
"open"
:direction=
"direction"
:direction=
"direction"
size=
"50%"
>
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<el-row>
<Field
label=
"员工ID"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入员工ID"
/>
<el-col
:span=
"22"
>
<Field
label=
"员工姓名"
prop=
"staffName"
v-model=
"form.staffName"
placeholder=
"请输入员工姓名"
/>
<el-form-item
label=
"姓名:"
>
<Field
label=
"工号"
prop=
"workNum"
v-model=
"form.workNum"
placeholder=
"请输入工号"
/>
<el-select
v-model=
"form.staffId"
style=
"width: 100%;"
>
<Field
label=
"窗口编号"
prop=
"windowNum"
v-model=
"form.windowNum"
placeholder=
"请输入窗口编号"
/>
<el-option
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
v-for=
"item in staffArr"
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
:key=
"item.value"
<Field
label=
"违规类型"
prop=
"irregularOtherType"
v-model=
"form.irregularOtherType"
type=
"select"
:enumData=
"dict.irregularOtherType"
placeholder=
"请选择违规类型"
/>
:label=
"item.label"
<Field
label=
"发生时间"
prop=
"happenTime"
v-model=
"form.happenTime"
type=
"date"
/>
:value=
"item.value"
<Field
label=
"持续时间,秒"
prop=
"duration"
v-model=
"form.duration"
placeholder=
"请输入持续时间,秒"
/>
>
<Field
label=
"绩效规则id"
prop=
"ruleId"
v-model=
"form.ruleId"
placeholder=
"请输入绩效规则id"
/>
</el-option
<Field
label=
"规则名称"
prop=
"ruleName"
v-model=
"form.ruleName"
placeholder=
"请输入规则名称"
/>
></el-select>
<Field
label=
"评分标准"
prop=
"ruleDesc"
v-model=
"form.ruleDesc"
type=
"textarea"
placeholder=
"请输入评分标准"
/>
</el-form-item>
<Field
label=
"扣分方式"
prop=
"subMethod"
v-model=
"form.subMethod"
type=
"select"
:enumData=
"dict.subMethod"
placeholder=
"请选择扣分方式"
/>
</el-col>
<Field
label=
"扣分人员"
prop=
"deductPerson"
v-model=
"form.deductPerson"
placeholder=
"请输入扣分人员"
/>
</el-row>
<Field
label=
"扣分时间"
prop=
"deductTime"
v-model=
"form.deductTime"
type=
"date"
/>
<el-row>
<Field
label=
"扣分或增加分值"
prop=
"score"
v-model=
"form.score"
placeholder=
"请输入扣分或增加分值"
/>
<el-col
:span=
"22"
>
<Field
label=
"处理状态"
prop=
"processStatus"
v-model=
"form.processStatus"
type=
"select"
:enumData=
"dict.processStatus"
placeholder=
"请选择处理状态"
/>
<el-form-item
label=
"所属部门:"
>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
<el-select
v-model=
"form.deptId"
style=
"width: 100%;"
>
<el-option
v-for=
"item in deptArr"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option
></el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"窗口编号:"
>
<el-input
v-model=
"form.windowNum"
placeholder=
"请输入窗口编号"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"发生时间:"
>
<el-col
:span=
"11"
>
<el-date-picker
v-model=
"dateValue"
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
>
</el-date-picker>
</el-col>
<el-col
:span=
"11"
>
<el-time-select
v-model=
"timeValue"
:picker-options=
"
{
start: '06:00',
step: '00:15',
end: '18:30',
}"
placeholder="选择时间"
style="width: 100%;margin-left: 10px;"
>
</el-time-select
></el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"图片凭证:"
>
<el-upload
class=
"upload-demo"
action=
"https://jsonplaceholder.typicode.com/posts/"
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:before-remove=
"beforeRemove"
multiple
:limit=
"3"
:on-exceed=
"handleExceed"
:file-list=
"fileList"
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
只能上传jpg/png等图片文件
</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"绩效规则:"
>
<el-col
:span=
"22"
>
<el-select
v-model=
"form.attendanceGroupId"
style=
"width: 100%;"
>
<el-option
v-for=
"item in kaoqinArr"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option
></el-select>
</el-col>
<el-col
:span=
"22"
>
<el-select
v-model=
"form.attendanceGroupId"
style=
"width: 100%;margin-top: 10px;"
>
<el-option
v-for=
"item in kaoqinArr"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option></el-select
></el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"扣分分值:"
>
<p>
{{
form
.
score
}}
</p>
</el-form-item>
</el-col>
</el-row>
</el-row>
<form-buttons
@
submit=
'submitForm'
v-if=
"pageInfo.type!='view'"
noCancelBtn
/>
<form-buttons
@
submit=
"submitForm"
v-if=
"pageInfo.type != 'view'"
noCancelBtn
/>
</el-form>
</el-form>
<!--
<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=
"windowNum"
v-model=
"form.windowNum"
placeholder=
"请输入窗口编号"
/>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
<Field
label=
"违规类型"
prop=
"irregularOtherType"
v-model=
"form.irregularOtherType"
type=
"select"
:enumData=
"dict.irregularOtherType"
placeholder=
"请选择违规类型"
/>
<Field
label=
"发生时间"
prop=
"happenTime"
v-model=
"form.happenTime"
type=
"date"
/>
<Field
label=
"持续时间,秒"
prop=
"duration"
v-model=
"form.duration"
placeholder=
"请输入持续时间,秒"
/>
<Field
label=
"绩效规则id"
prop=
"ruleId"
v-model=
"form.ruleId"
placeholder=
"请输入绩效规则id"
/>
<Field
label=
"规则名称"
prop=
"ruleName"
v-model=
"form.ruleName"
placeholder=
"请输入规则名称"
/>
<Field
label=
"评分标准"
prop=
"ruleDesc"
v-model=
"form.ruleDesc"
type=
"textarea"
placeholder=
"请输入评分标准"
/>
<Field
label=
"扣分方式"
prop=
"subMethod"
v-model=
"form.subMethod"
type=
"select"
:enumData=
"dict.subMethod"
placeholder=
"请选择扣分方式"
/>
<Field
label=
"扣分人员"
prop=
"deductPerson"
v-model=
"form.deductPerson"
placeholder=
"请输入扣分人员"
/>
<Field
label=
"扣分时间"
prop=
"deductTime"
v-model=
"form.deductTime"
type=
"date"
/>
<Field
label=
"扣分或增加分值"
prop=
"score"
v-model=
"form.score"
placeholder=
"请输入扣分或增加分值"
/>
<Field
label=
"处理状态"
prop=
"processStatus"
v-model=
"form.processStatus"
type=
"select"
:enumData=
"dict.processStatus"
placeholder=
"请选择处理状态"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
"submitForm"
v-if=
"pageInfo.type != 'view'"
noCancelBtn
/>
</el-form>
-->
</el-drawer>
</el-drawer>
</
template
>
</
template
>
<
script
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
export
default
{
name
:
"
PerformOtherRecordDetail
"
,
name
:
"
PerformOtherRecordDetail
"
,
mixins
:
[
form
],
mixins
:
[
form
],
components
:
{
components
:
{},
},
created
()
{
created
()
{
this
.
changePath
(
"
perform/other/record
"
)
this
.
changePath
(
"
perform/other/record
"
);
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -53,54 +290,56 @@
...
@@ -53,54 +290,56 @@
title
:
"
其它绩效记录信息
"
,
title
:
"
其它绩效记录信息
"
,
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
direction
:
"
rtl
"
,
direction
:
"
rtl
"
,
toString
:[
toString
:
[
"
irregularOtherType
"
,
"
subMethod
"
,
"
processStatus
"
],
"
irregularOtherType
"
,
toDate
:
[
"
happenTime
"
,
"
deductTime
"
],
"
subMethod
"
,
"
processStatus
"
,
],
toDate
:[
"
happenTime
"
,
"
deductTime
"
,
],
// 表单校验
// 表单校验
rules
:
{
rules
:
{
staffName
:
[
staffName
:
[
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
required
:
true
,
message
:
"
请输入员工姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
},
],
],
createTime
:
[
createTime
:
[{
required
:
true
,
message
:
"
请选择创建时间
"
}],
{
required
:
true
,
message
:
"
请选择创建时间
"
},
},
staffArr
:
[
{
label
:
"
员工1
"
,
value
:
"
1
"
,
},
],
],
}
deptArr
:
[],
kaoqinArr
:
[],
fileList
:
[],
dateValue
:
""
,
timeValue
:
""
,
};
};
},
},
methods
:
{
methods
:
{
/** 编辑 */
/** 编辑 */
edit
(
row
)
{
edit
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
perform/other/record/edit
"
;
this
.
urls
.
currUrl
=
"
perform/other/record/edit
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
pageInfo
.
type
=
"
edit
"
;
this
.
title
=
"
修改其它绩效记录信息
"
;
this
.
title
=
"
修改其它绩效记录信息
"
;
},
},
/** 新增 */
/** 新增 */
add
(
row
)
{
add
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
urls
.
currUrl
=
"
perform/other/record/add
"
;
this
.
urls
.
currUrl
=
"
perform/other/record/add
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
pageInfo
.
type
=
"
add
"
;
this
.
title
=
"
新增其它绩效记录信息
"
;
this
.
title
=
"
新增其它绩效记录信息
"
;
},
},
/** 查看*/
/** 查看*/
view
(
row
)
{
view
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
perform/other/record/view
"
;
this
.
urls
.
currUrl
=
"
perform/other/record/view
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
pageInfo
.
type
=
"
view
"
;
this
.
title
=
"
其它绩效记录信息详细
"
;
this
.
title
=
"
其它绩效记录信息详细
"
;
},
},
/**取消按钮 */
/**取消按钮 */
...
@@ -120,24 +359,24 @@
...
@@ -120,24 +359,24 @@
// 表单重置
// 表单重置
reset
()
{
reset
()
{
this
.
form
=
{
this
.
form
=
{
staffId
:
null
,
staffId
:
null
,
staffName
:
""
,
staffName
:
""
,
workNum
:
""
,
workNum
:
""
,
windowNum
:
""
,
windowNum
:
""
,
deptId
:
null
,
deptId
:
null
,
deptName
:
""
,
deptName
:
""
,
irregularOtherType
:
null
,
irregularOtherType
:
null
,
happenTime
:
null
,
happenTime
:
null
,
duration
:
0
,
duration
:
0
,
ruleId
:
null
,
ruleId
:
null
,
ruleName
:
""
,
ruleName
:
""
,
ruleDesc
:
""
,
ruleDesc
:
""
,
subMethod
:
1
,
subMethod
:
1
,
deductPerson
:
""
,
deductPerson
:
""
,
deductTime
:
null
,
deductTime
:
null
,
score
:
0.0
0
,
score
:
0.
0
,
processStatus
:
1
,
processStatus
:
1
,
remark
:
""
,
remark
:
""
,
};
};
this
.
resetForm
(
"
form
"
);
this
.
resetForm
(
"
form
"
);
},
},
...
@@ -146,6 +385,22 @@
...
@@ -146,6 +385,22 @@
this
.
$refs
[
refName
].
resetFields
();
this
.
$refs
[
refName
].
resetFields
();
}
}
},
},
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
},
},
};
handlePreview
(
file
)
{
console
.
log
(
file
);
},
handleExceed
(
files
,
fileList
)
{
this
.
$message
.
warning
(
`当前限制选择 3 个文件,本次选择了
${
files
.
length
}
个文件,共选择了
${
files
.
length
+
fileList
.
length
}
个文件`
);
},
beforeRemove
(
file
,
fileList
)
{
return
this
.
$confirm
(
`确定移除
${
file
.
name
}
?`
);
},
},
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/perform/other/record/list.vue
View file @
4f1e4230
...
@@ -7,7 +7,8 @@
...
@@ -7,7 +7,8 @@
icon=
"el-icon-tickets"
icon=
"el-icon-tickets"
size=
"mini"
size=
"mini"
@
click=
"handleImport"
@
click=
"handleImport"
>
导入
</el-button>
>
导入
</el-button
>
<el-button
<el-button
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
...
@@ -15,7 +16,8 @@
...
@@ -15,7 +16,8 @@
size=
"mini"
size=
"mini"
@
click=
"doExport"
@
click=
"doExport"
:disabled=
"isExport"
:disabled=
"isExport"
>
导出
</el-button>
>
导出
</el-button
>
</LayoutTable>
</LayoutTable>
<!-- 其它绩效记录信息导入对话框 -->
<!-- 其它绩效记录信息导入对话框 -->
...
@@ -43,10 +45,11 @@
...
@@ -43,10 +45,11 @@
<em>
点击上传
</em>
<em>
点击上传
</em>
</div>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
v-model=
"upload.updateSupport"
<el-link
/>
是否更新已经存在的数据
type=
"primary"
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
下载模板
</el-link
>
>
</div>
</div>
...
@@ -65,17 +68,16 @@
...
@@ -65,17 +68,16 @@
</
template
>
</
template
>
<
script
>
<
script
>
/** 表单弹出框模式需引入 */
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
export
default
{
name
:
"
PerformOtherRecordList
"
,
name
:
"
PerformOtherRecordList
"
,
components
:
{
components
:
{
drawerShow
drawerShow
,
},
mixins
:
[
table
],
created
()
{
},
},
mixins
:
[
table
],
created
()
{},
methods
:
{
methods
:
{
/** 导入 */
/** 导入 */
handleImport
()
{
handleImport
()
{
...
@@ -85,7 +87,11 @@
...
@@ -85,7 +87,11 @@
/** 下载模板操作 */
/** 下载模板操作 */
downloadTemplate
()
{
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/other/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
})
this
.
$download
(
"
/perform/other/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
...
@@ -111,9 +117,15 @@
...
@@ -111,9 +117,15 @@
/** 导出Excel */
/** 导出Excel */
doExport
()
{
doExport
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/other/record/exportExcel
"
,
{
this
.
$download
(
"
idList
"
:
this
.
selection
,
"
/perform/other/record/exportExcel
"
,
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
this
.
$message
.
error
(
error
.
message
);
});
});
...
@@ -130,7 +142,6 @@
...
@@ -130,7 +142,6 @@
toView
(
row
)
{
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -149,58 +160,104 @@
...
@@ -149,58 +160,104 @@
},
},
isExport
:
false
,
isExport
:
false
,
config
:
{
config
:
{
isshowTabPane
:
true
,
isshowTabPane
:
true
,
search
:
[
search
:
[
{
name
:
"
status
"
,
type
:
"
select
"
,
label
:
"
全部状态
"
,
fuzzy
:
false
,
},
{
name
:
"
deptId
"
,
type
:
"
select
"
,
label
:
"
全部部门
"
,
fuzzy
:
false
,
},
{
name
:
"
date
"
,
type
:
"
date
"
,
label
:
"
请选择日期
"
,
fuzzy
:
false
,
},
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
请输入员工姓名搜索
"
,
fuzzy
:
false
,
},
],
],
columns
:
[
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
违规类型
"
,
{
label
:
"
所属部门名称
"
,
prop
:
"
deptName
"
}
,
prop
:
"
irregularOtherType
"
,
formatter
:
this
.
formatter
,
{
label
:
"
违规类型
"
,
prop
:
"
irregularOtherType
"
,
formatter
:
this
.
formatter
},
},
{
label
:
"
发生时间
"
,
prop
:
"
happenTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
发生时间
"
,
prop
:
"
happenTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
持续时间,秒
"
,
prop
:
"
duration
"
,
formatter
:
this
.
formatter
},
{
label
:
"
评分标准
"
,
prop
:
"
ruleDesc
"
},
{
label
:
"
绩效规则id
"
,
prop
:
"
ruleId
"
,
formatter
:
this
.
formatter
},
// {
// label: "持续时间,秒",
// prop: "duration",
// formatter: this.formatter,
// },
{
label
:
"
规则名称
"
,
prop
:
"
ruleName
"
},
// { label: "绩效规则id", prop: "ruleId", formatter: this.formatter },
{
label
:
"
图片凭证
"
,
prop
:
"
snapPath
"
},
{
label
:
"
评分标准
"
,
prop
:
"
ruleDesc
"
},
{
label
:
"
绩效规则
"
,
prop
:
"
ruleName
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
240
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
);
}
},
}
},
]
],
}
},
};
}
};
};
},
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/perform/other/record/list(原其他绩效管理).vue
0 → 100644
View file @
4f1e4230
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button
>
</LayoutTable>
<!-- 其它绩效记录信息导入对话框 -->
<el-dialog
:title=
"upload.title"
:visible.sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"upload.url + '?updateSupport=' + upload.updateSupport"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
</div>
<div
class=
"el-upload__tip"
style=
"color: red"
slot=
"tip"
>
提示:仅允许导入“xls”或“xlsx”格式文件!
</div>
</el-upload>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
</div>
</el-dialog>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
PerformOtherRecordList
"
,
components
:
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
/** 导入 */
handleImport
()
{
this
.
upload
.
title
=
"
其它绩效记录信息导入
"
;
this
.
upload
.
open
=
true
;
},
/** 下载模板操作 */
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/other/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 文件上传中处理 */
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
/** 文件上传成功处理 */
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
response
.
msg
,
"
导入结果
"
,
{
dangerouslyUseHTMLString
:
true
});
this
.
getData
();
},
/** 提交上传文件 */
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
},
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/other/record/exportExcel
"
,
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
// 用户导入参数
upload
:
{
// 是否显示弹出层(其它绩效记录信息导入)
open
:
false
,
// 弹出层标题(其它绩效记录信息导入)
title
:
"
导入其它绩效记录信息数据
"
,
// 是否禁用上传
isUploading
:
false
,
// 是否更新已经存在的数据
updateSupport
:
0
,
// 上传的地址
url
:
"
/m/perform/other/record/importData
"
,
},
isExport
:
false
,
config
:
{
isshowTabPane
:
true
,
search
:
[],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
所属部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
违规类型
"
,
prop
:
"
irregularOtherType
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
发生时间
"
,
prop
:
"
happenTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
持续时间,秒
"
,
prop
:
"
duration
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
绩效规则id
"
,
prop
:
"
ruleId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
规则名称
"
,
prop
:
"
ruleName
"
},
{
label
:
"
评分标准
"
,
prop
:
"
ruleDesc
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
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
>
attendance-performance-manager-ui/admin/src/views/perform/review/record/list.vue
View file @
4f1e4230
...
@@ -7,7 +7,8 @@
...
@@ -7,7 +7,8 @@
icon=
"el-icon-tickets"
icon=
"el-icon-tickets"
size=
"mini"
size=
"mini"
@
click=
"handleImport"
@
click=
"handleImport"
>
导入
</el-button>
>
导入
</el-button
>
<el-button
<el-button
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
...
@@ -15,7 +16,8 @@
...
@@ -15,7 +16,8 @@
size=
"mini"
size=
"mini"
@
click=
"doExport"
@
click=
"doExport"
:disabled=
"isExport"
:disabled=
"isExport"
>
导出
</el-button>
>
导出
</el-button
>
</LayoutTable>
</LayoutTable>
<!-- 评价差评绩效记录信息导入对话框 -->
<!-- 评价差评绩效记录信息导入对话框 -->
...
@@ -43,10 +45,11 @@
...
@@ -43,10 +45,11 @@
<em>
点击上传
</em>
<em>
点击上传
</em>
</div>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
v-model=
"upload.updateSupport"
<el-link
/>
是否更新已经存在的数据
type=
"primary"
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
下载模板
</el-link
>
>
</div>
</div>
...
@@ -65,17 +68,16 @@
...
@@ -65,17 +68,16 @@
</
template
>
</
template
>
<
script
>
<
script
>
/** 表单弹出框模式需引入 */
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
export
default
{
name
:
"
PerformReviewRecordList
"
,
name
:
"
PerformReviewRecordList
"
,
components
:
{
components
:
{
drawerShow
drawerShow
,
},
mixins
:
[
table
],
created
()
{
},
},
mixins
:
[
table
],
created
()
{},
methods
:
{
methods
:
{
/** 导入 */
/** 导入 */
handleImport
()
{
handleImport
()
{
...
@@ -85,7 +87,11 @@
...
@@ -85,7 +87,11 @@
/** 下载模板操作 */
/** 下载模板操作 */
downloadTemplate
()
{
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/review/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
})
this
.
$download
(
"
/perform/review/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
...
@@ -111,9 +117,15 @@
...
@@ -111,9 +117,15 @@
/** 导出Excel */
/** 导出Excel */
doExport
()
{
doExport
()
{
this
.
isExport
=
true
;
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/review/record/exportExcel
"
,
{
this
.
$download
(
"
idList
"
:
this
.
selection
,
"
/perform/review/record/exportExcel
"
,
},
{
type
:
"
excel
"
}).
then
(()
=>
this
.
isExport
=
false
).
catch
(
error
=>
{
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
this
.
$message
.
error
(
error
.
message
);
});
});
...
@@ -130,7 +142,6 @@
...
@@ -130,7 +142,6 @@
toView
(
row
)
{
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -149,54 +160,105 @@
...
@@ -149,54 +160,105 @@
},
},
isExport
:
false
,
isExport
:
false
,
config
:
{
config
:
{
isshowTabPane
:
true
,
isshowTabPane
:
true
,
search
:
[
search
:
[
{
name
:
"
status
"
,
type
:
"
select
"
,
label
:
"
全部状态
"
,
fuzzy
:
false
,
},
{
name
:
"
deptId
"
,
type
:
"
select
"
,
label
:
"
全部部门
"
,
fuzzy
:
false
,
},
{
name
:
"
source
"
,
type
:
"
select
"
,
label
:
"
全部来源
"
,
fuzzy
:
false
,
},
{
name
:
"
date
"
,
type
:
"
date
"
,
label
:
"
请选择日期
"
,
fuzzy
:
false
,
},
{
name
:
"
staffName
"
,
type
:
"
text
"
,
label
:
"
请输入员工姓名搜索
"
,
fuzzy
:
false
,
},
],
],
columns
:
[
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
selection
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptName
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
评价结果
"
,
prop
:
"
reviewResult
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
所属部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
评价来源
"
,
prop
:
"
reviewSource
"
},
{
label
:
"
评价结果
"
,
prop
:
"
reviewResult
"
,
formatter
:
this
.
formatter
},
{
label
:
"
评价设备
"
,
prop
:
"
reviewDevice
"
},
{
label
:
"
评价时间
"
,
prop
:
"
reviewTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
评价时间
"
,
prop
:
"
reviewTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
评价来源
"
,
prop
:
"
reviewSource
"
},
{
label
:
"
图片凭证
"
,
prop
:
"
snapPath
"
},
{
label
:
"
评价设备
"
,
prop
:
"
reviewDevice
"
},
{
label
:
"
绩效规则
"
,
prop
:
"
ruleNme
"
},
{
label
:
"
规则名称
"
,
prop
:
"
ruleName
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
扣分人员
"
,
prop
:
"
deductPerson
"
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
24
0
,
width
:
20
0
,
formatter
:
row
=>
{
formatter
:
(
row
)
=>
{
return
(
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
);
}
},
}
},
]
],
}
},
};
}
};
};
},
};
</
script
>
</
script
>
attendance-performance-manager-ui/admin/src/views/perform/review/record/list(原评价绩效管理).vue
0 → 100644
View file @
4f1e4230
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button
>
<el-button
slot=
"table-head-left2"
style=
"margin-left: 10px"
icon=
"el-icon-tickets"
size=
"mini"
@
click=
"doExport"
:disabled=
"isExport"
>
导出
</el-button
>
</LayoutTable>
<!-- 评价差评绩效记录信息导入对话框 -->
<el-dialog
:title=
"upload.title"
:visible.sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"upload.url + '?updateSupport=' + upload.updateSupport"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
<el-checkbox
v-model=
"upload.updateSupport"
/>
是否更新已经存在的数据
<el-link
type=
"primary"
style=
"font-size: 14px"
@
click=
"downloadTemplate"
>
下载模板
</el-link
>
</div>
<div
class=
"el-upload__tip"
style=
"color: red"
slot=
"tip"
>
提示:仅允许导入“xls”或“xlsx”格式文件!
</div>
</el-upload>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
</div>
</el-dialog>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
PerformReviewRecordList
"
,
components
:
{
drawerShow
,
},
mixins
:
[
table
],
created
()
{},
methods
:
{
/** 导入 */
handleImport
()
{
this
.
upload
.
title
=
"
评价差评绩效记录信息导入
"
;
this
.
upload
.
open
=
true
;
},
/** 下载模板操作 */
downloadTemplate
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/review/record/downloadTemplate
"
,
{},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 文件上传中处理 */
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
/** 文件上传成功处理 */
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
response
.
msg
,
"
导入结果
"
,
{
dangerouslyUseHTMLString
:
true
});
this
.
getData
();
},
/** 提交上传文件 */
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
},
/** 导出Excel */
doExport
()
{
this
.
isExport
=
true
;
this
.
$download
(
"
/perform/review/record/exportExcel
"
,
{
idList
:
this
.
selection
,
},
{
type
:
"
excel
"
}
)
.
then
(()
=>
(
this
.
isExport
=
false
))
.
catch
((
error
)
=>
{
this
.
isExport
=
false
;
this
.
$message
.
error
(
error
.
message
);
});
},
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
// 用户导入参数
upload
:
{
// 是否显示弹出层(评价差评绩效记录信息导入)
open
:
false
,
// 弹出层标题(评价差评绩效记录信息导入)
title
:
"
导入评价差评绩效记录信息数据
"
,
// 是否禁用上传
isUploading
:
false
,
// 是否更新已经存在的数据
updateSupport
:
0
,
// 上传的地址
url
:
"
/m/perform/review/record/importData
"
,
},
isExport
:
false
,
config
:
{
isshowTabPane
:
true
,
search
:
[],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
工号
"
,
prop
:
"
workNum
"
},
{
label
:
"
窗口编号
"
,
prop
:
"
windowNum
"
},
{
label
:
"
所属部门
"
,
prop
:
"
deptId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
所属部门名称
"
,
prop
:
"
deptName
"
},
{
label
:
"
评价结果
"
,
prop
:
"
reviewResult
"
,
formatter
:
this
.
formatter
,
},
{
label
:
"
评价时间
"
,
prop
:
"
reviewTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
评价来源
"
,
prop
:
"
reviewSource
"
},
{
label
:
"
评价设备
"
,
prop
:
"
reviewDevice
"
},
{
label
:
"
规则名称
"
,
prop
:
"
ruleName
"
},
{
label
:
"
扣分方式
"
,
prop
:
"
subMethod
"
,
formatter
:
this
.
formatter
},
{
label
:
"
扣分时间
"
,
prop
:
"
deductTime
"
,
formatter
:
this
.
formatterDate
,
},
{
label
:
"
扣分或增加分值
"
,
prop
:
"
score
"
,
formatter
:
this
.
formatter
},
{
label
:
"
处理状态
"
,
prop
:
"
processStatus
"
,
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
>
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