527 lines
19 KiB
Vue
527 lines
19 KiB
Vue
<template>
|
||
<view style="background-color: #F1F2F8;">
|
||
<tn-nav-bar :isBack="false" :bottomShadow="false" backgroundColor="#ffffff">
|
||
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
|
||
<view style="width: 100%;">
|
||
<view
|
||
style="text-align: center;font-size: 34rpx;color: #000000;letter-spacing: 1px;font-weight: bold;">
|
||
<text>青企圈</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</tn-nav-bar>
|
||
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}" style="padding-bottom: 10rpx;">
|
||
<view style="padding: 30rpx;" v-if="!none && quit==0">
|
||
<view style="background-color: #ffffff;border-radius: 20rpx;">
|
||
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between" style="padding: 30rpx;">
|
||
<view style="font-size: 34rpx;font-weight: bold;">我发布的</view>
|
||
<view>
|
||
<tn-button @click="tn('/pages/packageB/paper/add')" padding="25rpx 30rpx"
|
||
backgroundColor="rgba(48,86,211,0.1)" size="sm" fontColor="#3056D3" shape="round">
|
||
<text class="tn-icon-add"></text>
|
||
<text>发布</text>
|
||
</tn-button>
|
||
</view>
|
||
</view>
|
||
<scroll-view :scroll-x="true" style="padding:0rpx 30rpx;white-space: nowrap;width: 100%">
|
||
<view v-for="(item,index) in my_list"
|
||
style="width: 185rpx;;display: inline-block;text-align: center;background-color: #FFF;overflow: hidden;margin-right: 20rpx;">
|
||
<view style="position: relative;height: 185rpx;width: 185rpx;">
|
||
<image v-if="item.files.length>0" :src="apiImgUrl+item.files[0]" mode="aspectFill"
|
||
style="border-radius: 20rpx;width: 185rpx;height: 185rpx;position: absolute;left: 0;z-index: 1;">
|
||
</image>
|
||
<view v-if="item.files.length==0&&index != 0"
|
||
style="border-radius: 20rpx;width: 185rpx;height: 185rpx;background-color: rgba(24,24,24,0.3);display: inline-block;">
|
||
<text style="color: #FFFFFF;line-height: 185rpx;">暂无图片</text>
|
||
</view>
|
||
<view @click="tn('/pages/packageA/user/my_add')" v-if="index == 0"
|
||
style="border-radius: 20rpx;width: 185rpx;height: 185rpx;background: rgba(24,24,24,0.5);position: absolute;z-index: 1;">
|
||
<text style="color: #FFFFFF;line-height: 185rpx;">全部动态</text>
|
||
</view>
|
||
</view>
|
||
<view style="padding:10rpx;font-weight: 400;min-height: 100rpx;">
|
||
<view class="tn-text-ellipsis-2"
|
||
style="font-weight: 500;text-align: left;font-size: 28rpx">
|
||
<text>{{item.title}}</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</scroll-view>
|
||
</view>
|
||
<view style="background-color: #FFFFFF;margin-top: 20rpx;border-radius: 20rpx;">
|
||
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between" style="padding: 30rpx;">
|
||
<view style="font-size: 34rpx;font-weight: bold;">圈子动态</view>
|
||
</view>
|
||
<view v-for="(item,index) in list" style="padding:0rpx 30rpx;">
|
||
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between"
|
||
style="width: 100%;">
|
||
<view class="tn-flex tn-flex-center tn-flex-col-center" style="width: 100%;">
|
||
<view @click="tn('/pages/packageA/user/my_card?id='+item.member.id)">
|
||
<image v-if="item.member.photo_image==''||item.member.photo_image==null"
|
||
src="/static/def.png" style="width: 100rpx;height: 100rpx;border-radius: 50%;">
|
||
</image>
|
||
<image v-if="item.member.photo_image!=''&&item.member.photo_image!=null"
|
||
:src="apiImgUrl+item.member.photo_image"
|
||
style="width: 100rpx;height: 100rpx;border-radius: 50%;"></image>
|
||
</view>
|
||
<view style="margin-left: 10rpx;width: 100%;">
|
||
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between">
|
||
<view style="font-size: 30rpx;color: #181818;font-weight: bold;">
|
||
<text
|
||
style="vertical-align: middle;margin-right: 10rpx;">{{item.member.nikename}}</text>
|
||
</view>
|
||
<view>
|
||
<tn-button @click="tn('/pages/packageA/user/my_card?id='+item.member.id)"
|
||
padding="20rpx 20rpx" backgroundColor="rgba(48,86,211,0.1)" size="sm"
|
||
fontColor="#3056D3" shape="round">
|
||
<text style="font-size: 24rpx;">联系ta</text>
|
||
</tn-button>
|
||
</view>
|
||
</view>
|
||
<view class="tn-text-ellipsis"
|
||
style="width: 380rpx;font-size: 26rpx;color: #666666;font-weight: 500;margin-top: 5rpx;">
|
||
{{item.member.enterprise_name}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
</view>
|
||
<view @click="tn('/pages/packageB/paper/paper_info?id='+item.id)" class="tn-text-ellipsis-2"
|
||
style="font-size: 32rpx;font-weight: bold;margin-top: 20rpx;">
|
||
{{item.title}}
|
||
</view>
|
||
<view @click="tn('/pages/packageB/paper/paper_info?id='+item.id)" class="tn-text-ellipsis-2"
|
||
style="font-size: 28rpx;color: #666666;margin-top: 20rpx;">
|
||
{{item.content}}
|
||
</view>
|
||
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between"
|
||
style="margin-top: 20rpx;">
|
||
<view style="color: #AAAAAA;font-size: 24rpx;">
|
||
发布于:{{item.createtime}}
|
||
</view>
|
||
</view>
|
||
<view v-if="item.files.length>0" style="margin-top: 30rpx;">
|
||
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-wrap">
|
||
<view class="tn-flex-basic-xs" v-for="(img,img_i) in item.files"
|
||
style="text-align: center;">
|
||
<view style="padding-right: 10rpx;">
|
||
<image :src="apiImgUrl+img" @click="openImg(item,img_i)" mode="aspectFill"
|
||
style="width: 200rpx;height: 200rpx;border-radius:20rpx;">
|
||
</image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view style="margin-top: 20rpx;padding:30rpx;">
|
||
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between">
|
||
<view style="text-align: center;font-size: 28rpx;">
|
||
<button :data-item="item" hover-class="none" open-type="share">
|
||
<text class="tn-icon-send" style="font-size: 32rpx;"></text>
|
||
<text style="margin-left: 10rpx;">分享</text>
|
||
</button>
|
||
</view>
|
||
<view style="text-align: center;font-size: 28rpx;" @click="like(index)">
|
||
<text v-if="item.is_like==1" class="tn-icon-praise-fill tn-color-red"
|
||
style="font-size: 32rpx;"></text>
|
||
<text v-if="item.is_like==0" class="tn-icon-praise"
|
||
style="font-size: 32rpx;"></text>
|
||
<text style="margin-left: 10rpx;">{{item.like_num>0?item.like_num:'点赞'}}</text>
|
||
</view>
|
||
<view style="text-align: center;font-size: 28rpx;" @click="favs(index)">
|
||
<text v-if="item.is_fav==1" class="tn-icon-star-fill tn-color-orangeyellow"
|
||
style="font-size: 32rpx;"></text>
|
||
<text v-if="item.is_fav==0" class="tn-icon-star" style="font-size: 32rpx;"></text>
|
||
<text style="margin-left: 10rpx;">{{item.fav_num>0?item.fav_num:'收藏'}}</text>
|
||
</view>
|
||
<view style="text-align: center;font-size: 28rpx;">
|
||
<text class="tn-icon-comment" style="font-size: 32rpx;"></text>
|
||
<text
|
||
style="margin-left: 10rpx;">{{item.comment_num>0?item.comment_num:'评论'}}</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view v-if="index<list.length-1"
|
||
style="height: 1px;border-top: #BABDC7 1px dashed;margin: 20rpx 0rpx;"></view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view style="padding: 30rpx;" v-if="none || quit==1">
|
||
<view
|
||
style="background-color: #ffffff;border-radius: 20rpx;padding: 30rpx;text-align: center;font-size: 32rpx;font-weight: 600">
|
||
请入会后查看!
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<tn-modal v-model="sqMode" :custom="true">
|
||
<view>
|
||
<view style="text-align: center;color: #181818;font-size: 34rpx;font-weight: bold;">申请联系方式</view>
|
||
<view style="color: #777777;font-size: 28rpx;margin-top: 20rpx;">
|
||
点击确定按钮将发送联系方式的申请,等待对方同意后方可展示。且发送申请时,对方也将看到你的个人名片信息。
|
||
</view>
|
||
<view style="margin-top: 20rpx;">
|
||
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between" style="width: 100%;">
|
||
<view class="tn-flex tn-flex-center tn-flex-col-center" style="width: 100%;">
|
||
<view>
|
||
<image src="/static/def.png" style="width: 100rpx;height: 100rpx;border-radius: 50%;">
|
||
</image>
|
||
</view>
|
||
<view style="margin-left: 10rpx;width: 100%;">
|
||
<view style="font-size: 32rpx;color: #181818;font-weight: bold;">
|
||
<text style="vertical-align: middle;">石训</text>
|
||
<tn-tag size="sm" padding="0px 5px" margin="0 0 0 10rpx" width="auto" shape="radius"
|
||
backgroundColor="#F1F2F8" fontColor="#888888">135********
|
||
</tn-tag>
|
||
</view>
|
||
<view class="tn-text-ellipsis"
|
||
style="width: 380rpx;font-size: 26rpx;color: #666666;font-weight: 500;margin-top: 10rpx;">
|
||
好想你健康食品股份有限公司
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="tn-flex tn-flex-center tn-flex-row-between" style="margin-top: 40rpx;">
|
||
<view>
|
||
<tn-button @click="sqMode = false" width="250rpx" :plain="true" shape="round" size="lg"
|
||
backgroundColor="#BABDC7" fontColor="#999999">取消
|
||
</tn-button>
|
||
</view>
|
||
<view>
|
||
<tn-button width="250rpx" shape="round" margin="0rpx 0 0 30rpx" size="lg"
|
||
backgroundColor="#3056D3" fontColor="#ffffff">确定
|
||
</tn-button>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</tn-modal>
|
||
</view>
|
||
<!-- <view style="background-color: #ffffff;">
|
||
<tn-nav-bar :isBack="false" :bottomShadow="false" backgroundColor="#ffffff">
|
||
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
|
||
<view style="width: 100%;">
|
||
<view
|
||
style="text-align: center;font-size: 34rpx;color: #000000;letter-spacing: 1px;font-weight: bold;">
|
||
<text>规章制度</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</tn-nav-bar>
|
||
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}" style="padding-bottom: 10rpx;">
|
||
<view data-v-a2114eee=""
|
||
style="overflow-wrap: break-word; overflow: hidden;padding: 30rpx;line-height: 50rpx;">
|
||
<view style="text-align: start; text-indent: 2ch;">本会是河南省内的青年企业家自愿组成的全省性、联合性、非营利性社会团体。<br></view>
|
||
<view style="text-align: start;"><text style="font-weight: 600;">本会宗旨:</text></view>
|
||
<view style="text-align: start; text-indent: 2ch;">
|
||
坚持以习近平新时代中国特色社会主义思想为指导,深入学习贯彻党的十九大精神和习近平总书记调研指导河南时的重要讲话,全面落实习近平总书记关于青年工作的重要思想,围绕中心、服务党政工作大局,服务青年企业家成长发展,充分履行沟通交流、促进发展、维护权益等职责,引导青年企业家爱党、爱国、爱人民,为全面建成小康社会、奋力谱写新时代中原更加出彩新篇章贡献青春智慧和力量。
|
||
</view>
|
||
<view style="text-align: start; text-indent: 2ch;">
|
||
本会遵守宪法、法律、法规和国家政策,践行社会主义核心价值观,遵守社会道德风尚,不损害国家利益、社会公共利益以及其他组织和公民的合法权益。
|
||
</view>
|
||
<view style="text-align: start;"><text style="font-weight: 600;">轮值会长制度:</text></view>
|
||
<view style="text-align: start; text-indent: 2ch;">
|
||
本会实行会长办公会议制度。理事会闭会期间,由会长办公会议领导协会日常工作。会长办公会议由本会会长、常务副会长、副会长和秘书长组成,由会长或由会长委托一名副会长召集。根据需要,副秘书长可以列席会长办公会议。会长办公会议须经2/3以上组成人员出席方能召开,其决议须经到会人员2/3以上表决通过方为有效。会长办公会议原则上每半年至少召开一次,情况特殊的可采用通讯形式召开。
|
||
</view>
|
||
<view style="text-align: start;"><text style="font-weight: 600;">行业委员会制度:</text></view>
|
||
<view style="text-align: start;">本会设立行业委员会。</view>
|
||
<view style="text-align: start; text-indent: 2ch;">
|
||
行业委员会设主任1名,副主任若干名,人选由本会秘书长提名,会长办公会议决定。各行业委员会在行业范围内按入会条件积极推荐会员,推荐人选由本会秘书处审核,报会长办公会批准后入会,并自动进入该行业委员会。行业委员会围绕协会中心任务,依照本章程,根据会员需要开展工作。
|
||
</view>
|
||
<view style="text-align: start;"><text style="font-weight: 600;">财务管理制度:</text></view>
|
||
<view style="text-align: start; text-indent: 2ch;">
|
||
本会按照国家统一的会计制度确定财务制度、制定财务会计报告,健全内控机制,规范使用票据,接受财政部门的监督。财产来源于国家资助或社会捐赠、资助的,应当接受审计机关监督。
|
||
</view>
|
||
<view style="text-align: start;">本会财务收支全部纳入本会开立的银行账户,不使用其他组织或者个人的银行账户。</view>
|
||
<view style="text-align: start;">本会配备具有专业资格的会计人员。会计不得兼任出纳。会计人员调动工作或者离职时,必须与接管人员办清交接手续。</view>
|
||
<view style="text-align: start;">本会换届或更换法定代表人之前必须进行财务审计。</view>
|
||
<view style="text-align: start;">本会的全部资产及其增值为本会所有,任何单位、个人不得侵占、私分和挪用,也不得在会员中分配。</view>
|
||
</view>
|
||
</view>
|
||
|
||
</view> -->
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
tweetsList,
|
||
likeDo,
|
||
favsDo,
|
||
likeRevoke,
|
||
favsRevoke
|
||
} from '@/util/api.js';
|
||
import store from '@/store/index.js'
|
||
|
||
export default {
|
||
data() {
|
||
return {
|
||
topCurrent: 0,
|
||
list: [],
|
||
apiImgUrl: this.$store.state.imgUrl,
|
||
content: '',
|
||
sqMode: false,
|
||
page: 1,
|
||
none: false,
|
||
my_list: [],
|
||
quit: 0,
|
||
}
|
||
},
|
||
mounted() {
|
||
var quit = uni.getStorageSync('quit');
|
||
this.quit = quit;
|
||
this.getTweetsList();
|
||
this.getMyTweetsList();
|
||
},
|
||
methods: {
|
||
onload() {
|
||
var quit = uni.getStorageSync('quit');
|
||
this.quit = quit;
|
||
},
|
||
getMyTweetsList() {
|
||
tweetsList({
|
||
me: 1,
|
||
association_name: 1,
|
||
page: this.page,
|
||
state: 2,
|
||
size: 10
|
||
})
|
||
.then(res => {
|
||
console.log(res);
|
||
if (res.code == 1) {
|
||
this.my_list = res.data;
|
||
}
|
||
})
|
||
.catch(error => {
|
||
uni.showToast({
|
||
title: error,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
})
|
||
},
|
||
ReachBottom() {
|
||
console.log('home');
|
||
this.page = this.page + 1;
|
||
this.getTweetsList();
|
||
},
|
||
openImg(item, index) {
|
||
console.log(index);
|
||
console.log(item.files);
|
||
var img = item.files;
|
||
var apiImgUrl = this.apiImgUrl;
|
||
const updatedImagePaths = img.map(path => `${apiImgUrl}${path}`);
|
||
console.log(updatedImagePaths);
|
||
uni.previewImage({
|
||
current: index,
|
||
urls: updatedImagePaths,
|
||
});
|
||
},
|
||
switchTabbar(d) {
|
||
console.log(d);
|
||
store.commit('$tStore', {
|
||
name: 'Gid',
|
||
value: d.id
|
||
})
|
||
uni.setStorageSync('Gid', d.id);
|
||
uni.$emit('getGid', {
|
||
gid: d.id
|
||
})
|
||
uni.$emit('depId', {
|
||
index: 0
|
||
})
|
||
},
|
||
onsubmit() {
|
||
this.page = 1;
|
||
this.list = [];
|
||
this.getAssociationIndex();
|
||
},
|
||
getTweetsList() {
|
||
tweetsList({
|
||
association_name: 1,
|
||
page: this.page,
|
||
size: 10
|
||
})
|
||
.then(res => {
|
||
console.log(res);
|
||
if (res.code == 1) {
|
||
this.none = false;
|
||
this.list.push(...res.data);
|
||
} else {
|
||
this.none = true;
|
||
}
|
||
})
|
||
.catch(error => {
|
||
uni.showToast({
|
||
title: error,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
})
|
||
},
|
||
|
||
like(index) {
|
||
var uid = uni.getStorageSync('uid');
|
||
if (!uid) {
|
||
uni.showToast({
|
||
title: '请先登录',
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
return;
|
||
}
|
||
var info = this.list[index];
|
||
if (info.is_like == 0) {
|
||
likeDo({
|
||
member_id: uid,
|
||
related_id: info.id,
|
||
related_type: 'tweets',
|
||
member_b_id: info.member_id,
|
||
})
|
||
.then(res => {
|
||
console.log(res);
|
||
uni.showToast({
|
||
title: '赞成功!',
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
this.list[index].is_like = 1;
|
||
})
|
||
.catch(error => {
|
||
uni.showToast({
|
||
title: error,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
})
|
||
} else {
|
||
likeRevoke({
|
||
member_id: uid,
|
||
related_id: info.id,
|
||
related_type: 'tweets',
|
||
member_b_id: info.member_id,
|
||
})
|
||
.then(res => {
|
||
console.log(res);
|
||
uni.showToast({
|
||
title: '取消成功!',
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
this.list[index].is_like = 0;
|
||
})
|
||
.catch(error => {
|
||
uni.showToast({
|
||
title: error,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
})
|
||
}
|
||
|
||
},
|
||
favs(index) {
|
||
var uid = uni.getStorageSync('uid');
|
||
if (!uid) {
|
||
uni.showToast({
|
||
title: '请先登录',
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
return;
|
||
}
|
||
var info = this.list[index];
|
||
console.log(info);
|
||
if (info.is_fav == 0) {
|
||
favsDo({
|
||
member_id: uid,
|
||
related_id: info.id,
|
||
related_type: 'tweets',
|
||
member_b_id: info.member_id,
|
||
})
|
||
.then(res => {
|
||
console.log(res);
|
||
uni.showToast({
|
||
title: '收藏成功!',
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
this.list[index].is_fav = 1;
|
||
})
|
||
.catch(error => {
|
||
uni.showToast({
|
||
title: error,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
})
|
||
} else {
|
||
favsRevoke({
|
||
member_id: uid,
|
||
related_id: info.id,
|
||
related_type: 'tweets',
|
||
member_b_id: info.member_id,
|
||
})
|
||
.then(res => {
|
||
console.log(res);
|
||
uni.showToast({
|
||
title: '取消收藏成功!',
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
this.list[index].is_fav = 0;
|
||
})
|
||
.catch(error => {
|
||
uni.showToast({
|
||
title: error,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
})
|
||
}
|
||
|
||
},
|
||
tn(e) {
|
||
uni.navigateTo({
|
||
url: e
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
.triangle {
|
||
width: 0;
|
||
height: 0;
|
||
border-top: 20rpx solid #13C296;
|
||
border-right: 20rpx solid transparent;
|
||
border-left: 20rpx solid transparent;
|
||
position: absolute;
|
||
left: 0;
|
||
right: 0;
|
||
margin: 0 auto;
|
||
bottom: -12rpx;
|
||
z-index: 100;
|
||
}
|
||
|
||
button::after {
|
||
border: none;
|
||
}
|
||
|
||
button {
|
||
position: relative;
|
||
display: block;
|
||
margin-left: auto;
|
||
margin-right: auto;
|
||
padding-left: 0px;
|
||
padding-right: 0px;
|
||
box-sizing: border-box;
|
||
text-align: center;
|
||
text-decoration: none;
|
||
line-height: 1.35;
|
||
-webkit-tap-highlight-color: transparent;
|
||
overflow: hidden;
|
||
background-color: transparent;
|
||
font-size: 28rpx;
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
</style> |