Files
sociology_app/pages/mine/vip/order.vue
2024-06-20 10:01:12 +08:00

1823 lines
47 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view
class="container commonDetailPage"
style="background-color: #fff !important"
>
<!-- 公共组件-每个页面必须引入 -->
<view class="contentBox commonPageContentBox order_box">
<view class="order_top goods_box pay_box">
<view class="pay_title">支付方式</view>
<view style="margin-bottom: 20rpx">
<u-tag
:text="`已选:${dataInfo.title}`"
bgColor="rgba(188, 231, 223, 0.3)"
borderColor="rgb(197, 227, 215)"
color="#2e676a"
plain
></u-tag>
</view>
<view
class="curriulum_title_box goods_item pay_item"
v-for="(v, i) in payList"
>
<view :class="isDefaultCurrency && i != 2 ? 'bgGrey top' : 'top'">
<view class="left">
<image
class="pay_item_img"
:src="v.imgUrl"
mode="aspectFil"
:style="v.style"
>
</image>
<template v-if="v.type == 4">
<text> {{ v.text }}</text>
<text
style="color: #3ab3ae; font-weight: 600; margin-left: 10rpx"
>
(余额{{
initData && initData.user ? initData.user.peanutCoin : 0
}})</text
>
</template>
<text v-else> {{ v.text }}</text>
</view>
<template v-if="isDefaultCurrency">
<radio
v-if="i == 2"
:value="v.value"
color="#3ab3ae"
:checked="selectPayIndex == i ? true : false"
@click="radioChange(i)"
size="10"
/>
</template>
<template v-else>
<radio
:value="v.value"
color="#3ab3ae"
:checked="selectPayIndex == i ? true : false"
@click="radioChange(i)"
size="10"
/>
</template>
</view>
</view>
<template v-if="selectPayIndex == 2">
<view
class="goods_detail_list_title bg_box_shandow color_shandow bg_color"
>
<view
class="linlanzhifu"
style="
width: 100%;
overflow: hidden;
justify-content: space-between;
"
>
<view class="linlanzhifu">
<u-icon
name="error-circle"
color="#018F89"
size="20"
style="display: inline-block; margin-right: 10rpx"
></u-icon>
确保您的天医币足够支付
</view>
<text
class="fdButtonBox aui-text-danger fdButtonBoxRed"
style="float: right"
@click="
onPageJump('/pages/mine/wallet/recharge/index?source=order')
"
>立即充值</text
>
</view>
<view class="other_info" style="margin-top: 12rpx">
<view class="explain" style="margin-bottom: 10rpx"> 说明 </view>
<view class="explain"> 1. 1天医币 = 1元人民币 </view>
<view class="explain">
2.若有疑问或意见请致电客服
<span style="font-size: 15px"
><u @click="gotoPhone">022-24142321</u></span
>
</view>
<view class="explain">
<!-- 3.非中国大陆用户可通过paypal账户支付
<br> &nbsp;&nbsp;&nbsp;&nbsp;
<account class="aui-text-success" style="text-decoration: underline;" tapmode onclick="fnCopyAccount()">
户名tmrpublishgroup@sina.com
</account>
点击复制
<br> &nbsp;&nbsp;&nbsp;&nbsp;请务必备注本软件的用户姓名及电话以便核对信息我们将于24小时内为您完成充值及升级 -->
3.非中国大陆用户可以信用卡支付简单快捷推荐使用
支付时使用的信用卡需要带有Visa或MasterCard的标识请向邮箱
<text
@click="fnCopy('publisher@tmrjournals.com', '邮箱')"
class="aui-text-success"
style="text-decoration: underline; color: #3ab3ae"
>
publisher@tmrjournals.com
</text>
点击复制发送支付请求内容需包含拟购买的课程名称支付金额APP注册姓名及手机号码或者加一路健康客服微信
<text
class="aui-text-success"
@click="fnCopy('yilujiankangkefu', '微信名')"
style="text-decoration: underline; color: #3ab3ae"
>
yilujiankangkefu </text
>点击复制联系我们我们将在24小时内向您的邮箱或者微信发送支付链接根据提示即可完成信用卡支付无需兑换外币
</view>
</view>
</view>
</template>
</view>
<template>
<common-sticky
label="title"
:itemStyle="`width:${
cateList.length == 2 ? '50' : '33'
}%;padding-left: 15px; padding-right: 15px; height: 68rpx;`"
:list="cateList"
:currentCateIndex="currentCateIndex"
@handleselectCate="handleselectCate"
>
</common-sticky>
</template>
</view>
<view class="goods_nav_box">
<common-goods-nav
:iconList="[]"
:customButton="customButton"
@submit="goBuyJie"
>
<!-- leftSlot -->
<template slot="leftSlot" slot-scope="slotProps">
<view class="price_box order_bottom_box">
<text class="price"
>合计:
<text class="total">{{ dataInfo.lastFee }}</text>
</text>
<!-- <text style="color: #333; margin-left: 10rpx"
>原价{{ dataInfo.fee }}</text
> -->
</view>
</template>
</common-goods-nav>
</view>
<!-- @close="closeOrderModalShow" -->
<!-- <z-navigation></z-navigation> -->
</view>
</template>
<script>
import courseDescription from "@/pages/component/commonComponents/list";
import { setPay, setPayAssign, setWXPay } from "@/config/utils";
import $http from "@/config/requestConfig.js";
const { platform } = uni.getSystemInfoSync();
import { mapState } from "vuex";
export default {
props: ["dataInfo"],
components: {
courseDescription, //课程说明
},
watch: {
isDefaultCurrency: {
immediate: true,
handler(newRoute) {
if (this.isDefaultCurrency) {
if (platform == "ios") {
this.selectPayIndex = 2;
} else {
this.selectPayIndex = 2;
}
} else {
if (platform == "ios") {
this.selectPayIndex = 1;
} else {
this.selectPayIndex = 1;
}
}
this.payType = this.payList[this.selectPayIndex].type;
this.$forceUpdate();
},
},
},
data() {
return {
isDefaultCurrency: false,
isShowAddress: false,
jfNumber: 0,
totalPrice: 0,
actualPayment: 0,
jfNumberShow: "",
jfNumberMax: 0,
goodsDataList: [],
orderModalShowInfo: {},
orderModalShow: false,
payType: 2,
freightNum: 0,
addressData: {
address: "",
consigneeName: "",
consigneePhone: "",
},
selectPayIndex: 1,
farePrice: 0,
payList: [
{
text: "支付宝",
imgUrl: require("@/static/icon/pay_1.png"),
type: 2,
value: "0",
},
{
text: "微信",
imgUrl: require("@/static/icon/pay_2.png"),
type: 1,
value: "1",
},
{
text: "天医币",
imgUrl: require("@/static/icon/pay_3.png"),
type: 4,
value: "2",
},
],
priceBreakdownList: [],
// orderInfoList: [
// {
// text: "订单备注",
// placeholder: "点击填写订单备注",
// imgUrl: "",
// type: "remark",
// },
// ],
number: 1,
detailInfo: {},
content: "",
remark: "",
iconList: [],
swiperList: [],
options: {},
relatedCoursesList: [], //相关课程
curriculumData: {},
curriculumInfo: {},
detailInfo: {},
fdButtonStyle: {
width: "90rpx",
"border-color": "#3AB3AE",
color: "#3AB3AE",
float: "right",
"margin-right": "20rpx",
"margin-left": "30rpx",
},
modalInfo: {},
currentCateIndex: 0,
show: false,
playData: {},
initData: {},
taiHuClassInfo: {},
searchValue: "",
cateList: [], // 一级分类标题1
twoCateList: [], // 二级分类标题
dataList: [], // 方剂标题
defaultAddressList: {},
allDataList: [], // 方剂标题
currentStatusIndex: 0, // 当前选中的一级分类
curTwoCateIndex: 0, // 当前选中的二级分类
searchList: [], // 搜索结果数组
showSearchList: false,
userMes: {}, // 用户信息
searchDisable: false, // 搜索不可用
limitShow: false,
limitTitle: "提示",
goToInfo: {},
limitContent: "",
scrollViewHeight: 0,
urlList: {
list: "app/phone.do?getCourseDetail_new",
initPrepareOrder: "/common/buyOrder/initPrepareOrder",
// buyOrder: "book/buyOrder/placeOrder",
buyOrder: "common/userVip/placeVipOrder",
curriculumInfo: "app/phone.do?getCourseInfo",
detailInfo: "app/phoneDoctor.do?getTaiHuClassInfo_new",
addressList: "common/userAddress/getUserAddress",
freightNum: "book/buyOrder/calculateTransportPrice", //运费
},
customButton: [
{
width: "160rpx",
text: "立即支付",
backgroundColor: "linear-gradient(90deg, #3AB3AE 0%, #117e4c 100%)",
color: "#fff",
},
],
customButtonGroup1: [
{
with: 200,
text: "确定",
backgroundColor: "linear-gradient(90deg, #3AB3AE 0%, #117e4c 100%)",
color: "#fff",
},
],
};
},
async onLoad(options) {
console.log("调用了onLoad方法");
var that = this;
console.log("options at line 387:", options);
this.options = JSON.parse(options.data);
// if (this.options.goods.findIndex((e) => e.goodsType == "05") >= 0) {
// this.isShowAddress = false;
// } else {
// this.isShowAddress = true;
// }
this.goodsDataList = this.options.goods;
// if (this.options.sourceType == "curriculum") {
// this.goToInfo = {
// url: "/pages/curriculum/order/index/index",
// type: 2,
// };
// } else {
this.goToInfo = {
url: "/pages/bookShop/orderList",
type: 1,
};
// }
// that.initPrepareOrder();
console.log("this.options at line 375:", this.options, this.goToInfo);
// this.getUserInfo()
// this.getCateList()
},
onHide() {
// this.showSearchList = false
// this.searchList = []
},
async onShow() {
console.log("调用了onShow方法");
var that = this;
await uni.$on("returnData", function (data) {
console.log("data at line 415:", data);
if (data) {
that.addressData = {
...data,
address: `${data.province}${data.city}${data.county}${data.detailAddress}`,
consigneeName: data.consigneeName,
consigneePhone: data.consigneePhone,
};
that.$forceUpdate();
that.getUserAddress();
} else {
console.log("没有接受到数据");
}
});
// this.selectPayIndex = 0;
console.log("this.addressData at line 416:", this.addressData);
},
computed: {
...mapState(["userInfo"]),
},
methods: {
onHandleClickBuy() {
this.orderModalShow = false;
this.remark = this.content;
},
closeOrderModalShow() {
if (this.orderModalShowInfo.type == "remark") {
this.content = "";
}
this.orderModalShow = false;
},
onPageJump(url) {
console.log(url, "url");
uni.navigateTo({
url: url,
});
},
async initPrepareOrder() {
this.priceBreakdownList = [
{
text: "商品总价",
imgUrl: "",
type: 1,
},
{
text: "运费",
imgUrl: "",
type: 2,
},
];
// this.goodsDataList
console.log("this.goodsDataList at line 595:", this.goodsDataList);
var data = {
uid: this.userInfo.id,
productList: [],
};
var that = this;
this.$http
.request({
// url: "book/buyOrder/buySave",
url: `${this.urlList.initPrepareOrder}`,
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data,
header: {
//默认 无 说明:请求头
"Content-Type": "application/json",
},
})
.then(async (res) => {
console.log("res at line 374:", res);
if (res.code == 0) {
this.initData = res.data;
}
this.$forceUpdate();
// await that.getDetailInfo();
});
},
// 获取订单初始话
handleFresh() {
this.show = false;
},
getTotalPrice() {
var s = 0;
var that = this;
for (var i = this.goodsDataList.length - 1; i >= 0; i--) {
s += this.goodsDataList[i].price ? this.goodsDataList[i].price : 0;
}
that.totalPrice = s;
//
if (!this.isShowAddress) {
if (this.initData.user.jf >= that.totalPrice) {
this.jfNumber = that.totalPrice;
this.jfNumberMax = that.totalPrice;
} else {
this.jfNumber = this.initData.user.jf;
this.jfNumberMax = this.initData.user.jf;
}
if (that.jfNumber == 0 || that.jfNumber == null) {
that.jfNumberShow = "0.00";
that.actualPayment = that.totalPrice;
} else {
that.jfNumberShow = that.jfNumber.toFixed(2);
that.actualPayment = that.totalPrice - that.jfNumber;
}
that.actualPayment = that.actualPayment + that.freightNum;
} else {
that.actualPayment = that.totalPrice + that.freightNum;
}
if (this.actualPayment == 0 && !this.isShowAddress) {
this.isDefaultCurrency = true;
} else {
this.isDefaultCurrency = false;
}
this.$forceUpdate();
},
selectAddress(data) {
this.show = false;
},
goToAddress() {
uni.navigateTo({
url: "/pages/component/commonComponents/address/index?type=order",
});
// this.show = true;
// this.$nextTick(() => {
// this.$refs.commonAddress.open();
// });
},
fnCopy(value, title) {
this.$commonJS.handleMakingPhoneCalls(value, title);
},
gotoPhone() {
this.$commonJS.handleMakingPhoneCalls("022-24142321");
},
openOrderModal(v) {
this.orderModalShowInfo = v;
console.log(
"this.orderModalShowInfo at line 727:",
this.orderModalShowInfo
);
this.orderModalShow = true;
if (this.orderModalShowInfo.type == "remark") {
this.content = this.remark;
}
},
async goBuyJie() {
var that = this;
// if (this.addressList.length == 0) {
// this.dizhiShow = true // 如果没有地址信息
// }
// if (!this.nowClick) {
// return
// }
this.nowClick = false;
setTimeout(() => {
this.nowClick = true;
}, 5000);
// let youPre = {
// id: "",
// coupons: {
// amount: 0,
// name: "",
// },
// };
// if (this.youhuiContent.id != undefined) {
// youPre = this.youhuiContent;
// }
let xiaBiao = [];
// for (let i = 0; i < this.cartList.length; i++) {
// xiaBiao.push({
// productId: this.cartList[i].productId,
// quantity: this.cartList[i].productAmount,
// });
// }
let data = {
paymentMethod: this.payType, //1微信2支付宝3苹果支付4虚拟币
orderMoney: this.dataInfo.lastFee, //订单金额
realMoney: this.dataInfo.lastFee, //实际金额
shippingMoney: 0, //运费
jfDeduction: 0, //积分抵扣
vipBuyConfigId: this.dataInfo.id,
come: 1, //订单来源0疯子读书1国学众妙之门2医学吴门医述
// appName: "zmzm",
};
console.log("data at line 477:", data);
await $http
.request({
// url: "book/buyOrder/buySave",
url: that.urlList.buyOrder,
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data,
header: {
//默认 无 说明:请求头
"Content-Type": "application/json",
},
})
.then(async (res) => {
console.log("res at line 598111111111111:", res);
if (res.code == 0) {
if (res.orderSn == null) {
uni.showToast({
title: "失败,请重新下单",
icon: "none",
image: "../../../static/icon/ic_close.png",
});
} else {
console.log("that.payType at line 607:", that.payType);
if (that.payType == 2) {
// 常规支付
uni.showToast({
title: "正在支付",
icon: "loading",
});
await setPay(
{
typePay: "alipay",
subject: "order",
totalAmount: res.money,
type: 2,
relevanceoid: res.orderSn,
customerId: that.userInfo.id,
},
(res) => {
uni.showLoading({
title: "加载中",
});
console.log(res, "支付支付");
if (res.success) {
uni.showToast({
title: "支付成功",
});
setTimeout(() => {
uni.switchTab({
url: "/pages/bookShop/orderList?type=order",
});
}, 1000);
} else {
console.log("失败失败失败");
// that.$commonJS.showToast('支付是失败')
setTimeout(() => {
console.log("延迟调用 失败提示");
uni.showToast({
title: "支付失败",
image: "../../../static/icon/ic_close.png",
});
}, 0);
// setTimeout(() => {
// uni.navigateTo({
// url: './orderList'
// });
// }, 1000)
}
}
);
} else if (this.payType == 1) {
// 微信支付
let data1 = {
orderSn: res.orderSn,
buyOrderId: null,
totalAmount: res.money,
};
setWXPay(data1, (res) => {
if (res.success) {
uni.showToast({
title: "支付成功",
});
setTimeout(() => {
uni.switchTab({
url: "/pages/bookShop/orderList?type=order",
});
}, 1000);
} else {
console.log(res, "微信支付111111111111111");
if (res.data.errMsg.indexOf("User canceled") != -1) {
uni.showToast({
title: "用户取消支付",
icon: "none",
image: "../../../static/icon/ic_close.png",
});
} else {
uni.showToast({
title: "支付失败",
icon: "none",
image: "../../../static/icon/ic_close.png",
});
}
}
});
} else if (this.payType == 4) {
// 天医币支付
uni.showToast({
title: "购买成功",
icon: "success",
});
setTimeout(() => {
uni.switchTab({
url: "/pages/bookShop/orderList?type=order",
});
}, 1000);
}
}
}
});
},
radioChange(index) {
this.selectPayIndex = index;
this.payType = this.payList[this.selectPayIndex].type;
console.log("this.selectPayIndex at line 315:", this.selectPayIndex);
this.$forceUpdate();
},
handleValChange(e) {
console.log("e at line 424:", e);
},
buttonClick(e) {
console.log(e);
this.options[2].info++;
},
hancleModalConfirm() {
var data = {
values: {
customerType: "D",
token: uni.getStorageSync("token"),
customerOid: uni.getStorageSync("customerOid"),
...this.taiHuClassInfo,
},
};
// $mars.progressBegin('申请中...');
// $mars.post(customerType, 'applyRelearn', data, function (ret) {
// api.hideProgress();
// fnLoadDataGrid();
// });
},
fnRelearn(oid, days, courseFee) {
//99和199课程复读一个月60三个月120; 299和399课程复读一个月80三个月180
//499和599课程复读一个月90三个月220; 699和799课程复读一个月100三个月248
var feeAs = [
[60, 120],
[80, 180],
[90, 220],
[100, 248],
];
var fee = 0;
if (courseFee < 206) {
fee = feeAs[0][days == 30 ? 0 : 1];
} else if (courseFee < 406) {
fee = feeAs[1][days == 30 ? 0 : 1];
} else if (courseFee < 606) {
fee = feeAs[2][days == 30 ? 0 : 1];
} else {
fee = feeAs[3][days == 30 ? 0 : 1];
}
this.modalInfo = {
title: "提示信息",
content:
"用户您好,该课程已到期,通过支付" +
fee +
"元,本门课程可获得" +
days +
"天延期学习时间,点击确认即完成自动扣费,感谢配合!",
};
this.taiHuClassInfo = {
taiHuClassOid: oid,
days: days,
fee: fee,
};
this.show = true;
// $aui.alert({
// title: ,
// content: '用户您好,该课程已到期,通过支付' + fee + '元,本门课程可获得' + days + '天延期学习时间,点击确认即完成自动扣费,感谢配合!',
// buttons: ['取消', '确认'],
// radius: 6,
// titleColor: '#ff3300',
// contColor: '#333',
// btnColor: ''
},
//课程详情
async gotoDetail(v) {
console.log(v);
var result = await this.$commonJS.getCheckCourseStatus({
oid: v.courseOid,
});
console.log("result at line 364:", result);
if (result.buyFlg == 0 && v.conditions != "01") {
this.$commonJS.showToast("请先购买课程");
return;
}
uni.navigateTo({
// url: '../bookShop/commodityDetail?id=' + item.id
url: `/pages/curriculum/order/curriculum/detail?navTitle=${v.title}&title=${v.title}&oid=${v.courseOid}&conditions=${v.conditions}&detailOid=${v.detailOid}`,
});
},
//相关课程
goCourseDescription(v) {
console.log(v);
uni.navigateTo({
// url: '../bookShop/commodityDetail?id=' + item.id
url: `/pages/curriculum/order/curriculum/index?navTitle=${v.title}&title=${v.title}&oid=${v.oid}`,
});
},
async getCourseDescriptionData() {
var data = {};
var that = this;
console.log(this.$store.state, "11111111111");
this.$http
.post(this.urlList.list, {
customerType: "D",
token: uni.getStorageSync("token"),
customerOid: uni.getStorageSync("customerOid"),
oid: this.options.oid,
})
.then(async (res) => {
that.curriculumData = res.obj;
if (
that.curriculumData.productImageList == null ||
that.curriculumData.productImageList == ""
) {
this.swiperList.push(that.curriculumData.explainsImg);
} else {
that.swiperList = that.curriculumData.productImageList.split(",");
// for (var i = 0; i < imgList.length; i++) {
// this.swiperList.push(imgList[i])
// }
}
that.dataList = res.obj.correlatedList;
await that.getDetailInfo();
// that.relatedCoursesList = res.obj.correlatedList
// await that.handleselectCate({ ...this.cateList[0], index: 0 })
// socket.init();
});
},
getPriceData() {
var that = this;
setTimeout(() => {
that.$nextTick(() => {
that.$refs.priceDetail.getTotalPrice();
});
}, 100);
},
// 检查是有权限使用搜索功能
checkDisable() {
console.log("点击了");
},
// 显示无权限弹窗
// showNoRights() {
// let that = this
// uni.showModal({
// content: "",
// confirmText: '好的',
// showCancel: false,
// success: function(res) {
// if (res.confirm) {
// // console.log('用户点击确定');
// that.clear()
// }
// }
// })
// },
// 获取用户详情
getUserInfo() {
// 用户详情
if (this.userInfo.id != undefined) {
this.$http.post("book/user/info/" + this.userInfo.id).then((res) => {
this.userMes = res.user;
this.getCateList();
console.log(this.userMes, "呼呼");
});
}
},
async handleselectCate(item, index) {
this.dataList = [];
var data = [];
console.log(item, index, 99999);
var that = this;
// curriculumInfo
this.$http
.post(this.urlList.curriculumInfo, {
customerType: "D",
token: uni.getStorageSync("token"),
customerOid: uni.getStorageSync("customerOid"),
oid: item.coid,
})
.then(async (res) => {
that.curriculumInfo = res.obj;
that.dataList = res.obj.courseList;
// socket.init();
});
// this.$nextTick(() => {
// switch (item.type) {
// case 1:
// // allDataList
// this.dataList = that.allDataList.result1Lst
// break;
// case 2:
// this.dataList = that.allDataList.result2Lst
// break;
// case 3:
// this.dataList = that.allDataList.result3Lst
// break;
// case 4:
// this.dataList = that.allDataList.result4Lst.filter(e =>
// e.oid != '5fcf991c027b11e7ae62008cfae40c18' && e.oid != 'b3d8a938b8e147bc877613bb712a9cb3' && e.oid != '4d4730163135420ea962bfac4805e026' && e.oid != '49fb76ca3d6b43718d78c6aa9a3003c2' && e.oid != 'c7b047ed9246469b9ae2b1013fc3df9c'
// )
// console.log(this.dataList.length, 6666666)
// break;
// }
// this.currentCateIndex = item.index
// })
console.log(this.allDataList, this.dataList, "1688");
// if(this.userMes.tgdzPower == 0){
// let that = this
// uni.showModal({
// content: "购买 针灸六经法要上册和下册 后方可使用此功能",
// confirmText: '好的',
// showCancel: false,
// success: function(res) {
// if (res.confirm) {
// // console.log('用户点击确定');
// }
// }
// })
// return
// }
// if(item.title == "时辰取穴"){
// uni.navigateTo({
// url: "../timeAcupoint/timeAcupoint"
// })
// return
// }
// this.currentStatusIndex = index
this.searchValue = "";
this.searchList = [];
this.showSearchList = false;
// if (index != 2) {
// uni.createSelectorQuery().select('.statusList').boundingClientRect(function (rect) {
// var height = rect.height
// console.log('元素高度:',);
// }).exec();
// } else {
// this.getJFList(dictType)
// }
return data;
},
async getDetailInfo() {
var that = this;
// curriculumInfo
this.detailInfo = {
content:
"<img src='http://oss.taihumed.com/other/null_20210528102528870.jpg' ></img> <img src='http://101.201.146.165:8088/curriculum/detailImg/curriculum_20170420143333621.png' ></img><p><p>没有中医基础想学中医难不难?中医学者治疗出现瓶颈怎么办?中西医究竟有什么不同呢?吴雄志教授将以全新的视角,完美整合中药学和西医学知识,让你领略当代中医生理学魅力。</p><p><br/><p></p><p><br/></p><p>【思考题】</p><p>1、简述中医的发展这些年出现了哪些变化</p><p>2、简述中西医学科的异同</p>",
};
// this.$http
// .post(this.urlList.detailInfo, {
// customerType
// :
// "D",
// token
// : uni.getStorageSync("token")
// ,
// customerOid
// : uni.getStorageSync("customerOid"),
// classOid: 'f81b558ca4ee406e97c4045c87c2539c'
// })
// .then(async res => {
// that.detailInfo = res.obj
// // that.dataList = res.obj.courseList
// // socket.init();
// });
// this.$nextTick(() => {
// switch (item.type) {
// case 1:
// // allDataList
// this.dataList = that.allDataList.result1Lst
// break;
// case 2:
// this.dataList = that.allDataList.result2Lst
// break;
// case 3:
// this.dataList = that.allDataList.result3Lst
// break;
// case 4:
// this.dataList = that.allDataList.result4Lst.filter(e =>
// e.oid != '5fcf991c027b11e7ae62008cfae40c18' && e.oid != 'b3d8a938b8e147bc877613bb712a9cb3' && e.oid != '4d4730163135420ea962bfac4805e026' && e.oid != '49fb76ca3d6b43718d78c6aa9a3003c2' && e.oid != 'c7b047ed9246469b9ae2b1013fc3df9c'
// )
// console.log(this.dataList.length, 6666666)
// break;
// }
// this.currentCateIndex = item.index
// })
console.log(this.allDataList, this.dataList, "1688");
// if(this.userMes.tgdzPower == 0){
// let that = this
// uni.showModal({
// content: "购买 针灸六经法要上册和下册 后方可使用此功能",
// confirmText: '好的',
// showCancel: false,
// success: function(res) {
// if (res.confirm) {
// // console.log('用户点击确定');
// }
// }
// })
// return
// }
// if(item.title == "时辰取穴"){
// uni.navigateTo({
// url: "../timeAcupoint/timeAcupoint"
// })
// return
// }
// this.currentStatusIndex = index
this.searchValue = "";
this.searchList = [];
this.showSearchList = false;
// if (index != 2) {
// uni.createSelectorQuery().select('.statusList').boundingClientRect(function (rect) {
// var height = rect.height
// console.log('元素高度:',);
// }).exec();
// } else {
// this.getJFList(dictType)
// }
return data;
},
async setOneCateIndex(item, index) {
this.allDataList = [];
console.log(index, 99999);
var that = this;
// if(this.userMes.tgdzPower == 0){
// let that = this
// uni.showModal({
// content: "购买 针灸六经法要上册和下册 后方可使用此功能",
// confirmText: '好的',
// showCancel: false,
// success: function(res) {
// if (res.confirm) {
// // console.log('用户点击确定');
// }
// }
// })
// return
// }
// if(item.title == "时辰取穴"){
// uni.navigateTo({
// url: "../timeAcupoint/timeAcupoint"
// })
// return
// }
this.currentStatusIndex = index;
// this.currentCateIndex = 0
this.searchValue = "";
this.searchList = [];
this.showSearchList = false;
this.$nextTick(async () => {
await that.getCourseDescriptionData();
this.$forceUpdate();
});
// this.handleselectCate(this.cateList[this.currentCateIndex])
// if (index != 2) {
// uni.createSelectorQuery().select('.statusList').boundingClientRect(function (rect) {
// var height = rect.height
// console.log('元素高度:',);
// }).exec();
// } else {
// this.getJFList(dictType)
// }
},
transformData(inputData) {
const result = {};
inputData.forEach((item) => {
const { letter } = item;
if (!result[letter]) {
result[letter] = [];
}
result[letter].push(item);
});
// const finalResult = Object.keys(result).map(key => ({ [key]: result[key] }));
return result;
},
// getJFList(id) {
// $http.request({
// url: "book/prescript/prescriptListForJF",
// method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
// data: {
// loadAnimate: 'none', // 请求加载动画
// 'categoryId': id
// },
// header: { //默认 无 说明:请求头
// 'Content-Type': 'application/json'
// },
// }).then(res => {
// if (res.code == 0 && res.list.length > 0) {
// this.twoCateList = []
// this.dataList = this.transformData(res.list)
// console.log('JF经方', this.dataList)
// } else {
// this.twoCateList = []
// this.dataList = []
// }
// }).catch(e => {
// this.twoCateList = []
// this.dataList = []
// console.log(e)
// })
// },
getCateList(id) {
id ? "" : (id = 0);
this.twoCateList = [];
this.curTwoCateIndex = 0;
// 0为获取顶级分类其他为搜索下级分类目前的逻辑顶级是写死的所以可能只会涉及到搜索第二级
// $http.request({
// url: "book/prescript/prescriptCategoryList",
// method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
// data: {
// loadAnimate: 'none', // 请求加载动画
// 'categoryId': id
// },
// header: { //默认 无 说明:请求头
// 'Content-Type': 'application/json'
// },
// }).then(res => {
// console.log(res, '脉穴分类获取成功')
// if (res.code == 0 && res.list.length > 0) {
// this.statusList = res.list
// this.getTowCateList(this.statusList[0].type)
// } else {
// this.statusList = []
// }
// }).catch(e => {
// this.statusList = []
// console.log(e)
// })
},
// 放大图片
previewImage(url) {
console.log(url);
uni.previewImage({
urls: [url],
longPressActions: {
itemList: ["很抱歉,暂不支持保存图片到本地"],
success: function (res) {
// console.log(res,'+++++')
},
},
});
},
// getSearch() {
// $http.request({
// url: "book/prescript/searchPrescript",
// method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
// data: {
// loadAnimate: 'none', // 请求加载动画
// 'keywords': this.searchValue,
// type: this.currentStatusIndex + 1
// },
// header: { //默认 无 说明:请求头
// 'Content-Type': 'application/json'
// },
// }).then(res => {
// console.log(res, '搜索结果')
// if (res.code == 0 && res.list.length >= 0) {
// this.showSearchList = true
// this.searchList = res.list
// } else {
// this.searchList = []
// }
// }).catch(e => {
// // this.dataList = []
// this.searchList = []
// console.log(e)
// })
// },
// search(res) {
// console.log(res, 'res')
// // uni.showToast({
// // title: '搜索:' + res,
// // icon: 'none'
// // })
// if (res == '') {
// this.showSearchList = false
// this.searchList = []
// } else {
// this.getSearch()
// }
// },
// input(res) {
// console.log('----input:', res)
// if (res == '') {
// this.searchList = []
// } else {
// this.getSearch()
// }
// },
// clear(res) {
// console.log('----clear:', res)
// // uni.showToast({
// // title: 'clear事件清除值为',
// // icon: 'none'
// // })
// this.searchValue = ''
// this.showSearchList = false
// },
// blur(res) {
// // console.log('----blur:', res)
// // if (res == '') {
// // this.showSearchList = false
// // this.searchList = []
// // } else {
// // this.getSearch()
// // }
// },
// focus(e) {
// console.log('----focus:')
// // uni.showToast({
// // title: 'focus事件输出值为' + e.value,
// // icon: 'none'
// // })
// // 等于1 就是有权限
// // this.showSearchList = true
// },
// cancel(res) {
// uni.showToast({
// title: '点击取消,输入值为:' + res.value,
// icon: 'none'
// })
// }
},
onBackPress() {
// #ifdef APP-PLUS
plus.key.hideSoftKeybord();
// #endif
},
};
</script>
<style lang="scss" scoped>
@import "@/style/mixin.scss";
.pay_title {
text-align: center;
font-size: 32rpx;
margin-bottom: 40rpx;
}
.order_box {
padding: 20rpx;
.order_top {
background-color: #fff;
margin-bottom: 20rpx;
}
.goods_item {
//
width: 100%;
overflow: hidden;
.textarea {
margin-top: 20rpx;
background-color: #fffdfd;
}
.goods_item_img {
width: 140rpx;
height: 140rpx;
float: left;
background-color: #f5f5f5;
border-radius: 10rpx;
}
.normal_box {
width: calc(100% - 160rpx);
height: auto;
float: right;
// overflow: hidden;
.normal_box_top {
width: 100%;
display: flex;
height: 100rpx;
// margin-bottom: 40rpx;
}
}
}
}
.u-grid-list {
// height: 40rpx;
}
.flexbox {
display: flex;
}
.dataList {
height: 100%;
}
.titleList2 {
height: calc(100% - 150rpx);
}
.priceDetail {
height: calc(100% - 180rpx) !important;
padding: 0rpx 0;
box-sizing: border-box;
}
.componentPage {
height: calc(100% - 90rpx) !important;
}
.dateReminder {
width: 100%;
font-size: 24rpx;
text-align: right;
line-height: 40rpx;
}
.fdButtonBox {
border: 1rpx solid $themeColor;
background-color: $themeColor;
color: #fff;
// width: 100%;
float: right;
padding: 4rpx 14rpx;
font-size: 24rpx;
font-weight: 500;
line-height: 30rpx;
border-radius: 10rpx;
box-sizing: border-box;
// margin-top: 20rpx;
// display: flex;
// align-items: center;
}
.commonDetailPage {
padding: 0 !important;
padding-bottom: 150rpx !important;
}
.goods_box {
background-color: #fff;
// margin-top: 20rpx;
// padding: 40rpx 30rpx;
box-sizing: border-box;
width: 100%;
.title {
color: #333;
font-weight: 600;
margin-bottom: 20rpx;
}
.curriulum_title_box {
width: calc(100%) !important;
padding-bottom: 20rpx;
background-color: #fff;
.curriulum_title {
width: calc(100% - 80rpx);
font-weight: 500;
font-size: 30rpx;
// line-height: 40rpx;
// display: flex;
// align-items: center;
margin-top: 10rpx;
float: left;
margin-bottom: 0rpx;
color: #333;
// padding: 20rpx;
box-sizing: border-box;
}
}
}
.dataList {
background-color: #fff !important;
padding: 0 30rpx 40rpx !important;
box-sizing: border-box;
}
/deep/.titleItem {
// width: calc(100% - 120rpx) !important;
}
/deep/.scroll-view-item:nth-child(2n-1) {
background-color: transparent !important;
}
.dataList {
height: auto !important;
}
.related_courses_box {
background-color: #fff;
.small_class_teaching_content {
padding: 10rpx 20rpx;
box-sizing: border-box;
}
}
.related_courses_name {
display: inline-block;
width: calc(100% - 150rpx) !important;
.aui-text-danger {
display: inline-block;
float: right;
}
}
.original_price {
font-size: 28rpx !important;
font-weight: 500;
color: #999 !important;
white-space: nowrap;
text-decoration: line-through;
float: left;
margin-top: 6rpx;
}
.price {
width: auto;
font-size: 30rpx;
font-weight: 600;
float: right;
margin-right: 10rpx;
color: #333;
// font-family: PangMenZhengDaoBiaoTiTiMianFeiBan;
}
.price_box {
width: auto;
overflow: hidden;
margin-top: 10rpx;
}
.commonTags {
margin-right: 20rpx;
margin-top: -5rpx !important;
}
.sales_number {
text-decoration: none;
color: #b0b0b0;
font-weight: 500;
}
// .common_curriculum_list{
// }
/deep/.common_curriculum_list {
margin-top: 20rpx;
padding: 20rpx 20rpx 20rpx;
.content_item {
width: 100% !important;
margin-bottom: 0 !important;
padding: 15rpx 0 0rpx;
border-top: 1rpx solid #f1f0f0;
// height: 160rpx;
.book_image {
width: 60rpx !important;
height: 60rpx !important;
float: left !important;
background-color: #f5f5f5;
}
.common_curriculum_item {
width: calc(100% - 88rpx);
float: right;
display: block !important;
// overflow: hidden;
.related_courses_name {
width: 100% !important;
}
}
}
.content_item:nth-child(1) {
border-top: none !important;
}
}
/deep/.common_section {
padding: 0 !important;
padding-bottom: 20rpx !important;
}
.goods_detail_list_title {
display: block;
padding-top: 20rpx;
padding-bottom: 40rpx;
.linlanzhifu {
display: flex;
align-items: center;
}
.other_info {
font-size: 28rpx;
// color: #aaa;
color: #5a5a5a;
.explain {
}
}
.left {
display: flex;
align-items: center;
}
.right {
font-size: 24rpx;
font-weight: 500 !important;
color: #999;
font-family: none;
}
// justify-content: space-between;
}
.commonPageContentBox {
height: auto !important;
}
.minus {
width: 50rpx;
height: 50rpx;
border-width: 2rpx;
border-color: #e6e6e6;
border-right-color: transparent;
border-top-left-radius: 10rpx;
border-bottom-left-radius: 10rpx;
border-style: solid;
// border-top-left-radius: 100px;
// border-top-right-radius: 100px;
// border-bottom-left-radius: 100px;
// border-bottom-right-radius: 100px;
// border-radius:10rpx;
@include flex;
justify-content: center;
align-items: center;
}
.input {
padding: 0 10px;
height: 50rpx;
border: 1rpx solid #e6e6e6;
}
.plus {
width: 50rpx;
height: 50rpx;
border-width: 2rpx;
border-color: #e6e6e6;
border-left-color: transparent;
border-style: solid;
// background-color: #3AB3AE;
border-top-right-radius: 10rpx;
border-bottom-right-radius: 10rpx;
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
justify-content: center;
align-items: center;
color: $themeColor;
}
.order_bottom_box {
position: absolute;
right: 20rpx;
.number {
font-size: 28rpx;
margin-right: 15rpx;
margin-top: 5rpx;
}
.price {
.total {
font-size: 38rpx;
color: red;
}
}
}
/deep/.goods_nav_box {
.left {
margin-top: -10rpx;
width: calc(100% - 180rpx);
height: auto;
position: relative;
// overflow: hidden;
}
}
.explain {
word-wrap: break-word;
word-break: normal;
word-break: break-all; //会断词
// white-space: nowrap;
}
.order_bottom_box {
display: flex;
align-items: center;
}
.pay_box {
.pay_item {
border-bottom: 1rpx solid #eeecec;
padding-top: 20rpx;
justify-content: space-between;
.top {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.left {
line-height: 50rpx;
font-family: MicrosoftYaHei;
font-weight: 500;
color: #242323;
.pay_item_img {
width: 50rpx;
height: 50rpx;
float: left;
margin-right: 20rpx;
}
}
.bottom {
width: calc(100% - 60rpx);
float: right;
// background-color: #dcdfe6;
background-color: #f5f5f5;
border-radius: 20rpx;
margin-top: 20rpx;
.jf_box {
width: 100%;
display: flex;
align-items: center;
padding: 0 20rpx;
box-sizing: border-box;
justify-content: space-between;
color: #aaa;
}
.jf_input {
width: calc(100% - 320rpx) !important;
padding: 10rpx 0;
box-sizing: border-box;
}
}
}
/deep/.pay_item:nth-last-child(1) {
border-bottom: none !important;
}
}
.linlanzhifu {
font-size: 28rpx;
line-height: 24rpx;
}
.address_box {
// padding: 20rpx;
display: flex;
align-items: center;
.order_top {
background-color: #fff;
// margin-bottom: 20rpx;
}
.user_info {
width: 100%;
float: left;
display: flex;
margin-top: 10rpx;
align-items: center;
.name {
color: #838282;
margin-right: 10rpx;
}
.tel {
color: #838282;
}
}
.curriulum_title {
width: auto;
font-size: 34rpx;
font-weight: 700;
float: left;
margin-right: 10rpx;
color: #333;
line-height: 50rpx;
letter-spacing: 2rpx;
}
.normal_box {
margin-left: 5rpx;
width: calc(100% - 120rpx);
}
.goods_box {
// padding: 20rpx 20rpx;
display: flex;
align-items: center;
}
.rightArrow {
margin-left: 40rpx;
width: 40rpx;
height: 40rpx;
// position: absolute;
// right: 30rpx;
}
}
.rightArrow {
width: 40rpx;
height: 40rpx;
// position: absolute;
// right: 30rpx;
}
.orderModalShow {
width: 100%;
max-height: 48vh;
padding-bottom: 120rpx;
}
.popup_box {
.curriulum_title_box {
.title {
text-align: center;
font-size: 34rpx !important;
padding-top: 15rpx !important;
margin-bottom: 60rpx !important;
}
}
}
.hasRemark {
color: #333 !important;
font-size: 40rpx !important;
}
.bgGrey {
// background-color: #f5f5f5;
}
.pay_info {
margin-bottom: 60rpx;
display: flex;
align-items: center;
justify-content: space-between;
}
</style>