Browse Source

修改参数

lex 2 years ago
parent
commit
abfde8bae7

+ 26 - 8
src/school/approval-manage/batch-adjust.tsx

@@ -1,3 +1,4 @@
+import ODialog from '@/components/o-dialog'
 import OHeader from '@/components/o-header'
 import OPopup from '@/components/o-popup'
 import OSticky from '@/components/o-sticky'
@@ -31,7 +32,9 @@ export default defineComponent({
   setup() {
     const router = useRouter()
     const form = reactive({
-      submitLoading: false
+      submitLoading: false,
+      dialogStatus: false,
+      dialogMessage: ''
     })
 
     // 获取乐团列表
@@ -60,7 +63,7 @@ export default defineComponent({
     const onSubmit = async () => {
       try {
         form.submitLoading = true
-        const { data } = await request.post('/api-school/courseSchedule/batchAdjust', {
+        const res = await request.post('/api-school/courseSchedule/batchAdjust', {
           hideLoading: true,
           data: {
             adjustDay: forms.changeType ? '-' + forms.adjustDay : forms.adjustDay,
@@ -70,12 +73,17 @@ export default defineComponent({
           }
         })
         form.submitLoading = false
-        router.push({
-          path: '/course-preview',
-          query: {
-            cacheId: data
-          }
-        })
+        if (res.code === 999) {
+          form.dialogStatus = true
+          form.dialogMessage = res.message
+        } else {
+          router.push({
+            path: '/course-preview',
+            query: {
+              cacheId: res.data
+            }
+          })
+        }
       } catch {
         //
         form.submitLoading = false
@@ -276,6 +284,16 @@ export default defineComponent({
             }}
           />
         </Popup>
+
+        <ODialog
+          title="提示"
+          v-model:show={state.dialogStatus}
+          message={state.dialogMessage}
+          confirmButtonText="确定"
+          onConfirm={() => {
+            router.back()
+          }}
+        />
       </div>
     )
   }

+ 77 - 15
src/school/companion-teacher/unbind.tsx

@@ -9,6 +9,7 @@ import request from '@/helpers/request'
 import OPopup from '@/components/o-popup'
 import Teacher from './compontent/teacher'
 import { courseEmnu } from '@/constant'
+import ODialog from '@/components/o-dialog'
 
 export default defineComponent({
   name: 'unbind',
@@ -19,7 +20,11 @@ export default defineComponent({
       teacherStatus: false,
       classList: [] as any,
       selectTeacher: {} as any,
-      teacherId: route.query.id
+      teacherId: route.query.id,
+      dialogStatus: false,
+      dialogMessage: '',
+      dialogStatus1: false,
+      dialogMessage1: ''
     })
     const getClassDetail = async () => {
       try {
@@ -67,30 +72,68 @@ export default defineComponent({
       }
 
       try {
-        showDialog({
-          title: '提示',
-          message: '是否确认交接',
-          showCancelButton: true
-        }).then(async () => {
-          const { data } = await request.post('/api-school/classGroup/handoverTeacher', {
-            data: {
-              teacherId: route.query.id,
-              courseUpdateList: [...courseInfo]
-            }
-          })
+        state.dialogStatus = true
 
-          if (data.finish === true) {
+        // showDialog({
+        //   title: '提示',
+        //   message: '是否确认交接',
+        //   showCancelButton: true
+        // }).then(async () => {
+        //   const { data } = await request.post('/api-school/classGroup/handoverTeacher', {
+        //     data: {
+        //       teacherId: route.query.id,
+        //       courseUpdateList: [...courseInfo]
+        //     }
+        //   })
+        //   if (data.finish === true) {
+        //     router.replace('/companion-teacher')
+        //   } else {
+        //     router.push({
+        //       path: '/course-preview',
+        //       query: {
+        //         cacheId: data.cacheId,
+        //         type: 'unbind'
+        //       }
+        //     })
+        //   }
+        // })
+      } catch {
+        //
+      }
+    }
+    const onConfirm = async () => {
+      try {
+        const courseInfo = [] as any
+        state.classList.forEach((item: any) => {
+          if (item.sTeacher) {
+            courseInfo.push({
+              courseType: item.courseType,
+              teacherId: item.sTeacher.id
+            })
+          }
+        })
+        const res = await request.post('/api-school/classGroup/handoverTeacher', {
+          data: {
+            teacherId: route.query.id,
+            courseUpdateList: [...courseInfo]
+          }
+        })
+        if (res.code === 999) {
+          state.dialogStatus1 = true
+          state.dialogMessage1 = res.message
+        } else {
+          if (res.data.finish === true) {
             router.replace('/companion-teacher')
           } else {
             router.push({
               path: '/course-preview',
               query: {
-                cacheId: data.cacheId,
+                cacheId: res.data.cacheId,
                 type: 'unbind'
               }
             })
           }
-        })
+        }
       } catch {
         //
       }
@@ -177,6 +220,25 @@ export default defineComponent({
             onSelect={onSelectItem}
           />
         </OPopup>
+
+        <ODialog
+          title="提示"
+          v-model:show={state.dialogStatus}
+          message={'是否确认交接?'}
+          confirmButtonText="确定"
+          showCancelButton
+          onConfirm={onConfirm}
+        />
+
+        <ODialog
+          title="提示"
+          v-model:show={state.dialogStatus1}
+          message={state.dialogMessage1}
+          confirmButtonText="确定"
+          onConfirm={() => {
+            router.back()
+          }}
+        />
       </>
     )
   }

+ 43 - 15
src/school/train-planning/component/course-preview/index.tsx

@@ -22,6 +22,7 @@ import request from '@/helpers/request'
 import dayjs from 'dayjs'
 import { forms } from '../../create'
 import { postMessage } from '@/helpers/native-message'
+import ODialog from '@/components/o-dialog'
 
 export default defineComponent({
   name: 'course-preview',
@@ -41,7 +42,9 @@ export default defineComponent({
       selectClasses: [] as any, // 选中的班级列表
       selectCourse: [] as any, // 选中的课程
       choiceCourse: {}, // 选中需要调整的课程
-      isClick: false
+      isClick: false,
+      dialogStatus: false,
+      dialogMessage: ''
     })
     const courseTabsRef: any = ref()
 
@@ -173,18 +176,20 @@ export default defineComponent({
 
         // 判断数据是否已经过期
         if (res.code === 999) {
-          showDialog({
-            title: '提示',
-            message: res.message,
-            confirmButtonColor: '#ff8057'
-          }).then(() => {
-            // 原生班级调整伴学指导时
-            // if (state.type === 'native') {
-            //   postMessage({ api: 'back', content: {} })
-            // } else {
-            router.back()
-            // }
-          })
+          // showDialog({
+          //   title: '提示',
+          //   message: res.message,
+          //   confirmButtonColor: '#ff8057'
+          // }).then(() => {
+          //   // 原生班级调整伴学指导时
+          //   // if (state.type === 'native') {
+          //   //   postMessage({ api: 'back', content: {} })
+          //   // } else {
+          //   router.back()
+          //   // }
+          // })
+          state.dialogStatus = true
+          state.dialogMessage = res.message
           return
         }
         setTimeout(() => {
@@ -385,7 +390,7 @@ export default defineComponent({
           </div>
         </OSticky>
 
-        <Dialog
+        {/* <Dialog
           v-model:show={state.conflictStatus}
           message={state.conflictMessage}
           messageAlign="center"
@@ -405,7 +410,30 @@ export default defineComponent({
               </div>
             )
           }}
-        </Dialog>
+        </Dialog> */}
+        <ODialog
+          title="课程冲突"
+          message={state.conflictMessage}
+          v-model:show={state.conflictStatus}
+          messageAlign="center"
+          confirmButtonText="去调整"
+          cancelButtonText="知道了"
+          showCancelButton
+          onConfirm={() => {
+            state.conflictStatus = false
+            onChoiceCourse(state.choiceCourse)
+          }}
+        />
+
+        <ODialog
+          title="提示"
+          v-model:show={state.dialogStatus}
+          message={state.dialogMessage}
+          confirmButtonText="确定"
+          onConfirm={() => {
+            router.back()
+          }}
+        />
       </div>
     )
   }

+ 24 - 4
src/school/train-planning/component/train-content/index.tsx

@@ -1,3 +1,4 @@
+import ODialog from '@/components/o-dialog'
 import OEmpty from '@/components/o-empty'
 import OHeader from '@/components/o-header'
 import OSticky from '@/components/o-sticky'
@@ -5,7 +6,7 @@ import { trainCourseEmnu } from '@/constant'
 import request from '@/helpers/request'
 import { state } from '@/state'
 import dayjs from 'dayjs'
-import { Button, Cell, CellGroup, Tag } from 'vant'
+import { Button, Cell, CellGroup, showDialog, Tag } from 'vant'
 import { defineComponent, onMounted, reactive } from 'vue'
 import { useRouter } from 'vue-router'
 import { forms, weekFormat } from '../../create'
@@ -27,6 +28,8 @@ export default defineComponent({
      * */
     const router = useRouter()
     const base = reactive({
+      dialogStatus: false,
+      dialogMessage: '',
       contentList: [] as any,
       SINGLE_DELIVERY: {
         SINGLE: 120,
@@ -80,20 +83,27 @@ export default defineComponent({
           trainingPlanClassList
         }
 
-        const { data } = await request.post('/api-school/orchestra/trainingPlanList', {
+        const res = await request.post('/api-school/orchestra/trainingPlanList', {
           data: {
             ...params
           }
         })
+
+        // 判断数据是否已经过期
+        if (res.code === 999) {
+          base.dialogStatus = true
+          base.dialogMessage = res.message
+          return
+        }
         // 初始化 课程预览时选中的乐团编号 课程预览时选中的课程组编号
         forms.selectOrchestraId = null
         forms.selectClassGroupId = null
 
-        console.log(data, 'date')
+        console.log(res.data, 'date')
         router.push({
           path: '/course-preview',
           query: {
-            cacheId: data
+            cacheId: res.data
           }
         })
       } catch {
@@ -158,6 +168,16 @@ export default defineComponent({
             </Button>
           </div>
         </OSticky>
+
+        <ODialog
+          title="提示"
+          v-model:show={base.dialogStatus}
+          message={base.dialogMessage}
+          confirmButtonText="确定"
+          onConfirm={() => {
+            router.back()
+          }}
+        />
       </div>
     )
   }

+ 1 - 0
src/student/music-group/layout/login.tsx

@@ -257,6 +257,7 @@ export default defineComponent({
           <ImgCode
             v-model:value={this.imgCodeStatus}
             phone={this.username}
+            type="REGISTER"
             onClose={() => {
               this.imgCodeStatus = false
             }}

+ 7 - 1
src/views/unit-test/examination-mode/index.tsx

@@ -463,8 +463,14 @@ export default defineComponent({
         <ODialog
           v-model:show={state.quitStatus}
           title="提示"
-          message="您是否退出本次练习?"
+          message="您是否退出本次测验?"
           confirmButtonText="确认完成"
+          showCancelButton
+          cancelButtonText="取消"
+          onCancel={() => {
+            window.history.pushState(null, '', document.URL)
+            window.addEventListener('popstate', onBack, false)
+          }}
           onConfirm={() => {
             onAfter()
           }}

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

@@ -17,6 +17,7 @@ export default defineComponent({
   name: 'unit-test',
   setup() {
     const router = useRouter()
+
     const form = reactive({
       oPopover: false,
       searchList: [] as any,
@@ -135,16 +136,28 @@ export default defineComponent({
     }
 
     onMounted(() => {
-      getList()
-
+      const unitType = sessionStorage.getItem('unit-test-search-type')
       const temp: any = [{ name: '全部测验', id: 'ALL' }]
+      let selectItem = {} as any
       for (const i in unitTestStatus) {
         temp.push({
           name: unitTestStatus[i],
           id: i
         })
+        if (i === unitType) {
+          selectItem = {
+            name: unitTestStatus[i],
+            id: i
+          }
+        }
       }
       form.searchList = temp
+      if (selectItem.id && selectItem.id !== 'ALL') {
+        form.statusText = selectItem.name
+        form.params.status = selectItem.id
+      }
+
+      getList()
     })
     return () => (
       <div class={[styles.unitTest, !form.listState.dataShow && 'emptyRootContainer']}>
@@ -297,6 +310,8 @@ export default defineComponent({
             form.statusText = val.name
             form.params.status = val.id === 'ALL' ? null : val.id
             form.oPopover = false
+
+            sessionStorage.setItem('unit-test-search-type', val.id)
             onSearch()
           }}
         />

+ 4 - 1
src/views/unit-test/model/drag-question/index.tsx

@@ -81,7 +81,9 @@ export default defineComponent({
               state.list = [...state.options]
               updatePosition(state.list)
             }
-            onSelect()
+            setTimeout(() => {
+              onSelect()
+            }, 100)
           }
         })
       })
@@ -99,6 +101,7 @@ export default defineComponent({
           answerExtra: index + 1
         })
       })
+      console.log(result, 'result -----')
       emit('update:value', result)
     }
 

+ 6 - 1
src/views/unit-test/model/play-question/index.tsx

@@ -41,6 +41,11 @@ export default defineComponent({
       type: Boolean,
       default: false
     },
+    // 学生详情显示分数
+    showScore: {
+      type: Boolean,
+      default: false
+    },
     showRate: {
       type: Boolean,
       default: false
@@ -221,7 +226,7 @@ export default defineComponent({
               </Cell>
             )}
 
-            {!props.readOnly && (
+            {(!props.readOnly || !props.showScore) && (
               <div class={['van-hairline--top', styles.unitScoreNum]}>
                 <div class={styles.score}>{state.score}</div>
                 <div class={styles.scoreTitle}>评测分数</div>

+ 8 - 2
src/views/unit-test/practice-mode/index.tsx

@@ -318,8 +318,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}>
@@ -561,6 +561,12 @@ export default defineComponent({
           v-model:show={state.quitStatus}
           title="提示"
           message="您是否退出本次练习?"
+          showCancelButton
+          cancelButtonText="取消"
+          onCancel={() => {
+            window.history.pushState(null, '', document.URL)
+            window.addEventListener('popstate', onBack, false)
+          }}
           confirmButtonText="确认完成"
           onConfirm={onAfter}
         />

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

@@ -45,19 +45,20 @@ export default defineComponent({
         })
         const { questionJson, studentAnswerJson, answerResult, ...res } = data
         const temp = questionJson || []
+        // 正确答案
+        state.answerResult = answerResult ? JSON.parse(answerResult) : []
         temp.forEach((item: any) => {
           item.userAnswer = formatUserAnswers(item, studentAnswerJson)
           item.showAnalysis = true
           item.analysis = {
             message: item.answerAnalysis,
             topic: true, // 是否显示结果
+            showScore: true,
             userResult: formatUserResult(item.id) // 用户答题对错
           }
         })
         // 问题列表
         state.questionList = temp
-        // 正确答案
-        state.answerResult = answerResult ? JSON.parse(answerResult) : []
 
         // 详情
         state.examDetail = { ...res } || {}
@@ -338,6 +339,7 @@ export default defineComponent({
                     data={item}
                     index={index + 1}
                     unitId={state.id as any}
+                    showScore={item.showScore}
                     showRate={item.showRate}
                     showAnalysis={item.showAnalysis}
                     analysis={item.analysis}