import ColHeader from '@/components/col-header' import { defineComponent } from 'vue' import styles from './member-record.module.less' import { Cell, CellGroup, DatetimePicker, Grid, GridItem, Icon, Image, List, Popup, Sticky } from 'vant' import { levelMember } from '@/constant' import request from '@/helpers/request' import { formatterDate } from '@/helpers/utils' import dayjs from 'dayjs' import ColResult from '@/components/col-result' import { postMessage } from '@/helpers/native-message' import { useEventTracking } from '@/helpers/hooks' export const getAssetsHomeFile = (fileName: string) => { const path = `./images/${fileName}` const modules = import.meta.globEager('./images/*') return modules[path].default } export default defineComponent({ name: 'memberRecord', data() { return { userTrainOverView: { trainDays: 0, trainNum: 0, trainTime: 0 }, timeStatus: false, currentDate: new Date(), list: [], dataShow: true, // 判断是否有数据 loading: false, finished: false, params: { page: 1, rows: 20 } } }, async mounted() { this.getList() useEventTracking('评测记录') }, methods: { onSearch() { this.timeStatus = false this.dataShow = true this.loading = false this.finished = false this.list = [] this.params.page = 1 this.getList() }, async getList() { try { const params = this.params const res = await request.get( '/api-student/sysMusicRecord/studentTrainData', { params: { ...params, startTime: dayjs(this.currentDate).format('YYYY-MM') } } ) this.loading = false const result = res.data || {} // 在第一页的时候才处理数据显示 if (result.detail.pageNo === 1) { this.userTrainOverView = result.userTrainOverView } // 处理重复请求数据 if (this.list.length > 0 && result.detail.pageNo === 1) { return } this.list = this.list.concat(result.detail.rows || []) this.finished = result.detail.pageNo >= result.detail.totalPage this.params.page = result.detail.pageNo + 1 this.dataShow = this.list.length > 0 } catch { this.dataShow = false this.finished = true } } }, render() { return (
{/* */} (
{this.userTrainOverView.trainDays}天 累计训练天数
{this.userTrainOverView.trainTime}分钟 累计训练时长
{this.userTrainOverView.trainNum}次 累计训练次数
//
// 老师认证 //
) }} /> {/*
*/}
(
评测记录
), default: () => (
(this.timeStatus = true)} > {dayjs(this.currentDate).format('YYYY年MM月')}
) }} >
{ this.timeStatus = false }} onConfirm={this.onSearch} /> {this.dataShow ? ( {this.list.map((item: any) => ( { const behaviorId = +new Date() //dev.colexiu.com/accompany/colexiu-report.html?id=817&behaviorId=165699355934918269&Authorization=bearer%20aea0b4c1-423c-4466-902a-17dc7ac8938a#/ postMessage({ api: 'openAccompanyWebView', content: { url: location.origin + '/accompany/colexiu-report.html?id=' + item.id + '&behaviorId=' + behaviorId, orientation: 0, isHideTitle: true, statusBarTextColor: false, isOpenLight: true } }) return }} > (
{item.sysMusicScoreName} {item.videoFilePath && ( )}
), default: () => (
{dayjs(item.createTime).format('YYYY/MM/DD HH:mm')}
) }} >
( ( {levelMember[item.heardLevel]} ) }} > ( {item.score}分 ) }} > ( {item.intonation}分 ) }} > ( {item.cadence}分 ) }} > ( {item.integrity}分 ) }} > ) }} >
))}
) : ( )}
) } })