|
@@ -1,74 +1,140 @@
|
|
|
<template>
|
|
|
- <!-- <view class="teaching_case" v-for="(i,index) in classList" :key="index + 'a'" @click="" :data-index="index"> -->
|
|
|
- <view class="listBlock1">
|
|
|
- <view class="img cell-img">
|
|
|
- <!-- 课程图片 -->
|
|
|
- <slot name="pic"></slot>
|
|
|
- <!-- <image :src="i.img" v-if="!item.btn" mode="aspectFill"></image> -->
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="right">
|
|
|
- <view class="">
|
|
|
- <view class="title">
|
|
|
- <view v-if="!item.btn" class="tag bqZ-font">类型</view>
|
|
|
-
|
|
|
- <text class="btn-font" v-if="!item.btn" style="">
|
|
|
- <!-- 课程名称 -->
|
|
|
- <slot name="tit"></slot>
|
|
|
- <!-- {{i.className}} -->
|
|
|
- </text>
|
|
|
- </view>
|
|
|
- <view v-if="!item.btn" class="introduce fwb-font">
|
|
|
- <!-- 简介 -->
|
|
|
- <slot name="intro"></slot>
|
|
|
- <!-- {{ i.intro }} -->
|
|
|
- </view>
|
|
|
-
|
|
|
+ <view class="" >
|
|
|
+ <view class="listBlock1" v-for="(i,index) in classList" :key="index+'a'">
|
|
|
+ <view class="img cell-img">
|
|
|
+ <image :src="i.pic" mode="aspectFill"></image>
|
|
|
</view>
|
|
|
-
|
|
|
- <view class="operate">
|
|
|
- <view class="left">
|
|
|
- <view class="opr" style="padding-right: 25rpx">
|
|
|
- <view class="icon">
|
|
|
- <!-- 收藏按钮 -->
|
|
|
- <slot name="Sicon"></slot>
|
|
|
- <!-- <image src="http://43.139.158.220:5007/img/static/yym/Star 1 (Stroke).png"
|
|
|
- style="width: 28rpx; height: 26rpx" mode="aspectFill"></image> -->
|
|
|
- </view>
|
|
|
- <text class="fz-font">收藏</text>
|
|
|
+
|
|
|
+ <view class="right">
|
|
|
+ <view class="">
|
|
|
+ <view class="title">
|
|
|
+ <view class="tag bqZ-font">类型</view>
|
|
|
+
|
|
|
+ <text class="btn-font" style="">
|
|
|
+ {{i.acName}}
|
|
|
+ </text>
|
|
|
</view>
|
|
|
- <view class="opr">
|
|
|
- <view class="icon">
|
|
|
- <!-- 订阅按钮 -->
|
|
|
- <slot name="Dicon"></slot>
|
|
|
- <!-- <image src="http://43.139.158.220:5007/img/static/yym/Vector (Stroke).png"
|
|
|
- style="width: 22rpx; height: 26rpx" mode="aspectFill"></image> -->
|
|
|
- </view>
|
|
|
- <text class="fz-font">订阅</text>
|
|
|
+ <view class="introduce fwb-font">
|
|
|
+ {{ i.brief }}
|
|
|
</view>
|
|
|
+
|
|
|
</view>
|
|
|
- <view class="">
|
|
|
- <!-- 立即参与按钮 -->
|
|
|
- <slot name="btn"></slot>
|
|
|
- <!-- <button class="btn sBtn-font" disableEventPropagation="true" @click.stop="join">
|
|
|
- 立即参与
|
|
|
- </button> -->
|
|
|
+
|
|
|
+ <view class="operate">
|
|
|
+ <view class="left">
|
|
|
+ <view class="opr" style="padding-right: 25rpx" @click="coll" :data-e="i">
|
|
|
+ <view class="icon">
|
|
|
+ <image :src="collArr.includes(i.acId) ? pic2 : pic "
|
|
|
+ style="width: 28rpx; height: 26rpx" mode="aspectFill"></image>
|
|
|
+ </view>
|
|
|
+ <text class="fz-font">收藏</text>
|
|
|
+ </view>
|
|
|
+ <view class="opr">
|
|
|
+ <view class="icon">
|
|
|
+ <image src="http://43.139.158.220:5007/img/static/yym/Vector (Stroke).png"
|
|
|
+ style="width: 22rpx; height: 26rpx" mode="aspectFill"></image>
|
|
|
+ </view>
|
|
|
+ <text class="fz-font">订阅</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="">
|
|
|
+ <button class="btn sBtn-font" @click.stop="join">
|
|
|
+ 立即参与
|
|
|
+ </button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
-
|
|
|
</view>
|
|
|
+
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
export default {
|
|
|
name:"listBlock1",
|
|
|
+ props: {
|
|
|
+ classList: {
|
|
|
+ type: Array,
|
|
|
+ default () {
|
|
|
+ return [];
|
|
|
+ },
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // props:['classList'],
|
|
|
data() {
|
|
|
return {
|
|
|
-
|
|
|
+ collArr:[],
|
|
|
+ // collArr.includes(i.acId) ? 'http://43.139.158.220:5007/img/static/yym/Star 1 (Stroke).png' : 'http://43.139.158.220:5007/img/static/yym/Vector (Stroke).png'
|
|
|
+ pic:'http://43.139.158.220:5007/img/static/yym/Star 1 (Stroke).png',
|
|
|
+ pic2:'https://teacherapi.cocorobo.cn/teaching-file/static//mine/Collect_yellow.png'
|
|
|
};
|
|
|
},
|
|
|
+
|
|
|
methods:{
|
|
|
+ // 收藏事件
|
|
|
+ coll(event){
|
|
|
+ // console.log(event.currentTarget.dataset.e);
|
|
|
+ console.log(this.$store.state.user.openid);
|
|
|
+ let aId=event.currentTarget.dataset.e.acId
|
|
|
+ // 先获取用户收藏信息
|
|
|
+ let data={
|
|
|
+ oid:this.$store.state.user.openid, //用户id
|
|
|
+ }
|
|
|
+ this.$request('/selectColl','POST',data).then(res=>{
|
|
|
+ // console.log('获取收藏信息',res);
|
|
|
+ // return console.log('获取收藏信息',res[0][0].coll=='');
|
|
|
+ let res2
|
|
|
+ let colls
|
|
|
+ if(res[0][0].coll!==null && res[0][0].coll !==""){
|
|
|
+ colls=JSON.parse(res[0][0].coll)
|
|
|
+ console.log('获取收藏信息',colls);
|
|
|
+ // 判断收藏表是否包含这个活动
|
|
|
+ res2 = colls.some((e)=>{
|
|
|
+ return e == aId
|
|
|
+ })
|
|
|
+ // console.log(res2);
|
|
|
+ }
|
|
|
+
|
|
|
+ // return console.log('2',res2);
|
|
|
+ // 第一次存储返回值为null,然后存储收藏
|
|
|
+ if(res[0][0].coll==null || res[0][0].coll==""){
|
|
|
+ // 然后进行存储活动到用户coll字段
|
|
|
+ let arr={
|
|
|
+ oid:this.$store.state.user.openid, //用户id
|
|
|
+ acid:JSON.stringify([aId])
|
|
|
+ }
|
|
|
+ this.$request('/updateColl','POST',arr).then(res=>{
|
|
|
+ this.$request('/selectColl','POST',data).then(res=>{
|
|
|
+ this.collArr=JSON.parse(res[0][0].coll)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ // 当数组中没有这个收藏活动时添加收藏
|
|
|
+ }else if(!res2){
|
|
|
+ colls.push(aId)
|
|
|
+ let arr2={
|
|
|
+ oid:this.$store.state.user.openid, //用户id
|
|
|
+ acid:JSON.stringify(colls)
|
|
|
+ }
|
|
|
+ this.$request('/updateColl','POST',arr2).then(res=>{
|
|
|
+ this.$request('/selectColl','POST',data).then(res=>{
|
|
|
+ this.collArr=JSON.parse(res[0][0].coll)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ // 取消收藏
|
|
|
+ }else if(res2){
|
|
|
+ const newArray = colls.filter(item => item !== aId);
|
|
|
+ let arr3={
|
|
|
+ oid:this.$store.state.user.openid, //用户id
|
|
|
+ acid:JSON.stringify(newArray)
|
|
|
+ }
|
|
|
+ this.$request('/updateColl','POST',arr3).then(res=>{
|
|
|
+ this.$request('/selectColl','POST',data).then(res=>{
|
|
|
+ this.collArr=JSON.parse(res[0][0].coll)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
join() {
|
|
|
const value = this.$store.state.user.openid;
|
|
|
if (value == '') {
|
|
@@ -93,15 +159,27 @@
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- }
|
|
|
+ getdata(){
|
|
|
+ let data={
|
|
|
+ oid:this.$store.state.user.openid, //用户id
|
|
|
+ }
|
|
|
+ this.$request('/selectColl','POST',data).then(res=>{
|
|
|
+ this.collArr=JSON.parse(res[0][0].coll)
|
|
|
+ console.log('进来就显示',this.collArr);
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // created () {
|
|
|
+ // this.getdata()
|
|
|
+ // }
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
.listBlock1{
|
|
|
-
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
+ // margin-bottom: 10px;
|
|
|
background-color: #ffffff;
|
|
|
padding: 20rpx 30rpx;
|
|
|
.img {
|