|
@@ -2,13 +2,17 @@ import MHeader from '@/components/m-header';
|
|
|
import MSticky from '@/components/m-sticky';
|
|
|
import {
|
|
|
ActionBar,
|
|
|
+ Button,
|
|
|
Cell,
|
|
|
CellGroup,
|
|
|
DropdownItem,
|
|
|
DropdownMenu,
|
|
|
+ Field,
|
|
|
Icon,
|
|
|
Image,
|
|
|
- List
|
|
|
+ List,
|
|
|
+ Popup,
|
|
|
+ showToast
|
|
|
} from 'vant';
|
|
|
import { defineComponent, onMounted, reactive, ref } from 'vue';
|
|
|
import styles from './index.module.less';
|
|
@@ -24,7 +28,7 @@ import MFullRefresh from '@/components/m-full-refresh';
|
|
|
import { useRouter } from 'vue-router';
|
|
|
import request from '@/helpers/request';
|
|
|
import dayjs from 'dayjs';
|
|
|
-
|
|
|
+import iconEdit from '@/common/images/icon-edit.png';
|
|
|
export default defineComponent({
|
|
|
name: 'site-management',
|
|
|
setup() {
|
|
@@ -54,7 +58,10 @@ export default defineComponent({
|
|
|
startPosition: 0,
|
|
|
imagePreview: [] as string[],
|
|
|
pointCourseStatus: false, // 红点
|
|
|
- list: []
|
|
|
+ list: [],
|
|
|
+ showAddressPopup: false,
|
|
|
+ siteName: '',
|
|
|
+ selectSite: {} as any
|
|
|
});
|
|
|
|
|
|
const getInitTimer = (week = 4) => {
|
|
@@ -120,10 +127,12 @@ export default defineComponent({
|
|
|
} catch {
|
|
|
forms.listState.finished = true;
|
|
|
} finally {
|
|
|
- forms.listState.dataShow = forms.list.length > 0;
|
|
|
- forms.listState.refreshing = false;
|
|
|
- forms.listState.loading = false;
|
|
|
- forms.isClick = false;
|
|
|
+ setTimeout(() => {
|
|
|
+ forms.listState.dataShow = forms.list.length > 0;
|
|
|
+ forms.listState.refreshing = false;
|
|
|
+ forms.listState.loading = false;
|
|
|
+ forms.isClick = false;
|
|
|
+ }, 500);
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -156,6 +165,27 @@ export default defineComponent({
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+ const onSubmitUpdateSite = async () => {
|
|
|
+ try {
|
|
|
+ if (!forms.siteName) {
|
|
|
+ showToast('请输入场地名称');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ await request.post('/api-web/classGroup/teachingPointCourseSchedule', {
|
|
|
+ hideLoading: false,
|
|
|
+ data: {
|
|
|
+ courseScheduleId: forms.selectSite.courseId,
|
|
|
+ teachingPoint: forms.siteName
|
|
|
+ }
|
|
|
+ });
|
|
|
+ forms.showAddressPopup = false;
|
|
|
+ forms.listState.refreshing = true;
|
|
|
+ onRefresh();
|
|
|
+ } catch {
|
|
|
+ //
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
const onRefresh = () => {
|
|
|
forms.params.page = 1;
|
|
|
getList();
|
|
@@ -251,11 +281,37 @@ export default defineComponent({
|
|
|
</p>
|
|
|
</div>
|
|
|
),
|
|
|
- default: () => (
|
|
|
- <p class={[styles.address, styles.overhide]}>
|
|
|
- {item.teachingPoint}
|
|
|
- </p>
|
|
|
- )
|
|
|
+ default: () =>
|
|
|
+ item.courseStatus === 'OVER' ? (
|
|
|
+ <p
|
|
|
+ class={[styles.address]}
|
|
|
+ onClick={() => {
|
|
|
+ if (item.teachingPoint) return;
|
|
|
+ forms.selectSite = item;
|
|
|
+ forms.siteName = item.teachingPoint;
|
|
|
+ forms.showAddressPopup = true;
|
|
|
+ }}>
|
|
|
+ <p
|
|
|
+ class={[
|
|
|
+ styles.overhide,
|
|
|
+ item.teachingPoint ? '' : styles.red
|
|
|
+ ]}>
|
|
|
+ {item.teachingPoint || '未设置场地'}
|
|
|
+ </p>
|
|
|
+ {item.teachingPoint ? (
|
|
|
+ ''
|
|
|
+ ) : (
|
|
|
+ <Icon
|
|
|
+ name={iconEdit}
|
|
|
+ class={styles.iconEdit}
|
|
|
+ />
|
|
|
+ )}
|
|
|
+ </p>
|
|
|
+ ) : (
|
|
|
+ <p class={[styles.address, styles.overhide]}>
|
|
|
+ {item.teachingPoint}
|
|
|
+ </p>
|
|
|
+ )
|
|
|
}}
|
|
|
</Cell>
|
|
|
<Cell center class={styles.username}>
|
|
@@ -379,6 +435,38 @@ export default defineComponent({
|
|
|
images={forms.imagePreview}
|
|
|
startPosition={forms.startPosition}
|
|
|
/>
|
|
|
+
|
|
|
+ <Popup
|
|
|
+ v-model:show={forms.showAddressPopup}
|
|
|
+ round
|
|
|
+ onClose={() => {
|
|
|
+ forms.siteName = '';
|
|
|
+ forms.selectSite = {};
|
|
|
+ }}>
|
|
|
+ <div class={styles.popupContainer}>
|
|
|
+ <h2>设置场地</h2>
|
|
|
+ <Field
|
|
|
+ placeholder="请输入场地名称"
|
|
|
+ v-model={forms.siteName}
|
|
|
+ border={false}
|
|
|
+ class={styles.field}
|
|
|
+ maxlength={15}
|
|
|
+ autocomplete="off"
|
|
|
+ />
|
|
|
+ <div class={['btnGroupPopup']}>
|
|
|
+ <Button
|
|
|
+ round
|
|
|
+ onClick={() => {
|
|
|
+ forms.showAddressPopup = false;
|
|
|
+ }}>
|
|
|
+ 取消
|
|
|
+ </Button>
|
|
|
+ <Button type="primary" round onClick={onSubmitUpdateSite}>
|
|
|
+ 确定
|
|
|
+ </Button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </Popup>
|
|
|
</div>
|
|
|
);
|
|
|
}
|