|  | @@ -2,7 +2,18 @@ import OEmpty from '@/components/o-empty'
 | 
	
		
			
				|  |  |  import OHeader from '@/components/o-header'
 | 
	
		
			
				|  |  |  import request from '@/helpers/request'
 | 
	
		
			
				|  |  |  import { state } from '@/state'
 | 
	
		
			
				|  |  | -import { Grid, GridItem, Image, List, Loading, showImagePreview } from 'vant'
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  Cell,
 | 
	
		
			
				|  |  | +  CellGroup,
 | 
	
		
			
				|  |  | +  Grid,
 | 
	
		
			
				|  |  | +  GridItem,
 | 
	
		
			
				|  |  | +  Image,
 | 
	
		
			
				|  |  | +  List,
 | 
	
		
			
				|  |  | +  Loading,
 | 
	
		
			
				|  |  | +  Picker,
 | 
	
		
			
				|  |  | +  Popup,
 | 
	
		
			
				|  |  | +  showImagePreview
 | 
	
		
			
				|  |  | +} from 'vant'
 | 
	
		
			
				|  |  |  import { defineComponent, onMounted, reactive, watch } from 'vue'
 | 
	
		
			
				|  |  |  import { useRoute, useRouter } from 'vue-router'
 | 
	
		
			
				|  |  |  import styles from './index.module.less'
 | 
	
	
		
			
				|  | @@ -25,7 +36,10 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          page: 1,
 | 
	
		
			
				|  |  |          rows: 20
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  | -      list: [] as any[]
 | 
	
		
			
				|  |  | +      list: [] as any[],
 | 
	
		
			
				|  |  | +      schoolStatus: false,
 | 
	
		
			
				|  |  | +      schoolList: [],
 | 
	
		
			
				|  |  | +      school: {} as any
 | 
	
		
			
				|  |  |      })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      const getList = async () => {
 | 
	
	
		
			
				|  | @@ -34,7 +48,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          const res = await request.post(`${state.platformApi}/orchestraPhotoAlbum/page`, {
 | 
	
		
			
				|  |  |            data: {
 | 
	
		
			
				|  |  |              ...data.pages,
 | 
	
		
			
				|  |  | -            orchestraId: props.orchestraId
 | 
	
		
			
				|  |  | +            orchestraId: data.school.id
 | 
	
		
			
				|  |  |            },
 | 
	
		
			
				|  |  |            hideLoading: true
 | 
	
		
			
				|  |  |          })
 | 
	
	
		
			
				|  | @@ -50,15 +64,29 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        data.loading = false
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    watch(
 | 
	
		
			
				|  |  | -      () => props.orchestraId,
 | 
	
		
			
				|  |  | -      () => {
 | 
	
		
			
				|  |  | -        data.pages.page = 1
 | 
	
		
			
				|  |  | -        data.list = []
 | 
	
		
			
				|  |  | -        data.finished = false
 | 
	
		
			
				|  |  | -        getList()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    const getSchoolList = async () => {
 | 
	
		
			
				|  |  | +      try {
 | 
	
		
			
				|  |  | +        const res = await request.post('/api-teacher/school/teacherSchoolPage', {
 | 
	
		
			
				|  |  | +          data: {
 | 
	
		
			
				|  |  | +            teacherId: state.user.data.id,
 | 
	
		
			
				|  |  | +            page: 1,
 | 
	
		
			
				|  |  | +            rows: 999
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        if (Array.isArray(res.data?.rows)) {
 | 
	
		
			
				|  |  | +          data.schoolList = res.data.rows.map((n: any) => {
 | 
	
		
			
				|  |  | +            return {
 | 
	
		
			
				|  |  | +              name: n.schoolName || '',
 | 
	
		
			
				|  |  | +              id: n.schoolId || ''
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +          data.school = data.schoolList[0] || {}
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      } catch {
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -    )
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // 预览图片
 | 
	
		
			
				|  |  |      const onShowImage = (index: number) => {
 | 
	
	
		
			
				|  | @@ -73,16 +101,22 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        })
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    onMounted(() => {
 | 
	
		
			
				|  |  | -      getList()
 | 
	
		
			
				|  |  | +    onMounted(async () => {
 | 
	
		
			
				|  |  | +      await getSchoolList()
 | 
	
		
			
				|  |  | +      await getList()
 | 
	
		
			
				|  |  |        document.title = (route.query.name as any) || ''
 | 
	
		
			
				|  |  |      })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      return () => (
 | 
	
		
			
				|  |  | -      <div
 | 
	
		
			
				|  |  | -        class={[styles.phoneDetail, !data.list.length && 'emptyRootContainer']}
 | 
	
		
			
				|  |  | -        // style={{ height: '100%', minHeight: 'auto' }}
 | 
	
		
			
				|  |  | -      >
 | 
	
		
			
				|  |  | +      <div class={[styles.phoneDetail]}>
 | 
	
		
			
				|  |  | +        <CellGroup inset class={styles.cellGroup}>
 | 
	
		
			
				|  |  | +          <Cell class={styles.select} center isLink onClick={() => (data.schoolStatus = true)}>
 | 
	
		
			
				|  |  | +            {{
 | 
	
		
			
				|  |  | +              // icon: () => <img class={styles.icon} src={iconOrchestra} />,
 | 
	
		
			
				|  |  | +              title: () => <div class="van-ellipsis">{data.school.name}</div>
 | 
	
		
			
				|  |  | +            }}
 | 
	
		
			
				|  |  | +          </Cell>
 | 
	
		
			
				|  |  | +        </CellGroup>
 | 
	
		
			
				|  |  |          {!data.loading && !!data.list.length && (
 | 
	
		
			
				|  |  |            <List
 | 
	
		
			
				|  |  |              // v-model:loading={data.loading}
 | 
	
	
		
			
				|  | @@ -120,7 +154,38 @@ export default defineComponent({
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </List>
 | 
	
		
			
				|  |  |          )}
 | 
	
		
			
				|  |  | -        {!data.loading && !data.list.length && <OEmpty btnStatus={false} tips="暂无相册" />}
 | 
	
		
			
				|  |  | +        {!data.loading && !data.list.length && (
 | 
	
		
			
				|  |  | +          <div
 | 
	
		
			
				|  |  | +            class="emptyRootContainer"
 | 
	
		
			
				|  |  | +            style={{
 | 
	
		
			
				|  |  | +              minHeight: 'calc(100vh - 1.22667rem)'
 | 
	
		
			
				|  |  | +            }}
 | 
	
		
			
				|  |  | +          >
 | 
	
		
			
				|  |  | +            <OEmpty btnStatus={false} tips="暂无相册" />
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +        )}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <Popup v-model:show={data.schoolStatus} position="bottom" round>
 | 
	
		
			
				|  |  | +          <Picker
 | 
	
		
			
				|  |  | +            columns={data.schoolList}
 | 
	
		
			
				|  |  | +            columnsFieldNames={{ text: 'name', value: 'id' }}
 | 
	
		
			
				|  |  | +            onCancel={() => (data.schoolStatus = false)}
 | 
	
		
			
				|  |  | +            onConfirm={({ selectedValues }: any) => {
 | 
	
		
			
				|  |  | +              const val = selectedValues[0] || ''
 | 
	
		
			
				|  |  | +              data.schoolStatus = false
 | 
	
		
			
				|  |  | +              if (val == data.school?.id) {
 | 
	
		
			
				|  |  | +                return
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              const active = data.schoolList.find((n: any) => n.id == val) || {}
 | 
	
		
			
				|  |  | +              data.school = active
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +              data.pages.page = 1
 | 
	
		
			
				|  |  | +              data.list = []
 | 
	
		
			
				|  |  | +              data.finished = false
 | 
	
		
			
				|  |  | +              getList()
 | 
	
		
			
				|  |  | +            }}
 | 
	
		
			
				|  |  | +          />
 | 
	
		
			
				|  |  | +        </Popup>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  |      )
 | 
	
		
			
				|  |  |    }
 |