Commit 11472c06 authored by 黄奎's avatar 黄奎
parents be4abfbd d72f9867
......@@ -93,11 +93,11 @@
<img @click="pending(scope.row,2)" v-if="scope.row.AuditStatus==1" class="app-order-icon"
src="../../../assets/img/userman/nopass.png" alt="">
</el-tooltip>
<el-tooltip class="item" effect="dark" content="添加备注" placement="top-start" v-if="scope.row.AuditStatus==2">
<img @click="openRemark(5,scope.row)" style="width:32px;height:32px" src="../../../assets/img/userman/add_remark.png" alt="" v-if="scope.row.AuditStatus==2">
<el-tooltip class="item" effect="dark" content="修改备注" placement="top-start" v-if="scope.row.AuditStatus==2">
<img @click="pending(scope.row,3)" style="width:32px;height:32px" src="../../../assets/img/userman/add_remark.png" alt="" v-if="scope.row.AuditStatus==2">
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top-start" v-if="scope.row.AuditStatus==2">
<img @click="Delete(3,scope.row)" style="width:32px;height:32px" src="../../../assets/img/userman/del.png" alt="" v-if="scope.row.AuditStatus==2">
<img @click="pending(scope.row,4)" style="width:32px;height:32px" src="../../../assets/img/userman/del.png" alt="" v-if="scope.row.AuditStatus==2">
</el-tooltip>
<el-tooltip class="item" effect="dark" content="修改微店佣金" placement="top-start" v-if="scope.row.AuditStatus==2">
<img @click="openYongjin(scope.row)" style="width:32px;height:32px" src="../../../assets/img/userman/edit.png" alt="" v-if="scope.row.AuditStatus==2">
......@@ -131,6 +131,19 @@
<el-button size="small" type="primary" @click="setCommission">确 定</el-button>
</span>
</el-dialog>
<!-- 修改备注 -->
<el-dialog title="提示" :visible.sync="reasonDig" width="500px">
<el-form :model="RemarkMsg" ref="RemarkMsg" label-width="0">
<p style="margin-bottom:10px">请输入备注</p>
<el-form-item>
<el-input size="small" v-model="RemarkMsg.Remark" type="textarea" :rows="3"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="reasonDig = false">取 消</el-button>
<el-button size="small" type="primary" @click="czsubmitForm()" :loading="tjloading">确 定</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
......@@ -140,6 +153,8 @@
return {
loading:false,
yjDialog:false,
reasonDig:false,
tjloading:false,
value:'',
options:[],
tableData:[],
......@@ -160,7 +175,8 @@
Commission:0
},
yjNickName:'',
TotalCommission:''
TotalCommission:'',
RemarkMsg:{},
};
},
created() {
......@@ -206,6 +222,7 @@
this.yjMsg.Commission=row.Commission?row.Commission:0.00;
this.yjDialog=true;
},
//修改佣金
setCommission(){
this.apipost("/api/SmallShops/SetSmallShopsCommission",this.yjMsg, res => {
......@@ -228,8 +245,16 @@
text = '同意审核!'
}else if(type==2){
text = '拒绝审核!'
}else if(type == 4){
text = '是否删除当前微店!'
}
let that=this;
if(type ==3){
msg.Remark = row.Remark;
that.RemarkMsg = msg
that.reasonDig = true;
}else {
that.$confirm(text, {
confirmButtonText: '确定',
cancelButtonText: '取消',
......@@ -249,8 +274,26 @@
}).catch(() => {
});
}
},
czsubmitForm(){
this.tjloading= true;
this.apipost('/api/SmallShops/SetSmallShopsAudit',this.RemarkMsg,
res => {
this.tjloading= false
if (res.data.resultCode === 1) {
this.reasonDig= false
this.getList();
this.Success(res.data.message)
} else {
this.Error(res.data.message);
}
},
null
);
}
},
mounted() {
......
<template>
<div class="wdOrder distributionOrder">
<div class="head-title">
订单列表
<div style="float:right;">
<el-button @click="getExport(1)" style="margin: -5px 0 0 20px;" size="small" type="primary">批量导出</el-button>
</div>
</div>
<div class="content">
<div>
<span>下单时间:</span>
<el-date-picker
v-model="dateList"
@change="msg.pageIndex=1,getList()"
size="small"
type="datetimerange"
range-separator="至"
value-format="yyyy-MM-dd HH:mm:ss"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
<span style="margin-left:15px">所属平台:</span>
<el-select class="w120" @change="msg.pageIndex=1,getList()" style="margin-right: 10px;" v-model="msg.OrderSource" size="small" placeholder="请选择">
<el-option label="全部平台" :value="0"></el-option>
<el-option
v-for="item in platList"
:key="item.Id"
:label="item.Name"
:value="item.Id">
</el-option>
</el-select>
<span style="margin-left:15px">配送方式:</span>
<el-select class="w120" @change="msg.pageIndex=1,getList()" style="margin-right: 10px;" v-model="msg.DeliveryMethod" size="small" placeholder="请选择">
<el-option label="全部订单" :value="0"></el-option>
<el-option
v-for="item in deliveryList"
:key="item.Id"
:label="item.Name"
:value="item.Id">
</el-option>
</el-select>
<el-input @clear="msg.pageIndex=1,getList()" @keyup.enter.native="msg.pageIndex=1,getList()" clearable style="margin-left:15px;width:300px" class="input-with-select" placeholder="请输入内容" v-model="msgVal" size="small">
<el-select class="pendSelect" @change="ChangeId" v-model="msgId" slot="prepend" placeholder="请选择">
<el-option
v-for="item in option"
:key="item.Id"
:label="item.name"
:value="item.Id">
</el-option>
</el-select>
</el-input>
</div>
<div>
<el-tabs style="margin-top:20px" v-model="activeName" @tab-click="handleClick">
<el-tab-pane :dataId="0" label="全部" name="first"></el-tab-pane>
<el-tab-pane v-for="item in orderTypeList" :key="item.Id" :dataId="item.Id" :label="item.Name"></el-tab-pane>
</el-tabs>
<div class="app-order-title">
<div style="width: 55%;">商品信息</div>
<div style="width: 20%;">实付金额</div>
<div style="width: 20%;">分销状态</div>
<div style="width: 20%;">分销情况</div>
</div>
<div v-loading="loading" class="app-order-list">
<el-card v-for="(item,index) in tableData" :key="index" class="app-order-item" shadow="never">
<div slot="header" class="clearfix">
<div flex="cross:center" class="app-order-head">
<div class="app-order-time">{{item.CreateDate}}</div>
<div class="app-order-user">
<span class="app-order-time">订单号:</span>{{item.OrderNo}}({{item.OrderId}})
</div>
<div flex="cross:center" class="app-order-user">
<img v-if="item.OrderSource==1" src="../../../assets/img/userman/wx.png" alt="">
<span>{{item.UserName}}({{item.UserId}})</span>
</div>
<div flex="dir:left wrap:wrap" class="app-order-offline">
<div v-if="item.DeliveryMethodName && item.DeliveryMethodName!=''" class="express-send-box">
<span class="el-tag el-tag--small el-tag--light">{{item.DeliveryMethodName}}</span>
</div>
<el-tag v-if="item.PaymentTime==''" style="margin-left:5px" size="small" type="warning">未付款</el-tag>
<el-tag v-else style="margin-left:5px" size="small" type="warning">已付款</el-tag>
<el-tag v-if="item.DeliveryTime=='' && item.ReceivingTime==''" style="margin-left:5px" size="small" type="success">未发货</el-tag>
<el-tag v-if="item.DeliveryTime!='' && item.ReceivingTime==''" style="margin-left:5px" size="small" type="success">待发货</el-tag>
<el-tag v-if="item.ReceivingTime!=''" style="margin-left:5px" size="small" type="success">已收货</el-tag>
<el-tag v-if="item.ReceivingTime!=''" style="margin-left:5px" size="small" type="success">已完成</el-tag>
<el-tag v-if="item.OrderStatus==7" style="margin-left:5px" size="small" type="danger">已取消</el-tag>
</div>
</div>
</div>
<div class="app-order-body">
<div class="goods-item" style="width: 55%;">
<div v-for="(list,index2) in item.DetailList" :key="index2" class="goods">
<!-- <img :src="getIconLink(list.CoverImagePath)" class="goods-image"> -->
<el-image :src="getIconLink(list.CoverImagePath)" class="goods-image" :preview-src-list="[getIconLink(list.CoverImagePath)]"></el-image>
<div flex="dir:left">
<div class="goods-info">
<div class="goods-name">
<div class="app-ellipsis">
<div class="vue-line-clamp" style="word-break: break-all; -webkit-line-clamp: 2;">
<span class="el-tag el-tag--warning el-tag--mini el-tag--light is-hit" style="margin-right: 5px;">
{{list.OrderTypeName}}
</span>
{{list.GoodsName}}
</div>
</div>
</div>
<div style="margin-bottom: 24px;">
<span style="margin-right: 10px;">
规格:
<el-tag v-for="(item2,index2) in list.SpecificationList" :key="index2" style="top: 5px;position: relative;margin-right: 5px; max-width: 300px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;" size="mini">
{{item2}}
</el-tag>
</span>
</div>
<div class="app-order-goods-price">
<span>{{list.SmallShopsCommission.Remark}}</span>
</div>
</div>
<div flex="dir:left box:mean" style="width: 250px;">
<div flex="cross:center main:center">
<span>小计:¥{{list.Final_Price}}
</span>
</div>
<div flex="cross:center main:center">数量:x {{list.Number}}</div>
</div>
</div>
</div>
</div>
<div flex="cross:center" class="app-order-info" style="width: 15%;">
<div flex="dir:top">
<div>
<span style="font-size: 16px;">{{item.Income}}</span>
<el-popover
placement="bottom"
title=""
width="200"
trigger="hover"
:content="'商品小计 '+ item.Income">
<img slot="reference" src="../../../assets/img/userman/price.png" alt="">
</el-popover>
</div>
<div class="express-price"><span>
<span style="color: rgb(144, 147, 153);">(含运费¥{{item.FreightMoney}})
</span>
</span></div>
<div><el-tag effect="dark" type="warning" size="mini">{{item.PaymentWayName}}</el-tag></div>
</div>
</div>
<div class="goods-item" style="width: 10%;">
<div v-for="(list,index2) in item.DetailList" :key="index2" class="goods" flex="main:center cross:center" >
<div v-if="list.SmallShopsCommission.CommissionState==1&&list.SmallShopsCommission.Commission!=null && list.SmallShopsCommission.Commission!='' && list.SmallShopsCommission.Commission!=0">待结算</div>
<div v-if="list.SmallShopsCommission.CommissionState==2&&list.SmallShopsCommission.Commission!=null && list.SmallShopsCommission.Commission!='' && list.SmallShopsCommission.Commission!=0">已结算</div>
</div>
</div>
<div class="goods-item" style="width: 20%;">
<div v-for="(list,index2) in item.DetailList" :key="index2" class="goods">
<div class="share-title" style="margin-bottom: 10px; font-size: 15px;" v-if="list.SmallShopsCommission.UserName!=null && list.SmallShopsCommission.UserName!=''">
<span style='color: #999999;margin-right: 10px;'>昵称:</span>
<span>{{list.SmallShopsCommission.UserName}}</span>
</div>
<div flex="dir:left cross:center" style="margin-bottom: 10px;" v-if="list.SmallShopsCommission.Name!=null && list.SmallShopsCommission.Name!='' " >
<span style='color: #999999;margin-right: 10px;'>姓名:</span>
<div>{{list.SmallShopsCommission.Name}}</div>
</div>
<div flex="dir:left cross:center" class=" share-price" style="margin-bottom: 10px;" v-if="list.SmallShopsCommission.Commission!=null && list.SmallShopsCommission.Commission!='' && list.SmallShopsCommission.Commission!=0 " >
<span style='color: #999999;margin-right: 10px;'>佣金:</span>
<div>{{list.SmallShopsCommission.Commission}}</div>
<img v-if='list.SmallShopsCommission.CommissionState==1' @click="EditCommission(list)" style="margin-left:8px"
src="../../../assets/img/userman/edit1.png" alt="">
</div>
</div>
</div>
</div>
<div class="card-footer">
<div>
<div flex="dir:left">
<div class="address-box">收货人: {{item.Consignee}} 电话:{{item.Mobile}} 地址:{{item.ShoppingAddress}}</div>
</div>
</div>
<div v-if="item.ReRemark && item.ReRemark!=''" class="seller-remark">商家备注:{{item.ReRemark}}</div>
</div>
</el-card>
<el-card v-if="tableData.length==0" class="app-order-item" shadow="never">
<div style="height:100px;line-height:100px;text-align:center">
暂无订单信息
</div>
</el-card>
</div>
<el-pagination style="text-align:right"
background
@current-change="handleCurrentChange"
:page-size="msg.pageSize"
:current-page.sync="msg.pageIndex"
layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
<!-- 选择导出信息 -->
<el-dialog
title="选择导出信息"
:visible.sync="dialogVisible"
width="960px">
<el-form style="border: 1px solid #F0F2F7;" :model="addMsg" ref="addMsg" label-width="100px">
<div style="box-sizing: border-box;background-color: #F3F5F6;width: 100%;padding-left: 20px;height: 50px;line-height: 50px;">
<el-checkbox v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
</div>
<div style="margin: 15px 0;"></div>
<div style="padding: 10px 25px 20px;">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
<el-checkbox style="margin-bottom:10px;width:135px" v-for="city in cities" :label="city.Id" :key="city.Name">{{city.Name}}</el-checkbox>
</el-checkbox-group>
</div>
</el-form>
<div style="text-align:right;margin-top:20px">
<el-button size="small" v-if="commonNum==1" type="primary" @click="Export">导出</el-button>
</div>
</el-dialog>
<el-dialog title="佣金修改" :visible.sync="priceDig" width="600px">
<el-form :model="editCommissionMsg" ref="costMsg" label-width="80px">
<el-form-item label="昵称">
<span>{{editUserName}}</span>
</el-form-item>
<el-form-item label="佣金修改">
<el-input size="small" v-model="editCommissionMsg.Commission" step="1" min="0" type="number">
<template slot="append"></template>
</el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="priceDig = false">取 消</el-button>
<el-button size="small" type="primary" @click="costForm()">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
name: "wdOrder",
data(){
return{
orderStatusList:[],
checkAll: false,
checkedCities: [],
cities: [],
cityOptions: [],
addMsg:{},
dialogVisible:false,
activeName:'first',
msgVal:'',
dateList:[],
msg:{
pageIndex:1,
pageSize:15,
OrderSource:0,
OrderType:0,
DeliveryMethod:0,
OrderId:0,
StartTime:'',
EndTime:'',
OrderStatus:0,
OrderNo:'',
UserName:'',
UserId:0,
GoodsName:'',
DistributionUserId:'',
},
platList:[],
option:[
{Id:1,name:'订单号'},
{Id:2,name:'用户名'},
{Id:3,name:'用户ID'},
{Id:4,name:'商品名称'},
{Id:5,name:'返佣用户id'}
],
msgId:1,
ExpressList:[],
provinceList:[],
cityList:[],
areaList:[],
tableData:[],
total:0,
deliveryList:[],
orderTypeList:[],
loading:false,
checkfhList:[],
moresendDig:false,
moresendtips:'',
hszDig:false,
hszMsg:{},
commonNum:0,
editCommissionMsg:{
OrderDetailId:0,
Commission:0
},
editUserName:'',
priceDig: false
}
},
created(){
if (this.$route.query.UserId) {//如果有UserId过来 查询显示用户id
this.msg.UserId = this.$route.query.UserId;
this.msgId = 3;
this.msgVal = this.msg.UserId
}
this.getList();
this.getplat();
// this.getDown();
this.getOrderStatus();
this.getDelivery();
this.getOrderType();
},
mounted(){},
methods:{
ChangeId(val){
let msgVal=this.msgVal;
if(val==1){
this.msg.OrderNo=msgVal;
this.msg.UserName='';
this.msg.UserId='';
this.msg.GoodsName='';
this.msg.DistributionUserId = 0
}
if(val==2){
this.msg.OrderNo='';
this.msg.UserName=msgVal;
this.msg.UserId='';
this.msg.GoodsName='';
this.msg.DistributionUserId = 0
}
if(val==3){
this.msg.OrderNo='';
this.msg.UserName='';
this.msg.UserId=msgVal;
this.msg.GoodsName='';
this.msg.DistributionUserId = 0
}
if(val==4){
this.msg.OrderNo='';
this.msg.UserName='';
this.msg.UserId='';
this.msg.GoodsName=msgVal;
this.msg.DistributionUserId = 0
}
if(val==5){
this.msg.OrderNo='';
this.msg.UserName='';
this.msg.UserId='';
this.msg.GoodsName='';
this.msg.DistributionUserId = msgVal
}
},
//点击批量导出或粉象导出
getExport(num){
this.dialogVisible=true;
this.commonNum=num;
if(num==1){
this.getDown();
}
},
Export(){
this.msg.ExcelEnumIds=this.checkedCities;
let msg = JSON.parse(JSON.stringify(this.msg));
this.GetLocalFile(
"/api/order/GetSmallShopsOrdersToExcel",
msg,
"微店返佣订单.xls"
);
},
getDown(){
this.cityOptions=[];
this.apipost("/api/order/GetSmallShopsOrdersExportEnumList",{}, res => {
this.cities=res.data.data;
let data=res.data.data;
data.forEach(item=>{
this.cityOptions.push(item.Id)
})
})
},
//显示更多
showMoreDis(item){
item.isShow=false;
this.$forceUpdate();
},
//点击收起
hideMoreDis(item){
item.isShow=true;
this.$forceUpdate();
},
handleCheckAllChange(val) {
this.checkedCities = val ? this.cityOptions : [];
},
handleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
},
handleClick(val){
let dataId=val.$attrs.dataId;
this.msg.OrderType=dataId;
this.msg.pageIndex=1
this.getList();
},
//判断字段是否全为空格
getPanduan(val){
if(val.trim().length === 0){
return false;
}else{
return true;
}
},
getList(){
this.ChangeId(this.msgId);
if(!this.msgVal || this.msgVal==''){
this.msg.OrderNo='';
this.msg.UserName='';
this.msg.UserId=0;
this.msg.GoodsName='';
this.msg.DistributionUserId = 0
}
if(this.dateList && this.dateList.length>0){
this.msg.StartTime=this.dateList[0];
this.msg.EndTime=this.dateList[1];
}else{
this.msg.StartTime='';
this.msg.EndTime='';
}
this.loading=true;
this.apipost("/api/order/GetSmallShopsOrdersPageList", this.msg, res => {
this.loading=false;
if(res.data.resultCode==1){
this.total=res.data.data.count;
let pageData=res.data.data.pageData;
this.tableData=pageData;
if(this.tableData){
this.tableData.forEach(x=>{
x.isShow=true;
})
}
}
})
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
getOrderStatus(){
this.apipost("/api/order/GetOrderStatusEnumList",{}, res => {
this.orderStatusList=res.data.data;
})
},
getDelivery(){
this.apipost("/api/order/GetOrderDeliveryMethodEnumList",{}, res => {
this.deliveryList=res.data.data;
})
},
getOrderType(){
this.apipost("/api/order/GetOrderTypeEnumList",{}, res => {
this.orderTypeList=res.data.data;
})
},
getplat(){
this.apipost("/api/user/GetMemberUserSourceEnumList",{}, res => {
this.platList=res.data.data;
})
},
EditCommission(item){
this.editCommissionMsg.OrderDetailId = item.Id;
this.editCommissionMsg.Commission = item.SmallShopsCommission.Commission;
this.editUserName= item.SmallShopsCommission.UserName;
this.priceDig = true
},
costForm(){
if(this.editCommissionMsg.Commission==''){
this.Error('佣金不能为空');
return
}
this.apipost("/api/order/SetSmallShopsOrdersCommission", this.editCommissionMsg, res => {
this.priceDig = false
if (res.data.resultCode == 1) {
this.getList();
this.Success(res.data.message);
} else {
this.Error(res.data.message);
}
})
}
},
};
</script>
<style>
.wdOrder .pendSelect .el-input {
width: 100px;
}
.hszDigClass .el-dialog__body{
padding: 0 10px 20px 0;
}
.sendDigClass .el-dialog__body{
padding: 0 10px 10px 0;
}
.app-order-list .card-footer .seller-remark {
margin-top: 10px;
color: #E6A23C;
}
.app-send .el-table__header-wrapper th {
background-color: #f5f7fa;
}
.app-send .title-box .text {
background-color: #FEFAEF;
color: #E6A23C;
padding: 6px;
}
.app-send .title-box {
margin: 15px 0;
}
.app-order-list .app-order-item .el-button {
padding: 0;
}
.app-order-list .card-footer .address-box {
margin-right: 10px;
}
.app-order-list .card-footer {
background: #F3F5F6;
padding: 10px 20px;
}
.app-order-list .app-order-info > div {
width: 100%;
}
.app-order-icon {
margin-right: 5%;
margin-bottom: 10px;
cursor: pointer;
}
.app-order-body {
display: flex;
flex-wrap: nowrap;
}
.app-order-list .app-order-info {
display: flex;
align-items: center;
width: 15%;
text-align: center;
border-right: 1px solid #EBEEF5;
justify-content: center;
}
.app-order-list .el-card__body {
padding: 0;
}
.app-order-list .express-price {
height: 30px;
line-height: 30px;
}
.app-order-list .goods-item {
border-right: 1px solid #EBEEF5;
}
.app-order-list .app-order-info {
display: flex;
align-items: center;
width: 15%;
text-align: center;
border-right: 1px solid #EBEEF5;
}
.app-order-list .goods-item .goods .app-order-goods-price {
height: 24px;
margin-top: 10px;
position: absolute;
bottom: 20px;
left: 125px;
}
.app-order-list .goods-item .goods-info .goods-name {
margin-bottom: 5px;
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.app-order-list .goods-item .goods-info {
width: 50%;
margin-top: 5px;
}
.app-order-list .goods-image {
height: 90px;
width: 90px;
margin-right: 15px;
float: left;
}
.app-order-list .goods-item .goods {
position: relative;
padding: 20px;
min-height: 130px;
border-top: 1px solid #EBEEF5;
}
.app-order-list .goods-item .goods:first-of-type {
border-top: 0;
}
.wdOrder .app-order-list .app-order-item:hover .app-order-btnimg{
display: block;
}
.wdOrder .app-order-list .app-order-item:hover{
border: 1px solid #3399FF;
}
.wdOrder .app-order-btnimg {
position: absolute;
top: 20px;
right:25px;
color: #7C868D;
font-size: 18px;
padding: 0;
display: none;
}
.wdOrder .app-order-offline {
margin-left: 30px;
margin-top: -2px;
}
.wdOrder .app-order-user img {
height: 20px;
width: 20px;
display: block;
float: left;
border-radius: 50%;
margin-right: 10px;
}
.wdOrder .app-order-list .app-order-time {
color: #909399;
}
.wdOrder .app-order-user {
margin-left: 30px;
}
.wdOrder .app-order-list .app-order-time {
color: #909399;
}
.wdOrder .app-order-list .app-order-item .el-card__header {
padding: 0;
}
.wdOrder .app-order-list .app-order-item {
margin-top: 20px;
min-width: 750px;
}
.wdOrder .app-order-list .app-order-head {
padding: 20px;
background-color: #F3F5F6;
color: #303133;
min-width: 750px;
display: flex;
position: relative;
}
.wdOrder .app-order-title div {
text-align: center;
}
.wdOrder .app-order-title {
background-color: #F3F5F6;
height: 40px;
line-height: 40px;
display: flex;
min-width: 750px;
}
.wdOrder .content{
background: #fff;
margin-top: 10px;
padding: 20px;
box-sizing: border-box;
}
.distri_more{
color:#409EFF;
margin-bottom:20px;
cursor: pointer;
display:block;
}
</style>
<template>
<div class="disWithdrawal distributors">
<div class="content">
<div style="background:#fff;padding:0 20px;position:relative">
<el-button @click="dialogVisible=true" class="pldc" size="small" type="primary">批量导出</el-button>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="全部" name="first" :dataId="0"></el-tab-pane>
<el-tab-pane v-for="(item,index) in AuditStatusList" :dataId="item.Id" :key="index" :label="item.Name" :name="item.Name"></el-tab-pane>
</el-tabs>
</div>
<div style="margin-top:20px;padding:20px;background:#fff;">
<el-table
class="table_samll WithTable"
:data="tableData"
v-loading="loading"
border
style="width: 100%;margin:0 0 20px 0">
<el-table-column
prop="address"
width="227"
label="基本信息">
<template slot-scope="scope">
<div class="app-image" :style="{backgroundImage:'url(' + scope.row.Photo + ')',backgroundSize:'cover'}"></div>
<div flex="dir:left cross:center">
{{scope.row.UserName}}
</div>
<img v-if="scope.row.Source==1" style="width:24px;height:24px" src="../../../assets/img/userman/wx.png" alt="" class="platform-img">
</template>
</el-table-column>
<el-table-column
prop="Moblie"
label="账户信息">
<template slot-scope="scope">
<span>提现方式:{{scope.row.WithdrawalWayName}}</span>
</template>
</el-table-column>
<el-table-column
prop="Moblie"
label="提现信息">
<template slot-scope="scope">
<p>用户申请提现金额:{{scope.row.AppliedMoney}}</p>
<p>手续费:{{scope.row.Fee}}</p>
<p>实际打款金额:<span class="cred">{{scope.row.RemitMoney}}</span></p>
</template>
</el-table-column>
<el-table-column
prop="AuditStatusName"
label="状态">
</el-table-column>
<el-table-column
prop="name"
label="时间">
<template slot-scope="scope">
<p v-if="scope.row.CreateDate && scope.row.CreateDate!=''">申请时间:{{scope.row.CreateDate}}</p>
<p v-if="scope.row.AuditDate && scope.row.AuditDate!='' && scope.row.AuditStatus!=1">审核时间:{{scope.row.AuditDate}}</p>
</template>
</el-table-column>
<el-table-column
prop="AuditRemark"
label="备注">
<template slot-scope="scope">
<p v-if="scope.row.AuditRemark && scope.row.AuditRemark!=''">审核备注:{{scope.row.AuditRemark}}</p>
<p v-if="scope.row.RemitRemark && scope.row.RemitRemark!=''">打款备注:{{scope.row.RemitRemark}}</p>
</template>
</el-table-column>
<el-table-column
prop="address"
width="200"
label="操作">
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" content="打款" placement="top-start">
<img v-if="scope.row.AuditStatus==2" @click="openReason(2,scope.row)" style="width:32px;height:32px" src="../../../assets/img/userman/pay.png" alt="">
</el-tooltip>
<el-tooltip class="item" effect="dark" content="同意" placement="top-start">
<img v-if="scope.row.AuditStatus==1" @click="openReason(1,scope.row)" style="width:32px;height:32px" src="../../../assets/img/userman/pass.png" alt="">
</el-tooltip>
<el-tooltip class="item" effect="dark" content="拒绝" placement="top-start">
<img v-if="scope.row.AuditStatus==1 || scope.row.AuditStatus==2" @click="openReason(3,scope.row)" style="width:32px;height:32px" src="../../../assets/img/userman/nopass.png" alt="">
</el-tooltip>
</template>
</el-table-column>
</el-table>
</div>
<el-pagination style="text-align:right"
background
@current-change="handleCurrentChange"
:page-size="msg.pageSize"
:current-page.sync="msg.pageIndex"
layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
<!-- 选择导出信息 -->
<el-dialog
title="选择导出信息"
:visible.sync="dialogVisible"
width="960px">
<el-form style="border: 1px solid #F0F2F7;" :model="addMsg" ref="addMsg" label-width="100px">
<div style="box-sizing: border-box;background-color: #F3F5F6;width: 100%;padding-left: 20px;height: 50px;line-height: 50px;">
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
</div>
<div style="margin: 15px 0;"></div>
<div style="padding: 10px 25px 20px;">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
<el-checkbox style="margin-bottom:10px;;width:135px" v-for="city in cities" :label="city.Id" :key="city.Name">{{city.Name}}</el-checkbox>
</el-checkbox-group>
</div>
</el-form>
<div style="text-align:right;margin-top:20px">
<el-button size="small" type="primary" @click="Export">导出</el-button>
</div>
</el-dialog>
<!-- 审批同意或拒绝单个修改等级 -->
<el-dialog title="提示" :visible.sync="reasonDig" width="500px">
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="0">
<p style="margin-bottom:10px">请输入备注</p>
<el-form-item>
<el-input size="small" v-model="addMsg.Remark"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="reasonDig = false">取 消</el-button>
<el-button size="small" type="primary" @click="czsubmitForm('addMsg')" :loading="tjloading">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
adduserDig:false,
remarkDig:false,
plDig:false,
activeName:'first',
czType:1,
changeState:false,
loading:false,
tjloading:false,
checkAll: false,
checkedCities: [],
cities: [],
cityOptions: [],
isIndeterminate: true,
dialogVisible:false,
value:'',
options:[],
tableData:[],
msg:{
pageIndex:1,
pageSize:15,
AuditStatus:0,
UserId:0,
},
total:0,
platList:[],
memberGradeList:[],
userrules:{
UserId: [
{ required: true, message: '请选择用户', trigger: 'change' }
],
},
rules:{
Type: [
{ required: true, message: '请选择类型', trigger: 'change' }
],
Integral: [
{ required: true, message: '请输入积分', trigger: 'blur' }
],
},
addMsg:{
RemitId:0,
Type:1,
Remark:'',
ErpEmpId:0
},
imgurl:'',
AuditStatusList:[],
reasonDig:false,
DropdownList:[],
checktableList:[],
checllen:0,
usermsg:{
pageIndex:1,
pageSize:20,
Name:'',
Source:0,
MemberGrade:0,
Id:0,
Moblie:''
},
userData:[],
adduserMsg:{
UserId:'',
IsFormSelfApplication:2,
Name:'',
Mobile:'',
},
};
},
created() {
if(this.$route.query.UserId){
this.msg.UserId=this.$route.query.UserId;
}
let currentUser = this.getLocalStorage()
this.addMsg.ErpEmpId = currentUser.ERPEmpId
this.getList();
this.getplat();
this.getDown();
this.GetMemberGradeList();
this.GetAuditStatus();
this.GetDropdownList();
},
methods: {
openReason(num,row){
this.addMsg.Remark='';
this.addMsg.Type=num;
this.addMsg.RemitId=row.Id;
this.reasonDig=true;
},
handleClick(val){
this.msg.AuditStatus=val.$attrs.dataId;
this.msg.pageIndex=1
this.getList();
},
czsubmitForm (formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let cmd="/api/SmallShops/SetSmallShopsRemitAudit";
this.tjloading = true
this.apipost(cmd,this.addMsg,
res => {
if (res.data.resultCode === 1) {
this.getList();
this.Success(res.data.message)
this.reasonDig=false;
this.tjloading = false
} else {
this.Error(res.data.message);
this.tjloading = false
}
},
null
);
} else {
return false;
}
});
},
openChangeDig(){
this.changeState=true;
setTimeout(()=>{
this.$refs.mychild.InitData(this.czType);
},10)
},
Export(){
this.msg.ExcelEnumIds=this.checkedCities;
let msg = JSON.parse(JSON.stringify(this.msg));
this.GetLocalFile(
"/api/user/GetDistributorRemitListToExcel",
msg,
"分销提现.xls"
);
},
ChangeOpenidState(index,row){
this.tableData[index].OpenIdState=!this.tableData[index].OpenIdState;
},
getList(){
this.loading=true;
this.apipost("/api/SmallShops/GetSmallShopsRemitPageList", this.msg, res => {
this.loading=false;
if(res.data.resultCode==1){
this.total=res.data.data.count;
let pageData=res.data.data.pageData;
this.tableData=pageData;
}
})
},
GetDropdownList(){
let msg={
Id:0,
Grade:0,
Name:'',
Enabled:0,
}
this.apipost("/api/user/GetDistributorGradeDropdownList",msg, res => {
this.DropdownList=res.data.data;
})
},
GetAuditStatus(){
this.apipost("/api/user/GetDistributorRemitAuditStatusEnumList",{}, res => {
this.AuditStatusList=res.data.data;
})
},
getDown(){
this.cityOptions=[];
this.apipost("/api/user/GetDistributorRemitExportEnumList",{}, res => {
this.cities=res.data.data;
let data=res.data.data;
data.forEach(item=>{
this.cityOptions.push(item.Id)
})
})
},
GetMemberGradeList(){
let msg={
Grade:0,
Name:'',
Enabled:0,
};
this.apipost("/api/user/GetMemberGradeList",msg, res => {
this.memberGradeList=res.data.data;
})
},
getplat(){
this.apipost("/api/user/GetMemberUserSourceEnumList",{}, res => {
this.platList=res.data.data;
})
},
handleCheckAllChange(val) {
this.checkedCities = val ? this.cityOptions : [];
this.isIndeterminate = false;
},
handleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
},
mounted() {
}
};
</script>
<style>
.disWithdrawal .WithTable thead.is-group th{
background: #fff!important;
}
.disWithdrawal .el-tabs__item{
height: 56px!important;
line-height: 56px!important;
}
.disWithdrawal .el-tabs__header{
height: 56px!important;
margin:0!important;
}
.disWithdrawal .pldc{
position: absolute;
right: 20px;
margin-top:15px;
z-index: 10000;
}
.table_samll .cell img{
margin-right:10px;
}
.plxg .el-dialog__body{
padding-top:10px!important;
}
.plxg .app-batch .batch-box-left div {
padding: 5px 0;
margin: 5px 0;
cursor: pointer;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.plxg .app-batch .batch-div-active {
background-color: #e2e2e2;
}
.plxg .app-batch .batch-box-right {
padding: 5px 20px;
}
.plxg .app-batch .batch-box-left {
width: 120px;
border-right: 1px solid #e2e2e2;
padding: 0 20px;
}
.plxg .app-batch .batch-remark {
margin-top: 5px;
color: #999999;
font-size: 14px;
}
.distributors .absoSpan{
position: absolute;
top:22px;
left:100px;
}
.table_samll td, .table_samll th{
padding: 8px 0!important;
font-size:12px;
}
.disWithdrawal .remark_name {
color: #888888;
font-size: 12px;
margin-left: 10px;
float: right;
}
.disWithdrawal .app-image{
background-position: center center;
width: 50px;
height: 50px;
border-radius:0%;
float: left;
margin-right: 8px;
}
.disWithdrawal .blue{
color:#409EFF;
}
.disWithdrawal .content .searchInput{
border: 1px solid #DCDFE6;
border-radius: 4px;
}
.disWithdrawal .content .searchInput .el-input__inner{
border:none;outline:none;
height: 30px;
line-height: 30px;
}
.disWithdrawal .content .searchInput{
line-height: normal;
display: inline-table;
width: 100%;
border-collapse: separate;
border-spacing: 0;
width:250px;
margin-right: 20px;
}
.disWithdrawal .content{
margin-top:10px;
/* padding: 20px; */
box-sizing: border-box;
}
</style>
......@@ -32,15 +32,17 @@
<el-date-picker v-model="dateList" @change="msg.pageIndex=1,getList()" size="small" type="datetimerange"
range-separator="至" value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="下单开始日期" end-placeholder="下单结束日期">
</el-date-picker>
<el-button type="primary" size="mini" @click="getList()" style="margin-left:10px;position:relative;top:-1px;">查询</el-button>
</div>
<el-table :data="tableData" ref="multipleTable" v-loading="loading" border style="width: 100%"
@select="selectSingle" @select-all="selectAll">
<el-table :data="tableData" ref="multipleTable" v-loading="loading" border style="width: 100%">
<!-- <el-table-column type="selection" width="55">
</el-table-column> -->
<el-table-column width="55">
<template slot="header" slot-scope="scope">
<el-checkbox v-model="isCheckAll" @change="getCheckdData(tableData,'')"></el-checkbox>
<el-checkbox v-model="isCheckAll" @change="getCheckAll(tableData)"></el-checkbox>
</template>
<template slot-scope="scope">
<el-checkbox v-model="scope.row.isChecked" @change="getCheckdData(tableData,scope.row)"></el-checkbox>
<el-checkbox v-model="scope.row.isChecked" :disabled="scope.row.isCanCheck" @change="getSingleCheck(tableData,scope.row)"></el-checkbox>
</template>
</el-table-column>
<el-table-column prop="OrderNo" label="订单号/订单Id" width="200">
......@@ -111,10 +113,10 @@
<el-dialog title="修改" :visible.sync="updateDialog" width="400px">
<el-form label-width="50px">
<el-form-item label="数量" v-if="updateMsg.Type==1||updateMsg.Type==2">
<el-input size="small" v-model="updateMsg.LivePeopleNum"></el-input>
<el-input size="small" @keyup.native="checkInteger(updateMsg,'LivePeopleNum')" v-model="updateMsg.LivePeopleNum"></el-input>
</el-form-item>
<el-form-item label="金额" v-if="updateMsg.Type==1||updateMsg.Type==3">
<el-input size="small" v-model="updateMsg.LiveCommission"></el-input>
<el-input size="small" @keyup.native="checkPrice(updateMsg,'LiveCommission')" v-model="updateMsg.LiveCommission"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
......@@ -155,7 +157,6 @@
ERPEmpId: 0,
updateDialog: false,
isCheckAll: false, //全选
//修改信息
updateMsg: {
Ids: '',
......@@ -167,7 +168,11 @@
isSingleCheck: false, //有过单选
firstPeoNum: -1,
AccountList: [], //账户下拉
checkedDan: [] //选中数
checkedDan: [], //选中数
isCheckAll: false, //全选
findRow:{},
}
},
created() {
......@@ -197,14 +202,12 @@
this.loading = true;
this.apipost("/api/order/GetLiveGoodsOrderPageList", this.msg, res => {
this.loading = false;
console.log(res, 'res');
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
var myData = res.data.data.pageData;
var tempArray=[];
myData.forEach(x => {
x.isChecked = false;
x.isCanCheck=false;
})
this.tableData = JSON.parse(JSON.stringify(myData));
} else {
......@@ -232,6 +235,7 @@
this.getList();
this.Success(res.data.message);
this.ComCheckedArr = [];
this.findRow={};
} else {
this.Error(res.data.message);
}
......@@ -252,74 +256,64 @@
}
}
},
//单选
selectSingle(selection, row) {
this.isSingleCheck = true;
if (selection.length > 0) {
this.firstPeoNum = selection[0].LivePeopleNum;
selection.forEach(x => {
if (x.LivePeopleNum != this.firstPeoNum) {
this.$refs.multipleTable.toggleRowSelection(x);
this.Error('主播数量不一致,不能勾选!');
}
});
}
this.ComCheckedArr = selection;
},
getCheckdData(tabledata, row) {
console.log(tabledata, 'tabledata');
//自定义单选
getSingleCheck(tableData,row){
this.ComCheckedArr=[];
//单选
if (row) {
var findRow = tabledata.find(eItem => eItem.isChecked == true);
console.log("findRow", findRow);
if (findRow) {
tabledata.forEach(x => {
if (x.isChecked) {
if (x.LivePeopleNum != findRow.LivePeopleNum) {
this.Info("11111")
x.isChecked = false;
this.findRow = tableData.find(eItem => eItem.isChecked == true);
if(this.findRow){
tableData.forEach(x=>{
if(x.LivePeopleNum!=this.findRow.LivePeopleNum){
x.isCanCheck=true;
}
if(x.isChecked){
this.ComCheckedArr.push(x);
}
})
}
} else {
var findRow = tabledata[0];
if (findRow) {
tabledata.forEach(x => {
if (x.LivePeopleNum == findRow.LivePeopleNum) {
x.isChecked = this.isCheckAll;
this.ComCheckedArr.push(x);
}
}else{
tableData.forEach(x=>{
x.isCanCheck=false;
})
this.isCheckAll=false;
this.findRow={};
}
}
console.log(this.ComCheckedArr,'ComCheckedArr');
},
//多选
selectAll(selection) {
//自定义多选
getCheckAll(tableData){
this.ComCheckedArr=[];
if(this.isCheckAll){
//有过单选
this.$refs.multipleTable.clearSelection();
// this.$refs.multipleTable.toggleRowSelection(false);
this.ComCheckedArr = [];
if (this.isSingleCheck) {
selection.forEach(x => {
if (x.LivePeopleNum == this.firstPeoNum) {
this.$refs.multipleTable.toggleRowSelection(x, true);
if(JSON.stringify(this.findRow) != "{}"){
this.findRow = tableData.find(eItem => eItem.isChecked == true);
tableData.forEach(x=>{
if(x.LivePeopleNum==this.findRow.LivePeopleNum){
x.isChecked=true;
this.ComCheckedArr.push(x);
}else{
x.isCanCheck=true;
}
});
} else {
var firstPeoNum = selection[0].LivePeopleNum
selection.forEach(x => {
if (x.LivePeopleNum == firstPeoNum) {
this.$refs.multipleTable.toggleRowSelection(x, true);
})
}else{
if(tableData.length>0){
var firstData = tableData[0];
tableData.forEach(x=>{
if(x.LivePeopleNum==firstData.LivePeopleNum){
x.isChecked=true;
this.ComCheckedArr.push(x);
}else{
x.isCanCheck=true;
}
})
}
});
}
}else{
tableData.forEach(x=>{
x.isChecked=false;
x.isCanCheck=false;
})
this.findRow={};
}
},
//点击批量修改金额
batchUpMoney() {
if (this.ComCheckedArr == 0) {
......@@ -359,7 +353,8 @@
}
var _index = this.finMsg.AccountIds.indexOf(0);
if (_index > -1) {
this.Error('请选择第' + _index + '个账户');
this.Error('请选择第' + (_index+1) + '个账户');
return;
}
if (this.ComCheckedArr.length > 0) {
this.ComCheckedArr.forEach(x => {
......@@ -384,7 +379,6 @@
this.apipost("/api/Supplier/GetClientBankAccountList", {}, res => {
if (res.data.resultCode == 1) {
this.AccountList = res.data.data;
console.log(this.AccountList, 'AccountList');
} else {
this.Error(res.data.message)
}
......@@ -404,36 +398,4 @@
box-sizing: border-box;
}
.LiveOrder .LiveOrderTable {
width: 100%;
border-collapse: collapse;
}
.LiveOrder .LiveOrderTable tr th {
height: 48px;
font-size: 14px;
color: #909399;
border: 1px solid #EBEEF5;
font-weight: bold;
}
.LiveOrder .LiveOrderTable tr {
background: #fff;
text-align: center;
height: 50px;
}
.LiveOrder .LiveOrderTable tr td {
font-size: 14px;
border: 1px solid #EBEEF5;
}
.LiveOrder .fx_inner:hover td {
background-color: #F5F7FA;
}
.LiveOrder .LiveOrderTable td {
transition: background-color .25s ease;
}
</style>
......@@ -323,6 +323,18 @@ export default new Router({
name: 'wdExamine',
component: resolve => require(['@/components/UserMan/tinyMerchant/wdExamine'], resolve),
},
// 用户管理 微店订单
{
path: '/wdOrder',
name: 'wdOrder',
component: resolve => require(['@/components/UserMan/tinyMerchant/wdOrder'], resolve),
},
// 用户管理 微店提现
{
path: '/wdWithdrawal',
name: 'wdWithdrawal',
component: resolve => require(['@/components/UserMan/tinyMerchant/wdWithdrawal'], resolve),
},
// 商品管理 素材管理
{
path: '/materialMan',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment