Files
nuttyreading-html/pages/yian/yianList1.vue
2023-12-04 08:58:42 +08:00

482 lines
13 KiB
Vue
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view class="container">
<!-- 公共组件-每个页面必须引入 -->
<public-module></public-module>
<view class="header">
<!-- 顶部导航栏 -->
<z-nav-bar :title="'医案-'+bookname"></z-nav-bar>
</view>
<view class="ordersTabs" style="z-index:0;position:unset;height: 10px;">
<view class="ordersdefine"> </view>
</view>
<view>
<!-- <view class="" style="padding:40rpx 20rpx;">
<view class="mytabs flexbox">
<view :class="['item','item1', contentShow == 1 ? 'active' :'']" @click="setData(1)">
已购图书
</view>
<view :class="['item','item2', contentShow == 2 ? 'active' :'']" @click="setData(2)">
推荐图书
</view>
</view>
</view> -->
<view v-if="yianList.length > 0">
<view class="bookInfo3" v-for="(item,index) in yianList" :key="index">
<view class="mainContent3">
<view class="item">
<view class="btns flexbox" @click.stop="toMore(item)">
<view class="title">{{item.title}}</view>
<!-- <view class="pianshuping">{{item.forumNum}}篇医案</view> -->
</view>
<!-- <image class="feng" v-if="item.images" :src="item.images" mode="aspectFill" @click.stop="toMore(item)"></image>
<view class="shupingList">
<view class="description" v-for="(item1,index1) in item.forums" :key="index1" @click.stop="toDetail1(item1)">{{item1.title}}</view>
</view>
<view class="btns flexbox" @click.stop="toMore(item)">
<span class="left"></span>
<span class="right flexbox opbtns" style="color:#3c9cff;">
全部
</span>
</view> -->
</view>
</view>
</view>
</view>
<view class="quesheng" v-if="status==1 && yianList.length == 0">
暂无医案内容~
</view>
</view>
<view v-if="status==0" style="text-align: center;">
<u-loading-icon style="display: inline-block;"></u-loading-icon>
<font style='vertical-align: super;margin-left: 10px;font-size: 26rpx;color: #909399;'>努力加载中</font>
</view>
<view v-if="status==1" style="padding-bottom: 20rpx;">
<u-divider text="全部加载完成"></u-divider>
</view>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import $http from '@/config/requestConfig.js';
import emotion from '@/bkhumor-emojiplus/components/bkhumor-emojiplus/bkhumor-emojiplus.vue';
import musicPlay from '@/components/music.vue'
import { data } from 'jquery';
import {
mapState, mapMutations
} from 'vuex';
import {
checkBookRight
} from '@/config/utils';
export default {
data() {
return {
playData:{},
windowWidth:0,
bookid:null,
page:1,
pageSize:10,
total:0,
status:3,
booksetpage: 1,
yianList:[],
contentShow: 1,
}
},
onPullDownRefresh() {
console.log('下拉刷新了')
uni.stopPullDownRefresh();
this.booksetpage = 1
this.yianList = []
this.getYianList(false)
},
onReachBottom() {
this.booksetpage++
this.getYianList(false)
},
onLoad(e) {
this.windowWidth = uni.getSystemInfoSync().windowWidth;
console.log(e,'onload')
this.bookid = e.bookid
this.bookname = e.bookname
this.getYianList(false)
},
computed:{
...mapState(['userInfo']),
},
methods: {
...mapMutations(['setLoadingShow']),
setData(e) {
this.contentShow = e
this.getYianList(true)
},
// 查看本书更多书评
toMore(val){
// console.log(val,'val')
let data = {
'userId': this.userInfo.id,
'bookId': val.id
}
// checkBookRight(data,res=>{
// console.log(res)
// if(res.success){
uni.navigateTo({
url: '../yian/yianDetail?medicalRecordsId='+val.medicalRecordsId,
});
// }else{
// uni.showToast({
// title:'购买本书后方可查看此内容!',
// icon:'none'
// })
// }
// })
},
// 医案详情
toDetail1(val){
// console.log(val,'val')
let data = {
'userId': this.userInfo.id,
'bookId': val.bookid
}
checkBookRight(data,res=>{
console.log(res)
if(res.success){
uni.navigateTo({
url: '../yian/yianDetail?medicalRecordsId='+val.medicalRecordsId
})
}else{
uni.showToast({
title:'购买本书后方可查看此内容!',
icon:'none'
})
}
})
},
getYianList(){
// uni.showLoading({
// title: '加载中'
// });
$http.request({
url: "book/bookMedicalRecords/listByBookId",
method: "POST",
data: {
"page": this.booksetpage,
"limit": 10,
"bookId": this.bookid
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
}).then(res => {
this.yianList = this.yianList.concat(res.page.records)
console.log(this.yianList,'this.yianList')
if(res.page.records.length != 10){
this.status = 1
} else {
this.status = 0
}
}).catch(e => {
console.log(e)
})
},
},
components:{
musicPlay,
emotion
}
}
</script>
<style lang="scss" scoped>
// @import '@/style/mixin.scss';
.orderTabs {
// margin: 70rpx 0 0 0;
width: 100%;
// padding: 0 3% 3% 3%;
position: fixed;
// top: 80rpx;
background-color: #f7faf9;
z-index: 100;
.orderdefine {
display: inline-block;
padding: 20rpx 0 20rpx 0;
// margin: 40rpx 0 15rpx 0;
width:230rpx;
text-align: center;
font-size: 30rpx;
}
.ordStyle {
// border-bottom: 4rpx solid #54a966;
// color: #54a966;
font-weight: bold;
}
}
.flexbox{display: flex;}
.container{padding: 0 10px;}
.star{display: inline-block; width: 20px; height: 20px; margin-right: 10rpx;}
.starGray{ background : url(../../static/icon/star_greey.png) no-repeat; background-size: contain; }
.starLight{ background : url(../../static/icon/star_light.png) no-repeat; background-size: contain;}
.cuIcon-emoji {
background : url(../../static/biaoqing.png) no-repeat; background-size: contain; display: block; margin-right: 20rpx;
width: 30px; }
.cuIcon-keyboard{background : url(../../static/biaoqing.png) no-repeat; background-size: contain; display: block;
width: 30px; }
.tanchu {
padding: 40rpx 30rpx 40rpx 30rpx;
position: relative;
.dp_title {
font-size: 32rpx;
margin-bottom: 50rpx;
color: #555;
text-align: center;
font-weight: bold;
}
.dp_add {
position: absolute;
top: 40rpx;
right: 30rpx;
font-size: 22rpx;
background-color: #fd6004;
color: #fff;
border-radius: 10rpx;
padding: 5rpx 10rpx;
.u-icon {
display: inline-block;
margin-right: 5rpx;
}
}}
.quesheng{text-align: center; margin-top: 100rpx; color: #8b8a91; padding-bottom: 20rpx; padding-top: 20rpx;}
.gengduoshuping{text-align: right; color: #0044ff; padding-bottom: 20rpx; padding-top: 20rpx;}
.bookInfo{
justify-content: space-between;
// margin-bottom: 15px;
background-color: #fff;
padding:20rpx;
border: 1px splid #999;
box-sizing: border-box;
// padding-bottom: 20rpx;
border-radius: 20rpx;
margin-bottom: 20rpx;
// .imageradius{
// border-radius: 20rpx;
// border:1rpx solid #e9e9e9;
// }
// .bookInfo-inner{ padding-left: 30rpx; box-sizing: border-box; width: calc(100% - 150px);
// .title{font-size: 32rpx; margin-top: 0rpx; margin-bottom: 20rpx;font-weight: 700; display: block;}
// .author{font-size: 30rpx;margin-top: 0rpx;margin-bottom: 20rpx;font-weight: 500; display: block; }
// .description{
// font-size: 28rpx;
// line-height: 20px;
// width: 100%;
// color:#888;
// padding-left: 0;
// overflow:hidden;
// text-overflow: ellipsis;
// -webkit-line-clamp: 9;
// display: -webkit-box;
// -webkit-box-orient: vertical;
// }
// }
// .bookinfoimage{width: 150px !important; }
}
.mainContent{
background-color: #fff;
.item{
// padding: 10px;
// margin-bottom: 30rpx;
// border: 1px solid #999;
box-sizing: border-box;
// padding-bottom: 20rpx;
border-radius: 20rpx;
// margin-bottom: 20rpx;
}
.feng{
margin:10rpx 20rpx 0 0;
height: 160rpx;
width: 140rpx;
float:left;
border-radius: 20rpx;
border:1rpx solid #e9e9e9;
}
.title{font-size: 30rpx; font-weight: 700; color: #000; overflow: hidden;}
/deep/.description{
overflow: hidden;
color: #666;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 5;
line-clamp: 5;
-webkit-box-orient: vertical;
font-size: 26rpx;
margin-bottom: 20rpx;
margin-top:10rpx;
height: 172rpx;
img{
width: 100% !important;
}
}
.btns{
font-size: 22rpx;
justify-content: space-between;
align-items: center;
.left{
width: 300rpx;
color: #a1a1a1;
}
.right{
width: 300rpx;
display: flex;
justify-content: flex-end;
align-items: center;
}
.gzicon{
margin:0 0 0 20rpx;
height: 40rpx;
width: 40rpx;
// float:left;
// border-radius: 20rpx;
// border:1rpx solid #e9e9e9;
}
.opbtns{
.pingjia{margin-left: 10px;}
}
}
}
.mb30{margin-bottom: 30rpx; overflow: hidden;}
.bookInfo3{
justify-content: space-between;
// margin-bottom: 15px;
background-color: #fff;
padding:20rpx;
border: 1px splid #999;
box-sizing: border-box;
// padding-bottom: 20rpx;
border-radius: 20rpx;
margin-bottom: 20rpx;
.mainContent3{
background-color: #fff;
.item{
// padding: 10px;
// margin-bottom: 30rpx;
// border: 1px solid #999;
box-sizing: border-box;
// padding-bottom: 20rpx;
border-radius: 20rpx;
// margin-bottom: 20rpx;
}
.feng{
margin:10rpx 20rpx 0 0;
height: 240rpx;
width: 164rpx;
float:left;
border-radius: 20rpx;
border:1rpx solid #e9e9e9;
}
.title{font-size: 30rpx; font-weight: 700; color: #000; overflow: hidden;}
.pianshuping{
font-size: 24rpx;
color: red;
}
.shupingList{
min-height: 212rpx;
}
/deep/.description{
overflow: hidden;
color: #666;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
line-clamp: 1;
-webkit-box-orient: vertical;
font-size: 26rpx;
margin-bottom: 20rpx;
margin-top:10rpx;
img{
width: 100% !important;
}
}
.btns{
font-size: 22rpx;
justify-content: space-between;
align-items: center;
.left{
width: 300rpx;
color: #a1a1a1;
}
.right{
width: 300rpx;
display: flex;
justify-content: flex-end;
align-items: center;
}
.gzicon{
margin:0 0 0 20rpx;
height: 40rpx;
width: 40rpx;
// float:left;
// border-radius: 20rpx;
// border:1rpx solid #e9e9e9;
}
.opbtns{
.pingjia{margin-left: 10px;}
}
}
}
}
.mytabs {
// background: url('@/static/icon/bgtushu.png') no-repeat left top;
height: 80rpx;
// margin-bottom: 30rpx;
.item {
border-radius: 10rpx;
background-color: #c6ead0;
width: 48%;
// margin: 0 10rpx;
text-align: center;
color: #3c7f56;
font-size: 36rpx;
line-height: 80rpx;
}
.item.active {
background-color: #3c7f56;
color: #fff;
}
.item1 {
margin-right: 20rpx;
}
}
</style>