first commit

This commit is contained in:
2026-09-09 09:14:28 +08:00
commit 5343198112
5199 changed files with 1052895 additions and 0 deletions
@@ -0,0 +1,149 @@
<!--#
layout("/layouts/platform.html"){
#-->
<div id="app" v-cloak>
<guava>
<el-card shadow="never">
<div class="search">
<div class="search-item">
<div class="search-item-label">年度:</div>
<div class="search-item-option">
<el-date-picker
:clearable="false"
@change="yearChange"
placeholder="选择年度"
type="year"
v-model="pageForm.year"
value-format="yyyy">
</el-date-picker>
</div>
</div>
<div class="search-item">
<div class="search-item-label">活动:</div>
<div class="search-item-option">
<el-select @change="doSearch" v-model="pageForm.activityId">
<el-option :label="item.name"
:value="item._id"
v-for="item in activityList"
></el-option>
</el-select>
</div>
</div>
<div class="search-query">
<el-button @click="doSearch" icon="el-icon-search" type="primary">搜索</el-button>
</div>
</div>
</el-card>
<el-card class="mt10" shadow="never">
<table-tool :app="this" label="中奖榜">
<template #func>
<el-radio-group size="small" v-model="pageForm.currentSelectedType">
<el-radio-button label="yesterdayList">昨日榜</el-radio-button>
<el-radio-button label="totalList">总榜</el-radio-button>
</el-radio-group>
<el-button @click="exportExcel" class="ml10" size="small" type="primary">导出</el-button>
</template>
</table-tool>
<el-table :data="prizeData[pageForm.currentSelectedType]" :size="tableSize">
<el-table-column :index="indexMethod" align="center" header-align="center" label="序号" type="index"
width="80px"></el-table-column>
<el-table-column
:label="column.label"
:prop="column.prop"
:sortable="column.sortable"
align="center"
header-align="center"
show-overflow-tooltip
v-for="column in tableColumns"
>
<template scope="{row}" v-if="column.prop==='registerNum'">
<el-link @click="openView(row.id)" type="primary">
{{row.registerNum}}
</el-link>
</template>
</el-table-column>
</el-table>
</el-card>
</guava>
</div>
<script>
const vue = new Vue({
el: '#app',
mixins: [initTableMixins],
data() {
return {
prizeData: {},
activityList: [],
pageForm: {
year: new Date().getFullYear().toString(),
activityId: null,
currentSelectedType: 'yesterdayList',
},
tableColumns: [
{label: '姓名', prop: 'username'},
{label: '工号', prop: 'loginname'},
{label: '单位', prop: 'unitname'},
{label: '分工会', prop: 'unionname', sortable: true},
{label: '日期', prop: 'prizeData', sortable: true}
]
}
},
methods: {
async pageData() {
sublime.showLoadingbar()
const resp = await $.post(loc() + '/prizeDataList', this.pageForm)
sublime.closeLoadingbar()
if (resp.code === 0) {
this.prizeData = resp.data
} else {
this.notifyWarning(resp.msg)
}
},
yearChange(val) {
this.getActivityList(val)
},
async getActivityList(year) {
this.pageForm.activityId = null
this.activityList = []
if (year) {
const beforeTime = moment().year(year).startOf('year').valueOf()
const endTime = moment().year(year).endOf('year').valueOf()
this.pageForm = {...this.pageForm, beforeTime, endTime}
}
const resp = await $.get('/jsz/common/getAllHd', this.pageForm)
if (resp.code === 0) {
resp.data = resp.data.filter(v => v.activityModel === 'stepCount')
this.activityList = resp.data
if (this.activityList) {
this.pageForm.activityId = this.activityList[0]._id
this.pageData()
} else {
this.prizeData = {}
}
}
},
exportExcel() {
const data = this.prizeData[this.pageForm.currentSelectedType]
if (!data) {
this.notifyWarning('暂无数据!')
return
}
const {activityId, currentSelectedType} = this.pageForm
window.open(loc() + '/exportExcel?activityId=' + activityId + '&currentSelectedType=' + currentSelectedType)
}
},
async created() {
await this.getActivityList(this.pageForm.currentSelectedType)
}
})
</script>
<!--#
}
#-->