|
@@ -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>
|
|
|
)
|
|
|
}
|