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

tui

parent ae5f9748
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
> >
<el-col :span="12" <el-col :span="12"
>图片凭证:{{ >图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--" form.snapPath ? picMatter(form.snapPath) : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
...@@ -378,7 +378,7 @@ export default { ...@@ -378,7 +378,7 @@ export default {
this.$forceUpdate(this.form); this.$forceUpdate(this.form);
}, },
picMatter(val) { picMatter(val) {
if (val !== "--") { if (val || val !== "--") {
return ( return (
<el-image <el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val} src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
......
...@@ -212,7 +212,7 @@ export default { ...@@ -212,7 +212,7 @@ export default {
{ {
label: "图片凭证", label: "图片凭证",
prop: "filePaths", prop: "snapPath",
formatter: this.formatterPic, formatter: this.formatterPic,
}, },
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
> >
<el-col :span="12" <el-col :span="12"
>图片凭证:{{ >图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--" form.snapPath ? picMatter(form.snapPath) : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
...@@ -413,7 +413,7 @@ export default { ...@@ -413,7 +413,7 @@ export default {
this.$forceUpdate(this.form); this.$forceUpdate(this.form);
}, },
picMatter(val) { picMatter(val) {
if (val !== "--") { if (val || val !== "--") {
return ( return (
<el-image <el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val} src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
......
...@@ -217,7 +217,7 @@ export default { ...@@ -217,7 +217,7 @@ export default {
{ {
label: "图片凭证", label: "图片凭证",
prop: "filePaths", prop: "snapPath",
formatter: this.formatterPic, formatter: this.formatterPic,
}, },
......
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
图片凭证:{{ 图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--" form.snapPath ? picMatter(form.snapPath) : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
...@@ -386,7 +386,7 @@ export default { ...@@ -386,7 +386,7 @@ export default {
this.$forceUpdate(this.form); this.$forceUpdate(this.form);
}, },
picMatter(val) { picMatter(val) {
if (val !== "--") { if (val || val !== "--") {
return ( return (
<el-image <el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val} src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
......
...@@ -219,7 +219,7 @@ export default { ...@@ -219,7 +219,7 @@ export default {
{ {
label: "图片凭证", label: "图片凭证",
prop: "filePaths", prop: "snapPath",
formatter: this.formatterPic, formatter: this.formatterPic,
}, },
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
图片凭证:{{ 图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--" form.snapPath ? picMatter(form.snapPath) : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
...@@ -381,7 +381,7 @@ export default { ...@@ -381,7 +381,7 @@ export default {
this.$forceUpdate(this.form); this.$forceUpdate(this.form);
}, },
picMatter(val) { picMatter(val) {
if (val !== "--") { if (val || val !== "--") {
return ( return (
<el-image <el-image
src={val.c == -1 ? this.baseUrl + val : val} src={val.c == -1 ? this.baseUrl + val : val}
......
...@@ -207,7 +207,7 @@ export default { ...@@ -207,7 +207,7 @@ export default {
{ {
label: "图片凭证", label: "图片凭证",
prop: "filePaths", prop: "snapPath",
formatter: this.formatterPic, formatter: this.formatterPic,
}, },
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<el-row> <el-row>
<el-col :span="24" <el-col :span="24"
>图片凭证:{{ >图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--" form.snapPath ? picMatter(form.snapPath) : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
...@@ -376,7 +376,7 @@ export default { ...@@ -376,7 +376,7 @@ export default {
this.$forceUpdate(this.form); this.$forceUpdate(this.form);
}, },
picMatter(val) { picMatter(val) {
if (val !== "--") { if (val || val !== "--") {
return ( return (
<el-image <el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val} src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
......
...@@ -215,7 +215,7 @@ export default { ...@@ -215,7 +215,7 @@ export default {
// { label: "绩效规则id", prop: "ruleId", formatter: this.formatter }, // { label: "绩效规则id", prop: "ruleId", formatter: this.formatter },
{ {
label: "图片凭证", label: "图片凭证",
prop: "filePaths", prop: "snapPath",
formatter: this.formatterPic, formatter: this.formatterPic,
}, },
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
<el-row> <el-row>
<el-col :span="12" <el-col :span="12"
>图片凭证:{{ >图片凭证:{{
form.filePaths ? picMatter(form.filePaths) : "--" form.snapPath ? picMatter(form.snapPath) : "--"
}}</el-col }}</el-col
> >
</el-row> </el-row>
...@@ -383,7 +383,7 @@ export default { ...@@ -383,7 +383,7 @@ export default {
this.$forceUpdate(this.form); this.$forceUpdate(this.form);
}, },
picMatter(val) { picMatter(val) {
if (val !== "--") { if (val || val !== "--") {
return ( return (
<el-image <el-image
src={val.indexOf("http") == -1 ? baseUrl + val : val} src={val.indexOf("http") == -1 ? baseUrl + val : val}
......
...@@ -216,7 +216,7 @@ export default { ...@@ -216,7 +216,7 @@ export default {
{ {
label: "图片凭证", label: "图片凭证",
prop: "filePaths", prop: "snapPath",
formatter: this.formatterPic, formatter: this.formatterPic,
}, },
......
...@@ -123,11 +123,11 @@ ...@@ -123,11 +123,11 @@
<el-col :span="22"> <el-col :span="22">
<el-form-item label="图片凭证:"> <el-form-item label="图片凭证:">
<div v-if="form.view == '查看'"> <div v-if="form.view == '查看'">
{{ form.filePaths ? picMatter(form.filePaths) : "--" }} {{ form.snapPath ? picMatter(form.snapPath) : "--" }}
</div> </div>
<ImageUpload <ImageUpload
v-else v-else
:value="form.filePaths" :value="form.snapPath"
@input="replaceImage" @input="replaceImage"
></ImageUpload> ></ImageUpload>
</el-form-item> </el-form-item>
...@@ -410,7 +410,7 @@ export default { ...@@ -410,7 +410,7 @@ export default {
methods: { methods: {
picMatter(val) { picMatter(val) {
if (val !== "--") { if (val || val !== "--") {
return ( return (
<el-image <el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val} src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
...@@ -440,7 +440,7 @@ export default { ...@@ -440,7 +440,7 @@ export default {
}); });
}, },
replaceImage(val) { replaceImage(val) {
this.form.filePaths = val; this.form.snapPath = val;
}, },
staffChange(val) { staffChange(val) {
console.log(val); console.log(val);
...@@ -481,6 +481,8 @@ export default { ...@@ -481,6 +481,8 @@ export default {
} }
this.form.processStatus = 2; this.form.processStatus = 2;
this.form.view = "核查"; this.form.view = "核查";
this.staffChange(this.form.staffId);
this.open = true; this.open = true;
}); });
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
...@@ -565,7 +567,7 @@ export default { ...@@ -565,7 +567,7 @@ export default {
errorResult: "", errorResult: "",
errorTime: "", errorTime: "",
fileNames: "", fileNames: "",
filePaths: "", snapPath: "",
goOffTimeStr: "", goOffTimeStr: "",
processStatus: 1, processStatus: 1,
remark: "", remark: "",
......
...@@ -220,7 +220,7 @@ export default { ...@@ -220,7 +220,7 @@ export default {
{ {
label: "图片凭证", label: "图片凭证",
prop: "filePaths", prop: "snapPath",
formatter: this.formatterPic, formatter: this.formatterPic,
}, },
...@@ -251,6 +251,9 @@ export default { ...@@ -251,6 +251,9 @@ export default {
return row.processStatus == 1 ? ( return row.processStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noView
noEdit
reCheck
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
...@@ -10,12 +10,19 @@ ...@@ -10,12 +10,19 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="姓名:"> <el-form-item label="姓名:">
<el-select v-model="form.staffId" style="width: 100%;"> <p v-if="form.view == '查看'">{{ form.staffName }}</p>
<el-select
v-model="form.staffName"
filterable
@change="staffChange"
style="width: 100%;"
v-else
>
<el-option <el-option
v-for="item in staffArr" v-for="item in staffArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option </el-option
></el-select> ></el-select>
...@@ -25,12 +32,19 @@ ...@@ -25,12 +32,19 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="所属部门:"> <el-form-item label="所属部门:">
<el-select v-model="form.deptId" style="width: 100%;"> <p v-if="form.view == '查看'">{{ form.deptName }}</p>
<el-select
v-else
v-model="form.deptId"
style="width: 100%;"
disabled
>
<el-option <el-option
v-for="item in deptArr" v-for="item in deptArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.deptName"
:value="item.value" :value="item.id"
> >
</el-option </el-option
></el-select> ></el-select>
...@@ -40,7 +54,10 @@ ...@@ -40,7 +54,10 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="窗口编号:"> <el-form-item label="窗口编号:">
<p v-if="form.view == '查看'">{{ form.windowNum }}</p>
<el-input <el-input
v-else
v-model="form.windowNum" v-model="form.windowNum"
placeholder="请输入窗口编号" placeholder="请输入窗口编号"
></el-input> ></el-input>
...@@ -50,13 +67,15 @@ ...@@ -50,13 +67,15 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="投诉来源:"> <el-form-item label="投诉来源:">
<p v-if="form.view == '查看'">{{ form.complainSource }}</p>
<el-select <el-select
v-model="form.deptId" v-else
v-model="form.complainSource"
style="width: 100%;" style="width: 100%;"
placeholder="请选择投诉来源" placeholder="请选择评价来源"
> >
<el-option <el-option
v-for="item in deptArr" v-for="item in sourceArr"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
...@@ -69,8 +88,11 @@ ...@@ -69,8 +88,11 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="投诉设备:"> <el-form-item label="投诉设备:">
<p v-if="form.view == '查看'">{{ form.complainDevice }}</p>
<el-input <el-input
v-model="form.windowNum" v-else
v-model="form.complainDevice"
placeholder="请输入投诉设备" placeholder="请输入投诉设备"
></el-input> ></el-input>
</el-form-item> </el-form-item>
...@@ -79,8 +101,11 @@ ...@@ -79,8 +101,11 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="投诉标题:"> <el-form-item label="投诉标题:">
<p v-if="form.view == '查看'">{{ form.complainTitle }}</p>
<el-input <el-input
v-model="form.windowNum" v-else
v-model="form.complainTitle"
placeholder="请输入投诉标题" placeholder="请输入投诉标题"
></el-input> ></el-input>
</el-form-item> </el-form-item>
...@@ -89,8 +114,11 @@ ...@@ -89,8 +114,11 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="投诉内容:"> <el-form-item label="投诉内容:">
<p v-if="form.view == '查看'">{{ form.complainContent }}</p>
<el-input <el-input
v-model="form.windowNum" v-else
v-model="form.complainContent"
placeholder="请输入投诉内容" placeholder="请输入投诉内容"
type="textarea" type="textarea"
style="width: 100%;" style="width: 100%;"
...@@ -101,10 +129,12 @@ ...@@ -101,10 +129,12 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="真实姓名:"> <el-form-item label="真实姓名:">
<p v-if="form.view == '查看'">{{ form.complainRealName }}</p>
<el-input <el-input
v-model="form.windowNum" v-else
v-model="form.complainRealName"
placeholder="请输入真实姓名" placeholder="请输入真实姓名"
type="textarea"
style="width: 100%;" style="width: 100%;"
></el-input> ></el-input>
</el-form-item> </el-form-item>
...@@ -113,10 +143,11 @@ ...@@ -113,10 +143,11 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="联系电话:"> <el-form-item label="联系电话:">
<p v-if="form.view == '查看'">{{ form.contact }}</p>
<el-input <el-input
v-model="form.windowNum" v-else
v-model="form.contact"
placeholder="请输入联系电话" placeholder="请输入联系电话"
type="textarea"
style="width: 100%;" style="width: 100%;"
></el-input> ></el-input>
</el-form-item> </el-form-item>
...@@ -125,28 +156,16 @@ ...@@ -125,28 +156,16 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="投诉时间:"> <el-form-item label="投诉时间:">
<el-col :span="11"> <p v-if="form.view == '查看'">{{ form.complainTime }}</p>
<el-date-picker
v-model="dateValue" <el-date-picker
type="date" v-else
placeholder="选择日期" v-model="form.complainTime"
style="width: 100%;" type="datetime"
> placeholder="选择日期时间"
</el-date-picker> style="width: 100%;"
</el-col> >
<el-col :span="11"> </el-date-picker>
<el-time-select
v-model="timeValue"
:picker-options="{
start: '06:00',
step: '00:15',
end: '18:30',
}"
placeholder="选择时间"
style="width: 100%;margin-left: 10px;"
>
</el-time-select
></el-col>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -154,22 +173,14 @@ ...@@ -154,22 +173,14 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="图片凭证:"> <el-form-item label="图片凭证:">
<el-upload <div v-if="form.view == '查看'">
class="upload-demo" {{ form.snapPath ? picMatter(form.snapPath) : "--" }}
action="https://jsonplaceholder.typicode.com/posts/" </div>
:on-preview="handlePreview" <ImageUpload
:on-remove="handleRemove" v-else
:before-remove="beforeRemove" :value="form.snapPath"
multiple @input="replaceImage"
:limit="3" ></ImageUpload>
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
只能上传jpg/png等图片文件
</div>
</el-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -177,30 +188,38 @@ ...@@ -177,30 +188,38 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="绩效规则:"> <el-form-item label="绩效规则:">
<el-col :span="22"> <p v-if="form.view == '查看'">{{ form.ruleNme }}</p>
<el-select v-model="form.attendanceGroupId" style="width: 100%;"> <div v-else>
<el-option <el-col :span="22">
v-for="item in kaoqinArr" <el-select
:key="item.value" v-model="form.categoryId"
:label="item.label" style="width: 100%;"
:value="item.value" @change="cateChange"
> >
</el-option <el-option
></el-select> v-for="item in kaoqinCateArr"
</el-col> :key="item.id"
<el-col :span="22"> :label="item.name"
<el-select :value="item.id"
v-model="form.attendanceGroupId" >
style="width: 100%;margin-top: 10px;" </el-option
> ></el-select>
<el-option </el-col>
v-for="item in kaoqinArr" <el-col :span="22">
:key="item.value" <el-select
:label="item.label" v-model="form.ruleId"
:value="item.value" style="width: 100%;margin-top: 10px;"
@change="ruleChange"
> >
</el-option></el-select <el-option
></el-col> v-for="item in ruleArr"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option></el-select
></el-col>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -211,9 +230,9 @@ ...@@ -211,9 +230,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<form-buttons <form-buttons
@submit="submitForm" @submit="submitForm"
v-show="form.view != '查看'"
v-if="pageInfo.type != 'view'" v-if="pageInfo.type != 'view'"
noCancelBtn noCancelBtn
/> />
...@@ -361,12 +380,41 @@ ...@@ -361,12 +380,41 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "PerformComplainRecordDetail", name: "PerformComplainRecordDetail",
mixins: [form], mixins: [form],
components: {}, components: {},
created() { created() {
this.changePath("perform/complain/record"); this.changePath("perform/complain/record");
// 获取工作人员列表
this.$post("/staff/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.staffArr = res.data.data;
} else {
this.staffArr = [];
}
});
// 获取部门列表
this.$post("/dept/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.deptArr = res.data.data;
} else {
this.deptArr = [];
}
});
// 获取规则分类
this.$post("/perform/rules/category/list", { page: 1, size: -1 }).then(
(res) => {
if (res.code == 1) {
this.kaoqinCateArr = res.data.data;
} else {
this.kaoqinCateArr = [];
}
}
);
}, },
data() { data() {
return { return {
...@@ -387,24 +435,152 @@ export default { ...@@ -387,24 +435,152 @@ export default {
], ],
createTime: [{ required: true, message: "请选择创建时间" }], createTime: [{ required: true, message: "请选择创建时间" }],
}, },
staffArr: [],
deptArr: [],
kaoqinArr: [],
fileList: [],
kaoqinCateArr: [],
ruleArr: [],
sourceArr: [
{
label: "窗口评价系统",
value: "窗口评价系统",
},
{
label: "导视系统",
value: "导视系统",
},
{
label: "自助服务系统",
value: "自助服务系统",
},
{
label: "微官网",
value: "微官网",
},
{
label: "其它",
value: "其它",
},
],
form: {},
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
dateValue: "",
timeValue: "",
}; };
}, },
methods: { methods: {
picMatter(val) {
if (val || val !== "--") {
return (
<el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
preview-src-list={
val.indexOf("http") == -1 ? this.baseUrl + val : val
}
style="width: 100px"
></el-image>
);
} else {
return val;
}
},
ruleChange(val) {
let arr = this.ruleArr.filter((v) => v.id == val);
this.form.score = arr && arr[0].score;
this.form.checkStatus == 1 ? (this.form.checkStatus = 2) : "";
},
cateChange() {
this.$post("/perform/rules/list", {
page: 1,
size: -1,
categoryId: this.form.categoryId,
}).then((res) => {
this.ruleArr = res.data.data;
this.form.ruleId = "";
});
},
replaceImage(val) {
this.form.snapPath = val;
},
staffChange(val) {
let arr = this.staffArr.filter((v) => v.id == val);
this.form.deptId = arr && arr.length > 0 ? arr[0].deptId : "";
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/complain/record/edit"; // this.urls.currUrl = "perform/complain/record/edit";
this.getData(); // this.getData();
this.$get("/perform/complain/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "deductTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "goOffTimeStr"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "complainTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.processStatus = 2;
this.form.view = "核查";
this.staffChange(this.form.staffId);
this.open = true;
});
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
this.title = "修改评价绩效投诉记录信息"; this.title = "修改评价绩效投诉记录信息";
}, },
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset(); this.reset();
this.urls.currUrl = "perform/complain/record/add"; // this.urls.currUrl = "perform/complain/record/add";
this.getData(); // this.getData();
this.form = {
staffId: null,
staffName: "",
workNum: "",
windowNum: "",
deptId: null,
deptName: "",
complainTitle: "",
complainContent: "",
complainRealName: "",
contact: "",
complainTime: null,
complainSource: "",
complainDevice: "",
ruleId: null,
ruleName: "",
subMethod: "",
deductPerson: "",
deductTime: null,
score: "",
processStatus: 1,
remark: "",
snapPath: "",
fileNames: "",
};
this.open = true;
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增评价绩效投诉记录信息"; this.title = "新增评价绩效投诉记录信息";
}, },
...@@ -412,8 +588,39 @@ export default { ...@@ -412,8 +588,39 @@ export default {
view(row) { view(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/complain/record/view"; // this.urls.currUrl = "perform/complain/record/view";
this.getData(); // this.getData();
this.$get("/perform/complain/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "deductTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "goOffTimeStr"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "complainTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.processStatus = 1;
this.form.view = "查看";
this.open = true;
});
this.pageInfo.type = "view"; this.pageInfo.type = "view";
this.title = "评价绩效投诉记录信息详细"; this.title = "评价绩效投诉记录信息详细";
}, },
...@@ -449,10 +656,10 @@ export default { ...@@ -449,10 +656,10 @@ export default {
complainDevice: "", complainDevice: "",
ruleId: null, ruleId: null,
ruleName: "", ruleName: "",
subMethod: 1, subMethod: "",
deductPerson: "", deductPerson: "",
deductTime: null, deductTime: null,
score: 0.0, score: "",
processStatus: 1, processStatus: 1,
remark: "", remark: "",
}; };
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" notDel :config="tableConfig">
<el-button <el-button
slot="table-head-left2" slot="table-head-left2"
style="margin-left: 10px" style="margin-left: 10px"
...@@ -120,7 +120,8 @@ export default { ...@@ -120,7 +120,8 @@ export default {
this.$download( this.$download(
"/perform/complain/record/exportExcel", "/perform/complain/record/exportExcel",
{ {
idList: this.selection, page: 1,
size: -1,
}, },
{ type: "excel" } { type: "excel" }
) )
...@@ -136,10 +137,12 @@ export default { ...@@ -136,10 +137,12 @@ export default {
}, },
/** 重写编辑方法 */ /** 重写编辑方法 */
toEdit(row) { toEdit(row) {
row.view = "核查";
this.$refs.drawerform.edit(row); this.$refs.drawerform.edit(row);
}, },
/** 重写查看方法 */ /** 重写查看方法 */
toView(row) { toView(row) {
row.view = "查看";
this.$refs.drawerform.view(row); this.$refs.drawerform.view(row);
}, },
}, },
...@@ -163,7 +166,7 @@ export default { ...@@ -163,7 +166,7 @@ export default {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
name: "status", name: "processStatus",
type: "select", type: "select",
label: "全部状态", label: "全部状态",
fuzzy: false, fuzzy: false,
...@@ -175,7 +178,7 @@ export default { ...@@ -175,7 +178,7 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "source", name: "complainSource",
type: "select", type: "select",
label: "全部来源", label: "全部来源",
fuzzy: false, fuzzy: false,
...@@ -221,7 +224,7 @@ export default { ...@@ -221,7 +224,7 @@ export default {
{ {
label: "图片凭证", label: "图片凭证",
prop: "filePaths", prop: "snapPath",
formatter: this.formatterPic, formatter: this.formatterPic,
}, },
...@@ -251,9 +254,22 @@ export default { ...@@ -251,9 +254,22 @@ export default {
label: "操作", label: "操作",
width: 200, width: 200,
formatter: (row) => { formatter: (row) => {
return ( return row.processStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noView
noEdit
reCheck
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noEdit
noDel
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
...@@ -10,12 +10,19 @@ ...@@ -10,12 +10,19 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="姓名:"> <el-form-item label="姓名:">
<el-select v-model="form.staffId" style="width: 100%;"> <p v-if="form.view == '查看'">{{ form.staffName }}</p>
<el-select
v-model="form.staffName"
filterable
@change="staffChange"
style="width: 100%;"
v-else
>
<el-option <el-option
v-for="item in staffArr" v-for="item in staffArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option </el-option
></el-select> ></el-select>
...@@ -25,12 +32,19 @@ ...@@ -25,12 +32,19 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="所属部门:"> <el-form-item label="所属部门:">
<el-select v-model="form.deptId" style="width: 100%;"> <p v-if="form.view == '查看'">{{ form.deptName }}</p>
<el-select
v-else
v-model="form.deptId"
style="width: 100%;"
disabled
>
<el-option <el-option
v-for="item in deptArr" v-for="item in deptArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.deptName"
:value="item.value" :value="item.id"
> >
</el-option </el-option
></el-select> ></el-select>
...@@ -40,7 +54,10 @@ ...@@ -40,7 +54,10 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="窗口编号:"> <el-form-item label="窗口编号:">
<p v-if="form.view == '查看'">{{ form.windowNum }}</p>
<el-input <el-input
v-else
v-model="form.windowNum" v-model="form.windowNum"
placeholder="请输入窗口编号" placeholder="请输入窗口编号"
></el-input> ></el-input>
...@@ -50,9 +67,28 @@ ...@@ -50,9 +67,28 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="违规类型:"> <el-form-item label="违规类型:">
<el-select v-model="form.goworkDepts" style="width: 100%;"> <p v-if="form.view == '查看'">
{{
form.irregularType == 1
? "脱岗"
: form.irregularType == 2
? "离岗"
: form.irregularType == 3
? "玩手机"
: form.irregularType == 4
? "睡觉"
: "--"
}}
</p>
<el-select
v-model="form.irregularType"
v-else
placeholder="请选择违规类型"
style="width: 100%;"
>
<el-option <el-option
v-for="item in kaoqinArr" v-for="item in sourceArr"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
...@@ -66,36 +102,27 @@ ...@@ -66,36 +102,27 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="发生时间:"> <el-form-item label="发生时间:">
<el-col :span="11"> <p v-if="form.view == '查看'">{{ form.happenTime }}</p>
<el-date-picker
v-model="dateValue" <el-date-picker
type="date" v-else
placeholder="选择日期" v-model="form.happenTime"
style="width: 100%;" type="datetime"
> placeholder="选择日期时间"
</el-date-picker> style="width: 100%;"
</el-col> >
<el-col :span="11"> </el-date-picker>
<el-time-select
v-model="timeValue"
:picker-options="{
start: '06:00',
step: '00:15',
end: '18:30',
}"
placeholder="选择时间"
style="width: 100%;margin-left: 10px;"
>
</el-time-select
></el-col>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="时长:"> <el-form-item label="时长:">
<p v-if="form.view == '查看'">{{ form.duration }}</p>
<el-input <el-input
v-model="form.windowNum" v-else
v-model="form.duration"
placeholder="请输入时长(xx分xx秒)" placeholder="请输入时长(xx分xx秒)"
></el-input> ></el-input>
</el-form-item> </el-form-item>
...@@ -104,50 +131,30 @@ ...@@ -104,50 +131,30 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="报警时间:"> <el-form-item label="报警时间:">
<el-col :span="11"> <p v-if="form.view == '查看'">{{ form.alarmTime }}</p>
<el-date-picker
v-model="dateValue1" <el-date-picker
type="date" v-else
placeholder="选择日期" v-model="form.alarmTime"
style="width: 100%;" type="datetime"
> placeholder="选择日期时间"
</el-date-picker> style="width: 100%;"
</el-col> >
<el-col :span="11"> </el-date-picker>
<el-time-select
v-model="timeValue1"
:picker-options="{
start: '06:00',
step: '00:15',
end: '18:30',
}"
placeholder="选择时间"
style="width: 100%;margin-left: 10px;"
>
</el-time-select
></el-col>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="图片凭证:"> <el-form-item label="图片凭证:">
<el-upload <div v-if="form.view == '查看'">
class="upload-demo" {{ form.snapPath ? picMatter(form.snapPath) : "--" }}
action="https://jsonplaceholder.typicode.com/posts/" </div>
:on-preview="handlePreview" <ImageUpload
:on-remove="handleRemove" v-else
:before-remove="beforeRemove" :value="form.snapPath"
multiple @input="replaceImage"
:limit="3" ></ImageUpload>
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
只能上传jpg/png等图片文件
</div>
</el-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -155,30 +162,38 @@ ...@@ -155,30 +162,38 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="绩效规则:"> <el-form-item label="绩效规则:">
<el-col :span="22"> <p v-if="form.view == '查看'">{{ form.ruleNme }}</p>
<el-select v-model="form.attendanceGroupId" style="width: 100%;"> <div v-else>
<el-option <el-col :span="22">
v-for="item in kaoqinArr" <el-select
:key="item.value" v-model="form.categoryId"
:label="item.label" style="width: 100%;"
:value="item.value" @change="cateChange"
> >
</el-option <el-option
></el-select> v-for="item in kaoqinCateArr"
</el-col> :key="item.id"
<el-col :span="22"> :label="item.name"
<el-select :value="item.id"
v-model="form.attendanceGroupId" >
style="width: 100%;margin-top: 10px;" </el-option
> ></el-select>
<el-option </el-col>
v-for="item in kaoqinArr" <el-col :span="22">
:key="item.value" <el-select
:label="item.label" v-model="form.ruleId"
:value="item.value" style="width: 100%;margin-top: 10px;"
@change="ruleChange"
> >
</el-option></el-select <el-option
></el-col> v-for="item in ruleArr"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option></el-select
></el-col>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -192,6 +207,7 @@ ...@@ -192,6 +207,7 @@
<form-buttons <form-buttons
@submit="submitForm" @submit="submitForm"
v-show="form.view != '查看'"
v-if="pageInfo.type != 'view'" v-if="pageInfo.type != 'view'"
noCancelBtn noCancelBtn
/> />
...@@ -333,12 +349,41 @@ ...@@ -333,12 +349,41 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "PerformEffectRecordDetail", name: "PerformEffectRecordDetail",
mixins: [form], mixins: [form],
components: {}, components: {},
created() { created() {
this.changePath("perform/effect/record"); this.changePath("perform/effect/record");
// 获取工作人员列表
this.$post("/staff/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.staffArr = res.data.data;
} else {
this.staffArr = [];
}
});
// 获取部门列表
this.$post("/dept/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.deptArr = res.data.data;
} else {
this.deptArr = [];
}
});
// 获取规则分类
this.$post("/perform/rules/category/list", { page: 1, size: -1 }).then(
(res) => {
if (res.code == 1) {
this.kaoqinCateArr = res.data.data;
} else {
this.kaoqinCateArr = [];
}
}
);
}, },
data() { data() {
return { return {
...@@ -365,31 +410,126 @@ export default { ...@@ -365,31 +410,126 @@ export default {
value: "1", value: "1",
}, },
], ],
staffArr: [],
deptArr: [], deptArr: [],
kaoqinArr: [], kaoqinArr: [],
fileList: [], fileList: [],
kaoqinCateArr: [],
ruleArr: [],
sourceArr: [
{
label: "脱岗",
value: "1",
},
{
label: "离岗",
value: "2",
},
{
label: "玩手机",
value: "3",
},
{
label: "睡觉",
value: "4",
},
],
form: {},
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
dateValue: "", dateValue: "",
timeValue: "", timeValue: "",
dateValue1: "",
timeValue1: "",
}; };
}, },
methods: { methods: {
picMatter(val) {
if (val) {
return (
<el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
preview-src-list={
val.indexOf("http") == -1 ? this.baseUrl + val : val
}
style="width: 100px"
></el-image>
);
} else {
return val;
}
},
ruleChange(val) {
let arr = this.ruleArr.filter((v) => v.id == val);
this.form.score = arr && arr[0].score;
this.form.checkStatus == 1 ? (this.form.checkStatus = 2) : "";
},
cateChange() {
this.$post("/perform/rules/list", {
page: 1,
size: -1,
categoryId: this.form.categoryId,
}).then((res) => {
this.ruleArr = res.data.data;
this.form.ruleId = "";
});
},
replaceImage(val) {
this.form.snapPath = val;
},
staffChange(val) {
console.log(val);
let arr = this.staffArr.filter((v) => v.id == val);
this.form.deptId = arr && arr.length > 0 ? arr[0].deptId : "";
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/effect/record/edit"; // this.urls.currUrl = "perform/effect/record/edit";
this.getData(); // this.getData();
this.$get("/perform/effect/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "deductTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "goOffTimeStr"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "happenTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "alarmTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.processStatus = 2;
this.form.view = "核查";
this.staffChange(this.form.staffId);
this.open = true;
});
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
this.title = "修改效能绩效记录信息"; this.title = "修改效能绩效记录信息";
}, },
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset(); this.reset();
this.urls.currUrl = "perform/effect/record/add"; // this.urls.currUrl = "perform/effect/record/add";
this.getData(); // this.getData();
this.open = true;
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增效能绩效记录信息"; this.title = "新增效能绩效记录信息";
}, },
...@@ -397,8 +537,41 @@ export default { ...@@ -397,8 +537,41 @@ export default {
view(row) { view(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/effect/record/view"; // this.urls.currUrl = "perform/effect/record/view";
this.getData(); // this.getData();
this.$get("/perform/effect/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "deductTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "goOffTimeStr"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "happenTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "alarmTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.processStatus = 1;
this.form.view = "查看";
this.open = true;
});
this.pageInfo.type = "view"; this.pageInfo.type = "view";
this.title = "效能绩效记录信息详细"; this.title = "效能绩效记录信息详细";
}, },
...@@ -432,12 +605,13 @@ export default { ...@@ -432,12 +605,13 @@ export default {
snapPath: "", snapPath: "",
ruleId: null, ruleId: null,
ruleName: "", ruleName: "",
subMethod: 1, subMethod: "",
deductPerson: "", deductPerson: "",
deductTime: null, deductTime: null,
score: 0.0, score: "",
processStatus: 1, processStatus: 1,
remark: "", remark: "",
categoryId: "",
}; };
this.resetForm("form"); this.resetForm("form");
}, },
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" notDel :config="tableConfig">
<el-button <el-button
slot="table-head-left2" slot="table-head-left2"
style="margin-left: 10px" style="margin-left: 10px"
...@@ -120,7 +120,8 @@ export default { ...@@ -120,7 +120,8 @@ export default {
this.$download( this.$download(
"/perform/effect/record/exportExcel", "/perform/effect/record/exportExcel",
{ {
idList: this.selection, page: 1,
size: -1,
}, },
{ type: "excel" } { type: "excel" }
) )
...@@ -136,10 +137,12 @@ export default { ...@@ -136,10 +137,12 @@ export default {
}, },
/** 重写编辑方法 */ /** 重写编辑方法 */
toEdit(row) { toEdit(row) {
row.view = "核查";
this.$refs.drawerform.edit(row); this.$refs.drawerform.edit(row);
}, },
/** 重写查看方法 */ /** 重写查看方法 */
toView(row) { toView(row) {
row.view = "查看";
this.$refs.drawerform.view(row); this.$refs.drawerform.view(row);
}, },
}, },
...@@ -163,7 +166,7 @@ export default { ...@@ -163,7 +166,7 @@ export default {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
name: "status", name: "processStatus",
type: "select", type: "select",
label: "全部状态", label: "全部状态",
fuzzy: false, fuzzy: false,
...@@ -224,7 +227,7 @@ export default { ...@@ -224,7 +227,7 @@ export default {
{ {
label: "图片凭证", label: "图片凭证",
prop: "filePaths", prop: "snapPath",
formatter: this.formatterPic, formatter: this.formatterPic,
}, },
{ label: "绩效规则", prop: "ruleName" }, { label: "绩效规则", prop: "ruleName" },
...@@ -251,9 +254,22 @@ export default { ...@@ -251,9 +254,22 @@ export default {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: (row) => { formatter: (row) => {
return ( return row.processStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noView
noEdit
reCheck
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noEdit
noDel
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
...@@ -10,12 +10,19 @@ ...@@ -10,12 +10,19 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="姓名:"> <el-form-item label="姓名:">
<el-select v-model="form.staffId" style="width: 100%;"> <p v-if="form.view == '查看'">{{ form.staffName }}</p>
<el-select
v-model="form.staffName"
filterable
@change="staffChange"
style="width: 100%;"
v-else
>
<el-option <el-option
v-for="item in staffArr" v-for="item in staffArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option </el-option
></el-select> ></el-select>
...@@ -25,12 +32,19 @@ ...@@ -25,12 +32,19 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="所属部门:"> <el-form-item label="所属部门:">
<el-select v-model="form.deptId" style="width: 100%;"> <p v-if="form.view == '查看'">{{ form.deptName }}</p>
<el-select
v-else
v-model="form.deptId"
style="width: 100%;"
disabled
>
<el-option <el-option
v-for="item in deptArr" v-for="item in deptArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.deptName"
:value="item.value" :value="item.id"
> >
</el-option </el-option
></el-select> ></el-select>
...@@ -40,7 +54,10 @@ ...@@ -40,7 +54,10 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="窗口编号:"> <el-form-item label="窗口编号:">
<p v-if="form.view == '查看'">{{ form.windowNum }}</p>
<el-input <el-input
v-else
v-model="form.windowNum" v-model="form.windowNum"
placeholder="请输入窗口编号" placeholder="请输入窗口编号"
></el-input> ></el-input>
...@@ -50,8 +67,10 @@ ...@@ -50,8 +67,10 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="办件编码:"> <el-form-item label="办件编码:">
<p v-if="form.view == '查看'">{{ form.goworkCode }}</p>
<el-input <el-input
v-model="form.windowNum" v-model="form.goworkCode"
placeholder="请输入办件编码" placeholder="请输入办件编码"
></el-input> ></el-input>
</el-form-item> </el-form-item>
...@@ -60,12 +79,14 @@ ...@@ -60,12 +79,14 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="办件所属部门:"> <el-form-item label="办件所属部门:">
<el-select v-model="form.goworkDepts" style="width: 100%;"> <p v-if="form.view == '查看'">{{ form.goworkDepts }}</p>
<el-select v-else v-model="form.goworkDepts" style="width: 100%;">
<el-option <el-option
v-for="item in kaoqinArr" v-for="item in deptArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.deptName"
:value="item.value" :value="item.deptName"
> >
</el-option </el-option
></el-select> ></el-select>
...@@ -75,8 +96,11 @@ ...@@ -75,8 +96,11 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="事项名称:"> <el-form-item label="事项名称:">
<p v-if="form.view == '查看'">{{ form.matterlName }}</p>
<el-input <el-input
v-model="form.windowNum" v-else
v-model="form.matterlName"
placeholder="请输入事项名称" placeholder="请输入事项名称"
></el-input> ></el-input>
</el-form-item> </el-form-item>
...@@ -85,50 +109,30 @@ ...@@ -85,50 +109,30 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="办件时间:"> <el-form-item label="办件时间:">
<el-col :span="11"> <p v-if="form.view == '查看'">{{ form.goworkTime }}</p>
<el-date-picker
v-model="dateValue" <el-date-picker
type="date" v-else
placeholder="选择日期" v-model="form.goworkTime"
style="width: 100%;" type="datetime"
> placeholder="选择日期时间"
</el-date-picker> style="width: 100%;"
</el-col> >
<el-col :span="11"> </el-date-picker>
<el-time-select
v-model="timeValue"
:picker-options="{
start: '06:00',
step: '00:15',
end: '18:30',
}"
placeholder="选择时间"
style="width: 100%;margin-left: 10px;"
>
</el-time-select
></el-col>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="图片凭证:"> <el-form-item label="图片凭证:">
<el-upload <div v-if="form.view == '查看'">
class="upload-demo" {{ form.snapPath ? picMatter(form.snapPath) : "--" }}
action="https://jsonplaceholder.typicode.com/posts/" </div>
:on-preview="handlePreview" <ImageUpload
:on-remove="handleRemove" v-else
:before-remove="beforeRemove" :value="form.snapPath"
multiple @input="replaceImage"
:limit="3" ></ImageUpload>
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
只能上传jpg/png等图片文件
</div>
</el-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -136,30 +140,38 @@ ...@@ -136,30 +140,38 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="绩效规则:"> <el-form-item label="绩效规则:">
<el-col :span="22"> <p v-if="form.view == '查看'">{{ form.ruleNme }}</p>
<el-select v-model="form.attendanceGroupId" style="width: 100%;"> <div v-else>
<el-option <el-col :span="22">
v-for="item in kaoqinArr" <el-select
:key="item.value" v-model="form.categoryId"
:label="item.label" style="width: 100%;"
:value="item.value" @change="cateChange"
> >
</el-option <el-option
></el-select> v-for="item in kaoqinCateArr"
</el-col> :key="item.id"
<el-col :span="22"> :label="item.name"
<el-select :value="item.id"
v-model="form.attendanceGroupId" >
style="width: 100%;margin-top: 10px;" </el-option
> ></el-select>
<el-option </el-col>
v-for="item in kaoqinArr" <el-col :span="22">
:key="item.value" <el-select
:label="item.label" v-model="form.ruleId"
:value="item.value" style="width: 100%;margin-top: 10px;"
@change="ruleChange"
> >
</el-option></el-select <el-option
></el-col> v-for="item in ruleArr"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option></el-select
></el-col>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -173,6 +185,7 @@ ...@@ -173,6 +185,7 @@
<form-buttons <form-buttons
@submit="submitForm" @submit="submitForm"
v-show="form.view != '查看'"
v-if="pageInfo.type != 'view'" v-if="pageInfo.type != 'view'"
noCancelBtn noCancelBtn
/> />
...@@ -307,12 +320,41 @@ ...@@ -307,12 +320,41 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "PerformGoworkRecordDetail", name: "PerformGoworkRecordDetail",
mixins: [form], mixins: [form],
components: {}, components: {},
created() { created() {
this.changePath("perform/gowork/record"); this.changePath("perform/gowork/record");
// 获取工作人员列表
this.$post("/staff/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.staffArr = res.data.data;
} else {
this.staffArr = [];
}
});
// 获取部门列表
this.$post("/dept/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.deptArr = res.data.data;
} else {
this.deptArr = [];
}
});
// 获取规则分类
this.$post("/perform/rules/category/list", { page: 1, size: -1 }).then(
(res) => {
if (res.code == 1) {
this.kaoqinCateArr = res.data.data;
} else {
this.kaoqinCateArr = [];
}
}
);
}, },
data() { data() {
return { return {
...@@ -333,35 +375,129 @@ export default { ...@@ -333,35 +375,129 @@ export default {
], ],
createTime: [{ required: true, message: "请选择创建时间" }], createTime: [{ required: true, message: "请选择创建时间" }],
}, },
staffArr: [ staffArr: [],
{
label: "员工1",
value: "1",
},
],
deptArr: [], deptArr: [],
kaoqinArr: [], kaoqinArr: [],
fileList: [], fileList: [],
kaoqinCateArr: [],
ruleArr: [],
sourceArr: [
{
label: "窗口评价系统",
value: "窗口评价系统",
},
{
label: "导视系统",
value: "导视系统",
},
{
label: "自助服务系统",
value: "自助服务系统",
},
{
label: "微官网",
value: "微官网",
},
{
label: "其它",
value: "其它",
},
],
form: {},
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
dateValue: "", dateValue: "",
timeValue: "", timeValue: "",
}; };
}, },
methods: { methods: {
picMatter(val) {
if (val || val !== "--") {
return (
<el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
preview-src-list={
val.indexOf("http") == -1 ? this.baseUrl + val : val
}
style="width: 100px"
></el-image>
);
} else {
return val;
}
},
ruleChange(val) {
let arr = this.ruleArr.filter((v) => v.id == val);
this.form.score = arr && arr[0].score;
this.form.checkStatus == 1 ? (this.form.checkStatus = 2) : "";
},
cateChange() {
this.$post("/perform/rules/list", {
page: 1,
size: -1,
categoryId: this.form.categoryId,
}).then((res) => {
this.ruleArr = res.data.data;
this.form.ruleId = "";
});
},
replaceImage(val) {
this.form.snapPath = val;
},
staffChange(val) {
console.log(val);
let arr = this.staffArr.filter((v) => v.id == val);
this.form.deptId = arr && arr.length > 0 ? arr[0].deptId : "";
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/gowork/record/edit"; // this.urls.currUrl = "perform/gowork/record/edit";
this.getData(); // this.getData();
this.$get("/perform/review/record/info", { id: row.id }).then((res) => {
console.log(res.data);
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "deductTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "goOffTimeStr"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "reviewTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.processStatus = 2;
this.form.view = "核查";
this.staffChange(this.form.staffId);
this.open = true;
});
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
this.title = "修改办件绩效记录信息"; this.title = "修改办件绩效记录信息";
}, },
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset(); this.reset();
this.urls.currUrl = "perform/gowork/record/add"; // this.urls.currUrl = "perform/gowork/record/add";
this.getData(); // this.getData();
this.open = true;
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增办件绩效记录信息"; this.title = "新增办件绩效记录信息";
}, },
...@@ -369,8 +505,39 @@ export default { ...@@ -369,8 +505,39 @@ export default {
view(row) { view(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/gowork/record/view"; // this.urls.currUrl = "perform/gowork/record/view";
this.getData(); // this.getData();
this.$get("/perform/review/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "deductTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "goOffTimeStr"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "goworkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.processStatus = 1;
this.form.view = "查看";
this.open = true;
});
this.pageInfo.type = "view"; this.pageInfo.type = "view";
this.title = "办件绩效记录信息详细"; this.title = "办件绩效记录信息详细";
}, },
...@@ -406,7 +573,7 @@ export default { ...@@ -406,7 +573,7 @@ export default {
subMethod: 1, subMethod: 1,
deductPerson: "", deductPerson: "",
deductTime: null, deductTime: null,
score: 0.0, score: "",
processStatus: 1, processStatus: 1,
remark: "", remark: "",
}; };
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" notDel :config="tableConfig">
<el-button <el-button
slot="table-head-left2" slot="table-head-left2"
style="margin-left: 10px" style="margin-left: 10px"
...@@ -120,7 +120,8 @@ export default { ...@@ -120,7 +120,8 @@ export default {
this.$download( this.$download(
"/perform/gowork/record/exportExcel", "/perform/gowork/record/exportExcel",
{ {
idList: this.selection, page: 1,
size: -1,
}, },
{ type: "excel" } { type: "excel" }
) )
...@@ -136,10 +137,12 @@ export default { ...@@ -136,10 +137,12 @@ export default {
}, },
/** 重写编辑方法 */ /** 重写编辑方法 */
toEdit(row) { toEdit(row) {
row.view = "核查";
this.$refs.drawerform.edit(row); this.$refs.drawerform.edit(row);
}, },
/** 重写查看方法 */ /** 重写查看方法 */
toView(row) { toView(row) {
row.view = "查看";
this.$refs.drawerform.view(row); this.$refs.drawerform.view(row);
}, },
}, },
...@@ -163,7 +166,7 @@ export default { ...@@ -163,7 +166,7 @@ export default {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
name: "status", name: "processStatus",
type: "select", type: "select",
label: "全部状态", label: "全部状态",
fuzzy: false, fuzzy: false,
...@@ -211,7 +214,7 @@ export default { ...@@ -211,7 +214,7 @@ export default {
{ {
label: "图片凭证", label: "图片凭证",
prop: "filePaths", prop: "snapPath",
formatter: this.formatterPic, formatter: this.formatterPic,
}, },
{ label: "绩效规则", prop: "ruleName" }, { label: "绩效规则", prop: "ruleName" },
...@@ -238,9 +241,22 @@ export default { ...@@ -238,9 +241,22 @@ export default {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: (row) => { formatter: (row) => {
return ( return row.processStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noView
noEdit
reCheck
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noEdit
noDel
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
...@@ -10,12 +10,19 @@ ...@@ -10,12 +10,19 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="姓名:"> <el-form-item label="姓名:">
<el-select v-model="form.staffId" style="width: 100%;"> <p v-if="form.view == '查看'">{{ form.staffName }}</p>
<el-select
v-model="form.staffName"
filterable
@change="staffChange"
style="width: 100%;"
v-else
>
<el-option <el-option
v-for="item in staffArr" v-for="item in staffArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
> >
</el-option </el-option
></el-select> ></el-select>
...@@ -25,12 +32,19 @@ ...@@ -25,12 +32,19 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="所属部门:"> <el-form-item label="所属部门:">
<el-select v-model="form.deptId" style="width: 100%;"> <p v-if="form.view == '查看'">{{ form.deptName }}</p>
<el-select
v-else
v-model="form.deptId"
style="width: 100%;"
disabled
>
<el-option <el-option
v-for="item in deptArr" v-for="item in deptArr"
:key="item.value" :key="item.id"
:label="item.label" :label="item.deptName"
:value="item.value" :value="item.id"
> >
</el-option </el-option
></el-select> ></el-select>
...@@ -40,7 +54,10 @@ ...@@ -40,7 +54,10 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="窗口编号:"> <el-form-item label="窗口编号:">
<p v-if="form.view == '查看'">{{ form.windowNum }}</p>
<el-input <el-input
v-else
v-model="form.windowNum" v-model="form.windowNum"
placeholder="请输入窗口编号" placeholder="请输入窗口编号"
></el-input> ></el-input>
...@@ -51,28 +68,16 @@ ...@@ -51,28 +68,16 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="发生时间:"> <el-form-item label="发生时间:">
<el-col :span="11"> <p v-if="form.view == '查看'">{{ form.happenTime }}</p>
<el-date-picker
v-model="dateValue" <el-date-picker
type="date" v-else
placeholder="选择日期" v-model="form.happenTime"
style="width: 100%;" type="datetime"
> placeholder="选择日期时间"
</el-date-picker> style="width: 100%;"
</el-col> >
<el-col :span="11"> </el-date-picker>
<el-time-select
v-model="timeValue"
:picker-options="{
start: '06:00',
step: '00:15',
end: '18:30',
}"
placeholder="选择时间"
style="width: 100%;margin-left: 10px;"
>
</el-time-select
></el-col>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -80,22 +85,14 @@ ...@@ -80,22 +85,14 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="图片凭证:"> <el-form-item label="图片凭证:">
<el-upload <div v-if="form.view == '查看'">
class="upload-demo" {{ form.snapPath ? picMatter(form.snapPath) : "--" }}
action="https://jsonplaceholder.typicode.com/posts/" </div>
:on-preview="handlePreview" <ImageUpload
:on-remove="handleRemove" v-else
:before-remove="beforeRemove" :value="form.snapPath"
multiple @input="replaceImage"
:limit="3" ></ImageUpload>
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
只能上传jpg/png等图片文件
</div>
</el-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -103,30 +100,38 @@ ...@@ -103,30 +100,38 @@
<el-row> <el-row>
<el-col :span="22"> <el-col :span="22">
<el-form-item label="绩效规则:"> <el-form-item label="绩效规则:">
<el-col :span="22"> <p v-if="form.view == '查看'">{{ form.ruleNme }}</p>
<el-select v-model="form.attendanceGroupId" style="width: 100%;"> <div v-else>
<el-option <el-col :span="22">
v-for="item in kaoqinArr" <el-select
:key="item.value" v-model="form.categoryId"
:label="item.label" style="width: 100%;"
:value="item.value" @change="cateChange"
> >
</el-option <el-option
></el-select> v-for="item in kaoqinCateArr"
</el-col> :key="item.id"
<el-col :span="22"> :label="item.name"
<el-select :value="item.id"
v-model="form.attendanceGroupId" >
style="width: 100%;margin-top: 10px;" </el-option
> ></el-select>
<el-option </el-col>
v-for="item in kaoqinArr" <el-col :span="22">
:key="item.value" <el-select
:label="item.label" v-model="form.ruleId"
:value="item.value" style="width: 100%;margin-top: 10px;"
@change="ruleChange"
> >
</el-option></el-select <el-option
></el-col> v-for="item in ruleArr"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option></el-select
></el-col>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -140,6 +145,7 @@ ...@@ -140,6 +145,7 @@
<form-buttons <form-buttons
@submit="submitForm" @submit="submitForm"
v-show="form.view != '查看'"
v-if="pageInfo.type != 'view'" v-if="pageInfo.type != 'view'"
noCancelBtn noCancelBtn
/> />
...@@ -275,12 +281,41 @@ ...@@ -275,12 +281,41 @@
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "PerformOtherRecordDetail", name: "PerformOtherRecordDetail",
mixins: [form], mixins: [form],
components: {}, components: {},
created() { created() {
this.changePath("perform/other/record"); this.changePath("perform/other/record");
// 获取工作人员列表
this.$post("/staff/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.staffArr = res.data.data;
} else {
this.staffArr = [];
}
});
// 获取部门列表
this.$post("/dept/list", { page: 1, size: -1 }).then((res) => {
if (res.code == 1) {
this.deptArr = res.data.data;
} else {
this.deptArr = [];
}
});
// 获取规则分类
this.$post("/perform/rules/category/list", { page: 1, size: -1 }).then(
(res) => {
if (res.code == 1) {
this.kaoqinCateArr = res.data.data;
} else {
this.kaoqinCateArr = [];
}
}
);
}, },
data() { data() {
return { return {
...@@ -301,35 +336,130 @@ export default { ...@@ -301,35 +336,130 @@ export default {
], ],
createTime: [{ required: true, message: "请选择创建时间" }], createTime: [{ required: true, message: "请选择创建时间" }],
}, },
staffArr: [ staffArr: [],
{
label: "员工1",
value: "1",
},
],
deptArr: [], deptArr: [],
kaoqinArr: [], kaoqinArr: [],
fileList: [], fileList: [],
kaoqinCateArr: [],
ruleArr: [],
sourceArr: [
{
label: "窗口评价系统",
value: "窗口评价系统",
},
{
label: "导视系统",
value: "导视系统",
},
{
label: "自助服务系统",
value: "自助服务系统",
},
{
label: "微官网",
value: "微官网",
},
{
label: "其它",
value: "其它",
},
],
form: {},
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
dateValue: "", dateValue: "",
timeValue: "", timeValue: "",
}; };
}, },
methods: { methods: {
picMatter(val) {
if (val || val !== "--") {
return (
<el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
preview-src-list={
val.indexOf("http") == -1 ? this.baseUrl + val : val
}
style="width: 100px"
></el-image>
);
} else {
return val;
}
},
ruleChange(val) {
let arr = this.ruleArr.filter((v) => v.id == val);
this.form.score = arr && arr[0].score;
this.form.checkStatus == 1 ? (this.form.checkStatus = 2) : "";
},
cateChange() {
this.$post("/perform/rules/list", {
page: 1,
size: -1,
categoryId: this.form.categoryId,
}).then((res) => {
this.ruleArr = res.data.data;
this.form.ruleId = "";
});
},
replaceImage(val) {
this.form.snapPath = val;
this.$forceUpdate(this.form.snapPath);
},
staffChange(val) {
console.log(val);
let arr = this.staffArr.filter((v) => v.id == val);
this.form.deptId = arr && arr.length > 0 ? arr[0].deptId : "";
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/other/record/edit"; // this.urls.currUrl = "perform/other/record/edit";
this.getData(); // this.getData();
this.$get("/perform/other/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "deductTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "goOffTimeStr"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "reviewTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.processStatus = 2;
this.form.snapPath ? "" : (this.form.snapPath = "");
this.form.view = "核查";
this.staffChange(this.form.staffId);
this.open = true;
});
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
this.title = "修改其它绩效记录信息"; this.title = "修改其它绩效记录信息";
}, },
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset(); this.reset();
this.urls.currUrl = "perform/other/record/add"; // this.urls.currUrl = "perform/other/record/add";
this.getData(); // this.getData();
this.open = true;
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增其它绩效记录信息"; this.title = "新增其它绩效记录信息";
}, },
...@@ -337,8 +467,39 @@ export default { ...@@ -337,8 +467,39 @@ export default {
view(row) { view(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/other/record/view"; // this.urls.currUrl = "perform/other/record/view";
this.getData(); // this.getData();
this.$get("/perform/other/record/info", { id: row.id }).then((res) => {
if (res.code == 1) {
this.form = res.data;
} else {
this.form = row;
}
for (let key in this.form) {
key == "actualAttendTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "attendanceDate"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "createTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "errorTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "updateTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "checkTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "deductTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "goOffTimeStr"
? (this.form[key] = timestampToTime(this.form[key], 6))
: key == "reviewTime"
? (this.form[key] = timestampToTime(this.form[key], 6))
: "";
}
this.form.processStatus = 1;
this.form.view = "查看";
this.open = true;
});
this.pageInfo.type = "view"; this.pageInfo.type = "view";
this.title = "其它绩效记录信息详细"; this.title = "其它绩效记录信息详细";
}, },
...@@ -367,16 +528,19 @@ export default { ...@@ -367,16 +528,19 @@ export default {
deptName: "", deptName: "",
irregularOtherType: null, irregularOtherType: null,
happenTime: null, happenTime: null,
duration: 0, duration: "",
ruleId: null, ruleId: null,
ruleName: "", ruleName: "",
ruleDesc: "", ruleDesc: "",
subMethod: 1, subMethod: "",
deductPerson: "", deductPerson: "",
deductTime: null, deductTime: null,
score: 0.0, score: "",
processStatus: 1, processStatus: 1,
remark: "", remark: "",
categoryId: "",
happenTime: "",
snapPath: "",
}; };
this.resetForm("form"); this.resetForm("form");
}, },
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" notDel :config="tableConfig">
<el-button <el-button
slot="table-head-left2" slot="table-head-left2"
style="margin-left: 10px" style="margin-left: 10px"
...@@ -120,7 +120,8 @@ export default { ...@@ -120,7 +120,8 @@ export default {
this.$download( this.$download(
"/perform/other/record/exportExcel", "/perform/other/record/exportExcel",
{ {
idList: this.selection, page: 1,
size: -1,
}, },
{ type: "excel" } { type: "excel" }
) )
...@@ -136,10 +137,12 @@ export default { ...@@ -136,10 +137,12 @@ export default {
}, },
/** 重写编辑方法 */ /** 重写编辑方法 */
toEdit(row) { toEdit(row) {
row.view = "核查";
this.$refs.drawerform.edit(row); this.$refs.drawerform.edit(row);
}, },
/** 重写查看方法 */ /** 重写查看方法 */
toView(row) { toView(row) {
row.view = "查看";
this.$refs.drawerform.view(row); this.$refs.drawerform.view(row);
}, },
}, },
...@@ -163,7 +166,7 @@ export default { ...@@ -163,7 +166,7 @@ export default {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
name: "status", name: "processStatus",
type: "select", type: "select",
label: "全部状态", label: "全部状态",
fuzzy: false, fuzzy: false,
...@@ -220,7 +223,7 @@ export default { ...@@ -220,7 +223,7 @@ export default {
// { label: "绩效规则id", prop: "ruleId", formatter: this.formatter }, // { label: "绩效规则id", prop: "ruleId", formatter: this.formatter },
{ {
label: "图片凭证", label: "图片凭证",
prop: "filePaths", prop: "snapPath",
formatter: this.formatterPic, formatter: this.formatterPic,
}, },
{ label: "绩效规则", prop: "ruleName" }, { label: "绩效规则", prop: "ruleName" },
...@@ -247,9 +250,22 @@ export default { ...@@ -247,9 +250,22 @@ export default {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: (row) => { formatter: (row) => {
return ( return row.processStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noView
noEdit
reCheck
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
) : (
<table-buttons
noAdd
noEdit
noDel
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
...@@ -139,11 +139,11 @@ ...@@ -139,11 +139,11 @@
<el-col :span="22"> <el-col :span="22">
<el-form-item label="图片凭证:"> <el-form-item label="图片凭证:">
<div v-if="form.view == '查看'"> <div v-if="form.view == '查看'">
{{ form.filePaths ? picMatter(form.filePaths) : "--" }} {{ form.snapPath ? picMatter(form.snapPath) : "--" }}
</div> </div>
<ImageUpload <ImageUpload
v-else v-else
:value="form.filePaths" :value="form.snapPath"
@input="replaceImage" @input="replaceImage"
></ImageUpload> ></ImageUpload>
</el-form-item> </el-form-item>
...@@ -198,6 +198,7 @@ ...@@ -198,6 +198,7 @@
<form-buttons <form-buttons
@submit="submitForm" @submit="submitForm"
v-show="form.view != '查看'"
v-if="pageInfo.type != 'view'" v-if="pageInfo.type != 'view'"
noCancelBtn noCancelBtn
/> />
...@@ -389,7 +390,6 @@ export default { ...@@ -389,7 +390,6 @@ export default {
], ],
createTime: [{ required: true, message: "请选择创建时间" }], createTime: [{ required: true, message: "请选择创建时间" }],
}, },
staffArr: [], staffArr: [],
deptArr: [], deptArr: [],
kaoqinArr: [], kaoqinArr: [],
...@@ -427,7 +427,7 @@ export default { ...@@ -427,7 +427,7 @@ export default {
methods: { methods: {
picMatter(val) { picMatter(val) {
if (val !== "--") { if (val || val !== "--") {
return ( return (
<el-image <el-image
src={val.indexOf("http") == -1 ? this.baseUrl + val : val} src={val.indexOf("http") == -1 ? this.baseUrl + val : val}
...@@ -457,7 +457,7 @@ export default { ...@@ -457,7 +457,7 @@ export default {
}); });
}, },
replaceImage(val) { replaceImage(val) {
this.form.filePaths = val; this.form.snapPath = val;
}, },
staffChange(val) { staffChange(val) {
console.log(val); console.log(val);
...@@ -500,6 +500,8 @@ export default { ...@@ -500,6 +500,8 @@ export default {
} }
this.form.processStatus = 2; this.form.processStatus = 2;
this.form.view = "核查"; this.form.view = "核查";
this.staffChange(this.form.staffId);
this.open = true; this.open = true;
}); });
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
...@@ -579,7 +581,7 @@ export default { ...@@ -579,7 +581,7 @@ export default {
deptId: "", deptId: "",
deptName: "", deptName: "",
fileNames: "", fileNames: "",
filePaths: "", snapPath: "",
processStatus: 1, processStatus: 1,
remark: "", remark: "",
reviewDevice: "", reviewDevice: "",
...@@ -594,6 +596,7 @@ export default { ...@@ -594,6 +596,7 @@ export default {
subMethod: "", subMethod: "",
windowNum: "", windowNum: "",
workNum: "", workNum: "",
categoryId: "",
}; };
this.resetForm("form"); this.resetForm("form");
}, },
......
...@@ -166,7 +166,7 @@ export default { ...@@ -166,7 +166,7 @@ export default {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
name: "status", name: "processStatus",
type: "select", type: "select",
label: "全部状态", label: "全部状态",
fuzzy: false, fuzzy: false,
...@@ -178,7 +178,7 @@ export default { ...@@ -178,7 +178,7 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "source", name: "reviewSource",
type: "select", type: "select",
label: "全部来源", label: "全部来源",
fuzzy: false, fuzzy: false,
...@@ -222,7 +222,11 @@ export default { ...@@ -222,7 +222,11 @@ export default {
formatter: this.formatterDate, formatter: this.formatterDate,
}, },
{ label: "图片凭证", prop: "snapPath" }, {
label: "图片凭证",
prop: "snapPath",
formatter: this.formatterPic,
},
{ label: "绩效规则", prop: "ruleNme" }, { label: "绩效规则", prop: "ruleNme" },
...@@ -251,6 +255,9 @@ export default { ...@@ -251,6 +255,9 @@ export default {
return row.processStatus == 1 ? ( return row.processStatus == 1 ? (
<table-buttons <table-buttons
noAdd noAdd
noView
noEdit
reCheck
row={row} row={row}
onEdit={this.toEdit} onEdit={this.toEdit}
onView={this.toView} onView={this.toView}
......
...@@ -31,11 +31,12 @@ ...@@ -31,11 +31,12 @@
v-model="switchValue" v-model="switchValue"
active-color="#13ce66" active-color="#13ce66"
inactive-color="#1890ff" inactive-color="#1890ff"
active-value="100" active-value="1"
inactive-value="0" inactive-value="0"
inactive-text="按分值排序" inactive-text="按分值排序"
active-text="按更新时间排序" active-text="按更新时间排序"
style="margin-left: 10px;" style="margin-left: 10px;"
@change="switchChange"
> >
</el-switch> </el-switch>
</div> </div>
...@@ -43,8 +44,14 @@ ...@@ -43,8 +44,14 @@
<el-input <el-input
placeholder="请输入考核内容关键字搜索" placeholder="请输入考核内容关键字搜索"
style="width: 300px;margin-right: 10px;" style="width: 300px;margin-right: 10px;"
v-model="searchValue"
></el-input> ></el-input>
<el-button type="primary"> 搜索 </el-button> <el-button
type="primary"
@click="getKaoQin(cateObj.id ? cateObj.id : '')"
>
搜索
</el-button>
</div> </div>
</div> </div>
<div class="table_box"> <div class="table_box">
...@@ -74,7 +81,6 @@ export default { ...@@ -74,7 +81,6 @@ export default {
dialogShow, dialogShow,
}, },
mixins: [table], mixins: [table],
props: { props: {
activeName: { activeName: {
type: String, type: String,
...@@ -84,8 +90,17 @@ export default { ...@@ -84,8 +90,17 @@ export default {
data() { data() {
return { return {
switchValue: "0", switchValue: "0",
searchValue: "",
index: -1, index: -1,
dataArr: [], dataArr: [],
typeArr: [
{
colName: "score",
sortKind: "desc",
},
],
cateObj: {},
config: { config: {
isshowTabPane: false, isshowTabPane: false,
search: [], search: [],
...@@ -131,26 +146,48 @@ export default { ...@@ -131,26 +146,48 @@ export default {
created() { created() {
// this.getData(); // this.getData();
console.log(123);
this.cateObj = {};
}, },
methods: { methods: {
switchChange() {
console.log(this.switchValue);
this.switchValue == 0
? (this.typeArr = [
{
colName: "score",
sortKind: "desc",
},
])
: (this.typeArr = [
{
colName: "updateTime",
sortKind: "desc",
},
]);
this.getKaoQin(this.cateObj.id);
},
handleClick(val, i) { handleClick(val, i) {
this.index = i; this.index = i;
this.cateObj = val;
this.getKaoQin(val.id);
}, },
addRules() { addRules() {
this.$refs.drawerform.add(); this.$refs.drawerform.add(this.dataArr, this.cateObj);
}, },
eddRules(row) { eddRules(row) {
this.$refs.drawerform.edit(row); this.$refs.drawerform.edit(row, this.dataArr, this.cateObj);
}, },
addCate() { addCate() {
this.$refs.dialogform.add(); this.$refs.dialogform.add(this.activeName);
}, },
toDelRules(val) { toDelRules(val) {
console.log(val);
this.$get("/perform/rules/delete", { id: val }).then((res) => { this.$get("/perform/rules/delete", { id: val }).then((res) => {
this.$message.success(res.msg); this.$message.success(res.msg);
this.getKaoQin(); this.getKaoQin(this.cateObj.id ? this.cateObj.id : "");
// this.tableData = [];
// this.index = -1;
}); });
}, },
/** 重写编辑方法 */ /** 重写编辑方法 */
...@@ -162,12 +199,15 @@ export default { ...@@ -162,12 +199,15 @@ export default {
(res) => { (res) => {
this.$message.success(res.msg); this.$message.success(res.msg);
this.getData(); this.getData();
this.index = -1;
} }
); );
}, },
async getData() { async getData() {
await this.$post("/perform/rules/category/list").then((res) => { await this.$post("/perform/rules/category/list", {
this.getKaoQin(); type: this.activeName,
}).then((res) => {
this.getKaoQin(this.cateObj ? this.cateObj.id : "");
if (res.code == 1) { if (res.code == 1) {
this.dataArr = res.data.data; this.dataArr = res.data.data;
} else { } else {
...@@ -175,18 +215,20 @@ export default { ...@@ -175,18 +215,20 @@ export default {
} }
}); });
}, },
async getKaoQin() { async getKaoQin(categoryId) {
await this.$post("/perform/rules/list", { type: this.activeName }).then( await this.$post("/perform/rules/list", {
(res) => { categoryId,
if (res.code == 1) { page: this.query.page,
this.tableData = res.data; orderColList: this.typeArr,
console.log(res.data); name: this.searchValue,
this.$forceUpdate(this.tableData); }).then((res) => {
} else { if (res.code == 1) {
this.tableData = {}; this.tableData = res.data;
} this.$forceUpdate(this.tableData);
} else {
this.tableData = {};
} }
); });
}, },
}, },
}; };
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body> <el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<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 <!-- <Field
label="绩效规则id" label="绩效规则id"
prop="ruleId" prop="ruleId"
v-model="form.ruleId" v-model="form.ruleId"
...@@ -15,12 +15,7 @@ ...@@ -15,12 +15,7 @@
v-model="form.ruleBrief" v-model="form.ruleBrief"
placeholder="请输入规则简称" placeholder="请输入规则简称"
/> />
<Field
label="分类名称"
prop="name"
v-model="form.name"
placeholder="请输入分类名称"
/>
<Field <Field
label="规则类型" label="规则类型"
prop="type" prop="type"
...@@ -28,7 +23,15 @@ ...@@ -28,7 +23,15 @@
type="select" type="select"
:enumData="dict.type" :enumData="dict.type"
placeholder="请选择规则类型" placeholder="请选择规则类型"
/> /> -->
<el-row style="width: 100%;">
<Field
label="分类名称"
prop="name"
v-model="form.name"
placeholder="请输入分类名称"
/>
</el-row>
<Field <Field
label="备注" label="备注"
prop="remark" prop="remark"
...@@ -77,16 +80,27 @@ export default { ...@@ -77,16 +80,27 @@ export default {
edit(row) { edit(row) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/rules/category/edit"; // this.urls.currUrl = "perform/rules/category/edit";
this.getData(); // this.getData();
this.$get("/perform/rules/category/info", { id: row.id }).then((res) => {
console.log(res);
if (res.code == 1) {
this.form = res.data;
} else {
this.form = {};
}
this.open = true;
});
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
this.title = "修改绩效规则分类信息"; this.title = "修改绩效规则分类信息";
}, },
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset(); this.reset();
this.urls.currUrl = "perform/rules/category/add"; // this.urls.currUrl = "perform/rules/category/save";
this.getData(); // this.getData();
this.form.type = row;
this.open = true;
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增绩效规则分类信息"; this.title = "新增绩效规则分类信息";
}, },
......
...@@ -8,16 +8,23 @@ ...@@ -8,16 +8,23 @@
> >
<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 <el-col :span="20">
:span="20" <el-form-item label="分类:">
label="分类" <el-select
prop="categoryId" v-model="form.categoryId"
v-model="form.categoryId" style="width: 100%;"
:enumData="dict.categoryId" @change="cateChange"
type="select" >
placeholder="请选择分类" <el-option
/> v-for="item in kaoqinCateArr"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option
></el-select>
</el-form-item>
</el-col>
<Field <Field
:span="20" :span="20"
label="考核内容简称" label="考核内容简称"
...@@ -44,7 +51,7 @@ ...@@ -44,7 +51,7 @@
/> />
<Field <Field
:span="20" :span="20"
label="扣分" label="加分/扣分"
prop="score" prop="score"
v-model="form.score" v-model="form.score"
placeholder="请输入扣分或增加分值" placeholder="请输入扣分或增加分值"
...@@ -110,24 +117,72 @@ export default { ...@@ -110,24 +117,72 @@ export default {
editUrl: "/perform/rules/edit", editUrl: "/perform/rules/edit",
saveUrl: "/perform/rules/save", saveUrl: "/perform/rules/save",
}, },
kaoqinCateArr: [],
}; };
}, },
methods: { methods: {
/** 编辑 */ /** 编辑 */
edit(row) { edit(row, arr, obj) {
this.reset(); this.reset();
this.query = { id: row.id }; this.query = { id: row.id };
this.urls.currUrl = "perform/rules/edit"; // this.urls.currUrl = "perform/rules/edit";
this.getData(); // this.getData();
this.$get("/perform/rules/info", { id: row.id }).then((res) => {
console.log(res);
if (res.code == 1) {
this.dict = res.dict;
this.form = res.data;
} else {
this.form = {};
}
// this.form.categoryId = obj ? obj.id : "";
this.form.assoOwner =
this.form.assoOwner == 0 || this.form.assoOwner == 1
? JSON.stringify(this.form.assoOwner)
: "";
this.form.subAddType = this.form.subAddType
? JSON.stringify(this.form.subAddType)
: "";
this.open = true;
console.log(this.form);
});
this.kaoqinCateArr = arr;
this.pageInfo.type = "edit"; this.pageInfo.type = "edit";
this.title = "修改规则"; this.title = "修改规则";
}, },
/** 新增 */ /** 新增 */
add(row) { add(row, obj) {
this.reset(); this.reset();
this.urls.currUrl = "perform/rules/add"; // this.urls.currUrl = "perform/rules/add";
this.getData(); // this.getData();
this.dict = {
subAddType: {
"1": "增加",
"2": "扣除",
},
assoOwner: {
"0": "",
"1": "",
},
type: {
"1": "考勤绩效",
"2": "评价绩效指标",
"3": "办件绩效指标",
"4": "效能绩效指标",
"5": "其它绩效指标",
},
categoryId: {
"11": "种类2",
"9": "评价分类",
"10": "种类1",
},
};
this.form.assoOwner = "";
this.form.subAddType = "";
this.kaoqinCateArr = row;
this.form.categoryId = obj ? obj.id : "";
this.open = true;
this.pageInfo.type = "add"; this.pageInfo.type = "add";
this.title = "新增规则"; this.title = "新增规则";
}, },
...@@ -158,16 +213,16 @@ export default { ...@@ -158,16 +213,16 @@ export default {
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {
categoryId: null, categoryId: "",
categoryName: "", categoryName: "",
name: "", name: "",
content: "", content: "",
subAddType: 1, subAddType: "",
score: 0.0, score: 0.0,
assoOwner: 0, assoOwner: "",
ownerScore: 0.0, ownerScore: 0.0,
remark: "", remark: "",
type: 1, type: "",
}; };
this.resetForm("form"); this.resetForm("form");
}, },
......
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