Commit ae5f9748 authored by 姬鋆屾's avatar 姬鋆屾

parent 0e792e37
...@@ -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.value" @change="cateChange"
> >
</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>
<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: "status", name: "processStatus",
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: "checkStatus", prop: "processStatus",
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}
/>
); );
}, },
}, },
......
...@@ -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 deptArr" v-for="item in sourceArr"
: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.value" @change="cateChange"
> >
</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>
<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}
/>
); );
}, },
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment