From 1d8b7df974e1fbdacff7632b05bdc30d78a6a8c1 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Mon, 25 Oct 2021 13:30:39 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/score_shop' into score_shop --- zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/order-form.html | 154 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 108 insertions(+), 46 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 794b871..bea0774 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 @@ -118,8 +118,8 @@ } </style> </head> -<body> -<div class="ibox-content" id="app" v-cloak> +<body style="overflow: hidden"> +<div id="app" v-cloak> <el-row> @@ -175,6 +175,15 @@ </el-col> </el-row> <el-row class="vertical "> + <el-select v-model="goodsType" placeholder="商品类型" style="width: 120px" > + <el-option + v-for="item in goodsTypeList" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> <el-input class="searchInput" @input="searchGoods()" v-model="queryKey" placeholder="搜索添加产品"></el-input> <el-button @click="searchGoods()" type="primary">搜索</el-button> @@ -237,6 +246,18 @@ </template> </el-table-column> </el-table> + + <el-row style="text-align: center; margin-top: 10px;"> + <el-pagination + @size-change="handleSizeChange" + @current-change="handleCurrentChange" + :current-page="page.currentPage" + :page-sizes="[10, 20, 30, 50]" + :page-size="page.pageSize" + layout="total, prev, pager, next, jumper" + :total="page.total"> + </el-pagination> + </el-row> <el-row class="btn-box"> <el-button size="mini" type="danger" @click="closeXm()">关闭</el-button> <el-button size="mini" type="primary" @click="chouseGoods()">确认</el-button> @@ -287,26 +308,11 @@ <el-input @change="calculationTotal" v-model="scope.row.zkPrice"></el-input> </template> </el-table-column> - <el-table-column - label="支付方式" - width="130"> - <template slot-scope="scope"> - <el-select v-model="scope.row.payMethod" - placeholder="请选择支付方式"> - <el-option - v-for="item in itemSimplePayMethods" - :key="item.value" - :label="item.label" - :value="item.value" - :disabled="item.disabled"> - </el-option> - </el-select> - </template> - </el-table-column> + <el-table-column label="小计"> <template slot-scope="scope"> - {{scope.row.zkPrice * scope.row.count }} + {{(scope.row.zkPrice * scope.row.count).toFixed(2) }} </template> </el-table-column> @@ -362,7 +368,7 @@ </el-table> </el-row> - <el-row class="mt-20 vertical"> + <el-row class=" vertical"> <el-col :span="10" class="money-box"> <div> <ul> @@ -370,7 +376,7 @@ <li>订单总金额:{{order.total}}</li> - <li>整单折扣:<span class="arrears" v-if="order.zkTotal != null">{{order.total - order.zkTotal}}</span></li> + <li>整单折扣:<span class="arrears" v-if="order.zkTotal != null">{{(order.total - order.zkTotal).toFixed(2)}}</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> @@ -431,6 +437,22 @@ label="收款"> </el-table-column> <el-table-column + label="支付方式" + width="130"> + <template slot-scope="scope"> + <el-select v-model="scope.row.payMethod" + placeholder="请选择支付方式"> + <el-option + v-for="item in itemSimplePayMethods" + :key="item.value" + :label="item.label" + :value="item.value" + :disabled="item.disabled"> + </el-option> + </el-select> + </template> + </el-table-column> + <el-table-column label="业绩类型" width="150"> <template slot-scope="scope"> <el-select v-model="scope.row.achieveType" @change="calculationAchieve" placeholder="请选择业绩类型"> @@ -443,6 +465,7 @@ </el-select> </template> </el-table-column> + <el-table-column label="业绩" > <template slot-scope="scope"> @@ -568,7 +591,8 @@ var app = new Vue({ el: '#app', data: { - + goodsType:"", + goodsTypeList:[{value:"",label:"全部"},{value:"套餐",label:"套餐"},{value:"项目",label:"项目"},{value:"充值卡",label:"充值卡"}], //业绩设置框 drawer: false, direction: 'rtl', @@ -646,7 +670,7 @@ shopInfo: {}, - tableHeight: 500, + tableHeight: 'calc(100vh - 300px)', /*****搜索表格数据*********/ //搜索关键词 @@ -657,6 +681,11 @@ searchTableData: [], //表格加载效果 loading: false, + page : { + currentPage : 1, + pageSize : 10, + total : 0 + }, /******搜索表格数据END********/ dialogSettleVisible : false, @@ -748,6 +777,7 @@ commission : 0, achieveType : _this.achieveTypeList[0].value, isShare: false, + payMethod:"现金", }); }); _this.order.payMoney = orderPayMoney; @@ -852,7 +882,6 @@ item.price = goods.sealPice; item.goodsId = goods.id; item.isFree = '否'; - item.payMethod = '现金'; if (type == BUY_TYPE_NOT_FREE) { //购买 item.zkPrice = goods.sealPice; @@ -875,6 +904,7 @@ achieveType : _this.achieveTypeList[0].value, commission: 0, isShare: false, + payMethod:'现金', }); } else { //加入业绩 @@ -886,6 +916,7 @@ achieveType : _this.achieveTypeList[0].value, commission: 0, isShare: false, + payMethod:'现金', }); } this.order.items.push(item); @@ -916,18 +947,18 @@ callback: function (data) { let order = data.rows[0]; console.log("order", order); - _this.order.zkTotal = order.zkTotal; - _this.order.total = order.total; + _this.order.zkTotal = order.zkTotal.toFixed(2); + _this.order.total = order.total.toFixed(2); //支付金额计算 _this.order.items.forEach(item => { let count = parseFloat(item.count); let zkPrice = parseFloat(item.zkPrice); - if (optionType != 1) { + // if (optionType != 1) { //直接修改支付金额不重置支付金额 - item.payMoney = zkPrice * count; - } + item.payMoney = (zkPrice * count).toFixed(2); + // } _this.order.payMoney += parseFloat(item.payMoney); //重新计算业绩金额 @@ -978,14 +1009,20 @@ if (this.checkSubmitOrder()) { let _this = this; + //是否全部为储值卡支付 + let isCardPay=true; if(submitType == 1) { //校验支付方式 + + + if (_this.payMoneys.length > 0) { let flows = [] var total = 0; let isPayMethodOk=true; - _this.payMoneys.forEach(item => { + for(let i=0; i<_this.payMoneys.length;i++){ + let item = _this.payMoneys[i]; let flow = {}; flow.payMethod = item.type; if (!item.money) { @@ -997,39 +1034,49 @@ if (item.type == '储值卡'){ flow.isGift = item.isGift; flow.cardId = item.id; + }else{ + isCardPay=false; } total += parseFloat(item.money); flows.push(flow) - }) - if(!isPayMethodOk){ - return ; } - if (total != _this.order.payMoney) { this.$message.warning("输入付款总金额与应付金额不符"); return false; } _this.order.flows = flows; + + + + } else { this.$message.warning("请选择支付方式"); return false; } } + console.log("isCardPay",isCardPay); //匹配业绩 + _this.order.items.forEach(item=>{ + item.achieveList = []; + }) _this.achieveList.forEach(achieve => { for (let i = 0; i < _this.order.items.length; i++) { let item = _this.order.items[i]; - if (!item.achieveList){ - item.achieveList = []; - } if (item.uuid == achieve.orderItem.uuid) { + + let payMethod=achieve.payMethod; + if(isCardPay){ + //如果是储值卡支付,则业绩自动切换到划扣金额 + payMethod="划扣"; + } let achieveNew = { uuid:item.uuid, beaultId: achieve.saleId, projPercentage: achieve.commission, achieveType: achieve.achieveType, goodsCash: achieve.goodsCash, + payMethod: payMethod, }; item.achieveList.push(achieveNew); break; @@ -1135,9 +1182,9 @@ */ chouseGoods() { let _this = this; - // this.multipleSelection.forEach(item => { - // _this.pushToSelectGoods(item, BUY_TYPE_NOT_FREE); - // }); + _this.multipleSelection.forEach(item => { + _this.pushToSelectGoods(item, BUY_TYPE_NOT_FREE); + }); this.closeXm(); this.calculationTotal(); }, @@ -1172,6 +1219,9 @@ */ searchGoods() { let _this = this; + var currentPage = this.page.currentPage; + var pageSize = this.page.pageSize; + var offset = (currentPage - 1) * pageSize; if (this.queryKey && this.queryKey.trim().length > 0) { this.showSearchTable = true; this.loading = true; @@ -1179,10 +1229,11 @@ app: _this, contentType: 'application/x-www-form-urlencoded', //TODO 优化下拉加载 - data: {name: _this.queryKey, limit: 10000}, + data: {name: _this.queryKey,goodType:_this.goodsType , limit: pageSize, offset : offset}, url: basePath + "/admin/shoppinggoods/showList", callback: function (data) { _this.searchTableData = data.rows; + _this.page.total = data.total; _this.loading = false; } }); @@ -1190,8 +1241,14 @@ this.showSearchTable = false; } }, - - + handleSizeChange(val) { + this.page.pageSize = val; + this.searchGoods(); + }, + handleCurrentChange(val) { + this.page.currentPage = val; + this.searchGoods(); + }, remoteMethod(query) { if (query !== '') { this.vipLoading = true; @@ -1266,7 +1323,8 @@ console.log("校验业绩是否大于订单收款金额"); let jsqMap={}; let isOk=true; - this.achieveList.forEach(achieve=>{ + for(let i=0 ; i< this.achieveList.length; i++){ + let achieve=this.achieveList[i]; if(!isNaN(achieve.goodsCash) ){ key=achieve.achieveType+achieve.orderItem.uuid; if(!jsqMap[key]){ @@ -1284,7 +1342,7 @@ isOk=false; return; } - }); + }; console.log("isOk",isOk); return isOk; }, @@ -1302,7 +1360,7 @@ title: "打印订单", area: ['250px', '550px'], maxmin: true, - content: [basePath + '/admin/redirect/hive/beautySalon/print-order?id=' + this.order.id], + content: [basePath + '/admin/order/printOrder?id=' + this.order.id], cancel: function (index, layero) { _this.closeFram(); } @@ -1399,6 +1457,10 @@ return false; } + if(!this.checkAchieveMoney()){ + return ; + } + _this.dialogSettleVisible = true; } } -- Gitblit v1.9.1