Commit 8cdf294b authored by 赵啸非's avatar 赵啸非

设计绩效设计文档

parent 41c95b8e
......@@ -46,9 +46,6 @@ export default {
res.entity = this.util_toDateStr(res.entity, this.toDate);
this.form = Object.assign({}, this.form, res.entity);
this.dict = Object.assign({}, this.dict, res.dict);
console.log(this.form)
this.afterRender(res);
})
.catch(error => {
......
......@@ -57,6 +57,7 @@ export default {
// 更新数据
console.log("table",this.value)
console.log("id",id)
let table = JSON.parse(JSON.stringify(this.value))
let {index, data} = this.find(table, id);
......
......@@ -73,7 +73,9 @@ const router = new Router({
...restBuilder('perform/perpose/staff/stat', 'perform/perpose/staff/stat'),//员工目标统计
...restBuilder('perform/perpose/dept/stat/stat', 'perform/perpose/dept/stat/stat'),//部门目标统计
...restBuilder('perform/perpose/staff', 'perform/perpose/staff'),//员工考核目标详细信息表
...restBuilder('perform/perpose/staff/stat', 'perform/perpose/staff/stat'),//员工考核目标详细信息表
...restBuilder('perform/perpose/dept', 'perform/perpose/dept'),//部门考核目标详细信息表
...restBuilder('perform/perpose/dept/stat', 'perform/perpose/dept/stat'),//部门考核目标详细信息表
...restBuilder('perform/perpose', 'perform/perpose'),//考核目标表
...restBuilder('window/owner', 'window/owner'),//窗口负责人表
...restBuilder('perform/staff/conf/detail', 'perform/staff/conf/detail'),//人员考核内容详细信息表
......@@ -81,9 +83,16 @@ const router = new Router({
...restBuilder('perform/dept/conf/detail', 'perform/dept/conf/detail'),//部门考核内容详细信息表
...restBuilder('perform/dept/conf', 'perform/dept/conf'),//部门自动考核信息表
...restBuilder('perform/rules/category', 'perform/rules/category'),//绩效规则分类信息表
...restBuilder('perform/attend/record', 'perform/attend/record'),//考勤绩效记录信息
...restBuilder('perform/rules', 'perform/rules'),//绩效规则信息表
...restBuilder('perform/attend/record', 'perform/attend/record'),//考勤绩效记录信息
...restBuilder('perform/review/record', 'perform/review/record'),//评价绩效记录信息
...restBuilder('perform/complain/record', 'perform/complain/record'),//投诉绩效记录信息
...restBuilder('perform/gowork/record', 'perform/gowork/record'),//办件绩效记录信息
...restBuilder('perform/effect/record', 'perform/effect/record'),//效能绩效记录信息
...restBuilder('perform/other/record', 'perform/other/record'),//其它绩效记录信息
//以下为基础路由配置
builder('blank', 'blank'),
......@@ -141,9 +150,7 @@ function getComponent(fileName) {
}
//检查是否跳转到sso地址
function ssoCheck(to, from, next) {
console.log("to", to)
console.log("from", from)
console.log("next", next)
let redirect = (to.path === '/login/updatePwd') ? '/#/updatePwd' : ''
redirect = (redirect === '' && to.path === '/login') ? (location.protocol + '//' + location.host + '/#' + from.fullPath) : redirect
if (redirect != '') {
......
......@@ -125,9 +125,12 @@ export default {
methods:{
tabChildren(name){
console.log("name:"+name)
this.$store.commit("setCurrentParentName",name)//存储选择路由
let result = this.menu.find(item => item.name === name)
this.$store.commit('setHeadBar',result)
console.log("result:",result)
// 路由跳转
if(result.children.length>0){
this.$store.commit('setCurrentThirdArr',result.children[0].children)
......
......@@ -38,6 +38,7 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
......
<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>
......@@ -21,6 +77,47 @@
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);
......@@ -37,7 +134,22 @@
},
data() {
return {
// 用户导入参数
upload: {
// 是否显示弹出层(考勤绩效记录信息导入)
open: false,
// 弹出层标题(考勤绩效记录信息导入)
title: "导入考勤绩效记录信息数据",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的数据
updateSupport: 0,
// 上传的地址
url: "/m/perform/attend/record/importData",
},
isExport: false,
config: {
isshowTabPane:true,
search: [
],
columns: [
......
<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="complainTitle" v-model="form.complainTitle" placeholder="请输入投诉标题"/>
<Field label="投诉内容"><editor v-model="form.complainContent" :min-height="256"/></Field>
<Field label="投诉人真实姓名" prop="complainRealName" v-model="form.complainRealName" placeholder="请输入投诉人真实姓名"/>
<Field label="联系电话" prop="contact" v-model="form.contact" placeholder="请输入联系电话"/>
<Field label="投诉时间" prop="complainTime" v-model="form.complainTime" type="date" />
<Field label="投诉来源" prop="complainSource" v-model="form.complainSource" placeholder="请输入投诉来源"/>
<Field label="投诉设备" prop="complainDevice" v-model="form.complainDevice" placeholder="请输入投诉设备"/>
<Field label="绩效规则id" prop="ruleId" v-model="form.ruleId" placeholder="请输入绩效规则id"/>
<Field label="规则名称" prop="ruleName" v-model="form.ruleName" placeholder="请输入规则名称"/>
<Field label="所属部门" prop="deptId" v-model="form.deptId" placeholder="请输入所属部门"/>
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" 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' noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformComplainRecordDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/complain/record")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "评价绩效投诉记录信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"subMethod",
"processStatus",
],
toDate:[
"complainTime",
"deductTime",
],
// 表单校验
rules: {
staffName: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/complain/record/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改评价绩效投诉记录信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/complain/record/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增评价绩效投诉记录信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/complain/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");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
windowNum : "",
complainTitle : "",
complainContent : "",
complainRealName : "",
contact : "",
complainTime : null,
complainSource : "",
complainDevice : "",
ruleId : null,
ruleName : "",
deptId : null,
deptName : "",
subMethod : 1,
deductPerson : "",
deductTime : null,
score : 0.00,
processStatus : 1,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</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: "complainTime", formatter: this.formatterDate},
{label: "所属部门名称", prop: "deptName"},
{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>
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="员工ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item label="员工姓名" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item label="工号" label-class-name="labelClass" content-class-name="contentClass">
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item label="窗口编号" label-class-name="labelClass" content-class-name="contentClass">
{{form.windowNum}}
</el-descriptions-item>
<el-descriptions-item label="投诉标题" label-class-name="labelClass" content-class-name="contentClass">
{{form.complainTitle}}
</el-descriptions-item>
<el-descriptions-item label="投诉内容" label-class-name="labelClass" content-class-name="contentClass">
<editor v-model="form.complainContent" :min-height="256"/>
</el-descriptions-item>
<el-descriptions-item label="投诉人真实姓名" label-class-name="labelClass" content-class-name="contentClass">
{{form.complainRealName}}
</el-descriptions-item>
<el-descriptions-item label="联系电话" label-class-name="labelClass" content-class-name="contentClass">
{{form.contact}}
</el-descriptions-item>
<el-descriptions-item label="投诉时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.complainTime)}}
</el-descriptions-item>
<el-descriptions-item label="投诉来源" label-class-name="labelClass" content-class-name="contentClass">
{{form.complainSource}}
</el-descriptions-item>
<el-descriptions-item label="投诉设备" label-class-name="labelClass" content-class-name="contentClass">
{{form.complainDevice}}
</el-descriptions-item>
<el-descriptions-item label="绩效规则id" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleId}}
</el-descriptions-item>
<el-descriptions-item label="规则名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleName}}
</el-descriptions-item>
<el-descriptions-item label="所属部门" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item label="所属部门名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item label="扣分方式" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("subMethod", form.subMethod) }}
</el-descriptions-item>
<el-descriptions-item label="扣分人员" label-class-name="labelClass" content-class-name="contentClass">
{{form.deductPerson}}
</el-descriptions-item>
<el-descriptions-item label="扣分时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.deductTime)}}
</el-descriptions-item>
<el-descriptions-item label="扣分或增加分值" label-class-name="labelClass" content-class-name="contentClass">
{{form.score}}
</el-descriptions-item>
<el-descriptions-item label="处理状态" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("processStatus", form.processStatus) }}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
import Editor from '@/components/Editor';
export default {
mixins: [view],
components: {
Editor,
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
"subMethod",
"processStatus",
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
......@@ -38,6 +38,7 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
......
<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="irregularType" v-model="form.irregularType" type="select" :enumData="dict.irregularType" placeholder="请选择违规类型"/>
<Field label="发生时间" prop="happenTime" v-model="form.happenTime" type="date" />
<Field label="持续时间,秒" prop="duration" v-model="form.duration" placeholder="请输入持续时间,秒"/>
<Field label="报警时间" prop="alarmTime" v-model="form.alarmTime" type="date" />
<Field label="图片凭证地址" prop="snapPath" v-model="form.snapPath" type="textarea" placeholder="请输入图片凭证地址"/>
<Field label="绩效规则id" prop="ruleId" v-model="form.ruleId" placeholder="请输入绩效规则id"/>
<Field label="规则名称" prop="ruleName" v-model="form.ruleName" placeholder="请输入规则名称"/>
<Field label="所属部门" prop="deptId" v-model="form.deptId" placeholder="请输入所属部门"/>
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" 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' noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformEffectRecordDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/effect/record")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "效能绩效记录信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"irregularType",
"subMethod",
"processStatus",
],
toDate:[
"happenTime",
"alarmTime",
"deductTime",
],
// 表单校验
rules: {
staffName: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/effect/record/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改效能绩效记录信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/effect/record/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增效能绩效记录信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/effect/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");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
windowNum : "",
irregularType : null,
happenTime : null,
duration : 0,
alarmTime : null,
snapPath : "",
ruleId : null,
ruleName : "",
deptId : null,
deptName : "",
subMethod : 1,
deductPerson : "",
deductTime : null,
score : 0.00,
processStatus : 1,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</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: "happenTime", formatter: this.formatterDate},
{label: "报警时间", prop: "alarmTime", formatter: this.formatterDate},
{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>
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="员工ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item label="员工姓名" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item label="工号" label-class-name="labelClass" content-class-name="contentClass">
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item label="窗口编号" label-class-name="labelClass" content-class-name="contentClass">
{{form.windowNum}}
</el-descriptions-item>
<el-descriptions-item label="违规类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("irregularType", form.irregularType) }}
</el-descriptions-item>
<el-descriptions-item label="发生时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.happenTime)}}
</el-descriptions-item>
<el-descriptions-item label="持续时间,秒" label-class-name="labelClass" content-class-name="contentClass">
{{form.duration}}
</el-descriptions-item>
<el-descriptions-item label="报警时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.alarmTime)}}
</el-descriptions-item>
<el-descriptions-item label="图片凭证地址" label-class-name="labelClass" content-class-name="contentClass">
{{form.snapPath}}
</el-descriptions-item>
<el-descriptions-item label="绩效规则id" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleId}}
</el-descriptions-item>
<el-descriptions-item label="规则名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleName}}
</el-descriptions-item>
<el-descriptions-item label="所属部门" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item label="所属部门名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item label="扣分方式" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("subMethod", form.subMethod) }}
</el-descriptions-item>
<el-descriptions-item label="扣分人员" label-class-name="labelClass" content-class-name="contentClass">
{{form.deductPerson}}
</el-descriptions-item>
<el-descriptions-item label="扣分时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.deductTime)}}
</el-descriptions-item>
<el-descriptions-item label="扣分或增加分值" label-class-name="labelClass" content-class-name="contentClass">
{{form.score}}
</el-descriptions-item>
<el-descriptions-item label="处理状态" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("processStatus", form.processStatus) }}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
"irregularType",
"subMethod",
"processStatus",
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
<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="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="deptId" v-model="form.deptId" placeholder="请输入所属部门"/>
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" 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' 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: "请选择创建时间" },
],
}
};
},
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");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
windowNum : "",
goworkCode : "",
goworkDepts : "",
matterlName : "",
goworkTime : null,
ruleId : null,
ruleName : "",
deptId : null,
deptName : "",
subMethod : 1,
deductPerson : "",
deductTime : null,
score : 0.00,
processStatus : 1,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</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: 60},
{type: "index",label: "序号",width: 50},
{label: "员工姓名", prop: "staffName"},
{label: "办理时间", prop: "goworkTime", formatter: this.formatterDate},
{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>
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="员工ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item label="员工姓名" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item label="工号" label-class-name="labelClass" content-class-name="contentClass">
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item label="窗口编号" label-class-name="labelClass" content-class-name="contentClass">
{{form.windowNum}}
</el-descriptions-item>
<el-descriptions-item label="办件编码" label-class-name="labelClass" content-class-name="contentClass">
{{form.goworkCode}}
</el-descriptions-item>
<el-descriptions-item label="办件所属部门" label-class-name="labelClass" content-class-name="contentClass">
{{form.goworkDepts}}
</el-descriptions-item>
<el-descriptions-item label="事项名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.matterlName}}
</el-descriptions-item>
<el-descriptions-item label="办理时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.goworkTime)}}
</el-descriptions-item>
<el-descriptions-item label="绩效规则id" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleId}}
</el-descriptions-item>
<el-descriptions-item label="规则名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleName}}
</el-descriptions-item>
<el-descriptions-item label="所属部门" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item label="所属部门名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item label="扣分方式" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("subMethod", form.subMethod) }}
</el-descriptions-item>
<el-descriptions-item label="扣分人员" label-class-name="labelClass" content-class-name="contentClass">
{{form.deductPerson}}
</el-descriptions-item>
<el-descriptions-item label="扣分时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.deductTime)}}
</el-descriptions-item>
<el-descriptions-item label="扣分或增加分值" label-class-name="labelClass" content-class-name="contentClass">
{{form.score}}
</el-descriptions-item>
<el-descriptions-item label="处理状态" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("processStatus", form.processStatus) }}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
"subMethod",
"processStatus",
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
<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="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="deptId" v-model="form.deptId" placeholder="请输入所属部门"/>
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" 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' 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: "请选择创建时间" },
],
}
};
},
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");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
windowNum : "",
irregularOtherType : null,
happenTime : null,
duration : 0,
ruleId : null,
ruleName : "",
ruleDesc : "",
deptId : null,
deptName : "",
subMethod : 1,
deductPerson : "",
deductTime : null,
score : 0.00,
processStatus : 1,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</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: "happenTime", formatter: this.formatterDate},
{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>
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="员工ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item label="员工姓名" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item label="工号" label-class-name="labelClass" content-class-name="contentClass">
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item label="窗口编号" label-class-name="labelClass" content-class-name="contentClass">
{{form.windowNum}}
</el-descriptions-item>
<el-descriptions-item label="违规类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("irregularOtherType", form.irregularOtherType) }}
</el-descriptions-item>
<el-descriptions-item label="发生时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.happenTime)}}
</el-descriptions-item>
<el-descriptions-item label="持续时间,秒" label-class-name="labelClass" content-class-name="contentClass">
{{form.duration}}
</el-descriptions-item>
<el-descriptions-item label="绩效规则id" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleId}}
</el-descriptions-item>
<el-descriptions-item label="规则名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleName}}
</el-descriptions-item>
<el-descriptions-item label="评分标准" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleDesc}}
</el-descriptions-item>
<el-descriptions-item label="所属部门" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item label="所属部门名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item label="扣分方式" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("subMethod", form.subMethod) }}
</el-descriptions-item>
<el-descriptions-item label="扣分人员" label-class-name="labelClass" content-class-name="contentClass">
{{form.deductPerson}}
</el-descriptions-item>
<el-descriptions-item label="扣分时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.deductTime)}}
</el-descriptions-item>
<el-descriptions-item label="扣分或增加分值" label-class-name="labelClass" content-class-name="contentClass">
{{form.score}}
</el-descriptions-item>
<el-descriptions-item label="处理状态" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("processStatus", form.processStatus) }}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
"irregularOtherType",
"subMethod",
"processStatus",
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
......@@ -38,6 +38,7 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
......
......@@ -38,6 +38,7 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
......
......@@ -38,6 +38,7 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
......
......@@ -38,6 +38,7 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
......
......@@ -38,6 +38,7 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
......
<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="reviewResult" v-model="form.reviewResult" type="select" :enumData="dict.reviewResult" placeholder="请选择评价结果"/>
<Field label="评价时间" prop="reviewTime" v-model="form.reviewTime" type="date" />
<Field label="评价来源" prop="reviewSource" v-model="form.reviewSource" type="select" :enumData="dict.reviewSource" placeholder="请选择评价来源"/>
<Field label="评价设备" prop="reviewDevice" v-model="form.reviewDevice" placeholder="请输入评价设备"/>
<Field label="绩效规则id" prop="ruleId" v-model="form.ruleId" placeholder="请输入绩效规则id"/>
<Field label="规则名称" prop="ruleName" v-model="form.ruleName" placeholder="请输入规则名称"/>
<Field label="所属部门" prop="deptId" v-model="form.deptId" placeholder="请输入所属部门"/>
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" 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' noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformReviewRecordDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/review/record")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "评价差评绩效记录信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"reviewResult",
"subMethod",
"processStatus",
],
toDate:[
"reviewTime",
"deductTime",
],
// 表单校验
rules: {
staffName: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/review/record/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改评价差评绩效记录信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/review/record/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增评价差评绩效记录信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/review/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");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
windowNum : "",
reviewResult : null,
reviewTime : null,
reviewSource : "",
reviewDevice : "",
ruleId : null,
ruleName : "",
deptId : null,
deptName : "",
subMethod : 1,
deductPerson : "",
deductTime : null,
score : 0.00,
processStatus : 1,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</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: "reviewTime", formatter: this.formatterDate},
{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>
<template>
<layout-view>
<el-descriptions :title="title" :column="column" :size="size" :colon="false" border>
<template slot="title">
<i class="el-icon-tickets"></i>
基本详细信息
</template>
<template slot="extra">
<el-button type="primary" @click="$router.go(-1)" size="small">返回</el-button>
</template>
<el-descriptions-item label="员工ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item label="员工姓名" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item label="工号" label-class-name="labelClass" content-class-name="contentClass">
{{form.workNum}}
</el-descriptions-item>
<el-descriptions-item label="窗口编号" label-class-name="labelClass" content-class-name="contentClass">
{{form.windowNum}}
</el-descriptions-item>
<el-descriptions-item label="评价结果" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("reviewResult", form.reviewResult) }}
</el-descriptions-item>
<el-descriptions-item label="评价时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.reviewTime)}}
</el-descriptions-item>
<el-descriptions-item label="评价来源" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("reviewSource", form.reviewSource) }}
</el-descriptions-item>
<el-descriptions-item label="评价设备" label-class-name="labelClass" content-class-name="contentClass">
{{form.reviewDevice}}
</el-descriptions-item>
<el-descriptions-item label="绩效规则id" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleId}}
</el-descriptions-item>
<el-descriptions-item label="规则名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleName}}
</el-descriptions-item>
<el-descriptions-item label="所属部门" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptId}}
</el-descriptions-item>
<el-descriptions-item label="所属部门名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.deptName}}
</el-descriptions-item>
<el-descriptions-item label="扣分方式" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("subMethod", form.subMethod) }}
</el-descriptions-item>
<el-descriptions-item label="扣分人员" label-class-name="labelClass" content-class-name="contentClass">
{{form.deductPerson}}
</el-descriptions-item>
<el-descriptions-item label="扣分时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.deductTime)}}
</el-descriptions-item>
<el-descriptions-item label="扣分或增加分值" label-class-name="labelClass" content-class-name="contentClass">
{{form.score}}
</el-descriptions-item>
<el-descriptions-item label="处理状态" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("processStatus", form.processStatus) }}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<script>
import view from "@/assets/mixins/view";
export default {
mixins: [view],
components: {
},
methods: {
},
data() {
return {
size:"small",
column:2,
toString:[
"reviewResult",
"subMethod",
"processStatus",
],
toArrays: [
],
toDate: [
]
}
}
}
</script>
<style lang="less">
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</style>
\ No newline at end of file
......@@ -38,6 +38,7 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
......
......@@ -38,6 +38,7 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
......
......@@ -38,15 +38,16 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "人员ids,多个","分割", prop: "staffIds"},
{label: "人员ids", prop: "staffIds"},
{label: "人员名称nams,多个","逗号分割", prop: "staffNames"},
{label: "人员名称n", prop: "staffNames"},
{label: "考核人总数", prop: "staffCount",formatter: this.formatter},
......
......@@ -38,6 +38,7 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
......
......@@ -125,6 +125,8 @@ export default {
if(this.id){
this.form.parentId=this.id
}
console.log("data",data)
console.log("name",this.form.name)
this.open = true;
},
afterSubmit(data) {
......@@ -146,7 +148,7 @@ export default {
// 表单重置
reset() {
this.form = {
name : null,
name : "",
url : null,
ancestors : null,
parentId : null,
......
......@@ -38,6 +38,7 @@
data() {
return {
config: {
isshowTabPane:true,
search: [
],
columns: [
......
......@@ -24,7 +24,7 @@
<profiles.server.path>/attendance</profiles.server.path>
<profiles.nacos.server-addr>127.0.0.1:8848</profiles.nacos.server-addr>
<profiles.nacos.group>DEFAULT_GROUP</profiles.nacos.group>
<profiles.nacos.namespace>smart-gov-dev</profiles.nacos.namespace>
<profiles.nacos.namespace>smart-gov</profiles.nacos.namespace>
<profiles.log.path>/mortals/app/logs</profiles.log.path>
<profiles.log.level>info</profiles.log.level>
<profiles.publish.path>/home/publish</profiles.publish.path>
......
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 违规类型(1.工作纪律)枚举类
*
* @author zxfei
*/
public enum IrregularOtherTypeEnum {
工作纪律(1, "工作纪律");
private Integer value;
private String desc;
IrregularOtherTypeEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static IrregularOtherTypeEnum getByValue(Integer value) {
for (IrregularOtherTypeEnum irregularOtherTypeEnum : IrregularOtherTypeEnum.values()) {
if (irregularOtherTypeEnum.getValue() == value) {
return irregularOtherTypeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (IrregularOtherTypeEnum item : IrregularOtherTypeEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 违规类型(1.脱岗,2.离岗,3.玩手机,4.睡觉)枚举类
*
* @author zxfei
*/
public enum IrregularTypeEnum {
脱岗(1, "脱岗"),
离岗(2, "离岗"),
玩手机(3, "玩手机"),
睡觉(4, "睡觉");
private Integer value;
private String desc;
IrregularTypeEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static IrregularTypeEnum getByValue(Integer value) {
for (IrregularTypeEnum irregularTypeEnum : IrregularTypeEnum.values()) {
if (irregularTypeEnum.getValue() == value) {
return irregularTypeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (IrregularTypeEnum item : IrregularTypeEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
......@@ -4,13 +4,13 @@ import java.util.LinkedHashMap;
import java.util.Map;
/**
* 处理状态(0.未处理,1.已处理)枚举类
* 处理状态(1.未核查,2.已核查)枚举类
*
* @author zxfei
*/
public enum ProcessStatusEnum {
处理(0, "未处理"),
处理(1, "已处理");
核查(1, "未核查"),
核查(2, "已核查");
private Integer value;
private String desc;
......
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 评价结果(1.非常不满意,2.差评)枚举类
*
* @author zxfei
*/
public enum ReviewResultEnum {
非常不满意(1, "非常不满意"),
差评(2, "差评");
private Integer value;
private String desc;
ReviewResultEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static ReviewResultEnum getByValue(Integer value) {
for (ReviewResultEnum reviewResultEnum : ReviewResultEnum.values()) {
if (reviewResultEnum.getValue() == value) {
return reviewResultEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (ReviewResultEnum item : ReviewResultEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 评价来源(窗口评价系统,导视系统,自助服务系统,微官网,其它)枚举类
*
* @author zxfei
*/
public enum ReviewSourceEnum {
窗口评价系统("窗口评价系统", "窗口评价系统"),
导视系统("导视系统", "导视系统"),
自助服务系统("自助服务系统", "自助服务系统"),
微官网("微官网", "微官网"),
其它("其它", "其它");
private String value;
private String desc;
ReviewSourceEnum(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static ReviewSourceEnum getByValue(String value) {
for (ReviewSourceEnum reviewSourceEnum : ReviewSourceEnum.values()) {
if (reviewSourceEnum.getValue() == value) {
return reviewSourceEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(String... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (ReviewSourceEnum item : ReviewSourceEnum.values()) {
try {
boolean hasE = false;
for (String e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 扣分方式(1.系统自动,2.人工添加)枚举类
*
* @author zxfei
*/
public enum SubMethodEnum {
系统自动(1, "系统自动"),
人工添加(2, "人工添加");
private Integer value;
private String desc;
SubMethodEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static SubMethodEnum getByValue(Integer value) {
for (SubMethodEnum subMethodEnum : SubMethodEnum.values()) {
if (subMethodEnum.getValue() == value) {
return subMethodEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (SubMethodEnum item : SubMethodEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.module.dept.model.vo;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.dept.model.DeptPerformStatEntity;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
......
......@@ -8,7 +8,7 @@ import java.util.List;
* 考勤绩效记录信息 DAO接口
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
public interface PerformAttendRecordDao extends ICRUDDao<PerformAttendRecordEntity,Long>{
......
package com.mortals.xhx.module.perform.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.perform.model.PerformComplainRecordEntity;
import java.util.List;
/**
* 评价绩效投诉记录信息Dao
* 评价绩效投诉记录信息 DAO接口
*
* @author zxfei
* @date 2023-05-17
*/
public interface PerformComplainRecordDao extends ICRUDDao<PerformComplainRecordEntity,Long>{
}
package com.mortals.xhx.module.perform.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.perform.model.PerformEffectRecordEntity;
import java.util.List;
/**
* 效能绩效记录信息Dao
* 效能绩效记录信息 DAO接口
*
* @author zxfei
* @date 2023-05-17
*/
public interface PerformEffectRecordDao extends ICRUDDao<PerformEffectRecordEntity,Long>{
}
package com.mortals.xhx.module.perform.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.perform.model.PerformGoworkRecordEntity;
import java.util.List;
/**
* 办件绩效记录信息Dao
* 办件绩效记录信息 DAO接口
*
* @author zxfei
* @date 2023-05-17
*/
public interface PerformGoworkRecordDao extends ICRUDDao<PerformGoworkRecordEntity,Long>{
}
package com.mortals.xhx.module.perform.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.perform.model.PerformOtherRecordEntity;
import java.util.List;
/**
* 其它绩效记录信息Dao
* 其它绩效记录信息 DAO接口
*
* @author zxfei
* @date 2023-05-17
*/
public interface PerformOtherRecordDao extends ICRUDDao<PerformOtherRecordEntity,Long>{
}
package com.mortals.xhx.module.perform.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.perform.model.PerformReviewRecordEntity;
import java.util.List;
/**
* 评价差评绩效记录信息Dao
* 评价差评绩效记录信息 DAO接口
*
* @author zxfei
* @date 2023-05-17
*/
public interface PerformReviewRecordDao extends ICRUDDao<PerformReviewRecordEntity,Long>{
}
......@@ -11,7 +11,7 @@ import java.util.List;
* 考勤绩效记录信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
@Repository("performAttendRecordDao")
public class PerformAttendRecordDaoImpl extends BaseCRUDDaoMybatis<PerformAttendRecordEntity,Long> implements PerformAttendRecordDao {
......
package com.mortals.xhx.module.perform.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.perform.dao.PerformComplainRecordDao;
import com.mortals.xhx.module.perform.model.PerformComplainRecordEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 评价绩效投诉记录信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-05-17
*/
@Repository("performComplainRecordDao")
public class PerformComplainRecordDaoImpl extends BaseCRUDDaoMybatis<PerformComplainRecordEntity,Long> implements PerformComplainRecordDao {
}
package com.mortals.xhx.module.perform.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.perform.dao.PerformEffectRecordDao;
import com.mortals.xhx.module.perform.model.PerformEffectRecordEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 效能绩效记录信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-05-17
*/
@Repository("performEffectRecordDao")
public class PerformEffectRecordDaoImpl extends BaseCRUDDaoMybatis<PerformEffectRecordEntity,Long> implements PerformEffectRecordDao {
}
package com.mortals.xhx.module.perform.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.perform.dao.PerformGoworkRecordDao;
import com.mortals.xhx.module.perform.model.PerformGoworkRecordEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 办件绩效记录信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-05-17
*/
@Repository("performGoworkRecordDao")
public class PerformGoworkRecordDaoImpl extends BaseCRUDDaoMybatis<PerformGoworkRecordEntity,Long> implements PerformGoworkRecordDao {
}
package com.mortals.xhx.module.perform.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.perform.dao.PerformOtherRecordDao;
import com.mortals.xhx.module.perform.model.PerformOtherRecordEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 其它绩效记录信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-05-17
*/
@Repository("performOtherRecordDao")
public class PerformOtherRecordDaoImpl extends BaseCRUDDaoMybatis<PerformOtherRecordEntity,Long> implements PerformOtherRecordDao {
}
package com.mortals.xhx.module.perform.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.perform.dao.PerformReviewRecordDao;
import com.mortals.xhx.module.perform.model.PerformReviewRecordEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 评价差评绩效记录信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-05-17
*/
@Repository("performReviewRecordDao")
public class PerformReviewRecordDaoImpl extends BaseCRUDDaoMybatis<PerformReviewRecordEntity,Long> implements PerformReviewRecordDao {
}
......@@ -12,7 +12,7 @@ import lombok.Data;
* 考勤绩效记录信息实体对象
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
@Data
public class PerformAttendRecordEntity extends PerformAttendRecordVo {
......
......@@ -8,7 +8,7 @@ import com.mortals.xhx.module.perform.model.PerformAttendRecordEntity;
* 考勤绩效记录信息查询对象
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
public class PerformAttendRecordQuery extends PerformAttendRecordEntity {
/** 开始 序号,主键,自增长 */
......
package com.mortals.xhx.module.perform.model;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.vo.PerformComplainRecordVo;
import lombok.Data;
/**
* 评价绩效投诉记录信息实体对象
*
* @author zxfei
* @date 2023-05-17
*/
@Data
public class PerformComplainRecordEntity extends PerformComplainRecordVo {
private static final long serialVersionUID = 1L;
/**
* 员工ID
*/
private Long staffId;
/**
* 员工姓名
*/
private String staffName;
/**
* 工号
*/
private String workNum;
/**
* 窗口编号
*/
private String windowNum;
/**
* 投诉标题
*/
private String complainTitle;
/**
* 投诉内容
*/
private String complainContent;
/**
* 投诉人真实姓名
*/
private String complainRealName;
/**
* 联系电话
*/
private String contact;
/**
* 投诉时间
*/
private Date complainTime;
/**
* 投诉来源
*/
private String complainSource;
/**
* 投诉设备
*/
private String complainDevice;
/**
* 绩效规则id
*/
private Long ruleId;
/**
* 规则名称
*/
private String ruleName;
/**
* 所属部门
*/
private Long deptId;
/**
* 所属部门名称
*/
private String deptName;
/**
* 扣分方式(1.系统自动,2.人工添加)
*/
private Integer subMethod;
/**
* 扣分人员
*/
private String deductPerson;
/**
* 扣分时间
*/
private Date deductTime;
/**
* 扣分或增加分值
*/
private BigDecimal score;
/**
* 处理状态(1.未核查,2.已核查)
*/
private Integer processStatus;
/**
* 备注
*/
private String remark;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof PerformComplainRecordEntity) {
PerformComplainRecordEntity tmp = (PerformComplainRecordEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.staffId = -1L;
this.staffName = "";
this.workNum = "";
this.windowNum = "";
this.complainTitle = "";
this.complainContent = "";
this.complainRealName = "";
this.contact = "";
this.complainTime = null;
this.complainSource = "";
this.complainDevice = "";
this.ruleId = -1L;
this.ruleName = "";
this.deptId = -1L;
this.deptName = "";
this.subMethod = 1;
this.deductPerson = "";
this.deductTime = null;
this.score = BigDecimal.valueOf(0.00);
this.processStatus = 1;
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.perform.model;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.vo.PerformEffectRecordVo;
import lombok.Data;
/**
* 效能绩效记录信息实体对象
*
* @author zxfei
* @date 2023-05-17
*/
@Data
public class PerformEffectRecordEntity extends PerformEffectRecordVo {
private static final long serialVersionUID = 1L;
/**
* 员工ID
*/
private Long staffId;
/**
* 员工姓名
*/
private String staffName;
/**
* 工号
*/
private String workNum;
/**
* 窗口编号
*/
private String windowNum;
/**
* 违规类型(1.脱岗,2.离岗,3.玩手机,4.睡觉)
*/
private Integer irregularType;
/**
* 发生时间
*/
private Date happenTime;
/**
* 持续时间,秒
*/
private Integer duration;
/**
* 报警时间
*/
private Date alarmTime;
/**
* 图片凭证地址
*/
private String snapPath;
/**
* 绩效规则id
*/
private Long ruleId;
/**
* 规则名称
*/
private String ruleName;
/**
* 所属部门
*/
private Long deptId;
/**
* 所属部门名称
*/
private String deptName;
/**
* 扣分方式(1.系统自动,2.人工添加)
*/
private Integer subMethod;
/**
* 扣分人员
*/
private String deductPerson;
/**
* 扣分时间
*/
private Date deductTime;
/**
* 扣分或增加分值
*/
private BigDecimal score;
/**
* 处理状态(1.未核查,2.已核查)
*/
private Integer processStatus;
/**
* 备注
*/
private String remark;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof PerformEffectRecordEntity) {
PerformEffectRecordEntity tmp = (PerformEffectRecordEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.staffId = -1L;
this.staffName = "";
this.workNum = "";
this.windowNum = "";
this.irregularType = -1;
this.happenTime = null;
this.duration = 0;
this.alarmTime = null;
this.snapPath = "";
this.ruleId = -1L;
this.ruleName = "";
this.deptId = -1L;
this.deptName = "";
this.subMethod = 1;
this.deductPerson = "";
this.deductTime = null;
this.score = BigDecimal.valueOf(0.00);
this.processStatus = 1;
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.perform.model;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.vo.PerformGoworkRecordVo;
import lombok.Data;
/**
* 办件绩效记录信息实体对象
*
* @author zxfei
* @date 2023-05-17
*/
@Data
public class PerformGoworkRecordEntity extends PerformGoworkRecordVo {
private static final long serialVersionUID = 1L;
/**
* 员工ID
*/
private Long staffId;
/**
* 员工姓名
*/
private String staffName;
/**
* 工号
*/
private String workNum;
/**
* 窗口编号
*/
private String windowNum;
/**
* 办件编码
*/
private String goworkCode;
/**
* 办件所属部门
*/
private String goworkDepts;
/**
* 事项名称
*/
private String matterlName;
/**
* 办理时间
*/
private Date goworkTime;
/**
* 绩效规则id
*/
private Long ruleId;
/**
* 规则名称
*/
private String ruleName;
/**
* 所属部门
*/
private Long deptId;
/**
* 所属部门名称
*/
private String deptName;
/**
* 扣分方式(1.系统自动,2.人工添加)
*/
private Integer subMethod;
/**
* 扣分人员
*/
private String deductPerson;
/**
* 扣分时间
*/
private Date deductTime;
/**
* 扣分或增加分值
*/
private BigDecimal score;
/**
* 处理状态(1.未核查,2.已核查)
*/
private Integer processStatus;
/**
* 备注
*/
private String remark;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof PerformGoworkRecordEntity) {
PerformGoworkRecordEntity tmp = (PerformGoworkRecordEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.staffId = -1L;
this.staffName = "";
this.workNum = "";
this.windowNum = "";
this.goworkCode = "";
this.goworkDepts = "";
this.matterlName = "";
this.goworkTime = null;
this.ruleId = -1L;
this.ruleName = "";
this.deptId = -1L;
this.deptName = "";
this.subMethod = 1;
this.deductPerson = "";
this.deductTime = null;
this.score = BigDecimal.valueOf(0.00);
this.processStatus = 1;
this.remark = "";
}
}
\ No newline at end of file
package com.mortals.xhx.module.perform.model;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.vo.PerformOtherRecordVo;
import lombok.Data;
/**
* 其它绩效记录信息实体对象
*
* @author zxfei
* @date 2023-05-17
*/
@Data
public class PerformOtherRecordEntity extends PerformOtherRecordVo {
private static final long serialVersionUID = 1L;
/**
* 员工ID
*/
private Long staffId;
/**
* 员工姓名
*/
private String staffName;
/**
* 工号
*/
private String workNum;
/**
* 窗口编号
*/
private String windowNum;
/**
* 违规类型(1.工作纪律)
*/
private Integer irregularOtherType;
/**
* 发生时间
*/
private Date happenTime;
/**
* 持续时间,秒
*/
private Integer duration;
/**
* 绩效规则id
*/
private Long ruleId;
/**
* 规则名称
*/
private String ruleName;
/**
* 评分标准
*/
private String ruleDesc;
/**
* 所属部门
*/
private Long deptId;
/**
* 所属部门名称
*/
private String deptName;
/**
* 扣分方式(1.系统自动,2.人工添加)
*/
private Integer subMethod;
/**
* 扣分人员
*/
private String deductPerson;
/**
* 扣分时间
*/
private Date deductTime;
/**
* 扣分或增加分值
*/
private BigDecimal score;
/**
* 处理状态(1.未核查,2.已核查)
*/
private Integer processStatus;
/**
* 备注
*/
private String remark;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof PerformOtherRecordEntity) {
PerformOtherRecordEntity tmp = (PerformOtherRecordEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.staffId = -1L;
this.staffName = "";
this.workNum = "";
this.windowNum = "";
this.irregularOtherType = -1;
this.happenTime = null;
this.duration = 0;
this.ruleId = -1L;
this.ruleName = "";
this.ruleDesc = "";
this.deptId = -1L;
this.deptName = "";
this.subMethod = 1;
this.deductPerson = "";
this.deductTime = null;
this.score = BigDecimal.valueOf(0.00);
this.processStatus = 1;
this.remark = "";
}
}
\ No newline at end of file
......@@ -8,11 +8,11 @@ import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.vo.PerformPerposeVo;
import lombok.Data;
/**
* 考核目标实体对象
*
* @author zxfei
* @date 2023-05-16
*/
* 考核目标实体对象
*
* @author zxfei
* @date 2023-05-17
*/
@Data
public class PerformPerposeEntity extends PerformPerposeVo {
private static final long serialVersionUID = 1L;
......@@ -62,10 +62,6 @@ public class PerformPerposeEntity extends PerformPerposeVo {
*/
private Integer halfYear;
/**
* 半年类型(1.上半年,2.下半年)
*/
private Integer halfYear;
/**
* 季度类型(1.第一季度,2.第二季度, 3.第三季度,4.第四季度)
*/
private Integer quarter;
......@@ -121,8 +117,6 @@ public class PerformPerposeEntity extends PerformPerposeVo {
this.halfYear = 1;
this.halfYear = 1;
this.quarter = 1;
this.leaders = "";
......
......@@ -4,11 +4,11 @@ import java.math.BigDecimal;
import java.util.List;
import com.mortals.xhx.module.perform.model.PerformPerposeEntity;
/**
* 考核目标查询对象
*
* @author zxfei
* @date 2023-05-16
*/
* 考核目标查询对象
*
* @author zxfei
* @date 2023-05-17
*/
public class PerformPerposeQuery extends PerformPerposeEntity {
/** 开始 序号,主键,自增长 */
private Long idStart;
......@@ -180,21 +180,6 @@ public class PerformPerposeQuery extends PerformPerposeEntity {
/** 半年类型(1.上半年,2.下半年)排除列表 */
private List <Integer> halfYearNotList;
/** 开始 半年类型(1.上半年,2.下半年) */
private Integer halfYearStart;
/** 结束 半年类型(1.上半年,2.下半年) */
private Integer halfYearEnd;
/** 增加 半年类型(1.上半年,2.下半年) */
private Integer halfYearIncrement;
/** 半年类型(1.上半年,2.下半年)列表 */
private List <Integer> halfYearList;
/** 半年类型(1.上半年,2.下半年)排除列表 */
private List <Integer> halfYearNotList;
/** 开始 季度类型(1.第一季度,2.第二季度, 3.第三季度,4.第四季度) */
private Integer quarterStart;
......@@ -1198,87 +1183,6 @@ public class PerformPerposeQuery extends PerformPerposeEntity {
}
/**
* 获取 开始 半年类型(1.上半年,2.下半年)
* @return halfYearStart
*/
public Integer getHalfYearStart(){
return this.halfYearStart;
}
/**
* 设置 开始 半年类型(1.上半年,2.下半年)
* @param halfYearStart
*/
public void setHalfYearStart(Integer halfYearStart){
this.halfYearStart = halfYearStart;
}
/**
* 获取 结束 半年类型(1.上半年,2.下半年)
* @return $halfYearEnd
*/
public Integer getHalfYearEnd(){
return this.halfYearEnd;
}
/**
* 设置 结束 半年类型(1.上半年,2.下半年)
* @param halfYearEnd
*/
public void setHalfYearEnd(Integer halfYearEnd){
this.halfYearEnd = halfYearEnd;
}
/**
* 获取 增加 半年类型(1.上半年,2.下半年)
* @return halfYearIncrement
*/
public Integer getHalfYearIncrement(){
return this.halfYearIncrement;
}
/**
* 设置 增加 半年类型(1.上半年,2.下半年)
* @param halfYearIncrement
*/
public void setHalfYearIncrement(Integer halfYearIncrement){
this.halfYearIncrement = halfYearIncrement;
}
/**
* 获取 半年类型(1.上半年,2.下半年)
* @return halfYearList
*/
public List<Integer> getHalfYearList(){
return this.halfYearList;
}
/**
* 设置 半年类型(1.上半年,2.下半年)
* @param halfYearList
*/
public void setHalfYearList(List<Integer> halfYearList){
this.halfYearList = halfYearList;
}
/**
* 获取 半年类型(1.上半年,2.下半年)
* @return halfYearNotList
*/
public List<Integer> getHalfYearNotList(){
return this.halfYearNotList;
}
/**
* 设置 半年类型(1.上半年,2.下半年)
* @param halfYearNotList
*/
public void setHalfYearNotList(List<Integer> halfYearNotList){
this.halfYearNotList = halfYearNotList;
}
/**
* 获取 开始 季度类型(1.第一季度,2.第二季度, 3.第三季度,4.第四季度)
* @return quarterStart
......@@ -2277,60 +2181,6 @@ public class PerformPerposeQuery extends PerformPerposeEntity {
return this;
}
/**
* 设置 半年类型(1.上半年,2.下半年)
* @param halfYearList
*/
public PerformPerposeQuery halfYearList(List<Integer> halfYearList){
this.halfYearList = halfYearList;
return this;
}
/**
* 设置 半年类型(1.上半年,2.下半年)
* @param halfYearNotList
*/
public PerformPerposeQuery halfYearNotList(List<Integer> halfYearNotList){
this.halfYearNotList = halfYearNotList;
return this;
}
/**
* 设置 半年类型(1.上半年,2.下半年)
* @param halfYear
*/
public PerformPerposeQuery halfYear(Integer halfYear){
setHalfYear(halfYear);
return this;
}
/**
* 设置 开始 半年类型(1.上半年,2.下半年)
* @param halfYearStart
*/
public PerformPerposeQuery halfYearStart(Integer halfYearStart){
this.halfYearStart = halfYearStart;
return this;
}
/**
* 设置 结束 半年类型(1.上半年,2.下半年)
* @param halfYearEnd
*/
public PerformPerposeQuery halfYearEnd(Integer halfYearEnd){
this.halfYearEnd = halfYearEnd;
return this;
}
/**
* 设置 增加 半年类型(1.上半年,2.下半年)
* @param halfYearIncrement
*/
public PerformPerposeQuery halfYearIncrement(Integer halfYearIncrement){
this.halfYearIncrement = halfYearIncrement;
return this;
}
/**
* 设置 半年类型(1.上半年,2.下半年)
* @param halfYearList
......
package com.mortals.xhx.module.perform.model;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.vo.PerformReviewRecordVo;
import lombok.Data;
/**
* 评价差评绩效记录信息实体对象
*
* @author zxfei
* @date 2023-05-17
*/
@Data
public class PerformReviewRecordEntity extends PerformReviewRecordVo {
private static final long serialVersionUID = 1L;
/**
* 员工ID
*/
private Long staffId;
/**
* 员工姓名
*/
private String staffName;
/**
* 工号
*/
private String workNum;
/**
* 窗口编号
*/
private String windowNum;
/**
* 评价结果(1.非常不满意,2.差评)
*/
private Integer reviewResult;
/**
* 评价时间
*/
private Date reviewTime;
/**
* 评价来源(窗口评价系统,导视系统,自助服务系统,微官网,其它)
*/
private String reviewSource;
/**
* 评价设备
*/
private String reviewDevice;
/**
* 绩效规则id
*/
private Long ruleId;
/**
* 规则名称
*/
private String ruleName;
/**
* 所属部门
*/
private Long deptId;
/**
* 所属部门名称
*/
private String deptName;
/**
* 扣分方式(1.系统自动,2.人工添加)
*/
private Integer subMethod;
/**
* 扣分人员
*/
private String deductPerson;
/**
* 扣分时间
*/
private Date deductTime;
/**
* 扣分或增加分值
*/
private BigDecimal score;
/**
* 处理状态(1.未核查,2.已核查)
*/
private Integer processStatus;
/**
* 备注
*/
private String remark;
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof PerformReviewRecordEntity) {
PerformReviewRecordEntity tmp = (PerformReviewRecordEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public void initAttrValue(){
this.staffId = -1L;
this.staffName = "";
this.workNum = "";
this.windowNum = "";
this.reviewResult = -1;
this.reviewTime = null;
this.reviewSource = "";
this.reviewDevice = "";
this.ruleId = -1L;
this.ruleName = "";
this.deptId = -1L;
this.deptName = "";
this.subMethod = 1;
this.deductPerson = "";
this.deductTime = null;
this.score = BigDecimal.valueOf(0.00);
this.processStatus = 1;
this.remark = "";
}
}
\ No newline at end of file
......@@ -8,7 +8,7 @@ import lombok.Data;
* 考勤绩效记录信息视图对象
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
@Data
public class PerformAttendRecordVo extends BaseEntityLong {
......
package com.mortals.xhx.module.perform.model.vo;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.PerformComplainRecordEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
/**
* 评价绩效投诉记录信息视图对象
*
* @author zxfei
* @date 2023-05-17
*/
@Data
public class PerformComplainRecordVo extends BaseEntityLong {
/**
* 员工姓名
*/
@Excel(name = "员工姓名")
private String staffName;
/**
* 工号
*/
@Excel(name = "工号")
private String workNum;
/**
* 窗口编号
*/
@Excel(name = "窗口编号")
private String windowNum;
/**
* 投诉标题
*/
@Excel(name = "投诉标题")
private String complainTitle;
/**
* 投诉内容
*/
@Excel(name = "投诉内容")
private String complainContent;
/**
* 联系电话
*/
@Excel(name = "联系电话")
private String contact;
/**
* 所属部门名称
*/
@Excel(name = "所属部门名称")
private String deptName;
/**
* 扣分人员
*/
@Excel(name = "扣分人员")
private String deductPerson;
/**
* 处理状态(1.未核查,2.已核查)
*/
@Excel(name = "处理状态", readConverterExp = "1=未核查,2.已核查")
private Integer processStatus;
}
\ No newline at end of file
package com.mortals.xhx.module.perform.model.vo;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.PerformEffectRecordEntity;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import lombok.Data;
/**
* 效能绩效记录信息视图对象
*
* @author zxfei
* @date 2023-05-17
*/
@Data
public class PerformEffectRecordVo extends BaseEntityLong {
/**
* 员工姓名
*/
@Excel(name = "员工姓名")
private String staffName;
/**
* 工号
*/
@Excel(name = "工号")
private String workNum;
/**
* 窗口编号
*/
@Excel(name = "窗口编号")
private String windowNum;
/**
* 违规类型(1.脱岗,2.离岗,3.玩手机,4.睡觉)
*/
@Excel(name = "违规类型", readConverterExp = "1=脱岗,2.离岗,3.玩手机,4.睡觉")
private Integer irregularType;
/**
* 发生时间
*/
@Excel(name = "发生时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date happenTime;
/**
* 所属部门名称
*/
@Excel(name = "所属部门名称")
private String deptName;
/**
* 扣分人员
*/
@Excel(name = "扣分人员")
private String deductPerson;
/**
* 处理状态(1.未核查,2.已核查)
*/
@Excel(name = "处理状态", readConverterExp = "1=未核查,2.已核查")
private Integer processStatus;
}
\ No newline at end of file
package com.mortals.xhx.module.perform.model.vo;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.PerformGoworkRecordEntity;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import lombok.Data;
/**
* 办件绩效记录信息视图对象
*
* @author zxfei
* @date 2023-05-17
*/
@Data
public class PerformGoworkRecordVo extends BaseEntityLong {
/**
* 员工姓名
*/
@Excel(name = "员工姓名")
private String staffName;
/**
* 窗口编号
*/
@Excel(name = "窗口编号")
private String windowNum;
/**
* 办件编码
*/
@Excel(name = "办件编码")
private String goworkCode;
/**
* 办件所属部门
*/
@Excel(name = "办件所属部门")
private String goworkDepts;
/**
* 事项名称
*/
@Excel(name = "事项名称")
private String matterlName;
/**
* 办理时间
*/
@Excel(name = "办理时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date goworkTime;
/**
* 规则名称
*/
@Excel(name = "规则名称")
private String ruleName;
/**
* 所属部门名称
*/
@Excel(name = "所属部门名称")
private String deptName;
/**
* 扣分人员
*/
@Excel(name = "扣分人员")
private String deductPerson;
/**
* 扣分或增加分值
*/
@Excel(name = "扣分或增加分值")
private BigDecimal score;
/**
* 处理状态(1.未核查,2.已核查)
*/
@Excel(name = "处理状态", readConverterExp = "1=未核查,2.已核查")
private Integer processStatus;
}
\ No newline at end of file
package com.mortals.xhx.module.perform.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.PerformOtherRecordEntity;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
/**
* 其它绩效记录信息视图对象
*
* @author zxfei
* @date 2023-05-17
*/
@Data
public class PerformOtherRecordVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.perform.model.vo;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.perform.model.PerformReviewRecordEntity;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
/**
* 评价差评绩效记录信息视图对象
*
* @author zxfei
* @date 2023-05-17
*/
@Data
public class PerformReviewRecordVo extends BaseEntityLong {
/**
* 员工姓名
*/
@Excel(name = "员工姓名")
private String staffName;
/**
* 工号
*/
@Excel(name = "工号")
private String workNum;
/**
* 窗口编号
*/
@Excel(name = "窗口编号")
private String windowNum;
/**
* 评价来源(窗口评价系统,导视系统,自助服务系统,微官网,其它)
*/
@Excel(name = "评价来源", readConverterExp = "评价来源(窗口评价系统,导视系统,自助服务系统,微官网,其它)")
private String reviewSource;
/**
* 规则名称
*/
@Excel(name = "规则名称")
private String ruleName;
/**
* 扣分人员
*/
@Excel(name = "扣分人员")
private String deductPerson;
/**
* 扣分或增加分值
*/
@Excel(name = "扣分或增加分值")
private BigDecimal score;
}
\ No newline at end of file
......@@ -8,7 +8,7 @@ import com.mortals.xhx.module.perform.dao.PerformAttendRecordDao;
* 考勤绩效记录信息 service接口
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
public interface PerformAttendRecordService extends ICRUDService<PerformAttendRecordEntity,Long>{
......
package com.mortals.xhx.module.perform.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.perform.model.PerformComplainRecordEntity;
import com.mortals.xhx.module.perform.dao.PerformComplainRecordDao;
/**
* PerformComplainRecordService
*
* 评价绩效投诉记录信息 service接口
*
* @author zxfei
* @date 2023-05-17
*/
public interface PerformComplainRecordService extends ICRUDService<PerformComplainRecordEntity,Long>{
PerformComplainRecordDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.perform.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.perform.model.PerformEffectRecordEntity;
import com.mortals.xhx.module.perform.dao.PerformEffectRecordDao;
/**
* PerformEffectRecordService
*
* 效能绩效记录信息 service接口
*
* @author zxfei
* @date 2023-05-17
*/
public interface PerformEffectRecordService extends ICRUDService<PerformEffectRecordEntity,Long>{
PerformEffectRecordDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.perform.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.perform.model.PerformGoworkRecordEntity;
import com.mortals.xhx.module.perform.dao.PerformGoworkRecordDao;
/**
* PerformGoworkRecordService
*
* 办件绩效记录信息 service接口
*
* @author zxfei
* @date 2023-05-17
*/
public interface PerformGoworkRecordService extends ICRUDService<PerformGoworkRecordEntity,Long>{
PerformGoworkRecordDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.perform.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.perform.model.PerformOtherRecordEntity;
import com.mortals.xhx.module.perform.dao.PerformOtherRecordDao;
/**
* PerformOtherRecordService
*
* 其它绩效记录信息 service接口
*
* @author zxfei
* @date 2023-05-17
*/
public interface PerformOtherRecordService extends ICRUDService<PerformOtherRecordEntity,Long>{
PerformOtherRecordDao getDao();
}
\ No newline at end of file
package com.mortals.xhx.module.perform.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.perform.model.PerformReviewRecordEntity;
import com.mortals.xhx.module.perform.dao.PerformReviewRecordDao;
/**
* PerformReviewRecordService
*
* 评价差评绩效记录信息 service接口
*
* @author zxfei
* @date 2023-05-17
*/
public interface PerformReviewRecordService extends ICRUDService<PerformReviewRecordEntity,Long>{
PerformReviewRecordDao getDao();
}
\ No newline at end of file
......@@ -12,7 +12,7 @@ import lombok.extern.slf4j.Slf4j;
* 考勤绩效记录信息 service实现
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
@Service("performAttendRecordService")
@Slf4j
......
package com.mortals.xhx.module.perform.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.perform.dao.PerformComplainRecordDao;
import com.mortals.xhx.module.perform.model.PerformComplainRecordEntity;
import com.mortals.xhx.module.perform.service.PerformComplainRecordService;
import lombok.extern.slf4j.Slf4j;
/**
* PerformComplainRecordService
* 评价绩效投诉记录信息 service实现
*
* @author zxfei
* @date 2023-05-17
*/
@Service("performComplainRecordService")
@Slf4j
public class PerformComplainRecordServiceImpl extends AbstractCRUDServiceImpl<PerformComplainRecordDao, PerformComplainRecordEntity, Long> implements PerformComplainRecordService {
}
\ No newline at end of file
package com.mortals.xhx.module.perform.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.perform.dao.PerformEffectRecordDao;
import com.mortals.xhx.module.perform.model.PerformEffectRecordEntity;
import com.mortals.xhx.module.perform.service.PerformEffectRecordService;
import lombok.extern.slf4j.Slf4j;
/**
* PerformEffectRecordService
* 效能绩效记录信息 service实现
*
* @author zxfei
* @date 2023-05-17
*/
@Service("performEffectRecordService")
@Slf4j
public class PerformEffectRecordServiceImpl extends AbstractCRUDServiceImpl<PerformEffectRecordDao, PerformEffectRecordEntity, Long> implements PerformEffectRecordService {
}
\ No newline at end of file
package com.mortals.xhx.module.perform.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.perform.dao.PerformGoworkRecordDao;
import com.mortals.xhx.module.perform.model.PerformGoworkRecordEntity;
import com.mortals.xhx.module.perform.service.PerformGoworkRecordService;
import lombok.extern.slf4j.Slf4j;
/**
* PerformGoworkRecordService
* 办件绩效记录信息 service实现
*
* @author zxfei
* @date 2023-05-17
*/
@Service("performGoworkRecordService")
@Slf4j
public class PerformGoworkRecordServiceImpl extends AbstractCRUDServiceImpl<PerformGoworkRecordDao, PerformGoworkRecordEntity, Long> implements PerformGoworkRecordService {
}
\ No newline at end of file
package com.mortals.xhx.module.perform.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.perform.dao.PerformOtherRecordDao;
import com.mortals.xhx.module.perform.model.PerformOtherRecordEntity;
import com.mortals.xhx.module.perform.service.PerformOtherRecordService;
import lombok.extern.slf4j.Slf4j;
/**
* PerformOtherRecordService
* 其它绩效记录信息 service实现
*
* @author zxfei
* @date 2023-05-17
*/
@Service("performOtherRecordService")
@Slf4j
public class PerformOtherRecordServiceImpl extends AbstractCRUDServiceImpl<PerformOtherRecordDao, PerformOtherRecordEntity, Long> implements PerformOtherRecordService {
}
\ No newline at end of file
package com.mortals.xhx.module.perform.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.perform.dao.PerformReviewRecordDao;
import com.mortals.xhx.module.perform.model.PerformReviewRecordEntity;
import com.mortals.xhx.module.perform.service.PerformReviewRecordService;
import lombok.extern.slf4j.Slf4j;
/**
* PerformReviewRecordService
* 评价差评绩效记录信息 service实现
*
* @author zxfei
* @date 2023-05-17
*/
@Service("performReviewRecordService")
@Slf4j
public class PerformReviewRecordServiceImpl extends AbstractCRUDServiceImpl<PerformReviewRecordDao, PerformReviewRecordEntity, Long> implements PerformReviewRecordService {
}
\ No newline at end of file
......@@ -27,7 +27,7 @@ import static com.mortals.framework.ap.SysConstains.*;
* 考勤绩效记录信息
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
@RestController
@RequestMapping("perform/attend/record")
......
package com.mortals.xhx.module.perform.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.perform.model.PerformComplainRecordEntity;
import com.mortals.xhx.module.perform.service.PerformComplainRecordService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 评价绩效投诉记录信息
*
* @author zxfei
* @date 2023-05-17
*/
@RestController
@RequestMapping("perform/complain/record")
public class PerformComplainRecordController extends BaseCRUDJsonBodyMappingController<PerformComplainRecordService,PerformComplainRecordEntity,Long> {
@Autowired
private ParamService paramService;
public PerformComplainRecordController(){
super.setModuleDesc( "评价绩效投诉记录信息");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "subMethod", paramService.getParamBySecondOrganize("PerformComplainRecord","subMethod"));
this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("PerformComplainRecord","processStatus"));
super.init(model, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.perform.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.perform.model.PerformEffectRecordEntity;
import com.mortals.xhx.module.perform.service.PerformEffectRecordService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 效能绩效记录信息
*
* @author zxfei
* @date 2023-05-17
*/
@RestController
@RequestMapping("perform/effect/record")
public class PerformEffectRecordController extends BaseCRUDJsonBodyMappingController<PerformEffectRecordService,PerformEffectRecordEntity,Long> {
@Autowired
private ParamService paramService;
public PerformEffectRecordController(){
super.setModuleDesc( "效能绩效记录信息");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "irregularType", paramService.getParamBySecondOrganize("PerformEffectRecord","irregularType"));
this.addDict(model, "subMethod", paramService.getParamBySecondOrganize("PerformEffectRecord","subMethod"));
this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("PerformEffectRecord","processStatus"));
super.init(model, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.perform.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.perform.model.PerformGoworkRecordEntity;
import com.mortals.xhx.module.perform.service.PerformGoworkRecordService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 办件绩效记录信息
*
* @author zxfei
* @date 2023-05-17
*/
@RestController
@RequestMapping("perform/gowork/record")
public class PerformGoworkRecordController extends BaseCRUDJsonBodyMappingController<PerformGoworkRecordService,PerformGoworkRecordEntity,Long> {
@Autowired
private ParamService paramService;
public PerformGoworkRecordController(){
super.setModuleDesc( "办件绩效记录信息");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "subMethod", paramService.getParamBySecondOrganize("PerformGoworkRecord","subMethod"));
this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("PerformGoworkRecord","processStatus"));
super.init(model, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.perform.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.perform.model.PerformOtherRecordEntity;
import com.mortals.xhx.module.perform.service.PerformOtherRecordService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 其它绩效记录信息
*
* @author zxfei
* @date 2023-05-17
*/
@RestController
@RequestMapping("perform/other/record")
public class PerformOtherRecordController extends BaseCRUDJsonBodyMappingController<PerformOtherRecordService,PerformOtherRecordEntity,Long> {
@Autowired
private ParamService paramService;
public PerformOtherRecordController(){
super.setModuleDesc( "其它绩效记录信息");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "irregularOtherType", paramService.getParamBySecondOrganize("PerformOtherRecord","irregularOtherType"));
this.addDict(model, "subMethod", paramService.getParamBySecondOrganize("PerformOtherRecord","subMethod"));
this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("PerformOtherRecord","processStatus"));
super.init(model, context);
}
}
\ No newline at end of file
package com.mortals.xhx.module.perform.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.perform.model.PerformReviewRecordEntity;
import com.mortals.xhx.module.perform.service.PerformReviewRecordService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 评价差评绩效记录信息
*
* @author zxfei
* @date 2023-05-17
*/
@RestController
@RequestMapping("perform/review/record")
public class PerformReviewRecordController extends BaseCRUDJsonBodyMappingController<PerformReviewRecordService,PerformReviewRecordEntity,Long> {
@Autowired
private ParamService paramService;
public PerformReviewRecordController(){
super.setModuleDesc( "评价差评绩效记录信息");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "reviewResult", paramService.getParamBySecondOrganize("PerformReviewRecord","reviewResult"));
this.addDict(model, "reviewSource", paramService.getParamBySecondOrganize("PerformReviewRecord","reviewSource"));
this.addDict(model, "subMethod", paramService.getParamBySecondOrganize("PerformReviewRecord","subMethod"));
this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("PerformReviewRecord","processStatus"));
super.init(model, context);
}
}
\ No newline at end of file
......@@ -4,11 +4,11 @@ import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.staff.model.StaffPerformStatEntity;
import java.util.List;
/**
* 员工分数统计Dao
* 员工分数统计 DAO接口
* 员工绩效统计Dao
* 员工绩效统计 DAO接口
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
public interface StaffPerformStatDao extends ICRUDDao<StaffPerformStatEntity,Long>{
......
......@@ -8,10 +8,10 @@ import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 员工分数统计DaoImpl DAO接口
* 员工绩效统计DaoImpl DAO接口
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
@Repository("staffPerformStatDao")
public class StaffPerformStatDaoImpl extends BaseCRUDDaoMybatis<StaffPerformStatEntity,Long> implements StaffPerformStatDao {
......
......@@ -8,10 +8,10 @@ import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.staff.model.vo.StaffPerformStatVo;
import lombok.Data;
/**
* 员工分数统计实体对象
* 员工绩效统计实体对象
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
@Data
public class StaffPerformStatEntity extends StaffPerformStatVo {
......
package com.mortals.xhx.module.staff.model.vo;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.staff.model.StaffPerformStatEntity;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
/**
* 员工分数统计视图对象
* 员工绩效统计视图对象
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
@Data
public class StaffPerformStatVo extends BaseEntityLong {
......
......@@ -5,10 +5,10 @@ import com.mortals.xhx.module.staff.dao.StaffPerformStatDao;
/**
* StaffPerformStatService
*
* 员工分数统计 service接口
* 员工绩效统计 service接口
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
public interface StaffPerformStatService extends ICRUDService<StaffPerformStatEntity,Long>{
......
......@@ -9,10 +9,10 @@ import com.mortals.xhx.module.staff.service.StaffPerformStatService;
import lombok.extern.slf4j.Slf4j;
/**
* StaffPerformStatService
* 员工分数统计 service实现
* 员工绩效统计 service实现
*
* @author zxfei
* @date 2023-05-16
* @date 2023-05-17
*/
@Service("staffPerformStatService")
@Slf4j
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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