This commit is contained in:
陈浩 2025-04-30 14:42:40 +08:00
parent 192f493535
commit 6dd129e7ce
48 changed files with 1335 additions and 799 deletions

View File

@ -202,6 +202,10 @@ export default {
confirmText: '跳转', confirmText: '跳转',
success: function (callback) { success: function (callback) {
if (callback.confirm) { if (callback.confirm) {
console.log(res.split(config.shareLink));
uni.setClipboardData({
data: '',
success: () => {
const path = res.split(config.shareLink)[1]; const path = res.split(config.shareLink)[1];
if (path.indexOf('tabbar') != -1) { if (path.indexOf('tabbar') != -1) {
uni.switchTab({ uni.switchTab({
@ -213,6 +217,8 @@ export default {
}); });
} }
} }
});
}
} }
}); });
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 456 KiB

View File

@ -146,7 +146,7 @@ export const contactButtonConfig = {
// --------------------- // ---------------------
addFriend: { addFriend: {
key: 'addFriend', key: 'addFriend',
label: '发送申请', label: '关注好友',
type: CONTACT_INFO_BUTTON_TYPE.SUBMIT, type: CONTACT_INFO_BUTTON_TYPE.SUBMIT,
onClick: (props: { onClick: (props: {
contactInfoData: any; contactInfoData: any;
@ -163,7 +163,7 @@ export const contactButtonConfig = {
}, },
deleteFriend: { deleteFriend: {
key: 'deleteFriend', key: 'deleteFriend',
label: '删除好友', label: '取消关注',
type: CONTACT_INFO_BUTTON_TYPE.CANCEL, type: CONTACT_INFO_BUTTON_TYPE.CANCEL,
onClick: (props: { contactInfoData: any; [propsName: string]: any }) => { onClick: (props: { contactInfoData: any; [propsName: string]: any }) => {
deleteFriend(props?.contactInfoData?.userID); deleteFriend(props?.contactInfoData?.userID);

View File

@ -172,7 +172,7 @@
]" ]"
@click="onContactInfoButtonClicked(item)" @click="onContactInfoButtonClicked(item)"
> >
{{ TUITranslateService.t(`TUIContact.${item.label}`) }} {{ TUITranslateService.t(`${item.label}`) }}
</button> </button>
</div> </div>
</div> </div>

View File

@ -47,6 +47,19 @@ export function getGoodsRelated(params) {
method: Method.GET, method: Method.GET,
}); });
} }
/**
* 扫码核销
* @param orderSn 订单号
* @param verificationCode 核销码
* @returns {AxiosPromise}
*/
export function getGoodstake(orderSn, verificationCode,params) {
return http.request({
url: `/order/take/${orderSn}/${verificationCode}`,
method: Method.PUT,
params
});
}
/** /**
@ -62,6 +75,18 @@ export function getGoodsList(params) {
}); });
} }
/**
* 获取商品列表--4.25
* @param params
* @returns {AxiosPromise}
*/
export function getGoodscategory(params) {
return http.request({
url: "/goods/goods/category",
method: Method.GET,
params,
});
}
/** /**
* 获取上新商品列表 * 获取上新商品列表
* @param params * @param params

View File

@ -1,6 +1,8 @@
import {http, Method} from '@/utils/request.js'; import {http, Method} from '@/utils/request.js';
// import { http, Method } from "@/utils/request.js";
import api from "@/config/api.js";
/** /**
* 签到 * 签到
* @param params * @param params
@ -47,6 +49,42 @@ export function getcompleted(data) {
params:data params:data
}); });
} }
/**
* 我的核销-收益明细
* @param params
*/
export function getgetAmount(data) {
return http.request({
url:'/income/details',
method: Method.GET,
needToken: true,
params:data
});
}
/**
* 我的核销
* @param params
*/
export function getinvitation(data) {
return http.request({
url:'/income/invitation-stats',
method: Method.GET,
needToken: true,
params:data
});
}
/**
* 我的核销-分佣
* @param params
*/
export function gettotal(data) {
return http.request({
url:'/income/total',
method: Method.GET,
needToken: true,
params:data
});
}
/** /**

View File

@ -18,6 +18,17 @@ export function getStoreList(params) {
params, params,
}); });
} }
/**
* 获取店铺列表
* @param params
*/
export function getExpertStoreList(params) {
return http.request({
url: '/store/store/ExpertStoreList',
method: Method.GET,
params,
});
}
/** /**
* 获取店铺基本信息 * 获取店铺基本信息

View File

@ -215,7 +215,19 @@ export function initiatePay(paymentMethod, paymentClient, params) {
params, params,
}); });
} }
/**
* 发起支付
* @param paymentMethod
* @param
*/
export function createWithVerificatio(params) {
return http.request({
url: `order/createWithVerification`,
method: Method.POST,
needToken: true,
params,
});
}
/** /**
* 查询物流 * 查询物流

View File

@ -191,6 +191,10 @@ export default {
default: "", default: "",
type: null, type: null,
}, },
storeDetail: {
default: "",
type: null,
},
selectedSku: { selectedSku: {
default: "", default: "",
type: null, type: null,
@ -207,6 +211,8 @@ export default {
default: "", default: "",
type: null, type: null,
}, },
}, },
watch: { watch: {
buyType: { buyType: {
@ -317,6 +323,7 @@ export default {
let data = { let data = {
skuId: this.goodsDetail.id, skuId: this.goodsDetail.id,
num: this.num, num: this.num,
storeId:this.storeDetail.storeId,
ste: storedSte, ste: storedSte,
}; };
@ -345,7 +352,7 @@ export default {
API_trade.addToCart(data).then((res) => { API_trade.addToCart(data).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
uni.navigateTo({ uni.navigateTo({
url: `/pages/order/fillorder?way=${data.cartType}&addr=${ url: `/pages/order/fillorder?ste=${storedSte}&way=${data.cartType}&addr=${
this.addr.id || "" this.addr.id || ""
}&parentOrder=${encodeURIComponent( }&parentOrder=${encodeURIComponent(
JSON.stringify(this.parentOrder) JSON.stringify(this.parentOrder)

View File

@ -13,15 +13,8 @@
<view class="share-list"> <view class="share-list">
<!-- #ifdef MP-WEIXIN --> <!-- #ifdef MP-WEIXIN -->
<view class="share-item"> <view class="share-item">
<button <button class="share-btn" open-type="share">
class="share-btn" <u-icon color="#04BE02" size="80" name="weixin-fill"></u-icon>
open-type="share"
>
<u-icon
color="#04BE02"
size="80"
name="weixin-fill"
></u-icon>
微信好友 微信好友
</button> </button>
</view> </view>
@ -33,34 +26,23 @@
v-for="(item, index) in list" v-for="(item, index) in list"
:key="index" :key="index"
> >
<u-icon <u-icon :color="item.color" size="80" :name="item.icon"></u-icon>
:color="item.color"
size="80"
:name="item.icon"
></u-icon>
<view>{{ item.title }}</view> <view>{{ item.title }}</view>
</view> </view>
<!-- #endif --> <!-- #endif -->
<!-- #ifdef H5 --> <!-- #ifdef H5 -->
<view <view class="share-item" @click="copyLink()">
class="share-item" <u-icon color="#b4aee8" size="80" name="share-fill"></u-icon>
@click="copyLink()" <view>{{ "复制链接" }}</view>
>
<u-icon
color="#b4aee8"
size="80"
name="share-fill"
></u-icon>
<view>{{ '复制链接' }}</view>
</view> </view>
<!-- #endif --> <!-- #endif -->
</view> </view>
</u-popup> </u-popup>
</template> </template>
<script> <script>
import { h5Copy } from '@/js_sdk/h5-copy/h5-copy.js'; import { h5Copy } from "@/js_sdk/h5-copy/h5-copy.js";
import configs from '@/config/config'; import configs from "@/config/config";
import mpShare from 'uview-ui/libs/mixin/mpShare.js'; import mpShare from "uview-ui/libs/mixin/mpShare.js";
export default { export default {
mixins: [mpShare], mixins: [mpShare],
@ -70,19 +52,19 @@ export default {
show: true, show: true,
list: [ list: [
{ {
color: "#04BE02", color: "#FE3C3C",
title: "微信好友", title: "微信好友",
icon: "weixin-fill", icon: "weixin-fill",
type: 0, type: 0,
}, },
{ {
color: "#04BE02", color: "#FE3C3C",
title: "朋友圈", title: "朋友圈",
icon: "weixin-circle-fill", icon: "weixin-circle-fill",
type: 1, type: 1,
}, },
{ {
color: "#04BE02", color: "#FE3C3C",
title: "消息", title: "消息",
icon: "man-add-fill", icon: "man-add-fill",
type: 2, type: 2,
@ -127,20 +109,22 @@ export default {
shareTitle() { shareTitle() {
let shareTitle; let shareTitle;
if (this.type == 'goods') { let noSpaces = this.goodsName.split(" ").join("");
shareTitle = `我发现了一个${this.goodsName}商品快来跟我一起看看吧`; if (this.type == "goods") {
} else if (this.type == 'shops') { shareTitle =`我发现了一个${noSpaces}商品快来跟我一起看看吧`;
shareTitle = `我发现了一个${this.goodsName}店铺快来跟我一起看看吧`; } else if (this.type == "shops") {
} else if (this.type == 'pintuan') { shareTitle =`我发现了一个${noSpaces}店铺快来跟我一起看看吧`;
shareTitle = `我拼了一个${this.goodsName}快来跟我一起抢购吧!`; } else if (this.type == "pintuan") {
} else if (this.type == 'kanjia') { shareTitle =`我拼了一个${noSpaces}快来跟我一起抢购吧!`;
shareTitle = `请快来帮我砍一刀${this.goodsName}`; } else if (this.type == "kanjia") {
shareTitle =`请快来帮我砍一刀${noSpaces}`;
} }
return shareTitle; return shareTitle;
}, },
// #ifdef APP-PLUS // #ifdef APP-PLUS
handleShare(val) { handleShare(val) {
if (val.type <= 1) { if (val.type <= 1) {
let scene; // "WXSenceTimeline WXSceneSession " let scene; // "WXSenceTimeline WXSceneSession "
val.type == 1 val.type == 1
@ -149,10 +133,11 @@ export default {
uni.share({ uni.share({
provider: "weixin", provider: "weixin",
scene: scene, scene: scene,
href: configs.shareLink + this.link, href: configs.schemeLink + this.link+'&info='+this.shareTitle(),
imageUrl: this.thumbnail, imageUrl: this.imgfun(this.thumbnail),
type: 0, type:1,
summary: this.goodsName, // summary: configs.schemeLink + this.link+'&info='+this.shareTitle(),
summary: '请复制到无终街APP'+ configs.shareLink + this.link,
title: this.shareTitle(), title: this.shareTitle(),
success: function (res) { success: function (res) {
uni.showToast({ uni.showToast({
@ -208,7 +193,7 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import './mp-share.scss'; @import "./mp-share.scss";
.share-title { .share-title {
position: relative; position: relative;
height: 90rpx; height: 90rpx;

View File

@ -6,18 +6,21 @@
const dev = { const dev = {
// common: "https://common-api.pickmall.cn", // common: "https://common-api.pickmall.cn",
// buyer: "https://buyer-api.pickmall.cn", // buyer: "https://buyer-api.pickmall.cn",
common: "http://192.168.1.211:8890", common: "http://43.143.227.203:8890",
buyer: "http://192.168.1.211:8888", buyer: "http://43.143.227.203:8888",
vlog: "http://192.168.1.86:8099", vlog: "http://43.143.227.203:8099",
web: "http://192.168.1.211:8099", web: "http://43.143.227.203:8099",
seller: "http://43.143.227.203:8889",
}; };
// 生产环境 // 生产环境
const prod = { const prod = {
// common: "https://common-api.pickmall.cn", // common: "https://common-api.pickmall.cn",
// buyer: "https://buyer-api.pickmall.cn", // buyer: "https://buyer-api.pickmall.cn",
common: "http://192.168.1.211:8890", common: "http://43.143.227.203:8890",
buyer: "http://192.168.1.211:8888", buyer: "http://43.143.227.203:8888",
vlog: "http://192.168.1.211:8099", vlog: "http://43.143.227.203:8099",
web: "http://43.143.227.203:8099",
seller: "http://43.143.227.203:8889",
}; };
//默认生产环境 //默认生产环境

View File

@ -4,7 +4,7 @@ export default {
name: name, name: name,
schemeLink: `${schemeName}://`, //唤起app地址 schemeLink: `${schemeName}://`, //唤起app地址
downloadLink: "https://pickmall.cn/download-page/index.html", //下载地址下载app的地址 downloadLink: "https://pickmall.cn/download-page/index.html", //下载地址下载app的地址
shareLink: "https://m-b2b2c.pickmall.cn", //分享地址也就是在h5中默认的复制地址 shareLink: "https://wuzhongjie.com.cn", //分享地址也就是在h5中默认的复制地址
appid: "wx6f10f29075dc1b0b", //小程序唯一凭证,即 AppID可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态) appid: "wx6f10f29075dc1b0b", //小程序唯一凭证,即 AppID可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态)
appSecret: "6dfbe0c72380dce5d49d65b3c91059b1", //可在 manifest.json 查看 appSecret: "6dfbe0c72380dce5d49d65b3c91059b1", //可在 manifest.json 查看
aMapKey: "AOHBZ-VCEL3-XX73N-O623U-FMTP6-ASBTD", //在腾讯的中申请web端key aMapKey: "AOHBZ-VCEL3-XX73N-O623U-FMTP6-ASBTD", //在腾讯的中申请web端key

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 456 KiB

View File

@ -174,7 +174,8 @@
"hdpi" : "CustomStartPage/start-page.9.png", "hdpi" : "CustomStartPage/start-page.9.png",
"xhdpi" : "CustomStartPage/start-page.9.png", "xhdpi" : "CustomStartPage/start-page.9.png",
"xxhdpi" : "CustomStartPage/start-page.9.png" "xxhdpi" : "CustomStartPage/start-page.9.png"
} },
"useOriginalMsgbox" : true
} }
}, },
"nativePlugins" : {} "nativePlugins" : {}

View File

@ -504,6 +504,13 @@
"navigationBarTitleText": "用户" "navigationBarTitleText": "用户"
} }
}, },
{
"path": "mydistribution/my/income",
"style": {
"navigationBarTitleText": "收益明细"
}
},
{ {
"path": "mydistribution/my/consumption", "path": "mydistribution/my/consumption",
"style": { "style": {
@ -763,7 +770,7 @@
}, { }, {
"path": "help/tips", "path": "help/tips",
"style": { "style": {
"navigationBarTitleText": "" "navigationBarTitleText": "公司介绍"
} }
}, { }, {
"path": "point/myPoint", "path": "point/myPoint",

View File

@ -5,8 +5,17 @@
<image class="img" src="@/pages/cart/static/pay.png" /> <image class="img" src="@/pages/cart/static/pay.png" />
<p class="ptips">收银台</p> <p class="ptips">收银台</p>
<p class="ptips">剩余支付时间 <p class="ptips">
<u-count-down :show-days="false" :show-border="true" font-size="28" color="#008ffa" border-color="#008ffa" ref="uCountDown" :timestamp="autoCancel"></u-count-down> 剩余支付时间
<u-count-down
:show-days="false"
:show-border="true"
font-size="28"
color="#008ffa"
border-color="#008ffa"
ref="uCountDown"
:timestamp="autoCancel"
></u-count-down>
</p> </p>
<p class="ptips"> <p class="ptips">
支付金额 支付金额
@ -14,24 +23,45 @@
</p> </p>
</div> </div>
</div> </div>
<div class="__pay_form__"> <div class="__pay_form__"></div>
</div>
<div class="block-4" v-if="cashierParams.price > 0"> <div class="block-4" v-if="cashierParams.price > 0">
<div class="payItem">支付方式</div> <div class="payItem">支付方式</div>
<div class="payItem" v-for="(item, index) in payList" :key="index"> <div class="payItem" v-for="(item, index) in payList" :key="index">
<u-row class="row"> <u-row class="row">
<div class="col1" @click="awaitPay(item, index)" size="100" style="text-align:left;"> <div
class="col1"
@click="awaitPay(item, index)"
size="100"
style="text-align: left"
>
<div v-if="item == 'ALIPAY'"> <div v-if="item == 'ALIPAY'">
<u-icon class="method_icon" name="zhifubao-circle-fill" color="#008ffa" size="80"></u-icon> <u-icon
class="method_icon"
name="zhifubao-circle-fill"
color="#008ffa"
size="80"
></u-icon>
<span class="method_name">支付宝</span> <span class="method_name">支付宝</span>
</div> </div>
<div v-if="item == 'WECHAT'"> <div v-if="item == 'WECHAT'">
<u-icon class="method_icon" name="weixin-circle-fill" color="#00c98b" size="80"></u-icon> <u-icon
class="method_icon"
name="weixin-circle-fill"
color="#00c98b"
size="80"
></u-icon>
<span class="method_name">微信</span> <span class="method_name">微信</span>
</div> </div>
<div v-if="item == 'WALLET'"> <div v-if="item == 'WALLET'">
<u-icon class="method_icon" name="red-packet-fill" color="#dd6161" size="80"></u-icon> <u-icon
<span class="method_name">余额支付(当前余额¥{{ walletValue | unitPrice }})</span> class="method_icon"
name="red-packet-fill"
color="#dd6161"
size="80"
></u-icon>
<span class="method_name"
>余额支付(当前余额¥{{ walletValue | unitPrice }})</span
>
</div> </div>
</div> </div>
<div class="col3" @click="awaitPay(item)" textAlign="right"> <div class="col3" @click="awaitPay(item)" textAlign="right">
@ -44,7 +74,7 @@
</template> </template>
<script> <script>
import * as API_Trade from "@/api/trade"; import * as API_Trade from "@/api/trade";
import {payCallback} from '@/api/members' import { payCallback } from "@/api/members";
export default { export default {
data() { data() {
return { return {
@ -70,7 +100,6 @@
walletValue: 0.0, walletValue: 0.0,
// //
autoCancel: 0, autoCancel: 0,
}; };
}, },
onLoad(val) { onLoad(val) {
@ -92,18 +121,15 @@
this.paymentClient = this.isWeiXin() ? "JSAPI" : "H5"; this.paymentClient = this.isWeiXin() ? "JSAPI" : "H5";
//#endif //#endif
// //
}, },
onBackPress(e) { onBackPress(e) {
if (e.from == "backbutton") { if (e.from == "backbutton") {
if (this.routerVal.recharge_sn) { if (this.routerVal.recharge_sn) {
uni.switchTab({ uni.switchTab({
url: '/pages/tabbar/user/my' url: "/pages/tabbar/user/my",
}); });
} } else {
else{
uni.redirectTo({ uni.redirectTo({
url: "/pages/order/myOrder?status=0", url: "/pages/order/myOrder?status=0",
}); });
@ -115,17 +141,18 @@
this.cashierData(); this.cashierData();
}, },
methods: { methods: {
/** /**
* 支付成功后跳转 * 支付成功后跳转
*/ */
callback(paymentMethod) { callback(paymentMethod) {
uni.navigateTo({ uni.navigateTo({
url: "/pages/cart/payment/success?paymentMethod=" + url:
"/pages/cart/payment/success?paymentMethod=" +
paymentMethod + paymentMethod +
"&payPrice=" + "&payPrice=" +
this.cashierParams.price + this.cashierParams.price +
"&orderType="+this.orderType "&orderType=" +
this.orderType,
}); });
}, },
@ -150,7 +177,6 @@
parms.orderType = this.orderType; parms.orderType = this.orderType;
parms.clientType = this.paymentType; parms.clientType = this.paymentType;
API_Trade.getCashierData(parms).then((res) => { API_Trade.getCashierData(parms).then((res) => {
if (res.data.success) { if (res.data.success) {
this.cashierParams = res.data.result; this.cashierParams = res.data.result;
@ -164,50 +190,44 @@
if (this.routerVal.recharge_sn) { if (this.routerVal.recharge_sn) {
this.payList = res.data.result.support.filter((item) => { this.payList = res.data.result.support.filter((item) => {
return item != "WALLET"; return item != "WALLET";
}) });
} } else {
else{
this.payList = res.data.result.support; this.payList = res.data.result.support;
} }
// #ifndef APP-PLUS // #ifndef APP-PLUS
// //
var ua = window.navigator.userAgent.toLowerCase(); var ua = window.navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == 'micromessenger') { if (ua.match(/MicroMessenger/i) == "micromessenger") {
this.payList = res.data.result.support.filter((item) => { this.payList = res.data.result.support.filter((item) => {
return item != "ALIPAY"; return item != "ALIPAY";
}); });
} }
// #endif // #endif
// #endif // #endif
this.walletValue = res.data.result.walletValue; this.walletValue = res.data.result.walletValue;
this.autoCancel = this.autoCancel =
(res.data.result.autoCancel - new Date().getTime()) / 1000; (res.data.result.autoCancel - new Date().getTime()) / 1000;
} } else if (res.data.code == 32000) {
else if(res.data.code == 32000){
setTimeout(() => { setTimeout(() => {
uni.redirectTo({ uni.redirectTo({
url: `/pages/order/myOrder?status=0` url: `/pages/order/myOrder?status=0`,
}); });
},500) }, 500);
} }
}); });
}, },
awaitPay(payment) { awaitPay(payment) {
this.$u.throttle(() => { this.$u.throttle(() => {
this.pay(payment) this.pay(payment);
}, 2000) }, 2000);
}, },
// //
async pay(payment) { async pay(payment) {
console.log(this.routerVal);
// //
const sn = this.sn; const sn = this.sn;
@ -231,12 +251,11 @@
// //
await API_Trade.initiatePay(paymentMethod, paymentClient, params).then( await API_Trade.initiatePay(paymentMethod, paymentClient, params).then(
(signXml) => { (signXml) => {
// //
if (!signXml.data.success) { if (!signXml.data.success) {
uni.showToast({ uni.showToast({
title: signXml.data.message, title: signXml.data.message,
duration: 2000 duration: 2000,
}); });
return; return;
} }
@ -254,9 +273,7 @@
title: "支付成功!", title: "支付成功!",
}); });
this.callback(paymentMethod) this.callback(paymentMethod);
}, },
fail: (e) => { fail: (e) => {
console.log(this); console.log(this);
@ -284,7 +301,7 @@
uni.showToast({ uni.showToast({
title: response.message, title: response.message,
duration: 2000, duration: 2000,
icon:"none" icon: "none",
}); });
return; return;
} }
@ -305,8 +322,7 @@
icon: "none", icon: "none",
title: "支付成功!", title: "支付成功!",
}); });
this.callback(paymentMethod) this.callback(paymentMethod);
} else { } else {
uni.showModal({ uni.showModal({
content: "支付失败,如果您已支付,请勿反复支付", content: "支付失败,如果您已支付,请勿反复支付",
@ -324,7 +340,7 @@
icon: "none", icon: "none",
}); });
if (response.success) { if (response.success) {
this.callback(paymentMethod) this.callback(paymentMethod);
} }
} }
} }
@ -342,7 +358,7 @@
uni.showModal({ uni.showModal({
content: res.data.message, content: res.data.message,
showCancel: false, showCancel: false,
}) });
return; return;
} }
if (paymentMethod === "WECHAT") { if (paymentMethod === "WECHAT") {
@ -360,8 +376,7 @@
icon: "none", icon: "none",
title: "支付成功!", title: "支付成功!",
}); });
this.callback(paymentMethod) this.callback(paymentMethod);
}, },
fail: (e) => { fail: (e) => {
console.log(e); console.log(e);
@ -377,8 +392,7 @@
icon: "none", icon: "none",
title: "支付成功!", title: "支付成功!",
}); });
this.callback(paymentMethod) this.callback(paymentMethod);
} }
} }
); );

