From b6e7b81fd914cb08eb49d6cea916139e594020ac Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 08 Jan 2021 18:09:31 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java | 15
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/bj-form.html | 594 ++++++++++++--------------
zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderFlow.java | 13
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/bj-form-bak.html | 348 +++++++++++++++
zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java | 2
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html | 138 +++--
zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java | 6
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 186 ++-----
8 files changed, 773 insertions(+), 529 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java
index 2744c37..8f749b4 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/MoneyCardUseController.java
@@ -181,23 +181,10 @@
* @author jyy
*/
@RequestMapping(value = "/toBj")
- public String toBj(Long id, HttpServletRequest request) {
+ public String toBj(Long id) {
// 根据id查到对应的订单信息
SysOrder order = orderService.findById(id);
WebUtil.getRequest().setAttribute("order", order);
-
- SysOrderItem item = new SysOrderItem();
- item.setOrderId(order.getId());
- item.setStatus(Dictionary.ORDER_STATU_QK);
- order.setItems(orderItemService.findByModel(item));
-
-
- MoneyCardUse moneyCardUse = new MoneyCardUse();
- moneyCardUse.setVipId(order.getVipId());
- moneyCardUse.setStatus(Dictionary.MONEYCARD_STATUS_YX);
- List<MoneyCardUse> cards = cardUseService.findByModel(moneyCardUse);
-
- WebUtil.getRequest().setAttribute("cards", cards);
return "admin/hive/beautySalon/bj-form";
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderFlow.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderFlow.java
index 6292e8f..bf8cdae 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderFlow.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysOrderFlow.java
@@ -11,7 +11,18 @@
public class SysOrderFlow implements Serializable {
private static final long serialVersionUID = 7519131902836023680L;
- public static final String PAY_METHOD_CARD = "会员卡";
+ public static final String PAY_METHOD_CARD = "储值卡";
+
+ public static final String PAY_METHOD_ARREARS = "欠款";
+
+ public static final String FLOW_TYPE_BUY = "购买";
+
+ public static final String FLOW_TYPE_REPAY = "还款";
+
+ public static final String FLOW_TYPE_REFUND = "退款";
+
+ public static final String IS_GIFT_Y = "Y";
+ public static final String IS_GIFT_N = "N";
private String createBy;
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java
index fefb430..896518f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/CodeService.java
@@ -24,6 +24,8 @@
* @throws
*/
public String getOrderCode();
+
+ public String getFlowCode();
/**
* 根据一定的规则返回一个随机编号。
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java
index fa3cb22..8d7277f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/CodeServiceImpl.java
@@ -94,5 +94,9 @@
Date date=new Date();
return fmt.format(date);
}
-
+
+ @Override
+ public String getFlowCode() {
+ return "F" + getNowTimeString();
+ }
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index 00031d1..e76196b 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -154,21 +154,10 @@
@Override
public SysOrder checkAndSaveOrder(SysOrder sysOrder) {
-
// 收款改变订单状态
- /**
- * 判断订单条目的一个付款情况
- */
- // 计算现金支付金额
- double xjMoney = 0.0;
- // 计算卡支付总额
- double cardMoney = 0.0;
+
// 计算订单折扣金额,收款情况下 计算订单总额
double zkTotal = 0.0;
- /**
- * 记录本次消费的卡,防止扣除多次消费记录
- */
- ArrayList<Long> userCard = new ArrayList<Long>();
// 页面的pageOrder 参数只包含支付金额信息,不带有购买商品
for (SysOrderItem item : sysOrder.getItems()) {
@@ -179,43 +168,14 @@
item.setIsFree(Dictionary.FLAG_YES);
}
-
- // 如果支付方式是非现金则记录现金支付金额
- if (!item.getPayMethod().equals(PayMethodEnum.VIP_CARD.getCode())) {
- xjMoney = MoneyUtil.add(xjMoney, item.getPayMoney());
-// item.setCashPay(item.getPayMoney());
- } else {
- cardMoney = MoneyUtil.add(cardMoney, item.getPayMoney());
-// item.setCardPay(item.getPayMoney());
-
- }
-
-
// 订单欠款减去支付金额 设置实际欠款
Double itemZkTotal = MoneyUtil.mul(item.getZkPrice(), Double.valueOf(item.getCount()));
zkTotal=MoneyUtil.add(zkTotal, itemZkTotal);
-// item.setArrears(MoneyUtil.sub(itemZkTotal, item.getPayMoney()));
-
-
- // 如果存在欠款,将条目状态设置为欠款
-// if (item.getArrears() > 0) {
-// item.setStatus(Dictionary.ORDER_STATU_QK);
-// } else if (item.getArrears() < 0) {
-// item.setPayMoney(item.getZkPrice());
-// item.setStatus(Dictionary.ORDER_STATU_DFK);
-// } else {
-// item.setStatus(Dictionary.ORDER_STATU_DFK);
-// }
item.setStatus(Dictionary.ORDER_STATU_DFK);
}
- double arrears;
+
SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
- // 如果是收款,收款可以改变订单价格,所以需要求和出 订单折后价来计算本次欠款
- arrears = MoneyUtil.sub(zkTotal, MoneyUtil.add(cardMoney, xjMoney));
sysOrder.setZkTotal(zkTotal);
-// sysOrder.setArrears(arrears);
-// sysOrder.setCardPay(cardMoney);
-// sysOrder.setCashPay(xjMoney);
sysOrder.setStatu(Dictionary.ORDER_STATU_DFK);
sysOrder.setStaffId(user.getSuId());
sysOrder.setCompanyId(user.getCompanyId());
@@ -502,47 +462,36 @@
* @author:姜友瑶
*/
private void changeOrderStatu(SysOrder sourceOrder) {
-
+ int i = 1;
+ String orderStatus = Dictionary.ORDER_STATU_YFK;
for (SysOrderFlow flow : sourceOrder.getFlows()) {
+ flow.setFlowNo(codeService.getFlowCode() + "-" + i);
+ Long goodsId = sourceOrder.getItems().get(0).getGoodsId();
+ ShoppingGoods goods = shoppingGoodsDao.selectById(goodsId);
+ flow.setFlowContent(goods.getName() + "等" + sourceOrder.getItems().size() + "件产品");
+
+ flow.setOrderId(sourceOrder.getId());
+ flow.setVipId(sourceOrder.getVipId());
+ flow.setFlowType(SysOrderFlow.FLOW_TYPE_BUY);
// 若使用储值卡付款
if (SysOrderFlow.PAY_METHOD_CARD.equals(flow.getPayMethod())) {
-
+ if (flow.getCardId() != null) {
+ MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(flow.getCardId());
+ cardPaySk(moneyCardUse, sourceOrder, flow);
+ }
}
- }
-// boolean haQk=false;
-//
-// for(SysOrderItem sysOrderItem:sourceOrder.getItems()){
-//
-// if(!sysOrderItem.getStatus().equals(Dictionary.ORDER_STATU_QK)){
-// SysOrderItem updateItem=new SysOrderItem();
-// updateItem.setId(sysOrderItem.getId());
-// updateItem.setStatus(Dictionary.ORDER_STATU_YFK);
-//
-// if (sysOrderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY_CARD ) ) {
-//
-// if(sysOrderItem.getPayMethodDetail()!=null){
-// // 查询要支付的充值卡
-// MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(Long.parseLong(sysOrderItem.getPayMethodDetail()));
-// // 扣除付款卡金额并添加流水
-// cardPaySk(moneyCardUse, sourceOrder, sysOrderItem);
-// }else{
-// throw new GlobleException("请选择支付的会员卡");
-// }
-//
-//
-// }
-// orderItemDao.update(updateItem);
-// }else {
-// haQk=true;
-// }
-// }
+ if (SysOrderFlow.PAY_METHOD_ARREARS.equals(flow.getPayMethod())) {
+ orderStatus = Dictionary.ORDER_STATU_QK;
+ sourceOrder.setArrears(flow.getAmount().doubleValue());
+ }
+ sysOrderFlowDao.insert(flow);
+ i++;
+ }
// 更新收款状态
- sourceOrder.setStatu(Dictionary.ORDER_STATU_YFK);
+ sourceOrder.setStatu(orderStatus);
sysOrderDao.update(sourceOrder);
-
-
}
@@ -581,59 +530,50 @@
* 使用充值卡付款操作
*
* @param sourceOrder
- * @param userCard
- * @param orderItem
- * @param temp 设置是否扣除使用次数 true 扣除
+ * @param moneyCardUse
+ * @param flow
*/
- private void cardPaySk(MoneyCardUse moneyCardUse, SysOrder sourceOrder,
- SysOrderItem orderItem) {
+ private void cardPaySk(MoneyCardUse moneyCardUse, SysOrder sourceOrder, SysOrderFlow flow) {
// 判断商品是否在充值卡的限制购买,判断分类
- if (!isInBangding(moneyCardUse, orderItem.getGoodsId())) {
- throw new GlobleException(shoppingGoodsDao.selectById(orderItem.getGoodsId()).getName() + "不在"
- + moneyCardUse.getCardName() + "优惠中");
- }
- SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
- Double balance = moneyCardUse.getRealMoney();
- if (moneyCardUse.getGiftMoney() != null) {
- balance = MoneyUtil.add(balance, moneyCardUse.getGiftMoney());
- }
- // 判断金额是否足够支付
- if (balance >= orderItem.getPayMoney()) {
-
- MoneyCardUseFlow moneyCardUseFlow=new MoneyCardUseFlow();
-
- // 余额充足先从本金中扣除
- if (moneyCardUse.getRealMoney() >= orderItem.getPayMoney()) {
- double surplus = MoneyUtil.sub(moneyCardUse.getRealMoney(), orderItem.getPayMoney());
- moneyCardUse.setRealMoney(surplus);
- moneyCardUseFlow.setTotal(0-orderItem.getPayMoney());
-
- } else {
- // 本金不够
- double surplus = MoneyUtil.sub(orderItem.getPayMoney(), moneyCardUse.getRealMoney());
- moneyCardUseFlow.setTotal(0- moneyCardUse.getRealMoney());
- // 扣除所有本金
- moneyCardUse.setRealMoney(0D);
- moneyCardUse.setGiftMoney(MoneyUtil.sub(moneyCardUse.getGiftMoney(), surplus));
- // 只要是用了赠送金额购买的就视为赠送套餐 18-12-01 jyy
- orderItem.setIsFree(Dictionary.FLAG_YES);
- moneyCardUseFlow.setGiftMoney(0-surplus);
+ sourceOrder.getItems().forEach(item -> {
+ if (!isInBangding(moneyCardUse, item.getGoodsId())) {
+ throw new GlobleException(shoppingGoodsDao.selectById(item.getGoodsId()).getName() + "不在" + moneyCardUse.getCardName() + "优惠中");
}
+ });
- //设置卡项使用流水
- moneyCardUseFlow.setCarUseId(moneyCardUse.getId());
- moneyCardUseFlow.setOrderNo(sourceOrder.getOrderNo());
- moneyCardUseFlow.setVipId(sourceOrder.getVipId());
- moneyCardUseFlow.setTimes(-1);
- moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CONSUMER);
- moneyCardUseFlow.setCreateTime(new Date());
- moneyCardUseFlow.setOperationId(user.getSuId());
- moneyCardUseFlow.setBalance(moneyCardUse.getGiftMoney()+moneyCardUse.getRealMoney());
- moneyCardUseFlowDao.insert(moneyCardUseFlow);
+ SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
+ MoneyCardUseFlow moneyCardUseFlow=new MoneyCardUseFlow();
+ if (SysOrderFlow.IS_GIFT_Y.equals(flow.getIsGift())) {
+ if(moneyCardUse.getGiftMoney() >= flow.getAmount().doubleValue()) {
+ double surplus = MoneyUtil.sub(moneyCardUse.getGiftMoney(), flow.getAmount().doubleValue());
+ moneyCardUse.setGiftMoney(surplus);
+
+ moneyCardUseFlow.setGiftMoney(0D - flow.getAmount().doubleValue());
+ } else {
+ throw new GlobleException(moneyCardUse.getCardName() + "余额不足");
+ }
} else {
- throw new GlobleException(moneyCardUse.getCardName() + "余额不足");
+ if(moneyCardUse.getRealMoney() >= flow.getAmount().doubleValue()) {
+ double surplus = MoneyUtil.sub(moneyCardUse.getRealMoney(), flow.getAmount().doubleValue());
+ moneyCardUse.setRealMoney(surplus);
+
+ moneyCardUseFlow.setTotal(0 - flow.getAmount().doubleValue());
+ } else {
+ throw new GlobleException(moneyCardUse.getCardName() + "余额不足");
+ }
}
+
+ //设置卡项使用流水
+ moneyCardUseFlow.setCarUseId(moneyCardUse.getId());
+ moneyCardUseFlow.setOrderNo(sourceOrder.getOrderNo());
+ moneyCardUseFlow.setVipId(sourceOrder.getVipId());
+ moneyCardUseFlow.setTimes(-1);
+ moneyCardUseFlow.setType(MoneyCardUseFlow.USE_TYPE_CONSUMER);
+ moneyCardUseFlow.setCreateTime(new Date());
+ moneyCardUseFlow.setOperationId(user.getSuId());
+ moneyCardUseFlow.setBalance(moneyCardUse.getGiftMoney()+moneyCardUse.getRealMoney());
+ moneyCardUseFlowDao.insert(moneyCardUseFlow);
// 达到使用次数后自动清空余额
if (!moneyCardUse.getIsVipCar().equals(Dictionary.FLAG_YES_Y)
@@ -810,8 +750,8 @@
if (!pageItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY)) {
// 查询要支付的充值卡
MoneyCardUse moneyCardUse = moneyCardUseDao.selectById(Long.parseLong(pageItem.getPayMethod()));
- // 扣除付款卡金额并添加流水
- cardPaySk(moneyCardUse, sourceOrder, pageItem);
+ // 扣除付款卡金额并添加流水 TODO 补交卡支付
+// cardPaySk(moneyCardUse, sourceOrder, pageItem);
sourceItem.setCardPay((sourceItem.getCardPay()==null?0:sourceItem.getCardPay())+pageItem.getPayMoney());
cardPayTotal+=pageItem.getPayMoney();
}else{
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/bj-form-bak.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/bj-form-bak.html
new file mode 100644
index 0000000..8e4fb55
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/bj-form-bak.html
@@ -0,0 +1,348 @@
+
+
+
+
+<!DOCTYPE HTML>
+<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
+<head>
+<meta charset="utf-8">
+<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
+<meta name="renderer" content="webkit|ie-comp|ie-stand">
+<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+<meta name="viewport"
+ content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+<meta http-equiv="Cache-Control" content="no-siteapp" />
+<LINK rel="Bookmark" href="../images/favicon.ico">
+<!-- 本框架基本脚本和样式 -->
+<script type="text/javascript"
+ th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
+<script type="text/javascript"
+ th:src="@{/js/systools/MBase.js}"></script>
+
+<title></title>
+
+
+</head>
+
+<div class="panel-body">
+ <div class="form-group">
+ <label class="col-sm-2 control-label">订单号</label>
+ <div class="col-sm-4">
+ <span class="form-control-static" th:text="${order.orderNo}"></span>
+ </div>
+ <label class="col-sm-2 control-label">订单总价</label>
+ <div class="col-sm-4">
+ <span class="form-control-static" id="total" th:text="${order.total}"></span>
+ </div>
+ </div>
+ <br>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">客户编号</label>
+ <div class="col-sm-4">
+ <span class="form-control-static" th:text="${order.vipNo}"></span>
+ </div>
+ <label class="col-sm-2 control-label">客户姓名</label>
+ <div class="col-sm-4">
+ <span class="form-control-static" th:text="${order.vipName}"></span>
+ </div>
+ </div>
+ <br>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">折后价</label>
+ <div class="col-sm-4">
+ <span class="form-control-static" id="zkTotal" th:text="${order.zkTotal}"></span>
+ </div>
+ <label class="col-sm-2 control-label">欠款</label>
+ <div class="col-sm-4">
+ <span class="form-control-static" id="zkTotal" th:text="${order.arrears}"></span>
+ </div>
+ </div>
+ <br>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">卡付金额</label>
+ <div class="col-sm-4">
+ <span class="form-control-static" id="zkTotal" th:text="${order.cardPay}"></span>
+ </div>
+ <label class="col-sm-2 control-label">现金付款</label>
+ <div class="col-sm-4">
+ <span class="form-control-static" id="zkTotal" th:text="${order.cashPay}"></span>
+ </div>
+ </div>
+ <br>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">顾问姓名</label>
+ <div class="col-sm-4">
+ <span class="form-control-static" th:text="${order.staffName}"></span>
+ </div>
+ </div>
+</div>
+
+
+
+
+<div class="row ">
+ <div class="col-sm-10 pd-20 col-sm-offset-1">
+ <form class="form-horizontal" id="dataform"
+ onsubmit="javascripr:return false;">
+ <div class="tabs-container ">
+ <ul class="nav nav-tabs">
+ <li class="active"><a data-toggle="tab" href="#tab-1"
+ aria-expanded="true">收款</a></li>
+ <li class=""><a data-toggle="tab" href="#tab-2"
+ aria-expanded="false">业绩</a></li>
+ </ul>
+ <div class="tab-content">
+ <div id="tab-1" class="tab-pane active">
+ <div class="panel-body">
+ <div class="col-sm-12 form-group">
+ <!-- 改变折扣后的总价 -->
+ <input autocomplete="off" type="hidden" name="zkTotal" th:value="${order.zkTotal}"
+ id="zkTotalInput">
+ <div class="panel-body">
+ <table class="table table-striped table-condensed table-hover">
+ <thead>
+ <tr>
+ <th>序号</th>
+ <th>商品名称</th>
+ <th>单价</th>
+ <th>购买数量</th>
+ <th>折扣单价</th>
+ <th>支付方式</th>
+ <th>支付金额</th>
+ </tr>
+ </thead>
+ <tbody id="tbody">
+ <tr th:each="item,count:${order.items }">
+ <td th:text="${count.index}+1"></td>
+ <td>
+ <span th:text=" ${item.shoppingGoods.name }"></span>
+
+ <span th:if="${item.isFree eq '是' }" th:text="赠"></span>
+ </td>
+ <td th:text="${item.price }"></td>
+ <td th:text="${item.count}"></td>
+ <td th:text="${item.zkPrice}"></td>
+
+ <td><input autocomplete="off" type="hidden"
+ th:name="'items['+${count.index}+'].id'"
+ th:value="${item.id }">
+
+
+ <input autocomplete="off" type="hidden" th:name="'items['+${count.index}+'].goodsId'"
+ th:value="${item.goodsId }">
+ <input autocomplete="off" type="hidden" th:name="'items['+${count.index}+'].count'" th:value="${item.count}">
+
+ <select class="form-control"
+ th:name="'items['+${count.index}+'].payMethod'">
+ <option th:if="${item.type eq '充值卡'}" value="现金">现金</option>
+ <option value="现金">现金</option>
+ <th:block th:if="${item.type ne '充值卡'}">
+ <th:block th:each="cardItem:${cards }" >
+ <option th:value="${cardItem.id }" th:text="${cardItem.cardName }+'-余:'+${cardItem.realMoney+cardItem.giftMoney}"></option>
+ </th:block>
+ </th:block>
+
+ </select></td>
+ <td><input autocomplete="off" type="text" class="form-control"
+ th:onchange="'changePayMoney(\'p'+${item.id}+'\',this)'"
+
+ onchange="reckonTotal()" dataType="price" nullmsg="请填写金额"
+ errormsg="金额可为两位小数的正数" th:value="${item.arrears}"
+ th:name="'items['+${count.index}+'].payMoney'" >
+ <div class="Validform_checktip"></div></td>
+ </tr>
+ </th>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+
+
+ <div class="col-sm-12 form-group">
+ <div class="form-group">
+ <div class="form-group">
+ <label class="col-sm-2 control-label">实收金额</label>
+ <div class="col-sm-4">
+ <input autocomplete="off" type="text" class="form-control" name="actualPay"
+ id="money" readonly="readonly" th:value="${order.arrears}"
+ datatype="/^(([0-9]\d{0,9})|0)(\.\d{1,2})?$/"
+ ignore="ignore">
+ <div class="Validform_checktip"></div>
+ </div>
+
+ <label class="col-sm-2 control-label">备注</label>
+ <div class="col-sm-4">
+ <input autocomplete="off" type="text" class="form-control" name="remark"
+ th:value="${order.remark}" datatype="*0-200" ignore="ignore">
+ <div class="Validform_checktip"></div>
+ </div>
+ </div>
+ </div>
+ <input autocomplete="off" type="hidden" id="id" name="id" th:value="${order.id}" />
+ </div>
+ </div>
+ </div>
+ <div id="tab-2" class="tab-pane">
+ <div class="panel-body">
+ <table class="table table-condensed ">
+ <thead>
+ <tr>
+ <th>序号</th>
+ <th>商品名称</th>
+ <th>分配金额</th>
+ <th>美疗师业绩</th>
+ <th>操作</th>
+ </tr>
+ </thead>
+ <tbody id="tbody2">
+ <th:block th:each="item,count:${order.items }" >
+ <tr th:id="'p'+${item.id}">
+ <td th:text="${count.index}+1"></td>
+ <td th:text="${item.shoppingGoods.name }">
+ <span th:if="${item.isFree eq '是' }" th:text="赠"></span>
+ </td>
+ <td th:text="${item.arrears }"></td>
+ <td>
+ <table class="table table-condensed ">
+ <tr th:each="achaeve,count2:${item.achaeveList }">
+ <td><select class="autoFull select2 input-sm"
+
+ data-value="suId"
+ data-filed="suName"
+ th:data-def="${achaeve.staffId }"
+ th:name="'items['+${count.index}+'].achaeveList['+${count2.index}'].beaultId'"
+ th:data-url="@{/admin/getShopStaffByRoleName?roleName=美疗师}"
+ >
+ </select></td>
+ <td><input autocomplete="off" type="text"
+ class="form-control input-sm" style="width: 80px"
+ th:name="'items['+${count.index}+'].achaeveList['+${count2.index}'].t1"></td>
+ <td><button class="btn btn-danger btn-sm"
+ onclick="deleteBeaute(this)">删除</button></td>
+ </tr>
+ </table>
+ </td>
+ <td><a class="btn btn-default btn-sm"
+ th:onclick="'addBeaute(\'p'+${item.id}+'\','+${count.index}+')'">添加</a></td>
+ </tr>
+
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ <div class="form-group mt-20 ">
+ <div class="col-sm-12 text-center">
+ <a href="javascript:;"
+ onclick="myForm.submit()" class="btn btn-success radius">确认</a>
+
+ <button onclick="MTools.closeForm()"
+ class="btn btn-danger radius" type="button">取消</button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </div>
+</div>
+
+
+<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script><script type="text/javascript">
+ var myForm = MForm.initForm({
+ invokeUrl : basePath+"/admin/moneyCardUse/bj",
+ beforeSubmit : function() {
+
+ //校验业绩
+ var ifAchieveOk=true;
+ $("#tbody2").children("tr").each(function(){
+ var tr=$(this);
+ var pay=parseFloat(tr.find("td").eq(2).html());
+ var achieveSum=0;
+ tr.find("td").eq(3).find("table").find("tr").each(function(){
+ var achieve= parseFloat($(this).find("td").eq(1).find("input").val());
+ achieveSum+=achieve;
+ });
+ if(achieveSum>pay){
+ ifAchieveOk=false;
+ }
+ });
+ if(!ifAchieveOk){
+ layer.msg("业绩金额不能大于支付金额",{icon:2})
+ return false;
+ }
+
+
+ var money = parseFloat($("#money").val());
+ var total = parseFloat($("#zkTotal").html());
+ },
+ afterSubmit : function() {
+ if(parent.myGrid) {
+ parent.myGrid.serchData();
+ }
+
+ if (parent.app) {
+ parent.app.orderQuery();
+ }
+ },
+ });
+
+ //添加一个美疗师
+ function addBeaute(trId,itemIndex){
+ if(!itemIndex){
+ itemIndex=0;
+ }
+ var id=MTools.randomStr();
+
+ var table=$("#"+trId).find("td").eq(3).find("table")
+
+ var achieveIndex=$("#"+trId).find("td").eq(3).find("table").find("tr").length;
+ var html= '<tr> <td><select class="autoFull select2 input-sm" id="'+id+'" name="items['+itemIndex+'].achaeveList['+achieveIndex+'].beaultId" '
+ +'data-url="'+basePath+'/admin/getShopStaffByRoleName?roleName=美疗师" data-value="suId" data-filed="suName" data-def=""'
+ +'name="beatuyId"> </select></td> <td><input autocomplete="off" type="text" class="form-control input-sm" style="width: 80px" name="items['+itemIndex+'].achaeveList['+achieveIndex+'].t1" '
+ +'name="items['+itemIndex+'].zkPrice" ></td> <td><button class="btn btn-danger btn-sm" onclick="deleteBeaute(this)" >删除</button></td> </tr>';
+ $("#"+trId).find("td").eq(3).find("table").append(html);
+ $('#'+id).select2({'width':'80px'});
+ MTools.autoFullSelect({selecteder:'#'+id});
+ };
+ //删除一个美疗师
+ function deleteBeaute(node){
+ $(node).closest("tr").remove();
+ }
+
+ //修改收款金额
+ function changePayMoney(trId,node){
+ console.log(trId,node);
+ $("#"+trId).find("td").eq(2).html($(node).val());
+ };
+
+
+ //改变折扣单价
+ function changeZkprice() {
+ var sum = 0;
+ $("#tbody").find("tr").each(function() {
+ var $tds = $(this).find("td");
+ var count = $tds.eq(3).html();
+ var zkprice = $tds.eq(4).find("input").eq(0).val();
+ totalMoney = parseFloat(count) * parseFloat(zkprice);
+ $tds.eq(6).find("input").eq(0).val(totalMoney);
+ sum += totalMoney;
+ });
+ $("#money").val(sum);
+ $("#zkTotal").html(sum);
+ $("#zkTotalInput").val(sum);
+ }
+
+ //计算实收
+ function reckonTotal() {
+ var sum = 0;
+ $("#tbody").find("tr").each(function() {
+ var $tds = $(this).find("td");
+ var count = $tds.eq(6).find("input").eq(0).val();
+ sum += parseFloat(count)
+ });
+ $("#money").val(sum);
+
+ }
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/bj-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/bj-form.html
index 8e4fb55..07843ca 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/bj-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/bj-form.html
@@ -1,8 +1,4 @@
-
-
-
-
-<!DOCTYPE HTML>
+<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
@@ -13,336 +9,278 @@
content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<LINK rel="Bookmark" href="../images/favicon.ico">
-<!-- 本框架基本脚本和样式 -->
-<script type="text/javascript"
- th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
-<script type="text/javascript"
- th:src="@{/js/systools/MBase.js}"></script>
-
+ <!-- 本框架基本脚本和样式 -->
+ <script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
+ <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
+ <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
<title></title>
-
-
-</head>
-
-<div class="panel-body">
- <div class="form-group">
- <label class="col-sm-2 control-label">订单号</label>
- <div class="col-sm-4">
- <span class="form-control-static" th:text="${order.orderNo}"></span>
- </div>
- <label class="col-sm-2 control-label">订单总价</label>
- <div class="col-sm-4">
- <span class="form-control-static" id="total" th:text="${order.total}"></span>
- </div>
- </div>
- <br>
- <div class="form-group">
- <label class="col-sm-2 control-label">客户编号</label>
- <div class="col-sm-4">
- <span class="form-control-static" th:text="${order.vipNo}"></span>
- </div>
- <label class="col-sm-2 control-label">客户姓名</label>
- <div class="col-sm-4">
- <span class="form-control-static" th:text="${order.vipName}"></span>
- </div>
- </div>
- <br>
- <div class="form-group">
- <label class="col-sm-2 control-label">折后价</label>
- <div class="col-sm-4">
- <span class="form-control-static" id="zkTotal" th:text="${order.zkTotal}"></span>
- </div>
- <label class="col-sm-2 control-label">欠款</label>
- <div class="col-sm-4">
- <span class="form-control-static" id="zkTotal" th:text="${order.arrears}"></span>
- </div>
- </div>
- <br>
- <div class="form-group">
- <label class="col-sm-2 control-label">卡付金额</label>
- <div class="col-sm-4">
- <span class="form-control-static" id="zkTotal" th:text="${order.cardPay}"></span>
- </div>
- <label class="col-sm-2 control-label">现金付款</label>
- <div class="col-sm-4">
- <span class="form-control-static" id="zkTotal" th:text="${order.cashPay}"></span>
- </div>
- </div>
- <br>
- <div class="form-group">
- <label class="col-sm-2 control-label">顾问姓名</label>
- <div class="col-sm-4">
- <span class="form-control-static" th:text="${order.staffName}"></span>
- </div>
- </div>
-</div>
-
-
-
-
-<div class="row ">
- <div class="col-sm-10 pd-20 col-sm-offset-1">
- <form class="form-horizontal" id="dataform"
- onsubmit="javascripr:return false;">
- <div class="tabs-container ">
- <ul class="nav nav-tabs">
- <li class="active"><a data-toggle="tab" href="#tab-1"
- aria-expanded="true">收款</a></li>
- <li class=""><a data-toggle="tab" href="#tab-2"
- aria-expanded="false">业绩</a></li>
- </ul>
- <div class="tab-content">
- <div id="tab-1" class="tab-pane active">
- <div class="panel-body">
- <div class="col-sm-12 form-group">
- <!-- 改变折扣后的总价 -->
- <input autocomplete="off" type="hidden" name="zkTotal" th:value="${order.zkTotal}"
- id="zkTotalInput">
- <div class="panel-body">
- <table class="table table-striped table-condensed table-hover">
- <thead>
- <tr>
- <th>序号</th>
- <th>商品名称</th>
- <th>单价</th>
- <th>购买数量</th>
- <th>折扣单价</th>
- <th>支付方式</th>
- <th>支付金额</th>
- </tr>
- </thead>
- <tbody id="tbody">
- <tr th:each="item,count:${order.items }">
- <td th:text="${count.index}+1"></td>
- <td>
- <span th:text=" ${item.shoppingGoods.name }"></span>
-
- <span th:if="${item.isFree eq '是' }" th:text="赠"></span>
- </td>
- <td th:text="${item.price }"></td>
- <td th:text="${item.count}"></td>
- <td th:text="${item.zkPrice}"></td>
-
- <td><input autocomplete="off" type="hidden"
- th:name="'items['+${count.index}+'].id'"
- th:value="${item.id }">
-
-
- <input autocomplete="off" type="hidden" th:name="'items['+${count.index}+'].goodsId'"
- th:value="${item.goodsId }">
- <input autocomplete="off" type="hidden" th:name="'items['+${count.index}+'].count'" th:value="${item.count}">
-
- <select class="form-control"
- th:name="'items['+${count.index}+'].payMethod'">
- <option th:if="${item.type eq '充值卡'}" value="现金">现金</option>
- <option value="现金">现金</option>
- <th:block th:if="${item.type ne '充值卡'}">
- <th:block th:each="cardItem:${cards }" >
- <option th:value="${cardItem.id }" th:text="${cardItem.cardName }+'-余:'+${cardItem.realMoney+cardItem.giftMoney}"></option>
- </th:block>
- </th:block>
-
- </select></td>
- <td><input autocomplete="off" type="text" class="form-control"
- th:onchange="'changePayMoney(\'p'+${item.id}+'\',this)'"
-
- onchange="reckonTotal()" dataType="price" nullmsg="请填写金额"
- errormsg="金额可为两位小数的正数" th:value="${item.arrears}"
- th:name="'items['+${count.index}+'].payMoney'" >
- <div class="Validform_checktip"></div></td>
- </tr>
- </th>
- </tbody>
- </table>
- </div>
- </div>
-
-
-
- <div class="col-sm-12 form-group">
- <div class="form-group">
- <div class="form-group">
- <label class="col-sm-2 control-label">实收金额</label>
- <div class="col-sm-4">
- <input autocomplete="off" type="text" class="form-control" name="actualPay"
- id="money" readonly="readonly" th:value="${order.arrears}"
- datatype="/^(([0-9]\d{0,9})|0)(\.\d{1,2})?$/"
- ignore="ignore">
- <div class="Validform_checktip"></div>
- </div>
-
- <label class="col-sm-2 control-label">备注</label>
- <div class="col-sm-4">
- <input autocomplete="off" type="text" class="form-control" name="remark"
- th:value="${order.remark}" datatype="*0-200" ignore="ignore">
- <div class="Validform_checktip"></div>
- </div>
- </div>
- </div>
- <input autocomplete="off" type="hidden" id="id" name="id" th:value="${order.id}" />
- </div>
- </div>
- </div>
- <div id="tab-2" class="tab-pane">
- <div class="panel-body">
- <table class="table table-condensed ">
- <thead>
- <tr>
- <th>序号</th>
- <th>商品名称</th>
- <th>分配金额</th>
- <th>美疗师业绩</th>
- <th>操作</th>
- </tr>
- </thead>
- <tbody id="tbody2">
- <th:block th:each="item,count:${order.items }" >
- <tr th:id="'p'+${item.id}">
- <td th:text="${count.index}+1"></td>
- <td th:text="${item.shoppingGoods.name }">
- <span th:if="${item.isFree eq '是' }" th:text="赠"></span>
- </td>
- <td th:text="${item.arrears }"></td>
- <td>
- <table class="table table-condensed ">
- <tr th:each="achaeve,count2:${item.achaeveList }">
- <td><select class="autoFull select2 input-sm"
-
- data-value="suId"
- data-filed="suName"
- th:data-def="${achaeve.staffId }"
- th:name="'items['+${count.index}+'].achaeveList['+${count2.index}'].beaultId'"
- th:data-url="@{/admin/getShopStaffByRoleName?roleName=美疗师}"
- >
- </select></td>
- <td><input autocomplete="off" type="text"
- class="form-control input-sm" style="width: 80px"
- th:name="'items['+${count.index}+'].achaeveList['+${count2.index}'].t1"></td>
- <td><button class="btn btn-danger btn-sm"
- onclick="deleteBeaute(this)">删除</button></td>
- </tr>
- </table>
- </td>
- <td><a class="btn btn-default btn-sm"
- th:onclick="'addBeaute(\'p'+${item.id}+'\','+${count.index}+')'">添加</a></td>
- </tr>
-
- </tbody>
- </table>
- </div>
- </div>
- </div>
- <div class="form-group mt-20 ">
- <div class="col-sm-12 text-center">
- <a href="javascript:;"
- onclick="myForm.submit()" class="btn btn-success radius">确认</a>
-
- <button onclick="MTools.closeForm()"
- class="btn btn-danger radius" type="button">取消</button>
- </div>
- </div>
- </div>
- </form>
- </div>
-</div>
-
-
-<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script><script type="text/javascript">
- var myForm = MForm.initForm({
- invokeUrl : basePath+"/admin/moneyCardUse/bj",
- beforeSubmit : function() {
-
- //校验业绩
- var ifAchieveOk=true;
- $("#tbody2").children("tr").each(function(){
- var tr=$(this);
- var pay=parseFloat(tr.find("td").eq(2).html());
- var achieveSum=0;
- tr.find("td").eq(3).find("table").find("tr").each(function(){
- var achieve= parseFloat($(this).find("td").eq(1).find("input").val());
- achieveSum+=achieve;
- });
- if(achieveSum>pay){
- ifAchieveOk=false;
- }
- });
- if(!ifAchieveOk){
- layer.msg("业绩金额不能大于支付金额",{icon:2})
- return false;
- }
-
-
- var money = parseFloat($("#money").val());
- var total = parseFloat($("#zkTotal").html());
- },
- afterSubmit : function() {
- if(parent.myGrid) {
- parent.myGrid.serchData();
- }
-
- if (parent.app) {
- parent.app.orderQuery();
- }
- },
- });
-
- //添加一个美疗师
- function addBeaute(trId,itemIndex){
- if(!itemIndex){
- itemIndex=0;
+ <style>
+ .paymethod ul {
+ padding: 0;
+ margin: 0;
+ height: 50px;
}
- var id=MTools.randomStr();
+ .paymethod ul li {
+ padding: 10px;
+ margin: 5px;
+ list-style:none;
+ float: left;
+ display: block;
+ cursor: pointer;
+ position: relative;
+ border: white 1px solid;
+ }
+ .paymethod ul li:hover {
+ border: #409EFF 1px solid;
+ }
+ .paymethod .active {
+ border: #409EFF 1px solid;
+ }
+ .paymethod .active::after {
+ content: '';
+ display: block;
+ height: 0px;
+ width: 0px;
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ color:#fff;
+ /**对号大小*/
+ font-size: 10px;
+ line-height: 8px;
+ border: 3px solid;
+ border-color: transparent #4884ff #4884ff transparent;
+ }
- var table=$("#"+trId).find("td").eq(3).find("table")
+ .el-dialog__body {
+ padding-top: 10px !important;
+ }
+ </style>
+</head>
+<div class="panel-body" id="app">
+ <el-dialog title="还款" :visible.sync="dialogSettleVisible" show-close>
+ <el-row type="flex" align="middle" style="padding: 0 0 10px 0;">
+ <el-col :span="5" style="text-align: center;">还款金额</el-col>
+ <el-col :span="10" style="text-align: center; line-height: 50px;"><span style="color: red; font-size: 20px;">¥ {{order.arrears}}</span></el-col>
+ </el-row>
- var achieveIndex=$("#"+trId).find("td").eq(3).find("table").find("tr").length;
- var html= '<tr> <td><select class="autoFull select2 input-sm" id="'+id+'" name="items['+itemIndex+'].achaeveList['+achieveIndex+'].beaultId" '
- +'data-url="'+basePath+'/admin/getShopStaffByRoleName?roleName=美疗师" data-value="suId" data-filed="suName" data-def=""'
- +'name="beatuyId"> </select></td> <td><input autocomplete="off" type="text" class="form-control input-sm" style="width: 80px" name="items['+itemIndex+'].achaeveList['+achieveIndex+'].t1" '
- +'name="items['+itemIndex+'].zkPrice" ></td> <td><button class="btn btn-danger btn-sm" onclick="deleteBeaute(this)" >删除</button></td> </tr>';
- $("#"+trId).find("td").eq(3).find("table").append(html);
- $('#'+id).select2({'width':'80px'});
- MTools.autoFullSelect({selecteder:'#'+id});
- };
- //删除一个美疗师
- function deleteBeaute(node){
- $(node).closest("tr").remove();
- }
-
- //修改收款金额
- function changePayMoney(trId,node){
- console.log(trId,node);
- $("#"+trId).find("td").eq(2).html($(node).val());
- };
+ <el-row type="flex" align="middle" style="padding: 10px 0;">
+ <el-col :span="5" style="text-align: center;">收款方式</el-col>
+ <el-col class="paymethod" :span="15">
+ <el-row>
+ <ul>
+ <span v-for="(item, index) in payMethods">
+ <el-popover
+ :disabled="item.type != '储值卡'"
+ placement="bottom"
+ trigger="hover"
+ @hide="popoverHide(item)">
+ <el-row style="text-align: center;"><span style="padding: 0 0 10px 0; display: block; font-size: 12px;">选择储值卡支付方式</span></el-row>
+ <el-tree :data="moneyCards"
+ show-checkbox
+ default-expand-all
+ node-key="id"
+ ref="tree"
+ check-strictly
+ highlight-current
+ @check="(click, checked,$item)=>{handleCheckChange(click, checked,$item)}"
+ :props="defaultProps">
+ </el-tree>
+ <li :class="{active : item.isActive}" v-if="item.value != '欠款'" slot="reference" @click="payMethodSelect(item, index)">{{item.value}}</li>
+ </el-popover>
+ </span>
+ </ul>
+ </el-row>
+ </el-col>
+ </el-row>
-
- //改变折扣单价
- function changeZkprice() {
- var sum = 0;
- $("#tbody").find("tr").each(function() {
- var $tds = $(this).find("td");
- var count = $tds.eq(3).html();
- var zkprice = $tds.eq(4).find("input").eq(0).val();
- totalMoney = parseFloat(count) * parseFloat(zkprice);
- $tds.eq(6).find("input").eq(0).val(totalMoney);
- sum += totalMoney;
- });
- $("#money").val(sum);
- $("#zkTotal").html(sum);
- $("#zkTotalInput").val(sum);
- }
+ <el-row type="flex" align="middle" style="padding: 10px 0 50px 0;">
+ <el-col :span="5" style="text-align: center;">支付金额</el-col>
+ <el-col :span="15">
+ <el-row style="line-height: 50px;" v-for="(item, index) in payMoneys">
+ <el-col :span="6" style="text-align: right; padding-right: 10px; font-size: 12px;">{{item.value}}</el-col>
+ <el-col :span="8"><el-input v-model.number="item.money"></el-input></el-col>
+ <el-col :span="6" style="margin-left: 10px;" v-if="item.type == '储值卡'">{{item.isGift == 1 ? '赠送余额' : '余额' }}:<span class="arrears">¥ {{item.balance}}</span></el-col>
+ </el-row>
+ </el-col>
+ </el-row>
- //计算实收
- function reckonTotal() {
- var sum = 0;
- $("#tbody").find("tr").each(function() {
- var $tds = $(this).find("td");
- var count = $tds.eq(6).find("input").eq(0).val();
- sum += parseFloat(count)
- });
- $("#money").val(sum);
+ <el-row style="text-align: center; margin: 20px 0 10px 0">
+ <el-checkbox v-model="printPaper">打印小票</el-checkbox>
+ </el-row>
- }
+ <el-row style="text-align: center; margin: 10px 0 0 0">
+ <el-button type="primary" @click="">确认收款</el-button>
+ </el-row>
+ </el-dialog>
+</div>
+
+<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
+<script type="text/javascript" th:inline="javascript">
+ //<![CDATA[
+ var vue = new Vue({
+ el: '#app',
+ data : {
+ order : "",
+ payMethods: [{
+ value: '现金支付',
+ isActive: false,
+ type: '现金支付'
+ }, {
+ value: '微信',
+ isActive: false,
+ type: '微信'
+ }, {
+ value: '支付宝',
+ isActive: false,
+ type: '支付宝'
+ }, {
+ value: '银行卡',
+ isActive: false,
+ type: '银行卡'
+ }, {
+ value: '团购',
+ isActive: false,
+ type: '团购'
+ }, {
+ value: '储值卡',
+ isActive: false,
+ type: '储值卡'
+ }, {
+ value: '欠款',
+ isActive: false,
+ type: '欠款'
+ },],
+ moneyCards : [],
+ dialogSettleVisible : true,
+ defaultProps: {
+ children: 'children',
+ label: 'showLable'
+ },
+ treeSelect : [],
+ payMoneys : [],
+ printPaper : true,
+ },
+ created : function() {
+ this.order = /*[[${order}]]*/
+ this.getVipMoneyCards();
+
+ console.log(this.order)
+ },
+ methods : {
+ getVipMoneyCards() {
+ let _this = this;
+ if (_this.order.vipId) {
+ AjaxProxy.requst({
+ app: _this,
+ data: {vipId: _this.order.vipId},
+ contentType: 'application/x-www-form-urlencoded',
+ url: basePath + '/admin/moneyCardUse/getUseMoneyCard',
+ callback: function (data) {
+ if (data.rows.length > 0) {
+ data.rows.forEach(function (item, index, input) {
+ item.showLable = item.cardName + "-余额:" + (item.realMoney)
+ item.uuid = MTools.uuid();
+ if (item.giftMoney != 0) {
+ var children = [];
+ var gift = {};
+ gift.id = item.id;
+ gift.giftMoney = item.giftMoney;
+ gift.showLable = item.cardName + '-赠送金额' + item.giftMoney;
+ gift.cardName = item.cardName;
+ gift.isGift = 1;
+ gift.uuid = MTools.uuid();
+ children.push(gift);
+ item.children = children;
+ }
+ });
+ _this.moneyCards = data.rows;
+ }
+
+ }
+ });
+ }
+ },
+ payMethodSelect(item, index) {
+ let _this = this;
+ let payMoneys = _this.payMoneys;
+ if (item.type != '储值卡') {
+ this.$nextTick(function () {
+ if (item.isActive) {
+ Vue.set(item,'isActive',false);
+ var index = -1;
+ for (var i = 0; i < payMoneys.length; i++) {
+ let payMoney = payMoneys[i];
+ if (payMoney.value == item.value) {
+ index = i;
+ break;
+ }
+ }
+
+ if (index > -1) {
+ _this.payMoneys.splice(index, 1)
+ }
+ } else {
+ Vue.set(item,'isActive',true);
+ _this.payMoneys.push(item);
+ }
+ });
+ }
+ },
+ popoverHide(item) {
+ if(this.treeSelect.length <= 0) {
+ Vue.set(item, 'isActive', false)
+ } else {
+ Vue.set(item, 'isActive', true)
+ }
+ },
+ handleCheckChange(clickNode, checked) {
+ let _this = this;
+
+ let nodes = checked.checkedNodes;
+ _this.treeSelect = nodes;
+ var index = -1;
+ // 判断点击节点是否在已展示支付方式中
+ for(var i = 0; i < _this.payMoneys.length; i++) {
+ let node = _this.payMoneys[i];
+ if (node.uuid === clickNode.uuid) {
+ index = i;
+ break;
+ }
+ }
+
+ // 若点击节点在选中节点中,且已展示支付方式不存在,则添加
+ if (nodes.indexOf(clickNode) > -1 && index === -1) {
+ var node = clickNode;
+ var item = {};
+ if (node.isGift) {
+ item.value = node.cardName;
+ item.balance = node.giftMoney;
+ item.isGift = 'Y';
+ } else {
+ item.value = node.cardName;
+ item.balance = node.realMoney;
+ item.isGift = 'N';
+ }
+ item.type = '储值卡';
+ item.id = node.id;
+ item.uuid = clickNode.uuid;
+ _this.payMoneys.push(item);
+ }
+
+ // 若点击节点不存在选中节点中,且已展示支付方式中存在,则移除
+ if (nodes.indexOf(clickNode) === -1 && index > -1) {
+ _this.payMoneys.splice(index, 1);
+ }
+ },
+ }
+ });
+ //]]>
</script>
</body>
</html>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
index 48a3070..351359d 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html
@@ -320,9 +320,9 @@
<!-- <el-table-column-->
-<!-- label="会员卡">-->
+<!-- label="储值卡">-->
<!-- <template slot-scope="scope">-->
-<!-- <el-select :disabled="scope.row.payMethod!='会员卡'" v-model="scope.row.payMethodDetail"-->
+<!-- <el-select :disabled="scope.row.payMethod!='储值卡'" v-model="scope.row.payMethodDetail"-->
<!-- placeholder="请选择支付卡">-->
<!-- <el-option-->
<!-- v-for="item in moneyCards"-->
@@ -354,7 +354,7 @@
<li>订单总金额:{{order.total}}</li>
- <li>整单折扣:<span class="arrears">{{order.total - order.zkTotal}}</span></li>
+ <li>整单折扣:<span class="arrears" v-if="order.zkTotal != null">{{order.total - order.zkTotal}}</span></li>
<!-- <li v-if="order.arrears>0">订单欠款:<span class="arrears">{{order.arrears}}</span></li>-->
<!-- <li v-if="order.arrears<0">找零:<span class="arrears">{{order.arrears}}</span></li>-->
</ul>
@@ -370,7 +370,7 @@
<el-button type="primary" @click="print()">打印</el-button>
<el-button type="primary" @click="drawer = true">业绩设置</el-button>
<!-- <el-button type="success" @click="confirmSubmit()" class="bigbtn"> 结算</el-button>-->
- <el-button type="success" @click="dialogSettleVisible = true" class="bigbtn">收款</el-button>
+ <el-button type="success" @click="openPayMoney" class="bigbtn">收款 ¥{{order.payMoney}}</el-button>
</el-col>
</el-row>
@@ -467,11 +467,11 @@
<ul>
<span v-for="(item, index) in payMethods">
<el-popover
- :disabled="item.type != '会员卡'"
+ :disabled="item.type != '储值卡'"
placement="bottom"
trigger="hover"
@hide="popoverHide(item)">
- <el-row style="text-align: center;"><span style="padding: 0 0 10px 0; display: block; font-size: 12px;">选择会员卡支付方式</span></el-row>
+ <el-row style="text-align: center;"><span style="padding: 0 0 10px 0; display: block; font-size: 12px;">选择储值卡支付方式</span></el-row>
<el-tree :data="moneyCards"
show-checkbox
default-expand-all
@@ -496,17 +496,17 @@
<el-row style="line-height: 50px;" v-for="(item, index) in payMoneys">
<el-col :span="6" style="text-align: right; padding-right: 10px; font-size: 12px;">{{item.value}}</el-col>
<el-col :span="8"><el-input v-model.number="item.money"></el-input></el-col>
- <el-col :span="6" style="margin-left: 10px;" v-if="item.type == '会员卡'">{{item.isGift == 1 ? '赠送余额' : '余额' }}:<span class="arrears">¥ {{item.balance}}</span></el-col>
+ <el-col :span="6" style="margin-left: 10px;" v-if="item.type == '储值卡'">{{item.isGift == 1 ? '赠送余额' : '余额' }}:<span class="arrears">¥ {{item.balance}}</span></el-col>
</el-row>
</el-col>
</el-row>
<el-row style="text-align: center; margin: 20px 0 10px 0">
- <el-checkbox>打印小票</el-checkbox>
+ <el-checkbox v-model="printPaper">打印小票</el-checkbox>
</el-row>
<el-row style="text-align: center; margin: 10px 0 0 0">
- <el-button type="primary" @click="submitPay">确认收款</el-button>
+ <el-button type="primary" @click="confirmSubmit">确认收款</el-button>
</el-row>
</el-dialog>
@@ -574,9 +574,9 @@
isActive: false,
type: '团购'
}, {
- value: '会员卡',
+ value: '储值卡',
isActive: false,
- type: '会员卡'
+ type: '储值卡'
}, {
value: '欠款',
isActive: false,
@@ -602,13 +602,14 @@
loading: false,
/******搜索表格数据END********/
- dialogSettleVisible : true,
+ dialogSettleVisible : false,
defaultProps: {
children: 'children',
label: 'showLable'
},
treeSelect : [],
- payMoneys : []
+ payMoneys : [],
+ printPaper : true,
},
@@ -697,7 +698,7 @@
changePayMethod(item) {
console.log("changePayMethod", item);
- if (item.payMethod != '会员卡') {
+ if (item.payMethod != '储值卡') {
item.payMethodDetail = '';
}
},
@@ -868,39 +869,38 @@
*/
submitOrder(submitType) {
-
-
-
if (this.checkSubmitOrder()) {
let _this = this;
-
- //检查支付方式
- // let hasPayMethod=true;
- // _this.order.items.forEach(item=>{
- // if(!item.payMethod){
- // hasPayMethod=false;
- // return;
- // }
- // });
- // if(!hasPayMethod){
- // this.$message.warning("请选择支付方式");
- // return false;
- // }
-
- let flows = []
- _this.payMoneys.forEach(item=>{
- let flow = {};
- flow.payMethod = item.type;
- flow.amount = item.money;
- if (item.type == 6) {
- flow.isGift = item.isGift;
- flow.cardId = item.id;
+ if(submitType == 1) {
+ if (_this.payMoneys.length > 0) {
+ let flows = []
+ var total = 0;
+ _this.payMoneys.forEach(item => {
+ let flow = {};
+ flow.payMethod = item.type;
+ if (!item.money) {
+ this.$message.warning("请输入" + item.type + "的付款金额");
+ return false;
+ }
+ flow.amount = item.money;
+ if (item.type == '储值卡'){
+ flow.isGift = item.isGift;
+ flow.cardId = item.id;
+ }
+ total += item.money;
+ flows.push(flow)
+ })
+ if (total != _this.order.payMoney) {
+ this.$message.warning("输入付款总金额与应付金额不符");
+ return false;
+ }
+ _this.order.flows = flows;
+ } else {
+ this.$message.warning("请选择支付方式");
+ return false;
}
- flows.push(flow)
- })
- _this.order.flows = flows;
-
+ }
//匹配业绩
_this.achieveList.forEach(achieve => {
@@ -937,16 +937,20 @@
_this.order.orderNo = order.orderNo;
//结算打印提示
if (submitType == 1) {
- _this.$confirm('结算成功,是否立刻打印小票?', '提示', {
- confirmButtonText: '打印',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
+ if (_this.printPaper) {
_this.print();
-
- }).catch(() => {
- _this.closeFram();
- });
+ }
+ _this.closeFram();
+ // _this.$confirm('结算成功,是否立刻打印小票?', '提示', {
+ // confirmButtonText: '打印',
+ // cancelButtonText: '取消',
+ // type: 'warning'
+ // }).then(() => {
+ // _this.print();
+ //
+ // }).catch(() => {
+ // _this.closeFram();
+ // });
} else {
_this.$message.success(data.info);
}
@@ -969,7 +973,7 @@
*/
checkAchieve() {
/*
- //TODO 前端展示不检测,因为考虑到会员卡支付问题
+ //TODO 前端展示不检测,因为考虑到储值卡支付问题
let _this = this;
for (let i = 0; i < _this.order.items.length; i++) {
if (_this.achieveList.length > 0) {
@@ -1008,10 +1012,10 @@
this.$message.warning("折扣单价填写不正确");
return false;
}
- if (!(MTools.isRealNum(item.payMoney) && item.payMoney >= 0)) {
- this.$message.warning("实付金额填写不正确");
- return false;
- }
+ // if (!(MTools.isRealNum(item.payMoney) && item.payMoney >= 0)) {
+ // this.$message.warning("实付金额填写不正确");
+ // return false;
+ // }
})
} else {
this.$message.warning("请选择要购买的产品");
@@ -1051,6 +1055,9 @@
}
});
this.achieveList = achieveListNew;
+ this.order.zkTotal = 0;
+ this.order.total = 0;
+ this.order.payMoney = 0;
this.calculationTotal();
},
@@ -1155,7 +1162,7 @@
payMethodSelect(item, index) {
let _this = this;
let payMoneys = _this.payMoneys;
- if (item.type != 6) {
+ if (item.type != '储值卡') {
this.$nextTick(function () {
if (item.isActive) {
Vue.set(item,'isActive',false);
@@ -1207,13 +1214,13 @@
if (node.isGift) {
item.value = node.cardName;
item.balance = node.giftMoney;
- item.isGift = 1;
+ item.isGift = 'Y';
} else {
item.value = node.cardName;
item.balance = node.realMoney;
- item.isGift = 0;
+ item.isGift = 'N';
}
- item.type = '会员卡';
+ item.type = '储值卡';
item.id = node.id;
item.uuid = clickNode.uuid;
_this.payMoneys.push(item);
@@ -1224,7 +1231,14 @@
_this.payMoneys.splice(index, 1);
}
},
- submitPay() {
+ openPayMoney() {
+ let _this = this;
+ if (!_this.order.items.length > 0) {
+ this.$message.warning("请选择要购买的产品");
+ return false;
+ }
+
+ _this.dialogSettleVisible = true;
}
}
--
Gitblit v1.9.1