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

parent 2f5522da
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
:empty-text="emptytxt ? emptytxt : emptyText" :empty-text="emptytxt ? emptytxt : emptyText"
border border
style="width: 100%" style="width: 100%"
height="520"
> >
<el-table-column <el-table-column
v-for="column in columns" v-for="column in columns"
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
:default-expand-all="expand" :default-expand-all="expand"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
height="620" height="520"
> >
<el-table-column <el-table-column
......
<template> <template>
<!-- 弹出框表单 --> <!-- 弹出框表单 -->
<el-drawer <el-drawer
:title="title" :title="title"
:visible.sync="open" :visible.sync="open"
:direction="direction" :direction="direction"
:destroy-on-close="true" :destroy-on-close="true"
size="50%"> size="50%"
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> >
<el-row> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<Field label="核查记录Id" prop="checkRecordId" v-model="form.checkRecordId" placeholder="请输入核查记录Id"/> <el-row>
<Field label="员工ID" prop="staffId" v-model="form.staffId" placeholder="请输入员工ID"/> <Field
<Field label="员工姓名" prop="staffName" v-model="form.staffName" placeholder="请输入员工姓名"/> label="核查记录Id"
<Field label="工号" prop="workNum" v-model="form.workNum" placeholder="请输入工号"/> prop="checkRecordId"
<Field label="所属部门" prop="deptId" v-model="form.deptId" placeholder="请输入所属部门"/> v-model="form.checkRecordId"
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" placeholder="请输入所属部门名称"/> placeholder="请输入核查记录Id"
<Field label="所属考勤组ID" prop="attendanceGroupId" v-model="form.attendanceGroupId" placeholder="请输入所属考勤组ID"/> />
<Field label="所属考勤组名称" prop="attendanceGroupName" v-model="form.attendanceGroupName" placeholder="请输入所属考勤组名称"/> <Field
<Field label="考勤时间" prop="attendanceDate" v-model="form.attendanceDate" type="date" /> label="员工ID"
<Field label="绩效规则id" prop="ruleId" v-model="form.ruleId" placeholder="请输入绩效规则id"/> prop="staffId"
<Field label="规则名称" prop="ruleName" v-model="form.ruleName" placeholder="请输入规则名称"/> v-model="form.staffId"
<Field label="扣分方式" prop="subMethod" v-model="form.subMethod" type="select" :enumData="dict.subMethod" placeholder="请选择扣分方式"/> placeholder="请输入员工ID"
<Field label="增减类型" prop="subAddType" v-model="form.subAddType" type="select" :enumData="dict.subAddType" placeholder="请选择增减类型"/> />
<Field label="扣分或增加分值" prop="score" v-model="form.score" placeholder="请输入扣分或增加分值"/> <Field
<Field label="上下班时间" prop="goOffTimeStr" v-model="form.goOffTimeStr" placeholder="请输入上下班时间"/> label="员工姓名"
<Field label="异常时间" prop="errorTime" v-model="form.errorTime" type="date" /> prop="staffName"
<Field label="实际打卡时间" prop="actualAttendTime" v-model="form.actualAttendTime" type="date" /> v-model="form.staffName"
<Field label="异常处理结果" prop="errorResult" v-model="form.errorResult" placeholder="请输入异常处理结果"/> placeholder="请输入员工姓名"
<Field label="核查人员" prop="checkPerson" v-model="form.checkPerson" placeholder="请输入核查人员"/> />
<Field label="核查时间" prop="checkTime" v-model="form.checkTime" type="date" /> <Field
<Field label="核查说明" prop="checkDesc" v-model="form.checkDesc" type="textarea" placeholder="请输入核查说明"/> label="工号"
<Field label="核查结果" prop="checkResult" v-model="form.checkResult" placeholder="请输入核查结果"/> prop="workNum"
<Field label="处理状态" prop="processStatus" v-model="form.processStatus" type="select" :enumData="dict.processStatus" placeholder="请选择处理状态"/> v-model="form.workNum"
<Field label="申诉说明" prop="appealDesc" v-model="form.appealDesc" placeholder="请输入申诉说明"/> placeholder="请输入工号"
<Field label="申诉时间" prop="appealTime" v-model="form.appealTime" type="date" /> />
<Field label="申诉结果" prop="appealResult" v-model="form.appealResult" type="select" :enumData="dict.appealResult" placeholder="请选择申诉结果"/> <Field
<Field label="说明" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入说明"/> 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="ruleName"
v-model="form.ruleName"
placeholder="请输入规则名称"
/>
<Field
label="扣分方式"
prop="subMethod"
v-model="form.subMethod"
type="select"
:enumData="dict.subMethod"
placeholder="请选择扣分方式"
/>
<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="goOffTimeStr"
v-model="form.goOffTimeStr"
placeholder="请输入上下班时间"
/>
<Field
label="异常时间"
prop="errorTime"
v-model="form.errorTime"
type="date"
/>
<Field
label="实际打卡时间"
prop="actualAttendTime"
v-model="form.actualAttendTime"
type="date"
/>
<Field
label="异常处理结果"
prop="errorResult"
v-model="form.errorResult"
placeholder="请输入异常处理结果"
/>
<Field
label="核查人员"
prop="checkPerson"
v-model="form.checkPerson"
placeholder="请输入核查人员"
/>
<Field
label="核查时间"
prop="checkTime"
v-model="form.checkTime"
type="date"
/>
<Field
label="核查说明"
prop="checkDesc"
v-model="form.checkDesc"
type="textarea"
placeholder="请输入核查说明"
/>
<Field
label="核查结果"
prop="checkResult"
v-model="form.checkResult"
placeholder="请输入核查结果"
/>
<Field
label="处理状态"
prop="processStatus"
v-model="form.processStatus"
type="select"
:enumData="dict.processStatus"
placeholder="请选择处理状态"
/>
<Field
label="申诉说明"
prop="appealDesc"
v-model="form.appealDesc"
placeholder="请输入申诉说明"
/>
<Field
label="申诉时间"
prop="appealTime"
v-model="form.appealTime"
type="date"
/>
<Field
label="申诉结果"
prop="appealResult"
v-model="form.appealResult"
type="select"
:enumData="dict.appealResult"
placeholder="请选择申诉结果"
/>
<Field
label="说明"
prop="remark"
v-model="form.remark"
type="textarea"
placeholder="请输入说明"
/>
</el-row>
<el-divider content-position="center"
>绩效记录申诉附件信息信息</el-divider
>
<br />
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAddPerformAttendAppealFiles"
>添加</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
@click="handleDeletePerformAttendAppealFiles"
>删除</el-button
>
</el-col>
</el-row>
</el-row> <el-table
<el-divider content-position="center">绩效记录申诉附件信息信息</el-divider> :data="performAttendAppealFilesList"
<br/> :row-class-name="rowPerformAttendAppealFilesIndex"
<el-row :gutter="10" class="mb8"> @selection-change="handlePerformAttendAppealFilesSelectionChange"
<el-col :span="1.5"> ref="performAttendAppealFiles"
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddPerformAttendAppealFiles">添加</el-button> >
</el-col> <el-table-column type="selection" width="50" align="center" />
<el-col :span="1.5"> <el-table-column label="序号" align="center" prop="index" width="50" />
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeletePerformAttendAppealFiles">删除</el-button> <el-table-column label="文件名称" prop="fileName">
</el-col> <template slot-scope="scope">
</el-row> <el-input
v-model="scope.row.fileName"
placeholder="请输入文件名称"
/>
</template>
</el-table-column>
<el-table-column label="文件地址" prop="filePath">
<template slot-scope="scope">
<el-input
v-model="scope.row.filePath"
placeholder="请输入文件地址"
/>
</template>
</el-table-column>
<el-table-column label="创建用户" prop="createUserId">
<template slot-scope="scope">
<el-input
v-model="scope.row.createUserId"
placeholder="请输入创建用户"
/>
</template>
</el-table-column>
<el-table-column label="创建时间" prop="createTime">
<template slot-scope="scope">
<el-input
v-model="scope.row.createTime"
placeholder="请输入创建时间"
/>
</template>
</el-table-column>
<el-table-column label="更新用户" prop="updateUserId">
<template slot-scope="scope">
<el-input
v-model="scope.row.updateUserId"
placeholder="请输入更新用户"
/>
</template>
</el-table-column>
<el-table-column label="更新时间" prop="updateTime">
<template slot-scope="scope">
<el-input
v-model="scope.row.updateTime"
placeholder="请输入更新时间"
/>
</template>
</el-table-column>
</el-table>
<el-table :data="performAttendAppealFilesList" :row-class-name="rowPerformAttendAppealFilesIndex" @selection-change="handlePerformAttendAppealFilesSelectionChange" ref="performAttendAppealFiles"> <form-buttons
<el-table-column type="selection" width="50" align="center" /> @submit="submitForm"
<el-table-column label="序号" align="center" prop="index" width="50"/> v-if="pageInfo.type != 'view'"
<el-table-column label="文件名称" prop="fileName"> noCancelBtn
<template slot-scope="scope"> />
<el-input v-model="scope.row.fileName" placeholder="请输入文件名称" /> </el-form>
</template> </el-drawer>
</el-table-column>
<el-table-column label="文件地址" prop="filePath">
<template slot-scope="scope">
<el-input v-model="scope.row.filePath" placeholder="请输入文件地址" />
</template>
</el-table-column>
<el-table-column label="创建用户" prop="createUserId">
<template slot-scope="scope">
<el-input v-model="scope.row.createUserId" placeholder="请输入创建用户" />
</template>
</el-table-column>
<el-table-column label="创建时间" prop="createTime">
<template slot-scope="scope">
<el-input v-model="scope.row.createTime" placeholder="请输入创建时间" />
</template>
</el-table-column>
<el-table-column label="更新用户" prop="updateUserId">
<template slot-scope="scope">
<el-input v-model="scope.row.updateUserId" placeholder="请输入更新用户" />
</template>
</el-table-column>
<el-table-column label="更新时间" prop="updateTime">
<template slot-scope="scope">
<el-input v-model="scope.row.updateTime" placeholder="请输入更新时间" />
</template>
</el-table-column>
</el-table>
<form-buttons @submit='submitForm' v-if="pageInfo.type!='view'" noCancelBtn />
</el-form>
</el-drawer>
</template> </template>
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
export default { export default {
name: "PerformAttendAppealDetail", name: "PerformAttendAppealDetail",
mixins: [form], mixins: [form],
components: { components: {},
created() {
}, this.changePath("perform/attend/appeal");
created() { },
this.changePath("perform/attend/appeal") data() {
}, return {
data() { // 子表选中数据
return { checkedPerformAttendAppealFiles: [],
// 子表选中数据 // 绩效记录申诉附件信息表格数据
checkedPerformAttendAppealFiles: [], performAttendAppealFilesList: [],
// 绩效记录申诉附件信息表格数据 // 遮罩层
performAttendAppealFilesList: [], loading: true,
// 遮罩层 // 弹出层标题
loading: true, title: "绩效记录申诉信息",
// 弹出层标题 // 是否显示弹出层
title: "绩效记录申诉信息", open: false,
// 是否显示弹出层 direction: "rtl",
open: false, toString: ["subMethod", "subAddType", "processStatus", "appealResult"],
direction:"rtl", toDate: [
toString:[ "attendanceDate",
"subMethod", "errorTime",
"subAddType", "actualAttendTime",
"processStatus", "checkTime",
"appealResult", "appealTime",
], ],
toDate:[ // 表单校验
"attendanceDate", rules: {
"errorTime", staffName: [
"actualAttendTime", { required: true, message: "请输入员工姓名", trigger: "blur" },
"checkTime", { max: 64, message: "最多只能录入64个字符", trigger: "blur" },
"appealTime", ],
], createTime: [{ required: true, message: "请选择创建时间" }],
// 表单校验 },
rules: { };
staffName: [ },
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: { methods: {
/** 绩效记录申诉附件信息序号 */ /** 绩效记录申诉附件信息序号 */
rowPerformAttendAppealFilesIndex({ row, rowIndex }) { rowPerformAttendAppealFilesIndex({ row, rowIndex }) {
row.index = rowIndex + 1; row.index = rowIndex + 1;
}, },
/** 绩效记录申诉附件信息添加按钮操作 */ /** 绩效记录申诉附件信息添加按钮操作 */
handleAddPerformAttendAppealFiles() { handleAddPerformAttendAppealFiles() {
let obj = {}; let obj = {};
obj.fileName = ""; obj.fileName = "";
obj.filePath = ""; obj.filePath = "";
obj.createUserId = ""; obj.createUserId = "";
obj.createTime = ""; obj.createTime = "";
obj.updateUserId = ""; obj.updateUserId = "";
obj.updateTime = ""; obj.updateTime = "";
this.performAttendAppealFilesList.push(obj); this.performAttendAppealFilesList.push(obj);
}, },
/** 绩效记录申诉附件信息删除按钮操作 */ /** 绩效记录申诉附件信息删除按钮操作 */
handleDeletePerformAttendAppealFiles() { handleDeletePerformAttendAppealFiles() {
if (this.checkedPerformAttendAppealFiles.length == 0) { if (this.checkedPerformAttendAppealFiles.length == 0) {
this.$alert("请先选择要删除的绩效记录申诉附件信息数据", "提示", { confirmButtonText: "确定", }); this.$alert("请先选择要删除的绩效记录申诉附件信息数据", "提示", {
} else { confirmButtonText: "确定",
this.performAttendAppealFilesList.splice(this.checkedPerformAttendAppealFiles[0].index - 1, 1); });
} } else {
}, this.performAttendAppealFilesList.splice(
/** 单选框选中数据 */ this.checkedPerformAttendAppealFiles[0].index - 1,
handlePerformAttendAppealFilesSelectionChange(selection) { 1
if (selection.length > 1) { );
this.$refs.performAttendAppealFiles.clearSelection(); }
this.$refs.performAttendAppealFiles.toggleRowSelection(selection.pop()); },
} else { /** 单选框选中数据 */
this.checkedPerformAttendAppealFiles = selection; handlePerformAttendAppealFilesSelectionChange(selection) {
} if (selection.length > 1) {
}, this.$refs.performAttendAppealFiles.clearSelection();
// 渲染前置处理 this.$refs.performAttendAppealFiles.toggleRowSelection(selection.pop());
beforeRender(data) { } else {
if(data.entity.performAttendAppealFilesList) { this.checkedPerformAttendAppealFiles = selection;
this.performAttendAppealFilesList = data.entity.performAttendAppealFilesList; }
} },
return data // 渲染前置处理
}, beforeRender(data) {
/** 编辑 */ if (data.entity.performAttendAppealFilesList) {
edit(row) { this.performAttendAppealFilesList =
this.reset() data.entity.performAttendAppealFilesList;
this.query = { id: row.id }; }
this.urls.currUrl ="perform/attend/appeal/edit"; return data;
this.getData(); },
this.pageInfo.type="edit" /** 编辑 */
this.title = "修改绩效记录申诉信息"; edit(row) {
}, this.reset();
/** 新增 */ this.query = { id: row.id };
add(row) { this.urls.currUrl = "perform/attend/appeal/edit";
this.reset() this.getData();
this.urls.currUrl = "perform/attend/appeal/add"; this.pageInfo.type = "edit";
this.getData(); this.title = "修改绩效记录申诉信息";
this.pageInfo.type="add" },
this.title = "新增绩效记录申诉信息"; /** 新增 */
}, add(row) {
/** 查看*/ this.reset();
view(row) { this.urls.currUrl = "perform/attend/appeal/add";
this.reset() this.getData();
this.query = { id: row.id }; this.pageInfo.type = "add";
this.urls.currUrl ="perform/attend/appeal/view"; this.title = "新增绩效记录申诉信息";
this.getData(); },
this.pageInfo.type="view" /** 查看*/
this.title = "绩效记录申诉信息详细"; view(row) {
}, this.reset();
/**取消按钮 */ this.query = { id: row.id };
cancel() { this.urls.currUrl = "perform/attend/appeal/view";
this.open = false; this.getData();
}, this.pageInfo.type = "view";
/**获取数据后弹框 */ this.title = "绩效记录申诉信息详细";
afterRender(data) { },
this.open = true; /**取消按钮 */
}, cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) { afterSubmit(data) {
this.open = false; this.open = false;
this.$emit("ok"); this.$emit("ok");
}, },
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {
checkRecordId : null, checkRecordId: null,
staffId : null, staffId: null,
staffName : "", staffName: "",
workNum : "", workNum: "",
deptId : null, deptId: null,
deptName : "", deptName: "",
attendanceGroupId : null, attendanceGroupId: null,
attendanceGroupName : "", attendanceGroupName: "",
attendanceDate : null, attendanceDate: null,
ruleId : null, ruleId: null,
ruleName : "", ruleName: "",
subMethod : 1, subMethod: 1,
subAddType : 1, subAddType: 1,
score : 0.00, score: 0.0,
goOffTimeStr : "", goOffTimeStr: "",
errorTime : null, errorTime: null,
actualAttendTime : null, actualAttendTime: null,
errorResult : "", errorResult: "",
checkPerson : "", checkPerson: "",
checkTime : null, checkTime: null,
checkDesc : "", checkDesc: "",
checkResult : "", checkResult: "",
processStatus : 1, processStatus: 1,
appealDesc : "", appealDesc: "",
appealTime : null, appealTime: null,
appealResult : 2, appealResult: 2,
remark : "", remark: "",
}; };
this.resetForm("form"); this.resetForm("form");
}, },
resetForm(refName) { resetForm(refName) {
if (this.$refs[refName]) { if (this.$refs[refName]) {
this.$refs[refName].resetFields(); this.$refs[refName].resetFields();
} }
}, },
}, },
}; };
</script> </script>
...@@ -6,7 +6,243 @@ ...@@ -6,7 +6,243 @@
:direction="direction" :direction="direction"
size="50%" size="50%"
> >
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form
ref="form"
class="form_content"
:model="form"
:rules="rules"
label-width="120px"
>
<el-row>
<el-row style="width: 100%;margin-bottom: 10px;">
<el-col style="width: 100%;" :span="24">
<Field
label="选择部门:"
prop="deptId"
v-model="form.deptId"
placeholder="选择部门"
:enumData="deptGroup"
type="select"
/>
</el-col>
</el-row>
<el-row style="width: 96%;margin: 0 auto;">
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="考勤绩效指标" name="1">
<div class="content">
<div class="top">
<div>
请选择自动考核指标:
</div>
<div class="search_box">
<el-select v-model="type" placeholder="请选择分类">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
style="width: 200px;"
>
</el-option>
</el-select>
<el-input
v-model="keywords"
placeholder="请输入评分标准关键字搜索"
style="width: 200px;margin: 0 10px;"
></el-input>
<el-button type="primary"> 搜索 </el-button>
</div>
</div>
<div class="mid_table">
<el-table :data="tableData" border style="width: 100%">
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column
prop="name"
label="考核内容简称"
width="180"
>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="评价绩效指标" name="2">
<div class="content">
<div class="top">
<div>
请选择自动考核指标:
</div>
<div class="search_box">
<el-select v-model="type" placeholder="请选择分类">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
style="width: 200px;"
>
</el-option>
</el-select>
<el-input
v-model="keywords"
placeholder="请输入评分标准关键字搜索"
style="width: 200px;margin: 0 10px;"
></el-input>
<el-button type="primary"> 搜索 </el-button>
</div>
</div>
<div class="mid_table">
<el-table :data="tableData" border style="width: 100%">
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column
prop="name"
label="考核内容简称"
width="180"
>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="办件绩效指标" name="3">
<div class="content">
<div class="top">
<div>
请选择自动考核指标:
</div>
<div class="search_box">
<el-select v-model="type" placeholder="请选择分类">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
style="width: 200px;"
>
</el-option>
</el-select>
<el-input
v-model="keywords"
placeholder="请输入评分标准关键字搜索"
style="width: 200px;margin: 0 10px;"
></el-input>
<el-button type="primary"> 搜索 </el-button>
</div>
</div>
<div class="mid_table">
<el-table :data="tableData" border style="width: 100%">
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column
prop="name"
label="考核内容简称"
width="180"
>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="效能绩效指标" name="4">
<div class="content">
<div class="top">
<div>
请选择自动考核指标:
</div>
<div class="search_box">
<el-select v-model="type" placeholder="请选择分类">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
style="width: 200px;"
>
</el-option>
</el-select>
<el-input
v-model="keywords"
placeholder="请输入评分标准关键字搜索"
style="width: 200px;margin: 0 10px;"
></el-input>
<el-button type="primary"> 搜索 </el-button>
</div>
</div>
<div class="mid_table">
<el-table :data="tableData" border style="width: 100%">
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column
prop="name"
label="考核内容简称"
width="180"
>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
</div>
</el-tab-pane>
</el-tabs>
</el-row>
</el-row>
<form-buttons @submit="submitForm" noCancelBtn />
</el-form>
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<Field <Field
label="部门id" label="部门id"
...@@ -61,7 +297,7 @@ ...@@ -61,7 +297,7 @@
</el-row> </el-row>
<form-buttons @submit="submitForm" noCancelBtn /> <form-buttons @submit="submitForm" noCancelBtn />
</el-form> </el-form> -->
</el-drawer> </el-drawer>
</template> </template>
...@@ -76,6 +312,7 @@ export default { ...@@ -76,6 +312,7 @@ export default {
}, },
data() { data() {
return { return {
deptGroup: { 1: "部门1", 2: "部门2", 3: "部门3", 4: "部门4", 5: "部门5" },
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 弹出层标题 // 弹出层标题
...@@ -85,12 +322,37 @@ export default { ...@@ -85,12 +322,37 @@ export default {
direction: "rtl", direction: "rtl",
toString: [], toString: [],
toDate: [], toDate: [],
tableData: [
{
core: "-0.5",
name: "迟到",
simple: "迟到5分钟以内(包含5分钟)",
check: false,
},
],
// 表单校验 // 表单校验
rules: {}, rules: {},
activeName: "1",
options: [
{
value: "1",
label: "工作纪律",
},
{
value: "2",
label: "工作效能",
},
],
type: "",
keywords: "",
}; };
}, },
methods: { methods: {
handleChange(val) {
console.log(val);
},
handleClick() {},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.reset(); this.reset();
...@@ -153,3 +415,25 @@ export default { ...@@ -153,3 +415,25 @@ export default {
}, },
}; };
</script> </script>
<style lang="less" scoped>
.form_content {
/deep/.el-col-12 {
width: 98% !important;
}
.content {
width: 100%;
height: 500px;
border: 1px solid #e4e7ed;
border-top: 0;
padding: 20px;
.top {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
}
}
/deep/.el-tabs__header {
margin: 0 !important;
}
}
</style>
<template> <template>
<!-- 弹出框表单 --> <!-- 弹出框表单 -->
<el-drawer <el-drawer
:title="title" :title="title"
:visible.sync="open" :visible.sync="open"
:direction="direction" :direction="direction"
size="50%"> size="50%"
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> >
<el-row> <el-form
<Field label="人员ids,多个","分割" prop="staffIds" v-model="form.staffIds" type="textarea" placeholder="请输入人员ids,多个","分割"/> ref="form"
<Field label="人员名称nams,多个","逗号分割" prop="staffNames" v-model="form.staffNames" type="textarea" placeholder="请输入人员名称nams,多个","逗号分割"/> class="form_content"
<Field label="考核人总数" prop="staffCount" v-model="form.staffCount" placeholder="请输入考核人总数"/> :model="form"
<Field label="考勤绩效指标数量" prop="attendCount" v-model="form.attendCount" placeholder="请输入考勤绩效指标数量"/> :rules="rules"
<Field label="评价绩效指标数量" prop="assessCount" v-model="form.assessCount" placeholder="请输入评价绩效指标数量"/> label-width="120px"
<Field label="办件绩效指标数量" prop="workCount" v-model="form.workCount" placeholder="请输入办件绩效指标数量"/> >
<Field label="效能绩效指标数量" prop="effectCount" v-model="form.effectCount" placeholder="请输入效能绩效指标数量"/> <el-row>
<Field label="其它绩效指标数量" prop="otherCount" v-model="form.otherCount" placeholder="请输入其它绩效指标数量"/> <el-row style="width: 100%;margin-bottom: 10px;">
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/> <el-col style="width: 100%;" :span="24">
<span>选择人员:</span>
<el-button type="primary" @click="() => (dialog = true)"
>点击选择人员</el-button
>
</el-col>
</el-row>
<el-row style="width: 96%;margin: 0 auto;">
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="考勤绩效指标" name="1">
<div class="content">
<div class="top">
<div>
请选择自动考核指标:
</div>
<div class="search_box">
<el-select v-model="type" placeholder="请选择分类">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
style="width: 200px;"
>
</el-option>
</el-select>
<el-input
v-model="keywords"
placeholder="请输入评分标准关键字搜索"
style="width: 200px;margin: 0 10px;"
></el-input>
<el-button type="primary"> 搜索 </el-button>
</div>
</div>
<div class="mid_table">
<el-table :data="tableData" border style="width: 100%">
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column
prop="name"
label="考核内容简称"
width="180"
>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="评价绩效指标" name="2">
<div class="content">
<div class="top">
<div>
请选择自动考核指标:
</div>
<div class="search_box">
<el-select v-model="type" placeholder="请选择分类">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
style="width: 200px;"
>
</el-option>
</el-select>
<el-input
v-model="keywords"
placeholder="请输入评分标准关键字搜索"
style="width: 200px;margin: 0 10px;"
></el-input>
<el-button type="primary"> 搜索 </el-button>
</div>
</div>
<div class="mid_table">
<el-table :data="tableData" border style="width: 100%">
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column
prop="name"
label="考核内容简称"
width="180"
>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="办件绩效指标" name="3">
<div class="content">
<div class="top">
<div>
请选择自动考核指标:
</div>
<div class="search_box">
<el-select v-model="type" placeholder="请选择分类">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
style="width: 200px;"
>
</el-option>
</el-select>
<el-input
v-model="keywords"
placeholder="请输入评分标准关键字搜索"
style="width: 200px;margin: 0 10px;"
></el-input>
<el-button type="primary"> 搜索 </el-button>
</div>
</div>
<div class="mid_table">
<el-table :data="tableData" border style="width: 100%">
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column
prop="name"
label="考核内容简称"
width="180"
>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="效能绩效指标" name="4">
<div class="content">
<div class="top">
<div>
请选择自动考核指标:
</div>
<div class="search_box">
<el-select v-model="type" placeholder="请选择分类">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
style="width: 200px;"
>
</el-option>
</el-select>
<el-input
v-model="keywords"
placeholder="请输入评分标准关键字搜索"
style="width: 200px;margin: 0 10px;"
></el-input>
<el-button type="primary"> 搜索 </el-button>
</div>
</div>
<div class="mid_table">
<el-table :data="tableData" border style="width: 100%">
<el-table-column type="index" label="序号" width="50">
</el-table-column>
<el-table-column
prop="name"
label="考核内容简称"
width="180"
>
</el-table-column>
<el-table-column prop="simple" label="评分标准">
</el-table-column>
<el-table-column prop="core" label="扣分分值">
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<template slot-scope="scope">
<el-switch
v-model="scope.row.check"
@change="handleChange(scope.row)"
>
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
</div>
</el-tab-pane>
</el-tabs>
</el-row>
</el-row>
</el-row> <form-buttons @submit="submitForm" noCancelBtn />
</el-form>
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="人员ids,多个"','"分割" prop="staffIds"
v-model="form.staffIds" type="textarea"
placeholder="请输入人员ids,多个"','"分割"/> <Field
label="人员名称nams,多个"','"逗号分割" prop="staffNames"
v-model="form.staffNames" type="textarea"
placeholder="请输入人员名称nams,多个"','"逗号分割"/>
<Field
label="考核人总数"
prop="staffCount"
v-model="form.staffCount"
placeholder="请输入考核人总数"
/>
<Field
label="考勤绩效指标数量"
prop="attendCount"
v-model="form.attendCount"
placeholder="请输入考勤绩效指标数量"
/>
<Field
label="评价绩效指标数量"
prop="assessCount"
v-model="form.assessCount"
placeholder="请输入评价绩效指标数量"
/>
<Field
label="办件绩效指标数量"
prop="workCount"
v-model="form.workCount"
placeholder="请输入办件绩效指标数量"
/>
<Field
label="效能绩效指标数量"
prop="effectCount"
v-model="form.effectCount"
placeholder="请输入效能绩效指标数量"
/>
<Field
label="其它绩效指标数量"
prop="otherCount"
v-model="form.otherCount"
placeholder="请输入其它绩效指标数量"
/>
<Field
label="备注"
prop="remark"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
/>
</el-row>
<form-buttons @submit='submitForm' noCancelBtn /> <form-buttons @submit="submitForm" noCancelBtn />
</el-form> </el-form> -->
<el-dialog title="选择人员" :visible.sync="dialog" width="40%">
</el-drawer> <div class="dia_content">
<el-tree
:data="treeData"
:props="defaultProps"
@node-click="handleNodeClick"
></el-tree>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false"
>确 定</el-button
>
</span>
</el-dialog>
</el-drawer>
</template> </template>
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
export default { export default {
name: "PerformStaffConfDetail", name: "PerformStaffConfDetail",
mixins: [form], mixins: [form],
components: { components: {},
created() {
this.changePath("perform/staff/conf");
},
data() {
return {
// 遮罩层
loading: true,
dialog: false,
// 弹出层标题
title: "人员自动考核信息",
// 是否显示弹出层
open: false,
direction: "rtl",
toString: [],
toDate: [],
tableData: [
{
core: "-0.5",
name: "迟到",
simple: "迟到5分钟以内(包含5分钟)",
check: false,
}, },
created() { ],
this.changePath("perform/staff/conf") // 表单校验
rules: {},
activeName: "1",
options: [
{
value: "1",
label: "工作纪律",
}, },
data() { {
return { value: "2",
// 遮罩层 label: "工作效能",
loading: true,
// 弹出层标题
title: "人员自动考核信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
],
// 表单校验
rules: {
}
};
}, },
],
methods: { type: "",
/** 编辑 */ keywords: "",
edit(row) { data: [
this.reset() {
this.query = { id: row.id }; label: "一级 1",
this.urls.currUrl ="perform/staff/conf/edit"; children: [
this.getData(); {
this.pageInfo.type="edit" label: "二级 1-1",
this.title = "修改人员自动考核信息"; children: [
}, {
/** 新增 */ label: "三级 1-1-1",
add(row) { },
this.reset() ],
this.urls.currUrl = "perform/staff/conf/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增人员自动考核信息";
}, },
/** 查看*/ ],
view(row) { },
this.reset() {
this.query = { id: row.id }; label: "一级 2",
this.urls.currUrl ="perform/staff/conf/view"; children: [
this.getData(); {
this.pageInfo.type="view" label: "二级 2-1",
this.title = "人员自动考核信息详细"; children: [
}, {
/**取消按钮 */ label: "三级 2-1-1",
cancel() { },
this.open = false; ],
}, },
/**获取数据后弹框 */ {
afterRender(data) { label: "二级 2-2",
this.open = true; children: [
{
label: "三级 2-2-1",
},
],
}, },
],
afterSubmit(data) { },
this.open = false; {
this.$emit("ok"); label: "一级 3",
}, children: [
{
// 表单重置 label: "二级 3-1",
reset() { children: [
this.form = { {
staffIds : "", label: "三级 3-1-1",
staffNames : "", },
staffCount : null, ],
attendCount : null,
assessCount : null,
workCount : null,
effectCount : null,
otherCount : null,
remark : "",
};
this.resetForm("form");
}, },
resetForm(refName) { {
if (this.$refs[refName]) { label: "二级 3-2",
this.$refs[refName].resetFields(); children: [
} {
label: "三级 3-2-1",
},
],
}, },
],
}, },
],
defaultProps: {
children: "children",
label: "label",
},
}; };
},
methods: {
handleChange(val) {
console.log(val);
},
handleClick() {},
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "perform/staff/conf/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "修改人员自动考核信息";
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "perform/staff/conf/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增人员自动考核信息";
},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "perform/staff/conf/view";
this.getData();
this.pageInfo.type = "view";
this.title = "人员自动考核信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
staffIds: "",
staffNames: "",
staffCount: null,
attendCount: null,
assessCount: null,
workCount: null,
effectCount: null,
otherCount: null,
remark: "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script> </script>
<style lang="less" scoped>
.form_content {
/deep/.el-col-12 {
width: 98% !important;
}
.content {
width: 100%;
height: 500px;
border: 1px solid #e4e7ed;
border-top: 0;
padding: 20px;
.top {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
}
}
/deep/.el-tabs__header {
margin: 0 !important;
}
}
</style>
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