View File

@ -1,18 +1,35 @@
<template> <template>
<view class="address"> <view class="address">
<u-empty class="empty" v-if="this.addressList == 0" text="暂无收货地址" mode="address"></u-empty> <u-empty
class="empty"
v-if="this.addressList == 0"
text="暂无收货地址"
mode="address"
></u-empty>
<view class="list"> <view class="list">
<view class="item c-content" v-for="(item, index) in addressList" :key="index"> <view
class="item c-content"
v-for="(item, index) in addressList"
:key="index"
>
<view class="basic"> <view class="basic">
<text>{{ item.name }}</text> <text>{{ item.name }}</text>
<text>{{ item.mobile }}</text> <text>{{ item.mobile }}</text>
<text class="default" v-show="item.isDefault">默认</text> <text class="default" v-show="item.isDefault">默认</text>
<view> <view>
<div class="region"> <div class="region">
<span v-if="item.consigneeAddressPath[0]">{{item.consigneeAddressPath[0]}}</span> <span v-if="item.consigneeAddressPath[0]">{{
<span v-if="item.consigneeAddressPath[1]">{{item.consigneeAddressPath[1]}}</span> item.consigneeAddressPath[0]
<span v-if="item.consigneeAddressPath[2]">{{item.consigneeAddressPath[2]}}</span> }}</span>
<span v-if="item.consigneeAddressPath[3]">{{item.consigneeAddressPath[3]}}</span> <span v-if="item.consigneeAddressPath[1]">{{
item.consigneeAddressPath[1]
}}</span>
<span v-if="item.consigneeAddressPath[2]">{{
item.consigneeAddressPath[2]
}}</span>
<span v-if="item.consigneeAddressPath[3]">{{
item.consigneeAddressPath[3]
}}</span>
<span>{{ item.detail }}</span> <span>{{ item.detail }}</span>
</div> </div>
</view> </view>
@ -39,7 +56,12 @@
添加新收货人 添加新收货人
</button> </button>
<u-action-sheet :list="removeList" :tips="tips" v-model="showAction" @click="deleteAddressMessage"></u-action-sheet> <u-action-sheet
:list="removeList"
:tips="tips"
v-model="showAction"
@click="deleteAddressMessage"
></u-action-sheet>
</view> </view>
</template> </template>
@ -69,8 +91,8 @@ export default {
}, },
// //
onBackPress(e) { onBackPress(e) {
uni.switchTab({ uni.navigateTo({
url: "/pages/tabbar/user/my", url: `/pages/tabbar/user/my`,
}); });
return true; return true;
}, },

