Procházet zdrojové kódy

优化

1、两个加载
2、单元测验bug修复
3、协议显示
4、部分页面空样式处理居中
lex před 2 roky
rodič
revize
1f416efb10
68 změnil soubory, kde provedl 337 přidání a 138 odebrání
  1. 4 1
      src/components/o-empty/index.module.less
  2. 1 1
      src/components/o-empty/index.tsx
  3. 22 8
      src/components/o-protocol/index.tsx
  4. 11 1
      src/school/approval-manage/agency/index.tsx
  5. 5 2
      src/school/approval-manage/components/end-approval.tsx
  6. 7 2
      src/school/approval-manage/components/wait-approval.tsx
  7. 1 1
      src/school/approval-manage/subsidy/reward-detail.tsx
  8. 2 2
      src/school/attendance/components/attend-student.tsx
  9. 2 2
      src/school/attendance/components/attend-teacher.tsx
  10. 4 0
      src/school/attendance/components/attent-student.module.less
  11. 1 1
      src/school/attendance/student-att-day.tsx
  12. 3 3
      src/school/companion-teacher/compontent/teacher.tsx
  13. 4 0
      src/school/companion-teacher/index.module.less
  14. 2 2
      src/school/companion-teacher/index.tsx
  15. 3 3
      src/school/manage-teacher/index.tsx
  16. 1 1
      src/school/mass-message/component/class-list/index.tsx
  17. 1 1
      src/school/mass-message/component/manage-list/index.tsx
  18. 1 1
      src/school/mass-message/component/student-list/index.tsx
  19. 1 1
      src/school/mass-message/component/teacher-list/teacher-list.tsx
  20. 2 2
      src/school/mass-message/index.tsx
  21. 1 1
      src/school/orchestra-story/index.tsx
  22. 1 1
      src/school/orchestra/compontent/information.tsx
  23. 1 1
      src/school/orchestra/compontent/photo-create.tsx
  24. 1 1
      src/school/orchestra/compontent/photo-detail.tsx
  25. 2 2
      src/school/orchestra/compontent/photo.tsx
  26. 1 1
      src/school/orchestra/compontent/plan.tsx
  27. 3 3
      src/school/orchestra/index.tsx
  28. 1 1
      src/school/orchestra/modal/student-list.tsx
  29. 2 2
      src/school/orchestra/modal/teacher-list.tsx
  30. 1 1
      src/school/orchestra/orchestra-information.tsx
  31. 1 1
      src/school/ranking-list/components/day-bang.tsx
  32. 1 1
      src/school/ranking-list/components/timer-bang.tsx
  33. 4 3
      src/school/train-planning/modal/practice-class/index.tsx
  34. 1 1
      src/student/coupons/list.tsx
  35. 1 1
      src/student/music-group/layout/index.module.less
  36. 5 1
      src/student/music-group/pre-apply/component/apply.tsx
  37. 1 1
      src/student/music-group/pre-apply/component/order.tsx
  38. 1 1
      src/student/music-group/pre-apply/order-detail.tsx
  39. 1 1
      src/student/music-group/shop-address/index.tsx
  40. 1 1
      src/student/my-orchestra/index.tsx
  41. 1 1
      src/student/my-orchestra/photo-detail.tsx
  42. 1 1
      src/student/ranking-list/components/day-bang.tsx
  43. 1 1
      src/student/ranking-list/components/timer-bang.tsx
  44. 1 1
      src/student/trade-record/component/paid-list.tsx
  45. 1 1
      src/student/trade-record/component/refund-list.tsx
  46. 1 1
      src/student/trade-record/component/wait-pay.tsx
  47. 17 0
      src/styles/index.less
  48. 1 1
      src/teacher/attendance/index.tsx
  49. 1 1
      src/views/exercise-record/exercis-detail.tsx
  50. 1 1
      src/views/exercise-record/index.tsx
  51. 1 1
      src/views/information/help-center/index.tsx
  52. 1 1
      src/views/information/index.tsx
  53. 1 1
      src/views/layout/auth.module.less
  54. 1 1
      src/views/mine-orchestra/my-photo/index.tsx
  55. 2 2
      src/views/mine-orchestra/orchestra-deeds/index.tsx
  56. 2 2
      src/views/mine-orchestra/photo-list/detail.tsx
  57. 1 1
      src/views/mine-orchestra/photo-list/index.tsx
  58. 5 2
      src/views/unit-test/examination-mode/index.tsx
  59. 1 1
      src/views/unit-test/index.module.less
  60. 14 14
      src/views/unit-test/index.tsx
  61. 2 1
      src/views/unit-test/model/anser-title/index.module.less
  62. 3 4
      src/views/unit-test/model/answer-list/index.tsx
  63. 42 0
      src/views/unit-test/model/drag-question/index.module.less
  64. 89 27
      src/views/unit-test/model/drag-question/index.tsx
  65. 13 6
      src/views/unit-test/practice-mode/index.tsx
  66. 22 2
      src/views/unit-test/unit-detail/index.tsx
  67. 1 1
      src/views/unit-test/unit-list/index.tsx
  68. 1 1
      src/views/unit-test/unit-list/models/unit-student-list.tsx

+ 4 - 1
src/components/o-empty/index.module.less

