Files
medicine_app/pages/goods/order/index.vue
@fawn-nine 85c2782b8a 暂存
2024-08-28 10:37:11 +08:00

2279 lines
60 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 commonPageBox commonDetailPage">
<!-- 公共组件-每个页面必须引入 -->
<public-module></public-module>
<z-nav-bar title="确认订单" bgColor="#258feb" fontColor="#fff"></z-nav-bar>
<view class="contentBox commonPageContentBox order_box">
<!-- :indicator-dots="true" -->
<!-- <view class="order_top common_radius_box color_shandow">
<view class="goods_item">
<image class="goods_item_img" src="http://oss.taihumed.com/other/null_20210528102528870.jpg"
mode="aspectFit" >
</image>
</view>
</view> -->
<!-- -->
<view v-show="isShowAddress" class="order_top common_radius_box color_shandow goods_box address_box"
@click="goToAddress">
<u-icon name="map-fill" color="#258feb" size="23"
style="display: inline-block; margin-right: 10rpx"></u-icon>
<!-- <view class="curriulum_title_box goods_item"> -->
<view class="normal_box" v-if="addressData.consigneeName">
<view class="normal_box_top">
<view class="curriulum_title">{{ addressData.address }} </view>
<view class="user_info">
<text class="name"> {{ addressData.consigneeName }} </text>
<text class="tel"> {{ addressData.consigneePhone }} </text>
</view>
</view>
</view>
<view class="normal_box" v-else>
<view class="normal_box_top">
<view class="curriulum_title">请添加收货地址 </view>
</view>
</view>
<view class="right">
<image src="@/static/icon/icon_right.png" class="rightArrow" style=""></image>
</view>
<!-- </view> -->
</view>
<view class="order_top common_radius_box color_shandow goods_box">
<view class="curriulum_title_box goods_item" v-for="(v, i) in goodsDataList">
<image v-if="v.productImages && v.productImages != ''" class="goods_item_img" :src="v.productImages"
mode="aspectFit">
</image>
<image v-else src="/static/nobg1.jpg" mode="widthFix" @click="goDetail(item.productId)"></image>
<view class="normal_box">
<view class="normal_box_top" style="justify-content: space-between">
<view class="curriulum_title">{{ v.productName }} </view>
<view class="price_box">
<text class="price" style="margin-right: 0">
{{ v.price }}
</text>
</view>
</view>
<view style="width: 100%; text-align: right">
x 1
<!-- <u-number-box v-model="number" style="float: right">
<view slot="minus" class="minus">
<u-icon name="minus" size="12"></u-icon>
</view>
<text
slot="input"
style="width: 50px; text-align: center"
class="input"
>{{ number }}</text
>
<view slot="plus" class="plus">
<u-icon name="plus" color="#333" size="12"></u-icon>
</view>
</u-number-box> -->
</view>
</view>
</view>
<view class="pay_box" style="margin-top: 20rpx">
<view @click="openOrderModal(v)" class="curriulum_title_box goods_item pay_item"
v-for="(v, i) in orderInfoList">
<view class="top">
<view class="left">
<text> {{ v.text }}</text>
</view>
<view class="right" style="display: flex; align-items: center">
<text style="
float: left;
text-align: right;
color: #b0b0b0;
font-size: 24rpx;
display: inline-block;
width: 200rpx;
" :class="remark ? 'hidden1 hasRemark' : 'hidden1'">
{{ remark == "" ? v.placeholder : remark }}</text>
<image src="@/static/icon/icon_right.png" class="rightArrow" style=""></image>
</view>
</view>
<!-- <radio
:value="i"
color="#258feb"
:checked="selectPayIndex == i ? true : false"
@click="radioChange(i)"
size="10"
/> -->
</view>
</view>
</view>
<view class="order_top common_radius_box color_shandow goods_box pay_box">
<view class="title">价格明细</view>
<view class="curriulum_title_box goods_item pay_item" v-for="(v, i) in priceBreakdownList">
<view class="top">
<view class="left">
<image v-if="v.imgUrl" class="pay_item_img" :src="v.imgUrl" mode="aspectFil"
:style="v.style">
</image>
<u-icon v-if="v.icon" name="map-fill" color="#018F89" size="23"
style="display: inline-block"></u-icon>
<text> {{ v.text }}</text><template v-if="v.type == 3">
<text style="color: #aaa; margin-left: 10rpx">
(全部积分{{ initData.user.jf }})</text>
</template>
</view>
<view class="right">
<template v-if="v.type == 1"> {{ totalPrice }}</template>
<template v-if="v.type == 2">
<text>
{{
isShowAddress ? freightNum.toFixed(2) : Number(0).toFixed(2)
}}</text>
</template>
<template v-if="v.type == 3">
<text style="color: #fe6035"> -{{ jfNumberShow }}</text>
</template>
</view>
</view>
<view class="bottom jf_box" v-if="v.type == 3">
<view class="jf_box">
<text style="color: #258feb; font-weight: 600">可用积分({{ jfNumberMax }})</text>
<view class="jf_input">
<u--input type="number" @input="handleChangejf" @clear="jfNumber = 0" :max="jfNumberMax"
v-model="jfNumber" placeholder="请输入积分" border="surround" clearable></u--input>
</view>
</view>
</view>
<!-- <radio
:value="i"
color="#258feb"
:checked="selectPayIndex == i ? true : false"
@click="radioChange(i)"
size="10"
/> -->
</view>
</view>
<view class="order_top common_radius_box color_shandow goods_box pay_box">
<view class="title">支付方式</view>
<template v-if="isAndorid || !isAndorid && !haveCourse">
<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: #258feb; 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="#258feb"
:checked="selectPayIndex == i ? true : false" @click="radioChange(i)" size="10" />
</template>
<template v-else>
<radio :value="v.value" color="#258feb" :checked="selectPayIndex == i ? true : false"
@click="radioChange(i)" size="10" />
</template>
</view>
</view>
</template>
<!-- ios 支付列表 -->
<template v-else>
<view class="curriulum_title_box goods_item pay_item" v-for="(v, i) in payListIOS">
<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: #258feb; 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="#258feb"
:checked="selectPayIndex == i ? true : false" @click="radioChange(i)" size="10" />
</template>
<template v-else>
<radio :value="v.value" color="#258feb" :checked="selectPayIndex == i ? true : false"
@click="radioChange(i)" size="10" />
</template>
</view>
</view>
</template>
<template v-if="beizhuShow">
<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: #258feb">
publisher@tmrjournals.com
</text>
点击复制发送支付请求内容需包含拟购买的课程名称支付金额APP注册姓名及手机号码或者加一路健康客服微信
<text class="aui-text-success" @click="fnCopy('yilujiankangkefu', '微信名')"
style="text-decoration: underline; color: #258feb">
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 :class="`priceDetail`" v-if="this.statusList[this.currentStatusIndex].type == 'price'">
<scroll-view scroll-y="true" class="scroll-Y">
<price ref="priceDetail" type="price" :oid="this.statusList[this.currentStatusIndex].oid"></price>
</scroll-view>
</view>
<view :class="`priceDetail`" v-else-if="this.statusList[this.currentStatusIndex].type == 'purchaseNotice'">
<scroll-view scroll-y="true" class="scroll-Y">
<price ref="purchaseNotice" :oid="this.statusList[this.currentStatusIndex].oid"></price>
</scroll-view>
</view>
-->
</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="number">{{ number }}</text>
<text class="price">合计:
<text class="total">{{ actualPayment }}</text>
</text>
</view>
</template>
</common-goods-nav>
<!-- <uni-goods-nav :fill="true" :options="buyOptions" :button-group="customButtonGroup1" @click="onClick"
@buttonClick="buttonClick" /> -->
</view>
<!-- <u-modal
:show="show"
:title="modalInfo.title"
:content="modalInfo.content"
showCancelButton
@confirm="hancleModalConfirm"
@cancel="hancleModalCancel"
></u-modal> -->
<u-popup :show="show" mode="right">
<common-address backState="3000" ref="commonAddress" @fresh="handleFresh"
@selectAddress="selectAddress"></common-address></u-popup>
<!-- @close="closeOrderModalShow" -->
<u-popup :show="orderModalShow" mode="bottom" :round="20">
<view class="orderModalShow popup_box">
<u-icon name="close" color="#333" size="18" @click="closeOrderModalShow" style="
display: inline-block;
position: absolute;
right: 20rpx;
top: 20rpx;
"></u-icon>
<view v-if="orderModalShowInfo.type == 'remark'">
<view class="order_top common_radius_box goods_box">
<view class="curriulum_title_box goods_item">
<view class="title">订单备注</view>
<u--textarea v-model="content" placeholder="选填:给商家留言" count class="textarea"></u--textarea>
</view>
</view>
</view>
<view class="goods_nav_box">
<uni-goods-nav :fill="true" :options="[]" :button-group="customButtonGroup1"
@click="onHandleClickBuy" @buttonClick="onHandleClickBuy" />
</view>
</view>
</u-popup>
<!-- <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 {
components: {
courseDescription, //课程说明
},
watch: {
isDefaultCurrency: {
immediate: true,
handler(newRoute) {
console.log('this.isDefaultCurrency', this.isDefaultCurrency, platform);
if (this.isDefaultCurrency) {
if (platform == "ios") {
if (!this.haveCourse) { // 没有课程类型
this.selectPayIndex = 2;
this.payType = this.payList[this.selectPayIndex].type;
} else {
this.selectPayIndex = 0;
this.payType = this.payListIOS[this.selectPayIndex].type;
}
} else {
this.selectPayIndex = 2;
this.payType = this.payList[this.selectPayIndex].type;
}
} else {
if (platform == "ios") {
if (!this.haveCourse) { // 没有课程类型
this.selectPayIndex = 1;
this.payType = this.payList[this.selectPayIndex].type;
} else {
this.selectPayIndex = 0;
this.payType = this.payListIOS[this.selectPayIndex].type;
}
} else {
this.selectPayIndex = 1;
this.payType = this.payList[this.selectPayIndex].type;
}
}
// 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",
},
],
payListIOS: [{
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: [],
buyingFlag: false, // 购买进行中flag
swiperList: [],
options: {},
relatedCoursesList: [], //相关课程
curriculumData: {},
curriculumInfo: {},
detailInfo: {},
fdButtonStyle: {
width: "120rpx",
"border-color": "#258feb",
color: "#258feb",
float: "right",
"margin-right": "20rpx",
"margin-left": "30rpx",
},
modalInfo: {},
currentCateIndex: 0,
show: false,
playData: {},
initData: {},
taiHuClassInfo: {},
searchValue: "",
teachingList: [{
title: "临床实践",
type: "02",
apiUrl: "app/phoneDoctor.do?getTaiHuToShine",
},
{
title: "学习问答",
type: "03",
oid: "8a9fb99809e4428888aad6b56a3096a6",
},
{
title: "学习心得",
type: "01",
},
{
title: "在线作业",
type: "04",
oid: "d0f47071c2194e94845fbb373d06f59d",
},
], // 一级分类标题1
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: "book/buyOrder/placeOrder",
curriculumInfo: "app/phone.do?getCourseInfo",
detailInfo: "app/phoneDoctor.do?getTaiHuClassInfo_new",
addressList: "common/userAddress/getUserAddress",
freightNum: "book/buyOrder/calculateTransportPrice", //运费
},
customButton: [{
width: "340rpx",
text: "立即支付",
backgroundColor: "linear-gradient(90deg, #3C77BE 0%,#258feb 100%)",
color: "#fff",
}, ],
customButtonGroup1: [{
with: 200,
text: "确定",
backgroundColor: "linear-gradient(90deg, #3C77BE 0%,#258feb 100%)",
color: "#fff",
}, ],
haveCourse: false, // 结算队列是否有课程类型的商品
isAndorid: null, //操作系统
beizhuShow: false, // 是否显示天医币说明?
};
},
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;
var list = [...this.options.goods]
list = list.map(e => e.goodsType)
this.haveCourse = list.some(ele => ele === '05')
console.log('list--------->', list, this.haveCourse);
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);
// #ifdef APP-PLUS
this.getOS()
// #endif
},
computed: {
...mapState(["userInfo"]),
},
methods: {
// 获得操作系统
getOS() {
let oprateOs = ''
oprateOs = uni.getSystemInfoSync().platform
// console.log(oprateOs)
if (oprateOs == 'android') {
this.isAndorid = true
} else {
this.isAndorid = false
if (this.haveCourse && !this.isAndorid) {
console.log('苹果系统并且有商品类型为05');
this.selectPayIndex = 0;
this.payType = this.payListIOS[0].type;
this.beizhuShow = true
}
}
},
handleChangejf(val) {
console.log("val at line 653:", val);
var value = val;
this.$nextTick(() => {
if (val == 0) {
this.jfNumber = 0;
this.jfNumberShow = "0.00";
} else {
if (value >= this.jfNumberMax) {
value = this.jfNumberMax;
this.$forceUpdate();
} else {}
// value = value.replace(/[^\d]/g, "");
this.jfNumber = Number(value);
this.jfNumberShow = this.jfNumber.toFixed(2);
}
this.actualPayment = this.totalPrice - this.jfNumber + this.freightNum;
if (this.actualPayment == 0) {
this.isDefaultCurrency = true;
} else {
this.isDefaultCurrency = false;
}
console.log(
"this.isDefaultCurrency at line 692:",
this.isDefaultCurrency
);
this.$forceUpdate();
});
},
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: this.goodsDataList.map((e) => {
return {
productId: e.productId,
quantity: 1,
};
}),
};
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.isShowAddress = res.data.is_course ? false : true;
if (!this.isShowAddress) {
this.priceBreakdownList.push({
text: "积分",
imgUrl: require("@/static/icon/jifen.png"),
type: 3,
});
}
if (this.isShowAddress) {
await this.getUserAddress();
} else {
await this.getTotalPrice();
}
}
this.$forceUpdate();
// await that.getDetailInfo();
});
},
// 获取地址列表
async getUserAddress() {
console.log("this.userInfo.id at line 368:", this.userInfo.id);
var data = {};
var that = this;
this.$http
.request({
// url: "book/buyOrder/buySave",
url: `${this.urlList.addressList}?userId=${this.userInfo.id}`,
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) {
if (res.list.length > 0) {
var index = res.list.findIndex((e) => e.isDefault == 1);
console.log("index at line 37711111111111111111111111:", index);
if (index >= 0) {
that.defaultAddressList = {
...res.list[index],
address: `${res.list[index].province}${res.list[index].city}${
res.list[index].county
}${
res.list[index].detailAddress
? res.list[index].detailAddress
: ""
}`,
};
} else {
console.log(that.defaultAddressList, "11111111111111");
that.defaultAddressList = {
...res.list[0],
address: `${res.list[0].province}${res.list[0].city}${
res.list[0].county
}${
res.list[0].detailAddress ? res.list[0].detailAddress : ""
}`,
};
}
} else {
this.defaultAddressList = {};
}
}
if (!this.addressData.id) {
this.addressData = this.defaultAddressList;
}
console.log("this.addressData at line 742:", this.addressData);
if (this.defaultAddressList.id) {
console.log('有默认地址');
await this.getFreightNum();
}
// await this.getFreightNum();
this.$forceUpdate();
// await that.getDetailInfo();
});
},
//获取运费
async getFreightNum() {
console.log("this.userInfo.id at line 368:", this.userInfo.id);
var data = {
products: this.goodsDataList.map((e) => {
return {
productId: e.productId,
quantity: 1,
};
}),
regionCode: this.addressData.regionCode,
};
var that = this;
this.$http
.request({
// url: "book/buyOrder/buySave",
url: `${this.urlList.freightNum}`,
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data,
header: {
//默认 无 说明:请求头
"Content-Type": "application/json",
},
})
.then(async (res) => {
console.log("res at line 37411:", res);
if (res.code == 0) {
this.freightNum = res.result;
}
await this.getTotalPrice();
this.$forceUpdate();
// await that.getDetailInfo();
});
},
handleFresh() {
this.show = false;
},
async getReturnData() {},
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() {
if (this.buyingFlag) {
uni.showToast({
title: '操作太频繁了,休息下吧',
icon: 'none'
})
return
}
this.buyingFlag = true
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,
// });
// }
if (this.options.goods[0].goodsType != "05") {
if (!this.addressData.id) {
this.$commonJS.showToast("请选择收货地址");
return false;
}
}
let data = {
buyType: this.options.typeId, //0- 商品页直接下单 1- 购物车结算
userId: this.userInfo.id, //下单人ID
shippingUser: this.addressData ? this.addressData.consigneeName : "111", //收货人姓名
userPhone: this.addressData.consigneePhone, //收货人手机号
jfDeduction: this.jfNumber,
paymentMethod: this.payType, //支付方式 2支付宝1微信3ios内购 4天医币购买
orderMoney: this.totalPrice, //订单金额
realMoney: this.actualPayment, //实收金额
shippingMoney: this.freightNum, //运费
remark: this.remark, //备注
couponId: null, //优惠券Id
// isSend: this.isSend,
couponName: "", //优惠券名称
districtMoney: 0, //优惠金额
productList: this.goodsDataList.map((e) => {
return {
productId: e.productId,
quantity: 1,
};
}), //订单列表商品
orderType: "order", //订单类型
addressId: this.options.goods[0].goodsType != "05" ? this.addressData.id : 0, // 地址ID
appName: "wumen",
come: "2",
};
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) => {
this.buyingFlag = false
console.log("res at line 598:", 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(() => {
if (that.goToInfo.type == 1) {
uni.switchTab({
url: `${that.goToInfo.url}?type=order`,
});
} else {
// uni.navigateBack({
// delta: 2,
// });
uni.redirectTo({
url: `${that.goToInfo.url}?backType=order`,
});
}
}, 1000);
} else {
console.log("失败失败失败");
// this.buyingFlag = false
// 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) {
// this.buyingFlag = false
uni.showToast({
title: "支付成功",
});
setTimeout(() => {
if (that.goToInfo.type == 1) {
uni.switchTab({
url: `${that.goToInfo.url}?type=order`,
});
} else {
// uni.navigateBack({
// delta: 2,
// });
// uni.n
uni.redirectTo({
url: `${that.goToInfo.url}?backType=order`,
});
}
}, 1000);
} else {
// this.buyingFlag = false
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) {
// this.buyingFlag = false
// 天医币支付
uni.showToast({
title: "购买成功",
icon: "success",
});
setTimeout(() => {
if (that.goToInfo.type == 1) {
uni.switchTab({
url: `${that.goToInfo.url}?type=order`,
});
} else {
uni.redirectTo({
url: `${that.goToInfo.url}?backType=order`,
});
}
}, 1000);
}
}
}
}).catch(e => {
this.buyingFlag = false
});
},
radioChange(index) {
if (index == this.selectPayIndex) {
return
}
this.selectPayIndex = index;
this.selectPayIndex == 2 ? this.beizhuShow = true : this.beizhuShow = false
this.payType = this.payList[this.selectPayIndex].type;
console.log("this.selectPayIndex at line 315:", this.selectPayIndex);
// if(this.isAndorid){
// console.log('是安卓');
// }else{
// this.payType = this.payListIOS[0].type
// console.log('不是安卓',this.payType);
// }
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";
.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 {
font-size: 28rpx;
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: #258feb;
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% - 220rpx);
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;
}
</style>