bug
This commit is contained in:
parent
c4cad9159b
commit
0e40832516
@ -126,14 +126,14 @@
|
|||||||
<span>{{ scope.row.payTime ? parseTime(scope.row.payTime):"--" }}</span>
|
<span>{{ scope.row.payTime ? parseTime(scope.row.payTime):"--" }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button style="width: 60px" size="mini"
|
<el-button style="width: 60px" size="mini"
|
||||||
@click="getOrdersInfo(scope.row.id)"
|
@click="getOrdersInfo(scope.row.id)"
|
||||||
type="success" plain round>详情</el-button>
|
type="success" plain round>详情</el-button>
|
||||||
<el-button style="width: 60px" size="mini"
|
<!-- <el-button style="width: 60px" size="mini"-->
|
||||||
@click="patchwork(scope.row)"
|
<!-- @click="patchwork(scope.row)"-->
|
||||||
type="primary" plain round>补打</el-button>
|
<!-- type="primary" plain round>补打</el-button>-->
|
||||||
<el-button style="width: 60px" size="mini"
|
<el-button style="width: 60px" size="mini"
|
||||||
v-if = "scope.row.status === 'paid'"
|
v-if = "scope.row.status === 'paid'"
|
||||||
@click="handleRefund(scope.row.id)"
|
@click="handleRefund(scope.row.id)"
|
||||||
|
@ -157,9 +157,9 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button style="width: 60px" size="mini"
|
<!-- <el-button style="width: 60px" size="mini"-->
|
||||||
@click="patchwork(scope.row)"
|
<!-- @click="patchwork(scope.row)"-->
|
||||||
type="primary" plain round>补打</el-button>
|
<!-- type="primary" plain round>补打</el-button>-->
|
||||||
<el-button style="width: 60px" size="mini"
|
<el-button style="width: 60px" size="mini"
|
||||||
v-if = "scope.row.status === 'paid'"
|
v-if = "scope.row.status === 'paid'"
|
||||||
@click="handleRefund(scope.row.id)"
|
@click="handleRefund(scope.row.id)"
|
||||||
|
@ -206,9 +206,9 @@
|
|||||||
|
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button style="width: 60px" size="mini"
|
<!-- <el-button style="width: 60px" size="mini"-->
|
||||||
@click="patchwork(scope.row)"
|
<!-- @click="patchwork(scope.row)"-->
|
||||||
type="primary" plain round>补打</el-button>
|
<!-- type="primary" plain round>补打</el-button>-->
|
||||||
<el-button style="width: 60px" size="mini"
|
<el-button style="width: 60px" size="mini"
|
||||||
@click="handleRefund(scope.row.id)"
|
@click="handleRefund(scope.row.id)"
|
||||||
v-if = "scope.row.orderStatus === 'paid'"
|
v-if = "scope.row.orderStatus === 'paid'"
|
||||||
@ -266,7 +266,7 @@
|
|||||||
<div class="box-ge">
|
<div class="box-ge">
|
||||||
<div class="input-box">
|
<div class="input-box">
|
||||||
<div>{{ getName(oilNameList,oilOrder.oils) }}/{{ getName1(oilGunList,oilOrder.oilGunNum) }}</div>
|
<div>{{ getName(oilNameList,oilOrder.oils) }}/{{ getName1(oilGunList,oilOrder.oilGunNum) }}</div>
|
||||||
<div>¥{{ oilOrder.amount }}</div>
|
<div>¥{{ oilOrder.orderAmount }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-box">
|
<div class="input-box">
|
||||||
<div>支付方式</div>
|
<div>支付方式</div>
|
||||||
@ -284,7 +284,7 @@
|
|||||||
<div>优惠合计</div>
|
<div>优惠合计</div>
|
||||||
<div>¥{{ oilOrder.discountAmount }}</div>
|
<div>¥{{ oilOrder.discountAmount }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-box" v-if="oilOrder.orderStatus=='paid'">
|
<div class="input-box" v-if="oilOrder.userId && oilOrder.orderStatus=='paid' &&(oilOrder.orderAmount - oilOrder.discountAmount - oilOrder.payAmount)>0">
|
||||||
<div>储值卡或囤油卡付款</div>
|
<div>储值卡或囤油卡付款</div>
|
||||||
<div>¥{{ (oilOrder.orderAmount - oilOrder.discountAmount - oilOrder.payAmount).toFixed(2) }}</div>
|
<div>¥{{ (oilOrder.orderAmount - oilOrder.discountAmount - oilOrder.payAmount).toFixed(2) }}</div>
|
||||||
</div>
|
</div>
|
||||||
@ -489,7 +489,12 @@
|
|||||||
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
||||||
// return delUser(row.id);
|
// return delUser(row.id);
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
oilOrderInfo(data.id).then( response => {
|
||||||
|
this.oilOrder = response.data
|
||||||
|
this.printLocally()
|
||||||
|
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
||||||
|
})
|
||||||
|
// this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
},
|
},
|
||||||
// 退款
|
// 退款
|
||||||
|
@ -141,9 +141,9 @@
|
|||||||
<!-- <el-button style="width: 60px" size="mini"-->
|
<!-- <el-button style="width: 60px" size="mini"-->
|
||||||
<!-- @click="getOrdersInfo(scope.row.id)"-->
|
<!-- @click="getOrdersInfo(scope.row.id)"-->
|
||||||
<!-- type="success" plain round>详情</el-button>-->
|
<!-- type="success" plain round>详情</el-button>-->
|
||||||
<el-button style="width: 60px" size="mini"
|
<!-- <el-button style="width: 60px" size="mini"-->
|
||||||
@click="patchwork(scope.row)"
|
<!-- @click="patchwork(scope.row)"-->
|
||||||
type="primary" plain round>补打</el-button>
|
<!-- type="primary" plain round>补打</el-button>-->
|
||||||
<el-button style="width: 60px" size="mini"
|
<el-button style="width: 60px" size="mini"
|
||||||
v-if = "scope.row.orderStatus === 'paid'"
|
v-if = "scope.row.orderStatus === 'paid'"
|
||||||
@click="handleRefund(scope.row.id)"
|
@click="handleRefund(scope.row.id)"
|
||||||
|
@ -155,22 +155,22 @@
|
|||||||
<span>{{ scope.row.remark ? scope.row.remark:"--" }}</span>
|
<span>{{ scope.row.remark ? scope.row.remark:"--" }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="fringeBenefit" label="附加福利">
|
<!-- <el-table-column prop="fringeBenefit" label="附加福利">-->
|
||||||
<template slot-scope="scope">
|
<!-- <template slot-scope="scope">-->
|
||||||
<span>{{ scope.row.fringeBenefit ? scope.row.fringeBenefit:"--" }}</span>
|
<!-- <span>{{ scope.row.fringeBenefit ? scope.row.fringeBenefit:"--" }}</span>-->
|
||||||
</template>
|
<!-- </template>-->
|
||||||
</el-table-column>
|
<!-- </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">-->
|
||||||
<template slot-scope="scope">
|
<!-- <template slot-scope="scope">-->
|
||||||
<!-- <el-button size="mini" type="text" icon="el-icon-edit">更多操作</el-button>-->
|
<!-- <!– <el-button size="mini" type="text" icon="el-icon-edit">更多操作</el-button>–>-->
|
||||||
<el-button style="width: 60px" size="mini"
|
<!-- <el-button style="width: 60px" size="mini"-->
|
||||||
@click="patchwork(scope.row)"
|
<!-- @click="patchwork(scope.row)"-->
|
||||||
type="primary" plain round>补打</el-button>
|
<!-- type="primary" plain round>补打</el-button>-->
|
||||||
<!-- <el-button style="width: 60px" size="mini"-->
|
<!-- <el-button style="width: 60px" size="mini"-->
|
||||||
<!-- @click="handleRefund(scope.row.id)"-->
|
<!-- @click="handleRefund(scope.row.id)"-->
|
||||||
<!-- type="danger" plain round>退款</el-button>-->
|
<!-- type="danger" plain round>退款</el-button>-->
|
||||||
</template>
|
<!-- </template>-->
|
||||||
</el-table-column>
|
<!-- </el-table-column>-->
|
||||||
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
@ -217,7 +217,33 @@
|
|||||||
<el-button type="primary" @click="refundConfirmed()">确 定</el-button>
|
<el-button type="primary" @click="refundConfirmed()">确 定</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
|
||||||
|
<!-- 支付成功后小票打印内容-->
|
||||||
|
<div id="reportSuccess" ref="report" class="box-center" v-show="false">
|
||||||
|
<div class="box-title">订单统计</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>支付方式</div>
|
||||||
|
<div v-if="oilOrder.paymentType == 'CASH'">现金</div>
|
||||||
|
<div v-else-if="oilOrder.paymentType == 'WECHAT'">微信</div>
|
||||||
|
<div v-else-if="oilOrder.paymentType == 'ALIPAY'">支付宝</div>
|
||||||
|
<div v-else-if="oilOrder.paymentType == 'UNIONPAY'">银联二维码</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>储值卡面值</div>
|
||||||
|
<div>¥{{ oilOrder.bidBalance }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>赠送金额</div>
|
||||||
|
<div>¥{{ oilOrder.giftBalance }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>实付金额</div>
|
||||||
|
<div>¥{{ oilOrder.rechargeBalance }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -460,8 +460,7 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService {
|
|||||||
List<ActiveDiscountPayVO> activeFuletVOLists = oilOrderMapper.selectActiveFules(storeId,paymentActiveDTO.getAmount(),paymentActiveDTO.getOilId(),paymentActiveDTO.getMtUserLevel());
|
List<ActiveDiscountPayVO> activeFuletVOLists = oilOrderMapper.selectActiveFules(storeId,paymentActiveDTO.getAmount(),paymentActiveDTO.getOilId(),paymentActiveDTO.getMtUserLevel());
|
||||||
activeFuletVOList.addAll(activeFuletVOLists);
|
activeFuletVOList.addAll(activeFuletVOLists);
|
||||||
//优惠券
|
//优惠券
|
||||||
//paymentActiveDTO.setUserId(userId);
|
paymentActiveDTO.setUserId(userId);
|
||||||
paymentActiveDTO.setUserId(117);
|
|
||||||
if (ObjectUtils.isNotEmpty(paymentActiveDTO.getUserId())){
|
if (ObjectUtils.isNotEmpty(paymentActiveDTO.getUserId())){
|
||||||
userId = paymentActiveDTO.getUserId();
|
userId = paymentActiveDTO.getUserId();
|
||||||
}
|
}
|
||||||
@ -837,16 +836,19 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService {
|
|||||||
//消费有礼
|
//消费有礼
|
||||||
List<ActiveConsumptionVO> activeConsumptionVOS = oilOrderMapper.selectActiveConsumption(paymentActiveDTO.getStoreId(), paymentActiveDTO.getAmount());
|
List<ActiveConsumptionVO> activeConsumptionVOS = oilOrderMapper.selectActiveConsumption(paymentActiveDTO.getStoreId(), paymentActiveDTO.getAmount());
|
||||||
//连锁店信息
|
//连锁店信息
|
||||||
LJUser ljUserVo = userService.queryUserByUserId(TokenUtil.getNowAccountInfo().getId());
|
if (paymentActiveDTO.getUserId()==null){
|
||||||
|
paymentActiveDTO.setUserId(TokenUtil.getNowAccountInfo().getId());
|
||||||
|
}
|
||||||
|
LJUser ljUserVo = userService.queryUserByUserId(paymentActiveDTO.getUserId());
|
||||||
Integer storeId1 = paymentActiveDTO.getStoreId();
|
Integer storeId1 = paymentActiveDTO.getStoreId();
|
||||||
Integer chainStoreId = iljStoreService.selectStoreByStoreId(storeId1).getChainStoreId();
|
Integer chainStoreId = iljStoreService.selectStoreByStoreId(storeId1).getChainStoreId();
|
||||||
//用户余额
|
//用户余额
|
||||||
UserBalance userBalance = userBalanceService.selectUserBalance(TokenUtil.getNowAccountInfo().getId(),chainStoreId);
|
UserBalance userBalance = userBalanceService.selectUserBalance(paymentActiveDTO.getUserId(),chainStoreId);
|
||||||
UserBalance userBalance1 = new UserBalance();
|
UserBalance userBalance1 = new UserBalance();
|
||||||
if (CollectionUtils.isNotEmpty(activeConsumptionVOS)){
|
if (CollectionUtils.isNotEmpty(activeConsumptionVOS)){
|
||||||
for (ActiveConsumptionVO activeConsumptionVO : activeConsumptionVOS) {
|
for (ActiveConsumptionVO activeConsumptionVO : activeConsumptionVOS) {
|
||||||
if (activeConsumptionVO.getAdaptUserType().equals("2") && activeConsumptionVO.getOilId().contains(paymentActiveDTO.getOilId().toString()) &&
|
if (activeConsumptionVO.getAdaptUserType().equals("2") && activeConsumptionVO.getOilId().contains(paymentActiveDTO.getOilId().toString()) &&
|
||||||
activeConsumptionVO.getAdaptUser().contains(paymentActiveDTO.getMtUserLevel().toString()) || activeConsumptionVO.getAdaptUserType().equals("0") && activeConsumptionVO.getOilId().contains(paymentActiveDTO.getOilId().toString())
|
StringUtils.isNotEmpty(activeConsumptionVO.getAdaptUser()) && activeConsumptionVO.getAdaptUser().contains(paymentActiveDTO.getMtUserLevel().toString()) || activeConsumptionVO.getAdaptUserType().equals("0") && activeConsumptionVO.getOilId().contains(paymentActiveDTO.getOilId().toString())
|
||||||
|| activeConsumptionVO.getAdaptUserType().equals("1") && activeConsumptionVO.getOilId().contains(paymentActiveDTO.getOilId().toString()) && StringUtils.isNotEmpty(paymentActiveDTO.getMtUserLevel().toString())){
|
|| activeConsumptionVO.getAdaptUserType().equals("1") && activeConsumptionVO.getOilId().contains(paymentActiveDTO.getOilId().toString()) && StringUtils.isNotEmpty(paymentActiveDTO.getMtUserLevel().toString())){
|
||||||
//如果满足条件/给当前用户加积分
|
//如果满足条件/给当前用户加积分
|
||||||
//用户 (新用户新建 老用户叠加)
|
//用户 (新用户新建 老用户叠加)
|
||||||
@ -857,7 +859,7 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService {
|
|||||||
}
|
}
|
||||||
userBalanceService.updateUserBalance(userBalance);
|
userBalanceService.updateUserBalance(userBalance);
|
||||||
}else {
|
}else {
|
||||||
userBalance1.setMtUserId(TokenUtil.getNowAccountInfo().getId());
|
userBalance1.setMtUserId(paymentActiveDTO.getUserId());
|
||||||
userBalance1.setChainStoreId(chainStoreId);
|
userBalance1.setChainStoreId(chainStoreId);
|
||||||
//积分
|
//积分
|
||||||
if (ObjectUtils.isNotEmpty(activeConsumptionVO.getPoints())){
|
if (ObjectUtils.isNotEmpty(activeConsumptionVO.getPoints())){
|
||||||
@ -876,7 +878,7 @@ public class ActiveExchangeServiceImpl implements ActiveExchangeService {
|
|||||||
CardFavorableRecord cardFavorableRecord = new CardFavorableRecord();
|
CardFavorableRecord cardFavorableRecord = new CardFavorableRecord();
|
||||||
cardFavorableRecord.setCardFavorableId(activeConsumptionChild.getVouchersId());
|
cardFavorableRecord.setCardFavorableId(activeConsumptionChild.getVouchersId());
|
||||||
cardFavorableRecord.setStoreId(storeId1);
|
cardFavorableRecord.setStoreId(storeId1);
|
||||||
cardFavorableRecord.setMtUserId(TokenUtil.getNowAccountInfo().getId());
|
cardFavorableRecord.setMtUserId(paymentActiveDTO.getUserId());
|
||||||
cardFavorableRecord.setName(ljUserVo.getName());
|
cardFavorableRecord.setName(ljUserVo.getName());
|
||||||
cardFavorableRecord.setMobile(ljUserVo.getMobile());
|
cardFavorableRecord.setMobile(ljUserVo.getMobile());
|
||||||
cardFavorableRecord.setStatus("0");
|
cardFavorableRecord.setStatus("0");
|
||||||
|
@ -44,6 +44,10 @@ public class OilOrder extends BaseEntity implements Serializable {
|
|||||||
* 优惠券id
|
* 优惠券id
|
||||||
*/
|
*/
|
||||||
private Integer couponId;
|
private Integer couponId;
|
||||||
|
/**
|
||||||
|
* 活动id
|
||||||
|
*/
|
||||||
|
private Integer activeId;
|
||||||
/**
|
/**
|
||||||
* 提成金额
|
* 提成金额
|
||||||
*/
|
*/
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.fuint.business.order.mapper.OrderGoodsMapper">
|
<mapper namespace="com.fuint.business.order.mapper.OrderGoodsMapper">
|
||||||
<sql id="selectOrderGoods">
|
<sql id="selectOrderGoods">
|
||||||
select mog.id,mog.order_id,mog.goods_id as goods_id,mg.id as goodsId,mg.name,mg.retail_price,mg.member_price,mog.num
|
select mog.id,mog.order_id,mog.goods_id as goods_id,mg.id as goodsId,mg.name,mg.retail_price,mg.member_price,mog.num,mg.unit
|
||||||
from mt_order_goods mog inner join mt_goods mg on mog.goods_id = mg.id
|
from mt_order_goods mog inner join mt_goods mg on mog.goods_id = mg.id
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
@ -80,6 +80,18 @@ public interface OilOrderService extends IService<OilOrder> {
|
|||||||
*/
|
*/
|
||||||
public Map<String,Object> insertOilOrder(Map<String ,String> map);
|
public Map<String,Object> insertOilOrder(Map<String ,String> map);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 消费有礼调用接口
|
||||||
|
* @param storeId 店铺id
|
||||||
|
* @param userId 用户id
|
||||||
|
* @param activeId 活动id
|
||||||
|
* @param cardFavorableId 优惠券id
|
||||||
|
* @param type 活动类型
|
||||||
|
* @param orderAmount 订单金额
|
||||||
|
* @param oilId 油品id
|
||||||
|
*/
|
||||||
|
void updateCardAndActiveById(Integer storeId,Integer userId,Integer activeId,Integer cardFavorableId,String type,Double orderAmount,Integer oilId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 扫描小程序中二维码所处理的逻辑
|
* 扫描小程序中二维码所处理的逻辑
|
||||||
* @param map
|
* @param map
|
||||||
|
@ -18,6 +18,8 @@ import com.fuint.business.convenienceSore.entity.LJGoods;
|
|||||||
import com.fuint.business.convenienceSore.entity.SaleDetail;
|
import com.fuint.business.convenienceSore.entity.SaleDetail;
|
||||||
import com.fuint.business.convenienceSore.service.LJGoodsService;
|
import com.fuint.business.convenienceSore.service.LJGoodsService;
|
||||||
import com.fuint.business.convenienceSore.service.SaleDetailService;
|
import com.fuint.business.convenienceSore.service.SaleDetailService;
|
||||||
|
import com.fuint.business.marketingActivity.activeExchange.vo.PaymentActiveVO;
|
||||||
|
import com.fuint.business.marketingActivity.cardFavorable.service.CardFavorableRecordService;
|
||||||
import com.fuint.business.marketingActivity.cardFule.entity.CardFuelRecord;
|
import com.fuint.business.marketingActivity.cardFule.entity.CardFuelRecord;
|
||||||
import com.fuint.business.marketingActivity.cardFule.mapper.CardFuelRecordMapper;
|
import com.fuint.business.marketingActivity.cardFule.mapper.CardFuelRecordMapper;
|
||||||
import com.fuint.business.marketingActivity.cardValue.entity.CardValueRecord;
|
import com.fuint.business.marketingActivity.cardValue.entity.CardValueRecord;
|
||||||
@ -102,6 +104,8 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
|||||||
private ChainStoreConfigService chainStoreConfigService;
|
private ChainStoreConfigService chainStoreConfigService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SaleDetailService saleDetailService;
|
private SaleDetailService saleDetailService;
|
||||||
|
@Autowired
|
||||||
|
private CardFavorableRecordService cardFavorableRecordService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<OilOrder> selectOilOrderList(Page page, OilOrder order) {
|
public IPage<OilOrder> selectOilOrderList(Page page, OilOrder order) {
|
||||||
@ -368,9 +372,12 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
|||||||
order.setInvoicing("未开票");
|
order.setInvoicing("未开票");
|
||||||
order.setOrderStatus(payStatus);
|
order.setOrderStatus(payStatus);
|
||||||
order.setTankId(Integer.valueOf(jsonObjects.get(0).get("tankId").toString()));
|
order.setTankId(Integer.valueOf(jsonObjects.get(0).get("tankId").toString()));
|
||||||
|
order.setActiveId(Integer.valueOf(jsonObjects.get(i).get("activeId").toString()));
|
||||||
|
order.setCouponId(Integer.valueOf(jsonObjects.get(i).get("cardFavorableId").toString()));
|
||||||
if (payType.equals("CASH")){
|
if (payType.equals("CASH")){
|
||||||
order.setPayTime(new Date());
|
order.setPayTime(new Date());
|
||||||
this.addOilTrack(jsonObjects.get(i),storeId);
|
this.addOilTrack(jsonObjects.get(i),storeId);
|
||||||
|
this.updateCardAndActiveById(storeId,userId,order.getActiveId(),order.getCouponId(),jsonObjects.get(i).get("type").toString(),order.getOrderAmount(), Integer.valueOf(order.getOils()));
|
||||||
}
|
}
|
||||||
if (map.get("allAmount").equals("0")){
|
if (map.get("allAmount").equals("0")){
|
||||||
order.setPayTime(new Date());
|
order.setPayTime(new Date());
|
||||||
@ -460,6 +467,24 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
|||||||
return orders;
|
return orders;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 调用消费有礼接口
|
||||||
|
public void updateCardAndActiveById(Integer storeId,Integer userId,Integer activeId,Integer cardFavorableId,String type,Double orderAmount,Integer oilId){
|
||||||
|
if (userId!=null){
|
||||||
|
LJUserVo userVo = userService.selectUserById(userId, storeId);
|
||||||
|
PaymentActiveVO paymentActiveVO = new PaymentActiveVO();
|
||||||
|
paymentActiveVO.setUserId(userId);
|
||||||
|
paymentActiveVO.setMtUserLevel(userVo.getGradeId());
|
||||||
|
paymentActiveVO.setStoreId(storeId);
|
||||||
|
paymentActiveVO.setActiveId(activeId);
|
||||||
|
paymentActiveVO.setCardFavorableId(cardFavorableId);
|
||||||
|
paymentActiveVO.setType(type);
|
||||||
|
paymentActiveVO.setOrderAmount(BigDecimal.valueOf(orderAmount));
|
||||||
|
paymentActiveVO.setOilId(oilId);
|
||||||
|
cardFavorableRecordService.updateCardAndActiveById(paymentActiveVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String,String> scanAppletQrCode(Map<String, String> map) {
|
public Map<String,String> scanAppletQrCode(Map<String, String> map) {
|
||||||
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
AccountInfo nowAccountInfo = TokenUtil.getNowAccountInfo();
|
||||||
@ -957,6 +982,10 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
|||||||
String isOilStorageCard = map.get("isOilStorageCard");
|
String isOilStorageCard = map.get("isOilStorageCard");
|
||||||
// 储值卡消费金额
|
// 储值卡消费金额
|
||||||
String balanceAmount = map.get("balanceAmount");
|
String balanceAmount = map.get("balanceAmount");
|
||||||
|
// 活动id
|
||||||
|
String activeId = map.get("activeId");
|
||||||
|
// 优惠券id
|
||||||
|
String cardFavorableId = map.get("cardFavorableId");
|
||||||
Integer tankId = Integer.valueOf(map.get("tankId"));
|
Integer tankId = Integer.valueOf(map.get("tankId"));
|
||||||
|
|
||||||
Map<String, Object> applet = new HashMap<>();
|
Map<String, Object> applet = new HashMap<>();
|
||||||
@ -1091,6 +1120,8 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
|
|||||||
// 修改订单的优惠金额和支付金额
|
// 修改订单的优惠金额和支付金额
|
||||||
oilOrder.setDiscountAmount(Double.valueOf(discountAmount));
|
oilOrder.setDiscountAmount(Double.valueOf(discountAmount));
|
||||||
oilOrder.setPayAmount(payAmount);
|
oilOrder.setPayAmount(payAmount);
|
||||||
|
oilOrder.setActiveId(Integer.valueOf(activeId));
|
||||||
|
oilOrder.setCouponId(Integer.valueOf(cardFavorableId));
|
||||||
this.updateOilOrder(oilOrder);
|
this.updateOilOrder(oilOrder);
|
||||||
|
|
||||||
return applet;
|
return applet;
|
||||||
|
@ -12,4 +12,5 @@ public class OrderGoodsVo {
|
|||||||
private String retailPrice;
|
private String retailPrice;
|
||||||
private String memberPrice;
|
private String memberPrice;
|
||||||
private Integer num;
|
private Integer num;
|
||||||
|
private String unit;
|
||||||
}
|
}
|
||||||
|
@ -763,7 +763,7 @@
|
|||||||
<div class="input-box" v-for="(item,index) in goodsOrder" :key="index">
|
<div class="input-box" v-for="(item,index) in goodsOrder" :key="index">
|
||||||
<div>{{ item.name }}</div>
|
<div>{{ item.name }}</div>
|
||||||
<div v-if="isMember == false">{{ item.retailPrice }}</div>
|
<div v-if="isMember == false">{{ item.retailPrice }}</div>
|
||||||
<div v-else>{{ item.memberPrice }}</div>
|
<div v-else>¥{{ item.memberPrice }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-box">
|
<div class="input-box">
|
||||||
<div>支付方式</div>
|
<div>支付方式</div>
|
||||||
@ -1839,6 +1839,9 @@
|
|||||||
_this.paymentActive.storeId = item.storeId
|
_this.paymentActive.storeId = item.storeId
|
||||||
|
|
||||||
getPaymentActive(_this.paymentActive).then(res => {
|
getPaymentActive(_this.paymentActive).then(res => {
|
||||||
|
item.activeId = res.data.activeId
|
||||||
|
item.cardFavorableId = res.data.cardFavorableId
|
||||||
|
item.type = res.data.type
|
||||||
let discount = {type:"",discount:0,oilName:item.oilName,gunName:item.gunName}
|
let discount = {type:"",discount:0,oilName:item.oilName,gunName:item.gunName}
|
||||||
let oilData = {oilName:item.oilName,oilPreferential: {}}
|
let oilData = {oilName:item.oilName,oilPreferential: {}}
|
||||||
// this.preferentialData1 = res.data
|
// this.preferentialData1 = res.data
|
||||||
@ -2273,7 +2276,7 @@
|
|||||||
this.form.type = this.type;
|
this.form.type = this.type;
|
||||||
// 计算油的升数
|
// 计算油的升数
|
||||||
if (this.select == "元"){
|
if (this.select == "元"){
|
||||||
let num = this.form.amount/this.form.oilPrice
|
let num = this.form.amount/(this.form.oilPrice ? this.form.oilPrice : 1)
|
||||||
this.form.liters = (Math.ceil(num*100)/100).toFixed(2)
|
this.form.liters = (Math.ceil(num*100)/100).toFixed(2)
|
||||||
}else {
|
}else {
|
||||||
this.form.liters = this.form.amount
|
this.form.liters = this.form.amount
|
||||||
@ -2570,12 +2573,15 @@
|
|||||||
_this.seekZero = 0
|
_this.seekZero = 0
|
||||||
_this.loading = false;
|
_this.loading = false;
|
||||||
_this.amount = 0
|
_this.amount = 0
|
||||||
for (let i =0;i<_this.oilPreferentialData.length;i++){
|
// for (let i =0;i<_this.oilPreferentialData.length;i++){
|
||||||
_this.oilPreferentialData[i].oilPreferential.storeId = response.data.oilOrder.storeId
|
// _this.oilPreferentialData[i].oilPreferential.storeId = response.data.oilOrder.storeId
|
||||||
_this.oilPreferentialData[i].oilPreferential.userId = response.data.oilOrder.userId
|
// _this.oilPreferentialData[i].oilPreferential.orderAmount = response.data.oilOrder.orderAmount
|
||||||
_this.oilPreferentialData[i].oilPreferential.cardFavorableId = _this.cardFavorableId
|
// _this.oilPreferentialData[i].oilPreferential.userId = response.data.oilOrder.userId
|
||||||
usePaymentActive(_this.oilPreferentialData[i].oilPreferential).then(res => {})
|
// _this.oilPreferentialData[i].oilPreferential.oilId = response.data.oilOrder.oils
|
||||||
}
|
// _this.oilPreferentialData[i].oilPreferential.mtUserLevel = _this.member.gradeId
|
||||||
|
// _this.oilPreferentialData[i].oilPreferential.cardFavorableId = _this.cardFavorableId
|
||||||
|
// usePaymentActive(_this.oilPreferentialData[i].oilPreferential).then(res => {})
|
||||||
|
// }
|
||||||
_this.printLocally()
|
_this.printLocally()
|
||||||
_this.resetting1()
|
_this.resetting1()
|
||||||
return;
|
return;
|
||||||
@ -2702,12 +2708,9 @@
|
|||||||
let timer = setInterval(function (){
|
let timer = setInterval(function (){
|
||||||
// "234520231228115544f073f4"
|
// "234520231228115544f073f4"
|
||||||
cashierOrderByOrderNo({orderNo:_this.orderNo}).then( response => {
|
cashierOrderByOrderNo({orderNo:_this.orderNo}).then( response => {
|
||||||
if (response.data!=null){
|
if (response.data){
|
||||||
if (response.data.status == "unpaid"){
|
|
||||||
_this.isQuery = true;
|
|
||||||
_this.dialogVisiblejLoading = true
|
|
||||||
}
|
|
||||||
if (response.data.status == "paid"){
|
if (response.data.status == "paid"){
|
||||||
|
this.$modal.msgError(418)
|
||||||
_this.isPay = true;
|
_this.isPay = true;
|
||||||
_this.isPaySuccess = true;
|
_this.isPaySuccess = true;
|
||||||
_this.isQuery = false;
|
_this.isQuery = false;
|
||||||
@ -2715,13 +2718,17 @@
|
|||||||
|
|
||||||
_this.printLocally()
|
_this.printLocally()
|
||||||
_this.loading = false;
|
_this.loading = false;
|
||||||
|
|
||||||
if (response.data.oilOrderAmount>0){
|
if (response.data.oilOrderAmount>0){
|
||||||
for (let i =0;i<_this.oilPreferentialData.length;i++){
|
// for (let i =0;i<_this.oilPreferentialData.length;i++){
|
||||||
_this.oilPreferentialData[i].oilPreferential.storeId = response.data.oilOrder.storeId
|
// _this.oilPreferentialData[i].oilPreferential.storeId = response.data.storeId
|
||||||
_this.oilPreferentialData[i].oilPreferential.userId = response.data.oilOrder.userId
|
// _this.oilPreferentialData[i].oilPreferential.orderAmount = response.data.oilOrderAmount
|
||||||
_this.oilPreferentialData[i].oilPreferential.cardFavorableId = _this.oilPreferentialData[_this.oilPreferentialData.length-1].cardFavorableId
|
// _this.oilPreferentialData[i].oilPreferential.userId = response.data.userId
|
||||||
usePaymentActive(_this.oilPreferentialData[i].oilPreferential).then(res => {})
|
// _this.oilPreferentialData[i].oilPreferential.oilId = response.data.oils
|
||||||
}
|
// _this.oilPreferentialData[i].oilPreferential.mtUserLevel = _this.member.gradeId
|
||||||
|
// _this.oilPreferentialData[i].oilPreferential.cardFavorableId = _this.oilPreferentialData[_this.oilPreferentialData.length-1].cardFavorableId
|
||||||
|
// usePaymentActive(_this.oilPreferentialData[i].oilPreferential).then(res => {})
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
clearInterval(timer);
|
clearInterval(timer);
|
||||||
}
|
}
|
||||||
@ -2733,12 +2740,23 @@
|
|||||||
_this.loading = false;
|
_this.loading = false;
|
||||||
clearInterval(timer);
|
clearInterval(timer);
|
||||||
}
|
}
|
||||||
|
if (response.data.status == "unpaid"){
|
||||||
|
_this.isQuery = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
_this.resetting1();
|
_this.resetting1();
|
||||||
})
|
})
|
||||||
},500)
|
},500)
|
||||||
|
|
||||||
|
// 如果是为支付状态15后打开去订单页查询的接口
|
||||||
|
if (_this.isQuery){
|
||||||
|
setTimeout(function () {
|
||||||
|
_this.dialogVisiblejLoading = true
|
||||||
|
},15000)
|
||||||
|
}
|
||||||
|
|
||||||
let timer2 = setInterval(function () {
|
let timer2 = setInterval(function () {
|
||||||
if (_this.isQuery || !_this.dialogVisiblej) {
|
if (!_this.isQuery || !_this.dialogVisiblej) {
|
||||||
_this.loading = false;
|
_this.loading = false;
|
||||||
// _this.isPay = true;
|
// _this.isPay = true;
|
||||||
// _this.countdown()
|
// _this.countdown()
|
||||||
@ -2754,7 +2772,7 @@
|
|||||||
_this.loading = false;
|
_this.loading = false;
|
||||||
_this.isPay = true;
|
_this.isPay = true;
|
||||||
this.isPaySuccess = false;
|
this.isPaySuccess = false;
|
||||||
}, 10000)
|
}, 15000)
|
||||||
},
|
},
|
||||||
|
|
||||||
// 倒计时刷新
|
// 倒计时刷新
|
||||||
|
@ -207,7 +207,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="油号油枪" align="center" prop="terminal">
|
<el-table-column label="油号油枪" align="center" prop="terminal">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ getName(oilNameList,scope.row.oils) }}/{{ scope.row.oilGunNum }}</span>
|
<span>{{ getName(oilNameList,scope.row.oils) }}/{{ getName1(oilGunList,scope.row.oilGunNum) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="加油升数" align="center" prop="oilNum" >
|
<el-table-column label="加油升数" align="center" prop="oilNum" >
|
||||||
@ -274,6 +274,62 @@
|
|||||||
<el-button type="primary" @click="refundConfirmed()">确 定</el-button>
|
<el-button type="primary" @click="refundConfirmed()">确 定</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- 支付成功后小票打印内容-->
|
||||||
|
<div id="reportSuccess" ref="report" class="box-center" v-show="false">
|
||||||
|
<div class="box-title">订单统计</div>
|
||||||
|
<div class="box-ge">
|
||||||
|
<div v-for="item in oilInfo" :key="item.id">
|
||||||
|
<div class="input-box">
|
||||||
|
<div>{{ getName(oilNameList,item.oils) }}/{{ getName1(oilGunList,item.oilGunNum) }}</div>
|
||||||
|
<div>¥{{ item.orderAmount }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>加油升数</div>
|
||||||
|
<div>{{ item.oilNum }}L</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-for="item in goodsInfo" :key="item.id">
|
||||||
|
<div class="input-box">
|
||||||
|
<div>商品名称</div>
|
||||||
|
<div>{{ item.name }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>商品数量</div>
|
||||||
|
<div>{{ item.num }}{{ item.unit }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box" v-if="!cashierOrder.userId">
|
||||||
|
<div>商品单价</div>
|
||||||
|
<div>¥{{ item.retailPrice }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box" v-else>
|
||||||
|
<div>商品单价</div>
|
||||||
|
<div>¥{{ item.memberPrice }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>支付方式</div>
|
||||||
|
<div v-if="cashierOrder.payType == 'CASH'">现金</div>
|
||||||
|
<div v-else-if="cashierOrder.payType == 'WECHAT'">微信</div>
|
||||||
|
<div v-else-if="cashierOrder.payType == 'ALIPAY'">支付宝</div>
|
||||||
|
<div v-else-if="cashierOrder.payType == 'UNIONPAY'">银联二维码</div>
|
||||||
|
<div v-else>小程序码</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>合计</div>
|
||||||
|
<div>¥{{ cashierOrder.amount }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>实付款</div>
|
||||||
|
<div>¥{{ cashierOrder.payAmount }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box" v-if="cashierOrder.seekZero>0">
|
||||||
|
<div>找零金额</div>
|
||||||
|
<div>¥{{ cashierOrder.seekZero }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -290,6 +346,8 @@ import {getOilNameList} from "@/api/cashier/oilnumgun";
|
|||||||
import {getOrderGoods} from "@/api/cashier/goodsorder";
|
import {getOrderGoods} from "@/api/cashier/goodsorder";
|
||||||
import {exportExcelCashierApi} from "@/api/order/exportExcel";
|
import {exportExcelCashierApi} from "@/api/order/exportExcel";
|
||||||
import {refundApi} from "@/api/cashier/refund";
|
import {refundApi} from "@/api/cashier/refund";
|
||||||
|
import {getLodop} from "@/api/LodopFuncs";
|
||||||
|
import {getOilNumberGun} from "@/api/cashier/oilGuns";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "order_Cashier",
|
name: "order_Cashier",
|
||||||
@ -304,6 +362,7 @@ import {refundApi} from "@/api/cashier/refund";
|
|||||||
oilInfo:[],
|
oilInfo:[],
|
||||||
// 商品订单详情列表
|
// 商品订单详情列表
|
||||||
goodsInfo:[],
|
goodsInfo:[],
|
||||||
|
oilGunList:[],
|
||||||
// 收银员订单详情
|
// 收银员订单详情
|
||||||
cashierOrder:{},
|
cashierOrder:{},
|
||||||
loading:false,
|
loading:false,
|
||||||
@ -336,6 +395,7 @@ import {refundApi} from "@/api/cashier/refund";
|
|||||||
this.getList();
|
this.getList();
|
||||||
this.getOrderStatistics();
|
this.getOrderStatistics();
|
||||||
this.getStaffList();
|
this.getStaffList();
|
||||||
|
this.getOilGunList();
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
|
||||||
@ -372,13 +432,100 @@ import {refundApi} from "@/api/cashier/refund";
|
|||||||
})
|
})
|
||||||
return name;
|
return name;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
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();
|
||||||
|
|
||||||
|
},
|
||||||
// 补打
|
// 补打
|
||||||
patchwork(data){
|
patchwork(data){
|
||||||
const orderNo = data.orderNo
|
const orderNo = data.orderNo
|
||||||
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
||||||
// return delUser(row.id);
|
// return delUser(row.id);
|
||||||
}).then(() => {
|
}).then(async () => {
|
||||||
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
await cashierOrder(data.id).then( response => {
|
||||||
|
this.cashierOrder = response.data
|
||||||
|
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
||||||
|
})
|
||||||
|
await this.getOilList(this.cashierOrder.orderNo)
|
||||||
|
await this.getGoodsLists(this.cashierOrder.goodsOrderId)
|
||||||
|
this.printLocally()
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
},
|
},
|
||||||
// 退款
|
// 退款
|
||||||
@ -431,6 +578,32 @@ import {refundApi} from "@/api/cashier/refund";
|
|||||||
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
// 获取油枪信息
|
||||||
|
getOilGunList(){
|
||||||
|
getOilNumberGun().then(res => {
|
||||||
|
res.data.forEach(item => {
|
||||||
|
if (item.oilGunList.length>0){
|
||||||
|
item.oilGunList.forEach(i => {
|
||||||
|
i.oilName = item.oilName
|
||||||
|
this.oilGunList.push(i)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取油枪名称
|
||||||
|
getName1(oilNameList,id){
|
||||||
|
let name = ""
|
||||||
|
let _this = this;
|
||||||
|
if(oilNameList!=null && oilNameList!=""){
|
||||||
|
oilNameList.forEach(item => {
|
||||||
|
if (item.id == id){
|
||||||
|
name = item.gunName;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
},
|
||||||
// 获取油号名称
|
// 获取油号名称
|
||||||
getName(oilNameList,id){
|
getName(oilNameList,id){
|
||||||
let name = ""
|
let name = ""
|
||||||
@ -454,13 +627,13 @@ import {refundApi} from "@/api/cashier/refund";
|
|||||||
this.getGoodsLists(this.cashierOrder.goodsOrderId)
|
this.getGoodsLists(this.cashierOrder.goodsOrderId)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getOilList(orderNo){
|
async getOilList(orderNo){
|
||||||
oilOrderList({orderNo:orderNo}).then( response => {
|
await oilOrderList({orderNo:orderNo}).then( response => {
|
||||||
this.oilInfo = response.data
|
this.oilInfo = response.data
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getGoodsLists(id){
|
async getGoodsLists(id){
|
||||||
getOrderGoods({orderId:id}).then( response => {
|
await getOrderGoods({orderId:id}).then( response => {
|
||||||
this.goodsInfo = response.data;
|
this.goodsInfo = response.data;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -225,6 +225,51 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
|
<!-- 支付成功后小票打印内容-->
|
||||||
|
<div id="reportSuccess" ref="report" class="box-center" v-show="false">
|
||||||
|
<div class="box-title">订单统计</div>
|
||||||
|
<div class="box-ge">
|
||||||
|
<div v-for="item in goodsList" :key="item.id">
|
||||||
|
<div class="input-box">
|
||||||
|
<div>商品名称</div>
|
||||||
|
<div>{{ item.name }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>商品数量</div>
|
||||||
|
<div>{{ item.num }}{{ item.unit }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box" v-if="!goods.userId">
|
||||||
|
<div>商品单价</div>
|
||||||
|
<div>¥{{ item.retailPrice }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box" v-else>
|
||||||
|
<div>商品单价</div>
|
||||||
|
<div>¥{{ item.memberPrice }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>支付方式</div>
|
||||||
|
<div v-if="goods.payType == 'CASH'">现金</div>
|
||||||
|
<div v-else-if="goods.payType == 'WECHAT'">微信</div>
|
||||||
|
<div v-else-if="goods.payType == 'ALIPAY'">支付宝</div>
|
||||||
|
<div v-else-if="goods.payType == 'UNIONPAY'">银联二维码</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>合计</div>
|
||||||
|
<div>¥{{ goods.amount }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box" v-if="goods.discount>0">
|
||||||
|
<div>优惠合计</div>
|
||||||
|
<div>¥{{ goods.discount }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-box">
|
||||||
|
<div>实付款</div>
|
||||||
|
<div>¥{{ goods.payAmount }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -235,6 +280,7 @@ import {getDicts} from "@/api/dict/data";
|
|||||||
import { exportExcelGoodsOrderApi } from "@/api/order/exportExcel";
|
import { exportExcelGoodsOrderApi } from "@/api/order/exportExcel";
|
||||||
import {cashierOrder} from "@/api/cashier/cashierorder";
|
import {cashierOrder} from "@/api/cashier/cashierorder";
|
||||||
import {refundApi, getOrderInfoApi} from "@/api/cashier/refund";
|
import {refundApi, getOrderInfoApi} from "@/api/cashier/refund";
|
||||||
|
import {getLodop} from "@/api/LodopFuncs";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "order_Cashier",
|
name: "order_Cashier",
|
||||||
@ -307,13 +353,102 @@ export default {
|
|||||||
this.orderStatistics = res.data;
|
this.orderStatistics = res.data;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
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();
|
||||||
|
|
||||||
|
},
|
||||||
// 补打
|
// 补打
|
||||||
patchwork(data){
|
patchwork(data){
|
||||||
const orderNo = data.orderNo
|
const orderNo = data.orderNo
|
||||||
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
||||||
// return delUser(row.id);
|
// return delUser(row.id);
|
||||||
}).then(() => {
|
}).then(async () => {
|
||||||
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
await getGoodsOrder({"id":data.id}).then( response => {
|
||||||
|
this.goods = response.data
|
||||||
|
})
|
||||||
|
await getOrderGoods({orderId:data.id}).then( response => {
|
||||||
|
this.goodsList = response.data
|
||||||
|
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
||||||
|
})
|
||||||
|
this.printLocally()
|
||||||
|
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
},
|
},
|
||||||
// 退款
|
// 退款
|
||||||
|
@ -268,7 +268,7 @@
|
|||||||
<div class="box-ge">
|
<div class="box-ge">
|
||||||
<div class="input-box">
|
<div class="input-box">
|
||||||
<div>{{ getName(oilNameList,oilOrder.oils) }}/{{ getName1(oilGunList,oilOrder.oilGunNum) }}</div>
|
<div>{{ getName(oilNameList,oilOrder.oils) }}/{{ getName1(oilGunList,oilOrder.oilGunNum) }}</div>
|
||||||
<div>¥{{ oilOrder.amount }}</div>
|
<div>¥{{ oilOrder.orderAmount }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-box">
|
<div class="input-box">
|
||||||
<div>支付方式</div>
|
<div>支付方式</div>
|
||||||
@ -286,7 +286,7 @@
|
|||||||
<div>优惠合计</div>
|
<div>优惠合计</div>
|
||||||
<div>¥{{ oilOrder.discountAmount }}</div>
|
<div>¥{{ oilOrder.discountAmount }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="input-box" v-if="oilOrder.orderStatus=='paid'">
|
<div class="input-box" v-if="oilOrder.userId && oilOrder.orderStatus=='paid' &&(oilOrder.orderAmount - oilOrder.discountAmount - oilOrder.payAmount)>0">
|
||||||
<div>储值卡或囤油卡付款</div>
|
<div>储值卡或囤油卡付款</div>
|
||||||
<div>¥{{ (oilOrder.orderAmount - oilOrder.discountAmount - oilOrder.payAmount).toFixed(2) }}</div>
|
<div>¥{{ (oilOrder.orderAmount - oilOrder.discountAmount - oilOrder.payAmount).toFixed(2) }}</div>
|
||||||
</div>
|
</div>
|
||||||
@ -495,9 +495,17 @@
|
|||||||
patchwork(data){
|
patchwork(data){
|
||||||
const orderNo = data.orderNo
|
const orderNo = data.orderNo
|
||||||
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
||||||
|
// return oilOrderInfo(data.id).then( response => {
|
||||||
|
// this.oilOrder = response.data
|
||||||
|
// this.printLocally()
|
||||||
|
// })
|
||||||
// return delUser(row.id);
|
// return delUser(row.id);
|
||||||
}).then(() => {
|
}).then(async () => {
|
||||||
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
await oilOrderInfo(data.id).then( response => {
|
||||||
|
this.oilOrder = response.data
|
||||||
|
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
||||||
|
})
|
||||||
|
this.printLocally()
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
},
|
},
|
||||||
// 退款
|
// 退款
|
||||||
|
@ -206,6 +206,42 @@
|
|||||||
<el-button type="primary" @click="refundConfirmed()">确 定</el-button>
|
<el-button type="primary" @click="refundConfirmed()">确 定</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</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.orderAmount }}</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.userId && oilOrder.orderStatus=='paid' &&(oilOrder.orderAmount - oilOrder.discountAmount - oilOrder.payAmount)>0">
|
||||||
|
<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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -218,11 +254,13 @@ import {listOilOrder, oilOrderInfo} from "@/api/cashier/oilorder";
|
|||||||
import {getOilNameList} from "@/api/cashier/oilnumgun";
|
import {getOilNameList} from "@/api/cashier/oilnumgun";
|
||||||
import {getOilNumberGun} from "@/api/cashier/oilGuns";
|
import {getOilNumberGun} from "@/api/cashier/oilGuns";
|
||||||
import {refundApi} from "@/api/cashier/refund";
|
import {refundApi} from "@/api/cashier/refund";
|
||||||
|
import {getLodop} from "@/api/LodopFuncs";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "order_Cashier",
|
name: "order_Cashier",
|
||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
|
oilOrder:{},
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
page: 1,
|
page: 1,
|
||||||
@ -344,13 +382,98 @@ import {refundApi} from "@/api/cashier/refund";
|
|||||||
this.staffList = response.data;
|
this.staffList = response.data;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
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();
|
||||||
|
|
||||||
|
},
|
||||||
// 补打
|
// 补打
|
||||||
patchwork(data){
|
patchwork(data){
|
||||||
const orderNo = data.orderNo
|
const orderNo = data.orderNo
|
||||||
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
|
||||||
// return delUser(row.id);
|
// return delUser(row.id);
|
||||||
}).then(() => {
|
}).then(async () => {
|
||||||
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
await oilOrderInfo(data.id).then( response => {
|
||||||
|
this.oilOrder = response.data
|
||||||
|
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
|
||||||
|
})
|
||||||
|
this.printLocally()
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
},
|
},
|
||||||
// 退款
|
// 退款
|
||||||
|
@ -159,11 +159,11 @@
|
|||||||
<span>{{ scope.row.remark ? scope.row.remark:"--" }}</span>
|
<span>{{ scope.row.remark ? scope.row.remark:"--" }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="fringeBenefit" label="附加福利">
|
<!-- <el-table-column prop="fringeBenefit" label="附加福利">-->
|
||||||
<template slot-scope="scope">
|
<!-- <template slot-scope="scope">-->
|
||||||
<span>{{ scope.row.fringeBenefit ? scope.row.fringeBenefit:"--" }}</span>
|
<!-- <span>{{ scope.row.fringeBenefit ? scope.row.fringeBenefit:"--" }}</span>-->
|
||||||
</template>
|
<!-- </template>-->
|
||||||
</el-table-column>
|
<!-- </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">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<!-- <el-button size="mini" type="text" icon="el-icon-edit">更多操作</el-button>-->
|
<!-- <el-button size="mini" type="text" icon="el-icon-edit">更多操作</el-button>-->
|
||||||
|
@ -308,6 +308,8 @@
|
|||||||
tankId : uni.getStorageSync("tankId"),
|
tankId : uni.getStorageSync("tankId"),
|
||||||
// tankId : 6,
|
// tankId : 6,
|
||||||
isUseChildCard:this.isUseChildCard,
|
isUseChildCard:this.isUseChildCard,
|
||||||
|
activeId:this.preferentialData.activeId,
|
||||||
|
cardFavorableId:this.preferentialData.cardFavorableId,
|
||||||
};
|
};
|
||||||
let _this = this;
|
let _this = this;
|
||||||
request({
|
request({
|
||||||
|
Loading…
Reference in New Issue
Block a user