|  | @@ -3,10 +3,13 @@ import request from '@/helpers/request'
 | 
	
		
			
				|  |  |  import {
 | 
	
		
			
				|  |  |    ActionSheet,
 | 
	
		
			
				|  |  |    Button,
 | 
	
		
			
				|  |  | +  Cell,
 | 
	
		
			
				|  |  | +  CellGroup,
 | 
	
		
			
				|  |  |    Dialog,
 | 
	
		
			
				|  |  |    Field,
 | 
	
		
			
				|  |  |    Image,
 | 
	
		
			
				|  |  |    List,
 | 
	
		
			
				|  |  | +  Picker,
 | 
	
		
			
				|  |  |    Popover,
 | 
	
		
			
				|  |  |    Popup,
 | 
	
		
			
				|  |  |    showConfirmDialog,
 | 
	
	
		
			
				|  | @@ -45,7 +48,10 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          rows: 20
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        selectItem: {} as any,
 | 
	
		
			
				|  |  | -      selectType: 'add'
 | 
	
		
			
				|  |  | +      selectType: 'add',
 | 
	
		
			
				|  |  | +      schoolStatus: false,
 | 
	
		
			
				|  |  | +      schoolList: [],
 | 
	
		
			
				|  |  | +      school: {} as any
 | 
	
		
			
				|  |  |      })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      const onAddPhoto = async () => {
 | 
	
	
		
			
				|  | @@ -111,7 +117,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          const res = await request.post('/api-school/orchestraPhotoAlbum/page', {
 | 
	
		
			
				|  |  |            data: {
 | 
	
		
			
				|  |  |              ...state.params,
 | 
	
		
			
				|  |  | -            orchestraId: route.query.id
 | 
	
		
			
				|  |  | +            schoolId: state.school.id
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  |          state.listState.loading = false
 | 
	
	
		
			
				|  | @@ -133,6 +139,29 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    const getSchoolList = async () => {
 | 
	
		
			
				|  |  | +      try {
 | 
	
		
			
				|  |  | +        const res = await request.post('/api-school/school/page', {
 | 
	
		
			
				|  |  | +          data: {
 | 
	
		
			
				|  |  | +            page: 1,
 | 
	
		
			
				|  |  | +            rows: 999
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        if (Array.isArray(res.data?.rows)) {
 | 
	
		
			
				|  |  | +          state.schoolList = res.data.rows.map((n: any) => {
 | 
	
		
			
				|  |  | +            return {
 | 
	
		
			
				|  |  | +              name: n.name || '',
 | 
	
		
			
				|  |  | +              id: n.id || ''
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +          const tmpSchool = sessionStorage.getItem('school-photo')
 | 
	
		
			
				|  |  | +          state.school = tmpSchool ? JSON.parse(tmpSchool) : state.schoolList[0] || {}
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      } catch {
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      const onDetail = (item: any) => {
 | 
	
		
			
				|  |  |        sessionStorage.setItem('orchestra-detail-tab', 'photo')
 | 
	
		
			
				|  |  |        router.push({
 | 
	
	
		
			
				|  | @@ -182,8 +211,9 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        })
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    onMounted(() => {
 | 
	
		
			
				|  |  | -      getList()
 | 
	
		
			
				|  |  | +    onMounted(async () => {
 | 
	
		
			
				|  |  | +      await getSchoolList()
 | 
	
		
			
				|  |  | +      await getList()
 | 
	
		
			
				|  |  |      })
 | 
	
		
			
				|  |  |      return () => (
 | 
	
		
			
				|  |  |        <div
 | 
	
	
		
			
				|  | @@ -191,6 +221,12 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          style={{ minHeight: `calc(100vh - ${props.height}px)` }}
 | 
	
		
			
				|  |  |        >
 | 
	
		
			
				|  |  |          <Sticky position="top" offsetTop={props.height} style={{ width: '100%' }}>
 | 
	
		
			
				|  |  | +          <Cell class={styles.select} center isLink onClick={() => (state.schoolStatus = true)}>
 | 
	
		
			
				|  |  | +            {{
 | 
	
		
			
				|  |  | +              // icon: () => <img class={styles.icon} src={iconOrchestra} />,
 | 
	
		
			
				|  |  | +              title: () => <div class="van-ellipsis">{state.school.name}</div>
 | 
	
		
			
				|  |  | +            }}
 | 
	
		
			
				|  |  | +          </Cell>
 | 
	
		
			
				|  |  |            <Button
 | 
	
		
			
				|  |  |              icon="plus"
 | 
	
		
			
				|  |  |              block
 | 
	
	
		
			
				|  | @@ -287,6 +323,25 @@ export default defineComponent({
 | 
	
		
			
				|  |  |              { name: '删除', color: '#F44541', callback: () => onRemove() }
 | 
	
		
			
				|  |  |            ]}
 | 
	
		
			
				|  |  |          />
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <Popup v-model:show={state.schoolStatus} position="bottom" round>
 | 
	
		
			
				|  |  | +          <Picker
 | 
	
		
			
				|  |  | +            columns={state.schoolList}
 | 
	
		
			
				|  |  | +            columnsFieldNames={{ text: 'name', value: 'id' }}
 | 
	
		
			
				|  |  | +            onCancel={() => (state.schoolStatus = false)}
 | 
	
		
			
				|  |  | +            onConfirm={({ selectedValues }: any) => {
 | 
	
		
			
				|  |  | +              const val = selectedValues[0] || ''
 | 
	
		
			
				|  |  | +              state.schoolStatus = false
 | 
	
		
			
				|  |  | +              if (val == state.school?.id) {
 | 
	
		
			
				|  |  | +                return
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +              const active = state.schoolList.find((n: any) => n.id == val) || {}
 | 
	
		
			
				|  |  | +              state.school = active
 | 
	
		
			
				|  |  | +              sessionStorage.setItem('school-photo', JSON.stringify(active))
 | 
	
		
			
				|  |  | +              onSearch()
 | 
	
		
			
				|  |  | +            }}
 | 
	
		
			
				|  |  | +          />
 | 
	
		
			
				|  |  | +        </Popup>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  |      )
 | 
	
		
			
				|  |  |    }
 |