Commit 31afcce3 authored by 姬鋆屾's avatar 姬鋆屾

parent 0c7c0c15
<?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
......@@ -21,7 +21,6 @@
v-if="isShowButton('notAdd')"
type="primary"
icon="el-icon-plus"
plain
size="mini"
@click="config.methods.add"
title="新增"
......@@ -56,7 +55,6 @@
icon="el-icon-delete"
type="danger"
size="mini"
plain
title="批量删除"
>批量删除</el-button
>
......
<template>
<!-- 弹出框表单 -->
<el-drawer
:title="title"
:visible.sync="open"
:direction="direction"
size="50%">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="员工ID" prop="staffId" v-model="form.staffId" placeholder="请输入员工ID"/>
<Field label="员工姓名" prop="staffName" v-model="form.staffName" placeholder="请输入员工姓名"/>
<Field label="工号" prop="workNum" v-model="form.workNum" placeholder="请输入工号"/>
<Field label="所属部门" prop="deptId" v-model="form.deptId" placeholder="请输入所属部门"/>
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" placeholder="请输入所属部门名称"/>
<Field label="所属考勤组ID" prop="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-drawer
:title="title"
:visible.sync="open"
:direction="direction"
size="50%"
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="22">
<el-form-item label="姓名:">
<el-select v-model="form.staffId" style="width: 100%;">
<el-option
v-for="item in staffArr"
: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-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-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-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>
<form-buttons @submit='submitForm' v-if="pageInfo.type!='view'" noCancelBtn />
</el-form>
<form-buttons
@submit="submitForm"
v-if="pageInfo.type != 'view'"
noCancelBtn
/>
</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>
</el-drawer>
<form-buttons
@submit="submitForm"
v-if="pageInfo.type != 'view'"
noCancelBtn
/>
</el-form> -->
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformAttendRecordDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/attend/record")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "考勤绩效记录信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"subMethod",
"subAddType",
"processStatus",
],
toDate:[
"attendanceDate",
"errorTime",
"actualAttendTime",
"deductTime",
],
// 表单校验
rules: {
staffName: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformAttendRecordDetail",
mixins: [form],
components: {},
created() {
this.changePath("perform/attend/record");
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "考勤绩效记录信息",
// 是否显示弹出层
open: false,
direction: "rtl",
toString: ["subMethod", "subAddType", "processStatus"],
toDate: ["attendanceDate", "errorTime", "actualAttendTime", "deductTime"],
// 表单校验
rules: {
staffName: [
{ required: true, message: "请输入员工姓名", trigger: "blur" },
{ max: 64, message: "最多只能录入64个字符", trigger: "blur" },
],
createTime: [{ required: true, message: "请选择创建时间" }],
},
staffArr: [
{
label: "员工1",
value: "1",
},
],
deptArr: [],
kaoqinArr: [],
fileList: [],
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/attend/record/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改考勤绩效记录信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/attend/record/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增考勤绩效记录信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/attend/record/view";
this.getData();
this.pageInfo.type="view"
this.title = "考勤绩效记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
methods: {
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "perform/attend/record/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "修改考勤绩效记录信息";
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "perform/attend/record/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增考勤绩效记录信息";
},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "perform/attend/record/view";
this.getData();
this.pageInfo.type = "view";
this.title = "考勤绩效记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
deptId : null,
deptName : "",
attendanceGroupId : null,
attendanceGroupName : "",
attendanceDate : null,
ruleId : null,
ruleNme : "",
errorTime : null,
goOffTimeStr : "",
actualAttendTime : null,
errorResult : "",
subMethod : 1,
deductPerson : "",
deductTime : null,
subAddType : 1,
score : 0.00,
processStatus : 1,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
// 表单重置
reset() {
this.form = {
staffId: null,
staffName: "",
workNum: "",
deptId: null,
deptName: "",
attendanceGroupId: null,
attendanceGroupName: "",
attendanceDate: null,
ruleId: null,
ruleNme: "",
errorTime: null,
goOffTimeStr: "",
actualAttendTime: null,
errorResult: "",
subMethod: 1,
deductPerson: "",
deductTime: null,
subAddType: 1,
score: 0.0,
processStatus: 1,
remark: "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
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>
<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>
<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() {
/** 表单弹出框模式需引入 */
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,
},
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);
},
{ 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: [
{
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: [
{ type: "selection", width: 50 },
{ type: "index", label: "序号", width: 50 },
},
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: "staffName"},
{ label: "窗口编号", prop: "windowNum" },
{label: "工号", prop: "workNum"},
{ label: "所属部门", prop: "deptName" },
{label: "所属部门名称", prop: "deptName"},
{ label: "考勤组", prop: "attendanceGroupName" },
{label: "所属考勤组名称", prop: "attendanceGroupName"},
{
label: "异常时间",
prop: "errorTime",
formatter: this.formatterDate,
},
{label: "考勤时间", prop: "attendanceDate", formatter: this.formatterDate},
{ label: "上下班时间", prop: "goOffTimeStr" },
{label: "规则名称", prop: "ruleNme"},
{
label: "实际打卡时间",
prop: "actualAttendTime",
formatter: this.formatterDate,
},
{label: "异常时间", prop: "errorTime", formatter: this.formatterDate},
{ label: "异常结果", prop: "errorResult" },
{label: "上下班时间", prop: "goOffTimeStr"},
{ label: "图片凭证", prop: "snapPath" },
{label: "实际打卡时间", prop: "actualAttendTime", formatter: this.formatterDate},
{ label: "绩效规则", prop: "ruleNme" },
{label: "异常处理结果", prop: "errorResult"},
{ label: "扣分方式", prop: "subMethod", formatter: this.formatter },
{label: "扣分方式", prop: "subMethod",formatter: this.formatter},
{
label: "扣分时间",
prop: "deductTime",
formatter: this.formatterDate,
},
{label: "扣分人员", prop: "deductPerson"},
{ label: "扣分人员", prop: "deductPerson" },
{label: "扣分时间", prop: "deductTime", formatter: this.formatterDate},
{ label: "扣分分值", prop: "score", formatter: this.formatter },
{label: "增减类型", prop: "subAddType",formatter: this.formatter},
{
label: "处理状态",
prop: "processStatus",
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} />
);
}
}
]
}
};
}
{
label: "操作",
width: 200,
formatter: (row) => {
return (
<table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
};
</script>
\ No newline at end of file
},
};
</script>
<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>
<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>
<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>
<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);
},
/** 表单弹出框模式需引入 */
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,
},
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},
{ 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: [
{
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: [
{ type: "selection", 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: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
{
label: "操作",
width: 200,
formatter: (row) => {
return (
<table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
};
</script>
\ No newline at end of file
},
};
</script>
<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>
<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);
},
/** 表单弹出框模式需引入 */
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,
},
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"},
{ 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: [
{
name: "status",
type: "select",
label: "全部状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
fuzzy: false,
},
{label: "工号", prop: "workNum"},
{
name: "date",
type: "date",
label: "请选择日期",
fuzzy: false,
},
{
name: "staffName",
type: "text",
label: "请输入员工姓名搜索",
fuzzy: false,
},
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{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: "违规类型",
prop: "irregularType",
formatter: this.formatter,
},
{label: "发生时间", prop: "happenTime", formatter: this.formatterDate},
{
label: "发生时间",
prop: "happenTime",
formatter: this.formatterDate,
},
{label: "持续时间,秒", prop: "duration",formatter: this.formatter},
{
label: "时长",
prop: "duration",
formatter: this.formatter,
},
{label: "报警时间", prop: "alarmTime", formatter: this.formatterDate},
{
label: "报警时间",
prop: "alarmTime",
formatter: this.formatterDate,
},
{label: "图片凭证地址", prop: "snapPath"},
{ label: "图片凭证", prop: "snapPath" },
{label: "绩效规则id", prop: "ruleId", formatter: this.formatter},
{ label: "绩效规则", prop: "ruleName" },
{label: "规则名称", prop: "ruleName"},
{ label: "扣分方式", prop: "subMethod", formatter: this.formatter },
{label: "扣分方式", prop: "subMethod",formatter: this.formatter},
{
label: "扣分时间",
prop: "deductTime",
formatter: this.formatterDate,
},
{label: "扣分人员", prop: "deductPerson"},
{ label: "扣分人员", prop: "deductPerson" },
{label: "扣分时间", prop: "deductTime", formatter: this.formatterDate},
{ 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: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
{
label: "操作",
width: 240,
formatter: (row) => {
return (
<table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
};
</script>
\ No newline at end of file
},
};
</script>
<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>
<template>
<!-- 弹出框表单 -->
<el-drawer
:title="title"
:visible.sync="open"
:direction="direction"
size="50%">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="员工ID" prop="staffId" v-model="form.staffId" placeholder="请输入员工ID"/>
<Field label="员工姓名" prop="staffName" v-model="form.staffName" placeholder="请输入员工姓名"/>
<Field label="工号" prop="workNum" v-model="form.workNum" placeholder="请输入工号"/>
<Field label="窗口编号" prop="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-drawer
:title="title"
:visible.sync="open"
:direction="direction"
size="50%"
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="22">
<el-form-item label="姓名:">
<el-select v-model="form.staffId" style="width: 100%;">
<el-option
v-for="item in staffArr"
: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-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-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>
<form-buttons @submit='submitForm' v-if="pageInfo.type!='view'" noCancelBtn />
</el-form>
<form-buttons
@submit="submitForm"
v-if="pageInfo.type != 'view'"
noCancelBtn
/>
</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>
</el-drawer>
<form-buttons
@submit="submitForm"
v-if="pageInfo.type != 'view'"
noCancelBtn
/>
</el-form> -->
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformGoworkRecordDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/gowork/record")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "办件绩效记录信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"subMethod",
"processStatus",
],
toDate:[
"goworkTime",
"deductTime",
],
// 表单校验
rules: {
staffName: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformGoworkRecordDetail",
mixins: [form],
components: {},
created() {
this.changePath("perform/gowork/record");
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "办件绩效记录信息",
// 是否显示弹出层
open: false,
direction: "rtl",
toString: ["subMethod", "processStatus"],
toDate: ["goworkTime", "deductTime"],
// 表单校验
rules: {
staffName: [
{ required: true, message: "请输入员工姓名", trigger: "blur" },
{ max: 64, message: "最多只能录入64个字符", trigger: "blur" },
],
createTime: [{ required: true, message: "请选择创建时间" }],
},
staffArr: [
{
label: "员工1",
value: "1",
},
],
deptArr: [],
kaoqinArr: [],
fileList: [],
dateValue: "",
timeValue: "",
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/gowork/record/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改办件绩效记录信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/gowork/record/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增办件绩效记录信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/gowork/record/view";
this.getData();
this.pageInfo.type="view"
this.title = "办件绩效记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
methods: {
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "perform/gowork/record/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "修改办件绩效记录信息";
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "perform/gowork/record/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增办件绩效记录信息";
},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "perform/gowork/record/view";
this.getData();
this.pageInfo.type = "view";
this.title = "办件绩效记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
windowNum : "",
deptId : null,
deptName : "",
goworkCode : "",
goworkDepts : "",
matterlName : "",
goworkTime : null,
ruleId : null,
ruleName : "",
subMethod : 1,
deductPerson : "",
deductTime : null,
score : 0.00,
processStatus : 1,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
// 表单重置
reset() {
this.form = {
staffId: null,
staffName: "",
workNum: "",
windowNum: "",
deptId: null,
deptName: "",
goworkCode: "",
goworkDepts: "",
matterlName: "",
goworkTime: null,
ruleId: null,
ruleName: "",
subMethod: 1,
deductPerson: "",
deductTime: null,
score: 0.0,
processStatus: 1,
remark: "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
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>
<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>
<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() {
/** 表单弹出框模式需引入 */
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,
},
methods: {
/** 导入 */
handleImport() {
this.upload.title = "办件绩效记录信息导入";
this.upload.open = true;
{ 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: [
{
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: [
{ 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: "snapPath" },
{ label: "绩效规则", prop: "ruleName" },
{ label: "扣分方式", prop: "subMethod", formatter: this.formatter },
{
label: "扣分时间",
prop: "deductTime",
formatter: this.formatterDate,
},
{ label: "扣分人员", prop: "deductPerson" },
{ label: "扣分分值", prop: "score", formatter: this.formatter },
{
label: "处理状态",
prop: "processStatus",
formatter: this.formatter,
},
{
label: "操作",
width: 240,
formatter: (row) => {
return (
<table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
/** 下载模板操作 */
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: 60},
{type: "index",label: "序号",width: 50},
{label: "员工姓名", prop: "staffName"},
{label: "工号", prop: "workNum"},
{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>
\ No newline at end of file
},
};
</script>
<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>
<template>
<!-- 弹出框表单 -->
<el-drawer
:title="title"
:visible.sync="open"
:direction="direction"
size="50%">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="员工ID" prop="staffId" v-model="form.staffId" placeholder="请输入员工ID"/>
<Field label="员工姓名" prop="staffName" v-model="form.staffName" placeholder="请输入员工姓名"/>
<Field label="工号" prop="workNum" v-model="form.workNum" placeholder="请输入工号"/>
<Field label="窗口编号" prop="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-drawer
:title="title"
:visible.sync="open"
:direction="direction"
size="50%"
>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="22">
<el-form-item label="姓名:">
<el-select v-model="form.staffId" style="width: 100%;">
<el-option
v-for="item in staffArr"
: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-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-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>
<form-buttons @submit='submitForm' v-if="pageInfo.type!='view'" noCancelBtn />
</el-form>
<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-drawer>
<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>
<form-buttons
@submit="submitForm"
v-if="pageInfo.type != 'view'"
noCancelBtn
/>
</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>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformOtherRecordDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/other/record")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "其它绩效记录信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"irregularOtherType",
"subMethod",
"processStatus",
],
toDate:[
"happenTime",
"deductTime",
],
// 表单校验
rules: {
staffName: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformOtherRecordDetail",
mixins: [form],
components: {},
created() {
this.changePath("perform/other/record");
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "其它绩效记录信息",
// 是否显示弹出层
open: false,
direction: "rtl",
toString: ["irregularOtherType", "subMethod", "processStatus"],
toDate: ["happenTime", "deductTime"],
// 表单校验
rules: {
staffName: [
{ required: true, message: "请输入员工姓名", trigger: "blur" },
{ max: 64, message: "最多只能录入64个字符", trigger: "blur" },
],
createTime: [{ required: true, message: "请选择创建时间" }],
},
staffArr: [
{
label: "员工1",
value: "1",
},
],
deptArr: [],
kaoqinArr: [],
fileList: [],
dateValue: "",
timeValue: "",
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/other/record/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改其它绩效记录信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/other/record/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增其它绩效记录信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/other/record/view";
this.getData();
this.pageInfo.type="view"
this.title = "其它绩效记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
methods: {
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "perform/other/record/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "修改其它绩效记录信息";
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "perform/other/record/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增其它绩效记录信息";
},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "perform/other/record/view";
this.getData();
this.pageInfo.type = "view";
this.title = "其它绩效记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
windowNum : "",
deptId : null,
deptName : "",
irregularOtherType : null,
happenTime : null,
duration : 0,
ruleId : null,
ruleName : "",
ruleDesc : "",
subMethod : 1,
deductPerson : "",
deductTime : null,
score : 0.00,
processStatus : 1,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
// 表单重置
reset() {
this.form = {
staffId: null,
staffName: "",
workNum: "",
windowNum: "",
deptId: null,
deptName: "",
irregularOtherType: null,
happenTime: null,
duration: 0,
ruleId: null,
ruleName: "",
ruleDesc: "",
subMethod: 1,
deductPerson: "",
deductTime: null,
score: 0.0,
processStatus: 1,
remark: "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
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>
<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>
<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);
},
/** 表单弹出框模式需引入 */
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,
},
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"},
{ 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: [
{
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: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{label: "工号", prop: "workNum"},
{ label: "姓名", prop: "staffName" },
{label: "窗口编号", prop: "windowNum"},
{ label: "窗口编号", prop: "windowNum" },
{label: "所属部门", prop: "deptId", formatter: this.formatter},
{ label: "所属部门", prop: "deptName" },
{label: "所属部门名称", prop: "deptName"},
{
label: "违规类型",
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: "ruleDesc" },
{label: "持续时间,秒", prop: "duration",formatter: this.formatter},
// {
// label: "持续时间,秒",
// prop: "duration",
// formatter: this.formatter,
// },
{label: "绩效规则id", prop: "ruleId", formatter: this.formatter},
// { label: "绩效规则id", prop: "ruleId", formatter: this.formatter },
{ label: "图片凭证", prop: "snapPath" },
{label: "规则名称", prop: "ruleName"},
{ label: "绩效规则", prop: "ruleName" },
{label: "评分标准", prop: "ruleDesc"},
{ label: "扣分方式", prop: "subMethod", formatter: this.formatter },
{label: "扣分方式", prop: "subMethod",formatter: this.formatter},
{
label: "扣分时间",
prop: "deductTime",
formatter: this.formatterDate,
},
{label: "扣分人员", prop: "deductPerson"},
{ label: "扣分人员", prop: "deductPerson" },
{label: "扣分时间", prop: "deductTime", formatter: this.formatterDate},
{ 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: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
{
label: "操作",
width: 240,
formatter: (row) => {
return (
<table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
};
</script>
\ No newline at end of file
},
};
</script>
<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>
<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>
<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() {
/** 表单弹出框模式需引入 */
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,
},
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);
},
{ 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: [
{
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: [
{ type: "selection", width: 50 },
{ type: "index", label: "序号", width: 50 },
},
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} />
);
}
}
]
}
};
}
{ label: "姓名", prop: "staffName" },
{ label: "窗口编号", prop: "windowNum" },
{ label: "所属部门", prop: "deptName" },
{
label: "评价结果",
prop: "reviewResult",
formatter: this.formatter,
},
{ label: "评价来源", prop: "reviewSource" },
{ label: "评价设备", prop: "reviewDevice" },
{
label: "评价时间",
prop: "reviewTime",
formatter: this.formatterDate,
},
{ label: "图片凭证", prop: "snapPath" },
{ label: "绩效规则", prop: "ruleNme" },
{ label: "扣分方式", prop: "subMethod", formatter: this.formatter },
{
label: "扣分时间",
prop: "deductTime",
formatter: this.formatterDate,
},
{ label: "扣分人员", prop: "deductPerson" },
{ label: "扣分分值", prop: "score", formatter: this.formatter },
{
label: "处理状态",
prop: "processStatus",
formatter: this.formatter,
},
{
label: "操作",
width: 200,
formatter: (row) => {
return (
<table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
};
</script>
\ No newline at end of file
},
};
</script>
<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>
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