View File

@ -26,20 +26,20 @@ export default {
walletNum: 0, walletNum: 0,
}; };
}, },
async onShow() { // async onShow() {
if (this.$options.filters.isLogin("auth")) { // if (this.$options.filters.isLogin("auth")) {
let result = await getUserWallet(); // // let result = await getUserWallet(); //
this.walletNum = result.data.result.memberWallet; // this.walletNum = result.data.result.memberWallet;
} else { // } else {
uni.showToast({ // uni.showToast({
icon: "none", // icon: "none",
duration: 3000, // duration: 3000,
title: "请先登录!", // title: "",
}); // });
this.$options.filters.navigateToLogin("redirectTo"); // this.$options.filters.navigateToLogin("redirectTo");
} // }
}, // },
methods: { methods: {
back() { back() {
uni.switchTab({ uni.switchTab({

View File

@ -63,6 +63,7 @@
mode="date" mode="date"
@change="changetime" @change="changetime"
max-date="30000" max-date="30000"
range-color="#FE3C3C"
></u-calendar> ></u-calendar>
</u-form-item> </u-form-item>
<u-form-item label="经营范围"> <u-form-item label="经营范围">
@ -80,8 +81,9 @@
</u-checkbox-group> </u-checkbox-group>
</u-form-item> </u-form-item>
</u-form> </u-form>
<button @click="consub" :style="{ background: '#FE3C3C' }" <button @click="consub" :style="{ background: '#FE3C3C' }" class="bunem">
class="bunem">提交</button> 提交
</button>
<u-toast ref="uToast" /> <u-toast ref="uToast" />
</view> </view>
</template> </template>
@ -282,7 +284,6 @@ export default {
this.form.idPhoto = images; this.form.idPhoto = images;
}, },
changetime(value) { changetime(value) {
console.log(value); //
this.form.idExpiryDate = value.result; // form.idExpiryDate this.form.idExpiryDate = value.result; // form.idExpiryDate
}, },
// checkbox // checkbox
@ -308,6 +309,12 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep { ::v-deep {
.u-btn--primary {
color: #ffffff;
border-color: #fe3c3c !important;
background-color: #fe3c3c !important;
}
.u-form-item--left__content { .u-form-item--left__content {
width: 100px; width: 100px;
white-space: nowrap; white-space: nowrap;

View File

@ -32,7 +32,7 @@ export default {
type: "LICENSE_INFORMATION", type: "LICENSE_INFORMATION",
}, },
about: { about: {
title: "关于我们", title: "公司介绍",
type: "ABOUT", type: "ABOUT",
}, },
}, },

View File

@ -47,19 +47,19 @@ export default {
// //
uni.showActionSheet({ uni.showActionSheet({
itemList: ['分享到微信好友', '分享到朋友圈', '分享到QQ', '分享到消息'], itemList: ["分享到微信好友", "分享到朋友圈", "分享到QQ", "分享到消息"],
success: (res) => { success: (res) => {
const providerMap = ['weixin', 'weixin', 'qq', 'im']; const providerMap = ["weixin", "weixin", "qq", "im"];
const sceneMap = ['WXSceneSession', 'WXSceneTimeline', '', '']; const sceneMap = ["WXSceneSession", "WXSceneTimeline", "", ""];
// QQ ------------ // QQ ------------
if (providerMap[res.tapIndex] === 'im') { if (providerMap[res.tapIndex] === "im") {
uni.setClipboardData({ uni.setClipboardData({
data: `邀请码:${this.resfn}`, data: `邀请码:${this.resfn}`,
success: () => { success: () => {
uni.showToast({ uni.showToast({
title: "复制成功", title: "复制成功",
icon: "none" icon: "none",
}); });
uni.switchTab({ uni.switchTab({
url: "/pages/tabbar/im/index", url: "/pages/tabbar/im/index",
@ -68,22 +68,22 @@ export default {
fail: () => { fail: () => {
uni.showToast({ uni.showToast({
title: "复制失败", title: "复制失败",
icon: "none" icon: "none",
}); });
} },
}); });
} else { } else {
uni.share({ uni.share({
provider: providerMap[res.tapIndex], provider: providerMap[res.tapIndex],
scene: sceneMap[res.tapIndex], scene: sceneMap[res.tapIndex],
title: '无终街邀请专属码', title: "无终街邀请专属码",
summary: '输入达人邀请码,获得更多曝光量', summary: "输入达人邀请码,获得更多曝光量",
imageUrl: '/static/imlogo.png', imageUrl: "/static/imlogo.png",
href: config.downloadLink, href: config.downloadLink,
success: () => uni.showToast({ title: '分享成功' }) success: () => uni.showToast({ title: "分享成功" }),
}); });
} }
} },
}); });
}, },
}, },
@ -101,11 +101,11 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
} }
.tui { .tui {
padding: 0px; padding: 0rpx;
height: calc(85vh - 65px); height: calc(85vh - 65rpx);
width: 80%; width: 80%;
margin: 10px; margin: 10rpx;
border-radius: 10px; border-radius: 10rpx;
} }
.cnent { .cnent {
height: 80%; height: 80%;
@ -116,8 +116,8 @@ export default {
.round-avatar { .round-avatar {
border-radius: 50%; border-radius: 50%;
object-fit: cover; /* 确保图片填充整个圆形区域 */ object-fit: cover; /* 确保图片填充整个圆形区域 */
width: 60px; width: 60rpx;
height: 60px; height: 60rpx;
} }
.bottomc { .bottomc {
width: 80%; width: 80%;
@ -128,22 +128,41 @@ export default {
} }
.qian { .qian {
width: 80%; width: 80%;
height: 15%;
margin-top: 50px; /* margin-top: 15%; */
display: flex;
flex-direction: column;
justify-content: end;
} }
.btn { .btn {
width: 75%; width: 75%;
background: #fe3c3c; background: #fe3c3c;
margin-top: 56px; margin-top: 15%;
} }
.tuijianm { .tuijianm {
width: 65%; width: 65%;
height: 5.3vh; height: 20%;
font-size: 20px; font-size: 40rpx;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
padding: 10px; padding: 10rpx;
margin-top: 24vh; margin-top:60%;
text-align: center; text-align: center;
} }
@media (min-height: 100px) and (max-height: 700px) {
.qian {
width: 80%;
height: 25%;
/* margin-top: 15%; */
display: flex;
flex-direction: column;
justify-content: end;
}
.tui {
height: calc(70vh - 65rpx);
}
.tuijianm {
margin-top: 40%;
}
}
</style> </style>

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="distribution-container"> <div class="distribution-container">
<!-- Header section --> <!-- Header section -->
<div class="distribution-header"> <!-- <div class="distribution-header">
<div class="total-earnings"> <div class="total-earnings">
<div class="total"> <div class="total">
<h2 :style="{ fontSize: '15px' }">总收益()</h2> <h2 :style="{ fontSize: '15px' }">总收益()</h2>
@ -10,14 +10,14 @@
提现规则 提现规则
</h2> </h2>
</div> </div>
<p class="amount" :style="{ fontSize: '30px' }">1164</p> <p class="amount" :style="{ fontSize: '30px' }">{{price}}</p>
</div> </div>
<div class="hr"></div> <div class="hr"></div>
<div class="withdrawable" :style="{ padding: '10px 0px' }"> <div class="withdrawable" :style="{ padding: '10px 0px' }">
<div class="itox">可提现金额<span class="amount">94.26</span></div> <div class="itox">可提现金额<span class="amount">{{tiprice}}</span></div>
<div class="buto" @click="goToDepositPage">提现</div> <div class="buto" @click="goToDepositPage">提现</div>
</div> </div>
</div> </div> -->
<!-- Main content card --> <!-- Main content card -->
<div class="distribution-card"> <div class="distribution-card">
@ -26,15 +26,15 @@
<h2>当月数据</h2> <h2>当月数据</h2>
<div class="stats-row"> <div class="stats-row">
<div class="stat-item"> <div class="stat-item">
<div class="stat-value">197</div> <div class="stat-value">{{obj.invitedCount}}</div>
<div class="stat-label">我的邀请</div> <div class="stat-label">我的邀请</div>
</div> </div>
<div class="stat-item"> <div class="stat-item">
<div class="stat-value">100.00</div> <div class="stat-value">{{price}}</div>
<div class="stat-label">现金奖励</div> <div class="stat-label">当月分佣</div>
</div> </div>
<div class="stat-item"> <div class="stat-item">
<div class="stat-value">200.00</div> <div class="stat-value">{{obj.pendingIncome}}</div>
<div class="stat-label">待入账</div> <div class="stat-label">待入账</div>
</div> </div>
</div> </div>
@ -74,6 +74,9 @@
</template> </template>
<script> <script>
import { getinvitation,gettotal} from "@/api/point.js";
export default { export default {
name: "MyDistribution", name: "MyDistribution",
data() { data() {
@ -82,18 +85,41 @@ export default {
menuItems: [ menuItems: [
{name:"我的用户",url:'/pages/mine/mydistribution/my/myindex'}, {name:"我的用户",url:'/pages/mine/mydistribution/my/myindex'},
{name:"消费记录",url:'/pages/mine/mydistribution/my/consumption'}, {name:"消费记录",url:'/pages/mine/mydistribution/my/consumption'},
{name:"收益明细",url:''}, {name:"收益明细",url:'/pages/mine/mydistribution/my/income'},
{name:"我的邀请码",url:'/pages/mine/invite'}, {name:"我的推荐码",url:'/pages/mine/invite'},
] ],
obj:{},
price:0,
}; };
}, },
onShow() {
this.getl(); //
this.getprice();
},
onLoad() {
},
mounted() {
},
methods: { methods: {
touni(e){ touni(e){
uni.navigateTo({ url:e }); uni.navigateTo({ url:e });
}, },
goToDepositPage() { goToDepositPage() {
uni.navigateTo({ url: '/pages/mine/deposit/operation' }); uni.navigateTo({ url: '/pages/mine/deposit/operation' });
},
getl() {
getinvitation({}).then((res) => {
this.obj = res.data.result;
});
},
getprice(){
gettotal({}).then((res) => {
this.price = res.data.result;
});
} }
}, },
}; };
</script> </script>
@ -182,7 +208,7 @@ export default {
.distribution-card { .distribution-card {
background-color: white; background-color: white;
border-radius: 8px; border-radius: 8px;
margin: -25px 15px 20px; margin: 5px 15px 20px;
padding: 20px; padding: 20px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
position: relative; position: relative;

View File

@ -20,10 +20,10 @@
:style="{ background: index % 2 == 0 ? '#fff' : '' }" :style="{ background: index % 2 == 0 ? '#fff' : '' }"
> >
<div> <div>
<img :src="item.face" alt="" width="60" style="border-radius: 50%" /> <img :src="imgfun(item.image)" alt="" width="60" height="60" style="border-radius: 50%" />
</div> </div>
<div>{{ item.nickName }}</div> <div style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">{{ item.goodsName }}</div>
<div>{{ timefun(item.lastLoginDate) }}</div> <div>{{ timefun(item.orderCreateTime) }}</div>
</div> </div>
</div> </div>
</div> </div>
@ -47,7 +47,7 @@ export default {
}, },
methods: { methods: {
timefun(e) { timefun(e) {
return e.split(" ")[0]; return e.split("T")[0];
}, },
touni(e) { touni(e) {
uni.navigateTo({ url: e }); uni.navigateTo({ url: e });
@ -57,8 +57,8 @@ export default {
}, },
getl() { getl() {
getcompleted({size:this.size,page:this.page}).then((res) => { getcompleted({size:this.size,page:this.page}).then((res) => {
this.getlist = res.data.result; this.getlist = res.data.result.records;
this.totle = res.data.result.length; this.totle = res.data.result.total;
}); });
}, },
}, },
@ -98,7 +98,9 @@ export default {
padding: 10px 0px 10px 0px; padding: 10px 0px 10px 0px;
& > div { & > div {
width: 30%; width: 30%;
text-align: center; display: flex;
justify-content: center;
align-items: center;
} }
} }
// justify-content: space-evenly; // justify-content: space-evenly;

View File

@ -0,0 +1,110 @@
<template>
<div class="distribution-container">
<!-- Header section -->
<div class="distribution-header">
<view class="hcolng">
<view></view>
<view :style="{ fontSize: '30px' }">{{ totle }}</view>
<view></view>
</view>
</div>
<div class="distribution-center">
<div>
<div>商品名称</div>
<div>收益</div>
<div>绑定日期</div>
</div>
<div
v-for="(item, index) in getlist"
:key="item.id"
:style="{ background: index % 2 == 0 ? '#fff' : '' }"
>
<div>
{{item.goodsName}}
</div>
<div>{{ item.amount }}</div>
<div>{{timefun(item.createTime) }}</div>
</div>
</div>
</div>
</template>
<script>
import { getgetAmount } from "@/api/point.js";
export default {
name: "MyDistribution",
data() {
return {
show: false,
totle: 0,
getlist: [],
};
},
mounted() {
this.getl();
},
methods: {
timefun(e) {
return e.split(" ")[0];
},
touni(e) {
uni.navigateTo({ url: e });
},
goToDepositPage() {
uni.navigateTo({ url: "/pages/mine/deposit/operation" });
},
getl() {
getgetAmount({}).then((res) => {
this.getlist = res.data.result.records;
console.log(this.getlist);
this.totle = res.data.result.total;
});
},
},
};
</script>
<style lang="scss" scoped>
.distribution-container {
font-family: "PingFang SC", "Helvetica Neue", Arial, sans-serif;
width: 100%;
color: #333;
.distribution-header {
background-color: #ff7d00;
color: white;
padding: 25px 20px;
display: flex;
justify-content: center;
align-items: center;
.hcolng {
display: flex;
padding: 10px 20px;
margin-top: 50px;
& > view {
font-weight: 700;
display: flex;
font-size: 14px;
margin: 0 5px;
align-items: end;
}
}
}
.distribution-center {
display: flex;
flex-direction: column;
& > div {
display: flex;
justify-content: space-evenly;
padding: 10px 0px 10px 0px;
& > div {
width: 30%;
display: flex;
justify-content: center;
align-items: center;
}
}
// justify-content: space-evenly;
}
}
</style>

View File

@ -19,8 +19,12 @@
:key="item.id" :key="item.id"
:style="{ background: index % 2 == 0 ? '#fff' : '' }" :style="{ background: index % 2 == 0 ? '#fff' : '' }"
> >
<div> <div class="imgfn">
<img :src="item.face" alt="" width="60" style="border-radius: 50%" /> <img :src="imgfun(item.face) "
width="60"
height="60"
style="border-radius: 50%"
mode="" />
</div> </div>
<div>{{ item.nickName }}</div> <div>{{ item.nickName }}</div>
<div>{{ timefun(item.lastLoginDate) }}</div> <div>{{ timefun(item.lastLoginDate) }}</div>
@ -64,6 +68,17 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep{
.uni-image{
width: 30px;
height: 30px;
}
}
// .imgfn{
// width: 30px;
// height: 30px;
// border-radius: 50%;
// }
.distribution-container { .distribution-container {
font-family: "PingFang SC", "Helvetica Neue", Arial, sans-serif; font-family: "PingFang SC", "Helvetica Neue", Arial, sans-serif;
width: 100%; width: 100%;
@ -98,7 +113,9 @@ export default {
padding: 10px 0px 10px 0px; padding: 10px 0px 10px 0px;
& > div { & > div {
width: 30%; width: 30%;
text-align: center; display: flex;
justify-content: center;
align-items: center;
} }
} }
// justify-content: space-evenly; // justify-content: space-evenly;

View File

@ -230,7 +230,7 @@ export default {
// duration: 1500, // duration: 1500,
// }); // });
setTimeout(() => { setTimeout(() => {
uni.switchTab({ uni.navigateTo({
url: "/pages/tabbar/user/my", url: "/pages/tabbar/user/my",
}); });
}, 1000); }, 1000);

View File

@ -18,11 +18,11 @@
<!-- {{localVersion}} --> <!-- {{localVersion}} -->
<u-cell-group class="cell" :border="false"> <u-cell-group class="cell" :border="false">
<!-- #ifdef APP-PLUS --> <!-- #ifdef APP-PLUS -->
<u-cell-item v-if="IosWhether" @click="checkStar" title="去评分"></u-cell-item> <!-- <u-cell-item v-if="IosWhether" @click="checkStar" title="去评分"></u-cell-item>
<u-cell-item title="功能介绍" @click="navigateTo('/pages/mine/set/versionFunctionList')"></u-cell-item> <u-cell-item title="功能介绍" @click="navigateTo('/pages/mine/set/versionFunctionList')"></u-cell-item>
<u-cell-item title="检查更新" @click="checkUpdate"></u-cell-item> <u-cell-item title="检查更新" @click="checkUpdate"></u-cell-item> -->
<!-- #endif --> <!-- #endif -->
<u-cell-item title="证照信息" @click="navigateTo('/pages/mine/help/tips?type=message')"></u-cell-item> <!-- <u-cell-item title="证照信息" @click="navigateTo('/pages/mine/help/tips?type=message')"></u-cell-item> -->
<u-cell-item title="服务协议" @click="navigateTo('/pages/mine/help/tips?type=user')"></u-cell-item> <u-cell-item title="服务协议" @click="navigateTo('/pages/mine/help/tips?type=user')"></u-cell-item>
<u-cell-item title="隐私协议" @click="navigateTo('/pages/mine/help/tips?type=privacy')"></u-cell-item> <u-cell-item title="隐私协议" @click="navigateTo('/pages/mine/help/tips?type=privacy')"></u-cell-item>
<u-cell-item title="公司介绍" :border-bottom="false" @click="navigateTo('/pages/mine/help/tips?type=about')"></u-cell-item> <u-cell-item title="公司介绍" :border-bottom="false" @click="navigateTo('/pages/mine/help/tips?type=about')"></u-cell-item>

View File

@ -273,7 +273,7 @@
</template> </template>
<script> <script>
import { getGoodsList, getGoodsRelated } from "@/api/goods.js"; import { getGoodsList, getGoodsRelated ,getGoodscategory} from "@/api/goods.js";
import { getHotKeywords } from "@/api/home.js"; import { getHotKeywords } from "@/api/home.js";
import mSearch from "@/components/m-search-revision/m-search-revision.vue"; import mSearch from "@/components/m-search-revision/m-search-revision.vue";
@ -321,7 +321,7 @@ export default {
pageNumber: 1, pageNumber: 1,
pageSize: 10, pageSize: 10,
// sort: 'grade_asc', // sort: 'grade_asc',
ste:"",
keyword: "", keyword: "",
}, },
minPrice: "", minPrice: "",
@ -350,6 +350,7 @@ export default {
this.routerVal = val; this.routerVal = val;
console.log(this.routerVal); console.log(this.routerVal);
this.params.ste=val.ste
// //
if (this.routerVal.category) { if (this.routerVal.category) {
this.params.categoryId = this.routerVal.category; this.params.categoryId = this.routerVal.category;
@ -708,12 +709,13 @@ export default {
console.log(this.params,'=='); console.log(this.params,'==');
// #TODO // #TODO
let goodsList = await getGoodsList(this.params); let goodsList = await getGoodscategory(this.params);
if (goodsList.data.result.content.length < 10) { if (goodsList.data.result.length < 10) {
this.loadingType = "noMore"; this.loadingType = "noMore";
} }
this.goodsList.push(...goodsList.data.result.content); this.goodsList.push(...goodsList.data.result);
this.initSortGoods(); this.initSortGoods();
uni.hideLoading(); uni.hideLoading();
}, },

View File

@ -10,7 +10,10 @@
<!-- 省市区 --> <!-- 省市区 -->
<div class="flex flex-a-c"> <div class="flex flex-a-c">
<span class="default" v-if="address.isDefault">默认</span> <span class="default" v-if="address.isDefault">默认</span>
<div class="address-list" v-if="address.consigneeAddressPath.length != 0"> <div
class="address-list"
v-if="address.consigneeAddressPath.length != 0"
>
<span <span
class="address-item" class="address-item"
v-for="(item, index) in address.consigneeAddressPath" v-for="(item, index) in address.consigneeAddressPath"
@ -89,7 +92,11 @@
</view> </view>
<!-- 店铺商品信息 --> <!-- 店铺商品信息 -->
<div class="box box2" v-for="(item, index) in orderMessage.cartList" :key="index"> <div
class="box box2"
v-for="(item, index) in orderMessage.cartList"
:key="index"
>
<div @click="navigateToStore(item)"> <div @click="navigateToStore(item)">
<div class="store-name"> <div class="store-name">
<span>{{ item.storeName }}</span> <span>{{ item.storeName }}</span>
@ -134,16 +141,24 @@
</div> </div>
<p class="goods-prices"> <p class="goods-prices">
<span></span> <span></span>
<span class="goods-price">{{ formatPrice(val.goodsSku.price)[0] }}</span> <span class="goods-price">{{
formatPrice(val.goodsSku.price)[0]
}}</span>
<span>.{{ formatPrice(val.goodsSku.price)[1] }}</span> <span>.{{ formatPrice(val.goodsSku.price)[1] }}</span>
</p> </p>
</div> </div>
</div> </div>
<u-row> <u-row>
<u-col :offset="0" :span="4">发票信息</u-col> <u-col :offset="0" :span="4">发票信息</u-col>
<u-col :span="8" class="tipsColor" textAlign="right" @click.native="invoice()"> <u-col
:span="8"
class="tipsColor"
textAlign="right"
@click.native="invoice()"
>
<span v-if="receiptList" <span v-if="receiptList"
>{{ receiptList.receiptTitle }} - {{ receiptList.receiptContent }}</span >{{ receiptList.receiptTitle }} -
{{ receiptList.receiptContent }}</span
> >
<span v-else>不开发票</span> <span v-else>不开发票</span>
</u-col> </u-col>
@ -170,7 +185,9 @@
</u-col> </u-col>
</u-row> </u-row>
<u-row> <u-row>
<u-col :offset="0" :span="4" class="tl" style="text-align: left">备注信息</u-col> <u-col :offset="0" :span="4" class="tl" style="text-align: left"
>备注信息</u-col
>
<u-col :span="8" textAlign="right"> <u-col :span="8" textAlign="right">
<u-input <u-input
style="text-align: right" style="text-align: right"
@ -182,7 +199,11 @@
</div> </div>
<!-- 发票信息 --> <!-- 发票信息 -->
<invoices :res="receiptList" @callbackInvoice="callbackInvoice" v-if="invoiceFlag" /> <invoices
:res="receiptList"
@callbackInvoice="callbackInvoice"
v-if="invoiceFlag"
/>
<u-select v-model="shippingFlag" :list="shippingMethod"></u-select> <u-select v-model="shippingFlag" :list="shippingMethod"></u-select>
<div class="box box5" v-if="orderMessage.priceDetailDTO"> <div class="box box5" v-if="orderMessage.priceDetailDTO">
@ -190,22 +211,30 @@
<u-row> <u-row>
<u-col :span="9">商品合计</u-col> <u-col :span="9">商品合计</u-col>
<u-col :span="3" textAlign="right"> <u-col :span="3" textAlign="right">
<span>{{ orderMessage.priceDetailDTO.goodsPrice | unitPrice }}</span> <span
>{{ orderMessage.priceDetailDTO.goodsPrice | unitPrice }}</span
>
</u-col> </u-col>
</u-row> </u-row>
</div> </div>
<div> <div>
<u-row> <u-row>
<u-col v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" :span="7">运费</u-col> <u-col v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" :span="7"
>运费</u-col
>
<u-col <u-col
v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" v-if="orderMessage.cartTypeEnum != 'VIRTUAL'"
:span="5" :span="5"
class="tr tipsColor" class="tr tipsColor"
textAlign="right" textAlign="right"
> >
<span v-if="orderMessage.priceDetailDTO.freightPrice == 0">包邮</span> <span v-if="orderMessage.priceDetailDTO.freightPrice == 0"
>包邮</span
>
<span v-else <span v-else
>{{ orderMessage.priceDetailDTO.freightPrice | unitPrice }}</span >{{
orderMessage.priceDetailDTO.freightPrice | unitPrice
}}</span
> >
</u-col> </u-col>
</u-row> </u-row>
@ -215,7 +244,10 @@
<u-col <u-col
:span="3" :span="3"
v-if="orderMessage.priceDetailDTO && orderMessage.priceDetailDTO.couponPrice" v-if="
orderMessage.priceDetailDTO &&
orderMessage.priceDetailDTO.couponPrice
"
textAlign="right" textAlign="right"
@click="GET_Discount()" @click="GET_Discount()"
> >
@ -249,7 +281,9 @@
<u-col :span="6">活动优惠</u-col> <u-col :span="6">活动优惠</u-col>
<u-col :span="6" class="tr tipsColor" textAlign="right"> <u-col :span="6" class="tr tipsColor" textAlign="right">
<span v-if="orderMessage.priceDetailDTO.discountPrice" <span v-if="orderMessage.priceDetailDTO.discountPrice"
>-{{ orderMessage.priceDetailDTO.discountPrice | unitPrice }}</span >-{{
orderMessage.priceDetailDTO.discountPrice | unitPrice
}}</span
> >
<span v-else>0.00</span> <span v-else>0.00</span>
</u-col> </u-col>
@ -276,7 +310,9 @@
<span class="price">{{ <span class="price">{{
formatPrice(orderMessage.priceDetailDTO.flowPrice)[0] formatPrice(orderMessage.priceDetailDTO.flowPrice)[0]
}}</span> }}</span>
<span>.{{ formatPrice(orderMessage.priceDetailDTO.flowPrice)[1] }} </span> <span
>.{{ formatPrice(orderMessage.priceDetailDTO.flowPrice)[1] }}
</span>
</div> </div>
<span v-else class="number" <span v-else class="number"
><span style="margin-right: 10rpx">{{ ><span style="margin-right: 10rpx">{{
@ -306,8 +342,6 @@ import LiLiWXPay from "@/js_sdk/lili-pay/wx-pay.js";
export default { export default {
onLoad: function (val) { onLoad: function (val) {
console.log(val,'======');
this.routerVal = val; this.routerVal = val;
}, },
components: { components: {
@ -348,6 +382,7 @@ export default {
pintuanFlage: true, // pintuanFlage: true, //
notSupportFreight: [], // notSupportFreight: [], //
notSupportFreightGoodsList: ["以下商品超出配送范围:"], notSupportFreightGoodsList: ["以下商品超出配送范围:"],
pat: {},
}; };
}, },
filters: { filters: {
@ -449,7 +484,9 @@ export default {
this.navigateTo( this.navigateTo(
`/pages/mine/address/address?from=cart&way=${ `/pages/mine/address/address?from=cart&way=${
this.routerVal.way this.routerVal.way
}&parentOrder=${encodeURIComponent(JSON.stringify(this.routerVal.parentOrder))}` }&parentOrder=${encodeURIComponent(
JSON.stringify(this.routerVal.parentOrder)
)}`
); );
}, },
@ -484,9 +521,11 @@ export default {
this.orderMessage.storeCoupons && this.orderMessage.storeCoupons &&
Object.keys(this.orderMessage.storeCoupons)[0] Object.keys(this.orderMessage.storeCoupons)[0]
) { ) {
let storeMemberCouponsId = Object.keys(this.orderMessage.storeCoupons)[0]; let storeMemberCouponsId = Object.keys(
let storeCouponId = this.orderMessage.storeCoupons[storeMemberCouponsId] this.orderMessage.storeCoupons
.memberCoupon.id; )[0];
let storeCouponId =
this.orderMessage.storeCoupons[storeMemberCouponsId].memberCoupon.id;
selectedCoupon.push(storeCouponId); selectedCoupon.push(storeCouponId);
} }
this.orderMessage.cartList.forEach((item) => { this.orderMessage.cartList.forEach((item) => {
@ -542,15 +581,14 @@ export default {
// #ifdef APP-PLUS // #ifdef APP-PLUS
client = "APP"; client = "APP";
// #endif // #endif
const storedSte = uni.getStorageSync('ste'); const storedSte = uni.getStorageSync("ste");
let submit = { let submit = {
client, client,
way: this.routerVal.way, way: this.routerVal.way,
remark: this.remarkVal, remark: this.remarkVal,
parentOrderSn: "", parentOrderSn: "",
ste:storedSte ste: storedSte,
}; };
console.log(submit,'===')
// //
this.routerVal.parentOrder && this.routerVal.parentOrder.orderSn this.routerVal.parentOrder && this.routerVal.parentOrder.orderSn
? (submit.parentOrderSn = this.routerVal.parentOrder.orderSn) ? (submit.parentOrderSn = this.routerVal.parentOrder.orderSn)
@ -561,6 +599,8 @@ export default {
*/ */
API_Trade.createTrade(submit).then((res) => { API_Trade.createTrade(submit).then((res) => {
if (res.data.success) { if (res.data.success) {
console.log(res.data);
uni.showToast({ uni.showToast({
title: "创建订单成功!", title: "创建订单成功!",
duration: 2000, duration: 2000,
@ -611,9 +651,8 @@ export default {
// //
API_Address.getAddressDefault().then((res) => { API_Address.getAddressDefault().then((res) => {
if (res.data.result) { if (res.data.result) {
res.data.result.consigneeAddressPath = res.data.result.consigneeAddressPath.split( res.data.result.consigneeAddressPath =
"," res.data.result.consigneeAddressPath.split(",");
);
this.address = res.data.result; this.address = res.data.result;
} }
}); });
@ -635,6 +674,7 @@ export default {
storeId: item.storeId, storeId: item.storeId,
}; };
}); });
this.orderMessage = res.data.result; this.orderMessage = res.data.result;
/** /**
* 为了避免路径传值在h5中超出限制问题 * 为了避免路径传值在h5中超出限制问题
@ -650,9 +690,8 @@ export default {
// console.log(res.data.result,"====="); // console.log(res.data.result,"=====");
this.address = res.data.result.memberAddress; this.address = res.data.result.memberAddress;
res.data.result.memberAddress.consigneeAddressPath = res.data.result.memberAddress.consigneeAddressPath.split( res.data.result.memberAddress.consigneeAddressPath =
"," res.data.result.memberAddress.consigneeAddressPath.split(",");
);
} }
if ( if (

View File

@ -23,7 +23,7 @@
<view> <view>
<view class="goods-item-view" @click="navigateToOrderDetail(order.sn)"> <view class="goods-item-view" @click="navigateToOrderDetail(order.sn)">
<view class="goods-img" v-for="(goods, goodsIndex) in order.orderItems" :key="goodsIndex"> <view class="goods-img" v-for="(goods, goodsIndex) in order.orderItems" :key="goodsIndex">
<u-image border-radius="6" width="100%" height="100%" :src="goods.image"></u-image> <u-image border-radius="6" width="100%" height="100%" :src="imgfun(goods.image)"></u-image>
</view> </view>
<view class="goods-info"> <view class="goods-info">
<view v-if="order.orderItems.length <= 1" class="goods-title u-line-2">{{ order.groupName }}</view> <view v-if="order.orderItems.length <= 1" class="goods-title u-line-2">{{ order.groupName }}</view>
@ -57,9 +57,14 @@
<u-button ripple :customStyle="{'background':lightColor,'color':'#fff' }" shape="circle" class="pay-btn" size="mini" v-if="order.allowOperationVO.rog" @click="onRog(order.sn)"> <u-button ripple :customStyle="{'background':lightColor,'color':'#fff' }" shape="circle" class="pay-btn" size="mini" v-if="order.allowOperationVO.rog" @click="onRog(order.sn)">
确认收货 确认收货
</u-button> </u-button>
<u-button ripple shape="circle" class="cancel-btn" size="mini" v-if="order.groupAfterSaleStatus.includes('NOT_APPLIED')" @click="applyService(order)"> <u-button ripple shape="circle" class="cancel-btn" size="mini"
v-if="order.groupAfterSaleStatus.includes('NOT_APPLIED')" @click="showcancel=true">
退款/售后 退款/售后
</u-button> </u-button>
<u-modal v-model="showcancel" :content="contenttitle"></u-modal>
<!-- <u-button ripple shape="circle" class="cancel-btn" size="mini" v-if="order.groupAfterSaleStatus.includes('NOT_APPLIED')" @click="applyService(order)">
退款/售后
</u-button> -->
<!-- TODO 后续完善 --> <!-- TODO 后续完善 -->
<!-- <u-button ripple shape="circle" class="rebuy-btn" size="mini" v-if=" <!-- <u-button ripple shape="circle" class="rebuy-btn" size="mini" v-if="
order.orderStatus === 'CANCELLED' || order.orderStatus === 'CANCELLED' ||
@ -109,6 +114,8 @@ export default {
}, },
data() { data() {
return { return {
showcancel:false,
contenttitle:"请联系客服:03156198200",
lightColor: this.$lightColor, lightColor: this.$lightColor,
tabCurrentIndex: 0, // tabCurrentIndex: 0, //
navList: [ navList: [
@ -171,7 +178,7 @@ export default {
orderStatus: "WAIT_PAY", // orderStatus: "WAIT_PAY", //
}, },
{ {
orderStatus: "WAIT_SHIP", orderStatus: "WAIT_SHIP",//
}, },
{ {
orderStatus: "WAIT_ROG", // orderStatus: "WAIT_ROG", //

View File

@ -6,7 +6,6 @@
{{ orderStatusList[order.orderStatus].title }} {{ orderStatusList[order.orderStatus].title }}
<div>{{ orderStatusList[order.orderStatus].value }}</div> <div>{{ orderStatusList[order.orderStatus].value }}</div>
</div> </div>
</div> </div>
<!-- 物流信息 --> <!-- 物流信息 -->
<view class="info-view logi-view"> <view class="info-view logi-view">
@ -24,21 +23,42 @@
券码 {{ order.verificationCode }} 券码 {{ order.verificationCode }}
</view> </view>
<view v-else class="logi-List-title"> <view v-else class="logi-List-title">
{{'暂无物流信息'}} {{ "暂无物流信息" }}
</view> </view>
</view> </view>
</view>
<view class="info-view" style="justify-content: center">
<img :src="code" alt="" />
</view> </view>
<!-- 地址 --> <!-- 地址 -->
<view class="info-view"> <!-- 自己的地址 -->
<view class="info-view" v-if="orderDetail.ste == '1'">
<!-- <view class="info-view"> -->
<view class="address-view"> <view class="address-view">
<view> <view>
<view class="address-title"> <view class="address-title">
<span>{{ order.consigneeName || "未填写昵称" }}</span> <span>{{ order.consigneeName || "未填写昵称" }}</span>
<span>{{ order.consigneeMobile || "未填写手机号" | secrecyMobile }}</span> <span>{{ order.consigneeMobile }}</span>
</view> </view>
<view class="address">地址{{ order.consigneeAddressPath }} <view class="address"
{{ order.consigneeDetail }}</view> >地址{{ order.consigneeAddressPath }}
{{ order.consigneeDetail }}</view
>
</view>
</view>
</view>
<!-- 商家的地址 -->
<view class="info-view" v-if="orderDetail.ste == '0'">
<view class="address-view">
<view>
<view class="address-title">
<span>商家名称:{{ orderDetail.storeName }}</span>
<span>商家电话:{{ orderDetail.memberMobile }}</span>
</view>
<view class="address"
>商家地址{{ orderDetail.storeAddressPath }}
{{ orderDetail.storeAddressDetail }}</view
>
</view> </view>
</view> </view>
</view> </view>
@ -49,7 +69,9 @@
<view class="seller-info u-flex u-row-between"> <view class="seller-info u-flex u-row-between">
<view class="seller-name" @click="tostore(order)"> <view class="seller-name" @click="tostore(order)">
<view class="name">{{ order.storeName }}</view> <view class="name">{{ order.storeName }}</view>
<view class="status" v-if="orderStatusList[order.orderStatus]"> {{ orderStatusList[order.orderStatus].title }}</view> <view class="status" v-if="orderStatusList[order.orderStatus]">
{{ orderStatusList[order.orderStatus].title }}</view
>
</view> </view>
<view class="order-sn"></view> <view class="order-sn"></view>
</view> </view>
@ -57,7 +79,12 @@
<view v-for="(sku, skuIndex) in orderGoodsList" :key="skuIndex"> <view v-for="(sku, skuIndex) in orderGoodsList" :key="skuIndex">
<view class="goods-item-view"> <view class="goods-item-view">
<view class="goods-img" @click="gotoGoodsDetail(sku)"> <view class="goods-img" @click="gotoGoodsDetail(sku)">
<u-image border-radius="6" width="131rpx" height="131rpx" :src="sku.image"></u-image> <u-image
border-radius="6"
width="131rpx"
height="131rpx"
:src="imgfun(sku.image)"
></u-image>
</view> </view>
<view class="goods-info" @click="gotoGoodsDetail(sku)"> <view class="goods-info" @click="gotoGoodsDetail(sku)">
<view class="goods-title u-line-2">{{ sku.goodsName }}</view> <view class="goods-title u-line-2">{{ sku.goodsName }}</view>
@ -70,11 +97,17 @@
<view>x{{ sku.num }}</view> <view>x{{ sku.num }}</view>
<view class="good-complaint"> <view class="good-complaint">
<u-tag size="mini" mode="plain" @click="complaint(sku)" v-if="sku.complainStatus == 'NO_APPLY'" text="投诉" type="info" /> <u-tag
size="mini"
mode="plain"
@click="complaint(sku)"
v-if="sku.complainStatus == 'NO_APPLY'"
text="投诉"
type="info"
/>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
@ -104,16 +137,44 @@
</view> </view>
</view> </view>
<!-- 客户服务 售后取消订单查看物流投诉等 --> <!-- 客户服务 售后取消订单查看物流投诉等 -->
<view class="info-view" <view
v-if="orderDetail.allowOperationVO && orderDetail.allowOperationVO.cancel == true || order.orderStatus == 'DELIVERED' || order.orderStatus != 'UNPAID' && order.orderPromotionType =='PINTUAN'"> class="info-view"
v-if="
(orderDetail.allowOperationVO &&
orderDetail.allowOperationVO.cancel == true) ||
order.orderStatus == 'DELIVERED' ||
(order.orderStatus != 'UNPAID' && order.orderPromotionType == 'PINTUAN')
"
>
<view style="width: 100%"> <view style="width: 100%">
<view class="order-info-view"> <view class="order-info-view">
<view class="title">服务</view> <view class="title">服务</view>
</view> </view>
<view class="customer-list"> <view class="customer-list">
<view class="customer-service" v-if="orderDetail.allowOperationVO && orderDetail.allowOperationVO.cancel == true" @click="onCancel(order.sn)">取消订单</view> <view
<view class="customer-service" v-if="order.orderStatus == 'DELIVERED'" @click="onLogistics(order)">查看物流</view> class="customer-service"
<view class="customer-service" v-if="order.orderStatus != 'UNPAID' && order.orderPromotionType =='PINTUAN' " @click="ByUserMessage(order)">查看拼团信息</view> v-if="
orderDetail.allowOperationVO &&
orderDetail.allowOperationVO.cancel == true
"
@click="onCancel(order.sn)"
>取消订单</view
>
<view
class="customer-service"
v-if="order.orderStatus == 'DELIVERED'"
@click="onLogistics(order)"
>查看物流</view
>
<view
class="customer-service"
v-if="
order.orderStatus != 'UNPAID' &&
order.orderPromotionType == 'PINTUAN'
"
@click="ByUserMessage(order)"
>查看拼团信息</view
>
</view> </view>
</view> </view>
</view> </view>
@ -123,14 +184,18 @@
<view class="title">订单编号</view> <view class="title">订单编号</view>
<view class="value"> <view class="value">
{{ order.sn }} {{ order.sn }}
<u-tag class="copy" text="复制" type="info" size="mini" @click="onCopy(order.sn)" /> <u-tag
class="copy"
text="复制"
type="info"
size="mini"
@click="onCopy(order.sn)"
/>
</view> </view>
</view> </view>
<view class="order-info-view"> <view class="order-info-view">
<view class="title">下单时间</view> <view class="title">下单时间</view>
<view class="value">{{ <view class="value">{{ order.createTime }}</view>
order.createTime
}}</view>
</view> </view>
<view class="order-info-view"> <view class="order-info-view">
<view class="title">支付状态</view> <view class="title">支付状态</view>
@ -141,7 +206,8 @@
: order.payStatus == "PAID" : order.payStatus == "PAID"
? "已付款" ? "已付款"
: "" : ""
}}</view> }}</view
>
</view> </view>
<view class="order-info-view"> <view class="order-info-view">
<view class="title">支付方式</view> <view class="title">支付方式</view>
@ -155,7 +221,9 @@
<view class="invoice-info-view"> <view class="invoice-info-view">
<view class="ltitle">发票信息</view> <view class="ltitle">发票信息</view>
<view v-if="!order.needReceipt" class="value">无需发票</view> <view v-if="!order.needReceipt" class="value">无需发票</view>
<view v-else class="value" @click="onReceipt(orderDetail.receipt)">查看发票</view> <view v-else class="value" @click="onReceipt(orderDetail.receipt)"
>查看发票</view
>
</view> </view>
</view> </view>
</view> </view>
@ -170,50 +238,108 @@
<text v-if="order.payStatus === 'PAID'">已付金额</text> <text v-if="order.payStatus === 'PAID'">已付金额</text>
<text v-else>应付金额</text> <text v-else>应付金额</text>
<text class="price" v-if="order.priceDetailDTO">{{ order.priceDetailDTO.flowPrice | unitPrice }}</text> <text class="price" v-if="order.priceDetailDTO"
>{{ order.priceDetailDTO.flowPrice | unitPrice }}</text
>
</view> </view>
<view> <view>
<!-- 全部 --> <!-- 全部 -->
<!-- 等待付款 --> <!-- 等待付款 -->
<u-button type="error" ripple size="mini" v-if=" order.allowOperationVO && order.allowOperationVO.pay" @click="toPay(order)">立即付款</u-button> <u-button
type="error"
ripple
size="mini"
v-if="order.allowOperationVO && order.allowOperationVO.pay"
@click="toPay(order)"
>立即付款</u-button
>
<!-- <u-button class="rebuy-btn" size="mini" v-if="order.order_operate_allowable_vo.allow_service_cancel"> 提醒发货</u-button> --> <!-- <u-button class="rebuy-btn" size="mini" v-if="order.order_operate_allowable_vo.allow_service_cancel"> 提醒发货</u-button> -->
<!-- <div class="pay-btn">确认收货</div> --> <!-- <div class="pay-btn">确认收货</div> -->
<u-button shape="circle" ripple type="warning" size="mini" v-if="order.orderStatus == 'DELIVERED'" @click="onRog(order.sn)">确认收货</u-button> <u-button
shape="circle"
ripple
type="warning"
size="mini"
v-if="order.orderStatus == 'DELIVERED'"
@click="onRog(order.sn)"
>确认收货</u-button
>
<!-- 交易完成 未评价 --> <!-- 交易完成 未评价 -->
<u-button shape="circle" ripple size="mini" v-if="order.orderStatus == 'COMPLETE'" @click="onComment(order.sn)">评价商品</u-button> <u-button
shape="circle"
ripple
size="mini"
v-if="order.orderStatus == 'COMPLETE'"
@click="onComment(order.sn)"
>评价商品</u-button
>
</view> </view>
</view> </view>
</view> </view>
<u-popup class="cancel-popup" v-model="cancelShow" mode="bottom" length="60%"> <u-popup
class="cancel-popup"
v-model="cancelShow"
mode="bottom"
length="60%"
>
<view class="header">取消订单</view> <view class="header">取消订单</view>
<view class="body"> <view class="body">
<view class="title">取消订单后本单享有的优惠可能会一并取消是否继续</view> <view class="title"
>取消订单后本单享有的优惠可能会一并取消是否继续</view
>
<view> <view>
<u-radio-group v-model="reason"> <u-radio-group v-model="reason">
<view class="value"> <view class="value">
<view class="radio-view" v-for="(item, index) in cancelList" :key="index"> <view
<u-radio :active-color="lightColor" label-size="25" shape="circle" :name="item.reason" @change="reasonChange">{{ item.reason }}</u-radio> class="radio-view"
v-for="(item, index) in cancelList"
:key="index"
>
<u-radio
:active-color="lightColor"
label-size="25"
shape="circle"
:name="item.reason"
@change="reasonChange"
>{{ item.reason }}</u-radio
>
</view> </view>
</view> </view>
</u-radio-group> </u-radio-group>
</view> </view>
</view> </view>
<view class="footer"> <view class="footer">
<u-button size="medium" v-if="reason" shape="circle" @click="submitCancel">提交</u-button> <u-button
size="medium"
v-if="reason"
shape="circle"
@click="submitCancel"
>提交</u-button
>
</view> </view>
</u-popup> </u-popup>
<u-toast ref="uToast" /> <u-toast ref="uToast" />
<u-modal v-model="rogShow" :show-cancel-button="true" :content="'是否确认收货?'" :confirm-color="lightColor" @confirm="confirmRog"></u-modal> <u-modal
v-model="rogShow"
:show-cancel-button="true"
:content="'是否确认收货?'"
:confirm-color="lightColor"
@confirm="confirmRog"
></u-modal>
<!-- 分享 --> <!-- 分享 -->
<shares v-if="shareFlage " :thumbnail="orderDetail.orderItems[0].image" :goodsName="orderDetail.orderItems[0].goodsName" @close="shareFlage = false" /> <shares
v-if="shareFlage"
:thumbnail="orderDetail.orderItems[0].image"
:goodsName="orderDetail.orderItems[0].goodsName"
@close="shareFlage = false"
/>
</view> </view>
</template> </template>
<script> <script>
import { getExpress } from "@/api/trade.js"; import { getExpress, createWithVerificatio } from "@/api/trade.js";
import { cancelOrder, confirmReceipt, getOrderDetail } from "@/api/order.js"; import { cancelOrder, confirmReceipt, getOrderDetail } from "@/api/order.js";
import { h5Copy } from "@/js_sdk/h5-copy/h5-copy.js"; import { h5Copy } from "@/js_sdk/h5-copy/h5-copy.js";
@ -268,14 +394,32 @@ export default {
cancelList: "", cancelList: "",
rogShow: false, rogShow: false,
reason: "", reason: "",
code: "",
}; };
}, },
onLoad(options) { onLoad(options) {
this.loadData(options.sn); this.loadData(options.sn);
this.loadLogistics(options.sn); this.loadLogistics(options.sn);
this.sn = options.sn; this.sn = options.sn;
}, },
mounted() {},
methods: { methods: {
monekgl() {
const params = {
skuId: this.orderGoodsList[0].skuId,
goodsId: this.orderGoodsList[0].goodsId,
orderSn: this.order.sn,
num: this.order.goodsNum,
};
if (this.orderDetail.ste == 0) {
createWithVerificatio(params).then((res) => {
if (res.data.success) {
this.code = res.data.result;
}
});
}
},
tostore(val) { tostore(val) {
uni.navigateTo({ uni.navigateTo({
url: "/pages/product/shopPage?id=" + val.storeId, url: "/pages/product/shopPage?id=" + val.storeId,
@ -313,8 +457,8 @@ export default {
this.order = order.order; this.order = order.order;
this.orderGoodsList = order.orderItems; this.orderGoodsList = order.orderItems;
this.orderDetail = res.data.result; this.orderDetail = res.data.result;
uni.hideLoading(); uni.hideLoading();
this.monekgl();
}); });
}, },
onReceipt(val) { onReceipt(val) {

View File

@ -269,7 +269,7 @@
</view> </view>
<!-- 评价 --> <!-- 评价 -->
<Evaluation id="main5" :goodsDetail="goodsDetail" /> <!-- <Evaluation id="main5" :goodsDetail="goodsDetail" /> -->
<!-- 店铺推荐 --> <!-- 店铺推荐 -->
<storeLayout <storeLayout
@ -279,14 +279,14 @@
:res="recommendList" :res="recommendList"
/> />
<!-- 宝贝详情 <!-- 宝贝详情 -->
<GoodsIntro <GoodsIntro
id="main9" id="main9"
:res="goodsDetail" :res="goodsDetail"
:goodsParams="goodsParams" :goodsParams="goodsParams"
:goodsId="goodsDetail.goodsId" :goodsId="goodsDetail.goodsId"
v-if="goodsDetail.id" v-if="goodsDetail.id"
/> --> />
<!-- 宝贝推荐 --> <!-- 宝贝推荐 -->
<GoodsRecommend id="main11" :res="likeGoodsList" /> <GoodsRecommend id="main11" :res="likeGoodsList" />
@ -388,6 +388,7 @@
@queryCart="cartCount()" @queryCart="cartCount()"
:goodsDetail="goodsDetail" :goodsDetail="goodsDetail"
:goodsSpec="goodsSpec" :goodsSpec="goodsSpec"
:storeDetail="storeDetail"
:isGroup="isGroup" :isGroup="isGroup"
:id="productId" :id="productId"
v-if="goodsDetail.id" v-if="goodsDetail.id"

View File

@ -13,7 +13,7 @@
<div class="store-msg"> <div class="store-msg">
<div class="store-name"> <div class="store-name">
<div> {{item.storeName}}</div> <div> {{item.storeName}}</div>
<div class="typeof" >{{item.selfOperated?'自营':'非自营'}}</div> <div class="typeof" >{{item.selfOperated?'自营':'达人店'}}</div>
</div> </div>
<div class="goods-num"> <div class="goods-num">
商品 {{item.goodsNum}} <span class="line">|</span> <span class="store-collection">收藏 {{item.collectionNum}}</span> 商品 {{item.goodsNum}} <span class="line">|</span> <span class="store-collection">收藏 {{item.collectionNum}}</span>
@ -53,7 +53,7 @@
</template> </template>
<script> <script>
import { getStoreList } from "@/api/store"; import { getStoreList ,getExpertStoreList} from "@/api/store";
export default { export default {
data() { data() {
return { return {
@ -91,7 +91,7 @@ export default {
return val.toFixed(2).split("."); return val.toFixed(2).split(".");
}, },
async init() { async init() {
let res = await getStoreList(this.params); let res = await getExpertStoreList(this.params);
if (res.data.success) { if (res.data.success) {
let data = res.data.result; let data = res.data.result;

View File

@ -15,7 +15,7 @@
@click="handleClick(item)" class="goods-item" v-for="(item, item_index) in res.list[0].listWay" @click="handleClick(item)" class="goods-item" v-for="(item, item_index) in res.list[0].listWay"
:key="item_index"> :key="item_index">
<div class="goods-img"> <div class="goods-img">
<u-image :src="item.img" height="350rpx" mode="aspectFit" width="100%"> <u-image :src="imgfun(item.img)" height="350rpx" mode="aspectFit" width="100%">
<u-loading slot="loading"></u-loading> <u-loading slot="loading"></u-loading>
</u-image> </u-image>
</div> </div>

View File

@ -28,8 +28,6 @@ export default {
} }
}, },
mounted () { mounted () {
console.log(this.val,'=========')
// this.$u.toast('Hello uView!');
}, },
}; };
</script> </script>

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="layout"> <div class="layout">
<div class="addres" @click="showPicker"> <div class="addres" @click="showPicker">
{{ cityOrCounty == "" ? "请选择" : cityOrCounty }} {{ cityOrCounty == "" ? "请选择" : strsplit(cityOrCounty) }}
</div> </div>
<div class="search" @click="handleSearch">{{ res.list[0].title }}</div> <div class="search" @click="handleSearch">{{ res.list[0].title }}</div>
<div class="shop" @click="toshop"></div> <div class="shop" @click="toshop"></div>
@ -57,6 +57,10 @@ export default {
// this.getLocation(); // this.getLocation();
}, },
methods: { methods: {
strsplit(str) {
let arr = str.split("");
return arr.slice(0, 3).join("")
},
toshop() { toshop() {
uni.navigateTo({ uni.navigateTo({
url: "/pages/tabbar/cart/cartList", url: "/pages/tabbar/cart/cartList",
@ -240,12 +244,12 @@ export default {
} }
.addres { .addres {
// width: 15%; // width: 15%;
width: 60px; width: 42px;
height: 32px; height: 32px;
padding: 0px 10px 0px 10px; padding: 0px 0px 0px 10px;
white-space: nowrap; // white-space: nowrap;
overflow: hidden; // overflow: hidden;
text-overflow: ellipsis; // text-overflow: ellipsis;
line-height: 32px; line-height: 32px;
} }
.layout { .layout {

View File

@ -160,14 +160,12 @@ export default {
if (this.ste == 1) { if (this.ste == 1) {
getFloorData().then((res) => { getFloorData().then((res) => {
if (res.data.success) { if (res.data.success) {
console.log("商城数据已加载完成");
this.pageData = JSON.parse(res.data.result.pageData); this.pageData = JSON.parse(res.data.result.pageData);
} }
}); });
} else { } else {
getFloorgetBendi().then((res) => { getFloorgetBendi().then((res) => {
if (res.data.success) { if (res.data.success) {
console.log("本地生活数据已加载完成");
this.pageData = JSON.parse(res.data.result.pageData); this.pageData = JSON.parse(res.data.result.pageData);
} }
}); });
@ -183,33 +181,28 @@ export default {
* 扫描其他站信息 弹出提示返回首页 * 扫描其他站信息 弹出提示返回首页
*/ */
seacnCode() { seacnCode() {
uni.scanCode({ // // uni.scanCode({
success: function (res) { // // success: function (res) {
let path = encodeURIComponent(res.result); // // let path = encodeURIComponent(res.result)//;
// WX_CODE // // WX_CODE //
if (res.scanType == "WX_CODE") { // if (res.scanType == "WX_//CODE") {
uni.navigateTo({ // uni.n//avigateTo({
url: `/${res.path}`, // url: `///${res. path}`,
}); // // });
} else { // // } else {
config.scanAuthNavigation.forEach((src) => { // config.scanAuthNaviga tion.//forEach((src) => {
if (res.result.indexOf(src) != -1) { // if (res.re sult.//indexOf(src) != -1) {
uni.navigateTo({ // // uni.navigateTo({
url: `/${res.result.substring(src.length)}`, // url: `/${res.resu //lt.substring(src.lengt//h)}`,
}); // // });
} else { // } else {
setTimeout(() => { // // setTimeout(() => {//
uni.navigateTo({ // uni.navigateTo({
url: "/pages/tabbar/home/web-view?src=" + path, // url: //"/pages/tabbar/home/web-//view?src=" + path,
}); // // }//);
}, 100); // 10//0);
} // // }}} },//
});
}
}, },
});
},
/** /**
* 提示获取权限 * 提示获取权限
*/ */

View File

@ -167,7 +167,7 @@ export default {
data() { data() {
return { return {
showNoLoginPage: false, showNoLoginPage: false,
statue: 0, // 0 1 2/ 3 4 6 10 7 statue: 1, // 0 1 2/ 3 4 6 10 7
isPopupVisible: false, // isPopupVisible: false, //
isq: false, isq: false,
popupRef: null, // popupRef: null, //

View File

@ -4,22 +4,27 @@
<view class="status_bar"> <view class="status_bar">
<!-- 这里是状态栏 --> <!-- 这里是状态栏 -->
</view> </view>
<view class="header" @click="userDetail"> <view class="header">
<view @click="nav()" :style="{ zIndex: 9999999, padding: '5px' }">
返回
</view>
<view class="headercon" @click="userDetail">
<view class="head-1"> <view class="head-1">
<image :src="userInfo.face || '/static/imlogo.png'"></image> <image :src="userInfo.face || '/static/imlogo.png'"></image>
</view> </view>
<view class="head-2" v-if="userInfo.id"> <view class="head-2" v-if="userInfo.id">
<view class="user-name">{{ userInfo.nickName }}</view> <view class="user-name">{{ userInfo.nickName }}</view>
<view class="user-logn" v-if="ismongt.expert"> <view class="user-logn" v-if="userInfo.expert">
<view class="mong"></view> <view class="mong"></view>
<view>达人</view> <view>达人</view>
</view> </view>
</view> </view>
<view class="head-2" v-else> <view class="head-2" v-else>
<view class="user-name">登录/注册</view> <view class="user-name">登录/注册</view>
</view> </view>
</view>
<!-- <u-icon <!-- <u-icon
style="display: flex; align-items: flex-start" style="display: flex; align-items: flex-start"
name="arrow-right" name="arrow-right"
@ -28,14 +33,14 @@
<!-- 积分优惠券关注 --> <!-- 积分优惠券关注 -->
<div class="pointBox box" > <div class="pointBox box" >
<u-row text-align="center" gutter="16" class="point"> <u-row text-align="center" gutter="16" class="point">
<u-col <!-- <u-col
text-align="center" text-align="center"
span="4" span="4"
@click="navigateTo('/pages/mine/deposit/operation')" @click="navigateTo('/pages/mine/deposit/operation')"
> >
<view>预存款</view> <view>预存款</view>
<view class="money">{{ walletNum | unitPrice }}</view> <view class="money">{{ walletNum | unitPrice }}</view>
</u-col> </u-col> -->
<u-col <u-col
text-align="center" text-align="center"
@ -128,15 +133,15 @@ export default {
couponNum: "", couponNum: "",
footNum: "", footNum: "",
walletNum: "", walletNum: "",
ismongt: {},
}; };
}, },
onLoad() {}, onLoad() {
onShow() {
// if(this.ismongt.expert=='undefined'){
this.getUser()
// }
this.userInfo = this.$options.filters.isLogin(); this.userInfo = this.$options.filters.isLogin();
this.getUserOrderNum();
},
onShow() {
this.userInfo = this.$options.filters.isLogin();
if (this.$options.filters.isLogin("auth")) { if (this.$options.filters.isLogin("auth")) {
this.getUserOrderNum(); this.getUserOrderNum();
} else { } else {
@ -145,9 +150,7 @@ export default {
}, },
onPullDownRefresh() { onPullDownRefresh() {
this.getUserOrderNum(); this.getUserOrderNum();
this.getUser()
this.userInfo = this.$options.filters.isLogin(); this.userInfo = this.$options.filters.isLogin();
this.$refs.tool.getUser();
}, },
// #ifndef MP // #ifndef MP
onNavigationBarButtonTap(e) { onNavigationBarButtonTap(e) {
@ -158,14 +161,17 @@ export default {
}, },
// #endif // #endif
mounted() {}, mounted() {
this.userInfo = this.$options.filters.isLogin();
this.getUserOrderNum();
},
methods: { methods: {
getUser() { nav() {
this.ismongt = {} uni.switchTab({
getUserInfo().then((user) => { url: `/pages/me/me`,
this.ismongt = user.data.result;
}); });
}, },
/** /**
* 统一跳转接口,拦截未登录路由 * 统一跳转接口,拦截未登录路由
* navigator标签现在默认没有转场动画所以用view * navigator标签现在默认没有转场动画所以用view
@ -208,7 +214,6 @@ body {
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
.user { .user {
.header { .header {
max-width: 100%; max-width: 100%;
@ -221,8 +226,11 @@ body {
background-position: bottom; background-position: bottom;
background-repeat: no-repeat; background-repeat: no-repeat;
color: #ffffff; color: #ffffff;
.headercon {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
}
.head-1 { .head-1 {
text-align: center; text-align: center;
width: 152rpx; width: 152rpx;
@ -252,8 +260,8 @@ body {
} }
.head-2 { .head-2 {
flex: 1; flex: 1;
margin-left: 30rpx; margin-left: 15px;
margin-top: 80rpx; margin-top: 16px;
line-height: 1; line-height: 1;
} }
/deep/ .u-icon, /deep/ .u-icon,
@ -267,11 +275,12 @@ body {
background: #fff; background: #fff;
border-radius: 20rpx; border-radius: 20rpx;
box-shadow: 0 4rpx 24rpx 0 rgba($color: #f6f6f6, $alpha: 1); box-shadow: 0 4rpx 24rpx 0 rgba($color: #f6f6f6, $alpha: 1);
} }
.point { .point {
text-align: center; text-align: center;
height: 160rpx; height: 160rpx;
justify-content: space-around !important;
font-size: $font-sm; font-size: $font-sm;
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
padding: 24rpx; padding: 24rpx;
@ -316,7 +325,6 @@ body {
font-size: 34rpx; font-size: 34rpx;
} }
.user-logn { .user-logn {
display: flex; display: flex;
align-items: center; align-items: center;
margin: 15px 15px 0px 0px; margin: 15px 15px 0px 0px;

View File

@ -7,7 +7,7 @@
<view <view
class="interact-item" class="interact-item"
@click="navigateTo('/pages/mine/invite')" @click="navigateTo('/pages/mine/invite')"
v-if="userInfo.expert" v-if="userInfonew.expert"
> >
<image src="/static/mine/stion.png" mode=""></image> <image src="/static/mine/stion.png" mode=""></image>
<view>我的推荐</view> <view>我的推荐</view>
@ -15,13 +15,13 @@
<view <view
class="interact-item" class="interact-item"
@click="navigateTo('/pages/mine/inviteinput')" @click="navigateTo('/pages/mine/inviteinput')"
v-if="!userInfo.expert" v-if="!userInfonew.expert"
> >
<image src="/static/mine/smk.png" mode=""></image> <image src="/static/mine/smk.png" mode=""></image>
<view>邀请</view> <view>邀请</view>
</view> </view>
<view <view
v-if="userInfo.expert != 1" v-if="userInfonew.expert != 1"
class="interact-item" class="interact-item"
@click="navigateTo('/pages/mine/expert/index')" @click="navigateTo('/pages/mine/expert/index')"
> >
@ -29,7 +29,7 @@
<view>达人申请</view> <view>达人申请</view>
</view> </view>
<view <view
v-if="userInfo.storeId == null || userInfo.storeId == ''" v-if="userInfonew.storeId == null || userInfonew.storeId == ''"
class="interact-item" class="interact-item"
@click="navigateTo('/pages/mine/openShop/index')" @click="navigateTo('/pages/mine/openShop/index')"
> >
@ -117,8 +117,8 @@
</view> </view>
<view <view
class="interact-item" class="interact-item"
@click="navigateTo('/pages/mine/mydistribution/index')" @click="navigateTo('/pages/mine/mydistribution/index?')"
v-if="userInfo.expert" v-if="userInfonew.expert"
> >
<image src="/static/mine/distribution.png" mode=""></image> <image src="/static/mine/distribution.png" mode=""></image>
<view>我的分销</view> <view>我的分销</view>
@ -134,6 +134,14 @@
<image src="/static/mine/kanjia.png" mode=""></image> <image src="/static/mine/kanjia.png" mode=""></image>
<view>砍价记录</view> <view>砍价记录</view>
</view> </view>
<view
class="interact-item"
@click="save"
v-if="userInfonew.storeId != ''"
>
<image src="/static/mine/somp.png" mode=""></image>
<view>扫一扫</view>
</view>
</view> </view>
</div> </div>
</view> </view>
@ -141,32 +149,54 @@
</template> </template>
<script> <script>
import { distribution } from "@/api/goods"; import { distribution, getGoodstake } from "@/api/goods";
import { getUserInfo } from "@/api/members"; import { getUserInfo } from "@/api/members";
export default { export default {
props: { props: {
// userInfo: { userInfo: {
// type: Object, type: Object,
// default: () => {}, default: () => {},
// }, },
}, },
data() { data() {
return { return {
userInfo: {}, // userInfonew: {}, //
}; };
}, },
onShow() {}, onShow() {},
onLoad() {}, onLoad() {},
watch: {
mounted() { userInfo: {
this.getUser(); handler(newVal, oldVal) {
console.log("watch", newVal, oldVal);
this.userInfonew = {};
this.userInfonew = newVal;
}, },
},
},
mounted() {},
methods: { methods: {
getUser() { save() {
getUserInfo().then((user) => { uni.scanCode({
this.userInfo = user.data.result; success: (res) => {
console.log("==", res);
const par = res.result.split("|");
getGoodstake(par[0], par[1], { storeid: par[2] }).then((resfn) => {
console.log("resfn", resfn);
if (resfn.data.success) {
uni.showToast({
title: resfn.data.message,
icon: "none",
});
}
// }
}); });
}, },
});
},
navigateTo(url) { navigateTo(url) {
uni.navigateTo({ uni.navigateTo({
url, url,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
static/images/user.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
static/mine/somp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -11,9 +11,7 @@
"com.tencent.timpush:xiaomi:8.5.6864", "com.tencent.timpush:xiaomi:8.5.6864",
"com.tencent.timpush:oppo:8.5.6864", "com.tencent.timpush:oppo:8.5.6864",
"com.tencent.timpush:meizu:8.5.6864", "com.tencent.timpush:meizu:8.5.6864",
"com.tencent.timpush:fcm:8.5.6864", "com.tencent.timpush:fcm:8.5.6864"
"com.tencent.timpush:honor:8.5.6864",
"com.tencent.timpush:vivo:8.5.6864"
], ],
"project": { "project": {
"plugins": [ "plugins": [

View File

@ -82,8 +82,8 @@ export function checkBankno(bankno) {
export function whetherNavigate(type = "default") { export function whetherNavigate(type = "default") {
let navigation = getCurrentPages()[getCurrentPages().length - (getCurrentPages().length ) ]; let navigation = getCurrentPages()[getCurrentPages().length - (getCurrentPages().length ) ];
console.log(navigation.route) // console.log(navigation.route)
console.log(getCurrentPages().length) // console.log(getCurrentPages().length)
uni.setStorageSync('refreshVlogIndex','1') //需要刷新 uni.setStorageSync('refreshVlogIndex','1') //需要刷新
if (getCurrentPages().length > 1) { if (getCurrentPages().length > 1) {
// console.log(navigation, getCurrentPages()); // console.log(navigation, getCurrentPages());