Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
8dadfa05c3
@ -80,3 +80,11 @@ export function orderStatisticsApi(query) {
|
||||
}
|
||||
|
||||
|
||||
// 查询油罐信息
|
||||
export function getOilNumberGun() {
|
||||
return request({
|
||||
url: '/business/petrolStationManagement/oilGun/selectByNumberTGUn',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div class="app-container">
|
||||
<el-card>
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane label="认证会员" name="member">
|
||||
<el-tab-pane label="认证企业会员" name="member">
|
||||
<el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="手机号" prop="mobile">
|
||||
<el-input
|
||||
@ -31,7 +31,7 @@
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dict.type.rzzt"
|
||||
v-for="dict in dict.type.zhzt"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
@ -56,7 +56,7 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="固定等级认证" name="fixingLevel">
|
||||
<el-tab-pane label="设置企业会员等级" name="fixingLevel">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="等级状态" prop="status">
|
||||
<el-select
|
||||
@ -146,7 +146,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" align="center" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.rzzt" :value="scope.row.status"/>
|
||||
<dict-tag :options="dict.type.zhzt" :value="scope.row.status"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="120" fixed='right'>
|
||||
@ -531,7 +531,7 @@
|
||||
<el-radio-group v-model="form1.status">
|
||||
<el-radio label="enable">启用</el-radio>
|
||||
<el-radio label="disable">禁用</el-radio>
|
||||
<el-radio label="dsh">待审核</el-radio>
|
||||
<!-- <el-radio label="dsh">待审核</el-radio>-->
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -157,6 +157,9 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button style="width: 60px" size="mini"
|
||||
@click="patchwork(scope.row)"
|
||||
type="primary" plain round>补打</el-button>
|
||||
<el-button style="width: 60px" size="mini"
|
||||
v-if = "scope.row.status === 'paid'"
|
||||
@click="handleRefund(scope.row.id)"
|
||||
@ -302,7 +305,15 @@ export default {
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
// 补打
|
||||
patchwork(data){
|
||||
const orderNo = data.orderNo
|
||||
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
||||
// return delUser(row.id);
|
||||
}).then(() => {
|
||||
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
||||
}).catch(() => {});
|
||||
},
|
||||
// 退款
|
||||
async handleRefund(id){
|
||||
|
||||
|
@ -153,10 +153,13 @@
|
||||
<el-form-item label="来源终端">
|
||||
<span>{{ getVal(terminalList,props.row.terminal) }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="订单备注">
|
||||
<el-form-item label="用户评价">
|
||||
<span>{{ props.row.remark ? props.row.remark:"--" }}</span>
|
||||
<div style="color: grey;font-size: 12px">订单备注为系统后台操作备注信息,非用户提交信息</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="订单备注">-->
|
||||
<!-- <span>{{ props.row.remark ? props.row.remark:"--" }}</span>-->
|
||||
<!-- <div style="color: grey;font-size: 12px">订单备注为系统后台操作备注信息,非用户提交信息</div>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -193,7 +196,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column prop="invoicing" label="开票标识" align="center" > </el-table-column>
|
||||
<el-table-column prop="orderType" label="订单类型" align="center" > </el-table-column>
|
||||
|
||||
<el-table-column label="交易时间" align="center" width="160" prop="payTime">
|
||||
<template slot-scope="scope">
|
||||
@ -201,14 +204,14 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-button style="width: 60px" size="mini"
|
||||
@click="patchwork(scope.row)"
|
||||
type="primary" plain round>补打</el-button>
|
||||
<el-button style="width: 60px" size="mini"
|
||||
@click="handleRefund(scope.row.id)"
|
||||
v-if = "scope.row.status === 'paid'"
|
||||
v-if = "scope.row.orderStatus === 'paid'"
|
||||
type="danger" plain round>退款</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -256,6 +259,42 @@
|
||||
<el-button type="primary" @click="refundConfirmed()">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 支付成功后小票打印内容-->
|
||||
<div id="reportSuccess" ref="report" class="box-center" v-show="false">
|
||||
<div class="box-title">订单统计</div>
|
||||
<div class="box-ge">
|
||||
<div class="input-box">
|
||||
<div>{{ getName(oilNameList,oilOrder.oils) }}/{{ getName1(oilGunList,oilOrder.oilGunNum) }}</div>
|
||||
<div>¥{{ oilOrder.amount }}</div>
|
||||
</div>
|
||||
<div class="input-box">
|
||||
<div>支付方式</div>
|
||||
<div v-if="oilOrder.payType == 'CASH'">现金</div>
|
||||
<div v-else-if="oilOrder.payType == 'WECHAT'">微信</div>
|
||||
<div v-else-if="oilOrder.payType == 'ALIPAY'">支付宝</div>
|
||||
<div v-else-if="oilOrder.payType == 'UNIONPAY'">银联二维码</div>
|
||||
<div v-else>小程序码</div>
|
||||
</div>
|
||||
<div class="input-box">
|
||||
<div>合计</div>
|
||||
<div>¥{{ oilOrder.orderAmount }}</div>
|
||||
</div>
|
||||
<div class="input-box" v-if="oilOrder.discountAmount>0">
|
||||
<div>优惠合计</div>
|
||||
<div>¥{{ oilOrder.discountAmount }}</div>
|
||||
</div>
|
||||
<div class="input-box" v-if="oilOrder.orderStatus=='paid'">
|
||||
<div>储值卡或囤油卡付款</div>
|
||||
<div>¥{{ (oilOrder.orderAmount - oilOrder.discountAmount - oilOrder.payAmount).toFixed(2) }}</div>
|
||||
</div>
|
||||
<div class="input-box">
|
||||
<div>实付款</div>
|
||||
<div>¥{{ oilOrder.payAmount }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -326,6 +365,86 @@
|
||||
this.getUserList();
|
||||
},
|
||||
methods:{
|
||||
async printLocally() {
|
||||
//初始化打印函数
|
||||
let LODOP = getLodop(); // 初始化打印
|
||||
LODOP.PRINT_INIT();
|
||||
var bodyStyle = `<style>
|
||||
.input-box{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
margin: 5px 0px;
|
||||
}
|
||||
.box-ge{
|
||||
border-bottom: 1px solid #000000 ;
|
||||
box-sizing: border-box;
|
||||
padding: 10px;
|
||||
}
|
||||
.box-title{
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
align-items: center;
|
||||
margin-top: 15px;
|
||||
}
|
||||
.input-hui{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
margin: 15px 0px;
|
||||
background: #b2b2b2;
|
||||
box-sizing: border-box;
|
||||
padding: 5px 0px;
|
||||
}
|
||||
.input-hui-frou{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
margin: 15px 0px;
|
||||
background: #b2b2b2;
|
||||
box-sizing: border-box;
|
||||
padding: 5px 0px;
|
||||
div{
|
||||
width: 25%;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
.input-box-frou{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
margin: 5px 0px;
|
||||
div{
|
||||
width: 25%;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
.box-center{
|
||||
height: 500px;
|
||||
}
|
||||
</style>
|
||||
`
|
||||
var fromHtml = bodyStyle+this.$refs.report.innerHTML
|
||||
|
||||
|
||||
LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", fromHtml);
|
||||
|
||||
LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW",true);
|
||||
|
||||
// LODOP.ADD_PRINT_BARCODE(10,40,100,100,'QRCode','123456789');
|
||||
// let preview = LODOP.PREVIEW();
|
||||
// console.log("preview",preview);
|
||||
LODOP.PRINT();
|
||||
|
||||
},
|
||||
exportExcelOilOrder() {
|
||||
exportExcelOilOrderApi(this.addDateRange(this.queryParams, this.dateRange)).then(res=>{
|
||||
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
|
||||
|
@ -48,24 +48,24 @@
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="size-hui">订单总金额</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountOfTheOrder }}</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountOfTheOrder || 0 }}</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="size-hui">实付总金额</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountPaid }}</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountPaid || 0 }}</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="size-hui">油品优惠</div>
|
||||
<div class="size-bole">{{ orderStatistics.oilDiscounts }}</div>
|
||||
<div class="size-bole">{{ orderStatistics.oilDiscounts || 0 }}</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="size-hui">油品总金额</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountOfOil }}</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="size-hui">商品总金额</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountOfTheItem?orderStatistics.theTotalAmountOfTheItem:0 }}</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountOfOil || 0 }}</div>
|
||||
</div>
|
||||
<!-- <div class="box">-->
|
||||
<!-- <div class="size-hui">商品总金额</div>-->
|
||||
<!-- <div class="size-bole">{{ orderStatistics.theTotalAmountOfTheItem?orderStatistics.theTotalAmountOfTheItem:0 }}</div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
</div>
|
||||
</el-card>
|
||||
@ -90,6 +90,9 @@
|
||||
<el-form-item label="收银员">
|
||||
<span>{{ getMobile(staffList,props.row.staffId) }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户评价">
|
||||
<span>{{ props.row.remark ? props.row.remark:"--" }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -126,7 +129,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column prop="invoicing" label="开票标识" align="center" > </el-table-column>
|
||||
<!-- <el-table-column prop="invoicing" label="开票标识" align="center" > </el-table-column>-->
|
||||
|
||||
<el-table-column label="交易时间" align="center" width="160" prop="payTime">
|
||||
<template slot-scope="scope">
|
||||
|
@ -55,7 +55,7 @@
|
||||
:label="item.gunName"
|
||||
:value="item.id">
|
||||
<span style="float: left">{{ item.oilName }}</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.gunName }}号枪</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.gunName }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -144,7 +144,11 @@
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="terminal" label="终端" align="center" width="80"></el-table-column>
|
||||
<el-table-column prop="terminal" label="终端" align="center" width="80">
|
||||
<template slot-scope="props">
|
||||
<span>{{ getVal(terminalList,props.row.terminal) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="oils" label="油品/油枪" align="center">
|
||||
<template slot-scope="props">
|
||||
<span>{{ getName(oilNameList,props.row.oils) }}/{{ getName1(oilGunList,props.row.oilGunNum) }}</span>
|
||||
@ -166,10 +170,10 @@
|
||||
|
||||
<el-table-column prop="createTime" label="交易时间" align="center"></el-table-column>
|
||||
|
||||
<el-table-column prop="orderStatus" label="支付状态">
|
||||
<el-table-column prop="orderStatus" label="支付状态" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.orderStatus == 'unpaid'">未支付</el-tag>
|
||||
<el-tag type="info" v-else>支付失败</el-tag>
|
||||
<!-- <el-tag type="info" v-else>支付失败</el-tag>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@ -204,7 +208,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {listOilOrder,orderStatisticsApi} from "@/api/order/oilorder";
|
||||
import {getOilNumberGun, listOilOrder, orderStatisticsApi} from "@/api/order/oilorder";
|
||||
import {getDicts} from "@/api/order/data";
|
||||
import {getOilNameList, getOilNumGun} from "@/api/order/oilnumgun";
|
||||
import {queryStaffs} from "@/api/order/staff";
|
||||
@ -218,7 +222,7 @@
|
||||
queryParams: {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
orderStatus:"paid",
|
||||
orderStatus:"unpaid",
|
||||
},
|
||||
// 总条数
|
||||
total:0,
|
||||
@ -251,6 +255,7 @@
|
||||
cash:'0',
|
||||
},
|
||||
oilGunList:[],
|
||||
terminalList:[],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@ -267,6 +272,15 @@
|
||||
this.$download.saveAs(blob,'未支付订单统计.xLsx')
|
||||
})
|
||||
},
|
||||
getVal(list,val){
|
||||
let name = "";
|
||||
list.forEach(item => {
|
||||
if (item.dictValue == val){
|
||||
name = item.dictLabel
|
||||
}
|
||||
})
|
||||
return name;
|
||||
},
|
||||
// 获取油枪信息
|
||||
getOilGunList(){
|
||||
getOilNumberGun().then(res => {
|
||||
@ -362,6 +376,9 @@
|
||||
queryStaffs().then( response => {
|
||||
this.staffList = response.data;
|
||||
})
|
||||
getDicts("terminal").then( response => {
|
||||
this.terminalList = response.data;
|
||||
})
|
||||
},
|
||||
// 获取列表信息
|
||||
getList(val){
|
||||
|
@ -85,6 +85,9 @@ public class LJStore extends BaseEntity implements Serializable {
|
||||
@ApiModelProperty("门头照")
|
||||
private String doorstepPhoto;
|
||||
|
||||
@ApiModelProperty("是否删除")
|
||||
private String ifDelete;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<String> welfareList;
|
||||
|
||||
|
@ -117,18 +117,21 @@ public class LJStoreServiceImpl extends ServiceImpl<LJStoreMapper, LJStore> impl
|
||||
distance = min;
|
||||
}else {
|
||||
LJStore store = this.selectStoreByStoreId(Integer.valueOf(storeId));
|
||||
double dLat = Math.toRadians(Double.parseDouble(store.getLatitude()) - lat);
|
||||
double dLon = Math.toRadians(Double.parseDouble(store.getLongitude()) - lon);
|
||||
if (store.getStatus().equals("qy") && store.getIfDelete().equals("0")){
|
||||
double dLat = Math.toRadians(Double.parseDouble(store.getLatitude()) - lat);
|
||||
double dLon = Math.toRadians(Double.parseDouble(store.getLongitude()) - lon);
|
||||
|
||||
double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
|
||||
Math.cos(Math.toRadians(lat)) * Math.cos(Math.toRadians(Double.parseDouble(store.getLatitude()))) *
|
||||
Math.sin(dLon / 2) * Math.sin(dLon / 2);
|
||||
double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
|
||||
Math.cos(Math.toRadians(lat)) * Math.cos(Math.toRadians(Double.parseDouble(store.getLatitude()))) *
|
||||
Math.sin(dLon / 2) * Math.sin(dLon / 2);
|
||||
|
||||
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
||||
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
|
||||
|
||||
double min = earthRadius * c;
|
||||
distance = min;
|
||||
ljStore = store;
|
||||
}
|
||||
|
||||
double min = earthRadius * c;
|
||||
distance = min;
|
||||
ljStore = store;
|
||||
}
|
||||
|
||||
// 判断当前店铺是否存在此用户的会员信息,没有的话进行添加
|
||||
|
@ -781,9 +781,9 @@
|
||||
<div>优惠合计</div>
|
||||
<div>¥{{ oilDiscount + goodsDiscount + fullReduction + couponAmount }}</div>
|
||||
</div>
|
||||
<div class="input-box">
|
||||
<div class="input-box" v-if="isMember">
|
||||
<div>储值卡或囤油卡付款</div>
|
||||
<div>¥{{ oilAmount+(+goodsAmount) - (oilDiscount + goodsDiscount + fullReduction + couponAmount) }}</div>
|
||||
<div>¥{{ consumeAmount }}</div>
|
||||
</div>
|
||||
<div class="input-box">
|
||||
<div>实付款</div>
|
||||
@ -1197,6 +1197,9 @@
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
.box-center{
|
||||
height: 500px;
|
||||
}
|
||||
</style>
|
||||
`
|
||||
var fromHtml = bodyStyle+this.$refs.report.innerHTML
|
||||
|
@ -158,6 +158,9 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button style="width: 60px" size="mini"
|
||||
@click="patchwork(scope.row)"
|
||||
type="primary" plain round>补打</el-button>
|
||||
<el-button style="width: 60px" size="mini"
|
||||
v-if = "scope.row.status === 'paid'"
|
||||
@click="handleRefund(scope.row.id)"
|
||||
@ -304,7 +307,15 @@ export default {
|
||||
this.orderStatistics = res.data;
|
||||
})
|
||||
},
|
||||
|
||||
// 补打
|
||||
patchwork(data){
|
||||
const orderNo = data.orderNo
|
||||
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
||||
// return delUser(row.id);
|
||||
}).then(() => {
|
||||
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
||||
}).catch(() => {});
|
||||
},
|
||||
// 退款
|
||||
async handleRefund(id){
|
||||
|
||||
|
@ -154,10 +154,13 @@
|
||||
<el-form-item label="来源终端">
|
||||
<span>{{ getVal(terminalList,props.row.terminal) }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="订单备注">
|
||||
<el-form-item label="用户评价">
|
||||
<span>{{ props.row.remark ? props.row.remark:"--" }}</span>
|
||||
<div style="color: grey;font-size: 12px">订单备注为系统后台操作备注信息,非用户提交信息</div>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="订单备注">-->
|
||||
<!-- <span>{{ props.row.remark ? props.row.remark:"--" }}</span>-->
|
||||
<!-- <div style="color: grey;font-size: 12px">订单备注为系统后台操作备注信息,非用户提交信息</div>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -194,7 +197,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column prop="invoicing" label="开票标识" align="center" > </el-table-column>
|
||||
<el-table-column prop="orderType" label="订单类型" align="center" > </el-table-column>
|
||||
|
||||
<el-table-column label="交易时间" align="center" width="160" prop="payTime">
|
||||
<template slot-scope="scope">
|
||||
@ -202,14 +205,14 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-button style="width: 60px" size="mini"
|
||||
@click="patchwork(scope.row)"
|
||||
type="primary" plain round>补打</el-button>
|
||||
<el-button style="width: 60px" size="mini"
|
||||
@click="handleRefund(scope.row.id)"
|
||||
v-if = "scope.row.status === 'paid'"
|
||||
v-if = "scope.row.orderStatus === 'paid'"
|
||||
type="danger" plain round>退款</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -258,6 +261,42 @@
|
||||
<el-button type="primary" @click="refundConfirmed()">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 支付成功后小票打印内容-->
|
||||
<div id="reportSuccess" ref="report" class="box-center" v-show="false">
|
||||
<div class="box-title">订单统计</div>
|
||||
<div class="box-ge">
|
||||
<div class="input-box">
|
||||
<div>{{ getName(oilNameList,oilOrder.oils) }}/{{ getName1(oilGunList,oilOrder.oilGunNum) }}</div>
|
||||
<div>¥{{ oilOrder.amount }}</div>
|
||||
</div>
|
||||
<div class="input-box">
|
||||
<div>支付方式</div>
|
||||
<div v-if="oilOrder.payType == 'CASH'">现金</div>
|
||||
<div v-else-if="oilOrder.payType == 'WECHAT'">微信</div>
|
||||
<div v-else-if="oilOrder.payType == 'ALIPAY'">支付宝</div>
|
||||
<div v-else-if="oilOrder.payType == 'UNIONPAY'">银联二维码</div>
|
||||
<div v-else>小程序码</div>
|
||||
</div>
|
||||
<div class="input-box">
|
||||
<div>合计</div>
|
||||
<div>¥{{ oilOrder.orderAmount }}</div>
|
||||
</div>
|
||||
<div class="input-box" v-if="oilOrder.discountAmount>0">
|
||||
<div>优惠合计</div>
|
||||
<div>¥{{ oilOrder.discountAmount }}</div>
|
||||
</div>
|
||||
<div class="input-box" v-if="oilOrder.orderStatus=='paid'">
|
||||
<div>储值卡或囤油卡付款</div>
|
||||
<div>¥{{ (oilOrder.orderAmount - oilOrder.discountAmount - oilOrder.payAmount).toFixed(2) }}</div>
|
||||
</div>
|
||||
<div class="input-box">
|
||||
<div>实付款</div>
|
||||
<div>¥{{ oilOrder.payAmount }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -272,6 +311,7 @@
|
||||
import {cashierOrder} from "@/api/cashier/cashierorder";
|
||||
import {getOrderInfoApi, refundApi} from "@/api/cashier/refund";
|
||||
import {exportExcelOilOrderApi} from "@/api/order/exportExcel";
|
||||
import {getLodop} from "@/api/LodopFuncs";
|
||||
|
||||
export default {
|
||||
name: "order_Cashier",
|
||||
@ -333,6 +373,86 @@
|
||||
this.getUserList();
|
||||
},
|
||||
methods:{
|
||||
async printLocally() {
|
||||
//初始化打印函数
|
||||
let LODOP = getLodop(); // 初始化打印
|
||||
LODOP.PRINT_INIT();
|
||||
var bodyStyle = `<style>
|
||||
.input-box{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
margin: 5px 0px;
|
||||
}
|
||||
.box-ge{
|
||||
border-bottom: 1px solid #000000 ;
|
||||
box-sizing: border-box;
|
||||
padding: 10px;
|
||||
}
|
||||
.box-title{
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
align-items: center;
|
||||
margin-top: 15px;
|
||||
}
|
||||
.input-hui{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
margin: 15px 0px;
|
||||
background: #b2b2b2;
|
||||
box-sizing: border-box;
|
||||
padding: 5px 0px;
|
||||
}
|
||||
.input-hui-frou{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
margin: 15px 0px;
|
||||
background: #b2b2b2;
|
||||
box-sizing: border-box;
|
||||
padding: 5px 0px;
|
||||
div{
|
||||
width: 25%;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
.input-box-frou{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
margin: 5px 0px;
|
||||
div{
|
||||
width: 25%;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
.box-center{
|
||||
height: 500px;
|
||||
}
|
||||
</style>
|
||||
`
|
||||
var fromHtml = bodyStyle+this.$refs.report.innerHTML
|
||||
|
||||
|
||||
LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", fromHtml);
|
||||
|
||||
LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW",true);
|
||||
|
||||
// LODOP.ADD_PRINT_BARCODE(10,40,100,100,'QRCode','123456789');
|
||||
// let preview = LODOP.PREVIEW();
|
||||
// console.log("preview",preview);
|
||||
LODOP.PRINT();
|
||||
|
||||
},
|
||||
exportExcelOilOrder() {
|
||||
exportExcelOilOrderApi(this.addDateRange(this.queryParams, this.dateRange)).then(res=>{
|
||||
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
|
||||
|
@ -48,24 +48,24 @@
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="size-hui">订单总金额</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountOfTheOrder }}</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountOfTheOrder || 0 }}</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="size-hui">实付总金额</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountPaid }}</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountPaid || 0 }}</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="size-hui">油品优惠</div>
|
||||
<div class="size-bole">{{ orderStatistics.oilDiscounts }}</div>
|
||||
<div class="size-bole">{{ orderStatistics.oilDiscounts || 0 }}</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="size-hui">油品总金额</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountOfOil }}</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="size-hui">商品总金额</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountOfTheItem?orderStatistics.theTotalAmountOfTheItem:0 }}</div>
|
||||
<div class="size-bole">{{ orderStatistics.theTotalAmountOfOil || 0 }}</div>
|
||||
</div>
|
||||
<!-- <div class="box">-->
|
||||
<!-- <div class="size-hui">商品总金额</div>-->
|
||||
<!-- <div class="size-bole">{{ orderStatistics.theTotalAmountOfTheItem?orderStatistics.theTotalAmountOfTheItem:0 }}</div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
</div>
|
||||
</el-card>
|
||||
@ -90,6 +90,9 @@
|
||||
<el-form-item label="收银员">
|
||||
<span>{{ getMobile(staffList,props.row.staffId) }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户评价">
|
||||
<span>{{ props.row.remark ? props.row.remark:"--" }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -126,7 +129,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column prop="invoicing" label="开票标识" align="center" > </el-table-column>
|
||||
<!-- <el-table-column prop="invoicing" label="开票标识" align="center" > </el-table-column>-->
|
||||
|
||||
<el-table-column label="交易时间" align="center" width="160" prop="payTime">
|
||||
<template slot-scope="scope">
|
||||
|
@ -55,7 +55,7 @@
|
||||
:label="item.gunName"
|
||||
:value="item.id">
|
||||
<span style="float: left">{{ item.oilName }}</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.gunName }}号枪</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.gunName }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -170,7 +170,7 @@
|
||||
|
||||
<el-table-column prop="createTime" label="交易时间" align="center"></el-table-column>
|
||||
|
||||
<el-table-column prop="orderStatus" label="支付状态">
|
||||
<el-table-column prop="orderStatus" label="支付状态" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.orderStatus == 'unpaid'">未支付</el-tag>
|
||||
<!-- <el-tag type="info" v-else>支付失败</el-tag>-->
|
||||
|
@ -484,33 +484,41 @@
|
||||
|
||||
},
|
||||
}).then((response) => {
|
||||
_this.distance = (Math.ceil(response.data.distance))
|
||||
.toFixed(1)
|
||||
_this.store = response.data.store
|
||||
uni.setStorageSync("storeId", response.data.store.id)
|
||||
uni.setStorageSync("chainStoreId", response.data.store.chainStoreId)
|
||||
// console.log(uni.getStorageSync("chainStoreId"));
|
||||
let welfare = response.data.store.welfare
|
||||
if (welfare) {
|
||||
if (welfare.includes(",")) {
|
||||
_this.welfare = response.data.store.welfare
|
||||
.split(",")
|
||||
} else {
|
||||
_this.welfare.push(response.data.store.welfare)
|
||||
if (response.data.store){
|
||||
_this.distance = (Math.ceil(response.data.distance))
|
||||
.toFixed(1)
|
||||
_this.store = response.data.store
|
||||
uni.setStorageSync("storeId", response.data.store.id)
|
||||
uni.setStorageSync("chainStoreId", response.data.store.chainStoreId)
|
||||
// console.log(uni.getStorageSync("chainStoreId"));
|
||||
let welfare = response.data.store.welfare
|
||||
if (welfare) {
|
||||
if (welfare.includes(",")) {
|
||||
_this.welfare = response.data.store.welfare
|
||||
.split(",")
|
||||
} else {
|
||||
_this.welfare.push(response.data.store.welfare)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (response.data.store.doorstepPhoto) {
|
||||
let list = JSON.parse(response.data.store.doorstepPhoto)
|
||||
_this.list3 = [];
|
||||
list.forEach(item => {
|
||||
_this.list3.push(_this.baseUrl + item)
|
||||
if (response.data.store.doorstepPhoto) {
|
||||
let list = JSON.parse(response.data.store.doorstepPhoto)
|
||||
_this.list3 = [];
|
||||
list.forEach(item => {
|
||||
_this.list3.push(_this.baseUrl + item)
|
||||
})
|
||||
}
|
||||
|
||||
_this.lon = _this.store.longitude,
|
||||
_this.lat = _this.store.latitude,
|
||||
|
||||
_this.getIndexBanner()
|
||||
}else{
|
||||
uni.showToast({
|
||||
title:"当前店铺已关闭!!!",
|
||||
icon:"none"
|
||||
})
|
||||
}
|
||||
|
||||
_this.lon = _this.store.longitude,
|
||||
_this.lat = _this.store.latitude,
|
||||
|
||||
_this.getIndexBanner()
|
||||
|
||||
})
|
||||
|
||||
// uni.showToast({
|
||||
|
@ -44,9 +44,9 @@
|
||||
<view class="hui-size">实付金额</view>
|
||||
<view class="">{{oilOrder.payAmount}}元</view>
|
||||
</view>
|
||||
<view class="dis-fx">
|
||||
<view class="dis-fx" v-if="oilOrder.orderStatus=='paid'">
|
||||
<view class="hui-size">储值卡或囤油卡消费金额</view>
|
||||
<view class="">{{oilOrder.orderAmount - oilOrder.discountAmount - oilOrder.payAmount}}元</view>
|
||||
<view class="">{{(oilOrder.orderAmount - oilOrder.discountAmount - oilOrder.payAmount).toFixed(2)}}元</view>
|
||||
</view>
|
||||
<!-- <view class="box-title">优惠信息</view> -->
|
||||
<view class="dis-fx" v-if="oilOrder.discountAmount>0">
|
||||
|
@ -21,6 +21,8 @@
|
||||
<view class="hui-anniu">全部 <u-icon name="arrow-down-fill" size="18"></u-icon> </view>
|
||||
</view> -->
|
||||
<view class="fuji">
|
||||
<scroll-view scroll-y="true" :scroll-top="scrollTop" id="scrollList" style="height: 78vh;"
|
||||
@scrolltolower="scrolltolower">
|
||||
|
||||
<view class="mx-box" v-for="(item,index) in list" :key="index">
|
||||
<view class="m-b-box">
|
||||
@ -60,6 +62,10 @@
|
||||
</view> -->
|
||||
</view>
|
||||
|
||||
<u-empty v-if="list.length == 0" mode="coupon" text="内容为空"
|
||||
icon="http://cdn.uviewui.com/uview/empty/coupon.png">
|
||||
</u-empty>
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
|
||||
@ -81,13 +87,14 @@
|
||||
chainStoreId: '',
|
||||
recordName: '储值卡',
|
||||
pageNo: 1,
|
||||
pageSize: 10
|
||||
pageSize:5
|
||||
},
|
||||
cardBalance: 0.00,
|
||||
title: '',
|
||||
// 店铺列表信息
|
||||
storeList: [],
|
||||
|
||||
status: 'more', // 状态-正在加载中
|
||||
scrollTop: 0,
|
||||
}
|
||||
},
|
||||
|
||||
@ -103,6 +110,15 @@
|
||||
this.getStores();
|
||||
},
|
||||
methods: {
|
||||
// 滚动区域
|
||||
scrolltolower() {
|
||||
if (this.orderList.length < this.total) {
|
||||
this.query.page++;
|
||||
this.getAllOrderList()
|
||||
} else {
|
||||
this.status = "no-more"
|
||||
}
|
||||
},
|
||||
// 查询店铺列表信息
|
||||
getStores() {
|
||||
let _this = this;
|
||||
|
@ -284,12 +284,12 @@
|
||||
} else {
|
||||
this.status = "no-more"
|
||||
}
|
||||
if (this.balanceList.length < this.total1) {
|
||||
this.map1.page++;
|
||||
this.getBalanceOrder()
|
||||
} else {
|
||||
this.status = "no-more"
|
||||
}
|
||||
// if (this.balanceList.length < this.total1) {
|
||||
// this.map1.page++;
|
||||
// this.getBalanceOrder()
|
||||
// } else {
|
||||
// this.status = "no-more"
|
||||
// }
|
||||
},
|
||||
// 查询我的油品订单信息
|
||||
getMyOrder() {
|
||||
|
Loading…
Reference in New Issue
Block a user