import OHeader from '@/components/o-header'
import { Cell, CellGroup, Grid, GridItem, Image, Picker, Popup, Tag } from 'vant'
import { defineComponent, onMounted, reactive } from 'vue'
import styles from './index.module.less'
import iconStudent from '@/common/images/icon_student.png'
import request from '@/helpers/request'
export default defineComponent({
name: 'practice-detail',
setup() {
const state = reactive({
subjectStatus: false,
subjectList: [],
isClick: false,
list: [] as any,
listState: {
dataShow: true, // 判断是否有数据
loading: false,
finished: false,
refreshing: false,
height: 0 // 页面头部高度,为了处理下拉刷新用的
},
params: {
type: null,
page: 1,
rows: 20
}
})
// 获取声部
const getSubjects = async () => {
try {
const { data } = await request.post('/api-school/subjectBasicConfig/page', {
data: {
page: 1,
rows: 50
}
})
state.subjectList = data.rows || []
} catch {
//
}
}
// api-school/schoolWeekSalaryRecord/detailInfo/trainingPage
const getList = async () => {
try {
if (state.isClick) return
state.isClick = true
const res = await request.post(
'/api-school/schoolWeekSalaryRecord/detailInfo/trainingPage',
{
data: {
...state.params
}
}
)
state.listState.loading = false
state.listState.refreshing = false
const result = res.data || {}
// 处理重复请求数据
if (state.list.length > 0 && result.current === 1) {
return
}
state.list = state.list.concat(result.rows || [])
state.listState.finished = result.current >= result.pages
state.params.page = result.current + 1
state.listState.dataShow = state.list.length > 0
state.isClick = false
} catch {
state.listState.dataShow = false
state.listState.finished = true
state.listState.refreshing = false
state.isClick = false
}
}
onMounted(() => {
getSubjects()
})
return () => (
<>