|
@@ -206,65 +206,65 @@
|
206
|
206
|
class="scroll"
|
207
|
207
|
> -->
|
208
|
208
|
<!-- <div v-if="classRoomList.length > 0" style="width: 100%; height: 100%"> -->
|
209
|
|
- <div
|
210
|
|
- style="height: 342px; overflow: hidden; padding-top: 10px"
|
211
|
|
- v-if="classRoomList.length > 0"
|
212
|
|
- >
|
213
|
|
- <scroll
|
214
|
|
-
|
215
|
|
- :content="classRoomList"
|
216
|
|
- class="vue3-seamless-scroll"
|
217
|
|
- :hover="true"
|
218
|
|
- :wheel="true"
|
219
|
|
- direction="top"
|
220
|
|
- ref="scrollRef"
|
221
|
|
- :mask="false"
|
222
|
|
-
|
|
209
|
+ <div class="scroll-container" ref="scrollContainerRef">
|
|
210
|
+ <div
|
|
211
|
+
|
|
212
|
+ :style="{height:scrollContainerHeight+'px',overflow: 'hidden',paddingTop: '10px'}"
|
|
213
|
+ v-if="classRoomList.length > 0"
|
223
|
214
|
>
|
224
|
|
- <template #default="{item}" >
|
225
|
|
- <div class="list-item" >
|
226
|
|
- <div class="class-status-btn-container">
|
227
|
|
- <div class="left-class-status">
|
228
|
|
- <div style="margin-right: 16px">
|
229
|
|
- {{ item.classroom_name }}
|
|
215
|
+ <scroll
|
|
216
|
+ :content="classRoomList"
|
|
217
|
+ class="vue3-seamless-scroll"
|
|
218
|
+ :hover="true"
|
|
219
|
+ :wheel="true"
|
|
220
|
+ direction="top"
|
|
221
|
+ ref="scrollRef"
|
|
222
|
+ :mask="false"
|
|
223
|
+ >
|
|
224
|
+ <template #default="{ item }">
|
|
225
|
+ <div class="list-item">
|
|
226
|
+ <div class="class-status-btn-container">
|
|
227
|
+ <div class="left-class-status">
|
|
228
|
+ <div style="margin-right: 16px">
|
|
229
|
+ {{ item.classroom_name }}
|
|
230
|
+ </div>
|
|
231
|
+ <Tag :text="item.status_code"></Tag>
|
230
|
232
|
</div>
|
231
|
|
- <Tag :text="item.status_code"></Tag>
|
232
|
|
- </div>
|
233
|
|
- <div class="right-btn" @click.prevent="handleRoom(item)">
|
234
|
|
- 查看
|
235
|
|
- </div>
|
236
|
|
- </div>
|
237
|
|
-
|
238
|
|
- <div class="item-content">
|
239
|
|
- <div class="item-content-left">
|
240
|
|
- <div class="position">位置:{{ item.location }}</div>
|
241
|
|
- <div class="course" v-if="item.course_name">
|
242
|
|
- 课程:{{ item.course_name }}
|
|
233
|
+ <div class="right-btn" @click.prevent="handleRoom(item)">
|
|
234
|
+ 查看
|
243
|
235
|
</div>
|
244
|
236
|
</div>
|
245
|
|
- <div class="item-content-right">
|
246
|
|
- <div>类型:{{ item.category }}</div>
|
247
|
|
- <div class="person-rate-container">
|
248
|
|
- <div v-if="item.actual != null">
|
249
|
|
- 实到/应到:{{ item.actual }}/{{ item.expected }}
|
|
237
|
+
|
|
238
|
+ <div class="item-content">
|
|
239
|
+ <div class="item-content-left">
|
|
240
|
+ <div class="position">位置:{{ item.location }}</div>
|
|
241
|
+ <div class="course" v-if="item.course_name">
|
|
242
|
+ 课程:{{ item.course_name }}
|
250
|
243
|
</div>
|
251
|
|
- <div
|
252
|
|
- style="margin-left: 8px"
|
253
|
|
- v-if="item.actual != null"
|
254
|
|
- >
|
255
|
|
- 到课率:{{
|
256
|
|
- (item.actual / item.expected).toFixed(2) * 100 || 0
|
257
|
|
- }}%
|
|
244
|
+ </div>
|
|
245
|
+ <div class="item-content-right">
|
|
246
|
+ <div>类型:{{ item.category }}</div>
|
|
247
|
+ <div class="person-rate-container">
|
|
248
|
+ <div v-if="item.actual != null">
|
|
249
|
+ 实到/应到:{{ item.actual }}/{{ item.expected }}
|
|
250
|
+ </div>
|
|
251
|
+ <div
|
|
252
|
+ style="margin-left: 8px"
|
|
253
|
+ v-if="item.actual != null"
|
|
254
|
+ >
|
|
255
|
+ 到课率:{{
|
|
256
|
+ (item.actual / item.expected).toFixed(2) * 100 ||
|
|
257
|
+ 0
|
|
258
|
+ }}%
|
|
259
|
+ </div>
|
258
|
260
|
</div>
|
259
|
261
|
</div>
|
260
|
262
|
</div>
|
261
|
263
|
</div>
|
262
|
|
- </div>
|
263
|
|
- </template>
|
264
|
|
- </scroll>
|
|
264
|
+ </template>
|
|
265
|
+ </scroll>
|
|
266
|
+ </div>
|
265
|
267
|
</div>
|
266
|
|
-
|
267
|
|
-
|
268
|
268
|
</div>
|
269
|
269
|
<!-- </div> -->
|
270
|
270
|
</div>
|
|
@@ -373,7 +373,7 @@ export default {
|
373
|
373
|
Tag,
|
374
|
374
|
Vue3SeamlessScroll,
|
375
|
375
|
VerticalScroll,
|
376
|
|
- Scroll
|
|
376
|
+ Scroll,
|
377
|
377
|
},
|
378
|
378
|
setup(_, { emit }) {
|
379
|
379
|
// 教室分类统计
|
|
@@ -658,6 +658,8 @@ export default {
|
658
|
658
|
|
659
|
659
|
let timer = ref(null);
|
660
|
660
|
let testMain = ref(null);
|
|
661
|
+ let scrollContainerRef =ref(null)
|
|
662
|
+ let scrollContainerHeight = ref(null)
|
661
|
663
|
onMounted(() => {
|
662
|
664
|
getClassData();
|
663
|
665
|
start();
|
|
@@ -665,6 +667,11 @@ export default {
|
665
|
667
|
getClassSelections();
|
666
|
668
|
//获取教室列表数据
|
667
|
669
|
getClassRoomList();
|
|
670
|
+ scrollContainerHeight.value =scrollContainerRef.value.clientHeight
|
|
671
|
+ window.addEventListener("resize", function () {
|
|
672
|
+ scrollContainerHeight.value =scrollContainerRef.value.clientHeight
|
|
673
|
+ });
|
|
674
|
+
|
668
|
675
|
});
|
669
|
676
|
|
670
|
677
|
onBeforeUnmount(() => {
|
|
@@ -802,7 +809,6 @@ export default {
|
802
|
809
|
let scrollRef = ref(null);
|
803
|
810
|
const offset = () => {
|
804
|
811
|
console.log("滚动完成一次");
|
805
|
|
-
|
806
|
812
|
};
|
807
|
813
|
const searchHandel = async () => {
|
808
|
814
|
getClassRoomList();
|
|
@@ -874,6 +880,8 @@ export default {
|
874
|
880
|
cureetStatus,
|
875
|
881
|
scrollRef,
|
876
|
882
|
offset,
|
|
883
|
+ scrollContainerHeight,
|
|
884
|
+ scrollContainerRef
|
877
|
885
|
};
|
878
|
886
|
},
|
879
|
887
|
};
|