260 lines
7.1 KiB
Vue
Raw Permalink Normal View History

2024-07-30 18:16:46 +08:00
<template>
<view style="background: #F1F2F8;min-height: 100vh;" v-cloak>
<tn-nav-bar :isBack="false" backTitle="" :bottomShadow="false" backgroundColor="#FFFFFF">
<view class="custom-nav tn-flex tn-flex-col-center tn-flex-row-left">
<view style="padding-left: 15rpx;" @click="goBack()">
<text class="tn-icon-left" style="font-size: 40rpx;"></text>
</view>
<view style="width: 83%;font-weight: bold;">
<text>我的发布</text>
</view>
</view>
</tn-nav-bar>
<view :style="{paddingTop: vuex_custom_bar_height + 'px'}" style="padding-bottom: 10rpx;">
<view style="background-color: #FFFFFF;">
<tn-tabs :list="tab_list" :current="current" :isScroll="false" name="name" activeColor="#000000"
inactiveColor="#E6E6E6" :barWidth="25" @change="change"></tn-tabs>
</view>
<view style="padding: 30rpx;">
<view style="background-color: #FFFFFF;border-radius: 20rpx;">
<view v-for="(item,index) in list">
<view v-if="current==1"
style="padding-left: 20rpx;border-radius: 20rpx 20rpx 0rpx 0rpx;color: #FF6D66;background: rgba(255,109,102,0.1);height: 100rpx;line-height: 100rpx">
拒绝原因{{item.remark}}</view>
<view style="padding:30rpx;">
2025-03-21 16:50:18 +08:00
<view class="tn-text-ellipsis-2" @click="tn('/pages/packageB/paper/paper_info?id='+item.id)"
2024-07-30 18:16:46 +08:00
style="font-size: 32rpx;font-weight: bold;margin-top: 20rpx;">
{{item.title}}
</view>
2025-03-21 16:50:18 +08:00
<view class="tn-text-ellipsis-2" style="font-size: 28rpx;color: #666666;margin-top: 20rpx;"
@click="tn('/pages/packageB/paper/paper_info?id='+item.id)">
2024-07-30 18:16:46 +08:00
{{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;">
2025-03-21 16:50:18 +08:00
<image :src="apiImgUrl+img" @click="openImg(item,img_i)" mode="aspectFill"
2024-07-30 18:16:46 +08:00
style="width: 200rpx;height: 200rpx;border-radius:20rpx;">
</image>
</view>
</view>
</view>
</view>
2025-03-21 16:50:18 +08:00
<!-- <view style="margin-top: 30rpx;padding:30rpx;">
2024-07-30 18:16:46 +08:00
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between">
<view style="text-align: center;font-size: 28rpx;">
<text class="tn-icon-send" style="font-size: 32rpx;"></text>
<text style="margin-left: 10rpx;">分享</text>
</view>
<view style="text-align: center;font-size: 28rpx;">
<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;">
<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;">评论</text>
</view>
</view>
2025-03-21 16:50:18 +08:00
</view> -->
2024-07-30 18:16:46 +08:00
<view @click="del(item)" style="text-align: right;font-size: 24rpx;color: #AAAAAA">删除
</view>
</view>
<view v-if="index<list.length-1" style="height: 1px;border-top: #BABDC7 1px dashed;"></view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {
tweetsList,
tweetsDel
} from '@/util/api.js';
import store from '@/store/index.js'
export default {
data() {
return {
list: [],
apiImgUrl: this.$store.state.imgUrl,
current: 0,
2025-03-21 16:50:18 +08:00
type:2,
2024-07-30 18:16:46 +08:00
tab_list: [{
2025-03-21 16:50:18 +08:00
name: '发布成功',
type:2
},{
name: '审核中',
type:1,
2024-07-30 18:16:46 +08:00
}, {
2025-03-21 16:50:18 +08:00
name: '发布失败',
type:3,
2024-07-30 18:16:46 +08:00
}],
page: 1,
}
},
mounted() {
this.getTweetsList();
},
methods: {
del(item) {
var that = this;
uni.showModal({
title: '提示',
content: '确定要删除吗?',
success: function(res) {
if (res.confirm) {
that.delShow(item);
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
delShow(item) {
tweetsDel({
id: item.id
})
.then(res => {
console.log(res);
if (res.code == 1) {
uni.showToast({
title: '删除成功!',
icon: 'none',
duration: 2000
});
this.page = 1;
this.list = [];
this.getTweetsList();
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
change(index) {
this.current = index;
2025-03-21 16:50:18 +08:00
this.type=this.tab_list[this.current].type;
2024-07-30 18:16:46 +08:00
this.page = 1;
this.list = [];
this.getTweetsList();
},
openImg(item, index) {
console.log(index);
console.log(item.files);
2025-03-21 16:50:18 +08:00
var img = item.files;
var apiImgUrl = this.apiImgUrl;
const updatedImagePaths = img.map(path => `${apiImgUrl}${path}`);
console.log(updatedImagePaths);
2024-07-30 18:16:46 +08:00
uni.previewImage({
current: index,
2025-03-21 16:50:18 +08:00
urls: updatedImagePaths,
2024-07-30 18:16:46 +08:00
});
},
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({
me: 1,
association_name: 1,
page: this.page,
2025-03-21 16:50:18 +08:00
state: this.type,
2024-07-30 18:16:46 +08:00
size: 10
})
.then(res => {
console.log(res);
if (res.code == 1) {
2025-03-21 16:50:18 +08:00
this.list.push(...res.data);
2024-07-30 18:16:46 +08:00
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
tn(e) {
uni.navigateTo({
url: e
})
},
goBack() {
if (getCurrentPages().length > 1) {
uni.navigateBack()
} else {
uni.redirectTo({
url: '/pages/index/index'
})
}
}
}
}
</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;
}
</style>