收银台

This commit is contained in:
cun-nan 2023-11-11 18:04:49 +08:00
parent 5d67b7cbb3
commit 79134699fd
23 changed files with 1416 additions and 430 deletions

View File

@ -192,16 +192,6 @@
<div>{{ scope.row.cardBalance ? scope.row.cardBalance.toFixed(2) : '0.00' }}</div> <div>{{ scope.row.cardBalance ? scope.row.cardBalance.toFixed(2) : '0.00' }}</div>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="升数卡" align="center" prop="literCard">-->
<!-- <template slot-scope="scope">-->
<!-- <div>{{ scope.row.literCard ? scope.row.literCard.toFixed(2) : '0.00' }}L</div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="加油金" align="center" prop="balance">-->
<!-- <template slot-scope="scope">-->
<!-- <div>{{ scope.row.refuelMoney ? scope.row.refuelMoney.toFixed(2) : '0.00' }}</div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="积分" align="center" prop="points"> <el-table-column label="积分" align="center" prop="points">
<template slot-scope="scope"> <template slot-scope="scope">
<div><span>{{ scope.row.points ? scope.row.points : '0.00' }}</span></div> <div><span>{{ scope.row.points ? scope.row.points : '0.00' }}</span></div>
@ -571,13 +561,8 @@ export default {
this.getStatistic(); this.getStatistic();
this.getConfig(); this.getConfig();
this.getUserList(); this.getUserList();
// this.test();
}, },
methods: { methods: {
//
// test(){
// paymentApi().then( response => {})
// },
// //
goDedi(id){ goDedi(id){
this.$router.push({ this.$router.push({

View File

@ -1,6 +1,7 @@
package com.fuint.api.fuyou.service.impl; package com.fuint.api.fuyou.service.impl;
import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.fuint.api.fuyou.entity.Builder; import com.fuint.api.fuyou.entity.Builder;
import com.fuint.api.fuyou.entity.Const; import com.fuint.api.fuyou.entity.Const;
@ -114,6 +115,7 @@ public class FyPayServiceImpl implements FyPayService {
String str = reqMap.get("sign"); String str = reqMap.get("sign");
if (Utils.verifySign(reqMap, str)){ if (Utils.verifySign(reqMap, str)){
OilOrder oilOrder = oilOrderService.selectOilOrderByOrderNo(orderNo); OilOrder oilOrder = oilOrderService.selectOilOrderByOrderNo(orderNo);
List<OilOrder> list = oilOrderService.selectOilOrder(orderNo);
LJOrder goodsOrder = goodsOrderService.selectGoodsOrder(orderNo); LJOrder goodsOrder = goodsOrderService.selectGoodsOrder(orderNo);
CashierOrder cashierOrder = cashierOrderService.selectCashierOrder(orderNo); CashierOrder cashierOrder = cashierOrderService.selectCashierOrder(orderNo);
Date date = new Date(); Date date = new Date();
@ -128,6 +130,13 @@ public class FyPayServiceImpl implements FyPayService {
if (!ObjectUtil.isEmpty(cashierOrder)){ if (!ObjectUtil.isEmpty(cashierOrder)){
cashierOrder.setStatus("paid"); cashierOrder.setStatus("paid");
} }
if (ArrayUtil.isEmpty(list)){
for (OilOrder order : list) {
order.setOrderStatus("paid");
order.setPayTime(date);
oilOrderService.updateOilOrder(order);
}
}
resMap.put("msg","success"); resMap.put("msg","success");
}else if (reqMap.get("trans_stat").equals("USERPAYING")){ }else if (reqMap.get("trans_stat").equals("USERPAYING")){
resMap.put("msg","unpaid"); resMap.put("msg","unpaid");
@ -141,6 +150,12 @@ public class FyPayServiceImpl implements FyPayService {
if (!ObjectUtil.isEmpty(cashierOrder)){ if (!ObjectUtil.isEmpty(cashierOrder)){
cashierOrder.setStatus("payFail"); cashierOrder.setStatus("payFail");
} }
if (!ArrayUtil.isEmpty(list)){
for (OilOrder order : list) {
order.setOrderStatus("payFail");
oilOrderService.updateOilOrder(order);
}
}
} }
if (!ObjectUtil.isEmpty(oilOrder)){ if (!ObjectUtil.isEmpty(oilOrder)){
oilOrderService.updateOilOrder(oilOrder); oilOrderService.updateOilOrder(oilOrder);

View File

@ -7,10 +7,7 @@ import com.fuint.business.order.service.CashierOrderService;
import com.fuint.framework.web.BaseController; import com.fuint.framework.web.BaseController;
import com.fuint.framework.web.ResponseObject; import com.fuint.framework.web.ResponseObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 收银员订单信息 controller层 * 收银员订单信息 controller层
@ -36,4 +33,15 @@ public class CashierOrderController extends BaseController {
IPage<CashierOrder> list = cashierOrderService.selectCashierOrderList(page,order); IPage<CashierOrder> list = cashierOrderService.selectCashierOrderList(page,order);
return getSuccessResult(list); return getSuccessResult(list);
} }
/**
* 根据id查询收银台订单详情
* @param id
* @return
*/
@GetMapping("/{id}")
public ResponseObject cashierOrderInfo(@PathVariable Integer id){
CashierOrder cashierOrder = cashierOrderService.queryCashierOrder(id);
return getSuccessResult(cashierOrder);
}
} }

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuint.business.order.entity.LJOrder; import com.fuint.business.order.entity.LJOrder;
import com.fuint.business.order.entity.OilOrder; import com.fuint.business.order.entity.OilOrder;
import com.fuint.business.order.service.OilOrderService; import com.fuint.business.order.service.OilOrderService;
import com.fuint.business.order.vo.OilOrderVo;
import com.fuint.framework.web.BaseController; import com.fuint.framework.web.BaseController;
import com.fuint.framework.web.ResponseObject; import com.fuint.framework.web.ResponseObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -58,6 +59,7 @@ public class OilOrderController extends BaseController {
OilOrder order = orderService.selectOilOrderByOrderNo(orderNo); OilOrder order = orderService.selectOilOrderByOrderNo(orderNo);
return getSuccessResult(order); return getSuccessResult(order);
} }
/** /**
* 根据订单号模糊查询订单信息 * 根据订单号模糊查询订单信息
* @param map * @param map
@ -69,4 +71,19 @@ public class OilOrderController extends BaseController {
List<OilOrder> list = orderService.selectOilOrder(orderNo); List<OilOrder> list = orderService.selectOilOrder(orderNo);
return getSuccessResult(list); return getSuccessResult(list);
} }
/**
* 根据订单号模糊查询订单信息
* @param map
* @return
*/
@PostMapping("/orderNoVo")
public ResponseObject oilOrderList(@Validated @RequestBody Map<String,String> map){
String orderNo = map.get("orderNo");
List<OilOrderVo> oilOrderVos = null;
if (orderNo!=null && !orderNo.equals("")){
oilOrderVos = orderService.queryOilOrderByOrderNo(orderNo);
}
return getSuccessResult(oilOrderVos);
}
} }

View File

@ -5,12 +5,11 @@ import com.fuint.business.order.vo.OrderGoodsVo;
import com.fuint.framework.web.BaseController; import com.fuint.framework.web.BaseController;
import com.fuint.framework.web.ResponseObject; import com.fuint.framework.web.ResponseObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 商品订单信息 controller层 * 商品订单信息 controller层
@ -23,12 +22,17 @@ public class OrderGoodsController extends BaseController {
/** /**
* 根据订单id查询商品订单信息 * 根据订单id查询商品订单信息
* @param orderId * @param map
* @return * @return
*/ */
@GetMapping("/{orderId}") @PostMapping("/orderList")
public ResponseObject list(@PathVariable Integer orderId){ public ResponseObject list(@Validated @RequestBody Map<String,String> map){
List<OrderGoodsVo> list = orderGoodsService.selectOrderGoods(orderId); String id = map.get("orderId");
List<OrderGoodsVo> list = null;
if (id!=null && !id.equals("")){
Integer orderId = Integer.valueOf(id);
list = orderGoodsService.selectOrderGoods(orderId);
}
return getSuccessResult(list); return getSuccessResult(list);
} }
} }

View File

@ -50,6 +50,22 @@ public class CashierOrder extends BaseEntity implements Serializable {
* 订单号 * 订单号
*/ */
private String orderNo; private String orderNo;
/**
* 油品订单金额
*/
private Double oilOrderAmount;
/**
* 商品订单金额
*/
private Double goodsOrderAmount;
/**
* 油品优惠金额
*/
private Double oilDiscountAmount;
/**
* 商品优惠金额
*/
private Double goodsDiscountAmount;
/** /**
* 订单金额 * 订单金额
*/ */

View File

@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuint.business.order.entity.CashierOrder; import com.fuint.business.order.entity.CashierOrder;
import com.fuint.business.order.vo.CashierOrderVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
public interface CashierOrderMapper extends BaseMapper<CashierOrder> { public interface CashierOrderMapper extends BaseMapper<CashierOrder> {
/** /**
* 根据条件分页查询订单信息 * 根据条件分页查询订单信息
@ -14,4 +16,11 @@ public interface CashierOrderMapper extends BaseMapper<CashierOrder> {
* @return * @return
*/ */
public IPage<CashierOrder> selectCashierOrderList(Page page, @Param("order") CashierOrder order); public IPage<CashierOrder> selectCashierOrderList(Page page, @Param("order") CashierOrder order);
/**
* 根据id查询收银台订单详情
* @param id
* @return
*/
public CashierOrderVo selectCashierOrderById(@Param("id") int id);
} }

View File

@ -4,8 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fuint.business.order.entity.OilOrder; import com.fuint.business.order.entity.OilOrder;
import com.fuint.business.order.vo.OilOrderVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 油品订单表 Mapper层 * 油品订单表 Mapper层
*/ */
@ -17,4 +20,11 @@ public interface OilOrderMapper extends BaseMapper<OilOrder> {
* @return * @return
*/ */
public IPage<OilOrder> selectOilOrderList(Page page, @Param("order") OilOrder order); public IPage<OilOrder> selectOilOrderList(Page page, @Param("order") OilOrder order);
/**
* 根据订单号模糊查询油品订单信息
* @param orderNo
* @return
*/
public List<OilOrderVo> selectOilOrderByOrderNo(@Param("orderNo") String orderNo);
} }

View File

@ -23,5 +23,11 @@
</if> </if>
</where> </where>
</select> </select>
<select id="selectCashierOrderById" resultType="com.fuint.business.order.vo.CashierOrderVo"
parameterType="int">
select co.*,st.real_name,st.mobile from cashier_order co
inner join mt_staff st on co.staff_id = st.id
where co.id = #{id};
</select>
</mapper> </mapper>

View File

@ -35,5 +35,13 @@
</if> </if>
</where> </where>
</select> </select>
<select id="selectOilOrderByOrderNo" resultType="com.fuint.business.order.vo.OilOrderVo"
parameterType="string">
select oil.*,onu.oil_price from oil_order oil
inner join oil_number onu on oil.oils = onu.oil_name
<where>
oil.order_no like concat(#{orderNo}, '%')
</where>
</select>
</mapper> </mapper>

View File

@ -17,6 +17,13 @@ public interface CashierOrderService extends IService<CashierOrder> {
*/ */
public IPage<CashierOrder> selectCashierOrderList(Page page, CashierOrder order); public IPage<CashierOrder> selectCashierOrderList(Page page, CashierOrder order);
/**
* 根据id查询商品订单信息
* @param id
* @return
*/
public CashierOrder queryCashierOrder(int id);
/** /**
* 根据订单号查询商品订单信息 * 根据订单号查询商品订单信息
* @param orderNo * @param orderNo

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.fuint.business.order.entity.OilOrder; import com.fuint.business.order.entity.OilOrder;
import com.fuint.business.order.vo.OilOrderVo;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -34,6 +35,13 @@ public interface OilOrderService extends IService<OilOrder> {
*/ */
public List<OilOrder> selectOilOrder(String orderNo); public List<OilOrder> selectOilOrder(String orderNo);
/**
* 根据订单号模糊查询商品订单信息
* @param orderNo
* @return
*/
public List<OilOrderVo> queryOilOrderByOrderNo(String orderNo);
/** /**
* 添加油品订单信息 * 添加油品订单信息
* @param map * @param map

View File

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuint.business.order.entity.CashierOrder; import com.fuint.business.order.entity.CashierOrder;
import com.fuint.business.order.mapper.CashierOrderMapper; import com.fuint.business.order.mapper.CashierOrderMapper;
import com.fuint.business.order.service.CashierOrderService; import com.fuint.business.order.service.CashierOrderService;
import com.fuint.business.order.vo.CashierOrderVo;
import com.fuint.common.dto.AccountInfo; import com.fuint.common.dto.AccountInfo;
import com.fuint.common.util.TokenUtil; import com.fuint.common.util.TokenUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -22,6 +23,12 @@ public class CashierOrderServiceImpl extends ServiceImpl<CashierOrderMapper, Cas
return cashierOrderIPage; return cashierOrderIPage;
} }
@Override
public CashierOrder queryCashierOrder(int id) {
CashierOrderVo cashierOrderVo = baseMapper.selectCashierOrderById(id);
return cashierOrderVo;
}
@Override @Override
public CashierOrder selectCashierOrder(String orderNo) { public CashierOrder selectCashierOrder(String orderNo) {
QueryWrapper queryWrapper = new QueryWrapper<>(); QueryWrapper queryWrapper = new QueryWrapper<>();

View File

@ -19,6 +19,7 @@ import com.fuint.business.order.service.CashierOrderService;
import com.fuint.business.order.service.LJOrderService; import com.fuint.business.order.service.LJOrderService;
import com.fuint.business.order.service.OilOrderService; import com.fuint.business.order.service.OilOrderService;
import com.fuint.business.order.service.OrderGoodsService; import com.fuint.business.order.service.OrderGoodsService;
import com.fuint.business.order.vo.OilOrderVo;
import com.fuint.business.userManager.entity.UserBalance; import com.fuint.business.userManager.entity.UserBalance;
import com.fuint.business.userManager.service.UserBalanceService; import com.fuint.business.userManager.service.UserBalanceService;
import com.fuint.common.dto.AccountInfo; import com.fuint.common.dto.AccountInfo;
@ -61,6 +62,12 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
return order; return order;
} }
@Override
public List<OilOrderVo> queryOilOrderByOrderNo(String orderNo) {
List<OilOrderVo> oilOrderVos = baseMapper.selectOilOrderByOrderNo(orderNo);
return oilOrderVos;
}
@Override @Override
public List<OilOrder> selectOilOrder(String orderNo) { public List<OilOrder> selectOilOrder(String orderNo) {
QueryWrapper queryWrapper = new QueryWrapper<>(); QueryWrapper queryWrapper = new QueryWrapper<>();
@ -155,6 +162,10 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
cashierOrder.setPayTime(new Date()); cashierOrder.setPayTime(new Date());
} }
cashierOrder.setOrderNo(orderNo); cashierOrder.setOrderNo(orderNo);
cashierOrder.setGoodsOrderAmount(goodsAmount);
cashierOrder.setGoodsDiscountAmount(goodsDiscount);
cashierOrder.setOilOrderAmount(oilAmount);
cashierOrder.setOilDiscountAmount(oilDiscount);
OilOrder oilOrder1 = null; OilOrder oilOrder1 = null;
LJOrder ljOrder1 = null; LJOrder ljOrder1 = null;
@ -226,12 +237,12 @@ public class OilOrderServiceImpl extends ServiceImpl<OilOrderMapper, OilOrder> i
List<JSONObject> goods = JSONArray.parseArray(goodsOrder, JSONObject.class); List<JSONObject> goods = JSONArray.parseArray(goodsOrder, JSONObject.class);
// 查询商品订单号 // 查询商品订单号
OilOrder order1 = this.selectOilOrderByOrderNo(orderNo); LJOrder ljOrder2 = orderService.selectGoodsOrder(orderNo);
// 添加商品订单记录表 // 添加商品订单记录表
OrderGoods orderGoods = new OrderGoods(); OrderGoods orderGoods = new OrderGoods();
for (JSONObject good : goods) { for (JSONObject good : goods) {
orderGoods.setOrderId(order1.getId()); orderGoods.setOrderId(ljOrder2.getId());
orderGoods.setGoodsId(Integer.valueOf(good.get("id").toString())); orderGoods.setGoodsId(Integer.valueOf(good.get("id").toString()));
orderGoods.setNum(Integer.valueOf(good.get("num").toString())); orderGoods.setNum(Integer.valueOf(good.get("num").toString()));
orderGoodsService.insertOrderGoods(orderGoods); orderGoodsService.insertOrderGoods(orderGoods);

View File

@ -0,0 +1,12 @@
package com.fuint.business.order.vo;
import com.fuint.business.order.entity.CashierOrder;
import lombok.Data;
@Data
public class CashierOrderVo extends CashierOrder {
// 员工姓名
private String realName;
// 员工手机号
private String mobile;
}

View File

@ -1,25 +1,10 @@
package com.fuint.business.order.vo; package com.fuint.business.order.vo;
import com.fuint.business.order.entity.OilOrder;
import lombok.Data; import lombok.Data;
@Data @Data
public class OilOrderVo { public class OilOrderVo extends OilOrder {
// 油品id
private Integer id;
// 油品订单金额
private Double orderAmount;
// 油号
private String oils;
// 油枪
private Integer oilGunNum;
// 加油数量
private Double oilNum;
// 油品单价 // 油品单价
private Double oilPrice; private Double oilPrice;
// 员工id
private Integer staffId;
// 员工姓名
private String name;
// 员工账号
private String mobile;
} }

View File

@ -8,3 +8,11 @@ export function listCashierOrder(query) {
params: query params: query
}) })
} }
// 根据id查询油品订单列表
export function cashierOrder(id) {
return request({
url: '/business/cashierOrder/'+id,
method: 'get',
})
}

View File

@ -10,10 +10,11 @@ export function listOrder(query) {
} }
// 根据订单id查询商品订单信息 // 根据订单id查询商品订单信息
export function getOrderGoods(orderId) { export function getOrderGoods(data) {
return request({ return request({
url: '/business/orderGoods/' + orderId, url: '/business/orderGoods/orderList',
method: 'get', method: 'post',
data: data,
}) })
} }

View File

@ -36,7 +36,7 @@ export function goodsOrder(data) {
}) })
} }
// 根据订单号查询油品订单信息 // 根据订单号模糊查询油品订单信息
export function oilOrders(data) { export function oilOrders(data) {
return request({ return request({
url: '/business/oilOrder/orderNos', url: '/business/oilOrder/orderNos',
@ -44,3 +44,12 @@ export function oilOrders(data) {
data: data data: data
}) })
} }
// 根据订单号模糊查询油品订单信息
export function oilOrderList(data) {
return request({
url: '/business/oilOrder/orderNoVo',
method: 'post',
data: data
})
}

View File

@ -96,18 +96,12 @@
</el-table-column> </el-table-column>
<el-table-column label="订单金额组成"> <el-table-column label="订单金额组成">
<el-table-column <el-table-column
prop="oilOrderId" prop="oilOrderAmount"
label="油品金额"> label="油品金额">
<template slot-scope="scope">
<span>{{ getOilPrice(scope.row) }}</span>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="goodsOrderId" prop="goodsOrderAmount"
label="商品金额"> label="商品金额">
<template slot-scope="scope">
<span>{{ getGoodsOrder(scope.row.goodsOrderId) }}</span>
</template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
@ -125,16 +119,22 @@
<el-tag type="danger" v-else>支付失败</el-tag> <el-tag type="danger" v-else>支付失败</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="注册时间" align="center" width="160" prop="payTime"> <el-table-column label="交易时间" align="center" width="160" prop="payTime">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ 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="300" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button style="width: 60px" size="mini" type="success" plain round>详情</el-button> <el-button style="width: 60px" size="mini"
<el-button style="width: 60px" size="mini" type="primary" plain round>补打</el-button> @click="getOrdersInfo(scope.row.id)"
<el-button style="width: 60px" size="mini" type="danger" plain round>退款</el-button> type="success" plain round>详情</el-button>
<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)"
type="danger" plain round>退款</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -144,28 +144,148 @@
<div class="pagination-box"> <div class="pagination-box">
<el-pagination <el-pagination
background background
v-show="total>0"
layout="prev, pager, next" layout="prev, pager, next"
:total="1000"> :total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.pageSize"
@current-change="getList">
</el-pagination> </el-pagination>
</div> </div>
</el-card> </el-card>
<!-- 订单详情-->
<el-dialog
title="订单详情"
:visible.sync="dialogVisible">
<div>
<el-descriptions>
<el-descriptions-item label="收银员姓名">{{ cashierOrder.realName }}</el-descriptions-item>
<el-descriptions-item label="收银员账号">{{ cashierOrder.mobile }}</el-descriptions-item>
<el-descriptions-item label="订单编号">{{ cashierOrder.orderNo }}</el-descriptions-item>
<el-descriptions-item label="订单金额">{{ cashierOrder.amount }}</el-descriptions-item>
<el-descriptions-item label="油品金额">{{ cashierOrder.oilOrderAmount }}</el-descriptions-item>
<el-descriptions-item label="商品金额">{{ cashierOrder.goodsOrderAmount }}</el-descriptions-item>
<el-descriptions-item label="油品优惠总额">{{ cashierOrder.oilDiscountAmount }}</el-descriptions-item>
<el-descriptions-item label="商品优惠总额">{{ cashierOrder.goodsDiscountAmount }}</el-descriptions-item>
<el-descriptions-item label="实付金额">{{ cashierOrder.payAmount }}</el-descriptions-item>
<el-descriptions-item label="付款方式">
<el-tag v-if="cashierOrder.status == 'unpaid'">未支付</el-tag>
<el-tag type="success" v-else-if="cashierOrder.status == 'paid'">已支付</el-tag>
<el-tag type="danger" v-else>支付失败</el-tag>
</el-descriptions-item>
<el-descriptions-item label="交易时间">
{{ cashierOrder.payTime ? parseTime(cashierOrder.payTime):"--" }}
</el-descriptions-item>
</el-descriptions>
</div>
<div>
<el-descriptions :column="1" direction="vertical">
<el-descriptions-item label="油品详情">
<el-table
:data="oilInfo"
style="width: 100%">
<el-table-column label="油品金额" prop="orderAmount">
<template slot-scope="scope">
<span>{{ scope.row.orderAmount }}</span>
</template>
</el-table-column>
<el-table-column label="油号油枪" align="center" prop="terminal">
<template slot-scope="scope">
<span>{{ getName(oilNameList,scope.row.oils) }}/{{ scope.row.oilGunNum }}号枪</span>
</template>
</el-table-column>
<el-table-column label="加油升数" align="center" prop="oilNum" >
<template slot-scope="scope">
<span>{{ scope.row.oilNum }}L</span>
</template>
</el-table-column>
<el-table-column label="油品单价" align="center" prop="amount">
<template slot-scope="scope">
<span>{{ scope.row.oilPrice }}/L</span>
</template>
</el-table-column>
</el-table>
</el-descriptions-item>
<el-descriptions-item label="商品详情">
<el-table
:data="goodsInfo"
style="width: 100%">
<el-table-column label="商品名称" prop="name"/>
<el-table-column label="单价" align="center" prop="retailPrice">
<template slot-scope="scope">
<span v-if="cashierOrder.payUser == '散客'">{{ scope.row.retailPrice }}</span>
<span v-else>{{ scope.row.memberPrice }}</span>
</template>
</el-table-column>
<el-table-column label="数量" align="center" prop="num"/>
<el-table-column label="合计" align="center" prop="num">
<template slot-scope="scope">
<span v-if="cashierOrder.payUser == '散客'">{{ scope.row.retailPrice * scope.row.num }}</span>
<span v-else>{{ scope.row.memberPrice * scope.row.num }}</span>
</template>
</el-table-column>
</el-table>
</el-descriptions-item>
</el-descriptions>
</div>
</el-dialog>
<!-- 订单退款-->
<el-dialog
title="订单退款"
width="25%"
:visible.sync="dialogRefund">
<div style="text-align: center;font-weight: bold">
<span style="font-size: 35px">{{ cashierOrder.amount }}</span>
</div>
<div class="tk">退款金额</div>
<div class="tk">退款单号{{ cashierOrder.orderNo }}</div>
<div style="margin: 10px 0">
退款原因<br/>
<el-radio-group v-model="radio1" style="margin: 10px 0">
<el-radio-button label="油号选错"></el-radio-button>
<el-radio-button label="金额错误"></el-radio-button>
<el-radio-button label="其他原因"></el-radio-button>
</el-radio-group>
</div>
<div>
<el-input placeholder="请输入密码" v-model="password" show-password></el-input>
<br/>
<span style="color: grey;font-size: 12px">退款仅支持全额退款,退款金额将按照支付信息原路退回优惠券储值卡等原路退回处理</span>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogRefund = false"> </el-button>
<el-button type="primary" @click="dialogRefund = false"> </el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import {listCashierOrder} from "@/api/cashier/cashierorder"; import {cashierOrder, listCashierOrder} from "@/api/cashier/cashierorder";
import {queryStaffs} from "@/api/cashier/staff"; import {queryStaffs} from "@/api/cashier/staff";
import {oilOrders} from "@/api/cashier/oilorder"; import {oilOrderList, oilOrders} from "@/api/cashier/oilorder";
import {getGoodsOrder} from "@/api/cashier/goodsorder"; import {getOilNameList} from "@/api/cashier/oilnumgun";
import {getOrderGoods} from "@/api/cashier/goodsorder";
export default { export default {
name: "order_Cashier", name: "order_Cashier",
data(){ data(){
return{ return{
// // 退
oilAmount:0, password:"",
radio1:"油号选错",
//
oilNameList:[],
//
oilInfo:[],
//
goodsInfo:[],
//
cashierOrder:{},
dialogVisible:false,
dialogRefund:false,
// //
staffList:[], staffList:[],
// //
@ -178,60 +298,60 @@
pageSize: 10, pageSize: 10,
}, },
total:0, total:0,
labelPosition: 'right', // labelPosition: 'right',
formLabelAlign: { // formLabelAlign: {
name: '', // name: '',
}, // },
tableData: [{ // tableData: [{
date: '2016-05-03', // date: '2016-05-03',
name: '王小狼', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-02', // date: '2016-05-02',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-04', // date: '2016-05-04',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-01', // date: '2016-05-01',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-08', // date: '2016-05-08',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-06', // date: '2016-05-06',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-07', // date: '2016-05-07',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}] // }]
} }
}, },
created() { created() {
@ -239,16 +359,54 @@
this.getStaffList(); this.getStaffList();
}, },
methods:{ methods:{
getGoodsOrder(id){ //
let amount = 0; patchwork(data){
getGoodsOrder({id:id}).then( response => { const orderNo = data.orderNo
console.log(response) this.$modal.confirm('确定您要补打当前订单吗?当前订单号[' + orderNo + '],请确保云打印机正在运行中').then(function() {
}) // return delUser(row.id);
return amount; }).then(() => {
this.$modal.msgSuccess("打印指令已发送打印机,请查看打印结果");
}).catch(() => {});
}, },
// // 退
getOilPrice(data){ handleRefund(id){
this.dialogRefund = true;
cashierOrder(id).then( response => {
this.cashierOrder = response.data
})
},
//
getName(oilNameList,id){
let name = ""
let _this = this;
if(oilNameList!=null && oilNameList!=""){
oilNameList.forEach(item => {
if (item.id == id){
name = item.oilName;
_this.oilType = item.oilType;
}
})
}
return name;
},
//
getOrdersInfo(id){
this.dialogVisible = true;
cashierOrder(id).then( response => {
this.cashierOrder = response.data
this.getOilList(this.cashierOrder.orderNo)
this.getGoodsLists(this.cashierOrder.goodsOrderId)
})
},
getOilList(orderNo){
oilOrderList({orderNo:orderNo}).then( response => {
this.oilInfo = response.data
})
},
getGoodsLists(id){
getOrderGoods({orderId:id}).then( response => {
this.goodsInfo = response.data;
})
}, },
// //
getList(val){ getList(val){
@ -265,6 +423,9 @@
queryStaffs().then( response => { queryStaffs().then( response => {
this.staffList = response.data; this.staffList = response.data;
}) })
getOilNameList().then( response => {
this.oilNameList = response.data;
})
}, },
// //
handleQuery() { handleQuery() {
@ -343,5 +504,10 @@
.top-app-sou{ .top-app-sou{
width: 20%; width: 20%;
} }
.tk{
text-align: center;
color: grey;
margin: 10px 0;
}
</style> </style>

View File

@ -218,56 +218,56 @@ export default {
}, },
// //
payList:[], payList:[],
tableData: [{ // tableData: [{
date: '2016-05-03', // date: '2016-05-03',
name: '王小狼', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-02', // date: '2016-05-02',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-04', // date: '2016-05-04',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-01', // date: '2016-05-01',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-08', // date: '2016-05-08',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-06', // date: '2016-05-06',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}, { // }, {
date: '2016-05-07', // date: '2016-05-07',
name: '王小虎', // name: '',
province: '上海', // province: '',
city: '普陀区', // city: '',
address: '上海市普陀区金沙江路 1518 弄', // address: ' 1518 ',
zip: 200333 // zip: 200333
}] // }]
} }
}, },
created() { created() {

File diff suppressed because it is too large Load Diff

View File

@ -98,7 +98,7 @@
<el-descriptions-item label="绑定信息"></el-descriptions-item> <el-descriptions-item label="绑定信息"></el-descriptions-item>
<el-descriptions-item label="会员状态"> <el-descriptions-item label="会员状态">
<el-tag v-if="form.status == 'qy'">启用</el-tag> <el-tag v-if="form.status == 'qy'">启用</el-tag>
<el-tag v-else>禁用</el-tag> <el-tag v-else type="danger">禁用</el-tag>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="加油次数">{{form.consumeNum}}</el-descriptions-item> <el-descriptions-item label="加油次数">{{form.consumeNum}}</el-descriptions-item>
<el-descriptions-item label="加油总金额">{{form.refuelMoney}}</el-descriptions-item> <el-descriptions-item label="加油总金额">{{form.refuelMoney}}</el-descriptions-item>