<template>
|
<!-- 列表页面 -->
|
<view>
|
|
<!-- 查询条件 -->
|
<view class="component-filter-container m-t-12 flex">
|
<view class="flex1 w-fit m-l-a m-r-0" @click="show_time_picker_time=true"
|
:class="[query.recordDateStart?'':'desc-gray']">
|
<!-- {{query.recordDateStart&&( (query.recordDateStart||'') + ' ~ ' + (query.recordDateEnd || '')) || '请选择日期'}} -->
|
{{query.recordDateStart || '请选择日期'}}
|
<image src="@/static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
|
</view>
|
<view class="flex1 w-fit m-l-a m-r-0" @click.stop="$refs.popup_level.open()">
|
{{ query.typeStr || '积分类型' }}
|
<image src="@/static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
|
</view>
|
<view class="flex1 w-fit m-l-a m-r-0" @click.stop="()=>{
|
query.typeStr = ''
|
query.type = ''
|
query.recordDateStart = ''
|
query.recordDateEnd = ''
|
refreshList()
|
}">
|
重置
|
</view>
|
</view>
|
<view class="p15" style="min-height: calc(100vh - 260rpx);">
|
<no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
|
<view v-for="(item,index) in list" :key="index" class="m-b-24">
|
<view @click.stop="toDetail(item)" class="notice-item">
|
<view v-if="item.typeStr" class="type">{{item.typeStr||'-'}}</view>
|
<view class="time">{{item.recordDate || ''}}</view>
|
<view class="form-item">
|
<view class="form-item-label">变更类型</view>
|
<view class="form-item-value">{{item.changeTypeStr || ''}}</view>
|
</view>
|
<view class="form-item">
|
<view class="form-item-label">积分</view>
|
<view class="form-item-value">{{item.point || ''}}</view>
|
</view>
|
<view class="form-item">
|
<view class="form-item-label" style="min-width: 80rpx;">备注</view>
|
<view class="form-item-value" style="word-break: break-word;">{{item.remarks || ''}}</view>
|
</view>
|
</view>
|
</view>
|
</view>
|
|
|
<!-- 判断是否到底了,自动吧 -->
|
<footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
|
|
<u-calendar :show="show_time_picker_time" mode="single" @confirm="select_time_picker_time" :monthNum="3"
|
@cancel="show_time_picker_time = false" rowHeight="100" @close="show_time_picker_time = false"
|
minDate="2024-07-01" :maxDate="maxDate" toolTip="选择日期">
|
</u-calendar>
|
|
<uni-popup ref="popup_level" type="bottom">
|
<view class="component-popup_input_all">
|
<view class="text-center m-b-40" style="font-size: 48rpx;font-weight: 600;">点击选择不同类型</view>
|
<view v-for="(item,i) in type_columns" :key="i" class="m-t-20">
|
<view class="m-t-12 flex value-items">
|
<view class="value-item" @click="()=>{
|
if(each.value!==query.value){
|
query.type = each.value
|
query.typeStr = each.label
|
refreshList()
|
$refs.popup_level.close()
|
}
|
}" :class="[query.type==each.value?'cur':'']" v-for="(each, j) in item" :key="j">
|
{{ each.label || '-' }}
|
</view>
|
</view>
|
</view>
|
<view class="button-space"></view>
|
<view>
|
<view class="button-green" @click="$refs.popup_level.close()">关闭
|
</view>
|
</view>
|
</view>
|
</uni-popup>
|
</view>
|
</template>
|
|
<script>
|
export default {
|
data() {
|
return {
|
query: {
|
// status: ''
|
recordDateStart: '',
|
recordDateEnd: '',
|
type: '',
|
typeStr: '',
|
},
|
show_time_picker_time: false,
|
maxDate: '',
|
type_columns: [],
|
}
|
},
|
onLoad() {
|
this.maxDate = this.$util.toDate(new Date())
|
this.$http.request('get', '/api/code/value', {
|
params: {
|
type: 'point_type'
|
}
|
}).then(res => {
|
var data = res.data
|
this.type_columns = [data || []]
|
this.type_columns[0].unshift({
|
label: '全部',
|
value: ''
|
})
|
})
|
this.listApi = '/api/customer/point/list'
|
|
this.getList()
|
|
},
|
onReachBottom() {
|
this.getMore()
|
},
|
async onPullDownRefresh() {
|
this.page.current = 1
|
await this.getList()
|
uni.stopPullDownRefresh()
|
},
|
methods: {
|
select_time_picker_time(e) {
|
console.log('select_time_picker_time', e)
|
if (e && e.length > 0) {
|
this.query.recordDateStart = e[0]
|
this.query.recordDateEnd = e[e.length - 1]
|
this.show_time_picker_time = false
|
} else {
|
this.query.recordDateStart = ''
|
this.query.recordDateEnd = ''
|
this.show_time_picker_time = false
|
}
|
this.refreshList()
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.notice-item {
|
padding: 20rpx;
|
font-size: 28rpx;
|
background-color: #fff;
|
|
.type {
|
font-weight: 600;
|
|
}
|
|
.time {
|
font-size: 24rpx;
|
color: darkgray;
|
}
|
|
.form-item {
|
display: flex;
|
|
.form-item-label {}
|
|
.form-item-value {
|
flex: 1;
|
text-align: right;
|
}
|
}
|
}
|
</style>
|