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

pref:添加绩效工作人员考核统计维度及添加员工关怀,组织管理

parent ddcd918e
......@@ -31,9 +31,36 @@ export default {
watch: {
$route(route) {
this.query = Object.assign({}, this.query, route.query);
console.log(this.query);
if (this.query.yearmonth == undefined) {
delete this.query.month;
}
if (
this.query.yearmonth == undefined &&
this.query.yearseason == undefined &&
this.query.timeType != 2
) {
delete this.query.year;
delete this.query.month;
delete this.query.season;
}
if (this.query.timeType == 1) {
delete this.query.month;
delete this.query.yearmonth;
}
if (this.query.timeType == 0) {
delete this.query.season;
delete this.query.yearseason;
}
if (this.query.timeType == 2) {
delete this.query.season;
delete this.query.yearseason;
delete this.query.month;
delete this.query.yearmonth;
}
if (this.query.yearseason == undefined) {
delete this.query.season;
}
if (this.query.createTimeMonth == undefined) {
if (this.query.createTimeStart1 || this.query.createTimeEnd1) {
......
<template>
<div class="el-quarter-picker">
<el-popover
v-model="visible"
:disabled="!canPopover"
:tabindex="null"
placement="bottom-start"
transition="el-zoom-in-top"
trigger="click"
>
<div class="el-date-picker">
<div class="el-picker-panel__body">
<div
class="el-date-picker__header el-date-picker__header--bordered"
style="margin: 0px; line-height: 30px"
>
<button
type="button"
@click="clickLast"
aria-label="前一年"
class="el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left"
></button>
<span
role="button"
class="el-date-picker__header-label"
@click="clickYear"
>{{ title }}</span
>
<button
type="button"
@click="clickNext"
aria-label="后一年"
class="el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right"
></button>
</div>
<div
class="el-picker-panel__content"
style="margin: 0px; width: 100%"
>
<table class="el-month-table" style="">
<tbody>
<tr v-for="line in lineCount" :key="line">
<td
v-for="index in line * 4 <= viewList.length
? 4
: viewList.length - (line - 1) * 4"
:key="index"
:class="{
today: viewList[(line - 1) * 4 + index - 1].current,
current: viewList[(line - 1) * 4 + index - 1].active,
}"
>
<div>
<a
class="cell"
@click="clickItem(viewList[(line - 1) * 4 + index - 1])"
>{{ viewList[(line - 1) * 4 + index - 1].label }}</a
>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<el-input
slot="reference"
@change="changeText"
@mouseenter.native="mouseEnter"
@mouseleave.native="mouseLeave"
:placeholder="placeholder"
v-model="text"
:size="size"
:readonly="!canEdit"
:disabled="disabled"
>
<i slot="prefix" class="el-input__icon el-icon-date"></i>
<i
slot="suffix"
class="el-input__icon el-icon-circle-close"
v-show="showClear"
style="cursor: pointer"
@click.stop="clear"
></i>
</el-input>
</el-popover>
</div>
</template>
<script>
export default {
name: "ElQuarterPicker",
props: {
placeholder: {
type: String,
default: "",
},
size: {
type: String,
default: "",
},
readonly: {
type: Boolean,
default: false,
},
clearable: {
type: Boolean,
default: true,
},
editable: {
type: Boolean,
default: true,
},
disabled: {
type: Boolean,
default: false,
},
format: {
type: String,
default: "yyyy年第Q季度",
},
valueFormat: {
type: String,
default: "yyyy-q",
},
value: {
type: String,
default: "",
},
},
model: {
prop: "value",
event: "change",
},
watch: {
value(val) {
this.changeValue(val);
},
readonly(val) {
this.canEdit = !val && this.editable;
this.canPopover = !this.disabled && !val;
},
editable(val) {
this.canEdit = !this.readonly && val;
},
disabled(val) {
this.canPopover = !val && !this.readonly;
},
},
data() {
return {
visible: false,
showClear: false, // 控制清空按钮展示
canEdit: true, // 是否可编辑
canPopover: true, // 选择器弹出是否可用
text: "", // 文本框值
viewType: 1, // 视图类型,1季度,2年度
viewYear: 0, // 当前年份
viewList: [], // 数据列表
lineCount: 0, // 数据行数
title: "", // 选择器标题
data: [0, 0], // 当前选择年度-季度
};
},
mounted() {
// console.log('mounted--------', this.value)
this.changeValue(this.value);
// 设置文本框是否可编辑
this.canEdit = !this.readonly && this.editable;
this.canPopover = !this.disabled && !this.readonly;
// 监听按键(上下左右键可以切换季度)
document.onkeydown = (event) => {
if (this.visible) {
const data = [this.data[0], this.data[1]];
if (data[0] < 1 || data[1] < 1) {
// 以当前季度为标准
const curDate = new Date();
data[0] = curDate.getFullYear();
data[1] = parseInt(curDate.getMonth() / 3) + 1;
}
if (event.code === "ArrowLeft") {
// 上一个季度
if (data[1] === 1) {
data[0] = data[0] - 1;
data[1] = 4;
} else {
data[1] = data[1] - 1;
}
} else if (event.code === "ArrowRight") {
// 下一个季度
if (data[1] === 4) {
data[0] = data[0] + 1;
data[1] = 1;
} else {
data[1] = data[1] + 1;
}
} else if (event.code === "ArrowUp") {
// 上一年季度
data[0] = data[0] - 1;
} else if (event.code === "ArrowDown") {
// 下一年季度
data[0] = data[0] + 1;
} else {
return;
}
// 超过年限的不处理
if (data[0] < 1000 || data[0] > 9999) {
return;
}
this.data = data;
this.viewType = 1;
this.viewYear = data[0];
this.$emit("change", this.formatTo(data, this.valueFormat));
}
};
},
destroyed() {
document.onkeydown = null;
},
methods: {
// 季度文本变更
changeText() {
if (this.checkFormat(this.format, this.text)) {
// 设置值
this.formatFrom(this.text, this.format);
this.$emit("change", this.formatTo(this.data, this.valueFormat));
} else {
// 输入了无效的格式,还原回原来的值
if (this.data[0] < 1 || this.data[1] < 1) {
this.text = "";
} else {
this.text = this.formatTo(this.data, this.format);
}
}
this.visible = false;
},
// 鼠标进入
mouseEnter() {
if (
!this.disabled &&
!this.readonly &&
this.clearable &&
this.text !== ""
) {
this.showClear = true;
}
},
// 鼠标离开
mouseLeave() {
if (!this.disabled && this.clearable) {
this.showClear = false;
}
},
// 清除季度
clear() {
this.showClear = false;
this.visible = false;
this.$emit("change", "");
},
// 季度值变更
changeValue(val) {
this.viewType = 1;
if (val) {
// 反向格式化
this.formatFrom(val, this.valueFormat);
this.text = this.formatTo(this.data, this.format);
this.viewYear = this.data[0];
} else {
this.text = "";
this.data = [0, 0];
this.viewYear = new Date().getFullYear();
}
this.initView();
},
// 初始化视图数据
initView() {
const list = [];
const curDate = new Date();
const curYear = curDate.getFullYear();
const curQuarter = parseInt(curDate.getMonth() / 3) + 1;
if (this.viewType === 1) {
let index = 0;
for (const i of "一二三四") {
index++;
const item = {
label: "" + i + "季度",
year: this.viewYear,
quarter: index,
current: false,
active: false,
};
if (this.viewYear === curYear && index === curQuarter) {
item.current = true;
} else if (this.viewYear === this.data[0] && index === this.data[1]) {
item.active = true;
}
list.push(item);
}
this.title = this.viewYear + "";
} else {
const start = parseInt(this.viewYear / 10) * 10;
this.viewYear = start;
for (let i = 0; i < 10; i++) {
const year = start + i;
const item = {
label: year + "",
year: year,
current: false,
active: false,
};
if (year === curYear) {
item.current = true;
} else if (year === this.data[0]) {
item.active = true;
}
list.push(item);
}
this.title = start + " 年 - " + (start + 9) + "";
}
this.viewList = list;
this.lineCount = parseInt(list.length / 4);
if (list.length % 4 > 0) {
this.lineCount++;
}
},
// 校验季度格式是否正确
checkFormat(pattern, val) {
// 格式转成正则表达式
let text = "";
for (const char of pattern) {
const dict = "\\^$.+?*[]{}!";
if (dict.indexOf(char) === -1) {
text += char;
} else {
text += "\\" + char;
}
}
text = text.replace("yyyy", "[1-9]\\d{3}");
text = text.replace("qq", "0[1-4]");
text = text.replace("q", "[1-4]");
text = text.replace("Q", "[一二三四]");
text = "^" + text + "$";
const patt = new RegExp(text);
return patt.test(val);
},
// 格式化季度到指定格式
formatTo(data, pattern) {
let text = pattern.replace("yyyy", "" + data[0]);
text = text.replace("qq", "0" + data[1]);
text = text.replace("q", "" + data[1]);
text = text.replace("Q", "一二三四".substr(data[1] - 1, 1));
return text;
},
// 以指定格式解析季度
formatFrom(str, pattern) {
const year = this.findText(str, pattern, "yyyy");
const quarter = this.findText(str, pattern, ["qq", "q", "Q"]);
this.data = [year, quarter];
},
// 查找文本数值
findText(str, pattern, find) {
if (find instanceof Array) {
for (const f of find) {
const val = this.findText(str, pattern, f);
if (val !== -1) {
return val;
}
}
return -1;
}
const index = pattern.indexOf(find);
if (index === -1) {
return index;
}
const val = str.substr(index, find.length);
if (find === "Q") {
return "一二三四".indexOf(val) + 1;
} else {
return parseInt(val);
}
},
// 年份点击
clickYear() {
if (this.viewType !== 1) {
return;
}
// 切换年度选择器
this.viewType = 2;
this.initView();
},
// 季度选择
clickItem(item) {
// console.log('select--------', item)
if (this.viewType === 1) {
// 选择季度
this.$emit(
"change",
this.formatTo([item.year, item.quarter], this.valueFormat)
);
this.visible = false;
} else {
// 选择年度
this.viewType = 1;
this.viewYear = item.year;
this.initView();
}
},
// 上一年
clickLast() {
if (this.viewYear > 1000) {
if (this.viewType === 1) {
this.viewYear--;
this.initView();
} else {
this.viewYear = this.viewYear - 10;
this.initView();
}
}
},
// 下一年
clickNext() {
if (this.viewYear < 9999) {
if (this.viewType === 1) {
this.viewYear++;
this.initView();
} else {
this.viewYear = this.viewYear + 10;
this.initView();
}
}
},
},
};
</script>
<style>
.el-quarter-picker {
display: inline-block;
}
</style>
\ No newline at end of file
......@@ -51,6 +51,28 @@
:key="value"
></el-option>
</el-select>
<el-select
v-model="form[item.name]"
:filterable="item.filterable"
:multiple="item.multiple"
:clearable="true"
@change="handleChange"
@clear="item.clear && item.clear"
v-if="item.type === 'timeType'"
:placeholder="'请选择' + item.label"
>
<!-- <el-option
label=""
value=""
v-if="!item.multiple && !item.notShowAll"
></el-option> -->
<el-option
:label="label"
:value="value"
v-for="(label, value) in timeDict"
:key="value"
></el-option>
</el-select>
<el-select
v-model="form[item.name]"
:filterable="item.filterable"
......@@ -180,7 +202,26 @@
:placeholder="item.label ? item.label : '选择月份'"
>
</el-date-picker>
<el-date-picker
v-model="form[item.name]"
v-if="
item.type === 'yearmonth' &&
!item.valueFormat &&
form['timeType'] == 0
"
type="month"
value-format="yyyy-MM"
:placeholder="item.label ? item.label : '选择月份'"
>
</el-date-picker>
<el-date-picker
v-model="form[item.name]"
v-if="item.type === 'year' && form['timeType'] == 2"
type="year"
value-format="yyyy"
:placeholder="item.label ? item.label : '选择年份'"
>
</el-date-picker>
<el-date-picker
v-model="form[item.name]"
v-if="item.type === 'datetime'"
......@@ -189,6 +230,11 @@
:placeholder="item.label"
>
</el-date-picker>
<el-quarter-picker
v-model="form[item.name]"
placeholder="选择季度"
v-if="item.type === 'season' && form['timeType'] == 1"
/>
</el-form-item>
<el-form-item>
......@@ -231,7 +277,10 @@ import {
getLastDay,
timestampToTime,
} from "@/assets/utils/dateFormat.js";
import ElQuarterPicker from "./ElQuarterPicker";
export default {
components: { ElQuarterPicker },
props: {
search: {
type: Array,
......@@ -286,6 +335,18 @@ export default {
this.initForm(this.$route.query);
},
methods: {
handleChange() {
this.form.year = undefined;
this.form.month = undefined;
this.form.season = undefined;
this.form.yearseason = undefined;
this.form.yearmonth = undefined;
delete this.$route.query.year;
delete this.$route.query.month;
delete this.$route.query.season;
delete this.$route.query.yearseason;
delete this.$route.query.yearmonth;
},
salaChange() {
this.form.deptId = "";
this.$get("/dept/getDeptBySalaId", { salaId: this.form.salaId })
......@@ -471,6 +532,9 @@ export default {
});
delete this.$route.query.yearmonth;
delete this.$route.query.year;
delete this.$route.query.season;
delete this.$route.query.yearseson;
delete this.$route.query.createTimeMonth;
delete this.$route.query.orderColList;
......@@ -496,10 +560,20 @@ export default {
this.form.year = arr[0];
this.form.month = arr[1];
} else {
this.form.year = undefined;
this.form.month = undefined;
}
if (this.form.year) {
this.form.year = this.form.year;
} else {
this.form.year = undefined;
}
if (this.form.yearseason) {
let arr = this.form.yearseason.split("-");
this.form.year = arr[0];
this.form.season = arr[1];
} else {
this.form.season = undefined;
}
if (this.form.createTimeMonth) {
// this.form.createTimeStart = this.form.createTimeMonth + "-01";
// this.form.createTimeEnd = this.form.createTimeMonth + "-31";
......@@ -596,11 +670,25 @@ export default {
let data = this.decode(params);
// Object.assign({}, query, data)
// if (query.timeType) {
// if (!query.yearmonth) {
// query.year = undefined;
// query.month = undefined;
// }
// if (!query.year) {
// query.year = undefined;
// }
// if (!query.yearseason) {
// query.year = undefined;
// query.season = undefined;
// }
// } else {
// if (!query.yearmonth) {
// query.year = undefined;
// query.month = undefined;
// }
// }
if (!query.yearmonth) {
query.year = undefined;
query.month = undefined;
}
if (!query.createTimeMonth) {
if (query.createTimeStart1 || query.createTimeEnd1) {
query.createTimeEnd = query.createTimeEnd1;
......@@ -613,10 +701,13 @@ export default {
}
}
console.log({
console.log(
{
...query,
...data,
});
},
123123123123
);
this.$router.push({
path: path,
query: {
......@@ -712,6 +803,11 @@ export default {
visible: false,
salaArr: [],
deptArr: [],
timeDict: {
0: "按月",
1: "按季度",
2: "按年",
},
};
},
};
......
......@@ -476,6 +476,8 @@ export default {
});
delete this.$route.query.yearmonth;
delete this.$route.query.yearseason;
delete this.$route.query.year;
delete this.$route.query.createTimeMonth;
delete this.$route.query.orderColList;
this.form = Object.assign({}, this.form, newData);
......
<template>
<div class="page">
<div class="btn_box" style="position: absolute;top: 54px;left: 10px;">
<div class="btn_box" style="position: absolute; top: 54px; left: 10px">
<el-radio-group v-model="radio1" @input="changeRadio">
<el-radio-button label="1">窗口考核</el-radio-button>
<el-radio-button label="2">工作人员考核</el-radio-button>
......@@ -35,6 +35,7 @@ export default {
mixins: [table],
created() {
// this.getData();
console.log(this.tableData);
},
methods: {
/** 重写新增方法 */
......@@ -77,6 +78,9 @@ export default {
? this.$router.push("/check/window/workman/perform/detail/list?page=1")
: "";
},
changeTime() {
console.log(123);
},
},
data() {
return {
......@@ -103,10 +107,27 @@ export default {
label: "核查状态",
fuzzy: false,
},
{
name: "timeType",
type: "timeType",
label: "核查类型",
},
{
name: "yearmonth",
type: "month",
label: "请选择登记年月",
type: "yearmonth",
label: "请选择考核年月",
fuzzy: false,
},
{
name: "year",
type: "year",
label: "请选择考核年",
fuzzy: false,
},
{
name: "yearseason",
type: "season",
label: "请选择考核季度",
fuzzy: false,
},
{
......
......@@ -26,6 +26,7 @@ export default {
return {
// 表格配置项
config: {
isshowTabPane: true,
/** 树表是否默认展开 */
expand: true,
showType: "treetable",
......
......@@ -33,7 +33,7 @@
native-type="submit"
:loading="loading"
@click="onSubmit"
style="font-size: 20px;"
style="font-size: 20px"
>登录</el-button
>
</el-form-item>
......@@ -88,6 +88,8 @@ export default {
// createSocket("ws://"+process.env.VUE_APP_BASE_API +"/ws?accessToken="+data.id)
},
loginFail(error) {
console.log(error);
this.loading = false;
//this.refreshCode();
this.$message.error(error.message);
......
<template>
<div class="page">
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="setdialog(2)"
>表格设置</el-button
>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="setdialog(1)"
>导出表格设置</el-button
>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
......@@ -93,6 +109,44 @@
<el-button @click="cancleFresh">取 消</el-button>
</div>
</el-dialog>
<!-- 显示表格设置 -->
<el-dialog :visible.sync="setDialog" title="表格显示设置">
<div class="tipsword">
请选择表格展示字段,表格中的内容与选中的字段将保持一致。
</div>
<el-checkbox-group v-model="checkTableList">
<el-checkbox
v-for="(item, index) in setcolum"
:key="index"
:label="item.prop"
>
{{ item.label }}
</el-checkbox>
</el-checkbox-group>
<div class="mt20" style="text-align: right">
<el-button @click="handleCancel(2)">取消</el-button>
<el-button type="primary" @click="handleSubmit(2)">确定</el-button>
</div>
</el-dialog>
<!-- 导出表格设置 -->
<el-dialog :visible.sync="isdialog" title="导出表格设置">
<div class="tipsword">
请选择表格展示字段,导出的表格中的内容选中的字段将保持一致。
</div>
<el-checkbox-group v-model="checkList">
<el-checkbox
v-for="(item, index) in setcolum"
:key="index"
:label="item.prop"
>
{{ item.label }}
</el-checkbox>
</el-checkbox-group>
<div class="mt20" style="text-align: right">
<el-button @click="handleCancel(1)">取消</el-button>
<el-button type="primary" @click="handleSubmit(1)">确定</el-button>
</div>
</el-dialog>
</div>
</template>
......@@ -106,15 +160,136 @@ export default {
dialogShow,
},
mixins: [table],
created() {
},
created() {},
methods: {
// 表格设置弹窗取消操作
handleCancel(i) {
if (i == 1) {
this.checkList = [];
this.isdialog = false;
} else {
this.setDialog = false;
}
},
// 表格设置提交操作
handleSubmit(i) {
if (i == 1) {
this.doExport();
this.isdialog = false;
} else {
this.config.columns.forEach((v) => {
v.prop && v.label ? (v.show = false) : (v.show = true);
this.checkTableList.forEach((val) => {
if (v.prop == val) {
v.show = true;
}
});
});
this.$forceUpdate(this.config.columns);
this.setDialog = false;
}
},
//表格设置弹窗
setdialog(i) {
if (i == 1) {
this.setcolum = this.config.columns.filter(
(item) => item.label && item.prop
);
this.setcolum.forEach((v) => {
v.prop == "attendScore"
? (v.label = `服务规范${
"(考勤绩效/" +
this.tableData.dict.weightPdu.attendWeight +
"分)"
}`)
: v.prop == "reviewScore"
? (v.label = `群众评议${
"(评价绩效/" +
this.tableData.dict.weightPdu.reviewWeight +
"分)"
}`)
: v.prop == "goworkScore"
? (v.label = `工作效能${
"(办件绩效/" +
this.tableData.dict.weightPdu.goworkWeight +
"分)"
}`)
: v.prop == "effectScore"
? (v.label = `工作纪律${
"(效能绩效/" +
this.tableData.dict.weightPdu.effectWeight +
"分)"
}`)
: v.prop == "complainScore"
? (v.label = `综合管理${
"(自评绩效 *" +
this.tableData.dict.weightPdu.selfWeight +
"%)"
}`)
: v.prop == "otherScore"
? (v.label = `其他绩效${"(其他绩效)"}`)
: "";
});
this.isdialog = true;
} else {
this.setDialog = true;
this.setcolum = this.config.columns.filter(
(item) => item.label && item.prop
);
this.setcolum.forEach((v) => {
v.prop == "attendScore"
? (v.label = `服务规范${
"(考勤绩效/" +
this.tableData.dict.weightPdu.attendWeight +
"分)"
}`)
: v.prop == "reviewScore"
? (v.label = `群众评议${
"(评价绩效/" +
this.tableData.dict.weightPdu.reviewWeight +
"分)"
}`)
: v.prop == "goworkScore"
? (v.label = `工作效能${
"(办件绩效/" +
this.tableData.dict.weightPdu.goworkWeight +
"分)"
}`)
: v.prop == "effectScore"
? (v.label = `工作纪律${
"(效能绩效/" +
this.tableData.dict.weightPdu.effectWeight +
"分)"
}`)
: v.prop == "complainScore"
? (v.label = `综合管理${
"(自评绩效 *" +
this.tableData.dict.weightPdu.selfWeight +
"%)"
}`)
: v.prop == "otherScore"
? (v.label = `其他绩效${"(其他绩效)"}`)
: "";
});
this.checkTableList = this.config.columns
.map((item) => {
if (item.show && item.prop) {
return item.prop;
}
})
.filter((v) => v);
}
},
countDown() {
if (this.percent == 95) {
if (this.selection.length > 0) {
this.query["idList"] = this.selection;
}
if (this.checkList.length > 0) {
this.query["properties"] = this.checkList;
}
this.$download(
"/staff/perform/summary/exportExcel",
......@@ -317,9 +492,18 @@ export default {
},
data() {
return {
// 是否展示弹窗
isdialog: false,
// 列表绑定值
checkList: [],
// 设置表头
setcolum: [],
// 表格选中列表
checkTableList: [],
endTime: "",
restTime: "15",
freshDate: "",
setDialog: false,
btnFreshLoading: false,
sortList: "",
dialogOpen: false,
......@@ -331,6 +515,7 @@ export default {
progress: false,
percent: 0,
config: {
showType: "tableSelect",
isshowTabPane: true,
search: [
{
......@@ -367,14 +552,21 @@ export default {
},
],
columns: [
{ type: "selection", width: 60, fixed: "left" },
{ type: "index", label: "序号", width: 50, fixed: "left" },
{ type: "selection", width: 60, fixed: "left", show: true },
{
type: "index",
label: "序号",
width: 50,
fixed: "left",
show: true,
},
{
label: "姓名",
prop: "staffName",
formatter: this.formatter,
fixed: "left",
show: true,
},
{
......@@ -383,46 +575,54 @@ export default {
formatter: this.formatter,
width: 80,
fixed: "left",
show: true,
},
{
label: "",
prop: "year",
formatter: this.formatter,
fixed: "left",
show: true,
},
{
label: "",
prop: "month",
formatter: this.formatter,
fixed: "left",
show: true,
},
{
label: "手机号",
prop: "phoneNumber",
formatter: this.formatter,
show: true,
},
{
label: "所属大厅",
prop: "salaName",
formatter: this.formatter,
show: true,
},
{
label: "所属部门",
prop: "deptName",
formatter: this.formatter,
show: true,
},
{
label: "所属中心",
formatter: (row) => {
return "宜宾市民中心";
},
},
// {
// label: "所属中心",
// show: true,
// formatter: (row) => {
// return "宜宾市民中心";
// },
// },
{
label: "工作纪律",
prop: "effectScore",
width: 150,
show: true,
formatter: (row) => {
return (
row.effectScore - this.tableData.dict.weightPdu.effectWeight
......@@ -461,6 +661,7 @@ export default {
label: "服务规范",
prop: "attendScore",
width: 150,
show: true,
formatter: (row) => {
return (
row.attendScore - this.tableData.dict.weightPdu.attendWeight
......@@ -498,6 +699,7 @@ export default {
{
label: `综合管理`,
prop: "complainScore",
show: true,
width: 150,
formatter: (row) => {
return (
......@@ -536,6 +738,7 @@ export default {
{
label: "群众评议",
prop: "reviewScore",
show: true,
width: 150,
formatter: (row) => {
return (
......@@ -575,6 +778,7 @@ export default {
{
label: "工作效能",
prop: "goworkScore",
show: true,
width: 150,
formatter: (row) => {
return (
......@@ -614,6 +818,7 @@ export default {
{
label: `其他绩效`,
prop: "otherScore",
show: true,
width: 150,
formatter: this.formatter,
},
......@@ -627,12 +832,14 @@ export default {
label: "绩效分数",
prop: "totalScore",
sortable: true,
show: true,
width: 120,
},
{
label: "备注1",
prop: "remark",
show: true,
formatter: (row) => {
return row.remark && row.remark != "" ? (
row.remark
......@@ -645,6 +852,7 @@ export default {
{
label: "备注2",
prop: "remarkAddDesc",
show: true,
formatter: (row) => {
return row.remarkAddDesc &&
row.remarkAddDesc != "" &&
......@@ -656,83 +864,86 @@ export default {
},
width: 240,
},
{
label: "政务服务管理科审核等次",
prop: "auditLevel",
width: 120,
formatter: (row) => {
const options = [
{
label: "",
value: "",
},
{
label: "较好",
value: "较好",
},
{
label: "一般",
value: "一般",
},
{
label: "不合格",
value: "不合格",
},
{
label: "不确定",
value: "不确定",
},
];
return (
<el-select
v-model={row.auditLevel}
placeholder="请选择"
clearable
onChange={(v) => this.handleChange(v, row)}
>
{options.map((item) => (
<el-option
key={item.value}
value={item.value}
label={item.label}
/>
))}
</el-select>
);
},
},
{
label: "服务明星推荐",
prop: "recommend",
width: 120,
formatter: (row) => {
const options = [
{
label: "服务明星",
value: "服务明星",
},
];
return (
<el-select
v-model={row.recommend}
clearable
placeholder="请选择"
onChange={(v) => this.handleChange(v, row)}
>
{options.map((item) => (
<el-option
key={item.value}
value={item.value}
label={item.label}
/>
))}
</el-select>
);
},
},
// {
// label: "政务服务管理科审核等次",
// prop: "auditLevel",
// show: true,
// width: 120,
// formatter: (row) => {
// const options = [
// {
// label: "好",
// value: "好",
// },
// {
// label: "较好",
// value: "较好",
// },
// {
// label: "一般",
// value: "一般",
// },
// {
// label: "不合格",
// value: "不合格",
// },
// {
// label: "不确定",
// value: "不确定",
// },
// ];
// return (
// <el-select
// v-model={row.auditLevel}
// placeholder="请选择"
// clearable
// onChange={(v) => this.handleChange(v, row)}
// >
// {options.map((item) => (
// <el-option
// key={item.value}
// value={item.value}
// label={item.label}
// />
// ))}
// </el-select>
// );
// },
// },
// {
// label: "服务明星推荐",
// prop: "recommend",
// show: true,
// width: 120,
// formatter: (row) => {
// const options = [
// {
// label: "服务明星",
// value: "服务明星",
// },
// ];
// return (
// <el-select
// v-model={row.recommend}
// clearable
// placeholder="请选择"
// onChange={(v) => this.handleChange(v, row)}
// >
// {options.map((item) => (
// <el-option
// key={item.value}
// value={item.value}
// label={item.label}
// />
// ))}
// </el-select>
// );
// },
// },
{
label: "加分",
prop: "addTotalScore",
show: true,
width: 120,
formatter: (row) => {
return row.addTotalScore || row.addTotalScore == 0
......@@ -746,12 +957,14 @@ export default {
label: "本月得分",
prop: "sumScore",
sortable: true,
show: true,
width: 120,
fixed: "right",
},
{
label: "操作",
width: 120,
show: true,
fixed: "right",
formatter: (row) => {
return (
......
......@@ -104,7 +104,7 @@ import table from "@/assets/mixins/table";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default {
name: "StaffPerformSummaryList",
name: "WindowPerformSummaryList",
components: {
dialogShow,
},
......
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