|
@@ -25,23 +25,31 @@
|
|
|
<el-main class="nopadding">
|
|
<el-main class="nopadding">
|
|
|
<el-container>
|
|
<el-container>
|
|
|
<el-aside width="300px" v-loading="loadMsg">
|
|
<el-aside width="300px" v-loading="loadMsg">
|
|
|
- <div class="chat-contact">
|
|
|
|
|
- <div :class="checkChat==index?'contact-item active':'contact-item'" v-for="(item,index) in chatContact" :key="index" @click="checkChatItem(index)">
|
|
|
|
|
- <div class="img"><el-image :src="item.avatar" fit="contain" style="width: 40px; height: 40px"></el-image></div>
|
|
|
|
|
- <div class="kefu-store">
|
|
|
|
|
- <div class="name">{{item.user.nickname}} <span v-if="item.last.num > 0">{{item.last.num}}</span></div>
|
|
|
|
|
- <div class="desc" v-if="item.last.type=='text'">{{item.last.content}}</div>
|
|
|
|
|
- <div class="desc" v-if="item.last.type=='order'">[订单消息]</div>
|
|
|
|
|
- <div class="desc" v-if="item.last.type=='image'">[图片消息]</div>
|
|
|
|
|
- <div class="desc" v-if="item.last.type=='video'">[视频消息]</div>
|
|
|
|
|
- <div class="desc" v-if="item.last.type=='pay'">[支付消息]</div>
|
|
|
|
|
- <div class="desc" v-if="item.last.type=='address'">[收集地址]</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="time">
|
|
|
|
|
- {{item.last.create_at}}
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <el-container class="flex-column">
|
|
|
|
|
+ <div class="aside-tabs bg">
|
|
|
|
|
+ <div :class="orderData.tab=='user'?'aside-tab-items active':'aside-tab-items'" @click="handleClick('user')">当前咨询</div>
|
|
|
|
|
+ <div :class="orderData.tab=='order'?'aside-tab-items active':'aside-tab-items'" @click="handleClick('order')">历史咨询</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <el-main class="nopadding">
|
|
|
|
|
+ <div class="chat-contact">
|
|
|
|
|
+ <div :class="checkChat==index?'contact-item active':'contact-item'" v-for="(item,index) in chatContact" :key="index" @click="checkChatItem(index)">
|
|
|
|
|
+ <div class="img"><el-image :src="item.user.avatar" fit="contain" style="width: 40px; height: 40px"></el-image></div>
|
|
|
|
|
+ <div class="kefu-store">
|
|
|
|
|
+ <div class="name">{{item.user.nickname}} <span v-if="item.last.num > 0">{{item.last.num}}</span></div>
|
|
|
|
|
+ <div class="desc" v-if="item.last.type=='text'">{{item.last.content}}</div>
|
|
|
|
|
+ <div class="desc" v-if="item.last.type=='order'">[订单消息]</div>
|
|
|
|
|
+ <div class="desc" v-if="item.last.type=='image'">[图片消息]</div>
|
|
|
|
|
+ <div class="desc" v-if="item.last.type=='video'">[视频消息]</div>
|
|
|
|
|
+ <div class="desc" v-if="item.last.type=='pay'">[支付消息]</div>
|
|
|
|
|
+ <div class="desc" v-if="item.last.type=='address'">[收集地址]</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="time">
|
|
|
|
|
+ {{item.last.create_at}}
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-main>
|
|
|
|
|
+ </el-container>
|
|
|
</el-aside>
|
|
</el-aside>
|
|
|
<el-container v-if="chatItem">
|
|
<el-container v-if="chatItem">
|
|
|
<el-header><div class="msg-title">与{{ chatItem.user.nickname }}的对话</div></el-header>
|
|
<el-header><div class="msg-title">与{{ chatItem.user.nickname }}的对话</div></el-header>
|
|
@@ -143,31 +151,6 @@
|
|
|
</div>
|
|
</div>
|
|
|
</el-popover>
|
|
</el-popover>
|
|
|
</div>
|
|
</div>
|
|
|
- <!-- <div class="emoji-item">
|
|
|
|
|
- <el-popover placement="top" :width="300" trigger="click">
|
|
|
|
|
- <template #reference>
|
|
|
|
|
- <div class="item-btn">
|
|
|
|
|
- <el-image style="width:26px;height:26px;" src="https://jymini.oss-cn-guangzhou.aliyuncs.com/pc/money.svg"></el-image>
|
|
|
|
|
- <div class="name">补差价</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </template>
|
|
|
|
|
- <el-form :model="priceForm" :rules="rules" ref="priceForm" label-position="top">
|
|
|
|
|
- <el-form-item label="名称" prop="name" class="label-item">
|
|
|
|
|
- <el-input v-model="priceForm.name" placeholder="请输入" clearable />
|
|
|
|
|
- <div class="el-form-item-msg"></div>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="差价金额" prop="price" class="label-item">
|
|
|
|
|
- <el-input v-model="priceForm.price" placeholder="请输入" clearable>
|
|
|
|
|
- <template #append>元</template>
|
|
|
|
|
- </el-input>
|
|
|
|
|
- <div class="el-form-item-msg"></div>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item>
|
|
|
|
|
- <el-button type="primary" :loading="isSaveing" @click="submitPrice()">确定发送</el-button>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-form>
|
|
|
|
|
- </el-popover>
|
|
|
|
|
- </div> -->
|
|
|
|
|
</div>
|
|
</div>
|
|
|
<el-input
|
|
<el-input
|
|
|
type="textarea"
|
|
type="textarea"
|
|
@@ -224,9 +207,13 @@
|
|
|
<div class="m-order-item">
|
|
<div class="m-order-item">
|
|
|
<div class="order-img"><el-image style="width: 80px;height: 80px;" :src="msgOrder.img" fit="fit"></el-image></div>
|
|
<div class="order-img"><el-image style="width: 80px;height: 80px;" :src="msgOrder.img" fit="fit"></el-image></div>
|
|
|
<div class="order-info">
|
|
<div class="order-info">
|
|
|
- <div class="title">{{msgOrder.product.product_name}}</div>
|
|
|
|
|
|
|
+ <div class="title" style="padding: 0;">{{msgOrder.product.product_name}}</div>
|
|
|
|
|
+ <div class="desc" v-if="msgOrder.sku_name">规格:{{msgOrder.sku_name}}</div>
|
|
|
<div class="desc">{{msgOrder.order_sn}}</div>
|
|
<div class="desc">{{msgOrder.order_sn}}</div>
|
|
|
- <div class="price">{{this.$TOOL.money(msgOrder.price)}}</div>
|
|
|
|
|
|
|
+ <div class="price">
|
|
|
|
|
+ {{$TOOL.money(msgOrder.price)}}
|
|
|
|
|
+ <text v-if="msgOrder.custom_price > 0">差价:{{$TOOL.money(msgOrder.custom_price)}}</text>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="order-status-btn">
|
|
<div class="order-status-btn">
|
|
|
<div class="status info" v-if="msgOrder.status=='0'">未支付</div>
|
|
<div class="status info" v-if="msgOrder.status=='0'">未支付</div>
|
|
@@ -235,12 +222,15 @@
|
|
|
<div class="status danger" v-if="msgOrder.status=='3'">已退款</div>
|
|
<div class="status danger" v-if="msgOrder.status=='3'">已退款</div>
|
|
|
<div class="status warn" v-if="msgOrder.status=='4'">退款中</div>
|
|
<div class="status warn" v-if="msgOrder.status=='4'">退款中</div>
|
|
|
<div class="status warn" v-if="msgOrder.status=='5'">已关闭</div>
|
|
<div class="status warn" v-if="msgOrder.status=='5'">已关闭</div>
|
|
|
|
|
+ <div class="status success" v-if="msgOrder.product.product_type==11 && msgOrder.custom_price > 0 && msgOrder.custom_status ==1">差价已付</div>
|
|
|
|
|
+ <div class="status danger" v-if="msgOrder.product.product_type==11 && msgOrder.custom_price > 0 && msgOrder.custom_status ==0">差价未付</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="order-btn-group">
|
|
<div class="order-btn-group">
|
|
|
<div class="status info cus" @click="viewOrder(msgOrder)">查看详情</div>
|
|
<div class="status info cus" @click="viewOrder(msgOrder)">查看详情</div>
|
|
|
<div class="status primary cus" @click="sendAddress(msgOrder)">收集地址</div>
|
|
<div class="status primary cus" @click="sendAddress(msgOrder)">收集地址</div>
|
|
|
- <div class="status warn cus" v-if="msgOrder.product.product_type==11" @click="submitPrice(msgOrder)">补差价</div>
|
|
|
|
|
|
|
+ <div class="status warn cus" v-if="msgOrder.product.product_type==11 && msgOrder.custom_price > 0 && msgOrder.custom_status ==0" @click="submitPrice(msgOrder)">补差价</div>
|
|
|
|
|
+ <div class="status danger cus" v-if="msgOrder.product.product_type==11 && msgOrder.custom_price > 0 && msgOrder.custom_status ==0" @click="submitPrice(msgOrder)">改差价</div>
|
|
|
<div class="status danger cus" @click="sendOrder(msgOrder)">发送订单</div>
|
|
<div class="status danger cus" @click="sendOrder(msgOrder)">发送订单</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -250,8 +240,8 @@
|
|
|
<el-container>
|
|
<el-container>
|
|
|
<el-header>
|
|
<el-header>
|
|
|
<div class="order-search-input">
|
|
<div class="order-search-input">
|
|
|
- <el-input v-model="orderData.order" placeholder="搜索订单编号..." style="width: 100%;" />
|
|
|
|
|
- <el-button>搜索</el-button>
|
|
|
|
|
|
|
+ <el-input v-model="priceData.order" placeholder="搜索订单编号..." style="width: 100%;" />
|
|
|
|
|
+ <el-button @click="searchPrice">搜索</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</el-header>
|
|
</el-header>
|
|
|
<el-main>
|
|
<el-main>
|
|
@@ -268,7 +258,7 @@
|
|
|
<el-header>
|
|
<el-header>
|
|
|
<div class="order-search-input">
|
|
<div class="order-search-input">
|
|
|
<el-input v-model="orderData.order" placeholder="搜索订单编号..." style="width: 100%;" />
|
|
<el-input v-model="orderData.order" placeholder="搜索订单编号..." style="width: 100%;" />
|
|
|
- <el-button>搜索</el-button>
|
|
|
|
|
|
|
+ <el-button @click="searchOrder">搜索</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</el-header>
|
|
</el-header>
|
|
|
<el-main>
|
|
<el-main>
|
|
@@ -278,8 +268,12 @@
|
|
|
<div class="order-img"><el-image style="width: 80px;height: 80px;" :src="item.img" fit="fit"></el-image></div>
|
|
<div class="order-img"><el-image style="width: 80px;height: 80px;" :src="item.img" fit="fit"></el-image></div>
|
|
|
<div class="order-info">
|
|
<div class="order-info">
|
|
|
<div class="title">{{item.product.product_name}}</div>
|
|
<div class="title">{{item.product.product_name}}</div>
|
|
|
|
|
+ <div class="desc" v-if="item.sku_name">规格:{{item.sku_name}}</div>
|
|
|
<div class="desc">{{item.order_sn}}</div>
|
|
<div class="desc">{{item.order_sn}}</div>
|
|
|
- <div class="price">{{this.$TOOL.money(item.price)}}</div>
|
|
|
|
|
|
|
+ <div class="price">
|
|
|
|
|
+ {{$TOOL.money(item.price)}}
|
|
|
|
|
+ <text v-if="item.custom_price > 0">差价:{{$TOOL.money(item.custom_price)}}</text>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="order-status-btn">
|
|
<div class="order-status-btn">
|
|
|
<div class="status info" v-if="item.status=='0'">未支付</div>
|
|
<div class="status info" v-if="item.status=='0'">未支付</div>
|
|
@@ -288,12 +282,15 @@
|
|
|
<div class="status danger" v-if="item.status=='3'">已退款</div>
|
|
<div class="status danger" v-if="item.status=='3'">已退款</div>
|
|
|
<div class="status warn" v-if="item.status=='4'">退款中</div>
|
|
<div class="status warn" v-if="item.status=='4'">退款中</div>
|
|
|
<div class="status warn" v-if="item.status=='5'">已关闭</div>
|
|
<div class="status warn" v-if="item.status=='5'">已关闭</div>
|
|
|
|
|
+ <div class="status success" v-if="item.product.product_type==11 && item.custom_price > 0 && item.custom_status ==1">差价已付</div>
|
|
|
|
|
+ <div class="status danger" v-if="item.product.product_type==11 && item.custom_price > 0 && item.custom_status ==0">差价未付</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="order-btn-group">
|
|
<div class="order-btn-group">
|
|
|
<div class="status info cus" @click="viewOrder(item)">查看详情</div>
|
|
<div class="status info cus" @click="viewOrder(item)">查看详情</div>
|
|
|
<div class="status primary cus" @click="sendAddress(item)">收集地址</div>
|
|
<div class="status primary cus" @click="sendAddress(item)">收集地址</div>
|
|
|
- <div class="status warn cus" v-if="item.product.product_type==11" @click="submitPrice(item)">补差价</div>
|
|
|
|
|
|
|
+ <div class="status warn cus" v-if="item.product.product_type==11 && item.custom_price > 0 && item.custom_status ==0" @click="submitPrice(item)">补差价</div>
|
|
|
|
|
+ <div class="status danger cus" v-if="item.product.product_type==11 && item.custom_price > 0 && item.custom_status ==0" @click="submitPrice(item)">改差价</div>
|
|
|
<div class="status danger cus" @click="sendOrder(item)">发送订单</div>
|
|
<div class="status danger cus" @click="sendOrder(item)">发送订单</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -406,7 +403,8 @@ export default {
|
|
|
list:[],
|
|
list:[],
|
|
|
loading:false,
|
|
loading:false,
|
|
|
total:0,
|
|
total:0,
|
|
|
- tab:"user"
|
|
|
|
|
|
|
+ tab:"user",
|
|
|
|
|
+ order:""
|
|
|
},
|
|
},
|
|
|
priceData:{
|
|
priceData:{
|
|
|
page:1,
|
|
page:1,
|
|
@@ -414,6 +412,7 @@ export default {
|
|
|
list:[],
|
|
list:[],
|
|
|
loading:false,
|
|
loading:false,
|
|
|
total:0,
|
|
total:0,
|
|
|
|
|
+ order:""
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
@@ -470,8 +469,24 @@ export default {
|
|
|
this.getOrderList();
|
|
this.getOrderList();
|
|
|
break;
|
|
break;
|
|
|
case "price":
|
|
case "price":
|
|
|
|
|
+ this.priceData.page = 1;
|
|
|
|
|
+ this.priceData.list = [];
|
|
|
|
|
+ this.getOrderPrice();
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
|
|
+ },
|
|
|
|
|
+ searchOrder(){
|
|
|
|
|
+ this.orderData.page = 1;
|
|
|
|
|
+ this.orderData.list = [];
|
|
|
|
|
+ this.getOrderList();
|
|
|
|
|
+ },
|
|
|
|
|
+ searchPrice(){
|
|
|
|
|
+ this.priceData.page = 1;
|
|
|
|
|
+ this.priceData.list = [];
|
|
|
|
|
+ this.getOrderPrice();
|
|
|
|
|
+ },
|
|
|
|
|
+ getOrderPrice(){
|
|
|
|
|
+
|
|
|
},
|
|
},
|
|
|
viewOrder(data){
|
|
viewOrder(data){
|
|
|
data.order = data.out_order_no;
|
|
data.order = data.out_order_no;
|
|
@@ -505,11 +520,14 @@ export default {
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- async submitPrice(){
|
|
|
|
|
|
|
+ async submitPrice(data){
|
|
|
var { priceForm,$message } = this;
|
|
var { priceForm,$message } = this;
|
|
|
- var validate = await this.$refs.priceForm.validate().catch(()=>{});
|
|
|
|
|
- if(!validate){ return false }
|
|
|
|
|
|
|
+ if (data.custom_status == 1) return $message.error("该订单差价已完成支付")
|
|
|
|
|
+ // var validate = await this.$refs.priceForm.validate().catch(()=>{});
|
|
|
|
|
+ // if(!validate){ return false }
|
|
|
this.isSaveing = true;
|
|
this.isSaveing = true;
|
|
|
|
|
+ priceForm.name = "订单差额补款";
|
|
|
|
|
+ priceForm.price = parseInt(data.custom_price) / 100;
|
|
|
priceForm.type = "pay";
|
|
priceForm.type = "pay";
|
|
|
priceForm.groupId = this.chatItem.poi_id
|
|
priceForm.groupId = this.chatItem.poi_id
|
|
|
priceForm.openid = this.chatItem.openid
|
|
priceForm.openid = this.chatItem.openid
|
|
@@ -752,10 +770,11 @@ export default {
|
|
|
thumbnail: item.content
|
|
thumbnail: item.content
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|
|
|
|
|
+ console.log("item",item)
|
|
|
const message = {
|
|
const message = {
|
|
|
groupId: item.poi_id,
|
|
groupId: item.poi_id,
|
|
|
senderData: {
|
|
senderData: {
|
|
|
- avatar:item.avatar,
|
|
|
|
|
|
|
+ avatar:item.source==2?item.avatar:item.user.avatar,
|
|
|
name:item.source==2?item.nick.truename:item.user.nickname
|
|
name:item.source==2?item.nick.truename:item.user.nickname
|
|
|
},
|
|
},
|
|
|
senderId: (item.source==1?item.openid:item.service_id),
|
|
senderId: (item.source==1?item.openid:item.service_id),
|
|
@@ -916,7 +935,7 @@ export default {
|
|
|
},
|
|
},
|
|
|
async getOrderList(){
|
|
async getOrderList(){
|
|
|
this.orderData.loading = true;
|
|
this.orderData.loading = true;
|
|
|
- var resp = await this.$API.order.list.get({"page":this.orderData.page,"pageSize":this.orderData.size,"openid":this.chatItem.openid});
|
|
|
|
|
|
|
+ var resp = await this.$API.order.list.get({"page":this.orderData.page,"pageSize":this.orderData.size,"order":this.orderData.order,"openid":this.chatItem.openid});
|
|
|
this.orderData.loading = false;
|
|
this.orderData.loading = false;
|
|
|
if (resp.code == 0) {
|
|
if (resp.code == 0) {
|
|
|
return ;
|
|
return ;
|