lex 2 gadi atpakaļ
vecāks
revīzija
70d7a28679

+ 10 - 0
src/components/o-dialog/index.module.less

@@ -16,3 +16,13 @@
   line-height: 25px;
   padding-bottom: 12px;
 }
+
+.oDialog {
+  :global {
+    .van-dialog__message {
+      font-size: 16px;
+      color: 333;
+      line-height: 22px;
+    }
+  }
+}

+ 1 - 0
src/components/o-dialog/index.tsx

@@ -53,6 +53,7 @@ export default defineComponent({
     )
     return () => (
       <Dialog
+        class={styles.oDialog}
         v-model:show={state.show}
         message={props.message}
         messageAlign={props.messageAlign}

+ 1 - 1
src/school/companion-teacher/companion-detail.tsx

@@ -143,7 +143,7 @@ export default defineComponent({
                 title: () => (
                   <div class={styles.subjectContainer}>
                     <span>声部:</span>
-                    <div style={{ display: 'flex', alignItems: 'center' }}>
+                    <div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
                       {state.detail.subjectNames &&
                         state.detail.subjectNames.map((subject: any) => (
                           <Tag type="primary" class={styles.tagSubject}>

+ 34 - 34
src/school/companion-teacher/companion-teacher-register.tsx

@@ -259,40 +259,6 @@ export default defineComponent({
               maxlength={11}
               type="tel"
             ></Field>
-            <Field
-              required
-              label="验证码"
-              v-model={state.forms.smsValidCode}
-              name="smsValidCode"
-              rules={[{ required: true, message: '请输入验证码', trigger: 'onChange' }]}
-              placeholder="请输入验证码"
-              maxlength={6}
-              type="tel"
-            >
-              {{
-                button: () =>
-                  state.countDownStatus ? (
-                    <Button type="primary" round size="small" color="#ff8057" onClick={onSendCode}>
-                      发送验证码
-                    </Button>
-                  ) : (
-                    <Button
-                      type="default"
-                      round
-                      size="small"
-                      disabled
-                      style={{ minWidth: '60px' }}
-                      onClick={onSendCode}
-                    >
-                      {state.countDownTime + 's'}
-                    </Button>
-                  )
-              }}
-            </Field>
-            <div class={styles.phoneTips}>
-              <Icon name="warning" size="16" />
-              提示:手机号码将成为您管乐团老师端登录账号
-            </div>
 
             <Field
               required
@@ -472,6 +438,40 @@ export default defineComponent({
                 )
               }}
             </Field>
+            <Field
+              required
+              label="验证码"
+              v-model={state.forms.smsValidCode}
+              name="smsValidCode"
+              rules={[{ required: true, message: '请输入验证码', trigger: 'onChange' }]}
+              placeholder="请输入验证码"
+              maxlength={6}
+              type="tel"
+            >
+              {{
+                button: () =>
+                  state.countDownStatus ? (
+                    <Button type="primary" round size="small" color="#ff8057" onClick={onSendCode}>
+                      发送验证码
+                    </Button>
+                  ) : (
+                    <Button
+                      type="default"
+                      round
+                      size="small"
+                      disabled
+                      style={{ minWidth: '60px' }}
+                      onClick={onSendCode}
+                    >
+                      {state.countDownTime + 's'}
+                    </Button>
+                  )
+              }}
+            </Field>
+            <div class={styles.phoneTips}>
+              <Icon name="warning" size="16" />
+              提示:手机号码将成为您管乐团老师端登录账号
+            </div>
           </CellGroup>
 
           <div class={styles.protocol}>

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

@@ -357,7 +357,7 @@ export default defineComponent({
                     title: () => (
                       <div class={styles.subjectContainer}>
                         <span>声部:</span>
-                        <div style={{ display: 'flex', alignItems: 'center' }}>
+                        <div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
                           {item.subjectNames &&
                             item.subjectNames.length > 0 &&
                             item.subjectNames.map((subject: any) => (

+ 34 - 34
src/school/manage-teacher/manage-teacher-register.tsx

@@ -192,40 +192,6 @@ export default defineComponent({
               maxlength={11}
               type="tel"
             ></Field>
-            <Field
-              required
-              label="验证码"
-              v-model={state.forms.smsValidCode}
-              name="smsValidCode"
-              rules={[{ required: true, message: '请输入验证码', trigger: 'onChange' }]}
-              placeholder="请输入验证码"
-              maxlength={6}
-              type="tel"
-            >
-              {{
-                button: () =>
-                  state.countDownStatus ? (
-                    <Button type="primary" round size="small" color="#64A9FF" onClick={onSendCode}>
-                      发送验证码
-                    </Button>
-                  ) : (
-                    <Button
-                      type="default"
-                      round
-                      size="small"
-                      disabled
-                      style={{ minWidth: '60px' }}
-                      onClick={onSendCode}
-                    >
-                      {state.countDownTime + 's'}
-                    </Button>
-                  )
-              }}
-            </Field>
-            <div class={styles.phoneTips}>
-              <Icon name="warning" size="16" />
-              提示:手机号码将成为您管乐团管理端登录账号
-            </div>
 
             <Field
               required
@@ -278,6 +244,40 @@ export default defineComponent({
                 )
               }}
             </Field>
+            <Field
+              required
+              label="验证码"
+              v-model={state.forms.smsValidCode}
+              name="smsValidCode"
+              rules={[{ required: true, message: '请输入验证码', trigger: 'onChange' }]}
+              placeholder="请输入验证码"
+              maxlength={6}
+              type="tel"
+            >
+              {{
+                button: () =>
+                  state.countDownStatus ? (
+                    <Button type="primary" round size="small" color="#64A9FF" onClick={onSendCode}>
+                      发送验证码
+                    </Button>
+                  ) : (
+                    <Button
+                      type="default"
+                      round
+                      size="small"
+                      disabled
+                      style={{ minWidth: '60px' }}
+                      onClick={onSendCode}
+                    >
+                      {state.countDownTime + 's'}
+                    </Button>
+                  )
+              }}
+            </Field>
+            <div class={styles.phoneTips}>
+              <Icon name="warning" size="16" />
+              提示:手机号码将成为您管乐团管理端登录账号
+            </div>
           </CellGroup>
 
           <div class={styles.protocol}>

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

@@ -197,7 +197,7 @@ export default defineComponent({
                       title: () => (
                         <div class={styles.subjectContainer}>
                           <span>声部:</span>
-                          <div style={{ display: 'flex', alignItems: 'center' }}>
+                          <div style={{ display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
                             {item.subjectNames &&
                               item.subjectNames.map((subject: any) => (
                                 <Tag type="primary" class={styles.tagSubject}>

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

@@ -21,6 +21,7 @@ import OSticky from '@/components/o-sticky'
 import ChoiceQuestion from '../model/choice-question'
 import { useCountDown } from '@vant/use'
 import AnswerList from '../model/answer-list'
+import ODialog from '@/components/o-dialog'
 
 export default defineComponent({
   name: 'unit-detail',
@@ -32,8 +33,11 @@ export default defineComponent({
     const state = reactive({
       visiableNotice: false,
       visiableAnswer: false,
+      currentIndex: 0,
+      questionList: [1, 2, 3, 4, 5],
       answerList: {},
-      time: 30 * 60 * 1000
+      time: 30 * 60 * 1000,
+      visiableSure: false
     })
 
     return () => (
@@ -69,38 +73,46 @@ export default defineComponent({
           duration={300}
           touchable={false}
           lazyRender
+          initialSwipe={state.currentIndex}
         >
-          <SwipeItem>
-            <ChoiceQuestion v-model:value={state.answerList[0]} type="checkbox" />
-          </SwipeItem>
-          <SwipeItem>
-            <ChoiceQuestion />
-          </SwipeItem>
-          <SwipeItem>
-            <ChoiceQuestion />
-          </SwipeItem>
-          <SwipeItem>
-            <ChoiceQuestion />
-          </SwipeItem>
-          <SwipeItem>
-            <ChoiceQuestion />
-          </SwipeItem>
-          <SwipeItem>
-            <ChoiceQuestion />
-          </SwipeItem>
+          {state.questionList.map((item: any) => (
+            <SwipeItem>
+              <ChoiceQuestion v-model:value={state.answerList[item]} type="checkbox" />
+            </SwipeItem>
+          ))}
         </Swipe>
 
         <OSticky position="bottom" background="white">
           <div class={['btnGroup btnMore']}>
+            {state.currentIndex > 0 && (
+              <Button
+                round
+                block
+                type="primary"
+                plain
+                onClick={() => {
+                  state.currentIndex -= 1
+                  swipeRef.value?.prev()
+                }}
+              >
+                上一题
+              </Button>
+            )}
             <Button
               block
               round
               type="primary"
               onClick={() => {
-                swipeRef.value.next()
+                if (state.questionList.length === state.currentIndex + 1) {
+                  state.visiableSure = true
+                } else {
+                  state.currentIndex += 1
+                  swipeRef.value?.next()
+                }
+                console.log(state.currentIndex)
               }}
             >
-              下一题
+              {state.questionList.length === state.currentIndex + 1 ? '测试完成' : '下一题'}
             </Button>
             <Image
               src={iconButtonList}
@@ -116,7 +128,7 @@ export default defineComponent({
             value={[1, 3, 4]}
             onSelect={(item: any) => {
               // 跳转,并且跳过动画
-              swipeRef.value.swipeTo(item, {
+              swipeRef.value?.swipeTo(item, {
                 immediate: true
               })
             }}
@@ -142,6 +154,16 @@ export default defineComponent({
             }}
           />
         </Popup>
+
+        <ODialog
+          v-model:show={state.visiableSure}
+          title="测验完成"
+          message="确认本次测验的题目都完成了吗?\n提交后不可修改哦"
+          messageAlign="left"
+          showCancelButton
+          cancelButtonText="再等等"
+          confirmButtonText="确认完成"
+        />
       </div>
     )
   }