Files
dvcp_v2_wechat_app/src/project/sanjianxi/AppApplyPoint/AppApplyPoint.vue
liuye 8306e1d5fe bug
2022-07-01 08:51:25 +08:00

185 lines
4.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="wrapper">
<div class="fixed">
<p><span>积分申请</span>通过民主程序将基层治理和服务各项事务转化为数量化指标对个人日常行为进行评价申请积分需管理员审核通过后系统自动发放积分</p>
</div>
<div class="list">
<div class="item" v-for="(item, index) in list" :key="index" @click="toAdd(item)">
<div class="left">
<h2>{{item.eventName}}</h2>
<p>{{item.eventDesc}}</p>
</div>
<div class="right">
<h2 class="color-E6736E">
<span v-if="item.ruleType == 0">{{item.integral}}</span>
<span v-if="item.ruleType == 1">{{item.ladderRule[0].integral}}
<span v-if="item.ladderRule[1]">-{{item.ladderRule[1].integral}}</span>
</span>
<span v-if="item.ruleType == 2">{{item.integralMin}}{{item.integralMax}}</span>
<u-icon name="arrow-right" color="#ddd" size="24" style="margin-left: 4px" ></u-icon>
</h2>
</div>
</div>
<AiEmpty v-if="!list.length"/>
</div>
<div class="footer" @click="linkTo(`./list`)">
<div class="btn">申请记录</div>
</div>
</div>
</template>
<script>
import {mapState} from 'vuex';
export default {
name: "AppApplyPoint",
appName: "党员积分申报",
computed: {
...mapState(['user']),
},
data() {
return {
current: 1,
pages: 2,
list: []
};
},
onLoad() {
uni.setNavigationBarColor({
frontColor: "#ffffff",
backgroundColor: "#E76056",
})
this.getList()
},
methods: {
toAdd(row) {
this.$instance.post(`/app/apppartyintegralrule/integralApply?integralId=${row.id}&partyId=${this.user.partyId}`).then(res => {
if (res.code == 0) {
uni.navigateTo({url: `./add?integralRuleId=${row.id}&integralRuleName=${row.eventName}`})
}else {
this.$u.toast(res.msg)
}
}).catch((err) => {
this.$u.toast(err)
})
},
getList() {
if(this.current > this.pages) return
this.$instance.post(`/app/apppartyintegralrule/list?classify=0&size=20&current=${this.current}`).then(res => {
if (res.code == 0) {
this.pages = res.data.pages
res.data.records.map((item) => {
if(item.ladderRule) {
item.ladderRule = JSON.parse(item.ladderRule)
}
})
if (this.current > 1) {
this.list = [...this.list, ...res.data.records]
} else {
this.list = res.data.records
}
}
})
},
linkTo(url) {
uni.navigateTo({url})
}
},
onReachBottom() {
this.current ++
this.getList()
}
};
</script>
<style lang="scss" scope>
@import "~dvcp-wui/common";
.fixed{
position: fixed;
top: 0;
left: 0;
background-color: #FCEFEE;
width: 100%;
height: 172px;
padding: 32px;
box-sizing: border-box;
p{
font-size: 26px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #E76056;
line-height: 36px;
span{
font-weight: 600;
}
}
}
.list{
padding: 172px 0 120px 0;
.item{
padding: 32px;
border-bottom: 1px solid #ddd;
display: flex;
justify-content: space-between;
background-color: #fff;
h2{
font-size: 32px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333;
line-height: 44px;
margin-bottom: 8px;
}
p{
font-size: 26px;
font-family: PingFangSC-Regular, PingFang SC;
color: #999;
line-height: 36px;
overflow: hidden;
overflow-wrap: break-word;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.left{
width: 480px;
}
.right{
width: calc(100% - 480px);
text-align: right;
h2{
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
}
}
.color-E6736E{
color: #E6736E;
}
.color-F0A046{
color: #F0A046;
}
}
}
.footer{
position: fixed;
bottom: 0;
left: 0;
width: 100%;
padding: 16px 32px;
background-color: #f3f6f9;
z-index: 99;
.btn{
width: 686px;
height: 88px;
line-height: 88px;
text-align: center;
background: #E76056;
border-radius: 16px;
font-size: 34px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFF;
}
}
</style>