Commit 00eb684e authored by 王启林's avatar 王启林

排队叫号报表接口对接

Signed-off-by: 王启林's avatar王启林 <1940603613@qq.com>
parent 00a28b7f
...@@ -7,23 +7,46 @@ export function censusListInterface(params) { ...@@ -7,23 +7,46 @@ export function censusListInterface(params) {
} }
/* 排号机部分 */
//排号机列表数据 //排号机列表数据
export function getTaskList(params){ export function getTaskList(params) {
return http.get(`${BASEURL}/admin/take/takelist`,params) return http.get(`${BASEURL}/admin/take/takelist`, params)
} }
//排队办理记录报表接口 //排队办理记录报表接口
export function getQueueData(params){ export function getQueueData(params) {
return http.post(`${BASEURL}/inter/reportform/quelist`,params) return http.post(`${BASEURL}/inter/reportform/quelist`, params)
} }
//排号记录详情 //排号记录详情
export function getQueueInfo(params){ export function getQueueInfo(params) {
return http.post(`${BASEURL}/inter/reportform/queinfo`,params) return http.post(`${BASEURL}/inter/reportform/queinfo`, params)
} }
//业务事项关联 //业务事项关联
export function getBusinessEvent(params){ export function getBusinessEvent(params) {
return http.post(`${baseURL}/basics_api/base/business/matter/list`,params) return http.get(`${BASEURL}/inter/reportform/busanalyse`, params)
} }
//查询业务人员信息 //查询业务人员信息
export function getWorkerInfo(params){ export function getWorkerInfo(params) {
return http.get(`${baseURL}/basics_api/base/workman/info`,params) return http.get(`${baseURL}/basics_api/base/workman/info`, params)
} }
\ No newline at end of file //查询业务人员业务数据分析
export function getWorkmananalyse(params) {
return http.get(`${BASEURL}/inter/reportform/workmananalyse`, params)
}
//查询用户信息
export function getPeopleanalyse(params) {
return http.get(`${BASEURL}/inter/reportform/peopleanalyse`, params)
}
/* 呼叫部分 */
// 呼叫器列表
export function getCalllist(params) {
return http.get(`${baseURL}/zwfw_api/admin/call/calllist`, params)
}
// 呼叫记录报表
export function getCallQueList(params) {
return http.post(`${BASEURL}/inter/reportform/callQueList`, params)
}
...@@ -6,7 +6,6 @@ export default { ...@@ -6,7 +6,6 @@ export default {
nowWeek: "", nowWeek: "",
timer: null, timer: null,
tableLoading: false, tableLoading: false,
tablePagination: { tablePagination: {
current: 1, current: 1,
pageSize: 10, pageSize: 10,
...@@ -16,11 +15,9 @@ export default { ...@@ -16,11 +15,9 @@ export default {
showTotal: (total, range) => `共${total}条`, showTotal: (total, range) => `共${total}条`,
pageSizeOptions: ["10", "20", "30"], pageSizeOptions: ["10", "20", "30"],
}, },
tableSourceData: [], tableSourceData: [],
tableSelectedRows: [], //选中的数据 tableSelectedRows: [], //选中的数据
tableSelectedKeys: [], //选中的id tableSelectedKeys: [], //选中的id
sourceInfoForm: {}, sourceInfoForm: {},
} }
}, },
...@@ -39,25 +36,24 @@ export default { ...@@ -39,25 +36,24 @@ export default {
}, },
methods: { methods: {
//导出 //导出
exportTable() { exportTable(tHeader, filterVal, transformText) {
let tableData = []; console.log(tHeader, filterVal)
let tableData = []; //列表数据
if (this.tableSelectedRows.length == 0) { if (this.tableSelectedRows.length == 0) {
tableData = JSON.parse(JSON.stringify(this.tableSourceData)); tableData = this.downAllData()
} else { } else {
tableData = JSON.parse(JSON.stringify(this.tableSelectedRows)); tableData = JSON.parse(JSON.stringify(this.tableSelectedRows));
} }
let tableColumns = JSON.parse(JSON.stringify(this.tableHeaders)); // let tableColumns = JSON.parse(JSON.stringify(this.tableHeaders));
let newTableData = tableData.map(item => { console.log('表格数据', tableData)
let obj = {}; // console.log('表头内容', tableColumns)
for (let key in item) { // let newTableData = tableData.map(item => {
obj[key] = item[key]; // // console.log(item)
} // })
return obj;
})
let exprotExcelName = `${this.nowDay} / ${this.nowTime} / ${this.$route['meta']['title'] || '报表信息统计'}`; let exprotExcelName = `${this.nowDay} / ${this.nowTime} / ${this.$route['meta']['title'] || '报表信息统计'}`;
this.exportExcel(tableColumns, newTableData, exprotExcelName); this.exportExcel(tHeader, filterVal, tableData, exprotExcelName);
}, },
exportExcel(tableColumns, tableData, exprotExcelName) { exportExcel(tHeader, filterVal, tableData, exprotExcelName) {
// console.log(tableColumns); // console.log(tableColumns);
// console.log(tableData); // console.log(tableData);
// console.log(exprotExcelName); // console.log(exprotExcelName);
...@@ -67,6 +63,7 @@ export default { ...@@ -67,6 +63,7 @@ export default {
for (let i = 0; i < tableColumns.length; i++) { for (let i = 0; i < tableColumns.length; i++) {
for (let key in item) { for (let key in item) {
if (tableColumns[i]["dataIndex"] == key) { if (tableColumns[i]["dataIndex"] == key) {
console.log(tableColumns[i]["dataIndex"])
if (j == 0) { if (j == 0) {
exportHeaderName.push(tableColumns[i]["title"]); exportHeaderName.push(tableColumns[i]["title"]);
} }
...@@ -87,8 +84,8 @@ export default { ...@@ -87,8 +84,8 @@ export default {
{ {
sheetData: exportData, sheetData: exportData,
sheetName: "sheet", sheetName: "sheet",
sheetHeader: exportHeaderName, sheetHeader: tHeader,
sheetFilter: exportHeaderName, sheetFilter: tHeader,
}, },
]; ];
let toExcel = new this.$ExportJsonExcel(option); let toExcel = new this.$ExportJsonExcel(option);
...@@ -105,13 +102,14 @@ export default { ...@@ -105,13 +102,14 @@ export default {
onSelectChange(selectedRowKeys, selectedRows) { onSelectChange(selectedRowKeys, selectedRows) {
this.tableSelectedKeys = selectedRowKeys; this.tableSelectedKeys = selectedRowKeys;
this.tableSelectedRows = selectedRows; this.tableSelectedRows = selectedRows;
// console.log(this.tableSelectedKeys, this.tableSelectedRows); // console.log('选中的ID', this.tableSelectedKeys);
// console.log('选中的行数据', this.tableSelectedRows);
}, },
pagTableChange(pagination) { pagTableChange(pagination) {
this.tablePagination = pagination this.tablePagination = pagination
}, },
}, },
......
...@@ -5,85 +5,93 @@ ...@@ -5,85 +5,93 @@
<a-button type="success" @click="exportTable"> <a-button type="success" @click="exportTable">
<span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span> <span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span>
</a-button> </a-button>
<b>叫号次数:<i>233次</i></b> <b>叫号次数:<i>{{ tablePagination.total }}</i></b>
<sub>统计时间段:2020.09.09~2021.09.09</sub> <sub>统计时间段:{{ searchForm.time[0] }}~{{ searchForm.time[1] }}</sub>
</div> </div>
<span> <span>
<a-select default-value="001"> <a-select v-model="searchForm.id" style="width: 120px">
<!-- <a-select-option <a-select-option value=""> 全部设备 </a-select-option>
v-for="(item, index) of selectOptions" <a-select-option v-for="item in deviceData" :key="item.id" :value="item.id">
:key="index" {{ item.name }}
:value="item.value" </a-select-option>
>
{{ item.label }}
</a-select-option> -->
<a-select-option value="001"> 设备001 </a-select-option>
<a-select-option value="002"> 设备002 </a-select-option>
</a-select> </a-select>
<a-select default-value="001"> <a-select v-model="searchForm.style" style="width: 120px">
<!-- <a-select-option <a-select-option value=""> 全部状态 </a-select-option>
v-for="(item, index) of selectOptions" <a-select-option v-for="v in style" :key="v.key" :value="v.key">{{
:key="index" v.name
:value="item.value" }}</a-select-option>
>
{{ item.label }}
</a-select-option> -->
<a-select-option value="001"> 状态001 </a-select-option>
<a-select-option value="002"> 状态002 </a-select-option>
</a-select> </a-select>
<a-range-picker <a-range-picker valueFormat="YYYY-MM-DD" v-model="searchForm.time">
format="YYYY年MM月DD日"
class="range_picker_style"
@change="rangePickerChange"
v-model="BegindAndEndTime"
>
</a-range-picker> </a-range-picker>
<a-input v-model="searchForm.flownum" placeholder="请输入排队编号搜索">
<a-input
v-model="searchName"
placeholder="请输入排队编号或申报人姓名搜索"
>
<a-icon slot="prefix" type="search" /> <a-icon slot="prefix" type="search" />
</a-input> </a-input>
<a-button type="primary" >搜索</a-button> <a-button type="primary" @click="getDataList">搜索</a-button>
<a-button @click="resetBtn">重置</a-button>
</span> </span>
</div> </div>
<div class="main"> <div class="main">
<a-table <a-table size="small" bordered :row-key="(record) => record.id" :row-selection="{
size="small" selectedRowKeys: tableSelectedKeys,
bordered onChange: onSelectChange,
:row-key="(record) => record.id" }" :scroll="{ y: 590 }" :pagination="tablePagination" @change="changeTablePage" :loading="tableLoading"
:row-selection="{ :columns="tableHeaders" :dataSource="tableList">
selectedRowKeys: tableSelectedKeys, <!-- 序号 -->
onChange: onSelectChange, <span slot="num" slot-scope="text, record, index">{{
}" (tablePagination.current - 1) * tablePagination.pageSize + index + 1
:scroll="{ y: 590 }" }}</span>
:pagination="tablePagination" <!-- 申报人 -->
@change="pagTableChange" <template slot="people_name" slot-scope="text">
:loading="tableLoading" <a v-if="text.people_name" @click="openDeclarant(text)">{{
:columns="tableHeaders" text.people_name
:dataSource="tableSourceData" }}</a>
> <span v-else>--</span>
<template slot="shenbaoren" slot-scope="text, record, index"> </template>
<a-button type="link" @click="openDeclarant">{{ text }}</a-button> <!-- 联系方式 -->
<template slot="people_phone" slot-scope="text">
{{ text.people_phone ? text.people_phone : "--" }}
</template>
<!-- 取号设备 -->
<template slot="device_name" slot-scope="text">
{{ text.device_name ? text.device_name : "--" }}
</template> </template>
<template slot="banliyewu" slot-scope="text, record, index"> <!-- 办理业务 -->
<a-button type="link" @click="openBusiness">{{ text }}</a-button> <template slot="business" slot-scope="text">
<a v-if="text.business" @click="openBusiness(text.business, text.businessid)">{{ text.business }}</a>
<span v-else>--</span>
</template> </template>
<template slot="gongzuorenyuan" slot-scope="text, record, index"> <!-- 办理开始时间 -->
<a-button type="link" @click="openWorkpeople">{{ text }}</a-button> <template slot="calltime" slot-scope="text">
{{ text.calltime ? text.calltime : "--" }}
</template> </template>
<template slot="zhuangtai" slot-scope="text, record, index"> <!-- 办理窗口 -->
<a-button type="link" :class="[QueueState(index)]">{{ <template slot="window_name" slot-scope="text">
text {{ text.window_name ? text.window_name : "--" }}
}}</a-button>
</template> </template>
<template slot="operation" slot-scope="text, record, index"> <!-- 工作人员 -->
<a-button type="link" @click="openHandlingDetails" <template slot="workman_name" slot-scope="text">
>详细信息{{ record.id }}</a-button <a v-if="text.workman_name" @click="openWorkpeople(text.workmanid)">{{
> text.workman_name
}}</a>
<span v-else>--</span>
</template>
<!-- 办理结束时间 -->
<template slot="endtime" slot-scope="text">
{{ text.endtime ? text.endtime : "--" }}
</template>
<!-- 操作 -->
<template slot="action" slot-scope="text">
<a @click="openHandlingDetails(text.id)">详细信息</a>
</template>
<!-- 状态 -->
<template slot="style" slot-scope="text">
<span :class="{
'stand-line': text.style === 0,
'on-transact': text.style === 1,
'on-end': text.style === 4,
}">
{{ $codeMap.queueState[text.style] }}
</span>
</template> </template>
</a-table> </a-table>
<UserInfo ref="UserInfo" /> <UserInfo ref="UserInfo" />
...@@ -96,10 +104,15 @@ ...@@ -96,10 +104,15 @@
<script> <script>
import table from "@/mixins/table"; import table from "@/mixins/table";
import moment from "moment";
import UserInfo from "./components/userInfo.vue"; import UserInfo from "./components/userInfo.vue";
import BusinessInfo from "./components/businessInfo.vue"; import BusinessInfo from "./components/businessInfo.vue";
import WorkpeopleInfo from "./components/workpeopleInfo.vue"; import WorkpeopleInfo from "./components/workpeopleInfo.vue";
import HandlingDetails from "./components/HandlingDetails.vue"; import HandlingDetails from "./components/HandlingDetails.vue";
import {
getCalllist, getCallQueList, getBusinessEvent, getQueueInfo,
getWorkerInfo, getPeopleanalyse, getWorkmananalyse
} from "@/api/dataAdmin"
export default { export default {
mixins: [table], mixins: [table],
name: "PortalAdminVuecallRecord", name: "PortalAdminVuecallRecord",
...@@ -108,95 +121,128 @@ export default { ...@@ -108,95 +121,128 @@ export default {
tableHeaders: [ tableHeaders: [
{ {
title: "序号", title: "序号",
dataIndex: "index", width: "65px",
width: "60px",
key: "index",
align: "center", align: "center",
customRender: (text, record, index) => `${index + 1}`, scopedSlots: {
customRender: "num",
},
}, },
{ {
title: "排队编号", title: "排队编号",
align: "center", align: "center",
dataIndex: "paiduibianhao", dataIndex: "flownum",
}, },
{ {
title: "申报人", title: "申报人",
align: "center", align: "center",
dataIndex: "shenbaoren",
scopedSlots: { scopedSlots: {
customRender: "shenbaoren", customRender: "people_name",
}, },
}, },
{ {
title: "联系方式", title: "联系方式",
align: "center", align: "center",
dataIndex: "lianxifangshi", scopedSlots: {
customRender: "people_phone",
},
}, },
{ {
title: "取号时间", title: "取号时间",
width: "115px",
align: "center", align: "center",
dataIndex: "quhaoshijian", dataIndex: "taketime",
}, },
{ {
title: "办理业务", title: "办理业务",
align: "center", align: "center",
dataIndex: "banliyewu",
scopedSlots: { scopedSlots: {
customRender: "banliyewu", customRender: "business",
}, },
}, },
{ {
title: "办理开始时间", title: "办理开始时间",
width: "115px", width: "8%",
align: "center", align: "center",
dataIndex: "banlikaishishijian", scopedSlots: {
customRender: "calltime",
},
}, },
{ {
title: "呼叫设备", title: "呼叫设备",
align: "center", align: "center",
dataIndex: "hujiaoshebei", scopedSlots: {
customRender: "device_name",
},
}, },
{ {
title: "办理窗口", title: "办理窗口",
align: "center", align: "center",
dataIndex: "banlichuangkou", scopedSlots: {
customRender: "window_name",
},
}, },
{ {
title: "工作人员", title: "工作人员",
align: "center", align: "center",
dataIndex: "gongzuorenyuan",
scopedSlots: { scopedSlots: {
customRender: "gongzuorenyuan", customRender: "workman_name",
}, },
}, },
{ {
title: "办理结束时间", title: "办理结束时间",
width: "115px", width: "8%",
align: "center", align: "center",
dataIndex: "banlijieshushijian", scopedSlots: {
customRender: "endtime",
},
}, },
{ {
title: "状态", title: "状态",
align: "center", align: "center",
dataIndex: "zhuangtai",
scopedSlots: { scopedSlots: {
customRender: "zhuangtai", customRender: "style",
}, },
}, },
{ {
title: "操作", title: "操作",
align: "center", align: "center",
width: "110px",
dataIndex: "operation",
scopedSlots: { scopedSlots: {
customRender: "operation", customRender: "action",
}, },
}, },
], ],
BegindAndEndTime: [], //设备数据
searchName: undefined, deviceData: [],
// 搜索数据
searchForm: {
id: "", // 排队机id
style: "", // 状态
time: [moment().format("YYYY-MM-DD"), moment().format("YYYY-MM-DD")], // 时间区间
flownum: "", // 排号编码
},
//状态
style: [
{
key: 0,
name: "排队中",
},
{
key: 1,
name: "办理中",
},
{
key: 4,
name: "办理完成",
},
],
//Form数据列表
tableList: [],
obj: {
0: "排队中",
1: "办理中",
4: "办理完成",
},
}; };
}, },
components: { components: {
...@@ -207,38 +253,90 @@ export default { ...@@ -207,38 +253,90 @@ export default {
}, },
mounted() { mounted() {
this.setMoment(); this.setMoment();
for (let key = 0; key < 20; key++) { this.getCalllistArr()
this.tableSourceData.push({ this.getCallQueListArr()
id: `00${key + 1}`,
paiduibianhao: `A0001${key + 1}`,
shenbaoren: `张三 00${key + 1}`,
lianxifangshi: `13080888888${key + 1}`,
quhaoshijian: `2021-01-15 12:00:00`,
hujiaoshebei: `一楼排队机 ${key + 1}`,
banliyewu: `公安户籍类 ${key + 1}`,
banlikaishishijian: `2021-01-15 12:00:00`,
banlichuangkou: `01/东区1 ${key + 1}`,
gongzuorenyuan: `刘明洋 ${key + 1}`,
banlijieshushijian: `2021-01-15 12:00:00`,
zhuangtai: `排队中 ${key + 1}`,
});
}
}, },
methods: { methods: {
openDeclarant() { //搜索按钮
getDataList() {
this.tablePagination.current = 1
this.getCallQueListArr();
},
//重置按钮
resetBtn() {
this.tablePagination.current = 1
this.searchForm = {
id: "", // 排队机id
style: "", // 状态
time: [moment().format("YYYY-MM-DD"), moment().format("YYYY-MM-DD")], // 时间区间
flownum: "", // 排号编码
}
this.getCallQueListArr()
},
//获取排号机设备列表
async getCalllistArr() {
await getCalllist({ page: 1, size: -1 }).then((res) => {
// console.log(res.data.data)
this.deviceData = res.data.data;
});
},
// 获取列表数据
getCallQueListArr() {
getCallQueList({
page: this.tablePagination.current,
size: this.tablePagination.pageSize,
...this.searchForm,
}).then((res) => {
this.tableList = res.data.data;
this.tablePagination.total = res.data.total;
});
},
//分页
changeTablePage(page) {
this.pagTableChange(page)
this.getCallQueListArr()
},
//用户模态框
async openDeclarant(item) {
await getPeopleanalyse({ peopleid: item.peopleid, time: this.searchForm.time }).then(res => {
if (res.code = 1) {
this.$refs.UserInfo.dataList = { ...item, ...res.data }
// console.log(this.$refs.UserInfo.dataList)
}
})
this.$refs.UserInfo.modalInfo.title = "用户信息"; this.$refs.UserInfo.modalInfo.title = "用户信息";
this.$refs.UserInfo.modalInfo.width = "25%"; this.$refs.UserInfo.modalInfo.width = "25%";
this.$refs.UserInfo.modalInfo.visible = true; this.$refs.UserInfo.modalInfo.visible = true;
}, },
openBusiness() { //业务关联模块
async openBusiness(business, id) {
await getBusinessEvent({ businessid: id, time: this.searchForm.time }).then(res => {
this.$refs.BusinessInfo.dataList = res.data
})
this.$refs.BusinessInfo.modalInfo.title = "业务分析"; this.$refs.BusinessInfo.modalInfo.title = "业务分析";
this.$refs.BusinessInfo.title = business
this.$refs.BusinessInfo.modalInfo.visible = true; this.$refs.BusinessInfo.modalInfo.visible = true;
}, },
openWorkpeople() { //工作人员信息模态框
async openWorkpeople(id) {
let a, b = {}
await getWorkerInfo({ id }).then(res => {
a = res.data
})
await getWorkmananalyse({ workmanid: id, time: this.searchForm.time }).then(res => {
b = res.data
})
this.$refs.WorkpeopleInfo.infoData = { ...a, ...b }
console.log(this.$refs.WorkpeopleInfo.infoData)
this.$refs.WorkpeopleInfo.modalInfo.title = "工作人员信息"; this.$refs.WorkpeopleInfo.modalInfo.title = "工作人员信息";
this.$refs.WorkpeopleInfo.modalInfo.visible = true; this.$refs.WorkpeopleInfo.modalInfo.visible = true;
}, },
openHandlingDetails() { //详情信息抽屉
async openHandlingDetails(id) {
//获取排队叫号对应ID详情
await getQueueInfo({ id }).then(res => {
this.$refs.HandlingDetails.dataList = res.data
})
this.$refs.HandlingDetails.modalInfo.title = "办理明细"; this.$refs.HandlingDetails.modalInfo.title = "办理明细";
this.$refs.HandlingDetails.modalInfo.visible = true; this.$refs.HandlingDetails.modalInfo.visible = true;
}, },
......
...@@ -5,21 +5,23 @@ ...@@ -5,21 +5,23 @@
:getContainer="() => $refs.businessModal"> :getContainer="() => $refs.businessModal">
<div class="content"> <div class="content">
<h1>{{ title }}</h1> <h1>{{ title }}</h1>
<em>关联事项({{ dataList.length }}</em> <em v-if="dataList.matterlist">关联事项({{ dataList.matterlist.length }}</em>
<p> <p>
<!-- {{ item.shixiangmingcheng }} --> <template v-for="item in dataList.matterlist">
<p>{{ item }}</p>
</template>
</p> </p>
<h4> <h4>
<span>受理次数<br /><i>12</i></span> <span>受理次数<br /><i>{{ dataList.slcount }}</i></span>
<span>办结次数<br /><i>12</i></span> <span>办结次数<br /><i>{{ dataList.bjcount }}</i></span>
<span>好评率<br /><i>99%</i></span> <span>好评率<br /><i>{{ dataList.hplv }}</i></span>
</h4> </h4>
</div> </div>
<template slot="footer"> <template slot="footer">
<a-button type="primary" ghost @click="lookDetails">查看业务分析</a-button> <a-button type="primary" ghost @click="lookDetails">查看业务分析</a-button>
</template> </template>
</a-modal> </a-modal>
</div> </div>
</template> </template>
<script> <script>
...@@ -33,7 +35,6 @@ export default { ...@@ -33,7 +35,6 @@ export default {
dataList: [] dataList: []
}; };
}, },
mounted() { }, mounted() { },
methods: { methods: {
lookDetails() { lookDetails() {
......
...@@ -11,26 +11,26 @@ ...@@ -11,26 +11,26 @@
:getContainer="() => $refs.userModal" :getContainer="() => $refs.userModal"
> >
<div class="content"> <div class="content">
<h1>{{ useInfo.name }}</h1> <h1>{{ dataList.people_name}}</h1>
<p> <p>
<span>{{ defaultInfoForm.Gender }}</span> <span>{{ dataList.people_sex }}</span>
<span>{{ defaultInfoForm.Age }}</span> <span>{{ dataList.age }}</span>
<span>{{ defaultInfoForm.Phone }}</span> <span>{{ dataList.people_phone }}</span>
</p> </p>
<h2> <h2>
<span <span
>预约次数<br /><i>{{ defaultInfoForm.yuyuecishu }}</i></span >预约次数<br /><i>{{ dataList.ordernum }}</i></span
> >
<span <span
>排队次数<br /><i>{{ defaultInfoForm.paiduicishu }}</i></span >排队次数<br /><i>{{ dataList.quenum }}</i></span
> >
<span <span
>关联业务<br /><i>{{ defaultInfoForm.guanlianyewu }}</i></span >关联业务<br /><i>{{ dataList.bus_num}}</i></span
> >
</h2> </h2>
</div> </div>
<template slot="footer"> <template slot="footer">
<a-button type="primary" ghost>查看TA的数据画像</a-button> <a-button type="primary" ghost @click="openBlockchain">查看TA的数据画像</a-button>
<a-button type="primary" ghost @click="openBlockchain" <a-button type="primary" ghost @click="openBlockchain"
>区块链信息</a-button >区块链信息</a-button
> >
...@@ -48,7 +48,7 @@ export default { ...@@ -48,7 +48,7 @@ export default {
name: "PortalAdminVueUserInfo", name: "PortalAdminVueUserInfo",
data() { data() {
return { return {
useInfo:[] dataList:[],
}; };
}, },
components: { components: {
...@@ -58,7 +58,8 @@ export default { ...@@ -58,7 +58,8 @@ export default {
mounted() {}, mounted() {},
methods: { methods: {
openBlockchain() { openBlockchain() {
this.$refs.Blockchain.modalInfo.visible = true; // this.$refs.Blockchain.modalInfo.visible = true;
this.$message.warning('暂未开放')
}, },
}, },
}; };
......
...@@ -14,15 +14,15 @@ ...@@ -14,15 +14,15 @@
<span><i class="lable">工号:</i>{{ infoData.number || "--" }}</span> <span><i class="lable">工号:</i>{{ infoData.number || "--" }}</span>
<span><i class="lable">所属部门:</i>{{ infoData.deptName || "--" }}</span> <span><i class="lable">所属部门:</i>{{ infoData.deptName || "--" }}</span>
<span><i class="lable">政治面貌:</i>{{ $codeMap.politicalStatus[infoData.politicalstatus] || "--" }}</span> <span><i class="lable">政治面貌:</i>{{ $codeMap.politicalStatus[infoData.politicalstatus] || "--" }}</span>
<span><i class="lable">电话:</i>{{ infoData.phone || "--" }}</span> <span><i class="lable">电话:</i>{{ infoData.mobile || "--" }}</span>
<span><i class="lable">星级:</i>{{ infoData.starlevel || "--" }}</span> <span><i class="lable">星级:</i>{{ infoData.starlevel || "--" }}</span>
</div> </div>
</div> </div>
</div> </div>
<h2> <h2>
<span>受理业务<br /><i>{{ "--" }}</i></span> <span>受理业务<br /><i>{{ infoData.slbusiness || "0" }}</i></span>
<span>评价次数<br /><i>{{ "--" }}</i></span> <span>评价次数<br /><i>{{ infoData.pjnum || "0" }}</i></span>
<span>好评率<br /><i>{{ "--" }}</i></span> <span>好评率<br /><i>{{ infoData.hplv || "0" }}</i></span>
</h2> </h2>
</div> </div>
<template slot="footer"> <template slot="footer">
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
</template> </template>
</a-modal> </a-modal>
<Blockchain ref="Blockchain" /> <Blockchain ref="Blockchain" />
</div> </div>
</template> </template>
<script> <script>
...@@ -98,7 +98,7 @@ export default { ...@@ -98,7 +98,7 @@ export default {
.lable { .lable {
display: inline-block; display: inline-block;
font-style: normal; font-style: normal;
width: 100px; width: 70px;
text-align: right; text-align: right;
} }
} }
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
<div class="queueRecord-Container"> <div class="queueRecord-Container">
<div class="header_box"> <div class="header_box">
<div> <div>
<a-button type="success" @click="exportTable"> <a-button type="success" @click="exportTable(tHeader, filterVal, style, downAllData)">
<span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span> <span>{{ tableSelectedRows.length ? "导出" : "导出全部" }}</span>
</a-button> </a-button>
<b>叫号次数:<i>{{ tablePagination.total }}</i></b> <b>叫号次数:<i>{{ tablePagination.total }}</i> </b>
<sub>统计时间段:{{ searchForm.time[0] }}~{{ searchForm.time[1] }}</sub> <sub>统计时间段:{{ searchForm.time[0] }}~{{ searchForm.time[1] }}</sub>
</div> </div>
<span> <span>
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
</template> </template>
<!-- 办理业务 --> <!-- 办理业务 -->
<template slot="business" slot-scope="text"> <template slot="business" slot-scope="text">
<a v-if="text.business" @click="openBusiness(text.business, text.businessId)">{{ text.business }}</a> <a v-if="text.business" @click="openBusiness(text.business, text.businessid)">{{ text.business }}</a>
<span v-else>--</span> <span v-else>--</span>
</template> </template>
<!-- 办理开始时间 --> <!-- 办理开始时间 -->
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
<WorkpeopleInfo ref="WorkpeopleInfo" /> <WorkpeopleInfo ref="WorkpeopleInfo" />
<HandlingDetails ref="HandlingDetails" /> <HandlingDetails ref="HandlingDetails" />
</div> </div>
</div> </div>
</template> </template>
<script> <script>
...@@ -109,7 +109,10 @@ import UserInfo from "./components/userInfo.vue"; ...@@ -109,7 +109,10 @@ import UserInfo from "./components/userInfo.vue";
import BusinessInfo from "./components/businessInfo.vue"; import BusinessInfo from "./components/businessInfo.vue";
import WorkpeopleInfo from "./components/workpeopleInfo.vue"; import WorkpeopleInfo from "./components/workpeopleInfo.vue";
import HandlingDetails from "./components/HandlingDetails.vue"; import HandlingDetails from "./components/HandlingDetails.vue";
import { getTaskList, getQueueData, getQueueInfo, getBusinessEvent, getWorkerInfo } from "@/api/dataAdmin"; import {
getTaskList, getQueueData, getQueueInfo, getBusinessEvent,
getWorkerInfo, getPeopleanalyse, getWorkmananalyse
} from "@/api/dataAdmin";
export default { export default {
mixins: [table], mixins: [table],
name: "PortalAdminVueQueueRecord", name: "PortalAdminVueQueueRecord",
...@@ -209,6 +212,32 @@ export default { ...@@ -209,6 +212,32 @@ export default {
}, },
}, },
], ],
tHeader: [// 导出的表头名信息
"排队编号",
"申报人",
"联系方式",
"取号时间",
"取号设备",
"办理业务",
"办理开始时间",
"办理窗口",
"工作人员",
"办理结束时间",
"状态",
],
filterVal: [// 导出的表头字段名,需要导出表格字段名
"flownum",
"people_name",
"people_phone",
"taketime",
"device_name",
"business",
"calltime",
"window_name",
"workman_name",
"endtime",
"style",
],
//设备数据 //设备数据
deviceData: [], deviceData: [],
// 搜索数据 // 搜索数据
...@@ -235,6 +264,11 @@ export default { ...@@ -235,6 +264,11 @@ export default {
], ],
//Form数据列表 //Form数据列表
tableList: [], tableList: [],
obj: {
0: "排队中",
1: "办理中",
4: "办理完成",
},
}; };
}, },
components: { components: {
...@@ -289,8 +323,13 @@ export default { ...@@ -289,8 +323,13 @@ export default {
this.getQueueDataArr() this.getQueueDataArr()
}, },
//用户模态框 //用户模态框
openDeclarant(item) { async openDeclarant(item) {
console.log(item) await getPeopleanalyse({ peopleid: item.peopleid, time: this.searchForm.time }).then(res => {
if (res.code = 1) {
this.$refs.UserInfo.dataList = { ...item, ...res.data }
// console.log(this.$refs.UserInfo.dataList)
}
})
this.$refs.UserInfo.modalInfo.title = "用户信息"; this.$refs.UserInfo.modalInfo.title = "用户信息";
this.$refs.UserInfo.modalInfo.width = "25%"; this.$refs.UserInfo.modalInfo.width = "25%";
this.$refs.UserInfo.modalInfo.visible = true; this.$refs.UserInfo.modalInfo.visible = true;
...@@ -298,8 +337,8 @@ export default { ...@@ -298,8 +337,8 @@ export default {
//业务关联模块 //业务关联模块
async openBusiness(business, id) { async openBusiness(business, id) {
let siteId = localStorage.getItem('siteId') let siteId = localStorage.getItem('siteId')
await getBusinessEvent({ siteId, page: 1, size: -1, siteBusinessId: id }).then(res => { await getBusinessEvent({ businessid: id, time: this.searchForm.time }).then(res => {
this.$refs.BusinessInfo.dataList = res.data.data this.$refs.BusinessInfo.dataList = res.data
}) })
this.$refs.BusinessInfo.modalInfo.title = "业务分析"; this.$refs.BusinessInfo.modalInfo.title = "业务分析";
this.$refs.BusinessInfo.title = business this.$refs.BusinessInfo.title = business
...@@ -307,10 +346,15 @@ export default { ...@@ -307,10 +346,15 @@ export default {
}, },
//工作人员信息模态框 //工作人员信息模态框
async openWorkpeople(id) { async openWorkpeople(id) {
let a, b = {}
await getWorkerInfo({ id }).then(res => { await getWorkerInfo({ id }).then(res => {
console.log(res.data) a = res.data
this.$refs.WorkpeopleInfo.infoData = res.data
}) })
await getWorkmananalyse({ workmanid: id, time: this.searchForm.time }).then(res => {
b = res.data
})
this.$refs.WorkpeopleInfo.infoData = { ...a, ...b }
console.log(this.$refs.WorkpeopleInfo.infoData)
this.$refs.WorkpeopleInfo.modalInfo.title = "工作人员信息"; this.$refs.WorkpeopleInfo.modalInfo.title = "工作人员信息";
this.$refs.WorkpeopleInfo.modalInfo.visible = true; this.$refs.WorkpeopleInfo.modalInfo.visible = true;
}, },
...@@ -323,7 +367,17 @@ export default { ...@@ -323,7 +367,17 @@ export default {
this.$refs.HandlingDetails.modalInfo.title = "办理明细"; this.$refs.HandlingDetails.modalInfo.title = "办理明细";
this.$refs.HandlingDetails.modalInfo.visible = true; this.$refs.HandlingDetails.modalInfo.visible = true;
}, },
//获取全部数据
downAllData() {
getQueueData({
page: 1,
size: -1,
...this.searchForm,
}).then(res => {
return res
});
}
}, },
}; };
</script> </script>
......
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