From a13a93a493e7e94e28b2225c26e7e13b52d3288c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 12 Apr 2021 19:48:45 +0800 Subject: [PATCH] 20210412 tqq环境 --- zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html | 338 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 266 insertions(+), 72 deletions(-) diff --git a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html index 4f2f4e6..d3566c6 100644 --- a/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html +++ b/zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-order.html @@ -23,39 +23,48 @@ <script type="text/javascript" charset="utf-8" th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script> <style> + .panel-body{ + overflow: hidden; + } .paginationStyle{ background: #ffffff; padding: 10px 10px; margin: 0px 0px 10px 0px; text-align: right; } + + .box-card { + width: 240px; + border-radius: 5px; + color: #ffffff; + padding: 2px 0px; + margin-right: 20px; + cursor: pointer; + float: left; + text-align: center; + } + .el-card__body { + padding: 0px; + } </style> </head> <body> -<div class="ibox-content" id="app" v-cloak> - <el-row style="padding: 10px;"> - <el-row :gutter="100"> - <el-col class="line" :span="8" style="text-align: center"> - <el-card class="box-card" style="background-color: #eee;border-radius: 30px;"> +<div class="panel-body" id="app" v-cloak> + <el-row> + <el-card class="box-card" style="background-color: #0f9aef;"> + <div style="padding:10px;font-size: 20px;">¥{{basicdetail.balance}}</div> <div>待计算金额</div> - <div style="padding: 5px;font-size: 18px;">¥{{basicdetail.balance}}</div> </el-card > - </el-col> - <el-col class="line" :span="8" style="text-align: center"> - <el-card class="box-card" style="background-color: #eee;border-radius: 30px;"> + <el-card class="box-card" style="background: #67C23A;"> + <div style="padding:10px;font-size: 20px;">{{basicdetail.waitNum}}人</div> <div>待结算人数</div> - <div style="padding: 5px;font-size: 18px;">{{basicdetail.waitNum}}人</div> </el-card > - </el-col> - <el-col class="line" :span="8" style="text-align: center"> - <el-card class="box-card" style="background-color: #eee;border-radius: 30px;"> + <el-card class="box-card" style="background: rgb(121, 187, 255);"> + <div style="padding:10px;font-size: 20px;">{{basicdetail.waitOrderNum}}笔</div> <div>待结算订单</div> - <div style="padding: 5px;font-size: 18px;">{{basicdetail.waitOrderNum}}笔</div> </el-card > - </el-col> </el-row> - </el-row> <el-row> <el-tabs v-model="activeName" > <el-tab-pane label="分销订单" name="first"> @@ -63,8 +72,46 @@ <el-col :span="6"> <el-button type="primary" @click="setOrderDone()">批量结算</el-button> </el-col> + <el-dialog title="本次结算分销订单" :visible.sync="dialogFormVisible"> + <el-form :model="formSelect"> + <el-form-item label="结算金额:" :label-width="formLabelWidth"> + <div style="font-size: 30px;color: #ff0000">¥{{formSelect.jsje}}</div> + </el-form-item> + <el-form-item label="结算订单:" :label-width="formLabelWidth"> + <div style="font-size: 20px;">{{formSelect.jsdds}}单</div> + </el-form-item> + <el-form-item label="结算人数:" :label-width="formLabelWidth"> + <div style="font-size: 20px;">{{formSelect.jsrs}}人</div> + </el-form-item> + <el-form-item label="结算方式:" :label-width="formLabelWidth"> + <el-radio-group v-model="formSelect.jsfs"> + <el-radio-button label="1">线下结算</el-radio-button> + <el-radio-button label="2">微信余额支付</el-radio-button> + </el-radio-group> + </el-form-item> + <el-form-item label="备注:" :label-width="formLabelWidth"> + <el-input type="textarea" :rows="3" v-model="formSelect.bz" autocomplete="off"></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="dialogFormVisible = false">取 消</el-button> + <el-button type="primary" @click="updateSetOrderDone()">确 定</el-button> + </div> + </el-dialog> + <el-col> <el-form ref="form" :model="form" inline > + <el-form-item label="订单状态" prop="ddType"> + <el-select v-model="form.ddType" placeholder="订单状态"> + <el-option + v-for="item in ddTypeList" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> <el-form-item label="结算状态" prop="orderType"> <el-select v-model="form.orderType" placeholder="结算状态"> <el-option @@ -77,28 +124,34 @@ </el-select> </el-form-item> <el-form-item prop="userName" > - <el-input v-model="form.userName" placeholder="请输入推广员名称"></el-input> - </el-form-item> - <el-form-item prop="userName" > - <el-input v-model="form.userName" placeholder="选择订单时间范围"></el-input> - </el-form-item> - <el-form-item prop="userName" > - <el-input v-model="form.userName" placeholder="请输入会员姓名"></el-input> - </el-form-item> - <el-form-item prop="userName" > - <el-input v-model="form.userName" placeholder="请输入结算编号"></el-input> - </el-form-item> - <el-form-item prop="userName" > - <el-input v-model="form.userName" placeholder="请输入订单号"></el-input> - </el-form-item> - <el-form-item prop="userName" > <el-input v-model="form.userName" placeholder="请输入客户名称"></el-input> + </el-form-item> + <el-form-item prop="tgy" > + <el-input v-model="form.tgy" placeholder="请输入推广员名称"></el-input> + </el-form-item> + <el-form-item prop="ddsj" > + <el-date-picker + v-model="form.ddsj" + type="datetimerange" + :picker-options="pickerOptions" + range-separator="至" + start-placeholder="开始日期" + end-placeholder="结束日期" + align="right"> + </el-date-picker> + </el-form-item> + <el-form-item prop="jsbh" > + <el-input v-model="form.jsbh" placeholder="请输入结算编号"></el-input> + </el-form-item> + <el-form-item prop="ddh" > + <el-input v-model="form.ddh" placeholder="请输入订单号"></el-input> </el-form-item> <el-button type="primary" @click="search" >搜索</el-button> <el-button @click="resetForm('form')">重置</el-button> </el-form> </el-col> </el-row> + <el-row class="table-style" > <el-table ref="multipleTable" :data="fxyList.rows" @@ -111,23 +164,41 @@ </el-table-column> <el-table-column prop="orderNo" - label="订单编号"> + label="订单编号" + show-overflow-tooltip> </el-table-column> <el-table-column prop="actualBalance" label="实付金额(元)"> </el-table-column> <el-table-column + label="订单状态"> + <template slot-scope="scope"> + <span v-if="scope.row.orderState == 1">待付款</span> + <span v-if="scope.row.orderState == 2">待配送</span> + <span v-if="scope.row.orderState == 3">待收货</span> + <span v-if="scope.row.orderState == 4">待评价</span> + <span v-if="scope.row.orderState == 5">已评价</span> + <span v-if="scope.row.orderState == 6">申请退款</span> + <span v-if="scope.row.orderState == 7">退款成功</span> + <span v-if="scope.row.orderState == 8">退款拒绝</span> + <span v-if="scope.row.orderState == 9">已取消</span> + </template> + </el-table-column> + <el-table-column prop="address" - label="下单门店"> + label="下单门店" + show-overflow-tooltip> </el-table-column> <el-table-column prop="custom" - label="客户"> + label="客户" + show-overflow-tooltip> </el-table-column> <el-table-column prop="parentSale" - label="推广员"> + label="推广员" + show-overflow-tooltip> </el-table-column> <el-table-column label="收益类型"> @@ -150,22 +221,21 @@ </el-table-column> <el-table-column prop="settleNo" - label="结算编号"> + label="结算编号" + show-overflow-tooltip + width="150"> </el-table-column> <el-table-column prop="settleTime" - label="结算时间"> + label="结算时间" + show-overflow-tooltip> </el-table-column> <el-table-column prop="settler" - label="结算人"> + label="结算人" + show-overflow-tooltip> </el-table-column> - <el-table-column label="操作" width="240"> - <template slot-scope="scope"> - <el-row style="display:flex;"> - <el-button type="primary" size="mini" @click="openExaminesaleMan(scope.row)">查看订单</el-button> - </el-row> - </template> + <el-table-column label="操作"> </el-table-column> </el-table> </el-row> @@ -186,6 +256,17 @@ <el-row style="display:flex;align-items: center;text-align: right;"> <el-col> <el-form ref="formOrder" :model="formOrder" inline > + <el-form-item prop="jssj" > + <el-date-picker + v-model="formOrder.jssj" + type="datetimerange" + :picker-options="pickerOptions" + range-separator="至" + start-placeholder="开始日期" + end-placeholder="结束日期" + align="right"> + </el-date-picker> + </el-form-item> <el-form-item prop="userName"> <el-input v-model="formOrder.userName" placeholder="请输入结算人姓名"></el-input> </el-form-item> @@ -198,7 +279,8 @@ <el-table :data="orderLevelList.rows" :height="height" stripe:true @sort-change="sortChange"> <el-table-column prop="orderNo" - label="结算编号"> + label="结算编号" + show-overflow-tooltip> </el-table-column> <el-table-column prop="actualBalance" @@ -214,11 +296,13 @@ </el-table-column> <el-table-column prop="setTime" - label="结算时间"> + label="结算时间" + show-overflow-tooltip> </el-table-column> <el-table-column prop="setMan" - label="结算人"> + label="结算人" + show-overflow-tooltip> </el-table-column> <el-table-column label="结算方式"> @@ -229,7 +313,8 @@ </el-table-column> <el-table-column prop="remark" - label="备注"> + label="备注" + show-overflow-tooltip> </el-table-column> </el-table> </el-row> @@ -268,14 +353,53 @@ el: '#app', data: { activeName: 'first', - height:'calc(100vh - 240px)', - //基本数据 + height:'calc(100vh - 340px)', + //--基本数据 basicdetail:{}, - //--分销订单 - //选中操作 + //--时间选择 + pickerOptions: { + shortcuts: [{ + text: '最近一周', + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); + picker.$emit('pick', [start, end]); + } + }, { + text: '最近一个月', + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); + picker.$emit('pick', [start, end]); + } + }, { + text: '最近三个月', + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); + picker.$emit('pick', [start, end]); + } + }] + }, + + //--批量审核选中操作 multipleSelection: [], orderIds:"", orderNums:0, + orderNumsDones:0, + dialogFormVisible: false, + formSelect: { + jsje: '', + jsdds: '', + jsrs: '', + jsfs: 2, + bz: '' + }, + formLabelWidth: '120px', + //--分销订单 // 条件查询结算状态 orderTypeList:[ {value:'',label:'全部'}, @@ -283,9 +407,26 @@ {value:2,label:'已结算'}, {value:3,label:'已退款'} ], + ddTypeList:[ + {value:'',label:'全部'}, + {value:1,label:'待付款'}, + {value:2,label:'待配送'}, + {value:3,label:'待收货'}, + {value:4,label:'待评价'}, + {value:5,label:'已评价'}, + {value:6,label:'申请退款'}, + {value:7,label:'退款成功'}, + {value:8,label:'退款拒绝'}, + {value:9,label:'已取消'} + ], form:{ userName:'', orderType:'', + ddType:'', + ddsj: '', + tgy:'', + jsbh:'', + ddh:'', order:'', sort:'' }, @@ -298,6 +439,7 @@ //--结算记录 formOrder:{ userName:'', + jssj:'', order:'', sort:'' }, @@ -319,6 +461,7 @@ let _this = this; _this.loadFenxiaoOrderBasic(); _this.loadFenxiaoOrderList(); + _this.loadSetOrderList(); }, //--基础数据 loadFenxiaoOrderBasic() { @@ -346,14 +489,23 @@ callback: function (data) { _this.orderLevelList.rows = data.rows; _this.orderLevelList.total = data.total; + _this.loadFenxiaoOrderBasic(); } }); }, //查询参数 getRequestParamOrder(){ let _this = this; + let startTime = ''; + let endTime = ''; + if(_this.formOrder.jssj.length > 0){ + startTime = _this.formOrder.jssj[0]; + endTime = _this.formOrder.jssj[1]; + } return { userName:_this.formOrder.userName, + startTime:startTime, + endTime:endTime, order:_this.formOrder.order, sort:_this.formOrder.sort, } @@ -388,14 +540,28 @@ callback: function (data) { _this.fxyList.rows = data.rows; _this.fxyList.total = data.total; + _this.loadFenxiaoOrderBasic(); } }); }, //查询参数 getRequestParam(){ let _this = this; + let startTime = ''; + let endTime = ''; + if(_this.form.ddsj.length > 0){ + startTime = _this.form.ddsj[0]; + endTime = _this.form.ddsj[1]; + } return { + orderType:_this.form.orderType, + ddType:_this.form.ddType, + tgy:_this.form.tgy, userName:_this.form.userName, + jsbh:_this.form.jsbh, + startTime:startTime, + endTime:endTime, + ddh:_this.form.ddh, order:_this.form.order, sort:_this.form.sort, } @@ -436,35 +602,57 @@ //拼接出一个逗号隔开的字符串 let submitDate = ""; let orderNum = 0; + let orderBalance = 0; + let orderNumsDone = 0; + let name = []; for (let i = 0; i < _this.multipleSelection.length; i++) { let order = _this.multipleSelection[i]; - let orderId = order.id; - orderNum = orderNum + 1; - submitDate = submitDate +orderId+","; + //待审核的计算到弹出框 + let orderState = order.orderState; + let settleType = order.settleType; + if((orderState == 4 || orderState == 5) && settleType == 1){ + let orderId = order.id; + name.push(order.customUserId); + orderNum = orderNum + 1; + orderBalance = orderBalance + order.profitBalance; + submitDate = submitDate +orderId+","; + }else{ + orderNumsDone = orderNumsDone + 1; + } } + _this.orderNumsDones = orderNumsDone; _this.orderIds = submitDate; _this.orderNums = orderNum; + _this.formSelect.jsdds = orderNum; + _this.formSelect.jsje = orderBalance; + _this.formSelect.jsrs = _this.distinctFunction(name).length; + }, + //去重 + distinctFunction(name){ + var arr = name, + result = [], + i, + j, + len = arr.length; + for(i = 0; i < len; i++){ + for(j = i + 1; j < len; j++){ + if(arr[i] === arr[j]){ + j = ++i; + } + } + result.push(arr[i]); + } + return result; }, //批量结算 setOrderDone() { - if(this.orderNums > 0){ - this.$confirm('是否结算选中的'+this.orderNums+'条数据?', '批量结算', { - distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别 - confirmButtonText: '确认', - cancelButtonText: '取消', - type: 'info' - }).then(() => { - //通过 - this.updateSetOrderDone(); - }).catch(action => { - //不通过 - if(action === 'cancel'){ - console.log("cancel"); - }else{ - //关闭按钮 - console.log("close"); - } + if(this.orderNumsDones > 0){ + this.$message({ + message: '【待评价】和【已评价】状态下的【待结算】订单,才允许结算', + type: 'warning' }); + }else if(this.orderNums > 0){ + this.dialogFormVisible = true; }else{ this.$message({ message: '至少需要选中一条数据', @@ -476,6 +664,11 @@ let _this = this; let obj = { orderIds: _this.orderIds, + setType: _this.formSelect.jsfs, + manCount: _this.formSelect.jsrs, + orderCount: _this.formSelect.jsdds, + amount: _this.formSelect.jsje, + remark: _this.formSelect.bz, } AjaxProxy.requst({ app: _this, @@ -484,6 +677,7 @@ callback: function (data) { _this.$message.success(data.info); _this.loadFenxiaoOrderList(); + _this.dialogFormVisible = false; } }); }, -- Gitblit v1.9.1