Commit 41c95b8e authored by 赵啸非's avatar 赵啸非

绩效业务代码初始提交

parent 81c0909f
......@@ -67,6 +67,24 @@ const router = new Router({
...restBuilder('attendance/vacation/balance', 'attendance/vacation/balance'),// 员工假期余额信息
...restBuilder('staff/perform/stat', 'staff/perform/stat'),//员工分数统计
...restBuilder('dept/perform/stat', 'dept/perform/stat'),//部门绩效分数统计
...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/dept', 'perform/perpose/dept'),//部门考核目标详细信息表
...restBuilder('perform/perpose', 'perform/perpose'),//考核目标表
...restBuilder('window/owner', 'window/owner'),//窗口负责人表
...restBuilder('perform/staff/conf/detail', 'perform/staff/conf/detail'),//人员考核内容详细信息表
...restBuilder('perform/staff/conf', 'perform/staff/conf'),//人员自动考核信息表
...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'),//绩效规则信息表
//以下为基础路由配置
builder('blank', 'blank'),
builder('', 'Home'),
......
<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="deptId" v-model="form.deptId" placeholder="请输入部门id号"/>
<Field label="部门名称" prop="deptName" v-model="form.deptName" placeholder="请输入部门名称"/>
<Field label="部门绩效总分数" prop="totalScore" v-model="form.totalScore" placeholder="请输入部门绩效总分数"/>
<Field label="考勤绩效指标增加分数" prop="attendScoreAdd" v-model="form.attendScoreAdd" placeholder="请输入考勤绩效指标增加分数"/>
<Field label="考勤绩效指标扣减分数" prop="attendScoreSub" v-model="form.attendScoreSub" placeholder="请输入考勤绩效指标扣减分数"/>
<Field label="评价绩效指标增加分数" prop="assessScoreAdd" v-model="form.assessScoreAdd" placeholder="请输入评价绩效指标增加分数"/>
<Field label="评价绩效指标扣减分数" prop="assessScoreSub" v-model="form.assessScoreSub" placeholder="请输入评价绩效指标扣减分数"/>
<Field label="办件绩效指标增加分数" prop="workScoreAdd" v-model="form.workScoreAdd" placeholder="请输入办件绩效指标增加分数"/>
<Field label="办件绩效指标扣减分数" prop="workScoreSub" v-model="form.workScoreSub" placeholder="请输入办件绩效指标扣减分数"/>
<Field label="效能绩效指标增加分数" prop="effectScoreAdd" v-model="form.effectScoreAdd" placeholder="请输入效能绩效指标增加分数"/>
<Field label="效能绩效指标扣减分数" prop="effectScoreSub" v-model="form.effectScoreSub" placeholder="请输入效能绩效指标扣减分数"/>
<Field label="其它绩效指标增加分数" prop="otherScoreAdd" v-model="form.otherScoreAdd" placeholder="请输入其它绩效指标增加分数"/>
<Field label="其它绩效指标扣减分数" prop="otherScoreSub" v-model="form.otherScoreSub" placeholder="请输入其它绩效指标扣减分数"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field label="年" prop="year" v-model="form.year" placeholder="请输入年"/>
<Field label="月" prop="month" v-model="form.month" type="select" :enumData="dict.month" placeholder="请选择月"/>
<Field label="日" prop="day" v-model="form.day" type="select" :enumData="dict.day" placeholder="请选择日"/>
</el-row>
<form-buttons @submit='submitForm' noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "DeptPerformStatDetail",
mixins: [form],
components: {
},
created() {
this.changePath("dept/perform/stat")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "部门绩效分数统计",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"month",
"day",
],
toDate:[
],
// 表单校验
rules: {
totalScore: [
{required: true,message: "请输入部门绩效总分数",trigger: "blur" },
],
year: [
{required: true,message: "请输入年", trigger: "blur" },
],
month: [
{required: true,message: "请输入月", trigger: "blur" },
],
day: [
{required: true,message: "请输入日", trigger: "blur" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="dept/perform/stat/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改部门绩效分数统计";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "dept/perform/stat/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增部门绩效分数统计";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="dept/perform/stat/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 = {
deptId : 0,
deptName : "",
totalScore : null,
attendScoreAdd : null,
attendScoreSub : null,
assessScoreAdd : null,
assessScoreSub : null,
workScoreAdd : null,
workScoreSub : null,
effectScoreAdd : null,
effectScoreSub : null,
otherScoreAdd : null,
otherScoreSub : null,
remark : "",
year : null,
month : null,
day : null,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "DeptPerformStatList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "部门名称", prop: "deptName"},
{label: "考勤绩效指标增加分数", prop: "attendScoreAdd", formatter: this.formatter},
{label: "考勤绩效指标扣减分数", prop: "attendScoreSub", formatter: this.formatter},
{label: "评价绩效指标增加分数", prop: "assessScoreAdd", formatter: this.formatter},
{label: "评价绩效指标扣减分数", prop: "assessScoreSub", formatter: this.formatter},
{label: "办件绩效指标增加分数", prop: "workScoreAdd", formatter: this.formatter},
{label: "办件绩效指标扣减分数", prop: "workScoreSub", formatter: this.formatter},
{label: "效能绩效指标增加分数", prop: "effectScoreAdd", formatter: this.formatter},
{label: "效能绩效指标扣减分数", prop: "effectScoreSub", formatter: this.formatter},
{label: "其它绩效指标增加分数", prop: "otherScoreAdd", formatter: this.formatter},
{label: "其它绩效指标扣减分数", prop: "otherScoreSub", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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.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">
{{form.totalScore}}
</el-descriptions-item>
<el-descriptions-item label="考勤绩效指标增加分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendScoreAdd}}
</el-descriptions-item>
<el-descriptions-item label="考勤绩效指标扣减分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendScoreSub}}
</el-descriptions-item>
<el-descriptions-item label="评价绩效指标增加分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.assessScoreAdd}}
</el-descriptions-item>
<el-descriptions-item label="评价绩效指标扣减分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.assessScoreSub}}
</el-descriptions-item>
<el-descriptions-item label="办件绩效指标增加分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.workScoreAdd}}
</el-descriptions-item>
<el-descriptions-item label="办件绩效指标扣减分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.workScoreSub}}
</el-descriptions-item>
<el-descriptions-item label="效能绩效指标增加分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.effectScoreAdd}}
</el-descriptions-item>
<el-descriptions-item label="效能绩效指标扣减分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.effectScoreSub}}
</el-descriptions-item>
<el-descriptions-item label="其它绩效指标增加分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.otherScoreAdd}}
</el-descriptions-item>
<el-descriptions-item label="其它绩效指标扣减分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.otherScoreSub}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
<el-descriptions-item label="年" label-class-name="labelClass" content-class-name="contentClass">
{{form.year}}
</el-descriptions-item>
<el-descriptions-item label="月" label-class-name="labelClass" content-class-name="contentClass">
{{form.month}}
</el-descriptions-item>
<el-descriptions-item label="日" label-class-name="labelClass" content-class-name="contentClass">
{{form.day}}
</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:[
"month",
"day",
],
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="deptId" v-model="form.deptId" placeholder="请输入所属部门"/>
<Field label="所属部门名称" prop="deptName" v-model="form.deptName" placeholder="请输入所属部门名称"/>
<Field label="职位ID" prop="positionId" v-model="form.positionId" placeholder="请输入职位ID"/>
<Field label="职位名称" prop="positionName" v-model="form.positionName" placeholder="请输入职位名称"/>
<Field label="所属考勤组ID" prop="attendanceGroupId" v-model="form.attendanceGroupId" placeholder="请输入所属考勤组ID"/>
<Field label="所属考勤组名称" prop="attendanceGroupName" v-model="form.attendanceGroupName" placeholder="请输入所属考勤组名称"/>
<Field label="班次ID" prop="shiftsId" v-model="form.shiftsId" placeholder="请输入班次ID"/>
<Field label="班次名称" prop="shiftsName" v-model="form.shiftsName" placeholder="请输入班次名称"/>
<Field label="考勤时间" prop="attendanceDate" v-model="form.attendanceDate" type="date" />
<Field label="绩效规则id" prop="ruleId" v-model="form.ruleId" placeholder="请输入绩效规则id"/>
<Field label="规则名称" prop="ruleName" v-model="form.ruleName" placeholder="请输入规则名称"/>
<Field label="增减类型" prop="subAddType" v-model="form.subAddType" type="select" :enumData="dict.subAddType" placeholder="请选择增减类型"/>
<Field label="扣分或增加分值" prop="score" v-model="form.score" 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: "PerformAttendRecordDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/attend/record")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "考勤绩效记录信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"subAddType",
],
toDate:[
"attendanceDate",
],
// 表单校验
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/attend/record/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改考勤绩效记录信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/attend/record/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增考勤绩效记录信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/attend/record/view";
this.getData();
this.pageInfo.type="view"
this.title = "考勤绩效记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
deptId : null,
deptName : "",
positionId : null,
positionName : "",
attendanceGroupId : null,
attendanceGroupName : "",
shiftsId : null,
shiftsName : "",
attendanceDate : null,
ruleId : null,
ruleName : "",
subAddType : 1,
score : 0.00,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "PerformAttendRecordList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "员工姓名", prop: "staffName"},
{label: "考勤时间", prop: "attendanceDate", formatter: this.formatterDate},
{label: "增减类型", prop: "subAddType",formatter: this.formatter},
{label: "扣分或增加分值", prop: "score", formatter: this.formatter},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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.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="职位ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.positionId}}
</el-descriptions-item>
<el-descriptions-item label="职位名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.positionName}}
</el-descriptions-item>
<el-descriptions-item label="所属考勤组ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendanceGroupId}}
</el-descriptions-item>
<el-descriptions-item label="所属考勤组名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendanceGroupName}}
</el-descriptions-item>
<el-descriptions-item label="班次ID" label-class-name="labelClass" content-class-name="contentClass">
{{form.shiftsId}}
</el-descriptions-item>
<el-descriptions-item label="班次名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.shiftsName}}
</el-descriptions-item>
<el-descriptions-item label="考勤时间" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatterDate(form.attendanceDate)}}
</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">
{{ util_formatters("subAddType", form.subAddType) }}
</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">
{{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:[
"subAddType",
],
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="deptConfId" v-model="form.deptConfId" placeholder="请输入自动配置id"/>
<Field label="绩效规则id" prop="ruleId" v-model="form.ruleId" placeholder="请输入绩效规则id"/>
<Field label="规则简称" prop="ruleName" v-model="form.ruleName" placeholder="请输入规则简称"/>
<Field label="部门id" prop="deptId" v-model="form.deptId" placeholder="请输入部门id"/>
<Field label="部门名称" prop="deptName" v-model="form.deptName" type="textarea" placeholder="请输入部门名称"/>
<Field label="分类名称" prop="categoryName" v-model="form.categoryName" placeholder="请输入分类名称"/>
<Field label="规则类型" prop="type" v-model="form.type" type="select" :enumData="dict.type" placeholder="请选择规则类型"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field label="是否启用规则" prop="enable" v-model="form.enable" type="select" :enumData="dict.enable" placeholder="请选择是否启用规则"/>
</el-row>
<form-buttons @submit='submitForm' noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformDeptConfDetailDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/dept/conf/detail")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "部门考核内容详细信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"type",
"enable",
],
toDate:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/dept/conf/detail/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改部门考核内容详细信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/dept/conf/detail/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增部门考核内容详细信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/dept/conf/detail/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 = {
deptConfId : null,
ruleId : null,
ruleName : "",
deptId : null,
deptName : "",
categoryName : "",
type : 1,
remark : "",
enable : 1,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "PerformDeptConfDetailList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "自动配置id", prop: "deptConfId", formatter: this.formatter},
{label: "绩效规则id", prop: "ruleId", formatter: this.formatter},
{label: "规则简称", prop: "ruleName"},
{label: "部门id", prop: "deptId", formatter: this.formatter},
{label: "部门名称", prop: "deptName"},
{label: "分类名称", prop: "categoryName"},
{label: "规则类型", prop: "type",formatter: this.formatter},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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.deptConfId}}
</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="部门id" 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">
{{form.categoryName}}
</el-descriptions-item>
<el-descriptions-item label="规则类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("type", form.type) }}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
<el-descriptions-item label="是否启用规则" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("enable", form.enable) }}
</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:[
"type",
"enable",
],
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="deptId" v-model="form.deptId" placeholder="请输入部门id"/>
<Field label="部门名称" prop="deptName" v-model="form.deptName" type="textarea" placeholder="请输入部门名称"/>
<Field label="考勤绩效指标数量" prop="attendCount" v-model="form.attendCount" placeholder="请输入考勤绩效指标数量"/>
<Field label="评价绩效指标数量" prop="assessCount" v-model="form.assessCount" placeholder="请输入评价绩效指标数量"/>
<Field label="办件绩效指标数量" prop="workCount" v-model="form.workCount" placeholder="请输入办件绩效指标数量"/>
<Field label="效能绩效指标数量" prop="effectCount" v-model="form.effectCount" placeholder="请输入效能绩效指标数量"/>
<Field label="其它绩效指标数量" prop="otherCount" v-model="form.otherCount" placeholder="请输入其它绩效指标数量"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
<form-buttons @submit='submitForm' noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformDeptConfDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/dept/conf")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "部门自动考核信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/dept/conf/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改部门自动考核信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/dept/conf/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增部门自动考核信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/dept/conf/view";
this.getData();
this.pageInfo.type="view"
this.title = "部门自动考核信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
deptId : null,
deptName : "",
attendCount : null,
assessCount : null,
workCount : null,
effectCount : null,
otherCount : null,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "PerformDeptConfList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "部门id", prop: "deptId", formatter: this.formatter},
{label: "部门名称", prop: "deptName"},
{label: "考勤绩效指标数量", prop: "attendCount",formatter: this.formatter},
{label: "评价绩效指标数量", prop: "assessCount",formatter: this.formatter},
{label: "办件绩效指标数量", prop: "workCount",formatter: this.formatter},
{label: "效能绩效指标数量", prop: "effectCount",formatter: this.formatter},
{label: "其它绩效指标数量", prop: "otherCount",formatter: this.formatter},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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.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">
{{form.attendCount}}
</el-descriptions-item>
<el-descriptions-item label="评价绩效指标数量" label-class-name="labelClass" content-class-name="contentClass">
{{form.assessCount}}
</el-descriptions-item>
<el-descriptions-item label="办件绩效指标数量" label-class-name="labelClass" content-class-name="contentClass">
{{form.workCount}}
</el-descriptions-item>
<el-descriptions-item label="效能绩效指标数量" label-class-name="labelClass" content-class-name="contentClass">
{{form.effectCount}}
</el-descriptions-item>
<el-descriptions-item label="其它绩效指标数量" label-class-name="labelClass" content-class-name="contentClass">
{{form.otherCount}}
</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:[
],
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="purposeConfId" v-model="form.purposeConfId" placeholder="请输入考核目标id"/>
<Field label="部门id" prop="deptId" v-model="form.deptId" placeholder="请输入部门id"/>
<Field label="部门名称" prop="deptName" v-model="form.deptName" type="textarea" 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: "PerformPerposeDeptDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/perpose/dept")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "部门考核目标详细信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { Id: row.Id };
this.urls.currUrl ="perform/perpose/dept/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改部门考核目标详细信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/perpose/dept/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增部门考核目标详细信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { Id: row.Id };
this.urls.currUrl ="perform/perpose/dept/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 = {
purposeConfId : null,
deptId : null,
deptName : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "PerformPerposeDeptList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "考核目标id", prop: "purposeConfId", formatter: this.formatter},
{label: "部门id", prop: "deptId", formatter: this.formatter},
{label: "部门名称", prop: "deptName"},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="部门id号" prop="deptId" v-model="form.deptId" placeholder="请输入部门id号"/>
<Field label="部门名称" prop="deptName" v-model="form.deptName" placeholder="请输入部门名称"/>
<Field label="旷工率" prop="absentRate" v-model="form.absentRate" placeholder="请输入旷工率"/>
<Field label="缺卡率" prop="absenceRate" v-model="form.absenceRate" placeholder="请输入缺卡率"/>
<Field label="迟到率" prop="lateRate" v-model="form.lateRate" placeholder="请输入迟到率"/>
<Field label="早退率" prop="earlyRate" v-model="form.earlyRate" placeholder="请输入早退率"/>
<Field label="请假率" prop="leaveRate" v-model="form.leaveRate" placeholder="请输入请假率"/>
<Field label="离岗率" prop="turnoverRate" v-model="form.turnoverRate" placeholder="请输入离岗率"/>
<Field label="睡觉率" prop="sleepRate" v-model="form.sleepRate" placeholder="请输入睡觉率"/>
<Field label="玩手机率" prop="playPhoneRate" v-model="form.playPhoneRate" placeholder="请输入玩手机率"/>
<Field label="办件超期率" prop="expireWorkRate" v-model="form.expireWorkRate" placeholder="请输入办件超期率"/>
<Field label="差评率" prop="negaReviewRate" v-model="form.negaReviewRate" placeholder="请输入差评率"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field label="年" prop="year" v-model="form.year" placeholder="请输入年"/>
<Field label="月" prop="month" v-model="form.month" type="select" :enumData="dict.month" placeholder="请选择月"/>
<Field label="日" prop="day" v-model="form.day" type="select" :enumData="dict.day" placeholder="请选择日"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "部门目标统计",
// 是否显示弹出层
open: false,
toString:[
"month",
"day",
],
// 表单校验
rules: {
year: [
{required: true,message: "请输入年", trigger: "blur" },
],
month: [
{required: true,message: "请输入月", trigger: "blur" },
],
day: [
{required: true,message: "请输入日", trigger: "blur" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/perpose/dept/stat/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改部门目标统计";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/perpose/dept/stat/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增部门目标统计";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/perpose/dept/stat/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 = {
deptId : 0,
deptName : "",
absentRate : 0.00,
absenceRate : 0.00,
lateRate : 0.00,
earlyRate : 0.00,
leaveRate : 0.00,
turnoverRate : 0.00,
sleepRate : 0.00,
playPhoneRate : 0.00,
expireWorkRate : 0.00,
negaReviewRate : 0.00,
remark : "",
year : null,
month : null,
day : null,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "PerformPerposeDeptStatList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "部门名称", prop: "deptName"},
{label: "旷工率", prop: "absentRate", formatter: this.formatter},
{label: "缺卡率", prop: "absenceRate", formatter: this.formatter},
{label: "迟到率", prop: "lateRate", formatter: this.formatter},
{label: "早退率", prop: "earlyRate", formatter: this.formatter},
{label: "请假率", prop: "leaveRate", formatter: this.formatter},
{label: "离岗率", prop: "turnoverRate", formatter: this.formatter},
{label: "睡觉率", prop: "sleepRate", formatter: this.formatter},
{label: "玩手机率", prop: "playPhoneRate", formatter: this.formatter},
{label: "办件超期率", prop: "expireWorkRate", formatter: this.formatter},
{label: "差评率", prop: "negaReviewRate", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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.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">
{{form.absentRate}}
</el-descriptions-item>
<el-descriptions-item label="缺卡率" label-class-name="labelClass" content-class-name="contentClass">
{{form.absenceRate}}
</el-descriptions-item>
<el-descriptions-item label="迟到率" label-class-name="labelClass" content-class-name="contentClass">
{{form.lateRate}}
</el-descriptions-item>
<el-descriptions-item label="早退率" label-class-name="labelClass" content-class-name="contentClass">
{{form.earlyRate}}
</el-descriptions-item>
<el-descriptions-item label="请假率" label-class-name="labelClass" content-class-name="contentClass">
{{form.leaveRate}}
</el-descriptions-item>
<el-descriptions-item label="离岗率" label-class-name="labelClass" content-class-name="contentClass">
{{form.turnoverRate}}
</el-descriptions-item>
<el-descriptions-item label="睡觉率" label-class-name="labelClass" content-class-name="contentClass">
{{form.sleepRate}}
</el-descriptions-item>
<el-descriptions-item label="玩手机率" label-class-name="labelClass" content-class-name="contentClass">
{{form.playPhoneRate}}
</el-descriptions-item>
<el-descriptions-item label="办件超期率" label-class-name="labelClass" content-class-name="contentClass">
{{form.expireWorkRate}}
</el-descriptions-item>
<el-descriptions-item label="差评率" label-class-name="labelClass" content-class-name="contentClass">
{{form.negaReviewRate}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
<el-descriptions-item label="年" label-class-name="labelClass" content-class-name="contentClass">
{{form.year}}
</el-descriptions-item>
<el-descriptions-item label="月" label-class-name="labelClass" content-class-name="contentClass">
{{form.month}}
</el-descriptions-item>
<el-descriptions-item label="日" label-class-name="labelClass" content-class-name="contentClass">
{{form.day}}
</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:[
"month",
"day",
],
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>
<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.purposeConfId}}
</el-descriptions-item>
<el-descriptions-item label="部门id" 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">
{{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:[
],
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-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="负责人id号" prop="ownerId" v-model="form.ownerId" placeholder="请输入负责人id号"/>
<Field label="负责人名称" prop="ownerName" v-model="form.ownerName" placeholder="请输入负责人名称"/>
<Field label="窗口工作人员id号" prop="staffId" v-model="form.staffId" placeholder="请输入窗口工作人员id号"/>
<Field label="请假类型" prop="assessmentType" v-model="form.assessmentType" type="select" :enumData="dict.assessmentType" placeholder="请选择请假类型"/>
<Field label="考核范围" prop="assessmentScope" v-model="form.assessmentScope" type="select" :enumData="dict.assessmentScope" placeholder="请选择考核范围"/>
<Field label="考比较类型" prop="compareScope" v-model="form.compareScope" type="select" :enumData="dict.compareScope" placeholder="请选择考比较类型"/>
<Field label="比例" prop="ratio" v-model="form.ratio" placeholder="请输入比例"/>
<Field label="周期类型" prop="periodType" v-model="form.periodType" type="select" :enumData="dict.periodType" placeholder="请选择周期类型"/>
<Field label="年" prop="year" v-model="form.year" placeholder="请输入年"/>
<Field label="月" prop="month" v-model="form.month" type="select" :enumData="dict.month" placeholder="请选择月"/>
<Field label="半年类型" prop="halfYear" v-model="form.halfYear" type="select" :enumData="dict.halfYear" placeholder="请选择半年类型"/>
<Field label="半年类型" prop="halfYear" v-model="form.halfYear" type="select" :enumData="dict.halfYear" placeholder="请选择半年类型"/>
<Field label="季度类型" prop="quarter" v-model="form.quarter" type="select" :enumData="dict.quarter" placeholder="请选择季度类型"/>
<Field label="负责人,多个逗号分割" prop="leaders" v-model="form.leaders" type="textarea" placeholder="请输入负责人,多个逗号分割"/>
<Field label="负责人电话,多个逗号分割" prop="leaderMobiles" v-model="form.leaderMobiles" type="textarea" placeholder="请输入负责人电话,多个逗号分割"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "考核目标",
// 是否显示弹出层
open: false,
toString:[
"assessmentType",
"assessmentScope",
"compareScope",
"periodType",
"month",
"halfYear",
"halfYear",
"quarter",
],
// 表单校验
rules: {
year: [
{required: true,message: "请输入年", trigger: "blur" },
],
month: [
{required: true,message: "请输入月", trigger: "blur" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/perpose/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改考核目标";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/perpose/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增考核目标";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/perpose/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 = {
ownerId : null,
ownerName : "",
staffId : null,
assessmentType : null,
assessmentScope : 1,
compareScope : 1,
ratio : 0.00,
periodType : 1,
year : null,
month : null,
halfYear : 1,
halfYear : 1,
quarter : 1,
leaders : "",
leaderMobiles : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "PerformPerposeList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "负责人名称", prop: "ownerName"},
{label: "请假类型", prop: "assessmentType",formatter: this.formatter},
{label: "比例", prop: "ratio", formatter: this.formatter},
{label: "创建时间", prop: "createTime", formatter: this.formatterDate},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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="purposeConfId" v-model="form.purposeConfId" placeholder="请输入考核目标id"/>
<Field label="员工id" prop="staffId" v-model="form.staffId" placeholder="请输入员工id"/>
<Field label="员工名称" prop="staffName" v-model="form.staffName" type="textarea" placeholder="请输入员工名称"/>
<Field label="工号" prop="number" v-model="form.number" 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: "PerformPerposeStaffDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/perpose/staff")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "员工考核目标详细信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { Id: row.Id };
this.urls.currUrl ="perform/perpose/staff/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改员工考核目标详细信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/perpose/staff/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增员工考核目标详细信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { Id: row.Id };
this.urls.currUrl ="perform/perpose/staff/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 = {
purposeConfId : null,
staffId : null,
staffName : "",
number : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "PerformPerposeStaffList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "考核目标id", prop: "purposeConfId", formatter: this.formatter},
{label: "员工id", prop: "staffId", formatter: this.formatter},
{label: "员工名称", prop: "staffName"},
{label: "工号", prop: "number"},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<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="number" v-model="form.number" placeholder="请输入员工工号"/>
<Field label="旷工率" prop="absentRate" v-model="form.absentRate" placeholder="请输入旷工率"/>
<Field label="缺卡率" prop="absenceRate" v-model="form.absenceRate" placeholder="请输入缺卡率"/>
<Field label="迟到率" prop="lateRate" v-model="form.lateRate" placeholder="请输入迟到率"/>
<Field label="早退率" prop="earlyRate" v-model="form.earlyRate" placeholder="请输入早退率"/>
<Field label="请假率" prop="leaveRate" v-model="form.leaveRate" placeholder="请输入请假率"/>
<Field label="离岗率" prop="turnoverRate" v-model="form.turnoverRate" placeholder="请输入离岗率"/>
<Field label="睡觉率" prop="sleepRate" v-model="form.sleepRate" placeholder="请输入睡觉率"/>
<Field label="玩手机率" prop="playPhoneRate" v-model="form.playPhoneRate" placeholder="请输入玩手机率"/>
<Field label="办件超期率" prop="expireWorkRate" v-model="form.expireWorkRate" placeholder="请输入办件超期率"/>
<Field label="差评率" prop="negaReviewRate" v-model="form.negaReviewRate" placeholder="请输入差评率"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field label="年" prop="year" v-model="form.year" placeholder="请输入年"/>
<Field label="月" prop="month" v-model="form.month" type="select" :enumData="dict.month" placeholder="请选择月"/>
<Field label="日" prop="day" v-model="form.day" type="select" :enumData="dict.day" placeholder="请选择日"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "员工目标统计",
// 是否显示弹出层
open: false,
toString:[
"month",
"day",
],
// 表单校验
rules: {
year: [
{required: true,message: "请输入年", trigger: "blur" },
],
month: [
{required: true,message: "请输入月", trigger: "blur" },
],
day: [
{required: true,message: "请输入日", trigger: "blur" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/perpose/staff/stat/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改员工目标统计";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/perpose/staff/stat/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增员工目标统计";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/perpose/staff/stat/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 : 0,
staffName : "",
number : "",
absentRate : 0.00,
absenceRate : 0.00,
lateRate : 0.00,
earlyRate : 0.00,
leaveRate : 0.00,
turnoverRate : 0.00,
sleepRate : 0.00,
playPhoneRate : 0.00,
expireWorkRate : 0.00,
negaReviewRate : 0.00,
remark : "",
year : null,
month : null,
day : null,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "PerformPerposeStaffStatList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "员工名称", prop: "staffName"},
{label: "员工工号", prop: "number"},
{label: "旷工率", prop: "absentRate", formatter: this.formatter},
{label: "缺卡率", prop: "absenceRate", formatter: this.formatter},
{label: "迟到率", prop: "lateRate", formatter: this.formatter},
{label: "早退率", prop: "earlyRate", formatter: this.formatter},
{label: "请假率", prop: "leaveRate", formatter: this.formatter},
{label: "离岗率", prop: "turnoverRate", formatter: this.formatter},
{label: "睡觉率", prop: "sleepRate", formatter: this.formatter},
{label: "玩手机率", prop: "playPhoneRate", formatter: this.formatter},
{label: "办件超期率", prop: "expireWorkRate", formatter: this.formatter},
{label: "差评率", prop: "negaReviewRate", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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.number}}
</el-descriptions-item>
<el-descriptions-item label="旷工率" label-class-name="labelClass" content-class-name="contentClass">
{{form.absentRate}}
</el-descriptions-item>
<el-descriptions-item label="缺卡率" label-class-name="labelClass" content-class-name="contentClass">
{{form.absenceRate}}
</el-descriptions-item>
<el-descriptions-item label="迟到率" label-class-name="labelClass" content-class-name="contentClass">
{{form.lateRate}}
</el-descriptions-item>
<el-descriptions-item label="早退率" label-class-name="labelClass" content-class-name="contentClass">
{{form.earlyRate}}
</el-descriptions-item>
<el-descriptions-item label="请假率" label-class-name="labelClass" content-class-name="contentClass">
{{form.leaveRate}}
</el-descriptions-item>
<el-descriptions-item label="离岗率" label-class-name="labelClass" content-class-name="contentClass">
{{form.turnoverRate}}
</el-descriptions-item>
<el-descriptions-item label="睡觉率" label-class-name="labelClass" content-class-name="contentClass">
{{form.sleepRate}}
</el-descriptions-item>
<el-descriptions-item label="玩手机率" label-class-name="labelClass" content-class-name="contentClass">
{{form.playPhoneRate}}
</el-descriptions-item>
<el-descriptions-item label="办件超期率" label-class-name="labelClass" content-class-name="contentClass">
{{form.expireWorkRate}}
</el-descriptions-item>
<el-descriptions-item label="差评率" label-class-name="labelClass" content-class-name="contentClass">
{{form.negaReviewRate}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
<el-descriptions-item label="年" label-class-name="labelClass" content-class-name="contentClass">
{{form.year}}
</el-descriptions-item>
<el-descriptions-item label="月" label-class-name="labelClass" content-class-name="contentClass">
{{form.month}}
</el-descriptions-item>
<el-descriptions-item label="日" label-class-name="labelClass" content-class-name="contentClass">
{{form.day}}
</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:[
"month",
"day",
],
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>
<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.purposeConfId}}
</el-descriptions-item>
<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.number}}
</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:[
],
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>
<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.ownerId}}
</el-descriptions-item>
<el-descriptions-item label="负责人名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.ownerName}}
</el-descriptions-item>
<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">
{{ util_formatters("assessmentType", form.assessmentType) }}
</el-descriptions-item>
<el-descriptions-item label="考核范围" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("assessmentScope", form.assessmentScope) }}
</el-descriptions-item>
<el-descriptions-item label="考比较类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("compareScope", form.compareScope) }}
</el-descriptions-item>
<el-descriptions-item label="比例" label-class-name="labelClass" content-class-name="contentClass">
{{form.ratio}}
</el-descriptions-item>
<el-descriptions-item label="周期类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("periodType", form.periodType) }}
</el-descriptions-item>
<el-descriptions-item label="年" label-class-name="labelClass" content-class-name="contentClass">
{{form.year}}
</el-descriptions-item>
<el-descriptions-item label="月" label-class-name="labelClass" content-class-name="contentClass">
{{form.month}}
</el-descriptions-item>
<el-descriptions-item label="半年类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("halfYear", form.halfYear) }}
</el-descriptions-item>
<el-descriptions-item label="半年类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("halfYear", form.halfYear) }}
</el-descriptions-item>
<el-descriptions-item label="季度类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("quarter", form.quarter) }}
</el-descriptions-item>
<el-descriptions-item label="负责人,多个逗号分割" label-class-name="labelClass" content-class-name="contentClass">
{{form.leaders}}
</el-descriptions-item>
<el-descriptions-item label="负责人电话,多个逗号分割" label-class-name="labelClass" content-class-name="contentClass">
{{form.leaderMobiles}}
</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:[
"assessmentType",
"assessmentScope",
"compareScope",
"periodType",
"month",
"halfYear",
"halfYear",
"quarter",
],
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-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="绩效规则id" prop="ruleId" v-model="form.ruleId" placeholder="请输入绩效规则id"/>
<Field label="规则简称" prop="ruleBrief" v-model="form.ruleBrief" placeholder="请输入规则简称"/>
<Field label="分类名称" prop="name" v-model="form.name" placeholder="请输入分类名称"/>
<Field label="规则类型" prop="type" v-model="form.type" type="select" :enumData="dict.type" placeholder="请选择规则类型"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "绩效规则分类信息",
// 是否显示弹出层
open: false,
toString:[
"type",
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/rules/category/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改绩效规则分类信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/rules/category/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增绩效规则分类信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/rules/category/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 = {
ruleId : null,
ruleBrief : "",
name : "",
type : 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">
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
export default {
name: "PerformRulesCategoryList",
components: {
dialogShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "绩效规则id", prop: "ruleId", formatter: this.formatter},
{label: "规则简称", prop: "ruleBrief"},
{label: "分类名称", prop: "name"},
{label: "规则类型", prop: "type",formatter: this.formatter},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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.ruleId}}
</el-descriptions-item>
<el-descriptions-item label="规则简称" label-class-name="labelClass" content-class-name="contentClass">
{{form.ruleBrief}}
</el-descriptions-item>
<el-descriptions-item label="分类名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.name}}
</el-descriptions-item>
<el-descriptions-item label="规则类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("type", form.type) }}
</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:[
"type",
],
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="categoryId" v-model="form.categoryId" placeholder="请输入分类id"/>
<Field label="分类名称" prop="categoryName" v-model="form.categoryName" placeholder="请输入分类名称"/>
<Field label="考核内容简称" prop="name" v-model="form.name" placeholder="请输入考核内容简称"/>
<Field label="评分标准" prop="content" v-model="form.content" type="textarea" placeholder="请输入评分标准"/>
<Field label="增减类型" prop="subAddType" v-model="form.subAddType" type="select" :enumData="dict.subAddType" placeholder="请选择增减类型"/>
<Field label="扣分或增加分值" prop="score" v-model="form.score" placeholder="请输入扣分或增加分值"/>
<Field label="是否关联负责人" prop="assoOwner" v-model="form.assoOwner" type="select" :enumData="dict.assoOwner" placeholder="请选择是否关联负责人"/>
<Field label="负责人扣分或增加分值" prop="ownerScore" v-model="form.ownerScore" placeholder="请输入负责人扣分或增加分值"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field label="规则类型" prop="type" v-model="form.type" type="select" :enumData="dict.type" placeholder="请选择规则类型"/>
</el-row>
<form-buttons @submit='submitForm' noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformRulesDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/rules")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "绩效规则信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"subAddType",
"assoOwner",
"type",
],
toDate:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/rules/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改绩效规则信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/rules/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增绩效规则信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/rules/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 = {
categoryId : null,
categoryName : "",
name : "",
content : "",
subAddType : 1,
score : 0.00,
assoOwner : 0,
ownerScore : 0.00,
remark : "",
type : 1,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "PerformRulesList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "分类id", prop: "categoryId", formatter: this.formatter},
{label: "分类名称", prop: "categoryName"},
{label: "考核内容简称", prop: "name"},
{label: "评分标准", prop: "content"},
{label: "增减类型", prop: "subAddType",formatter: this.formatter},
{label: "扣分或增加分值", prop: "score", formatter: this.formatter},
{label: "负责人扣分或增加分值", prop: "ownerScore", formatter: this.formatter},
{label: "规则类型", prop: "type",formatter: this.formatter},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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.categoryId}}
</el-descriptions-item>
<el-descriptions-item label="分类名称" label-class-name="labelClass" content-class-name="contentClass">
{{form.categoryName}}
</el-descriptions-item>
<el-descriptions-item label="考核内容简称" label-class-name="labelClass" content-class-name="contentClass">
{{form.name}}
</el-descriptions-item>
<el-descriptions-item label="评分标准" label-class-name="labelClass" content-class-name="contentClass">
{{form.content}}
</el-descriptions-item>
<el-descriptions-item label="增减类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("subAddType", form.subAddType) }}
</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("assoOwner", form.assoOwner) }}
</el-descriptions-item>
<el-descriptions-item label="负责人扣分或增加分值" label-class-name="labelClass" content-class-name="contentClass">
{{form.ownerScore}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
<el-descriptions-item label="规则类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("type", form.type) }}
</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:[
"subAddType",
"assoOwner",
"type",
],
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="staffConfId" v-model="form.staffConfId" placeholder="请输入人员自动考核配置id"/>
<Field label="绩效规则id" prop="ruleId" v-model="form.ruleId" placeholder="请输入绩效规则id"/>
<Field label="规则简称" prop="ruleName" v-model="form.ruleName" placeholder="请输入规则简称"/>
<Field label="部门id" prop="staffId" v-model="form.staffId" placeholder="请输入部门id"/>
<Field label="部门名称" prop="staffName" v-model="form.staffName" type="textarea" placeholder="请输入部门名称"/>
<Field label="分类名称" prop="categoryName" v-model="form.categoryName" placeholder="请输入分类名称"/>
<Field label="规则类型" prop="type" v-model="form.type" type="select" :enumData="dict.type" placeholder="请选择规则类型"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field label="是否启用规则" prop="enable" v-model="form.enable" type="select" :enumData="dict.enable" placeholder="请选择是否启用规则"/>
</el-row>
<form-buttons @submit='submitForm' noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformStaffConfDetailDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/staff/conf/detail")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "人员考核内容详细信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"type",
"enable",
],
toDate:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/staff/conf/detail/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改人员考核内容详细信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/staff/conf/detail/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增人员考核内容详细信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/staff/conf/detail/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 = {
staffConfId : null,
ruleId : null,
ruleName : "",
staffId : null,
staffName : "",
categoryName : "",
type : 1,
remark : "",
enable : 1,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "PerformStaffConfDetailList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "人员自动考核配置id", prop: "staffConfId", formatter: this.formatter},
{label: "绩效规则id", prop: "ruleId", formatter: this.formatter},
{label: "规则简称", prop: "ruleName"},
{label: "部门id", prop: "staffId", formatter: this.formatter},
{label: "部门名称", prop: "staffName"},
{label: "分类名称", prop: "categoryName"},
{label: "规则类型", prop: "type",formatter: this.formatter},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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.staffConfId}}
</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="部门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.categoryName}}
</el-descriptions-item>
<el-descriptions-item label="规则类型" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("type", form.type) }}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
<el-descriptions-item label="是否启用规则" label-class-name="labelClass" content-class-name="contentClass">
{{ util_formatters("enable", form.enable) }}
</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:[
"type",
"enable",
],
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="人员ids,多个","分割" prop="staffIds" v-model="form.staffIds" type="textarea" placeholder="请输入人员ids,多个","分割"/>
<Field label="人员名称nams,多个","逗号分割" prop="staffNames" v-model="form.staffNames" type="textarea" placeholder="请输入人员名称nams,多个","逗号分割"/>
<Field label="考核人总数" prop="staffCount" v-model="form.staffCount" placeholder="请输入考核人总数"/>
<Field label="考勤绩效指标数量" prop="attendCount" v-model="form.attendCount" placeholder="请输入考勤绩效指标数量"/>
<Field label="评价绩效指标数量" prop="assessCount" v-model="form.assessCount" placeholder="请输入评价绩效指标数量"/>
<Field label="办件绩效指标数量" prop="workCount" v-model="form.workCount" placeholder="请输入办件绩效指标数量"/>
<Field label="效能绩效指标数量" prop="effectCount" v-model="form.effectCount" placeholder="请输入效能绩效指标数量"/>
<Field label="其它绩效指标数量" prop="otherCount" v-model="form.otherCount" placeholder="请输入其它绩效指标数量"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
<form-buttons @submit='submitForm' noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "PerformStaffConfDetail",
mixins: [form],
components: {
},
created() {
this.changePath("perform/staff/conf")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "人员自动考核信息",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/staff/conf/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改人员自动考核信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "perform/staff/conf/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增人员自动考核信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="perform/staff/conf/view";
this.getData();
this.pageInfo.type="view"
this.title = "人员自动考核信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
staffIds : "",
staffNames : "",
staffCount : null,
attendCount : null,
assessCount : null,
workCount : null,
effectCount : null,
otherCount : null,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "PerformStaffConfList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "人员ids,多个","分割", prop: "staffIds"},
{label: "人员名称nams,多个","逗号分割", prop: "staffNames"},
{label: "考核人总数", prop: "staffCount",formatter: this.formatter},
{label: "考勤绩效指标数量", prop: "attendCount",formatter: this.formatter},
{label: "评价绩效指标数量", prop: "assessCount",formatter: this.formatter},
{label: "办件绩效指标数量", prop: "workCount",formatter: this.formatter},
{label: "效能绩效指标数量", prop: "effectCount",formatter: this.formatter},
{label: "其它绩效指标数量", prop: "otherCount",formatter: this.formatter},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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="人员ids,多个","分割" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffIds}}
</el-descriptions-item>
<el-descriptions-item label="人员名称nams,多个","逗号分割" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffNames}}
</el-descriptions-item>
<el-descriptions-item label="考核人总数" label-class-name="labelClass" content-class-name="contentClass">
{{form.staffCount}}
</el-descriptions-item>
<el-descriptions-item label="考勤绩效指标数量" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendCount}}
</el-descriptions-item>
<el-descriptions-item label="评价绩效指标数量" label-class-name="labelClass" content-class-name="contentClass">
{{form.assessCount}}
</el-descriptions-item>
<el-descriptions-item label="办件绩效指标数量" label-class-name="labelClass" content-class-name="contentClass">
{{form.workCount}}
</el-descriptions-item>
<el-descriptions-item label="效能绩效指标数量" label-class-name="labelClass" content-class-name="contentClass">
{{form.effectCount}}
</el-descriptions-item>
<el-descriptions-item label="其它绩效指标数量" label-class-name="labelClass" content-class-name="contentClass">
{{form.otherCount}}
</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:[
],
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="deptId" v-model="form.deptId" placeholder="请输入部门id号"/>
<Field label="部门名称" prop="deptName" v-model="form.deptName" placeholder="请输入部门名称"/>
<Field label="部门绩效总分数" prop="totalScore" v-model="form.totalScore" placeholder="请输入部门绩效总分数"/>
<Field label="考勤绩效指标增加分数" prop="attendScoreAdd" v-model="form.attendScoreAdd" placeholder="请输入考勤绩效指标增加分数"/>
<Field label="考勤绩效指标扣减分数" prop="attendScoreSub" v-model="form.attendScoreSub" placeholder="请输入考勤绩效指标扣减分数"/>
<Field label="评价绩效指标增加分数" prop="assessScoreAdd" v-model="form.assessScoreAdd" placeholder="请输入评价绩效指标增加分数"/>
<Field label="评价绩效指标扣减分数" prop="assessScoreSub" v-model="form.assessScoreSub" placeholder="请输入评价绩效指标扣减分数"/>
<Field label="办件绩效指标增加分数" prop="workScoreAdd" v-model="form.workScoreAdd" placeholder="请输入办件绩效指标增加分数"/>
<Field label="办件绩效指标扣减分数" prop="workScoreSub" v-model="form.workScoreSub" placeholder="请输入办件绩效指标扣减分数"/>
<Field label="效能绩效指标增加分数" prop="effectScoreAdd" v-model="form.effectScoreAdd" placeholder="请输入效能绩效指标增加分数"/>
<Field label="效能绩效指标扣减分数" prop="effectScoreSub" v-model="form.effectScoreSub" placeholder="请输入效能绩效指标扣减分数"/>
<Field label="其它绩效指标增加分数" prop="otherScoreAdd" v-model="form.otherScoreAdd" placeholder="请输入其它绩效指标增加分数"/>
<Field label="其它绩效指标扣减分数" prop="otherScoreSub" v-model="form.otherScoreSub" placeholder="请输入其它绩效指标扣减分数"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field label="年" prop="year" v-model="form.year" placeholder="请输入年"/>
<Field label="月" prop="month" v-model="form.month" type="select" :enumData="dict.month" placeholder="请选择月"/>
<Field label="日" prop="day" v-model="form.day" type="select" :enumData="dict.day" placeholder="请选择日"/>
</el-row>
<form-buttons @submit='submitForm' noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "StaffPerformStatDetail",
mixins: [form],
components: {
},
created() {
this.changePath("staff/perform/stat")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "员工分数统计",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
"month",
"day",
],
toDate:[
],
// 表单校验
rules: {
totalScore: [
{required: true,message: "请输入部门绩效总分数",trigger: "blur" },
],
year: [
{required: true,message: "请输入年", trigger: "blur" },
],
month: [
{required: true,message: "请输入月", trigger: "blur" },
],
day: [
{required: true,message: "请输入日", trigger: "blur" },
],
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="staff/perform/stat/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改员工分数统计";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "staff/perform/stat/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增员工分数统计";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="staff/perform/stat/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 = {
deptId : 0,
deptName : "",
totalScore : null,
attendScoreAdd : null,
attendScoreSub : null,
assessScoreAdd : null,
assessScoreSub : null,
workScoreAdd : null,
workScoreSub : null,
effectScoreAdd : null,
effectScoreSub : null,
otherScoreAdd : null,
otherScoreSub : null,
remark : "",
year : null,
month : null,
day : null,
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "StaffPerformStatList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "部门名称", prop: "deptName"},
{label: "考勤绩效指标增加分数", prop: "attendScoreAdd", formatter: this.formatter},
{label: "考勤绩效指标扣减分数", prop: "attendScoreSub", formatter: this.formatter},
{label: "评价绩效指标增加分数", prop: "assessScoreAdd", formatter: this.formatter},
{label: "评价绩效指标扣减分数", prop: "assessScoreSub", formatter: this.formatter},
{label: "办件绩效指标增加分数", prop: "workScoreAdd", formatter: this.formatter},
{label: "办件绩效指标扣减分数", prop: "workScoreSub", formatter: this.formatter},
{label: "效能绩效指标增加分数", prop: "effectScoreAdd", formatter: this.formatter},
{label: "效能绩效指标扣减分数", prop: "effectScoreSub", formatter: this.formatter},
{label: "其它绩效指标增加分数", prop: "otherScoreAdd", formatter: this.formatter},
{label: "其它绩效指标扣减分数", prop: "otherScoreSub", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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.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">
{{form.totalScore}}
</el-descriptions-item>
<el-descriptions-item label="考勤绩效指标增加分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendScoreAdd}}
</el-descriptions-item>
<el-descriptions-item label="考勤绩效指标扣减分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.attendScoreSub}}
</el-descriptions-item>
<el-descriptions-item label="评价绩效指标增加分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.assessScoreAdd}}
</el-descriptions-item>
<el-descriptions-item label="评价绩效指标扣减分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.assessScoreSub}}
</el-descriptions-item>
<el-descriptions-item label="办件绩效指标增加分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.workScoreAdd}}
</el-descriptions-item>
<el-descriptions-item label="办件绩效指标扣减分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.workScoreSub}}
</el-descriptions-item>
<el-descriptions-item label="效能绩效指标增加分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.effectScoreAdd}}
</el-descriptions-item>
<el-descriptions-item label="效能绩效指标扣减分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.effectScoreSub}}
</el-descriptions-item>
<el-descriptions-item label="其它绩效指标增加分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.otherScoreAdd}}
</el-descriptions-item>
<el-descriptions-item label="其它绩效指标扣减分数" label-class-name="labelClass" content-class-name="contentClass">
{{form.otherScoreSub}}
</el-descriptions-item>
<el-descriptions-item label="备注" label-class-name="labelClass" content-class-name="contentClass">
{{form.remark}}
</el-descriptions-item>
<el-descriptions-item label="年" label-class-name="labelClass" content-class-name="contentClass">
{{form.year}}
</el-descriptions-item>
<el-descriptions-item label="月" label-class-name="labelClass" content-class-name="contentClass">
{{form.month}}
</el-descriptions-item>
<el-descriptions-item label="日" label-class-name="labelClass" content-class-name="contentClass">
{{form.day}}
</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:[
"month",
"day",
],
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="deptId" v-model="form.deptId" placeholder="请输入部门id号"/>
<Field label="部门名称" prop="deptName" v-model="form.deptName" placeholder="请输入部门名称"/>
<Field label="姓名" prop="name" v-model="form.name" placeholder="请输入姓名"/>
<Field label="工号" prop="number" v-model="form.number" placeholder="请输入工号"/>
<Field label="电话号码" prop="phone" v-model="form.phone" placeholder="请输入电话号码"/>
<Field label="负责窗口数量" prop="windowCount" v-model="form.windowCount" 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: "WindowOwnerDetail",
mixins: [form],
components: {
},
created() {
this.changePath("window/owner")
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "窗口负责人",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
],
toDate:[
],
// 表单校验
rules: {
}
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="window/owner/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改窗口负责人";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "window/owner/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增窗口负责人";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="window/owner/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 = {
deptId : 0,
deptName : "",
name : "",
number : "",
phone : "",
windowCount : null,
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "WindowOwnerList",
components: {
drawerShow
},
mixins: [table],
created() {
},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "部门名称", prop: "deptName"},
{label: "姓名", prop: "name"},
{label: "工号", prop: "number"},
{label: "电话号码", prop: "phone"},
{label: "负责窗口数量", prop: "windowCount",formatter: this.formatter},
{label: "创建时间", prop: "createTime", formatter: this.formatterDate},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
};
</script>
\ No newline at end of file
<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.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">
{{form.name}}
</el-descriptions-item>
<el-descriptions-item label="工号" label-class-name="labelClass" content-class-name="contentClass">
{{form.number}}
</el-descriptions-item>
<el-descriptions-item label="电话号码" label-class-name="labelClass" content-class-name="contentClass">
{{form.phone}}
</el-descriptions-item>
<el-descriptions-item label="负责窗口数量" label-class-name="labelClass" content-class-name="contentClass">
{{form.windowCount}}
</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:[
],
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
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 考核范围(1.部门,2.个人)枚举类
*
* @author zxfei
*/
public enum AssessmentScopeEnum {
部门(1, "部门"),
个人(2, "个人");
private Integer value;
private String desc;
AssessmentScopeEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static AssessmentScopeEnum getByValue(Integer value) {
for (AssessmentScopeEnum assessmentScopeEnum : AssessmentScopeEnum.values()) {
if (assessmentScopeEnum.getValue() == value) {
return assessmentScopeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (AssessmentScopeEnum item : AssessmentScopeEnum.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.早退率,5.请假率,6.离岗率,7.睡觉率,8.玩手机率,9.办件超期率,10.差评率)枚举类
*
* @author zxfei
*/
public enum AssessmentTypeEnum {
旷工率(1, "旷工率"),
缺卡率(2, "缺卡率"),
迟到率(3, "迟到率"),
早退率(4, "早退率"),
请假率(5, "请假率"),
离岗率(6, "离岗率"),
睡觉率(7, "睡觉率"),
玩手机率(8, "玩手机率"),
办件超期率(9, "办件超期率"),
差评率(10, "差评率");
private Integer value;
private String desc;
AssessmentTypeEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static AssessmentTypeEnum getByValue(Integer value) {
for (AssessmentTypeEnum assessmentTypeEnum : AssessmentTypeEnum.values()) {
if (assessmentTypeEnum.getValue() == value) {
return assessmentTypeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (AssessmentTypeEnum item : AssessmentTypeEnum.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;
/**
* 是否关联负责人(0.否,1.是)枚举类
*
* @author zxfei
*/
public enum AssoOwnerEnum {
(0, "否"),
(1, "是");
private Integer value;
private String desc;
AssoOwnerEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static AssoOwnerEnum getByValue(Integer value) {
for (AssoOwnerEnum assoOwnerEnum : AssoOwnerEnum.values()) {
if (assoOwnerEnum.getValue() == value) {
return assoOwnerEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (AssoOwnerEnum item : AssoOwnerEnum.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.不低于)枚举类
*
* @author zxfei
*/
public enum CompareScopeEnum {
不高于(1, "不高于"),
等于(2, "等于"),
不低于(3, "不低于");
private Integer value;
private String desc;
CompareScopeEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static CompareScopeEnum getByValue(Integer value) {
for (CompareScopeEnum compareScopeEnum : CompareScopeEnum.values()) {
if (compareScopeEnum.getValue() == value) {
return compareScopeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (CompareScopeEnum item : CompareScopeEnum.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;
/**
* 是否启用规则(0.否,1.是)枚举类
*
* @author zxfei
*/
public enum EnableEnum {
(0, "否"),
(1, "是");
private Integer value;
private String desc;
EnableEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static EnableEnum getByValue(Integer value) {
for (EnableEnum enableEnum : EnableEnum.values()) {
if (enableEnum.getValue() == value) {
return enableEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (EnableEnum item : EnableEnum.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.下半年)枚举类
*
* @author zxfei
*/
public enum HalfYearEnum {
上半年(1, "上半年"),
下半年(2, "下半年");
private Integer value;
private String desc;
HalfYearEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static HalfYearEnum getByValue(Integer value) {
for (HalfYearEnum halfYearEnum : HalfYearEnum.values()) {
if (halfYearEnum.getValue() == value) {
return halfYearEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (HalfYearEnum item : HalfYearEnum.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 PeriodTypeEnum {
全年(1, "全年"),
半年(2, "半年"),
季度4(3, "季度4");
private Integer value;
private String desc;
PeriodTypeEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static PeriodTypeEnum getByValue(Integer value) {
for (PeriodTypeEnum periodTypeEnum : PeriodTypeEnum.values()) {
if (periodTypeEnum.getValue() == value) {
return periodTypeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (PeriodTypeEnum item : PeriodTypeEnum.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 QuarterEnum {
第一季度(1, "第一季度"),
第二季度(2, "第二季度"),
第三季度(3, "第三季度"),
第四季度(4, "第四季度");
private Integer value;
private String desc;
QuarterEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static QuarterEnum getByValue(Integer value) {
for (QuarterEnum quarterEnum : QuarterEnum.values()) {
if (quarterEnum.getValue() == value) {
return quarterEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (QuarterEnum item : QuarterEnum.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
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