Compare commits

..

8 Commits

Author SHA1 Message Date
df34c1ad48 chore: 更新版本号和依赖项
- 将manifest.json中的版本号更新至1.0.61
- 将edu-core依赖从本地路径更新至git仓库地址,版本为v1.0.13
- 优化wallet页面的布局和样式,增强可读性
2026-05-09 11:09:46 +08:00
5f4a4d4ae4 feat: 添加退款相关功能和状态显示
- 新增退款状态显示,包括“已退款”和“退款中”
- 添加退款目的地页面,支持查看订单退款信息
- 更新订单列表和订单详情页,支持退款操作
- 更新依赖edu-core至v1.0.13以支持新功能
2026-05-09 11:09:14 +08:00
708804cbbf chore: 视频播放下一集自动保持倍速设置;增加2.5倍速 2026-04-14 10:24:30 +08:00
7523441a17 fix: 解决控制台报错
- 将baseUrl配置调整为线上正式环境
- 移除medicaldes页面中不必要的@lower事件监听
- 优化common-list组件的使用,简化代码结构
- 调整样式注释,清理不必要的样式代码
2026-03-27 10:16:29 +08:00
bb1d9ef281 feat: 新增预售书重复购买提示
- 将manifest.json中的版本号更新至1.0.60
- 在订单提交页面中新增预售备注弹窗功能,支持用户确认预售备注
- 添加presaleRemark API接口以获取预售备注内容
- 删除不再使用的订单页面副本文件
2026-03-25 11:39:44 +08:00
1f01ceb3ee feat: 修改学术传承分类
修改manifest.json版本号至1.0.59
在VIP购买提示中增加论坛不包含说明
调整开发环境API配置
优化mine页面flex布局和vip类型显示
重构medicaldes页面网格布局,支持3列/4列切换
2026-03-24 18:46:37 +08:00
02436fe222 chore: 添加记录观看时长;个人资料添加身份项;
- 将应用版本从1.0.57更新至1.0.58
- 将edu-core依赖从本地路径更新至git仓库地址
- 调整baseUrl配置以使用线上正式环境
- 在用户信息页面中新增用户观看时间标签
2026-03-24 14:26:48 +08:00
ff66593f4f feat: 添加优惠券金额查询功能
- 将manifest.json中的版本号从1.0.56更新至1.0.57
- 在开发环境恢复使用本地测试API地址
- 在订单详情页新增优惠券金额查询功能,当订单包含优惠券时自动查询并显示优惠金额
2026-03-12 11:48:07 +08:00
22 changed files with 499 additions and 4032 deletions

View File

