From 31d69134d1bcaac9c50b6a57784aeb436d5bd75c Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Thu, 08 Apr 2021 19:21:10 +0800
Subject: [PATCH] 扫码登录
---
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