import { defineComponent, onMounted, reactive } from 'vue'; import styles from './site-settings.module.less'; import MSticky from '@/components/m-sticky'; import MHeader from '@/components/m-header'; import { Button, Cell, CellGroup, Field, Icon, Image, List, Picker, Popup, showToast } from 'vant'; import iconMusic from '@/common/images/icon-music.png'; import iconTeacher from '@/common/images/icon-teacher-default.png'; import iconEdit from '@/common/images/icon-edit.png'; import SkeletonSettingsModal from './skeleton-settings-modal'; import MFullRefresh from '@/components/m-full-refresh'; import request from '@/helpers/request'; import MEmpty from '@/components/m-empty'; export default defineComponent({ name: 'site-setting', setup() { const forms = reactive({ showPopup: false, showOrchestraPopup: false, siteName: '', orchestraName: '全部乐团', orchestraColumns: [{ text: '全部乐团', value: '' }], // listState: { dataShow: true, // 判断是否有数据 loading: true, finished: false, refreshing: false }, params: { musicGroupId: null, page: 1, rows: 20 }, isClick: false, list: [], selectSite: {} as any // }); const onEdit = (item: any) => { forms.selectSite = item; forms.siteName = item.teachingPoint; forms.showPopup = true; }; const onSubmitUpdateSite = async () => { try { if (!forms.siteName) { showToast('请输入场地名称'); return; } await request.post('/api-web/classGroup/teachingPoint', { hideLoading: false, data: { classGroupId: forms.selectSite.classGroupId, teachingPoint: forms.siteName } }); forms.showPopup = false; forms.list = []; onRefresh(); } catch { // } }; const getList = async () => { try { if (forms.isClick) return; forms.isClick = true; const { data } = await request.post( '/api-web/classGroup/teachingPointClass', { data: forms.params } ); const result = data || {}; // 判断是否有数据 if (forms.listState.refreshing) { forms.list = result.rows || []; } else { forms.list = forms.list.concat(result.rows || []); } forms.listState.finished = result.pageNo >= result.totalPage; forms.params.page = result.pageNo + 1; } catch { forms.listState.finished = true; } finally { forms.listState.dataShow = forms.list.length > 0; forms.listState.refreshing = false; forms.listState.loading = false; forms.isClick = false; } }; const onRefresh = () => { forms.params.page = 1; getList(); }; // 乐团列表 const musicGroupPage = async () => { try { const { data } = await request.get( '/api-web/cooperationOrgan/musicGroupPage' ); (data || []).forEach((item: any) => { forms.orchestraColumns.push({ text: item.name, value: item.id }); }); } catch { // } }; onMounted(() => { musicGroupPage(); getList(); }); return () => (
{item.musicGroupName}
{item.teachingPoint || '未设置场地'}