| | |
| | | </el-col> |
| | | <el-col :span="14" style="text-align: right;"> |
| | | <label>¥ {{order.total}}</label> |
| | | <label>¥ {{(order.zkTotal - order.total).toFixed(2)}}</label> |
| | | <!-- 退款订单不能显示为负数 --> |
| | | <label>¥ {{(order.zkTotal - order.total>0?order.zkTotal - order.total:0).toFixed(2)}}</label> |
| | | <label>¥ {{order.zkTotal}}</label> |
| | | <label>¥ {{order.arrears}}</label> |
| | | <label>¥ {{order.repay}}</label> |
| | |
| | | label="折扣单价"> |
| | | </el-table-column> |
| | | <el-table-column label="小计" :formatter="calOrderTotalFormatter"> |
| | | </el-table-column> |
| | | <el-table-column label="支付方式" prop="payMethod"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | |
| | | label="收款"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="t3" |
| | | prop="payMethod" |
| | | label="支付方式"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="achieveType" |
| | | label="业绩类型"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="t1" |
| | | prop="goodsCash" |
| | | label="原业绩"> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | prop="zkTotal" |
| | | 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 |
| | | prop="t3" |
| | | label="业绩类型"> |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.t3" placeholder="请选择业绩类型"> |
| | | <el-select v-model="scope.row.achieveType" placeholder="请选择业绩类型"> |
| | | <el-option |
| | | v-for="item in achieveTypeList" |
| | | :key="item.key" |
| | | :key="item.value" |
| | | :label="item.value" |
| | | :value="item.key"> |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | |
| | | prop="achieve" |
| | | label="业绩"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.t1"></el-input> |
| | | <el-input @input="checkAchieveMoney" v-model="scope.row.goodsCash"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | |
| | | size="mini" |
| | | @click="delAchieve(scope.$index, scope.row)">删除 |
| | | </el-button> |
| | | <el-tooltip content="分享业绩" placement="top"> |
| | | <el-button @click="shareAchieve(scope.$index, scope.row)" icon="el-icon-share" |
| | | size="mini" type="primary"></el-button> |
| | | <el-tooltip content="分享业绩" placement="top" v-if="!scope.row.isShare"> |
| | | <el-button @click="shareAchieve(scope.$index, scope.row)" icon="el-icon-share" |
| | | size="mini" type="primary"></el-button> |
| | | </el-tooltip> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <el-table-column |
| | | prop="payMethod" |
| | | label="支付方式"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="cardName" |
| | | label="储值卡名称"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="flowNo" |
| | |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <!-- <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: 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="confirmSubmit">确认收款</el-button> |
| | |
| | | activeName : "first", |
| | | circleUrl : "https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png", |
| | | userList : [], |
| | | achieveTypeList : [ |
| | | { |
| | | "key" : "现金业绩", |
| | | "value" : "现金业绩" |
| | | },{ |
| | | "key" : "划扣业绩", |
| | | "value" : "划扣业绩" |
| | | }, |
| | | ], |
| | | achieveTypeList : [], |
| | | orderItems : [], |
| | | achieveItems : [], |
| | | flowItems : [], |
| | |
| | | isRefund : false, |
| | | isReturnAchieve : false, |
| | | totalRefund : "", |
| | | itemSimplePayMethods:[{ |
| | | value: '现金', |
| | | label:'现金', |
| | | },{ |
| | | value: '划扣', |
| | | label:'划扣', |
| | | }], |
| | | payMethods: [{ |
| | | value: '现金支付', |
| | | img: '/images/pay/cash.png', |
| | |
| | | created : function() { |
| | | let _this = this; |
| | | this.orderParam = /*[[${orderParam}]]*/ |
| | | this.queryOrderDetailData(this.orderParam); |
| | | var orderId = /*[[${orderId}]]*/ |
| | | var orderNo = /*[[${orderNo}]]*/ |
| | | |
| | | var param = {}; |
| | | if(orderId) { |
| | | param.id = orderId; |
| | | } else { |
| | | param.orderNo = orderNo; |
| | | } |
| | | this.queryOrderDetailData(param); |
| | | // 业绩类型 |
| | | AjaxProxy.requst({ |
| | | app: _this, |
| | | url: basePath + '/admin/customerDictionary/getListByParentCode/YJLX', |
| | | callback: function (data) { |
| | | _this.achieveTypeList = data.rows; |
| | | } |
| | | }); |
| | | }, |
| | | methods : { |
| | | calRefund() { |
| | |
| | | let _this = this; |
| | | AjaxProxy.requst({ |
| | | app: _this, |
| | | data: {id: param, orderNo:param}, |
| | | data: param, |
| | | contentType: 'application/x-www-form-urlencoded', |
| | | url: basePath + '/admin/order/findOrderDetailByIdOrNo', |
| | | callback: function (data) { |
| | |
| | | } |
| | | |
| | | _this.data.items = dataItems; |
| | | _this.data.zkTotal = _this.refundMoney; |
| | | _this.data.total = _this.total; |
| | | |
| | | |
| | | AjaxProxy.requst({ |
| | | app: _this, |
| | | data: _this.data, |
| | |
| | | callback: function (data) { |
| | | _this.isRefund = false; |
| | | _this.dialogSettleVisible = false; |
| | | _this.queryOrderDetailData(_this.data.oldOrderId); |
| | | var param = {}; |
| | | param.id = _this.data.oldOrderId; |
| | | _this.queryOrderDetailData(param); |
| | | } |
| | | }); |
| | | |
| | |
| | | let _this = this; |
| | | let items = this.orderItems; |
| | | _this.refundMoney = 0; |
| | | _this.total = 0; |
| | | |
| | | for(var i = 0; i < items.length; i++) { |
| | | let item = items[i] |
| | |
| | | } |
| | | |
| | | _this.refundMoney += parseFloat(item.refundPrice * item.refundCount); |
| | | //记录一下未优惠之前的价格 |
| | | _this.total += parseFloat(item.price * item.refundCount); |
| | | } |
| | | } |
| | | |
| | |
| | | _this.dialogSettleVisible = true; |
| | | }, |
| | | calOrderTotalFormatter(row, column) { |
| | | return row.count * row.price; |
| | | return (row.count * row.zkPrice).toFixed(2); |
| | | }, |
| | | getVipMoneyCards() { |
| | | let _this = this; |
| | |
| | | }, |
| | | saveAchieve() { |
| | | let _this = this; |
| | | AjaxProxy.requst({ |
| | | app: _this, |
| | | data: _this.achieveItems, |
| | | contentType: 'application/json', |
| | | url: basePath + '/admin/achieve/add', |
| | | callback: function (data) { |
| | | _this.$message.success(data.info); |
| | | } |
| | | }); |
| | | }, |
| | | shareAchieve(index, row) { |
| | | var row2 = JSON.parse(JSON.stringify(row)); |
| | | row2.id = null; |
| | | row2.isShare = true; |
| | | this.achieveItems.push(row2); |
| | | }, |
| | | delAchieve(index, row) { |
| | | let _this = this; |
| | | if (row.id) { |
| | | if(_this.checkAchieveMoney()){ |
| | | AjaxProxy.requst({ |
| | | app: _this, |
| | | url: basePath + '/admin/achieve/del?id=' + row.id, |
| | | data: _this.achieveItems, |
| | | contentType: 'application/json', |
| | | url: basePath + '/admin/achieve/add', |
| | | callback: function (data) { |
| | | _this.$message.success(data.info); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }, |
| | | |
| | | shareAchieve(index, row) { |
| | | var row2 = JSON.parse(JSON.stringify(row)); |
| | | row2.id = null; |
| | | row2.isShare = true; |
| | | this.achieveItems.splice(index+1,0,row2); |
| | | this.calculationAchieve(); |
| | | }, |
| | | //业绩均分订单金额 |
| | | calculationAchieve(){ |
| | | console.log("计算业绩"); |
| | | let jsqMap={}; |
| | | this.achieveItems.forEach(achieve=>{ |
| | | key=achieve.achieveType+achieve.orderItemId; |
| | | if(!jsqMap[key]){ |
| | | jsqMap[key]=1; |
| | | }else{ |
| | | jsqMap[key]++; |
| | | } |
| | | }); |
| | | this.achieveItems.forEach(achieve=>{ |
| | | key=achieve.achieveType+achieve.orderItemId; |
| | | achieve.goodsCash=(achieve.zkTotal/jsqMap[key]).toFixed(2); |
| | | }); |
| | | }, |
| | | //校验业绩是否大于订单收款金额 |
| | | checkAchieveMoney(){ |
| | | console.log("校验业绩是否大于订单收款金额"); |
| | | let jsqMap={}; |
| | | let isOk=true; |
| | | for(let i=0 ; i< this.achieveItems.length; i++){ |
| | | let achieve=this.achieveItems[i]; |
| | | if(!isNaN(achieve.goodsCash) ){ |
| | | key=achieve.achieveType+achieve.orderItemId; |
| | | if(!jsqMap[key]){ |
| | | jsqMap[key]=parseFloat(achieve.goodsCash); |
| | | }else{ |
| | | jsqMap[key]=jsqMap[key]+parseFloat(achieve.goodsCash); |
| | | } |
| | | if(jsqMap[key]>achieve.zkTotal) { |
| | | this.$message.error("【"+achieve.goodsName + "】业绩分配金额大于支付金额"); |
| | | isOk = false; |
| | | break; |
| | | } |
| | | }else{ |
| | | this.$message.error("【"+achieve.goodsName + "】业绩分配金额请填写数字"); |
| | | isOk=false; |
| | | break; |
| | | } |
| | | } |
| | | console.log("isOk",isOk); |
| | | return isOk; |
| | | }, |
| | | //删除业绩 |
| | | delAchieve(index, row) { |
| | | let _this = this; |
| | | _this.achieveItems.splice(index, 1); |
| | | this.calculationAchieve(); |
| | | }, |
| | | checkAchieveIsDel(items) { |
| | | var achieveIds = []; |
| | |
| | | title: "打印订单", |
| | | area: ['250px', '550px'], |
| | | maxmin: true, |
| | | content: [basePath + '/admin/redirect/hive/beautySalon/print-order?id=' + id] |
| | | content: [basePath + '/admin/order/printOrder?id=' + id] |
| | | }); |
| | | }, |
| | | handleClick() { |