Commit 7a9c690c authored by 王晓旭's avatar 王晓旭

修改评价

parent 87eccd76
<template>
<<<<<<< HEAD
<div class="callRecord-Container">
<div class="header_box">
<div>
......@@ -25,64 +24,11 @@
<a-select-option value="5"> 好差评 </a-select-option>
<a-select-option value="6"> 一体化评价 </a-select-option>
</a-select>
=======
<div class="callRecord-Container">
<div class="header_box">
<div>
<a-button
:loading="btnLoading"
type="success"
@click="handleExportTable"
>
<span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span>
</a-button>
<a-button type="danger" @click="delTable">
<span>批量删除</span>
</a-button>
<b
>评价次数:<i>{{ evaCount }}</i></b
>
<sub
>统计时间段:{{ BegindAndEndTime[0] }}~{{ BegindAndEndTime[1] }}</sub
>
</div>
<span>
<a-space>
<a-select
placeholder="全部评价"
@change="changeEvaChoose"
mode="multiple"
>
<a-select-option value="非常满意"> 非常满意 </a-select-option>
<a-select-option value="基本满意"> 基本满意 </a-select-option>
<a-select-option value="满意"> 满意 </a-select-option>
<a-select-option value="不满意"> 不满意 </a-select-option>
<a-select-option value="非常不满意"> 非常不满意 </a-select-option>
</a-select>
<a-select
placeholder="全部来源"
@change="changeEvaFrom"
mode="multiple"
>
<a-select-option value="1"> 窗口评价 </a-select-option>
<a-select-option value="2"> 自助服务终端 </a-select-option>
<a-select-option value="3"> 背靠背评价 </a-select-option>
<a-select-option value="4"> 微官网 </a-select-option>
<a-select-option value="5"> 好差评 </a-select-option>
<a-select-option value="6"> 一体化评价 </a-select-option>
</a-select>
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
<a-range-picker
:allowClear="false"
format="YYYY-MM-DD"
class="range_picker_style"
valueFormat="YYYY-MM-DD"
v-model="BegindAndEndTime"
>
<a-range-picker :allowClear="false" format="YYYY年MM月DD日" class="range_picker_style" @change="rangePickerChange"
v-model="BegindAndEndTime">
</a-range-picker>
<<<<<<< HEAD
<a-input v-model="searchName" placeholder="请输入评价人姓名或窗口编号搜索">
<a-icon slot="prefix" type="search" />
</a-input>
......@@ -111,64 +57,12 @@
{{content}}
</a-modal>
</div>
=======
<a-input v-model="searchName" placeholder="请输入内容搜索搜索">
<a-icon slot="prefix" type="search" />
</a-input>
<a-button type="primary" @click="handleSearch">搜索</a-button>
<a-button @click="resetBtn">重置</a-button>
</a-space>
</span>
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
</div>
<div class="main">
<a-table
size="small"
bordered
:row-key="(record) => record.id"
:row-selection="{
selectedRowKeys: tableSelectedKeys,
onChange: onSelectChange,
}"
:scroll="{ y: 590 }"
:pagination="tablePagination"
@change="pagTableChange"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableSourceData"
>
<!-- 序号 -->
<span slot="index" slot-scope="text, record, index">{{
(tablePagination.current - 1) * tablePagination.pageSize + index + 1
}}</span>
<template slot="评价人照片" slot-scope="text">
<a-avatar v-if="!text" shape="square" :size="40" icon="user" />
<img
v-else
:src="process.env.VUE_APP_API_BASE_URL + text"
alt=""
srcset=""
/>
</template>
<template slot="操作" slot-scope="text, record">
<a-button type="link" style="color: #ff7370">删除</a-button>
<a-button type="link" @click="openHandlingDetails(record)"
>详情</a-button
>
</template>
</a-table>
<HandlingDetails ref="HandlingDetails" />
<a-modal v-model="visible" title="系统提示" @ok="togetEvaDetil()">
{{ content }}
</a-modal>
</div>
</div>
</template>
<script>
import table from "@/mixins/table";
import HandlingDetails from "./components/HandlingDetails.vue";
<<<<<<< HEAD
import { getOptonList, getEvaList, getEvaData, getEvaDetil, getQueEvaData } from "@/api/dataAdmin";
export default {
......@@ -370,279 +264,90 @@ export default {
this.exportExcel(tableColumns, newTableData, exprotExcelName);
}
=======
import {
getEvaList,
getEvaData,
getEvaDetil,
getQueEvaData,
} from "@/api/dataAdmin";
export default {
mixins: [table],
name: "departmentEvaluation",
data() {
return {
btnLoading: false,
tableHeaders: [
{
title: "序号",
width: "60px",
align: "center",
scopedSlots: {
customRender: "index",
},
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
},
{
title: "部门名称",
align: "center",
customRender: (text) => {
return text.section ? text.section : "--";
},
},
{
title: "评价选项",
align: "center",
dataIndex: "option_id",
},
{
title: "评价人",
align: "center",
customRender: (text) => {
return text.idcard_Name ? text.idcard_Name : "--";
},
},
{
title: "身份证号",
align: "center",
customRender: (text) => {
return text.idcard_IDCardNo ? text.idcard_IDCardNo : "--";
},
},
{
title: "手机号",
align: "center",
customRender: (text) => {
return text.phone ? text.phone : "--";
},
},
{
title: "评价时间",
align: "center",
dataIndex: "create_time",
},
{
title: "评价来源",
align: "center",
dataIndex: "pjxt",
customRender: (text, record, index) => {
if (text == 1) {
return "窗口评价";
} else if (text == 2) {
return "自助服务终端";
} else if (text == 3) {
return "背靠背评价";
} else if (text == 4) {
return "微官网";
} else if (text == 5) {
return "好差评";
} else {
return "一体化评价";
}
},
},
{
title: "评价设备",
align: "center",
dataIndex: "source",
customRender: (text, record, index) => {
if (text == 1) {
return "安卓";
} else if (text == 2) {
return "导视机";
} else {
return "微信";
}
},
},
{
title: "评价人照片",
align: "center",
dataIndex: "picture",
scopedSlots: {
customRender: "评价人照片",
},
},
{
title: "操作",
align: "center",
dataIndex: "操作",
scopedSlots: {
customRender: "操作",
},
},
],
BegindAndEndTime: [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
],
searchName: undefined,
//删除窗口判断
visible: false,
tableSourceData: [],
evaCount: 0, //评价次数
evaChoose: [], //评价选项
evaFrom: [0], // 评价来源
evaDates: [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
], // 评价日期
content: "此操作将删除该评价信息,是否继续?",
delId: null, //当前删除id
tHeader: [
// 导出的表头名信息
"部门名称",
"评价选项",
"评价人",
"身份证号码",
"手机号",
"评价时间",
"评价来源",
"评价设备",
],
filterVal: [
// 导出的表头字段名,需要导出表格字段名
"section",
"option_id",
"idcard_Name",
"idcard_IDCardNo",
"phone",
"create_time",
"pjxt",
"source",
],
tableSelectedKeys: [],
tableSelectedRows: [],
};
},
components: {
HandlingDetails,
},
mounted() {
this.setMoment();
this.togetevalist();
},
methods: {
delTable() {
delTable(){
// console.log(this.tableSelectedRows);
this.visible = true;
if (!this.tableSelectedRows.length) {
this.content = "一条评论都没有选中";
} else {
this.content = "此操作将删除这些评价信息,是否继续?";
let arr = [];
this.tableSelectedRows.forEach((item) => {
arr.push(item.id);
if(!this.tableSelectedRows.length){
this.content = '一条评论都没有选中'
}else{
this.content = '此操作将删除这些评价信息,是否继续?'
let arr = []
this.tableSelectedRows.forEach(item => {
arr.push(item.id)
});
this.delId = arr;
this.delId = arr
}
},
togetEvaDetil() {
togetEvaDetil(){
getEvaDetil({
id: this.delId,
}).then((res) => {
id:this.delId
}).then(res=>{
{
this.delId = null;
this.delId=null
this.visible = false;
// 要刷新页面
this.togetevalist();
}
<<<<<<< HEAD
},
created(){
this.baseurl = process.env.VUE_APP_API_PHP_URL
this.togetevalist()
}
=======
});
})
},
togetQueEvaData(record) {
togetQueEvaData(record){
getQueEvaData({
id: record.id,
}).then((res) => {
id:record.id
}).then(res=>{
console.log(res);
const { code, data } = res;
if (code == 1) {
this.$refs.HandlingDetails.queEvaData = data;
const {code,data} = res
if(code==1){
this.$refs.HandlingDetails.queEvaData = data
}
});
})
},
togetEvaData(id) {
togetEvaData(id){
getEvaData({
id: id,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
this.$refs.HandlingDetails.queEvaData = data;
id:id
}).then(res=>{
console.log(res);
const {code,data} = res
if(code==1){
this.$refs.HandlingDetails.queEvaData = data
}
});
})
},
// 搜索
handleSearch() {
this.tablePagination.current = 1;
this.tableSelectedKeys = [];
this.tableSelectedRows = [];
this.togetevalist();
},
//重置按钮
resetBtn() {
this.tablePagination.current = 1;
this.tableSelectedKeys = [];
this.tableSelectedRows = [];
this.BegindAndEndTime = [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
];
this.searchName = "";
this.togetevalist();
},
togetevalist() {
togetevalist(){
// 拼接评价选项
let chooseStr = this.evaChoose.join(",");
let chooseStr = this.evaChoose.join(',')
// 要先拼接评价来源
let fromString = this.evaFrom.join(",");
let fromString = this.evaFrom.join(',')
getEvaList({
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
type: "bmpj",
option_id: chooseStr,
pjxt: fromString, //传0代表全部
time: this.BegindAndEndTime,
info: this.searchName,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
this.tableSourceData = data.data.data;
this.evaCount = data.count;
this.tablePagination.total = data.count;
page:this.tablePagination.current,
size:this.tablePagination.pageSize,
type:'bmpj',
option_id:chooseStr,
pjxt:fromString,//传0代表全部
time:this.evaDates,
info:this.searchName
}).then((res)=>{
console.log(11111,res);
const{code,data} = res;
if(code == 1){
this.tableSourceData = data.data.data
this.evaCount = data.count
this.tablePagination.total = data.count
}
});
})
},
changeEvaFrom(val) {
if (val.length) {
changeEvaFrom(val){
if(val.length){
this.evaFrom = val;
} else {
this.evaFrom = [0];
}else{
this.evaFrom = [0]
}
},
changeEvaChoose(val) {
this.evaChoose = val;
changeEvaChoose(val){
this.evaChoose = val
},
rangePickerChange(val) {
this.evaDates = [
this.$moment(val[0]).format("YYYY-MM-DD"),
this.$moment(val[1]).format("YYYY-MM-DD"),
];
this.evaDates = [this.$moment(val[0]).format("YYYY-MM-DD"),this.$moment(val[1]).format("YYYY-MM-DD")]
},
QueueState(type) {
switch (type) {
......@@ -665,7 +370,7 @@ export default {
// }else{
this.$refs.HandlingDetails.modalInfo.title = "评价详情";
this.$refs.HandlingDetails.modalInfo.show = 2;
this.togetEvaData(record.id);
this.togetEvaData(record.id)
// }
this.$refs.HandlingDetails.modalInfo.visible = true;
......@@ -673,87 +378,17 @@ export default {
//删除模态框
showModal(record) {
this.visible = true;
this.delId = record.id;
},
// 选中
onSelectChange(keys, rows) {
this.tableSelectedKeys = keys;
const res = new Map();
this.tableSelectedRows = [...this.tableSelectedRows, ...rows]
.filter((v) => {
return !res.has(v.id) && res.set(v.id, 1);
})
.filter((v) => {
return this.tableSelectedKeys.some((val) => v.id == val);
});
},
// 导出
async handleExportTable() {
this.btnLoading = true;
let obj = {
1: "窗口评价",
2: "自助服务终端",
3: "背靠背评价",
4: "微官网",
5: "好差评",
6: "一体化评价",
};
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
this.tableSelectedRows.forEach((item) => {
Object.keys(obj).forEach((keys) => {
if (item.pjxt == keys) {
item.pjxt = obj[keys];
}
});
});
export2Excel(
this.tHeader,
this.filterVal,
this.tableSelectedRows,
"办事部门评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
} else {
// 拼接评价选项
let chooseStr = this.evaChoose.join(",");
// 要先拼接评价来源
let fromString = this.evaFrom.join(",");
getEvaList({
page: 1,
size: -1,
type: "bmpj",
option_id: chooseStr,
pjxt: fromString, //传0代表全部
time: this.BegindAndEndTime,
info: this.searchName,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
if (!data.data.data.length) return;
for (let item of data.data.data) {
Object.keys(obj).forEach((key) => {
if (item.pjxt == key) {
item.pjxt = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
data.data.data,
"办事部门评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
});
}
this.btnLoading = false;
},
this.delId = record.id
},
watch: {
tablePagination() {
this.togetevalist();
},
watch:{
tablePagination(){
this.togetevalist()
}
},
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
created(){
this.baseurl = process.env.VUE_APP_API_PHP_URL
}
};
</script>
......@@ -768,7 +403,7 @@ export default {
justify-content: space-between;
align-items: center;
& > div {
&>div {
display: flex;
justify-content: flex-start;
align-items: center;
......
<template>
<<<<<<< HEAD
<div class="callRecord-Container">
<div class="header_box">
<div>
......@@ -25,64 +24,11 @@
<a-select-option value="5"> 好差评 </a-select-option>
<a-select-option value="6"> 一体化评价 </a-select-option>
</a-select>
=======
<div class="callRecord-Container">
<div class="header_box">
<div>
<a-button
:loading="btnLoading"
type="success"
@click="handleExportTable"
>
<span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span>
</a-button>
<a-button type="danger" @click="delTable">
<span>批量删除</span>
</a-button>
<b
>评价次数:<i>{{ evaCount }}</i></b
>
<sub
>统计时间段:{{ BegindAndEndTime[0] }}~{{ BegindAndEndTime[1] }}</sub
>
</div>
<span>
<a-space>
<a-select
placeholder="全部评价"
@change="changeEvaChoose"
mode="multiple"
>
<a-select-option value="非常满意"> 非常满意 </a-select-option>
<a-select-option value="基本满意"> 基本满意 </a-select-option>
<a-select-option value="满意"> 满意 </a-select-option>
<a-select-option value="不满意"> 不满意 </a-select-option>
<a-select-option value="非常不满意"> 非常不满意 </a-select-option>
</a-select>
<a-select
placeholder="全部来源"
@change="changeEvaFrom"
mode="multiple"
>
<a-select-option value="1"> 窗口评价 </a-select-option>
<a-select-option value="2"> 自助服务终端 </a-select-option>
<a-select-option value="3"> 背靠背评价 </a-select-option>
<a-select-option value="4"> 微官网 </a-select-option>
<a-select-option value="5"> 好差评 </a-select-option>
<a-select-option value="6"> 一体化评价 </a-select-option>
</a-select>
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
<a-range-picker
allowClear
format="YYYY-MM-DD"
valueFormat="YYYY-MM-DD"
class="range_picker_style"
v-model="BegindAndEndTime"
>
<a-range-picker :allowClear="false" format="YYYY年MM月DD日" class="range_picker_style" @change="rangePickerChange"
v-model="BegindAndEndTime">
</a-range-picker>
<<<<<<< HEAD
<a-input v-model="searchName" placeholder="请输入评价人姓名或窗口编号搜索">
<a-icon slot="prefix" type="search" />
</a-input>
......@@ -111,70 +57,12 @@
{{content}}
</a-modal>
</div>
=======
<a-input v-model="searchName" placeholder="请输入内容搜索搜索">
<a-icon slot="prefix" type="search" />
</a-input>
<a-button type="primary" @click="handleSearch">搜索</a-button>
<a-button @click="resetBtn">重置</a-button>
</a-space>
</span>
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
</div>
<div class="main">
<a-table
size="small"
bordered
:row-key="(record) => record.id"
:row-selection="{
selectedRowKeys: tableSelectedKeys,
onChange: onSelectChange,
}"
:scroll="{ y: 590 }"
:pagination="tablePagination"
@change="pagTableChange"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableSourceData"
>
<!-- 序号 -->
<span slot="index" slot-scope="text, record, index">{{
(tablePagination.current - 1) * tablePagination.pageSize + index + 1
}}</span>
<template slot="评价人照片" slot-scope="text">
<a-avatar v-if="!text" shape="square" :size="40" icon="user" />
<img
v-else
:src="process.env.VUE_APP_API_BASE_URL + text"
alt=""
srcset=""
/>
</template>
<template slot="操作" slot-scope="text, record">
<a-button
type="link"
style="color: #ff7370"
@click="showModal(record)"
>删除</a-button
>
<a-button type="link" @click="openHandlingDetails(record)"
>详情</a-button
>
</template>
</a-table>
<HandlingDetails ref="HandlingDetails" />
<a-modal v-model="visible" title="系统提示" @ok="togetEvaDetil()">
{{ content }}
</a-modal>
</div>
</div>
</template>
<script>
import table from "@/mixins/table";
import { export2Excel } from "@/utils/js/exportExcel";
import HandlingDetails from "./components/HandlingDetails.vue";
<<<<<<< HEAD
import { getOptonList, getEvaList, getEvaData, getEvaDetil, getQueEvaData } from "@/api/dataAdmin";
export default {
......@@ -376,270 +264,91 @@ export default {
this.exportExcel(tableColumns, newTableData, exprotExcelName);
}
=======
import {
getEvaList,
getEvaData,
getEvaDetil,
getQueEvaData,
} from "@/api/dataAdmin";
export default {
mixins: [table],
name: "matterEvaluation",
data() {
return {
btnLoading: false,
tableHeaders: [
{
title: "序号",
width: "60px",
align: "center",
scopedSlots: {
customRender: "index",
},
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
},
{
title: "排队编号",
align: "center",
customRender: (text) => {
return text.flounum ? text.flounum : "--";
},
},
{
title: "评价选项",
align: "center",
dataIndex: "option_id",
},
{
title: "评价人",
align: "center",
customRender: (text) => {
return text.idcard_Name ? text.idcard_Name : "--";
},
},
{
title: "身份证号",
align: "center",
customRender: (text) => {
return text.idcard_IDCardNo ? text.idcard_IDCardNo : "--";
},
},
{
title: "手机号",
align: "center",
customRender: (text) => {
return text.phone ? text.phone : "--";
},
},
{
title: "评价时间",
align: "center",
dataIndex: "create_time",
},
{
title: "评价来源",
align: "center",
dataIndex: "pjxt",
customRender: (text, record, index) => {
if (text == 1) {
return "窗口评价";
} else if (text == 2) {
return "自助服务终端";
} else if (text == 3) {
return "背靠背评价";
} else if (text == 4) {
return "微官网";
} else if (text == 5) {
return "好差评";
} else {
return "一体化评价";
}
},
},
{
title: "评价设备",
align: "center",
dataIndex: "source",
customRender: (text, record, index) => {
if (text == 1) {
return "安卓";
} else if (text == 2) {
return "导视机";
} else {
return "微信";
}
},
},
{
title: "评价人照片",
align: "center",
dataIndex: "picture",
scopedSlots: {
customRender: "评价人照片",
},
},
{
title: "操作",
align: "center",
dataIndex: "操作",
scopedSlots: {
customRender: "操作",
},
},
],
BegindAndEndTime: [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
],
searchName: undefined,
//删除窗口判断
visible: false,
tableSourceData: [],
evaCount: 0, //评价次数
evaChoose: [], //评价选项
evaFrom: [0], // 评价来源
evaDates: [], // 评价日期
content: "此操作将删除该评价信息,是否继续?",
delId: null, //当前删除id
tHeader: [
// 导出的表头名信息
"排队编号",
"评价选项",
"评价人",
"身份证号码",
"手机号",
"评价时间",
"评价来源",
"评价设备",
],
filterVal: [
// 导出的表头字段名,需要导出表格字段名
"flounum",
"option_id",
"idcard_Name",
"idcard_IDCardNo",
"phone",
"create_time",
"pjxt",
"source",
],
tableSelectedKeys: [],
tableSelectedRows: [],
};
},
components: {
HandlingDetails,
},
mounted() {
this.setMoment();
this.togetevalist();
},
methods: {
delTable() {
delTable(){
this.visible = true;
if (!this.tableSelectedRows.length) {
this.content = "一条评论都没有选中";
} else {
this.content = "此操作将删除这些评价信息,是否继续?";
let arr = [];
this.tableSelectedRows.forEach((item) => {
arr.push(item.id);
if(!this.tableSelectedRows.length){
this.content = '一条评论都没有选中'
}else{
this.content = '此操作将删除这些评价信息,是否继续?'
let arr = []
this.tableSelectedRows.forEach(item => {
arr.push(item.id)
});
this.delId = arr;
this.delId = arr
}
},
togetEvaDetil() {
togetEvaDetil(){
getEvaDetil({
id: this.delId,
}).then((res) => {
id:this.delId
}).then(res=>{
{
this.delId = null;
this.delId=null
this.visible = false;
// 要刷新页面
this.togetevalist();
}
<<<<<<< HEAD
},
created(){
this.baseurl = process.env.VUE_APP_API_PHP_URL
this.togetevalist()
}
=======
});
})
},
togetQueEvaData(record) {
togetQueEvaData(record){
getQueEvaData({
id: record.id,
}).then((res) => {
id:record.id
}).then(res=>{
console.log(res);
const { code, data } = res;
if (code == 1) {
this.$refs.HandlingDetails.queEvaData = data;
const {code,data} = res
if(code==1){
this.$refs.HandlingDetails.queEvaData = data
}
});
})
},
togetEvaData(id) {
togetEvaData(id){
getEvaData({
id: id,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
this.$refs.HandlingDetails.queEvaData = data;
id:id
}).then(res=>{
console.log(res);
const {code,data} = res
if(code==1){
this.$refs.HandlingDetails.queEvaData = data
}
});
})
},
// 搜索
handleSearch() {
this.tablePagination.current = 1;
this.tableSelectedKeys = [];
this.tableSelectedRows = [];
this.togetevalist();
},
//重置按钮
resetBtn() {
this.tablePagination.current = 1;
this.tableSelectedKeys = [];
this.tableSelectedRows = [];
this.BegindAndEndTime = [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
];
this.searchName = "";
this.togetevalist();
},
togetevalist() {
togetevalist(){
// 拼接评价选项
let chooseStr = this.evaChoose.join(",");
let chooseStr = this.evaChoose.join(',')
// 要先拼接评价来源
let fromString = this.evaFrom.join(",");
let fromString = this.evaFrom.join(',')
getEvaList({
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
type: "phpj",
option_id: chooseStr,
pjxt: fromString, //传0代表全部
time: this.BegindAndEndTime,
info: this.searchName,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
this.tableSourceData = data.data.data;
this.evaCount = data.count;
this.tablePagination.total = data.count;
page:this.tablePagination.current,
size:this.tablePagination.pageSize,
type:'phpj',
option_id:chooseStr,
pjxt:fromString,//传0代表全部
time:this.evaDates,
info:this.searchName
}).then((res)=>{
console.log(11111,res);
const{code,data} = res;
if(code == 1){
this.tableSourceData = data.data.data
this.evaCount = data.count
this.tablePagination.total = data.count
}
});
})
},
changeEvaFrom(val) {
if (val.length) {
changeEvaFrom(val){
if(val.length){
this.evaFrom = val;
} else {
this.evaFrom = [0];
}else{
this.evaFrom = [0]
}
},
changeEvaChoose(val) {
this.evaChoose = val;
changeEvaChoose(val){
this.evaChoose = val
},
rangePickerChange(val) {
this.evaDates = [this.$moment(val[0]).format("YYYY-MM-DD"),this.$moment(val[1]).format("YYYY-MM-DD")]
},
QueueState(type) {
switch (type) {
case 0:
......@@ -657,7 +366,7 @@ export default {
// if(record.pjxt==1){
this.$refs.HandlingDetails.modalInfo.title = "办理明细";
this.$refs.HandlingDetails.modalInfo.show = 1;
this.togetQueEvaData(record);
this.togetQueEvaData(record)
// }else{
// this.$refs.HandlingDetails.modalInfo.title = "评价详情";
// this.$refs.HandlingDetails.modalInfo.show = 2;
......@@ -669,88 +378,17 @@ export default {
//删除模态框
showModal(record) {
this.visible = true;
this.delId = record.id;
},
// 选中
onSelectChange(keys, rows) {
this.tableSelectedKeys = keys;
const res = new Map();
this.tableSelectedRows = [...this.tableSelectedRows, ...rows]
.filter((v) => {
return !res.has(v.id) && res.set(v.id, 1);
})
.filter((v) => {
return this.tableSelectedKeys.some((val) => v.id == val);
});
},
// 导出
async handleExportTable() {
this.btnLoading = true;
let obj = {
1: "窗口评价",
2: "自助服务终端",
3: "背靠背评价",
4: "微官网",
5: "好差评",
6: "一体化评价",
};
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
this.tableSelectedRows.forEach((item) => {
Object.keys(obj).forEach((keys) => {
if (item.pjxt == keys) {
item.pjxt = obj[keys];
}
});
});
export2Excel(
this.tHeader,
this.filterVal,
this.tableSelectedRows,
"办理事项评价评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
} else {
// 拼接评价选项
let chooseStr = this.evaChoose.join(",");
// 要先拼接评价来源
let fromString = this.evaFrom.join(",");
getEvaList({
page: 1,
size: -1,
type: "phpj",
option_id: chooseStr,
pjxt: fromString, //传0代表全部
time: this.BegindAndEndTime,
info: this.searchName,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
if (!data.data.data.length) return;
for (let item of data.data.data) {
Object.keys(obj).forEach((key) => {
if (item.pjxt == key) {
item.pjxt = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
data.data.data,
"办理事项评价评价记录报表" +
this.$moment().format("YYYYMMDDHHmmss")
);
}
});
}
this.btnLoading = false;
},
this.delId = record.id
},
watch: {
tablePagination() {
this.togetevalist();
},
watch:{
tablePagination(){
this.togetevalist()
}
},
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
created(){
this.baseurl = process.env.VUE_APP_API_PHP_URL
}
};
</script>
......@@ -765,7 +403,7 @@ export default {
justify-content: space-between;
align-items: center;
& > div {
&>div {
display: flex;
justify-content: flex-start;
align-items: center;
......
<template>
<<<<<<< HEAD
<div class="callRecord-Container">
<div class="header_box">
<div>
......@@ -25,63 +24,11 @@
<a-select-option value="5"> 好差评 </a-select-option>
<a-select-option value="6"> 一体化评价 </a-select-option>
</a-select>
=======
<div class="callRecord-Container">
<div class="header_box">
<div>
<a-button
type="success"
:loading="btnLoading"
@click="handleExportTable"
>
<span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span>
</a-button>
<a-button type="danger" @click="delTable">
<span>批量删除</span>
</a-button>
<b
>评价次数:<i>{{ evaCount }}</i></b
>
<sub
>统计时间段:{{ BegindAndEndTime[0] }}~{{ BegindAndEndTime[1] }}</sub
>
</div>
<span>
<a-space>
<a-select
placeholder="全部评价"
@change="changeEvaChoose"
mode="multiple"
>
<a-select-option value="非常满意"> 非常满意 </a-select-option>
<a-select-option value="基本满意"> 基本满意 </a-select-option>
<a-select-option value="满意"> 满意 </a-select-option>
<a-select-option value="不满意"> 不满意 </a-select-option>
<a-select-option value="非常不满意"> 非常不满意 </a-select-option>
</a-select>
<a-select
placeholder="全部来源"
@change="changeEvaFrom"
mode="multiple"
>
<a-select-option value="1"> 窗口评价 </a-select-option>
<a-select-option value="2"> 自助服务终端 </a-select-option>
<a-select-option value="3"> 背靠背评价 </a-select-option>
<a-select-option value="4"> 微官网 </a-select-option>
<a-select-option value="5"> 好差评 </a-select-option>
<a-select-option value="6"> 一体化评价 </a-select-option>
</a-select>
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
<a-range-picker
format="YYYY-MM-DD"
valueFormat="YYYY-MM-DD"
class="range_picker_style"
v-model="BegindAndEndTime"
>
<a-range-picker :allowClear="false" format="YYYY年MM月DD日" class="range_picker_style" @change="rangePickerChange"
v-model="BegindAndEndTime">
</a-range-picker>
<<<<<<< HEAD
<a-input v-model="searchName" placeholder="请输入评价人姓名或窗口编号搜索">
<a-icon slot="prefix" type="search" />
</a-input>
......@@ -110,70 +57,12 @@
{{content}}
</a-modal>
</div>
=======
<a-input v-model="searchName" placeholder="请输入内容搜索搜索">
<a-icon slot="prefix" type="search" />
</a-input>
<a-button type="primary" @click="handleSearch">搜索</a-button>
<a-button @click="resetBtn">重置</a-button>
</a-space>
</span>
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
</div>
<div class="main">
<a-table
size="small"
bordered
:row-key="(record) => record.id"
:row-selection="{
selectedRowKeys: tableSelectedKeys,
onChange: onSelectChange,
}"
:scroll="{ y: 590 }"
:pagination="tablePagination"
@change="pagTableChange"
:loading="tableLoading"
:columns="tableHeaders"
:dataSource="tableSourceData"
>
<!-- 序号 -->
<span slot="index" slot-scope="text, record, index">{{
(tablePagination.current - 1) * tablePagination.pageSize + index + 1
}}</span>
<template slot="评价人照片" slot-scope="text">
<a-avatar v-if="!text" shape="square" :size="40" icon="user" />
<img
v-else
:src="process.env.VUE_APP_API_BASE_URL + text"
alt=""
srcset=""
/>
</template>
<template slot="操作" slot-scope="text, record">
<a-button
type="link"
style="color: #ff7370"
@click="showModal(record)"
>删除</a-button
>
<a-button type="link" @click="openHandlingDetails(record)"
>详情</a-button
>
</template>
</a-table>
<HandlingDetails ref="HandlingDetails" />
<a-modal v-model="visible" title="系统提示" @ok="togetEvaDetil()">
{{ content }}
</a-modal>
</div>
</div>
</template>
<script>
import table from "@/mixins/table";
import { export2Excel } from "@/utils/js/exportExcel";
import HandlingDetails from "./components/HandlingDetails.vue";
<<<<<<< HEAD
import { getOptonList, getEvaList, getEvaData, getEvaDetil, getQueEvaData } from "@/api/dataAdmin";
export default {
......@@ -373,260 +262,86 @@ export default {
this.exportExcel(tableColumns, newTableData, exprotExcelName);
}
=======
import {
getEvaList,
getEvaData,
getEvaDetil,
getQueEvaData,
} from "@/api/dataAdmin";
export default {
mixins: [table],
name: "windowsEvaluation",
data() {
return {
btnLoading: false,
tableHeaders: [
{
title: "序号",
width: "60px",
align: "center",
scopedSlots: {
customRender: "index",
},
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
},
{
title: "窗口编号",
align: "center",
dataIndex: "flounum",
},
{
title: "评价选项",
align: "center",
dataIndex: "option_id",
},
{
title: "评价人",
align: "center",
customRender: (text) => {
return text.idcard_Name ? text.idcard_Name : "--";
},
},
{
title: "身份证号",
align: "center",
customRender: (text) => {
return text.idcard_IDCardNo ? text.idcard_IDCardNo : "--";
},
},
{
title: "手机号",
align: "center",
customRender: (text) => {
return text.phone ? text.phone : "--";
},
},
{
title: "评价时间",
align: "center",
dataIndex: "create_time",
},
{
title: "评价来源",
align: "center",
dataIndex: "pjxt",
customRender: (text, record, index) => {
if (text == 1) {
return "窗口评价";
} else if (text == 2) {
return "自助服务终端";
} else if (text == 3) {
return "背靠背评价";
} else if (text == 4) {
return "微官网";
} else if (text == 5) {
return "好差评";
} else {
return "一体化评价";
}
},
},
{
title: "评价设备",
align: "center",
dataIndex: "source",
customRender: (text, record, index) => {
if (text == 1) {
return "安卓";
} else if (text == 2) {
return "导视机";
} else {
return "微信";
}
},
},
{
title: "评价人照片",
align: "center",
dataIndex: "picture",
scopedSlots: {
customRender: "评价人照片",
},
},
{
title: "操作",
align: "center",
dataIndex: "操作",
scopedSlots: {
customRender: "操作",
},
},
],
BegindAndEndTime: [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
], // 评价日期
searchName: undefined, // 搜索内容
//删除窗口判断
visible: false,
tableSourceData: [],
evaCount: 0, //评价次数
evaChoose: [], //评价选项
evaFrom: [0], // 评价来源
// evaDates: [], // 评价日期
content: "此操作将删除该评价信息,是否继续?",
delId: null, //当前删除id
tableSelectedKeys: [],
tableSelectedRows: [],
tHeader: [
// 导出的表头名信息
"窗口编号",
"评价选项",
"评价人",
"身份证号码",
"手机号",
"评价时间",
"评价来源",
"评价设备",
],
filterVal: [
// 导出的表头字段名,需要导出表格字段名
"flounum",
"option_id",
"idcard_Name",
"idcard_IDCardNo",
"phone",
"create_time",
"pjxt",
"source",
],
};
},
components: {
HandlingDetails,
},
mounted() {
this.setMoment();
this.togetevalist();
},
methods: {
delTable() {
delTable(){
this.visible = true;
if (!this.tableSelectedRows.length) {
this.content = "一条评论都没有选中";
} else {
this.content = "此操作将删除这些评价信息,是否继续?";
let arr = [];
this.tableSelectedRows.forEach((item) => {
arr.push(item.id);
if(!this.tableSelectedRows.length){
this.content = '一条评论都没有选中'
}else{
this.content = '此操作将删除这些评价信息,是否继续?'
let arr = []
this.tableSelectedRows.forEach(item => {
arr.push(item.id)
});
this.delId = arr;
this.delId = arr
}
},
togetEvaDetil() {
togetEvaDetil(){
getEvaDetil({
id: this.delId,
}).then((res) => {
id:this.delId
}).then(res=>{
{
this.delId = null;
this.delId=null
this.visible = false;
// 要刷新页面
this.togetevalist();
this.togetevalist()
}
});
})
},
togetQueEvaData(record) {
togetQueEvaData(record){
getQueEvaData({
id: record.id,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
this.$refs.HandlingDetails.queEvaData = data;
id:record.id
}).then(res=>{
const {code,data} = res
if(code==1){
this.$refs.HandlingDetails.queEvaData = data
}
});
})
},
togetEvaData(id) {
togetEvaData(id){
getEvaData({
id: id,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
this.$refs.HandlingDetails.queEvaData = data;
id:id
}).then(res=>{
const {code,data} = res
if(code==1){
this.$refs.HandlingDetails.queEvaData = data
}
});
})
},
// 搜索
handleSearch() {
this.tablePagination.current = 1;
this.tableSelectedKeys = [];
this.tableSelectedRows = [];
this.togetevalist();
},
//重置按钮
resetBtn() {
this.tablePagination.current = 1;
this.tableSelectedKeys = [];
this.tableSelectedRows = [];
this.BegindAndEndTime = [
this.$moment(new Date()).format("YYYY-MM-DD"),
this.$moment(new Date()).format("YYYY-MM-DD"),
];
this.searchName = "";
this.togetevalist();
},
togetevalist() {
togetevalist(){
// 拼接评价选项
let chooseStr = this.evaChoose.join(",");
let chooseStr = this.evaChoose.join(',')
// 要先拼接评价来源
let fromString = this.evaFrom.join(",");
let fromString = this.evaFrom.join(',')
getEvaList({
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
type: "ckpj",
option_id: chooseStr,
pjxt: fromString, //传0代表全部
time: this.BegindAndEndTime,
info: this.searchName,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
this.tableSourceData = data.data.data;
this.evaCount = data.count;
this.tablePagination.total = data.count;
page:this.tablePagination.current,
size:this.tablePagination.pageSize,
type:'ckpj',
option_id:chooseStr,
pjxt:fromString,//传0代表全部
time:this.evaDates,
info:this.searchName
}).then((res)=>{
const{code,data} = res;
if(code == 1){
this.tableSourceData = data.data.data
this.evaCount = data.count
this.tablePagination.total = data.count
}
});
})
},
changeEvaFrom(val) {
if (val.length) {
changeEvaFrom(val){
if(val.length){
this.evaFrom = val;
} else {
this.evaFrom = [0];
}else{
this.evaFrom = [0]
}
},
changeEvaChoose(val) {
this.evaChoose = val;
changeEvaChoose(val){
this.evaChoose = val
},
rangePickerChange(val) {
this.evaDates = [this.$moment(val[0]).format("YYYY-MM-DD"),this.$moment(val[1]).format("YYYY-MM-DD")]
},
QueueState(type) {
......@@ -643,14 +358,14 @@ export default {
//详情模块
openHandlingDetails(record) {
// 判断为窗口屏或者其他状况,调用不同接口
if (record.pjxt == 1) {
if(record.pjxt==1){
this.$refs.HandlingDetails.modalInfo.title = "办理明细";
this.$refs.HandlingDetails.modalInfo.show = 1;
this.togetQueEvaData(record);
} else {
this.togetQueEvaData(record)
}else{
this.$refs.HandlingDetails.modalInfo.title = "评价详情";
this.$refs.HandlingDetails.modalInfo.show = 2;
this.togetEvaData(record.id);
this.togetEvaData(record.id)
}
this.$refs.HandlingDetails.modalInfo.visible = true;
......@@ -658,81 +373,9 @@ export default {
//删除模态框
showModal(record) {
this.visible = true;
this.delId = record.id;
},
// 选中
onSelectChange(keys, rows) {
this.tableSelectedKeys = keys;
const res = new Map();
this.tableSelectedRows = [...this.tableSelectedRows, ...rows]
.filter((v) => {
return !res.has(v.id) && res.set(v.id, 1);
})
.filter((v) => {
return this.tableSelectedKeys.some((val) => v.id == val);
});
this.delId = record.id
},
// 导出
async handleExportTable() {
this.btnLoading = true;
let obj = {
1: "窗口评价",
2: "自助服务终端",
3: "背靠背评价",
4: "微官网",
5: "好差评",
6: "一体化评价",
};
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
this.tableSelectedRows.forEach((item) => {
Object.keys(obj).forEach((keys) => {
if (item.pjxt == keys) {
item.pjxt = obj[keys];
}
});
});
export2Excel(
this.tHeader,
this.filterVal,
this.tableSelectedRows,
"窗口服务评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
} else {
// 拼接评价选项
let chooseStr = this.evaChoose.join(",");
// 要先拼接评价来源
let fromString = this.evaFrom.join(",");
getEvaList({
page: 1,
size: -1,
type: "ckpj",
option_id: chooseStr,
pjxt: fromString, //传0代表全部
time: this.BegindAndEndTime,
info: this.searchName,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
if (!data.data.data.length) return;
for (let item of data.data.data) {
Object.keys(obj).forEach((key) => {
if (item.pjxt == key) {
item.pjxt = obj[key];
}
});
}
export2Excel(
this.tHeader,
this.filterVal,
data.data.data,
"窗口服务评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
);
}
});
}
this.btnLoading = false;
},
<<<<<<< HEAD
watch:{
tablePagination(){
this.togetevalist()
......@@ -741,14 +384,6 @@ export default {
created(){
this.baseurl = process.env.VUE_APP_API_PHP_URL
}
=======
},
watch: {
tablePagination() {
this.togetevalist();
},
},
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
};
</script>
......@@ -763,36 +398,10 @@ export default {
justify-content: space-between;
align-items: center;
& > div {
display: flex;
justify-content: flex-start;
align-items: center;
<<<<<<< HEAD
&>div {
display: flex;
justify-content: flex-start;
align-items: center;
=======
b {
font-style: normal;
font-weight: unset;
font-size: 16px;
margin-left: 20px;
i {
color: #0595fd;
font-style: normal;
}
}
sub {
font-size: 14px;
font-style: normal;
bottom: unset;
margin-left: 20px;
>>>>>>> faec875196e6e37db13be22ad308b1e9549236cb
}
}
}
</style>
......
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