|
@@ -1,19 +1,28 @@
|
|
|
-import { defineComponent, ref } from 'vue'
|
|
|
+import { defineComponent, reactive, ref } from 'vue'
|
|
|
import styles from './index.module.less'
|
|
|
import iconArrow1 from '../images/icon-arrow1.png'
|
|
|
import iconArrow11 from '../images/icon-arrow1-1.png'
|
|
|
import icon1 from '../images/icon-1.png'
|
|
|
import icon2 from '../images/icon-2.png'
|
|
|
import iconDownload from '../images/icon-download.png'
|
|
|
-import { Popup } from 'vant'
|
|
|
+import { Button, DatetimePicker, Popup } from 'vant'
|
|
|
import Echats from './echats'
|
|
|
import ColHeader from '@/components/col-header'
|
|
|
import TheSticky from '@/components/the-sticky'
|
|
|
+import { formatterDatePicker } from '@/helpers/utils'
|
|
|
+import dayjs from 'dayjs'
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'PracticeDetail',
|
|
|
setup() {
|
|
|
- const searchStatus = ref(true)
|
|
|
+ const searchStatus = ref(false)
|
|
|
+ const forms = reactive({
|
|
|
+ startTimeStatus: false,
|
|
|
+ endTimeMinDate: new Date(),
|
|
|
+ endTimeStatus: false,
|
|
|
+ startTime: new Date(),
|
|
|
+ endTime: null as any,
|
|
|
+ })
|
|
|
return () => (
|
|
|
<div class={styles.practiceDetail}>
|
|
|
<TheSticky position="top">
|
|
@@ -131,19 +140,100 @@ export default defineComponent({
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <Popup v-model:show={searchStatus.value} closeable round>
|
|
|
- <div class={styles.popupSection}>
|
|
|
+ <Popup v-model:show={searchStatus.value} closeable round position="bottom">
|
|
|
+ <div class={styles.popupContainer}>
|
|
|
<div class={styles.popupTitle}>筛选</div>
|
|
|
|
|
|
- <div class={styles.popupSection}>
|
|
|
- <div class={styles.title}>
|
|
|
- <span>学员练习时长</span>
|
|
|
+ <div class={styles.popupSearchList}>
|
|
|
+ <div class={styles.popupSection}>
|
|
|
+ <div class={styles.title}>
|
|
|
+ <span>学员练习时长</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class={styles.timeCount}>
|
|
|
+ <p class={styles.active}>本月</p>
|
|
|
+ <p>近三个月</p>
|
|
|
+ <p>近半年</p>
|
|
|
+ <p>近一年</p>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class={styles.timeRang}>
|
|
|
+ <p class={styles.timeInput} onClick={() => forms.startTimeStatus = true}>起始时间</p>
|
|
|
+ <p class={styles.timeUnit}></p>
|
|
|
+ <p class={styles.timeInput} onClick={() => forms.endTimeStatus = true}>终止时间</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class={styles.popupSection}>
|
|
|
+ <div class={styles.title}>
|
|
|
+ <span>声部</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class={[styles.timeCount, styles.timeSubject]}>
|
|
|
+ <p class={styles.active}>本月</p>
|
|
|
+ <p>近三个月</p>
|
|
|
+ <p>近半年</p>
|
|
|
+ <p>近一年近一年近一年</p>
|
|
|
+ <p>近一年</p>
|
|
|
+ <p>近一年近一年</p>
|
|
|
+ <p>近一年</p>
|
|
|
+ <p>近一年</p>
|
|
|
+ <p>近一年近一年近一年</p>
|
|
|
+ <p>近一年</p>
|
|
|
+ <p>近一年近一年</p>
|
|
|
+ <p>近一年</p>
|
|
|
+ <p>近一年</p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div class={styles.timeCount}></div>
|
|
|
+ <div class={styles.popupBottom}>
|
|
|
+ <Button round block type="default">重置</Button>
|
|
|
+ <Button round block type='primary'>确定</Button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</Popup>
|
|
|
+
|
|
|
+ {/* 开始日期 */}
|
|
|
+ <Popup
|
|
|
+ v-model:show={forms.startTimeStatus}
|
|
|
+ position="bottom"
|
|
|
+ round
|
|
|
+ class={'popupBottomSearch'}
|
|
|
+ >
|
|
|
+ <DatetimePicker
|
|
|
+ v-model={forms.startTime}
|
|
|
+ type="date"
|
|
|
+ formatter={formatterDatePicker}
|
|
|
+ onCancel={() => (forms.startTimeStatus = false)}
|
|
|
+ onConfirm={(val: any) => {
|
|
|
+ console.log(val, 'val')
|
|
|
+ forms.startTime = val
|
|
|
+ forms.startTimeStatus = false
|
|
|
+ forms.endTime = null as any
|
|
|
+ forms.endTimeMinDate = dayjs(val || new Date()).toDate()
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </Popup>
|
|
|
+ {/* 结束日期 */}
|
|
|
+ <Popup
|
|
|
+ v-model:show={forms.endTimeStatus}
|
|
|
+ position="bottom"
|
|
|
+ round
|
|
|
+ class={'popupBottomSearch'}
|
|
|
+ >
|
|
|
+ <DatetimePicker
|
|
|
+ v-model={forms.endTime}
|
|
|
+ type="date"
|
|
|
+ minDate={forms.endTimeMinDate}
|
|
|
+ formatter={formatterDatePicker}
|
|
|
+ onCancel={() => (forms.endTimeStatus = false)}
|
|
|
+ onConfirm={(val: any) => {
|
|
|
+ forms.endTime = val
|
|
|
+ forms.endTimeStatus = false
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </Popup>
|
|
|
</div>
|
|
|
)
|
|
|
}
|