Commit d65b22f3 authored by “yiyousong”'s avatar “yiyousong”

feat:添加预约报表

parent e8d4690e
...@@ -28,10 +28,9 @@ export function getWorkerInfo(params) { ...@@ -28,10 +28,9 @@ export function getWorkerInfo(params) {
return http.get(`${baseURL}/base/workman/info`, params); return http.get(`${baseURL}/base/workman/info`, params);
} }
//评价选项 //评价选项
export function getOptonList(params){ export function getOptonList(params) {
return http.post(`${BASEURL}/bkb/bkbset/optionlist`,params) return http.post(`${BASEURL}/bkb/bkbset/optionlist`, params);
} }
//评价数据列表 //评价数据列表
export function getEvaList(params) { export function getEvaList(params) {
...@@ -96,3 +95,37 @@ export function getCalllist(params) { ...@@ -96,3 +95,37 @@ export function getCalllist(params) {
export function getCallQueList(params) { export function getCallQueList(params) {
return http.post(`${BASEURL}/inter/reportform/callQueList`, params); return http.post(`${BASEURL}/inter/reportform/callQueList`, params);
} }
/**
* 预约报表
*/
// 获取列表
export function getOrderList(params) {
return http.post(`${BASEURL}/wechat/order_data/orderList`, params);
}
// 查看详情
export function getOrderinfo(params) {
return http.get(`${BASEURL}/wechat/order_data/orderinfo`, params);
}
/**
* 取件记录报表
*/
// 获取取件柜列表
export function getSitePickupDevice(params) {
return http.get(`${BASEURL}/pickup/reportform/siteDevice`, params);
}
// 获取取件记录报表
export function getPickupList(params) {
return http.post(`${BASEURL}/pickup/reportform/pickuplist`, params);
}
// 获取存件记录报表
export function getStorageList(params) {
return http.post(`${BASEURL}/pickup/reportform/storagelist`, params);
}
// 获取其他记录操作记录
export function getOtherList(params) {
return http.post(`${BASEURL}/pickup/reportform/otherlist`, params);
}
...@@ -20,6 +20,9 @@ import * as directives from "@/directive"; ...@@ -20,6 +20,9 @@ import * as directives from "@/directive";
Object.keys(directives).forEach((name) => Object.keys(directives).forEach((name) =>
Vue.directive(name, directives[name]) Vue.directive(name, directives[name])
); );
// 引入lodash
import lodash from "lodash";
Vue.prototype.$_ = lodash;
// moment 时间处理 // moment 时间处理
import moment from "moment"; import moment from "moment";
Vue.prototype.$moment = moment; Vue.prototype.$moment = moment;
...@@ -29,8 +32,8 @@ Object.keys(filters).forEach((key) => { ...@@ -29,8 +32,8 @@ Object.keys(filters).forEach((key) => {
Vue.filter(key, filters[key]); Vue.filter(key, filters[key]);
}); });
//引入字典 //引入字典
import codeMap from "@/utils/codeMap" import codeMap from "@/utils/codeMap";
Vue.prototype.$codeMap = codeMap Vue.prototype.$codeMap = codeMap;
Vue.prototype.$bus = new Vue(); Vue.prototype.$bus = new Vue();
......
...@@ -410,7 +410,9 @@ export default { ...@@ -410,7 +410,9 @@ export default {
6: "一体化评价", 6: "一体化评价",
}; };
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) { if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
this.tableSelectedRows.forEach((item) => { // 深度克隆避免影响页面表格展示
let data = this.$_.cloneDeep(this.tableSelectedRows);
data.forEach((item) => {
Object.keys(obj).forEach((keys) => { Object.keys(obj).forEach((keys) => {
if (item.pjxt == keys) { if (item.pjxt == keys) {
item.pjxt = obj[keys]; item.pjxt = obj[keys];
...@@ -420,14 +422,16 @@ export default { ...@@ -420,14 +422,16 @@ export default {
export2Excel( export2Excel(
this.tHeader, this.tHeader,
this.filterVal, this.filterVal,
this.tableSelectedRows, data,
"办事部门评价记录报表" + this.$moment().format("YYYYMMDDHHmmss") "办事部门评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
); );
} else { } else {
let data = await this.togetevalist({ let data = this.$_.cloneDeep(
page: 1, await this.togetevalist({
size: -1, page: 1,
}); size: -1,
})
);
if (!data.length) return; if (!data.length) return;
for (let item of data) { for (let item of data) {
Object.keys(obj).forEach((key) => { Object.keys(obj).forEach((key) => {
......
...@@ -413,7 +413,9 @@ export default { ...@@ -413,7 +413,9 @@ export default {
6: "一体化评价", 6: "一体化评价",
}; };
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) { if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
this.tableSelectedRows.forEach((item) => { // 深度克隆避免影响页面表格展示
let data = this.$_.cloneDeep(this.tableSelectedRows);
data.forEach((item) => {
Object.keys(obj).forEach((keys) => { Object.keys(obj).forEach((keys) => {
if (item.pjxt == keys) { if (item.pjxt == keys) {
item.pjxt = obj[keys]; item.pjxt = obj[keys];
...@@ -423,14 +425,16 @@ export default { ...@@ -423,14 +425,16 @@ export default {
export2Excel( export2Excel(
this.tHeader, this.tHeader,
this.filterVal, this.filterVal,
this.tableSelectedRows, data,
"办理事项评价记录报表" + this.$moment().format("YYYYMMDDHHmmss") "办理事项评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
); );
} else { } else {
let data = await this.togetevalist({ let data = this.$_.cloneDeep(
page: 1, await this.togetevalist({
size: -1, page: 1,
}); size: -1,
})
);
if (!data.length) return; if (!data.length) return;
for (let item of data) { for (let item of data) {
Object.keys(obj).forEach((key) => { Object.keys(obj).forEach((key) => {
......
...@@ -416,7 +416,9 @@ export default { ...@@ -416,7 +416,9 @@ export default {
6: "一体化评价", 6: "一体化评价",
}; };
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) { if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
this.tableSelectedRows.forEach((item) => { // 深度克隆避免影响页面表格展示
let data = this.$_.cloneDeep(this.tableSelectedRows);
data.forEach((item) => {
Object.keys(obj).forEach((keys) => { Object.keys(obj).forEach((keys) => {
if (item.pjxt == keys) { if (item.pjxt == keys) {
item.pjxt = obj[keys]; item.pjxt = obj[keys];
...@@ -426,14 +428,16 @@ export default { ...@@ -426,14 +428,16 @@ export default {
export2Excel( export2Excel(
this.tHeader, this.tHeader,
this.filterVal, this.filterVal,
this.tableSelectedRows, data,
"窗口服务评价记录报表" + this.$moment().format("YYYYMMDDHHmmss") "窗口服务评价记录报表" + this.$moment().format("YYYYMMDDHHmmss")
); );
} else { } else {
let data = await this.togetevalist({ let data = this.$_.cloneDeep(
page: 1, await this.togetevalist({
size: -1, page: 1,
}); size: -1,
})
);
if (!data.length) return; if (!data.length) return;
for (let item of data) { for (let item of data) {
Object.keys(obj).forEach((key) => { Object.keys(obj).forEach((key) => {
......
...@@ -302,7 +302,9 @@ export default { ...@@ -302,7 +302,9 @@ export default {
2: "在线提交", 2: "在线提交",
}; };
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) { if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
this.tableSelectedRows.forEach((item) => { // 深度克隆避免影响页面表格展示
let data = this.$_.cloneDeep(this.tableSelectedRows);
data.forEach((item) => {
Object.keys(obj).forEach((keys) => { Object.keys(obj).forEach((keys) => {
if (item.type == keys) { if (item.type == keys) {
item.type = obj[keys]; item.type = obj[keys];
...@@ -312,11 +314,13 @@ export default { ...@@ -312,11 +314,13 @@ export default {
export2Excel( export2Excel(
this.tHeader, this.tHeader,
this.filterVal, this.filterVal,
this.tableSelectedRows, data,
"填单记录报表" + this.$moment().format("YYYYMMDDHHmmss") "填单记录报表" + this.$moment().format("YYYYMMDDHHmmss")
); );
} else { } else {
let data = await this.togetPrintList({ page: 1, size: -1 }); let data = this.$_.cloneDeep(
await this.togetPrintList({ page: 1, size: -1 })
);
if (!data.length) return; if (!data.length) return;
for (let item of data) { for (let item of data) {
Object.keys(obj).forEach((key) => { Object.keys(obj).forEach((key) => {
......
...@@ -8,50 +8,108 @@ ...@@ -8,50 +8,108 @@
<div class="top"> <div class="top">
<div class="info"> <div class="info">
<h1>预约信息</h1> <h1>预约信息</h1>
<p><span>预约编号:</span>A051511051332</p> <p><span>预约编号:</span>{{ orderInfo.number || "--" }}</p>
<p><span>预约人:</span>*黎</p> <p>
<p><span>手机号:</span>13080888888</p> <span>预约人:</span
<p><span>证件号码:</span>**********2112</p> >{{ (orderInfo.people && orderInfo.people.idcard_Name) || "--" }}
<p><span>预约时段:</span>2022-03-02 09:00:00</p> </p>
<p>
<span>手机号:</span
>{{ (orderInfo.people && orderInfo.people.phone) || "--" }}
</p>
<p>
<span>证件号码:</span
>{{
(orderInfo.people && orderInfo.people.idcard_IDCardNo) || "--"
}}
</p>
<p>
<span>预约时段:</span>{{ orderInfo.starttime }}~{{
orderInfo.endtime
}}
</p>
</div> </div>
<div class="qrcode"> <div class="qrcode">
<img src="~@/assets/images/logo.png" alt="" /> <!-- <img src="~@/assets/images/logo.png" alt="" />
<p>预约信息二维码</p> <p>预约信息二维码</p> -->
</div> </div>
</div> </div>
<ul class="bottom"> <ul class="bottom">
<li v-for="item of 4"> <li v-for="(v, key) of orderStatus" :key="key">
<p>0{{ item }}</p> <p>0{{ key }}</p>
<p>预约状态</p> <p>{{ v }}</p>
</li> </li>
</ul> </ul>
</div> </div>
<div class="right_"> <div class="right_">
<div class="box1"> <div class="box1">
<div class="left_"> <div class="left_">
<h1>生育业务</h1> <h1>{{ orderInfo.business || "--" }}</h1>
<p v-for="item of 3">事项1:生育证津贴办理</p> <!-- <p v-for="item of 3">事项1:生育证津贴办理</p> -->
</div> </div>
<div class="right_"> <div class="right_">
<span>未签到</span> <span class="status1" v-if="orderInfo.status != 1">未签到</span>
<span class="status2" v-else>排队中</span>
</div> </div>
</div> </div>
<div class="box2"> <div class="box2">
<h1>办理地点</h1> <h1>办理地点</h1>
<h2><span v-for="item of 3">办理地点:xxx政务服务中心</span></h2> <h2>
<h2><span v-for="item of 3">办理地点:xxx政务服务中心</span></h2> <span
>办理地点:{{
orderInfo.siteinfo && orderInfo.siteinfo.siteName
}}</span
>
<span
>办理窗口:{{
(orderInfo.window && orderInfo.window.join(",")) || "--"
}}</span
>
<span
>服务热线:{{
orderInfo.siteinfo && orderInfo.siteinfo.siteTel
}}</span
>
</h2>
<h2>
<span
>办理时间:{{
orderInfo.siteinfo &&
Number(orderInfo.siteinfo.amWorkStartTime) | times
}}
~
{{
orderInfo.siteinfo &&
Number(orderInfo.siteinfo.pmWorkEndTime) | times
}}</span
>
<span
>办理地址:{{
orderInfo.siteinfo && orderInfo.siteinfo.detailAddress
}}</span
>
</h2>
</div> </div>
<div class="box3"> <div class="box3">
<h1>签到信息</h1> <h1>签到信息</h1>
<h2><span v-for="item of 2">签到时间:2022-08-03 09:00:00</span></h2> <h2>
<span>签到时间:{{ orderInfo.taketime || "--" }}</span>
</h2>
<h2>
<span
>签到地址:{{
orderInfo.siteinfo && orderInfo.siteinfo.detailAddress
}}</span
>
</h2>
</div> </div>
</div> </div>
</div> </div>
<div class="footer"> <div class="footer">
<h1>操作信息</h1> <h1>操作信息</h1>
<h2> <h2>
<span>操作时间:2021-08-02 16:00:00</span> <span>操作时间:{{ orderInfo.create_time }}</span>
<span>预约方式:手机端预约系统 </span> <span>预约方式:-- </span>
<span>操作站点:-- </span> <span>操作站点:-- </span>
</h2> </h2>
</div> </div>
...@@ -59,16 +117,41 @@ ...@@ -59,16 +117,41 @@
</template> </template>
<script> <script>
import { getOrderinfo } from "@/api/dataAdmin";
let orderStatus = {
1: "预约成功",
2: "签到成功",
3: "办理中",
4: "完成",
};
let statusItem = {
0: "预约中",
1: "成功取号",
2: "超时未取号",
3: "预约取消",
};
export default { export default {
name: "PortalAdminVueRecordReportdetails", name: "PortalAdminVueRecordReportdetails",
data() { data() {
return {}; return {
orderStatus,
statusItem,
orderInfo: {}, // 预约信息
};
}, },
mounted() {}, created() {
this.getOrderinfo();
},
methods: {}, methods: {
async getOrderinfo() {
let id = this.$route.query.id;
let res = await getOrderinfo({ id });
this.orderInfo = res.data;
console.log(res.data);
},
},
}; };
</script> </script>
...@@ -236,13 +319,23 @@ export default { ...@@ -236,13 +319,23 @@ export default {
width: 100px; width: 100px;
line-height: 100px; line-height: 100px;
text-align: center; text-align: center;
border: 1px solid #fe8625;
border-radius: 50%; border-radius: 50%;
color: #fe8625;
font-weight: bold; font-weight: bold;
-webkit-transform: rotate(45deg); -webkit-transform: rotate(45deg);
transform: rotate(45deg); transform: rotate(45deg);
} }
.status1 {
color: #fe8625;
border: 1px solid #fe8625;
}
.status2 {
color: #1890ff;
border: 1px solid #1890ff;
}
.status3 {
color: #03d76f;
border: 1px solid #03d76f;
}
} }
} }
.box2 { .box2 {
......
...@@ -458,7 +458,9 @@ export default { ...@@ -458,7 +458,9 @@ export default {
4: "办理完成", 4: "办理完成",
}; };
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) { if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
this.tableSelectedRows.forEach((item) => { // 深度克隆避免影响页面表格展示
let data = this.$_.cloneDeep(this.tableSelectedRows);
data.forEach((item) => {
Object.keys(obj).forEach((keys) => { Object.keys(obj).forEach((keys) => {
if (item.style == keys) { if (item.style == keys) {
item.style = obj[keys]; item.style = obj[keys];
...@@ -468,14 +470,16 @@ export default { ...@@ -468,14 +470,16 @@ export default {
export2Excel( export2Excel(
this.tHeader, this.tHeader,
this.filterVal, this.filterVal,
this.tableSelectedRows, data,
"呼叫记录报表" + this.$moment().format("YYYYMMDDHHmmss") "呼叫记录报表" + this.$moment().format("YYYYMMDDHHmmss")
); );
} else { } else {
let data = await this.getCallQueListArr({ let data = this.$_.cloneDeep(
page: 1, await this.getCallQueListArr({
size: -1, page: 1,
}); size: -1,
})
);
if (!data.length) return; if (!data.length) return;
for (let item of data) { for (let item of data) {
Object.keys(obj).forEach((key) => { Object.keys(obj).forEach((key) => {
......
...@@ -452,7 +452,9 @@ export default { ...@@ -452,7 +452,9 @@ export default {
4: "办理完成", 4: "办理完成",
}; };
if (this.tableSelectedKeys.length && this.tableSelectedRows.length) { if (this.tableSelectedKeys.length && this.tableSelectedRows.length) {
this.tableSelectedRows.forEach((item) => { // 深度克隆避免影响页面表格展示
let data = this.$_.cloneDeep(this.tableSelectedRows);
data.forEach((item) => {
Object.keys(obj).forEach((keys) => { Object.keys(obj).forEach((keys) => {
if (item.style == keys) { if (item.style == keys) {
item.style = obj[keys]; item.style = obj[keys];
...@@ -462,11 +464,13 @@ export default { ...@@ -462,11 +464,13 @@ export default {
export2Excel( export2Excel(
this.tHeader, this.tHeader,
this.filterVal, this.filterVal,
this.tableSelectedRows, data,
"排队记录报表" + this.$moment().format("YYYYMMDDHHmmss") "排队记录报表" + this.$moment().format("YYYYMMDDHHmmss")
); );
} else { } else {
let data = await this.getQueueDataArr({ page: 1, size: -1 }); let data = this.$_.cloneDeep(
await this.getQueueDataArr({ page: 1, size: -1 })
);
if (!data.length) return; if (!data.length) return;
for (let item of data) { for (let item of data) {
Object.keys(obj).forEach((key) => { Object.keys(obj).forEach((key) => {
......
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