|
|
- <template>
- <view class="promotionRecord">
- <!--顶部导航栏-->
- <navbar leftClick @leftClick="$utils.navigateBack" title="我的推广" />
-
- <!--主页面-->
- <view class="frame">
- <!--标题-->
- <view class="title">
- <span>推广记录</span>
- </view>
-
- <!--搜索条件-->
- <view class="search">
- <!--搜索框-->
- <view style="width:30%;height:100%">
- <uv-input v-model="queryParams.keyWord" placeholder="请输入内容" border="surround" clearable
- @change="keyWordChange"></uv-input>
- </view>
- <!--开始时间-->
- <view class="dateTimeCls">
- <view class="date" @click="startDateOpen">
- {{ queryParams.startDate }}
- <uv-datetime-picker ref="startDateRef" v-model="queryParams.startDate" mode="date"
- @confirm="startDateChange"></uv-datetime-picker>
- </view>
- <view class="image">
- <image src="../static/promotionRecord/2.svg" style="width: 100%;height: 100%"></image>
- </view>
- </view>
- <!--结束时间-->
- <view class="dateTimeCls">
- <view class="date" @click="endDateOpen">
- {{ queryParams.endDate }}
- <uv-datetime-picker ref="endDateRef" v-model="queryParams.endDate" mode="date"
- @confirm="endDateChange">
- </uv-datetime-picker>
- </view>
- <view class="image">
- <image src="../static/promotionRecord/2.svg" style="width: 100%;height: 100%"></image>
- </view>
- </view>
- </view>
- <!--发布列表-->
- <view style="" class="publishListClass">
- <PromotionRecordList :list="promotionRecordList" />
- </view>
- </view>
- </view>
- </template>
-
- <script>
- import PromotionRecordList from "./sonPage/promotion/promotionRecordList.vue";
- import dayjs from "dayjs";
-
- export default {
- components: {
- PromotionRecordList
- },
- data() {
- return {
- promotionRecordList: [],
- queryParams: {
- pageNo: 1,
- pageSize: 10,
- startDate: dayjs(new Date()).format('YYYY-MM-DD'),
- endDate: dayjs(new Date()).format('YYYY-MM-DD'),
- keyWord: '',
- },
- }
- },
- onReachBottom() {
- console.log("=====")
- let allTotal = this.queryParams.pageNo * this.queryParams.pageSize
- if (allTotal < this.total) {
- //当前条数小于总条数 则增加请求数
- this.queryParams.pageSize += 10
- this.getData() //调用加载数据方法
- }
- },
- mounted() {
- console.log("====")
- this.getData()
- },
- methods: {
-
- getData() {
- this.$api('infoGetPromotionPage', {
- pageNo: this.queryParams.pageNo,
- pageSize: this.queryParams.pageSize,
- startDate: this.queryParams.startDate,
- endDate: this.queryParams.endDate,
- keyWord: this.queryParams.keyWord
- }, res => {
- if (res.code == 200) {
- this.promotionRecordList = res.result.records
- this.total = res.result.total
- }
- })
- },
- keyWordChange(val) {
- this.queryParams.keyWord = val
- this.getData()
- },
-
- startDateChange(val) {
- this.$nextTick(() => {
- this.queryParams.startDate = dayjs(val.value).format("YYYY-MM-DD")
- this.getData()
- });
- },
- startDateOpen() {
- this.$refs.startDateRef.open();
- },
- endDateChange(val) {
- this.$nextTick(() => {
- this.queryParams.endDate = dayjs(val.value).format("YYYY-MM-DD")
- this.getData()
- });
- },
- endDateOpen() {
- this.$refs.endDateRef.open();
- },
- }
-
- }
- </script>
-
- <style lang="scss" scoped>
- * {
- box-sizing: border-box;
- margin: 0;
- padding: 0;
- }
-
- .promotionRecord {
- 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
- }
-
- .search {
- display: flex;
- align-items: center;
- gap: 10rpx;
- width: 100%;
- height: 80rpx;
- margin-top: 20rpx;
-
-
- .dateTimeCls {
- display: flex;
- align-items: center;
- justify-content: space-between;
- width: 30%;
- height: 80%;
- border: 1px solid #b0b2b3;
- padding: 5rpx;
- border-radius: 20rpx;
-
- .date {
- font-size: 25rpx;
- display: flex;
- align-items: center;
- width: 80%;
- height: 100%;
- color: #b0b2b3;
-
- }
-
- .image {
- width: 20%;
- height: 100%;
- }
- }
- }
-
-
- .publishListClass {
- margin-top: 10rpx;
- height: 78vh;
- overflow: auto;
- width: 100%;
- }
- }
- }
- </style>
|