fix(组件): 修补组件引用缺失

This commit is contained in:
2025-12-31 16:58:09 +08:00
parent 6a1bf3b5bc
commit d744e1c16d
34 changed files with 1151 additions and 716 deletions

View File

@@ -22,6 +22,14 @@
</template>
<script>
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
export default {
data() {
return {
@@ -29,6 +37,15 @@ export default {
showEmpty: true
};
},
components: {
nsLogin,
MescrollUni,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
onShow() {
setTimeout( () => {
if (!this.addonIsExist.fenxiao) {

View File

@@ -2,23 +2,27 @@
<view :style="themeColor">
<mescroll-uni ref="mescroll" @getData="getData" top="0" class="member-point" :size="8" v-if="storeToken">
<block slot="list">
<view class="team-li" v-for="(item, index) in teamList" :key="index" v-if="teamList.length != 0" @click="toFenxiaoOrder(item)">
<view class="team-li" v-for="(item, index) in teamList" :key="index" v-if="teamList.length != 0"
@click="toFenxiaoOrder(item)">
<view class="li-box" :class="{ active: index + 1 == teamList.length }">
<image v-if="item.headimg" :src="$util.img(item.headimg)" @error="imageError(index)" mode="aspectFill"></image>
<image v-if="item.headimg" :src="$util.img(item.headimg)" @error="imageError(index)"
mode="aspectFill"></image>
<image v-else :src="$util.getDefaultImage().head"></image>
<view class="member-info">
<view class="member-name">
<view class="left">
<view class="flex-box">
<view class="name">{{ item.nickname }}</view>
<view v-if="item.level_name" class="title color-base-border color-base-text">{{ item.level_name }}</view>
<view v-if="item.level_name" class="title color-base-border color-base-text">{{
item.level_name }}</view>
</view>
<view class="color-tip font-size-goods-tag">加入时间{{ $util.timeStampTurnTime(item.bind_fenxiao_time).substring(0, 10) }}</view>
<view class="color-tip font-size-goods-tag">加入时间{{
$util.timeStampTurnTime(item.bind_fenxiao_time).substring(0, 10) }}</view>
</view>
<view class="consume-info">
<view><text>{{ item.one_child_fenxiao_num + item.one_child_num }}</text> </view>
<view><text>{{ item.order_num }}</text> </view>
<view><text>{{ item.order_money|moneyFormat }}</text> </view>
<view><text>{{ item.order_money | moneyFormat }}</text> </view>
</view>
</view>
</view>
@@ -36,6 +40,13 @@
</template>
<script>
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
import fenxiaoWords from 'common/js/fenxiao-words.js';
export default {
@@ -45,9 +56,18 @@ export default {
emptyShow: false,
};
},
components: {
nsLogin,
MescrollUni,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
mixins: [fenxiaoWords],
onShow() {
setTimeout( () => {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
@@ -58,7 +78,7 @@ export default {
this.$util.redirectTo('/pages/index/index');
}, 2000);
}
},1000);
}, 1000);
if (!this.storeToken) {
this.$nextTick(() => {
@@ -114,7 +134,7 @@ export default {
}
},
watch: {
storeToken: function(nVal, oVal) {
storeToken: function (nVal, oVal) {
if (nVal) {
this.$refs.mescroll.refresh();
}
@@ -179,7 +199,7 @@ export default {
height: 90rpx;
border-radius: 50%;
}
.member-info {
flex: 1;
padding-left: $padding;
@@ -197,7 +217,7 @@ export default {
.left {
width: 0;
flex: 1;
.flex-box {
display: flex;
align-items: center;
@@ -224,14 +244,14 @@ export default {
color: #fff;
}
}
.consume-info {
text-align: right;
text {
margin-right: 6rpx;
}
view {
line-height: 1.5;
font-size: 24rpx;
@@ -268,6 +288,7 @@ export default {
flex-direction: row-reverse;
}
}
.order-box-btn {
display: inline-block;
line-height: 56rpx;
@@ -281,6 +302,7 @@ export default {
border-radius: $border-radius;
margin-top: 30rpx;
}
.li-box.active {
border: none;
}

View File

@@ -132,10 +132,26 @@
</template>
<script>
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
import list from './public/js/goods_list.js';
import fenxiaoWords from 'common/js/fenxiao-words.js';
export default {
components: {
nsLogin,
MescrollUni,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
mixins: [list, fenxiaoWords]
};
</script>

View File

@@ -79,8 +79,24 @@
</template>
<script>
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
import fenxiaoWords from 'common/js/fenxiao-words.js';
export default {
components: {
nsLogin,
MescrollUni,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
data() {
return {
category: [

View File

@@ -97,7 +97,25 @@
</template>
<script>
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
export default {
components: {
nsLogin,
MescrollUni,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
data() {
return {
list: [],

View File

@@ -3,26 +3,31 @@
<mescroll-uni ref="mescroll" @getData="getData" top="20" class="member-point" :size="8" v-if="storeToken">
<view class="goods_list" slot="list">
<view class="order-list">
<view class="order-item" v-for="(orderItem, orderIndex) in orderList" :key="orderIndex" @click="toDetail(orderItem.fenxiao_order_id)">
<view class="order-item" v-for="(orderItem, orderIndex) in orderList" :key="orderIndex"
@click="toDetail(orderItem.fenxiao_order_id)">
<view class="order-header">
<text class="site-name font-size-base">{{ orderItem.order_no }}</text>
<text class="status-name color-base-text" v-if="orderItem.is_refund == 1">已退款</text>
<text class="status-name color-text-green" v-else-if="orderItem.is_settlement == 1">已结算</text>
<text class="status-name color-text-green"
v-else-if="orderItem.is_settlement == 1">已结算</text>
<text class="status-name color-text-orange" v-else>待结算</text>
</view>
<view class="order-body">
<view class="goods-wrap">
<view class="goods-img">
<image :src="$util.img(orderItem.sku_image, { size: 'mid' })" @error="imageError(orderIndex)" mode="aspectFill" :lazy-load="true"></image>
<image :src="$util.img(orderItem.sku_image, { size: 'mid' })"
@error="imageError(orderIndex)" mode="aspectFill" :lazy-load="true"></image>
</view>
<view class="goods-info">
<view class="top-wrap">
<view class="goods-name font-size-base">{{ orderItem.sku_name }}</view>
<view>
<text class="color-tip">{{ fenxiaoWords.account }}</text>
<text class="price-color font-size-goods-tag">{{ $lang('common.currencySymbol') }}</text>
<text class="price-color font-size-toolbar">{{ orderItem.commission }}</text>
<text class="price-color font-size-goods-tag">{{
$lang('common.currencySymbol') }}</text>
<text class="price-color font-size-toolbar">{{ orderItem.commission
}}</text>
</view>
</view>
<view class="goods-sub-section">
@@ -56,7 +61,8 @@
</view>
</view>
</view>
<view class="cart-empty"><ns-empty text="暂无订单" :isIndex="false" v-if="orderList.length == 0 && emptyShow"></ns-empty></view>
<view class="cart-empty"><ns-empty text="暂无订单" :isIndex="false"
v-if="orderList.length == 0 && emptyShow"></ns-empty></view>
</view>
</mescroll-uni>
@@ -66,9 +72,25 @@
</template>
<script>
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
import fenxiaoWords from 'common/js/fenxiao-words.js';
export default {
components: {
nsLogin,
MescrollUni,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
data() {
return {
orderList: [],
@@ -87,7 +109,7 @@ export default {
}
},
onShow() {
if(this.fenxiaoWords && this.fenxiaoWords.concept)this.$langConfig.title(this.fenxiaoWords.concept + '订单');
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + '订单');
},
methods: {
//获得列表数据
@@ -140,9 +162,11 @@ export default {
<style lang="scss">
@import './public/css/order.scss';
.goods-wraps {
align-items: center;
}
.goods_list .order-item .order-body .goods-wraps .goods-img,
.goods_list .order-item .order-body .goods-wraps .goods-info,
.goods_list .order-item .order-footers {

View File

@@ -2,14 +2,19 @@
<view :style="themeColor">
<view class="team-cate" v-if="storeToken && levelNum > 1">
<block v-for="(item, index) in levelList" :key="index">
<view class="cate-li" :class="{ 'active color-base-text color-base-border': currentLevel == item.level }" @click="selectLevel(item.level)">{{ item.name }}</view>
<view class="cate-li"
:class="{ 'active color-base-text color-base-border': currentLevel == item.level }"
@click="selectLevel(item.level)">{{ item.name }}</view>
</block>
</view>
<mescroll-uni ref="mescroll" @getData="getData" :top="levelNum > 1 ? 90 : 0" class="member-point" :size="8" v-if="storeToken">
<mescroll-uni ref="mescroll" @getData="getData" :top="levelNum > 1 ? 90 : 0" class="member-point" :size="8"
v-if="storeToken">
<block slot="list">
<view class="team-li" v-for="(item, index) in teamList" :key="index" v-if="teamList.length != 0" @click="toFenxiaoOrder(item)">
<view class="team-li" v-for="(item, index) in teamList" :key="index" v-if="teamList.length != 0"
@click="toFenxiaoOrder(item)">
<view class="li-box" :class="{ active: index + 1 == teamList.length }">
<image v-if="item.headimg" :src="$util.img(item.headimg)" @error="imageError(index)" mode="aspectFill"></image>
<image v-if="item.headimg" :src="$util.img(item.headimg)" @error="imageError(index)"
mode="aspectFill"></image>
<image v-else :src="$util.getDefaultImage().head"></image>
<view class="member-info">
<view class="member-name">
@@ -17,9 +22,11 @@
<view class="left">
<view class="flex-box">
<view class="name">{{ item.nickname }}</view>
<view class="title color-base-border color-base-text">{{ fenxiaoWords.fenxiao_name }}</view>
<view class="title color-base-border color-base-text">{{
fenxiaoWords.fenxiao_name }}</view>
</view>
<view class="color-tip font-size-goods-tag">加入时间{{ $util.timeStampTurnTime(item.bind_fenxiao_time).substring(0, 10) }}</view>
<view class="color-tip font-size-goods-tag">加入时间{{
$util.timeStampTurnTime(item.bind_fenxiao_time).substring(0, 10) }}</view>
</view>
<view class="consume-info">
<view>
@@ -43,7 +50,8 @@
<text>{{ item.nickname }}</text>
</view>
</view>
<view class="color-tip font-size-goods-tag">加入时间{{ $util.timeStampTurnTime(item.bind_fenxiao_time).substring(0, 10) }}</view>
<view class="color-tip font-size-goods-tag">加入时间{{
$util.timeStampTurnTime(item.bind_fenxiao_time).substring(0, 10) }}</view>
</view>
<view class="consume-info">
<view>
@@ -64,7 +72,8 @@
</view>
</view>
</view>
<block v-if="teamList.length == 0 && emptyShow"><ns-empty text="暂无数据" :isIndex="false"></ns-empty></block>
<block v-if="teamList.length == 0 && emptyShow"><ns-empty text="暂无数据" :isIndex="false"></ns-empty>
</block>
</block>
</mescroll-uni>
@@ -74,8 +83,24 @@
</template>
<script>
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
import fenxiaoWords from 'common/js/fenxiao-words.js';
export default {
components: {
nsLogin,
MescrollUni,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
data() {
return {
levelList: [
@@ -96,7 +121,7 @@ export default {
},
mixins: [fenxiaoWords],
onShow() {
setTimeout( () => {
setTimeout(() => {
if (!this.addonIsExist.fenxiao) {
this.$util.showToast({
title: '商家未开启分销',
@@ -107,7 +132,7 @@ export default {
this.$util.redirectTo('/pages/index/index');
}, 2000);
}
},1000);
}, 1000);
if (this.fenxiaoWords && this.fenxiaoWords.my_team) this.$langConfig.title(this.fenxiaoWords.my_team);
this.getFenXiaoLevel();
@@ -173,7 +198,7 @@ export default {
let res = await this.$api.sendRequest({
url: '/fenxiao/api/config/basics',
async: false,
success: res => {}
success: res => { }
});
if (res.code == 0 && res.data) {
this.levelNum = res.data.level;
@@ -181,7 +206,7 @@ export default {
}
},
watch: {
storeToken: function(nVal, oVal) {
storeToken: function (nVal, oVal) {
if (nVal) {
this.$refs.mescroll.refresh();
}
@@ -334,6 +359,7 @@ export default {
flex-direction: row-reverse;
}
}
.order-box-btn {
display: inline-block;
line-height: 56rpx;
@@ -347,6 +373,7 @@ export default {
border-radius: $border-radius;
margin-top: 30rpx;
}
.li-box.active {
border: none;
}

View File

@@ -30,9 +30,25 @@
</view>
</template>
<script>
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
import fenxiaoWords from 'common/js/fenxiao-words.js';
export default {
components: {
nsLogin,
MescrollUni,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
data() {
return {
withdrawState: {

View File

@@ -293,13 +293,27 @@
import uniDrawer from '@/components/uni-drawer/uni-drawer.vue';
import uniTag from '@/components/uni-tag/uni-tag.vue';
import nsGoodsSkuIndex from '@/components/ns-goods-sku/ns-goods-sku-index.vue';
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
import list from './public/js/list.js';
export default {
components: {
uniDrawer,
uniTag,
nsGoodsSkuIndex
nsGoodsSkuIndex,
MescrollUni,
nsLogin,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
data() {
return {};

View File

@@ -115,11 +115,25 @@
</template>
<script>
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
import uniDrawer from '@/components/uni-drawer/uni-drawer.vue';
export default {
components: {
uniDrawer,
MescrollUni,
nsLogin,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
data() {
return {

View File

@@ -83,7 +83,24 @@
</template>
<script>
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
export default {
components: {
MescrollUni,
nsLogin,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
data() {
return {
orderList: [],

View File

@@ -279,10 +279,26 @@
<script>
import payment from './public/js/payment.js';
import uniPopup from '@/components/uni-popup/uni-popup.vue';
import nsSelectTime from '@/components/ns-select-time/ns-select-time.vue';
import MescrollUni from "@/components/mescroll/my-list-mescroll.vue";
import nsLogin from '@/components/ns-login/ns-login.vue';
import loadingCover from '@/components/loading-cover/loading-cover.vue';
import nsEmpty from '@/components/ns-empty/ns-empty.vue';
// #ifdef MP-WEIXIN
import privacyPopup from '@/components/wx-privacy-popup/privacy-popup.vue';
// #endif
export default {
components: {
uniPopup,
nsSelectTime,
nsLogin,
MescrollUni,
loadingCover,
nsEmpty,
// #ifdef MP-WEIXIN
privacyPopup
// #endif
},
mixins: [payment]
};