Selaa lähdekoodia

Merge branch 'master' into jenkins

skyblued 2 vuotta sitten
vanhempi
commit
aa0347984f

+ 5 - 1
src/components/o-upload-all/index.tsx

@@ -48,7 +48,11 @@ export default defineComponent({
     },
     bucket: {
       type: String,
-      default: 'daya'
+      default: 'gyt'
+    },
+    path: {
+      type: String,
+      default: ''
     },
     uploadIcon: {
       type: String,

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

@@ -55,7 +55,7 @@ export default defineComponent({
     },
     bucket: {
       type: String,
-      default: 'daya'
+      default: 'gyt'
     },
     path: {
       // 创建的目录

+ 4 - 0
src/school/manage-teacher/manage-teacher-register.tsx

@@ -332,6 +332,8 @@ export default defineComponent({
                     <OUpload
                       style={{ width: '100%' }}
                       tips="上传身份证正面"
+                      bucket="gyt"
+                      path="/user/"
                       v-model:modelValue={state.forms.idcardFrontImg}
                     />
                   )
@@ -352,6 +354,8 @@ export default defineComponent({
                     <OUpload
                       style={{ width: '100%' }}
                       tips="上传身份证反面"
+                      bucket="gyt"
+                      path="/user/"
                       v-model:modelValue={state.forms.idcardBackImg}
                     />
                   )

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

@@ -39,7 +39,7 @@ export default defineComponent({
     const forms = reactive({
       id: route.query.id,
       type: 'ADD',
-      bucket: 'daya',
+      bucket: 'gyt',
       sendStatus: false,
       sendType: 'IMMEDIATELY' as any,
       textMessage: null,
@@ -91,7 +91,7 @@ export default defineComponent({
         // 获取签名
         const signUrl = '/api-school/open/getUploadSign'
         const tempName = file.name || ''
-        const fileName = tempName && tempName.replace(/ /gi, '_')
+        const fileName = '/i-m/' + (tempName && tempName.replace(/ /gi, '_'))
         const key = new Date().getTime() + fileName
         showLoadingToast({
           message: '加载中...',

+ 22 - 16
src/school/orchestra/compontent/photo-create.tsx

@@ -65,9 +65,12 @@ export default defineComponent({
               parentId: route.query.parentId
             }
           })
-          setTimeout(() => {
-            showToast('添加成功')
-          }, 100)
+          // setTimeout(() => {
+          //   showToast('添加成功')
+          // }, 100)
+          state.status = false
+          state.photoName = null
+          onSearch()
         } else {
           await request.post('/api-school/orchestraPhotoAlbum/update', {
             data: {
@@ -77,15 +80,18 @@ export default defineComponent({
               name: state.photoName
             }
           })
-          setTimeout(() => {
-            showToast('修改成功')
-          }, 100)
-        }
-        state.status = false
-        setTimeout(() => {
+          // setTimeout(() => {
+          //   showToast('修改成功')
+          // }, 100)
+          state.status = false
           state.photoName = null
           onSearch()
-        }, 1100)
+        }
+
+        // setTimeout(() => {
+        //   state.photoName = null
+        //   onSearch()
+        // }, 1100)
       } catch {
         //
       }
@@ -158,13 +164,13 @@ export default defineComponent({
               id: state.selectItem.id
             }
           })
-          setTimeout(() => {
-            showToast('删除成功')
-          }, 100)
+          // setTimeout(() => {
+          //   showToast('删除成功')
+          // }, 100)
 
-          setTimeout(() => {
-            onSearch()
-          }, 1100)
+          // setTimeout(() => {
+          onSearch()
+          // }, 1100)
         } catch {
           //
         }

+ 5 - 0
src/school/orchestra/compontent/photo-detail.module.less

@@ -2,6 +2,11 @@
   // padding: 13px;
   --van-uploader-size: 92px !important;
 
+  :global {
+    .van-button {
+      font-size: 18px;
+    }
+  }
   .addPhone {
     margin: 13px;
     width: calc(100% - 26px);

+ 42 - 26
src/school/orchestra/compontent/photo-detail.tsx

@@ -45,7 +45,7 @@ export default defineComponent({
       },
 
       showPhoto: false,
-      bucket: 'daya',
+      bucket: 'gyt',
       fileList: [] as any,
       checkboxRefs: [] as any,
       check: [] as any
@@ -112,7 +112,7 @@ export default defineComponent({
         // 获取签名
         const signUrl = '/api-school/open/getUploadSign'
         const tempName = file.name || ''
-        const fileName = tempName && tempName.replace(/ /gi, '_')
+        const fileName = '/orchestra/' + (tempName && tempName.replace(/ /gi, '_'))
         const key = new Date().getTime() + fileName
 
         const res = await request.post(signUrl, {
@@ -182,19 +182,28 @@ export default defineComponent({
           }
         })
 
-        setTimeout(() => {
-          showToast('添加成功')
-          state.showPhoto = false
-          state.fileList = []
-        }, 100)
-        setTimeout(() => {
-          state.params.page = 1
-          state.list = []
-          state.listState.dataShow = true // 判断是否有数据
-          state.listState.loading = false
-          state.listState.finished = false
-          getList()
-        }, 1100)
+        state.showPhoto = false
+        state.fileList = []
+        state.params.page = 1
+        state.list = []
+        state.listState.dataShow = true // 判断是否有数据
+        state.listState.loading = false
+        state.listState.finished = false
+        getList()
+
+        // setTimeout(() => {
+        //   showToast('添加成功')
+        //   state.showPhoto = false
+        //   state.fileList = []
+        // }, 100)
+        // setTimeout(() => {
+        //   state.params.page = 1
+        //   state.list = []
+        //   state.listState.dataShow = true // 判断是否有数据
+        //   state.listState.loading = false
+        //   state.listState.finished = false
+        //   getList()
+        // }, 1100)
       } catch {
         //
       }
@@ -239,17 +248,24 @@ export default defineComponent({
             }
           })
 
-          setTimeout(() => {
-            showToast('删除成功')
-          }, 100)
-          setTimeout(() => {
-            state.params.page = 1
-            state.list = []
-            state.listState.dataShow = true // 判断是否有数据
-            state.listState.loading = false
-            state.listState.finished = false
-            getList()
-          }, 1100)
+          state.params.page = 1
+          state.list = []
+          state.listState.dataShow = true // 判断是否有数据
+          state.listState.loading = false
+          state.listState.finished = false
+          getList()
+
+          // setTimeout(() => {
+          //   showToast('删除成功')
+          // }, 100)
+          // setTimeout(() => {
+          //   state.params.page = 1
+          //   state.list = []
+          //   state.listState.dataShow = true // 判断是否有数据
+          //   state.listState.loading = false
+          //   state.listState.finished = false
+          //   getList()
+          // }, 1100)
         } catch {
           //
         }

+ 25 - 16
src/school/orchestra/compontent/photo.tsx

@@ -62,9 +62,12 @@ export default defineComponent({
               name: state.photoName
             }
           })
-          setTimeout(() => {
-            showToast('添加成功')
-          }, 100)
+          // setTimeout(() => {
+          //   showToast('添加成功')
+          // }, 100)
+          state.status = false
+          state.photoName = null
+          onSearch()
         } else {
           await request.post('/api-school/orchestraPhotoAlbum/update', {
             data: {
@@ -73,15 +76,20 @@ export default defineComponent({
               name: state.photoName
             }
           })
-          setTimeout(() => {
-            showToast('修改成功')
-          }, 100)
-        }
-        state.status = false
-        setTimeout(() => {
+          state.status = false
           state.photoName = null
           onSearch()
-        }, 1100)
+          // setTimeout(() => {
+          //   showToast('修改成功')
+          // }, 100)
+        }
+        state.status = false
+        state.photoName = null
+        onSearch()
+        // setTimeout(() => {
+        // state.photoName = null
+        // onSearch()
+        // }, 1100)
       } catch {
         //
       }
@@ -161,13 +169,14 @@ export default defineComponent({
               id: state.selectItem.id
             }
           })
-          setTimeout(() => {
-            showToast('删除成功')
-          }, 100)
+          onSearch()
+          // setTimeout(() => {
+          //   showToast('删除成功')
+          // }, 100)
 
-          setTimeout(() => {
-            onSearch()
-          }, 1100)
+          // setTimeout(() => {
+          //   onSearch()
+          // }, 1100)
         } catch {
           //
         }

+ 2 - 0
src/school/school-detail/eidt-school.tsx

@@ -219,6 +219,8 @@ export default defineComponent({
             <OUpload
               class={styles.upload}
               cropper
+              bucket="gyt"
+              path="/orchestra/"
               v-model:modelValue={forms.logo}
               ref={schoolImageRef}
             />

+ 1 - 1
src/state.ts

@@ -24,7 +24,7 @@ export const state = reactive({
 
 // 预览上传到oss的地址
 export const getOssUploadUrl = (bucket: string) => {
-  const tmpBucket = bucket || 'daya'
+  const tmpBucket = bucket || 'gyt'
   return `https://${tmpBucket}.ks3-cn-beijing.ksyuncs.com/`
 }
 

+ 1 - 1
src/student/music-group/state-music.ts

@@ -11,7 +11,7 @@ export const state = reactive({
 
 // 预览上传到oss的地址
 export const getOssUploadUrl = (bucket: string) => {
-  const tmpBucket = bucket || 'daya'
+  const tmpBucket = bucket || 'gyt'
   return `https://${tmpBucket}.ks3-cn-beijing.ksyuncs.com/`
 }
 

+ 27 - 15
src/views/courseList/index.tsx

@@ -70,6 +70,12 @@ export default defineComponent({
         return
       }
       if (!item.hasCache) {
+        if (!item.knowledgePointList) {
+          showConfirmDialog({
+            message: '该课件暂无知识点'
+          })
+          return
+        }
         if (browserInfo.isStudent || route.query.isdev) {
           try {
             await showConfirmDialog({
@@ -175,25 +181,31 @@ export default defineComponent({
                   <img src={iconCourse} class={styles.cover} />
                   <div class={styles.title}>
                     <div class="van-multi-ellipsis--l2">{item.coursewareDetailName}</div>
-                    {!browserInfo.isStudent && <div class={styles.subtitle}>已使用 {item.useNum} 次</div>}
+                    {!browserInfo.isStudent && (
+                      <div class={styles.subtitle}>已使用 {item.useNum} 次</div>
+                    )}
                   </div>
                   {route.query.code !== 'select' ? (
                     <>
-                      {item.hasCache ? (
-                        <div class={styles.num}>
-                          查看
-                          <Icon name="play-circle-o" />
-                        </div>
-                      ) : (
+                      {!!item.knowledgePointList && (
                         <>
-                          {item.downloadStatus === 1 ? (
-                            <div class={styles.num}>下载中 {item.progress || 0}%</div>
-                          ) : item.downloadStatus === 2 ? (
-                            <div class={styles.num}>下载成功</div>
-                          ) : item.downloadStatus === 3 ? (
-                            <div class={styles.num}>重新下载</div>
+                          {item.hasCache ? (
+                            <div class={styles.num}>
+                              查看
+                              <Icon name="play-circle-o" />
+                            </div>
                           ) : (
-                            <div class={styles.num}>下载</div>
+                            <>
+                              {item.downloadStatus === 1 ? (
+                                <div class={styles.num}>下载中 {item.progress || 0}%</div>
+                              ) : item.downloadStatus === 2 ? (
+                                <div class={styles.num}>下载成功</div>
+                              ) : item.downloadStatus === 3 ? (
+                                <div class={styles.num}>重新下载</div>
+                              ) : (
+                                <div class={styles.num}>下载</div>
+                              )}
+                            </>
                           )}
                         </>
                       )}
@@ -215,7 +227,7 @@ export default defineComponent({
         {/* <Button onClick={() => {
           location.href = 'http://192.168.3.114:1000/teacher.html#/coursewarePlay?id=1613426640725217281'
         }}>胜强测试老师端</Button> */}
-        {!data.loading && !data.list.length && <OEmpty tips='暂无内容' />}
+        {!data.loading && !data.list.length && <OEmpty tips="暂无内容" />}
       </div>
     )
   }

+ 6 - 5
src/views/coursewarePlay/index.tsx

@@ -42,6 +42,7 @@ import { Vue3Lottie } from 'vue3-lottie'
 import playLoadData from './datas/data.json'
 import { usePageVisibility } from '@vant/use'
 import PlayRecordTime from './playRecordTime'
+import dayjs from 'dayjs'
 
 export default defineComponent({
   name: 'CoursewarePlay',
@@ -128,7 +129,8 @@ export default defineComponent({
       knowledgePointList: [] as any,
       itemList: [] as any,
       showHead: true,
-      isCourse: false
+      isCourse: false,
+      isRecordPlay: false
     })
     const activeData = reactive({
       nowTime: 0,
@@ -166,7 +168,8 @@ export default defineComponent({
         )
         if (res?.data) {
           data.isCourse =
-            res.data.status === 'ING' && state.platformType == 'TEACHER' ? true : false
+          res.data.status === 'ING' && state.platformType == 'TEACHER' ? true : false
+          data.isRecordPlay = Date.now() > dayjs(res.data.startTime).valueOf()
         }
       } catch (e) {
         console.log(e)
@@ -290,10 +293,8 @@ export default defineComponent({
       getCourseSchedule()
       window.addEventListener('message', iframeHandle)
     })
-    const playRef = ref()
     // 返回
     const goback = () => {
-      playRef.value?.handleOut()
       if (route.query.source == 'my-course') {
         router.back()
       }
@@ -636,7 +637,7 @@ export default defineComponent({
               返回
             </div>
             <div class={styles.menu}>{popupData.tabName}</div>
-            {data.isCourse && <PlayRecordTime ref={playRef} list={data.itemList} />}
+            {data.isCourse && data.isRecordPlay && <PlayRecordTime list={data.itemList} />}
           </div>
 
           <Transition name="right">

+ 10 - 8
src/views/coursewarePlay/playRecordTime.tsx

@@ -2,6 +2,7 @@ import request from '@/helpers/request'
 import { getSecondRPM } from '@/helpers/utils'
 import { state } from '@/state'
 import { usePageVisibility } from '@vant/use'
+import dayjs from 'dayjs'
 import { computed, defineComponent, onMounted, onUnmounted, reactive, ref, watch } from 'vue'
 import { useRoute } from 'vue-router'
 import styles from './index.module.less'
@@ -27,13 +28,11 @@ export default defineComponent({
     })
     const handleOut = () => {
       clearInterval(timerRecord.value)
-      handleRecord()
+      handleRecord(true)
     }
-    expose({
-      handleOut
-    })
     const route = useRoute()
     const saveModel = reactive({
+      loading: true,
       /**当前时长 */
       currentTime: 0,
       /**记录的开始时间 */
@@ -52,6 +51,7 @@ export default defineComponent({
     })
 
     const getPlayTime = async () => {
+      saveModel.loading = true
       try {
         const res: any = await request.post(
           `${state.platformApi}/courseSchedule/getCoursewarePlayTime?courseScheduleId=${route.query.courseId}`
@@ -60,15 +60,17 @@ export default defineComponent({
           saveModel.playTime = res.data
         }
       } catch (error) {}
+      saveModel.loading = false
       handleStartInterval()
     }
 
     /** 记录时长 */
-    const handleRecord = () => {
+    const handleRecord = (isOut = false) => {
       saveModel.currentTime++
       const playTime = saveModel.currentTime - saveModel.startTime
       // 1分钟记录1次
-      if (playTime >= 5) {
+      if (playTime >= 5 || isOut) {
+        console.log('isOut', isOut)
         saveModel.startTime = saveModel.currentTime
         request.post(`${state.platformApi}/courseSchedule/coursewarePlayTime`, {
           params: {
@@ -82,7 +84,7 @@ export default defineComponent({
     const timerRecord = ref()
     const handleStartInterval = () => {
       clearInterval(timerRecord.value)
-      timerRecord.value = setInterval(handleRecord, 1000)
+      timerRecord.value = setInterval(() => handleRecord(), 1000)
     }
     onMounted(() => {
       getPlayTime()
@@ -93,7 +95,7 @@ export default defineComponent({
     return () => (
       <div
         class={styles.playRecordTimeWrap}
-        style={{ display: saveModel.currentTime + saveModel.playTime > total.value ? 'none' : '' }}
+        style={{ display: saveModel.loading || (saveModel.currentTime + saveModel.playTime > total.value) ? 'none' : '' }}
       >
         <div class={styles.playRecordTime}>
           <div class={styles.timeLoad}></div>