Merge branch 'develop' into dongjian

This commit is contained in:
2025-10-17 14:41:35 +08:00
34 changed files with 390 additions and 277 deletions
+9
View File
@@ -165,3 +165,12 @@ export function cancelOrder(data) {
data, data,
}); });
} }
// 删除订单
export function deleteOrderQuery(data) {
return request({
url: "/order/deleteOrder",
method: "post",
data,
});
}
+4 -1
View File
@@ -93,6 +93,8 @@ export default {
bottom: 0; bottom: 0;
width: 100%; width: 100%;
padding-bottom: calc(env(safe-area-inset-bottom)); padding-bottom: calc(env(safe-area-inset-bottom));
box-sizing: border-box;
border-top:2rpx solid #eaeaea;
&.iosplatformType { &.iosplatformType {
height: 100rpx; height: 100rpx;
padding-bottom: 0; padding-bottom: 0;
@@ -115,10 +117,11 @@ export default {
.tab-text { .tab-text {
font-size: 24rpx; font-size: 24rpx;
color:#666;
/* 文字大小 */ /* 文字大小 */
} }
.tab-text-sel { .tab-text-sel {
color: $app-bt-bj; color: #7934F6;
} }
</style> </style>
+1 -1
View File
@@ -8,7 +8,7 @@
<text class="text-32 text-bold text-zu text-overflow1">{{obj.title}}</text> <text class="text-32 text-bold text-zu text-overflow1">{{obj.title}}</text>
</view> </view>
<view class="right-bottom-view"> <view class="right-bottom-view">
<text class="text-28 text-zi text-bold">¥{{obj.price}}积分</text> <text class="text-28 text-zi text-bold">¥{{obj.price}}兑换券</text>
<MyBtn @ok="onClick" mh="64rpx" text="立即兑换" br="8rpx" bg="linear-gradient( 270deg, #B164FB 0%, #7934F6 100%)" wd="200rpx"></MyBtn> <MyBtn @ok="onClick" mh="64rpx" text="立即兑换" br="8rpx" bg="linear-gradient( 270deg, #B164FB 0%, #7934F6 100%)" wd="200rpx"></MyBtn>
</view> </view>
</view> </view>
+4 -1
View File
@@ -8,7 +8,10 @@
<text class="text-32 text-bold text-zu text-overflow1">{{obj.title}}</text> <text class="text-32 text-bold text-zu text-overflow1">{{obj.title}}</text>
</view> </view>
<view class="right-bottom-view"> <view class="right-bottom-view">
<view class="flex-c-lr" style="height:70rpx"> <view class="flex-c-lr" >
<view class="text-24" style="color:#FF5A5A;width: 112rpx;height: 32rpx;" v-if="obj.tag">
<image src="/static/shopping/tg.png" style="width: 112rpx;height: 32rpx;"></image>
</view>
<text class="text-24 text-fu">原价</text> <text class="text-24 text-fu">原价</text>
<text class="text-24 text-fu text-d text-bold">¥{{obj.adPrice}}</text> <text class="text-24 text-fu text-d text-bold">¥{{obj.adPrice}}</text>
</view> </view>
+2 -3
View File
@@ -3,7 +3,7 @@
"appid" : "__UNI__4910728", "appid" : "__UNI__4910728",
"description" : "信任桥优品是一款集线上商城、线下联盟商家的DAO聚合商城;通过“有趣”“有利”“有希望”的卖货玩法,吸引消费者、推广者、商家、投资人参与生态,共同打造共创共享的全球产业生态。", "description" : "信任桥优品是一款集线上商城、线下联盟商家的DAO聚合商城;通过“有趣”“有利”“有希望”的卖货玩法,吸引消费者、推广者、商家、投资人参与生态,共同打造共创共享的全球产业生态。",
"versionName" : "1.0.1", "versionName" : "1.0.1",
"versionCode" : 131, "versionCode" : 134,
"transformPx" : false, "transformPx" : false,
/* 5+App特有相关 */ /* 5+App特有相关 */
"app-plus" : { "app-plus" : {
@@ -82,8 +82,7 @@
"weixin" : { "weixin" : {
"appid" : "wx7a5902cd556d9396", "appid" : "wx7a5902cd556d9396",
"UniversalLinks" : "https://app.tbmall.xin/uni-universallinks/__UNI__4910728/" "UniversalLinks" : "https://app.tbmall.xin/uni-universallinks/__UNI__4910728/"
}, }
"apple" : {}
} }
}, },
"icons" : { "icons" : {
+4 -4
View File
@@ -541,11 +541,11 @@
] ]
}], }],
"tabBar": { "tabBar": {
// "color": "#000000", "color": "#666",
// "selectedColor": "#03AD27", "selectedColor": "#7934F6",
// "borderStyle": "black", "borderStyle": "black",
// "backgroundColor": "#F8F8F8", // "backgroundColor": "#F8F8F8",
"custom": true, // "custom": true,
"list": [{ "list": [{
"pagePath": "pages/home/home", "pagePath": "pages/home/home",
"text": "%index.home%", "text": "%index.home%",
+2 -24
View File
@@ -99,7 +99,7 @@
<view class="min_card_item" @click="jumpIntegral"> <view class="min_card_item" @click="jumpIntegral">
<!-- <up-image src="/static/home/min_card_jfdh.png" width="60" height="14" bgColor="#f1f6ff00" ></up-image> --> <!-- <up-image src="/static/home/min_card_jfdh.png" width="60" height="14" bgColor="#f1f6ff00" ></up-image> -->
<view class="min_card_item_content"> <view class="min_card_item_content">
<view class="min_card_item_title">积分兑换</view> <view class="min_card_item_title">信任桥兑换</view>
<view class="content_msg"> <view class="content_msg">
<view>好物随心兑</view> <view>好物随心兑</view>
<view class="content_msg_but"> <view class="content_msg_but">
@@ -235,29 +235,7 @@ export default {
currentLanguage: {}, currentLanguage: {},
yxProduct: [],// 好物优选列表 yxProduct: [],// 好物优选列表
faddishProduct: [],// 爆款专区 faddishProduct: [],// 爆款专区
hotList: [ hotList: [],// 热门
{
id: 1,
name: "中文中文中文中文中文",
url: "/static/common/product_def.png",
price: 99,
}, {
id: 2,
name: "中文中文中文中文",
url: "/static/common/product_def.png",
price: 99,
}, {
id: 3,
name: "中文中文中文中文中文",
url: "/static/common/product_def.png",
price: 99,
}, {
id: 4,
name: "中文中文中文中文中文",
url: "/static/common/product_def.png",
price: 99,
},
],// 热门
productLoading: false, productLoading: false,
openShow: false, openShow: false,
platformType: null,// 当前设备信息 platformType: null,// 当前设备信息
@@ -248,7 +248,7 @@ export default {
} }
.register_ifo_warp { .register_ifo_warp {
margin-top: 30rpx; margin-top: 90rpx;
.register_info_item { .register_info_item {
margin-bottom: 40rpx; margin-bottom: 40rpx;
+2 -2
View File
@@ -92,7 +92,7 @@
<view @click="jumpRegister">注册</view> <view @click="jumpRegister">注册</view>
</view> </view>
</view> </view>
<view v-if="!isIOS"> <view >
<view class="other_login">其他登录方式</view> <view class="other_login">其他登录方式</view>
<view class="login_other_icon"> <view class="login_other_icon">
<view class="login_other_item" @click="wechatOneLogin"> <view class="login_other_item" @click="wechatOneLogin">
@@ -104,7 +104,7 @@
></up-image> ></up-image>
微信登录 微信登录
</view> </view>
<view class="login_other_item" @click="alipayOneLogin"> <view v-if="!isIOS" class="login_other_item" @click="alipayOneLogin">
<up-image <up-image
src="/static/login/ZFB.png" src="/static/login/ZFB.png"
width="44" width="44"
@@ -326,6 +326,7 @@ export default {
.register_warp { .register_warp {
height: calc(100vh - 280rpx); height: calc(100vh - 280rpx);
padding: 40rpx; padding: 40rpx;
margin-top: 60rpx;
} }
.register_title_warp { .register_title_warp {
+1 -1
View File
@@ -370,7 +370,7 @@ export default {
{ {
id: ORDER_TYPE.AFTER_SALE, id: ORDER_TYPE.AFTER_SALE,
title: "售后", title: "售后",
url: "/static/mine/order_afterSale.png", url: "/static/new/shouhou.png",
path: path:
"/pages/mine_package/mine_order/mine_order?type=" + "/pages/mine_package/mine_order/mine_order?type=" +
MINE_ORDER_TYPE.AFTER_SALE, MINE_ORDER_TYPE.AFTER_SALE,
@@ -8,7 +8,7 @@
<view style="margin-left: 20rpx;">{{ item.phone }}</view> <view style="margin-left: 20rpx;">{{ item.phone }}</view>
</view> </view>
<view class="address_item_address"> <view class="address_item_address">
{{ item.countryName }} {{ item.provinceName }} {{ item.cityName }} {{ item.areaName }} {{ item.address }}{{ item.townshipName }} {{ item.countryName }} {{ item.provinceName }} {{ item.cityName }} {{ item.areaName }} {{ item.townshipName }} {{ item.address }}
</view> </view>
<view class="address_operate"> <view class="address_operate">
<up-checkbox :customStyle="{}" label="已默认" name="agree" usedAlone :checked="item.isDefault" shape="circle" <up-checkbox :customStyle="{}" label="已默认" name="agree" usedAlone :checked="item.isDefault" shape="circle"
@@ -203,6 +203,7 @@ export default {
this.form.countryId = regionId[0] ? regionId[0] : null; this.form.countryId = regionId[0] ? regionId[0] : null;
this.form.provinceId = regionId[1] ? regionId[1] : null; this.form.provinceId = regionId[1] ? regionId[1] : null;
this.form.cityId = regionId[2] ? regionId[2] : null; this.form.cityId = regionId[2] ? regionId[2] : null;
this.form.areaId = regionId[3] ? regionId[3] : null;
this.form.townshipId = regionId[4] ? regionId[4] : null; this.form.townshipId = regionId[4] ? regionId[4] : null;
} }
this.regionShowCheck(false); this.regionShowCheck(false);
@@ -75,7 +75,7 @@
<!-- 提成统计--> <!-- 提成统计-->
<view class="royalty_warp"> <view class="royalty_warp">
<!-- 提成货币 --> <!-- 提成货币 -->
<view class="card_item_comm" @click="currencyShowCheck(true)" style="padding: 30rpx 30rpx 0;"> <view class="card_item_comm" style="padding: 30rpx 30rpx 0;">
<view class="card_title_comm"> <view class="card_title_comm">
提成货币 提成货币
</view> </view>
@@ -124,7 +124,7 @@
<view class="royalty_data_">{{ formatDate(item.ctdate) }}</view> <view class="royalty_data_">{{ formatDate(item.ctdate) }}</view>
</view> </view>
<view> <view>
<view class="royalty_title_ royalty_title_amount">{{ item.amount }}元</view> <view class="royalty_title_ royalty_title_amount">{{ item.amount }}</view>
<view class="royalty_data_">{{ item.status ? "已结算" : "未结算" }}</view> <view class="royalty_data_">{{ item.status ? "已结算" : "未结算" }}</view>
</view> </view>
</view> </view>
+158 -95
View File
@@ -60,10 +60,20 @@
</view> </view>
</view> </view>
<view class="content_item_yd" v-if="pItem.expressNo && pItem.expressData"> <view class="content_item_yd" v-if="pItem.expressNo && pItem.expressData">
<view class="express-view text-overflow1"> <view class="express-view text-overflow1" v-if="
<u-icon name="email" color="#333" size="20"></u-icon> Array.isArray(pItem.expressData?.logisticsTraceDetailList)
<text class="text-24 text-zu1 text-space" style="margin-left:10rpx;">{{pItem.expressData.logisticsStatusDesc}}</text> ">
<text class="text-24 text-fu text-space text-overflow1" style="margin-left:10rpx;">{{pItem.expressData.logisticsTraceDetailList[0].desc}}</text> <u-icon name="email" color="#333" size="20"></u-icon>
<text class="text-24 text-zu1 text-space" style="margin-left: 10rpx">{{
pItem.expressData.logisticsStatusDesc }}</text>
<text class="text-24 text-fu text-space text-overflow1" style="margin-left: 10rpx">{{
Array.isArray(pItem.expressData?.logisticsTraceDetailList)
? pItem.expressData?.logisticsTraceDetailList[
pItem.expressData.logisticsTraceDetailList.length -
1
].desc
: ""
}}</text>
</view> </view>
<!-- <view style="margin-left: 10rpx"> <!-- <view style="margin-left: 10rpx">
<up-image src="/static/common/copy.png" width="14" height="14" bgColor="#f1f6ff00" <up-image src="/static/common/copy.png" width="14" height="14" bgColor="#f1f6ff00"
@@ -74,7 +84,7 @@
</view> </view>
<!-- 汇总 --> <!-- 汇总 -->
<view class="order_item_collect"> <view class="order_item_collect">
<!-- <view class="collect_msg collect_msg_s" v-if="this.form.type === MINE_ORDER_TYPE.NOT_RECEIVE"> <!-- <view class="collect_msg collect_msg_s" v-if="this.form.type === MINE_ORDER_TYPE.NOT_RECEIVE">
<view class="content_item_yd_msg">(快递动态跟进请复制单号至[快递100官网] 查询)</view> <view class="content_item_yd_msg">(快递动态跟进请复制单号至[快递100官网] 查询)</view>
<view>共{{ item.buyNum }}件,合计¥{{ item.sumAmount }}</view> <view>共{{ item.buyNum }}件,合计¥{{ item.sumAmount }}</view>
</view> --> </view> -->
@@ -90,10 +100,10 @@
<view class="operate_comm operate_but_2" v-if="item.status === ORDER_TYPE.NOT_RECEIVE" <view class="operate_comm operate_but_2" v-if="item.status === ORDER_TYPE.NOT_RECEIVE"
@click="confirmReceiptOk(item)">确认收货</view> @click="confirmReceiptOk(item)">确认收货</view>
<view class="operate_comm operate_but_1" style="borderColor: #7732FF;" v-if="form.type == 3" <view class="operate_comm operate_but_1" style="bordercolor: #7732ff" v-if="form.type == 3"
@click="onExpress(item.id,item.items.expressNo)"> @click="onExpress(item.id, item.items.expressNo)">
<text class="text-zi">查看物流</text> <text class="text-zi">查看物流</text>
</view> </view>
<view class="operate_comm operate_but_2" v-if=" <view class="operate_comm operate_but_2" v-if="
!isCheckSigne && !isCheckSigne &&
@@ -113,7 +123,9 @@
? 'operate_but_3' ? 'operate_but_3'
: 'operate_but_1', : 'operate_but_1',
]" v-if="!item.isAfter && form.type !== MINE_ORDER_TYPE.AFTER_SALE" @click="onSaleAfter(item)"> ]" v-if="!item.isAfter && form.type !== MINE_ORDER_TYPE.AFTER_SALE" @click="onSaleAfter(item)">
{{ form.type === MINE_ORDER_TYPE.UNPAID ? "取消支付" : "售后" }} {{
form.type === MINE_ORDER_TYPE.UNPAID ? "取消支付" : "去售后"
}}
</view> </view>
<view class="operate_comm operate_but_1" v-if="form.type === MINE_ORDER_TYPE.AFTER_SALE" <view class="operate_comm operate_but_1" v-if="form.type === MINE_ORDER_TYPE.AFTER_SALE"
@@ -121,7 +133,12 @@
售后详情 售后详情
</view> </view>
<!-- <view class="operate_comm operate_but_1" v-if="item.status === ORDER_TYPE.AFTER_SALE">查看售后</view> --> <!-- <view class="operate_comm operate_but_1" v-if="item.status === ORDER_TYPE.AFTER_SALE">查看售后</view> -->
<!-- <view class="operate_comm operate_but_1" v-if="[ORDER_TYPE.COMPLETED].includes(item.status)">删除记录</view> --> <view class="operate_comm operate_but_1 operate_comm_delete" v-if="
[
MINE_ORDER_TYPE.SUCCEED,
MINE_ORDER_TYPE.AFTER_SALE,
].includes(form.type)
" @click="deleteOrder(item)">删除</view>
<!-- <view class="operate_comm operate_but_3" v-if="[ORDER_TYPE.COMPLETED,ORDER_TYPE.CANCELED].includes(item.status)">再次购买</view> --> <!-- <view class="operate_comm operate_but_3" v-if="[ORDER_TYPE.COMPLETED,ORDER_TYPE.CANCELED].includes(item.status)">再次购买</view> -->
</view> </view>
</view> </view>
@@ -187,7 +204,7 @@
<up-image src="/static/common/kf_dh.png" width="40" height="40" bgColor="#f1f6ff00"></up-image> <up-image src="/static/common/kf_dh.png" width="40" height="40" bgColor="#f1f6ff00"></up-image>
</view> </view>
<view class="content_info" @click="onKefu"> <view class="content_info" @click="onKefu">
<view class="content_info_title" style="margin-top:20rpx">在线客服</view> <view class="content_info_title" style="margin-top: 20rpx">在线客服</view>
<!-- <view class="content_info_mobile"> <!-- <view class="content_info_mobile">
{{ PHONE_NUMBER }} {{ PHONE_NUMBER }}
<view style="margin-left: 20rpx"> <view style="margin-left: 20rpx">
@@ -244,9 +261,11 @@
confirmColor="#7934F6" title="提示" content="签署合同需要进行实名认证,请先完成实名认证"></u-modal> confirmColor="#7934F6" title="提示" content="签署合同需要进行实名认证,请先完成实名认证"></u-modal>
<DownPopup :show="downShow" @ok="onSignContract" @cancel="onCancel" /> <DownPopup :show="downShow" @ok="onSignContract" @cancel="onCancel" />
<u-modal :show="deleteShow" title="提示" showCancelButton @cancel="deleteShow = false" @confirm="againDeleteOrder"
content="确定删除吗?"></u-modal>
<u-modal class="sure_pay" :show="surePayShow" title="提示" showCancelButton @cancel="surePayShow = false" @confirm="cancelPay" confirmColor="#7934F6" <u-modal class="sure_pay" :show="surePayShow" title="提示" showCancelButton @cancel="surePayShow = false"
content="确定取消支付吗?"></u-modal> @confirm="cancelPay" confirmColor="#7934F6" content="确定取消支付吗?"></u-modal>
</view> </view>
</template> </template>
@@ -268,7 +287,8 @@ import {
getMiniProgramSignUrl, getMiniProgramSignUrl,
afterSaleDetail, afterSaleDetail,
cancelOrder, cancelOrder,
orderLogistics orderLogistics,
deleteOrderQuery
} from "@/api/order.js"; } from "@/api/order.js";
import dayjs from "dayjs"; import dayjs from "dayjs";
import { formatDate1, copyData } from "@/utils/index.js"; import { formatDate1, copyData } from "@/utils/index.js";
@@ -354,15 +374,16 @@ export default {
search: "", search: "",
activeIndex: 0, activeIndex: 0,
aftterSalesProduct: {}, //售后商品信息 aftterSalesProduct: {}, //售后商品信息
deleteShow: false,
deleteInfo: {}
}; };
}, },
onLoad(options) { onLoad(options) {
const type = options.type; const type = options.type;
this.form.type = this.form.type = type ? parseInt(type, 10) : MINE_ORDER_TYPE.UNPAID;
type ? parseInt(type, 10) : MINE_ORDER_TYPE.UNPAID; this.$nextTick(() => {
this.$nextTick(()=>{ this.loadData();
this.loadData(); });
})
// 待收货判断是否签署 // 待收货判断是否签署
if ( if (
this.form.type === MINE_ORDER_TYPE.NOT_RECEIVE || this.form.type === MINE_ORDER_TYPE.NOT_RECEIVE ||
@@ -377,30 +398,29 @@ export default {
getValue, getValue,
formatDate1, formatDate1,
copyData, copyData,
onExpress(itemId){ onExpress(itemId) {
console.log('onExpress',itemId) console.log("onExpress", itemId);
// let expressId = // let expressId =
uni.navigateTo({ uni.navigateTo({
url:`/pages/rwa_package/setting/express?id=${itemId}` url: `/pages/rwa_package/setting/express?id=${itemId}`,
}) });
}, },
onNextRefund() { onNextRefund() {
this.salesServer = 2; this.salesServer = 2;
this.aftterSalesProduct = { this.aftterSalesProduct = {
...this.aftterSalesProduct, ...this.aftterSalesProduct,
...{ afterReason: this.cancelForm.afterReason }, ...{ afterReason: this.cancelForm.afterReason },
};
}
}, },
onSaleAfterTab() { onSaleAfterTab() {
this.checkType({ id: MINE_ORDER_TYPE.AFTER_SALE, title: "售后" }); this.checkType({ id: MINE_ORDER_TYPE.AFTER_SALE, title: "售后" });
}, },
onKefu(){ onKefu() {
uni.navigateTo({ uni.navigateTo({
url:'/pages/rwa_package/setting/kefu?type=5261' url: "/pages/rwa_package/setting/kefu?type=5261",
}) });
}, },
// 售后 // 售后
onSaleAfter(item) { onSaleAfter(item) {
console.log("售后---1", item, this.form.type); console.log("售后---1", item, this.form.type);
@@ -409,7 +429,6 @@ export default {
// 取消支付 // 取消支付
this.cancelPayParams = { orderId: item.id }; this.cancelPayParams = { orderId: item.id };
this.surePayShow = true; this.surePayShow = true;
} else { } else {
// 未售后 // 未售后
this.cancelForm.afterReason = ""; this.cancelForm.afterReason = "";
@@ -418,7 +437,8 @@ export default {
this.aftterSalesProduct = item; this.aftterSalesProduct = item;
this.afterShow = true; this.afterShow = true;
this.aftterSalesProduct.status = 9; this.aftterSalesProduct.status = 9;
this.aftterSalesProduct.afterType = this.form.type == MINE_ORDER_TYPE.UNSHIPPED ? 1 : 2; this.aftterSalesProduct.afterType =
this.form.type == MINE_ORDER_TYPE.UNSHIPPED ? 1 : 2;
} }
}, },
// 售后订单详情 // 售后订单详情
@@ -453,9 +473,42 @@ export default {
this.afterShow = false; this.afterShow = false;
}, },
// 删除
deleteOrder(item) {
console.log("删除", item);
this.deleteShow = true;
this.deleteInfo = item;
},
async againDeleteOrder() {
let params;
if (this.deleteInfo.status === 4) {
params = {
orderId: this.deleteInfo.id,
type: 1
}
}
if (this.deleteInfo.status === 7) {
params = {
orderId: this.deleteInfo.afterId,
type: 2
}
}
console.log("删除-1", params);
const res = await deleteOrderQuery(params);
if (res.bizcode == 100) {
this.$refs.uToastRef.show({
type: "success",
message: "删除成功",
});
this.deleteShow = false;
this.form.page = 1;
this.orderList = [];
this.loadData();
}
},
// 取消支付 // 取消支付
cancelPay() { cancelPay() {
cancelOrder(this.cancelPayParams).then((res) => { cancelOrder(this.cancelPayParams).then((res) => {
if (res.bizcode == 100) { if (res.bizcode == 100) {
this.$refs.uToastRef.show({ this.$refs.uToastRef.show({
@@ -548,30 +601,32 @@ export default {
}, },
// 加载数据的方法 // 加载数据的方法
async loadData(type = null) { async loadData(type = null) {
console.log("加载数据的方法",type); console.log("加载数据的方法", type);
if (this.loading) return; // 如果正在加载,则不重复加载 if (this.loading) return; // 如果正在加载,则不重复加载
this.loading = true; // 设置加载状态为true this.loading = true; // 设置加载状态为true
if(type){ if (type) {
this.form.page = 1; this.form.page = 1;
this.orderList = []; this.orderList = [];
} }
try { try {
// 模拟异步获取数据,实际应用中应该替换为你的数据获取逻辑,例如API调用 // 模拟异步获取数据,实际应用中应该替换为你的数据获取逻辑,例如API调用
const newData = await this.fetchData( const newData = await this.fetchData(
this.form.page, this.form.page,
this.form.pageSize this.form.pageSize
); );
if (newData.entitys && newData.entitys.length !== 0) { if (newData.entitys && newData.entitys.length !== 0) {
this.orderList = [...this.orderList, ...newData.entitys]; // 将新数据添加到列表中 this.orderList = [...this.orderList, ...newData.entitys]; // 将新数据添加到列表中
this.form.page++; // 页码加1 this.form.page++; // 页码加1
console.log("this.orderList", this.orderList); console.log("this.orderList", this.orderList);
} }
} catch (error) { } catch (error) {
console.error("加载数据失败:", error); console.error("加载数据失败:", error);
} finally { } finally {
console.log("this.orderList1111",JSON.parse(JSON.stringify(this.orderList))); console.log(
this.$forceUpdate(); "this.orderList1111",
JSON.parse(JSON.stringify(this.orderList))
);
this.$forceUpdate();
this.loading = false; // 设置加载状态为false this.loading = false; // 设置加载状态为false
} }
}, },
@@ -587,41 +642,43 @@ export default {
} }
const data = await getOrderList(params); const data = await getOrderList(params);
if (data && data.bizcode === 100) { if (data && data.bizcode === 100) {
for(let i=0;i<data.data.entitys.length;i++){ for (let i = 0; i < data.data.entitys.length; i++) {
for(let j=0;j<data.data.entitys[i].items.length;j++){ for (let j = 0; j < data.data.entitys[i].items.length; j++) {
if(data.data.entitys[i].items[j].expressNo){ if (data.data.entitys[i].items[j].expressNo) {
data.data.entitys[i].items[j].expressData = await this.getOrderLogistics(data.data.entitys[i].items[j].expressNo); data.data.entitys[i].items[j].expressData =
} await this.getOrderLogistics(
} data.data.entitys[i].items[j].expressNo
} );
// data.data.entitys.forEach(item=>{ }
// if(item.items.length){ }
// item.items.forEach(async (Iitem)=>{ }
// if(Iitem.expressNo){ // data.data.entitys.forEach(item=>{
// Iitem.expressData = await this.getOrderLogistics(Iitem.expressNo); // if(item.items.length){
// } // item.items.forEach(async (Iitem)=>{
// }) // if(Iitem.expressNo){
// } // Iitem.expressData = await this.getOrderLogistics(Iitem.expressNo);
// }) // }
// })
// }
// })
return data.data; return data.data;
} else { } else {
return ''; return "";
} }
}, },
async getOrderLogistics(id){ async getOrderLogistics(id) {
const params = { const params = {
mailNo:id mailNo: id,
}; };
const data = await orderLogistics(params); const data = await orderLogistics(params);
if(data.bizcode == 100){ if (data.bizcode == 100) {
return data.data; return data.data;
}else{ } else {
return []; return [];
} }
},
},
// 当滚动到底部时触发的方法 // 当滚动到底部时触发的方法
loadMore() { loadMore() {
this.loadData(); // 加载更多数据 this.loadData(); // 加载更多数据
@@ -774,16 +831,17 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.express-view{ .express-view {
width:100%; width: 100%;
height:52rpx; height: 52rpx;
background-color: #f5f5f5; background-color: #f5f5f5;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
border-radius: 4rpx; border-radius: 4rpx;
line-height: 1.6; line-height: 1.6;
} }
.after-sales-popup { .after-sales-popup {
height: 400px !important; height: 400px !important;
@@ -1101,8 +1159,13 @@ export default {
color: #ffffff; color: #ffffff;
} }
.sure_pay{ .operate_comm_delete {
::v-deep(.u-modal__content__text){ color: #f24a00;
border: 1rpx solid #f24a00;
}
.sure_pay {
::v-deep(.u-modal__content__text) {
text-align: center; text-align: center;
} }
} }
@@ -39,7 +39,8 @@
v-if="orderList && orderList.length !== 0"> v-if="orderList && orderList.length !== 0">
<view class="purse_info_left"> <view class="purse_info_left">
<!-- <up-image :src="item.type === 1? '/static/mine/purse_sf.png' : '/static/mine/purse_xf.png'" width="40" height="40" bgColor="#f1f6ff00"></up-image> --> <!-- <up-image :src="item.type === 1? '/static/mine/purse_sf.png' : '/static/mine/purse_xf.png'" width="40" height="40" bgColor="#f1f6ff00"></up-image> -->
<up-image src="/static/mine/purse_sf.png" width="32" height="32" bgColor="#f1f6ff00"></up-image> <up-image :src="item.amount > 0 ? '/static/mine/zhen.png' : '/static/mine/fu.png'" width="32" height="32" bgColor="#f1f6ff00"></up-image>
<view class="purse_data_warp"> <view class="purse_data_warp">
<view class="purse_info_name">{{ getValue(BALANCE_TYPE, item.type) }}</view> <view class="purse_info_name">{{ getValue(BALANCE_TYPE, item.type) }}</view>
<view class="purse_info_value">{{ formatDate(item.ctdate) }}</view> <view class="purse_info_value">{{ formatDate(item.ctdate) }}</view>
@@ -137,7 +138,7 @@ export default {
key: "totalMallBonus" key: "totalMallBonus"
}, },
{ {
name: "分红资金池剩余", name: "共享资金池剩余",
key: "poolBonus" key: "poolBonus"
}, },
]; ];
@@ -152,7 +153,7 @@ export default {
key: "cur" key: "cur"
}, },
{ {
name: "锁定次数", name: "锁定账户",
key: "lockAmount" key: "lockAmount"
}, },
@@ -218,7 +219,7 @@ export default {
key: "cur" key: "cur"
}, },
{ {
name: "锁定次数", name: "锁定账户",
key: "lockAmount" key: "lockAmount"
}, },
@@ -346,7 +347,7 @@ export default {
if (item.key === "cur") { if (item.key === "cur") {
id = this.curId; id = this.curId;
} }
if (item.key === "lock") { if (item.key === "lockAmount") {
id = this.lockId; id = this.lockId;
} }
if (item.key === "pre") { if (item.key === "pre") {
@@ -400,7 +401,7 @@ export default {
if (selInfo === "cur") { if (selInfo === "cur") {
id = this.curId; id = this.curId;
} }
if (selInfo === "lock") { if (selInfo === "lockAmount") {
id = this.lockId; id = this.lockId;
} }
this.form.id = id; this.form.id = id;
@@ -447,6 +447,7 @@ export default {
addressId: null, addressId: null,
areaName: null, areaName: null,
cityName: null, cityName: null,
townshipName:null,
goodsId: this.sed.id, goodsId: this.sed.id,
id: this.sed.specsId.id, id: this.sed.specsId.id,
img: data.goodsGraph, img: data.goodsGraph,
@@ -1,62 +1,77 @@
<template> <template>
<!-- 九宫格容器 --> <!-- 九宫格容器 -->
<view> <view> </view>
</view>
<view class="lottery-grid"> <view class="lottery-grid">
<!-- 高亮选中框 --> <!-- 高亮选中框 -->
<view class="highlight-box" :style="{ <view
top: highlightTop, class="highlight-box"
left: highlightLeft, :style="{
transition: isRotating ? 'all 0.07s linear' : 'none' top: highlightTop,
}"></view> left: highlightLeft,
transition: isRotating ? 'all 0.07s linear' : 'none',
}"
></view>
<!-- 9个格子 --> <!-- 9个格子 -->
<view class="grid-item" v-for="(item, index) in 9" :key="index"> <view class="grid-item" v-for="(item, index) in 9" :key="index">
<!-- 中间格子作为抽奖按钮 (索引4) --> <!-- 中间格子作为抽奖按钮 (索引4) -->
<template v-if="index === 4"> <template v-if="index === 4">
<image :src="prizesObj.prizes[index]?.iconUrl" class="prize-img-button" mode="widthFix" <image
@click="handleStartLottery(1)"></image> :src="prizesObj.prizes[index]?.iconUrl"
class="prize-img-button"
mode="widthFix"
@click="handleStartLottery(1)"
></image>
</template> </template>
<!-- 其他8个奖品格子 --> <!-- 其他8个奖品格子 -->
<template v-else> <template v-else>
<image :src="prizesObj.prizes[index]?.iconUrl" class="prize-img" mode="widthFix"></image> <image
:src="prizesObj.prizes[index]?.iconUrl"
class="prize-img"
mode="widthFix"
></image>
<text class="prize-name">{{ prizesObj.prizes[index]?.name }}</text> <text class="prize-name">{{ prizesObj.prizes[index]?.name }}</text>
</template> </template>
</view> </view>
</view> </view>
<view class="coiled-lottery" v-if="prizesObj.times > 9" @click="handleStartLottery(10)"> 连续抽奖10次 </view> <view
class="coiled-lottery"
v-if="prizesObj.times > 9"
@click="handleStartLottery(10)"
>
连续抽奖10次
</view>
</template> </template>
<script> <script>
import { raffleExecute } from '@/api/raffle.js'; import { raffleExecute } from "@/api/raffle.js";
import { getUserInfo } from '@/api/auth.js'; import { getUserInfo } from "@/api/auth.js";
export default { export default {
props: { props: {
// 奖品数据数组 // 奖品数据数组
prizesObj: { prizesObj: {
type: Object, type: Object,
required: true, required: true,
default: () => ({ prizes: [] }) default: () => ({ prizes: [] }),
}, },
// 是否禁用抽奖 // 是否禁用抽奖
isDisabled: { isDisabled: {
type: Boolean, type: Boolean,
default: false default: false,
}, },
remainCount: { remainCount: {
type: Number, type: Number,
default: 0 default: 0,
} },
}, },
data() { data() {
return { return {
isRotating: false, // 是否正在旋转 isRotating: false, // 是否正在旋转
highlightTop: '0rpx', // 高亮框顶部位置 highlightTop: "0rpx", // 高亮框顶部位置
highlightLeft: '0rpx', // 高亮框左侧位置 highlightLeft: "0rpx", // 高亮框左侧位置
// 抽奖配置常量 // 抽奖配置常量
LOTTERY_PATH: [0, 1, 2, 5, 8, 7, 6, 3], // 抽奖路径顺序(顺时针) LOTTERY_PATH: [0, 1, 2, 5, 8, 7, 6, 3], // 抽奖路径顺序(顺时针)
INITIAL_SPEED: 100, // 初始速度(ms) - 调慢以便观察 INITIAL_SPEED: 100, // 初始速度(ms) - 调慢以便观察
@@ -69,77 +84,82 @@ export default {
animationTimer: null, // 动画计时器 animationTimer: null, // 动画计时器
targetIndex: 0, targetIndex: 0,
currentPrize: [], currentPrize: [],
currentUserData:{} currentUserData: {},
} };
}, },
mounted() { mounted() {
this.getUserInfo(); this.getUserInfo();
}, },
methods: { methods: {
// 查询用户等级 // 查询用户等级
async getUserInfo() { async getUserInfo() {
const result = await getUserInfo(); const result = await getUserInfo();
if (result && result.bizcode === 100) { if (result && result.bizcode === 100) {
const data = result.data; const data = result.data;
this.currentUserData = result.data || {}; this.currentUserData = result.data || {};
} }
}, },
/** /**
* 移动高亮框到指定索引位置 * 移动高亮框到指定索引位置
* @param {number} index - 格子索引 * @param {number} index - 格子索引
*/ */
moveHighlight(index) { moveHighlight(index) {
const row = Math.floor(index / 3) // 计算行 const row = Math.floor(index / 3); // 计算行
const col = index % 3 // 计算列 const col = index % 3; // 计算列
this.highlightTop = `${row * 202}rpx` this.highlightTop = `${row * 194}rpx`; // 使用高度值194rpx而不是宽度值203rpx
this.highlightLeft = `${col * 202}rpx` this.highlightLeft = `${col * 203}rpx`; // 水平位置使用宽度值203rpx保持不变
}, },
/** /**
* 执行抽奖动画 * 执行抽奖动画
* @param {Object} options - 动画参数 * @param {Object} options - 动画参数
*/ */
runAnimation(options) { runAnimation(options) {
const { currentStep, speed, targetStep, cycleCount, totalSteps } = options const { currentStep, speed, targetStep, cycleCount, totalSteps } =
options;
// 清除之前的计时器 // 清除之前的计时器
if (this.animationTimer) { if (this.animationTimer) {
clearTimeout(this.animationTimer) clearTimeout(this.animationTimer);
} }
// 计算下一步 // 计算下一步
const nextStep = (currentStep + 1) % this.LOTTERY_PATH.length const nextStep = (currentStep + 1) % this.LOTTERY_PATH.length;
const nextTotalSteps = totalSteps + 1 const nextTotalSteps = totalSteps + 1;
let nextCycleCount = cycleCount let nextCycleCount = cycleCount;
let nextSpeed = speed let nextSpeed = speed;
// 计算循环次数 // 计算循环次数
if (nextStep === 0) { if (nextStep === 0) {
nextCycleCount++ nextCycleCount++;
} }
// 速度控制逻辑 // 速度控制逻辑
if (nextCycleCount < 1 && nextTotalSteps < this.ACCELERATE_STEPS) { if (nextCycleCount < 1 && nextTotalSteps < this.ACCELERATE_STEPS) {
// 加速阶段 // 加速阶段
nextSpeed = Math.max(this.MIN_SPEED, nextSpeed - this.SPEED_DECREMENT) nextSpeed = Math.max(this.MIN_SPEED, nextSpeed - this.SPEED_DECREMENT);
} else { } else {
// 减速阶段 // 减速阶段
nextSpeed += this.SPEED_INCREMENT nextSpeed += this.SPEED_INCREMENT;
} }
// 移动高亮框到当前步骤位置 // 移动高亮框到当前步骤位置
this.moveHighlight(this.LOTTERY_PATH[nextStep]) this.moveHighlight(this.LOTTERY_PATH[nextStep]);
// 检查是否应该停止 // 检查是否应该停止
const shouldStop = const shouldStop =
(nextSpeed > this.STOP_SPEED && nextStep === targetStep) || nextTotalSteps > this.MAX_STEPS (nextSpeed > this.STOP_SPEED && nextStep === targetStep) ||
nextTotalSteps > this.MAX_STEPS;
if (shouldStop) { if (shouldStop) {
// 动画结束 // 动画结束
this.isRotating = false this.isRotating = false;
this.animationTimer = null this.animationTimer = null;
// 触发抽奖完成事件,返回中奖奖品 // 触发抽奖完成事件,返回中奖奖品
this.$emit('complete', this.prizesObj.prizes[this.LOTTERY_PATH[nextStep]]) this.$emit(
return "complete",
this.prizesObj.prizes[this.LOTTERY_PATH[nextStep]]
);
return;
} }
// 继续下一帧动画 // 继续下一帧动画
@@ -149,21 +169,19 @@ export default {
speed: nextSpeed, speed: nextSpeed,
targetStep, targetStep,
cycleCount: nextCycleCount, cycleCount: nextCycleCount,
totalSteps: nextTotalSteps totalSteps: nextTotalSteps,
}) });
}, nextSpeed) }, nextSpeed);
}, },
/** /**
* 处理开始抽奖事件 * 处理开始抽奖事件
*/ */
async handleStartLottery(num) { async handleStartLottery(num) {
if(this.currentUserData.contractStatus != 4){ if (this.currentUserData.contractStatus != 4) {
uni.showToast({ uni.showToast({
title: `您当前尚未签署合同,请先签署合同再参与抽奖~`, title: `您当前尚未签署合同,请先签署合同再参与抽奖~`,
icon: 'none' icon: "none",
}); });
return; return;
} }
@@ -171,7 +189,7 @@ export default {
if (this.prizesObj.times <= 0) { if (this.prizesObj.times <= 0) {
uni.showToast({ uni.showToast({
title: `您当前未获取到抽奖次数,快去获取吧~`, title: `您当前未获取到抽奖次数,快去获取吧~`,
icon: 'none' icon: "none",
}); });
return; return;
} }
@@ -180,19 +198,24 @@ export default {
return; return;
} }
const params = { const params = {
id: this.prizesObj.id, id: this.prizesObj.id,
times: num, times: num,
} };
const { data } = await raffleExecute(params); const { data } = await raffleExecute(params);
this.targetIndex = this.prizesObj.prizes.findIndex(ele => ele.id === data.idList[0]); this.targetIndex = this.prizesObj.prizes.findIndex(
console.log("0------", this.prizesObj.prizes, data.idList, this.targetIndex) (ele) => ele.id === data.idList[0]
);
console.log(
"0------",
this.prizesObj.prizes,
data.idList,
this.targetIndex
);
this.currentPrize = data.prizeList; this.currentPrize = data.prizeList;
this.handleStartClick(num) this.handleStartClick(num);
}, },
/** /**
@@ -201,34 +224,32 @@ export default {
handleStartClick(num) { handleStartClick(num) {
// 如果正在抽奖或被禁用,则不执行 // 如果正在抽奖或被禁用,则不执行
if (this.isDisabled || this.isRotating) { if (this.isDisabled || this.isRotating) {
console.log('抽奖被禁用或正在进行中') console.log("抽奖被禁用或正在进行中");
return return;
} }
// 减少抽奖次数 // 减少抽奖次数
if (this.remainCount <= 0) { if (this.remainCount <= 0) {
uni.showToast({ uni.showToast({
title: '抽奖次数不足', title: "抽奖次数不足",
icon: 'none' icon: "none",
}) });
return return;
} }
// 标记为正在抽奖 // 标记为正在抽奖
this.isRotating = true this.isRotating = true;
// 通知父组件开始抽奖 // 通知父组件开始抽奖
this.$emit('start', num, this.currentPrize) this.$emit("start", num, this.currentPrize);
// 开始抽奖动画(无论父组件做了什么处理) // 开始抽奖动画(无论父组件做了什么处理)
this.startLotteryAnimation() this.startLotteryAnimation();
}, },
/** /**
* 开始抽奖动画 * 开始抽奖动画
*/ */
startLotteryAnimation() { startLotteryAnimation() {
// 重置动画参数 // 重置动画参数
clearTimeout(this.animationTimer) clearTimeout(this.animationTimer);
// 开始动画 // 开始动画
this.runAnimation({ this.runAnimation({
@@ -236,18 +257,18 @@ export default {
speed: this.INITIAL_SPEED, speed: this.INITIAL_SPEED,
targetStep: this.targetIndex, targetStep: this.targetIndex,
cycleCount: 0, cycleCount: 0,
totalSteps: 0 totalSteps: 0,
}) });
} },
}, },
beforeDestroy() { beforeDestroy() {
// 组件销毁时清理计时器 // 组件销毁时清理计时器
if (this.animationTimer) { if (this.animationTimer) {
clearTimeout(this.animationTimer) clearTimeout(this.animationTimer);
this.animationTimer = null this.animationTimer = null;
} }
} },
} };
</script> </script>
<style scoped> <style scoped>
@@ -267,14 +288,14 @@ export default {
width: 203rpx; width: 203rpx;
height: 194rpx; height: 194rpx;
box-sizing: border-box; box-sizing: border-box;
border: 8rpx solid #FF4646; border: 8rpx solid #ff4646;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
position: relative; position: relative;
flex-shrink: 0; flex-shrink: 0;
background: linear-gradient(180deg, #FFF7E7 0%, #FFDAB2 100%); background: linear-gradient(180deg, #fff7e7 0%, #ffdab2 100%);
box-shadow: inset 0px 0 24rpx 0px rgba(255, 129, 9, 0.5); box-shadow: inset 0px 0 24rpx 0px rgba(255, 129, 9, 0.5);
border-radius: 20rpx; border-radius: 20rpx;
} }
@@ -313,7 +334,6 @@ export default {
.prize-img-button { .prize-img-button {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.prize-name { .prize-name {
@@ -328,25 +348,28 @@ export default {
.highlight-box { .highlight-box {
position: absolute; position: absolute;
width: 200rpx; width: 203rpx;
height: 194rpx; height: 194rpx;
box-sizing: border-box; box-sizing: border-box;
border: 6rpx solid #FFDAB2; border: 6rpx solid #ffdab2;
background-color: rgba(255, 64, 129, 0.4); background-color: rgba(255, 64, 129, 0.4);
z-index: 1; z-index: 1;
pointer-events: none; pointer-events: none;
border-radius: 20rpx; border-radius: 20rpx;
/* 增加高亮动画效果 */
/* box-shadow: 0 0 15rpx 2rpx rgba(255, 64, 129, 0.5); */
/* background: linear-gradient(180deg, #FFF7E7 0%, #FFDAB2 100%); */
box-shadow: inset 0px 0 24px 0px rgba(255, 129, 9, 0.5); box-shadow: inset 0px 0 24px 0px rgba(255, 129, 9, 0.5);
} }
.coiled-lottery { .coiled-lottery {
width: 670rpx; width: 670rpx;
height: 88rpx; height: 88rpx;
background: linear-gradient(180deg, #FFE361 0%, #FF7B21 70%, #FFB931 91%, #FFB245 100%); min-height:88rpx;
background: linear-gradient(
180deg,
#ffe361 0%,
#ff7b21 70%,
#ffb931 91%,
#ffb245 100%
);
box-shadow: inset 0px 0 24rpx 0px rgba(255, 255, 255, 0.5); box-shadow: inset 0px 0 24rpx 0px rgba(255, 255, 255, 0.5);
border-radius: 44rpx; border-radius: 44rpx;
margin: 120rpx auto 0; margin: 120rpx auto 0;
@@ -355,6 +378,6 @@ export default {
justify-content: center; justify-content: center;
font-weight: 500; font-weight: 500;
font-size: 32rpx; font-size: 32rpx;
color: #FFFFFF; color: #ffffff;
} }
</style> </style>
@@ -20,12 +20,17 @@
<view class="product_content_warp"> <view class="product_content_warp">
<!-- 标题,系列 --> <!-- 标题,系列 -->
<view class="content_data"> <view class="content_data">
<view class="content_data_price"> <view style="display: flex;align-items: center;justify-content: space-between;">
<view class="content_data_price">
<text>¥</text> <text>¥</text>
<text style="font-size: 60rpx" v-if="orderInfo.minPrice && orderInfo.maxPrice">{{ orderInfo.minPrice }} - {{ orderInfo.maxPrice }}</text> <text style="font-size: 60rpx" v-if="orderInfo.minPrice && orderInfo.maxPrice">{{ orderInfo.minPrice }} - {{ orderInfo.maxPrice }}</text>
<text style="font-size: 60rpx" v-else>{{ orderInfo.minPrice }}</text> <text style="font-size: 60rpx" v-else>{{ orderInfo.minPrice }}</text>
<text class="price_o">¥{{ orderInfo.adPrice }}</text> <text class="price_o">¥{{ orderInfo.adPrice }}</text>
</view> </view>
<view class="text-24" style="color:#FF5A5A;width: 120rpx;height: 38rpx;" v-if="orderInfo.tag">
<image src="/static/shopping/tg.png" style="width: 120rpx;height: 38rpx;"></image>
</view>
</view>
<view class="content_data_title"> <view class="content_data_title">
{{ orderInfo.name }} {{ orderInfo.name }}
</view> </view>
@@ -158,7 +163,7 @@
:class="oItem.inventory === 0 ? 'item_Warp item_Warp_no_warp' : item.selectVal === oItem.n ? 'item_Warp item_Warp_yes_warp' : 'item_Warp'" :class="oItem.inventory === 0 ? 'item_Warp item_Warp_no_warp' : item.selectVal === oItem.n ? 'item_Warp item_Warp_yes_warp' : 'item_Warp'"
v-for="(oItem, oIndex) in item.items" v-for="(oItem, oIndex) in item.items"
:key="oItem.n" :key="oItem.n"
@click="clickSpecification(index,item, oItem)" @click="clickSpecification(oIndex,item, oItem)"
> >
{{ oItem.n }} {{ oItem.n }}
</view> </view>
@@ -434,18 +439,23 @@ export default {
}, },
//改变规格的样式 //改变规格的样式
clickSpecification(pIndex,item, oItem) { clickSpecification(pIndex,item, oItem) {
console.log("改变规格的样式",item,oItem,this.specificationTempl) console.log("改变规格的样式",pIndex,item,oItem,this.specificationTempl,this.specificationList)
const currentSelectSpecification = this.specificationTempl[pIndex];
const currentSelectSpecification = this.specificationTempl.find(ele=>ele.combTypes == item.type && ele.combNames == oItem.n);
console.log("当前规格",currentSelectSpecification) console.log("当前规格",currentSelectSpecification)
this.orderInfo.quantity = currentSelectSpecification?.minBuyNum || 1; this.orderInfo.quantity = currentSelectSpecification?.minBuyNum || 1;
this.specificationList[pIndex].selectVal = oItem.n; this.specificationList[0].selectVal = oItem.n;
this.selectSpecificationTempl = currentSelectSpecification;
this.orderInfo.inventory = currentSelectSpecification.stock; // 库存
// 计算规格的价格 // 计算规格的价格
this.selectSpecificationFun(pIndex, oItem); // this.selectSpecificationFun(pIndex, oItem);
}, },
// 选择规格 // 选择规格
selectSpecificationFun(index, item) { selectSpecificationFun(index, item) {
console.log('selectSpecificationTempl',)
const currentSelectSpecification = this.selectSpecification; const currentSelectSpecification = this.selectSpecification;
currentSelectSpecification[index] = item.n; currentSelectSpecification[index] = item.n;
this.selectSpecification = currentSelectSpecification; this.selectSpecification = currentSelectSpecification;
+1 -1
View File
@@ -52,7 +52,7 @@ export default {
{ text: '合同编号', value: '' }, { text: '合同编号', value: '' },
{ text: '发起方', value: '信任桥(深圳)网络科技有限公司' }, { text: '发起方', value: '信任桥(深圳)网络科技有限公司' },
{ text: '发起时间', value: '' }, { text: '发起时间', value: '' },
{ text: '完成结束时间', value: '' }, { text: '完成时间', value: '' },
], ],
bottomList: [ bottomList: [
{ text: '签约人', value: '信任桥会员 章三' }, { text: '签约人', value: '信任桥会员 章三' },
@@ -6,9 +6,9 @@
<view class="bottom-shop-view"> <view class="bottom-shop-view">
<text class="text-28 text-zu text-overflow1">{{obj.title}}</text> <text class="text-28 text-zu text-overflow1">{{obj.title}}</text>
<text class="text-28" style="color:#FF4242"> <text class="text-28" style="color:#FF4242">
¥{{obj.adPrice}} ¥{{obj.price}}
<text class="text-24 text-fu text-d" style="margin-left:12rpx"> <text class="text-24 text-fu text-d" style="margin-left:12rpx">
¥{{obj.price}} ¥{{obj.adPrice}}
</text> </text>
</text> </text>
</view> </view>
+23 -11
View File
@@ -85,33 +85,45 @@ export default {
myChart:null, myChart:null,
myChartTwo:null, myChartTwo:null,
data: [ data: [
{ value: '51', name: '股东' }, { value: '51', name: '用户股东' },
{ value: '29', name: '推广' }, { value: '10', name: '推广奖励' },
{ value: '10', name: '团队' }, { value: '10', name: '运营团队' },
{ value: '10', name: '活动激励' },
{ value: '9', name: '投资机构' },
{ value: '10', name: '基金会' }, { value: '10', name: '基金会' },
], ],
dataSeries:{ dataSeries:{
series:[ series:[
{ {
"name": "股东", "name": "用户股东",
"data": 51, "data": 51,
"color":"#FC5E05" "color":"#FC5E05"
}, },
{ {
"name": "推广", "name": "推广奖励",
"data": 29, "data": 10,
"color":"#BC52FD" "color":"#BC52FD"
}, },
{ {
"name": "团队", "name": "运营团队",
"data": 10, "data": 10,
"color":"#FCC139" "color":"#FCC139"
}, },
{ {
"name": "基金会", "name": "投资机构",
"data": 10, "data": 10,
"color":"#0474E0" "color":"#0474E0"
},
{
"name": "活动激励",
"data": 9,
"color":"#1890ff"
},
{
"name": "基金会",
"data": 10,
"color":"#91cb74"
} }
] ]
}, },
@@ -164,17 +176,17 @@ export default {
} }
] ]
}, },
dataColor:['#FC5E05', '#BC52FD', '#FCC139', '#0474E0'], dataColor:['#FC5E05', '#BC52FD', '#FCC139', '#0474E0','#1890ff','#91cb74'],
dataTwo:[ dataTwo:[
{ value: '25', name: '成本' }, { value: '25', name: '成本' },
{ value: '15', name: '分红' }, { value: '15', name: '消费贡献共享计划' },
{ value: '13', name: '销售增值税' }, { value: '13', name: '销售增值税' },
{ value: '12', name: '市场激励' }, { value: '12', name: '市场激励' },
{ value: '10.5', name: '次年发展资金' }, { value: '10.5', name: '次年发展资金' },
{ value: '10', name: 'RWA市值管理' }, { value: '10', name: 'RWA市值管理' },
{ value: '5', name: '股标护盘' }, { value: '5', name: '股标护盘' },
{ value: '5', name: '交易激励' }, { value: '5', name: '交易激励' },
{ value: '4.5', name: '年终分红' }, { value: '4.5', name: '年终共享' },
], ],
dataTwoColor:['#FF8400','#6136FF', '#19CEB3', '#F1B900', '#AE9BF5' dataTwoColor:['#FF8400','#6136FF', '#19CEB3', '#F1B900', '#AE9BF5'
,'#94F7A1','#006EFF','#FF2440','#00A776'], ,'#94F7A1','#006EFF','#FF2440','#00A776'],
+5 -1
View File
@@ -101,7 +101,11 @@ export default {
this.getQuichens() this.getQuichens()
}, },
getQuichens() { getQuichens() {
quickens().then(res => { let params ={
page:1,
pageSize:1000
}
quickens(params).then(res => {
if (res.bizcode == 100) { if (res.bizcode == 100) {
// this.type = res.data; // this.type = res.data;
this.tList[0].text = res.data.vcoinsLock; this.tList[0].text = res.data.vcoinsLock;
+1 -1
View File
@@ -5,7 +5,7 @@
<view style="margin-top: 20rpx;" @click="leftJump"> <view style="margin-top: 20rpx;" @click="leftJump">
<up-image src="/static/common/left_b.png" width="18" height="20" bgColor="#f1f6ff00" /> <up-image src="/static/common/left_b.png" width="18" height="20" bgColor="#f1f6ff00" />
</view> </view>
<view class="title_">RWA交易</view> <view class="title_">数字积分兑换</view>
<view></view> <view></view>
</view> </view>
<view class="amount_"> <view class="amount_">
@@ -1,6 +1,6 @@
<template> <template>
<view class="rwa_withdrawal"> <view class="rwa_withdrawal">
<Header leftTitle="行权" left-path-type="navigateTo" left-path="/pages/rwa_package/rwa/rwa" rightTitle="记录" <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" /> rightPath="/pages/rwa_package/rwa_withdrawal_log/rwa_withdrawal_log?back=withdrawal" rightPathType="navigateTo" />
<view class="rwa_withdrawal_content"> <view class="rwa_withdrawal_content">
<view class="_content"> <view class="_content">
@@ -24,7 +24,7 @@
</view> </view>
<view class="_content_item"> <view class="_content_item">
<view class="_content_item_title">交易密码<text class="_content_item_setting_pwd" <view class="_content_item_title">交易密码<text class="_content_item_setting_pwd"
@click="jumpSettingPwd">《股权交割同意书》</text></view> @click="jumpSettingPwd">《共享计划终止协议》</text></view>
<up-input placeholder="请输入交易密码" border="surround" v-model="form.password" :customStyle="inputCss"></up-input> <up-input placeholder="请输入交易密码" border="surround" v-model="form.password" :customStyle="inputCss"></up-input>
</view> </view>
<view class="_content_item"> <view class="_content_item">
+2 -2
View File
@@ -1,7 +1,7 @@
<template> <template>
<view class="content"> <view class="content">
<TopSafe></TopSafe> <TopSafe></TopSafe>
<Header title="积分兑换专区" > <Header title="兑换券专区" >
<!-- #ifndef MP-WEIXIN --> <!-- #ifndef MP-WEIXIN -->
<template v-slot:right> <template v-slot:right>
<u-icon name="share-fill" @click="onShare" color="#333" size="24"></u-icon> <u-icon name="share-fill" @click="onShare" color="#333" size="24"></u-icon>
@@ -17,7 +17,7 @@
</view> </view>
<view class="mid-panel"> <view class="mid-panel">
<up-image src="/static/common/jingxuan_left.png" width="24" height="8" bgColor="#f1f6ff00"></up-image> <up-image src="/static/common/jingxuan_left.png" width="24" height="8" bgColor="#f1f6ff00"></up-image>
<view style="margin:0 12rpx">信任桥积分</view> <view style="margin:0 12rpx">信任桥兑换</view>
<up-image src="/static/common/jingxuan_right.png" width="24" height="8" bgColor="#f1f6ff00"></up-image> <up-image src="/static/common/jingxuan_right.png" width="24" height="8" bgColor="#f1f6ff00"></up-image>
</view> </view>
<view class="setting-view"> <view class="setting-view">
+1 -2
View File
@@ -19,9 +19,8 @@
import Header from '@/components/common/header.vue'; import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue' import TopSafe from '@/components/common/top-safe.nvue'
import MyBtn from '@/components/common/my-btn.vue' import MyBtn from '@/components/common/my-btn.vue'
import YouItem from '@/components/shop/fen-item.vue' import YouItem from '@/components/shop/you-item.vue'
import { searchList } from '@/api/product.js'; import { searchList } from '@/api/product.js';
import func from '@/utils/func.js';
export default { export default {
components: { Header, TopSafe,MyBtn,YouItem }, components: { Header, TopSafe,MyBtn,YouItem },
+1 -1
View File
@@ -65,7 +65,7 @@ export default {
data() { data() {
return { return {
dataList: [], dataList: [],
tabList: [{name:'全部'}], tabList: [{name:'推荐'}],
curTab: 0, curTab: 0,
upOption: { upOption: {
auto: false, auto: false,
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

+6
View File
@@ -259,6 +259,9 @@ export function assembleAddress(addressObj){
if(addressObj.areaId){ if(addressObj.areaId){
ids.push(addressObj.areaId) ids.push(addressObj.areaId)
} }
if(addressObj.townshipId){
ids.push(addressObj.townshipId)
}
const names=[]; const names=[];
if(addressObj.countryName){ if(addressObj.countryName){
names.push(addressObj.countryName); names.push(addressObj.countryName);
@@ -272,6 +275,9 @@ export function assembleAddress(addressObj){
if(addressObj.areaName){ if(addressObj.areaName){
names.push(addressObj.areaName); names.push(addressObj.areaName);
} }
if(addressObj.townshipName){
names.push(addressObj.townshipName);
}
resutlObj.ids=ids.join(","); resutlObj.ids=ids.join(",");
resutlObj.names=names.join(" "); resutlObj.names=names.join(" ");
return resutlObj; return resutlObj;