|
@@ -63,11 +63,13 @@ export default defineComponent({
|
|
|
subjectId: '' as any, // 选择的声部
|
|
|
subjectList: [] as any,
|
|
|
startTimeStatus: false,
|
|
|
+ startTimeClosedStatus: false,
|
|
|
endTimeMinDate: new Date(timeRange?.startTime || ''),
|
|
|
endTimeMaxDate: dayjs(new Date(timeRange?.startTime || ''))
|
|
|
.add(1, 'year')
|
|
|
.toDate(),
|
|
|
endTimeStatus: false,
|
|
|
+ endTimeClosedStatus: false,
|
|
|
startTime: new Date(timeRange?.startTime || ''),
|
|
|
startTimeStr: timeRange?.startTime || '',
|
|
|
endTime: new Date(timeRange?.endTime || ''),
|
|
@@ -343,22 +345,32 @@ export default defineComponent({
|
|
|
<span>总练习时长</span>
|
|
|
</div>
|
|
|
|
|
|
- <div class={styles.leaveTime}>
|
|
|
- <span class={styles.num}>{practiceSummary.totalTimes.hours}</span>
|
|
|
- <span class={styles.text}>时</span>
|
|
|
- <span class={styles.num}>
|
|
|
- {practiceSummary.totalTimes.minutes}
|
|
|
- </span>
|
|
|
- <span class={styles.text}>分</span>
|
|
|
- <span class={styles.num}>
|
|
|
- {practiceSummary.totalTimes.seconds}
|
|
|
- </span>
|
|
|
- <span class={styles.text}>秒</span>
|
|
|
- </div>
|
|
|
-
|
|
|
<div class={styles.sList}>
|
|
|
<div class={styles.sItem}>
|
|
|
<div class={styles.sTop}>
|
|
|
+ <img src={icon1} />
|
|
|
+ <span>总练习时长</span>
|
|
|
+ </div>
|
|
|
+ <div class={styles.sBottom}>
|
|
|
+ <div class={styles.leaveTime}>
|
|
|
+ <span class={styles.num}>
|
|
|
+ {practiceSummary.totalTimes.hours}
|
|
|
+ </span>
|
|
|
+ <span class={styles.text}>时</span>
|
|
|
+ <span class={styles.num}>
|
|
|
+ {practiceSummary.totalTimes.minutes}
|
|
|
+ </span>
|
|
|
+ <span class={styles.text}>分</span>
|
|
|
+ <span class={styles.num}>
|
|
|
+ {practiceSummary.totalTimes.seconds}
|
|
|
+ </span>
|
|
|
+ <span class={styles.text}>秒</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class={styles.sItem}>
|
|
|
+ <div class={styles.sTop}>
|
|
|
<img src={icon2} />
|
|
|
<span>练习人数</span>
|
|
|
</div>
|
|
@@ -369,7 +381,7 @@ export default defineComponent({
|
|
|
<span class={styles.text}>人</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class={styles.sItem}>
|
|
|
+ {/* <div class={styles.sItem}>
|
|
|
<div class={styles.sTop}>
|
|
|
<img src={icon1} />
|
|
|
<span>平均练习时长</span>
|
|
@@ -380,7 +392,7 @@ export default defineComponent({
|
|
|
</span>
|
|
|
<span class={styles.text}>分钟</span>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </div> */}
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
@@ -595,7 +607,10 @@ export default defineComponent({
|
|
|
styles.timeInput,
|
|
|
forms.startTimeStr && styles.hasValue
|
|
|
]}
|
|
|
- onClick={() => (forms.startTimeStatus = true)}
|
|
|
+ onClick={() => {
|
|
|
+ forms.startTimeStatus = true
|
|
|
+ forms.startTimeClosedStatus = true
|
|
|
+ }}
|
|
|
>
|
|
|
{forms.startTimeStr || '起始时间'}
|
|
|
</p>
|
|
@@ -605,7 +620,10 @@ export default defineComponent({
|
|
|
styles.timeInput,
|
|
|
forms.endTimeStr && styles.hasValue
|
|
|
]}
|
|
|
- onClick={() => (forms.endTimeStatus = true)}
|
|
|
+ onClick={() => {
|
|
|
+ forms.endTimeStatus = true
|
|
|
+ forms.endTimeClosedStatus = true
|
|
|
+ }}
|
|
|
>
|
|
|
{forms.endTimeStr || '终止时间'}
|
|
|
</p>
|
|
@@ -666,26 +684,31 @@ export default defineComponent({
|
|
|
position="bottom"
|
|
|
round
|
|
|
class={'popupBottomSearch'}
|
|
|
+ onClosed={() => {
|
|
|
+ forms.startTimeClosedStatus = false
|
|
|
+ }}
|
|
|
>
|
|
|
- <DatetimePicker
|
|
|
- v-model={forms.startTime}
|
|
|
- type="date"
|
|
|
- formatter={formatterDatePicker}
|
|
|
- onCancel={() => (forms.startTimeStatus = false)}
|
|
|
- onConfirm={(val: any) => {
|
|
|
- forms.startTime = val
|
|
|
- forms.startTimeStr = dayjs(val).format('YYYY-MM-DD')
|
|
|
- forms.startTimeStatus = false
|
|
|
-
|
|
|
- forms.endTimeMinDate = dayjs(val || new Date()).toDate()
|
|
|
- forms.endTimeMaxDate = dayjs(val || new Date())
|
|
|
- .add(1, 'year')
|
|
|
- .toDate()
|
|
|
- forms.endTime = val
|
|
|
- forms.endTimeStr = ''
|
|
|
- searchObj.type = '' as any
|
|
|
- }}
|
|
|
- />
|
|
|
+ {forms.startTimeClosedStatus && (
|
|
|
+ <DatetimePicker
|
|
|
+ v-model={forms.startTime}
|
|
|
+ type="date"
|
|
|
+ formatter={formatterDatePicker}
|
|
|
+ onCancel={() => (forms.startTimeStatus = false)}
|
|
|
+ onConfirm={(val: any) => {
|
|
|
+ forms.startTime = val
|
|
|
+ forms.startTimeStr = dayjs(val).format('YYYY-MM-DD')
|
|
|
+ forms.startTimeStatus = false
|
|
|
+
|
|
|
+ forms.endTimeMinDate = dayjs(val || new Date()).toDate()
|
|
|
+ forms.endTimeMaxDate = dayjs(val || new Date())
|
|
|
+ .add(1, 'year')
|
|
|
+ .toDate()
|
|
|
+ forms.endTime = val
|
|
|
+ forms.endTimeStr = ''
|
|
|
+ searchObj.type = '' as any
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ )}
|
|
|
</Popup>
|
|
|
{/* 结束日期 */}
|
|
|
<Popup
|
|
@@ -693,21 +716,26 @@ export default defineComponent({
|
|
|
position="bottom"
|
|
|
round
|
|
|
class={'popupBottomSearch'}
|
|
|
+ onClosed={() => {
|
|
|
+ forms.endTimeClosedStatus = false
|
|
|
+ }}
|
|
|
>
|
|
|
- <DatetimePicker
|
|
|
- v-model={forms.endTime}
|
|
|
- type="date"
|
|
|
- minDate={forms.endTimeMinDate}
|
|
|
- maxDate={forms.endTimeMaxDate}
|
|
|
- formatter={formatterDatePicker}
|
|
|
- onCancel={() => (forms.endTimeStatus = false)}
|
|
|
- onConfirm={(val: any) => {
|
|
|
- forms.endTime = val
|
|
|
- forms.endTimeStatus = false
|
|
|
- forms.endTimeStr = dayjs(val).format('YYYY-MM-DD')
|
|
|
- searchObj.type = '' as any
|
|
|
- }}
|
|
|
- />
|
|
|
+ {forms.endTimeClosedStatus && (
|
|
|
+ <DatetimePicker
|
|
|
+ v-model={forms.endTime}
|
|
|
+ type="date"
|
|
|
+ minDate={forms.endTimeMinDate}
|
|
|
+ maxDate={forms.endTimeMaxDate}
|
|
|
+ formatter={formatterDatePicker}
|
|
|
+ onCancel={() => (forms.endTimeStatus = false)}
|
|
|
+ onConfirm={(val: any) => {
|
|
|
+ forms.endTime = val
|
|
|
+ forms.endTimeStatus = false
|
|
|
+ forms.endTimeStr = dayjs(val).format('YYYY-MM-DD')
|
|
|
+ searchObj.type = '' as any
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ )}
|
|
|
</Popup>
|
|
|
</div>
|
|
|
)
|