first commit

This commit is contained in:
2026-01-08 14:58:16 +08:00
commit 556e5d64aa
9575 changed files with 1621095 additions and 0 deletions
@@ -0,0 +1,149 @@
<!--#
layout("/layouts/platform_h5.html"){
#-->
<style>
.bgcolor-white {
background: #ffffff;
}
.table-list .table-card {
margin: 10px;
background: #fff;
padding: 8px;
border-bottom: 1px #ebedf0 solid;
position: relative;
border-radius: 0 !important;
}
.table-list .table-card:nth-of-type(1) {
margin: 0 10px 10px 10px;
padding-top: 10px;
}
.flex-card {
display: flex;
align-items: center;
justify-content: space-between;
}
.left {
font-size: 14px;
width: 50%;
}
.right {
text-align: right;
}
.increase {
font-weight: bold;
color: red;
}
.decrease {
font-weight: bold;
}
.time {
color: grey;
font-size: 13px;
margin-top: 2px;
}
</style>
<div id="app" v-cloak>
<van-sticky>
<van-nav-bar title="我的积分" @click-left="historyBack" left-arrow left-text="返回" placeholder fixed></van-nav-bar>
<van-dropdown-menu>
<van-dropdown-item v-model="pageForm.changeType" :options="changeTypeOptions" @change="doSearch"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.state" :options="stateOptions" @change="doSearch"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.integralOrigin" :options="integralOriginOptions" @change="doSearch"></van-dropdown-item>
</van-dropdown-menu>
</van-sticky>
<div class="bgcolor-white">
<van-list v-if="tableData.length>0" v-model="tableLoading" :finished="tableFinished" finished-text="没有更多了" @load="onLoad">
<div class="table-list">
<div class="table-card flex-card" v-for="row in tableData" :key="row.id">
<div class="left">
<van-icon name="points" size="16" style="top: 1px"></van-icon>
{{ row.remark ? row.remark : row.integralOrigin }}
</div>
<div class="right">
<div :class="row.changeValue > 0 ? 'increase' : 'decrease'">{{ (row.changeValue > 0 ? '+' : '') + row.changeValue }}</div>
<div class="time">{{ row.changeTime }}</div>
</div>
</div>
</div>
</van-list>
<van-empty v-else image="/assets/platform/plugins/vant-green/images/nodata/nodata.png" description="暂无数据"></van-empty>
</div>
</div>
<script nonce="${cspNonce!}">
const vue = new Vue({
el: "#app",
store,
components: {},
data() {
return {
totalIntegral: 0,
pageForm: {
pageNumber: 1,
pageSize: 10,
totalCount: 0,
searchKeyword: ""
},
tableData: [],
tableLoading: false,
tableFinished: false,
changeTypeOptions: [],
stateOptions: [],
integralOriginOptions: []
}
},
methods: {
historyBack,
doSearch() {
this.pageForm.pageNumber = 1
this.pageForm.totalCount = 0
this.tableData = []
this.onLoad()
},
onLoad() {
this.tableLoading = true
this.$axios.post("/platform/integral/records/pageData", this.pageForm).then((resp) => {
this.tableData = this.tableData.concat(resp.data.list)
this.pageForm.totalCount = resp.data.totalCount
if (this.tableData.length >= this.pageForm.totalCount) {
this.tableFinished = true
} else {
this.pageForm.pageNumber++
}
this.tableLoading = false
})
}
},
created() {
this.totalIntegral = this.$store.state.user.totalIntegral
this.$businessTool.getDictOptions("INTEGRAL_CHANGE_TYPE").then((data) => {
data.forEach((item) => {
this.changeTypeOptions.push({ text: item.name, value: item.code })
})
this.changeTypeOptions.unshift({ text: "全部变动类型" })
})
this.$businessTool.getDictOptions("INTEGRAL_STATE").then((data) => {
data.forEach((item) => {
this.stateOptions.push({ text: item.name, value: item.code })
})
this.stateOptions.unshift({ text: "全部积分状态" })
})
this.$businessTool.getDictOptions("INTEGRAL_ORIGIN").then((data) => {
data.forEach((item) => {
this.integralOriginOptions.push({ text: item.name, value: item.code })
})
this.integralOriginOptions.unshift({ text: "全部积分来源" })
})
this.onLoad()
}
})
</script>
<!--#
}
#-->