Browse Source

我的改版

master
chenkainan 2 months ago
parent
commit
069553bb67
  1. 2
      app.js
  2. 1
      pages/component/kefu/index.wxss
  3. 6
      pages/index/index.js
  4. 219
      pages/user/user.js
  5. 278
      pages/user/user.wxml
  6. 435
      pages/user/user.wxss

2
app.js

@ -39,7 +39,7 @@ App({
// 获取前端配置文件 // 获取前端配置文件
commonApi._post("pbservice/Other/getClientConfig", {unique_key: "wechatxcx"}).then(res => { commonApi._post("pbservice/Other/getClientConfig", {unique_key: "wechatxcx"}).then(res => {
let data = JSON.parse(res.data); let data = JSON.parse(res.data);
data.isTest = data.isTest167? true : false; data.isTest = data.isTest168? true : false;
data.indexSeason = null data.indexSeason = null
this.globalData.configJson = data this.globalData.configJson = data
}).then(() => { }).then(() => {

1
pages/component/kefu/index.wxss

@ -9,6 +9,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
z-index: 1000;
} }
.modal-mask { .modal-mask {
width: 100%; width: 100%;

6
pages/index/index.js

@ -47,9 +47,9 @@ Page({
smBannerIndex: 0, smBannerIndex: 0,
ztBannerIndex: 0, ztBannerIndex: 0,
bannerDataListFake: [{ bannerDataListFake: [{
title: "景点门票", title: "美食",
img: "https://static.ticket.sz-trip.com/uploads/20250526/5934b8b77b058ce1de5943adbaf51739.png", img: "https://static.ticket.sz-trip.com/uploads/20260131/7d8082943bfbaca55676a371c9378bc5.png",
path: "/pages/list/scene/index", path: "/subPackages/foodListNew/index",
}, ], }, ],
// banner上的金刚区 // banner上的金刚区

219
pages/user/user.js

@ -1,121 +1,103 @@
import common from "../../utils/https/common";
// pages/user/user.js // pages/user/user.js
import common from "../../utils/https/common";
import userApi from "../../utils/https/user" import userApi from "../../utils/https/user"
import util from '../../utils/util' import util from '../../utils/util'
import commonApi from "../../utils/https/common" import commonApi from "../../utils/https/common"
let app = getApp() let app = getApp()
Page({
/** Page({
* 页面的初始数据
*/
data: { data: {
height: 0, height: 0,
info: null, info: null,
list: [], //待付款列表 list: [], // 待付款列表
orderList: [],//订单列表 orderList: [], // 订单列表
timeList: [],//倒计时 timeList: [], // 倒计时
timerOut: null,//定时器 timerOut: null, // 定时器
formatTime:[], formatTime: [],
showModel:false showModel: false,
dfkTotal: 0, // 待付款总数
isShowGroup: false // 是否显示团购
}, },
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) { onLoad: function (options) {
let rect = wx.getMenuButtonBoundingClientRect(); let rect = wx.getMenuButtonBoundingClientRect();
this.setData({ this.setData({
height: rect.top + rect.height height: rect.top + rect.height
}) })
},
supplier:function(){ // 获取是否显示团购入口
let url = "https://m.cloud.sz-trip.com/ShoppingUnit" common.user_post('multimedia/detail', { id: 2579 }).then(res => {
app.globalData.weburl = "https://m.cloud.sz-trip.com/ShoppingUnit" if (res && res.data) {
wx.navigateTo({ this.setData({
url: '/pages/pbService/web/index?weburl='+ encodeURIComponent(url) isShowGroup: res.data.company_name == 1
})
},
retail: function () {
common.user_post('commission/getCommissionUser', {}).then(res => {
if (res.code == 0) {
wx.navigateTo({
url: 'retail/apply/index',
})
}
else if (res.data.status == 0) {
wx.showToast({
title: '正在审核中,请联系管理员',
icon: 'none'
})
}
else if (res.data.status == 2) {
wx.showToast({
title: '审核拒绝,请联系管理员',
icon: 'none'
})
}
else if (res.data.status == 1) {
wx.navigateTo({
url: 'retail/index',
}) })
} }
}) })
}, },
closeModel(){
this.setData({
showModel:false
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () { onShow: function () {
userApi.user_post("user/getMyInfo").then(res => { userApi.user_post("user/getMyInfo").then(res => {
if (res && res.data) { if (res && res.data) {
this.setData({ this.setData({
info: res.data info: res.data
}) })
} else{ } else {
this.setData({info: null}) this.setData({ info: null })
} }
}) })
util.pagePoint({ util.pagePoint({ event: 'mine_view' }, 1)
event:'mine_view'
},1)
this.getList() this.getList()
app.globalData.isCartBuy = false app.globalData.isCartBuy = false
}, },
pagePoint: function(e){
util.pagePoint(e) pagePoint: function (e) {
let event = e.currentTarget ? e.currentTarget.dataset.event : e;
util.pagePoint({ event: event })
},
// 人工客服
phoneCall: function () {
this.setData({
showModel: true
})
}, },
phoneCall:function(){
closeModel() {
this.setData({ this.setData({
showModel:true showModel: false
})
},
// 防止冒泡
stopBubble: function() {},
// 商户入驻
supplier: function () {
let url = "https://m.cloud.sz-trip.com/ShoppingUnit"
app.globalData.weburl = url
wx.navigateTo({
url: '/pages/pbService/web/index?weburl=' + encodeURIComponent(url)
}) })
}, },
getList:function(){
commonApi.user_post("order/list",{ // 获取待付款列表
state:'WAIT_PAYMENT', getList: function () {
offset:0, commonApi.user_post("order/list", {
limit:10, state: 'WAIT_PAYMENT',
keywords:'' offset: 0,
}).then(res=>{ limit: 10,
console.log(res); keywords: ''
}).then(res => {
if (res && res.data && res.data.length>0){ if (res && res.data) {
let arr = [] let arr = []
let trr = [] let trr = []
let yrr = [] let yrr = []
let reslist = res.data.list let reslist = res.data.list || []
this.setData({})
// 设置总数
this.setData({ dfkTotal: res.data.total || 0 })
if (reslist.length > 0) {
let nowDateTime = parseInt(new Date().getTime() / 1000) let nowDateTime = parseInt(new Date().getTime() / 1000)
for (let i = 0; i < reslist.length; i++) { for (let i = 0; i < reslist.length; i++) {
let del = nowDateTime - this.strtotime(reslist[i].create_time) let del = nowDateTime - this.strtotime(reslist[i].create_time)
@ -129,12 +111,21 @@ Page({
list: arr, list: arr,
orderList: reslist, orderList: reslist,
timeList: trr, timeList: trr,
formatTime:yrr formatTime: yrr
}) })
this.timer(this.data.timeList) this.timer(this.data.timeList)
} else {
this.setData({
list: [],
orderList: [],
timeList: [],
formatTime: []
})
}
} }
}) })
}, },
strtotime(str) { strtotime(str) {
var _arr = str.split(' '); var _arr = str.split(' ');
var _day = _arr[0].split('-'); var _day = _arr[0].split('-');
@ -149,6 +140,7 @@ Page({
let _temp = new Date(_day[0], _day[1] - 1, _day[2], _time[0], _time[1], _time[2]); let _temp = new Date(_day[0], _day[1] - 1, _day[2], _time[0], _time[1], _time[2]);
return _temp.getTime() / 1000; return _temp.getTime() / 1000;
}, },
formatSeconds(value) { formatSeconds(value) {
let secondTime = parseInt(value); let secondTime = parseInt(value);
let minuteTime = 0; let minuteTime = 0;
@ -161,89 +153,76 @@ Page({
minuteTime = parseInt(minuteTime % 60); minuteTime = parseInt(minuteTime % 60);
} }
} }
// 补0
hourTime = hourTime < 10 ? "0" + hourTime : hourTime; hourTime = hourTime < 10 ? "0" + hourTime : hourTime;
minuteTime = minuteTime < 10 ? "0" + minuteTime : minuteTime; minuteTime = minuteTime < 10 ? "0" + minuteTime : minuteTime;
secondTime = secondTime < 10 ? "0" + secondTime : secondTime; secondTime = secondTime < 10 ? "0" + secondTime : secondTime;
let res = hourTime + ":" + minuteTime + ":" + secondTime; return hourTime + ":" + minuteTime + ":" + secondTime;
return res;
}, },
timer(arr) { timer(arr) {
clearInterval(this.data.timerOut);
let trr = [] let trr = []
let list = this.data.list let list = this.data.list
this.data.timerOut = setInterval(() => { this.data.timerOut = setInterval(() => {
for (let i = 0; i < arr.length; i++) { for (let i = 0; i < arr.length; i++) {
arr[i]-- arr[i]--
trr[i] = this.formatSeconds(arr[i]) trr[i] = this.formatSeconds(arr[i])
if (arr[i] == 0) { if (arr[i] <= 0) {
arr.splice(i, 1) arr.splice(i, 1)
list.splice(i, 1) list.splice(i, 1)
trr.splice(i, 1) trr.splice(i, 1)
i--
} }
} }
this.setData({ this.setData({
timeList: arr, timeList: arr,
formatTime:trr, formatTime: trr,
list:list list: list
}) })
if (arr.length === 0) {
clearInterval(this.data.timerOut);
}
}, 1000) }, 1000)
}, },
gotoDetail:function(e){
gotoDetail: function (e) {
let item = e.currentTarget.dataset.item; let item = e.currentTarget.dataset.item;
console.log(item);
item = this.getChild(item) item = this.getChild(item)
util.gotoOrder(item) util.gotoOrder(item)
}, },
getChild(list){
console.log(list); getChild(list) {
let arr = {order_product_list:[]} let arr = { order_product_list: [] }
for (let i = 0; i < list.order_product_list.length; i++) { for (let i = 0; i < list.order_product_list.length; i++) {
if (list.order_product_list[i].product_model=="ticket") { if (list.order_product_list[i].product_model == "ticket") {
arr.order_product_list.push(list.order_product_list[i]) arr.order_product_list.push(list.order_product_list[i])
break break
} }
} }
if (arr.order_product_list.length>0) { if (arr.order_product_list.length > 0) {
list.order_product_list = [] list.order_product_list = []
list.order_product_list.push(arr.order_product_list[0]) list.order_product_list.push(arr.order_product_list[0])
console.log(list);
return list return list
}else{ } else {
return list return list
} }
}, },
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () { onHide: function () {
let that = this let that = this
clearInterval(that.data.timerOut); clearInterval(that.data.timerOut);
this.setData({ this.setData({
list: [], //待付款列表 list: [],
orderList: [],//订单列表 orderList: [],
timeList: [],//倒计时 timeList: [],
formatTime:[] formatTime: []
}) })
}, },
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () { onPullDownRefresh: function () {
this.onShow();
wx.stopPullDownRefresh();
}, },
/** onReachBottom: function () { }
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
}
}) })

278
pages/user/user.wxml

@ -1,57 +1,78 @@
<!--pages/user/user.wxml--> <!--pages/user/user.wxml-->
<view> <view class="bg">
<image lazy-load class="topbg" style="height:calc({{height}}px + 341rpx)" <!-- 顶部背景与用户信息 -->
src="https://static.ticket.sz-trip.com/xcxImages/user/topbg.png" mode="aspectFill"></image> <view class="top-background">
<view style="height:{{height}}rpx"></view> <image class="bg-img" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/topBg.png" mode="widthFix"></image>
<navigator url="profile/index" catchtap="pagePoint" data-event="mine_information" class="top-box" wx:if="{{info}}">
<image lazy-load class="headimg" src="{{info.avatar}}" mode="aspectFill"></image> <!-- 用户信息 (浮动) -->
<view class="userinfo"> <navigator url="profile/index" catchtap="pagePoint" data-event="mine_information" class="user-top-new" wx:if="{{info}}">
<view class="username">{{info.nickname}}<image lazy-load wx:if="{{info.gender==1 || info.gender==2}}" mode="widthFix" <view class="avatar-box">
src="https://static.ticket.sz-trip.com/xcxImages/user/sex{{info.gender}}.png"></image> <image class="headimg" src="{{info.avatar}}" mode="aspectFill"></image>
</view> </view>
<view>id:{{info.id}}</view> <view class="info-text">
<view class="name-row">
<text class="nickname text-overflow">{{info.nickname}}</text>
<image class="gender-icon" src="https://static.ticket.sz-trip.com/xcxImages/user/sex{{info.gender}}.png" mode="aspectFit"></image>
</view> </view>
<view class="id-row">id:{{info.id}}</view>
</view>
<!-- <view class="arrow-right">
<text class="iconfont icon-you" style="color: #fff; font-size: 32rpx;"></text>
</view> -->
</navigator> </navigator>
<view class="user-box" style="padding-bottom:20rpx"> </view>
<navigator url="order/list" catchtap="pagePoint" data-event="mine_order" class="user-box-top">
<text>我的订单</text> <!-- 主要内容区域 (向上浮动) -->
<view class="all-text">全部订单 <text class="iconfont icon-you"></text></view> <view class="main-container">
</navigator>
<view class="user-order-types"> <!-- 1. 我的订单 -->
<navigator url="order/list?type=WAIT_PAYMENT" catchtap="pagePoint" data-event="mine_order" class="user-order-type"> <view class="card-box my-order">
<image lazy-load src="https://static.ticket.sz-trip.com/xcxImages/user/dfk.png" mode="aspectFill"></image> <view class="title">
<view>待付款</view> <text class="main-title">我的订单</text>
</navigator> <navigator url="order/list" catchtap="pagePoint" data-event="mine_order" class="sub-title">
<navigator url="order/list?type=WAIT_POST" catchtap="pagePoint" data-event="mine_order" class="user-order-type"> 全部订单 <text class="iconfont icon-you" style="font-size: 24rpx;"></text>
<image lazy-load src="https://static.ticket.sz-trip.com/xcxImages/user/dfh.png" mode="aspectFill"></image>
<view>待发货</view>
</navigator>
<navigator url="order/list?type=WAIT_USE" catchtap="pagePoint" data-event="mine_order" class="user-order-type">
<image lazy-load src="https://static.ticket.sz-trip.com/xcxImages/user/dcx.png" mode="aspectFill"></image>
<view>待出行</view>
</navigator>
<navigator url="order/list?type=WAIT_DELIVERY" catchtap="pagePoint" data-event="mine_order" class="user-order-type">
<image lazy-load src="https://static.ticket.sz-trip.com/xcxImages/user/dsh.png" mode="aspectFill"></image>
<view>待收货</view>
</navigator>
<navigator url="order/list?type=WAIT_COMMENT" catchtap="pagePoint" data-event="mine_order" class="user-order-type">
<image lazy-load src="https://static.ticket.sz-trip.com/xcxImages/user/ddp.png" mode="aspectFill"></image>
<view>待评价</view>
</navigator> </navigator>
<navigator url="order/list?type=NEED_REFUND" catchtap="pagePoint" data-event="mine_order" class="user-order-type"> </view>
<image lazy-load src="https://static.ticket.sz-trip.com/xcxImages/user/th.png" mode="aspectFill"></image>
<view>退货/退款</view> <view class="order-list">
<!-- 待付款 -->
<navigator url="order/list?type=WAIT_PAYMENT" catchtap="pagePoint" data-event="mine_order" class="order-item">
<image src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/dfk.png" mode="aspectFit"></image>
<text>待付款</text>
<view class="total" wx:if="{{dfkTotal > 0}}">{{dfkTotal}}</view>
</navigator>
<!-- 待发货 -->
<navigator url="order/list?type=WAIT_POST" catchtap="pagePoint" data-event="mine_order" class="order-item">
<image src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/dfh.png" mode="aspectFit"></image>
<text>待发货</text>
</navigator>
<!-- 待出行 -->
<navigator url="order/list?type=WAIT_USE" catchtap="pagePoint" data-event="mine_order" class="order-item">
<image src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/dcx.png" mode="aspectFit"></image>
<text>待出行</text>
</navigator>
<!-- 待收货 -->
<navigator url="order/list?type=WAIT_DELIVERY" catchtap="pagePoint" data-event="mine_order" class="order-item">
<image src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/dsh.png" mode="aspectFit"></image>
<text>待收货</text>
</navigator>
<!-- 退货/退款 -->
<navigator url="order/list?type=NEED_REFUND" catchtap="pagePoint" data-event="mine_order" class="order-item">
<image src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/thtk.png" mode="aspectFit"></image>
<text>退货/退款</text>
</navigator> </navigator>
</view> </view>
<view class="pay" wx:if="{{list[0]}}" >
<!-- 待付款轮播 -->
<view class="pay-swiper-box" wx:if="{{list && list.length > 0}}">
<swiper autoplay interval="{{3500}}" circular="true" class="swiper"> <swiper autoplay interval="{{3500}}" circular="true" class="swiper">
<swiper-item wx:for="{{list}}"> <swiper-item wx:for="{{list}}" wx:key="index">
<view class="s-box" bindtap="gotoDetail" data-item="{{orderList[index]}}"> <view class="dfkBox" bindtap="gotoDetail" data-item="{{orderList[index]}}">
<image lazy-load style="width:248rpx;height:168rpx" mode="aspectFill" src="{{item.product_img}}"></image> <image class="prod-img" mode="aspectFill" src="{{item.product_img}}"></image>
<view class="box-r"> <view class="contentBox">
<view class="wpay">等待付款</view> <view class="status-text">等待付款</view>
<view class="time">剩余时间: <text>{{formatTime[index]}}</text></view> <view class="time-text">剩余时间: <text style="color: #FB6E4D;">{{formatTime[index]}}</text></view>
<navigator class="btn" url="/pages/order/pay/index?id={{orderList[index].order_id}}">去支付</navigator> <navigator class="orderBtn" catchtap="stopBubble" url="/pages/order/pay/index?id={{orderList[index].order_id}}">去支付</navigator>
</view> </view>
</view> </view>
</swiper-item> </swiper-item>
@ -59,109 +80,120 @@
</view> </view>
</view> </view>
<navigator url="/pages/pbService/web/index?weburl=https://m.cloud.sz-trip.com/groupTradesNew" <!-- 2. 团购订单 -->
style="width: 696rpx;height: 107rpx;margin: 26rpx auto;line-height: 1;background: #FFFFFF;display: flex;align-items: center;justify-content: space-between;border-radius: 20rpx;padding: 0 20rpx;box-sizing: border-box;"> <navigator url="/pages/pbService/web/index?weburl=https://m.cloud.sz-trip.com/groupTradesNew" class="card-box group-order-row" wx:if="{{isShowGroup}}">
<view class="com-flex"> <view class="left">
<view style="font-size: 29rpx;color: #333;margin-right: 6rpx;">团购订单</view> <text class="main-title">团购订单</text>
<image style="width: 46.63rpx;height:46.63rpx;" mode="widthFix" src="https://kswtgl.com/uploads/20260122/86e50cdee3bed939990086abc2431477.png"></image> <image class="group-icon" src="https://static.ticket.sz-trip.com/uploads/20260122/86e50cdee3bed939990086abc2431477.png" mode="widthFix"></image>
</view> </view>
<view class="com-flex"> <view class="right sub-title">
<view style="font-size: 27rpx;color: #888;">更多</view> 全部订单 <text class="iconfont icon-you" style="font-size: 24rpx;"></text>
<text class="iconfont icon-you" style="font-size: 24rpx;color: #888;"></text>
</view> </view>
</navigator> </navigator>
<view class="user-box"> <!-- 3. 常用功能 (手动硬编码保留原逻辑) -->
<navigator url="cartlist/list" class="user-box-line" catchtap="pagePoint" data-event="mine_cart"> <view class="section-box">
购物车 <view class="section-title">常用功能</view>
</navigator> <view class="common-func-grid">
<!-- 购物车 -->
<navigator url="cartlist/list" catchtap="pagePoint" data-event="mine_cart" class="func-item" style="background-image: url('https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/gwc.png');"></navigator>
<!-- <navigator url="order/team/list" class="user-box-line" catchtap="pagePoint" data-event="mine_teamorder"> <!-- 我的优惠券 -->
团体预约订单 <navigator url="coupon/index" catchtap="pagePoint" data-event="mine_card" class="func-item" style="background-image: url('https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/wdyhq.png');"></navigator>
</navigator> -->
<navigator url="/pages/pbService/web/index?weburl=https://m.cloud.sz-trip.com/PrizeLog" class="user-box-line">
中奖记录
</navigator>
<!-- <navigator url="service/index" class="user-box-line" catchtap="pagePoint" data-event="mine_customerservice"> <!-- 中奖记录 -->
在线客服 <navigator url="/pages/pbService/web/index?weburl=https://m.cloud.sz-trip.com/PrizeLog" class="func-item" style="background-image: url('https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/zjjl.png');"></navigator>
</navigator> -->
<view class="user-box-line" bindtap="phoneCall"> <!-- 人工客服 -->
人工客服 <view bindtap="phoneCall" class="func-item" style="background-image: url('https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/rgkf.png');"></view>
</view> </view>
<navigator url="coupon/index" class="user-box-line" catchtap="pagePoint" data-event="mine_card"> </view>
我的卡券
</navigator> <!-- 4. 更多服务 (手动硬编码保留原逻辑) -->
<navigator url="likes/index" class="user-box-line" catchtap="pagePoint" data-event="mine_collection"> <view class="section-box">
我的收藏 <view class="section-title">更多服务</view>
</navigator> <view class="more-service-grid">
<view bindtap="supplier" class="user-box-line">商户入驻</view>
<!-- <navigator url="/pages/group/mine/index" class="user-box-line"> <!-- 出游人信息 -->
我的团购 <navigator url="linkman/index" catchtap="pagePoint" data-event="mine_travelinfo" class="service-item">
<image class="service-icon" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/cyrxx.png" mode="aspectFit"></image>
<view class="service-name">出游人信息</view>
</navigator> </navigator>
<navigator url="/pages/kj/mine/index" class="user-box-line">
我的砍价 <!-- 收货地址 -->
</navigator> --> <navigator url="address/index" catchtap="pagePoint" data-event="mine_receiveinfo" class="service-item">
<!-- <view bindtap="retail" class="user-box-line"> <image class="service-icon" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/shdz.png" mode="aspectFit"></image>
我要分销 <view class="service-name">收货地址</view>
</view> -->
<navigator url="verify/index" class="user-box-line" catchtap="pagePoint" data-event="mine_verify" wx:if="{{info && info.name_verification=='UNCERTFIED'}}">
实名认证
</navigator> </navigator>
<!-- 商户入驻 -->
<view bindtap="supplier" class="service-item">
<image class="service-icon" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/shrz.png" mode="aspectFit"></image>
<view class="service-name">商户入驻</view>
</view> </view>
<view class="user-box" style="margin-bottom:0">
<navigator url="linkman/index" class="user-box-line" catchtap="pagePoint" data-event="mine_travelinfo"> <!-- 商户核销 -->
出游人信息 <navigator url="/pages/pbService/web/index?weburl=https://m.supplier.cloud.sz-trip.com" catchtap="pagePoint" data-event="mine_receiveinfo" class="service-item">
<image class="service-icon" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/shhx.png" mode="aspectFit"></image>
<view class="service-name">商户核销</view>
</navigator> </navigator>
<navigator url="address/index" class="user-box-line" catchtap="pagePoint" data-event="mine_receiveinfo">
收货地址 <!-- 我的收藏 -->
<navigator url="likes/index" catchtap="pagePoint" data-event="mine_collection" class="service-item">
<image class="service-icon" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/wdsc.png" mode="aspectFit"></image>
<view class="service-name">我的收藏</view>
</navigator> </navigator>
</view>
<view class="user-box" style="margin-bottom:0;margin-top: 18rpx;"> <!-- 投诉建议 -->
<navigator url="userPrivacy/index?id=9" class="user-box-line" catchtap="pagePoint" data-event="mine_travelinfo"> <navigator url="suggest/suggest" catchtap="pagePoint" data-event="mine_travelinfo" class="service-item">
用户协议 <image class="service-icon" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/tsjy.png" mode="aspectFit"></image>
<view class="service-name">投诉建议</view>
</navigator> </navigator>
<navigator url="suggest/suggest" class="user-box-line" catchtap="pagePoint" data-event="mine_travelinfo">
投诉建议 <!-- 用户协议 -->
<navigator url="userPrivacy/index?id=9" catchtap="pagePoint" data-event="mine_travelinfo" class="service-item">
<image class="service-icon" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/yhxy.png" mode="aspectFit"></image>
<view class="service-name">用户协议</view>
</navigator> </navigator>
<navigator url="userPrivacy/index?id=12" class="user-box-line" catchtap="pagePoint" data-event="mine_receiveinfo">
隐私政策 <!-- 隐私政策 -->
<navigator url="userPrivacy/index?id=12" catchtap="pagePoint" data-event="mine_receiveinfo" class="service-item">
<image class="service-icon" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/yszc.png" mode="aspectFit"></image>
<view class="service-name">隐私政策</view>
</navigator> </navigator>
<navigator url="personalInfo/index" class="user-box-line" catchtap="pagePoint" data-event="mine_receiveinfo">
个人信息收集清单 <!-- 个人信息收集清单 -->
<navigator url="personalInfo/index" catchtap="pagePoint" data-event="mine_receiveinfo" class="service-item">
<image class="service-icon" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/grxxsjqd.png" mode="aspectFit"></image>
<view class="service-name"><text>个人信息\n收集清单</text></view>
</navigator> </navigator>
<navigator url="userPrivacy/index?id=14" class="user-box-line" catchtap="pagePoint" data-event="mine_receiveinfo">
第三方共享信息清单 <!-- 第三方共享信息清单 -->
<navigator url="userPrivacy/index?id=14" catchtap="pagePoint" data-event="mine_receiveinfo" class="service-item">
<image class="service-icon" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/gxxxqd.png" mode="aspectFit"></image>
<view class="service-name"><text>第三方共享\n信息清单</text></view>
</navigator> </navigator>
<navigator url="/pages/pbService/web/index?weburl=https://m.supplier.cloud.sz-trip.com" class="user-box-line" catchtap="pagePoint" data-event="mine_receiveinfo">
商户核销 <!-- 实名认证 -->
<navigator url="verify/index" catchtap="pagePoint" data-event="mine_verify" class="service-item" wx:if="{{info && info.name_verification=='UNCERTFIED'}}">
<image class="service-icon" src="https://static.ticket.sz-trip.com/jundaosuzhou/images/user2026/smrz.png" mode="aspectFit"></image>
<view class="service-name">实名认证</view>
</navigator> </navigator>
</view>
</view> </view>
<!-- 底部文字 -->
<view class="bottom-intro"> <view class="bottom-intro">
<view>主办方:苏州市文化广电和旅游局</view> <view>主办方:苏州市文化广电和旅游局</view>
<view>承办方:苏州市文旅融合发展中心</view> <view>承办方:苏州市文旅融合发展中心</view>
<view>备案号:苏ICP备19064944号-3X@君到苏州</view> <view>备案号:苏ICP备19064944号-3X@君到苏州</view>
</view> </view>
</view>
<!-- <view class="mask" wx:if="{{showModel}}">
<view class="model">
<view class="model-content">
<view>即将跳转人工客服</view>
<view style="margin-top: 40rpx;">客服服务时间:09:00-12:00,</view>
<view style="margin-top: 30rpx;">13:00-18:00</view>
</view> </view>
<view class="btn-list">
<button class="model-btn" bindtap="closeModel"> <view style="height:20rpx"></view>
取消 </view>
</button>
<button class="model-btn" style="color:#0B898E;border-left:#D8D8D8 solid 1rpx;" open-type="contact"> <!-- 客服弹窗组件 -->
确定
</button>
</view>
</view>
</view> -->
<kefuCom wx:if="{{showModel}}" bind:hideModal="closeModel"></kefuCom> <kefuCom wx:if="{{showModel}}" bind:hideModal="closeModel"></kefuCom>
<view style="height:20rpx"></view>

435
pages/user/user.wxss

@ -1,236 +1,327 @@
/* pages/user/user.wxss */ /* pages/user/user.wxss */
page { page {
background: #EDEDED; background: #F7F7F7;
padding-bottom: 20rpx;
} }
.top-box {
padding: 0 30rpx; .bg {
display: flex; min-height: 100vh;
align-items: center; }
justify-content: space-between;
color: #fff; /* 顶部背景区域 */
height: 180rpx; .top-background {
width: 100%;
height: 480rpx; /* 对应 H5 的 6.5rem 左右 */
position: relative; position: relative;
overflow: hidden;
}
.bg-img {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
/* 顶部遮罩 */
.top-background::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.25);
z-index: 2;
} }
.topbg {
/* 用户信息 */
.user-top-new {
position: absolute; position: absolute;
top: 150rpx; /* 根据导航栏高度调整 */
left: 0;
width: 100%; width: 100%;
z-index: -1; z-index: 3;
padding: 0 40rpx;
box-sizing: border-box;
display: flex;
align-items: center;
} }
.top-box .headimg {
width: 100rpx; .avatar-box {
height: 100rpx; width: 135rpx;
height: 135rpx;
border-radius: 50%; border-radius: 50%;
border: 4rpx solid rgba(255,255,255,0.9);
overflow: hidden;
margin-right: 30rpx;
flex-shrink: 0; flex-shrink: 0;
margin-right: 20rpx;
} }
.userinfo {
.headimg {
width: 100%;
height: 100%;
}
.info-text {
flex: 1; flex: 1;
font-size: 24rpx; color: #fff;
} }
.username {
.name-row {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 36rpx;
font-weight: bold;
margin-bottom: 15rpx; margin-bottom: 15rpx;
} }
.username image {
width: 31rpx; .nickname {
margin-left: 20rpx; font-size: 37rpx;
font-weight: bold;
margin-right: 15rpx;
max-width: 350rpx;
display: inline-block;
} }
.user-box {
margin: 0 30rpx;
margin-bottom: 20rpx;
background: white;
border-radius: 20rpx;
padding: 0rpx 20rpx;
font-size: 29rpx;
color: #333;
.gender-icon {
width: 34rpx;
height: 34rpx;
} }
.user-box-top {
.id-row {
font-size: 28rpx;
opacity: 0.9;
}
.arrow-right {
padding: 15rpx;
}
/* 主容器 */
.main-container {
position: relative;
margin-top: -80rpx;
z-index: 10;
padding: 20rpx 30rpx;
background: #f7f7f7;
border-radius: 33rpx 33rpx 0 0;
}
/* 卡片通用样式 */
.card-box {
background: #FFFFFF;
border-radius: 20rpx;
padding: 30rpx 20rpx;
margin-bottom: 20rpx;
box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.02);
}
/* 标题 */
.title {
display: flex; display: flex;
align-items: center;
justify-content: space-between; justify-content: space-between;
padding: 30rpx 0; align-items: center;
height: 28rpx; margin-bottom: 30rpx;
padding: 0 10rpx;
} }
.all-text {
.main-title {
font-size: 34rpx;
font-weight: bold;
color: #333;
}
.sub-title {
font-size: 26rpx;
color: #999;
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 27rpx;
color: #888;
} }
.all-text .iconfont {
font-size: 24rpx; /* 订单部分 */
.order-list {
display: flex;
justify-content: space-between;
margin-bottom: 30rpx;
padding: 0 10rpx;
} }
.user-order-types {
.order-item {
display: flex; display: flex;
flex-direction: column;
align-items: center; align-items: center;
flex-wrap: wrap; position: relative;
width: 20%;
} }
.user-order-type {
width: 25%; .order-item image {
text-align: center; width: 80rpx;
font-size: 27rpx; height: 80rpx;
margin-bottom: 30rpx; margin-bottom: 10rpx;
} }
.user-order-type image {
width: 60rpx; .order-item text {
height: 60rpx; font-size: 26rpx;
display: block; color: #333;
margin: 0 auto;
margin-bottom: 20rpx;
} }
.user-box-line {
line-height: 120rpx; .total {
border-bottom: 1rpx solid #d8d8d8; position: absolute;
min-width: 36rpx;
height: 36rpx;
line-height: 36rpx;
text-align: center;
background: linear-gradient(0deg, #FF8826, #FF2726);
border-radius: 18rpx;
font-size: 22rpx;
color: #FFFFFF;
right: 10rpx;
top: -10rpx;
padding: 0 6rpx;
} }
.user-box .user-box-line:last-child {
border-bottom: none; /* 待付款轮播 */
.pay-swiper-box {
width: 100%;
height: 200rpx;
} }
.swiper {
height: 100%;
}
.pay { .dfkBox {
width: 648rpx; width: 100%;
height: 204rpx; height: 100%;
margin: 0 auto;
background: #F6F6F6;
padding: 18rpx;
box-sizing: border-box; box-sizing: border-box;
background: #F9F9F9;
padding: 20rpx;
display: flex;
border-radius: 10rpx;
}
.prod-img {
width: 220rpx;
height: 160rpx;
margin-right: 20rpx;
border-radius: 8rpx;
flex-shrink: 0;
} }
.s-box { .contentBox {
flex: 1;
display: flex; display: flex;
align-items: center; flex-direction: column;
width: 100%; justify-content: space-between;
height: 100%;
overflow: hidden;
} }
.btn { .status-text {
width: 162rpx;
height: 56rpx;
background: #FB6E4D;
border-radius: 28rpx;
font-size: 32rpx; font-size: 32rpx;
font-family: PingFang SC; color: #333;
font-weight: 400;
color: #FFFFFF;
line-height: 56rpx;
text-align: center;
margin-top: 10rpx;
float:right;
} }
.swiper{
height: 100% !important; .time-text {
font-size: 26rpx;
color: #666;
} }
.box-r{
margin-left: 30rpx; .orderBtn {
width: 388rpx; width: 150rpx;
height: 52rpx;
background: #FB6E4D;
border-radius: 26rpx;
text-align: center;
line-height: 52rpx;
font-size: 26rpx;
color: #FFFFFF;
align-self: flex-end;
} }
.wpay{
font-size: 32rpx; /* 团购订单行 */
font-family: PingFang SC; .group-order-row {
font-weight: 400; display: flex;
color: #333333; justify-content: space-between;
align-items: center;
padding: 30rpx 30rpx;
}
.group-order-row .left {
display: flex;
align-items: center;
} }
.time{
font-size: 28rpx; .group-icon {
font-family: PingFang SC; width: 40rpx;
font-weight: 400; height: 40rpx;
color: #666666; margin-left: 15rpx;
margin-top: 10rpx;
} }
.mask {
position: fixed; /* 常用功能 */
top: 0; .section-box {
right: 0; padding: 20rpx 20rpx 0;
bottom: 0;
left: 0;
background-color: rgba(0, 0, 0, 0.5);
z-index: 999;
}
.model{
width: 561rpx;
min-height: 449rpx;
background: #FFFFFF;
border-radius: 13rpx;
position: absolute;
box-sizing: border-box; box-sizing: border-box;
background: #FFFFFF;
border-radius: 20rpx;
margin-bottom: 20rpx;
}
} .section-title {
.model-title{
text-align: center;
font-size: 34rpx; font-size: 34rpx;
font-family: PingFang SC;
font-weight: bold; font-weight: bold;
color: #333333; color: #333;
margin-top: 32rpx; margin: 10rpx 0 20rpx 10rpx;
box-sizing: border-box; }
} .common-func-grid {
.model-content{
display: flex; display: flex;
flex-direction: column; justify-content: space-between;
align-items: center;
justify-content: center;
flex-wrap: wrap; flex-wrap: wrap;
margin-top: 100rpx; padding-bottom: 20rpx;
font-size: 34rpx; }
font-family: PingFang SC;
font-weight: 500; .func-item {
color: #333333; width: 315rpx;
} height: 110rpx;
.btn-list{ margin-bottom: 20rpx;
height: 106rpx; background-size: 100% 100%;
width: 100%; background-repeat: no-repeat;
position: absolute; }
bottom: 0;
border-top: 1rpx solid rgba(216, 216, 216, .99); /* 更多服务 */
padding: 10rpx; .more-service-grid {
box-sizing: border-box;
display: flex; display: flex;
justify-content: space-between; flex-wrap: wrap;
padding-bottom: 20rpx;
}
.service-item {
width: 25%;
display: flex;
flex-direction: column;
align-items: center; align-items: center;
margin: 20rpx 0;
}
} .service-icon {
.model-btn{ width: 50rpx;
width: 50%; height: 50rpx;
text-align: center; margin-bottom: 15rpx;
height: 86rpx; }
line-height: 86rpx;
font-size: 34rpx; .service-name {
font-family: PingFang SC; font-size: 26rpx;
font-weight: 500; color: #333;
color: #333333;
}
button{
margin:0;
padding:0;
border-radius:0;
border:none;
background-color:transparent;
}
button::after{
border: none;
}
.bottom-intro{
width: 100%;
padding: 75rpx;
font-family: PingFang-SC, PingFang-SC;
font-weight: 500;
font-size: 25rpx;
color: #999999;
line-height: 40rpx;
text-align: center; text-align: center;
box-sizing: border-box; width: 100%;
} line-height: 1.3;
}
/* 底部文字 */
.bottom-intro {
padding: 40rpx 0;
text-align: center;
font-size: 24rpx;
color: #999;
line-height: 36rpx;
}

Loading…
Cancel
Save