Files
sociology_app/pages/curriculum/order/index/index.vue
2024-06-26 16:19:21 +08:00

1540 lines
38 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="#3AB3AE"
fontColor="#fff"
@backClick="backClick"
:backState="3000"
></z-nav-bar>
<!-- <template v-if="currentCateIndex == 1">
<view class="fixed">
<view v-if="isOpenRightButton">
<view class="openBox">
<block v-for="(v, index) in allDataList" :key="index">
<view
:class="`bg${index} PM_font rightButton ${
viewid == 'cont' + index ? 'hotButton' : ''
}`"
:data-index="index"
@click="getViewId"
>{{ v.title }}</view
>
</block>
</view>
</view>
</view>
</template> -->
<view class="contentBox commonPageContentBox" :style="`height:auto !important`">
<!-- <scroll-view class="scroll-view_H statusList" scroll-x="true" scroll-left="0"> -->
<!-- <view class="statusList flexbox" >
<text :class="[currentStatusIndex == index ? 'cur' : '']" @click="setOneCateIndex(item, index)"
v-for="(item, index) in statusList" :key="item.type">{{ item.title }}</text>
</view> -->
<common-sticky
label="title"
itemStyle="width:33%;padding-left: 15px; padding-right: 15px; height: 68rpx;"
:list="cateList"
:currentCateIndex="currentCateIndex"
@handleselectCate="handleselectCate"
></common-sticky>
<scroll-view
scroll-y
class="scroll"
:style="`height:calc(100vh - ${(110 + statusBarHeight) * 2}rpx)`"
:scroll-into-view="viewid"
scroll-with-animation
@scroll="scrollEvt"
>
<u-alert
style="width: 100%; z-index: 10"
type="warning"
:title="`尊贵的${
vip.type == 1 ? '超级' : vip.type == 2 ? '吴门医述' : '众妙之门'
}VIP会员,您的有效期到 ${vip.endTime && vip.endTime.split(' ')[0]}`"
:show-icon="true"
v-if="vip.type != 0 && currentCateIndex != 2"
>
</u-alert>
<template v-if="currentCateIndex == 1">
<u-index-list :index-list="indexList" activeColor="#60CABF" :uIndexStyle="{
height:'auto',
padding:'20rpx'
}">
<view v-for="(item, index) in itemArr">
<!-- #ifdef APP-NVUE -->
<u-index-anchor :text="indexList[index]" :bgColor="#AFDECC"></u-index-anchor>
<!-- #endif -->
<u-index-item>
<!-- #ifndef APP-NVUE -->
<u-index-anchor :text="indexList[index]"></u-index-anchor>
<!-- #endif -->
<curriculm-list
:currentCateIndex="currentCateIndex"
@refresh="getCourseDescriptionData()"
:dataList="item"
:userInfo="userInfo"
>
</curriculm-list>
</u-index-item>
</view>
</u-index-list>
<!-- <view
v-for="(v, index) in allDataList"
:key="index"
class="right-item"
style="margin-bottom: 40rpx"
>
<view :id="`cont${index}`" :class="`bg${index} `">
<view class="cate_item_box">
<view
v-if="currentCateIndex == 1"
:class="`cate_item_name ${
viewid == 'cont' + index ? 'hot' : ''
}`"
>{{ v.title }}</view
>
</view>
<curriculm-list
:currentCateIndex="currentCateIndex"
@refresh="getCourseDescriptionData()"
:dataList="v.courseList"
:userInfo="userInfo"
>
</curriculm-list>
</view>
</view> -->
</template>
<template v-else>
<curriculm-list
:currentCateIndex="currentCateIndex"
@refresh="getCourseDescriptionData()"
:dataList="allDataList"
:userInfo="userInfo"
>
</curriculm-list>
</template>
</scroll-view>
<!-- <view
class="u-page__item"
style="background-color: #fff; padding: 27rpx"
v-if="allDataList.length > 0"
>
<u-collapse :value="openCollapseList">
<u-collapse-item v-for="(v, i) in allDataList" title="" :name="v.id">
<template slot="icon">
<view class="cate_box">
<view class="cate_item_box">
<view class="cate_item_border">
<image
:src="v.icon"
mode="aspectFill"
style="width: 59rpx; height: 59rpx"
></image>
</view>
<view class="cate_item_name">{{ v.title }}</view>
</view>
</view>
</template>
<text class="u-collapse-content">
</text>
</u-collapse-item>
</u-collapse>
</view> -->
</view>
<!-- <u-modal
:show="show"
:title="modalInfo.title"
:content="modalInfo.content"
showCancelButton
@confirm="hancleModalConfirm"
@cancel="hancleModalCancel"
></u-modal> -->
<z-navigation></z-navigation>
</view>
</template>
<script>
import courseDescription from "@/pages/component/commonComponents/list";
import price from "../price/index.vue";
import curriculmList from "./list.vue";
import $http from "@/config/requestConfig.js";
import { mapState } from "vuex";
export default {
components: {
courseDescription, //课程说明
price, //课程价格
curriculmList, //课程价格
},
data() {
return {
indexList: [],
itemArr: [],
distanceList: [],
timer: null,
isLeftClick: false,
isOpenRightButton: true,
viewid: "cont0",
viewidIndex: 0,
openCollapseList: [],
cateIconList: [
{
title: "儒",
url: "/pages/curriculum/cate/index",
imgUrl: require("@/static/icon/homePage/cate_ru.png"),
style: {
width: "62rpx",
height: "56rpx",
},
},
{
title: "释",
url: "/pages/curriculum/cate/index",
imgUrl: require("@/static/icon/homePage/cate_shi.png"),
style: {
width: "49rpx",
height: "61rpx",
},
},
{
title: "道",
url: "/pages/curriculum/cate/index",
imgUrl: require("@/static/icon/homePage/cate_dao.png"),
style: {
width: "59rpx",
height: "59rpx",
},
},
{
title: "医",
url: "/pages/curriculum/cate/index",
imgUrl: require("@/static/icon/homePage/cate_yi.png"),
style: {
width: "61rpx",
height: "61rpx",
},
},
{
title: "美",
url: "/pages/curriculum/cate/index",
imgUrl: require("@/static/icon/homePage/cate_mei.png"),
style: {
width: "59rpx",
height: "59rpx",
},
},
{
title: "文",
url: "/pages/curriculum/cate/index",
imgUrl: require("@/static/icon/homePage/cate_wen.png"),
style: {
width: "61rpx",
height: "60rpx",
},
},
],
fdButtonStyle: {
width: "120rpx",
"border-color": "$themeColor",
color: "$themeColor",
float: "right",
"margin-right": "20rpx",
"margin-left": "30rpx",
},
modalInfo: {},
vip: {},
show: false,
playData: {},
taiHuClassInfo: {},
searchValue: "",
statusList: [
{
title: "学习中",
type: "02",
apiUrl: "app/phoneDoctor.do?getTaiHuToShine",
},
{
title: "已完成",
type: "03",
oid: "8a9fb99809e4428888aad6b56a3096a6",
},
{
title: "未开始",
type: "01",
},
{
title: "未购买",
type: "04",
oid: "d0f47071c2194e94845fbb373d06f59d",
},
], // 一级分类标题1
// cateList: [{
// title: "学士班",
// type: 1,
// apiUrl: 'app/phoneDoctor.do?getTaiHuToShine'
// }, {
// title: "硕士班",
// type: 2,
// oid: '8a9fb99809e4428888aad6b56a3096a6',
// }, {
// title: "博士班", type: 3,
// }, {
// title: "其他",
// type: 4,
// oid: 'd0f47071c2194e94845fbb373d06f59d',
// }
// ], // 一级分类标题1
cateList: [
{
title: "正在学习",
type: 0,
apiUrl: "sociology/course/getUserCourseStudying",
},
{
title: "我的课程",
type: 1,
// apiUrl: "sociology/course/getUserCourseBuy",
apiUrl: "sociology/course/getUserCourseBuy",
},
{
title: "过期课程",
type: 2,
apiUrl: "sociology/course/getCourseExpire",
},
// {
// title: "未开始",
// type: 2,
// },
// {
// title: "其他",
// type: 4,
// oid: 'd0f47071c2194e94845fbb373d06f59d',
// }
], // 一级分类标题1
twoCateList: [], // 二级分类标题
dataList: [], // 方剂标题
allDataList: [], // 方剂标题
currentStatusIndex: 0, // 当前选中的一级分类
currentCateIndex: 0, // 当前选中的一级分类
curTwoCateIndex: 0, // 当前选中的二级分类
searchList: [], // 搜索结果数组
showSearchList: false,
userMes: {}, // 用户信息
selectCurriculum: {}, //
searchDisable: false, // 搜索不可用
limitShow: false,
limitTitle: "提示",
limitContent: "",
scrollViewHeight: 0,
urlList: {
list: "sociology/course/getMyCourse",
cancelCollection: "sociology/course/removeUserCourseStudying",
collection: "sociology/course/addUserCourseStudying",
getCateList: "sociology/home/getSociologyLabels", //消息
},
options: {},
};
},
async onLoad(options) {
this.options = options;
// await this.getUserInfo()
await this.handleselectCate({ ...this.cateList[0], index: 0 }, 0);
// this.getCourseDescriptionData();
//
// this.getCateList()
},
async onShow() {
await this.getUserInfo();
await this.getCateList();
},
onHide() {
// this.showSearchList = false
// this.searchList = []
},
computed: {
...mapState(["userInfo"]),
},
methods: {
getUserInfo() {
this.$http.post("common/user/getUserInfo").then((res) => {
console.log("res at line 505:", res);
if (res.result.userVip) {
this.vip = res.result.userVip;
} else {
this.vip = { type: 0 };
}
});
},
close() {
this.isOpenRightButton = false;
},
cancelCollection(row) {
var that = this;
this.$http
.request({
url: this.urlList.cancelCollection,
method: "POST",
data: {
userId: this.userInfo.id,
courseId: row.id,
},
header: {
//默认 无 说明:请求头
"Content-Type": "application/json",
},
})
.then(async (res) => {
console.log(res, "7777777777777777777");
if (res.code == 0) {
await this.getCourseDescriptionData();
// that.cateIconList = res.labels ? res.labels : [];
}
});
},
openCancelCollection(row) {
this.signShow = true;
this.selectCurriculum = row;
},
handlecollection(row) {
console.log("row at line 452:", row);
var that = this;
this.$http
.request({
url: this.urlList.collection,
method: "POST",
data: {
userId: this.userInfo.id,
courseId: row.id,
},
header: {
//默认 无 说明:请求头
"Content-Type": "application/json",
},
})
.then(async (res) => {
if (res.code == 0) {
// await this.getCourseDescriptionData();
// that.cateIconList = res.labels ? res.labels : [];
}
});
},
async getCateList() {
var that = this;
this.$http
.request({
url: this.urlList.getCateList,
method: "POST",
data: {
id: 0,
},
header: {
//默认 无 说明:请求头
"Content-Type": "application/json",
},
})
.then(async (res) => {
console.log(res, "7777777777777777777");
if (res.code == 0) {
that.cateIconList = res.labels ? res.labels : [];
}
});
},
getDistanceToTop() {
//获取右侧各部分距离顶部的距离
let that = this;
that.distanceList = [];
let selectorQuery = uni.createSelectorQuery().in(this);
const query = uni.createSelectorQuery().in(this);
query
.selectAll(".right-item")
.boundingClientRect((data) => {
data.forEach(function (rect) {
that.distanceList.push(rect.top);
});
console.log("data at line 180:", data);
// this.h = data.top+69
})
.exec();
// selectorQuery
// .selectAll(".right-item")
// .boundingClientRect(function (rects) {
// console.log("rects at line 182:", rects);
// rects.forEach(function (rect) {
// that.distanceList.push(rect.top);
// });
// console.log("that.distanceList", that.distanceList);
// })
// .exec();
},
// 元素滚动到顶部时,对应的左侧导航栏变为选中状态
scrollEvt(e) {
console.log("e at line 204:", e);
// 点击左侧导航栏引起的滚动不做判断
if (this.isLeftClick) {
this.isLeftClick = false;
return;
}
// // 防抖
if (this.timer) {
clearTimeout(this.timer);
}
this.timer = setTimeout(() => {
let scrollTop = e.detail.scrollTop; //滚动的高度
// 找到位于顶部元素的索引,距离大于滚动高度的第一个元素的上一个元素就是此时位于顶部的元素
let index = this.distanceList.findIndex((it) => {
// 滚动条的位置大于元素距离顶部位置的距离时,说明元素已经滑过了顶部
return it > scrollTop;
});
console.log("index at line 218:", index);
if (index == this.viewidIndex) return;
this.viewidIndex = index;
this.viewid = "cont" + index;
}, 100);
},
getViewId(e) {
this.isLeftClick = true;
console.log("e at line 88:", e);
this.viewid = "cont" + e.currentTarget.dataset.index;
this.viewidIndex = e.currentTarget.dataset.index;
},
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: ''
},
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}&id=${v.id}`,
});
},
getCourseDescriptionData() {
this.allDataList=[]
this.indexList=[]
this.itemArr=[]
var data = {};
if (this.currentCateIndex == 0) {
// data.userId = this.userInfo.id;
}
var that = this;
this.$http
.request({
url: this.cateList[this.currentCateIndex].apiUrl,
method: "POST",
data: data,
header: {
//默认 无 说明:请求头
"Content-Type": "application/json",
},
})
.then(async (res) => {
console.log(res.courses, "88888");
that.allDataList = res.courseList;
this.indexList = this.allDataList.map((e) => {
return e.title;
});
console.log("this.indexList at line 645:", this.indexList);
this.itemArr = this.allDataList.map((e) => {
return e.courseList;
});
if (this.currentCateIndex == 1) {
that.openCollapseList = that.allDataList.map((e) => {
return e.id;
});
await setTimeout(() => {
that.getDistanceToTop();
}, 100);
}
// socket.init();
});
},
getPriceData() {
var that = this;
setTimeout(() => {
that.$nextTick(() => {
that.$refs.priceDetail.getData();
});
}, 100);
},
// 检查是有权限使用搜索功能
checkDisable() {
console.log("点击了");
},
// 显示无权限弹窗
// showNoRights() {
// let that = this
// uni.showModal({
// content: "",
// confirmText: '好的',
// showCancel: false,
// success: function(res) {
// if (res.confirm) {
// // console.log('用户点击确定');
// that.clear()
// }
// }
// })
// },
// 获取用户详情
// 详情
gotoDetail(item) {
console.log("111", item);
console.log("this.currentStatusIndex", this.currentStatusIndex);
console.log("this.curTwoCateIndex", this.curTwoCateIndex);
if (this.currentStatusIndex == 0) {
uni.navigateTo({
// url: '../bookShop/commodityDetail?id=' + item.id
url: "./xueshugongxianDetail?id=" + item.id,
});
return;
}
if (this.currentStatusIndex == 1) {
uni.navigateTo({
url: "./medicaldesDetail?id=" + item.id,
});
return;
}
if (this.currentStatusIndex == 2) {
console.log("111", item);
uni.navigateTo({
url: "./video?title=" + item.name + "&src=" + item.url,
});
return;
}
if (this.currentStatusIndex == 3) {
console.log("111", item);
uni.navigateTo({
url: "./recordDetail?id=" + item.id,
});
return;
}
},
async handleselectCate(item, index) {
this.allDataList = [];
this.dataList = [];
var data = [];
console.log(item, index, 99999);
var that = this;
this.$nextTick(async () => {
this.currentCateIndex = item.index;
console.log(
"this.currentCateIndex at line 532:",
this.currentCateIndex
);
await this.getCourseDescriptionData();
// this.dataList=this.allDataList
// 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;
// }
});
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)
// }
},
backClick() {
if (this.options.backType == "order") {
uni.switchTab({
url: "/pages/homePage/index/index",
});
} else {
uni.navigateBack({
delta: 1,
});
}
},
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)
// })
// },
// 放大图片
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";
.u-grid-list {
// height: 40rpx;
}
.searchList {
.item {
font-size: 28rpx;
padding: 20rpx;
border-bottom: 1px solid #dadbde;
}
}
.scroll-view_H {
background-color: #fff;
white-space: nowrap;
padding: 10rpx;
}
.contentBox {
height: calc(100% - 50px);
.statusList {
padding: 10rpx;
box-sizing: border-box;
justify-content: space-between;
text {
text-align: center;
display: inline-block;
width: 32%;
padding: 20rpx 0;
font-size: 34rpx;
border-radius: 10rpx;
}
.cur {
background-color: $themeColor;
color: #fff;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
}
}
.twoCateList {
font-size: 28rpx;
margin-top: 20rpx;
.grid-text {
padding: 10rpx 0rpx;
text-align: center;
}
.cur {
color: $themeColor;
}
// .u-grid-list{border: 0.5px solid #dadbde;}
}
.dataList {
font-size: 26rpx;
// margin-top: 20rpx;
// padding: 32rpx 0rpx;
border-radius: 10rpx;
background-color: #f8f9fa;
box-sizing: border-box;
.JFtitleItem {
background-color: #ffffff;
padding: 20rpx 10rpx;
width: 100%;
border-bottom: 0.5px solid #f8f9fa;
}
.wmzhimg {
width: 220rpx;
height: 220rpx;
}
}
}
.search_box {
margin: 0 auto;
overflow: hidden;
align-items: center;
width: calc(100% - 10px);
margin-top: 20rpx;
margin-bottom: 20rpx;
.search {
height: 56upx;
display: flex;
width: 86%;
margin: 0 auto;
align-items: center;
padding: 0upx 40upx;
background-color: #fff;
border-radius: 20upx;
box-shadow: 0 0px 10px 1px $themeColor;
}
.prompt {
color: #838383;
font-size: 24rpx;
}
.icon_search {
background-image: url("@/static/icon/map_ic_search.png");
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
width: 36upx;
height: 36upx;
margin-right: 20upx;
}
}
.flexbox {
display: flex;
}
.uni-modal .uni-modal__bd {
text-align: left;
}
.limiTy {
font-size: 28rpx;
line-height: 46rpx;
}
.chImage {
height: 100rpx;
}
.dataList {
height: 100%;
}
.titleList2 {
height: calc(100% - 150rpx);
}
.priceDetail {
height: calc(100% - 0) !important;
// height: calc(100% - 180rpx) !important;
padding: 0rpx 0;
box-sizing: border-box;
}
.componentPage {
height: calc(100% - 90rpx) !important;
}
.dateReminder {
width: 200rpx;
font-size: 24rpx;
text-align: right;
line-height: 40rpx;
margin-left: 20rpx;
float: right;
}
.related_courses_right {
width: calc(100%);
margin-top: 4rpx;
overflow: hidden;
.progress_icon {
width: calc(100% - 220rpx);
float: left;
}
// position: absolute;
// top: 100rpx;
// right: 0;
}
.fdButtonBox {
width: 100%;
margin-top: 20rpx;
// display: flex;
// align-items: center;
}
/deep/.common_curriculum_list {
padding: 20rpx;
.content_item {
width: 100% !important;
height: 160rpx;
// .book_image {
// width: 200rpx !important;
// height: 120rpx !important;
// float: left !important;
// }
.common_curriculum_item {
width: calc(100% - 220rpx);
float: right;
display: block !important;
}
}
}
/deep/.u-cell__left-icon-wrap {
width: 100%;
}
/deep/.u-cell__body {
background: #1b9994 !important;
box-shadow: 0rpx 0rpx 6rpx 0rpx rgba(0, 82, 79, 0.65) !important;
padding: 0 20rpx !important;
}
/deep/.u-icon__icon--info {
color: #fff !important;
}
/deep/.u-collapse-item__content__text {
padding-left: 0 !important;
padding-right: 0 !important;
padding-top: 0 !important;
}
.cate_box {
width: 100%;
height: 90rpx;
// background: $themeColor;
border-radius: 7rpx;
// display: flex;
// align-items: center;
// justify-content: space-around;
padding: 0rpx 0;
box-sizing: border-box;
.cate_item_box {
width: 400rpx;
height: 100%;
display: flex;
align-items: center;
.cate_item_border {
// width: 55rpx;
// height: 78rpx;
// padding: 10rpx;
background-size: 100% 100%;
// background-image: url("@/static/icon/homePage/cate_bg.png");
border-radius: 4rpx;
display: flex;
align-items: center;
justify-content: center;
image {
// height: 56rpx;
}
}
.cate_item_name {
margin-left: 21rpx;
font-family: PangMenZhengDaoBiaoTiTiMianFeiBan;
font-weight: normal;
font-size: 42rpx;
color: #000000;
// line-height: 46rpx;
text-align: center;
color: #fff;
}
}
}
.related_courses_name {
width: 100%;
// display: inline-block;
// float: left;
line-height: 60rpx;
// width: calc(100% - 90rpx) !important;
// padding-left: 20rpx;
font-weight: 700;
.aui-text-danger {
display: inline-block;
float: right;
}
}
.book_image {
width: 100%;
height: 100%;
float: left;
}
/deep/.list_item {
position: relative;
border-radius: 20rpx;
padding: 20rpx !important;
margin-bottom: 40rpx;
background: rgba(255, 255, 255, 0.85) !important;
box-shadow: 0px 0px 3px 0px rgba(0, 82, 79, 0.2) !important;
.rightArrow {
margin-top: 0rpx !important;
}
.titleItem {
// display: flex;
// align-items: center;
}
}
// /deep/.list_item :nth-child(2n-1) {
// background: rgba(255, 255, 255, 0.85) !important;
// }
.feng {
background-color: #f5f5f5;
margin: 0rpx 22rpx 0 0;
height: 160rpx !important;
width: 240rpx !important;
float: left;
border-radius: 14rpx;
// border: 1rpx solid #e9e9e9;
}
.cate_right {
width: calc(100% - 264rpx);
float: right;
}
.commonPageBox {
background-image: #edf6f5ad !important;
}
/deep/.uni-scroll-view-content {
box-sizing: border-box !important;
padding: 10rpx !important;
}
.curriculum_tag {
// width: 140rpx !important;
text-align: center;
display: inline-block;
border-radius: 4rpx;
font-size: 24rpx;
}
.curriculum_tag_info_box {
width: 100%;
margin-top: 1cqi;
display: flex;
align-items: center;
// justify-content: space-between;
}
.price_box {
display: flex;
align-items: center;
margin-top: 0rpx;
// justify-content: space-between;
}
.progress_box {
width: calc(100% - 140rpx);
display: flex;
align-items: center;
position: relative;
.progress_icon {
width: calc(100% - 140rpx);
display: flex;
}
.icon1 {
width: 60rpx;
height: 60rpx;
margin: 0 20rpx;
}
.icon2 {
width: 140rpx;
height: 100rpx;
position: absolute;
right: 0;
// margin-top: -20rpx;
}
}
.learning_button {
background-color: #1b9994;
color: #fff;
text-align: center;
border-radius: 60rpx;
font-size: 28rpx;
padding: 8rpx 20rpx;
}
.public-badge {
text-align: center;
// 设置渐变色背景
// background-image: linear-gradient(to right, #D26855, #F4CEB9),
// linear-gradient(100deg, #b3d5da, #8f41e9, #63acb6);
color: #d26855;
font-size: 12px;
width: 140rpx;
border-radius: 3px 0 0 3px;
position: absolute;
top: 10rpx;
right: 10px;
z-index: 10;
padding: 3px 0;
}
.show-signal {
border: 4px solid #939393;
border-right: 4px solid transparent;
border-bottom: 4px solid transparent;
width: 0;
height: 0;
position: absolute;
top: 31px;
right: -8px;
z-index: 10;
}
.learning_button_border {
width: auto;
color: #222222;
background: #f4f4f4;
}
.fixed {
position: fixed;
bottom: 10%;
right: -5rpx;
z-index: 1;
overflow: hidden;
}
.openBox view {
width: 40rpx;
margin-bottom: 20rpx;
// border-bottom: 1rpx solid #309995;
}
.openBox view:nth-last-child(1) {
border: none !important;
}
.openBox {
background-color: #f8f9fa;
padding: 10rpx;
// border: 2rpx solid #eee;
// width: 40rpx;
line-height: 40rpx;
// box-shadow: 0 0px 10rpx 2px $themeColor;
// border-radius: 10rpx;
}
.scroll {
flex: 1;
}
.scroll view {
// width: 100%;
// height: 1000rpx;
}
.rightButton {
// background-color: #fff;
font-size: 28rpx;
text-align: center;
// color: $themeColor;
}
.cate_item_box {
width: 100%;
height: auto;
display: flex;
align-items: center;
padding: 0 20rpx;
.cate_item_border {
width: 60rpx;
height: 78rpx;
// padding: 10rpx;
background-size: 100% 100%;
// background-image: url("@/static/icon/homePage/cate_bg.png");
border-radius: 4rpx;
display: flex;
align-items: center;
justify-content: center;
image {
// height: 56rpx;
}
}
.cate_item_name {
padding-top: 60rpx;
width: 100%;
// margin-left: 21rpx;
font-family: PangMenZhengDaoBiaoTiTiMianFeiBan;
font-weight: 500;
// font-weight: normal;
font-size: 52rpx;
color: #000000;
line-height: 80rpx;
text-align: center;
}
}
.hot {
color: $themeColor !important;
}
.hotButton {
color: $themeColor;
// color: #fff !important;
}
.closeBox {
width: 40rpx;
height: 40rpx;
background-color: #fff;
border-radius: 40rpx;
display: flex;
align-items: center;
box-shadow: 0 0px 5rpx 1px #b0b0b0;
justify-content: center;
overflow: hidden;
image {
width: 20rpx;
height: 20rpx;
}
}
.learning_image {
width: 100%;
// margin-top: -30rpx;
display: flex;
align-items: flex-end;
justify-content: flex-end;
// height: 70rpx;
image {
width: 70rpx;
height: 70rpx;
}
.learning_image_right {
// width: 180rpx;
text {
display: inline-block;
background-color: #e6e5e5;
border-radius: 50rpx;
padding: 4rpx 10rpx;
}
}
}
/deep/.scroll-view-item:nth-child(2n-1) {
background: rgba(255, 255, 255, 0.85) !important;
}
</style>