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
ae5f9748
Commit
ae5f9748
authored
Jul 10, 2023
by
姬鋆屾
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
推
parent
0e792e37
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
558 additions
and
219 deletions
+558
-219
attendance-performance-manager-ui/admin/src/views/perform/attend/record/drawershow.vue
...r-ui/admin/src/views/perform/attend/record/drawershow.vue
+247
-96
attendance-performance-manager-ui/admin/src/views/perform/attend/record/list.vue
...manager-ui/admin/src/views/perform/attend/record/list.vue
+18
-5
attendance-performance-manager-ui/admin/src/views/perform/review/record/drawershow.vue
...r-ui/admin/src/views/perform/review/record/drawershow.vue
+277
-115
attendance-performance-manager-ui/admin/src/views/perform/review/record/list.vue
...manager-ui/admin/src/views/perform/review/record/list.vue
+16
-3
No files found.
attendance-performance-manager-ui/admin/src/views/perform/attend/record/drawershow.vue
View file @
ae5f9748
...
@@ -10,12 +10,19 @@
...
@@ -10,12 +10,19 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"姓名:"
>
<el-form-item
label=
"姓名:"
>
<el-select
v-model=
"form.staffId"
style=
"width: 100%;"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
staffName
}}
</p>
<el-select
v-model=
"form.staffName"
filterable
@
change=
"staffChange"
style=
"width: 100%;"
v-else
>
<el-option
<el-option
v-for=
"item in staffArr"
v-for=
"item in staffArr"
:key=
"item.
value
"
:key=
"item.
id
"
:label=
"item.
label
"
:label=
"item.
name
"
:value=
"item.
value
"
:value=
"item.
id
"
>
>
</el-option
</el-option
></el-select>
></el-select>
...
@@ -25,12 +32,19 @@
...
@@ -25,12 +32,19 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"所属部门:"
>
<el-form-item
label=
"所属部门:"
>
<el-select
v-model=
"form.deptId"
style=
"width: 100%;"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
deptName
}}
</p>
<el-select
v-else
v-model=
"form.deptId"
style=
"width: 100%;"
disabled
>
<el-option
<el-option
v-for=
"item in deptArr"
v-for=
"item in deptArr"
:key=
"item.
value
"
:key=
"item.
id
"
:label=
"item.
label
"
:label=
"item.
deptName
"
:value=
"item.
value
"
:value=
"item.
id
"
>
>
</el-option
</el-option
></el-select>
></el-select>
...
@@ -40,7 +54,10 @@
...
@@ -40,7 +54,10 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"窗口编号:"
>
<el-form-item
label=
"窗口编号:"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
windowNum
}}
</p>
<el-input
<el-input
v-else
v-model=
"form.windowNum"
v-model=
"form.windowNum"
placeholder=
"请输入窗口编号"
placeholder=
"请输入窗口编号"
></el-input>
></el-input>
...
@@ -50,12 +67,18 @@
...
@@ -50,12 +67,18 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"考勤组:"
>
<el-form-item
label=
"考勤组:"
>
<el-select
v-model=
"form.attendanceGroupId"
style=
"width: 100%;"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
attendanceGroupName
}}
</p>
<el-select
v-else
v-model=
"form.attendanceGroupId"
style=
"width: 100%;"
>
<el-option
<el-option
v-for=
"item in kaoqinArr"
v-for=
"item in kaoqinArr"
:key=
"item.
value
"
:key=
"item.
id
"
:label=
"item.
label
"
:label=
"item.
groupName
"
:value=
"item.
value
"
:value=
"item.
id
"
>
>
</el-option
</el-option
></el-select>
></el-select>
...
@@ -65,7 +88,9 @@
...
@@ -65,7 +88,9 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"异常时间:"
>
<el-form-item
label=
"异常时间:"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
errorTime
}}
</p>
<el-date-picker
<el-date-picker
v-else
v-model=
"form.errorTime"
v-model=
"form.errorTime"
type=
"date"
type=
"date"
placeholder=
"选择日期"
placeholder=
"选择日期"
...
@@ -78,11 +103,13 @@
...
@@ -78,11 +103,13 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"实际打卡时间:"
>
<el-form-item
label=
"实际打卡时间:"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
actualAttendTime
}}
</p>
<el-time-select
<el-time-select
v-else
v-model=
"form.actualAttendTime"
v-model=
"form.actualAttendTime"
:picker-options=
"
{
:picker-options=
"
{
start: '06:00',
start: '06:00',
step: '00:
15
',
step: '00:
01
',
end: '18:30',
end: '18:30',
}"
}"
placeholder="选择时间"
placeholder="选择时间"
...
@@ -95,22 +122,14 @@
...
@@ -95,22 +122,14 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"图片凭证:"
>
<el-form-item
label=
"图片凭证:"
>
<el-upload
<div
v-if=
"form.view == '查看'"
>
class=
"upload-demo"
{{
form
.
filePaths
?
picMatter
(
form
.
filePaths
)
:
"
--
"
}}
action=
"https://jsonplaceholder.typicode.com/posts/"
</div>
:on-preview=
"handlePreview"
<ImageUpload
:on-remove=
"handleRemove"
v-else
:before-remove=
"beforeRemove"
:value=
"form.filePaths"
multiple
@
input=
"replaceImage"
:limit=
"3"
></ImageUpload>
: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-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -118,30 +137,38 @@
...
@@ -118,30 +137,38 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"绩效规则:"
>
<el-form-item
label=
"绩效规则:"
>
<
el-col
:span=
"22"
>
<
p
v-if=
"form.view == '查看'"
>
{{
form
.
ruleNme
}}
</p
>
<el-select
v-model=
"form.attendanceGroupId"
style=
"width: 100%;"
>
<div
v-else
>
<el-option
<el-col
:span=
"22"
>
v-for=
"item in kaoqinArr"
<el-select
:key=
"item.value
"
v-model=
"form.categoryId
"
:label=
"item.label
"
style=
"width: 100%;
"
:value=
"item.valu
e"
@
change=
"cateChang
e"
>
>
</el-option
<el-option
></el-select>
v-for=
"item in kaoqinCateArr"
</el-col>
:key=
"item.id"
<el-col
:span=
"22"
>
:label=
"item.name"
<el-select
:value=
"item.id"
v-model=
"form.attendanceGroupId"
>
style=
"width: 100%;margin-top: 10px;"
</el-option
>
></el-select>
<el-option
</el-col>
v-for=
"item in kaoqinArr"
<el-col
:span=
"22"
>
:key=
"item.value"
<el-select
:label=
"item.label"
v-model=
"form.ruleId"
:value=
"item.value"
style=
"width: 100%;margin-top: 10px;"
@
change=
"ruleChange"
>
>
</el-option></el-select
<el-option
></el-col>
v-for=
"item in ruleArr"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option></el-select
></el-col>
</div>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -155,6 +182,7 @@
...
@@ -155,6 +182,7 @@
<form-buttons
<form-buttons
@
submit=
"submitForm"
@
submit=
"submitForm"
v-show=
"form.view != '查看'"
v-if=
"pageInfo.type != 'view'"
v-if=
"pageInfo.type != 'view'"
noCancelBtn
noCancelBtn
/>
/>
...
@@ -307,12 +335,48 @@
...
@@ -307,12 +335,48 @@
<
script
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
form
from
"
@/assets/mixins/formdialog
"
;
import
{
timestampToTime
}
from
"
@/assets/utils/dateFormat.js
"
;
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
"
);
// 获取工作人员列表
this
.
$post
(
"
/staff/list
"
,
{
page
:
1
,
size
:
-
1
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
staffArr
=
res
.
data
.
data
;
}
else
{
this
.
staffArr
=
[];
}
});
// 获取部门列表
this
.
$post
(
"
/dept/list
"
,
{
page
:
1
,
size
:
-
1
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
deptArr
=
res
.
data
.
data
;
}
else
{
this
.
deptArr
=
[];
}
});
// 获取考勤组信息
this
.
$post
(
"
/attendance/group/list
"
,
{
page
:
1
,
size
:
-
1
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
kaoqinArr
=
res
.
data
.
data
;
}
else
{
this
.
kaoqinArr
=
[];
}
});
// 获取规则分类
this
.
$post
(
"
/perform/rules/category/list
"
,
{
page
:
1
,
size
:
-
1
}).
then
(
(
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
kaoqinCateArr
=
res
.
data
.
data
;
}
else
{
this
.
kaoqinCateArr
=
[];
}
}
);
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -333,33 +397,102 @@ export default {
...
@@ -333,33 +397,102 @@ export default {
],
],
createTime
:
[{
required
:
true
,
message
:
"
请选择创建时间
"
}],
createTime
:
[{
required
:
true
,
message
:
"
请选择创建时间
"
}],
},
},
staffArr
:
[
staffArr
:
[],
{
label
:
"
员工1
"
,
value
:
"
1
"
,
},
],
deptArr
:
[],
deptArr
:
[],
kaoqinArr
:
[],
kaoqinArr
:
[],
fileList
:
[],
fileList
:
[],
kaoqinCateArr
:
[],
ruleArr
:
[],
form
:
{},
baseUrl
:
process
.
env
.
VUE_APP_API_BASE_URL
+
"
/
"
,
};
};
},
},
methods
:
{
methods
:
{
picMatter
(
val
)
{
if
(
val
!==
"
--
"
)
{
return
(
<
el
-
image
src
=
{
val
.
indexOf
(
"
http
"
)
==
-
1
?
this
.
baseUrl
+
val
:
val
}
preview
-
src
-
list
=
{
val
.
indexOf
(
"
http
"
)
==
-
1
?
this
.
baseUrl
+
val
:
val
}
style
=
"
width: 100px
"
><
/el-image
>
);
}
else
{
return
val
;
}
},
ruleChange
(
val
)
{
let
arr
=
this
.
ruleArr
.
filter
((
v
)
=>
v
.
id
==
val
);
this
.
form
.
score
=
arr
&&
arr
[
0
].
score
;
this
.
form
.
checkStatus
==
1
?
(
this
.
form
.
checkStatus
=
2
)
:
""
;
},
cateChange
()
{
this
.
$post
(
"
/perform/rules/list
"
,
{
page
:
1
,
size
:
-
1
,
categoryId
:
this
.
form
.
categoryId
,
}).
then
((
res
)
=>
{
this
.
ruleArr
=
res
.
data
.
data
;
this
.
form
.
ruleId
=
""
;
});
},
replaceImage
(
val
)
{
this
.
form
.
filePaths
=
val
;
},
staffChange
(
val
)
{
console
.
log
(
val
);
let
arr
=
this
.
staffArr
.
filter
((
v
)
=>
v
.
id
==
val
);
this
.
form
.
deptId
=
arr
&&
arr
.
length
>
0
?
arr
[
0
].
deptId
:
""
;
},
/** 编辑 */
/** 编辑 */
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
.
$get
(
"
/perform/attend/record/info
"
,
{
id
:
row
.
id
}).
then
((
res
)
=>
{
console
.
log
(
res
.
data
);
if
(
res
.
code
==
1
)
{
this
.
form
=
res
.
data
;
}
else
{
this
.
form
=
row
;
}
for
(
let
key
in
this
.
form
)
{
key
==
"
actualAttendTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
attendanceDate
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
createTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
errorTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
updateTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
checkTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
deductTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
goOffTimeStr
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
""
;
}
this
.
form
.
processStatus
=
2
;
this
.
form
.
view
=
"
核查
"
;
this
.
open
=
true
;
});
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
.
open
=
true
;
this
.
pageInfo
.
type
=
"
add
"
;
this
.
pageInfo
.
type
=
"
add
"
;
this
.
title
=
"
新增考勤绩效记录信息
"
;
this
.
title
=
"
新增考勤绩效记录信息
"
;
},
},
...
@@ -367,8 +500,38 @@ export default {
...
@@ -367,8 +500,38 @@ export default {
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
.
$get
(
"
/perform/attend/record/info
"
,
{
id
:
row
.
id
}).
then
((
res
)
=>
{
console
.
log
(
res
.
data
);
if
(
res
.
code
==
1
)
{
this
.
form
=
res
.
data
;
}
else
{
this
.
form
=
row
;
}
for
(
let
key
in
this
.
form
)
{
key
==
"
actualAttendTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
attendanceDate
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
createTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
errorTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
updateTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
checkTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
deductTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
goOffTimeStr
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
""
;
}
this
.
form
.
processStatus
=
1
;
this
.
form
.
view
=
"
查看
"
;
this
.
open
=
true
;
});
this
.
pageInfo
.
type
=
"
view
"
;
this
.
pageInfo
.
type
=
"
view
"
;
this
.
title
=
"
考勤绩效记录信息详细
"
;
this
.
title
=
"
考勤绩效记录信息详细
"
;
},
},
...
@@ -389,27 +552,31 @@ export default {
...
@@ -389,27 +552,31 @@ export default {
// 表单重置
// 表单重置
reset
()
{
reset
()
{
this
.
form
=
{
this
.
form
=
{
staffId
:
null
,
actualAttendTime
:
""
,
staffName
:
""
,
attendanceDate
:
""
,
workNum
:
""
,
attendanceGroupId
:
""
,
deptId
:
null
,
deptName
:
""
,
attendanceGroupId
:
null
,
attendanceGroupName
:
""
,
attendanceGroupName
:
""
,
attendanceDate
:
null
,
createTime
:
""
,
ruleId
:
null
,
createUserId
:
""
,
ruleNme
:
""
,
errorTime
:
null
,
goOffTimeStr
:
""
,
actualAttendTime
:
null
,
errorResult
:
""
,
subMethod
:
1
,
deductPerson
:
""
,
deductPerson
:
""
,
deductTime
:
null
,
deductTime
:
""
,
subAddType
:
1
,
deptId
:
""
,
score
:
0.0
,
deptName
:
""
,
errorResult
:
""
,
errorTime
:
""
,
fileNames
:
""
,
filePaths
:
""
,
goOffTimeStr
:
""
,
processStatus
:
1
,
processStatus
:
1
,
remark
:
""
,
remark
:
""
,
ruleId
:
""
,
ruleNme
:
""
,
score
:
""
,
staffId
:
""
,
staffName
:
""
,
subAddType
:
""
,
subMethod
:
""
,
workNum
:
""
,
};
};
this
.
resetForm
(
"
form
"
);
this
.
resetForm
(
"
form
"
);
},
},
...
@@ -418,22 +585,6 @@ export default {
...
@@ -418,22 +585,6 @@ export default {
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 @
ae5f9748
<
template
>
<
template
>
<div
class=
"page"
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
<LayoutTable
:data=
"tableData"
notDel
:config=
"tableConfig"
>
<el-button
<el-button
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
...
@@ -120,7 +120,8 @@ export default {
...
@@ -120,7 +120,8 @@ export default {
this
.
$download
(
this
.
$download
(
"
/perform/attend/record/exportExcel
"
,
"
/perform/attend/record/exportExcel
"
,
{
{
idList
:
this
.
selection
,
page
:
1
,
size
:
-
1
,
},
},
{
type
:
"
excel
"
}
{
type
:
"
excel
"
}
)
)
...
@@ -136,10 +137,12 @@ export default {
...
@@ -136,10 +137,12 @@ export default {
},
},
/** 重写编辑方法 */
/** 重写编辑方法 */
toEdit
(
row
)
{
toEdit
(
row
)
{
row
.
view
=
"
核查
"
;
this
.
$refs
.
drawerform
.
edit
(
row
);
this
.
$refs
.
drawerform
.
edit
(
row
);
},
},
/** 重写查看方法 */
/** 重写查看方法 */
toView
(
row
)
{
toView
(
row
)
{
row
.
view
=
"
查看
"
;
this
.
$refs
.
drawerform
.
view
(
row
);
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
},
},
...
@@ -163,7 +166,7 @@ export default {
...
@@ -163,7 +166,7 @@ export default {
isshowTabPane
:
true
,
isshowTabPane
:
true
,
search
:
[
search
:
[
{
{
name
:
"
s
tatus
"
,
name
:
"
processS
tatus
"
,
type
:
"
select
"
,
type
:
"
select
"
,
label
:
"
全部状态
"
,
label
:
"
全部状态
"
,
fuzzy
:
false
,
fuzzy
:
false
,
...
@@ -237,7 +240,7 @@ export default {
...
@@ -237,7 +240,7 @@ export default {
{
{
label
:
"
处理状态
"
,
label
:
"
处理状态
"
,
prop
:
"
check
Status
"
,
prop
:
"
process
Status
"
,
formatter
:
this
.
formatter
,
formatter
:
this
.
formatter
,
},
},
...
@@ -245,7 +248,7 @@ export default {
...
@@ -245,7 +248,7 @@ export default {
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
200
,
width
:
200
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
return
(
return
row
.
processStatus
==
1
?
(
<
table
-
buttons
<
table
-
buttons
noAdd
noAdd
row
=
{
row
}
row
=
{
row
}
...
@@ -253,6 +256,16 @@ export default {
...
@@ -253,6 +256,16 @@ export default {
onView
=
{
this
.
toView
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
onDel
=
{
this
.
toDel
}
/
>
/
>
)
:
(
<
table
-
buttons
noAdd
noEdit
noDel
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
);
},
},
},
},
...
...
attendance-performance-manager-ui/admin/src/views/perform/review/record/drawershow.vue
View file @
ae5f9748
...
@@ -10,12 +10,19 @@
...
@@ -10,12 +10,19 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"姓名:"
>
<el-form-item
label=
"姓名:"
>
<el-select
v-model=
"form.staffId"
style=
"width: 100%;"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
staffName
}}
</p>
<el-select
v-model=
"form.staffName"
filterable
@
change=
"staffChange"
style=
"width: 100%;"
v-else
>
<el-option
<el-option
v-for=
"item in staffArr"
v-for=
"item in staffArr"
:key=
"item.
value
"
:key=
"item.
id
"
:label=
"item.
label
"
:label=
"item.
name
"
:value=
"item.
value
"
:value=
"item.
id
"
>
>
</el-option
</el-option
></el-select>
></el-select>
...
@@ -25,12 +32,19 @@
...
@@ -25,12 +32,19 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"所属部门:"
>
<el-form-item
label=
"所属部门:"
>
<el-select
v-model=
"form.deptId"
style=
"width: 100%;"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
deptName
}}
</p>
<el-select
v-else
v-model=
"form.deptId"
style=
"width: 100%;"
disabled
>
<el-option
<el-option
v-for=
"item in deptArr"
v-for=
"item in deptArr"
:key=
"item.
value
"
:key=
"item.
id
"
:label=
"item.
label
"
:label=
"item.
deptName
"
:value=
"item.
value
"
:value=
"item.
id
"
>
>
</el-option
</el-option
></el-select>
></el-select>
...
@@ -40,7 +54,10 @@
...
@@ -40,7 +54,10 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"窗口编号:"
>
<el-form-item
label=
"窗口编号:"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
windowNum
}}
</p>
<el-input
<el-input
v-else
v-model=
"form.windowNum"
v-model=
"form.windowNum"
placeholder=
"请输入窗口编号"
placeholder=
"请输入窗口编号"
></el-input>
></el-input>
...
@@ -50,7 +67,17 @@
...
@@ -50,7 +67,17 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"评价结果:"
>
<el-form-item
label=
"评价结果:"
>
<el-radio-group
v-model=
"form.reviewResult"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
reviewResult
==
1
?
"
非常不满意
"
:
form
.
reviewResult
==
2
?
"
差评
"
:
""
}}
</p>
<el-radio-group
v-model=
"form.reviewResult"
v-else
>
<el-radio
:label=
"1"
>
非常不满意
</el-radio>
<el-radio
:label=
"1"
>
非常不满意
</el-radio>
<el-radio
:label=
"2"
>
差评
</el-radio>
<el-radio
:label=
"2"
>
差评
</el-radio>
</el-radio-group>
</el-radio-group>
...
@@ -60,13 +87,15 @@
...
@@ -60,13 +87,15 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"评价来源:"
>
<el-form-item
label=
"评价来源:"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
reviewSource
}}
</p>
<el-select
<el-select
v-model=
"form.deptId"
v-else
v-model=
"form.reviewSource"
style=
"width: 100%;"
style=
"width: 100%;"
placeholder=
"请选择评价来源"
placeholder=
"请选择评价来源"
>
>
<el-option
<el-option
v-for=
"item in
dept
Arr"
v-for=
"item in
source
Arr"
:key=
"item.value"
:key=
"item.value"
:label=
"item.label"
:label=
"item.label"
:value=
"item.value"
:value=
"item.value"
...
@@ -79,8 +108,11 @@
...
@@ -79,8 +108,11 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"评价设备:"
>
<el-form-item
label=
"评价设备:"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
reviewDevice
}}
</p>
<el-input
<el-input
v-model=
"form.windowNum"
v-else
v-model=
"form.reviewDevice"
placeholder=
"请输入评价设备"
placeholder=
"请输入评价设备"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
...
@@ -89,28 +121,16 @@
...
@@ -89,28 +121,16 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"评价时间"
>
<el-form-item
label=
"评价时间"
>
<el-col
:span=
"11"
>
<p
v-if=
"form.view == '查看'"
>
{{
form
.
reviewTime
}}
</p>
<el-date-picker
v-model=
"dateValue"
<el-date-picker
type=
"date"
v-else
placeholder=
"选择日期"
v-model=
"form.reviewTime"
style=
"width: 100%;"
type=
"datetime"
>
placeholder=
"选择日期时间"
</el-date-picker>
style=
"width: 100%;"
</el-col>
>
<el-col
:span=
"11"
>
</el-date-picker>
<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-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -118,22 +138,14 @@
...
@@ -118,22 +138,14 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"图片凭证:"
>
<el-form-item
label=
"图片凭证:"
>
<el-upload
<div
v-if=
"form.view == '查看'"
>
class=
"upload-demo"
{{
form
.
filePaths
?
picMatter
(
form
.
filePaths
)
:
"
--
"
}}
action=
"https://jsonplaceholder.typicode.com/posts/"
</div>
:on-preview=
"handlePreview"
<ImageUpload
:on-remove=
"handleRemove"
v-else
:before-remove=
"beforeRemove"
:value=
"form.filePaths"
multiple
@
input=
"replaceImage"
:limit=
"3"
></ImageUpload>
: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-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -141,30 +153,38 @@
...
@@ -141,30 +153,38 @@
<el-row>
<el-row>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form-item
label=
"绩效规则:"
>
<el-form-item
label=
"绩效规则:"
>
<
el-col
:span=
"22"
>
<
p
v-if=
"form.view == '查看'"
>
{{
form
.
ruleNme
}}
</p
>
<el-select
v-model=
"form.attendanceGroupId"
style=
"width: 100%;"
>
<div
v-else
>
<el-option
<el-col
:span=
"22"
>
v-for=
"item in kaoqinArr"
<el-select
:key=
"item.value
"
v-model=
"form.categoryId
"
:label=
"item.label
"
style=
"width: 100%;
"
:value=
"item.valu
e"
@
change=
"cateChang
e"
>
>
</el-option
<el-option
></el-select>
v-for=
"item in kaoqinCateArr"
</el-col>
:key=
"item.id"
<el-col
:span=
"22"
>
:label=
"item.name"
<el-select
:value=
"item.id"
v-model=
"form.attendanceGroupId"
>
style=
"width: 100%;margin-top: 10px;"
</el-option
>
></el-select>
<el-option
</el-col>
v-for=
"item in kaoqinArr"
<el-col
:span=
"22"
>
:key=
"item.value"
<el-select
:label=
"item.label"
v-model=
"form.ruleId"
:value=
"item.value"
style=
"width: 100%;margin-top: 10px;"
@
change=
"ruleChange"
>
>
</el-option></el-select
<el-option
></el-col>
v-for=
"item in ruleArr"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option></el-select
></el-col>
</div>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -314,12 +334,41 @@
...
@@ -314,12 +334,41 @@
<
script
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
form
from
"
@/assets/mixins/formdialog
"
;
import
{
timestampToTime
}
from
"
@/assets/utils/dateFormat.js
"
;
export
default
{
export
default
{
name
:
"
PerformReviewRecordDetail
"
,
name
:
"
PerformReviewRecordDetail
"
,
mixins
:
[
form
],
mixins
:
[
form
],
components
:
{},
components
:
{},
created
()
{
created
()
{
this
.
changePath
(
"
perform/review/record
"
);
this
.
changePath
(
"
perform/review/record
"
);
// 获取工作人员列表
this
.
$post
(
"
/staff/list
"
,
{
page
:
1
,
size
:
-
1
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
staffArr
=
res
.
data
.
data
;
}
else
{
this
.
staffArr
=
[];
}
});
// 获取部门列表
this
.
$post
(
"
/dept/list
"
,
{
page
:
1
,
size
:
-
1
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
deptArr
=
res
.
data
.
data
;
}
else
{
this
.
deptArr
=
[];
}
});
// 获取规则分类
this
.
$post
(
"
/perform/rules/category/list
"
,
{
page
:
1
,
size
:
-
1
}).
then
(
(
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
kaoqinCateArr
=
res
.
data
.
data
;
}
else
{
this
.
kaoqinCateArr
=
[];
}
}
);
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -340,35 +389,129 @@ export default {
...
@@ -340,35 +389,129 @@ export default {
],
],
createTime
:
[{
required
:
true
,
message
:
"
请选择创建时间
"
}],
createTime
:
[{
required
:
true
,
message
:
"
请选择创建时间
"
}],
},
},
staffArr
:
[
{
staffArr
:
[],
label
:
"
员工1
"
,
value
:
"
1
"
,
},
],
deptArr
:
[],
deptArr
:
[],
kaoqinArr
:
[],
kaoqinArr
:
[],
fileList
:
[],
fileList
:
[],
kaoqinCateArr
:
[],
ruleArr
:
[],
sourceArr
:
[
{
label
:
"
窗口评价系统
"
,
value
:
"
窗口评价系统
"
,
},
{
label
:
"
导视系统
"
,
value
:
"
导视系统
"
,
},
{
label
:
"
自助服务系统
"
,
value
:
"
自助服务系统
"
,
},
{
label
:
"
微官网
"
,
value
:
"
微官网
"
,
},
{
label
:
"
其它
"
,
value
:
"
其它
"
,
},
],
form
:
{},
baseUrl
:
process
.
env
.
VUE_APP_API_BASE_URL
+
"
/
"
,
dateValue
:
""
,
dateValue
:
""
,
timeValue
:
""
,
timeValue
:
""
,
};
};
},
},
methods
:
{
methods
:
{
picMatter
(
val
)
{
if
(
val
!==
"
--
"
)
{
return
(
<
el
-
image
src
=
{
val
.
indexOf
(
"
http
"
)
==
-
1
?
this
.
baseUrl
+
val
:
val
}
preview
-
src
-
list
=
{
val
.
indexOf
(
"
http
"
)
==
-
1
?
this
.
baseUrl
+
val
:
val
}
style
=
"
width: 100px
"
><
/el-image
>
);
}
else
{
return
val
;
}
},
ruleChange
(
val
)
{
let
arr
=
this
.
ruleArr
.
filter
((
v
)
=>
v
.
id
==
val
);
this
.
form
.
score
=
arr
&&
arr
[
0
].
score
;
this
.
form
.
checkStatus
==
1
?
(
this
.
form
.
checkStatus
=
2
)
:
""
;
},
cateChange
()
{
this
.
$post
(
"
/perform/rules/list
"
,
{
page
:
1
,
size
:
-
1
,
categoryId
:
this
.
form
.
categoryId
,
}).
then
((
res
)
=>
{
this
.
ruleArr
=
res
.
data
.
data
;
this
.
form
.
ruleId
=
""
;
});
},
replaceImage
(
val
)
{
this
.
form
.
filePaths
=
val
;
},
staffChange
(
val
)
{
console
.
log
(
val
);
let
arr
=
this
.
staffArr
.
filter
((
v
)
=>
v
.
id
==
val
);
this
.
form
.
deptId
=
arr
&&
arr
.
length
>
0
?
arr
[
0
].
deptId
:
""
;
},
/** 编辑 */
/** 编辑 */
edit
(
row
)
{
edit
(
row
)
{
this
.
reset
();
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
perform/review/record/edit
"
;
// this.urls.currUrl = "perform/review/record/edit";
this
.
getData
();
// this.getData();
this
.
$get
(
"
/perform/review/record/info
"
,
{
id
:
row
.
id
}).
then
((
res
)
=>
{
console
.
log
(
res
.
data
);
if
(
res
.
code
==
1
)
{
this
.
form
=
res
.
data
;
}
else
{
this
.
form
=
row
;
}
for
(
let
key
in
this
.
form
)
{
key
==
"
actualAttendTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
attendanceDate
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
createTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
errorTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
updateTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
checkTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
deductTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
goOffTimeStr
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
reviewTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
""
;
}
this
.
form
.
processStatus
=
2
;
this
.
form
.
view
=
"
核查
"
;
this
.
open
=
true
;
});
this
.
pageInfo
.
type
=
"
edit
"
;
this
.
pageInfo
.
type
=
"
edit
"
;
this
.
title
=
"
修改评价差评绩效记录信息
"
;
this
.
title
=
"
修改评价差评绩效记录信息
"
;
},
},
/** 新增 */
/** 新增 */
add
(
row
)
{
add
(
row
)
{
this
.
reset
();
this
.
reset
();
this
.
urls
.
currUrl
=
"
perform/review/record/add
"
;
// this.urls.currUrl = "perform/review/record/add";
this
.
getData
();
// this.getData();
this
.
open
=
true
;
this
.
pageInfo
.
type
=
"
add
"
;
this
.
pageInfo
.
type
=
"
add
"
;
this
.
title
=
"
新增评价差评绩效记录信息
"
;
this
.
title
=
"
新增评价差评绩效记录信息
"
;
},
},
...
@@ -376,8 +519,39 @@ export default {
...
@@ -376,8 +519,39 @@ export default {
view
(
row
)
{
view
(
row
)
{
this
.
reset
();
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
perform/review/record/view
"
;
// this.urls.currUrl = "perform/review/record/view";
this
.
getData
();
// this.getData();
this
.
$get
(
"
/perform/review/record/info
"
,
{
id
:
row
.
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
1
)
{
this
.
form
=
res
.
data
;
}
else
{
this
.
form
=
row
;
}
for
(
let
key
in
this
.
form
)
{
key
==
"
actualAttendTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
attendanceDate
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
createTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
errorTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
updateTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
checkTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
deductTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
goOffTimeStr
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
key
==
"
reviewTime
"
?
(
this
.
form
[
key
]
=
timestampToTime
(
this
.
form
[
key
],
6
))
:
""
;
}
this
.
form
.
processStatus
=
1
;
this
.
form
.
view
=
"
查看
"
;
this
.
open
=
true
;
});
this
.
pageInfo
.
type
=
"
view
"
;
this
.
pageInfo
.
type
=
"
view
"
;
this
.
title
=
"
评价差评绩效记录信息详细
"
;
this
.
title
=
"
评价差评绩效记录信息详细
"
;
},
},
...
@@ -398,24 +572,28 @@ export default {
...
@@ -398,24 +572,28 @@ export default {
// 表单重置
// 表单重置
reset
()
{
reset
()
{
this
.
form
=
{
this
.
form
=
{
staffId
:
null
,
createTime
:
""
,
staffName
:
""
,
createUserId
:
""
,
workNum
:
""
,
windowNum
:
""
,
deptId
:
null
,
deptName
:
""
,
reviewResult
:
null
,
reviewTime
:
null
,
reviewSource
:
""
,
reviewDevice
:
""
,
ruleId
:
null
,
ruleName
:
""
,
subMethod
:
1
,
deductPerson
:
""
,
deductPerson
:
""
,
deductTime
:
null
,
deductTime
:
""
,
score
:
0.0
,
deptId
:
""
,
deptName
:
""
,
fileNames
:
""
,
filePaths
:
""
,
processStatus
:
1
,
processStatus
:
1
,
remark
:
""
,
remark
:
""
,
reviewDevice
:
""
,
reviewResult
:
""
,
reviewSource
:
""
,
reviewTime
:
""
,
ruleId
:
""
,
ruleName
:
""
,
score
:
""
,
staffId
:
""
,
staffName
:
""
,
subMethod
:
""
,
windowNum
:
""
,
workNum
:
""
,
};
};
this
.
resetForm
(
"
form
"
);
this
.
resetForm
(
"
form
"
);
},
},
...
@@ -424,22 +602,6 @@ export default {
...
@@ -424,22 +602,6 @@ export default {
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/review/record/list.vue
View file @
ae5f9748
<
template
>
<
template
>
<div
class=
"page"
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
<LayoutTable
:data=
"tableData"
notDel
:config=
"tableConfig"
>
<el-button
<el-button
slot=
"table-head-left2"
slot=
"table-head-left2"
style=
"margin-left: 10px"
style=
"margin-left: 10px"
...
@@ -120,7 +120,8 @@ export default {
...
@@ -120,7 +120,8 @@ export default {
this
.
$download
(
this
.
$download
(
"
/perform/review/record/exportExcel
"
,
"
/perform/review/record/exportExcel
"
,
{
{
idList
:
this
.
selection
,
page
:
1
,
size
:
-
1
,
},
},
{
type
:
"
excel
"
}
{
type
:
"
excel
"
}
)
)
...
@@ -136,10 +137,12 @@ export default {
...
@@ -136,10 +137,12 @@ export default {
},
},
/** 重写编辑方法 */
/** 重写编辑方法 */
toEdit
(
row
)
{
toEdit
(
row
)
{
row
.
view
=
"
核查
"
;
this
.
$refs
.
drawerform
.
edit
(
row
);
this
.
$refs
.
drawerform
.
edit
(
row
);
},
},
/** 重写查看方法 */
/** 重写查看方法 */
toView
(
row
)
{
toView
(
row
)
{
row
.
view
=
"
查看
"
;
this
.
$refs
.
drawerform
.
view
(
row
);
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
},
},
...
@@ -245,7 +248,7 @@ export default {
...
@@ -245,7 +248,7 @@ export default {
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
200
,
width
:
200
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
return
(
return
row
.
processStatus
==
1
?
(
<
table
-
buttons
<
table
-
buttons
noAdd
noAdd
row
=
{
row
}
row
=
{
row
}
...
@@ -253,6 +256,16 @@ export default {
...
@@ -253,6 +256,16 @@ export default {
onView
=
{
this
.
toView
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
onDel
=
{
this
.
toDel
}
/
>
/
>
)
:
(
<
table
-
buttons
noAdd
noEdit
noDel
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
);
},
},
},
},
...
...
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