Commit bb4017f6 authored by haitao's avatar haitao

Merge branch 'dev' of http://rungit.jxdsy.cn:10000/xys/lumastoreapp into dev

parents b8ad755c d599302f
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
//"appid" : "__UNI__FC9419E", //"appid" : "__UNI__FC9419E",
"appid" : "__UNI__1EA80F1", //这个是 web "appid" : "__UNI__1EA80F1", //这个是 web
"description" : "商家", "description" : "商家",
"versionName" : "1.0.99", "versionName" : "1.1.01",
"versionCode" : 199, "versionCode" : 1101,
"transformPx" : false, "transformPx" : false,
"compatible" : { "compatible" : {
"ignoreVersion" : true, //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持 "ignoreVersion" : true, //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持
...@@ -126,9 +126,9 @@ ...@@ -126,9 +126,9 @@
}, },
"splashscreen" : { "splashscreen" : {
"android" : { "android" : {
"hdpi" : "C:/Users/Administrator/Desktop/证书/d0abce82961b508e6a0b9924d15fe86.png", "hdpi" : "C:/Users/Administrator/Desktop/da/6b51802bba0a32ac69392831b1fc324.png",
"xhdpi" : "C:/Users/Administrator/Desktop/证书/d0abce82961b508e6a0b9924d15fe86.png", "xhdpi" : "C:/Users/Administrator/Desktop/da/6b51802bba0a32ac69392831b1fc324.png",
"xxhdpi" : "C:/Users/Administrator/Desktop/证书/d0abce82961b508e6a0b9924d15fe86.png" "xxhdpi" : "C:/Users/Administrator/Desktop/da/6b51802bba0a32ac69392831b1fc324.png"
}, },
"ios" : { "ios" : {
"iphone" : { "iphone" : {
......
...@@ -419,7 +419,35 @@ ...@@ -419,7 +419,35 @@
"enablePullDownRefresh":true "enablePullDownRefresh":true
} }
} ], },{
"path" : "pages/order/shoprefundorderdetail/shoprefundorderdetail",
"style" :
{
"navigationBarTitleText": "商城售后订单详情",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/order/shopExamine/shopExamine",
"style" :
{
"navigationBarTitleText": "订单退款",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/order/ExamineDelivery/ExamineDelivery",
"style" :
{
"navigationBarTitleText": "立即发货",
"enablePullDownRefresh": false
}
}
],
"globalStyle": { "globalStyle": {
"navigationBarTextStyle": "black", "navigationBarTextStyle": "black",
"navigationBarTitleText": "", "navigationBarTitleText": "",
......
<template> <template>
<!-- yocode 物流信息 --> <!-- yocode 物流信息 -->
<view class="content ViewLogistics yocode"> <view class="content ViewLogistics yocode">
<!-- 地图呀 --> <!-- 地图呀 -->
<!-- <view class="page-body"> <!-- <view class="page-body">
<view class="page-section page-section-gap"> <view class="page-section page-section-gap">
...@@ -9,66 +8,66 @@ ...@@ -9,66 +8,66 @@
</map> </map>
</view> </view>
</view> --> </view> -->
<view class="wuliuboxss flex ali-c"> <view class="wuliuboxss flex ali-c">
<image class="imgs" :src="statictowUrl+'/static/applet5'+logisticLogo" mode=""></image> <image class="imgs" :src="statictowUrl + '/static/applet5' + logisticLogo" mode=""></image>
<view class="rightinfos"> <view class="rightinfos">
<view class="wuliutype">{{shipperName}}</view> <view class="wuliutype">{{ shipperName }}</view>
<view class="wuliucode">运单号: {{logisticCode}}</view> <view class="wuliucode">运单号: {{ logisticCode }}</view>
<view class="wuliutel">官方电话: {{phone}}</view> <view class="wuliutel">官方电话: {{ phone }}</view>
</view> </view>
</view> </view>
<!-- 查看物流的组件 alidata2.state --> <!-- 查看物流的组件 alidata2.state -->
<ali :state="3" :datas="list" :ways="information"></ali> <ali :state="3" :datas="list" :ways="information"></ali>
</view> </view>
</template> </template>
<script> <script>
import ali from '@/components/WuLiu-step/WuLiu-step.vue'; import ali from '@/components/WuLiu-step/WuLiu-step.vue';
import {checkLogistics} from "@/utils/api/api.js"; import { checkLogistics,viewLogistics} from '@/utils/api/api.js';
export default { export default {
components: { components: {
ali ali
}, },
computed: { computed: {
staticUrl () {//静态资源地址 staticUrl() {
//静态资源地址
return this.$store.state.staticUrl; return this.$store.state.staticUrl;
}, },
staticUrl1(){ staticUrl1() {
return this.$store.state.staticUrl1; return this.$store.state.staticUrl1;
}, },
statictowUrl(){ statictowUrl() {
return this.$store.state.statictowUrl; return this.$store.state.statictowUrl;
}, },
uploadurl(){ uploadurl() {
return this.$store.state.uploadurl; return this.$store.state.uploadurl;
} }
}, },
data() { data() {
return { return {
//地图的东西 //地图的东西
title: 'map', title: 'map',
latitude: 39.909, latitude: 39.909,
longitude: 116.39742, longitude: 116.39742,
covers: [{ covers: [
latitude: 39.909, {
longitude: 116.39742, latitude: 39.909,
iconPath: '/static/news/address.png' longitude: 116.39742,
}, { iconPath: '/static/news/address.png'
latitude: 39.90, },
longitude: 116.39, {
iconPath: '/static/news/address.png' latitude: 39.9,
}], longitude: 116.39,
iconPath: '/static/news/address.png'
}
],
alidata: { alidata: {
state: 2, state: 2,
uptime: '2019-05-23 17:52:06', uptime: '2019-05-23 17:52:06',
data: [ data: [],
],
information: { information: {
no: '231880744913', no: '231880744913',
sName: 'SF', sName: 'SF',
...@@ -81,9 +80,7 @@ export default { ...@@ -81,9 +80,7 @@ export default {
alidata2: { alidata2: {
state: 3, state: 3,
uptime: '2019-05-24 10:58:24', uptime: '2019-05-24 10:58:24',
data: [ data: [],
],
information: { information: {
no: '70939995911523', no: '70939995911523',
sName: 'HTKY', sName: 'HTKY',
...@@ -93,12 +90,12 @@ export default { ...@@ -93,12 +90,12 @@ export default {
img: 'https:oss-cn2.apistore.cnexpHTKY.png' img: 'https:oss-cn2.apistore.cnexpHTKY.png'
} }
}, },
list: [], list: [],
logisticCode: "", logisticCode: '',
shipperName: "", shipperName: '',
logisticLogo: "", logisticLogo: '',
phone: "", phone: '',
information: { information: {
no: '', no: '',
sName: '', sName: '',
...@@ -110,71 +107,89 @@ export default { ...@@ -110,71 +107,89 @@ export default {
}; };
}, },
onLoad(options) { onLoad(options) {
// console.log(options)
this.init(); this.init();
var that = this; var that = this;
console.log(options); // 判断为正常订单
let params = { if (options.order_id) {
order_id: options.order_id, let params = {
action: options.action, order_id: options.order_id,
vendor_id:options.vendor, action: options.action,
}; vendor_id: options.vendor
checkLogistics(params).then(res => { };
console.log(res); checkLogistics(params).then(res => {
if (res.code == 0) { console.log(res);
let data = res.data; if (res.code == 0) {
let list = this.checkArray(data.Traces) ? data.Traces : []; let data = res.data;
let logistics_info = this.getLogisticsConfig(data.ShipperCode) let list = this.checkArray(data.Traces) ? data.Traces : [];
let logistics_info = this.getLogisticsConfig(data.ShipperCode);
this.list=list.reverse();
this.logisticCode=data.LogisticCode; this.list = list.reverse();
this.shipperName=logistics_info.name; this.logisticCode = data.LogisticCode;
this.logisticLogo= logistics_info.img_url; this.shipperName = logistics_info.name;
this.phone=logistics_info.phone; this.logisticLogo = logistics_info.img_url;
this.phone = logistics_info.phone;
} }
}) });
// 如果为售后订单
} else if (options.refund_id) {
let refundParams = {
refund_id: options.refund_id,
type: 2
};
viewLogistics(refundParams).then(res => {
console.log(res)
if (res.code == 0) {
this.list = res.data.list;
let logistics_info = this.getLogisticsConfig(res.data.shipperCode);
this.list.reverse();
this.logisticCode = res.data.logisticCode;
this.shipperName = logistics_info.name;
this.logisticLogo = logistics_info.img_url;
this.phone = logistics_info.phone;
}
});
}
}, },
methods: { methods: {
init() { init() {},
},
/** /**
* 获取快递公司信息 * 获取快递公司信息
*/ */
getLogisticsConfig(shipperCode) { getLogisticsConfig(shipperCode) {
let config = { let config = {
'YTO': { 'name': '圆通速递', 'phone': '95554', 'img_url': '/images/delivery_icon/YTO.png' }, YTO: { name: '圆通速递', phone: '95554', img_url: '/images/delivery_icon/YTO.png' },
'HTKY': { 'name': '百世快递', 'phone': '95320', 'img_url': '/images/delivery_icon/HTKY.png' }, HTKY: { name: '百世快递', phone: '95320', img_url: '/images/delivery_icon/HTKY.png' },
'ZTO': { 'name': '中通快递', 'phone': '95311', 'img_url': '/images/delivery_icon/ZTO.png' }, ZTO: { name: '中通快递', phone: '95311', img_url: '/images/delivery_icon/ZTO.png' },
'STO': { 'name': '申通快递', 'phone': '95543', 'img_url': '/images/delivery_icon/STO.png' }, STO: { name: '申通快递', phone: '95543', img_url: '/images/delivery_icon/STO.png' },
'SF': { 'name': '顺丰速运', 'phone': '95338', 'img_url': '/images/delivery_icon/SF.png' }, SF: { name: '顺丰速运', phone: '95338', img_url: '/images/delivery_icon/SF.png' },
'YD': { 'name': '韵达速递', 'phone': '95546', 'img_url': '/images/delivery_icon/YD.png' }, YD: { name: '韵达速递', phone: '95546', img_url: '/images/delivery_icon/YD.png' },
'YZPY': { 'name': '邮政快递包裹', 'phone': '11185', 'img_url': '/images/delivery_icon/EMS.png' }, YZPY: { name: '邮政快递包裹', phone: '11185', img_url: '/images/delivery_icon/EMS.png' },
'EMS': { 'name': 'EMS', 'phone': '11183', 'img_url': '/images/delivery_icon/EMS.png' }, EMS: { name: 'EMS', phone: '11183', img_url: '/images/delivery_icon/EMS.png' },
'HHTT': { 'name': '天天快递', 'phone': '400-188-8888', 'img_url': '/images/delivery_icon/HHTT.png' }, HHTT: { name: '天天快递', phone: '400-188-8888', img_url: '/images/delivery_icon/HHTT.png' },
'JD': { 'name': '京东快递', 'phone': '950616', 'img_url': '/images/delivery_icon/JD.png' }, JD: { name: '京东快递', phone: '950616', img_url: '/images/delivery_icon/JD.png' },
'UC': { 'name': '优速快递', 'phone': '95349', 'img_url': '/images/qishou@2x.png' }, UC: { name: '优速快递', phone: '95349', img_url: '/images/qishou@2x.png' },
'DBL': { 'name': '德邦快递', 'phone': '95353', 'img_url': '/images/delivery_icon/DBL.png' }, DBL: { name: '德邦快递', phone: '95353', img_url: '/images/delivery_icon/DBL.png' },
'ZJS': { 'name': '宅急送', 'phone': '400-678-9000', 'img_url': '/images/qishou@2x.png' }, ZJS: { name: '宅急送', phone: '400-678-9000', img_url: '/images/qishou@2x.png' },
'TNT': { 'name': 'TNT快递', 'phone': '400-820-9868', 'img_url': '/images/qishou@2x.png' }, TNT: { name: 'TNT快递', phone: '400-820-9868', img_url: '/images/qishou@2x.png' },
'UPS': { 'name': 'UPS', 'phone': '400-820-8388', 'img_url': '/images/qishou@2x.png' }, UPS: { name: 'UPS', phone: '400-820-8388', img_url: '/images/qishou@2x.png' },
'DHL': { 'name': 'DHL', 'phone': '95380', 'img_url': '/images/qishou@2x.png' }, DHL: { name: 'DHL', phone: '95380', img_url: '/images/qishou@2x.png' },
'FEDEX': { 'name': 'FEDEX联邦(国内件)', 'phone': '400-886-1888', 'img_url': '/images/qishou@2x.png' }, FEDEX: { name: 'FEDEX联邦(国内件)', phone: '400-886-1888', img_url: '/images/qishou@2x.png' },
'FEDEX_GJ': { 'name': 'FEDEX联邦(国际件)', 'phone': '400-886-1888', 'img_url': '/images/qishou@2x.png' }, FEDEX_GJ: { name: 'FEDEX联邦(国际件)', phone: '400-886-1888', img_url: '/images/qishou@2x.png' }
} };
return config[shipperCode] || {}; return config[shipperCode] || {};
}, },
checkArray (obj) { checkArray(obj) {
if (obj != undefined && obj != null && obj[0] != undefined) { if (obj != undefined && obj != null && obj[0] != undefined) {
return true; return true;
} else { } else {
return false; return false;
} }
} }
} }
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
@import "./ViewLogistics.scss"; @import './ViewLogistics.scss';
</style> </style>
...@@ -341,6 +341,7 @@ ...@@ -341,6 +341,7 @@
}, },
data() { data() {
return { return {
linkage_id:'', linkage_id:'',
is_datashow:true, is_datashow:true,
bools:'', bools:'',
...@@ -429,7 +430,13 @@ ...@@ -429,7 +430,13 @@
{} {}
], ],
isShow:false, isShow:false,
chindformList:[], chindformList:[],
myProps:{
label:'cate_name',
value: 'cate_id',
children: '',
},
//上传图片相关的 //上传图片相关的
c_pics: [], c_pics: [],
c_pics1:[], c_pics1:[],
...@@ -611,6 +618,7 @@ ...@@ -611,6 +618,7 @@
} }
}, },
async findEleProduct(results){ async findEleProduct(results){
console.log('查找商品')
uni.showLoading({title:'请稍后'}); uni.showLoading({title:'请稍后'});
let res=await findEleProduct({code:results.code}); let res=await findEleProduct({code:results.code});
...@@ -662,6 +670,8 @@ ...@@ -662,6 +670,8 @@
this.codeDisabled=true;//条形码输入框是否禁止输入 this.codeDisabled=true;//条形码输入框是否禁止输入
this.c_pics=[{code:0,data:res.data.photo,msg:"success",time:"1587101904"}]; this.c_pics=[{code:0,data:res.data.photo,msg:"success",time:"1587101904"}];
// console.log(this.chindformList);
for(var i = 0; i < this.chindformList.length; i++) { for(var i = 0; i < this.chindformList.length; i++) {
if(this.chindformList[i].cate_id==res.data.cate_id){ if(this.chindformList[i].cate_id==res.data.cate_id){
this.cate_name=this.chindformList[i].cate_name; this.cate_name=this.chindformList[i].cate_name;
...@@ -669,6 +679,9 @@ ...@@ -669,6 +679,9 @@
} }
} }
} }
},
myProps(){
}, },
saoma(e){ saoma(e){
uni.scanCode({ uni.scanCode({
...@@ -725,11 +738,11 @@ ...@@ -725,11 +738,11 @@
}, },
confirm(e){ confirm(e){
console.log(e)
this.cate_name = e.item.cate_name; this.cate_name = e.item.cate_name;
this.form.cate_id =e.item.cate_id; this.form.cate_id =e.item.cate_id;
this.index = e.index; this.index = e.index;
}, },
pickerone(){ pickerone(){
this.$refs.picker.show() // 显示 this.$refs.picker.show() // 显示
}, },
...@@ -741,7 +754,8 @@ ...@@ -741,7 +754,8 @@
}, },
//分类选中 //分类选中
bindPickerChange(e){ bindPickerChange(e){
console.info(e.detail.value); console.info(e.detail.value);
console.log(this.chindformList)
this.cate_name = this.chindformList[e.detail.value].cate_name; this.cate_name = this.chindformList[e.detail.value].cate_name;
this.form.cate_id = this.chindformList[e.detail.value].cate_id; this.form.cate_id = this.chindformList[e.detail.value].cate_id;
this.index = e.detail.value; this.index = e.detail.value;
...@@ -760,7 +774,8 @@ ...@@ -760,7 +774,8 @@
}, },
//修改的时候赋初始值 //修改的时候赋初始值
async eleProductInfofun(){ async eleProductInfofun(){
let that=this;
let res = await eleProductInfo({ let res = await eleProductInfo({
product_id:this.product_id, product_id:this.product_id,
}); });
...@@ -800,24 +815,32 @@ ...@@ -800,24 +815,32 @@
this.form.commission = res.data.commission, //返佣比例 this.form.commission = res.data.commission, //返佣比例
this.form.sell_type = res.data.sell_type, // 售卖类型 this.form.sell_type = res.data.sell_type, // 售卖类型
this.form.mandatory = res.data.mandatory this.form.mandatory = res.data.mandatory
this.video_photos=res.data.video_photos;//轮播
this.detail_photos=res.data.detail_photos;//详情 if(typeof res.data.video_photos == 'object'){
res.data.video_photos.map(item=>{ //轮播 this.video_photos=res.data.video_photos;//轮播
this.c_pics1.push({ for(let i in res.data.video_photos){
code:0, this.c_pics1.push({
data:item, code:0,
msg:"success", data:res.data.video_photos[i],
time:"1587101904" msg:"success",
}) time:"1587101904"
}) });
res.data.detail_photos.map(item=>{ //详情 }
this.c_pics2.push({ }
code:0,
data:item,
msg:"success", if(typeof res.data.detail_photos == 'object'){
time:"1587101904" this.detail_photos=res.data.detail_photos;//详情
}) for(let i in res.data.detail_photos){
}) this.c_pics2.push({
code:0,
data:res.data.detail_photos[i],
msg:"success",
time:"1587101904"
});
}
}
//下拉分类 初始值 //下拉分类 初始值
this.chindformList.forEach((item,index)=>{ this.chindformList.forEach((item,index)=>{
if(item.cate_id==res.data.cate_id){ if(item.cate_id==res.data.cate_id){
...@@ -826,6 +849,8 @@ ...@@ -826,6 +849,8 @@
} }
}); });
if(res.data.commodity_type == 'ordinary') { if(res.data.commodity_type == 'ordinary') {
this.ordinary.map(item=>{ this.ordinary.map(item=>{
if(this.linkage_product_id == item.product_id){ if(this.linkage_product_id == item.product_id){
...@@ -890,6 +915,7 @@ ...@@ -890,6 +915,7 @@
// this.$api.msg("秒杀库存或限购数量不能为小数"); // this.$api.msg("秒杀库存或限购数量不能为小数");
// return false; // return false;
// } // }
let can = { let can = {
action:this.product_id==''?'add':'edit', action:this.product_id==''?'add':'edit',
linkage_id:this.linkage_id, linkage_id:this.linkage_id,
...@@ -982,7 +1008,8 @@ ...@@ -982,7 +1008,8 @@
async typeManagerfun(){ async typeManagerfun(){
let res = await typeManager({}); let res = await typeManager({});
if(res.code==0){ if(res.code==0){
this.chindformList = res.data; this.chindformList = res.data;
if(this.product_id!=undefined && this.product_id!=""){ if(this.product_id!=undefined && this.product_id!=""){
this.eleProductInfofun(); this.eleProductInfofun();
} }
......
...@@ -230,9 +230,11 @@ ...@@ -230,9 +230,11 @@
this.goods_list = []; this.goods_list = [];
this.page = 1; this.page = 1;
this.isallshow=false; this.isallshow=false;
this.tabactive = 1,
// this.goods_product_list(); // this.goods_product_list();
this.searchProduct(); this.searchProduct();
}, },
computed: { computed: {
staticUrl () {//静态资源地址 staticUrl () {//静态资源地址
return this.$store.state.staticUrl; return this.$store.state.staticUrl;
......
...@@ -368,15 +368,6 @@ ...@@ -368,15 +368,6 @@
} }
}, },
onLoad() { onLoad() {
getskipShop({
type: 'bld'
}).then(res => {
if (res.code == 0) {
this.is_bld = res.data.is_bld
// this.is_bld = 1
}
})
//显示欢迎回来~ //显示欢迎回来~
setTimeout(() => { setTimeout(() => {
this.$refs.Welcome.show(); this.$refs.Welcome.show();
...@@ -410,6 +401,16 @@ ...@@ -410,6 +401,16 @@
// uni.stopPullDownRefresh();//结束下拉刷新 // uni.stopPullDownRefresh();//结束下拉刷新
}, },
onShow() { onShow() {
getskipShop({
type: 'bld'
}).then(res => {
if (res.code == 0) {
this.is_bld = res.data.is_bld
// this.is_bld = 1
}
})
this.storeIndexfun(); this.storeIndexfun();
...@@ -439,7 +440,15 @@ ...@@ -439,7 +440,15 @@
activity_nucleus(param).then(res => { activity_nucleus(param).then(res => {
if (res.code == 0) { if (res.code == 0) {
this.$api.msg(res.msg); uni.showModal({
title:'提示',
content:res.msg,
showCancel:false,
confirmText:'确定',
success() {
}
})
}else{ }else{
this.$api.msg(res.msg); this.$api.msg(res.msg);
} }
......
//快速发货
.delivery{
min-height: 100vh;
background: #F2F3F3;
padding: 20upx 0;
}
.fahuobox{
margin: 0 24upx;
padding: 0 20upx;
padding-bottom: 60upx;
background: #FFFFFF;
.selectcell{
height: 107upx;
line-height: 107upx;
border-bottom: 1px solid #F4F4F4;
.names{
font-size:30upx;
color:rgba(0,0,0,1);
}
.icons1{
width:48upx;
height:38upx;
margin-right: 26upx;
}
.icons2{
width:10upx;
height:18upx;
}
.icons3{
width:39upx;
height:42upx;
margin-right: 26upx;
}
.tosaomaboxs{
width: 50px;
text-align: right;
}
.icons4{
width:25upx;
height:25upx;
}
}
}
.btnsbox{
margin-top: 60upx;
.btns{
width:300upx;
height:90upx;
line-height: 90upx;
text-align: center;
border:1px solid rgba(160,160,160,1);
border-radius:6upx;
font-size:32upx;
color:rgba(0,0,0,1);
}
.btns1{
border:0;
background: #FF6600;
color:#FFFFFF;
}
}
\ No newline at end of file
<template>
<!-- 商家发货 -->
<view class="delivery fahuo yocode">
<view class="fahuobox">
<!-- <picker @change="bindPickerChange" :value="index" :range="logsitslist"> -->
<view class="selectcell flex ali-c jus-b" @tap='pickerone'>
<view class="flex ali-c">
<image class="icons1" src="/static/news/fahuo.png" mode=""></image>
<view class="names">{{chindtext==''?'选择快递公司':chindtext}}</view>
</view>
<image class="icons2" src="/static/news/xiala.png" mode=""></image>
</view>
<lb-picker ref="picker" :list="logsitslist" :value='chindtext' range-key="label" :props="myProps" @confirm='confirm'></lb-picker>
<!-- </picker> -->
<view class="selectcell flex ali-c jus-b">
<view class="flex ali-c">
<image class="icons3" src="/static/news/dindhao.png" mode=""></image>
<input class="names" type="text" value="" v-model="logscode" placeholder="输入快递单号" />
</view>
<view @tap="tosaoyisao" class="tosaomaboxs">
<image class="icons4" src="/static/news/saoma.png" mode=""></image>
</view>
</view>
<view class="btnsbox flex ali-c jus-a">
<view class="btns">取消</view>
<view class="btns btns1" @tap="oneKeyShipmentsfun">确定发货</view>
</view>
</view>
</view>
</template>
<script>
import { logisticsList,setDeliverGoods } from '@/utils/api/api.js';
export default{
data(){
return{
myProps: {
label: 'value',
value: 'cate_id',
},
logsitslist:[
"圆通速递",
"百世快递",
"中通快递",
"申通快递",
"顺丰速运",
"韵达速递",
"邮政快递包裹",
"EMS",
"天天快递",
"京东快递",
"优速快递",
"德邦快递",
"宅急送",
"TNT快递",
"UPS",
"DHL",
"FEDEX联邦(国内件)",
"FEDEX联邦(国际件)"
],
index:0,
chindtext:"",
logscode:"",
refund_id: '',//订单id
}
},
onLoad(options) {
this.refund_id = options.refund_id;
// console.log(this.refund_id)
this.logisticsListfun();
},
methods:{
confirm(e){
console.log(e)
this.chindtext=e.value;
},
pickerone(){
this.$refs.picker.show() // 显示
},
async logisticsListfun(){
let res = await logisticsList({
});
if(res.code==0){
this.logsitslist =res.data;
}else{
this.$api.msg(res.msg);
}
},
//快速发货 确认发货
async oneKeyShipmentsfun(){
if(this.chindtext==""){
this.$api.msg("请选中快速公司");
return false;
}
if(this.logscode==""){
this.$api.msg("物流单号不能为空");
return false;
}
let res = await setDeliverGoods({
logisticCode:this.logscode,//物流号 快递单号 订单号
shipperCode:this.chindtext,//名称 快递公司编号 名称
refund_id:this.refund_id,//订单id 订单id
shop_id:'',
});
if(res.code==0){
uni.showModal({
title: '提示',
content: res.msg,
showCancel: false,
success(res) {
uni.$emit("isDelorder",{action: 'setDeliverGoods'});
uni.navigateBack({}); //返回上一页
}
})
}else{
this.$api.msg(res.msg);
}
},
//请求end
bindPickerChange(e){
console.log(e.detail.value,'哈哈哈');
this.chindtext = this.logsitslist[e.detail.value];
},
//扫码方法
tosaoyisao(){
uni.scanCode({
success: (res)=> {
console.log('条码类型:' + res.scanType);
console.log('条码内容:' + res.result);
// let qrcodecon =
this.logscode = res.result;
}
});
}
}
}
</script>
<style lang="scss">
@import "ExamineDelivery.scss"
</style>
...@@ -333,6 +333,6 @@ ...@@ -333,6 +333,6 @@
} }
.orderlist{ .orderlist{
padding: 100upx 24upx 0 24upx;box-sizing: border-box; padding: 40upx 24upx 0 24upx;box-sizing: border-box;
} }
</style> </style>
<template>
<!-- 添加收获地址 OK -->
<!-- 添加收货地址呀 -->
<view class="content addddd yicode">
<view class="row b-b">
<text class="tit">收货人</text>
<input class="input" type="text" v-model="name" placeholder="请填写收货人姓名" placeholder-class="placeholder" />
</view>
<view class="row b-b">
<text class="tit">手机号码</text>
<input class="input" type="number" v-model="mobile" placeholder="请填写手机号码" placeholder-class="placeholder" />
</view>
<view class="row b-b">
<text class="tit">收货地址</text>
<input class="input" type="text" v-model="address" placeholder="请填写详细地址" placeholder-class="placeholder s24" @input="doorplate" />
</view>
<view class="submitbtn active" @tap="refundExamine">确定</view>
</view>
</template>
<script>
import { shopExamine } from '@/utils/api/api.js';
export default {
data() {
return {
name: '',
mobile: '',
address: '',
type: 1,//同意
refund_id: ''
}
},
onShow() {
},
onHide() {
},
onUnload(){
},
onLoad(option){
console.log(option)
this.refund_id = option.refund_id;
},
methods: {
refundExamine(){//提交
if(!this.name){
this.$api.msg('请填写收货人姓名');
return;
}
if(!/(^1[3|4|5|7|8|9][0-9]{9}$)/.test(this.mobile)){
this.$api.msg('请输入正确的手机号码');
return;
}
if(!this.address){
this.$api.msg('请输入详细收货地址');
return;
}
// 参数
let params = {
contacts: this.name,//收货联系人
contact_number : this.mobile,//收货联系电话
addr: this.address,//收货地址
type: this.type,
refund_id: this.refund_id,
}
shopExamine(params).then(res=>{
// console.log(res)
if(res.code == 0){
uni.$emit('isDelorder', { action: 'shopExamine' });//监听操作成功后跳回上一页自动刷新列表
uni.showToast({
title: '退款审核成功',
duration: 2000,
icon: 'none'
});
uni.navigateBack({})
}else{
this.$api.msg(res.msg);
}
})
},
}
}
</script>
<style lang="scss">
page {
background: $page-color-base;
padding-top: 16upx;
// margin-top: 20upx;
}
.row {
display: flex;
align-items: center;
position: relative;
padding: 0 30upx;
height: 88upx;
background: #fff;
.immgs {
width: 13upx;
height: 24upx;
opacity: 0.5;
}
.tit {
flex-shrink: 0;
//width: 120upx;
width: 200upx;
font-size: 30upx;
color: $font-color-dark;
}
.input {
flex: 1;
font-size: 30upx;
color: $font-color-dark;
}
.icon-shouhuodizhi {
font-size: 36upx;
color: $font-color-light;
}
}
.default-row {
margin-top: 16upx;
.tit {
flex: 1;
}
switch {
transform: translateX(16upx) scale(0.9);
}
}
.add-btn {
display: flex;
align-items: center;
justify-content: center;
width: 690upx;
height: 80upx;
margin: 60upx auto;
font-size: $font-lg;
color: #fff;
background-color: $base-color;
border-radius: 10upx;
box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
}
.addddd{
// margin-top: 40upx;
}
</style>
...@@ -163,4 +163,40 @@ ...@@ -163,4 +163,40 @@
} }
.mt-20{ .mt-20{
margin-top: 20upx; margin-top: 20upx;
}
.setSelect{
width:601upx;
height:660upx;
background:rgba(255,255,255,1);
border-radius:10upx;
.titelsf{
height: 88upx;
line-height: 88upx;
text-align: center;
font-size:32upx;
font-family:PingFang SC;
font-weight:bold;
color:rgba(0,0,0,1);
}
.selectbottom{
background: #FFFFFF;
padding: 0 24upx;
}
.setbtns{
margin: 0 auto;
margin-top: 90upx;
width:501upx;
height:88upx;
line-height:88upx;
text-align: center;
background:rgba(255,105,0,1);
border-radius:10upx;
font-size:32upx;
color:rgba(255,255,255,1);
}
}
.textarea{
font-size: 34upx;
padding: 30upx;
} }
\ No newline at end of file
...@@ -4,395 +4,693 @@ ...@@ -4,395 +4,693 @@
<!-- order 订单 --> <!-- order 订单 -->
<view class="storeOrder yocode"> <view class="storeOrder yocode">
<view class="ordertab flex ali-c"> <view class="ordertab flex ali-c">
<view class="tabitem flex1" @tap="taggletab" v-for="(item,index) in order_status_list" :key="index" data-current="1" :data-statusTab="item.status_id" :data-status="item.status" :data-is_dianping="item.is_dianping" :data-sale_status="item.sale_status" > <view
<view class="title" :class="{active:tabactive==item.status_id}" >{{item.status_name}}</view> class="tabitem flex1"
@tap="taggletab"
v-for="(item, index) in order_status_list"
:key="index"
data-current="1"
:data-statusTab="item.status_id"
:data-status="item.status"
:data-is_dianping="item.is_dianping"
:data-sale_status="item.sale_status"
>
<view class="title" :class="{ active: tabactive == item.status_id }">{{ item.status_name }}</view>
</view> </view>
</view> </view>
<!-- v-if="tabactive==1" --> <!-- v-if="tabactive==1" -->
<view class="listorder" > <!-- 正常订单 -->
<view class="orderItem" v-for="(item,indexMax) in order" :key="indexMax"> <view class="listorder">
<view class="orderItem" v-for="(item, indexMax) in order" :key="indexMax">
<view class="order_head flex ali-c jus-b"> <view class="order_head flex ali-c jus-b">
<view class="headl flex ali-c"> <view class="headl flex ali-c">
<image class="storeicon" src="/static/news/storeicon.png" mode=""></image> <image class="storeicon" src="/static/news/storeicon.png" mode=""></image>
<!-- <image class="storeicon" :src="staticUrl+item.photo" mode="" ></image> --> <!-- <image class="storeicon" :src="staticUrl+item.photo" mode="" ></image> -->
<view class="storename">{{item.shop_name}}</view> <view class="storename">{{ item.shop_name }}</view>
</view> </view>
<view class="headr"> <view class="headr">
<!-- 订单状态 --> <!-- 订单状态 -->
<view >{{item.order_status}}</view> <view>{{ item.order_status }}</view>
</view> </view>
</view> </view>
<view class="cretime mt-10"> <view class="cretime mt-10">下单时间:{{ item.create_time }}</view>
下单时间:{{item.create_time}}
</view>
<view> <view>
<!-- 列表 --> <!-- 列表 -->
<view class="order_body " v-for="(productList,index1) in item.products" :key="index1" > <view class="order_body " v-for="(productList, index1) in item.products" :key="index1">
<view class="flex mb-20" v-for="(product, index) in productList.orderGoods" :key="index">
<view class="flex mb-20" v-for="(product,index) in productList.orderGoods" :key="index">
<!-- <image class="imgs" src="" mode=""></image> --> <!-- <image class="imgs" src="" mode=""></image> -->
<image class="imgs" :src="staticUrl+product.photo" v-if="product.photo" mode=""></image> <image class="imgs" :src="staticUrl + product.photo" v-if="product.photo" mode=""></image>
<image class="imgs" :src="staticUrl+item.photo" mode="" v-else ></image> <image class="imgs" :src="staticUrl + item.photo" mode="" v-else></image>
<view class="body_r flex1 "> <view class="body_r flex1 ">
<view class="title twoline">{{product.goods_name}}</view> <view class="title twoline">{{ product.goods_name }}</view>
<view class="prices"> <view class="prices">
<text class="text">价格{{product.fprice}}</text> <text class="text">价格{{ product.fprice }}</text>
<!-- <text class="text">充值价{{product.recprice}}</text> --> <!-- <text class="text">充值价{{product.recprice}}</text> -->
</view> </view>
<view class="specs"> <view class="specs">
<text class="text">规格:{{product.sku_name}}</text> <text class="text">规格:{{ product.sku_name }}</text>
<!-- <text class="text">包装:2袋装</text> --> <!-- <text class="text">包装:2袋装</text> -->
<view>数量: x {{product.goodsnum}}</view> <view>数量: x {{ product.goodsnum }}</view>
</view> </view>
</view> </view>
</view> </view>
<view v-if="productList.operation!=''" class="order_foot bodbod flex jus-e mb-20 mt-20"> <view v-if="productList.operation != ''" class="order_foot bodbod flex jus-e mb-20 mt-20">
<block v-for="(action,index) in productList.operation" :key="index"> <block v-for="(action, index) in productList.operation" :key="index">
<view class='btnss' :data-index="indexMax" :data-orderid='item.order_id' :data-vendor='index1' @tap.stop="operation" :data-action='action.way' :data-is_ld='item.buytype'>{{action.name}}</view> <view
</block> class="btnss"
:data-index="indexMax"
:data-orderid="item.order_id"
:data-vendor="index1"
@tap.stop="operation"
:data-action="action.way"
:data-is_ld="item.buytype"
>
{{ action.name }}
</view>
</block>
</view> </view>
</view> </view>
</view> </view>
<view class="order_foot flex jus-e mb-20 " > <view class="order_foot flex jus-e mb-20 ">
<view class="heji"><text class="fuhao">{{item.username_tel}}</text></view> <view class="heji">
<text class="fuhao">{{ item.username_tel }}</text>
</view>
</view> </view>
<view class="pricebox flex ali-c jus-b" style="margin-top: 20upx;"> <view class="pricebox flex ali-c jus-b" style="margin-top: 20upx;">
<!-- 剩余时间 只有待支付的时候有 未付款的时候才有 --> <!-- 剩余时间 只有待支付的时候有 未付款的时候才有 -->
<view class="titme oneline flex1" v-if="item.status==4">退款原因:{{item.refund_details}}</view> <view class="titme oneline flex1" v-if="item.status == 4">退款原因:{{ item.refund_details }}</view>
<view v-else></view> <view v-else></view>
<view class="heji">合计<text class="fuhao">¥</text><text class="shuzi">{{item.total}}</text></view> <view class="heji">
合计
<text class="fuhao">¥</text>
<text class="shuzi">{{ item.total }}</text>
</view>
</view> </view>
<view class="order_foot flex jus-e"> <view class="order_foot flex jus-e">
<!-- 已发货 --> <!-- 已发货 -->
<block v-for="(action,index) in item.order_operation" :key="index"> <block v-for="(action, index) in item.order_operation" :key="index">
<view class="btnss" :data-index="indexMax" :data-orderid="item.order_id" @tap.stop="operation" :data-action="action.way" :data-is_ld="item.buytype">
{{ action.name }}
</view>
</block>
</view>
</view>
</view>
<view class='btnss' :data-index="indexMax" :data-orderid='item.order_id' @tap.stop="operation" :data-action='action.way' :data-is_ld='item.buytype'>{{action.name}}</view> <!-- 售后/退款订单 -->
<view class="listorder">
<view class="orderItem" v-for="(item, indexMax) in refundOrder" :key="indexMax">
<view class="order_head flex ali-c jus-b">
<view class="headl flex ali-c">
<image class="storeicon" src="/static/news/storeicon.png" mode=""></image>
<!-- <image class="storeicon" :src="staticUrl+item.photo" mode="" ></image> -->
<view class="storename">{{ item.shop_name }}</view>
</view>
<view class="headr">
<!-- 订单状态 -->
<view>{{ item.status_text }}</view>
</view>
</view>
<view class="cretime mt-10">下单时间:{{ item.create_time }}</view>
<view>
<!-- 列表 -->
<view class="order_body " v-for="(product, index1) in item.ordergoods" :key="index1">
<view class="flex mb-20">
<!-- <image class="imgs" src="" mode=""></image> -->
<image class="imgs" :src="staticUrl + product.photo" v-if="product.photo" mode=""></image>
<image class="imgs" :src="staticUrl + item.photo" mode="" v-else></image>
<view class="body_r flex1 ">
<view class="title twoline">{{ product.goods_name }}</view>
<view class="prices">
<text class="text">价格{{ product.price }}</text>
<!-- <text class="text">充值价{{product.recprice}}</text> -->
</view>
<view class="specs">
<text class="text">规格:{{ product.sku_name }}</text>
<!-- <text class="text">包装:2袋装</text> -->
<view>数量: x {{ product.num }}</view>
</view>
</view>
</view>
</view>
</view>
<view class="order_foot flex jus-e mb-20 ">
<view class="heji">
<text class="fuhao">{{ item.username_tel }}</text>
</view>
</view>
<view class="pricebox flex ali-c jus-e" style="margin-top: 20upx;">
<!-- <view class="titme oneline flex1" v-if="item.status==4">退款原因:{{item.refund_details}}</view> -->
<!-- <view v-else></view> -->
<view class="heji">
合计
<text class="fuhao">¥</text>
<text class="shuzi">{{ item.refund_price }}</text>
</view>
</view>
<view class="order_foot flex jus-e">
<!-- shop_button 按钮 -->
<block v-for="(action, index) in item.shop_button" :key="index">
<view
class="btnss"
:data-index="indexMax"
:data-refundid="item.refund_id"
@tap.stop="operation"
:data-action="action.way"
:data-name="action.name"
:data-type="item.type"
>
{{ action.name }}
</view>
</block> </block>
</view> </view>
</view> </view>
</view> </view>
<pageScrollTo v-if="isshowtop" ></pageScrollTo> <pageScrollTo v-if="isshowtop"></pageScrollTo>
<!-- 返回顶部 --> <!-- 返回顶部 -->
<!-- 拒绝退款弹窗填写拒绝原因 -->
<uni-popup :show="showReasonRefusal" :mask-click="false" type="center">
<view class="setSelect">
<view class="titelsf">拒绝退款</view>
<view class="inputfboxs flex ali-c"><textarea class="textarea" value="" placeholder="请填写拒绝退款原因" selection-start="-1" @input="HandleReasonRefusal" /></view>
<view class="setbtns" @tap="saveReason">确定</view>
</view>
</uni-popup>
</view> </view>
</template> </template>
<script> <script>
// import { StoreorderStatus, orderGoodsList } from '@/utils/api/order.js'; // import { StoreorderStatus, orderGoodsList } from '@/utils/api/order.js';
import uniPopup from '@/components/uni-popup/uni-popup.vue';
import { orderStatus, orderList, oneKeyCancel, consentRefund, refuseRefund, getRefundOrderList, setReceivingGoods, shopExamine } from '@/utils/api/api.js';
import pageScrollTo from '@/components/pageScrollTo/pageScrollTo.vue';
import {orderStatus,orderList,oneKeyCancel,consentRefund,refuseRefund} from "@/utils/api/api.js"; export default {
components: {
import pageScrollTo from "@/components/pageScrollTo/pageScrollTo.vue" pageScrollTo,
export default { uniPopup
components:{ },
pageScrollTo, data() {
}, return {
data(){ tabactive: 'all',
return{ statusTab: 'all',
tabactive:"all", status: '',
statusTab:"all", is_dianping: '',
status:"", order_status_list: [],
is_dianping:"", order: [], //正常订单
order_status_list:[], refundOrder: [], //售后订单
order:[], is_loading_done: false,
is_loading_done:false, pageNum: 0,
pageNum:0, currentTab: 0,
currentTab:0, sale_status: '',
sale_status:"", isshowtop: false,
isshowtop:false, action: '',
ReasonRefusal: '', //拒绝退款原因
action:'', showReasonRefusal: false //拒绝退款弹窗
} };
}, },
computed: { computed: {
staticUrl () {//静态资源地址 staticUrl() {
return this.$store.state.staticUrl; //静态资源地址
} return this.$store.state.staticUrl;
}, }
//下拉刷新 },
onPullDownRefresh(){ //下拉刷新
this.is_loading_done=false; onPullDownRefresh() {
this.pageNum = 0; this.is_loading_done = false;
this.order = []; this.pageNum = 0;
this.order = [];
this.refundOrder=[];
this.initializedata();
},
onUnload() {
//页面卸载的时候
uni.setStorageSync('obj', { order_id: '', index: -1 });
uni.$off('isDelorder'); //取消监听
uni.setStorageSync('scrollTop', 0);
},
onPageScroll(e) {
//监听滚动
uni.setStorageSync('scrollTop', e.scrollTop);
//处理返回顶部
if (e.scrollTop > 400) {
this.isshowtop = true;
} else {
this.isshowtop = false;
}
},
onReachBottom() {
//滚动到最底部
if (!this.is_loading_done) {
this.initializedata(); this.initializedata();
}, }
onUnload(){ //页面卸载的时候 },
uni.setStorageSync('obj',{order_id:'',index:-1}); onLoad(options) {
uni.$off('isDelorder'); //取消监听 // console.log(options)
uni.setStorageSync('scrollTop',0); var that = this;
}, this.statusTab = options.current ? options.current : 'all'; // 订单状态
onPageScroll(e){ //监听滚动 this.status = options.status ? options.status : 'all';
uni.setStorageSync('scrollTop',e.scrollTop); this.is_dianping = options.is_dianping ? options.is_dianping : 0;
//处理返回顶部 let params = {};
if(e.scrollTop>400){ orderStatus(params).then(res => {
this.isshowtop = true; if (res.code == 0) {
}else{ let order_status_list = res.data;
this.isshowtop = false; this.order_status_list = order_status_list;
} }
}, });
onReachBottom(){ //滚动到最底部 this.initializedata();
if(!this.is_loading_done){ },
this.initializedata(); onShow() {
this.action = '';
uni.$on('isDelorder', res => {
let index = uni.getStorageSync('obj').index;
let order = this.order;
this.action = res.action;
if (res.action == 'oneKeyShipments') {
//确认发货
if (this.status != 'all') {
//只有不是在全部订单下才删除这一项
order.splice(index, 1); //删除某项
this.$set(this, 'order', order);
} else {
this.listDeal();
}
} else if (res.action == 'setReceivingGoods' || res.action == 'shopExamine' || res.action == 'setDeliverGoods') {
//确认收货、商家审核、立即发货
this.listDeal2();
} }
uni.$off('isDelorder'); //取消监听
});
if (this.action == '') {
this.listDeal();
}
},
methods: {
// 重新刷新正常订单列表
listDeal() {
let order_id = uni.getStorageSync('obj').order_id;
let index = uni.getStorageSync('obj').index;
uni.showLoading({ title: '请稍后...' });
orderList({
status: this.status,
is_dianping: this.is_dianping,
sale_status: this.sale_status,
page: Math.ceil((index + 1) / 10)
}).then(res => {
uni.hideLoading();
for (let item of res.data) {
if (item.order_id == order_id) {
this.$set(this.order, index, item);
break;
}
}
});
}, },
onLoad(options) { // 重新刷新售后订单列表
var that = this; listDeal2() {
this.statusTab=options.current ? options.current : "all";// 订单状态 let refund_id = uni.getStorageSync('refund').refund_id;
this.status= options.status ? options.status : "all"; let index = uni.getStorageSync('refund').index;
this.is_dianping= options.is_dianping ? options.is_dianping : 0; uni.showLoading({
let params = {}; title: '请稍后...'
orderStatus(params).then(res => { });
if (res.code == 0) { getRefundOrderList({
let order_status_list = res.data; page: Math.ceil((index + 1) / 20),
this.order_status_list = order_status_list; pagesize: 20
} }).then(res => {
console.log(res);
}) uni.hideLoading(); //结束加载
this.initializedata(); for (let item of res.data) {
if (item.refund_id == refund_id) {
this.$set(this.refundOrder, index, item);
break;
}
}
});
}, },
onShow() {
this.action=''; totkxq(data) {
uni.$on("isDelorder", res => { uni.showModal({
let index=uni.getStorageSync('obj').index; title: '退款原因',
let order=this.order; content: data,
this.action=res.action; showCancel: false,
if(res.action=="oneKeyShipments"){ //确认发货 confirmText: '我知道了',
if(this.status!='all'){ //只有不是在全部订单下才删除这一项 confirmColor: '#ff6900',
order.splice(index,1); //删除某项 success: res => {
this.$set(this,'order',order); if (res.confirm) {
}else{ console.log('用户点击确定');
this.listDeal(); } else if (res.cancel) {
console.log('用户点击取消');
} }
} }
uni.$off('isDelorder'); //取消监听 });
}) },
//点击切换
taggletab(event) {
let that = this;
let statusTab = event.currentTarget.dataset.statustab;
let status = event.currentTarget.dataset.status;
let is_dianping = event.currentTarget.dataset.is_dianping;
let sale_status = event.currentTarget.dataset.sale_status;
this.order = [];
this.refundOrder=[];
this.statusTab = statusTab;
this.tabactive = statusTab;
this.status = status;
this.is_dianping = is_dianping;
this.sale_status = sale_status;
this.is_loading_done = false;
this.currentTab = event.target.dataset.current;
this.pageNum = 0;
if(this.action==''){
this.listDeal();
}
console.log(this.refundOrder,'aaaa');
this.initializedata();
}, },
methods:{ // 拒绝退款原因关闭弹窗
listDeal(){ saveReason(e) {
let order_id=uni.getStorageSync('obj').order_id; this.showReasonRefusal = false; //关闭弹窗
let index=uni.getStorageSync('obj').index; let refund_id = uni.getStorageSync('refund').refund_id;
uni.showLoading({title:"请稍后..."}); let params = {
orderList({ examine_reason: this.ReasonRefusal,
status: this.status, refund_id: refund_id,
is_dianping: this.is_dianping, shop_id: '',
sale_status: this.sale_status, type: 2 //拒绝
page: Math.ceil((index+1)/10) };
}).then(res => { if (!this.ReasonRefusal) {
uni.hideLoading(); this.$api.msg('请填写拒绝原因');
for(let item of res.data){ return;
if(item.order_id==order_id){ }
this.$set(this.order,index,item); shopExamine(params).then(res => {
break; // console.log(res)
} if (res.code == 0) {
} uni.$emit('isDelorder', { action: 'shopExamine' });
}) this.$api.msg('退款审核成功');
}, } else {
totkxq(data){ this.$api.msg(res.msg);
uni.showModal({ }
title: '退款原因', });
content: data, this.showReasonRefusal = false; //关闭弹窗
showCancel:false, },
confirmText:"我知道了", // 获取拒绝退款原因
confirmColor:"#ff6900", HandleReasonRefusal(e) {
success: (res)=> { this.ReasonRefusal = e.detail.value;
if (res.confirm) { },
console.log('用户点击确定'); /**
} else if (res.cancel) { * 初始化数据
console.log('用户点击取消'); */
} initializedata() {
} this.pageNum++;
}); uni.showLoading({
}, title: '加载中...'
//点击切换 });
taggletab(event){ var that = this;
let that = this; // 点击售后/退款请求新接口
let statusTab = event.currentTarget.dataset.statustab; if (that.statusTab == 7) {
let status = event.currentTarget.dataset.status; let params = {
let is_dianping = event.currentTarget.dataset.is_dianping; page: that.pageNum,
let sale_status = event.currentTarget.dataset.sale_status; shop_id: ''
this.order= []; };
this.statusTab= statusTab; getRefundOrderList(params).then(res => {
this.tabactive = statusTab;
this.status = status;
this.is_dianping= is_dianping;
this.sale_status= sale_status;
this.is_loading_done=false;
this.currentTab=event.target.dataset.current;
this.pageNum=0;
this.initializedata();
},
/**
* 初始化数据
*/
initializedata () {
this.pageNum++;
var that = this;
let params = {
status: that.status,
is_dianping: that.is_dianping,
sale_status: that.sale_status,
page: this.pageNum,
};
uni.showLoading({
title: '加载中...'
});
orderList(params).then(res => {
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
uni.hideLoading();//结束加载 uni.hideLoading(); //结束加载
if (res.data == null || res.data.length == 0) { if (res.data == null || res.data.length == 0) {
this.is_loading_done= true; this.is_loading_done = true;
this.$api.msg("没有更多了~"); this.$api.msg('没有更多了~');
} else { } else {
this.order = [...this.order,...res.data] this.refundOrder = res.data;
} }
uni.pageScrollTo({ uni.pageScrollTo({
scrollTop: uni.getStorageSync('scrollTop'), scrollTop: uni.getStorageSync('scrollTop'),
duration: 0 duration: 0
}); });
}) });
}, return;
/** }
* 订单操作
*/ // 正常订单列表
operation (event) { let params = {
let that = this; status: that.status,
let action = event.currentTarget.dataset.action; is_dianping: that.is_dianping,
let order_id = event.currentTarget.dataset.orderid; sale_status: that.sale_status,
let vendor = event.currentTarget.dataset.vendor; page: this.pageNum
let index = Number(event.currentTarget.dataset.index);; };
uni.setStorageSync('obj',{order_id,index});
switch (action) { orderList(params).then(res => {
case 'oneKeyCancel': //一键核销 OK uni.stopPullDownRefresh();
that.requestOrder(order_id, action); uni.hideLoading(); //结束加载
console.info("一键核销"); if (res.data == null || res.data.length == 0) {
break; this.is_loading_done = true;
case 'oneKeyShipments': //一键发货 OK this.$api.msg('没有更多了~');
console.info("一键发货"); } else {
that.express(order_id, action,vendor); this.order = [...this.order, ...res.data];
break; }
case 'checkLogistics': //查看物流 uni.pageScrollTo({
that.logistics(order_id, action,vendor); scrollTop: uni.getStorageSync('scrollTop'),
console.info("查看物流"); duration: 0
break; });
case 'orderDetails': //订单详情 });
console.info("订单详情"); },
that.orderDetails(order_id,order_id); /**
break; * 订单操作
case 'consentRefund'://同意退款 */
this.clrefund(1,order_id,index); operation(event) {
break; let that = this;
case 'refuseRefund'://拒绝退款 let action = event.currentTarget.dataset.action;
this.clrefund(2,order_id,index); let order_id = event.currentTarget.dataset.orderid;
break; let vendor = event.currentTarget.dataset.vendor;
default: let index = Number(event.currentTarget.dataset.index);
//其他的 退款啥的 处理ok了 let refund_id = event.currentTarget.dataset.refundid;
console.info("1111",action); let name = event.currentTarget.dataset.name;
break; let type = event.currentTarget.dataset.type;
} uni.setStorageSync('obj', { order_id, index });
}, uni.setStorageSync('refund', { refund_id, index });
//处理退款 switch (action) {
clrefund(type,orderid,index){ case 'oneKeyCancel': //一键核销 OK
uni.showModal({ that.requestOrder(order_id, action);
title: '提示', console.info('一键核销');
content:type==1?'是否确定退款?':'是否拒绝退款', break;
success:(res)=> { case 'oneKeyShipments': //一键发货 OK
if(res.confirm){ console.info('一键发货');
new Promise((reslove, reject) =>{ that.express(order_id, action, vendor);
if(type==1){ //同意退款 break;
consentRefund({order_id:orderid}).then(res=>{ case 'checkLogistics': //查看物流
reslove(res) that.logistics(order_id, action, vendor);
}).catch(err=>{ console.info('查看物流');
reject(err) break;
case 'orderDetails': //订单详情
console.info('订单详情');
that.orderDetails(order_id, order_id);
break;
case 'consentRefund': //同意退款
this.clrefund(1, order_id, index);
break;
case 'refuseRefund': //拒绝退款
this.clrefund(2, order_id, index);
break;
// 售后/退款新接口
case 'getRefundDetail': //订单详情
that.getRefundDetail(refund_id);
break;
case 'viewLogistics': //查看物流
that.viewLogistics(refund_id);
break;
case 'setReceivingGoods': //确认收货
that.requestRefundOrder(refund_id, action);
break;
case 'shopExamine': //同意&拒绝
that.shopExamine(refund_id, name, type);
break;
case 'setDeliverGoods': //立即发货
that.setDeliverGoods(refund_id, action);
break;
default:
//其他的 退款啥的 处理ok了
// console.info('1111', action);
break;
}
},
// 正常订单
//处理退款
clrefund(type, orderid, index) {
uni.showModal({
title: '提示',
content: type == 1 ? '是否确定退款?' : '是否拒绝退款',
success: res => {
if (res.confirm) {
new Promise((reslove, reject) => {
if (type == 1) {
//同意退款
consentRefund({ order_id: orderid })
.then(res => {
reslove(res);
}) })
}else{ //拒绝退款 .catch(err => {
refuseRefund({order_id:orderid}).then(res=>{ reject(err);
});
} else {
//拒绝退款
refuseRefund({ order_id: orderid })
.then(res => {
reslove(res); reslove(res);
}).catch(err=>{
reject(err)
}) })
} .catch(err => {
reject(err);
}).then((res)=>{ });
if(res.code==0){ }
if(this.status!="all"){ })
let order=this.order; .then(res => {
order.splice(index,1); //删除某项 if (res.code == 0) {
this.$set(this,'order',order); if (this.status != 'all') {
}else{ let order = this.order;
order.splice(index, 1); //删除某项
this.$set(this, 'order', order);
} else {
this.listDeal(); this.listDeal();
} }
}else{ } else {
this.$api.msg(returnRes.msg); this.$api.msg(returnRes.msg);
} }
}).catch((err)=>{
console.log(err,'失败了');
//this.$api.msg(err.msg)
}) })
} .catch(err => {
console.log(err, '失败了');
//this.$api.msg(err.msg)
});
} }
}) }
}, });
//查看物流 },
logistics: function (order_id, action,vendor) { //查看物流
uni.navigateTo({ logistics: function(order_id, action, vendor) {
url: '/pages/ViewLogistics/ViewLogistics?order_id=' + order_id + '&action=' + action + '&vendor=' + vendor uni.navigateTo({
}) url: '/pages/ViewLogistics/ViewLogistics?order_id=' + order_id + '&action=' + action + '&vendor=' + vendor
}, });
//跳转订单详情 商家查看店铺的订单详情 },
orderDetails: function (order_id) { //跳转订单详情 商家查看店铺的订单详情
uni.navigateTo({ orderDetails: function(order_id) {
url:`/pages/order/shoporderdetail/shoporderdetail?order_id=${order_id}`, uni.navigateTo({
}) url: `/pages/order/shoporderdetail/shoporderdetail?order_id=${order_id}`
}, });
// 跳转发快递订单 ok 发货 },
express (order_id, action,vendor) { // 跳转发快递订单 ok 发货
uni.navigateTo({ express(order_id, action, vendor) {
url: '/pages/order/delivery/delivery?order_id=' + order_id + '&action=' + action + '&vendor=' + vendor uni.navigateTo({
}) url: '/pages/order/delivery/delivery?order_id=' + order_id + '&action=' + action + '&vendor=' + vendor
}, });
//请求后台操作订单 一键核销 },
requestOrder(order_id, action) { //请求后台操作订单 一键核销
var that = this; requestOrder(order_id, action) {
let params = { var that = this;
order_id: order_id, let params = {
//action: action, order_id: order_id
}; //action: action,
//一键核销方法 };
oneKeyCancel(params).then(res => { //一键核销方法
if (res.code == 0) { oneKeyCancel(params).then(res => {
uni.showModal({ if (res.code == 0) {
title: '提示', uni.showModal({
content: res.msg, title: '提示',
showCancel: false, content: res.msg,
success(res) { showCancel: false,
uni.redirectTo({ success(res) {
url: '/pages/order/shopOrder?status=' + that.status + "&current=" + that.statusTab, uni.redirectTo({
}) url: '/pages/order/shopOrder?status=' + that.status + '&current=' + that.statusTab
} });
}) }
} else { });
this.$api.msg(res.msg); } else {
} this.$api.msg(res.msg);
}) }
}, });
},
// 售后/退款订单
// 订单详情
getRefundDetail: function(refund_id) {
uni.navigateTo({
url: `/pages/order/shoprefundorderdetail/shoprefundorderdetail?refund_id=${refund_id}`
});
},
//查看物流
viewLogistics: function(refund_id) {
uni.navigateTo({
url: `/pages/ViewLogistics/ViewLogistics?refund_id=${refund_id}`
});
},
//立即发货
setDeliverGoods:function(refund_id) {
uni.navigateTo({
url: '/pages/order/ExamineDelivery/ExamineDelivery?refund_id=' + refund_id
});
},
// 请求后台操作售后订单确认收货
requestRefundOrder: function(refund_id, action) {
let params = {
refund_id: refund_id,
shop_id: ''
};
setReceivingGoods(params).then(res => {
// console.log(res);
if (res.code == 0) {
uni.$emit('isDelorder', { action: 'setReceivingGoods' });
uni.showToast({
title: '收货成功',
duration: 2000,
icon: 'none'
});
// this.listDeal2(); //确认收货成功自动刷新售后列表
} else {
this.$api.msg(res.msg);
}
});
},
// 请求后台操作售后订单同意&拒绝
shopExamine: function(refund_id, name, type) {
if (name == '同意') {
if (type == 3) {
//直接退款
var params = {
refund_id: refund_id,
shop_id: '',
type: 1
};
uni.showModal({
title: '提示',
content: '请问是否确认同意退款?',
success: res => {
if (res.confirm) {
shopExamine(params).then(res => {
if (res.code == 0) {
uni.$emit('isDelorder', { action: 'shopExamine' });
uni.showToast({
title: '操作成功',
duration: 2000,
icon: 'none'
});
this.listDeal2(); //同意退款后自动刷新售后列表
}
});
}
}
});
} else if (type == 1 || type == 2) {
//退款退货 换货refund_id, name, type
uni.navigateTo({
url: `/pages/order/shopExamine/shopExamine?refund_id=${refund_id}&type=${type}`
});
}
} else if (name == '拒绝') {
this.showReasonRefusal = true;
}
} }
} }
};
</script> </script>
<style lang="scss"> <style lang="scss">
@import "./shopOrder.scss" @import './shopOrder.scss';
</style> </style>
<template> <template>
<!-- 商家查看自己店铺的订单详情 --> <!-- 商家查看自己店铺的订单详情 -->
<!-- 订单 order --> <!-- 订单 order -->
<view class="shoporderdetale xiangq yocode"> <view class="shoporderdetale xiangq yocode">
<view class="beijingimg" style="height:80px"> <view class="beijingimg" style="height:80px">
<!-- <view class="onetitle">{{detail.orderstatus}}</view> <!-- <view class="onetitle">{{detail.orderstatus}}</view>
<view class="twotitle">{{detail.statusdesc}}</view> --> <view class="twotitle">{{detail.statusdesc}}</view> -->
</view> </view>
<view class="boxs"> <view class="boxs">
<view class="topbox_20 addresone" v-if="detail.delivery_type>=1"> <view class="topbox_20 addresone" v-if="detail.delivery_type>=1">
<view class="ali-c"> <view class="ali-c">
<view class="weizhiimg"> <view class="weizhiimg">
<image class="imgs" src="/static/news/address.png"></image> <image class="imgs" src="/static/news/address.png"></image>
</view> </view>
<view class="flex1 ml-20 addrnamesv"> <view class="flex1 ml-20 addrnamesv">
<view class="sz_30 bt_hei">{{detail.addr.name}} {{detail.addr.mobile}}</view> <view class="sz_30 bt_hei">{{detail.addr.name}} {{detail.addr.mobile}}</view>
<view class="sz_30 bt_hei mt-10">{{detail.addr.addr}}</view> <view class="sz_30 bt_hei mt-10">{{detail.addr.addr}}</view>
</view> </view>
</view> </view>
</view> </view>
<view class="topbox_20 mt-60 addresone" v-else> <view class="topbox_20 mt-60 addresone" v-else>
<view class="ali-c"> <view class="ali-c">
<view class="weizhiimg"> <view class="weizhiimg">
<image class="imgs" src="/static/news/storeicon.png"></image> <image class="imgs" src="/static/news/storeicon.png"></image>
</view> </view>
<view class="flex1 ml-20"> <view class="flex1 ml-20">
<view class="sz_30 bt_hei">到店支付</view> <view class="sz_30 bt_hei">到店支付</view>
</view> </view>
</view> </view>
</view> </view>
<view class="topbox_20 mt-20"> <view class="topbox_20 mt-20">
<view class="ali-c"> <view class="ali-c">
<view class="tubiimg mr-20"> <view class="tubiimg mr-20">
<image class="imgs" src="/static/news/storeicon.png"></image> <image class="imgs" src="/static/news/storeicon.png"></image>
</view> </view>
<view class="bt_min flex1">{{detail.shop_name}}</view> <view class="bt_min flex1">{{detail.shop_name}}</view>
</view> </view>
<view class="flex mt-30" v-for='(item,index) in detail.products' :key='index' > <view class="flex mt-30" v-for='(item,index) in detail.products' :key='index'>
<view class="tuimg br_10 ov"> <view class="tuimg br_10 ov">
<image class="imgs" :src="staticUrl+item.photo" v-if="item.photo"></image> <image class="imgs" :src="staticUrl+item.photo" v-if="item.photo"></image>
<image class="imgs" :src="staticUrl+detail.photo" v-else ></image> <image class="imgs" :src="staticUrl+detail.photo" v-else></image>
</view> </view>
<view class="flex1 ml-25 goodsboxs"> <view class="flex1 ml-25 goodsboxs">
<view class="sz_30 bt_hei twoline names" style="height:65upx">{{item.goods_name}}</view> <view class="sz_30 bt_hei twoline names" style="height:65upx">{{item.goods_name}}</view>
<view class="sz_26 bt_hei mt-10 prices">价格{{item.fprice}} <view class="sz_26 bt_hei mt-10 prices">价格{{item.fprice}}
<!-- <text class="ml-20 prices" v-if="detail.buytype==0 && item.recprice >0">充值价{{item.recprice}}</text> --> <!-- <text class="ml-20 prices" v-if="detail.buytype==0 && item.recprice >0">充值价{{item.recprice}}</text> -->
</view> </view>
<view class="sz_26 inp_hui mt-10 skunames">规格:{{item.sku_name}}<text class="ml-20"></text> <view class="sz_26 inp_hui mt-10 skunames">规格:{{item.sku_name}}<text class="ml-20"></text>
</view> </view>
<view class="sz_26 inp_hui mt-10 sumns">数量: x {{item.goodsnum}}</view> <view class="sz_26 inp_hui mt-10 sumns">数量: x {{item.goodsnum}}</view>
</view> </view>
</view> </view>
</view> </view>
<view class="topbox_20 mt-20 "> <view class="topbox_20 mt-20 ">
<view class="ali-z sz_30 bt_hei flex ali-c jus-b"> <view class="ali-z sz_30 bt_hei flex ali-c jus-b">
<view>已优惠:</view> <view>已优惠:</view>
<view style="color: red;font-size: 20upx;">{{detail.cprice}}</view> <view style="color: red;font-size: 20upx;">{{detail.cprice}}</view>
</view> </view>
</view> </view>
<view class="topbox_20 mt-20 "> <view class="topbox_20 mt-20 ">
<view class="ali-z sz_30 bt_hei flex ali-c jus-b"> <view class="ali-z sz_30 bt_hei flex ali-c jus-b">
<view>总计:</view> <view>总计:</view>
<view style="color: red;">¥{{detail.total}}</view> <view style="color: red;">¥{{detail.total}}</view>
</view> </view>
</view> </view>
<!-- 第二排 --> <!-- 第二排 -->
<view class="cellboxs cellboxstow" v-if='logs'> <view class="cellboxs cellboxstow" v-if='logs'>
<view class="subsbox cellitems flex ali-c jus-b"> <view class="subsbox cellitems flex ali-c jus-b">
<view class="name">订单信息</view> <view class="name">订单信息</view>
</view> </view>
<view class="cellitems flex ali-c jus-b"> <view class="cellitems flex ali-c jus-b">
<view class="name">订单编号</view> <view class="name">订单编号</view>
<view class="vlas">{{logs.order_sn}}</view> <view class="vlas">{{logs.order_sn}}</view>
</view> </view>
<view class="cellitems flex ali-c jus-b">
<view class="name">创建时间</view> <view class="cellitems flex ali-c jus-b">
<view class="vlas">{{logs.createtime}}</view> <view class="name">创建时间</view>
</view> <view class="vlas">{{logs.createtime}}</view>
<view class="cellitems flex ali-c jus-b" v-if="detail.status==4"> </view>
<view class="name">退款原因</view> <view class="cellitems flex ali-c jus-b" v-if="detail.status==4">
<view class="vlas">{{detail.refund_details}}</view> <view class="name">退款原因</view>
</view> <view class="vlas">{{detail.refund_details}}</view>
</view>
</view> <view class="cellitems flex ali-c jus-b" >
<!-- 订单信息 --> <view class="name" style="width: 30%;">订单备注:</view>
<view class="vlas" style="text-align: left;">{{detail.message==''?'':detail.message}}</view>
<!-- 联系客服 --> </view>
<view class="ordertelbox flex "> </view>
<view class="itemboxss flex1 flex flexc" @tap="xlsj" :data-tel='detail.addr.mobile'> <!-- 订单信息 -->
<image class="img" src="/static/news/telicon1.png" mode=""></image>
<view class="name">联系客户</view>
</view> <!-- 联系客服 -->
<view class="itemboxss flex1 flex flexc" @tap="lxpt"> <view class="ordertelbox flex ">
<image class="img" src="/static/news/kefuicon.png" mode=""></image> <view class="itemboxss flex1 flex flexc" @tap="xlsj" :data-tel='detail.addr.mobile'>
<view class="name">联系平台</view> <image class="img" src="/static/news/telicon1.png" mode=""></image>
</view> <view class="name">联系客户</view>
</view> </view>
<view class="itemboxss flex1 flex flexc" @tap="lxpt">
<!-- 猜你会买 --> <image class="img" src="/static/news/kefuicon.png" mode=""></image>
</view> <view class="name">联系平台</view>
</view>
</view>
</view>
</template> <!-- 猜你会买 -->
</view>
<script>
import { orderDetails } from "@/utils/api/api.js";
export default { </view>
data(){ </template>
return {
order_id:"", <script>
detail:{addr:{mobile:""}}, import {
logs:{}, orderDetails
} } from "@/utils/api/api.js";
}, export default {
computed: { data() {
staticUrl () {//静态资源地址 return {
return this.$store.state.staticUrl; order_id: "",
} detail: {
}, addr: {
onLoad(options) { mobile: ""
this.order_id = options.order_id; }
this.initializedata(); },
}, logs: {},
methods:{ }
xlsj(){//联系客户 },
uni.makePhoneCall({ computed: {
phoneNumber: this.detail.addr.mobile //仅为示例 staticUrl() { //静态资源地址
}); return this.$store.state.staticUrl;
}, }
//联系平台 },
lxpt(){ onLoad(options) {
uni.makePhoneCall({ this.order_id = options.order_id;
phoneNumber: '15907083784' //仅为示例 this.initializedata();
}); },
}, methods: {
initializedata() { xlsj() { //联系客户
var that = this; uni.makePhoneCall({
let params = { phoneNumber: this.detail.addr.mobile //仅为示例
order_id: that.order_id, });
}; },
orderDetails(params).then(res => { //联系平台
console.log(res); lxpt() {
if(res.code<0){ uni.makePhoneCall({
// app.showToast({title: res.msg}); phoneNumber: '15907083784' //仅为示例
this.$api.msg(res.msg); });
}else{ },
// that.setData({ initializedata() {
// detail: res.data.detail, var that = this;
// logs:res.data.logs, let params = {
// CONFIG: app.globalData.CONFIG order_id: that.order_id,
// }) };
orderDetails(params).then(res => {
this.detail = res.data.detail; console.log(res);
this.logs = res.data.logs; if (res.code < 0) {
//this.CONFIG = // app.showToast({title: res.msg});
} this.$api.msg(res.msg);
}) } else {
}, // that.setData({
callTel: function (e) { // detail: res.data.detail,
uni.makePhoneCall({ // logs:res.data.logs,
phoneNumber: e.currentTarget.dataset.tel // 仅为示例,并非真实的电话号码 // CONFIG: app.globalData.CONFIG
}) // })
},
this.detail = res.data.detail;
}, this.logs = res.data.logs;
//this.CONFIG =
}
} })
</script> },
callTel: function(e) {
<style lang="scss"> uni.makePhoneCall({
/* pages/shop//order/weidianorder/weidianLine_item/weidianLine_item.wxss */ phoneNumber: e.currentTarget.dataset.tel // 仅为示例,并非真实的电话号码
.ml-20{ })
margin-left: 20upx; },
}
.mt-20{ },
margin-top: 20upx;
}
.mr-20{ }
margin-right: 20upx; </script>
}
.mt-30{ <style lang="scss">
margin-top: 30upx; /* pages/shop//order/weidianorder/weidianLine_item/weidianLine_item.wxss */
} .ml-20 {
.ml-25{ margin-left: 20upx;
margin-left: 25upx; }
}
.sz_30{ .mt-20 {
font-size: 30upx; margin-top: 20upx;
} }
.beijingimg {
background: linear-gradient(#FF5A03,#FF4216); .mr-20 {
width: 100%; margin-right: 20upx;
height: 300upx; }
position: absolute;
top: 0; .mt-30 {
z-index: 1; margin-top: 30upx;
padding-left: 20upx; }
padding-top: 25px;
.onetitle{ .ml-25 {
color:#FFFFFF; margin-left: 25upx;
font-size: 30upx; }
} .sz_30 {
.twotitle{ font-size: 30upx;
color:#FFFFFF; }
font-size: 28upx;
} .beijingimg {
} background: linear-gradient(#FF5A03, #FF4216);
width: 100%;
.addresone{ height: 300upx;
margin-top: 20px; position: absolute;
} top: 0;
.boxs { z-index: 1;
position: relative; padding-left: 20upx;
z-index:2; padding-top: 25px;
width: 100%;
padding: 24upx; .onetitle {
box-sizing: border-box; color: #FFFFFF;
font-size: 30upx;
}
.bt_min{ }
font-size: 30upx;
} .twotitle {
.addrnamesv{ color: #FFFFFF;
font-size: 30upx; font-size: 28upx;
} }
.topbox_20 { }
width: 100%;
background: rgba(255,255,255,1); .addresone {
border-radius: 14rpx; margin-top: 20px;
padding: 20upx; }
box-sizing: border-box;
font-size: 30upx; .boxs {
} position: relative;
z-index: 2;
.skunames{ width: 100%;
font-size: 24upx; padding: 24upx;
} box-sizing: border-box;
page{ }
position: relative;
padding-bottom: 100upx; .bt_min {
background: #F5F5F5; font-size: 30upx;
} }
.weizhiimg{
width: 30upx; .addrnamesv {
height: 46upx; font-size: 30upx;
.imgs{ }
width: 30upx;
height: 46upx; .topbox_20 {
} width: 100%;
} background: rgba(255, 255, 255, 1);
.shuwuimg{ border-radius: 14rpx;
width:67upx; padding: 20upx;
height:67upx; box-sizing: border-box;
border-radius:4upx; font-size: 30upx;
overflow: hidden; }
}
.btbox{ .skunames {
width:190upx; font-size: 24upx;
height:77upx; }
background:rgba(255,255,255,1);
border-radius:4upx; page {
} position: relative;
.xiangyouimg{ padding-bottom: 100upx;
width:14upx; background: #F5F5F5;
height:24upx; }
}
.dianhuimg{ .weizhiimg {
width:42upx; width: 30upx;
height:42upx; height: 46upx;
}
.kuai{ .imgs {
width:40upx; width: 30upx;
height:40upx; height: 46upx;
text-align: center; }
line-height: 40upx; }
font-size:24upx;
font-weight:500; .shuwuimg {
color:rgba(255,255,255,1); width: 67upx;
} height: 67upx;
border-radius: 4upx;
.dibu_qr{ overflow: hidden;
position: fixed; }
bottom: 0;
width:100%; .btbox {
background:rgba(255,255,255,1); width: 190upx;
padding: 10upx 24upx; height: 77upx;
box-sizing: border-box; background: rgba(255, 255, 255, 1);
} border-radius: 4upx;
.beizhu{ }
width: 150upx;
text-align: right; .xiangyouimg {
} width: 14upx;
.tubiimg{ height: 24upx;
width:27upx; }
height:24upx;
.imgs{ .dianhuimg {
width:27upx; width: 42upx;
height:24upx; height: 42upx;
} }
}
.tuimg{ .kuai {
width:183upx; width: 40upx;
height:183upx; height: 40upx;
.imgs{ text-align: center;
width:183upx; line-height: 40upx;
height:183upx; font-size: 24upx;
} font-weight: 500;
} color: rgba(255, 255, 255, 1);
view{ }
line-height: 112%;
letter-spacing:3upx .dibu_qr {
} position: fixed;
.dianhuimg{ bottom: 0;
width:43upx; width: 100%;
height:43upx; background: rgba(255, 255, 255, 1);
} padding: 10upx 24upx;
.shuxian{ box-sizing: border-box;
width:1px; }
height:100upx;
background:rgba(242,242,242,1); .beizhu {
} width: 150upx;
.duanxian{ text-align: right;
width:45upx; }
height:1px;
background: rgba(181,181,181,1); .tubiimg {
} width: 27upx;
.cptjimg{ height: 24upx;
width:100%;
height:310upx; .imgs {
} width: 27upx;
/* 取消弹窗 */ height: 24upx;
.zan-dialog__mask { }
position: fixed; }
top: 0;
left: 0; .tuimg {
right: 0; width: 183upx;
bottom: 0; height: 183upx;
z-index: 10;
background: rgba(0, 0, 0, .5); .imgs {
display: none; width: 183upx;
} height: 183upx;
}
.zan-dialog__container { }
position: fixed;
bottom: 400upx; view {
width: 650upx; line-height: 112%;
height: 350upx; letter-spacing: 3upx
margin-left: 50upx; }
background: #f8f8f8;
transform: translateY(300%); .dianhuimg {
transition: all 0.4s ease; width: 43upx;
z-index: 12; height: 43upx;
border-radius: 20upx; }
/* box-shadow: 0px 3px 3px 2px gainsboro; */
} .shuxian {
width: 1px;
.zan-dialog--show .zan-dialog__container { height: 100upx;
transform: translateY(0); background: rgba(242, 242, 242, 1);
} }
.zan-dialog--show .zan-dialog__mask { .duanxian {
display: block; width: 45upx;
} height: 1px;
background: rgba(181, 181, 181, 1);
.goodsboxs{ }
font-size: 30upx;
.names{ .cptjimg {
font-size: 30upx; width: 100%;
} height: 310upx;
.prices{ }
font-size: 30upx;
} /* 取消弹窗 */
.sumns{ .zan-dialog__mask {
color:rgb(192, 190, 190); position: fixed;
} top: 0;
} left: 0;
right: 0;
bottom: 0;
//联系kefu 客服 z-index: 10;
.ordertelbox{ background: rgba(0, 0, 0, .5);
margin: 0 24upx; display: none;
margin-top: 20upx; }
height:89upx;
background:rgba(255,255,255,1); .zan-dialog__container {
border-radius:0px 0px 14upx 14upx; position: fixed;
.itemboxss{ bottom: 400upx;
position: relative; width: 650upx;
height: 89upx; height: 350upx;
line-height: 89upx; margin-left: 50upx;
.img{ background: #f8f8f8;
width:43upx; transform: translateY(300%);
height:43upx; transition: all 0.4s ease;
margin-right: 20upx; z-index: 12;
} border-radius: 20upx;
.name{ /* box-shadow: 0px 3px 3px 2px gainsboro; */
font-size:30upx; }
color:rgba(0,0,0,1);
} .zan-dialog--show .zan-dialog__container {
} transform: translateY(0);
}
.itemboxss:nth-child(1):after{
content: ""; .zan-dialog--show .zan-dialog__mask {
width:1px; display: block;
height:89px; }
background:rgba(242,242,242,1);
position: absolute; .goodsboxs {
top:0; font-size: 30upx;
right: 0;
} .names {
} font-size: 30upx;
//客服end }
//价格明细列表 .prices {
.cellboxs{ font-size: 30upx;
margin: 20upx 0; }
margin-top: 20upx;
.cellitems{ .sumns {
padding: 0 20upx; color: rgb(192, 190, 190);
height: 88upx; }
line-height: 88upx; }
border-bottom: 1px solid #F5F1F1;
background: #FFFFFF;
.name{ //联系kefu 客服
font-size:30upx; .ordertelbox {
color:rgba(0,0,0,1); margin: 0 24upx;
} margin-top: 20upx;
.vlas{ height: 89upx;
font-size:30upx; background: rgba(255, 255, 255, 1);
color:rgba(0,0,0,1); border-radius: 0px 0px 14upx 14upx;
}
} .itemboxss {
.cellitems:nth-last-child(1){ position: relative;
border:0; height: 89upx;
} line-height: 89upx;
.subsbox{
.name{ .img {
font-size:30upx; width: 43upx;
font-family:PingFang SC; height: 43upx;
font-weight:bold; margin-right: 20upx;
color:rgba(0,0,0,1); }
}
.vlas{ .name {
color:#FF6900; font-size: 30upx;
.fuhao{ color: rgba(0, 0, 0, 1);
font-size: 30upx; }
} }
.shuzi{
font-family:PingFang SC; .itemboxss:nth-child(1):after {
font-weight:bold; content: "";
font-size: 36upx; width: 1px;
} height: 89px;
} background: rgba(242, 242, 242, 1);
} position: absolute;
} top: 0;
right: 0;
// .cellboxstow{ }
// margin-top: 0; }
// margin-bottom: 0;
// } //客服end
//价格明细列表
.cellboxs {
margin: 20upx 0;
margin-top: 20upx;
.cellitems {
padding: 0 20upx;
height: 88upx;
line-height: 88upx;
border-bottom: 1px solid #F5F1F1;
background: #FFFFFF;
.name {
font-size: 30upx;
color: rgba(0, 0, 0, 1);
}
.vlas {
font-size: 30upx;
color: rgba(0, 0, 0, 1);
}
}
.cellitems:nth-last-child(1) {
border: 0;
}
.subsbox {
.name {
font-size: 30upx;
font-family: PingFang SC;
font-weight: bold;
color: rgba(0, 0, 0, 1);
}
.vlas {
color: #FF6900;
.fuhao {
font-size: 30upx;
}
.shuzi {
font-family: PingFang SC;
font-weight: bold;
font-size: 36upx;
}
}
}
}
// .cellboxstow{
// margin-top: 0;
// margin-bottom: 0;
// }
</style> </style>
<template>
<!-- 商家查看自己店铺的售后订单详情 -->
<!-- 订单 order -->
<view class="shoporderdetale xiangq yocode">
<view class="beijingimg">
<image src="https://luma.jxdsy.cn/static/applet5/2020/index/group_img/defeated.png" mode="" style="width: 100%;height: 240upx;"></image>
<view class="twotitle">{{detail.desc}}</view>
</view>
<view class="boxs">
<view class="topbox_20 mt-20">
<view class="ali-c">
<view class="weizhiimg"><image class="imgs" src="/static/news/address.png"></image></view>
<view class="flex1 ml-20 addrnamesv">
<view class="sz_30 bt_hei">{{ detail.adress.name }} {{ detail.adress.mobile }}</view>
<view class="sz_30 bt_hei mt-10">{{ detail.adress.addr }}</view>
</view>
</view>
</view>
<!-- 退款进度及图片 -->
<!-- <view class="topbox_20 mt-20">
<view class="ali-z sz_30 flexv jus-c ali-c" style="height: 200upx;">
<image src="https://luma.jxdsy.cn/static/applet5/images/refund/tuikuan2.png" mode="" style="width: 530upx;height: 76upx;"></image>
<view style="color: #F64F15;margin-top: 40upx;">{{ detail.status_text }}</view>
</view>
</view> -->
<!-- 售后说明 -->
<view class="topbox_20 mt-20" v-if="detail.refund_datail != '' || detail.refund_pics.length>0 ">
<view style="font-size: 30upx;font-weight: 500;">售后说明</view>
<view class="mt-20 refund_datail">{{ detail.refund_datail }}</view>
<view class="datail_img">
<image
:src="staticUrl + item"
mode=""
v-for="(item, index) in detail.refund_pics"
style="width: 220upx;height: 196upx;flex-grow: 1;padding: 4upx;"
></image>
</view>
</view>
<view class="topbox_20 mt-20">
<view class="ali-c">
<view class="tubiimg mr-20"><image class="imgs" src="/static/news/storeicon.png"></image></view>
<view class="bt_min flex1">{{ detail.shop_name }}</view>
</view>
<view class="flex mt-30" v-for="(item, index) in detail.ordergoods" :key="index">
<view class="tuimg br_10 ov">
<image class="imgs" :src="staticUrl + item.photo" v-if="item.photo"></image>
<image class="imgs" :src="staticUrl + detail.photo" v-else></image>
</view>
<view class="flex1 ml-25 goodsboxs">
<view class="sz_30 bt_hei twoline names" style="height:65upx">{{ item.goods_name }}</view>
<view class="sz_26 bt_hei mt-10 prices">
价格{{ item.price }}
<!-- <text class="ml-20 prices" v-if="detail.buytype==0 && item.recprice >0">充值价{{item.recprice}}</text> -->
</view>
<view class="sz_26 inp_hui mt-10 skunames">
规格:{{ item.sku_name }}
<text class="ml-20"></text>
</view>
<view class="sz_26 inp_hui mt-10 sumns">数量: x {{ item.num }}</view>
</view>
</view>
</view>
<view class="topbox_20 mt-20 ">
<view class="ali-z sz_30 bt_hei flex ali-c jus-b">
<view>总计:</view>
<view style="color: red;">¥{{ detail.need_pay }}</view>
</view>
</view>
<!-- 第二排 -->
<view class="cellboxs cellboxstow">
<view class="subsbox cellitems flex ali-c jus-b"><view class="name">订单信息</view></view>
<view class="cellitems flex ali-c jus-b">
<view class="name">订单编号</view>
<view class="vlas">{{ detail.order_sn }}</view>
</view>
<view class="cellitems flex ali-c jus-b">
<view class="name">创建时间</view>
<view class="vlas">{{ detail.create_time }}</view>
</view>
<!-- <view class="cellitems flex ali-c jus-b">
<view class="name">退款原因</view>
<view class="vlas">{{ detail.refund_datail }}</view>
</view> -->
<!-- <view class="cellitems flex ali-c jus-b">
<view class="name">退款图片</view>
<view class="vlas">{{ detail.refund_pics }}</view>
</view> -->
</view>
<!-- 订单信息 -->
<!-- 联系客服 -->
<view class="ordertelbox flex ">
<view class="itemboxss flex1 flex flexc" @tap="xlsj" :data-tel="detail.adress.mobile">
<image class="img" src="/static/news/telicon1.png" mode=""></image>
<view class="name">联系客户</view>
</view>
<view class="itemboxss flex1 flex flexc" @tap="lxpt">
<image class="img" src="/static/news/kefuicon.png" mode=""></image>
<view class="name">联系平台</view>
</view>
</view>
</view>
<!-- 底部按钮 -->
<!-- <view class="flexfootsubbtn flex jus-e ali-c order_foot" style="border-top: 1px solid #DEDEDE;" v-if="detail.buttons != ''">
<view
:class="[item.way == 'shopExamine' ? 'btnitemTow' : 'btnitem', item.class_name]"
@tap.stop="operation(item.way)"
v-for="(item, index) in detail.buttons"
:key="index"
>
{{ item.name }}
</view>
</view> -->
</view>
</template>
<script>
import { getRefundDetail } from '@/utils/api/api.js';
export default {
data() {
return {
refund_id: '',
detail: {adress:{}} //售后详情
// logs:{},
};
},
computed: {
staticUrl() {
//静态资源地址
return this.$store.state.staticUrl;
}
},
onLoad(options) {
this.refund_id = options.refund_id;
this.initializedata();
},
methods: {
xlsj() {
//联系客户
uni.makePhoneCall({
phoneNumber: this.detail.addr.mobile //仅为示例
});
},
//联系平台
lxpt() {
uni.makePhoneCall({
phoneNumber: '15907083784' //仅为示例
});
},
initializedata() {
var that = this;
let params = {
refund_id: that.refund_id
};
getRefundDetail(params).then(res => {
// console.log(res);
if (res.code < 0) {
// app.showToast({title: res.msg});
this.$api.msg(res.msg);
} else {
this.detail = res.data;
// this.logs = res.data.logs;
//this.CONFIG =
}
});
},
callTel: function(e) {
uni.makePhoneCall({
phoneNumber: e.currentTarget.dataset.tel // 仅为示例,并非真实的电话号码
});
}
}
};
</script>
<style lang="scss">
/* pages/shop//order/weidianorder/weidianLine_item/weidianLine_item.wxss */
.ml-20 {
margin-left: 20upx;
}
.mt-20 {
margin-top: 20upx;
}
.mr-20 {
margin-right: 20upx;
}
.mt-30 {
margin-top: 30upx;
}
.ml-25 {
margin-left: 25upx;
}
.sz_30 {
font-size: 30upx;
}
.beijingimg {
// background: linear-gradient(#ff5a03, #ff4216);
width: 100%;
// padding: 30upx 24upx;
position: relative;
.twotitle {
position: absolute;
z-index: 99;
top: 60upx;
color: rgba(255, 255, 255, 1);
font-size: 38upx;
font-weight: 500;
line-height: 40upx;
margin-left: 40upx;
}
}
.addresone {
margin-top: 20px;
}
.boxs {
position: relative;
z-index: 2;
width: 100%;
padding: 0upx 24upx;
// margin-top: 60upx;
box-sizing: border-box;
}
.bt_min {
font-size: 30upx;
}
.addrnamesv {
font-size: 30upx;
}
.topbox_20 {
width: 100%;
background: rgba(255, 255, 255, 1);
border-radius: 14rpx;
padding: 20upx;
box-sizing: border-box;
font-size: 30upx;
}
.skunames {
font-size: 24upx;
}
page {
position: relative;
padding-bottom: 100upx;
background: #f5f5f5;
}
.weizhiimg {
width: 30upx;
height: 46upx;
.imgs {
width: 30upx;
height: 46upx;
}
}
.shuwuimg {
width: 67upx;
height: 67upx;
border-radius: 4upx;
overflow: hidden;
}
.btbox {
width: 190upx;
height: 77upx;
background: rgba(255, 255, 255, 1);
border-radius: 4upx;
}
.xiangyouimg {
width: 14upx;
height: 24upx;
}
.dianhuimg {
width: 42upx;
height: 42upx;
}
.kuai {
width: 40upx;
height: 40upx;
text-align: center;
line-height: 40upx;
font-size: 24upx;
font-weight: 500;
color: rgba(255, 255, 255, 1);
}
.dibu_qr {
position: fixed;
bottom: 0;
width: 100%;
background: rgba(255, 255, 255, 1);
padding: 10upx 24upx;
box-sizing: border-box;
}
.beizhu {
width: 150upx;
text-align: right;
}
.tubiimg {
width: 27upx;
height: 24upx;
.imgs {
width: 27upx;
height: 24upx;
}
}
.tuimg {
width: 183upx;
height: 183upx;
.imgs {
width: 183upx;
height: 183upx;
}
}
view {
line-height: 112%;
letter-spacing: 3upx;
}
.dianhuimg {
width: 43upx;
height: 43upx;
}
.shuxian {
width: 1px;
height: 100upx;
background: rgba(242, 242, 242, 1);
}
.duanxian {
width: 45upx;
height: 1px;
background: rgba(181, 181, 181, 1);
}
.cptjimg {
width: 100%;
height: 310upx;
}
/* 取消弹窗 */
.zan-dialog__mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 10;
background: rgba(0, 0, 0, 0.5);
display: none;
}
.zan-dialog__container {
position: fixed;
bottom: 400upx;
width: 650upx;
height: 350upx;
margin-left: 50upx;
background: #f8f8f8;
transform: translateY(300%);
transition: all 0.4s ease;
z-index: 12;
border-radius: 20upx;
/* box-shadow: 0px 3px 3px 2px gainsboro; */
}
.zan-dialog--show .zan-dialog__container {
transform: translateY(0);
}
.zan-dialog--show .zan-dialog__mask {
display: block;
}
.goodsboxs {
font-size: 30upx;
.names {
font-size: 30upx;
}
.prices {
font-size: 30upx;
}
.sumns {
color: rgb(192, 190, 190);
}
}
//联系kefu 客服
.ordertelbox {
margin: 0 24upx;
margin-top: 20upx;
height: 89upx;
background: rgba(255, 255, 255, 1);
border-radius: 0px 0px 14upx 14upx;
.itemboxss {
position: relative;
height: 89upx;
line-height: 89upx;
.img {
width: 43upx;
height: 43upx;
margin-right: 20upx;
}
.name {
font-size: 30upx;
color: rgba(0, 0, 0, 1);
}
}
.itemboxss:nth-child(1):after {
content: '';
width: 1px;
height: 89px;
background: rgba(242, 242, 242, 1);
position: absolute;
top: 0;
right: 0;
}
}
//客服end
//价格明细列表
.cellboxs {
margin: 20upx 0;
margin-top: 20upx;
.cellitems {
padding: 0 20upx;
height: 88upx;
line-height: 88upx;
border-bottom: 1px solid #f5f1f1;
background: #ffffff;
.name {
font-size: 30upx;
color: rgba(0, 0, 0, 1);
}
.vlas {
font-size: 30upx;
color: rgba(0, 0, 0, 1);
}
}
.cellitems:nth-last-child(1) {
border: 0;
}
.subsbox {
.name {
font-size: 30upx;
font-family: PingFang SC;
font-weight: bold;
color: rgba(0, 0, 0, 1);
}
.vlas {
color: #ff6900;
.fuhao {
font-size: 30upx;
}
.shuzi {
font-family: PingFang SC;
font-weight: bold;
font-size: 36upx;
}
}
}
}
.datail_img{
// width: 100%;
display: flex;
flex-direction: row;
justify-content: start;
align-items: center;
flex-wrap: wrap;
}
.refund_datail{
margin-top: 20upx;
}
</style>
<template> <template>
<view> <view>
<view class="">
<view class="" style="text-align: center;height: 120upx;line-height: 120upx;font-weight: bold;font-size: 32upx;"> <view class="projuctTab flex">
已有 <text style="color: #21B94C;font-size: 60upx;">{{receivePeopleNumber}}</text>人领取 还剩{{unreceivePeopleNumber}}人未核销 <view class="tabitems flex1" :class="{active:tabactive==1}" @tap="taggletab(1)">
<view class="tabtitle">参与人员</view>
<!-- ({{count[0]}}) -->
</view>
<view class="tabitems flex1" :class="{active:tabactive==2}" @tap="taggletab(2)">
<view class="tabtitle">核销人员</view>
<!-- ({{count[1]}}) -->
</view> </view>
</view> </view>
<view class="" style="height: 160upx;padding: 0 24upx;background-color: rgb(255, 255, 255);margin-bottom: 20upx;" v-if="getDetail.length > 0 " v-for="(item,index) in getDetail">
<view class="fx " style="justify-content: space-between;background-color: #fff; align-items: center;
height: 100%">
<view class="fx" style="width: 75%;align-items: center;" >
<view style="height: 120upx;width: 120upx;border-radius: 120upx;text-align: center;line-height: 80upx;overflow: hidden;"> <view class="" style="margin-top:90upx ;" :hidden="!(tabactive==1)">
<image :src="item.face" style="display: inline;"></image> <view class="">
<view class="" style="text-align: center;height: 120upx;line-height: 120upx;font-weight: bold;font-size: 32upx;">
已有 <text style="color: #21B94C;font-size: 60upx;">{{receivePeopleNumber}}</text>人参与
</view>
</view>
<view class="" style="height: 100upx;padding: 0 24upx;background-color: rgb(255, 255, 255);margin-bottom: 2upx;"v-for="(item,index) in getAllDetail">
<view class="fx " style="justify-content: space-between;background-color: #fff; align-items: center;height: 100%">
<view class="fx" style="width: 75%;align-items: center;">
<view style="height: 80upx;width: 80upx;border-radius: 120upx;text-align: center;line-height: 80upx;overflow: hidden;">
<image :src="item.face" style="display: inline;"></image>
</view>
<view style="margin:0 0 0 10upx;width: 75%;padding: 20upx 10upx;">
<view style="font: 34upx 微软雅黑;padding-bottom:10upx ;" class="oneline">{{item.nickname}}</view>
<view style="font-size:20upx;color:rgb(116, 113, 113);padding-top: 10upx;">{{item.create_time}}</view>
</view>
</view> </view>
<view style="margin:0 0 0 10upx;width: 75%;padding: 20upx 10upx;">
<view style="font: 34upx 微软雅黑;padding-bottom:10upx ;" class="oneline">{{item.nickname}}</view> <view style="width: 15%;height: 104upx;">
<view style="font-size:20upx;color:rgb(116, 113, 113);padding-top: 10upx;">{{item.verification_time}}</view> <!-- <image src="/static/lingqu.png" mode="" style="width:100% ;height: 100%;display: inline;"></image> -->
</view> </view>
<!-- 关注插槽 -->
<!-- <slot name="before"></slot> -->
</view> </view>
<view style="width: 15%;height: 104upx;"> <!-- <slot name="content"> </slot> -->
<!-- <text style="color:#DC143C;padding: 0 12upx;border-radius: 10upx;font-size: 32upx;"> </view>
<view v-if="getAllDetail.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;">
</text> --> <image src="https://luma.jxdsy.cn//static/applet5/images/uts/meiyoule.png" mode=""></image>
<image src="/static/lingqu.png" mode="" style="width:100% ;height: 100%;display: inline;"></image> </view>
</view> </view>
<!-- 关注插槽 -->
<!-- <slot name="before"></slot> -->
<view class="" style="margin-top:90upx ;" :hidden="tabactive==1">
<view class="">
<view class="" style="text-align: center;height: 120upx;line-height: 120upx;font-weight: bold;font-size: 32upx;">
已有 <text style="color: #21B94C;font-size: 60upx;">{{enterPeopleNumber}}</text>人核销
</view>
</view> </view>
<!-- <slot name="content"> </slot> --> <view class="" style="height: 100upx;padding: 0 24upx;background-color: rgb(255, 255, 255);margin-bottom: 2upx;"
</view> v-for="(item,index) in getScanDetail">
<view class="fx " style="justify-content: space-between;background-color: #fff; align-items: center;
height: 100%">
<view v-if="getDetail.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;"> <view class="fx" style="width: 75%;align-items: center;">
还没有人领取~~ <view style="height: 80upx;width: 80upx;border-radius: 120upx;text-align: center;line-height: 80upx;overflow: hidden;">
<image :src="item.face" style="display: inline;"></image>
</view>
<view style="margin:0 0 0 10upx;width: 75%;padding: 20upx 10upx;">
<view style="font: 34upx 微软雅黑;padding-bottom:10upx ;" class="oneline">{{item.nickname}}</view>
<view style="font-size:20upx;color:rgb(116, 113, 113);padding-top: 10upx;">{{item.verification_time}}</view>
</view>
</view>
<view style="width: 10%;height: 70upx;">
<image src="/static/lingqu.png" mode="" style="width:100% ;height: 100%;display: inline;"></image>
</view>
<!-- 关注插槽 -->
<!-- <slot name="before"></slot> -->
</view>
<!-- <slot name="content"> </slot> -->
</view>
<view v-if="getScanDetail.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;">
<image src="https://luma.jxdsy.cn//static/applet5/images/uts/meiyoule.png" mode=""></image>
</view>
</view> </view>
</view> </view>
</template> </template>
...@@ -46,51 +105,22 @@ ...@@ -46,51 +105,22 @@
activity_user activity_user
} from '@/utils/api/merchant.js'; } from '@/utils/api/merchant.js';
export default { export default {
data(){ data() {
return { return {
shop_id:'', shop_id: '',
activity_id:'', activity_id: '',
getDetail:[], getAllDetail: [], // 参与人员列表
page:1, getScanDetail: [], //核销人员列表
receivePeopleNumber:0, allpage: 0, // 参与人员分页数
unreceivePeopleNumber:0, scanpage: 0, //核销人员分页数
enterPeopleNumber:0,//核销人数
receivePeopleNumber: 0, //参与人数
// unreceivePeopleNumber: 0,
tabactive: 1,
} }
}, },
onReachBottom() {
activity_user({
shop_id:this.shop_id,
activity_id:this.activity_id,
nucleus:1,
page:this.page
}).then(res=>{
if(res.code==0&&res.data.list.length>0){
this.page++
this.getDetail = res.data.list;
this.receivePeopleNumber=res.data.receivePeopleNumber;
this.unreceivePeopleNumber=res.data.unreceivePeopleNumber;
uni.stopPullDownRefresh();
}else{
uni.$api.msg('没有更多数据了')
}
})
},
onPullDownRefresh() {
this.page = 1
activity_user({
shop_id:this.shop_id,
activity_id:this.activity_id,
nucleus:1
}).then(res=>{
if(res.code==0){
this.getDetail = res.data.list
this.receivePeopleNumber=res.data.receivePeopleNumber;
this.unreceivePeopleNumber=res.data.unreceivePeopleNumber;
uni.stopPullDownRefresh();
}
})
},
onLoad(options) { onLoad(options) {
let that = this let that = this
that.activity_id = options.activity_id that.activity_id = options.activity_id
...@@ -100,28 +130,238 @@ ...@@ -100,28 +130,238 @@
that.shop_id = res.data.shop_id that.shop_id = res.data.shop_id
} }
}) })
activity_user({ this.activityUserAll(that.shop_id, that.activity_id); //获取参与人员
shop_id:that.shop_id, },
activity_id:that.activity_id, /**
nucleus:1 * 触底事件
}).then(res=>{ */
if(res.code==0){ onReachBottom() {
this.getDetail = res.data.list; // console.log('触底了',this.tabactive)
this.receivePeopleNumber=res.data.receivePeopleNumber; if (this.tabactive == 1) {
this.unreceivePeopleNumber=res.data.unreceivePeopleNumber; this.allpage++
// this.activityUserAll(this.shop_id, this.activity_id, 0, this.allpage)
activity_user({
shop_id: shop_id,
activity_id: activity_id,
nucleus: 0,
page: this.allpage
}).then(res => {
if (res.code == 0) {
this.getScanDetail =[...this.getScanDetail,...res.data.list]
this.receivePeopleNumber = res.data.receivePeopleNumber;
// this.unreceivePeopleNumber = res.data.unreceivePeopleNumber;
}
})
} else if (this.tabactive == 2) {
this.scanpage++
activity_user({
shop_id: shop_id,
activity_id: activity_id,
nucleus: 1,
page: this.scanpage
}).then(res => {
if (res.code == 0) {
this.getScanDetail =[this.getScanDetail,...res.data.list]
this.enterPeopleNumber = res.data.receivePeopleNumber;
// this.unreceivePeopleNumber = res.data.unreceivePeopleNumber;
}
})
// this.activityUserScan(this.shop_id, this.activity_id, 1, this.scanpage)
} else {
return false;
}
},
/**
* 下拉刷新
*/
onPullDownRefresh() {
this.allpage = 1
this.scanpage = 1
this.activityUserAll(this.shop_id, this.activity_id, )
this.activityUserScan(this.shop_id, this.activity_id)
uni.stopPullDownRefresh();
},
methods: {
taggletab(index) {
this.tabactive = index;
if (index == 1) {
this.activityUserAll(this.shop_id, this.activity_id, )
} else if (index == 2) {
this.activityUserScan(this.shop_id, this.activity_id)
} }
})
},
/**
* @param {Number} nucleus
* @param {Number} activity_id
* @param {Number} shop_id
*/
activityUserAll(shop_id, activity_id, nucleus = 0, pages = 0) {
activity_user({
shop_id: shop_id,
activity_id: activity_id,
nucleus: nucleus,
page: pages
}).then(res => {
if (res.code == 0) {
this.getAllDetail =res.data.list
this.receivePeopleNumber = res.data.receivePeopleNumber;
// this.unreceivePeopleNumber = res.data.unreceivePeopleNumber;
}
})
},
/**
* @param {Number} nucleus
* @param {Number} activity_id
* @param {Number} shop_id
*/
activityUserScan(shop_id, activity_id, nucleus = 1, pages = 0) {
activity_user({
shop_id: shop_id,
activity_id: activity_id,
nucleus: nucleus,
page: pages
}).then(res => {
if (res.code == 0) {
this.getScanDetail =res.data.list
this.enterPeopleNumber = res.data.receivePeopleNumber;
// this.unreceivePeopleNumber = res.data.unreceivePeopleNumber;
}
})
}
}, },
} }
</script> </script>
<style> <style lang="scss">
page{ .projuctlist {
background-color: #EEEEEE; margin: 130upx 24upx;
padding-top: 18upx;
background: rgba(255, 255, 255, 1);
border-radius: 14upx;
.itempro {
position: relative;
border-bottom: 1px solid rgba(220, 220, 220, 1);
padding: 20upx;
.thumbnail {
width: 170upx;
height: 170upx;
border-radius: 6upx;
margin-right: 27upx;
margin-left: 20upx;
}
.infobox {
.title {
font-size: 34upx;
color: rgba(51, 51, 51, 1);
//margin-bottom: 5upx;
}
.time {
//margin-bottom: 5upx;
}
.time,
.price {
font-size: 30upx;
color: rgba(153, 153, 153, 1);
}
}
.btnbox {
position: absolute;
bottom: 5px;
right: 5px;
.btns {
width: 100upx;
height: 60upx;
line-height: 60upx;
text-align: center;
border: 1upx solid rgba(160, 160, 160, 1);
border-radius: 4upx;
font-size: 30upx;
color: rgba(0, 0, 0, 1);
}
.btnboxdel {
margin-left: 16upx;
}
.btnboxxj {
background: #FF6900;
color: #FFFFFF;
border: 0;
margin-left: 16upx;
}
}
}
}
.projuctTab {
background: #FFFFFF;
width: 100%;
height: 98upx;
line-height: 98upx;
position: fixed;
top: 0;
/* #ifdef H5 */
top: 86upx;
/* #endif */
left: 0;
z-index: 99;
.tabitems {
text-align: center;
.tabtitle {
text-align: center;
height: 98upx;
line-height: 98upx;
font-size: 30upx;
display: inline-block;
box-sizing: border-box;
color: #333333;
}
}
.tabitems.active {
.tabtitle {
font-family: PingFang SC;
font-weight: bold;
color: #FF6900;
border-bottom: 1px solid #FF6900;
}
}
} }
.fx { .fx {
display: flex; display: flex;
} }
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<view class="projuctlist" :hidden="!(tabactive==1)"> <view class="projuctlist" :hidden="!(tabactive==1)">
<view class="" v-if="start_activity.length>0"> <view class="" v-if="start_activity.length>0">
<checkbox-group > <checkbox-group>
<!-- 单个商品 --> <!-- 单个商品 -->
<view class="itempro flex " v-for="(item,index) in start_activity" :key="index" @click="jumpDetail(item.activity_id)"> <view class="itempro flex " v-for="(item,index) in start_activity" :key="index" @click="jumpDetail(item.activity_id)">
<!-- <label class="ali-c"> <!-- <label class="ali-c">
...@@ -23,40 +23,43 @@ ...@@ -23,40 +23,43 @@
</label> --> </label> -->
<image class="thumbnail" :src="staticUrl + item.picture" mode=""></image> <image class="thumbnail" :src="staticUrl + item.picture" mode=""></image>
<view class="infobox" style="width: 70%;"> <view class="infobox" style="width: 70%;">
<view class="title oneline" style="height:45upx ;">{{item.goods_name}}</view> <view class="title oneline" style="height:45upx ;">{{item.goods_name}}</view>
<!-- <view class="time">上架时间:{{item.create_time}}</view> --> <!-- <view class="time">上架时间:{{item.create_time}}</view> -->
<view> <view>
<view style="font-size:26rpx;font-weight:bold;">领取时间:</view> <view style="font-size:26rpx;font-weight:bold;">领取时间:</view>
<view style="font-size:24rpx;color:#656565">{{item.start}}{{item.end}}</view> <view style="font-size:24rpx;color:#656565">{{item.start}}{{item.end}}</view>
</view> </view>
</view> </view>
<view class="btnbox flex" > <view class="btnbox flex">
<!-- <view class="btns btnboxdel" @tap="deleteEleProductfun(item,index)">删 除</view> --> <!-- <view class="btns btnboxdel" @tap="deleteEleProductfun(item,index)">删 除</view> -->
<!-- <view class="btns btnboxxj" @tap="Selectiondata(item)" v-if="tabactive==1 && isselect==1">加入活动</view> --> <!-- <view class="btns btnboxxj" @tap="Selectiondata(item)" v-if="tabactive==1 && isselect==1">加入活动</view> -->
<!-- <view class="btns btnboxxj" @tap="sold_outfun(item.id,1,index)" v-else-if="tabactive==1">下 架</view> --> <!-- <view class="btns btnboxxj" @tap="sold_outfun(item.id,1,index)" v-else-if="tabactive==1">下 架</view> -->
<!-- <view class="btns btnboxxj" @tap="sold_outfun(item.id,0,index)" v-show="tabactive==2">上 架</view> --> <!-- <view class="btns btnboxxj" @tap="sold_outfun(item.id,0,index)" v-show="tabactive==2">上 架</view> -->
<!-- <view class="btns btnboxxj" @click="setSpecs(item.product_id)" >规格</view> --> <!-- <view class="btns btnboxxj" @click="setSpecs(item.product_id)" >规格</view> -->
<view > <view>
<view class="btnboxdel flex" style="align-items: center;" @click.stop="switch1Change"> <view class="btnboxdel flex" style="align-items: center;" @click.stop="switch1Change">
活动开关:<switch :data-activity_id="item.activity_id" :checked="item.state==1" @change="switch1Change" /> 活动开关:
<view class="btns btnboxdel" @tap.stop="tochanges(item,index)">修 改</view> <switch :data-activity_id="item.activity_id" :checked="item.state==1" @change="switch1Change" />
<view class="btns btnboxdel" @tap.stop="tochanges(item,index)">修 改</view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</checkbox-group> </checkbox-group>
</view> </view>
<view v-if="start_activity.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;"> <view v-if="start_activity.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;">
还没有人领取~~ <image src="https://luma.jxdsy.cn//static/applet5/images/uts/meiyoule.png" mode=""></image>
</view> </view>
</view> </view>
<view class="projuctlist" :hidden="!(tabactive==2)"> <view class="projuctlist" :hidden="!(tabactive==2)">
<view class="" v-if="end_activity.length > 0"> <view class="" v-if="end_activity.length > 0">
<checkbox-group > <checkbox-group>
<!-- 单个商品 --> <!-- 单个商品 -->
<view class="itempro flex " v-for="(item,index) in end_activity" :key="index" @click="jumpDetail(item.activity_id)"> <view class="itempro flex " v-for="(item,index) in end_activity" :key="index" @click="jumpDetail(item.activity_id)">
<!-- <label class="ali-c"> <!-- <label class="ali-c">
...@@ -86,7 +89,7 @@ ...@@ -86,7 +89,7 @@
</checkbox-group> </checkbox-group>
</view> </view>
<view v-if="end_activity.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;"> <view v-if="end_activity.length <= 0" style="text-align: center;width: 100%;height:1000upx;line-height: 1000upx;font-size: 50upx;color:#8C8C8C ;">
还没有人领取~~ <image src="https://luma.jxdsy.cn//static/applet5/images/uts/meiyoule.png" mode=""></image>
</view> </view>
</view> </view>
...@@ -109,8 +112,8 @@ ...@@ -109,8 +112,8 @@
page: 0, page: 0,
start_activity: [], start_activity: [],
end_activity: [], end_activity: [],
endpages:0, endpages: 0,
startpages:0 startpages: 0
} }
}, },
...@@ -130,8 +133,8 @@ ...@@ -130,8 +133,8 @@
}) })
}, },
//下拉刷新 //下拉刷新
onPullDownRefresh(){ onPullDownRefresh() {
if(this.tabactive == 1){ if (this.tabactive == 1) {
this.startpages = 0 this.startpages = 0
activity_select({ activity_select({
shop_id: this.shop_id, shop_id: this.shop_id,
...@@ -143,8 +146,8 @@ ...@@ -143,8 +146,8 @@
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
} }
}) })
}else if(this.tabactive == 2){ } else if (this.tabactive == 2) {
this.endpages = 0 this.endpages = 0
activity_select({ activity_select({
shop_id: this.shop_id, shop_id: this.shop_id,
...@@ -156,34 +159,34 @@ ...@@ -156,34 +159,34 @@
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
} }
}) })
} }
}, },
//上拉触底 //上拉触底
onReachBottom(){ onReachBottom() {
if (this.tabactive == 1) { if (this.tabactive == 1) {
activity_select({ activity_select({
shop_id: this.shop_id, shop_id: this.shop_id,
page: ++this.startpages, page: ++this.startpages,
is_date: 2 is_date: 2
}).then(res => { }).then(res => {
if (res.code == 0) { if (res.code == 0) {
this.start_activity = [...this.start_activity,...res.data.data] this.start_activity = [...this.start_activity, ...res.data.data]
} }
}) })
} else if (this.tabactive == 2) { } else if (this.tabactive == 2) {
activity_select({ activity_select({
shop_id: this.shop_id, shop_id: this.shop_id,
page: ++this.endpages, page: ++this.endpages,
is_date: 1 is_date: 1
}).then(res => { }).then(res => {
if (res.code == 0) { if (res.code == 0) {
this.end_activity = [...this.this.end_activity,...res.data.data] this.end_activity = [...this.end_activity, ...res.data.data]
} }
}) })
} }
}, },
onShow() { onShow() {
...@@ -214,10 +217,10 @@ ...@@ -214,10 +217,10 @@
}, },
methods: { methods: {
jumpDetail(activity_id){ jumpDetail(activity_id) {
uni.navigateTo({ uni.navigateTo({
url:`/pages/publishActivities/activityDetail/activityDetail?activity_id=${activity_id}` url: `/pages/publishActivities/activityDetail/activityDetail?activity_id=${activity_id}`
}) })
}, },
//修改活动 //修改活动
...@@ -227,14 +230,14 @@ ...@@ -227,14 +230,14 @@
url: `/pages/publishActivities/publishActivity/publishActivity?id=${data.activity_id}&type=edit`, url: `/pages/publishActivities/publishActivity/publishActivity?id=${data.activity_id}&type=edit`,
}) })
}, },
// 查找产品 // 查找产品
findEleProduct(){ findEleProduct() {
}, },
switch1Change(e) { switch1Change(e) {
if(e.type=='change'){ if (e.type == 'change') {
console.log(e) console.log(e)
if (e.detail.value) { if (e.detail.value) {
activity_close({ activity_close({
...@@ -258,10 +261,10 @@ ...@@ -258,10 +261,10 @@
} }
}) })
} }
}else{ } else {
return ; return;
} }
}, },
//交互end //交互end
taggletab(index) { taggletab(index) {
......
...@@ -163,6 +163,7 @@ ...@@ -163,6 +163,7 @@
const d = await getSharePoster({ const d = await getSharePoster({
// backgroundImage:"/static/news/sjrwm.png", // backgroundImage:"/static/news/sjrwm.png",
backgroundImage:this.statictowUrl+"static/applet5/images/uts/sjrwm.png", backgroundImage:this.statictowUrl+"static/applet5/images/uts/sjrwm.png",
...@@ -239,16 +240,23 @@ ...@@ -239,16 +240,23 @@
// Context.setFillStyle('black'); // Context.setFillStyle('black');
// Context.setGlobalAlpha(0.3); // Context.setGlobalAlpha(0.3);
// Context.fillRect(0, bgObj.height - bgObj.height*0.2, bgObj.width, bgObj.height*0.2); // Context.fillRect(0, bgObj.height - bgObj.height*0.2, bgObj.width, bgObj.height*0.2);
} },
}); });
console.log('海报生成成功, 临时路径: ' + d.poster.tempFilePath)
this.poster.finalPath = d.poster.tempFilePath;
console.log('海报生成成功, 临时路径: ' + d.poster.tempFilePath)
this.poster.finalPath = d.poster.tempFilePath;
console.log(this.poster.finalPath)
} }
this.qrShow = true; this.qrShow = true;
} catch (e) { } catch (e) {
_app.hideLoading(); _app.hideLoading();
_app.showToast(JSON.stringify(e)); _app.showToast(JSON.stringify(e));
console.log(JSON.stringify(e)); console.log(JSON.stringify(e));
console.log('海报生成成功, 临时路径: ' + d.poster.tempFilePath)
} }
}, },
saveImage() { saveImage() {
...@@ -278,7 +286,9 @@ ...@@ -278,7 +286,9 @@
} }
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.hideCanvasView { .hideCanvasView {
......
...@@ -300,12 +300,22 @@ export function orderList(data) ...@@ -300,12 +300,22 @@ export function orderList(data)
return request.post("order/orderList",data,{ noAuth : true}); return request.post("order/orderList",data,{ noAuth : true});
} }
// 商城退款/售后列表(新接口)
export function getRefundOrderList(data) {
return request.post("RefundOrder/getRefundOrderList",data, { noAuth: false });
}
//商城订单详情 //商城订单详情
export function orderDetails(data) export function orderDetails(data)
{ {
return request.post("order/orderDetails",data,{ noAuth : true}); return request.post("order/orderDetails",data,{ noAuth : true});
} }
// 商城退款/售后订单详情页面(新接口)
export function getRefundDetail(data) {
return request.post("RefundOrder/getRefundDetail",data, { noAuth: false });
}
//商城订单一键核销 //商城订单一键核销
export function oneKeyCancel(data) export function oneKeyCancel(data)
{ {
...@@ -331,6 +341,26 @@ export function checkLogistics(data) ...@@ -331,6 +341,26 @@ export function checkLogistics(data)
return request.post("order/checkLogistics",data,{ noAuth : true}); return request.post("order/checkLogistics",data,{ noAuth : true});
} }
// 商城退款/售后 查看物流
export function viewLogistics(data) {
return request.post("RefundOrder/viewLogistics",data, { noAuth: false });
}
// 商城退款/售后 确认收货
export function setReceivingGoods(data) {
return request.post("RefundOrder/setReceivingGoods",data, { noAuth: false });
}
// 商城退款/售后 商家审核
export function shopExamine(data) {
return request.post("RefundOrder/shopExamine",data, { noAuth: false });
}
// 商城退款/售后 立即发货
export function setDeliverGoods(data) {
return request.post("RefundOrder/setDeliverGoods",data, { noAuth: false });
}
//商城订单同意退款 //商城订单同意退款
export function consentRefund(data) export function consentRefund(data)
{ {
......
...@@ -38,12 +38,12 @@ export function getActivityList(data){ ...@@ -38,12 +38,12 @@ export function getActivityList(data){
//判断商家类型 商品入库 //判断商家类型 商品入库
export function getskipShop(data){ export function getskipShop(data){
return request.post("/user/skipShop", data, { noAuth: true}); return request.post("user/skipShop", data, { noAuth: true});
} }
//获取分类 列表 //获取分类 列表
export function getshopclass(data){ export function getshopclass(data){
return request.post("/ele/weigh", data, { noAuth: true}); return request.post("ele/weigh", data, { noAuth: true});
} }
...@@ -52,7 +52,7 @@ export function getshopclass(data){ ...@@ -52,7 +52,7 @@ export function getshopclass(data){
*/ */
//获取分类 列表 //获取分类 列表
export function activity_nucleus(data){ export function activity_nucleus(data){
return request.post("/ele/activity_nucleus", data, { noAuth: true}); return request.post("ele/activity_nucleus", data, { noAuth: true});
} }
/** /**
...@@ -60,7 +60,7 @@ export function activity_nucleus(data){ ...@@ -60,7 +60,7 @@ export function activity_nucleus(data){
* @param {Object} data * @param {Object} data
*/ */
export function activity_add(data){ export function activity_add(data){
return request.post("/ele/activity_add", data, { noAuth: true}); return request.post("ele/activity_add", data, { noAuth: true});
} }
/** /**
...@@ -68,7 +68,7 @@ export function activity_add(data){ ...@@ -68,7 +68,7 @@ export function activity_add(data){
* @param {Object} data * @param {Object} data
*/ */
export function activity_select(data){ export function activity_select(data){
return request.post("/ele/activity_select", data, { noAuth: true}); return request.post("ele/activity_select", data, { noAuth: true});
} }
/** /**
...@@ -76,7 +76,7 @@ export function activity_select(data){ ...@@ -76,7 +76,7 @@ export function activity_select(data){
* @param {Object} data * @param {Object} data
*/ */
export function activity_close(data){ export function activity_close(data){
return request.post("/ele/activity_close", data, { noAuth: true}); return request.post("ele/activity_close", data, { noAuth: true});
} }
/** /**
...@@ -84,7 +84,7 @@ export function activity_close(data){ ...@@ -84,7 +84,7 @@ export function activity_close(data){
* @param {} data * @param {} data
*/ */
export function activity_find(data){ export function activity_find(data){
return request.post("/ele/activity_find", data, { noAuth: true}); return request.post("ele/activity_find", data, { noAuth: true});
} }
...@@ -93,7 +93,7 @@ export function activity_find(data){ ...@@ -93,7 +93,7 @@ export function activity_find(data){
* @param {} data * @param {} data
*/ */
export function activity_user(data){ export function activity_user(data){
return request.post("/ele/activity_user", data, { noAuth: true}); return request.post("ele/activity_user", data, { noAuth: true});
} }
...@@ -102,5 +102,5 @@ export function activity_user(data){ ...@@ -102,5 +102,5 @@ export function activity_user(data){
* @param {} data * @param {} data
*/ */
export function activity_update(data){ export function activity_update(data){
return request.post("/ele/activity_update", data, { noAuth: true}); return request.post("ele/activity_update", data, { noAuth: true});
} }
\ No newline at end of file
...@@ -8,14 +8,10 @@ module.exports = { ...@@ -8,14 +8,10 @@ module.exports = {
isdebug:true,//测试 isdebug:true,//测试
// xqdebug:false,//正式权限 // xqdebug:false,//正式权限
xqdebug:true,//发布审核权限 也是测试环境的 主要用于ios xqdebug:true,//发布审核权限 也是测试环境的 主要用于ios
// #ifdef APP-PLUS
/** // isdebug:false,//正式 APP里面绝对是正式
* PS // #endif
*
* 正式环境 选 false !
* 本地开发环境 选 true
*
* */
} }
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