Browse Source

更新校园活动等

master
luyisha 3 years ago
parent
commit
ac4b004424
  1. 5
      components/template/pic_text/pic_text.vue
  2. 2
      components/template/tabs/tabs-copy.vue
  3. 14
      pages/mainPages/userCenter/userCenter.vue
  4. 123
      pages/subPages/mineCollection/mineCollection.vue
  5. 5
      pages/subPages2/hirePlatform/addResume/addResume.vue
  6. 6
      pagesA/businessCooperation/index.vue
  7. 250
      pagesA/campusActivities/activitiesExtend.vue
  8. 8
      pagesA/campusActivities/activitiesList.vue
  9. 391
      pagesA/campusActivities/campusActivities.vue
  10. 61
      pagesA/campusActivities/index.vue
  11. 53
      pagesA/campusActivities/myActivities.vue
  12. 5
      pagesA/lifeServices/lifeServices.vue
  13. 6
      pagesA/pictureTextDetails/pictureTextDetails.vue
  14. BIN
      static/play.png

5
components/template/pic_text/pic_text.vue

@ -87,7 +87,7 @@
<!-- 评论弹窗 -->
<view style="width: 100%;height: 100%;position: fixed;top: 0;left: 0;z-index: 9;
background-color: rgba(0,0,0,.3);" v-if="commentShow" @click.stop="commentShow=false"></view>
background-color: rgba(0,0,0,.3);" v-if="commentShow" @click.stop="closeCommentShow"></view>
<view class="reply-wrapper" v-if="commentShow">
<textarea @click.stop class="my-text" v-model="text" name="" id="" cols="30" rows="10" placeholder="评论"></textarea>
<button type="primary" style="margin: 20rpx 80rpx;border-radius: 50px;" @click.stop="submit">发送</button>
@ -215,6 +215,9 @@ export default {
editCom(){
this.commentShow=true;
},
closeCommentShow(){
this.commentShow=false;
},
//
submit(){
let _this = this,

2
components/template/tabs/tabs-copy.vue

@ -46,7 +46,7 @@
<text class="iconfont icon-roundleftfill" style="font-size: 48upx;" @click="hideVideo"></text>
</view>
<view class="playBtnArea" @click.stop="videoControl" v-if="!play">
<img src="../../../static/play.png" alt="">
<img :src="imageRootNew+'play.png'" alt="">
</view>
<view class="videoTxt">
<view class="text-area">

14
pages/mainPages/userCenter/userCenter.vue

@ -226,7 +226,7 @@
<!-- 工具区域 -->
<!-- 认证入口 -->
<view class="mineHomepage" v-if="memberInfo.identity=='游客'||memberInfo.identity=='达人'">
<view class="mineHomepage" v-if="memberInfo.identity=='游客'">
<navigator class="content_box2" :url="'/pagesA/identityList/identityList'">
<!-- <navigator class="content_box2" :url="'/pages/subPages/attestationCenter/index'"> -->
<image :src="imageRootNew+'icon_certificate.png'" mode=""></image>
@ -586,12 +586,12 @@
});
return;
}
if(url.indexOf('pagesA/campusActivities/myActivities') != -1 && this.memberInfo.identity=='达人'){//
App.navigationTo({
url: 'pagesA/campusActivities/activitiesExtend'
});
return;
}
// if(url.indexOf('pagesA/campusActivities/myActivities') != -1 && this.memberInfo.identity==''){//
// App.navigationTo({
// url: 'pagesA/campusActivities/activitiesExtend'
// });
// return;
// }
if(this.memberInfo.identity=='企业' || this.memberInfo.identity=='商家'){//-id
uni.setStorageSync('checkStoreid', this.memberInfo.storeid);
App.navigationTo({

123
pages/subPages/mineCollection/mineCollection.vue

@ -1,7 +1,7 @@
<template>
<view class="mineCollection">
<far-bottom></far-bottom>
<view class="topNav">
<!-- <view class="topNav">
<view @click="type = 1" :style="{width: platformInfor.citycardflag == 1?'49%':'98%'}">
<view :class="type == 1 ? 'check' : ''"><span>店铺</span></view>
</view>
@ -13,7 +13,7 @@
<view @click="type = 3" v-if="platformInfor.citycardflag == 1 ">
<view :class="type == 3 ? 'check' : ''"><span>名片</span></view>
</view>
</view>
</view> -->
<view class="topFull"></view>
@ -68,9 +68,9 @@
<!-- 收藏店铺循环模板 -->
<!-- <view class="tips">
<span>{{ scdpText }}</span>
</view> -->
<view v-if="storeCollectList.length==0">
<load-more :isMore="storeCollectList.length==0" style="line-height: 80upx;"></load-more>
</view> -->
<view v-if="storeCollectList.length==0">
<load-more :isMore="storeCollectList.length==0" style="line-height: 80upx;"></load-more>
</view>
</scroll-view>
<!-- 列表区域 -->
@ -89,7 +89,30 @@
<!-- 列表区域 -->
<postManage :postList="postList" :scollHeight="scollHeight" @loadTips="loadTips" :postLoadText="postLoadText" :source="source" v-if="type == 2"></postManage>
<!-- 列表区域 -->
<!-- 列表区域 -->
<!-- 收藏校园活动 -->
<scroll-view v-if="type == 4" class="scrollList" :style="{ height: scollHeight }" :scroll-y="true" @scrolltolower="ActivitiesLoad">
<view class="content_wrapper">
<view v-for="(item,index) in ActivitiesList" :key="index" class="list-item" @click="toActivitiesDetail(item.id)">
<image :src="item.promotional_img" mode="aspectFill"></image>
<view class="text-box">
<view class="text1">{{item.title}}</view>
<view class="text">
发布人{{item.nickname}}
<!-- <image style="width: 60upx;height: 60upx" :src="activitiesInfo.avatar"></image> -->
</view>
<view class="text">发布时间{{item.publish_time}}</view>
</view>
<view>
<view class="label"><br /><br /><br /></view>
</view>
</view>
<view class="" v-if="ActivitiesList.length==0">
<loadmore :isMore="true" v-if="ActivitiesList.length=='0'" />
</view>
</view>
</scroll-view>
</view>
</template>
@ -113,7 +136,7 @@ export default {
data() {
return {
source: 2,
type: 1,
type: 4,// 1234
storeCollectList: [],
page: 1,
lat: null,
@ -133,7 +156,9 @@ export default {
is_have:1,
cradTotal:1,
citycardflag:0,
platformInfor:{}
platformInfor:{},
ActivitiesPage: 1,
ActivitiesList: []
};
},
onLoad: function() {
@ -143,7 +168,8 @@ export default {
_this.agencyData = uni.getStorageSync('agencyData');
_this.platformInfor = uni.getStorageSync('platformInfor')
_this.storeCollect(_this.curLoction.latitude, _this.curLoction.longitude);
_this.init()
_this.init();
_this.getActivitiesList();
// if (client === '1' || client === '3') {
// // // #ifdef H5
@ -343,7 +369,37 @@ export default {
_this.page++;
_this.storeCollect();
}
}
},
getActivitiesList(){
let _this = this;
App._post_form('&p=student&do=campusActivitiesList',
{page:_this.ActivitiesPage, size: 10, mid: _this.mid, collect: 1}, res => {
if(_this.ActivitiesPage===1){
if(res.data.data.length>0){
_this.setData({
ActivitiesList: res.data.data
})
}
}else{
if(res.data.data.length>0){
let ActivitiesList = _this.ActivitiesList.concat(res.data.data);
_this.setData({
ActivitiesList
})
}
}
});
},
toActivitiesDetail(id){
uni.navigateTo({
url:'/pagesA/campusActivities/campusActivities?id='+id
})
},
ActivitiesLoad(){
this.ActivitiesPage++;
this.getActivitiesList();
}
}
};
</script>
@ -431,7 +487,8 @@ page {
}
.topFull {
width: 750upx;
height: 108upx;
// height: 108upx;
height: 0px;
}
.scdpMb {
background: rgba(255, 255, 255, 1);
@ -548,5 +605,49 @@ page {
vertical-align: middle;
}
}
}
.dis-flex{
display: flex;
align-items: center;
}
.content_wrapper{
.list-item{
display: flex;
padding: 15px 0px;
border-bottom: 1px solid #efefef;
}
image{
width: 80px;
height: 80px;
border-radius: 6px;
margin-right: 10px;
}
.text-box{
height: 80px;
flex: 1;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.text1{
font-size: 14px;font-weight: bold;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.text{
display: -webkit-box;//将盒子转换为弹性盒子 -webkit-box-orient: vertical;//文本显示方式,默认水平 -webkit-line-clamp: 1;//设置显示多少行 overflow: hidden;
font-size: 12px;
color: #999;
}
.label{
background-color: #509DFD;
color: #fff;font-size: 10px;
padding: 8upx 16upx;
margin-left: 10px;
// border-radius: 10upx;
}
}
</style>

5
pages/subPages2/hirePlatform/addResume/addResume.vue

@ -1216,7 +1216,8 @@ export default{
delete data.graduated_school;
console.log(data);
for(let key in data){
if(!data[key] && data[key] !== 0){
if(!data[key] && data[key] !== 0 && key != 'self_evaluation'){
// && key != 'self_evaluation'
uni.showToast({
icon:'none',
title:'请完善资料'
@ -1225,7 +1226,7 @@ export default{
return
}else if(Array.isArray(data[key])){
if(data[key].length == 0 && key != 'educational_experience' && key != 'work_experience'){
if(data[key].length == 0 && key != 'educational_experience' && key != 'work_experience' && key != 'school_office'){
uni.showToast({
icon:'none',
title:'请完善资料'

6
pagesA/businessCooperation/index.vue

@ -107,9 +107,9 @@ export default {
mid: mid
};
App._post_form('&p=Certified&do=initApplyCertified', data, res => {
_this.setData({
business: res.data
})
// _this.setData({
// business: res.data
// })
}, (err)=>{
console.log(err.data.message);
uni.navigateBack({

250
pagesA/campusActivities/activitiesExtend.vue

@ -1,8 +1,256 @@
<template>
<view class="activityPage">
<view class="title">
<view class="label">活动标题必填项</view>
<input type="text" v-model="activityInfo.title" placeholder="请输入活动标题" class="title-inp">
</view>
<view class="category">
<view class="label">活动分类必填项</view>
<picker @change="categoryChange" class="dataPicker" :value="cc_index" range-key="name" :range="category_list">
<view class="uni-input" v-if="cc_index==-1" style="color: #999;">请选择</view>
<view class="uni-input" v-else>{{category_list[cc_index].name}}</view>
</picker>
</view>
<view class="content">
<view class="label">活动内容必填项</view>
<jinEdit placeholder="请输入内容" @editOk="editOk" uploadFileUrl="/#" :html="activityInfo.describe"></jinEdit>
</view>
<view class="promotional">
<view class="label">活动宣传图必填项</view>
<view class="" v-if="activityInfo.promotional_img" style="position: relative;">
<image :src="activityInfo.promotional_img" mode="widthFix" style="width: 100%;height: auto;"></image>
<image :src="imgfixUrls + 'merchant/close.png'" class="close" @click.stop="closePreview()" />
</view>
<image v-else :src="imageRootNew+'mb-plus.png'" @click="uploadFiles()" class="plus"></image>
</view>
<view class="">
<view class="release-btn" @click="saveActivit">确认发布</view>
</view>
<!-- <view style="font-size: 14px;color: #509DFD;margin-top: 20upx;" v-if="id===0">
<navigator url="./myActivities">我的发布</navigator>
</view> -->
</view>
</template>
<script>
import App from '@/common/js/app.js';
import jinEdit from '@/components/jin-edit/jin-edit.vue';
export default {
data() {
return {
id: 0,
activityInfo: {
title: '',
describe: '',
promotional_img: '',
cc_id: '',
},
category_list: [],
cc_index: -1,
}
},
components: {
jinEdit
},
onLoad(e) {
if(e.id){
this.id = e.id;
}
this.getDetail();
},
methods: {
getDetail(){
let _this = this;
App._post_form('&p=student&do=getCampusActivities', {id:this.id||0}, res => {
// _this.setData({
// activitiesInfo: res.data.data
// })
this.category_list = res.data.category_list;
if(res.data.list!=[]){
this.activityInfo = res.data.list;
for(let i=0;i<this.category_list.length;i++){
if(this.category_list[i].id == res.data.list.cc_id){
this.cc_index = i;
}
}
}
});
},
categoryChange(e){
console.log(e);
this.cc_index = e.detail.value;
this.activityInfo.cc_id = this.category_list[this.cc_index].id;
},
editOk(res) {
console.log('-------',res.html);
this.activityInfo.describe = res.html;
uni.showToast({
title: '保存成功'
})
},
saveActivit(){
if(this.activityInfo.title.replace(/(^\s*)|(\s*$)/g, "")==""){
uni.showToast({
icon:'none',
title: '标题不能为空',
duration: 2000
});
return ;
}
if(this.cc_index==-1){
uni.showToast({
icon:'none',
title: '分类不能为空',
duration: 2000
});
return ;
}
if(this.activityInfo.describe.replace(/(^\s*)|(\s*$)/g, "")==""){
uni.showToast({
icon:'none',
title: '未保存内容',
duration: 2000
});
return ;
}
if(this.activityInfo.promotional_img==""){
uni.showToast({
icon:'none',
title: '宣传图不能为空',
duration: 2000
});
return ;
}
App._post_form('&p=student&do=publishCampusActivities', this.activityInfo, res => {
uni.showToast({
title: res.message
})
setTimeout(()=>{
uni.navigateBack({
delta: 1
})
}, 2000)
});
},
//
async uploadFiles() {
let _this = this;
// #ifndef H5
wx.chooseImage({
count: 1,
sourceType: ['album', 'camera'],
success: async function(res) {
for (let i = 0; i < res.tempFilePaths.length; i++) {
let result = await App._MYupLoad(res.tempFilePaths[i]);
console.log(result.data.img, result);
_this.activityInfo.promotional_img = result.data.img;
uni.showToast({
title: result.message
})
}
}
});
// #endif
},
closePreview(){
this.activityInfo.promotional_img = '';
},
}
}
</script>
<style>
<style lang="scss" scoped>
.activityPage{
padding: 20upx 30upx 80upx;
background: #f8f8f8;
.title, .category, .content, .promotional{
background-color: #fff;
padding: 10upx 20upx;
border-radius: 20upx;
margin-bottom: 30upx;
}
.category{
}
.content{
}
.promotional{
}
.label{
height: 16px;
line-height: 16px;
padding-left: 10upx;
margin: 20upx 0px;
border-left: 4px solid #509DFD;
}
.title-inp{
font-size: 14px;
border: 1px solid #e6e6e6;
padding: 0px 10px;
height: 30px;
border-radius: 6px;
line-height: 30px;
margin: 20upx 0px;
}
.dataPicker{
font-size: 14px;
border: 1px solid #e6e6e6;
padding: 0px 10px;
height: 30px;
border-radius: 6px;
line-height: 30px;
margin: 20upx 0px;
}
.close{
position: absolute;
width: 20px;
height: 20px;
right: 10px;
top: 10px;
}
.plus{
width: 50px;
height: 50px;
border: 1px solid #e6e6e6;
border-radius: 4px;
padding: 15px;
margin: 20upx 0px;
background-color: #f8f8f8;
}
.release-btn{
margin: 20upx auto 0 auto;
width: 690upx;
height: 83upx;
// background: rgba(255, 68, 68, 1);
color: #fff;
background-color: #509DFD;
text-align: center;
padding: 0;
position: relative;
display: block;
box-sizing: border-box;
font-size: 35upx;
text-decoration: none;
line-height: 2.55555556;
border-radius: 50px;
overflow: hidden;
}
}
/deep/ .tool-view{
position: absolute !important;
width: calc(100vw - 100upx - 2px) !important;
background-color: #fff;
}
/deep/ .container{
border: 1px solid #e6e6e6;
border-radius: 6px;
margin: 20upx 0px;
position: relative;
}
/deep/ .ql-container{
font-size: 14px !important;
}
</style>

8
pagesA/campusActivities/activitiesList.vue

@ -0,0 +1,8 @@
<template>
</template>
<script>
</script>
<style>
</style>

391
pagesA/campusActivities/campusActivities.vue

@ -1,45 +1,92 @@
<template>
<view style="padding: 10px 10px 65px;">
<view style="padding: 0px 0px 65px;">
<image :src="activitiesInfo.promotional_img" mode="widthFix" style="width: 100vw;height: auto;"></image>
<view class="content_wrapper">
<image :src="activitiesInfo.promotional_img" mode="widthFix" style="width: calc(100vw - 20px);"></image>
<view style="font-size: 18px;line-height: 30px;font-weight: bold;margin: 16px 0px;">{{activitiesInfo.title}}</view>
<view class="text">
发布人{{activitiesInfo.nickname}}
<image style="width: 60upx;height: 60upx" :src="activitiesInfo.avatar"></image>
<view class="title">
{{activitiesInfo.title}}
<text class="title-right">{{label}}</text>
</view>
<view class="text">发布时间{{activitiesInfo.publish_time}}</view>
<view class="text" v-html="activitiesInfo.describe"></view>
<view v-html="activitiesInfo.describe" style="margin-bottom: 15px;"></view>
<view class="text" style="display: flex;align-items: center;">
<image style="width: 52upx;height: 52upx;vertical-align: middle;margin-right: 4px;" :src="activitiesInfo.avatar"></image>
{{activitiesInfo.nickname}}
</view>
<view class="text">发布于{{activitiesInfo.publish_time}}</view>
</view>
<view class="">
<view class="comment-wrapper">
<view style="flex: 1;">用户评价{{activitiesInfo.evaluation_list.length}}</view>
<view style="margin-right: 20px;" @click="favorite">
<image v-if="!activitiesInfo.is_thumbs_up" src="https://qingyuan.xingtongworld.com/addons/weliam_smartcity/data/img/appreciate-grey.png" mode=""></image>
<image v-else src="https://qingyuan.xingtongworld.com/addons/weliam_smartcity/data/img/appreciate-red.png" mode=""></image>
<view class="comment-wrapper">
<view class="comment-title">
<view style="flex: 1;">评论<text v-if="0">{{evaluation_list.length}}</text></view>
<view style="margin-right: 20px;" @click="favorite" v-if="0">
<image v-if="!activitiesInfo.is_thumbs_up" :src="imageRootNew+'appreciate-grey.png'" mode=""></image>
<image v-else :src="imageRootNew+'appreciate-red.png'" mode=""></image>
{{activitiesInfo.thumbs_up_count}}
</view>
<view class="leave" @click="tabLeave">
<view class="" @click="tabLeave" v-if="0">
写留言
<image src="https://qingyuan.xingtongworld.com/addons/weliam_smartcity/data/img/fa-comment.png"></image>
<image :src="imageRootNew+'fa-comment.png'"></image>
</view>
</view>
<view class="comment-item" v-for="(item, index) in activitiesInfo.evaluation_list" :key="index">
<view class="comment-item" v-for="(item, index) in evaluation_list" :key="index">
<view class="dis-flex">
<image class="avatar2" :src="item.avatar" mode=""></image>
<view class="name">{{ item.nickname }}</view>
</view>
<view style="padding-left: 38px;font-size: 14px;margin: 5px auto 10px;">{{ item.content }}</view>
<view style="padding-left: 32px;font-size: 14px;margin: 10px 0px;" @click="tabLeave(index)">{{ item.content }}</view>
<view style="padding-left: 32px;" class="dis-flex">
<view class="comment-num" v-if="item.is_query && !item.list" @click="getEvaluationList(index, item.id)">
展开{{item.reply_count}}条回复
</view>
<view class="comment-num" v-else-if="item.is_query && item.list.length!=item.reply_count" @click="getEvaluationList(index, item.id)">
展开更多回复
</view>
<view class="comment-num" v-else>{{item.reply_count}}条回复</view>
<view style="font-size: 12px;color: #999;">{{item.create_time}}</view>
</view>
<view style="padding-left: 32px;">
<view v-for="(item2,index2) in item.list" :key="index2" style="margin: 10px 0px;">
<view class="dis-flex">
<image class="avatar2" :src="item2.avatar" mode=""></image>
<view class="name">{{ item2.nickname }}</view>
<view style="margin: 0px 5px;font-size: 10px;"></view>
<image class="avatar2" :src="item2.quilt_avatar" mode=""></image>
<view class="name">{{ item2.quilt_nickname }}</view>
</view>
<view style="padding-left: 32px;font-size: 14px;margin: 10px 0px;" @click="tabLeave(index, index2)">{{ item2.content }}</view>
<view style="padding-left: 32px;" class="dis-flex">
<view style="font-size: 12px;color: #999;">{{item2.create_time}}</view>
</view>
</view>
</view>
</view>
<view class="comment-bottom" v-if="nomore">- 到底了 -</view>
</view>
<view class="btn-wrapper">
<view class="join-btn" v-if="!activitiesInfo.is_enroll" @click="join">立即报名</view>
<view class="join-btn" v-if="activitiesInfo.is_enroll" @click="cancelJoin">取消报名</view>
<view class="leave-btn" @click="tabLeave">
<image :src="imageRootNew+'ze-edit@2x.png'"></image>
说点什么
</view>
<view class="favorite-btn" @click="favorite">
<image v-if="!activitiesInfo.is_thumbs_up" :src="imageRootNew+'ze-like-o@2x.png'" mode=""></image>
<image v-else :src="imageRootNew+'ze-like@2x.png'" mode=""></image>
<text>{{activitiesInfo.thumbs_up_count}}</text>
</view>
<view class="collect-btn" @click="collect">
<image v-if="!activitiesInfo.is_collect" :src="imageRootNew+'ze-star-o@2x.png'" mode=""></image>
<image v-else :src="imageRootNew+'ze-star@2x.png'" mode=""></image>
<text>{{activitiesInfo.collect_count}}</text>
</view>
<view class="comment-btn" @click="tabLeave">
<image :src="imageRootNew+'leave-g@2x.png'" mode=""></image>
<text>{{evaluation_list.length}}</text>
</view>
<!-- <view class="join-btn" v-if="!activitiesInfo.is_enroll" @click="join">立即报名</view> -->
<!-- <view class="join-btn" v-if="activitiesInfo.is_enroll" @click="cancelJoin">取消报名</view> -->
</view>
<!-- 留言弹窗 -->
<view style="width: 100%;height: 100%;position: fixed;top: 0;left: 0;
background-color: rgba(0,0,0,.3);" v-show="showLeave" @click.stop="tabLeave"></view>
<view class="reply-wrapper" v-show="showLeave">
<textarea @click.stop class="my-text" v-model="comment" name="" id="" cols="30" rows="10" placeholder="留言"></textarea>
<textarea @click.stop class="my-text" v-model="comment" name="" id="" cols="30" rows="10" :placeholder="placeholderTxt"></textarea>
<button type="primary" style="margin: 20rpx 80rpx;border-radius: 50px;" @click.stop="addComment">发送</button>
</view>
</view>
@ -52,18 +99,33 @@
return {
mid: null,
id: null,
activitiesInfo: {
evaluation_list:[],
},
cc_cc_id: null,
ccccidList: [],
label: '',
activitiesInfo: {},
evaluation_list:[],
page: 1,
comment: '',
showLeave: false,
placeholderTxt: "留言",
oneid: null,
pid: null,
indexA: null,//
nomore: false
}
},
onLoad(e) {
let _this = this;
this.id = e.id;
if(e.cc_cc_id){
this.cc_cc_id = e.cc_cc_id;
this.getTabData();
}else if(e.name){
this.label = e.name;
}
this.getDetail();
this.getEvaluationList();
let user_info = uni.getStorageSync('userInfo');
if(!user_info){
App._post_form('&p=member&do=memberInfo', {}, res => {
@ -75,32 +137,113 @@
}
},
methods: {
getTabData(){
App._post_form(
`&p=cultivateClass&do=getCultivateClassChildList`,
{cc_id: 6},
res => {
if(res.data.length>0){
this.ccccidList = res.data;
this.ccccidList.map(item=>{
if(item.id==this.cc_cc_id){
this.label = item.name;
}
})
}
},
false,
() => {
}
);
},
getDetail(){
let _this = this;
App._post_form('&p=student&do=campusActivitiesFind', {id:_this.id}, res => {
if(_this.page===1){
_this.setData({
activitiesInfo: res.data.data
})
_this.setData({
activitiesInfo: res.data.data
})
});
},
getEvaluationList(indexA,oneid){
let _this = this;
let data = {
caid: _this.id,
oneid: oneid||0,
pindex: _this.page,
psize: 10
}
if(oneid){
//
if(!_this.evaluation_list[indexA].page){
_this.$set(_this.evaluation_list[indexA], 'page', 1);
}
data.pindex = _this.evaluation_list[indexA].page;
}
App._post_form('&p=student&do=getEvaluationList', data, res => {
if(oneid){
_this.evaluation_list[indexA].page++;
if(!_this.evaluation_list[indexA].list){
_this.$set(_this.evaluation_list[indexA], 'list', []);
}
_this.evaluation_list[indexA].list.push(...res.data.list)
}else{
// if(res.data.data.length>0){
// let dataList = _this.dataList.concat(res.data.data);
// _this.setData({
// dataList
// })
// }
//
if(_this.page===1){
_this.setData({
evaluation_list: res.data.list
})
if(res.data.total == _this.evaluation_list.length){
this.nomore = true;
}else{
_this.page++;
}
}else{
if(res.data.list.length>0){
let dataList = _this.evaluation_list.concat(res.data.list);
_this.setData({
evaluation_list: dataList
})
}
if(res.data.total == _this.evaluation_list.length){
this.nomore = true;
}else{
_this.page++;
}
}
}
});
},
tabLeave(){
tabLeave(index1, index2){
console.log(typeof index1, typeof index2);
this.showLeave=!this.showLeave;
if(typeof index1 == 'number'){
this.indexA = index1;
this.placeholderTxt = '回复';
this.oneid = this.evaluation_list[index1].id;
if(typeof index2 == 'number'){
this.pid = this.evaluation_list[index1].list[index2].id;
}else{
this.pid = this.evaluation_list[index1].id;
}
}else{
this.placeholderTxt = '留言';
this.oneid = null;
this.pid = null;
}
},
addComment(){
let _this = this,
data = {
mid: this.mid,
caid: this.id,
content: this.comment
content: this.comment,
oneid: this.oneid || 0,
pid: this.pid || 0
}
App._post_form('&p=student&do=addEvaluation', data, res => {
uni.showToast({
@ -108,9 +251,16 @@
})
_this.showLeave = false;
_this.comment = '';
_this.getDetail();
//
if(this.oneid){
// _this.getEvaluationList(this.indexA, this.oneid);
}else{
// _this.getEvaluationList();
}
})
},
//
join(){
let _this = this,
data = {
@ -131,6 +281,7 @@
}
})
},
//
cancelJoin(){
let _this = this,
data = {
@ -153,17 +304,45 @@
title: res.message
})
_this.activitiesInfo.is_thumbs_up = !_this.activitiesInfo.is_thumbs_up
if(res.message=='点赞成功'){
if(_this.activitiesInfo.is_thumbs_up){
++_this.activitiesInfo.thumbs_up_count;
}else if(res.message=='已取消'){
}else if(!_this.activitiesInfo.is_thumbs_up){
--_this.activitiesInfo.thumbs_up_count;
}
})
},
collect(){
let _this = this,
data = {
caid: this.id
}
if(_this.activitiesInfo.is_collect){
App._post_form('&p=student&do=cancelCollectActivities', data, res => {
uni.showToast({
title: res.message
})
_this.activitiesInfo.is_collect = !_this.activitiesInfo.is_collect
// if(res.message==''){
--_this.activitiesInfo.collect_count;
// }
})
}else{
App._post_form('&p=student&do=immediatelyCollectActivities', data, res => {
uni.showToast({
title: res.message
})
_this.activitiesInfo.is_collect = !_this.activitiesInfo.is_collect
// if(res.message==''){
++_this.activitiesInfo.collect_count;
// }
})
}
}
},
onReachBottom(){
// this.page++;
// this.getList();
if(!this.nomore){
this.getEvaluationList();
}
}
}
</script>
@ -174,16 +353,27 @@
align-items: center;
}
.content_wrapper{
border-bottom: 1px solid #efefef;
padding: 40upx 24upx;
.title{
font-size: 18px;
font-weight: bold;
color: #444;
margin-bottom: 10px;
}
.title-right{
font-size: 14px;
padding: 0px 5px;
color: #2479EA;
border: 1px solid #2479EA;
border-radius: 5px;
margin-left: 8px;
}
.text{
font-size: 13px;
font-size: 12px;
color: #999;
margin: 15px 0px 20px;
margin: 10px 0px;
}
// image, img, .content-picture, .nfw-cms-img{
// width: calc(100vw - 20px);
// }
rich-text{
/deep/img{
width: calc(100vw - 20px);//
@ -194,64 +384,77 @@
}
}
.comment-wrapper{
font-size: 18px;
font-weight: bold;
padding: 10px;
color: #333;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0px 24upx;
.leave{
padding: 0px 5px;
}
image{
width: 20px;
height: 20px;
vertical-align: middle;
margin: 0px 10rpx;
.comment-title{
font-size: 18px;
font-weight: bold;
color: #444;
}
}
.comment-item{
padding: 10px 0px;
border-bottom: 1px solid #efefef;
.avatar2{
width: 30px;
height: 30px;
background-color: #000;
border-radius: 50%;
margin-right: 8px;
}
.name{
font-size: 13px;
flex: 1;
.comment-item{
padding: 10px 0px;
border-bottom: 1px solid #f8f8f8;
.avatar2{
width: 24px;
height: 24px;
background-color: #000;
border-radius: 50%;
margin-right: 8px;
}
.name{
font-size: 13px;
}
.comment-num{
padding: 2px 8px;
border-radius: 20px;
background-color: #e8e8e8;
margin-right: 8px;
font-size: 12px;
}
}
.comment-num{
padding: 2px 8px;
border-radius: 20px;
background-color: #efefef;
margin-right: 8px;
font-size: 13px;
.comment-bottom{
width: 100%;
line-height: 60px;
text-align: center;
color: #bbb;font-size: 14px;
}
}
.btn-wrapper{
width: 92vw;
height: 40px;
padding: 10px 4vw;
width: 100vw;
height: 67px;
padding: 15px 35upx;
box-sizing: border-box;
position: fixed;
bottom: 0px;
left: 0;
background: #FFF;
border-top: 1px solid #efefef;
.join-btn{
width: 92vw;
height: 40px;
border-top: 1px solid #f4f4f4;
display: flex;
justify-content: space-between;
align-items: center;
.leave-btn{
width: 320rpx;
height: 36px;
padding: 0px 8px;
box-sizing: border-box;
border-radius: 30px;
color: #f00;
border: 1px solid #f00;
text-align: center;
line-height: 40px;
font-size: 16px;
color: #bbb;
border: 1px solid #bbb;
line-height: 36px;
font-size: 14px;
}
.leave-btn, .favorite-btn, .collect-btn, .comment-btn{
height: 36px;
display: flex;
align-items: center;
image{
width: 24px;
height: 24px;
margin-right: 4px;
}
}
}
.reply-wrapper{

61
pagesA/campusActivities/index.vue

@ -4,15 +4,22 @@
<tabs-c :cc_id="cc_id" pageType="" @changeChildType="changeChildType" @search="search" :searchNeed="true"></tabs-c>
</view>
<view class="content_wrapper">
<view v-for="(item,index) in dataList" :key="index" class="list-item" @click="toDetail(item.id)">
<view v-for="(item,index) in dataList" :key="index" class="list-item" @click="toDetail(item.id, item.cc_name)">
<image :src="item.promotional_img" mode="aspectFill"></image>
<view class="text-box">
<view class="text1">{{item.title}}</view>
<view class="text2">
{{item.nickname}}
<image style="width: 60upx;height: 60upx" :src="activitiesInfo.avatar"></image>
<view class="text3">
<image style="width: 50upx;height: 50upx;vertical-align: middle;margin: 0px;" :src="item.avatar"></image>
{{item.nickname}}
</view>
<view class="text4" @click.stop="favorite(item.id, index)">
<image style="width: 36upx;height: 36upx;vertical-align: middle;margin: 0px;" v-if="!item.is_thumbs_up" :src="imageRootNew+'ze-like-o@2x.png'" mode=""></image>
<image style="width: 36upx;height: 36upx;vertical-align: middle;margin: 0px;" v-else :src="imageRootNew+'ze-like@2x.png'" mode=""></image>
<text style="margin-left: 6upx;">{{item.thumbs_up_count || 0}}</text>
</view>
</view>
<view class="text2">{{item.publish_time}}</view>
<!-- <view class="">{{item.publish_time}}</view> -->
</view>
<view class="label" v-if="item.cc_name && cc_cc_id == 18">
{{item.cc_name}}
@ -90,9 +97,33 @@
});
},
toDetail(id){
uni.navigateTo({
url:'/pagesA/campusActivities/campusActivities?id='+id
toDetail(id, name){
if(name){
//
uni.navigateTo({
url:'/pagesA/campusActivities/campusActivities?id='+id+'&name='+name
})
}else{
uni.navigateTo({
url:'/pagesA/campusActivities/campusActivities?id='+id+'&cc_cc_id='+this.cc_cc_id
})
}
},
favorite(id, index){
let _this = this,
data = {
caid: id
}
App._post_form('&p=student&do=thumbsUpActivities', data, res => {
uni.showToast({
title: res.message
})
_this.dataList[index].is_thumbs_up = !_this.dataList[index].is_thumbs_up;
if(_this.dataList[index].is_thumbs_up){
++_this.dataList[index].thumbs_up_count;
}else if(!_this.dataList[index].is_thumbs_up){
--_this.dataList[index].thumbs_up_count;
}
})
},
changeChildType(e){
@ -155,14 +186,24 @@
padding: 0px 10px 10px;
}
.text1{
height: 44px;
height: 44px; color: #444;
font-size: 14px;line-height: 22px;font-weight: bold;
display: -webkit-box;//将盒子转换为弹性盒子 -webkit-box-orient: vertical;//文本显示方式,默认水平 -webkit-line-clamp: 2;//设置显示多少行 overflow: hidden;
margin-bottom: 10upx;
}
.text2{
display: -webkit-box;//将盒子转换为弹性盒子 -webkit-box-orient: vertical;//文本显示方式,默认水平 -webkit-line-clamp: 2;//设置显示多少行 overflow: hidden;
font-size: 13px;
font-size: 12px;
line-height: 50upx;
color: #999;
display: flex;
justify-content: space-between;
align-items: center;
}
.text3{
display: -webkit-box;//将盒子转换为弹性盒子 -webkit-box-orient: vertical;//文本显示方式,默认水平 -webkit-line-clamp: 1;//设置显示多少行 overflow: hidden;
}
.text4{
}
.label{
position: absolute;

53
pagesA/campusActivities/myActivities.vue

@ -1,21 +1,25 @@
<template>
<view style="min-height: 100vh;background-color: #f8f8f8;box-sizing: border-box;">
<view style="min-height: 100vh;background-color: #f8f8f8;box-sizing: border-box;padding-bottom: 50px;">
<view class="content_wrapper">
<view v-for="(item,index) in dataList" :key="index" class="list-item" @click="toDetail(item.id)">
<image :src="item.promotional_img" mode="aspectFill"></image>
<view class="text-box">
<view style="font-size: 14px;line-height: 22px;font-weight: bold;">{{item.title}}</view>
<view class="text1">{{item.title}}</view>
<view class="text">
发布人{{item.nickname}}
<image style="width: 60upx;height: 60upx" :src="activitiesInfo.avatar"></image>
<!-- <image style="width: 60upx;height: 60upx" :src="activitiesInfo.avatar"></image> -->
</view>
<view class="text">发布时间{{item.publish_time}}</view>
</view>
<view @click.stop="">
<navigator :url="'./activitiesExtend?id='+item.id" class="editbtn">编辑</navigator>
</view>
</view>
<view class="" v-if="dataList.length==0">
<loadmore :isMore="true" v-if="dataList.length=='0'" />
</view>
</view>
</view>
<navigator url="./activitiesExtend" class="release-btn">发布校园活动</navigator>
</view>
</template>
@ -37,14 +41,14 @@
this.mid = uni.getStorageSync('userinfo').mid;
},
onShow(){
this.dataList=[];
this.page = 1;
this.getList();
},
methods: {
getList(){
let _this = this;
App._post_form('&p=student&do=campusActivitiesList',
{page:_this.page, size: 10, mid: _this.mid}, res => {
{page:_this.page, size: 10, mid: _this.mid, sub: 1}, res => {
if(_this.page===1){
if(res.data.data.length>0){
_this.setData({
@ -93,16 +97,49 @@
margin-right: 10px;
}
.text-box{
height: 80px;
flex: 1;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.text1{
font-size: 14px;font-weight: bold;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
.text{
display: -webkit-box;//将盒子转换为弹性盒子 -webkit-box-orient: vertical;//文本显示方式,默认水平 -webkit-line-clamp: 2;//设置显示多少行 overflow: hidden;
font-size: 13px;
display: -webkit-box;//将盒子转换为弹性盒子 -webkit-box-orient: vertical;//文本显示方式,默认水平 -webkit-line-clamp: 1;//设置显示多少行 overflow: hidden;
font-size: 12px;
color: #999;
}
.editbtn{
background-color: #509DFD;
color: #fff;font-size: 12px;
padding: 8upx 20upx;
border-radius: 10upx;
margin-left: 10px;
}
}
.release-btn{
width: 690upx;
height: 84upx;
color: #509DFD;
border: 1px solid #509DFD;
background-color: #FFF;
text-align: center;
padding: 0;
position: fixed;
bottom: 30upx;
left: 30upx;
box-sizing: border-box;
font-size: 35upx;
text-decoration: none;
line-height: 80upx;
border-radius: 50px;
overflow: hidden;
}
</style>

5
pagesA/lifeServices/lifeServices.vue

@ -9,7 +9,7 @@
<image :src="item.logo" mode="aspectFill"></image>
<view class="text3">
<!-- <text>{{item.city}}/{{item.address}}</text> -->
<text style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;overflow: hidden;">{{item.storename}}</text>
<text style="display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;overflow: hidden;">{{item.store_address}}</text>
<text style="margin: 0px 3px;">|</text>
<view style="">
<text class="iconfont icon-daohang1"></text>
@ -74,7 +74,8 @@
};
},
onShow() {
// this.getList();
this.page = 1;
this.getList();
},
methods: {
getList(type){

6
pagesA/pictureTextDetails/pictureTextDetails.vue

@ -61,7 +61,7 @@
</view>
<!-- 评论弹窗 -->
<view style="width: 100%;height: 100%;position: fixed;top: 0;left: 0;z-index:9;
background-color: rgba(0,0,0,.3);" v-if="rpShow" @click.stop="rpShow=false"></view>
background-color: rgba(0,0,0,.3);" v-if="rpShow" @click.stop="closeRpShow"></view>
<view class="reply-wrapper" v-if="rpShow">
<textarea @click.stop class="my-text" v-model="rpText" name="" id="" cols="30" rows="10" placeholder="回复"></textarea>
<button type="primary" style="margin: 20rpx 80rpx;border-radius: 50px;" @click.stop="reply">发送</button>
@ -356,6 +356,10 @@ export default {
true
);
},
//
closeRpShow(){
this.rpShow = false;
},
//
replyShow(cid, amid, items, name) {
let _this = this;

BIN
static/play.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Loading…
Cancel
Save