引入日历前

This commit is contained in:
@fawn-nine
2023-08-21 18:05:19 +08:00
parent 57d70c40f2
commit ef6c52c0d4
48 changed files with 4003 additions and 386 deletions

View File

@@ -41,10 +41,12 @@
<view style="padding-bottom: 20rpx;">
<u-back-top :scroll-top="scrollTop" bottom="60" :customStyle='bgiStyle' :iconStyle="iconStyle"></u-back-top>
</view>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
import {
mapState
@@ -52,6 +54,7 @@
export default {
data() {
return {
playData:{},
scrollTop: 0,
status: 3,
shopScreen: {
@@ -130,6 +133,9 @@
computed: {
...mapState(['userInfo']),
},
components: {
musicPlay
},
//方法
methods: {
// 获取列表数据

View File

@@ -62,10 +62,12 @@
<view>
<u-back-top :scroll-top="scrollTop" bottom="60" :customStyle='bgiStyle' :iconStyle="iconStyle"></u-back-top>
</view>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
import {
mapState
@@ -73,6 +75,7 @@
export default {
data() {
return {
playData:{},
highlight: '', // 高亮下标
current: 0,
twocurrent:0,
@@ -116,6 +119,9 @@
this.utabs = true
}, 200)
},
components: {
musicPlay
},
methods: {
onPageScroll(e) {
this.scrollTop = e.scrollTop;

View File

@@ -7,14 +7,17 @@
<text>{{item.name}}</text>
</view>
</view>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
export default {
data() {
return {
playData:{},
oneLevel: [],
}
},
@@ -33,6 +36,9 @@
this.oneLevel = arr
})
},
components: {
musicPlay
},
methods: {
// 点击分类跳转
getTowLevel(e) {

View File

@@ -27,6 +27,12 @@
</view>
<!-- 详情 + 评价1 -->
<view v-if="contentShow == 0">
<!-- <view class="tingshuList">
<h4>赠送内容</h4>
<view class="item flexbox">
<text>中医免疫学</text><u-icon name="volume" color="#71d5a1" size="24">立即试听</u-icon>
</view>
</view> -->
<view class="bookInfo" >
<u-row customStyle="margin-bottom: 10px">
<u-col ><span>书名{{productInfo.productName}}</span></u-col>
@@ -57,7 +63,7 @@
</view>
<view v-else >
<!-- 商品评价 -->
<view class="" v-if="commentsList && commentsList.length > 0">
<view class="" v-if="commentsList && commentsList.length > 0">
<view class="pingjiaBox" v-for="(item, index) in commentsList" :key="index">
<view class="flexbox">
<view class="touxiang">
@@ -65,8 +71,32 @@
<text class="username nowrap ">{{item.name}}</text>
</view>
<view class="contentBox">
<view class="content" v-html="item.content"></view>
<text class="time">2023-07-28</text>
<view class="mb30">
<span :class="['star',item.starlevel >= 1 ? 'starLight':'starGray']"></span>
<span :class="['star',item.starlevel >= 2 ? 'starLight':'starGray']"></span>
<span :class="['star',item.starlevel >= 3 ? 'starLight':'starGray']"></span>
<span :class="['star',item.starlevel >= 4 ? 'starLight':'starGray']"></span>
<span :class="['star',item.starlevel >= 5 ? 'starLight':'starGray']"></span>
</view>
<div class="pjimgs flexbox">
<view class="item" v-for="(item1,index) in item.images">
<image v-if="item1.length > 10" @click="previewImage(item1)" :src="item1" mode="aspectFill" style="width:100%; height: 50px;"></image>
</view>
</div>
<view class="content" v-html="item.phtml"></view>
<text class="time">{{item.createdate}}</text>
</view>
</view>
<!-- 显示追平 -->
<view class="zhuiping item" v-if="item.zphtml != ''" style="padding-left: 50px;">
<h5 style="color: #dbdbdb; margin:10px;">追评内容</h5>
<view class="flexbox">
<view class="contentBox">
<view class="content" v-html="item.zphtml"></view>
<text class="time">{{item.followUpdate}}</text>
</view>
</view>
</view>
</view>
@@ -78,11 +108,14 @@
<view style="height: 120rpx;"></view>
</view>
<uni-goods-nav class="goods_nav" :fill="true" :options="options" :buttonGroup="buttonGroup" @click="onClick"
@buttonClick="buttonClick" />
@buttonClick="buttonClick" />
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import emojiList1 from '../../bkhumor-emojiplus/emoji/biaoqin.js'
import $http from '@/config/requestConfig.js';
import {
mapState
@@ -91,6 +124,7 @@
export default {
data() {
return {
playData:{},
contentShow:0,
options: [{
icon: 'cart',
@@ -111,7 +145,7 @@
name: '商品详情'
},
{
name: '商品评'
name: '商品评'
}
],
// 轮播图数据
@@ -128,11 +162,38 @@
this.productId = e.id
this.getProDetail(e)
this.getComments()
// console.log(emojiList1,'emojiList1')
},
computed: {
...mapState(['userInfo']),
},
components: {
musicPlay
},
methods: {
// 放大图片
previewImage(url){
console.log(url)
uni.previewImage({
urls: [url]
});
},
// 获取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>');
},
// 获取评价
getComments(){
$http.request({
@@ -145,10 +206,35 @@
'Content-Type': 'application/json'
},
})
.then(res => {
console.log(res,'评价')
.then(res => {
if(res.code == 0){
this.commentsList = res.list
console.log(res.list, 'res.list')
this.commentsList = res.list.map(item => {
var imgList = []
if(item.images !== null){
imgList = item.images.split(',')
item.images = imgList
return item
}else {
return item
}
})
// 评论格式化
var newarr = []
this.commentsList.forEach((item1)=>{
var pjstr = ''
var zpstr = ''
pjstr = this.getHtmlComment(item1.content)
item1.followUpcontent == '' ? zpstr = '' : zpstr = this.getHtmlComment(item1.followUpcontent)
//console.log(pjstr,'99999999999----------')
item1.phtml = pjstr
item1.zphtml = zpstr
newarr.push(item1)
})
this.commentsList = newarr
// console.log(this.commentsList,'评价+++++')
// this.commentsList = res.list
}
})
},
@@ -156,7 +242,8 @@
// 获取商品详情
uni.showLoading({
title: '加载中'
});
});
console.log(e.id,'e.id')
this.$http
.post('/book/shopproduct/info/' + e.id)
.then(res => {
@@ -223,7 +310,7 @@
"productId": this.productInfo.productId,
"productAmount": this.productAmount,
"price": this.productInfo.price
}
}
// 判断列表是否为空
if (this.cartList.length > 0) {
let flag = ''
@@ -367,6 +454,17 @@ formatRichText (html) { //控制小程序中图片大小
}
</script>
<style lang="scss" scoped>
.tingshuList{margin-top: 20rpx;
}
.pjimgs{ margin: 10px 0;flex-wrap: wrap; display: flex; justify-content: space-between;
.item{width: 23%; margin-right: 10px;
image{ }
}
}
.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;}
.quesheng{text-align: center; margin-top: 100rpx; color: #8b8a91;}
.pingjiaBox{color: #555; margin-bottom: 20rpx;}
.flexbox{display: flex;}

View File

@@ -44,13 +44,16 @@
<u-back-top :scroll-top="scrollTop"></u-back-top>
</view>
</view>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
export default {
data() {
return {
playData:{},
scrollTop: 0,
totalPage: 0,
status: 3,
@@ -130,6 +133,9 @@
onShow() {
this.getHistory()
},
components: {
musicPlay
},
//方法
methods: {
// 获取缓存

View File

@@ -28,11 +28,13 @@
<image src="../../static/icon/kongbai.png" ></image>
<text>- 暂无物流信息 -</text>
</view>
<music-play :playData="playData"></music-play>
<!-- <u-loading color="red" :show="loading"></u-loading> -->
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
// import Loading from '../../'
import {
@@ -42,6 +44,7 @@
export default {
data() {
return {
playData:{},
loading: false,
orderId: null,
deliverDetails: [{
@@ -61,6 +64,9 @@
computed: {
...mapState(['userInfo']),
},
components:{
musicPlay
},
methods: {
// 复制到剪切板
copyData(data){

View File

@@ -52,7 +52,7 @@
<view class="orderOper" >
<view style="width: 100%; text-align: right;">
<view @click.stop="pingji(item.productId)" class="opCan" >评价</view>
<view @click.stop="pingji(item.productId)" class="opCan" >加评价</view>
<view @click.stop="showZhuiping(item.productId)" class="opCan" ></view>
</view>
</view>
@@ -119,7 +119,9 @@
<!-- 对话框 -->
<u-popup :show="pingjiaShow" :round="10" @close="closePingjia">
<view class="tanchu">
<view class="dp_title">添加评价</view>
<view class="dp_title" v-if="pjType != 'zhuiping'">添加评价</view>
<view class="dp_title" v-else>添加追评</view>
<view style="max-height: 1000rpx;overflow-y: scroll;">
<uni-forms :modelValue="Pform">
<!-- 评价图片 -->
@@ -131,20 +133,15 @@
<!-- <u-button type="success" @click="submitPJ">提交评价</u-button> -->
<!-- 提交 -->
<view class="padding-bottom-sm flex padding-lr-sm" style="border-bottom: 1px solid #EEEEEE;">
<view class="mb20">
<view v-html="Pform.html">
</view>
</view>
<view class="mb30">
<view class="mb30" v-if="pjType != 'zhuiping'">
<span :class="['star',Pform.star>=1 ? 'starLight': 'starGray']" @click="getStar(1)"></span>
<span :class="['star',Pform.star>=2 ? 'starLight': 'starGray']" @click="getStar(2)"></span>
<span :class="['star',Pform.star>=3 ? 'starLight': 'starGray']" @click="getStar(3)"></span>
<span :class="['star',Pform.star>=4 ? 'starLight': 'starGray']" @click="getStar(4)"></span>
<span :class="['star',Pform.star>=5 ? 'starLight': 'starGray']" @click="getStar(5)"></span>
</view>
<view class="mb30">
<view class="mb30" v-if="pjType != 'zhuiping'">
<!-- <uni-file-picker :auto-upload="false" ref="files" @delete="deleteImg" limit="5" @success="upSuccess" @select="select" v-model="Pform.img" fileMediatype="image" :image-styles="imageStyles"/> -->
<u-upload :fileList="Pform.img" @afterRead="afterRead" @delete="deletePic" multiple :maxCount="4"
width="80" height="80" :previewFullImage="true">
@@ -157,21 +154,23 @@
</view>
<view class="">
<!-- <button class="cu-btn bg-gradual-blue shadow-blur">发送</button> -->
<u-button type="success" @click="submitPJ">提交评价</u-button>
<u-button type="success" @click="submitPJ" v-if="pjType != 'zhuiping'">提交评价</u-button>
<u-button type="success" @click="zhuiping" v-else>提交追评</u-button>
</view>
</view>
<view style="position: relative;">
<emotion @emotion="handleEmj" :height="220" v-if="isShowEmj" :windowWidth="windowWidth"></emotion>
</view>
</view>
</view>
</view>
</u-popup>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import emotion from '@/bkhumor-emojiplus/components/bkhumor-emojiplus/bkhumor-emojiplus.vue';
import $http from '@/config/requestConfig.js';
import {
@@ -184,11 +183,11 @@
export default {
data() {
return {
playData:{},
title: 'Hello',
isShowEmj: false,
emojiIcon:'cuIcon-emoji',
message: '',
message: '',
windowWidth:0,
windowHeight:500,
@@ -221,7 +220,9 @@
}], // 物流详情信息全部
deliverDetailsLength: null,
emoji:[],
Files:[]
Files:[],
pjType:'',
}
},
onLoad(e) {
@@ -236,15 +237,17 @@
this.getOrderList()
},
components:{
emotion
emotion,
musicPlay
},
computed: {
...mapState(['userInfo']),
},
methods: {
methods: {
// 获得输入的表情数组
handleEmj(i) {
console.log(i,'i');
console.log(i,'i---------');
this.inputValue = i
// console.log(this.inputValue);
if(i.emotioni == '[em_98]') {
@@ -260,6 +263,42 @@
/// this.Pform.html += i.emotion
}
},
showZhuiping(val){
this.pjType = 'zhuiping'
this.pingjiaShow = true
this.productID = val
},
// 追加评论
zhuiping(){
let data = {
//'oid':'',
'userId': this.userInfo.id,
'bookid': this.productID,
'conTent': this.Pform.comment
}
console.log(data,'data')
$http.request({
url: "user/followUp/userFollowUp",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data,
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
}).then(res => {
if (res.code == 0) {
uni.showToast({
title:'成功!',
icon:'success'
})
this.pingjiaShow = false
this.pjType = ''
this.productID = null,
this.Pform.comment = ''
this.Pform.html = ''
this.emoji = []
}
})
},
textareaBInput(e) {
console.log(e,'e')
this.Pform.comment = e.detail.value
@@ -308,23 +347,23 @@
console.log(e)
},
// 获取html格式的评论1
getHtmlComment(){
var ss = this.Pform.comment
if(this.emoji.length> 0){
for (var i = 0; i<this.emoji.length; i++){
if(this.Pform.comment.indexOf(this.emoji[i].name) !== -1 ){
//var re = new RegExp(this.emoji[0].name,"g"); //定义正则表达式
//第一个参数是要替换掉的内容第二个参数"g"表示替换全部global
// ss = ss.replace(re, ); //第一个参数是正则表达式
ss = ss.replace(this.emoji[i].name, this.emoji[i].tag)
// console.log(ss)
}
}
this.Pform.html = ss
}else{
this.Pform.html = this.Pform.comment
}
getHtmlComment(){
// 格式化html
var ss = this.Pform.comment
if(this.emoji.length> 0){
for (var i = 0; i<this.emoji.length; i++){
if(this.Pform.comment.indexOf(this.emoji[i].name) !== -1 ){
//var re = new RegExp(this.emoji[0].name,"g"); //定义正则表达式
//第一个参数是要替换掉的内容第二个参数"g"表示替换全部global
// ss = ss.replace(re, ); //第一个参数是正则表达式
ss = ss.replace(this.emoji[i].name, this.emoji[i].tag)
// console.log(ss)
}
}
this.Pform.html = ss
}else{
this.Pform.html = this.Pform.comment
}
//console.log(this.Pform.html,'this.Pform.html')
},
deletePic() {
@@ -359,31 +398,17 @@
},
// 提交评价
submitPJ(){
if(this.Pform.comment != ''){
// 格式化html
var ss = this.Pform.comment
if(this.emoji.length> 0){
for (var i = 0; i<this.emoji.length; i++){
if(this.Pform.comment.indexOf(this.emoji[i].name) !== -1 ){
//var re = new RegExp(this.emoji[0].name,"g"); //定义正则表达式
//第一个参数是要替换掉的内容第二个参数"g"表示替换全部global
// ss = ss.replace(re, ); //第一个参数是正则表达式
ss = ss.replace(this.emoji[i].name, this.emoji[i].tag)
// console.log(ss)
}
}
this.Pform.html = ss
}else{
this.Pform.html = this.Pform.comment
}
if(this.Pform.comment != ''){
let data={
'userid':this.userInfo.id,
'orderSn': this.orderSn,
'bookid': this.productID,
'content': this.Pform.html,
// 'content': this.Pform.html,
'content': this.Pform.comment,
'starLevel':this.Pform.star,
'images':this.Pform.img
'images':this.Pform.img,
// 'emoji':this.emoji // 表情数组
}
// console.log(data,'data')
$http.request({
@@ -416,6 +441,7 @@
// 添加评价
pingji(id){
console.log(id)
this.pjType = ''
this.productID = id
this.pingjiaShow = true
},
@@ -482,6 +508,7 @@
this.$http
.post(`book/buyorder/appGetOrderInfo/${this.orderType}?orderId=${this.orderID}`)
.then(res => {
console.log(res,'res')
this.orderContet = res.buyOrder
this.productIDs = res.buyOrder.products.map(item => {
return item.productId

View File

@@ -70,11 +70,12 @@
</view>
</view>
<z-navigation></z-navigation>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
import {
setPay,
@@ -86,6 +87,7 @@ import {
export default {
data() {
return {
playData:{},
orderTabs: [{
name: '全部',
value: 9
@@ -123,6 +125,9 @@ import {
this.getOrderList()
uni.stopPullDownRefresh()
},
components:{
musicPlay
},
methods: {
...mapMutations(['setUserInfo']),
// 获得操作系统

View File

@@ -192,11 +192,12 @@
</view>
</u-popup>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
import {
setPay,
@@ -209,7 +210,7 @@
data() {
return {
isAndorid:true, // 操作系统
playData:{},
typeId: 0,
shangIDNum: 0,
cartIDNum: [],
@@ -300,6 +301,9 @@
computed: {
...mapState(['userInfo']),
},
components:{
musicPlay
},
methods: {
// 获得操作系统
getOS(){

File diff suppressed because it is too large Load Diff