|
|
- <template>
- <view class="releaseRecord">
- <!--顶部导航栏-->
- <navbar leftClick @leftClick="$utils.navigateBack" title="我的发布" />
-
- <!--主页面-->
- <view class="frame">
- <!--标题-->
- <view class="title">
- <span>我的发布</span>
- </view>
- <!--标签栏-->
- <view class="tabbar">
- <view class="" @click="tabChange(0)">
- <span :class="checkedIndex==0 ? 'tabbarItemActive' : 'tabbarItemNoActive'">全部</span>
- </view>
- <view class="" @click="tabChange(1)">
- <span :class="checkedIndex==1 ? 'tabbarItemActive' : 'tabbarItemNoActive'">贴子</span>
- </view>
- <view class="" @click="tabChange(2)">
- <span :class="checkedIndex==2 ? 'tabbarItemActive' : 'tabbarItemNoActive'">名片</span>
- </view>
- </view>
- <!--发布列表-->
- <view style="" class="publishListClass">
- <ReleaseList :list="recordsList" ref="releaseList" />
- </view>
- </view>
- </view>
- </template>
-
- <script>
- import ReleaseList from "./sonPage/release/releaseList.vue";
- import {
- mapState
- } from 'vuex'
-
- export default {
- name: "releaseRecord",
- components: {
- ReleaseList
- },
- data() {
- return {
- recordsList: [],
- total: 0,
- checkedIndex: 0,
- queryParams: {
- pageNo: 1,
- pageSize: 10,
- },
-
- };
- },
- mounted() {
- this.getData()
- },
- onReachBottom() {
- console.log("===我的发布页面到底部了,开始加载数据===")
- let allTotal = this.queryParams.pageNo * this.queryParams.pageSize
- if (allTotal < this.total) {
- //当前条数小于总条数 则增加请求数
- this.queryParams.pageSize += 10
- this.getData() //调用加载数据方法
- }
- },
- computed: {
- ...mapState(['userInfo']),
- },
- onShow() {
- // 检查是否登录
- // this.$refs.showLogin.checkLogin()
- // 获取用户个人信息
- this.$store.commit('getUserInfo')
- },
- methods: {
- getData() {
- this.$api('infoGetMyReleasePage', {
- pageNo: this.queryParams.pageNo,
- pageSize: this.queryParams.pageSize,
- // 缺少type参数,需要补充
- state: this.checkedIndex
- }, res => {
- if (res.code == 200) {
- this.recordsList = res.result.records
- this.total = res.result.total
- console.log(res.result, "发布列表")
- }
- })
- },
-
- // 标签栏发生变化
- tabChange(type) {
- this.checkedIndex = type
- this.queryParams.pageNo = 1
- this.queryParams.pageSize = 10
- this.getData()
- },
- }
- }
- </script>
-
- <style lang="scss" scoped>
- * {
- box-sizing: border-box;
- margin: 0;
- padding: 0;
- }
-
- .releaseRecord {
- width: 100vw;
- height: 100vh;
-
- .frame {
- width: 100%;
- //height: calc(100vh - 220rpx);
- padding: 28rpx 28rpx 0 28rpx;
-
- .title {
- font-size: 34rpx;
- color: #333;
- font-weight: 700
- }
-
- .tabbar {
- display: flex;
- justify-content: flex-start;
- gap: 20rpx;
- margin-top: 40rpx;
-
- .tabbarItemActive {
- padding: 10rpx 40rpx;
- background: $uni-linear-gradient-color;
- -webkit-background-clip: text;
- /*将设置的背景颜色限制在文字中*/
- -webkit-text-fill-color: transparent;
- /*给文字设置成透明*/
- border-radius: 20rpx;
- }
-
- .tabbarItemNoActive {
- padding: 10rpx 40rpx;
- background-color: #eaeaeb;
- color: #777777;
- border-radius: 20rpx;
- }
- }
-
-
- .publishListClass {
- //margin-top: 10rpx;
- //height: 78vh;
- //margin-top: 300rpx;
- overflow: auto;
- width: 100%;
- }
- }
- }
- </style>
|