移动端-医案
This commit is contained in:
27
pages.json
27
pages.json
@@ -459,6 +459,33 @@
|
|||||||
"enablePullDownRefresh": false
|
"enablePullDownRefresh": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/yian/yian",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText": "医案",
|
||||||
|
"enablePullDownRefresh": true
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/yian/yianList",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText": "医案列表",
|
||||||
|
"enablePullDownRefresh": true
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
,{
|
||||||
|
"path" : "pages/yian/yianDetail",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText": "医案详情",
|
||||||
|
"enablePullDownRefresh": false
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
{ // 更新版本
|
{ // 更新版本
|
||||||
"path": "uni_modules/uni-upgrade-center-app/pages/upgrade-popup",
|
"path": "uni_modules/uni-upgrade-center-app/pages/upgrade-popup",
|
||||||
|
|||||||
@@ -71,6 +71,11 @@
|
|||||||
<image src="../../static/icon/home4-1.png" mode="aspectFit"></image>
|
<image src="../../static/icon/home4-1.png" mode="aspectFit"></image>
|
||||||
<!-- <text>讲 书</text> -->
|
<!-- <text>讲 书</text> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<view class="hn_cl_tit chaoshi" @click="onPageJump('../yian/yian')">
|
||||||
|
<image src="../../static/icon/home4-1.png" mode="aspectFit"></image>
|
||||||
|
<!-- <text>讲 书</text> -->
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <view class="home_lunbo">
|
<!-- <view class="home_lunbo">
|
||||||
|
|||||||
488
pages/yian/yian.vue
Normal file
488
pages/yian/yian.vue
Normal file
@@ -0,0 +1,488 @@
|
|||||||
|
<template>
|
||||||
|
<view class="container">
|
||||||
|
<!-- 公共组件-每个页面必须引入 -->
|
||||||
|
<public-module></public-module>
|
||||||
|
<view class="header">
|
||||||
|
<!-- 顶部导航栏 -->
|
||||||
|
<z-nav-bar title="医案"></z-nav-bar>
|
||||||
|
</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.name}}</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.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/yianList?bookid='+val.id + '&bookname='+val.name,
|
||||||
|
});
|
||||||
|
// }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(tushuflag){
|
||||||
|
|
||||||
|
// uni.showLoading({
|
||||||
|
// title: '加载中'
|
||||||
|
// });
|
||||||
|
|
||||||
|
var httpurl = ""
|
||||||
|
if(tushuflag){ // 点击切换已购和推荐
|
||||||
|
this.booksetpage = 1
|
||||||
|
this.yianList = []
|
||||||
|
}
|
||||||
|
if(this.contentShow == 1){
|
||||||
|
httpurl = "book/bookMedicalRecords/userEbookBuyList"
|
||||||
|
} else {
|
||||||
|
httpurl = "book/bookMedicalRecords/recommendBookList"
|
||||||
|
}
|
||||||
|
|
||||||
|
$http.request({
|
||||||
|
url: httpurl,
|
||||||
|
method: "POST",
|
||||||
|
data: {
|
||||||
|
"page": this.booksetpage,
|
||||||
|
"limit": 10,
|
||||||
|
"userId": this.userInfo.id
|
||||||
|
},
|
||||||
|
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>
|
||||||
576
pages/yian/yianDetail.vue
Normal file
576
pages/yian/yianDetail.vue
Normal file
@@ -0,0 +1,576 @@
|
|||||||
|
<template>
|
||||||
|
<view class="container">
|
||||||
|
<view class="header">
|
||||||
|
<!-- 顶部导航栏 -->
|
||||||
|
<z-nav-bar :title="productInfo.title"></z-nav-bar>
|
||||||
|
</view>
|
||||||
|
<view class="bookInfo">
|
||||||
|
<!-- <image :src="productInfo.images" mode="aspectFill"></image> -->
|
||||||
|
<view>
|
||||||
|
<!-- <span class="title">{{productInfo.title}}</span> -->
|
||||||
|
<!-- <view class="description">{{productInfo.content}}</view> -->
|
||||||
|
<view class="content" v-html="productInfo.content"></view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="flexbox" style="margin-bottom: 20px;">
|
||||||
|
<image :src="productInfo.images" mode="aspectFill" class="imageradius bookinfoimage"></image>
|
||||||
|
<view class="bookInfo-inner">
|
||||||
|
<span class="title">{{productInfo.name}}</span>
|
||||||
|
<span class="author">作者:{{productInfo.authorName}}</span>
|
||||||
|
<view class="description" v-if="productInfo.description == ''">暂无简介内容</view>
|
||||||
|
<view class="description" v-else>简介:{{productInfo.description}}</view>
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
|
</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 emojiList1 from '../../bkhumor-emojiplus/emoji/biaoqin.js'
|
||||||
|
import {
|
||||||
|
mapState
|
||||||
|
} from 'vuex';
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
playData:{},
|
||||||
|
isShowEmj: false,
|
||||||
|
emojiIcon:'cuIcon-emoji',
|
||||||
|
windowWidth:0,
|
||||||
|
bookid:null,
|
||||||
|
bfa_id:null, //书评id
|
||||||
|
productInfo:{},
|
||||||
|
status:3,
|
||||||
|
pingjiaShow:false, //添加评价
|
||||||
|
Pform:{ // 评价表单
|
||||||
|
//star:0,
|
||||||
|
comment:'',
|
||||||
|
//img:[],
|
||||||
|
html:''
|
||||||
|
},
|
||||||
|
emoji:[],
|
||||||
|
Files:[],
|
||||||
|
commentInfo:{},
|
||||||
|
pPage:1,
|
||||||
|
pTotal:0, // 评论的总条数
|
||||||
|
// pinglunId:null,
|
||||||
|
plList:[], // 书评的评论list
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(e) {
|
||||||
|
this.windowWidth = uni.getSystemInfoSync().windowWidth;
|
||||||
|
console.log(e,'onload')
|
||||||
|
this.medicalRecordsId = e.medicalRecordsId
|
||||||
|
this.bfa_id = e.bfa_id
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
this.getProDetail()
|
||||||
|
},
|
||||||
|
onReachBottom() {
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
...mapState(['userInfo']),
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
formatTimeDifferenceFromT(dateTimeT) {
|
||||||
|
const now = new Date();
|
||||||
|
const t = new Date(dateTimeT);
|
||||||
|
const differenceInSeconds = Math.floor((now - t) / 1000);
|
||||||
|
|
||||||
|
if (differenceInSeconds <= 3600) {
|
||||||
|
const minutes = Math.floor(differenceInSeconds / 60);
|
||||||
|
return `${minutes} 分钟前`;
|
||||||
|
} else if (differenceInSeconds <= 86400) {
|
||||||
|
const hours = Math.floor(differenceInSeconds / 3600);
|
||||||
|
return `${hours} 小时前`;
|
||||||
|
} else if (differenceInSeconds <= 2592000) {
|
||||||
|
const days = Math.floor(differenceInSeconds / 86400);
|
||||||
|
return `${days} 天前`;
|
||||||
|
} else {
|
||||||
|
const currentYear = now.getFullYear();
|
||||||
|
const tYear = t.getFullYear();
|
||||||
|
if (currentYear === tYear) {
|
||||||
|
const month = t.getMonth() + 1;
|
||||||
|
const day = t.getDate();
|
||||||
|
return `${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day}`;
|
||||||
|
} else {
|
||||||
|
const year = t.getFullYear();
|
||||||
|
const month = t.getMonth() + 1;
|
||||||
|
const day = t.getDate();
|
||||||
|
return `${year}-${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
clickLikeshuping(item){
|
||||||
|
this.$http
|
||||||
|
.post("forum/articles/chickForumContlike?forum_id=" + item.id,)
|
||||||
|
.then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
uni.showToast({
|
||||||
|
title:'点赞成功!',
|
||||||
|
icon:'success'
|
||||||
|
})
|
||||||
|
|
||||||
|
item.contlike++
|
||||||
|
}
|
||||||
|
}).catch((e)=>{
|
||||||
|
console.log(e,'e')
|
||||||
|
})
|
||||||
|
},
|
||||||
|
clickLikehuifu(item){
|
||||||
|
let data = {
|
||||||
|
comment_id: item.id
|
||||||
|
}
|
||||||
|
this.$http
|
||||||
|
.post("forum/articles/chickCommentConlike", data)
|
||||||
|
.then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
uni.showToast({
|
||||||
|
title:'点赞成功!',
|
||||||
|
icon:'success'
|
||||||
|
})
|
||||||
|
|
||||||
|
item.contlike++
|
||||||
|
}
|
||||||
|
}).catch((e)=>{
|
||||||
|
console.log(e,'e')
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getProDetail(){
|
||||||
|
// 获取商品详情
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中'
|
||||||
|
});
|
||||||
|
//console.log(e.id,'e.id')
|
||||||
|
this.$http
|
||||||
|
.post('book/bookMedicalRecords/getById?medicalRecordsId=' + this.medicalRecordsId )
|
||||||
|
.then(res => {
|
||||||
|
console.log(res,'res')
|
||||||
|
this.productInfo = res.entity
|
||||||
|
uni.hideLoading();
|
||||||
|
}).catch((e)=>{
|
||||||
|
console.log(e,'e')
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获得输入的表情数组
|
||||||
|
handleEmj(i) {
|
||||||
|
console.log(i,'i---------');
|
||||||
|
this.inputValue = i
|
||||||
|
// console.log(this.inputValue);
|
||||||
|
if(i.emotioni == '[em_98]') {
|
||||||
|
//匹配最后一个表情符号并删除11。
|
||||||
|
this.Pform.comment = this.Pform.comment.replace(/(\[[^\]]+\]|[\s\S])$/, '');
|
||||||
|
if(this.emoji.length > 0){
|
||||||
|
this.emoji = this.emoji.slice(0,-1)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.emoji.push({'tag' : i.emotion, 'name':i.emotioni})
|
||||||
|
// console.log(this.emoji,'this.emoji')
|
||||||
|
this.Pform.comment += i.emotioni;
|
||||||
|
/// this.Pform.html += i.emotion
|
||||||
|
}
|
||||||
|
},
|
||||||
|
textareaBInput(e) {
|
||||||
|
console.log(e,'e')
|
||||||
|
this.Pform.comment = e.detail.value
|
||||||
|
/// this.Pform.html = e.detail.value
|
||||||
|
},
|
||||||
|
showEmj() {
|
||||||
|
let bool = !this.isShowEmj;
|
||||||
|
if(bool) {
|
||||||
|
this.emojiIcon = 'cuIcon-keyboard';
|
||||||
|
} else {
|
||||||
|
this.emojiIcon = 'cuIcon-emoji';
|
||||||
|
}
|
||||||
|
|
||||||
|
this.isShowEmj = bool;
|
||||||
|
this.$emit('show')
|
||||||
|
},
|
||||||
|
InputBlur(e){
|
||||||
|
|
||||||
|
},
|
||||||
|
InputFocus(e){
|
||||||
|
this.isShowEmj = false;
|
||||||
|
this.emojiIcon = 'cuIcon-emoji';
|
||||||
|
this.$emit('foc')
|
||||||
|
},
|
||||||
|
|
||||||
|
// end
|
||||||
|
deleteImg(e){
|
||||||
|
// var arr = this.Pform.img.slice(0,-1)
|
||||||
|
this.Pform.img.pop()
|
||||||
|
// console.log('删除文件',arr)
|
||||||
|
console.log(this.Pform)
|
||||||
|
},
|
||||||
|
getStar(i){
|
||||||
|
this.Pform.star = i
|
||||||
|
},
|
||||||
|
select(e){
|
||||||
|
console.log('选择文件:',e)
|
||||||
|
let arr = e.tempFiles.map(item => {
|
||||||
|
return {'url':item.url,'name':item.name}
|
||||||
|
})
|
||||||
|
this.Pform.img = this.Pform.img.concat(...arr)
|
||||||
|
//this.Pform.img = arr
|
||||||
|
console.log(this.Pform,'img')
|
||||||
|
},
|
||||||
|
upSuccess(e){
|
||||||
|
console.log(e)
|
||||||
|
},
|
||||||
|
// 获取html格式的评论1
|
||||||
|
getHtmlComment(comment){
|
||||||
|
// 格式化html
|
||||||
|
// console.log(comment,'comment')
|
||||||
|
// 这里处理 链接 换行符
|
||||||
|
let replacedStr = comment.replace(/\[([^(\]|\[)]*)\]/g, (item, index) => {
|
||||||
|
// console.log(item, index)
|
||||||
|
var indexss = emojiList1.findIndex(item1 => item1.alt === item)
|
||||||
|
// console.log(indexss, 'indexss')
|
||||||
|
return '<img src="https://www.nuttyreading.com/emojis/emojis/qq/' + emojiList1[indexss].url + '" width="18rpx">';
|
||||||
|
});
|
||||||
|
// console.log(replacedStr,'replacedStr')
|
||||||
|
return replacedStr.replace(/(\r\n)|(\n)/g, '<br>');
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
deletePic() {
|
||||||
|
let that = this
|
||||||
|
that.Pform.img.splice(0, 1)
|
||||||
|
//console.log(that.Pform.img)
|
||||||
|
},
|
||||||
|
afterRead(e) {
|
||||||
|
//console.log(e)
|
||||||
|
let that = this
|
||||||
|
for (var i=0; i< e.file.length; i++) {
|
||||||
|
//console.log(i,e.file[i].url)
|
||||||
|
uni.uploadFile({
|
||||||
|
url: this.$baseUrl + 'oss/fileoss',
|
||||||
|
filePath: e.file[i].url,
|
||||||
|
//files:e.file,
|
||||||
|
name: 'file',
|
||||||
|
formData: {},
|
||||||
|
success: (res) => {
|
||||||
|
that.Pform.img.push({
|
||||||
|
url: JSON.parse(res.data).url
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
closePingjia(){
|
||||||
|
this.pingjiaShow = false
|
||||||
|
this.Pform.comment = ''
|
||||||
|
this.Pform.html = ''
|
||||||
|
this.emoji = []
|
||||||
|
},
|
||||||
|
// 点赞
|
||||||
|
dianzan(val){},
|
||||||
|
|
||||||
|
// 放大图片
|
||||||
|
previewImage(url) {
|
||||||
|
console.log(url)
|
||||||
|
uni.previewImage({
|
||||||
|
urls: [url]
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 显示评论框
|
||||||
|
pinglun(val){
|
||||||
|
console.log('pinglun-val', val)
|
||||||
|
if(val && val.user && val.user.id && val.puser && val.puser.id){
|
||||||
|
this.Pform.name = val.user.name || ''
|
||||||
|
this.Pform.pid = val.pid
|
||||||
|
this.Pform.puserId = val.user.id || ''
|
||||||
|
}else if(val && val.user && val.user.id){
|
||||||
|
this.Pform.name = val.user.name || ''
|
||||||
|
this.Pform.pid = val.id
|
||||||
|
this.Pform.puserId = val.user.id || ''
|
||||||
|
}else {
|
||||||
|
// this.pinglunId = val || null
|
||||||
|
this.Pform.pid = ''
|
||||||
|
this.Pform.puserId = ''
|
||||||
|
}
|
||||||
|
this.pingjiaShow = true
|
||||||
|
},
|
||||||
|
},
|
||||||
|
components:{
|
||||||
|
musicPlay,
|
||||||
|
emotion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.addPl{padding-top: 0rpx; margin-bottom: 0rpx;}
|
||||||
|
.pinglunMain{
|
||||||
|
.pl-item{
|
||||||
|
margin: 0 0 14rpx 0;
|
||||||
|
padding: 0 0 14rpx 0;
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
.pl-son{
|
||||||
|
margin: 14rpx 0 14rpx 60rpx;
|
||||||
|
padding: 0 14rpx 14rpx 14rpx;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
.pl-son-item{
|
||||||
|
font-size: 26rpx;
|
||||||
|
padding-top: 28rpx;
|
||||||
|
.pl-son-item-content{
|
||||||
|
|
||||||
|
}
|
||||||
|
.pl-son-atob{
|
||||||
|
color: #a1a1a1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.plusername{
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #a1a1a1;
|
||||||
|
}
|
||||||
|
.content{
|
||||||
|
margin: 30rpx 0rpx;
|
||||||
|
line-height: 40rpx;
|
||||||
|
color: #000;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
background-color: #fff; padding: 10px;
|
||||||
|
// h4{color: #55aa00; font-size: 40rpx; margin:30rpx 0 ; text-align: center;}
|
||||||
|
.time{color: #888; font-size: 24rpx;}
|
||||||
|
.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;}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// .mbtns{padding: 5px; background-color: #f4fff5; border-radius: 10px; font-size: 34rpx; color: #8b8a91; margin:15px 0; justify-content: space-between;}
|
||||||
|
/deep/.zhengwen{
|
||||||
|
line-height: 50rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
img{
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.flexbox{display: flex;}
|
||||||
|
.container{padding: 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;}
|
||||||
|
// .bookInfo{justify-content: space-between; margin-bottom: 15px; background-color: #fff; padding:10px; border: 1px splid #999;
|
||||||
|
|
||||||
|
// view{ padding-left: 30rpx;width: calc(100% - 150rpx); box-sizing: border-box;
|
||||||
|
// .title{font-size: 38rpx; margin-top: 20rpx; margin-bottom: 20rpx; display: block;}
|
||||||
|
// .description{line-height: 20px; width: 100%; color:#888; padding-left: 0;}
|
||||||
|
// text{margin-left: 10px; line-height: 20px; color: #888; padding-left: 0;}
|
||||||
|
// }
|
||||||
|
// image{width: 150px; height: 150px;}
|
||||||
|
|
||||||
|
// }
|
||||||
|
.bookInfo{
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
background-color: #fff;
|
||||||
|
padding:10px;
|
||||||
|
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; }
|
||||||
|
|
||||||
|
// view{ padding-left: 30rpx; box-sizing: border-box; width: calc(100% - 150px);
|
||||||
|
// .title{font-size: 38rpx; margin-top: 20rpx; font-weight: blod; margin-bottom: 20rpx; display: block;
|
||||||
|
// }
|
||||||
|
// .description{line-height: 20px; width: 100%; color:#888; padding-left: 0;}
|
||||||
|
// }
|
||||||
|
// image{width: 150px !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;}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.feng{
|
||||||
|
// margin:10rpx 0 0 0;
|
||||||
|
// height: 670rpx;
|
||||||
|
// width: 670rpx;
|
||||||
|
// border-radius: 20rpx;
|
||||||
|
// border:1rpx solid #e9e9e9;
|
||||||
|
|
||||||
|
margin:10rpx 20rpx 0 0;
|
||||||
|
height: 360rpx;
|
||||||
|
width: 280rpx;
|
||||||
|
// float:left;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
border:1rpx solid #e9e9e9;
|
||||||
|
}
|
||||||
|
.item{
|
||||||
|
// padding: 10px;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
// .title{font-size: 38rpx; font-weight: blod; color: #55aa00; overflow: hidden;}
|
||||||
|
.title{font-size: 32rpx; font-weight: 700; color: #000; overflow: hidden;padding-top: 20rpx;padding-bottom: 10rpx;}
|
||||||
|
.description{
|
||||||
|
overflow: hidden;
|
||||||
|
color: #666;
|
||||||
|
font-size: 28rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
margin-top:10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.mainContent{
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 20rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
.item{
|
||||||
|
// padding: 10px;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
.feng{
|
||||||
|
// margin:10rpx 0 0 0;
|
||||||
|
// height: 670rpx;
|
||||||
|
// width: 670rpx;
|
||||||
|
// border-radius: 20rpx;
|
||||||
|
// border:1rpx solid #e9e9e9;
|
||||||
|
|
||||||
|
margin:10rpx 20rpx 0 0;
|
||||||
|
height: 160rpx;
|
||||||
|
width: 140rpx;
|
||||||
|
float:left;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
border:1rpx solid #e9e9e9;
|
||||||
|
}
|
||||||
|
// .title{font-size: 38rpx; font-weight: blod; color: #55aa00; overflow: hidden;}
|
||||||
|
.title{font-size: 32rpx; font-weight: 500; color: #55aa00; overflow: hidden;padding-top: 20rpx;}
|
||||||
|
.description{
|
||||||
|
overflow: hidden;
|
||||||
|
color: #666;
|
||||||
|
font-size: 28rpx;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
margin-top:5px;
|
||||||
|
|
||||||
|
// 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: 28rpx;
|
||||||
|
// margin-bottom: 15px;
|
||||||
|
// margin-top:5px;
|
||||||
|
// min-height: 186rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.mb30{margin-bottom: 30rpx; overflow: hidden;}
|
||||||
|
</style>
|
||||||
481
pages/yian/yianList.vue
Normal file
481
pages/yian/yianList.vue
Normal file
@@ -0,0 +1,481 @@
|
|||||||
|
<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>
|
||||||
Reference in New Issue
Block a user