@@ -1,5 +1,5 @@
 .col-result {
-  padding: 30px 14px 14px;
+  padding: 14px;
   text-align: center;
   margin: 0 auto;
   .tips {
@@ -16,6 +16,9 @@
       width: 210px;
       height: 210px;
     }
+    .van-empty {
+      padding-bottom: 60px;
+    }
   }
   .SMALL {
     :global {

+ 1 - 1
src/components/o-empty/index.tsx

@@ -82,7 +82,7 @@ export default defineComponent({
   },
   render() {
     return (
-      <div class={[styles['col-result'], 'col-result-container']}>
+      <div class={[styles['col-result'], 'o-result-container']}>
         <Empty
           image={this.image}
           imageSize={this.imageSize || ''}

+ 22 - 8
src/components/o-protocol/index.tsx

@@ -36,12 +36,12 @@ export default defineComponent({
   },
   async mounted() {
     try {
-      const { data } = await request.get('/api-student/userContractRecord/checkContractSign', {
-        params: {
-          contractType: this.prototcolType
-        }
-      })
-      this.exists = data || false
+      // const { data } = await request.get('/api-student/userContractRecord/checkContractSign', {
+      //   params: {
+      //     contractType: this.prototcolType
+      //   }
+      // })
+      // this.exists = data || false
       this.checked = this.checked || this.exists
       this.$emit('update:modelValue', this.checked || this.exists)
     } catch {
@@ -106,7 +106,7 @@ export default defineComponent({
   render() {
     return (
       <div class={styles.colProtocol}>
-        {!this.exists && (
+        {/* {!this.exists && (
           <Checkbox
             v-model={this.checked}
             v-slots={{
@@ -122,7 +122,21 @@ export default defineComponent({
             我已阅读并同意
           </Checkbox>
         )}
-        {this.exists && <>查看</>}
+        {this.exists && <>查看</>} */}
+        <Checkbox
+          v-model={this.checked}
+          v-slots={{
+            icon: (props: any) => (
+              <Icon
+                class={styles.boxStyle}
+                name={props.checked ? activeButtonIcon : inactiveButtonIcon}
+                size="15"
+              />
+            )
+          }}
+        >
+          我已阅读并同意
+        </Checkbox>
         <span onClick={this.getContractDetail} class={styles.protocolText}>
           {protocolText[this.prototcolType]}
         </span>

+ 11 - 1
src/school/approval-manage/agency/index.tsx

@@ -80,7 +80,17 @@ export default defineComponent({
         onRefresh={getData}
         style="min-height: calc(100vh - var(--van-nav-bar-height) - var(--header-height))"
       >
-        <div class={styles.wrap}>
+        <div
+          class={[
+            styles.wrap,
+            !loading.value &&
+              !data.salaryRecordList.length &&
+              !data.schoolWeekPhoto.expectPhotoNum &&
+              !data.schoolWeekNews.expectNewsNum &&
+              'emptyRootContainer'
+          ]}
+          style="min-height: inherit"
+        >
           {!data.salaryRecordList.length ? null : (
             <>
               {data.salaryRecordList.map((item: ISalaryRecord) => {

+ 5 - 2
src/school/approval-manage/components/end-approval.tsx

@@ -69,7 +69,10 @@ export default defineComponent({
     }
     return () => (
       <>
-        <div class={styles.approvalWrap}>
+        <div
+          class={[styles.approvalWrap, !showContact.value && 'emptyRootContainer']}
+          style="min-height: calc(100vh - var(--van-tabs-line-height) - var(--header-height) - 1.33333rem);"
+        >
           {showContact.value ? (
             <OFullRefresh
               v-model:modelValue={refreshing.value}
@@ -78,7 +81,7 @@ export default defineComponent({
             >
               <List
                 loading-text=" "
-                v-model:loading={loading.value}
+                // v-model:loading={loading.value}
                 finished={finished.value}
                 finished-text="没有更多了"
                 onLoad={getList}

+ 7 - 2
src/school/approval-manage/components/wait-approval.tsx

@@ -78,7 +78,7 @@ export default defineComponent({
           >
             {showContact.value ? (
               <List
-                v-model:loading={loading.value}
+                // v-model:loading={loading.value}
                 finished={finished.value}
                 finished-text="没有更多了"
                 loading-text=" "
@@ -96,7 +96,12 @@ export default defineComponent({
                 ))}
               </List>
             ) : (
-              <OEmpty />
+              <div
+                style="min-height: calc(100vh - var(--van-tabs-line-height) - var(--header-height) - 1.33333rem);"
+                class={[!showContact.value && 'emptyRootContainer']}
+              >
+                <OEmpty />
+              </div>
             )}
           </OFullRefresh>
         </div>

+ 1 - 1
src/school/approval-manage/subsidy/reward-detail.tsx

@@ -97,7 +97,7 @@ export default defineComponent({
           onRefresh={getData}
           style="min-height: calc(100vh - var(--header-height))"
         >
-          <div class={styles.wrap}>
+          <div class={[styles.wrap]}>
             <div class={styles.item}>
               <Cell center>
                 {{

+ 2 - 2
src/school/attendance/components/attend-student.tsx

@@ -220,7 +220,7 @@ export default defineComponent({
           >
             <List
               loading-text=" "
-              v-model:loading={loading.value}
+              // v-model:loading={loading.value}
               finished={finished.value}
               finished-text="没有更多了"
               onLoad={getList}
@@ -231,7 +231,7 @@ export default defineComponent({
             </List>
           </OFullRefresh>
         ) : (
-          <OEmpty></OEmpty>
+          <OEmpty class={styles.emptyTop}></OEmpty>
         )}
 
         <Popup v-model:show={state.showPopoverTime} position="bottom" style="{ height: '30%' }">

+ 2 - 2
src/school/attendance/components/attend-teacher.tsx

@@ -218,7 +218,7 @@ export default defineComponent({
           >
             <List
               loading-text=" "
-              v-model:loading={loading.value}
+              // v-model:loading={loading.value}
               finished={finished.value}
               finished-text="没有更多了"
               onLoad={getList}
@@ -229,7 +229,7 @@ export default defineComponent({
             </List>
           </OFullRefresh>
         ) : (
-          <OEmpty />
+          <OEmpty class={styles.emptyTop} />
         )}
 
         <Popup v-model:show={state.showPopoverTime} position="bottom" style="{ height: '30%' }">

+ 4 - 0
src/school/attendance/components/attent-student.module.less

@@ -19,3 +19,7 @@
     }
   }
 }
+
+.emptyTop {
+  margin-top: 130px;
+}

+ 1 - 1
src/school/attendance/student-att-day.tsx

@@ -136,7 +136,7 @@ export default defineComponent({
           >
             <List
               loading-text=" "
-              v-model:loading={loading.value}
+              // v-model:loading={loading.value}
               finished={finished.value}
               finished-text="没有更多了"
               onLoad={getList}

+ 3 - 3
src/school/companion-teacher/compontent/teacher.tsx

@@ -88,7 +88,7 @@ export default defineComponent({
       getList()
     })
     return () => (
-      <>
+      <div class={!form.listState.dataShow && 'emptyRootContainer'}>
         <OSticky position="top">
           <OHeader title="交接伴学指导" desotry={false} />
           <OSearch
@@ -103,7 +103,7 @@ export default defineComponent({
         </OSticky>
         {form.listState.dataShow ? (
           <List
-            v-model:loading={form.listState.loading}
+            // v-model:loading={form.listState.loading}
             finished={form.listState.finished}
             finishedText=" "
             class={[styles.liveList]}
@@ -134,7 +134,7 @@ export default defineComponent({
         ) : (
           <OEmpty btnStatus={false} tips="暂无伴学指导" />
         )}
-      </>
+      </div>
     )
   }
 })

+ 4 - 0
src/school/companion-teacher/index.module.less

@@ -197,3 +197,7 @@
     line-height: 20px;
   }
 }
+
+.emptyTop {
+  margin-top: 120px;
+}

+ 2 - 2
src/school/companion-teacher/index.tsx

@@ -210,7 +210,7 @@ export default defineComponent({
             }}
           >
             <List
-              v-model:loading={form.listState.loading}
+              // v-model:loading={form.listState.loading}
               finished={form.listState.finished}
               finishedText=" "
               class={[styles.liveList]}
@@ -283,7 +283,7 @@ export default defineComponent({
             </List>
           </OFullRefresh>
         ) : (
-          <OEmpty btnStatus={false} tips="暂无伴学指导" />
+          <OEmpty class={styles.emptyTop} btnStatus={false} tips="暂无伴学指导" />
         )}
 
         <Popup

+ 3 - 3
src/school/manage-teacher/index.tsx

@@ -120,7 +120,7 @@ export default defineComponent({
       }
     })
     return () => (
-      <>
+      <div class={!form.listState.dataShow && 'emptyRootContainer'}>
         <OSticky
           position="top"
           onGetHeight={(height: any) => {
@@ -176,7 +176,7 @@ export default defineComponent({
             }}
           >
             <List
-              v-model:loading={form.listState.loading}
+              // v-model:loading={form.listState.loading}
               finished={form.listState.finished}
               finishedText=" "
               class={[styles.liveList]}
@@ -229,7 +229,7 @@ export default defineComponent({
             onSearch()
           }}
         />
-      </>
+      </div>
     )
   }
 })

+ 1 - 1
src/school/mass-message/component/class-list/index.tsx

@@ -177,7 +177,7 @@ export default defineComponent({
 
         {forms.listState.dataShow ? (
           <List
-            v-model:loading={forms.listState.loading}
+            // v-model:loading={forms.listState.loading}
             finished={forms.listState.finished}
             finishedText=" "
             class={[styles.liveList]}

+ 1 - 1
src/school/mass-message/component/manage-list/index.tsx

@@ -159,7 +159,7 @@ export default defineComponent({
 
         {forms.listState.dataShow ? (
           <List
-            v-model:loading={forms.listState.loading}
+            // v-model:loading={forms.listState.loading}
             finished={forms.listState.finished}
             finishedText=" "
             onLoad={getList}

+ 1 - 1
src/school/mass-message/component/student-list/index.tsx

@@ -147,7 +147,7 @@ export default defineComponent({
 
         {forms.listState.dataShow ? (
           <List
-            v-model:loading={forms.listState.loading}
+            // v-model:loading={forms.listState.loading}
             finished={forms.listState.finished}
             finishedText=" "
             onLoad={getList}

+ 1 - 1
src/school/mass-message/component/teacher-list/teacher-list.tsx

@@ -160,7 +160,7 @@ export default defineComponent({
 
         {forms.listState.dataShow ? (
           <List
-            v-model:loading={forms.listState.loading}
+            // v-model:loading={forms.listState.loading}
             finished={forms.listState.finished}
             finishedText=" "
             onLoad={getList}

+ 2 - 2
src/school/mass-message/index.tsx

@@ -85,7 +85,7 @@ export default defineComponent({
       getList()
     })
     return () => (
-      <div class={styles.massMessage}>
+      <div class={[styles.massMessage, !state.dataShow && 'emptyRootContainer']}>
         <OSticky
           position="top"
           onGetHeight={(height: any) => {
@@ -140,7 +140,7 @@ export default defineComponent({
             }}
           >
             <List
-              v-model:loading={state.loading}
+              // v-model:loading={state.loading}
               finished={state.finished}
               finishedText=" "
               class={[styles.liveList]}

+ 1 - 1
src/school/orchestra-story/index.tsx

@@ -168,7 +168,7 @@ export default defineComponent({
           //   }}
           // >
           <List
-            v-model:loading={state.listState.loading}
+            // v-model:loading={state.listState.loading}
             finished={state.listState.finished}
             finishedText=" "
             class={[styles.liveList]}

+ 1 - 1
src/school/orchestra/compontent/information.tsx

@@ -257,7 +257,7 @@ export default defineComponent({
 
         {state.listState.dataShow ? (
           <List
-            v-model:loading={state.listState.loading}
+            // v-model:loading={state.listState.loading}
             finished={state.listState.finished}
             finishedText=" "
             class={[styles.liveList]}

+ 1 - 1
src/school/orchestra/compontent/photo-create.tsx

@@ -193,7 +193,7 @@ export default defineComponent({
         <div class={styles.phone}>
           {state.listState.dataShow ? (
             <List
-              v-model:loading={state.listState.loading}
+              // v-model:loading={state.listState.loading}
               finished={state.listState.finished}
               finishedText=" "
               onLoad={getList}

+ 1 - 1
src/school/orchestra/compontent/photo-detail.tsx

@@ -283,7 +283,7 @@ export default defineComponent({
 
         {state.listState.dataShow ? (
           <List
-            v-model:loading={state.listState.loading}
+            // v-model:loading={state.listState.loading}
             finished={state.listState.finished}
             finishedText=" "
             onLoad={getList}

+ 2 - 2
src/school/orchestra/compontent/photo.tsx

@@ -130,7 +130,7 @@ export default defineComponent({
       sessionStorage.setItem('orchestra-detail-tab', 'photo')
       router.push({
         path: '/orchestra-photo-create',
-        query:{
+        query: {
           orchestraId: route.query.id,
           name: item.name,
           parentId: item.id
@@ -195,7 +195,7 @@ export default defineComponent({
 
         {state.listState.dataShow ? (
           <List
-            v-model:loading={state.listState.loading}
+            // v-model:loading={state.listState.loading}
             finished={state.listState.finished}
             finishedText=" "
             onLoad={getList}

+ 1 - 1
src/school/orchestra/compontent/plan.tsx

@@ -168,7 +168,7 @@ export default defineComponent({
 
         {state.listState.dataShow ? (
           <List
-            v-model:loading={state.listState.loading}
+            // v-model:loading={state.listState.loading}
             finished={state.listState.finished}
             finishedText=" "
             class={[styles.liveList]}

+ 3 - 3
src/school/orchestra/index.tsx

@@ -114,7 +114,7 @@ export default defineComponent({
       getList()
     })
     return () => (
-      <>
+      <div class={!form.listState.dataShow && 'emptyRootContainer'}>
         <OSticky
           position="top"
           onGetHeight={(height: any) => {
@@ -165,7 +165,7 @@ export default defineComponent({
             }}
           >
             <List
-              v-model:loading={form.listState.loading}
+              // v-model:loading={form.listState.loading}
               finished={form.listState.finished}
               finishedText=" "
               class={[styles.liveList]}
@@ -196,7 +196,7 @@ export default defineComponent({
         ) : (
           <OEmpty btnStatus={false} tips="暂无乐团" />
         )}
-      </>
+      </div>
     )
   }
 })

+ 1 - 1
src/school/orchestra/modal/student-list.tsx

@@ -215,7 +215,7 @@ export default defineComponent({
 
         {state.listState.dataShow ? (
           <List
-            v-model:loading={state.listState.loading}
+            // v-model:loading={state.listState.loading}
             finished={state.listState.finished}
             finishedText=" "
             class={[styles.liveList]}

+ 2 - 2
src/school/orchestra/modal/teacher-list.tsx

@@ -131,7 +131,7 @@ export default defineComponent({
     })
 
     return () => (
-      <div>
+      <div class={!forms.listState.dataShow && 'emptyRootContainer'}>
         <OSticky position="top" mode={props.mode}>
           {props.header && <OHeader title="选择伴学指导" />}
           <OSearch
@@ -147,7 +147,7 @@ export default defineComponent({
 
         {forms.listState.dataShow ? (
           <List
-            v-model:loading={forms.listState.loading}
+            // v-model:loading={forms.listState.loading}
             finished={forms.listState.finished}
             finishedText=" "
             onLoad={getList}

+ 1 - 1
src/school/orchestra/orchestra-information.tsx

@@ -160,7 +160,7 @@ export default defineComponent({
             }}
           >
             <List
-              v-model:loading={state.listState.loading}
+              // v-model:loading={state.listState.loading}
               finished={state.listState.finished}
               finishedText=" "
               onLoad={getList}

+ 1 - 1
src/school/ranking-list/components/day-bang.tsx

@@ -222,7 +222,7 @@ export default defineComponent({
             style="min-height: 100vh;"
           >
             <List
-              v-model:loading={loading.value}
+              // v-model:loading={loading.value}
               finished={finished.value}
               finished-text="没有更多了"
               onLoad={getList}

+ 1 - 1
src/school/ranking-list/components/timer-bang.tsx

@@ -222,7 +222,7 @@ export default defineComponent({
         {showContact.value ? (
           <OFullRefresh v-model:modelValue={refreshing.value} onRefresh={onRefresh}>
             <List
-              v-model:loading={loading.value}
+              // v-model:loading={loading.value}
               finished={finished.value}
               finished-text="没有更多了"
               onLoad={getList}

+ 4 - 3
src/school/train-planning/modal/practice-class/index.tsx

@@ -67,7 +67,8 @@ export default defineComponent({
           data: {
             page: 1,
             rows: 100,
-            schoolId: baseState.user.data.school.id
+            schoolId: baseState.user.data.school.id,
+            status: 'DONE'
           }
         })
         const temps = data.rows || []
@@ -156,7 +157,7 @@ export default defineComponent({
     })
 
     return () => (
-      <div class={styles.practiceClass}>
+      <div class={[styles.practiceClass, !forms.listState.dataShow && 'emptyRootContainer']}>
         <OSticky position="top">
           <OHeader title="选择班级" desotry={false} />
           {!props.orchestraId && (
@@ -171,7 +172,7 @@ export default defineComponent({
 
         {forms.listState.dataShow ? (
           <List
-            v-model:loading={forms.listState.loading}
+            // v-model:loading={forms.listState.loading}
             finished={forms.listState.finished}
             style={{ marginTop: props.orchestraId ? '12px' : 0 }}
             finishedText=" "

+ 1 - 1
src/student/coupons/list.tsx

@@ -56,7 +56,7 @@ export default defineComponent({
       <>
         {this.listState.dataShow ? (
           <List
-            v-model:loading={this.listState.loading}
+            // v-model:loading={this.listState.loading}
             finished={this.listState.finished}
             finishedText=" "
             // 为了处理体验问题

+ 1 - 1
src/student/music-group/layout/index.module.less

@@ -20,7 +20,7 @@
   }
 
   :global {
-    .col-result-container,
+    .o-result-container,
     .van-empty {
       padding-top: 0;
     }

+ 5 - 1
src/student/music-group/pre-apply/component/apply.tsx

@@ -285,7 +285,11 @@ export default defineComponent({
 
                 // 切换订单时判断是否有支付中和已支付的订单,并且已注册过
                 // 判断学生所在乐团状态,如果在读则不允许更换声部(只能退团重新报名)
-                if (props.registerInfo?.registerStatus === 'LEARNING') {
+                // 退团重新报名也不能更新声部
+                if (
+                  props.registerInfo?.registerStatus === 'LEARNING' ||
+                  props.registerInfo?.registerStatus === 'OUTOF_ORCHESTRA'
+                ) {
                   state.subjectChangeStatus = true
                   return
                 }

+ 1 - 1
src/student/music-group/pre-apply/component/order.tsx

@@ -166,7 +166,7 @@ export default defineComponent({
       <div style={{ paddingTop: '20px' }}>
         {form.listState.dataShow ? (
           <List
-            v-model:loading={form.listState.loading}
+            // v-model:loading={form.listState.loading}
             finished={form.listState.finished}
             finishedText=" "
             class={[styles.liveList]}

+ 1 - 1
src/student/music-group/pre-apply/order-detail.tsx

@@ -441,7 +441,7 @@ export default defineComponent({
           <div class={styles.paymentContainer}>
             <div class={styles.payemntPrice}>
               <p class={styles.needPrice}>
-                共需支付:<span>¥{moneyFormat(state.orderInfo.currentPrice)}</span>
+                支付金额:<span>¥{moneyFormat(state.orderInfo.currentPrice)}</span>
               </p>
             </div>
             <div class={styles.paymentBtn}>

+ 1 - 1
src/student/music-group/shop-address/index.tsx

@@ -106,7 +106,7 @@ export default defineComponent({
       <div class={styles.shopAddress}>
         {form.listState.dataShow ? (
           <List
-            v-model:loading={form.listState.loading}
+            // v-model:loading={form.listState.loading}
             finished={form.listState.finished}
             finishedText=" "
             class={[styles.liveList]}

+ 1 - 1
src/student/my-orchestra/index.tsx

@@ -232,7 +232,7 @@ export default defineComponent({
             </div>
             {state.listState.dataShow ? (
               <List
-                v-model:loading={state.listState.loading}
+                // v-model:loading={state.listState.loading}
                 finished={state.listState.finished}
                 finishedText=" "
                 onLoad={getList}

+ 1 - 1
src/student/my-orchestra/photo-detail.tsx

@@ -78,7 +78,7 @@ export default defineComponent({
 
         {state.listState.dataShow ? (
           <List
-            v-model:loading={state.listState.loading}
+            // v-model:loading={state.listState.loading}
             finished={state.listState.finished}
             finishedText=" "
             onLoad={getList}

+ 1 - 1
src/student/ranking-list/components/day-bang.tsx

@@ -123,7 +123,7 @@ export default defineComponent({
             >
               <List
                 loading-text=" "
-                v-model:loading={loading.value}
+                // v-model:loading={loading.value}
                 finished={finished.value}
                 finished-text="没有更多了"
                 onLoad={getList}

+ 1 - 1
src/student/ranking-list/components/timer-bang.tsx

@@ -121,7 +121,7 @@ export default defineComponent({
               style="min-height: 100vh;"
             >
               <List
-                v-model:loading={loading.value}
+                // v-model:loading={loading.value}
                 finished={finished.value}
                 finished-text="没有更多了"
                 onLoad={getList}

+ 1 - 1
src/student/trade-record/component/paid-list.tsx

@@ -224,7 +224,7 @@ export default defineComponent({
             }}
           >
             <List
-              v-model:loading={form.listState.loading}
+              // v-model:loading={form.listState.loading}
               finished={form.listState.finished}
               finishedText=" "
               class={[styles.liveList]}

+ 1 - 1
src/student/trade-record/component/refund-list.tsx

@@ -137,7 +137,7 @@ export default defineComponent({
             }}
           >
             <List
-              v-model:loading={form.listState.loading}
+              // v-model:loading={form.listState.loading}
               finished={form.listState.finished}
               finishedText=" "
               class={[styles.liveList]}

+ 1 - 1
src/student/trade-record/component/wait-pay.tsx

@@ -187,7 +187,7 @@ export default defineComponent({
             }}
           >
             <List
-              v-model:loading={form.listState.loading}
+              // v-model:loading={form.listState.loading}
               finished={form.listState.finished}
               finishedText=" "
               class={[styles.liveList]}

+ 17 - 0
src/styles/index.less

@@ -204,7 +204,24 @@ body {
   color: #d8d8d8;
 }
 
+.van-field__control {
+  font-size: 16px;
+}
+
 @font-face {
   font-family: 'DINA';
   src: url('./font/DIN_Alternate_Bold.ttf');
 }
+
+.emptyRootContainer {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  min-height: 100vh;
+  flex-direction: column;
+  .o-result-container {
+    flex: 1 auto;
+    display: flex;
+    align-items: center;
+  }
+}

+ 1 - 1
src/teacher/attendance/index.tsx

@@ -207,7 +207,7 @@ export default defineComponent({
           >
             <List
               loading-text=" "
-              v-model:loading={loading.value}
+              // v-model:loading={loading.value}
               finished={finished.value}
               finished-text="没有更多了"
               onLoad={getList}

+ 1 - 1
src/views/exercise-record/exercis-detail.tsx

@@ -253,7 +253,7 @@ export default defineComponent({
             >
               <List
                 loading-text=" "
-                v-model:loading={loading.value}
+                // v-model:loading={loading.value}
                 finished={finished.value}
                 finished-text="没有更多了"
                 onLoad={getList}

+ 1 - 1
src/views/exercise-record/index.tsx

@@ -290,7 +290,7 @@ export default defineComponent({
           >
             <List
               loading-text=" "
-              v-model:loading={loading.value}
+              // v-model:loading={loading.value}
               finished={finished.value}
               finished-text="没有更多了"
               onLoad={getList}

+ 1 - 1
src/views/information/help-center/index.tsx

@@ -79,7 +79,7 @@ export default defineComponent({
 
         {form.listState.dataShow ? (
           <List
-            v-model:loading={form.listState.loading}
+            // v-model:loading={form.listState.loading}
             finished={form.listState.finished}
             finishedText=" "
             class={styles.container}

+ 1 - 1
src/views/information/index.tsx

@@ -92,7 +92,7 @@ export default defineComponent({
 
         {form.listState.dataShow ? (
           <List
-            v-model:loading={form.listState.loading}
+            // v-model:loading={form.listState.loading}
             finished={form.listState.finished}
             finishedText=" "
             class={[styles.container, styles.containerInformation]}

+ 1 - 1
src/views/layout/auth.module.less

@@ -20,7 +20,7 @@
   }
 
   :global {
-    .col-result-container,
+    .o-result-container,
     .van-empty {
       padding-top: 0;
     }

+ 1 - 1
src/views/mine-orchestra/my-photo/index.tsx

@@ -70,7 +70,7 @@ export default defineComponent({
       <div class={styles.phoneDetail}>
         {!data.loading && !!data.list.length && (
           <List
-            v-model:loading={data.loading}
+            // v-model:loading={data.loading}
             finished={data.finished}
             finishedText="没有更多数据"
             onLoad={getList}

+ 2 - 2
src/views/mine-orchestra/orchestra-deeds/index.tsx

@@ -21,7 +21,7 @@ import request from '@/helpers/request'
 import OEmpty from '@/components/o-empty'
 import dayjs from 'dayjs'
 import OVideo from '@/components/o-video'
-import {state as globalState} from '@/state'
+import { state as globalState } from '@/state'
 
 export default defineComponent({
   name: 'orchestra-story',
@@ -85,7 +85,7 @@ export default defineComponent({
       <div class={styles.orchestraStory}>
         {state.listState.dataShow ? (
           <List
-            v-model:loading={state.listState.loading}
+            // v-model:loading={state.listState.loading}
             finished={state.listState.finished}
             finishedText=" "
             class={[styles.liveList]}

+ 2 - 2
src/views/mine-orchestra/photo-list/detail.tsx

@@ -75,7 +75,7 @@ export default defineComponent({
         <div class={styles.phoneDetail}>
           {!data.loading && !!data.list.length && (
             <List
-              v-model:loading={data.loading}
+              // v-model:loading={data.loading}
               finished={data.finished}
               finishedText="没有更多数据"
               onLoad={getList}
@@ -92,7 +92,7 @@ export default defineComponent({
                       fit="cover"
                     >
                       {{
-                        loading: () => <Loading type="spinner" />,
+                        loading: () => <Loading type="spinner" />
                       }}
                     </Image>
                   </GridItem>

+ 1 - 1
src/views/mine-orchestra/photo-list/index.tsx

@@ -77,7 +77,7 @@ export default defineComponent({
         <div class={styles.phoneDetail}>
           {!data.loading && !!data.list.length && (
             <List
-              v-model:loading={data.loading}
+              // v-model:loading={data.loading}
               finished={data.finished}
               finishedText="没有更多数据"
               onLoad={getList}

+ 5 - 2
src/views/unit-test/examination-mode/index.tsx

@@ -116,8 +116,11 @@ export default defineComponent({
       nextTick(() => {
         window.scrollTo(0, 0)
         setTimeout(() => {
-          const currentItemDom: Element =
-            document.querySelectorAll('.swipe-item-question')[state.currentIndex]
+          // const currentItemDom: Element =
+          //   document.querySelectorAll('.swipe-item-question')[state.currentIndex]
+          const currentItemDom: any = document
+            .querySelectorAll('.van-swipe-item')
+            [state.currentIndex].querySelector('.swipe-item-question')
           const rect = useRect(currentItemDom)
 
           state.swipeHeight = rect.height

+ 1 - 1
src/views/unit-test/index.module.less

@@ -30,7 +30,7 @@
     }
     .unitTitle {
       color: #333333;
-      max-width: 150px;
+      max-width: 180px;
       line-height: 22px;
     }
 

+ 14 - 14
src/views/unit-test/index.tsx

@@ -184,7 +184,7 @@ export default defineComponent({
             }}
           >
             <List
-              v-model:loading={form.listState.loading}
+              // v-model:loading={form.listState.loading}
               finished={form.listState.finished}
               finishedText=" "
               class={[styles.liveList]}
@@ -198,23 +198,23 @@ export default defineComponent({
               </audio> */}
               {form.list.map((item: any) => (
                 <CellGroup inset class={styles.cellGroup} border={false}>
-                  <Cell center isLink clickable={false}>
+                  <Cell
+                    center
+                    isLink
+                    clickable={false}
+                    titleStyle={{ flex: '1 auto' }}
+                    valueClass={[
+                      styles['no-start'],
+                      item.status === 'A_PASS' && styles.pass,
+                      item.status === 'B_NO_PASS' && styles['no-pass']
+                    ]}
+                  >
                     {{
                       icon: () => <Image src={iconEdit} class={styles.img} />,
                       title: () => (
-                        <span class={[styles.unitTitle, 'van-ellipsis']}>{item.name}</span>
+                        <div class={[styles.unitTitle, 'van-ellipsis']}>{item.name}</div>
                       ),
-                      value: () => (
-                        <span
-                          class={[
-                            styles['no-start'],
-                            item.status === 'A_PASS' && styles.pass,
-                            item.status === 'B_NO_PASS' && styles['no-pass']
-                          ]}
-                        >
-                          {unitTestStatus[item.status]}
-                        </span>
-                      )
+                      value: () => unitTestStatus[item.status]
                     }}
                   </Cell>
                   <Cell center class={styles.unitSection}>

+ 2 - 1
src/views/unit-test/model/anser-title/index.module.less

@@ -17,7 +17,8 @@
   padding-top: 20px;
   padding-bottom: 10px;
   font-size: 14px;
-  img {
+  img,
+  video {
     width: 100%;
   }
 }

+ 3 - 4
src/views/unit-test/model/answer-list/index.tsx

@@ -14,7 +14,7 @@ export default defineComponent({
       default: 0
     },
     lookType: {
-      type: String as PropType<'ANSWER' | 'RESULT' | 'CLICK'>,
+      type: String as PropType<'ANSWER' | 'RESULT' | 'CLICK' | 'PRACTICE'>,
       default: 'ANSWER'
     },
     statusList: {
@@ -52,8 +52,6 @@ export default defineComponent({
       return result
     }
 
-    console.log(props.answerResult, 'props.answerResult')
-
     return () => (
       <div class={styles.anserList}>
         {props.statusList.length > 0 && (
@@ -86,7 +84,8 @@ export default defineComponent({
                       styles.answered,
                     props.lookType === 'RESULT' &&
                       (formatUserResult(item.id) ? styles.yes : styles.no),
-                    props.lookType === 'CLICK' && index === props.index && styles.answered
+                    props.lookType === 'CLICK' && index === props.index && styles.answered,
+                    item.showAnalysis ? (item.analysis.userResult ? styles.yes : styles.no) : ''
                   ]}
                 >
                   {index + 1}

+ 42 - 0
src/views/unit-test/model/drag-question/index.module.less

@@ -11,6 +11,47 @@
 
 .unitAnswers {
   // padding-bottom: 30px;
+
+  .unitAnswer {
+    margin-top: 15px;
+    background: #f6f6f6;
+    border-radius: 8px;
+    padding: 15px 12px;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    font-size: 16px;
+    font-weight: 500;
+    color: #333333;
+    .option {
+      margin-right: 10px;
+    }
+    .value {
+      word-break: break-all;
+      :global {
+        .van-image {
+          height: 38px;
+        }
+      }
+    }
+    .valueAudio {
+      width: 170px;
+    }
+  }
+  .active {
+    background-color: #ffebdd;
+    color: #f67146;
+  }
+
+  .answerContent {
+    display: flex;
+    align-items: center;
+  }
+  .answerChoice {
+    font-size: 16px;
+    font-weight: 500;
+    line-height: 26px;
+  }
   :global {
     .sortable-ghost {
       opacity: 0.5;
@@ -52,6 +93,7 @@
     background: #ffebdd;
     color: #f67146;
     justify-content: center;
+    margin-bottom: 8px;
   }
 
   .imgs {

+ 89 - 27
src/views/unit-test/model/drag-question/index.tsx

@@ -99,11 +99,52 @@ export default defineComponent({
       emit('update:value', result)
     }
 
+    // 修改题目逻辑
+    const onSelectAnswer = (item: any) => {
+      // 判断是否已经选中了
+      if (item.checked) return
+      const result: any = []
+      state.options.forEach((option: any) => {
+        const originOption = answers.value.find(
+          (child: any) => child.examinationQuestionAnswerId === option.rightIndex
+        )
+        result.push({
+          answerId: option.index,
+          answer: option.leftValue,
+          answerExtra: originOption.questionAnswer
+        })
+      })
+      const rightOption = answers.value[state.options.length]
+      result.push({
+        answerId: item.examinationQuestionAnswerId,
+        answer: item.questionAnswer,
+        answerExtra: rightOption.questionExtra
+      })
+      emit('update:value', result)
+
+      initOptions()
+    }
+
+    const answers = computed(() => {
+      const list: any = props.data.answers || []
+      const value: any = props.value || []
+
+      list.forEach((item: any) => {
+        const tempIndex = value.findIndex(
+          (c: any) => c.answerId === item.examinationQuestionAnswerId
+        )
+        if (tempIndex !== -1) {
+          item.checked = tempIndex !== -1 ? true : false
+        }
+      })
+      return list
+    })
     const initOptions = () => {
       const answers = props.data.answers || []
       const userAnswer = props.data.userAnswer || [] // 用户填写的答案
+      state.options = []
       if (userAnswer.length > 0) {
-        userAnswer.forEach((answer: any) => {
+        userAnswer.forEach((answer: any, index: any) => {
           const rightOption = answers.find(
             (child: any) => answer.answerId === child.examinationQuestionAnswerId
           )
@@ -111,6 +152,7 @@ export default defineComponent({
             (child: any) => answer.answerExtra === child.questionExtra
           )
           const tmp = {
+            itemIndex: index,
             index: answer.answerId, // 左边的值
             leftValue: answer.answer, // 左边的值
             rightValue: answer.answerExtra, // 右边的值
@@ -118,29 +160,28 @@ export default defineComponent({
             rightType: rightOption.questionExtraTypeCode || 'TXT', // 右边类型
             rightIndex: rightValue ? rightValue.examinationQuestionAnswerId : ''
           }
-          console.log(tmp, '1212')
-          state.options.push(tmp)
-        })
-      } else {
-        const resultValue: any = []
-        answers.forEach((answer: any) => {
-          const tmp = {
-            index: answer.examinationQuestionAnswerId, // 左边的值
-            leftValue: answer.questionAnswer, // 左边的值
-            rightValue: answer.questionExtra, // 右边的值
-            leftType: answer.questionAnswerTypeCode || 'TXT', // 左边类型
-            rightType: answer.questionExtraTypeCode || 'TXT' // 右边类型
-          }
-          resultValue.push({
-            answerId: answer.examinationQuestionAnswerId,
-            answer: answer.questionAnswer,
-            answerExtra: answer.questionExtra
-          })
           state.options.push(tmp)
         })
-        // 进页面就默认初始化答案
-        // emit('update:value', resultValue)
       }
+      //  else {
+      //   const resultValue: any = []
+      //   answers.forEach((answer: any) => {
+      //     const tmp = {
+      //       index: answer.examinationQuestionAnswerId, // 左边的值
+      //       leftValue: answer.questionAnswer, // 左边的值
+      //       rightValue: answer.questionExtra, // 右边的值
+      //       leftType: answer.questionAnswerTypeCode || 'TXT', // 左边类型
+      //       rightType: answer.questionExtraTypeCode || 'TXT' // 右边类型
+      //     }
+      //     resultValue.push({
+      //       answerId: answer.examinationQuestionAnswerId,
+      //       answer: answer.questionAnswer,
+      //       answerExtra: answer.questionExtra
+      //     })
+      //     state.options.push(tmp)
+      //   })
+      //   // 进页面就默认初始化答案
+      // }
     }
 
     onMounted(() => {
@@ -164,19 +205,40 @@ export default defineComponent({
             }}
           />
 
-          <div class={[styles.unitAnswers, 'van-hairline--top']}>
-            <div class={styles.sortReset}>
-              <span class={styles.tips}>请长按拖拽答案进行排序</span>
+          <div class={[styles.unitAnswers]}>
+            {answers.value.map((item: any, index: number) => (
+              <div
+                class={[styles.unitAnswer, item.checked && styles.active]}
+                onClick={() => onSelectAnswer(item)}
+              >
+                <div class={styles.answerContent}>
+                  <span class={styles.option}>{labelOptions[index + 1]}.</span>
+                  {item.questionAnswerTypeCode === AnswerType.IMAGE && (
+                    <div class={styles.value}>
+                      <Image src={item.questionAnswer} />
+                    </div>
+                  )}
+                  {item.questionAnswerTypeCode === AnswerType.TXT && (
+                    <div class={styles.value}>{item.questionAnswer}</div>
+                  )}
+                </div>
+                {props.showRate && <div class={styles.answerChoice}>{item.selectRate}%人选择</div>}
+              </div>
+            ))}
+            <div class={[styles.sortReset, 'van-hairline--top']}>
+              <span class={styles.tips}>我的回答(可拖拽)</span>
               <Button
                 type="primary"
                 round
                 disabled={props.readOnly}
                 onClick={() => {
                   const ids: any = []
-                  const answers = props.data.answers || []
+                  const answers = state.options || []
+                  // console.log(answers, 'reset')
                   answers.forEach((item: any) => {
-                    ids.push(item.examinationQuestionAnswerId)
+                    ids.push(item.itemIndex)
                   })
+                  console.log(ids)
                   state.sortable.sort(
                     ids.sort((a: any, b: any) => a - b),
                     true
@@ -192,7 +254,7 @@ export default defineComponent({
               {state.options.map((item: any) => (
                 <>
                   {item.leftType === AnswerType.TXT && (
-                    <Tag class={[styles.items]} data-id={item.index}>
+                    <Tag class={[styles.items]} data-id={item.itemIndex}>
                       {item.leftValue}
                     </Tag>
                   )}

+ 13 - 6
src/views/unit-test/practice-mode/index.tsx

@@ -184,13 +184,17 @@ export default defineComponent({
 
     /**
      * @description 重置当前的题目高度
+     * @param {any} scroll 是否滚动到顶部
      */
-    const resizeSwipeItemHeight = () => {
+    const resizeSwipeItemHeight = (scroll = true) => {
       nextTick(() => {
-        window.scrollTo(0, 0)
+        scroll && window.scrollTo(0, 0)
         setTimeout(() => {
-          const currentItemDom: Element =
-            document.querySelectorAll('.swipe-item-question')[state.currentIndex]
+          // const currentItemDom: Element =
+          //   document.querySelectorAll('.swipe-item-question')[state.currentIndex]
+          const currentItemDom: any = document
+            .querySelectorAll('.van-swipe-item')
+            [state.currentIndex].querySelector('.swipe-item-question')
           const rect = useRect(currentItemDom)
           state.swipeHeight = rect.height
         }, 100)
@@ -367,6 +371,9 @@ export default defineComponent({
                 {item.questionTypeCode === QuestionType.SORT && (
                   <DragQuestion
                     v-model:value={item.userAnswer}
+                    onUpdate:value={() => {
+                      resizeSwipeItemHeight(false)
+                    }}
                     data={item}
                     index={index + 1}
                     showAnalysis={item.showAnalysis}
@@ -421,7 +428,6 @@ export default defineComponent({
               disabled={state.nextStatus}
             >
               提交
-              {/* {state.questionList.length === state.currentIndex + 1 ? '提交' : '提交'} */}
             </Button>
             <Image
               src={iconButtonList}
@@ -434,7 +440,8 @@ export default defineComponent({
         {/* 题目集合 */}
         <ActionSheet v-model:show={state.visiableAnswer} title="题目列表" safeAreaInsetBottom>
           <AnswerList
-            value={[1, 3, 4]}
+            value={state.questionList}
+            lookType={'PRACTICE'}
             statusList={[
               {
                 text: '答对',

+ 22 - 2
src/views/unit-test/unit-detail/index.tsx

@@ -156,9 +156,13 @@ export default defineComponent({
       nextTick(() => {
         window.scrollTo(0, 0)
         setTimeout(() => {
-          const currentItemDom: Element =
-            document.querySelectorAll('.swipe-item-question')[state.currentIndex]
+          const currentItemDom: any = document
+            .querySelectorAll('.van-swipe-item')
+            [state.currentIndex].querySelector('.swipe-item-question')
           const rect = useRect(currentItemDom)
+          console.log('🚀 ~ setTimeout ~ currentItemDom', currentItemDom)
+          console.log('🚀 ~ setTimeout ~ rect', rect, state.currentIndex)
+
           state.swipeHeight = rect.height
         }, 100)
       })
@@ -223,6 +227,22 @@ export default defineComponent({
           height={state.swipeHeight}
           onChange={(index: number) => {
             state.currentIndex = index
+            // .swipe-item-question
+            // const t = setInterval(() => {
+            //   console.log(document.querySelectorAll('.van-swipe-item')[state.currentIndex])
+            //   console.log(
+            //     document
+            //       .querySelectorAll('.van-swipe-item')
+            //       [state.currentIndex].querySelector('.swipe-item-question')
+            //   )
+            //   if (
+            //     document
+            //       .querySelectorAll('.van-swipe-item')
+            //       [state.currentIndex].querySelector('.swipe-item-question')
+            //   ) {
+            //     clearInterval(t)
+            //   }
+            // }, 100)
             resizeSwipeItemHeight()
           }}
         >

+ 1 - 1
src/views/unit-test/unit-list/index.tsx

@@ -132,7 +132,7 @@ export default defineComponent({
             style="min-height: 100vh;"
           >
             <List
-              v-model:loading={form.listState.loading}
+              // v-model:loading={form.listState.loading}
               finished={form.listState.finished}
               finishedText=" "
               class={[styles.liveList]}

+ 1 - 1
src/views/unit-test/unit-list/models/unit-student-list.tsx

@@ -187,7 +187,7 @@ export default defineComponent({
             }}
           >
             <List
-              v-model:loading={form.listState.loading}
+              // v-model:loading={form.listState.loading}
               finished={form.listState.finished}
               finishedText=" "
               class={[styles.liveList]}