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/resources/templates/views/admin/hive/beautySalon/order-form.html | 261 ++++++++++++++++++++++++++++++++++++---------------
1 files changed, 184 insertions(+), 77 deletions(-)
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 fedb760..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
@@ -112,6 +112,10 @@
border: 3px solid;
border-color: transparent #4884ff #4884ff transparent;
}
+
+ .el-dialog__body {
+ padding-top: 10px !important;
+ }
</style>
</head>
<body>
@@ -316,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"-->
@@ -350,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>
@@ -366,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>
@@ -451,9 +455,9 @@
</el-drawer>
<el-dialog title="收款" :visible.sync="dialogSettleVisible">
- <el-row type="flex" align="middle" style="padding: 10px 0;">
+ <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;">¥ 80</span></el-col>
+ <el-col :span="10" style="text-align: center; line-height: 50px;"><span style="color: red; font-size: 20px;">¥ {{order.payMoney}}</span></el-col>
</el-row>
<el-row type="flex" align="middle" style="padding: 10px 0;">
@@ -463,10 +467,11 @@
<ul>
<span v-for="(item, index) in payMethods">
<el-popover
- :disabled="item.type != 1"
+ :disabled="item.type != '储值卡'"
placement="bottom"
- trigger="click">
- <el-row><span>选择</span></el-row>
+ 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
@@ -474,6 +479,7 @@
ref="tree"
check-strictly
highlight-current
+ @check="(click, checked,$item)=>{handleCheckChange(click, checked,$item)}"
:props="defaultProps">
</el-tree>
<li :class="{active : item.isActive}" slot="reference" @click="payMethodSelect(item, index)">{{item.value}}</li>
@@ -484,31 +490,23 @@
</el-col>
</el-row>
- <el-row type="flex" align="middle" style="padding: 10px 0;">
+ <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;">
- <el-col :span="5" style="text-align: right; padding-right: 10px;">微信支付</el-col>
- <el-col :span="8"><el-input></el-input></el-col>
- </el-row>
- <el-row style="line-height: 50px;">
- <el-col :span="5" style="text-align: right; padding-right: 10px;">储值卡</el-col>
- <el-col :span="8"><el-input></el-input></el-col>
- <el-col :span="5" style="margin-left: 10px;">余额:<span class="arrears">¥ 1000</span></el-col>
- </el-row>
- <el-row style="line-height: 50px;">
- <el-col :span="5" style="text-align: right; padding-right: 10px;">欠款</el-col>
- <el-col :span="8"><el-input></el-input></el-col>
+ <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>
<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">确认收款</el-button>
+ <el-button type="primary" @click="confirmSubmit">确认收款</el-button>
</el-row>
</el-dialog>
@@ -557,26 +555,32 @@
vipLoading: false,
payMethods: [{
value: '现金支付',
- isActive: false
+ isActive: false,
+ type: '现金支付'
}, {
value: '微信',
- isActive: false
+ isActive: false,
+ type: '微信'
}, {
value: '支付宝',
- isActive: false
+ isActive: false,
+ type: '支付宝'
}, {
value: '银行卡',
- isActive: false
+ isActive: false,
+ type: '银行卡'
}, {
value: '团购',
- isActive: false
- }, {
- value: '会员卡',
isActive: false,
- type: 1
+ type: '团购'
+ }, {
+ value: '储值卡',
+ isActive: false,
+ type: '储值卡'
}, {
value: '欠款',
- isActive: false
+ isActive: false,
+ type: '欠款'
},],
achieveList: [],
//会员可用的充值卡
@@ -598,11 +602,14 @@
loading: false,
/******搜索表格数据END********/
- dialogSettleVisible : true,
+ dialogSettleVisible : false,
defaultProps: {
children: 'children',
label: 'showLable'
- }
+ },
+ treeSelect : [],
+ payMoneys : [],
+ printPaper : true,
},
@@ -691,7 +698,7 @@
changePayMethod(item) {
console.log("changePayMethod", item);
- if (item.payMethod != '会员卡') {
+ if (item.payMethod != '储值卡') {
item.payMethodDetail = '';
}
},
@@ -705,11 +712,24 @@
contentType: 'application/x-www-form-urlencoded',
url: basePath + '/admin/moneyCardUse/getUseMoneyCard',
callback: function (data) {
- console.log(_this.moneyCards)
if (data.rows.length > 0) {
data.rows.forEach(function (item, index, input) {
- item.showLable = item.cardName + "-余额:" + (item.realMoney + item.giftMoney)
+ 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;
+ }
});
+ console.log(data.rows)
_this.moneyCards = data.rows;
}
@@ -849,30 +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(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;
}
- });
- if(!hasPayMethod){
- this.$message.warning("请选择支付方式");
- return false;
}
-
-
-
-
-
//匹配业绩
_this.achieveList.forEach(achieve => {
@@ -909,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);
}
@@ -941,7 +973,7 @@
*/
checkAchieve() {
/*
- //TODO 前端展示不检测,因为考虑到会员卡支付问题
+ //TODO 前端展示不检测,因为考虑到储值卡支付问题
let _this = this;
for (let i = 0; i < _this.order.items.length; i++) {
if (_this.achieveList.length > 0) {
@@ -980,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("请选择要购买的产品");
@@ -1023,6 +1055,9 @@
}
});
this.achieveList = achieveListNew;
+ this.order.zkTotal = 0;
+ this.order.total = 0;
+ this.order.payMoney = 0;
this.calculationTotal();
},
@@ -1125,13 +1160,85 @@
},
payMethodSelect(item, index) {
- this.$nextTick(function () {
- if (item.isActive) {
- Vue.set(item,'isActive',false);
- } else {
- Vue.set(item,'isActive',true);
+ 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);
+ }
+ },
+ openPayMoney() {
+ let _this = this;
+ if (!_this.order.items.length > 0) {
+ this.$message.warning("请选择要购买的产品");
+ return false;
+ }
+
+ _this.dialogSettleVisible = true;
}
}
--
Gitblit v1.9.1