feat:性能优化

This commit is contained in:
2026-07-25 09:12:36 +08:00
parent 3eba959b48
commit 9ab39d2aec
138 changed files with 232 additions and 1511 deletions
+3 -3
View File
@@ -47,7 +47,7 @@ import { getCascadeCategory, getCarouselImage } from '@/api/common.js';
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue';
import MyBtn from '@/components/common/my-btn.vue';
import PingItem from '@/components/shop/ping-item.vue';
import ParityProductItem from '@/components/shop/parity-product-item.vue';
import { getSeckillGoodsList, getSeckillCurrent, getSeckillPreview } from '@/api/product.js';
import CustomTabBar from '@/components/custom-tab-bar.vue';
import MescrollMixin from '@/components/mescroll-uni/mescroll-mixins.js';
@@ -57,7 +57,7 @@ import { APP_PAGE_TYPE } from '@/utils/enumUtils.js';
export default {
mixins: [MescrollMixin],
components: { Header, TopSafe, MyBtn, PingItem, CustomTabBar, MescrollUni, productSeckillCard },
components: { Header, TopSafe, MyBtn, ParityProductItem, CustomTabBar, MescrollUni, productSeckillCard },
data() {
return {
swiperList: [],
@@ -418,7 +418,7 @@ export default {
.fall-col {
width: 332rpx;
/* 与 PingItem 宽度一致 */
/* 与 ParityProductItem 宽度一致 */
height: 100%;
}
}
@@ -49,7 +49,7 @@ import { getCascadeCategory, getCarouselImage } from "@/api/common.js";
import Header from "@/components/common/header.vue";
import TopSafe from "@/components/common/top-safe.nvue";
import MyBtn from "@/components/common/my-btn.vue";
import PingItem from "@/components/shop/ping-item.vue";
import ParityProductItem from "@/components/shop/parity-product-item.vue";
import { searchList, } from "@/api/product.js";
import CustomTabBar from "@/components/custom-tab-bar.vue";
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
@@ -59,7 +59,7 @@ import { APP_PAGE_TYPE } from "@/utils/enumUtils.js";
export default {
mixins: [MescrollMixin],
components: { Header, TopSafe, MyBtn, PingItem, CustomTabBar, MescrollUni, productSeckillCard },
components: { Header, TopSafe, MyBtn, ParityProductItem, CustomTabBar, MescrollUni, productSeckillCard },
data() {
return {
swiperList: [],
@@ -344,7 +344,7 @@ export default {
.fall-col {
width: 332rpx;
/* 与 PingItem 宽度一致 */
/* 与 ParityProductItem 宽度一致 */
height: 100%;
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

+3 -3
View File
@@ -36,7 +36,7 @@ import { getCascadeCategory, getCarouselImage } from "@/api/common.js";
import Header from "@/components/common/header.vue";
import TopSafe from "@/components/common/top-safe.nvue";
import MyBtn from "@/components/common/my-btn.vue";
import PingItem from "@/components/shop/ping-item.vue";
import ParityProductItem from "@/components/shop/parity-product-item.vue";
import { searchList } from "@/api/product.js";
import CustomTabBar from "@/components/custom-tab-bar.vue";
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
@@ -46,7 +46,7 @@ import { APP_PAGE_TYPE } from "@/utils/enumUtils.js";
export default {
mixins: [MescrollMixin],
components: { Header, TopSafe, MyBtn, PingItem, CustomTabBar, MescrollUni, productSeckillCard },
components: { Header, TopSafe, MyBtn, ParityProductItem, CustomTabBar, MescrollUni, productSeckillCard },
data() {
return {
swiperList: [],
@@ -314,7 +314,7 @@ export default {
.fall-col {
width: 332rpx;
/* 与 PingItem 宽度一致 */
/* 与 ParityProductItem 宽度一致 */
height: 100%;
}
}
+4 -4
View File
@@ -62,7 +62,7 @@
<!-- <up-loading-icon :show="productLoading"></up-loading-icon> -->
<view class="yp_item" v-for="item in faddishProduct" :key="item.id" @click.stop="jumpInfo(item)">
<view class="yp_item_image_wrapper">
<image :src="item.url" mode="aspectFill" class="yp_item_image" shape="square" radius="15"></image>
<image :src="item.url" mode="aspectFill" lazy-load class="yp_item_image" shape="square" radius="15"></image>
<!-- <up-image :src="item.url" width="100%" height="88" bgColor="#f1f6ff00" shape="square"
radius="15"></up-image> -->
</view>
@@ -409,7 +409,7 @@ export default {
},
jumpSearch() {
uni.navigateTo({
url: "/pages/rwa_package/dongjian/search",
url: "/pages/rwa_package/insights/search",
});
},
// 商品列表
@@ -524,7 +524,7 @@ export default {
},
onJumpYou() {
uni.navigateTo({
url: "/pages/rwa_package/shop/you-shop",
url: "/pages/rwa_package/shop/preferred-shop",
});
},
checkUpdate() {
@@ -662,7 +662,7 @@ export default {
jumpIntegral() {
uni.navigateTo({
url: "/pages/rwa_package/shop/fen-shop",
url: "/pages/rwa_package/shop/points-shop",
});
},
jumpPage(path) {
@@ -0,0 +1,92 @@
<template>
<view class="comm-input-warp">
<!-- #ifdef APP-PLUS -->
<input :placeholder="$t('login.comm.code')" border="false" :v-model="modelValue" color="#EEEEEE" type="number"
@input="$emit('update:modelValue', $event.detail.value)" style="height: 64rpx;width: 70%;"></input>
<!-- #endif -->
<!-- #ifdef MP -->
<input :placeholder="$t('login.comm.code')" border="false" :v-model="modelValue" color="#EEEEEE" type="number"
@input="$emit('update:modelValue', $event.target.value)" style="height: 64rpx;width: 70%;"></input>
<!-- #endif -->
<view class="code-warp" v-if="countdown">
<up-count-down :time="60 * 1000" format="ss" @finish="getCode(false)"></up-count-down>
<text style="margin-left: 10rpx;">s</text>
<!-- <text style="margin-left: 10rpx;">{{$t('login.comm.reacquire.code')}}</text> -->
</view>
<view v-else class="code-warp" @click="getCode(true)">
<view>{{ $t('login.comm.get.code') }}</view>
</view>
<up-toast ref="uToastRef"></up-toast>
</view>
</template>
<script>
// import { ref } from 'vue';
// const uCodeRef = ref(null);
export default {
name: 'inputComm',
props: ['modelValue', 'codeNumberRef', 'emptyCountdownRef'],
watch: {
emptyCountdownRef(value, oldValue) {
if (value) {
this.countdown = true;
}
},
},
data() {
return {
countdown: false,
emptyCountdown: this.emptyCountdownRef,
inputCss: {
"height": '80rpx',
"background": "#F3F3F3FF",
"border-radius": "30rpx",
"border": "0rpx",
"padding-left": "16px",
},
}
},
emits: ['update:modelValue'],
mounted() {
},
methods: {
getCode(val) {
const emptyCountdown = this.emptyCountdown;
if (val) {
const codeNumber = this.codeNumberRef;
if (codeNumber) {
this.$emit('getCode');
} else {
this.$refs.uToastRef.show({
type: 'error',
message: this.$t('login.comm.email'),
});
return;
}
} else {
// uni.dialog.showMessage('请输入邮箱');
this.$refs.uToastRef.show({
type: 'error',
message: this.$t('login.comm.email'),
});
}
},
},
};
</script>
<style lang="less" scoped>
.code-warp {
width: 30%;
text-align: right;
display: flex;
justify-content: flex-end;
}
.wrap {
padding: 24rpx;
}
</style>
+6 -6
View File
@@ -19,9 +19,9 @@
<up-input placeholder="请输入密码" border="surround" v-model="form.password" :customStyle="inputCss"
:type="isShow ? 'text' : 'password'" @change="checkParam">
<template #suffix style="margin-right: 10rpx">
<up-image v-if="isShow" src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-if="isShow" src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
@click="isShow = false"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
@click="isShow = true"></up-image>
</template>
</up-input>
@@ -56,12 +56,12 @@
<view class="other_login">其他登录方式</view>
<view class="login_other_icon">
<view class="login_other_item" @click="wechatOneLogin">
<up-image src="/static/login/WXICON.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/login_package/static/login/WXICON.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
微信登录
</view>
<!-- <view class="login_other_item" @click="aa"> -->
<view v-if="!isIOS" class="login_other_item" @click="alipayOneLogin">
<up-image src="/static/login/ZFB.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/login_package/static/login/ZFB.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
支付宝登录
</view>
</view>
@@ -71,7 +71,7 @@
<view class="other_login">其他登录方式</view>
<!-- <view class="login_other_icon">
<view class="login_other_item" @click="wechatOneLogin">
<up-image src="/static/login/WXICON.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/login_package/static/login/WXICON.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
微信登录
</view>
</view> -->
@@ -112,7 +112,7 @@
</template>
<script>
import InputCodeComm from "@/components/code-comm/code-comm.vue";
import InputCodeComm from "@/pages/login_package/components/code-comm/code-comm.vue";
import {
SMS_TYPE
} from "@/utils/enumUtils.js";
+1 -1
View File
@@ -40,7 +40,7 @@
<view>{{ formatDate(item.ctdate) }}</view>
<view class="browses_">
<view>
<up-image src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view style="margin-left: 8rpx;">{{ item.browses }}</view>
</view>
+1 -1
View File
@@ -14,7 +14,7 @@
<view>{{ formatDate(newsDetail.ctdate) }}</view>
<view class="browses_">
<view>
<up-image src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view style="margin-left: 8rpx;">{{ newsDetail.browses }}</view>
</view>
@@ -12,9 +12,9 @@
>
</up-swiper>
<view class="preference_title">
<up-image src="/static/product/hw_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/hw_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<view class="msg">信任桥优选</view>
<up-image src="/static/product/hw_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/hw_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
</view>
<view class="preference_product">
<up-loading-page :loading="productListLoading"></up-loading-page>
+6 -6
View File
@@ -28,9 +28,9 @@
<up-input placeholder="请输入登录密码" border="surround" v-model="form.loginPassword" :customStyle="inputCss"
:type="loginPasswordIsShow ? 'text' : 'password'">
<template #suffix style="margin-right: 10rpx;">
<up-image v-if="loginPasswordIsShow" src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-if="loginPasswordIsShow" src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPasswordIsShow = false;"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPasswordIsShow = true;"></up-image>
</template>
</up-input>
@@ -39,9 +39,9 @@
<up-input placeholder="再次输入登录密码" border="surround" v-model="form.loginPassword2" :customStyle="inputCss"
:type="loginPassword2IsShow ? 'text' : 'password'">
<template #suffix style="margin-right: 10rpx;">
<up-image v-if="loginPassword2IsShow" src="/static/login/show.png" width="20" height="20"
<up-image v-if="loginPassword2IsShow" src="/pages/login_package/static/login/show.png" width="20" height="20"
bgColor="#f1f6ff00" @click="loginPassword2IsShow = false;"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPassword2IsShow = true;"></up-image>
</template>
</up-input>
@@ -55,8 +55,8 @@
:type="transactionCodeIsShow ?'text':'password'"
>
<template #suffix style="margin-right: 10rpx;">
<up-image v-if="transactionCodeIsShow" src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00" @click="transactionCodeIsShow=false;"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00" @click="transactionCodeIsShow=true;"></up-image>
<up-image v-if="transactionCodeIsShow" src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00" @click="transactionCodeIsShow=false;"></up-image>
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00" @click="transactionCodeIsShow=true;"></up-image>
</template>
</up-input>
</view> -->
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

+2 -2
View File
@@ -12,9 +12,9 @@
>
</up-swiper>
<view class="preference_title">
<up-image src="/static/product/bk_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/bk_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<view class="msg">信任桥优品</view>
<up-image src="/static/product/bk_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/bk_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
</view>
<view class="preference_product">
<up-loading-page :loading="productListLoading"></up-loading-page>
+6 -6
View File
@@ -3,7 +3,7 @@
<view class="mine_header" :style="headerStyle">
<view class="mine_login_data" v-if="currentUserData && Object.keys(currentUserData).length !== 0">
<view class="mine_data">
<up-image
<up-image :lazy-load="true"
:src="currentUserData.avatarUrl ? currentUserData.avatarUrl : 'https://static.tbmall.xin/static/mine/avatar.png'"
shape="circle" width="54" height="54" bgColor="#f1f6ff00"></up-image>
<view class="mine_info">
@@ -81,7 +81,7 @@
<view class="mine_order_list">
<view class="mine_fontsize_comm_warp order_list_item" v-for="item in orderTemplList" :key="item.id"
@click="jumpOrder(item)">
<up-image :src="item.url" width="28" height="28" bgColor="#f1f6ff00"></up-image>
<up-image :lazy-load="true" :src="item.url" width="28" height="28" bgColor="#f1f6ff00"></up-image>
<view>{{ item.title }}</view>
<up-badge :absolute="true" :offset="[-9, 9]" max="99"
:customStyle="{ width: '40rpx', height: '32rpx', borderRadius: '45% 45% 45% 0', display: 'flex', alignItems: 'center', justifyContent: 'center', padding: 0 }"
@@ -93,7 +93,7 @@
<view class="mine_content_comm_warp mine_top_comm_warp apply_list">
<view class="apply_item mine_fontsize_comm_warp" v-for="item in applyList" :key="item.id"
@click="jumpTool(item)">
<up-image :src="item.url" width="36" height="36" bgColor="#f1f6ff00"></up-image>
<up-image :lazy-load="true" :src="item.url" width="36" height="36" bgColor="#f1f6ff00"></up-image>
<view>{{ item.title }}</view>
</view>
</view>
@@ -235,7 +235,7 @@ import CustomTabBar from '@/components/custom-tab-bar.vue';
import { getStatistics } from '@/api/order.js';
import { getUserInfo } from '@/api/auth.js';
import { CUSTOMER_SERVICE_PHONE_NUMBER } from '@/utils/config.js';
import { getUnreadCount as getKefuUnreadCount } from "@/uni_modules/hashmall-customer-service/js_sdk/api.js";
import { getUnreadCount as getKefuUnreadCount } from "@/api/kefu.js";
export default {
computed: {
@@ -314,7 +314,7 @@ export default {
id: 5,
title: '数字积分',
url: 'https://static.tbmall.xin/static/mine/tool_js.png',
path: '/pages/rwa_package/dongjian/jia'
path: '/pages/rwa_package/insights/acceleration'
}
// {
// id: 3,
@@ -388,7 +388,7 @@ export default {
id: 12,
title: '财务',
url: 'https://static.tbmall.xin/static/mine/tool_cw.png',
path: '/pages/rwa_package/dongjian/finance'
path: '/pages/rwa_package/insights/finance'
}
// {
// id: 11,
+32
View File
@@ -0,0 +1,32 @@
import request from '@/utils/request.js'; // 引入封装的方法
// 查询绑定的银行卡
export function getBankList(data) {
// return request.post('/common/getSmsCode',qs.stringify(params));
return request({
url: "/bankcard/getList",
method: "get",
data,
});
}
// 绑定银行卡
export function bindBank(data) {
// return request.post('/common/getSmsCode',qs.stringify(params));
return request({
url: "/bankcard/bind",
method: "post",
data,
});
}
// 解绑银行卡
export function unbind(data) {
// return request.post('/common/getSmsCode',qs.stringify(params));
return request({
url: "/bankcard/unbind",
method: "post",
data,
});
}
+60
View File
@@ -0,0 +1,60 @@
import request from '@/utils/request.js'; // 引入封装的方法
// 查询团队业绩
export function getPerformance(data) {
// return request.post('/common/getSmsCode',qs.stringify(params));
return request({
url: "/teamsumm/getPerformance",
method: "get",
data,
});
}
// 查询团队概况
export function getJuniorSummary(data) {
// return request.post('/common/getSmsCode',qs.stringify(params));
return request({
url: "/teamsumm/getJuniorSummary",
method: "get",
data,
});
}
// 查询团队概况
export function getCascadeJunior(data) {
// return request.post('/common/getSmsCode',qs.stringify(params));
return request({
url: "/teamsumm/getCascadeJunior",
method: "get",
data,
});
}
// 查询账户类型
export function getAcctCategory(data) {
return request({
url: "/teamsumm/getAcctCategory",
method: "get",
data,
});
}
// 查询提成概况
export function getRewardSummary(data) {
return request({
url: "/teamsumm/getRewardSummary",
method: "get",
data,
});
}
// 查询提成记录
export function getRewardSummaryRecord(data) {
return request({
url: "/teamsumm/getRewardSummaryRecord",
method: "get",
data,
});
}
@@ -0,0 +1,183 @@
<template>
<!-- <up-loading-page :loading="listLoading"></up-loading-page> -->
<scroll-view scroll-y="true" @scrolltolower="loadMore" :style="{ 'height': heightRef }">
<view class="prize_draw_item" v-for="item in prizeDrawList" :key="item.id"
v-if="prizeDrawList && prizeDrawList.length !== 0">
<view class="prize_draw_left_warp">
<up-image :src="item.iconUrl ? item.iconUrl : 'https://static.tbmall.xin/static/zj_f.jpg'"
width="60" height="60" bgColor="#f1f6ff00"></up-image>
<view style="margin-left: 20rpx;">
<view class="title_">{{ item.prizeName }}</view>
<view class="time_">{{ formatDate(item.ctdate) }}</view>
<view class="delivery_"
v-if="[DELIVER_STATUS.AWAIT_DELIVERY_REQUIRED, DELIVER_STATUS.YES_DELIVERY_REQUIRED, DELIVER_STATUS.RECEIVED].includes(item.deliveryStatus)">
<view class="delivery_status">{{ getValue(DELIVER_STATUS_, item.deliveryStatus) }}</view>
<view class="delivery_num" v-if="item.deliveryNum">
<text style="margin-right: 10rpx;">运单号:{{ item.deliveryNum }}</text>
<up-image src="/static/common/copy.png" width="10" height="10" bgColor="#f1f6ff00"
@click="copyData(item.deliveryNum)"></up-image>
</view>
<view class="delivery_num" v-else>运单号:暂无</view>
</view>
</view>
</view>
<view class="prize_draw_right_warp" v-if="item.type === 'goods'" v-show="item.status === 1" @click="jumpGetFun(item)">
去领取</view>
<view class="prize_draw_right_warp yes_" v-if="item.type === 'goods'" v-show="item.status === 2">已领取</view>
</view>
<view v-else class="not_order_warp">
<up-image src="https://static.tbmall.xin/static/not_order.png" width="80" height="80"
bgColor="#f1f6ff00"></up-image>
<view class="not_order_msg_warp">还未中奖哦~</view>
</view>
<view v-if="loading" style="text-align: center;">加载中...</view>
</scroll-view>
</template>
<script>
import { getWinningList } from '@/api/raffle.js';
import { formatDate, copyData } from '@/utils/index.js';
import { DELIVER_STATUS, DELIVER_STATUS_, getValue } from '@/utils/enumUtils.js'
export default {
name: "winning_record",
props: {
heightRef: { //当前选中的tab项
type: Number,
default: 'calc(100vh - 100rpx)'
}
},
computed: {
DELIVER_STATUS() {
return DELIVER_STATUS;
},
DELIVER_STATUS_() {
return DELIVER_STATUS_;
}
},
data() {
return {
prizeDrawList: [],// 抽奖列表
form: {
status: '',
page: 1,
pageSize: 20,
},
loading: false, // 加载状态标志
};
},
mounted() {
// this.jumpMine();
this.loadData(); // 页面加载时加载数据
},
methods: {
formatDate,
copyData,
getValue,
jumpGetFun(item) {
uni.navigateTo({
url: '/pages/other_package/get_prize/get_prize?id=' + item.id,
})
},
// 加载数据的方法
async loadData() {
if (this.loading) return; // 如果正在加载,则不重复加载
this.loading = true; // 设置加载状态为true
try {
// 模拟异步获取数据,实际应用中应该替换为你的数据获取逻辑,例如API调用
const newData = await this.fetchData(this.form.page, this.form.pageSize);
if (newData.entitys && newData.entitys.length !== 0) {
this.prizeDrawList = [...this.prizeDrawList, ...newData.entitys]; // 将新数据添加到列表中
this.form.page++; // 页码加1
}
} catch (error) {
console.error('加载数据失败:', error);
} finally {
this.loading = false; // 设置加载状态为false
}
},
// 模拟获取数据的方法,实际应用中应该替换为你的数据获取逻辑,例如从服务器获取数据
async fetchData(page, pageSize) {
const params = {
page,
pageSize,
}
const data = await getWinningList(params);
if (data && data.bizcode === 100) {
return data.data
} else {
return [];
}
},
// 当滚动到底部时触发的方法
loadMore() {
this.loadData(); // 加载更多数据
}
}
}
</script>
<style lang="scss" scoped>
.prize_draw_warp {}
.prize_draw_item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx 0;
border-bottom: 1rpx solid #EEEEEE;
}
.prize_draw_left_warp {
display: flex;
align-items: center;
}
.title_ {
font-weight: bold;
font-size: 28rpx;
color: #333333;
}
.time_ {
font-size: 24rpx;
color: #666666;
margin-top: 10rpx;
}
.delivery_ {
display: flex;
align-items: center;
font-size: 20rpx;
margin-top: 10rpx;
.delivery_status {
padding: 6rpx 10rpx;
border-radius: 10rpx;
color: $app-bt-bj;
border: 1rpx solid $app-bt-bj;
}
.delivery_num {
margin-left: 10rpx;
display: flex;
align-items: center;
}
}
.prize_draw_right_warp {
background: $app-bt-bj;
border-radius: 10rpx;
text-align: center;
color: #FFFFFF;
padding: 10rpx 28rpx;
height: 48rpx;
}
.yes_ {
background: #F5F5F5;
color: #666666;
}
</style>
@@ -22,7 +22,7 @@
</view>
</view>
<view v-else class="not_order_warp">
<view class="not_order_warp_img"><up-image src="/static/common/not_search.png" width="100" height="100"
<view class="not_order_warp_img"><up-image src="/pages/other_package/static/not_search.png" width="100" height="100"
bgColor="#f1f6ff00"></up-image></view>
<view class="not_order_msg_warp">暂无地址,快去添加吧~</view>
</view>
@@ -24,7 +24,7 @@
</template>
<script>
import { bindBank } from '@/api/bank.js';
import { bindBank } from '@/pages/mine_package/api/bank.js';
import { getSupportBank } from '@/api/common.js';
export default {
@@ -8,7 +8,7 @@
<view class="bank_list">
<view v-if="bankList.length !== 0" class="bank_item" v-for="item in bankList" :key="item.id">
<view class="bank_data">
<up-image :src="item.bankLogo || '/static/bank/default.png'" width="50" height="50"
<up-image :src="item.bankLogo || '/pages/mine_package/static/bank/default.png'" width="50" height="50"
bgColor="#f1f6ff00"></up-image>
<view class="bank_info">
<view class="bank_bank_name">{{ item.bankName }}</view>
@@ -36,7 +36,7 @@
</template>
<script>
import { getBankList, bindBank, unbind } from '@/api/bank.js';
import { getBankList, bindBank, unbind } from '@/pages/mine_package/api/bank.js';
import { encipherBankNumber } from '@/utils/index.js';
import Header from '@/components/header.vue';
import { getUserInfo } from '@/api/auth.js'
@@ -47,7 +47,7 @@
<view class="card_comm">
<view class="card_title_comm card_title_comm2">
<view>推广业绩</view>
<up-image src="/static/common/tips.png" width="16" height="16" bgColor="#f1f6ff00"
<up-image src="/pages/rwa_package/static/tips.png" width="16" height="16" bgColor="#f1f6ff00"
@click="openTeamShow = true;" />
</view>
<view class="performance">
@@ -91,7 +91,7 @@
<view class="card_item_comm">
<view class="card_title_comm card_title_comm2">
<view>奖励统计</view>
<up-image src="/static/common/tips.png" width="16" height="16" bgColor="#f1f6ff00"
<up-image src="/pages/rwa_package/static/tips.png" width="16" height="16" bgColor="#f1f6ff00"
@click="openTcShow = true;" />
</view>
<view class="performance">
@@ -197,7 +197,7 @@
getAcctCategory,
getRewardSummaryRecord,
getRewardSummary
} from '@/api/team.js';
} from '@/pages/mine_package/api/team.js';
import {
formatDate
} from '@/utils/index.js';
@@ -52,7 +52,7 @@
</template>
<script>
import { getCascadeJunior, getJuniorSummary } from '@/api/team.js';
import { getCascadeJunior, getJuniorSummary } from '@/pages/mine_package/api/team.js';
import { getUserInfo } from '@/api/auth.js';
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
@@ -1,415 +0,0 @@
<template>
<view class="my_team_list">
<Header :leftTitle="$t('mine.my.team.title')" left-path-type="navigateTo" :leftPath="leftPath" />
<view class="my_team_list_content">
<view class="team_list_card">
<view class="amount_">{{ (juniorSummaryData && juniorSummaryData.teamAmount) || 0 }}</view>
<view class="amount_sum">总订单金额</view>
<view class="comm_fg"></view>
<view class="people_number">
<view class="people_number_item">
<view class="title_">总人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.teamCount) || 0 }}</view>
</view>
<view class="comm_fg_s"></view>
<view class="people_number_item">
<view class="title_">推广人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.ztCount) || 0 }}</view>
</view>
<!-- <view class="comm_fg_s"></view>
<view class="people_number_item">
<view class="title_">间推人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.jtCount) || 0 }}</view>
</view> -->
</view>
<view class="current_user_id" v-if="form.userId">当前用户ID:{{ form.userId }}</view>
<view class="current_user_tips">
<up-image src="/static/common/tips_b.png" width="20" height="20" bgColor="#f1f6ff00"
@click="openTcShow = true;" />
</view>
</view>
<view class="team_list_remarks">
<view>注:所有数据均截至到进入页面的时间为止,返回再进入页面数据会更新</view>
<view style="margin-left: 40rpx;">总订单金额统计的为所有已支付的订单金额</view>
</view>
<scroll-view scroll-y="true" @scrolltolower="loadMore" :style="{ 'height': 'calc(100vh - 500rpx)' }">
<view class="team_item" v-for="(item, index) in listData" :key="item.id" v-if="listData && listData.length">
<view class="team_header" @click="queryLowerFun(item, index)">
<view class="header_left_">
<view style="margin-top: 10rpx;">
<up-image :src="item.userUrl || '/static/logo.png'" width="50" height="50" bgColor="#f1f6ff00"
shape="circle" radius='16'></up-image>
</view>
<view class="right_data">
<view class="name_">{{ item.userName || '信任桥优品用户' }}({{ item.gradeName }})</view>
<view class="msg_">
ID:{{ item.userId }}
</view>
<view class="msg_">
注册时间:{{ formatDate(item.registTime) }}
</view>
</view>
</view>
<view>
<up-image src="/static/common/right_x.png" width="20" height="20" bgColor="#f1f6ff00" radius='16'
v-if="!item.isOpen"></up-image>
<up-image src="/static/common/buttom_x.png" width="20" height="20" bgColor="#f1f6ff00" radius='16'
v-else></up-image>
</view>
</view>
<view style="padding: 10rpx;" v-if="item.isOpen && item.lowerData">
<view class="team_lower">
<view class="team_lower_item">
<view class="title_">总订单金额</view>
<view class="val_">{{ item.lowerData.teamAmount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">直推人数</view>
<view class="val_">{{ item.lowerData.ztCount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">间推人数</view>
<view class="val_">{{ item.lowerData.jtCount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">总人数</view>
<view class="val_">{{ item.lowerData.teamCount }}</view>
</view>
</view>
</view>
</view>
<view v-else class="not_order_warp">
<up-image src="https://static.tbmall.xin/static/not_order.png" width="80" height="80"
bgColor="#f1f6ff00"></up-image>
<view class="not_order_msg_warp">暂无数据</view>
</view>
<view v-if="royaltyLoading" style="text-align: center;">加载中...</view>
</scroll-view>
</view>
<!-- 提成统计 -->
<up-modal :show="openTcShow" :showConfirmButton="false">
<view class="slot-content">
<view class="close_warp" @click="openTcShow = false;">
<up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view class="content_">
<view class="content_1">温馨提示</view>
<view class="content_2">1、页面数据截至到进入该页面的时间统计</view>
<view class="content_2">2、当前页面数据为主用户的数据</view>
<view class="content_2">3、下方显示为全部的直推用户,点击后可跳转他/她的团队数据页,查看他/她的直推数据(也就是我的间推)</view>
</view>
<view class="but_">
<view class="but_copy" @click="openTcShow = false;">确定</view>
</view>
</view>
</up-modal>
</view>
</template>
<script>
import { getCascadeJunior, getJuniorSummary } from '@/api/team.js';
import { formatDate } from '@/utils/index.js';
import Header from '@/components/header.vue';
export default {
components: { Header },
data() {
return {
form: {
userId: 0,
page: 1,
pageSize: 15,
},
loading: false,
listData: [],
juniorSummaryData: {},// 统计
leftPath: "/pages/mine_package/mine_my_team_list/mine_my_team_list",
openTcShow: false,
};
},
onLoad(option) {
const id = option.id;
if (id && id !== "null") {
this.form.userId = id;
} else {
this.leftPath = '/pages/mine_package/mine_my_team/mine_my_team';
}
},
mounted() {
this.loadData();
this.getJuniorSummary();
},
methods: {
formatDate,
jumpNextLevel(item) {
const path = "/pages/mine_package/mine_my_team_list/mine_my_team_list?id=" + item.userId;
this.leftPath = path;
uni.navigateTo({
url: path,
})
},
/**
* 查询统计数据
*/
async getJuniorSummary() {
const resp = await getJuniorSummary();
console.log("getJuniorSummary", resp);
if (resp && resp.bizcode === 100) {
this.juniorSummaryData = resp.data;
}
},
// 加载数据的方法
async loadData() {
if (this.loading) return; // 如果正在加载,则不重复加载
this.loading = true; // 设置加载状态为true
try {
// 模拟异步获取数据,实际应用中应该替换为你的数据获取逻辑,例如API调用
const newData = await this.fetchData();
if (newData.entitys && newData.entitys.length !== 0) {
const data = newData.entitys.map(item => ({ ...item, isOpen: false }));
this.listData = [...this.listData, ...data]; // 将新数据添加到列表中
this.form.page++; // 页码加1
}
} catch (error) {
console.error('加载数据失败:', error);
} finally {
this.loading = false; // 设置加载状态为false
}
},
// 模拟获取数据的方法,实际应用中应该替换为你的数据获取逻辑,例如从服务器获取数据
async fetchData() {
const params = {
...this.form,
}
const data = await getCascadeJunior(params);
if (data && data.bizcode === 100 && data.data) {
return data.data
} else {
return [];
}
},
// 当滚动到底部时触发的方法
loadMore() {
this.loadData(); // 加载更多数据
},
/**
* 查询团队下级数据
* @param {Object} item
* @param {Object} index
*/
async queryLowerFun(item, index) {
const data = this.listData[index];
const type = !data.isOpen
if (type) {
const params = {
userId: item.userId,
}
const resp = await getJuniorSummary(params);
if (resp && resp.bizcode === 100) {
data.lowerData = resp.data;
}
}
data.isOpen = type;
this.listData[index] = data;
}
}
}
</script>
<style lang="scss" scoped>
.my_team_list {
// height: calc(100vh - 58rpx);
// overflow: auto;
background-color: $app-bj;
.my_team_list_content {
padding: 30rpx;
}
.team_list_card {
background-color: $app-bt-bj;
text-align: center;
color: rgba(255, 255, 255, 0.9);
padding: 40rpx;
border-radius: 15rpx;
margin-bottom: 20rpx;
position: relative;
.current_user_id {
position: absolute;
top: 0;
left: 0;
background-color: #33333340;
padding: 10rpx;
font-size: 22rpx;
border-radius: 10rpx 0;
}
.current_user_tips {
position: absolute;
top: 20rpx;
right: 20rpx;
}
.amount_ {
font-weight: 500;
font-size: 58rpx;
color: rgba(255, 255, 255, 0.9);
}
.amount_sum {
font-size: 23rpx;
color: rgba(255, 255, 255, 0.55);
}
.comm_fg {
border: 2rpx dashed rgba(255, 255, 255, 0.55);
margin: 20rpx 0;
}
.comm_fg_s {
width: 1rpx;
height: 35rpx;
background-color: rgba(255, 255, 255, 0.9);
}
.people_number {
display: flex;
justify-content: space-between;
align-items: center;
}
.people_number_item {
width: 30%;
text-align: center;
.title_ {
font-size: 23rpx;
color: rgba(255, 255, 255, 0.55);
line-height: 33rpx;
}
.value_ {
font-size: 38rpx;
color: rgba(255, 255, 255, 0.9);
line-height: 54rpx;
}
}
}
.team_list_remarks {
font-size: 20rpx;
color: #9E9E9E;
margin-bottom: 10rpx;
}
.team_item {
margin-bottom: 20rpx;
}
.team_header {
display: flex;
align-content: center;
justify-content: space-between;
align-items: center;
border-radius: 8rpx;
background: #FFFFFF;
padding: 20rpx;
.header_left_ {
display: flex;
align-items: inherit;
width: calc(100% - 70rpx);
}
.right_data {
margin-left: 10rpx;
// display: grid;
}
.name_ {
font-weight: bold;
font-size: 30rpx;
color: #333333;
}
.msg_ {
font-weight: 500;
font-size: 24rpx;
color: #999999;
margin-top: 10rpx;
}
}
.team_lower {
display: flex;
justify-content: space-between;
align-items: center;
background: #E9E9E9;
border-radius: 4px;
padding: 30rpx 20rpx;
.team_lower_fg {
border-right: 1px solid rgba(0, 0, 0, 0.26);
height: 36rpx;
}
.team_lower_item {
text-align: center;
}
.title_ {
font-size: 10px;
color: rgba(0, 0, 0, 0.6);
}
.val_ {
font-weight: 500;
font-size: 14px;
color: rgba(0, 0, 0, 0.9);
margin-top: 20rpx;
}
}
.team_content {
border-top: 1rpx solid #EEEEEE;
padding: 20rpx 0 0;
display: flex;
flex-wrap: wrap;
.team_content_item {
width: 50%;
font-weight: 500;
display: flex;
margin-bottom: 10rpx;
}
.team_content2_item {
width: 100%;
}
.title_ {
font-size: 24rpx;
color: #999999;
}
.content_ {
font-size: 26rpx;
color: #333333;
}
}
.content_1 {
margin-bottom: 40rpx;
}
.content_2 {
text-align: left;
margin-top: 10rpx;
}
}
</style>
+4 -4
View File
@@ -214,7 +214,7 @@
<view class="content_2">如遇退/换货等问题,请联系客服处理</view>
<view class="content_3">
<view style="margin-left: 20rpx">
<up-image src="/static/common/kf_dh.png" width="40" height="40" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/rwa_package/static/kf_dh.png" width="40" height="40" bgColor="#f1f6ff00"></up-image>
</view>
<view class="content_info" @click="onKefu">
<view class="content_info_title" style="margin-top: 20rpx">在线客服</view>
@@ -229,7 +229,7 @@
</view>
<!-- <view class="content_3">
<view style="margin-left: 20rpx">
<up-image src="/static/common/kf_wx.png" width="40" height="40" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/rwa_package/static/kf_wx.png" width="40" height="40" bgColor="#f1f6ff00"></up-image>
</view>
<view class="content_info">
<view class="content_info_title">客服微信</view>
@@ -290,7 +290,7 @@ import {
AFTER_ORDER_STATUS,
getValue,
} from "@/utils/enumUtils.js";
import { ORDER_STATUS_CSS } from "@/utils/enumCssUtils.js";
import { ORDER_STATUS_CSS } from "@/pages/mine_package/utils/enumCssUtils.js";
import DownPopup from "@/components/common/down-popup.vue";
import {
getOrderList,
@@ -309,7 +309,7 @@ import { formatDate1, copyData } from "@/utils/index.js";
import { getUserInfo } from "@/api/auth.js";
import { CUSTOMER_SERVICE_PHONE_NUMBER } from "@/utils/config.js";
import afterSales from "./after-sales/index";
import refundPopup from "@/pages/mine_package/mine_order/after-sales/refund-popu.vue";
import refundPopup from "@/pages/mine_package/mine_order/after-sales/refund-popup.vue";
import { RETURN_REASON_LIST } from "@/pages/mine_package/mine_order/emun/index.js";
export default {
components: { DownPopup, afterSales, refundPopup },
@@ -6,7 +6,7 @@
@click="jumpLeft"></up-image>
<view class="header_status">
<view style="margin-top: 10rpx">
<up-image src="/static/common/order_status_1.png" width="20" height="19"
<up-image src="/pages/mine_package/static/order_status_1.png" width="20" height="19"
bgColor="#f1f6ff00"></up-image>
</view>
<text class="msg">{{ getValue(ORDER_STATUS, orderInfo.status) }}</text>
@@ -33,7 +33,7 @@
<!-- 物流单号 -->
<view class="address_info">
<view class="address_data_warp">
<up-image src="/static/common/waybill.png" width="20" height="20"
<up-image src="/pages/rwa_package/static/waybill.png" width="20" height="20"
bgColor="#f1f6ff00"></up-image>
<view class="address_info_name">订单编号:</view>
<view class="address_info_mobile" style="margin-right: 20rpx">{{
@@ -154,7 +154,7 @@
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`
}}
</view>
<up-image style="margin-left: 8rpx" src="/static/rwa/copy.png" width="12" @click="
<up-image style="margin-left: 8rpx" src="/pages/rwa_package/static/rwa/copy.png" width="12" @click="
copyData(
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`
)
@@ -227,7 +227,7 @@
<script>
import { ORDER_TYPE, ORDER_STATUS, getValue } from "@/utils/enumUtils.js";
import QrcodePreview from "@/pages/rwa_package/component/qrcode-preview.vue";
import QrcodePreview from "@/components/qrcode-preview.vue";
import {
copyData,
assembleAddress,
+4 -4
View File
@@ -38,7 +38,7 @@
<view class="bottom_item" @click.stop="onTip(vIndex)">
<view class="bottom_item_lock">{{ item.lockAmount || 0 }}</view>
<view class="bottom_item_title">{{ item.categoty === "raffle" ? "不可用次数" : "不可用余额" }}
<up-image src="/static/common/tips.png" width="12" height="12" bgColor="#fff"
<up-image src="/pages/rwa_package/static/tips.png" width="12" height="12" bgColor="#fff"
style="margin-left: 8rpx; margin-top: 4rpx" v-if="item.categoty == 'balance'" />
</view>
</view>
@@ -79,7 +79,7 @@
<input class="form_input" v-model="collectForm.password" placeholder="请输入支付密码"
:type="collectForm.showPassword ? 'text' : 'password'" />
<view class="form_eye" @click="togglePassword">
<up-image :src="collectForm.showPassword ? '/static/login/show.png' : '/static/login/hidden.png'"
<up-image :src="collectForm.showPassword ? '/pages/login_package/static/login/show.png' : '/pages/login_package/static/login/hidden.png'"
width="24" height="24" />
</view>
</view>
@@ -196,7 +196,7 @@ export default {
// url: "/pages/mine_package/mine_purse_exchange/mine_purse_exchange?amount=" + row.curAmount + "&category=" + row.categoty,
// })
uni.navigateTo({
url: "/pages/rwa_package/shop/fen-shop",
url: "/pages/rwa_package/shop/points-shop",
});
} else if (type === "transfer") {
console.log("transfer转出...");
@@ -209,7 +209,7 @@ export default {
}else if (type === "deduction") {
// 兑换
uni.navigateTo({
url: "/pages/rwa_package/shop/fen-shop",
url: "/pages/rwa_package/shop/points-shop",
});
}
},
@@ -66,7 +66,7 @@
<script>
import { getWithdrawalRule, withdrawal } from '@/api/finance.js';
import { getBankList } from '@/api/bank.js';
import { getBankList } from '@/pages/mine_package/api/bank.js';
export default {
data() {
@@ -142,7 +142,7 @@ export default {
})
}else if(type === 'contract'){
uni.navigateTo({
url:'/pages/rwa_package/dongjian/index'
url:'/pages/rwa_package/insights/index'
})
}
},
@@ -5,7 +5,7 @@
</template>
<script>
import winningRecord from '@/components/winning_record.vue';
import winningRecord from '@/pages/mine_package/components/winning_record.vue';
export default {
components:{winningRecord},
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

+10
View File
@@ -0,0 +1,10 @@
/**
* 订单的状态 状态:1-待支付,2-支付处理中,3-已支付,4-待评价
*/
export const ORDER_STATUS_CSS={
1:"#5486FF",//待支付,不管
2:"#FF0050",//待发货
3:"#FF0050",//待收货
4:"#999999",//待评价
}
@@ -325,7 +325,7 @@ import {
} from "@/utils/payUtils.js";
import CryptoJS from "crypto-js";
import CouponDialog from "./cpoun-dialog.vue";
import CouponDialog from "./coupon-dialog.vue";
export default {
components: {
@@ -31,7 +31,7 @@ export default {
if (paymentLink && paymentLink !== "null") {
this.paymentLink = paymentLink; // 解码并设置支付链接
uni.navigateTo({
url: `/pages/other_package/zfb_payment/zfb_payment?link=${paymentLink}` // 假设有一个专门的支付页面来处理支付链接
url: `/pages/other_package/alipay_payment/alipay_payment?link=${paymentLink}` // 假设有一个专门的支付页面来处理支付链接
});
}
},
@@ -12,9 +12,9 @@
>
</up-swiper>
<view class="preference_title">
<up-image src="/static/product/bk_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/bk_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<view class="msg">信任桥积分</view>
<up-image src="/static/product/bk_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/bk_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
</view>
<view class="preference_product">
<up-loading-page :loading="productListLoading"></up-loading-page>
@@ -113,11 +113,11 @@
<view class="concrete_item_title">购物保障</view>
<view class="concrete_item_value concrete_item_bz">
<view class="concrete_item_bz concrete_item_bz_item">
<up-image src="/static/product/product_b.png" width="10" height="12" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/product_b.png" width="10" height="12" bgColor="#f1f6ff00"></up-image>
<view class="concrete_item_bz_item_left">品质严保</view>
</view>
<view class="concrete_item_bz">
<up-image src="/static/product/product_js.png" width="10" height="10" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/product_js.png" width="10" height="10" bgColor="#f1f6ff00"></up-image>
<view class="concrete_item_bz_item_left">极速退款</view>
</view>
</view>
@@ -149,17 +149,17 @@
<view class="product_but_warp">
<view class="product_but_left">
<view class="left_item">
<up-image src="/static/product/home_1.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image src="/pages/other_package/static/product/home_1.png" width="20" height="20" bgColor="#f1f6ff00"
@click="jumpOther('home')"></up-image>
<view>首页</view>
</view>
<view class="left_item">
<up-image src="/static/product/kefu.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image src="/pages/other_package/static/product/kefu.png" width="20" height="20" bgColor="#f1f6ff00"
@click="onZiXun"></up-image>
<view>咨询</view>
</view>
<view class="left_item">
<up-image src="/static/product/cart.png" width="24" height="20" bgColor="#f1f6ff00"
<up-image src="/pages/other_package/static/product/cart.png" width="24" height="20" bgColor="#f1f6ff00"
@click="jumpOther('cart')"></up-image>
<view>购物车</view>
</view>
@@ -363,9 +363,7 @@ import SharePopup from "@/pages/other_package/components/share-popup.vue";
import MyBtn from "@/components/common/my-btn.vue";
import { getPostageQuery } from "@/api/cart.js";
import { assembleAddress } from "@/utils/index.js";
// const QSCanvas = require('qs-canvas')
import QSCanvas from "qs-canvas";
// import {getSharePoster} from "@/components/QuShe-SharerPoster/QS-SharePoster/QS-SharePoster.js";
import func from "@/utils/func.js";
import Address from "@/components/address.vue";
import {
@@ -997,7 +995,7 @@ export default {
this.orderInfo = data;
this.detailRich = this.orderInfo.detailInfo.replace(
/<img([^>]*?)>/gi,
'<img$1 style="max-width:100%;height:auto;display:block;">'
'<img$1 style="max-width:100%;height:auto;display:block;" loading="lazy">'
);
}
},
@@ -1044,6 +1042,10 @@ export default {
}
this.swiperList = [currentThumb]; // 封面图
this.calcSwiperHeight();
this.detailRich = content.replace(
/<img([^>]*?)>/gi,
'<img$1 style="max-width:100%;height:auto;display:block;" loading="lazy">'
);
this.orderInfo = orderInfo;
}
},
+2 -2
View File
@@ -36,7 +36,7 @@
</view>
</view>
<view v-else class="not_order_warp">
<view class="not_order_warp_img"><up-image src="/static/common/not_search.png" width="100" height="100" bgColor="#f1f6ff00"></up-image></view>
<view class="not_order_warp_img"><up-image src="/pages/other_package/static/not_search.png" width="100" height="100" bgColor="#f1f6ff00"></up-image></view>
<view class="not_order_msg_warp">暂无搜索记录</view>
</view>
</view> -->
@@ -86,7 +86,7 @@
</view>
</view>
<view v-else class="not_order_warp">
<view class="not_order_warp_img"><up-image src="/static/common/not_search.png" width="100" height="100" bgColor="#f1f6ff00"></up-image></view>
<view class="not_order_warp_img"><up-image src="/pages/other_package/static/not_search.png" width="100" height="100" bgColor="#f1f6ff00"></up-image></view>
<view class="not_order_msg_warp">抱歉没有搜索此类商品~</view>
</view>
</view>
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 798 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

+1 -1
View File
@@ -57,7 +57,7 @@
<!-- 中奖记录 -->
<view class="winning_record" @click="jumpWinningRecord">
<view style="margin-top: 10rpx;">
<up-image src="/static/turntable/record.png" width="14" height="14" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/turntable/record.png" width="14" height="14" bgColor="#f1f6ff00"></up-image>
</view>
<view style="margin-left: 10rpx;">中奖记录</view>
</view>
+43
View File
@@ -0,0 +1,43 @@
import request from '@/utils/request.js'; // 引入封装的方法
// 是否已签
export function isSignContract() {
// return request.post('/common/getSmsCode',qs.stringify(params));
return request({
url: "/signature/isSignContract",
method: "get",
});
}
export function getContractList() {
// return request.post('/common/getSmsCode',qs.stringify(params));
return request({
url: "/signature/getSignContractList",
method: "get",
});
}
export function contractInfo(data) {
// return request.post('/common/getSmsCode',qs.stringify(params));
return request({
url: "/signature/getSignContractInfo",
method: "get",
data
});
}
export function quickens(data) {
// return request.post('/common/getSmsCode',qs.stringify(params));
return request({
url: "/finance/getQuickens",
method: "get",
data
});
}
export function fileUrls(data) {
// return request.post('/common/getSmsCode',qs.stringify(params));
return request({
url: "/signature/describeFileUrls",
method: "POST",
cha:'1',
data
});
}
@@ -1,55 +0,0 @@
<template>
<up-popup :show="show" @close="close" @open="open" mode="center" :round="10">
<view class="qrcode-preview" @click.stop="close" v-if="qrcodeUrl">
<up-qrcode :val="qrcodeUrl" :key="key"></up-qrcode>
</view>
</up-popup>
</template>
<script>
export default {
props: {
qrcodeVal: {
type: String,
default: "",
},
},
data() {
return {
show: false,
qrcodeUrl: "",
key: 0,
};
},
methods: {
open() {
this.show = true;
this.$nextTick(() => {
this.qrcodeUrl = this.qrcodeVal;
this.key++;
console.log('qrcodeUrl',this.qrcodeUrl);
});
},
close() {
this.show = false;
this.qrcodeUrl = "";
},
},
};
</script>
<style lang="scss" scoped>
.qrcode-preview {
width: 440rpx;
height: 440rpx;
background: #ffffff;
border-radius: 8rpx;
// padding: 40rpx;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
}
</style>
+4 -4
View File
@@ -27,9 +27,9 @@
<up-input placeholder="请输入密码" border="surround" v-model="form.pass" :customStyle="inputCss"
:type="loginPasswordIsShow ? 'text' : 'password'">
<template #suffix style="margin-right: 10rpx;">
<up-image v-if="loginPasswordIsShow" src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-if="loginPasswordIsShow" src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPasswordIsShow = false;"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPasswordIsShow = true;"></up-image>
</template>
</up-input>
@@ -39,9 +39,9 @@
<up-input placeholder="请输入密码" border="surround" v-model="form.passOne" :customStyle="inputCss"
:type="loginPassword2IsShow ? 'text' : 'password'">
<template #suffix style="margin-right: 10rpx;">
<up-image v-if="loginPassword2IsShow" src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-if="loginPassword2IsShow" src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPassword2IsShow = false;"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPassword2IsShow = true;"></up-image>
</template>
</up-input>
@@ -175,7 +175,7 @@ import { getVcoinLocked, getVcoinReleaseLog, getUserExpendTbcList } from '@/api/
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
import DownPopup from '@/components/common/down-popup.vue';
import { quickens } from '@/api/contract.js'
import { quickens } from '@/pages/rwa_package/api/contract.js'
import Decimal from 'decimal.js';
import func from '@/utils/func.js'
@@ -349,7 +349,7 @@ export default {
if (this.type) {
//查看
uni.navigateTo({
url: `/pages/rwa_package/dongjian/check`
url: `/pages/rwa_package/insights/check`
})
} else {
//去签署
@@ -40,7 +40,7 @@ import { getUserInfo } from '@/api/auth.js';
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
import ContractItem from './components/contract-item.vue'
import { getContractList, fileUrls } from '@/api/contract.js'
import { getContractList, fileUrls } from '@/pages/rwa_package/api/contract.js'
import func from '@/utils/func.js';
export default {
@@ -21,7 +21,7 @@ import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
import ContractItem from './components/contract-item.vue'
import DownPopup from '@/components/common/down-popup.vue';
import { getContractList, isSignContract, } from '@/api/contract.js'
import { getContractList, isSignContract, } from '@/pages/rwa_package/api/contract.js'
import { getSignUrl, getMiniProgramSignUrl, signContract } from '@/api/order.js';
import func from '@/utils/func.js';
@@ -101,7 +101,7 @@ export default {
if (this.type) {
//查看
uni.navigateTo({
url: `/pages/rwa_package/dongjian/check`
url: `/pages/rwa_package/insights/check`
})
} else {
//去签署
File diff suppressed because one or more lines are too long
+4 -4
View File
@@ -16,7 +16,7 @@
<view class="btn-view">
<view class="left-btn" @click="onLeft">
<up-image
src="/static/rwa/tx.png"
src="/pages/rwa_package/static/rwa/tx.png"
style="margin-right: 5rpx; margin-top: 2rpx"
width="18"
height="18"
@@ -30,7 +30,7 @@
</view>
<view class="right-btn" @click="onRight">
<up-image
src="/static/rwa/jl.png"
src="/pages/rwa_package/static/rwa/jl.png"
style="margin-right: 5rpx; margin-top: 2rpx"
width="18"
height="18"
@@ -60,7 +60,7 @@
</view>
<view class="add-address" @click="onAdd">
<up-image
src="/static/rwa/add.png"
src="/pages/rwa_package/static/rwa/add.png"
style="margin-right: 5rpx; margin-top: 2rpx"
width="12"
height="12"
@@ -108,7 +108,7 @@
<view class="add-address-tip">
<up-image
src="/static/common/tips.png"
src="/pages/rwa_package/static/tips.png"
width="16"
height="16"
bgColor="#f1f6ff00"
@@ -1,287 +0,0 @@
<template>
<view class="rwa_withdrawal">
<Header leftTitle="共享计划终止" left-path-type="navigateTo" left-path="/pages/rwa_package/rwa/rwa" rightTitle="记录"
rightPath="/pages/rwa_package/rwa_withdrawal_log/rwa_withdrawal_log?back=withdrawal" rightPathType="navigateTo" />
<view class="rwa_withdrawal_content">
<view class="_content">
<view class="_content_usdt">
<view>{{ categotyObj.name || 'USDT' }}</view>
<view>{{ categotyObj.curAmount || 0 }}</view>
</view>
<view class="_content_item">
<view class="_content_item_title">行权金额</view>
<up-input placeholder="请输入行权金额" border="surround" v-model="form.amount" :customStyle="inputCss"></up-input>
<view class="_content_item_msg">当前可行权余额 {{ categotyObj.curAmount || 0 }} {{ categotyObj.name || 'USDT' }}
</view>
</view>
<view class="_content_item" @click="accountShowCheck(true)">
<view class="_content_item_title">行权账户</view>
<view class="_content_item_account">
<view v-if="accountName">{{ accountName }}</view>
<view v-else style="color: #30313363;">请选择行权账户</view>
<up-image src="/static/common/right.png" width="20" height="20" bgColor="#f1f6ff00" />
</view>
</view>
<view class="_content_item">
<view class="_content_item_title">交易密码<text class="_content_item_setting_pwd"
@click="jumpSettingPwd">《共享计划终止协议》</text></view>
<up-input placeholder="请输入交易密码" border="surround" v-model="form.password" :customStyle="inputCss"></up-input>
</view>
<view class="_content_item">
<view class="_content_item_title">备注</view>
<up-input placeholder="请输入备注(可选)" border="surround" v-model="form.remark" :customStyle="inputCss"></up-input>
</view>
</view>
<view class="add_but_css" @click="addWithdrawal">
提交
</view>
</view>
<DownPopup :show="tipsShow"
title="股权交割协议"
:contentText="text"
articleTitle="股权交割协议"
ok="我已知晓"
@cancel="tipsShow = false"
@ok="tipsShow = false"
></DownPopup>
<up-picker :show="accountShow" :columns="accountOption" keyName="account" itemHeight="34" @confirm="accountConfirm"
:loading="accountLoading" @close="accountShowCheck(false)" @cancel="accountShowCheck(false)"></up-picker>
<up-toast ref="uToastRef"></up-toast>
</view>
</template>
<script>
import Header from '@/components/header.vue';
import { getSupportBank } from '@/api/common.js';
import { getAcctBalance, exchTransfer, getExchUsers } from '@/api/finance.js';
import DownPopup from '@/components/common/down-popup.vue'
import CryptoJS from 'crypto-js';
export default {
components: { Header,DownPopup },
data() {
return {
categotyObj: {},// 可提现金额
inputCss: {
"height": '80rpx',
"background": "#F5F5F5",
"border-radius": "20rpx",
"border": "0rpx",
"padding-left": "16px",
},
form: {
category: "vcoin",
amount: '',
password: '',
acctIdtipsShow: '',
remark: '',
},
accountName: null,
accountShow: false,
accountOption: [],
accountLoading: false,
tipsShow:false,
text:`甲方(委托人):信任桥用户
乙方(受托人): 信任桥(深圳)网络科技有限公司
统一社会信用代码:91440300MAD3XHDP7C
鉴于条款
1. 甲乙双方已签署《消费型合伙人合作协议》《分红权代持协议》及《承诺书》(以下统称“原协议”),甲方通过购买TB信任桥商城产品取得分红权代持资格。
2. 为规范甲方对“TBC”(TrustBridge Coin,信任桥数字权益凭证)的行权行为,明确双方权利义务,现就甲方将TBC转移至交易所变现事宜达成补充约定。
第一条 定义与行权规则
1. TBC行权变现:指甲方向乙方申请将其持有的TBC通过非关联交易所进行行权的行为。
2. 自动失效条款:
 若甲方将TBC转移至非关联交易所进行行权变现,视为甲方单方终止原协议项下所有权利义务。
 甲方行权变现后,立即丧失以下权益:
(1)TB信任桥商城产品分红权;
(2)所有未兑现的分红收益;
第二条 协议终止与责任划分
1. 协议终止:
 甲方触发行权变现条件后,原协议、《分红权代持协议》及《承诺书》自动终止,双方权利义务关系终结。
 乙方有权立即冻结甲方账户,停止后续分红发放。
2. 责任承担:
 甲方承诺行权变现行为合法合规,若因行权行为导致乙方或关联方遭受行政处罚、声誉损失或第三方索赔,甲方应承担全部赔偿责任。
 乙方对甲方行权后的资金流向不承担监管责任。
第三条 特别提示与风险告知
1. 风险警示:
 TBC行权变现可能涉及市场波动、汇率风险及合规风险,甲方应自行承担全部后果。
 乙方不对TBC的流通性、价值稳定性作出任何承诺。
2. 合规要求:
 甲方承诺行权变现资金用途合法,不得用于非法活动或洗钱行为。
 若监管部门要求追溯资金来源或用途,甲方应全力配合并提供证明材料。
第四条 生效条件
1. 本补充协议自甲方点击确认后生效,与原协议具有同等法律效力。
2. 本协议未尽事宜,以原协议约定为准;与原协议冲突的,以本协议为准。`
};
},
onShow() {
this.getAcctBalance();
},
methods: {
// 查询余额
async getAcctBalance() {
const resp = await getAcctBalance();
let data = {};
if (resp && resp.bizcode === 100) {
if (resp.data) {
resp.data.map(item => {
// 交易币
if (item.categoty === "vcoin") {
data = item;
}
})
}
}
this.categotyObj = data;
},
async addWithdrawal() {
this.form.password = CryptoJS.MD5(this.form.password).toString()
const params = this.form;
if (!params.amount) {
this.$refs.uToastRef.show({
type: 'error',
message: "请输入行权金额",
});
return;
}
if (!params.acctId) {
this.$refs.uToastRef.show({
type: 'error',
message: "请选择行权账户",
});
return;
}
if (!params.password) {
this.$refs.uToastRef.show({
type: 'error',
message: "请输入交易密码",
});
return;
}
console.log("params", params);
const resp = await exchTransfer(params);
if (resp && resp.bizcode === 100) {
this.$refs.uToastRef.show({
type: 'success',
message: "提交成功",
});
setTimeout(() => {
uni.navigateTo({
url: '/pages/rwa_package/rwa/rwa',
})
}, 2000)
}
},
// 选择账户的弹框
async accountShowCheck(status) {
if (status) {
this.accountLoading = true;
const params = {
page: 1,
pageSize: 99,
}
const resp = await getExchUsers(params);
if (resp && resp.bizcode === 100) {
this.accountOption = [resp.data.entitys] || [];
}
this.accountLoading = false;
} else {
this.accountOption = [[]];
}
this.accountShow = status;
},
// 提交
accountConfirm(e) {
const {
columnIndex,
value,
values,
index,
} = e;
if (!value || value.length === 0) {
this.$refs.uToastRef.show({
type: 'error',
message: "请先选择账户",
});
return;
}
const data = value[0];
this.form.acctId = data.id;
this.accountName = data.account;
this.accountShowCheck(false);
},
// 设置交易密码
jumpSettingPwd() {
this.tipsShow = true;
// uni.navigateTo({
// url: '/pages/mine_package/mine_transaction_password/mine_transaction_password',
// })
}
}
}
</script>
<style lang="scss">
.rwa_withdrawal {
background: #F5F5F5;
.rwa_withdrawal_content {
padding: 20rpx;
height: calc(100vh - 198rpx);
._content {
padding: 30rpx;
background: #FFFFFF;
border-radius: 24rpx;
margin-bottom: 60rpx;
._content_usdt {
display: flex;
justify-content: space-between;
font-weight: bold;
font-size: 30rpx;
color: #333333;
border-bottom: 2rpx solid #EEEEEE;
padding: 0 0 20rpx;
}
._content_item {
margin-top: 30rpx;
._content_item_title {
margin-bottom: 20rpx;
font-weight: bold;
font-size: 30rpx;
color: #333333;
}
._content_item_setting_pwd {
color: $app-zt-color;
cursor: pointer;
text-decoration: underline;
font-size: 26rpx;
margin-left: 10rpx;
}
._content_item_msg {
font-weight: 500;
font-size: 24rpx;
color: #808080;
margin-top: 16rpx;
}
._content_item_account {
display: flex;
justify-content: space-between;
align-items: center;
background: #F8F8F8;
border-radius: 20rpx;
padding: 30rpx 20rpx;
font-weight: 500;
font-size: 28rpx;
color: #333333;
}
}
}
}
}
</style>
@@ -13,7 +13,7 @@
<!-- <view class="_content_item_no _content_item_no_buto" v-if="item.exchNo">股东流水号:{{item.exchNo}}</view> -->
<view class="_content_item_but">
<view class="_content_item_left">
<up-image src="/static/rwa/account.png" width="40" height="40" bgColor="#f1f6ff00" />
<up-image src="/pages/rwa_package/static/rwa/account.png" width="40" height="40" bgColor="#f1f6ff00" />
<view class="_content_item_left_">
<view class="_content_item_left_title">{{ item.name }}-{{ item.account }}</view>
<view class="_content_item_left_val">{{
@@ -40,7 +40,7 @@
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${item.antChainHash}`
}}
</view>
<up-image style="margin-left: 8rpx" src="/static/rwa/copy.png" width="12" @click="
<up-image style="margin-left: 8rpx" src="/pages/rwa_package/static/rwa/copy.png" width="12" @click="
copyData(
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${item.antChainHash}`
)
@@ -91,7 +91,7 @@
RWA_STATUS,
getValue
} from "@/utils/enumUtils.js";
import QrcodePreview from "@/pages/rwa_package/component/qrcode-preview.vue";
import QrcodePreview from "@/components/qrcode-preview.vue";
export default {
components: {
Header,
+2 -3
View File
@@ -27,7 +27,6 @@
<MyBtn class="mt-48" @ok="onOutLogin" text="退出登录"></MyBtn>
</view>
<up-toast ref="uToastRef"></up-toast>
<!-- 腾讯电子签H5 → 集成到UniApp -->
</view>
</template>
@@ -274,10 +273,10 @@ export default {
url = '/pages/rwa_package/accountSafe/accountSafe'
break;
case 1:
url = '/pages/rwa_package/dongjian/index'
url = '/pages/rwa_package/insights/index'
break;
case 2:
url = '/pages/rwa_package/zhaopian/zhaopian'
url = '/pages/rwa_package/store-photo/store-photo'
break;
case 3:
url = '/pages/mine_package/mine_user_agreement/mine_user_agreement'
@@ -26,12 +26,12 @@
<!-- 原来单个 v-for 替换成两列 -->
<view class="mescrollUniView">
<view class="fall-col">
<PingItem v-for="(item, i) in leftList" :key="item.id" :obj="item" @ok="onJumpShop"
class="ping-item" />
<ParityProductItem v-for="(item, i) in leftList" :key="item.id" :obj="item" @ok="onJumpShop"
class="parity-product-item" />
</view>
<view class="fall-col">
<PingItem v-for="(item, i) in rightList" :key="item.id" :obj="item" @ok="onJumpShop"
class="ping-item" />
<ParityProductItem v-for="(item, i) in rightList" :key="item.id" :obj="item" @ok="onJumpShop"
class="parity-product-item" />
</view>
</view>
</mescroll-uni>
@@ -50,11 +50,11 @@ import { getAcctBalance } from "@/api/finance.js";
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
import MescrollUni from "@/components/mescroll-uni/mescroll-uni.vue";
import PingItem from "@/components/shop/ping-item.vue";
import ParityProductItem from "@/components/shop/parity-product-item.vue";
export default {
mixins: [MescrollMixin],
components: { Header, TopSafe, MyBtn, PingItem, MescrollUni, },
components: { Header, TopSafe, MyBtn, ParityProductItem, MescrollUni, },
data() {
return {
dataList: [],
@@ -78,13 +78,13 @@
</view>
<view class="setting-view">
<YouItem
<PreferredProductItem
@ok="onJumpShop"
style="margin-bottom: 24rpx"
:obj="item"
v-for="(item, index) in dataList"
:key="index"
></YouItem>
></PreferredProductItem>
</view>
<up-toast ref="uToastRef"></up-toast>
</view>
@@ -94,12 +94,12 @@
import shopHeader from "@/components/common/shopHeader.vue";
import TopSafe from "@/components/common/top-safe.nvue";
import MyBtn from "@/components/common/my-btn.vue";
import YouItem from "@/components/shop/you-item.vue";
import PreferredProductItem from "@/components/shop/preferred-product-item.vue";
import { searchList } from "@/api/product.js";
import { getCarouselImage } from "@/api/common.js";
export default {
components: { shopHeader, TopSafe, MyBtn, YouItem },
components: { shopHeader, TopSafe, MyBtn, PreferredProductItem },
data() {
return {
dataList: [],
@@ -132,7 +132,7 @@ export default {
},
jumpSearch() {
uni.navigateTo({
url: "/pages/rwa_package/dongjian/search",
url: "/pages/rwa_package/insights/search",
});
},
// 跳转到商品详情
+3 -3
View File
@@ -10,7 +10,7 @@
</Header>
<view class="setting-view">
<view class="name-box" v-if="dataList.length">
<PingItem @ok="onJumpShop" style="margin-top:24rpx" :obj="item" v-for="(item,index) in dataList" :key="index"></PingItem>
<ParityProductItem @ok="onJumpShop" style="margin-top:24rpx" :obj="item" v-for="(item,index) in dataList" :key="index"></ParityProductItem>
</view>
<view class="bottom-scroll-no " v-else>
<text class="text-32" >暂无数据</text>
@@ -27,9 +27,9 @@ import MyBtn from '@/components/common/my-btn.vue'
import { searchList } from '@/api/product.js';
import { getCascadeCategory } from '@/api/common.js';
import PingItem from "@/components/shop/ping-item.vue";
import ParityProductItem from "@/components/shop/parity-product-item.vue";
export default {
components: { Header, TopSafe,MyBtn,PingItem },
components: { Header, TopSafe,MyBtn,ParityProductItem },
data() {
return {
dataList:[
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 647 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1008 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

@@ -48,7 +48,7 @@ export default {
},
onJump(index){
uni.navigateTo({
url:`/pages/rwa_package/zhao/zhao?type=${index}`
url:`/pages/rwa_package/business-license/business-license?type=${index}`
})
}
}
+1 -1
View File
@@ -37,7 +37,7 @@
@change="(event) => productChange(event, index, pIndex)">
</up-checkbox>
<view class="info_item">
<up-image :src="pItem.mainGraph" width="100" height="100" bgColor="#f1f6ff00"
<up-image :lazy-load="true" :src="pItem.mainGraph" width="100" height="100" bgColor="#f1f6ff00"
@click="jumpInfo(pItem)"></up-image>
<view class="content_info">
<view class="shopping_content_info_title" @click="jumpInfo(pItem)">{{ pItem.name }}</view>
+3 -3
View File
@@ -45,9 +45,9 @@
<text>{{ item.name }}</text>
</view>
<view class="item-container" v-if="item.foods && item.foods.length !== 0">
<view class="thumb-box" v-for="(item1, index1) in item.foods" :key="index1" @click="jumpInfo(item1)">
<view class="thumb-box" v-for="(item1, index1) in item.foods" :key="item1.id || index1" @click="jumpInfo(item1)">
<image class="item-menu-image" :src="item1.icon ? item1.icon : '/static/common/def_img.jpg'"
mode="aspectFill">
mode="aspectFill" lazy-load>
</image>
<view class="item-menu-name">{{ item1.name }}</view>
</view>
@@ -154,7 +154,7 @@ export default {
},
jumpSearch(item) {
uni.navigateTo({
url: "/pages/rwa_package/dongjian/search",
url: "/pages/rwa_package/insights/search",
});
},
jumpInfo(item) {
+6 -6
View File
@@ -26,11 +26,11 @@
<!-- 原来单个 v-for 替换成两列 -->
<view class="mescrollUniView">
<view class="fall-col">
<PingItem v-for="(item, i) in leftList" :key="item.id" :obj="item" @ok="onJumpShop"
<ParityProductItem v-for="(item, i) in leftList" :key="item.id" :obj="item" @ok="onJumpShop"
style="margin-top: 24rpx" />
</view>
<view class="fall-col">
<PingItem v-for="(item, i) in rightList" :key="item.id" :obj="item" @ok="onJumpShop"
<ParityProductItem v-for="(item, i) in rightList" :key="item.id" :obj="item" @ok="onJumpShop"
style="margin-top: 24rpx" />
</view>
</view>
@@ -48,7 +48,7 @@
import Header from "@/components/common/header.vue";
import TopSafe from "@/components/common/top-safe.nvue";
import MyBtn from "@/components/common/my-btn.vue";
import PingItem from "@/components/shop/ping-item.vue";
import ParityProductItem from "@/components/shop/parity-product-item.vue";
import { searchList, getGoodsTags } from "@/api/product.js";
import CustomTabBar from "@/components/custom-tab-bar.vue";
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
@@ -56,7 +56,7 @@ import MescrollUni from "@/components/mescroll-uni/mescroll-uni.vue";
export default {
mixins: [MescrollMixin],
components: { Header, TopSafe, MyBtn, PingItem, CustomTabBar, MescrollUni },
components: { Header, TopSafe, MyBtn, ParityProductItem, CustomTabBar, MescrollUni },
computed: {
isApp() {
// #ifdef APP-PLUS
@@ -258,7 +258,7 @@ export default {
onJumpSearch() {
uni.navigateTo({
url: "/pages/rwa_package/dongjian/search",
url: "/pages/rwa_package/insights/search",
});
},
onJumpShop(id) {
@@ -397,7 +397,7 @@ export default {
.fall-col {
width: 332rpx;
/* 与 PingItem 宽度一致 */
/* 与 ParityProductItem 宽度一致 */
height: 100%;
}
}