|
|
@@ -11,7 +11,7 @@
|
|
|
<div class="order-top">
|
|
|
<!-- 订单号筛选 -->
|
|
|
<el-input
|
|
|
- placeholder="请输入订单号"
|
|
|
+ placeholder="请输入订单号或房间号"
|
|
|
style="width: 261px"
|
|
|
clearable
|
|
|
v-model="value"
|
|
|
@@ -32,8 +32,7 @@
|
|
|
start-placeholder="开始时间"
|
|
|
end-placeholder="结束时间"
|
|
|
@change="getData(1)"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
+ ></el-date-picker>
|
|
|
</div>
|
|
|
|
|
|
<!-- 支付时间筛选 -->
|
|
|
@@ -47,26 +46,19 @@
|
|
|
start-placeholder="开始时间"
|
|
|
end-placeholder="结束时间"
|
|
|
@change="getData(1)"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
+ ></el-date-picker>
|
|
|
</div>
|
|
|
|
|
|
<!-- 状态筛选 -->
|
|
|
<div class="state">
|
|
|
<span>状态:</span>
|
|
|
- <el-select
|
|
|
- v-model="state"
|
|
|
- clearable
|
|
|
- placeholder="请选择状态"
|
|
|
- @change="getData(1)"
|
|
|
- >
|
|
|
+ <el-select v-model="state" clearable placeholder="请选择状态" @change="getData(1)">
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
|
:key="item.value"
|
|
|
:value="item.value"
|
|
|
:label="item.label"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
|
|
|
@@ -89,86 +81,37 @@
|
|
|
background: 'rgba(240, 243, 247, 1)',
|
|
|
}"
|
|
|
>
|
|
|
- <el-table-column
|
|
|
- type="selection"
|
|
|
- width="60"
|
|
|
- align="center"
|
|
|
- ></el-table-column>
|
|
|
+ <!-- <el-table-column type="selection" width="60" align="center"></el-table-column> -->
|
|
|
<el-table-column
|
|
|
prop="order.orderNo"
|
|
|
- width="120"
|
|
|
+ width="180"
|
|
|
label="订单号"
|
|
|
align="center"
|
|
|
show-overflow-tooltip
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
+ ></el-table-column>
|
|
|
|
|
|
<el-table-column width="100" align="center" label="状态">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- {{ options[row.order.orderStatu].label }}
|
|
|
- </template>
|
|
|
+ <template slot-scope="{ row }">{{ options[row.order.orderStatu].label }}</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column
|
|
|
- prop="order.roomNo"
|
|
|
- width="160"
|
|
|
- align="center"
|
|
|
- label="房间"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="electricity"
|
|
|
- align="center"
|
|
|
- width="130"
|
|
|
- label="电费(元)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="water"
|
|
|
- width="130"
|
|
|
- align="center"
|
|
|
- label="水费(元)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="imprest"
|
|
|
- align="center"
|
|
|
- width="150"
|
|
|
- label="收预付款(元)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="refund"
|
|
|
- width="150"
|
|
|
- align="center"
|
|
|
- label="退预付款(元)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="order.createTime"
|
|
|
- width="180"
|
|
|
- align="center"
|
|
|
- label="创建时间"
|
|
|
- >
|
|
|
+ <el-table-column prop="order.roomNo" width="160" align="center" label="房间"></el-table-column>
|
|
|
+ <el-table-column align="center" width="130" label="电费(元)">
|
|
|
+ <template slot-scope="{row}">{{row.allOfElectricPayment}}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="order.payTime"
|
|
|
- width="180"
|
|
|
- align="center"
|
|
|
- label="支付时间"
|
|
|
- >
|
|
|
+ <el-table-column width="130" align="center" label="水费(元)">
|
|
|
+ <template slot-scope="{ row }">{{ row.allOfWaterAmount }}</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column prop="allOfReceiveAmount" align="center" width="150" label="收预付款(元)"></el-table-column>
|
|
|
+ <el-table-column prop="refundPayment" width="150" align="center" label="退预付款(元)"></el-table-column>
|
|
|
+ <el-table-column prop="order.createTime" width="180" align="center" label="创建时间"></el-table-column>
|
|
|
+ <el-table-column prop="order.payTime" width="180" align="center" label="支付时间"></el-table-column>
|
|
|
<el-table-column prop="address" align="center" label="操作">
|
|
|
<template slot-scope="{ row }">
|
|
|
<!-- 详情按钮 -->
|
|
|
- <span @click="handleEdit(row)" class="operate"> 详情 </span>
|
|
|
+ <span @click="handleEdit(row)" class="operate">详情</span>
|
|
|
|
|
|
<!-- 详情弹窗区域 -->
|
|
|
- <el-dialog
|
|
|
- title="订单详情"
|
|
|
- :visible.sync="dialogVisible"
|
|
|
- width="30%"
|
|
|
- >
|
|
|
+ <el-dialog title="订单详情" :visible.sync="dialogVisible" width="30%">
|
|
|
<div class="userinfo">用户信息</div>
|
|
|
<div class="info">
|
|
|
<div class="user">
|
|
|
@@ -228,46 +171,14 @@
|
|
|
background: 'rgba(240, 243, 247, 1)',
|
|
|
}"
|
|
|
>
|
|
|
- <el-table-column
|
|
|
- prop="startOfWater"
|
|
|
- width="100"
|
|
|
- label="始码"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
+ <el-table-column prop="startOfWater" width="100" label="始码" align="center"></el-table-column>
|
|
|
|
|
|
- <el-table-column
|
|
|
- prop="endOfWater"
|
|
|
- width="100"
|
|
|
- align="center"
|
|
|
- label="终码"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
+ <el-table-column prop="endOfWater" width="100" align="center" label="终码"></el-table-column>
|
|
|
|
|
|
- <el-table-column
|
|
|
- prop="waterVolume"
|
|
|
- align="center"
|
|
|
- label="水量(吨)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="priceOfWater"
|
|
|
- align="center"
|
|
|
- label="水价(元)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="allowance"
|
|
|
- align="center"
|
|
|
- label="补助量(吨)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="cost"
|
|
|
- align="center"
|
|
|
- label="产生水费(元)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
+ <el-table-column prop="waterVolume" align="center" label="水量(吨)"></el-table-column>
|
|
|
+ <el-table-column prop="priceOfWater" align="center" label="水价(元)"></el-table-column>
|
|
|
+ <el-table-column prop="allowance" align="center" label="补助量(吨)"></el-table-column>
|
|
|
+ <el-table-column prop="cost" align="center" label="产生水费(元)"></el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
<!-- 电费区域 -->
|
|
|
@@ -287,57 +198,19 @@
|
|
|
background: 'rgba(240, 243, 247, 1)',
|
|
|
}"
|
|
|
>
|
|
|
- <el-table-column
|
|
|
- prop="startOfElectric"
|
|
|
- width="100"
|
|
|
- label="始码"
|
|
|
- align="center"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
+ <el-table-column prop="startOfElectric" width="100" label="始码" align="center"></el-table-column>
|
|
|
|
|
|
- <el-table-column
|
|
|
- prop="endOfElectric"
|
|
|
- width="100"
|
|
|
- align="center"
|
|
|
- label="终码"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
+ <el-table-column prop="endOfElectric" width="100" align="center" label="终码"></el-table-column>
|
|
|
|
|
|
- <el-table-column
|
|
|
- prop="electricVolume"
|
|
|
- align="center"
|
|
|
- label="电量(度)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="priceOfElectric"
|
|
|
- align="center"
|
|
|
- label="电价(元)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="allowance"
|
|
|
- align="center"
|
|
|
- label="补助量(度)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="cost"
|
|
|
- align="center"
|
|
|
- label="产生水费(元)"
|
|
|
- >
|
|
|
- </el-table-column>
|
|
|
+ <el-table-column prop="electricVolume" align="center" label="电量(度)"></el-table-column>
|
|
|
+ <el-table-column prop="priceOfElectric" align="center" label="电价(元)"></el-table-column>
|
|
|
+ <el-table-column prop="allowance" align="center" label="补助量(度)"></el-table-column>
|
|
|
+ <el-table-column prop="cost" align="center" label="产生水费(元)"></el-table-column>
|
|
|
</el-table>
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 删除按钮 -->
|
|
|
- <span
|
|
|
- v-if="row.order.orderStatu == 0"
|
|
|
- @click="handleDelete(row)"
|
|
|
- class="operate"
|
|
|
- >
|
|
|
- 删除
|
|
|
- </span>
|
|
|
+ <span v-if="row.order.orderStatu == 0" @click="handleDelete(row)" class="operate">删除</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
@@ -351,8 +224,7 @@
|
|
|
:current-page="curPage"
|
|
|
layout="prev, pager, next, jumper"
|
|
|
:total="total"
|
|
|
- >
|
|
|
- </el-pagination>
|
|
|
+ ></el-pagination>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-card>
|
|
|
@@ -362,6 +234,7 @@
|
|
|
<script>
|
|
|
import FileSaver from "file-saver";
|
|
|
import * as XLSX from "xlsx";
|
|
|
+import dayjs from "dayjs";
|
|
|
|
|
|
export default {
|
|
|
name: "Inform",
|
|
|
@@ -375,28 +248,28 @@ export default {
|
|
|
options: [
|
|
|
{
|
|
|
value: 0,
|
|
|
- label: "已取消",
|
|
|
+ label: "已取消"
|
|
|
},
|
|
|
{
|
|
|
value: 1,
|
|
|
- label: "待支付",
|
|
|
+ label: "待支付"
|
|
|
},
|
|
|
{
|
|
|
value: 2,
|
|
|
- label: "待入住",
|
|
|
+ label: "待入住"
|
|
|
},
|
|
|
{
|
|
|
value: 3,
|
|
|
- label: "已入住",
|
|
|
+ label: "已入住"
|
|
|
},
|
|
|
{
|
|
|
value: 4,
|
|
|
- label: "待结账",
|
|
|
+ label: "待结账"
|
|
|
},
|
|
|
{
|
|
|
value: 5,
|
|
|
- label: "已完成",
|
|
|
- },
|
|
|
+ label: "已完成"
|
|
|
+ }
|
|
|
],
|
|
|
// 筛选状态绑定数据
|
|
|
state: "",
|
|
|
@@ -416,7 +289,7 @@ export default {
|
|
|
// 每页条数
|
|
|
pageSize: 8,
|
|
|
// 总条数
|
|
|
- total: null,
|
|
|
+ total: null
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
@@ -438,17 +311,33 @@ export default {
|
|
|
curPage: this.curPage,
|
|
|
pageSize: this.pageSize,
|
|
|
statu: this.state,
|
|
|
- orderNo: this.value,
|
|
|
+ keyWord: this.value,
|
|
|
payTime1: this.payTime[0],
|
|
|
payTime2: this.payTime[1],
|
|
|
createTime1: this.createTime[0],
|
|
|
- createTime2: this.createTime[1],
|
|
|
+ createTime2: this.createTime[1]
|
|
|
};
|
|
|
let res = await this.API.hotelOrder.hotelOrderAdminPage(params);
|
|
|
// console.log(res);
|
|
|
if (res.success) {
|
|
|
this.tableData = res.data.list;
|
|
|
this.total = res.data.totalCount;
|
|
|
+ res.data.list.forEach(item => {
|
|
|
+ // 水费电费计算后的价格
|
|
|
+ if (item.orderBill) {
|
|
|
+ // item.order.waterMoney =
|
|
|
+ // item.orderBill.priceOfWater *
|
|
|
+ // (item.orderBill.endOfWater - item.orderBill.startOfWater);
|
|
|
+ // item.order.electricMoney =
|
|
|
+ // item.orderBill.priceOfElectric *
|
|
|
+ // (item.orderBill.endOfElectric - item.orderBill.startOfElectric);
|
|
|
+ // console.log(item.orderBill.finishTime);
|
|
|
+ // 支付时间转换
|
|
|
+ item.orderBill.finishTime = dayjs(item.orderBill.finishTime).format(
|
|
|
+ "YYYY-MM-DD HH:mm:ss"
|
|
|
+ );
|
|
|
+ }
|
|
|
+ });
|
|
|
} else {
|
|
|
this.$message.error(res.message);
|
|
|
}
|
|
|
@@ -456,47 +345,74 @@ export default {
|
|
|
|
|
|
// 导出订单按钮回调
|
|
|
exportExcel() {
|
|
|
- // let selectId = ".selectTable";
|
|
|
- // let execlTable = ".execlTable";
|
|
|
- // if (this.selectionTable.length > 0) {
|
|
|
- // this.excel(selectId);
|
|
|
- // } else {
|
|
|
- // this.excel(execlTable);
|
|
|
- // }
|
|
|
+ let params = {
|
|
|
+ keyWord: this.value,
|
|
|
+ statu: this.state,
|
|
|
+ payTime1: this.payTime[0],
|
|
|
+ payTime2: this.payTime[1],
|
|
|
+ createTime1: this.createTime[0],
|
|
|
+ createTime2: this.createTime[1]
|
|
|
+ };
|
|
|
+ this.API.hotelOrder.downOrder(params).then(res => {
|
|
|
+ // console.log(res);
|
|
|
+ let name = `订单数据`;
|
|
|
+ var content = res;
|
|
|
+ // var data = new Blob([content],{type:"application/octet-stream;charset=utf-8"});
|
|
|
+ var data = new Blob([content], {
|
|
|
+ type: "application/vnd.ms-excel;charset=utf-8"
|
|
|
+ });
|
|
|
+ var downloadUrl = window.URL.createObjectURL(data);
|
|
|
+ var anchor = document.createElement("a");
|
|
|
+ anchor.href = downloadUrl;
|
|
|
+ anchor.download = name + ".xls";
|
|
|
+ anchor.click();
|
|
|
+ window.URL.revokeObjectURL(data);
|
|
|
+ if (res) {
|
|
|
+ this.$message.success("导出成功");
|
|
|
+ } else {
|
|
|
+ this.$message.error("导出失败");
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
|
|
|
// 导出表格
|
|
|
- excel(id) {
|
|
|
- let xlsxParam = { raw: true };
|
|
|
- /* generate workbook object from table */
|
|
|
- let wb = XLSX.utils.table_to_book(document.querySelector(id));
|
|
|
- /* get binary string as output */
|
|
|
- let wbout = XLSX.write(wb, {
|
|
|
- bookType: "xlsx",
|
|
|
- bookSST: true,
|
|
|
- type: "array",
|
|
|
- });
|
|
|
- try {
|
|
|
- FileSaver.saveAs(
|
|
|
- new Blob([wbout], { type: "application/octet-stream" }),
|
|
|
- "订单管理.xlsx"
|
|
|
- );
|
|
|
- } catch (e) {
|
|
|
- if (typeof console !== "undefined") console.log(e, wbout);
|
|
|
- }
|
|
|
- return wbout;
|
|
|
- },
|
|
|
+ // excel(id) {
|
|
|
+ // let xlsxParam = { raw: true };
|
|
|
+ // /* generate workbook object from table */
|
|
|
+ // let wb = XLSX.utils.table_to_book(document.querySelector(id));
|
|
|
+ // /* get binary string as output */
|
|
|
+ // let wbout = XLSX.write(wb, {
|
|
|
+ // bookType: "xlsx",
|
|
|
+ // bookSST: true,
|
|
|
+ // type: "array"
|
|
|
+ // });
|
|
|
+ // try {
|
|
|
+ // FileSaver.saveAs(
|
|
|
+ // new Blob([wbout], { type: "application/octet-stream" }),
|
|
|
+ // "订单管理.xlsx"
|
|
|
+ // );
|
|
|
+ // } catch (e) {
|
|
|
+ // if (typeof console !== "undefined") console.log(e, wbout);
|
|
|
+ // }
|
|
|
+ // return wbout;
|
|
|
+ // },
|
|
|
|
|
|
//详情按钮回调
|
|
|
handleEdit(row) {
|
|
|
- console.log(row);
|
|
|
+ // console.log(row);
|
|
|
this.order = row.order;
|
|
|
this.waterTable = [];
|
|
|
this.electricTable = [];
|
|
|
if (row.orderBill) {
|
|
|
let waterTemList = [];
|
|
|
let electricTemList = [];
|
|
|
-
|
|
|
+ if (row.orderBill.priceOfWater == "0E-8") {
|
|
|
+ row.orderBill.priceOfWater = 0;
|
|
|
+ // console.log(row.orderBill.priceOfWater);
|
|
|
+ }
|
|
|
+ if (row.orderBill.priceOfElectric == "0E-8") {
|
|
|
+ row.orderBill.priceOfElectric = 0;
|
|
|
+ }
|
|
|
waterTemList.push({
|
|
|
startOfWater: row.orderBill.startOfWater,
|
|
|
endOfWater: row.orderBill.endOfWater,
|
|
|
@@ -505,7 +421,7 @@ export default {
|
|
|
allowance: null,
|
|
|
cost:
|
|
|
row.orderBill.priceOfWater *
|
|
|
- (row.orderBill.endOfWater - row.orderBill.startOfWater),
|
|
|
+ (row.orderBill.endOfWater - row.orderBill.startOfWater)
|
|
|
});
|
|
|
|
|
|
electricTemList.push({
|
|
|
@@ -517,7 +433,7 @@ export default {
|
|
|
allowance: null,
|
|
|
cost:
|
|
|
row.orderBill.priceOfElectric *
|
|
|
- (row.orderBill.endOfElectric - row.orderBill.startOfElectric),
|
|
|
+ (row.orderBill.endOfElectric - row.orderBill.startOfElectric)
|
|
|
});
|
|
|
this.waterTable = waterTemList;
|
|
|
this.electricTable = electricTemList;
|
|
|
@@ -558,7 +474,7 @@ export default {
|
|
|
|
|
|
// 多选框按钮操作
|
|
|
handleSelectionChange(list) {
|
|
|
- console.log(list);
|
|
|
+ // console.log(list);
|
|
|
this.selectionTable = list;
|
|
|
},
|
|
|
|
|
|
@@ -567,8 +483,8 @@ export default {
|
|
|
if (row.rowIndex % 2 != 0) {
|
|
|
return { background: "rgba(240, 243, 247, 1)", "border-radius": "5px" };
|
|
|
}
|
|
|
- },
|
|
|
- },
|
|
|
+ }
|
|
|
+ }
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
@@ -620,7 +536,7 @@ export default {
|
|
|
margin: 0 0 0 44px;
|
|
|
.el-date-editor {
|
|
|
margin-left: 7px;
|
|
|
- width: 236px;
|
|
|
+ width: 215px;
|
|
|
.el-range__icon {
|
|
|
display: none;
|
|
|
}
|
|
|
@@ -695,8 +611,8 @@ export default {
|
|
|
overflow: hidden;
|
|
|
.el-dialog {
|
|
|
width: 968px !important;
|
|
|
- margin-top: 126px !important;
|
|
|
- height: 914px;
|
|
|
+ margin-top: 80px !important;
|
|
|
+ height: 880px;
|
|
|
opacity: 1;
|
|
|
background: rgba(255, 255, 255, 1);
|
|
|
box-shadow: none;
|