@@ -4,6 +4,7 @@ if (process.env.NODE_ENV === 'development') {
// 开发环境
// baseUrl = "http://192.168.110.100:9200/pb/"; // 张川川
baseUrl = "https://api.nuttyreading.com/"; // 线上正式
// baseUrl = "http://192.168.110.131:9200/pb/"; // 王亚男
} else if (process.env.NODE_ENV === 'production') {
// 生产环境11
//baseUrl = "http://192.168.110.100:9200/pb/"; // 张川川

View File

@@ -84,11 +84,12 @@ $http.getAliToken = function(callback) {
//请求开始拦截器
$http.requestStart = function(options) {
// console.log("请求开始", options);
if (options.load && options.data.loadAnimate != 'none') {
const resData = options.data || {}
if (options.load && resData.loadAnimate != 'none') {
//打开加载动画
store.commit("setLoadingShow", true);
}
if (options.data.loadAnimate == 'none') {
if (resData.loadAnimate == 'none') {
delete options.data.loadAnimate
}
// 图片、视频上传大小限制

View File

@@ -125,6 +125,9 @@ Vue.component('common-video', commonVideo);
import CommonCourseVideo from 'edu-core/components/course-video'
Vue.component('CommonCourseVideo', CommonCourseVideo);
import CommonRefundDestination from 'edu-core/components/order/refund-destination.vue'
Vue.component('common-refund-destination', CommonRefundDestination);
import commonCoupon from '@/pages/component/commonComponents/coupon/index.vue'
Vue.component('common-coupon', commonCoupon);
import commonGoodsList from '@/pages/component/commonComponents/goodsList.vue'

View File

@@ -13,8 +13,8 @@
"src" : "图片路径"
}
],
"versionName" : "1.0.56",
"versionCode" : 1056,
"versionName" : "1.0.61",
"versionCode" : 1061,
"app-plus" : {
"nvueCompiler" : "weex",
"compatible" : {

15
package-lock.json generated
View File

@@ -9,7 +9,7 @@
"version": "3.4.5",
"license": "MIT",
"dependencies": {
"edu-core": "file:../edu-core",
"edu-core": "git+https://git.nuttyreading.com/chenghuan/edu-core.git#v1.0.13",
"jquery": "^3.7.1",
"tcplayer.js": "^5.1.0"
},
@@ -17,11 +17,6 @@
"postcss-px-to-viewport": "^1.1.1"
}
},
"../edu-core": {
"version": "1.0.8",
"license": "ISC",
"devDependencies": {}
},
"node_modules/babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz",
@@ -73,8 +68,9 @@
"integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
},
"node_modules/edu-core": {
"resolved": "../edu-core",
"link": true
"version": "1.0.13",
"resolved": "git+https://git.nuttyreading.com/chenghuan/edu-core.git#b5ece8b8abfeba98428f6e2191efae3312b5036f",
"license": "ISC"
},
"node_modules/es5-shim": {
"version": "4.6.7",
@@ -397,7 +393,8 @@
"integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
},
"edu-core": {
"version": "file:../edu-core"
"version": "git+https://git.nuttyreading.com/chenghuan/edu-core.git#b5ece8b8abfeba98428f6e2191efae3312b5036f",
"from": "edu-core@git+https://git.nuttyreading.com/chenghuan/edu-core.git#v1.0.13"
},
"es5-shim": {
"version": "4.6.7",

View File

@@ -21,7 +21,7 @@
},
"homepage": "https://github.com/dcloudio/hello-uniapp#readme",
"dependencies": {
"edu-core": "file:../edu-core",
"edu-core": "git+https://git.nuttyreading.com/chenghuan/edu-core.git#v1.0.13",
"jquery": "^3.7.1",
"tcplayer.js": "^5.1.0"
},

View File

@@ -193,6 +193,18 @@
}
}
},
{
"path": "pages/bookShop/refundDestination",
"style": {
"navigationBarTitleText": "钱款去向",
"enablePullDownRefresh": false,
"app-plus": {
"bounce": "none",
"titleNView": false,
"popGesture": "none"
}
}
},
{
"path": "pages/goods/order/index",
"style": {

View File

@@ -88,6 +88,16 @@
v-if="orderContet.orderStatus == 5"
>已超时</text
>
<text
class="orderState orderState6"
v-if="orderContet.orderStatus == 6"
>已退款</text
>
<text
class="orderState orderState7"
v-if="orderContet.orderStatus == 7"
>退款中</text
>
</view>
<view
class="orderContent"
@@ -1029,6 +1039,29 @@ export default {
orderTabCLi(e) {
this.orderListTab = e;
},
async getCouponDetail(id) {
await this.$http
.request({
url: "common/coupon/getCouponHistoryInfo",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data: {
id,
},
header: {
//默认 无 说明:请求头
"Content-Type": "application/json",
},
})
.then(async (res) => {
if (res.code != 0) return this.$commonJS.showToast(res.errMsg);
this.orderContet.couponAmount =
res.couponHistory.couponEntity.couponAmount;
})
.catch((e) => {
console.log(e);
this.$commonJS.showToast(e.errMsg);
});
},
// 获取订单详情
getOrderList() {
console.log("this.orderType", this.orderType);
@@ -1045,12 +1078,16 @@ export default {
"Content-Type": "application/json",
},
})
.then((res) => {
.then(async (res) => {
this.customButton = [];
console.log("订单详情", res);
this.orderContet = res.data.buyOrder;
this.goodsList = res.data.productInfo;
this.consigneeShow = true;
// 存在优惠券信息,就查询优惠券集体金额
if (this.orderContet.couponId && this.orderContet.couponId != null) {
await this.getCouponDetail(this.orderContet.couponId);
}
if (
this.orderContet.orderStatus == 2 &&
this.sheetList.length > 0 &&
@@ -1078,14 +1115,15 @@ export default {
text: "继续付款",
});
}
if (this.orderContet.orderStatus == 0) {
this.customButton.push({
width: "160rpx",
text: "取消订单",
color: "#333",
backgroundColor: "#f0f0f0",
});
}
// sociology注释取消订单按钮
// if (this.orderContet.orderStatus == 0) {
// this.customButton.push({
// width: "160rpx",
// text: "取消订单",
// color: "#333",
// backgroundColor: "#f0f0f0",
// });
// }
// var seconds = res.result.timestamp + 30 * 60 + 2 // 过期时间
// var nowSeconds = Math.floor(new Date().getTime() / 1000);
@@ -1104,6 +1142,10 @@ export default {
this.titleStat = "待收到";
} else if (this.orderContet.orderStatus == 3) {
this.titleStat = "已完成";
} else if (this.orderContet.orderStatus == 6) {
this.titleStat = "已退款";
} else if (this.orderContet.orderStatus == 7) {
this.titleStat = "退款中";
}
if (
this.orderContet.orderStatus >= 2 &&
@@ -1146,10 +1188,28 @@ export default {
},
});
},
checkPayTimeout(payItem) {
const createTime = payItem && payItem.createTime;
if (!createTime) return true;
const createdAt = new Date(String(createTime).replace(/-/g, "/")).getTime();
if (!createdAt) return true;
const expired = Date.now() - createdAt > 10 * 60 * 1000;
if (expired) {
uni.showModal({
title: "提示",
content: "订单已超时,不能继续支付,请重新下单",
confirmText: "知道了",
showCancel: false,
});
return false;
}
return true;
},
// 支付
goPay(payItem) {
console.log(payItem, "订单数据");
if (!this.checkPayTimeout(payItem)) return;
if (payItem.paymentMethod == 2) {
console.log("阿里支付");
setPay(
@@ -1293,6 +1353,12 @@ uni-view {
.orderState5 {
background-color: #787878;
}
.orderState6 {
background-color: #f56c6c;
}
.orderState7 {
background-color: #f56c6c;
}
.guoqi {
font-size: 28rpx;
align-items: center;

View File

@@ -24,7 +24,7 @@
<view class="cateList flexbox">
<common-sticky
itemStyle="width:20%; height: 68rpx;font-size:24rpx;"
itemStyle="height: 68rpx;font-size:24rpx; padding: 0 20rpx;"
:list="ordersTabs"
label="name"
:currentCateIndex="currentCateIndex"
@@ -120,6 +120,16 @@
v-show="slotProps.row.orderStatus == 5"
>已过期</text
>
<text
class="orderstatus"
v-show="slotProps.row.orderStatus == 6"
>已退款</text
>
<text
class="orderstatus"
v-show="slotProps.row.orderStatus == 7"
>退款中</text
>
</view>
</view>
<view
@@ -380,11 +390,12 @@
class="operation_box boxShadow"
v-if="slotProps.row.isShowMore == true"
>
<view
<!-- sociology注释取消订单入口 -->
<!-- <view
v-if="slotProps.row.orderStatus == 0"
@click.native.stop="canceOrder(slotProps.row)"
>取消订单</view
>
> -->
</view>
<view class="btns flexbox" style="margin-top: 10rpx">
<view
@@ -421,8 +432,18 @@
>
<view
class="orderstatusbtn"
v-if="slotProps.row.orderStatus == 3"
>申请售后</view
v-if="
slotProps.row.orderStatus == 6 ||
slotProps.row.orderStatus == 7
"
@click.stop="goRefundDestination(slotProps.row)"
>钱款去向</view
>
<view
class="orderstatusbtn"
v-if="slotProps.row.refundableStatus === true"
@click.stop="confirmApplyRefund(slotProps.row)"
>申请退款</view
>
<!-- <view
class="orderstatusbtn"
@@ -615,12 +636,14 @@ export default {
come: "1",
isShowTab: false,
isLoadingHide: false,
moreList: [
{
name: "取消订单",
key: "false",
},
],
// sociology注释取消订单菜单
// moreList: [
// {
// name: "取消订单",
// key: "false",
// },
// ],
moreList: [],
currentCateIndex: 0,
pagination: {
// 请求参数
@@ -671,6 +694,16 @@ export default {
value: 3,
badge: {},
},
{
name: "已退款",
value: 6,
badge: {},
},
{
name: "退款中",
value: 7,
badge: {},
},
],
selectOrderInfo: {},
ordersListTab: 1,
@@ -790,7 +823,8 @@ export default {
console.log("index at line 609:", index);
if (index.key == "false") {
this.isShowMore = false;
this.canceOrder(this.selectOrderInfo);
// sociology注释取消订单触发
// this.canceOrder(this.selectOrderInfo);
}
},
openMore(row, index) {
@@ -856,6 +890,51 @@ export default {
val.orderSn,
});
},
goRefundDestination(row) {
uni.navigateTo({
url: `/pages/bookShop/refundDestination?orderId=${row.orderId}`,
});
},
confirmApplyRefund(row) {
uni.showModal({
title: "申请退款",
content: "请确认是否提交退款申请?",
confirmText: "确认提交",
cancelText: "取消",
success: (res) => {
if (res.confirm) {
this.submitOrderRefund(row);
}
},
});
},
submitOrderRefund(orderRow) {
this.$http
.request({
url: "book/buyOrder/refundOrder",
method: "POST",
data: {
orderId: orderRow.orderId,
},
header: {
"Content-Type": "application/json",
},
})
.then((res) => {
if (res.code === 0) {
this.$commonJS.showToast("申请退款成功");
this.newestpage = 1;
this.pagination.page = 1;
this.newList = [];
this.getBookList(this.ordersListTab, false);
return;
}
this.$commonJS.showToast(res.errMsg || "申请退款失败");
})
.catch(() => {
this.$commonJS.showToast("申请退款失败");
});
},
getBookList(flag, refreshflag) {
this.isLoadingHide = false;
var that = this;
@@ -882,6 +961,8 @@ export default {
// * 3已完成
// * 4: 交易失败
// * 5: 已过期
// * 6: 已退款
// * 7: 退款中
console.log("res at line 757:", res);
that.map = res.data;
@@ -909,7 +990,7 @@ export default {
var params = {
userId: this.userInfo.id,
come: this.come,
orderStatus: flag == -1 ? "" : flag, //传null为全部订单状态 0-待付款 1-待发出 2-待收到 3-已完成 4-交易失败 5-已过期
orderStatus: flag == -1 ? "" : flag, //传null为全部订单状态 0-待付款 1-待发出 2-待收到 3-已完成 4-交易失败 5-已过期 6-已退款 7-退款中
...this.pagination,
// limit: 10,
// page: this.newestpage,
@@ -949,9 +1030,27 @@ export default {
this.axiosStatus = 1;
},
checkPayTimeout(payItem) {
const createTime = payItem && payItem.createTime;
if (!createTime) return true;
const createdAt = new Date(String(createTime).replace(/-/g, "/")).getTime();
if (!createdAt) return true;
const expired = Date.now() - createdAt > 10 * 60 * 1000;
if (expired) {
uni.showModal({
title: "提示",
content: "订单已超时,不能继续支付,请重新下单",
confirmText: "知道了",
showCancel: false,
});
return false;
}
return true;
},
// 支付
goPay(payItem) {
console.log(payItem, "订单数据");
if (!this.checkPayTimeout(payItem)) return;
if (payItem.paymentMethod == 2) {
console.log("阿里支付");
setPay(
@@ -1629,9 +1728,9 @@ export default {
z-index: 970;
}
/deep/.u-tabs__wrapper__nav__item {
padding: 0 !important;
}
// /deep/.u-tabs__wrapper__nav__item {
// padding: 0 !important;
// }
.commonDetailPage {
background-color: #f5f5f5;

View File

@@ -0,0 +1,27 @@
<template>
<view class="page-wrap">
<public-module></public-module>
<common-refund-destination :order-id="orderId" :http="$http" />
</view>
</template>
<script>
export default {
data() {
return {
orderId: "",
};
},
onLoad(options) {
if (options && options.orderId != null) {
this.orderId = options.orderId;
}
},
};
</script>
<style scoped>
.page-wrap {
min-height: 100vh;
}
</style>

View File

@@ -520,6 +520,17 @@
</view>
</view>
</u-popup>
<u-modal
:show="presaleRemarkModalShow"
title="提示"
:content="presaleRemarkModalContent"
:showCancelButton="true"
confirmText="继续购买"
cancelText="取消"
@confirm="handlePresaleRemarkConfirm"
@cancel="handlePresaleRemarkCancel"
@close="handlePresaleRemarkCancel"
></u-modal>
</view>
</template>
@@ -621,6 +632,9 @@ export default {
orderModalShowInfo: {},
orderModalShow: false,
presaleRemarkModalShow: false,
presaleRemarkModalContent: "",
presaleRemarkModalResolve: null,
payType: 1,
freightNum: 0,
addressData: {
@@ -1344,6 +1358,62 @@ export default {
this.content = this.remark;
}
},
openPresaleRemarkModal(content) {
this.presaleRemarkModalContent = content;
this.presaleRemarkModalShow = true;
return new Promise((resolve) => {
this.presaleRemarkModalResolve = resolve;
});
},
handlePresaleRemarkConfirm() {
this.presaleRemarkModalShow = false;
if (this.presaleRemarkModalResolve) {
const resolve = this.presaleRemarkModalResolve;
this.presaleRemarkModalResolve = null;
resolve(true);
}
},
handlePresaleRemarkCancel() {
this.presaleRemarkModalShow = false;
if (this.presaleRemarkModalResolve) {
const resolve = this.presaleRemarkModalResolve;
this.presaleRemarkModalResolve = null;
resolve(false);
}
},
async checkPresaleRemark() {
if (this.pageType != "goods") {
return true;
}
const productIds = this.goodsDataList
.map((e) => e.productId)
.filter((id) => id)
.join(",");
if (!productIds || !this.urlList.presaleRemark) {
return true;
}
try {
const res = await this.$http.request({
url: `${this.urlList.presaleRemark}`,
method: "POST",
data: {
productIds,
},
header: {
"Content-Type": "application/json",
},
});
const remark =
res && typeof res.remark == "string" ? res.remark.trim() : "";
if (!remark) {
return true;
}
return await this.openPresaleRemarkModal(remark);
} catch (error) {
console.log("presaleRemark error:", error);
return true;
}
},
async goBuyJie() {
if (this.pageType == "vip") {
if (this.radioValue != "1") {
@@ -1449,6 +1519,11 @@ export default {
});
thisproduct = thisproduct.join(",");
}
const passPresaleRemark = await this.checkPresaleRemark();
if (!passPresaleRemark) {
this.buyingFlag = false;
return;
}
if (
this.historyOrderInfo &&
thisproduct == this.historyOrderInfo.product &&

View File

@@ -445,4 +445,8 @@ export default {
font-weight: 700;
}
}
.title_list {
margin-bottom: 20rpx;
}
</style>

View File

@@ -1,6 +1,6 @@
<template>
<!-- <scroll-view class="scroll-view_H cateList" scroll-x="true" scroll-left="0"> -->
<view class="" style="background-color: #fff; width: 100%">
<view class="" style="background-color: #fff; width: 100%; padding: 0 20rpx;">
<u-tabs
lineWidth="30"
lineColor="#3AB3AE"

View File

@@ -12,7 +12,7 @@
<CommonCourseVideo
:video-list="videoArray"
:current-index="currentVideoIndex !== null ? currentVideoIndex : 0"
:course="{courseTitle:options.navTitle, chapterTitle: curriculumData.title}"
:course="{courseTitle:options.navTitle, chapterTitle: curriculumData.title, catalogueId: curriculumData.catalogueId || '', courseId: curriculumData.courseId || ''}"
:cover="options.curriculumImgUrl || ''"
:http="$http"
/>

View File

@@ -750,7 +750,7 @@ export default {
});
const joinedText = this.textList.join("/");
this.goBuyTitle = "购买" + joinedText + "VIP即可畅享更多专属权益";
this.goBuyTitle = "购买" + joinedText + "VIP即可畅享更多专属权益(不包含论坛)";
}
});
},

File diff suppressed because it is too large Load Diff

View File

@@ -145,6 +145,7 @@ export default {
list: "app/phone.do?getCourseDetail_new",
initPrepareOrder: "common/buyOrder/initPrepareOrder",
buyOrder: "book/buyOrder/placeOrder",
presaleRemark: "book/buyOrder/presaleRemark",
curriculumInfo: "app/phone.do?getCourseInfo",
detailInfo: "app/phoneDoctor.do?getTaiHuClassInfo_new",
userInfo: "common/user/getUserInfo",

View File

@@ -39,19 +39,22 @@
<!-- </scroll-view> -->
<template v-if="!showSearchList">
<view class="grid twoCateList" v-if="twoCateList.length > 0">
<u-grid :col="3" border class="u-grid-list cateList">
<u-grid-item
<view
class="custom-grid"
:class="curOneCateIndex == 1 ? 'col-4' : 'col-3'"
>
<view
v-for="(item, index) in twoCateList"
:key="item.dictType"
class="grid-item"
@click="setTwoCateIndex(item, index)"
>
<!-- <u-button :type="success">成功按钮</u-button> -->
<view
:class="['grid-text', curTwoCateIndex == index ? 'cur' : '']"
>{{ item.dictValue }}
</view>
</u-grid-item>
</u-grid>
</view>
</view>
</view>
<view
@@ -90,8 +93,6 @@
"
>
<common-list
@lower="onReachBottom1"
:pagination="pagination"
:dataList="titleList"
@hancleClick="gotoDetail"
label="title"
@@ -104,7 +105,6 @@
</template>
<template v-else-if="curOneCateIndex == 0 || curOneCateIndex == 2">
<common-list
@lower="onReachBottom1"
:dataList="titleList"
@hancleClick="gotoDetail"
label="name"
@@ -122,7 +122,6 @@
</template>
<template v-if="curOneCateIndex == 3">
<common-list
@lower="onReachBottom1"
:dataList="titleList"
@hancleClick="gotoDetail"
label="title"
@@ -199,7 +198,6 @@
</view>
</u-modal> -->
<z-navigation></z-navigation>
</view>
</template>
@@ -573,8 +571,12 @@ export default {
// }).exec();
await uni
.createSelectorQuery()
.select(".cateList")
.in(this)
.select(".twoCateList")
.boundingClientRect(function (rect) {
if (!rect || typeof rect.height !== "number") {
return;
}
console.log(rect.height, "22222");
var height = 42 + rect.height + 20;
@@ -773,6 +775,51 @@ export default {
// height: 40rpx;
}
.custom-grid {
display: flex;
flex-wrap: wrap;
// border-top: 1px solid #dadbde;
// border-bottom: 1px solid #dadbde;
&.col-3 {
.grid-item {
min-width: 33.33%;
flex: 1;
}
// .grid-item:nth-child(-n + 3) {
// border-top: 0;
// }
// .grid-item:nth-child(3n + 1) {
// border-left: 0;
// }
}
&.col-4 {
.grid-item {
min-width: 25%;
flex: 1;
}
// .grid-item:nth-child(-n + 4) {
// border-top: 0;
// }
// .grid-item:nth-child(4n + 1) {
// border-left: 0;
// }
}
.grid-item {
// border-left: 1px solid #dadbde;
// border-top: 1px solid #dadbde;
padding: 10rpx 0;
text-align: center;
font-size: 30rpx;
cursor: pointer;
box-sizing: border-box;
}
}
.searchList {
.item {
font-size: 28rpx;
@@ -799,20 +846,20 @@ export default {
text-align: center;
display: inline-block;
width: 32%;
padding: 20rpx 0;
padding: 16rpx 0;
font-size: 34rpx;
border-radius: 10rpx;
}
.cur {
background-color: #3ab3ae;
background-color: #3AB3AE;
color: #fff;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
}
}
.twoCateList {
font-size: 28rpx;
font-size: 30rpx;
margin-top: 20rpx;
.grid-text {
@@ -824,7 +871,7 @@ export default {
color: #3ab3ae;
}
// .u-grid-list{border: 0.5px solid #dadbde;}
.u-grid-list{border: 0.5px solid #dadbde;}
}
.titleList {

View File

@@ -65,9 +65,10 @@
</view>
<view class="userInfoBox" style="margin-left: 20rpx">
<view class="name"
>昵称{{ userMes.nickname ? userMes.nickname : "未设置" }}</view
>
<view class="name">
{{ userMes.nickname ? userMes.nickname : "未设置" }}
<text v-if="userMes.profile" class="user-profile">({{userMes.profile}})</text>
</view>
<view
class="name"
style="
@@ -91,13 +92,18 @@
</view>
</view>
</template>
<view>
<u-tag v-if="userMes.todayWatch" :text="userMes.todayWatch" size="mini" plain plainFill type="success" class="watch-time"></u-tag>
<u-tag v-if="userMes.totalWatch" :text="userMes.totalWatch" size="mini" plain plainFill class="watch-time"></u-tag>
</view>
</view>
</view>
<view
style="
padding: 20rpx 20rpx 0;
margin-top: 50rpx;
margin-top: 25rpx;
height: auto;
display: flex;
align-items: center;
@@ -637,6 +643,9 @@ export default {
if (this.userInfo.id != undefined) {
this.$http.post("common/user/getUserInfo").then((res) => {
this.userMes = res.result;
this.userMes.profile = res.des || '';
this.userMes.todayWatch = res.todayWatch || '';
this.userMes.totalWatch = res.totalWatch || '';
if (this.userMes.userVip) {
}
});
@@ -795,18 +804,21 @@ export default {
width: 100%;
font-weight: bold;
font-size: 32rpx;
color: #333 !important;
color: #6990c7 !important;
line-height: 1.2;
margin-bottom: 6rpx;
}
.user-profile{
font-size: 28rpx;
font-weight: normal;
display: inline-block;
}
.phone {
font-weight: bold;
font-size: 28rpx;
color: #333;
}
.tong {
color: #999;
font-size: 25upx;
font-size: 26rpx;
color: #6990c7 !important;
margin: 6rpx 0;
}
.per_user_img {
@@ -816,6 +828,16 @@ export default {
margin-left: 10rpx;
vertical-align: super;
}
.watch-time {
margin-top: 10rpx;
display: inline-block;
margin-right: 10rpx;
}
}
.userInfoBox {
flex: 1;
}
}
@@ -1033,9 +1055,9 @@ export default {
background-color: transparent !important;
}
uni-page-body {
// background: #d8f8e4 !important;
}
// uni-page-body {
// // background: #d8f8e4 !important;
// }
.bg_top {
padding: 0 30rpx;
@@ -1406,8 +1428,8 @@ uni-page-body {
// margin-right: 10rpx;
}
.zhanghu {
}
// .zhanghu {
// }
.quanyi {
border-top: 1rpx solid #f2d494;
@@ -1448,6 +1470,7 @@ uni-page-body {
.vip_type {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.vip_type_item {
display: flex;
@@ -1462,6 +1485,7 @@ uni-page-body {
font-weight: bold;
color: #fff;
margin-right: 8rpx;
margin-bottom: 4rpx;
}
.vip_type_item_len {
padding: 0 7rpx;

File diff suppressed because it is too large Load Diff

View File

@@ -63,8 +63,9 @@
>
<template slot="labelSlot" slot-scope="slotProps">
<view class="label_content AC_List">
<view style=" display: flex; align-items: center; justify-content: space-between;">
<view class="left">
<view class="title">{{ slotProps.row.orderType }}</view>
<view class="title">{{ slotProps.row.productName || slotProps.row.orderType}}</view>
</view>
<view
:class="`right ${
@@ -74,6 +75,7 @@
<text v-if="slotProps.row.changeAmount > 0">+</text>
<text>{{ slotProps.row.changeAmount }}</text>
</view>
</view>
<view class="AC_mark" v-if="slotProps.row.remark">{{slotProps.row.remark}}</view>
<view class="AC_note" v-if="slotProps.row.note&&slotProps.row.note!='null'">说明{{slotProps.row.note}}</view>
<view class="AC_time">{{ slotProps.row.createTime }}</view>
@@ -348,6 +350,12 @@ export default {
.AC_List {
overflow: hidden;
.title,
.AC_note,
.AC_mark {
word-break: break-word;
overflow-wrap: break-word;
}
.left {
width: calc(100% - 220rpx) !important;
font-weight: 700;
@@ -365,6 +373,19 @@ export default {
font-weight: 700;
color: #333;
}
> view:first-child {
.left {
flex: 1;
min-width: 0;
width: auto !important;
float: none;
}
.right {
flex-shrink: 0;
float: none;
width: auto !important;
}
}
// border-bottom: 1px solid #eee;
// padding: 40rpx 10rpx;

View File

@@ -377,3 +377,7 @@ button::after {
}
}
}
uni-text {
white-space: normal;
}