linxuxiang vor 5 Monaten
Ursprung
Commit
da572c80b8

+ 1 - 1
.env.development

@@ -1,5 +1,5 @@
 # 开发环境
-VITE_APP_BASE_API = 'https://api-edutst.tropsx.com'
+VITE_APP_BASE_API = 'https://api-aiexamtst.tropsx.com'
 VITE_APP_PORT = 80
 # 是否在打包时开启压缩,支持 gzip 和 brotli
 VITE_BUILD_COMPRESS = gzip

BIN
public/static/images/tips/volleyballv1.png


BIN
public/static/images/train/volleyballv1.png


+ 8 - 0
src/assets/styles/index.scss

@@ -335,6 +335,14 @@ i,em{
   }
 }
 
+.volleyballv1 {
+  .el-loading-spinner {
+    &::before {
+      background-image: url('../static/images/train/volleyball.png');
+    }
+  }
+}
+
 @media screen and (max-width: 1280px) {
   .el-message--success,
   .el-message--warning,

+ 2 - 2
src/components/OptionWindow/index.vue

@@ -68,13 +68,13 @@
               </div>
             </div>
             <div class="switchList">
-              <div class="li" v-if="['situp', 'jumprope', 'jumpingjack', 'footballv1', 'basketballv1', 'volleyball', 'pingpong'].includes(project.key)">
+              <div class="li" v-if="['situp', 'jumprope', 'jumpingjack', 'footballv1', 'basketballv1', 'volleyball', 'volleyballv1', 'pingpong'].includes(project.key)">
                 <span>时长</span>
                 <el-select v-model="optionForm.time" :popper-append-to-body="false" placeholder="请选择">
                   <el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value" />
                 </el-select>
               </div>
-              <div class="li" v-if="['situp', 'jumprope', 'jumpingjack', 'footballv1', 'basketballv1', 'volleyball', 'pingpong'].includes(project.key)">
+              <div class="li" v-if="['situp', 'jumprope', 'jumpingjack', 'footballv1', 'basketballv1', 'volleyball', 'volleyballv1', 'pingpong'].includes(project.key)">
                 <span>音乐</span>
                 <el-select v-model="optionForm.music" :popper-append-to-body="false" placeholder="请选择" clearable>
                   <el-option v-for="item in musicList" :key="item.id" :label="item.name" :value="item.url" />

+ 7 - 1
src/utils/dataDictionary.ts

@@ -34,6 +34,7 @@ let data = {
     footballv1: '足球',
     basketballv1: '篮球',
     volleyball: '排球',
+    volleyballv1: '排球',
     pingpong: '乒乓球',
     badminton: '羽毛球',
     tennis: '网球',
@@ -64,6 +65,8 @@ let data = {
     jumprope: '个',
     jumpingjack: '个',
     skiprope: '个',
+    volleyball: '个',
+    volleyballv1: '个',
     heartbeat: '次/分',
     bmi: '',
     sitforbend: '厘米',
@@ -97,7 +100,8 @@ let data = {
     vitalcap: 'result',
     footballv1: 'result',
     basketballv1: 'result',
-    volleyball: 'result',
+    volleyball: 'counts',
+    volleyballv1: 'counts',
     pingpong: 'result',
     badminton: 'result',
     runa800: 'result',
@@ -240,6 +244,8 @@ let data = {
       '<p><span style="color: #13ED84">运球:</span>运球时用手掌的边缘触球,手掌心不能触球;发力时,手指、手腕控制球的方向和速度;运球时身体重心要低,腰要直;非运球手、臂抬起保护球。</p><p><span style="color: #13ED84">身体姿态:</span>保持正确的身体姿势,体会手按拍和迎引球的动作,抬头,用眼余光看球。运球时手臂动作的放松和紧张要交替进行,掌握好手触球的位置和力量。</p>',
     volleyball:
       '<p><span style="color: #13ED84">垫球发力:</span>垫球时根据落球力量、速度和垫击的距离,掌握好手臂迎击球的用力和缓冲作用。如落球速度慢或垫击球的距离较远时,垫击用力大些,必须加大抬臂击球动作,来增加球的反弹力;如落球速度快或垫击距离较近,垫击时,可用力小些,靠球的反弹力量将球垫起;如落球速度大,为了缓冲来球力量。<p><p><span style="color: #13ED84">击球部位:</span>正面双手垫球的击球点一般应保持在腹前一臂远距离,用小臂前半部腕关节以上内侧平面去击球。</p>',
+    volleyballv1:
+      '<p><span style="color: #13ED84">垫球发力:</span>垫球时根据落球力量、速度和垫击的距离,掌握好手臂迎击球的用力和缓冲作用。如落球速度慢或垫击球的距离较远时,垫击用力大些,必须加大抬臂击球动作,来增加球的反弹力;如落球速度快或垫击距离较近,垫击时,可用力小些,靠球的反弹力量将球垫起;如落球速度大,为了缓冲来球力量。<p><p><span style="color: #13ED84">击球部位:</span>正面双手垫球的击球点一般应保持在腹前一臂远距离,用小臂前半部腕关节以上内侧平面去击球。</p>',
     pingpong: '乒乓球',
     badminton: '羽毛球',
     tennis: '网球',

+ 2 - 0
src/views/analysis/detail.vue

@@ -38,6 +38,7 @@
             " src="@/assets/images/analysis/badminton.png" />
             <img v-if="query.exam_name == 'pingpong'" src="@/assets/images/analysis/pingpong.png" />
             <img v-if="query.exam_name == 'volleyball'" src="@/assets/images/analysis/volleyball.png" />
+            <img v-if="query.exam_name == 'volleyballv1'" src="@/assets/images/analysis/volleyball.png" />
             <img v-if="query.exam_name == 'solidball'" src="@/assets/images/analysis/solidBall.png" />
             <img v-if="query.exam_name == 'situp'" src="@/assets/images/analysis/sitUp.png" />
             <img v-if="query.exam_name == 'pullup'" src="@/assets/images/analysis/pullUp.png" />
@@ -181,6 +182,7 @@
           'football',
           'basketballv1',
           'basketball',
+          'volleyballv1',
           'volleyball',
           'badmintonv1',
           'badminton',

+ 14 - 9
src/views/train/multiple.vue

@@ -2,7 +2,8 @@
   <div>
     <Header @confirmExit="confirmExit"></Header>
     <Transition :enter-active-class="proxy?.animate.dialog.enter" :leave-active-class="proxy?.animate.dialog.leave">
-      <div class="time" :class="{ 'time1': styleType == 1, 'time2': styleType == 2, 'time3': styleType == 3, 'time4': styleType == 4, }"
+      <div class="time"
+        :class="{ 'time1': styleType == 1, 'time2': styleType == 2, 'time3': styleType == 3, 'time4': styleType == 4, }"
         v-show="(needStart && [42].includes(examState)) || (['jumprope', 'jumpingjack', 'situp'].includes(parameter.project) && [42].includes(examState))">
         {{
           time.countdownNum
@@ -14,8 +15,8 @@
         <div class="ul"
           :class="{ 'overlap': (examState == 43 && time.ready) || [42].includes(examState) || (showTestAgain && ![41].includes(examState)), 'ready': [41].includes(examState), 'hands': parameter.gesture }"
           v-for="(items, indexs) in testListArr " :key="indexs">
-          <MultipleItem :ref="(el) => { multipleItemRef(el, item.itemNumber, item.area) }"
-            v-for="(item, index) in items" :query="parameter" :area="item.area" :key="index" @returnData="returnData"
+          <MultipleItem :ref="(el) => { multipleItemRef(el, item.itemNumber, item.area) }" v-for="(item, index) in items"
+            :query="parameter" :area="item.area" :key="index" @returnData="returnData"
             @getChooseStudent="getChooseStudent" :examState="examState" :needStart="needStart" :styleType="styleType"
             :parentTrainWsMethod="{ initWs, examEnds, openOneTest, startFace, stopFace, faceConfirmOnly, startOneTest, finishOneTest, closeOneTest, suspendFaceRecognitionChannels, resumeFaceRecognitionChannels }"
             :parentSpeechMethod="{ initSpeech, speckText, playMusic, controlMusic, speckCancel, chineseNumber }" />
@@ -32,7 +33,8 @@
       </template>
       <template v-else>
         <template v-if="examState == 43">
-          <div class="btn startBtn" @click="getReady" v-if="['jumprope', 'jumpingjack', 'situp'].includes(parameter.project)">开始测试</div>
+          <div class="btn startBtn" @click="getReady"
+            v-if="['jumprope', 'jumpingjack', 'situp'].includes(parameter.project)">开始测试</div>
           <div class="btn startBtn" @click="getStartOneTest" v-else>开始测试</div>
         </template>
       </template>
@@ -560,7 +562,7 @@ const testListArr = computed(() => {
       }
     }
   }
-  console.log("list",list)
+  console.log("list", list)
   return list;
 });
 
@@ -837,7 +839,7 @@ onBeforeMount(() => {
     styleType.value = 4;
   }
   //需要开始按钮的项目
-  let myList = ['situp', 'jumprope', 'jumpingjack', 'footballv1', 'basketballv1', 'volleyball', 'pingpong'];
+  let myList = ['jumprope', 'jumpingjack', 'situp'];
   if (myList.includes(project) && styleType.value == 3) {
     needStart.value = true;
   }
@@ -917,7 +919,8 @@ $waiPadding: 6.51rem;
   font-family: 'Saira-BlackItalic';
 }
 
-.time1,.time4 {
+.time1,
+.time4 {
   width: 26vh;
   height: 26vh;
   line-height: 26vh;
@@ -1694,6 +1697,7 @@ $waiPadding: 6.51rem;
   flex-wrap: wrap;
   align-items: center;
   height: 100%;
+
   .ul {
     width: 100%;
     display: flex;
@@ -1859,14 +1863,15 @@ $waiPadding: 6.51rem;
       }
     }
   }
+
   .overlap.ul {
     transition: all 0.5s;
     margin-top: -15vh;
+
     .li {
       .score {
         display: block;
       }
     }
   }
-}
-</style>
+}</style>

+ 1 - 1
src/views/train/test.vue

@@ -954,7 +954,7 @@ onBeforeMount(() => {
     parameter.value.gesture = false
   }
   //需要开始按钮的项目
-  let myList = ['situp', 'jumprope', 'jumpingjack', 'footballv1', 'basketballv1', 'volleyball', 'pingpong'];
+  let myList = ['situp', 'jumprope', 'jumpingjack', 'footballv1', 'basketballv1', 'pingpong'];
   if (myList.includes(project)) {
     needStart.value = true;
   }