Browse Source

Merge branch 'master' of http://git.dayaedu.com/lex/orchestra-app

mo 2 years ago
parent
commit
4b4ab04abe

File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-legacy.d356f255.js


BIN
src/components/o-image/icon-photo-default.png


+ 11 - 0
src/components/o-image/index.module.less

@@ -0,0 +1,11 @@
+.imgWrap {
+  position: relative;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  overflow: hidden;
+  background-color: #eaeaea;
+  background-repeat: no-repeat;
+  background-position: center;
+  background-image: url('./icon-photo-default.png');
+}

+ 41 - 0
src/components/o-image/index.tsx

@@ -0,0 +1,41 @@
+import { Loading } from 'vant'
+import { defineComponent, ref, Transition } from 'vue'
+import styles from './index.module.less'
+
+export default defineComponent({
+  name: 'o-image',
+  props: {
+    src: {
+      type: String,
+      default: ''
+    }
+  },
+  setup(props) {
+    const loading = ref(true)
+    return () => (
+      <div
+        class={styles.imageWrap}
+        style={
+          !loading.value
+            ? {
+                backgroundImage: `url(${props.src})`,
+                backgroundSize: 'cover'
+              }
+            : ''
+        }
+      >
+        <Transition name="van-fade">
+          {loading.value && (
+            <img
+              style={{ display: 'none' }}
+              src={props.src}
+              onLoad={() => {
+                loading.value = false
+              }}
+            />
+          )}
+        </Transition>
+      </div>
+    )
+  }
+})

+ 4 - 0
src/views/mine-orchestra/orchestra-deeds/index.module.less

@@ -67,6 +67,10 @@
       height: 200px;
       border-radius: 10px;
       overflow: hidden;
+      background-color: #eaeaea;
+      background-repeat: no-repeat;
+      background-position: center;
+      background-image: url('../images/icon-photo-default.png');
     }
   }
 

+ 11 - 1
src/views/mine-orchestra/orchestra-deeds/index.tsx

