Commit 11e8a113 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 753c5c05 703a4781
...@@ -16,6 +16,9 @@ export default { ...@@ -16,6 +16,9 @@ export default {
}, },
]; ];
} }
data.entity.inspect && data.entity.inspect == 0
? (data.entity.inspect = false)
: (data.entity.inspect = true);
return data; return data;
}, },
// 渲染后置处理 // 渲染后置处理
...@@ -25,6 +28,30 @@ export default { ...@@ -25,6 +28,30 @@ export default {
data.attachmentPathList && data.attachmentPathList.length > 0 data.attachmentPathList && data.attachmentPathList.length > 0
? (data.attachmentPath = data.attachmentPathList[0].url) ? (data.attachmentPath = data.attachmentPathList[0].url)
: (data.attachmentPath = ""); : (data.attachmentPath = "");
if (data.leavePerson == 0 || data.leavePerson) {
if (this.dict.staffList) {
data.leavePerson = this.dict.staffList[this.form.leavePerson];
for (let key in this.dict.staffList) {
if (this.dict.staffList[key] == data.leavePerson) {
data.leavePersonId = Number(key);
}
}
}
}
data.windowWorkmanPerformDetailList &&
data.windowWorkmanPerformDetailList.length > 0
? (data.windowWorkmanPerformDetailList = data.windowWorkmanPerformDetailList.map(
(v) => {
v.bonusScore = Number(v.bonusScore);
v.discipline = Number(v.discipline);
v.specification = Number(v.specification);
v.management = Number(v.management);
v.efficiency = Number(v.efficiency);
v.sumScore = Number(v.sumScore);
return v;
}
))
: "";
return data; return data;
}, },
...@@ -45,7 +72,6 @@ export default { ...@@ -45,7 +72,6 @@ export default {
// 默认拉取数据 // 默认拉取数据
getData() { getData() {
this.loading = true; this.loading = true;
this.$get(this.urls.currUrl || this.pageInfo.currUrl, this.query) this.$get(this.urls.currUrl || this.pageInfo.currUrl, this.query)
.then(({ data }) => { .then(({ data }) => {
const res = this.beforeRender(data); const res = this.beforeRender(data);
...@@ -57,7 +83,14 @@ export default { ...@@ -57,7 +83,14 @@ export default {
res.entity = this.util_toDateStr(res.entity, this.toDate); res.entity = this.util_toDateStr(res.entity, this.toDate);
this.form = Object.assign({}, this.form, res.entity); this.form = Object.assign({}, this.form, res.entity);
this.dict = Object.assign({}, this.dict, res.dict); this.dict = Object.assign({}, this.dict, res.dict);
this.afterRender(res); this.$route.name == "window/owner/list"
? this.$post("/staff/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.dict.staffList = res.data.data;
this.afterRender(res);
}
})
: this.afterRender(res);
}) })
.catch((error) => { .catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
...@@ -91,6 +124,7 @@ export default { ...@@ -91,6 +124,7 @@ export default {
this.form.leaveType this.form.leaveType
? (this.form.leaveType = this.form.leaveType.toString()) ? (this.form.leaveType = this.form.leaveType.toString())
: ""; : "";
this.form.inspect ? (this.form.inspect = 1) : (this.form.inspect = 0);
this.$post(url, this.beforeSubmit(this.form)) this.$post(url, this.beforeSubmit(this.form))
.then((res) => { .then((res) => {
this.$message.success(res.msg); this.$message.success(res.msg);
......
...@@ -46,6 +46,7 @@ export default { ...@@ -46,6 +46,7 @@ export default {
delete this.query.errorTimeEnd; delete this.query.errorTimeEnd;
} }
} }
this.getData(); this.getData();
}, },
}, },
...@@ -693,8 +694,9 @@ export default { ...@@ -693,8 +694,9 @@ export default {
? "/check/window/perform/list" ? "/check/window/perform/list"
: this.$route.path.indexOf("/window/workman/perform/list") == 0 : this.$route.path.indexOf("/window/workman/perform/list") == 0
? "/check/window/workman/perform/list" ? "/check/window/workman/perform/list"
: this.$route.path.indexOf("/window/workman/perform/detail/list") == : this.$route.path.indexOf(
0 "/check/window/workman/perform/detail/list"
) == 0
? "/window/workman/perform/detail/list" ? "/window/workman/perform/detail/list"
: this.$route.path, : this.$route.path,
edit: this.$route.path.replace("/list", "/edit"), edit: this.$route.path.replace("/list", "/edit"),
......
...@@ -9,10 +9,11 @@ export const timestampToTime = (timestamp, transLength) => { ...@@ -9,10 +9,11 @@ export const timestampToTime = (timestamp, transLength) => {
} }
let Y = date.getFullYear() + "-"; let Y = date.getFullYear() + "-";
let M = let M =
(date.getMonth() + 1 < 10 date.getMonth() + 1 < 10
? "0" + (date.getMonth() + 1) ? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) + "-"; : date.getMonth() + 1;
let D = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); let D =
date.getDate() < 10 ? "-" + "0" + date.getDate() : "-" + date.getDate();
let h = let h =
" " + " " +
(date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) +
...@@ -23,6 +24,8 @@ export const timestampToTime = (timestamp, transLength) => { ...@@ -23,6 +24,8 @@ export const timestampToTime = (timestamp, transLength) => {
let s = let s =
date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds(); date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
switch (transLength) { switch (transLength) {
case 2:
return Y + M;
case 3: case 3:
return Y + M + D; return Y + M + D;
case 6: case 6:
......
...@@ -133,7 +133,6 @@ export default { ...@@ -133,7 +133,6 @@ export default {
val.length == 0 || val.length > 0 val.length == 0 || val.length > 0
? (this.emptytxt = "暂无数据") ? (this.emptytxt = "暂无数据")
: (this.emptytxt = "加载中..."); : (this.emptytxt = "加载中...");
// if (val.length > 0) { // if (val.length > 0) {
// val.forEach((v) => { // val.forEach((v) => {
// for (let key in v) { // for (let key in v) {
......
...@@ -254,6 +254,11 @@ export default { ...@@ -254,6 +254,11 @@ export default {
computed: { computed: {
field: { field: {
get() { get() {
if (Array.isArray(this.value)) {
this.value = this.value.map((v) => {
return typeof v == 'number' ? v + "" : v;
});
}
return this.value; return this.value;
}, },
set(val) { set(val) {
......
...@@ -256,11 +256,13 @@ export default { ...@@ -256,11 +256,13 @@ export default {
this.$route.name == "attendance/stat/list" || this.$route.name == "attendance/stat/list" ||
this.$route.name == "check/window/perform/list" || this.$route.name == "check/window/perform/list" ||
this.$route.name == "check/window/workman/perform/list" || this.$route.name == "check/window/workman/perform/list" ||
this.$route.name == "check/window/workman/perform/detail/list" ||
this.$route.name == "check/attend/record/list" || this.$route.name == "check/attend/record/list" ||
this.$route.name == "check/review/record/list" || this.$route.name == "check/review/record/list" ||
this.$route.name == "check/complain/record/list" || this.$route.name == "check/complain/record/list" ||
this.$route.name == "check/gowork/record/list" || this.$route.name == "check/gowork/record/list" ||
this.$route.name == "check/effect/record/list" || this.$route.name == "check/effect/record/list" ||
this.$route.name == "check/other/record/list" ||
this.$route.name == "window/perform/list" || this.$route.name == "window/perform/list" ||
this.$route.name == "window/workman/perform/list" || this.$route.name == "window/workman/perform/list" ||
this.$route.name == "perform/attend/record/list" || this.$route.name == "perform/attend/record/list" ||
...@@ -268,6 +270,9 @@ export default { ...@@ -268,6 +270,9 @@ export default {
this.$route.name == "perform/complain/record/list" || this.$route.name == "perform/complain/record/list" ||
this.$route.name == "perform/gowork/record/list" || this.$route.name == "perform/gowork/record/list" ||
this.$route.name == "perform/effect/record/list" || this.$route.name == "perform/effect/record/list" ||
this.$route.name == "perform/other/record/list" ||
this.$route.name == "perform/attend/appeal/list" ||
this.$route.name == "window/owner/list" ||
this.$route.name == "staff/perform/summary/list" this.$route.name == "staff/perform/summary/list"
) { ) {
this.getArr(); this.getArr();
...@@ -277,6 +282,7 @@ export default { ...@@ -277,6 +282,7 @@ export default {
}, },
methods: { methods: {
salaChange() { salaChange() {
this.form.deptId = "";
this.$get("/dept/getDeptBySalaId", { salaId: this.form.salaId }) this.$get("/dept/getDeptBySalaId", { salaId: this.form.salaId })
.then((res) => { .then((res) => {
if (res.code == 1) { if (res.code == 1) {
...@@ -423,6 +429,7 @@ export default { ...@@ -423,6 +429,7 @@ export default {
} }
} }
}); });
this.form = Object.assign({}, this.form, newFormData); this.form = Object.assign({}, this.form, newFormData);
// this.form = Object.assign({}, this.form, data); // this.form = Object.assign({}, this.form, data);
// console.log("after form",this.form) // console.log("after form",this.form)
...@@ -444,6 +451,7 @@ export default { ...@@ -444,6 +451,7 @@ export default {
delete this.$route.query.yearmonth; delete this.$route.query.yearmonth;
delete this.$route.query.createTimeMonth; delete this.$route.query.createTimeMonth;
delete this.$route.query.orderColList; delete this.$route.query.orderColList;
this.form = Object.assign({}, this.form, newData); this.form = Object.assign({}, this.form, newData);
this.onSubmit(); this.onSubmit();
}, },
...@@ -457,16 +465,7 @@ export default { ...@@ -457,16 +465,7 @@ export default {
this.form.year = undefined; this.form.year = undefined;
this.form.month = undefined; this.form.month = undefined;
} }
if (this.form.orderCols1) {
this.form.orderColList = [
{
colName: "totalScore",
sortKind: this.form.orderCols1,
},
];
} else {
this.form.orderColList = "";
}
if (this.form.createTimeMonth) { if (this.form.createTimeMonth) {
// this.form.createTimeStart = this.form.createTimeMonth + "-01"; // this.form.createTimeStart = this.form.createTimeMonth + "-01";
// this.form.createTimeEnd = this.form.createTimeMonth + "-31"; // this.form.createTimeEnd = this.form.createTimeMonth + "-31";
...@@ -538,6 +537,10 @@ export default { ...@@ -538,6 +537,10 @@ export default {
this.form.attendanceDateEnd = timestampToTime(new Date(), 3); this.form.attendanceDateEnd = timestampToTime(new Date(), 3);
} }
} }
if (this.$route.name == "perform/effect/record/list") {
this.form.subMethod ? "" : (this.form.subMethod = "1");
console.log(this.form.subMethod);
}
let params = JSON.parse(JSON.stringify(this.form)); //不更改原始数据 let params = JSON.parse(JSON.stringify(this.form)); //不更改原始数据
let data = this.decode(params); let data = this.decode(params);
...@@ -558,6 +561,11 @@ export default { ...@@ -558,6 +561,11 @@ export default {
query.errorTimeEnd = undefined; query.errorTimeEnd = undefined;
} }
} }
if (this.$route.name == "check/window/workman/perform/detail/list") {
query.yearmonth = timestampToTime(new Date(), 2);
query.year = timestampToTime(new Date(), 2).slice(0, 4);
query.month = timestampToTime(new Date(), 2).slice(5);
}
console.log({ console.log({
...query, ...query,
...data, ...data,
......
// 列表-条件查询
<template>
<div class="search-form-wapper">
<el-form :inline="true" :model="form" ref="search-form" size="small">
<el-form-item
v-for="(item, i) in search"
:key="i"
v-bind:class="{ search_new_line: item.newLine }"
>
<el-input
v-model="form[item.name]"
v-if="item.type === 'text'"
:placeholder="
item.placeholder ? item.placeholder : '请输入' + item.label
"
></el-input>
<el-checkbox-group
v-model="form[item.name]"
v-if="item.type === 'checkbox'"
>
<el-checkbox
v-for="(label, value) in table.dict[item.name]"
:label="value"
:key="value"
>{{ label }}</el-checkbox
>
</el-checkbox-group>
<el-select
v-model="form[item.name]"
:filterable="item.filterable"
:multiple="item.multiple"
:clearable="true"
@change="item.change && item.change"
@clear="item.clear && item.clear"
v-if="item.type === 'select'"
: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 table.dict[item.name]"
:key="value"
></el-option>
</el-select>
<el-select
v-model="form[item.name]"
:filterable="item.filterable"
:multiple="item.multiple"
:clearable="true"
@change="salaChange"
@clear="item.clear && item.clear"
v-if="item.type === 'selectSalaId'"
:placeholder="'请选择' + item.label"
>
<el-option
:label="label.deptName"
:value="label.id"
v-for="(label, value) in salaArr"
:key="value"
></el-option>
</el-select>
<el-select
v-model="form[item.name]"
:filterable="item.filterable"
:multiple="item.multiple"
:clearable="true"
@change="deptChange"
@clear="item.clear && item.clear"
v-if="item.type === 'selectDeptId'"
:placeholder="'请选择' + item.label"
>
<!-- <el-option
label=""
value=""
v-if="!item.multiple && !item.notShowAll"
></el-option> -->
<el-option
:label="label.deptName"
:value="label.id"
v-for="(label, value) in deptArr"
:key="value"
></el-option>
</el-select>
<el-select
v-model="form[item.name]"
clearable
:multiple="item.multiple"
filterable
remote
v-if="item.type === 'remoteSelect'"
placeholder="请输入关键词"
searchType="item.searchType"
:remote-method="
(query) => {
remoteMethod(query, item.searchType);
}
"
>
<el-option
:label="label"
:value="value"
v-for="(label, value) in remoteOptions[item.searchType]"
:key="value"
></el-option>
</el-select>
<el-cascader
placeholder="选择区域"
v-if="item.type === 'cascader'"
v-model="selectedTreeID"
:filterable="item.filterable"
:clearable="true"
change-on-select
@change="treeSelecteds"
:options="treeDatas"
></el-cascader>
<el-select
v-model="form[item.name]"
:multiple="item.multiple"
:remote-method="userRemoteMethod"
:loading="loading"
@focus="userRemoteMethod"
:reserve-keyword="item.reserve - keyword"
:clearable="item.clearable"
:placeholder="item.placeholder ? item.placeholder : '请输入用户'"
filterable
remote
v-if="item.type === 'userLoginNameRemoteSelect'"
>
<el-option
v-for="i in userData"
:key="i.loginName"
:label="i.realName"
:value="i.loginName"
></el-option>
</el-select>
<el-date-picker
v-model="form[item.name]"
v-if="item.type === 'date' && !item.valueFormat"
type="date"
value-format="yyyy-MM-dd"
:placeholder="item.label ? item.label : '选择日期'"
>
</el-date-picker>
<el-date-picker
v-model="form[item.name]"
v-if="item.type === 'date' && item.valueFormat"
type="date"
:value-format="item.valueFormat"
:placeholder="item.label ? item.label : '选择日期'"
>
</el-date-picker>
<el-date-picker
v-model="form[item.name]"
v-if="item.type === 'month' && !item.valueFormat"
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 === 'month' && item.valueFormat"
type="month"
:value-format="item.valueFormat"
:placeholder="item.label ? item.label : '选择月份'"
>
</el-date-picker>
<el-date-picker
v-model="form[item.name]"
v-if="item.type === 'datetime'"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
:placeholder="item.label"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
@click="onSubmit"
title="查询"
>查询</el-button
>
<!-- <el-button
icon="el-icon-tickets"
@click="resetTable"
v-if="visible"
title="重新汇总"
>重新汇总</el-button
> -->
<el-button
icon="el-icon-download"
@click="downloadFile"
:loading="isDownload"
v-if="downloadUrl"
>下载</el-button
>
<el-button icon="el-icon-refresh-left" @click="cleanForm" title="清空"
>清空</el-button
>
</el-form-item>
</el-form>
</div>
</template>
<script>
import Qs from "qs";
import { type } from "@/assets/utils";
import { isArray } from "util";
import {
getFirstDay,
getLastDay,
timestampToTime,
} from "@/assets/utils/dateFormat.js";
export default {
props: {
search: {
type: Array,
default: () => [],
},
table: {
type: Object,
default: () => {},
},
page: {
type: Number,
default: 1,
},
},
// watch: {
// $route(route) {
// this.initForm(route.query);
// },
// },
async created() {
this.cleanForm();
// this.$route.query ? (this.$route.query = {}) : console.log(456);
this.$route.name == "attendance/stat/list"
? (this.visible = true)
: (this.visible = false);
if (
this.$route.name == "attendance/stat/list" ||
this.$route.name == "check/window/perform/list" ||
this.$route.name == "check/window/workman/perform/list" ||
this.$route.name == "check/window/workman/perform/detail/list" ||
this.$route.name == "check/attend/record/list" ||
this.$route.name == "check/review/record/list" ||
this.$route.name == "check/complain/record/list" ||
this.$route.name == "check/gowork/record/list" ||
this.$route.name == "check/effect/record/list" ||
this.$route.name == "check/other/record/list" ||
this.$route.name == "window/perform/list" ||
this.$route.name == "window/workman/perform/list" ||
this.$route.name == "perform/attend/record/list" ||
this.$route.name == "perform/review/record/list" ||
this.$route.name == "perform/complain/record/list" ||
this.$route.name == "perform/gowork/record/list" ||
this.$route.name == "perform/effect/record/list" ||
this.$route.name == "perform/other/record/list" ||
this.$route.name == "perform/attend/appeal/list" ||
this.$route.name == "window/owner/list" ||
this.$route.name == "staff/perform/summary/list"
) {
this.getArr();
}
this.initForm(this.$route.query);
},
mounted() {
console.log(this.$route);
},
methods: {
salaChange() {
this.$get("/dept/getDeptBySalaId", { salaId: this.form.salaId })
.then((res) => {
if (res.code == 1) {
this.deptArr = res.data.data;
this.page = 1;
}
})
.catch((error) => {
this.$message.error(error.message);
});
},
deptChange() {
this.page = 1;
},
getArr() {
this.$get("/dept/getSalaList")
.then((res) => {
if (res.code == 1) {
this.salaArr = res.data.data;
}
})
.catch((error) => {
this.$message.error(error.message);
});
this.$get("/dept/getDeptBySalaId")
.then((res) => {
if (res.code == 1) {
this.deptArr = res.data.data;
}
})
.catch((error) => {
this.$message.error(error.message);
});
},
resetTable() {
let { path, query } = this.$route;
if (this.form.attendanceDateStart && this.form.attendanceDateEnd) {
let startValue = Date.parse(this.form.attendanceDateStart);
let endValue = Date.parse(this.form.attendanceDateEnd);
if (startValue > endValue) {
this.$message.error("查询-结束的日期需大于开始日期");
this.form.attendanceDateEnd = "";
return false;
}
}
if (this.form.startTime && this.form.endTime) {
let startValue = Date.parse(this.form.startTime);
let endValue = Date.parse(this.form.endTime);
if (startValue > endValue) {
this.$message.error("查询-结束的日期需大于开始日期");
this.form.endTime = "";
return false;
}
}
if (this.$route.name == "attendance/stat/list") {
if (this.form.summaryTimeStart && this.form.summaryTimeEnd) {
let startValue = Date.parse(this.form.summaryTimeStart);
let endValue = Date.parse(this.form.summaryTimeEnd);
if (startValue > endValue) {
this.$message.error("查询-结束的日期需大于开始日期");
this.form.summaryTimeEnd = "";
return false;
}
} else {
this.form.summaryTimeStart = getFirstDay();
this.form.summaryTimeEnd = getLastDay();
}
} else {
delete this.form.summaryTimeStart;
delete this.form.summaryTimeEnd;
}
if (this.$route.name == "attendance/record/hik/list") {
if (this.form.attendanceDateStart && this.form.attendanceDateEnd) {
let startValue = Date.parse(this.form.attendanceDateStart);
let endValue = Date.parse(this.form.attendanceDateEnd);
if (startValue > endValue) {
this.$message.error("查询-结束的日期需大于开始日期");
this.form.attendanceDateEnd = "";
return false;
}
} else {
this.form.attendanceDateStart = getFirstDay();
this.form.attendanceDateEnd = getFirstDay();
}
}
let params = JSON.parse(JSON.stringify(this.form)); //不更改原始数据
let data = this.decode(params);
data.size = -1;
this.$post("/attendance/stat/summary", data).then((res) => {
if (res.code == 1) {
this.$message.success(res.msg);
} else {
this.$message.error(res.msg);
}
});
},
remoteMethod(query, searchType) {
if (query == "") {
console.log("查询参数为空!");
return;
}
this.loading = true;
var param = {
name: query,
searchType: searchType,
};
try {
this.$post("/common/autoComplete/list", param).then(({ data }) => {
this.loading = false;
var tempOptions = {};
data.result.forEach(({ id, name }) => {
tempOptions[id] = name;
});
this.remoteOptions[searchType] = Object.assign({}, tempOptions);
sessionStorage.setItem(
searchType + "OptionsDict",
JSON.stringify(this.remoteOptions[searchType])
);
});
} catch (error) {}
},
async initForm(data) {
//初始化查询表单
let newFormData = {};
// this.form = this.encode(data, this.form);
this.search.forEach((item) => {
//复选框
if (item.type === "checkbox") {
if (this.form[item.name] == undefined) {
newFormData[item.name] = [];
} else if (Array.prototype.isPrototypeOf(this.form[item.name])) {
newFormData[item.name] = this.form[item.name];
} else {
newFormData[item.name] = [this.form[item.name]];
}
} else if (item.multiple === true) {
if (this.form[item.name] == undefined) {
this.form[item.name] = [];
newFormData[item.name] = [];
} else {
if (!isArray(this.form[item.name])) {
var temp = this.form[item.name];
this.form[item.name] = [temp];
newFormData[item.name] = [temp];
}
}
}
});
this.form = Object.assign({}, this.form, newFormData);
// this.form = Object.assign({}, this.form, data);
// console.log("after form",this.form)
},
cleanForm() {
this.clean();
},
// 清空表单值
clean() {
let newData = {};
this.search.forEach((item) => {
if (item.name === "groupList") {
newData[item.name] = [];
} else {
newData[item.name] = item.multiple ? [] : "";
}
});
delete this.$route.query.yearmonth;
delete this.$route.query.createTimeMonth;
delete this.$route.query.orderColList;
this.form = Object.assign({}, this.form, newData);
this.page = 1;
this.onSubmit();
},
onSubmit() {
this.form.name ? (this.form.page = 1) : (this.form.page = this.page);
this.$post("/staff/list", this.form).then((res) => {
if (res.code == 1) {
let obj = res.data;
obj.searchForm = this.form;
this.$emit("getData", obj);
}
});
},
// 解析url字符串,去除query字段
encode(data, formTemp) {
let newData = {};
Object.keys(Qs.parse(data)).forEach((item) => {
console.log(item);
if (/^query\./.test(item)) {
let val = data[item];
let key = item.replace(/^query\./, "");
this.search.forEach((obj) => {
if (
obj.name === key &&
obj.fuzzy === true &&
val &&
val.length > 0
) {
//支持模糊查询,首尾去掉百分号
val = val.substring(1, val.length - 1);
}
});
let isAreaTemp = ["areaId"];
let isAreaParam = isAreaTemp.includes(key);
newData[key] =
type(val) === "Array"
? val.map(isAreaParam ? Number : String)
: val;
}
});
return newData;
},
// 解析url字符串,加入query字段
decode(data) {
let newData = { page: 1 };
Object.keys(data).forEach((item) => {
let val = data[item];
this.search.forEach((obj) => {
if (
obj.name === item &&
obj.fuzzy === true &&
val &&
val.length > 0
) {
//支持模糊查询,收尾增加百分号
val = val.trim();
if (val.charAt(0) != "%") {
val = "%" + val;
}
if (val.charAt(val.length - 1) != "%") {
val = val + "%";
}
}
});
newData[item] = this.decodeVal(val);
});
return newData;
},
decodeVal(val) {
let valType = type(val);
if (["Number", "Boolean"].indexOf(valType) > -1) {
return val;
}
if (valType == "Undefined" || valType == "Null") {
return undefined;
}
if (valType == "String") {
let str = val.trim();
return str.length ? str : undefined;
}
return val;
},
listChange() {},
},
computed: {},
data() {
return {
downloadUrl: false,
form: {
// groupList: [],
},
remoteOptions: {},
visible: false,
salaArr: [],
deptArr: [],
};
},
};
</script>
<style lang="less">
.search_new_line {
width: 100%;
}
.search-form-wapper {
.el-input {
width: 170px;
}
.el-form-item {
margin-bottom: 10px;
}
.el-select .el-input {
width: 140px;
}
}
@media screen and (max-width: 800px) {
.search-form-wapper {
.el-form-item {
width: 100%;
margin-bottom: 10px;
.el-form-item__label {
min-width: 70px;
}
.el-input {
width: 200px;
}
.el-select .el-input {
width: 200px;
}
}
}
}
</style>
...@@ -242,6 +242,7 @@ ...@@ -242,6 +242,7 @@
:prePageResult="data.pageInfo.prePageResult" :prePageResult="data.pageInfo.prePageResult"
/> />
</div> </div>
<slot name="table-foot" class="table-foot"></slot>
</div> </div>
</template> </template>
......
...@@ -130,8 +130,8 @@ const router = new Router({ ...@@ -130,8 +130,8 @@ const router = new Router({
"check/window/workman/perform" "check/window/workman/perform"
), //自评绩效核查信息(工作人员) ), //自评绩效核查信息(工作人员)
...restBuilder( ...restBuilder(
"window/workman/perform/detail", "check/window/workman/perform/detail",
"window/workman/perform/detail" "check/window/workman/perform/detail"
), //自评绩效核查信息(工作人员一张表) ), //自评绩效核查信息(工作人员一张表)
...restBuilder("perform/attend/appeal", "perform/attend/appeal"), //绩效记录申诉信息 ...restBuilder("perform/attend/appeal", "perform/attend/appeal"), //绩效记录申诉信息
......
...@@ -10,12 +10,24 @@ ...@@ -10,12 +10,24 @@
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<!-- <Field label="请假人" prop="leavePersonId" v-model="form.leavePersonId" placeholder="请输入请假人"/> --> <!-- <Field label="请假人" prop="leavePersonId" v-model="form.leavePersonId" placeholder="请输入请假人"/> -->
<!-- <Field
label="请假人"
prop="leavePerson"
v-model="form.leavePerson"
placeholder="请输入请假人"
:maxLength="10"
:disabled="pageInfo.type == 'view'"
/> -->
<Field <Field
label="请假人" label="请假人"
prop="leavePerson" prop="leavePerson"
type="select"
filterable
remote
v-model="form.leavePerson" v-model="form.leavePerson"
placeholder="请输入请假人" placeholder="请输入请假人"
:maxLength="10" :maxLength="10"
:enumData="staffList"
:disabled="pageInfo.type == 'view'" :disabled="pageInfo.type == 'view'"
/> />
<Field <Field
...@@ -163,6 +175,7 @@ export default { ...@@ -163,6 +175,7 @@ export default {
loading: true, loading: true,
// 弹出层标题 // 弹出层标题
title: "请假记录信息", title: "请假记录信息",
staffList: {},
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
direction: "rtl", direction: "rtl",
...@@ -210,7 +223,25 @@ export default { ...@@ -210,7 +223,25 @@ export default {
}; };
}, },
watch: {}, watch: {},
mounted() {
this.remoteMethod();
},
methods: { methods: {
async remoteMethod() {
await this.$post(`/staff/list`, {
page: 1,
size: -1,
}).then((res) => {
let data = res.data.data;
let obj = {};
console.log(data);
for (let key in data) {
obj[data[key].id] = data[key].name;
}
this.staffList = obj;
this.dict.staffList = this.staffList;
});
},
// beforeSubmit() { // beforeSubmit() {
// if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) { // if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) {
// // this.submitForm(); // // this.submitForm();
...@@ -283,6 +314,7 @@ export default { ...@@ -283,6 +314,7 @@ export default {
this.open = false; this.open = false;
this.$emit("ok"); this.$emit("ok");
}, },
changedate(val) { changedate(val) {
if (this.form.startTime && this.form.endTime) { if (this.form.startTime && this.form.endTime) {
if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) { if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) {
......
...@@ -466,7 +466,9 @@ export default { ...@@ -466,7 +466,9 @@ export default {
{ {
label: "实到", label: "实到",
prop: "goTimes", prop: "goTimes",
formatter: this.formatter, formatter: (row) => {
return row.goTimes == 0 ? 0 : row.goTimes ? row.goTimes : "--";
},
show: true, show: true,
}, },
{ {
......
...@@ -101,14 +101,37 @@ ...@@ -101,14 +101,37 @@
label="工作纪律" label="工作纪律"
align="center" align="center"
> >
<template slot-scope="scope">
<el-input
v-if="form.view !== '查看'"
class="item"
v-model="scope.row.discipline"
@input="handleInput(scope.row)"
placeholder="请输入内容"
></el-input>
<div v-else class="txt">{{ scope.row.discipline }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="specification" prop="specification"
label="服务规范" label="服务规范"
align="center" align="center"
> >
<template slot-scope="scope">
<el-input
v-if="form.view !== '查看'"
class="item"
@input="handleInput(scope.row)"
v-model="scope.row.specification"
placeholder="请输入内容"
></el-input>
<div v-else class="txt">{{ scope.row.specification }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column prop="bonusScore" label="加分" align="center"> <el-table-column prop="bonusScore" label="加分" align="center">
<template slot-scope="scope">
<div class="txt">{{ scope.row.bonusScore }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column prop="sumScore" label="合计得分" align="center"> <el-table-column prop="sumScore" label="合计得分" align="center">
</el-table-column> </el-table-column>
...@@ -412,6 +435,15 @@ export default { ...@@ -412,6 +435,15 @@ export default {
}, },
methods: { methods: {
handleInput(val) {
val.sumScore =
Number(val.bonusScore) +
Number(val.discipline) +
Number(val.specification);
this.form.discipline = Number(val.discipline);
this.form.specification = Number(val.specification);
this.form.sumScore = Number(val.sumScore);
},
functionTime(val) { functionTime(val) {
let time = timestampToTime(val, 6); let time = timestampToTime(val, 6);
return time; return time;
......
...@@ -72,7 +72,7 @@ export default { ...@@ -72,7 +72,7 @@ export default {
: this.radio1 == 2 : this.radio1 == 2
? this.$router.push("/check/window/workman/perform/list?page=1") ? this.$router.push("/check/window/workman/perform/list?page=1")
: this.radio1 == 3 : this.radio1 == 3
? this.$router.push("/window/workman/perform/detail/list?page=1") ? this.$router.push("/check/window/workman/perform/detail/list?page=1")
: ""; : "";
}, },
}, },
...@@ -115,80 +115,188 @@ export default { ...@@ -115,80 +115,188 @@ export default {
fuzzy: false, fuzzy: false,
}, },
], ],
columns: [ columns:
{ type: "selection", width: 60 }, JSON.parse(sessionStorage.getItem("userData")).id == 1
{ type: "index", label: "序号", width: 50 }, ? [
{ label: "窗口负责人", prop: "ownerName" }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "窗口首席代表", prop: "ownerName" },
{ {
label: "登记年月", label: "登记年月",
formatter: (row) => { formatter: (row) => {
return `${row.year ? row.year : "--"}-${ return `${row.year ? row.year : "--"}-${
row.month row.month
? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(row.month) ? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(row.month)
? "0" + row.month ? "0" + row.month
: row.month : row.month
: "--" : "--"
}`; }`;
}, },
}, },
{ label: "所属大厅", prop: "salaName", formatter: this.formatter }, {
label: "所属大厅",
prop: "salaName",
formatter: this.formatter,
},
{ {
label: "所属部门", label: "所属部门",
prop: "deptName", prop: "deptName",
}, },
{ {
label: "考核窗口", label: "考核窗口",
formatter: (row) => { formatter: (row) => {
return `${row.windowName ? row.windowName : "--"}`; return `${row.windowName ? row.windowName : "--"}`;
}, },
}, },
{ label: "表单名称", prop: "fromName" }, { label: "表单名称", prop: "fromName" },
{ label: "总分分值", prop: "sumScore", formatter: this.formatter }, {
{ label: "总分分值",
label: "提交时间", prop: "sumScore",
prop: "submitDate", formatter: this.formatter,
formatter: this.formatterDate, },
}, {
{ label: "处理状态", prop: "checkStatus", formatter: this.formatter }, label: "提交时间",
prop: "submitDate",
formatter: this.formatterDate,
},
{
label: "核查人",
prop: "leaderCheckPerson",
formatter: this.formatter,
},
{
label: "最新核查时间",
prop: "leaderCheckTime",
formatter: this.formatterDate,
},
{
label: "处理状态",
prop: "checkStatus",
formatter: this.formatter,
},
{ {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: (row) => { formatter: (row) => {
return row.checkStatus == 1 ? ( return row.checkStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noDel noEdit
noEdit noView
noView reCheck
reCheck text={"自评核查"}
text={"自评核查"} row={row}
row={row} onEdit={this.toEdit}
onEdit={this.toEdit} onView={this.toView}
onView={this.toView} onDel={this.toDel}
onDel={this.toDel} />
/> ) : (
) : ( <table-buttons
<table-buttons noAdd
noAdd noEdit
noDel text={"自评核查"}
noEdit row={row}
text={"自评核查"} onEdit={this.toEdit}
row={row} onView={this.toView}
onEdit={this.toEdit} onDel={this.toDel}
onView={this.toView} />
onDel={this.toDel} );
/> },
); },
}, ]
}, : [
], { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "窗口负责人", prop: "ownerName" },
{
label: "登记年月",
formatter: (row) => {
return `${row.year ? row.year : "--"}-${
row.month
? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(row.month)
? "0" + row.month
: row.month
: "--"
}`;
},
},
{
label: "所属大厅",
prop: "salaName",
formatter: this.formatter,
},
{
label: "所属部门",
prop: "deptName",
},
{
label: "考核窗口",
formatter: (row) => {
return `${row.windowName ? row.windowName : "--"}`;
},
},
{ label: "表单名称", prop: "fromName" },
{
label: "总分分值",
prop: "sumScore",
formatter: this.formatter,
},
{
label: "提交时间",
prop: "submitDate",
formatter: this.formatterDate,
},
{
label: "处理状态",
prop: "checkStatus",
formatter: this.formatter,
},
{
label: "操作",
width: 240,
formatter: (row) => {
return row.checkStatus == 1 ? (
<table-buttons
noAdd
noDel
noEdit
noView
reCheck
text={"自评核查"}
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noDel
noEdit
text={"自评核查"}
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
}, },
}; };
}, },
......
...@@ -16,33 +16,30 @@ ...@@ -16,33 +16,30 @@
>导出</el-button >导出</el-button
> >
</div> </div>
<LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable> <LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable>
</div> </div>
</template> </template>
<script> <script>
import {
timestampToTime,
getFirstDay,
getLastDay,
} from "@/assets/utils/dateFormat";
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "WindowWorkmanPerformDetailList", name: "WindowWorkmanPerformDetailList",
components: {
drawerShow,
},
mixins: [table], mixins: [table],
created() {}, created() {
this.query.yearmonth = timestampToTime(new Date(), 2);
this.query.year = timestampToTime(new Date(), 2).slice(0, 4);
this.query.month = timestampToTime(new Date(), 2).slice(5);
console.log(this.query);
},
methods: { methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
/** 导出Excel */ /** 导出Excel */
doExport() { doExport() {
this.isExport = true; this.isExport = true;
...@@ -67,61 +64,116 @@ export default { ...@@ -67,61 +64,116 @@ export default {
: this.radio1 == 2 : this.radio1 == 2
? this.$router.push("/check/window/workman/perform/list?page=1") ? this.$router.push("/check/window/workman/perform/list?page=1")
: this.radio1 == 3 : this.radio1 == 3
? this.$router.push("/window/workman/perform/detail/list?page=1") ? this.$router.push("/check/window/workman/perform/detail/list?page=1")
: ""; : "";
}, },
}, },
data() { data() {
return { return {
radio1: "3",
isExport: false,
config: { config: {
radio1: "3", isshowTabPane: true,
isExport: false, search: [
search: [], {
name: "salaId",
type: "selectSalaId",
label: "大厅",
fuzzy: false,
},
{
name: "deptId",
type: "selectDeptId",
label: "部门",
fuzzy: false,
},
{
name: "yearmonth",
type: "month",
label: "请选择考评年月",
fuzzy: false,
},
{
name: "staffName",
type: "text",
width: 200,
label: "工作人员姓名搜索",
fuzzy: false,
},
],
columns: [ columns: [
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "工作人员名称", prop: "staffName" }, { label: "工作人员名称", prop: "staffName" },
{ label: "所属部门名称", prop: "deptName" }, {
label: "考评年月",
{ label: "所属大厅名称", prop: "salaName" }, formatter: (row) => {
return `${row.year ? row.year : "--"}-${
row.month
? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(row.month)
? "0" + row.month
: row.month
: "--"
}`;
},
},
{ {
label: "工作纪律得分", label: "所属大厅",
prop: "salaName",
formatter: this.formatter,
},
{
label: "部门(单位)名称",
prop: "deptName",
formatter: this.formatter,
},
{
label: "工作纪律",
prop: "discipline", prop: "discipline",
formatter: this.formatter, formatter: this.formatter,
}, },
{ {
label: "服务规范得分", label: "服务规范",
prop: "specification", prop: "specification",
formatter: this.formatter, formatter: this.formatter,
}, },
{ {
label: "综合管理得分", label: "综合管理",
prop: "management", prop: "management",
formatter: this.formatter, formatter: this.formatter,
}, },
{ {
label: "群众评议得分", label: "群众评议",
prop: "evaluation", prop: "evaluation",
formatter: this.formatter, formatter: this.formatter,
}, },
{ {
label: "工作效能得分", label: "工作效能",
prop: "efficiency", prop: "efficiency",
formatter: this.formatter, formatter: this.formatter,
}, },
{ label: "加分", prop: "bonusScore", formatter: this.formatter }, {
label: "加分",
prop: "bonusScore",
formatter: this.formatter,
},
{ label: "合计得分", prop: "sumScore", formatter: this.formatter }, {
label: "合计得分",
prop: "sumScore",
formatter: this.formatter,
},
{ {
label: "考核等级1好2较好3一般4较差", label: "考核等级",
prop: "examineLevel", prop: "examineLevel",
formatter: this.formatter, formatter: this.formatter,
}, },
...@@ -131,3 +183,16 @@ export default { ...@@ -131,3 +183,16 @@ export default {
}, },
}; };
</script> </script>
<style lang="less" scoped>
/deep/.el-radio-button__inner {
border: 1px solid #eee !important;
height: 28px;
line-height: 3px;
}
/deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner {
background: #00b565;
border: none !important;
color: #fff !important;
line-height: 3px;
}
</style>
...@@ -44,32 +44,82 @@ ...@@ -44,32 +44,82 @@
label="工作纪律" label="工作纪律"
align="center" align="center"
> >
<template slot-scope="scope">
<el-input
v-if="form.view !== '查看'"
class="item"
v-model="scope.row.discipline"
@input="handleInput(scope.row)"
placeholder="请输入内容"
></el-input>
<div v-else class="txt">{{ scope.row.discipline }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="specification" prop="specification"
label="服务规范" label="服务规范"
align="center" align="center"
> >
<template slot-scope="scope">
<el-input
v-if="form.view !== '查看'"
class="item"
v-model="scope.row.specification"
placeholder="请输入内容"
@input="handleInput(scope.row)"
></el-input>
<div v-else class="txt">{{ scope.row.specification }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="management" prop="management"
label="综合管理" label="综合管理"
align="center" align="center"
> >
<template slot-scope="scope">
<el-input
v-if="form.view !== '查看'"
class="item"
@input="handleInput(scope.row)"
v-model="scope.row.management"
placeholder="请输入内容"
></el-input>
<div v-else class="txt">{{ scope.row.management }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <!-- <el-table-column
prop="evaluation" prop="evaluation"
label="群众评议" label="群众评议"
align="center" align="center"
> >
</el-table-column> </el-table-column> -->
<el-table-column <el-table-column
prop="efficiency" prop="efficiency"
label="工作效能" label="工作效能"
align="center" align="center"
> >
<template slot-scope="scope">
<el-input
v-if="form.view !== '查看'"
class="item"
@input="handleInput(scope.row)"
v-model="scope.row.efficiency"
placeholder="请输入内容"
></el-input>
<div v-else class="txt">{{ scope.row.efficiency }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column prop="bonusScore" label="加分" align="center"> <el-table-column prop="bonusScore" label="加分" align="center">
<template slot-scope="scope">
<el-input
v-if="form.view !== '查看'"
class="item"
@input="handleInput(scope.row)"
v-model="scope.row.bonusScore"
placeholder="请输入内容"
></el-input>
<div v-else class="txt">{{ scope.row.bonusScore }}</div>
</template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -77,6 +127,9 @@ ...@@ -77,6 +127,9 @@
label="综合评定打分" label="综合评定打分"
align="center" align="center"
> >
<template slot-scope="scope">
<div class="txt">{{ scope.row.sumScore }}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="examineLevel" prop="examineLevel"
...@@ -85,7 +138,23 @@ ...@@ -85,7 +138,23 @@
width="200" width="200"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ dict.examineLevel[scope.row.examineLevel] }} <el-select
v-model="scope.row.examineLevel"
v-if="form.view !== '查看'"
placeholder="请选择"
>
<el-option
v-for="($label, $value) in dict.examineLevel"
:key="$value"
:label="$label"
:value="Number($value)"
>
<!-- {{ dict.examineLevel }} -->
</el-option>
</el-select>
<div v-else class="txt">
{{ dict.examineLevel[scope.row.examineLevel] }}
</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -319,6 +388,16 @@ export default { ...@@ -319,6 +388,16 @@ export default {
}, },
methods: { methods: {
handleInput(val) {
val.sumScore =
Number(val.bonusScore) +
Number(val.discipline) +
Number(val.efficiency) +
Number(val.evaluation) +
Number(val.management) +
Number(val.specification);
console.log(val);
},
functionTime(val) { functionTime(val) {
let time = timestampToTime(val, 6); let time = timestampToTime(val, 6);
return time; return time;
......
...@@ -73,7 +73,7 @@ export default { ...@@ -73,7 +73,7 @@ export default {
: this.radio1 == 2 : this.radio1 == 2
? this.$router.push("/check/window/workman/perform/list?page=1") ? this.$router.push("/check/window/workman/perform/list?page=1")
: this.radio1 == 3 : this.radio1 == 3
? this.$router.push("/window/workman/perform/detail/list?page=1") ? this.$router.push("/check/window/workman/perform/detail/list?page=1")
: ""; : "";
}, },
}, },
...@@ -116,87 +116,196 @@ export default { ...@@ -116,87 +116,196 @@ export default {
fuzzy: false, fuzzy: false,
}, },
], ],
columns: [ columns:
{ type: "selection", width: 60 }, JSON.parse(sessionStorage.getItem("userData")).id == 1
{ type: "index", label: "序号", width: 50 }, ? [
{ label: "窗口负责人", prop: "ownerName" }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "窗口首席代表", prop: "ownerName" },
{ {
label: "登记年月", label: "登记年月",
formatter: (row) => { formatter: (row) => {
return `${row.year ? row.year : "--"}-${ return `${row.year ? row.year : "--"}-${
row.month row.month
? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(row.month) ? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(row.month)
? "0" + row.month ? "0" + row.month
: row.month : row.month
: "--" : "--"
}`; }`;
}, },
}, },
{ label: "所属大厅", prop: "salaName", formatter: this.formatter }, {
label: "所属大厅",
prop: "salaName",
formatter: this.formatter,
},
{ {
label: "所属部门", label: "所属部门",
prop: "deptName", prop: "deptName",
}, },
{ {
label: "考核窗口", label: "窗口(单位)名称",
formatter: (row) => { formatter: (row) => {
return `${row.windowName ? row.windowName : "--"}`; return `${row.windowName ? row.windowName : "--"}`;
}, },
}, },
{ label: "表单名称", prop: "fromName" }, { label: "表单名称", prop: "fromName" },
// { label: "总分分值", prop: "sumScore", formatter: this.formatter }, // { label: "总分分值", prop: "sumScore", formatter: this.formatter },
{ {
label: "提交时间", label: "提交时间",
prop: "submitDate", prop: "submitDate",
width: 110, width: 110,
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{ {
label: "最新核查时间", label: "核查人",
prop: "updateTime", formatter: (row) => {
width: 150, return `${
formatter: this.formatterDate, row.leaderCheckPerson
}, ? row.leaderCheckPerson
{ label: "处理状态", prop: "checkStatus", formatter: this.formatter }, : row.manageCheckPerson
? row.manageCheckPerson
: "--"
}`;
},
},
{
label: "最新核查时间",
prop: "manageCheckTime",
width: 150,
formatter: this.formatterDate,
},
{
label: "处理状态",
prop: "checkStatus",
formatter: this.formatter,
},
{ {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: (row) => { formatter: (row) => {
return row.checkStatus == 1 ? ( return row.checkStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noDel noEdit
noEdit reCheck
reCheck noView
noView text={"自评核查"}
text={"自评核查"} row={row}
row={row} onEdit={this.toEdit}
onEdit={this.toEdit} onView={this.toView}
onView={this.toView} onDel={this.toDel}
onDel={this.toDel} />
/> ) : (
) : ( <table-buttons
<table-buttons noAdd
noAdd noEdit
noDel text={"自评核查"}
noEdit row={row}
text={"自评核查"} onEdit={this.toEdit}
row={row} onView={this.toView}
onEdit={this.toEdit} onDel={this.toDel}
onView={this.toView} />
onDel={this.toDel} );
/> },
); },
}, ]
}, : [
], { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "窗口负责人", prop: "ownerName" },
{
label: "登记年月",
formatter: (row) => {
return `${row.year ? row.year : "--"}-${
row.month
? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(row.month)
? "0" + row.month
: row.month
: "--"
}`;
},
},
{
label: "所属大厅",
prop: "salaName",
formatter: this.formatter,
},
{
label: "所属部门",
prop: "deptName",
},
{
label: "考核窗口",
formatter: (row) => {
return `${row.windowName ? row.windowName : "--"}`;
},
},
{ label: "表单名称", prop: "fromName" },
// { label: "总分分值", prop: "sumScore", formatter: this.formatter },
{
label: "提交时间",
prop: "submitDate",
width: 110,
formatter: this.formatterDate,
},
{
label: "最新核查时间",
prop: "updateTime",
width: 150,
formatter: this.formatterDate,
},
{
label: "处理状态",
prop: "checkStatus",
formatter: this.formatter,
},
{
label: "操作",
width: 240,
formatter: (row) => {
return row.checkStatus == 1 ? (
<table-buttons
noAdd
noEdit
reCheck
noView
noDel
text={"自评核查"}
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noEdit
noDel
text={"自评核查"}
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
}, },
}; };
}, },
......
...@@ -5,7 +5,11 @@ ...@@ -5,7 +5,11 @@
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig"> <LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable> </LayoutTable>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="已处理" name="2"> <el-tab-pane label="申诉通过" name="2">
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable>
</el-tab-pane>
<el-tab-pane label="申诉不通过" name="3">
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig"> <LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable> </LayoutTable>
</el-tab-pane> </el-tab-pane>
...@@ -104,21 +108,160 @@ export default { ...@@ -104,21 +108,160 @@ export default {
handleClick() { handleClick() {
this.query.page = 1; this.query.page = 1;
this.query.size = 10; this.query.size = 10;
console.log(this.tableConfig);
this.activeName == 1
? ""
: (this.tableConfig.columns = [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{
label: "窗口首席代表",
prop: "appealPerson",
},
{ label: "姓名", prop: "staffName", formatter: this.formatter },
{
label: "所属大厅",
prop: "salaName",
formatter: this.formatter,
},
{
label: "所属部门",
prop: "deptName",
formatter: this.formatter,
},
{
label: "违规类型",
prop: "irregularType",
formatter: this.formatter,
},
{
label: "绩效规则",
prop: "ruleId",
formatter: this.formatter,
},
{
label: "加分/扣分方式",
prop: "subMethod",
formatter: this.formatter,
},
// {
// label: "加分/扣分方式",
// prop: "subAddType",
// formatter: this.formatter,
// },
{
label: "加分/扣分时间",
prop: "deductTime",
formatter: this.formatterDate,
},
{ label: "分值", prop: "score", formatter: this.formatter },
{
label: "申诉时间",
prop: "appealTime",
formatter: this.formatterDate,
},
{
label: "申诉人",
prop: "appealPerson",
formatter: this.formatter,
},
{
label: "处理时间",
prop: "processTime",
formatter: this.formatterDate,
},
{
label: "处理人员",
prop: "processPerson",
formatter: this.formatter,
},
{
label: "是否核查",
prop: "checkStatus",
formatter: this.formatter,
},
{
label: "处理状态",
prop: "processStatus",
formatter: this.formatter,
},
/* {label: "绩效记录申诉附件信息",
width: 120,
prop: "subColumns",
formatter: (row) => {
let widthsize = this.columnSet.reduce((pre, cur) => {
return pre + Number(cur.width);
}, 50);
return (
<el-popover placement="right" width={widthsize} trigger="click">
{this.renderTable(row.performAttendAppealFilesList)}
<el-button type="text" slot="reference">详细</el-button>
</el-popover>
);
},
},*/
{
label: "操作",
formatter: (row) => {
return row.processStatus == 2 ? (
<table-buttons
noAdd
noDel
noEdit
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noDel
noView
noEdit
chuli
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
]);
this.getData(); this.getData();
}, },
getData() { getData() {
this.activeName == 1 || this.activeName == 2 let obj = {
? this.$post("/perform/attend/appeal/list", { processStatus: this.activeName == 1 ? "1" : "2",
processStatus: this.activeName, page: this.query.page,
page: this.query.page, size: this.query.size,
size: this.query.size, appealTimeStart: this.query.yearmonth
appealTimeStart: this.query.yearmonth ? this.query.yearmonth + "-01"
? this.query.yearmonth + "-01" : "",
: "", appealTimeEnd: this.query.yearmonth ? this.query.yearmonth + "-31" : "",
appealTimeEnd: this.query.yearmonth staffName: this.query.staffName,
? this.query.yearmonth + "-31" salaId:this.query.salaId,
: "", deptId:this.query.deptId,
}).then((res) => { checkStatus: this.query.checkStatus,
irregularOtherType: this.query.irregularOtherType,
};
this.activeName == 2
? (obj.appealResult = 1)
: this.activeName == 3
? (obj.appealResult = 2)
: "";
this.activeName == 1 || this.activeName == 2 || this.activeName == 3
? this.$post("/perform/attend/appeal/list", obj).then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.tableData = res.data; this.tableData = res.data;
this.dict = res.dict; this.dict = res.dict;
...@@ -193,16 +336,28 @@ export default { ...@@ -193,16 +336,28 @@ export default {
config: { config: {
isshowTabPane: false, isshowTabPane: false,
search: [ search: [
{
name: "checkStatus",
type: "select",
label: "核查情况",
fuzzy: false,
},
{ {
name: "irregularOtherType", name: "irregularOtherType",
type: "select", type: "select",
label: "全部类型", label: "全部类型",
fuzzy: false, fuzzy: false,
}, },
{
name: "salaId",
type: "selectSalaId",
label: "大厅",
fuzzy: false,
},
{ {
name: "deptId", name: "deptId",
type: "select", type: "selectDeptId",
label: "全部部门", label: "部门",
fuzzy: false, fuzzy: false,
}, },
{ {
...@@ -222,9 +377,22 @@ export default { ...@@ -222,9 +377,22 @@ export default {
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{
label: "窗口首席代表",
prop: "appealPerson",
formatter: this.formatter,
},
{ label: "姓名", prop: "staffName", formatter: this.formatter }, { label: "姓名", prop: "staffName", formatter: this.formatter },
{
{ label: "所属部门", prop: "deptName", formatter: this.formatter }, label: "所属大厅",
prop: "salaName",
formatter: this.formatter,
},
{
label: "所属部门",
prop: "deptName",
formatter: this.formatter,
},
{ {
label: "违规类型", label: "违规类型",
...@@ -232,13 +400,22 @@ export default { ...@@ -232,13 +400,22 @@ export default {
formatter: this.formatter, formatter: this.formatter,
}, },
{ label: "绩效规则", prop: "ruleId", formatter: this.formatter }, {
label: "绩效规则",
prop: "ruleId",
formatter: this.formatter,
},
{ {
label: "加分/扣分方式", label: "加分/扣分方式",
prop: "subAddType", prop: "subMethod",
formatter: this.formatter, formatter: this.formatter,
}, },
// {
// label: "加分/扣分方式",
// prop: "subAddType",
// formatter: this.formatter,
// },
{ {
label: "加分/扣分时间", label: "加分/扣分时间",
...@@ -253,7 +430,26 @@ export default { ...@@ -253,7 +430,26 @@ export default {
prop: "appealTime", prop: "appealTime",
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{
label: "申诉人",
prop: "appealPerson",
formatter: this.formatter,
},
// {
// label: "处理时间",
// prop: "processTime",
// formatter: this.formatterDate,
// },
// {
// label: "处理人员",
// prop: "processPerson",
// formatter: this.formatter,
// },
{
label: "是否核查",
prop: "checkStatus",
formatter: this.formatter,
},
{ {
label: "处理状态", label: "处理状态",
prop: "processStatus", prop: "processStatus",
......
...@@ -204,7 +204,7 @@ export default { ...@@ -204,7 +204,7 @@ export default {
{ {
name: "staffName", name: "staffName",
type: "text", type: "text",
label: "请输入员工姓名搜索", label: "员工姓名搜索",
fuzzy: false, fuzzy: false,
}, },
], ],
......
...@@ -210,7 +210,7 @@ export default { ...@@ -210,7 +210,7 @@ export default {
{ {
name: "staffName", name: "staffName",
type: "text", type: "text",
label: "请输入员工姓名搜索", label: "员工姓名搜索",
fuzzy: false, fuzzy: false,
}, },
], ],
......
...@@ -98,6 +98,8 @@ ...@@ -98,6 +98,8 @@
? "玩手机" ? "玩手机"
: form.irregularType == 4 : form.irregularType == 4
? "睡觉" ? "睡觉"
: form.irregularType == 4
? "其他"
: "--" : "--"
}} }}
</p> </p>
...@@ -188,7 +190,16 @@ ...@@ -188,7 +190,16 @@
" "
> >
</el-image> --> </el-image> -->
<filepReview v-if="form.filePaths" :src="form.filePaths" /> <filepReview
v-if="form.filePaths || form.snapPath"
:src="
form.filePaths
? form.filePaths
: form.snapPath
? form.snapPath
: []
"
/>
<span v-else>--</span> <span v-else>--</span>
</div> </div>
<ImageUpload <ImageUpload
...@@ -240,7 +251,9 @@ ...@@ -240,7 +251,9 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item :label="form.subAddType == 1 ? '加分分值:' : '扣分分值:'"> <el-form-item
:label="form.subAddType == 1 ? '加分分值:' : '扣分分值:'"
>
<p>{{ form.subAddType == 1 ? "+" : "-" }} {{ form.score }}</p> <p>{{ form.subAddType == 1 ? "+" : "-" }} {{ form.score }}</p>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -489,6 +502,10 @@ export default { ...@@ -489,6 +502,10 @@ export default {
label: "睡觉", label: "睡觉",
value: 4, value: 4,
}, },
{
label: "其他",
value: 5,
},
], ],
form: {}, form: {},
baseUrl: process.env.VUE_APP_API_BASE_URL + "/", baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
......
...@@ -178,6 +178,12 @@ export default { ...@@ -178,6 +178,12 @@ export default {
config: { config: {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{
name: "subMethod",
type: "select",
label: "效能分类",
fuzzy: false,
},
{ {
name: "processStatus", name: "processStatus",
type: "select", type: "select",
...@@ -206,7 +212,7 @@ export default { ...@@ -206,7 +212,7 @@ export default {
{ {
name: "staffName", name: "staffName",
type: "text", type: "text",
label: "请输入员工姓名搜索", label: "员工姓名搜索",
fuzzy: false, fuzzy: false,
}, },
], ],
...@@ -316,9 +322,28 @@ export default { ...@@ -316,9 +322,28 @@ export default {
width: 200, width: 200,
fixed: "right", fixed: "right",
formatter: (row) => { formatter: (row) => {
return row.processStatus == 1 ? ( return row.subMethod == 1 && row.processStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noEdit
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : row.subMethod == 2 && row.processStatus == 1 ? (
<table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : row.subMethod == 1 && row.processStatus == 2 ? (
<table-buttons
noAdd
noEdit
noDel
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
<drawer-show ref="drawerform" @ok="getData" /> </div>
</div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
import drawerShow from "./drawershow"; import drawerShow from "./drawershow";
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "PerformErrorRecordList", name: "PerformErrorRecordList",
components: { components: {
drawerShow drawerShow,
}, },
mixins: [table], mixins: [table],
created() { created() {},
}, methods: {
methods: { /** 重写新增方法 */
/** 重写新增方法 */ toAdd(row) {
toAdd(row) { this.$refs.drawerform.add(row);
this.$refs.drawerform.add(row); },
}, /** 重写编辑方法 */
/** 重写编辑方法 */ toEdit(row) {
toEdit(row) { this.$refs.drawerform.edit(row);
this.$refs.drawerform.edit(row); },
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
search: [
{
name: "staffName",
type: "text",
label: "员工姓名",
fuzzy: true,
},
{
name: "workNum",
type: "text",
label: "工号",
fuzzy: true,
},
{
name: "windowNum",
type: "text",
label: "窗口编号",
fuzzy: true,
},
{
name: "deptName",
type: "text",
label: "所属部门名称",
fuzzy: true,
},
{
name: "irregularType",
type: "select",
label: "违规类型",
fuzzy: true,
},
{
name: "happenTime",
type: "date",
label: "发生时间",
fuzzy: true,
},
{
name: "duration",
type: "text",
label: "持续时间,秒",
fuzzy: true,
},
{
name: "ruleName",
type: "text",
label: "规则名称",
fuzzy: true,
},
{
name: "deductPerson",
type: "text",
label: "扣分人员",
fuzzy: true,
},
{
name: "score",
type: "text",
label: "扣分或增加分值",
fuzzy: true,
},
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "员工姓名", prop: "staffName" },
{ label: "工号", prop: "workNum" },
{ label: "窗口编号", prop: "windowNum" },
{ label: "所属部门", prop: "deptId", formatter: this.formatter },
{ label: "所属部门名称", prop: "deptName" },
{
label: "违规类型",
prop: "irregularType",
formatter: this.formatter,
},
{
label: "发生时间",
prop: "happenTime",
formatter: this.formatterDate,
},
{
label: "持续时间,秒",
prop: "duration",
formatter: this.formatter,
},
{
label: "报警时间",
prop: "alarmTime",
formatter: this.formatterDate,
},
{ label: "图片凭证地址", prop: "snapPath" },
{ label: "规则名称", prop: "categoryName" },
{ label: "绩效规则id", prop: "ruleId", formatter: this.formatter },
{ label: "规则名称", prop: "ruleName" },
{ label: "扣分方式", prop: "subMethod", formatter: this.formatter },
{ label: "扣分人员", prop: "deductPerson" },
{
label: "扣分时间",
prop: "deductTime",
formatter: this.formatterDate,
},
{ label: "增减类型", prop: "subAddType", formatter: this.formatter },
{ label: "扣分或增加分值", prop: "score", formatter: this.formatter },
{
label: "处理状态",
prop: "processStatus",
formatter: this.formatter,
},
{
label: "创建用户",
prop: "createUserId",
formatter: this.formatter,
},
{
label: "操作",
width: 240,
formatter: (row) => {
return (
<table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
}, },
/** 重写查看方法 */ },
toView(row) { ],
this.$refs.drawerform.view(row); },
},
},
data() {
return {
config: {
search: [
{
name: "staffName",
type: "text",
label: "员工姓名",
fuzzy: true
},
{
name: "workNum",
type: "text",
label: "工号",
fuzzy: true
},
{
name: "windowNum",
type: "text",
label: "窗口编号",
fuzzy: true
},
{
name: "deptName",
type: "text",
label: "所属部门名称",
fuzzy: true
},
{
name: "irregularType",
type: "select",
label: "违规类型",
fuzzy: true
},
{
name: "happenTime",
type: "date",
label: "发生时间",
fuzzy: true
},
{
name: "duration",
type: "text",
label: "持续时间,秒",
fuzzy: true
},
{
name: "ruleName",
type: "text",
label: "规则名称",
fuzzy: true
},
{
name: "deductPerson",
type: "text",
label: "扣分人员",
fuzzy: true
},
{
name: "score",
type: "text",
label: "扣分或增加分值",
fuzzy: true
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "员工姓名", prop: "staffName"},
{label: "工号", prop: "workNum"},
{label: "窗口编号", prop: "windowNum"},
{label: "所属部门", prop: "deptId", formatter: this.formatter},
{label: "所属部门名称", prop: "deptName"},
{label: "违规类型", prop: "irregularType",formatter: this.formatter},
{label: "发生时间", prop: "happenTime", formatter: this.formatterDate},
{label: "持续时间,秒", prop: "duration",formatter: this.formatter},
{label: "报警时间", prop: "alarmTime", formatter: this.formatterDate},
{label: "图片凭证地址", prop: "snapPath"},
{label: "规则名称", prop: "categoryName"},
{label: "绩效规则id", prop: "ruleId", formatter: this.formatter},
{label: "规则名称", prop: "ruleName"},
{label: "扣分方式", prop: "subMethod",formatter: this.formatter},
{label: "扣分人员", prop: "deductPerson"},
{label: "扣分时间", prop: "deductTime", formatter: this.formatterDate},
{label: "增减类型", prop: "subAddType",formatter: this.formatter},
{label: "扣分或增加分值", prop: "score", formatter: this.formatter},
{label: "处理状态", prop: "processStatus",formatter: this.formatter},
{label: "创建用户", prop: "createUserId", formatter: this.formatter},
{
label: "操作",
width: 240,
formatter: row => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
);
}
}
]
}
};
}
}; };
</script> },
\ No newline at end of file };
</script>
...@@ -204,7 +204,7 @@ export default { ...@@ -204,7 +204,7 @@ export default {
{ {
name: "staffName", name: "staffName",
type: "text", type: "text",
label: "请输入员工姓名搜索", label: "员工姓名搜索",
fuzzy: false, fuzzy: false,
}, },
], ],
......
...@@ -204,7 +204,7 @@ export default { ...@@ -204,7 +204,7 @@ export default {
{ {
name: "staffName", name: "staffName",
type: "text", type: "text",
label: "请输入员工姓名搜索", label: "员工姓名搜索",
fuzzy: false, fuzzy: false,
}, },
], ],
......
...@@ -191,8 +191,8 @@ export default { ...@@ -191,8 +191,8 @@ export default {
}, },
{ {
name: "deptId", name: "deptId",
type: "select", type: "selectDeptId",
label: "所属部门", label: "部门",
fuzzy: false, fuzzy: false,
}, },
{ {
...@@ -210,7 +210,7 @@ export default { ...@@ -210,7 +210,7 @@ export default {
{ {
name: "staffName", name: "staffName",
type: "text", type: "text",
label: "请输入员工姓名搜索", label: "员工姓名搜索",
fuzzy: false, fuzzy: false,
}, },
], ],
...@@ -222,7 +222,7 @@ export default { ...@@ -222,7 +222,7 @@ export default {
{ label: "窗口编号", prop: "windowNum", formatter: this.formatter }, { label: "窗口编号", prop: "windowNum", formatter: this.formatter },
{ label: "所属大厅", prop: "salaName",formatter: this.formatter }, { label: "所属大厅", prop: "salaName", formatter: this.formatter },
{ label: "所属部门", prop: "deptName", formatter: this.formatter }, { label: "所属部门", prop: "deptName", formatter: this.formatter },
......
...@@ -153,7 +153,8 @@ export default { ...@@ -153,7 +153,8 @@ export default {
}, },
async getData() { async getData() {
await this.$post( await this.$post(
this.type == 1 ? "/perform/dept/conf/list" : "/perform/staff/conf/list" this.type == 1 ? "/perform/dept/conf/list" : "/perform/staff/conf/list",
{ page: 1, size: -1 }
).then((res) => { ).then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.dataList = res.data.data; this.dataList = res.data.data;
...@@ -165,7 +166,6 @@ export default { ...@@ -165,7 +166,6 @@ export default {
}); });
this.activeName == 2 this.activeName == 2
? await this.$post("/window/owner/list").then((res) => { ? await this.$post("/window/owner/list").then((res) => {
console.log(res);
if (res.code == 1) { if (res.code == 1) {
this.tableData = res.data; this.tableData = res.data;
} }
......
...@@ -71,9 +71,9 @@ export default { ...@@ -71,9 +71,9 @@ export default {
this.$refs.dialogform.view(row); this.$refs.dialogform.view(row);
}, },
afterRender(data) { afterRender(data) {
data.dict.orderCols1 = { data.dict.sortKind = {
asc: "正序", 2: "正序",
desc: "倒序", 1: "倒序",
}; };
console.log(data); console.log(data);
this.config.columns.forEach((v) => { this.config.columns.forEach((v) => {
...@@ -82,7 +82,7 @@ export default { ...@@ -82,7 +82,7 @@ export default {
<p> <p>
<span>服务规范</span> <span>服务规范</span>
<p> <p>
{"(考勤绩效 *" + data.dict.weightPdu.attendWeight + "%"} {"(考勤绩效/" + data.dict.weightPdu.attendWeight + ""}
</p> </p>
</p> </p>
)) ))
...@@ -91,7 +91,7 @@ export default { ...@@ -91,7 +91,7 @@ export default {
<p> <p>
<span>群众评议</span> <span>群众评议</span>
<p> <p>
{"(评价绩效 *" + data.dict.weightPdu.attendWeight + "%"} {"(评价绩效/" + data.dict.weightPdu.reviewWeight + ""}
</p> </p>
</p> </p>
)) ))
...@@ -100,7 +100,7 @@ export default { ...@@ -100,7 +100,7 @@ export default {
<p> <p>
<span>工作效能</span> <span>工作效能</span>
<p> <p>
{"(办件绩效 *" + data.dict.weightPdu.attendWeight + "%"} {"(办件绩效/" + data.dict.weightPdu.goworkWeight + ""}
</p> </p>
</p> </p>
)) ))
...@@ -109,7 +109,7 @@ export default { ...@@ -109,7 +109,7 @@ export default {
<p> <p>
<span>工作纪律</span> <span>工作纪律</span>
<p> <p>
{"(效能绩效 *" + data.dict.weightPdu.attendWeight + "%"} {"(效能绩效/" + data.dict.weightPdu.effectWeight + ""}
</p> </p>
</p> </p>
)) ))
...@@ -117,9 +117,7 @@ export default { ...@@ -117,9 +117,7 @@ export default {
? (v.label = ( ? (v.label = (
<p> <p>
<span>综合管理</span> <span>综合管理</span>
<p> <p>{"(自评绩效 *" + data.dict.weightPdu.selfWeight + "%)"}</p>
{"(自评绩效 *" + data.dict.weightPdu.attendWeight + "%)"}
</p>
</p> </p>
)) ))
: v.label == "加分" : v.label == "加分"
...@@ -152,7 +150,7 @@ export default { ...@@ -152,7 +150,7 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "orderCols1", name: "sortKind",
type: "select", type: "select",
label: "总分排序方式", label: "总分排序方式",
fuzzy: false, fuzzy: false,
...@@ -214,210 +212,215 @@ export default { ...@@ -214,210 +212,215 @@ export default {
return "宜宾市民中心"; return "宜宾市民中心";
}, },
}, },
{ {
label: "服务规范", label: "工作纪律",
prop: "attendScore", prop: "effectScore",
width: 150, width: 150,
formatter: (row) => { formatter: (row) => {
return ( return (
row.attendScore - this.tableData.dict.weightPdu.attendWeight row.effectScore - this.tableData.dict.weightPdu.effectWeight
).toFixed(2) < 0 ? ( ).toFixed(2) < 0 ? (
<span style="color:red"> <span style="color:red">
{row.attendScore + {row.effectScore +
"" + "" +
( (
row.attendScore - row.effectScore -
this.tableData.dict.weightPdu.attendWeight this.tableData.dict.weightPdu.effectWeight
).toFixed(2) + ).toFixed(2) +
""} ""}
</span> </span>
) : ( ) : (
row.attendScore - this.tableData.dict.weightPdu.attendWeight row.effectScore - this.tableData.dict.weightPdu.effectWeight
).toFixed(2) > 0 ? ( ).toFixed(2) > 0 ? (
<span> <span>
{row.attendScore + {row.effectScore +
"" + "" +
"+" + "+" +
( (
row.attendScore - row.effectScore -
this.tableData.dict.weightPdu.attendWeight this.tableData.dict.weightPdu.effectWeight
).toFixed(2) + ).toFixed(2) +
""} ""}
</span> </span>
) : ( ) : (
row.attendScore + row.effectScore +
`(${( `(${(
row.attendScore - this.tableData.dict.weightPdu.attendWeight row.effectScore - this.tableData.dict.weightPdu.effectWeight
).toFixed(2)})` ).toFixed(2)})`
); );
}, },
}, },
{ {
label: "群众评议", label: "服务规范",
prop: "reviewScore", prop: "attendScore",
width: 150, width: 150,
formatter: (row) => { formatter: (row) => {
return ( return (
row.reviewScore - this.tableData.dict.weightPdu.reviewWeight row.attendScore - this.tableData.dict.weightPdu.attendWeight
).toFixed(2) < 0 ? ( ).toFixed(2) < 0 ? (
<span style="color:red"> <span style="color:red">
{row.reviewScore + {row.attendScore +
"" + "" +
( (
row.reviewScore - row.attendScore -
this.tableData.dict.weightPdu.reviewWeight this.tableData.dict.weightPdu.attendWeight
).toFixed(2) + ).toFixed(2) +
""} ""}
</span> </span>
) : ( ) : (
row.reviewScore - this.tableData.dict.weightPdu.reviewWeight row.attendScore - this.tableData.dict.weightPdu.attendWeight
).toFixed(2) > 0 ? ( ).toFixed(2) > 0 ? (
<span> <span>
{row.reviewScore + {row.attendScore +
"" + "" +
"+" + "+" +
( (
row.reviewScore - row.attendScore -
this.tableData.dict.weightPdu.reviewWeight this.tableData.dict.weightPdu.attendWeight
).toFixed(2) + ).toFixed(2) +
""} ""}
</span> </span>
) : ( ) : (
row.reviewScore + row.attendScore +
`(${( `(${(
row.reviewScore - this.tableData.dict.weightPdu.reviewWeight row.attendScore - this.tableData.dict.weightPdu.attendWeight
).toFixed(2)})` ).toFixed(2)})`
); );
}, },
}, },
// {
// label: "投诉绩效指标分数",
// prop: "complainScore",
// formatter: (row) => {
// return (
// row.complainScore +
// `(${this.tableData.dict.attendWeight - row.complainScore})`
// );
// },
// },
{ {
label: "工作效能", label: `综合管理`,
prop: "goworkScore", prop: "complainScore",
width: 150, width: 150,
formatter: (row) => { formatter: (row) => {
return ( return (
row.goworkScore - this.tableData.dict.weightPdu.goworkWeight row.complainScore - this.tableData.dict.weightPdu.selfWeight
).toFixed(2) < 0 ? ( ).toFixed(2) < 0 ? (
<span style="color:red"> <span style="color:red">
{row.goworkScore + {row.complainScore +
"" + "" +
( (
row.goworkScore - row.complainScore -
this.tableData.dict.weightPdu.goworkWeight this.tableData.dict.weightPdu.selfWeight
).toFixed(2) + ).toFixed(2) +
""} ""}
</span> </span>
) : ( ) : (
row.goworkScore - this.tableData.dict.weightPdu.goworkWeight row.complainScore - this.tableData.dict.weightPdu.selfWeight
).toFixed(2) > 0 ? ( ).toFixed(2) > 0 ? (
<span> <span>
{row.goworkScore + {row.complainScore +
"" + "" +
"+" + "+" +
( (
row.goworkScore - row.complainScore -
this.tableData.dict.weightPdu.goworkWeight this.tableData.dict.weightPdu.selfWeight
).toFixed(2) + ).toFixed(2) +
""} ""}
</span> </span>
) : ( ) : (
row.goworkScore + row.complainScore +
`(${( `(${(
row.goworkScore - this.tableData.dict.weightPdu.goworkWeight row.complainScore - this.tableData.dict.weightPdu.selfWeight
).toFixed(2)})` ).toFixed(2)})`
); );
}, },
}, },
{ {
label: "工作纪律", label: "群众评议",
prop: "effectScore", prop: "reviewScore",
width: 150, width: 150,
formatter: (row) => { formatter: (row) => {
return ( return (
row.effectScore - this.tableData.dict.weightPdu.effectWeight row.reviewScore - this.tableData.dict.weightPdu.reviewWeight
).toFixed(2) < 0 ? ( ).toFixed(2) < 0 ? (
<span style="color:red"> <span style="color:red">
{row.effectScore + {row.reviewScore +
"" + "" +
( (
row.effectScore - row.reviewScore -
this.tableData.dict.weightPdu.effectWeight this.tableData.dict.weightPdu.reviewWeight
).toFixed(2) + ).toFixed(2) +
""} ""}
</span> </span>
) : ( ) : (
row.effectScore - this.tableData.dict.weightPdu.effectWeight row.reviewScore - this.tableData.dict.weightPdu.reviewWeight
).toFixed(2) > 0 ? ( ).toFixed(2) > 0 ? (
<span> <span>
{row.effectScore + {row.reviewScore +
"" + "" +
"+" + "+" +
( (
row.effectScore - row.reviewScore -
this.tableData.dict.weightPdu.effectWeight this.tableData.dict.weightPdu.reviewWeight
).toFixed(2) + ).toFixed(2) +
""} ""}
</span> </span>
) : ( ) : (
row.effectScore + row.reviewScore +
`(${( `(${(
row.effectScore - this.tableData.dict.weightPdu.effectWeight row.reviewScore - this.tableData.dict.weightPdu.reviewWeight
).toFixed(2)})` ).toFixed(2)})`
); );
}, },
}, },
// {
// label: "投诉绩效指标分数",
// prop: "complainScore",
// formatter: (row) => {
// return (
// row.complainScore +
// `(${this.tableData.dict.attendWeight - row.complainScore})`
// );
// },
// },
{ {
label: `综合管理`, label: "工作效能",
prop: "otherScore", prop: "goworkScore",
width: 150, width: 150,
formatter: (row) => { formatter: (row) => {
return ( return (
row.otherScore - this.tableData.dict.weightPdu.selfWeight row.goworkScore - this.tableData.dict.weightPdu.goworkWeight
).toFixed(2) < 0 ? ( ).toFixed(2) < 0 ? (
<span style="color:red"> <span style="color:red">
{row.otherScore + {row.goworkScore +
"" + "" +
( (
row.otherScore - this.tableData.dict.weightPdu.selfWeight row.goworkScore -
this.tableData.dict.weightPdu.goworkWeight
).toFixed(2) + ).toFixed(2) +
""} ""}
</span> </span>
) : ( ) : (
row.otherScore - this.tableData.dict.weightPdu.selfWeight row.goworkScore - this.tableData.dict.weightPdu.goworkWeight
).toFixed(2) > 0 ? ( ).toFixed(2) > 0 ? (
<span> <span>
{row.otherScore + {row.goworkScore +
"" + "" +
"+" + "+" +
( (
row.otherScore - this.tableData.dict.weightPdu.selfWeight row.goworkScore -
this.tableData.dict.weightPdu.goworkWeight
).toFixed(2) + ).toFixed(2) +
""} ""}
</span> </span>
) : ( ) : (
row.otherScore + row.goworkScore +
`(${( `(${(
row.otherScore - this.tableData.dict.weightPdu.selfWeight row.goworkScore - this.tableData.dict.weightPdu.goworkWeight
).toFixed(2)})` ).toFixed(2)})`
); );
}, },
}, },
{
label: `加分`,
prop: "otherScore",
width: 150,
formatter: this.formatter,
},
// { // {
// label: "累计异常分数", // label: "累计异常分数",
// prop: "errorScore", // prop: "errorScore",
......
...@@ -46,8 +46,14 @@ ...@@ -46,8 +46,14 @@
v-model="form.mobile" v-model="form.mobile"
:maxLength="11" :maxLength="11"
/> />
<Field label="用户类型" prop="userType" v-model="form.userType" :enumData='dict.userType' type='select' /> <Field
<!-- <Field label="用户状态" prop="status" v-model="form.status" :enumData='dict.status' type='select' />--> label="用户类型"
prop="userType"
v-model="form.userType"
:enumData="dict.userType"
type="select"
/>
<!-- <Field label="用户状态" prop="status" v-model="form.status" :enumData='dict.status' type='select' />-->
<Field <Field
label="角色分配" label="角色分配"
:span="24" :span="24"
...@@ -93,7 +99,7 @@ export default { ...@@ -93,7 +99,7 @@ export default {
loginName: [ loginName: [
{ required: true, message: "请输入英文的用户名", trigger: "blur" }, { required: true, message: "请输入英文的用户名", trigger: "blur" },
{ {
validator: function (rule, value, callback) { validator: function(rule, value, callback) {
// 校验英文的正则 // 校验英文的正则
if (/[A-Za-z0-9]$/.test(value) == false) { if (/[A-Za-z0-9]$/.test(value) == false) {
callback(new Error("请输入英文")); callback(new Error("请输入英文"));
...@@ -145,24 +151,39 @@ export default { ...@@ -145,24 +151,39 @@ export default {
}, },
/**获取数据后弹框 */ /**获取数据后弹框 */
afterRender(data) { afterRender(data) {
let arr = [];
// for (let key in data.dict.roleIds) {
// let obj = {};
// obj["value"] = key;
// obj["label"] = data.dict.roleIds[key];
// arr.push(obj);
// }
// data.dict.roleIds = arr;
if (data.entity.roleIds && data.entity.roleIds.length) {
data.entity.roleIds = data.entity.roleIds.map((v) => {
return v + "";
});
}
console.log(data.entity.roleIds, "1111");
this.$forceUpdate();
this.open = true; this.open = true;
}, },
beforeSubmit(data) { // beforeSubmit(data) {
data.roleIds = data.roleIds // data.roleIds = data.roleIds
.filter((item) => { // .filter((item) => {
return item !== ""; // return item !== "";
}) // })
.join(","); // .join(",");
return data; // return data;
}, // },
afterSubmit(data) { afterSubmit(data) {
this.open = false; this.open = false;
this.$emit("ok"); this.$emit("ok");
}, },
// 表单重置 // 表单重置
reset() { reset() {
this.form = {roleIds:""}; this.form = { roleIds: "" };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -193,5 +214,3 @@ export default { ...@@ -193,5 +214,3 @@ export default {
}, },
}; };
</script> </script>
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig" notDel/> <LayoutTable :data="tableData" :config="tableConfig" notAdd notDel />
<dialog-show ref="dialogform" @ok="getData"/> <dialog-show ref="dialogform" @ok="getData" />
<el-dialog title="用户已分配的角色" :visible.sync="role.visible"> <el-dialog title="用户已分配的角色" :visible.sync="role.visible">
<el-form :model="role.form"> <el-form :model="role.form">
<el-checkbox-group v-model="role.checkList" :min="500"> <el-checkbox-group v-model="role.checkList" :min="500">
<el-checkbox <el-checkbox v-for="item in allRoles" :key="item.id" :label="item.id"
v-for="item in allRoles" >{{ item.name }}
:key="item.id" </el-checkbox>
:label="item.id"
>{{ item.name }}
</el-checkbox
>
</el-checkbox-group> </el-checkbox-group>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -21,18 +17,18 @@ ...@@ -21,18 +17,18 @@
</el-dialog> </el-dialog>
<el-dialog <el-dialog
:title="userRoleDialog.title" :title="userRoleDialog.title"
:visible.sync="userRoleDialog.open" :visible.sync="userRoleDialog.open"
width="60%" width="60%"
append-to-body append-to-body
> >
<el-form label-width="100px"> <el-form label-width="100px">
<Field <Field
label="角色分配" label="角色分配"
:span="24" :span="24"
v-model="roles" v-model="roles"
type="checkbox" type="checkbox"
:enumData="tableData.dict.roleIds" :enumData="tableData.dict.roleIds"
/> />
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -42,24 +38,24 @@ ...@@ -42,24 +38,24 @@
</el-dialog> </el-dialog>
<el-dialog <el-dialog
:title="userDeptDialog.title" :title="userDeptDialog.title"
:visible.sync="userDeptDialog.open" :visible.sync="userDeptDialog.open"
width="60%" width="60%"
append-to-body append-to-body
> >
<div class="mytree"> <div class="mytree">
<el-tree <el-tree
ref="bomTree" ref="bomTree"
:data="data" :data="data"
id="el-tree" id="el-tree"
indent="0" indent="0"
node-key="id" node-key="id"
:props="treeProps" :props="treeProps"
:load="loadNode" :load="loadNode"
highlight-current highlight-current
lazy lazy
:render-content="renderContent" :render-content="renderContent"
@node-click="handleNodeClick" @node-click="handleNodeClick"
> >
</el-tree> </el-tree>
</div> </div>
...@@ -70,68 +66,57 @@ ...@@ -70,68 +66,57 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
:title="userPasswordDialog.title" :title="userPasswordDialog.title"
hei hei
:visible.sync="userPasswordDialog.open" :visible.sync="userPasswordDialog.open"
width="40%" width="40%"
> >
<el-form <el-form ref="form" label-width="110px" label-position="right">
ref="form"
label-width="110px"
label-position="right"
>
<el-row> <el-row>
<Field <Field
:span="20" :span="20"
label="登录名称" label="登录名称"
prop="loginName" prop="loginName"
disabled disabled
v-model="userPasswordDialog.data.loginName" v-model="userPasswordDialog.data.loginName"
/> />
<Field <Field
:span="20" :span="20"
label="重置密码" label="重置密码"
prop="loginPwd" prop="loginPwd"
v-model="userPasswordDialog.data.loginPwd" v-model="userPasswordDialog.data.loginPwd"
/> />
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="updatePasswordConfirm">确 定</el-button> <el-button type="primary" @click="updatePasswordConfirm"
>确 定</el-button
>
<el-button @click="userPasswordDialog.open = false">取 消</el-button> <el-button @click="userPasswordDialog.open = false">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
:title="userLoginDialog.title" :title="userLoginDialog.title"
:visible.sync="userLoginDialog.open" :visible.sync="userLoginDialog.open"
width="40%" width="40%"
> >
<el-form <el-form ref="form" label-width="110px" label-position="right">
ref="form"
label-width="110px"
label-position="right"
>
<el-row> <el-row>
<Field <Field
:span="20" :span="20"
label="登录名称" label="登录名称"
prop="loginName" prop="loginName"
disabled disabled
v-model="userLoginDialog.data.sourceloginName" v-model="userLoginDialog.data.sourceloginName"
/> />
<Field <Field
:span="20" :span="20"
label="修改登录名称" label="修改登录名称"
prop="loginName" prop="loginName"
v-model="userLoginDialog.data.loginName" v-model="userLoginDialog.data.loginName"
/> />
</el-row> </el-row>
</el-form> </el-form>
...@@ -139,9 +124,7 @@ ...@@ -139,9 +124,7 @@
<el-button type="primary" @click="updateLoginConfirm">确 定</el-button> <el-button type="primary" @click="updateLoginConfirm">确 定</el-button>
<el-button @click="userLoginDialog.open = false">取 消</el-button> <el-button @click="userLoginDialog.open = false">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
...@@ -151,10 +134,10 @@ import table from "@/assets/mixins/table"; ...@@ -151,10 +134,10 @@ import table from "@/assets/mixins/table";
export default { export default {
mixins: [table], mixins: [table],
components: {dialogShow}, components: { dialogShow },
methods: { methods: {
// 打开弹窗 // 打开弹窗
async findRole({id}) { async findRole({ id }) {
try { try {
this.tableData.loading = true; this.tableData.loading = true;
this.allRoles = await this.getUserRoles(id); this.allRoles = await this.getUserRoles(id);
...@@ -167,9 +150,9 @@ export default { ...@@ -167,9 +150,9 @@ export default {
this.tableData.loading = false; this.tableData.loading = false;
}, },
renderContent: function (h, {node, data, store}) { renderContent: function(h, { node, data, store }) {
return ( return (
<span> <span>
<i style="font-size:16px;color:#409EFF" class={data.icon}></i> <i style="font-size:16px;color:#409EFF" class={data.icon}></i>
<span style="padding-left: 2px;font-size:14px">{node.label}</span> <span style="padding-left: 2px;font-size:14px">{node.label}</span>
</span> </span>
...@@ -181,7 +164,7 @@ export default { ...@@ -181,7 +164,7 @@ export default {
} }
this.$get("/dept/getListByParentId", { this.$get("/dept/getListByParentId", {
parentId: node.data.id, parentId: node.data.id,
}).then(({data}) => { }).then(({ data }) => {
resolve(data.result); resolve(data.result);
}); });
}, },
...@@ -250,14 +233,14 @@ export default { ...@@ -250,14 +233,14 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.$get("/dept/getListByParentId", { this.$get("/dept/getListByParentId", {
parentId: 0, parentId: 0,
}).then(({data}) => { }).then(({ data }) => {
this.data = data.result; this.data = data.result;
this.node = {}; this.node = {};
}); });
this.userDeptDialog.open = true; this.userDeptDialog.open = true;
}).catch(error => { }).catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}) });
this.tableData.loading = false; this.tableData.loading = false;
}, },
...@@ -279,21 +262,23 @@ export default { ...@@ -279,21 +262,23 @@ export default {
this.tableData.loading = true; this.tableData.loading = true;
this.$post("/user/save", { this.$post("/user/save", {
"id": this.userPasswordDialog.data.id, id: this.userPasswordDialog.data.id,
"loginPwd": this.userPasswordDialog.data.loginPwd, loginPwd: this.userPasswordDialog.data.loginPwd,
}).then((res) => {
if (res && res.code == 1) {
this.userPasswordDialog.data = {};
this.$message.success("修改密码成功!");
this.getData();
this.userPasswordDialog.open = false;
} else {
this.$message.error(res.msg);
}
this.tableData.loading = false;
}).catch(error => {
this.$message.error(error.message);
}) })
.then((res) => {
if (res && res.code == 1) {
this.userPasswordDialog.data = {};
this.$message.success("修改密码成功!");
this.getData();
this.userPasswordDialog.open = false;
} else {
this.$message.error(res.msg);
}
this.tableData.loading = false;
})
.catch((error) => {
this.$message.error(error.message);
});
}, },
updateLoginName(row) { updateLoginName(row) {
...@@ -313,32 +298,34 @@ export default { ...@@ -313,32 +298,34 @@ export default {
console.log("修改登录名"); console.log("修改登录名");
this.tableData.loading = true; this.tableData.loading = true;
this.$post("/login/reLoginName", { this.$post("/login/reLoginName", {
"id": this.userLoginDialog.data.id, id: this.userLoginDialog.data.id,
"loginName": this.userLoginDialog.data.loginName, loginName: this.userLoginDialog.data.loginName,
"userType": this.userLoginDialog.data.userType userType: this.userLoginDialog.data.userType,
}).then((res) => {
if (res && res.code == 1) {
this.userLoginDialog.data = {};
this.$message.success("修改登录名成功!");
this.getData();
this.userLoginDialog.open = false;
} else {
this.$message.error(res.msg);
}
this.tableData.loading = false;
}).catch(error => {
this.$message.error(error.message);
}) })
.then((res) => {
if (res && res.code == 1) {
this.userLoginDialog.data = {};
this.$message.success("修改登录名成功!");
this.getData();
this.userLoginDialog.open = false;
} else {
this.$message.error(res.msg);
}
this.tableData.loading = false;
})
.catch((error) => {
this.$message.error(error.message);
});
}, },
// 获取用户角色列表 // 获取用户角色列表
getUserRoles(id) { getUserRoles(id) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
this.$post("/role/roleNameByUserId", {userId: id}) this.$post("/role/roleNameByUserId", { userId: id })
.then(({data}) => { .then(({ data }) => {
resolve(data); resolve(data);
}) })
.catch(reject); .catch(reject);
}); });
}, },
getRoleUsers(id) { getRoleUsers(id) {
...@@ -347,13 +334,13 @@ export default { ...@@ -347,13 +334,13 @@ export default {
userId: id, userId: id,
size: -1, size: -1,
}) })
.then(({data}) => { .then(({ data }) => {
const result = data.data const result = data.data
.filter((i) => i.roleId + "") .filter((i) => i.roleId + "")
.map((i) => i.roleId + ""); .map((i) => i.roleId + "");
resolve(result); resolve(result);
}) })
.catch(reject); .catch(reject);
}); });
}, },
/** 重写新增方法 */ /** 重写新增方法 */
...@@ -420,8 +407,8 @@ export default { ...@@ -420,8 +407,8 @@ export default {
config: { config: {
isshowTabPane: true, isshowTabPane: true,
columns: [ columns: [
{type: "selection", reserveSelection: true, width: 60}, { type: "selection", reserveSelection: true, width: 60 },
{type: "index", label: "序号", align: "center", width: 50}, { type: "index", label: "序号", align: "center", width: 50 },
{ {
prop: "loginName", prop: "loginName",
label: "登录名称", label: "登录名称",
...@@ -476,15 +463,15 @@ export default { ...@@ -476,15 +463,15 @@ export default {
align: "center", align: "center",
formatter: (row) => { formatter: (row) => {
return ( return (
<div> <div>
<table-buttons <table-buttons
noView noView
noDel noDel
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onDel={this.toDel} onDel={this.toDel}
/> />
{/* {/*
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
...@@ -494,35 +481,35 @@ export default { ...@@ -494,35 +481,35 @@ export default {
分配角色 分配角色
</el-button> </el-button>
*/} */}
<span> </span> <span> </span>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-share" icon="el-icon-share"
onClick={() => this.distributeDept(row)} onClick={() => this.distributeDept(row)}
> >
分配部门 分配部门
</el-button> </el-button>
<span> </span> <span> </span>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-share" icon="el-icon-share"
onClick={() => this.updatePassword(row)} onClick={() => this.updatePassword(row)}
> >
修改密码 修改密码
</el-button> </el-button>
<span> </span> <span> </span>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-share" icon="el-icon-share"
onClick={() => this.updateLoginName(row)} onClick={() => this.updateLoginName(row)}
> >
修改登录名 修改登录名
</el-button> </el-button>
</div> </div>
); );
}, },
}, },
...@@ -553,17 +540,17 @@ export default { ...@@ -553,17 +540,17 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.mytree ::v-deep { .mytree ::v-deep {
.el-tree--highlight-current .el-tree--highlight-current
::v-deep ::v-deep
.el-tree-node.is-checked .el-tree-node.is-checked
> .el-tree-node__content { > .el-tree-node__content {
background-color: rgb(255, 255, 255); background-color: rgb(255, 255, 255);
color: rgb(64, 158, 255); color: rgb(64, 158, 255);
} }
.el-tree--highlight-current .el-tree--highlight-current
::v-deep ::v-deep
.el-tree-node.is-current .el-tree-node.is-current
> .el-tree-node__content { > .el-tree-node__content {
background-color: rgb(255, 255, 255); background-color: rgb(255, 255, 255);
color: rgb(64, 158, 255); color: rgb(64, 158, 255);
} }
......
...@@ -6,14 +6,20 @@ ...@@ -6,14 +6,20 @@
:direction="direction" :direction="direction"
size="50%" size="50%"
> >
<el-form ref="form" :model="form" :rules="rules" label-width="100px" style="padding: 20px;"> <el-form
ref="form"
:model="form"
:rules="rules"
label-width="100px"
style="padding: 20px;"
>
<el-row> <el-row>
<Field <Field
type="select" type="select"
label="负责人姓名" label="负责人姓名"
prop="staffId" prop="staffId"
filterable filterable
:disabled="editId?true:false" :disabled="editId ? true : false"
v-model="form.staffId" v-model="form.staffId"
:enumData="userList" :enumData="userList"
placeholder="请输入负责人姓名" placeholder="请输入负责人姓名"
...@@ -24,6 +30,14 @@ ...@@ -24,6 +30,14 @@
v-model="form.phone" v-model="form.phone"
placeholder="请输入联系电话" placeholder="请输入联系电话"
/> />
<Field
label="角色"
prop="roleType"
type="select"
v-model="form.roleType"
:enumData="dict.roleType"
placeholder="请选择角色"
/>
<Field <Field
label="大厅" label="大厅"
prop="salaId" prop="salaId"
...@@ -40,13 +54,24 @@ ...@@ -40,13 +54,24 @@
:enumData="dict.deptId" :enumData="dict.deptId"
placeholder="请选择部门" placeholder="请选择部门"
/> />
<Field
label="是否允许巡查"
prop="inspect"
type="checkbox"
v-model="form.inspect"
:enumData="inspectObj"
/>
<!-- <el-form-item label="是否允许巡查" prop="inspect">
<el-checkbox v-model="form.inspect">允许</el-checkbox>
</el-form-item> -->
<!-- <Field <!-- <Field
label="工号" label="工号"
prop="number" prop="number"
v-model="form.number" v-model="form.number"
placeholder="请输入工号" placeholder="请输入工号"
/> --> /> -->
<!-- <Field <!-- <Field
label="负责窗口数量" label="负责窗口数量"
prop="windowCount" prop="windowCount"
...@@ -62,12 +87,19 @@ ...@@ -62,12 +87,19 @@
/> --> /> -->
</el-row> </el-row>
<div style="background-color: rgba(242, 246, 252, 1);padding: 20px;"> <div style="background-color: rgba(242, 246, 252, 1);padding: 20px;">
<wintable
<wintable :editId="editId" ref="wintable" :hallId="dict.hallId" class="wintabel" @selection-change="selectionChange"/> :editId="editId"
ref="wintable"
:hallId="dict.hallId"
class="wintabel"
:checkPeopleArr="checkPeopleArr"
@selection-change="selectionChange"
:staffList="dict.staffList"
v-if="refresh"
/>
</div> </div>
<div style="padding: 20px;"> <div style="padding: 20px;">
<el-button type="primary" @click="submitForm" >提交</el-button> <el-button type="primary" @click="submitForm">提交</el-button>
</div> </div>
</el-form> </el-form>
</el-drawer> </el-drawer>
...@@ -80,18 +112,22 @@ export default { ...@@ -80,18 +112,22 @@ export default {
name: "WindowOwnerDetail", name: "WindowOwnerDetail",
mixins: [form], mixins: [form],
components: { components: {
wintable wintable,
}, },
created() { created() {
this.changePath("window/owner"); this.changePath("window/owner");
this.getUser() this.getUser();
}, },
data() { data() {
return { return {
refresh: true,
inspectObj: {
1: "允许",
},
// 大厅 // 大厅
options:[], options: [],
//窗口 //窗口
tableData:[], tableData: [],
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 弹出层标题 // 弹出层标题
...@@ -103,45 +139,48 @@ export default { ...@@ -103,45 +139,48 @@ export default {
toDate: [], toDate: [],
// 表单校验 // 表单校验
rules: { rules: {
name: [ staffId: [{ required: true, message: "请选择负责人", trigger: "blur" }],
{ required: true, message: "请输入姓名", trigger: "blur" },
{ max: 20, message: "最多只能录入20个字符", trigger: "blur" },
]
}, },
userList:{}, userList: {},
userarr:[],//人员数组 userarr: [], //人员数组
checkArr:[],//选中窗口 checkArr: [], //选中窗口
editId:''//编辑id checkPeopleArr: [], //选中窗口
editId: "", //编辑id
}; };
}, },
methods: { methods: {
//重写表单 //重写表单
beforeSubmit(data){ beforeSubmit(data) {
data['deptName'] = this.dict.deptId[data.deptId] data["deptName"] = this.dict.deptId[data.deptId];
data['salaName'] = this.dict.salaId[data.salaId] data["salaName"] = this.dict.salaId[data.salaId];
data['staffName'] = this.userList[data.staffId] data["staffName"] = this.userList[data.staffId];
try { try {
const userObj = this.userarr.find(v=>v.id == data.staffId) //工号 const userObj = this.userarr.find((v) => v.id == data.staffId); //工号
data['number'] = userObj.workNum data["number"] = userObj.workNum;
// 窗口列表 // 窗口列表
const checkArr = [] const checkArr = [];
this.checkArr.forEach(v=>{ this.checkArr.forEach((v) => {
checkArr.push({ checkArr.push({
windowId:v.id, windowId: v.id,
windowName:v.name, windowName: v.name,
windowCode:v.fromnum, windowCode: v.fromnum,
building:v.building, building: v.building,
level:v.level level: v.level,
}) });
}) });
data['windowOwnerDetailList'] = checkArr data["windowOwnerDetailList"] = checkArr;
} catch (error) {} } catch (error) {}
return data let arr = Array.from(new Set(this.$refs.wintable.checkAllList));
console.log(this.checkAllList);
data.staffIdList = arr ? arr : [];
return data;
}, },
// 选中窗口 // 选中窗口
selectionChange(v){ selectionChange(v) {
this.checkArr = v // this.checkArr = v;
// this.checkPeopleArr = v;
console.log(v, "vvvvvv");
}, },
cascaderChange(val) { cascaderChange(val) {
if (this.deptList.length > 0) { if (this.deptList.length > 0) {
...@@ -152,44 +191,47 @@ export default { ...@@ -152,44 +191,47 @@ export default {
console.log(this.form.deptId, "当前选择"); console.log(this.form.deptId, "当前选择");
}, },
// 查询人员 // 查询人员
getUser(){ getUser() {
this.$post("/staff/list",{page:1,size:-1}).then(res=>{ this.$post("/staff/list", { page: 1, size: -1 }).then((res) => {
const {code,data} = res const { code, data } = res;
if(code == 1){ if (code == 1) {
this.userarr = data.data this.userarr = data.data;
const arr = {} const arr = {};
data.data.forEach(element => { data.data.forEach((element) => {
arr[element.id] = element.name arr[element.id] = element.name + "-" + element.deptName;
}); });
this.userList = arr this.userList = arr;
} }
}) });
},
onSubmitSearch(){
}, },
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.editId = row.staffId this.refresh = false;
this.editId = row.staffId;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "window/owner/edit"; this.urls.currUrl = "window/owner/edit";
this.getData(); this.getData();
this.checkPeopleArr = [];
this.checkPeopleArr = row.staffIdList;
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
this.title = "修改窗口负责人"; this.title = "修改窗口负责人";
}, },
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.editId = '' this.refresh = false;
this.editId = "";
this.reset(); this.reset();
this.urls.currUrl = "window/owner/add"; this.urls.currUrl = "window/owner/add";
this.getData(); this.getData();
this.checkPeopleArr = [];
this.checkPeopleArr = row.staffIdList;
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增窗口负责人"; this.title = "新增窗口负责人";
}, },
/** 查看*/ /** 查看*/
view(row) { view(row) {
this.editId = row.staffId this.editId = row.staffId;
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "window/owner/view"; this.urls.currUrl = "window/owner/view";
...@@ -203,6 +245,7 @@ export default { ...@@ -203,6 +245,7 @@ export default {
}, },
/**获取数据后弹框 */ /**获取数据后弹框 */
afterRender(data) { afterRender(data) {
this.refresh = true;
this.open = true; this.open = true;
}, },
...@@ -214,13 +257,18 @@ export default { ...@@ -214,13 +257,18 @@ export default {
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {
deptId: 0,
deptName: "", deptName: "",
name: "", inspect: 0,
number: "", number: "",
phone: "", phone: "",
windowCount: null,
remark: "", remark: "",
roleType: 0,
salaName: "",
staffIds: "",
staffName: "",
windowCount: 0,
staffIdList: [],
windowOwnerDetailList: [],
}; };
this.resetForm("form"); this.resetForm("form");
}, },
...@@ -233,7 +281,7 @@ export default { ...@@ -233,7 +281,7 @@ export default {
}; };
</script> </script>
<style lang="less"> <style lang="less">
.wintabel .table-body{ .wintabel .table-body {
height: 500px; height: 500px;
overflow-y: auto; overflow-y: auto;
} }
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable> <LayoutTable
:data="tableData"
:config="tableConfig"
@cell-click="handleCellClick"
>
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" /> <drawer-show ref="drawerform" @ok="getData" />
</div> </div>
...@@ -18,6 +23,12 @@ export default { ...@@ -18,6 +23,12 @@ export default {
mixins: [table], mixins: [table],
created() {}, created() {},
methods: { methods: {
handleCellClick(row, column, cell, event) {
console.log(row, cell, column);
if (column.label == "关联人数") {
this.toEdit(row);
}
},
/** 重写新增方法 */ /** 重写新增方法 */
toAdd(row) { toAdd(row) {
this.$refs.drawerform.add(row); this.$refs.drawerform.add(row);
...@@ -36,6 +47,24 @@ export default { ...@@ -36,6 +47,24 @@ export default {
config: { config: {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{
name: "salaId",
type: "selectSalaId",
label: "大厅",
fuzzy: false,
},
{
name: "deptId",
type: "selectDeptId",
label: "部门",
fuzzy: false,
},
{
name: "roleType",
type: "select",
label: "角色",
fuzzy: false,
},
{ {
name: "staffName", name: "staffName",
type: "text", type: "text",
...@@ -47,25 +76,31 @@ export default { ...@@ -47,25 +76,31 @@ export default {
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "部门名称", prop: "deptName" }, { label: "负责人姓名", prop: "staffName" },
{ label: "角色", prop: "roleType", formatter: this.formatter },
{ label: "姓名", prop: "staffName" }, { label: "所属大厅", prop: "salaName" },
{ label: "所属部门", prop: "deptName" },
{ label: "工号", prop: "number" }, { label: "联系电话", prop: "phone", formatter: this.formatter },
{ label: "电话号码", prop: "phone" },
{ {
label: "负责窗口数量", label: "关联人数",
prop: "windowCount", prop: "staffCount",
formatter: this.formatter, formatter: (row) => {
return <a>{row.staffCount}</a>;
},
}, },
{ {
label: "创建时间", label: "更新时间",
prop: "createTime", prop: "updateTime",
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{
label: "更新人员",
prop: "updateUserId",
formatter: this.formatter,
},
{ {
label: "操作", label: "操作",
width: 240, width: 240,
...@@ -88,3 +123,8 @@ export default { ...@@ -88,3 +123,8 @@ export default {
}, },
}; };
</script> </script>
<style lang="less" scoped>
a {
color: rgb(103, 116, 223);
}
</style>
<template> <template>
<LayoutTable :toggleRowSelection="toggleRowSelection" ref="LayoutTable" :data="tableData" :config="tableConfig" @selection-change="handleSelectionChange"> <div>
<div slot="table-head-left"><div>请选择窗口</div></div> <div class="search_box">
<div slot="table-head-center"></div> <SearchForm
</LayoutTable> :search="config.search"
:page="baseInfo.current_page"
@getData="onSubmit"
ref="search"
/>
</div>
<el-table
ref="multipleTable"
:data="baseInfo.data ? baseInfo.data : []"
tooltip-effect="dark"
style="width: 100%"
@select="handleSelectionChange"
@select-all="handleAllChange"
>
<el-table-column
v-for="(val, i) in config.columns"
:key="i"
:type="val.type"
:width="val.width"
:label="val.label"
:prop="val.prop"
:formatter="val.formatter"
:align="val.align ? val.align : 'center'"
>
</el-table-column>
</el-table>
<el-pagination
@current-change="handleCurrentChange"
:current-page.sync="baseInfo.current_page"
layout="total, prev, pager, next"
:total="baseInfo.total"
style="margin-top: 10px;width: 100%;text-align: end;"
>
</el-pagination>
</div>
</template> </template>
<script> <script>
import table from "@/assets/mixins/table"; import SearchForm from "@/components/SearchFormDrawer.vue";
export default { export default {
props:['hallId','checkId','editId'], components: { SearchForm },
mixins: [table], props: ["hallId", "checkId", "editId", "checkPeopleArr", "staffList"],
methods:{
handleSelectionChange(v){ methods: {
this.$emit("selection-change",v) handleSelectionChange(selecteds, row) {
}, if (!this.checkAllList.includes(row.id)) {
beforeFecth(){ // 回显数据里没有本条,把这条加进来(选中)
this.pageInfo.list = '/window/owner/subWindowList' this.checkAllList.push(row.id);
}, } else {
//重写 // 回显数据里有本条,把这条删除(取消选中)
afterRender(info){ this.checkAllList.forEach((id, index) => {
const {data} = info if (id === row.id) {
if(this.editId){ this.checkAllList = this.checkAllList.filter((v) => id !== v);
// 编辑的时候回显 }
const toggleRowSelection = [] });
data.forEach(element => { this.checkPeopleArr.forEach((id) => {
if(element.selected == 1){ if (id == row.id) {
toggleRowSelection.push(element) this.checkPeopleArr = this.checkPeopleArr.filter((v) => id !== v);
} }
});
}); }
setTimeout(()=>{ let arr = Array.from(new Set(this.checkAllList));
this.toggleRowSelection = toggleRowSelection this.checkAllList = arr;
}) console.log(this.checkAllList);
},
// 全选、取消全选
handleAllChange(selecteds) {
selecteds = selecteds.filter((v) => (v ? v : ""));
console.log(selecteds);
if (selecteds.length > 0) {
selecteds.forEach((item) => {
if (!this.checkAllList.includes(item.id)) {
this.checkAllList.push(item.id);
}
});
let arr = Array.from(new Set(this.checkAllList));
this.checkAllList = arr;
} else {
this.baseInfo.data.forEach((item) => {
this.checkAllList.forEach((id, index) => {
if (id === item.id) {
this.checkAllList.splice(index, 1);
}
});
});
let arr = Array.from(new Set(this.checkAllList));
this.checkAllList = arr;
this.baseInfo.data.forEach((item) => {
this.checkPeopleArr.forEach((id, index) => {
if (id === item.id) {
this.checkPeopleArr.splice(index, 1);
} }
});
} });
}
}, },
created(){
this.config.search[0].enumData = this.hallId handleCurrentChange(val) {
console.log(this.editId,"editId") this.baseInfo.current_page = val;
this.$refs.search.onSubmit();
}, },
watch: { onSubmit(val) {
editId:{ this.baseInfo = val;
handler:function(v){ this.checkAllList = [...this.checkAllList, ...this.checkPeopleArr];
if(v){ if (this.staffList && this.staffList.length) {
this.query = {staffId:v} this.$nextTick(() => {
}else{ this.staffList
this.query = {} ? this.staffList.forEach((v) => {
} this.checkAllList.forEach((val, i) => {
this.getData() if (v.id == val) {
}, this.checkAllList[i] = v.id;
immediate:true }
} });
})
: "";
this.baseInfo.data
? this.checkAllList.forEach((key) => {
this.$refs.multipleTable.toggleRowSelection(
this.baseInfo.data.find((row) => {
if (row.id == key) {
return row;
}
}),
true
);
})
: "";
});
}
}, },
data(){ },
return { created() {
toggleRowSelection:[], this.config.search[0].enumData = this.hallId;
config: { },
downloadUrl:"", mounted() {},
isshowTabPane: false, watch: {},
search: [ data() {
{ return {
name: "hallId", checkAllList: [],
type: "select", checkList: [],
label: "大厅", baseInfo: {},
enumData:{} total: 0,
}, currentPage: 1,
{ toggleRowSelection: [],
name: "deptName", config: {
type: "text", downloadUrl: "",
label: "窗口名称", isshowTabPane: false,
fuzzy: true, search: [
}, {
], name: "salaId",
columns: [ type: "selectSalaId",
{ type: "selection", width: 60 }, label: "大厅",
// { type: "index", label: "序号", width: 50 }, fuzzy: false,
},
{
name: "deptId",
type: "selectDeptId",
label: "部门",
fuzzy: false,
},
{
name: "name",
type: "text",
label: "工作人员姓名",
fuzzy: true,
},
],
columns: [
{ type: "selection", width: 60 },
{
label: "序号",
width: 50,
formatter: (row, column, cellValue, index) => {
return index + 1;
},
},
{ label: "窗口名称", prop: "name" }, { label: "工作人员姓名", prop: "name" },
{ label: "编号", prop: "fromnum" }, { label: "工号", prop: "workNum" },
{ label: "所属楼栋", prop: "building" }, { label: "手机号码", prop: "phoneNumber" },
{ label: "所属楼层", prop: "level" }, { label: "所属大厅", prop: "salaName" },
// { { label: "所属部门", prop: "deptName" },
// label: "操作", // {
// width: 240, // label: "操作",
// formatter: (row) => { // width: 100,
// return ( // formatter: (row) => {
// <table-buttons // if (row.check) {
// noAdd // return <span style="cursor:pointer;color:#ff0000">已选中</span>;
// row={row} // } else {
// onEdit={this.toEdit} // return <span style="cursor:pointer;color:#1890ff">选择</span>;
// onView={this.toView} // }
// onDel={this.toDel} // },
// /> // },
// ); ],
// }, },
// }, };
], },
}, };
} </script>
},
}
</script>
\ No newline at end of file
...@@ -108,14 +108,14 @@ export default { ...@@ -108,14 +108,14 @@ export default {
name: "ownerName", name: "ownerName",
type: "text", type: "text",
width: 200, width: 200,
label: "窗口负责人姓名搜索", label: "窗口首席代表’姓名搜索",
fuzzy: false, fuzzy: false,
}, },
], ],
columns: [ columns: [
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "窗口负责人", prop: "ownerName" }, { label: "窗口首席代表", prop: "ownerName" },
{ {
label: "登记年月", label: "登记年月",
...@@ -130,7 +130,7 @@ export default { ...@@ -130,7 +130,7 @@ export default {
}, },
}, },
{ label: "所属大厅", prop: "salaName",formatter: this.formatter }, { label: "所属大厅", prop: "salaName", formatter: this.formatter },
{ {
label: "所属部门", label: "所属部门",
...@@ -152,6 +152,16 @@ export default { ...@@ -152,6 +152,16 @@ export default {
prop: "submitDate", prop: "submitDate",
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{
label: "核查人",
prop: "leaderCheckPerson",
formatter: this.formatter,
},
{
label: "最新核查时间",
prop: "leaderCheckTime",
formatter: this.formatterDate,
},
{ label: "处理状态", prop: "checkStatus", formatter: this.formatter }, { label: "处理状态", prop: "checkStatus", formatter: this.formatter },
{ {
......
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
>导出</el-button >导出</el-button
> >
</div> </div>
<LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable> <LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable>
</div> </div>
</template> </template>
...@@ -25,9 +26,7 @@ ...@@ -25,9 +26,7 @@
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "WindowWorkmanPerformDetailList", name: "WindowWorkmanPerformDetailList",
components: {
drawerShow,
},
mixins: [table], mixins: [table],
created() {}, created() {},
methods: { methods: {
...@@ -61,9 +60,9 @@ export default { ...@@ -61,9 +60,9 @@ export default {
}, },
data() { data() {
return { return {
radio1: "3",
isExport: false,
config: { config: {
radio1: "3",
isExport: false,
search: [], search: [],
columns: [ columns: [
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
...@@ -119,3 +118,16 @@ export default { ...@@ -119,3 +118,16 @@ export default {
}, },
}; };
</script> </script>
<style lang="less" scoped>
/deep/.el-radio-button__inner {
border: 1px solid #eee !important;
height: 28px;
line-height: 3px;
}
/deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner {
background: #00b565;
border: none !important;
color: #fff !important;
line-height: 3px;
}
</style>
...@@ -106,14 +106,14 @@ export default { ...@@ -106,14 +106,14 @@ export default {
name: "ownerName", name: "ownerName",
type: "text", type: "text",
width: 200, width: 200,
label: "窗口负责人姓名搜索", label: "窗口首席代表’姓名搜索",
fuzzy: false, fuzzy: false,
}, },
], ],
columns: [ columns: [
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
{ label: "窗口负责人", prop: "ownerName" }, { label: "窗口首席代表", prop: "ownerName" },
{ {
label: "登记年月", label: "登记年月",
...@@ -151,9 +151,21 @@ export default { ...@@ -151,9 +151,21 @@ export default {
width: 110, width: 110,
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{
label: "核查人",
formatter: (row) => {
return `${
row.leaderCheckPerson
? row.leaderCheckPerson
: row.manageCheckPerson
? row.manageCheckPerson
: "--"
}`;
},
},
{ {
label: "最新核查时间", label: "最新核查时间",
prop: "updateTime", prop: "manageCheckTime",
width: 150, width: 150,
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
......
module.exports = { module.exports = {
productionSourceMap: false, productionSourceMap: false,
lintOnSave:false, lintOnSave: false,
devServer: { devServer: {
inline: true, inline: true,
disableHostCheck: true, disableHostCheck: true,
port: 8087, port: 8087,
hot: true,//自动保存 hot: true, //自动保存
proxy: { proxy: {
'/attendance': { "/attendance": {
target: 'http://192.168.0.98:11039', target: 'http://192.168.0.98:11039',
// target: 'http://112.19.80.237:11039', // target: "http://112.19.80.237:11039",
// target: 'http://localhost:17500', // target: 'http://localhost:17500',
// target: 'http://118.122.189.109:11039', // target: "http://118.122.189.109:11039",
// target: 'http://10.102.252.13:11039', // target: 'http://10.102.252.13:11039',
changeOrigin: true, changeOrigin: true,
secure: false, secure: false,
cookieDomainRewrite: 'localhost', cookieDomainRewrite: "localhost",
}, },
'/zwfw_api_xnjc': { "/zwfw_api_xnjc": {
target: 'http://112.19.80.237:11031', target: "http://112.19.80.237:11031",
changeOrigin: true, changeOrigin: true,
secure: false, secure: false,
cookieDomainRewrite: 'localhost', cookieDomainRewrite: "localhost",
} },
} },
} },
} };
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