Files
dvcp_v2_wxcp_app/library/apps/AppPartyPoints/AppPartyPoints.vue
2024-10-31 14:34:57 +08:00

154 lines
3.3 KiB
Vue

<template>
<div class="AppPartyPoints">
<AiTopFixed>
<u-search placeholder="搜索党员" :show-action="false" search-icon-color="#ccc" v-model="partyName"
@search="getListInit()" @clear="getListInit()" />
</AiTopFixed>
<div class="list-content" v-if="list.length">
<div class="item" v-for="(item, index) in list" :key="index">
<div class="left">
<p>{{item.partyName}}:{{item.remark}}</p>
<div>{{item.createTime}}</div>
</div>
<div class="right" :class="`status${item.integralType}`">{{item.integralType == 1 ? '+' : '-'}}{{item.integral}}</div>
</div>
</div>
<AiEmpty v-else></AiEmpty>
<div class="height-144"></div>
<div class="footer" @click="toAdd">
<div class="btn">积分调整</div>
</div>
</div>
</template>
<script>
import {mapState} from "vuex";
export default {
name: 'AppPartyPoints',
appName: '党员积分',
data() {
return {
partyName: '',
current: 1,
list: []
}
},
computed: {
...mapState(['user']),
},
onLoad() {
this.getList()
uni.$on('reload', () => {
this.getListInit()
})
},
onShow() {
document.title = '党员积分'
},
methods: {
getList() {
this.$http.post('/app/apppartyintegralinfo/list', null, {
params: {
size: 20,
current: this.current,
partyName: this.partyName
},
})
.then((res) => {
if (res.code == 0) {
this.list = this.current > 1 ? [...this.list, ...res.data.records] : res.data.records
}
})
},
getListInit() {
this.current = 1
this.datas = []
this.getList()
},
toAdd() {
uni.navigateTo({url: './Add'})
},
},
onReachBottom() {
this.current = this.current + 1
this.getList()
},
}
</script>
<style lang="scss" scoped>
.AppPartyPoints {
min-height: 100%;
::v-deep .AiTopFixed .u-search {
margin-bottom: 0 !important;
}
.list-content{
padding: 4px 48px 16px;
background-color: #fff;
.item{
width: 100%;
padding: 34px 0 32px 0;
display: flex;
justify-content: space-between;
border-bottom: 1px solid #ddd;
.left{
width: 500px;
p{
font-size: 32px;
font-family: PingFangSC-Regular, PingFang SC;
color: #333;
line-height: 44px;
word-break: break-all;
margin-bottom: 8px;
}
div{
font-size: 24px;
font-family: PingFangSC-Regular, PingFang SC;
color: #999;
line-height: 34px;
}
}
.right{
width: calc(100% - 500px);
font-size: 36px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
line-height: 50px;
text-align: right;
}
.status1{
color: #2C51CE;
}
.status0{
color: #E6736E;
}
}
}
.height-144{
height: 144px;
}
.footer {
width: 100%;
position: fixed;
bottom: 0;
left: 0;
}
.btn {
width: 100%;
height: 112px;
line-height: 112px;
text-align: center;
background: #3975C6;
font-size: 32px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #fff;
}
}
</style>