@@ -133,7 +133,17 @@ export default defineComponent({
                       item.attachments.map((child: any) => (
                         <SwipeItem>
                           {item.type === 'IMAGE' && (
-                            <Image src={child.url} class={styles.swipeImg} fit="cover" />
+                            <div
+                              class={styles.swipeImg}
+                              style={
+                                child.url
+                                  ? {
+                                      backgroundImage: `url(${child.url})`,
+                                      backgroundSize: 'cover'
+                                    }
+                                  : ''
+                              }
+                            ></div>
                           )}
                           {item.type === 'VIDEO' && (
                             <OVideo

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

@@ -3,12 +3,13 @@ import OHeader from '@/components/o-header'
 import request from '@/helpers/request'
 import { state } from '@/state'
 import { Grid, GridItem, Image, List, Loading, showImagePreview } from 'vant'
-import { defineComponent, onMounted, reactive } from 'vue'
+import { defineComponent, onMounted, reactive, TransitionGroup } from 'vue'
 import { useRoute } from 'vue-router'
 import styles from './index.module.less'
 import iconImage from '../images/icon-photo-default.png'
 import OSticky from '@/components/o-sticky'
 import OFullRefresh from '@/components/o-full-refresh'
+import OImage from '@/components/o-image'
 export default defineComponent({
   name: 'photo-detail',
   props: {
@@ -34,7 +35,7 @@ export default defineComponent({
     const getList = async () => {
       if (data.loading) return
       data.loading = true
-      if (data.refreshing){
+      if (data.refreshing) {
         data.list = []
         data.pages.page = 1
       }
@@ -43,10 +44,11 @@ export default defineComponent({
           data: {
             ...data.pages,
             orchestraPhotoAlbumId: route.query.photoId
-          }
+          },
+          hideLoading: data.refreshing
         })
         if (Array.isArray(res?.data?.rows)) {
-          data.list = new Array(10).fill(res.data.rows[0]) // data.list.concat(res.data.rows)
+          data.list = data.list.concat(res.data.rows)
           data.pages.page = res.data.current + 1
           data.finished = !res.data.next
         } else {
@@ -55,6 +57,7 @@ export default defineComponent({
       } catch {
         data.finished = true
       }
+      data.refreshing = false
       data.loading = false
     }
 
@@ -85,38 +88,38 @@ export default defineComponent({
         >
           <OHeader />
         </OSticky>
-        <OFullRefresh modelValue={data.refreshing} onRefresh={() => {
-          data.refreshing = true
-          getList()
-        }}>
-          <div class={styles.phoneDetail}>
-            {!!data.list.length && (
-              <List
-                loading={data.loading}
-                loadingText=" "
-                finished={data.finished}
-                finishedText="没有更多数据"
-                onLoad={getList}
-                immediateCheck={false}
-              >
-                <Grid class={styles.detailGrid} columnNum={3} border={false} gutter={3}>
-                  {data.list.map((item: any, index: number) => (
-                    <GridItem onClick={() => onShowImage(index)}>
-                      <div
-                        class={styles.gridImg}
-                        style={{
-                          backgroundImage: item.fileUrl ? `url(${item.fileUrl})` : '',
-                          backgroundSize: item.fileUrl ? 'cover' : '',
-                          height: 'calc(100vw / 3)'
-                        }}
-                      ></div>
-                    </GridItem>
-                  ))}
-                </Grid>
-              </List>
-            )}
-            {!data.loading && !data.list.length && <OEmpty btnStatus={false} tips="暂无照片" />}
-          </div>
+        <OFullRefresh
+          modelValue={data.refreshing}
+          onRefresh={() => {
+            data.refreshing = true
+            getList()
+          }}
+        >
+          <List
+            loading={data.loading}
+            loadingText=" "
+            finished={data.finished}
+            finishedText=" "
+            onLoad={getList}
+            immediateCheck={false}
+          >
+            <div class={styles.phoneListDetail}>
+              <TransitionGroup name="van-fade">
+                {data.list.map((item: any, index: number) => (
+                  <div
+                    key={`index-${index}`}
+                    class={styles.gridItem}
+                    onClick={() => onShowImage(index)}
+                  >
+                    <OImage class={styles.gridImg} src={item.fileUrl} />
+                  </div>
+                ))}
+                {!data.loading && !data.list.length && (
+                  <OEmpty key="OEmpty1" btnStatus={false} tips="暂无照片" />
+                )}
+              </TransitionGroup>
+            </div>
+          </List>
         </OFullRefresh>
       </div>
     )

+ 16 - 9
src/views/mine-orchestra/photo-list/index.module.less

@@ -42,18 +42,25 @@
   }
 }
 
-.phoneDetail{
-  
-}
-
-.detailGrid {
-  :global {
-    .van-grid-item__content {
-      padding: 0;
-      background-color: transparent;
+.phoneListDetail{
+  position: relative;
+  box-sizing: border-box;
+  display: flex;
+  flex-wrap: wrap;
+  min-height: calc(100vh - var(--header-height));
+  .gridItem{
+    padding: 1.5px;
+    width: calc(100vw / 3);
+    height: calc(100vw / 3);
+    box-sizing: border-box;
+    .gridImg{
+      width: 100%;
+      height: 100%;
+      border-radius: 0;
     }
   }
 }
+
 :global {
   .van-image-preview {
     .van-image-preview__close-icon,

+ 3 - 3
src/views/preview-protocol/privacy.tsx

@@ -26,7 +26,7 @@ export default defineComponent({
           <br />
           生效日期:2022年7月13日
           <br />
-          公司主体:武汉酷乐秀网络科技有限公司
+          公司主体:武汉管乐团网络科技有限公司
           <br />
           版本更新提示
           <br />
@@ -34,7 +34,7 @@ export default defineComponent({
           <br />
           引言
           <br />
-          {this.name}是由武汉酷乐秀网络科技有限公司(以下简称“{this.name}
+          {this.name}是由武汉管乐团网络科技有限公司(以下简称“{this.name}
           ”)为您提供的一款找谱,智能练琴,社交学习平台,问答于一体的综合音乐服务产品。
           {this.name}
           十分重视用户的个人信息和数据。您在使用我们的服务时,我们可能会收集和使用您的相关信息。我们希望通过本《隐私政策》向您说明,在使用我们的服务时,我们如何收集、使用、储存和分享这些信息,以及我们为您提供的访问、更新、控制和保护这些信息的方式。本《隐私政策》与您所使用的
@@ -239,7 +239,7 @@ export default defineComponent({
           <br />
           向您提供我们的服务; 实现“我们可能如何使用信息”部分所述目的;
           <br />
-          履行我们在《酷乐秀服务协议》或本《隐私政策》中的义务和行使我们的权利;
+          履行我们在《管乐团服务协议》或本《隐私政策》中的义务和行使我们的权利;
           <br />
           理解、维护和改善我们的服务。
           <br />

+ 7 - 16
src/views/unit-test/model/drag-question/index.tsx

@@ -95,7 +95,7 @@ export default defineComponent({
       const result: any = []
 
       list.forEach((item: any, index: number) => {
-        // console.log(item, 'item')
+        console.log(item, 'item')
         result.push({
           answerId: item.answerId,
           answer: item.answer,
@@ -133,14 +133,14 @@ export default defineComponent({
     const answers = computed(() => {
       const list: any = props.data.answers || []
       const value: any = props.value || []
-
+      console.log(list, value, '1212')
       list.forEach((item: any) => {
         const tempIndex = value.findIndex(
           (c: any) => c.answerId === item.examinationQuestionAnswerId
         )
-        if (tempIndex !== -1) {
-          item.checked = tempIndex !== -1 ? true : false
-        }
+        // if (tempIndex !== -1) {
+        item.checked = tempIndex !== -1 ? true : false
+        // }
       })
       return list
     })
@@ -237,17 +237,8 @@ export default defineComponent({
                 round
                 disabled={props.readOnly}
                 onClick={() => {
-                  const ids: any = []
-                  const answers = state.options || []
-                  // console.log(answers, 'reset')
-                  answers.forEach((item: any) => {
-                    ids.push(item.itemIndex)
-                  })
-                  state.sortable.sort(
-                    ids.sort((a: any, b: any) => a - b),
-                    true
-                  )
-
+                  state.options = []
+                  state.list = []
                   onSelect()
                 }}
               >

+ 1 - 1
src/views/unit-test/model/error-mode/index.tsx

@@ -26,7 +26,7 @@ export default defineComponent({
         <div class={styles.resultTitle}>
           <Image src={iconError} class={styles.titleImg} />
 
-          {props.questionTypeCode === 'SORT' ? '不合格!' : '回答错误!'}
+          {props.questionTypeCode === 'PLAY' ? '不合格!' : '回答错误!'}
         </div>
 
         {/* <div class={styles.result}>

+ 5 - 3
src/views/unit-test/practice-mode/index.tsx

@@ -320,8 +320,8 @@ export default defineComponent({
 
       resizeSwipeItemHeight()
 
-      // window.history.pushState(null, '', document.URL)
-      // window.addEventListener('popstate', onBack, false)
+      window.history.pushState(null, '', document.URL)
+      window.addEventListener('popstate', onBack, false)
     })
     return () => (
       <div class={styles.unitDetail}>
@@ -401,7 +401,9 @@ export default defineComponent({
                   <DragQuestion
                     v-model:value={item.userAnswer}
                     onUpdate:value={() => {
-                      resizeSwipeItemHeight(false)
+                      // 如果是空则滑动到顶部
+                      const status = item.userAnswer && item.userAnswer.length > 0 ? false : true
+                      resizeSwipeItemHeight(status)
                     }}
                     data={item}
                     index={index + 1}

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

@@ -81,7 +81,7 @@ export default defineComponent({
             }
           }
         )
-        console.log(data)
+        // console.log(data)
         // const { questionJson, studentAnswerJson, answerResult, ...res } = data
         state.examDetail = {
           unitExaminationName: data.unitExaminationName,
@@ -90,7 +90,7 @@ export default defineComponent({
         // 问题列表
         const temp = data.examinationQuestionAdds || []
         temp.forEach((item: any) => {
-          item.userAnswer = formatTeacherAnswer(item.answers || [])
+          item.userAnswer = formatTeacherAnswer(item.rightAnswers || [])
           item.showAnalysis = true
           item.showRate = true
           item.analysis = {

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

@@ -80,7 +80,7 @@
       position: absolute;
       right: 12px;
       top: 13px;
-      z-index: 2000;
+      z-index: 1900;
     }
   }
   .DialogTitle {

Some files were not shown because too many files changed in this diff