mo 2 rokov pred
rodič
commit
2b4fcac048

+ 4 - 3
src/school/approval-manage/components/studnet-course-item.module.less

@@ -68,6 +68,10 @@
       font-weight: 600;
       color: #333333;
       line-height: 22px;
+      width: 200px;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap;
     }
     .itemWrapBottomSub {
       font-size: 14px;
@@ -75,9 +79,6 @@
       color: #777777;
       line-height: 20px;
     }
-    .itemWrapBottomRight {
-      flex: 1;
-    }
     .rejectBtn {
       font-size: 14px;
       font-family: PingFangSC-Medium, PingFang SC;

+ 6 - 5
src/views/attendance-rule/index.module.less

@@ -36,7 +36,7 @@
       font-family: PingFangSC-Semibold, PingFang SC;
       font-weight: 600;
       color: #333333;
-      line-height: 25px;
+      line-height: 22px;
       padding: 18px 15px;
       border: none;
       &:active {
@@ -47,10 +47,11 @@
     display: flex;
     flex-direction: row;
     align-items: center;
-    line-height: 25px;
+    line-height: 22px;
+    font-size: 16px;
     .dot {
       width: 4px;
-      height: 13px;
+      height: 12px;
       background: #ff8057;
       border-radius: 2px;
       margin-right: 6px;
@@ -68,7 +69,7 @@
     color: #f67146;
     padding: 0 8px;
     margin-bottom: 18px;
-
+    font-size: 15px;
     .clockIcon {
       width: 18px;
       height: 18px;
@@ -78,7 +79,7 @@
   .textWrap {
     margin-bottom: 16px;
     h4 {
-      font-size: 16px;
+      font-size: 15px;
       font-weight: 500;
       color: #333333;
       line-height: 22px;

+ 1 - 1
src/views/attendance-rule/index.tsx

@@ -38,7 +38,7 @@ export default defineComponent({
     return () => (
       <>
         <OSticky position="top" background="#F8F8F8">
-          <OHeader></OHeader>
+          {/* <OHeader></OHeader> */}
         </OSticky>
         <div class={styles.attCollapseWrap}>
           <Collapse v-model={state.activeNames}>

+ 1 - 1
src/views/exercise-record/exercis-detail.tsx

@@ -77,7 +77,7 @@ export default defineComponent({
       }
       try {
         const res = await request.post(`${platformApi.value}/musicPracticeRecord/page`, {
-          data: { ...forms }
+          data: { ...forms, feature: 'EVALUATION' }
         })
 
         if (list.value.length > 0 && res.data.current === 1) {

+ 17 - 16
src/views/unit-test/unit-create/index.tsx

@@ -18,7 +18,7 @@ export default defineComponent({
       showPopoverOrchestra: false,
       showPopoverClass: false
     })
-    const forms = reactive({
+    const forms = ref({
       orchestraId: '',
       orchestraName: '',
       classGroupName: '',
@@ -27,20 +27,21 @@ export default defineComponent({
       addressLongitudeLatitude: '',
       unitName: '',
       unitId: ''
-    })
+    } as any)
     const schoolImageRef = ref()
     const submitInfo = async () => {
-      sessionStorage.setItem('unit-create', JSON.stringify(forms))
+      sessionStorage.setItem('unit-create', JSON.stringify(forms.value))
     }
     const chioseLesson = () => {
-      if (!forms.classGroupId) {
+      if (!forms.value.classGroupId) {
         showToast('请选择测验班级')
         return
       }
-      sessionStorage.setItem('unit-create', JSON.stringify(forms))
-      router.push({ path: '/unit-Lesson', query: { classGroupId: forms.classGroupId } })
+      sessionStorage.setItem('unit-create', JSON.stringify(forms.value))
+      router.push({ path: '/unit-Lesson', query: { classGroupId: forms.value.classGroupId } })
     }
     onMounted(() => {
+      forms.value = { ...JSON.parse(sessionStorage.getItem('unit-create') || '{}') } as any
       getOrchestraList()
     })
     const getOrchestraList = async () => {
@@ -60,10 +61,10 @@ export default defineComponent({
       }
     }
     const checkOrchestra = async (val: any) => {
-      forms.orchestraId = val.value
-      forms.orchestraName = val.name
-      forms.classGroupName = ''
-      forms.classGroupId = ''
+      forms.value.orchestraId = val.value
+      forms.value.orchestraName = val.name
+      forms.value.classGroupName = ''
+      forms.value.classGroupId = ''
 
       if (val.value) {
         try {
@@ -90,8 +91,8 @@ export default defineComponent({
       state.showPopoverOrchestra = false
     }
     const checkClass = async (val: any) => {
-      forms.classGroupName = val.name
-      forms.classGroupId = val.value
+      forms.value.classGroupName = val.name
+      forms.value.classGroupId = val.value
       state.showPopoverClass = false
     }
     return () => (
@@ -101,7 +102,7 @@ export default defineComponent({
             {/*      onClick={() => setAddress()} */}
             <CellGroup inset>
               <Field
-                v-model={forms.orchestraName}
+                v-model={forms.value.orchestraName}
                 placeholder="选择乐团"
                 disabled
                 input-align="right"
@@ -121,13 +122,13 @@ export default defineComponent({
               </Field>
               <Field
                 rows={3}
-                v-model={forms.classGroupName}
+                v-model={forms.value.classGroupName}
                 maxlength={50}
                 placeholder="测验班级"
                 disabled
                 input-align="right"
                 onClick={() => {
-                  if (!forms.orchestraId) {
+                  if (!forms.value.orchestraId) {
                     showToast('请先选择乐团')
                   } else {
                     state.showPopoverClass = true
@@ -146,7 +147,7 @@ export default defineComponent({
               </Field>
               <Field
                 rows={3}
-                v-model={forms.unitName}
+                v-model={forms.value.unitName}
                 maxlength={50}
                 placeholder="测验内容"
                 disabled

+ 47 - 0
src/views/unit-test/unit-create/uni-last.module.less

@@ -45,6 +45,44 @@
       }
     }
   }
+  .tabsWrap {
+    position: relative;
+    margin-top: 10px;
+    .tabsWrapIcon {
+      position: absolute;
+      right: 12px;
+      top: 13px;
+      z-index: 2000;
+    }
+  }
+  .DialogTitle {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    padding: 20px 25px;
+    span {
+      width: 4px;
+      height: 14px;
+      background: #ff8057;
+      border-radius: 2px;
+      margin-right: 6px;
+    }
+    p {
+      height: 25px;
+      font-size: 18px;
+      font-weight: 500;
+      color: #333333;
+      line-height: 25px;
+    }
+  }
+  .DialogConent {
+    padding: 0 25px 30px;
+    p {
+      font-size: 16px;
+      line-height: 22px;
+      color: #333;
+    }
+  }
   :global {
     .van-tab__text {
       font-size: 16px;
@@ -56,5 +94,14 @@
     .van-cell__title {
       margin-bottom: 0 !important;
     }
+    .exercisDetailDialog {
+      border-radius: 10px;
+      .van-dialog__header {
+        padding-top: 0px !important;
+      }
+    }
+    .van-dialog {
+      top: 47%;
+    }
   }
 }

+ 62 - 20
src/views/unit-test/unit-create/uni-last.tsx

@@ -2,6 +2,7 @@ import request from '@/helpers/request'
 import { state } from '@/state'
 import {
   Button,
+  Dialog,
   Empty,
   Field,
   Grid,
@@ -18,6 +19,7 @@ import iconEdit from '@/views/unit-test/images/icon-edit.png'
 import styles from './uni-last.module.less'
 import { useRoute, useRouter } from 'vue-router'
 import NewspaperItem from './modals/newspaper-item'
+import questIcon from '@/school/images/quest-icon.png'
 import {
   listenerMessage,
   postMessage,
@@ -41,6 +43,7 @@ export default defineComponent({
       list: [] as any,
       uniDetail: {} as any
     })
+    const showTip = ref(false)
     const getList = async () => {
       data.loading = true
       try {
@@ -101,7 +104,6 @@ export default defineComponent({
       }
     }
     const onSubmit = async () => {
-      console.log('来了')
       if (!forms.value.expiryDate) {
         showToast('请输入截止时间')
         return
@@ -111,12 +113,16 @@ export default defineComponent({
           state.platformApi + `/classGroupUnitExamination/publishUnitExamination`,
           {
             data: {
+              classGroupId: forms.value.classGroupId,
               lessonCoursewareExaminationMapperId: forms.value.testId,
               unitExaminationName: `${forms.value?.coursewareName}-${forms.value?.testName}`,
               expiryDate: forms.value.expiryDate
             }
           }
         )
+        showToast('创建成功')
+        sessionStorage.removeItem('unit-create')
+        router.replace('/unit-list')
       } catch (e) {
         console.log(e)
       }
@@ -144,25 +150,36 @@ export default defineComponent({
               }}
             </Field>
           </div>
-          <Tabs
-            v-model:active={activeName.value}
-            class={styles.rankTabs}
-            background={'#F8F8F8'}
-            title-active-color={'#333333'}
-            title-inactive-color={'#777'}
-            color={'#FF8057'}
-            shrink
-          >
-            <Tab name="one" title="I类学生">
-              <NewspaperItem item={data.uniDetail[1]}></NewspaperItem>
-            </Tab>
-            <Tab name="two" title="II类学生">
-              <NewspaperItem item={data.uniDetail[2]}></NewspaperItem>
-            </Tab>
-            <Tab name="three" title="III类学生">
-              <NewspaperItem item={data.uniDetail[3]}></NewspaperItem>
-            </Tab>
-          </Tabs>
+          <div class={styles.tabsWrap}>
+            <Icon
+              class={styles.tabsWrapIcon}
+              name={questIcon}
+              size={18}
+              color="#333"
+              onClick={() => {
+                showTip.value = true
+              }}
+            />
+            <Tabs
+              v-model:active={activeName.value}
+              class={styles.rankTabs}
+              background={'#F8F8F8'}
+              title-active-color={'#333333'}
+              title-inactive-color={'#777'}
+              color={'#FF8057'}
+              shrink
+            >
+              <Tab name="one" title="I类学生">
+                <NewspaperItem item={data.uniDetail[1]}></NewspaperItem>
+              </Tab>
+              <Tab name="two" title="II类学生">
+                <NewspaperItem item={data.uniDetail[2]}></NewspaperItem>
+              </Tab>
+              <Tab name="three" title="III类学生">
+                <NewspaperItem item={data.uniDetail[3]}></NewspaperItem>
+              </Tab>
+            </Tabs>
+          </div>
           <OSticky position="bottom">
             <div class={'btnGroup'}>
               <Button block round type="primary" onClick={onSubmit}>
@@ -170,6 +187,31 @@ export default defineComponent({
               </Button>
             </div>
           </OSticky>
+          <Dialog
+            class="exercisDetailDialog"
+            v-model:show={showTip.value}
+            title="提示框"
+            confirmButtonText="我知道了"
+            v-slots={{
+              title: () => (
+                <div class={styles.DialogTitle}>
+                  <span></span>
+                  <p>学生分类</p>
+                </div>
+              ),
+              default: () => (
+                <div class={styles.DialogConent}>
+                  <p>
+                    根据学生入团的批次对不同训练阶段的学生进行分类,不同训练阶段的学生可布置不同标准的课后训练和单元测验内容。
+                  </p>
+                  <br />
+                  <p>&nbsp;&nbsp;&nbsp;I类学生:最新进入本乐团的学员</p>
+                  <p>&nbsp;II 类学生:较早进入本乐团的学员</p>
+                  <p>III 类学生:最早进入本乐团的学员</p>
+                </div>
+              )
+            }}
+          ></Dialog>
         </div>
       </>
     )

+ 2 - 2
src/views/unit-test/unit-list/models/unit-list-item.tsx

@@ -36,8 +36,8 @@ export default defineComponent({
               {props.item.classGroupName}
             </p>
             <span>
-              布置时间 {dayjs(props.item.createTime).format('YYYY-MM-DD HH:mm')} -
-              {dayjs(props.item.expiryDate).format('HH:mm')}
+              {dayjs(props.item.createTime).format('YYYY-MM-DD HH:mm')} 
+              {dayjs(props.item.expiryDate).format('YYYY-MM-DD HH:mm')}
             </span>
           </div>
           <div class={styles.unitItemICon} onClick={gotoMsg}>