lex 2 éve
szülő
commit
15b2fd722b
41 módosított fájl, 251 hozzáadás és 193 törlés
  1. 3 3
      public/project/preRegister.html
  2. 18 0
      src/helpers/utils.ts
  3. 14 1
      src/school/approval-manage/batch-adjust.tsx
  4. 3 0
      src/school/approval-manage/index.module.less
  5. 8 7
      src/school/approval-manage/subsidy/details.tsx
  6. 2 1
      src/school/attendance/components/attend-student.tsx
  7. 2 1
      src/school/attendance/components/attend-teacher.tsx
  8. 9 9
      src/school/attendance/components/teacher-attendDetail.module.less
  9. 1 1
      src/school/attendance/components/teacher-attendDetail.tsx
  10. 3 1
      src/school/attendance/student-att-day.tsx
  11. 19 2
      src/school/mass-message/create-message.tsx
  12. 2 1
      src/school/orchestra-story/story-operation/index.tsx
  13. 2 0
      src/school/orchestra/compontent/information.tsx
  14. 2 0
      src/school/orchestra/compontent/plan.tsx
  15. 2 1
      src/school/ranking-list/components/day-bang.tsx
  16. 2 1
      src/school/ranking-list/components/timer-bang.tsx
  17. 2 0
      src/school/train-planning/component/practice/index.tsx
  18. 19 18
      src/student/music-group/pre-apply/order-detail.tsx
  19. 2 1
      src/student/ranking-list/index.tsx
  20. 2 1
      src/student/trade-record/component/paid-list.tsx
  21. 2 1
      src/student/trade-record/component/refund-list.tsx
  22. 2 1
      src/student/trade-record/component/wait-pay.tsx
  23. 1 2
      src/styles/index.less
  24. 4 3
      src/teacher/attendance/index.tsx
  25. 2 1
      src/teacher/attendance/modals/teacherAtt-item.module.less
  26. 3 2
      src/views/exercise-record/exercis-detail.tsx
  27. 2 1
      src/views/exercise-record/index.tsx
  28. 3 2
      src/views/exercise-record/modals/student-item.module.less
  29. 1 0
      src/views/mine-orchestra/index.tsx
  30. 4 0
      src/views/mine-orchestra/my-class/index.module.less
  31. 1 1
      src/views/mine-orchestra/my-class/index.tsx
  32. 1 1
      src/views/mine-orchestra/orchestra-deeds/index.tsx
  33. 1 1
      src/views/unit-test/unit-create/index.module.less
  34. 2 0
      src/views/unit-test/unit-create/modals/newspaper-item.module.less
  35. 17 0
      src/views/unit-test/unit-create/uni-last.module.less
  36. 3 3
      src/views/unit-test/unit-create/uni-last.tsx
  37. 2 1
      src/views/unit-test/unit-list/index.module.less
  38. 36 89
      src/views/unit-test/unit-list/models/unit-list-item.module.less
  39. 41 32
      src/views/unit-test/unit-list/models/unit-list-item.tsx
  40. 4 3
      src/views/unit-test/unit-list/models/unit-student.module.less
  41. 2 0
      src/views/unit-test/unit-list/unitDetail.tsx

+ 3 - 3
public/project/preRegister.html

@@ -577,9 +577,9 @@
               code: this.code
             })
             if (res.data.code === 200) {
-              this.submitStatus = true
-              // window.location.href =
-              //   'https://mp.weixin.qq.com/s?__biz=MzkxMDMwOTI5Nw==&mid=2247485261&idx=1&sn=70c79a832a609bf9fae01c9e90fb4f69&chksm=c12c2593f65bac85d26362bca470f6abc2bfc087d9f4dcf87c00094420bdf5a3acb1b870199b#rd'
+              // this.submitStatus = true
+              window.location.href =
+                'https://mp.weixin.qq.com/s?__biz=MzkxMDMwOTI5Nw==&mid=2247485261&idx=1&sn=70c79a832a609bf9fae01c9e90fb4f69&chksm=c12c2593f65bac85d26362bca470f6abc2bfc087d9f4dcf87c00094420bdf5a3acb1b870199b#rd%EF%BC%89'
             } else {
               vant.showToast(res.data.message)
             }

+ 18 - 0
src/helpers/utils.ts

@@ -132,5 +132,23 @@ export const getSecondRPM = (second: number, type?: string) => {
   } else {
     return mm + ':' + dd
   }
+}
 
+/**
+ * @description 格式化日期控件显示内容
+ * @param type 
+ * @param option 
+ * @returns OBJECT
+ */
+export const formatterDatePicker = (type: any, option: any) => {
+  if (type === 'year') {
+    option.text += '年'
+  }
+  if (type === 'month') {
+    option.text += '月'
+  }
+  if (type === 'day') {
+    option.text += '日'
+  }
+  return option
 }

+ 14 - 1
src/school/approval-manage/batch-adjust.tsx

@@ -5,7 +5,7 @@ import OSticky from '@/components/o-sticky'
 import { postMessage } from '@/helpers/native-message'
 import request from '@/helpers/request'
 import { verifiyNumberInteger } from '@/helpers/toolsValidate'
-import { browser } from '@/helpers/utils'
+import { browser, formatterDatePicker } from '@/helpers/utils'
 import router from '@/router'
 import { state } from '@/state'
 import dayjs from 'dayjs'
@@ -290,6 +290,18 @@ export default defineComponent({
           <DatePicker
             // v-model={forms.startTime}
             minDate={new Date()}
+            formatter={(type, option) => {
+              if (type === 'year') {
+                option.text += '年'
+              }
+              if (type === 'month') {
+                option.text += '月'
+              }
+              if (type === 'day') {
+                option.text += '日'
+              }
+              return option
+            }}
             onCancel={() => (forms.startTimeStatus = false)}
             onConfirm={(val: any) => {
               forms.startTime = val.selectedValues
@@ -309,6 +321,7 @@ export default defineComponent({
           <DatePicker
             // v-model={forms.endTime}
             minDate={forms.endTimeMinDate}
+            formatter={formatterDatePicker}
             onCancel={() => (forms.endTimeStatus = false)}
             onConfirm={(val: any) => {
               forms.endTime = val.selectedValues

+ 3 - 0
src/school/approval-manage/index.module.less

@@ -177,11 +177,14 @@
     color: #333;
     padding-bottom: 6px;
     line-height: 22px;
+    padding-left: 2px;
   }
   .itemContentTitleDetail {
+    padding-left: 2px;
     font-size: 14px;
   }
   .itemContentLabel {
+    padding-left: 2px;
     font-size: 14px;
     color: #777;
     line-height: 20px;

+ 8 - 7
src/school/approval-manage/subsidy/details.tsx

@@ -10,7 +10,7 @@ import OSticky from '@/components/o-sticky'
 import OHeader from '@/components/o-header'
 import OEmpty from '@/components/o-empty'
 import dayjs from 'dayjs'
-import { getSecondRPM } from '@/helpers/utils'
+import { getSecondRPM, moneyFormat } from '@/helpers/utils'
 import request from '@/helpers/request'
 import { useRoute } from 'vue-router'
 import { postMessage } from '@/helpers/native-message'
@@ -74,16 +74,17 @@ export default defineComponent({
                 border={false}
                 center
                 class={styles.listItem}
-                title="补助标准"
-                value={`${state.record.standardSalary || 0}元/天`}
+                title="补助课程"
+                value={courseEmnu[state.record.courseType]}
               />
               <Cell
                 border={false}
                 center
                 class={styles.listItem}
-                title="补助课程"
-                value={courseEmnu[state.record.courseType]}
+                title="补助标准"
+                value={`${state.record.standardSalary || 0}元/天`}
               />
+
               {state.record.attendanceInfoList &&
                 state.record.attendanceInfoList.map((item: any) => (
                   <Cell
@@ -92,7 +93,7 @@ export default defineComponent({
                     class={styles.listItem}
                     valueClass={styles.valueColor}
                     title={item.reason}
-                    value={`${item.salary}元`}
+                    value={`${moneyFormat(item.salary)}元`}
                   />
                 ))}
               <Cell
@@ -100,7 +101,7 @@ export default defineComponent({
                 center
                 class={styles.listItem}
                 title="实际补助金额"
-                value={`${state.record.actualSalary || 0}元`}
+                value={`${moneyFormat(state.record.actualSalary || 0)}元`}
               />
             </div>
 

+ 2 - 1
src/school/attendance/components/attend-student.tsx

@@ -21,6 +21,7 @@ import styles from './attent-student.module.less'
 import request from '@/helpers/request'
 import { state as globalState } from '@/state'
 import StudentAttItem from '../modals/studentAtt-item'
+import { formatterDatePicker } from '@/helpers/utils'
 export default defineComponent({
   name: 'attend-student',
 
@@ -260,7 +261,7 @@ export default defineComponent({
             }}
             onConfirm={checkTimer}
             v-model={state.currentDate}
-            title="选择年月"
+            formatter={formatterDatePicker}
             minDate={minDate.value}
             maxDate={maxDate.value}
             columnsType={columnsType.value}

+ 2 - 1
src/school/attendance/components/attend-teacher.tsx

@@ -22,6 +22,7 @@ import { state as globalState } from '@/state'
 import { courseEmnu } from '@/constant'
 import TeacherAttItem from '../modals/teacherAtt-item'
 import OFullRefresh from '@/components/o-full-refresh'
+import { formatterDatePicker } from '@/helpers/utils'
 export default defineComponent({
   name: 'attend-student',
   props: {
@@ -259,7 +260,7 @@ export default defineComponent({
             }}
             onConfirm={checkTimer}
             v-model={state.currentDate}
-            title="选择年月"
+            formatter={formatterDatePicker}
             minDate={minDate.value}
             maxDate={maxDate.value}
             columnsType={columnsType.value}

+ 9 - 9
src/school/attendance/components/teacher-attendDetail.module.less

@@ -22,6 +22,7 @@
           height: 18px;
           margin-right: 6px;
           img {
+            margin-top: -1px;
             width: 100%;
             height: 100%;
           }
@@ -76,10 +77,10 @@
           overflow: hidden;
           text-overflow: ellipsis;
           white-space: nowrap;
-          font-size: 12px;
+          font-size: 14px;
           font-weight: 400;
           color: #777777;
-          line-height: 17px;
+          line-height: 20px;
         }
         .infoMsgSubTeacher {
           width: 260px !important;
@@ -103,7 +104,7 @@
         width: 100%;
         display: flex;
         flex-direction: row;
-        margin-bottom: 7px;
+        margin-bottom: 12px;
         align-items: center;
         justify-content: space-between;
         img {
@@ -115,14 +116,13 @@
         font-size: 14px;
         font-weight: 500;
         color: #333333;
-        line-height: 28px;
-        height: 31px;
-        line-height: 31px;
+        line-height: 20px;
         display: flex;
         flex-direction: row;
         align-items: center;
-        justify-content: space-between;
+        // justify-content: space-between;
         span {
+          margin-left: 6px;
           border-radius: 10px;
           font-size: 18px;
           color: #333;
@@ -130,12 +130,12 @@
         }
       }
       .attRang {
-        height: 31px;
-        line-height: 31px;
+        height: 20px;
         display: flex;
         flex-direction: row;
         align-items: center;
         font-size: 14px;
+        font-weight: 500;
         .locP {
           margin-left: 5px;
           font-size: 12px;

+ 1 - 1
src/school/attendance/components/teacher-attendDetail.tsx

@@ -187,7 +187,7 @@ export default defineComponent({
                   {teacherAttInfo.value?.signInTime ? (
                     <span>{dayjs(teacherAttInfo.value?.signInTime).format('HH:mm:ss')}</span>
                   ) : (
-                    '未签到'
+                    <span>未签到</span>
                   )}
                 </p>
               </div>

+ 3 - 1
src/school/attendance/student-att-day.tsx

@@ -12,12 +12,14 @@ import request from '@/helpers/request'
 import { state as globalState } from '@/state'
 import StudentCell from './modals/student-cell'
 import OSticky from '@/components/o-sticky'
+import { formatterDatePicker } from '@/helpers/utils'
 export default defineComponent({
   name: 'student-att-day',
   setup() {
     const router = useRouter()
     const route = useRoute()
     const myTimer = route.query.time as string
+    console.log(myTimer)
     const state = reactive({
       showPopoverTime: false,
       currentDate: myTimer ? myTimer.split('-') : [2022, 12, 19],
@@ -164,7 +166,7 @@ export default defineComponent({
             }}
             onConfirm={checkTimer}
             v-model={state.currentDate}
-            title="选择日期"
+            formatter={formatterDatePicker}
             columnsType={columnsType.value}
           />
         </Popup>

+ 19 - 2
src/school/mass-message/create-message.tsx

@@ -31,6 +31,7 @@ import ODialog from '@/components/o-dialog'
 import OSticky from '@/components/o-sticky'
 import { useRoute, useRouter } from 'vue-router'
 import OActionSheet from '@/components/o-action-sheet'
+import { formatterDatePicker } from '@/helpers/utils'
 
 export default defineComponent({
   name: 'create-message',
@@ -475,8 +476,24 @@ export default defineComponent({
               forms.sendTimeStatus = false
             }}
           >
-            <DatePicker minDate={new Date()} maxDate={forms.maxDate} v-model={forms.currentDate} />
-            <TimePicker v-model={forms.currentTime} />
+            <DatePicker
+              minDate={new Date()}
+              maxDate={forms.maxDate}
+              v-model={forms.currentDate}
+              formatter={formatterDatePicker}
+            />
+            <TimePicker
+              v-model={forms.currentTime}
+              formatter={(type: any, option: any) => {
+                if (type === 'hour') {
+                  option.text += '时'
+                }
+                if (type === 'minute') {
+                  option.text += '分'
+                }
+                return option
+              }}
+            />
           </PickerGroup>
         </Popup>
 

+ 2 - 1
src/school/orchestra-story/story-operation/index.tsx

@@ -23,7 +23,7 @@ import OUploadAll from '@/components/o-upload-all'
 import OHeader from '@/components/o-header'
 import ODialog from '@/components/o-dialog'
 import { useRoute, useRouter } from 'vue-router'
-import { browser } from '@/helpers/utils'
+import { browser, formatterDatePicker } from '@/helpers/utils'
 
 export default defineComponent({
   name: 'story-operation',
@@ -400,6 +400,7 @@ export default defineComponent({
             maxDate={new Date()}
             v-model={forms.currentDate}
             onCancel={() => (forms.createTimeStatus = false)}
+            formatter={formatterDatePicker}
             onConfirm={(val: any) => {
               const selectedValues = val.selectedValues.join('-')
               forms.createTime = dayjs(selectedValues).toDate()

+ 2 - 0
src/school/orchestra/compontent/information.tsx

@@ -33,6 +33,7 @@ dayjs.extend(isSameOrBefore, isSameOrAfter)
 import { promisefiyPostMessage, postMessage } from '@/helpers/native-message'
 import html2canvas from 'html2canvas'
 import OActionSheet from '@/components/o-action-sheet'
+import { formatterDatePicker } from '@/helpers/utils'
 
 export default defineComponent({
   name: 'detail-information',
@@ -409,6 +410,7 @@ export default defineComponent({
           <DatePicker
             v-model={state.currentData}
             columnsType={['year']}
+            formatter={formatterDatePicker}
             onConfirm={onConfirmDate}
             onCancel={() => (state.timeShow = false)}
           />

+ 2 - 0
src/school/orchestra/compontent/plan.tsx

@@ -10,6 +10,7 @@ import { useRoute } from 'vue-router'
 import styles from './plan.module.less'
 import iconTeacher from '@common/images/icon_teacher.png'
 import OActionSheet from '@/components/o-action-sheet'
+import { formatterDatePicker } from '@/helpers/utils'
 
 export default defineComponent({
   name: 'plan',
@@ -290,6 +291,7 @@ export default defineComponent({
             columnsType={['year']}
             minDate={new Date(2010, 0, 1)}
             maxDate={new Date(2055, 11, 31)}
+            formatter={formatterDatePicker}
             onConfirm={onConfirmDate}
             onCancel={() => (state.timeShow = false)}
           />

+ 2 - 1
src/school/ranking-list/components/day-bang.tsx

@@ -21,6 +21,7 @@ import styles from './timer-bang.module.less'
 import request from '@/helpers/request'
 import { state as globalState } from '@/state'
 import RankItem from '../modals/rank-item'
+import { formatterDatePicker } from '@/helpers/utils'
 export default defineComponent({
   props: ['toHeight'],
   emits: ['setTime'],
@@ -254,7 +255,7 @@ export default defineComponent({
             }}
             onConfirm={checkTimer}
             v-model={state.currentDate}
-            title="选择年月"
+            formatter={formatterDatePicker}
             minDate={minDate.value}
             maxDate={maxDate.value}
             columnsType={columnsType.value}

+ 2 - 1
src/school/ranking-list/components/timer-bang.tsx

@@ -21,6 +21,7 @@ import styles from './timer-bang.module.less'
 import request from '@/helpers/request'
 import { state as globalState } from '@/state'
 import RankItem from '../modals/rank-item'
+import { formatterDatePicker } from '@/helpers/utils'
 export default defineComponent({
   name: 'timer-bang',
   props: ['toHeight'],
@@ -290,7 +291,7 @@ export default defineComponent({
             }}
             onConfirm={checkTimer}
             v-model={state.currentDate}
-            title="选择年月"
+            formatter={formatterDatePicker}
             minDate={minDate.value}
             maxDate={maxDate.value}
             columnsType={columnsType.value}

+ 2 - 0
src/school/train-planning/component/practice/index.tsx

@@ -28,6 +28,7 @@ import ClassList from '../../modal/class-list'
 import request from '@/helpers/request'
 import { state } from '@/state'
 import OSticky from '@/components/o-sticky'
+import { formatterDatePicker } from '@/helpers/utils'
 
 export default defineComponent({
   name: 'practice',
@@ -275,6 +276,7 @@ export default defineComponent({
           <DatePicker
             minDate={new Date()}
             v-model={forms.classDate}
+            formatter={formatterDatePicker}
             onCancel={() => (forms.calendarTimeStatus = false)}
             onConfirm={(date: any) => {
               forms.calendarTimeStatus = false

+ 19 - 18
src/student/music-group/pre-apply/order-detail.tsx

@@ -182,12 +182,7 @@ export default defineComponent({
             // window.location.replace(
             //   window.location.origin + '/#/payment-result?orderNo=' + state.orderNo
             // )
-            router.replace({
-              path: 'payment-result',
-              query: {
-                orderNo: state.orderNo
-              }
-            })
+            checkOrderTypeJump()
           }
         } catch {
           //
@@ -306,12 +301,7 @@ export default defineComponent({
         console.log(data)
         state.pay_channel = data.paymentChannel
         if (data.status !== 'WAIT_PAY' && data.status !== 'PAYING') {
-          router.replace({
-            path: '/payment-result',
-            query: {
-              orderNo: state.orderNo
-            }
-          })
+          checkOrderTypeJump()
         } else {
           callback && callback()
         }
@@ -320,6 +310,22 @@ export default defineComponent({
       }
     }
 
+    const checkOrderTypeJump = () => {
+      // 判断是否是乐团报名
+      if (orderType.value === 'ORCHESTRA') {
+        window.location.replace(
+          'https://mp.weixin.qq.com/s?__biz=MzkxMDMwOTI5Nw==&mid=2247485261&idx=1&sn=70c79a832a609bf9fae01c9e90fb4f69&chksm=c12c2593f65bac85d26362bca470f6abc2bfc087d9f4dcf87c00094420bdf5a3acb1b870199b#rd%EF%BC%89'
+        )
+      } else {
+        router.replace({
+          path: '/payment-result',
+          query: {
+            orderNo: state.orderNo
+          }
+        })
+      }
+    }
+
     // 放弃支付时,则取消订单
     const onBackOut = async () => {
       try {
@@ -555,12 +561,7 @@ export default defineComponent({
           message={state.dialogMessage}
           confirmButtonText="确定"
           onConfirm={() => {
-            router.replace({
-              path: '/payment-result',
-              query: {
-                orderNo: state.orderNo
-              }
-            })
+            checkOrderTypeJump()
           }}
         />
       </>

+ 2 - 1
src/student/ranking-list/index.tsx

@@ -8,6 +8,7 @@ import TimerBang from './components/timer-bang'
 import DayBang from './components/day-bang'
 import styles from './index.module.less'
 import dayjs from 'dayjs'
+import { formatterDatePicker } from '@/helpers/utils'
 const activeName = ref('student')
 const timers = ref('')
 export default defineComponent({
@@ -76,9 +77,9 @@ export default defineComponent({
             onCancel={() => {
               state.showPopoverTime = false
             }}
+            formatter={formatterDatePicker}
             onConfirm={checkTimer}
             v-model={state.currentDate}
-            title="选择年月"
             columnsType={columnsType.value}
           />
         </Popup>

+ 2 - 1
src/student/trade-record/component/paid-list.tsx

@@ -23,7 +23,7 @@ import iconOrder from '../images/icon_order.png'
 import request from '@/helpers/request'
 import OEmpty from '@/components/o-empty'
 import { orderStatus, orderType } from '@/constant'
-import { moneyFormat } from '@/helpers/utils'
+import { formatterDatePicker, moneyFormat } from '@/helpers/utils'
 import ODialog from '@/components/o-dialog'
 import { forms } from '@/school/train-planning/create'
 import { useRouter } from 'vue-router'
@@ -247,6 +247,7 @@ export default defineComponent({
           <DatePicker
             v-model={form.currentData}
             columnsType={['year']}
+            formatter={formatterDatePicker}
             onConfirm={(date: any) => {
               form.currentData = date.selectedValues
               form.timeShow = false

+ 2 - 1
src/student/trade-record/component/refund-list.tsx

@@ -18,7 +18,7 @@ import iconOrder from '../images/icon_order.png'
 import request from '@/helpers/request'
 import OEmpty from '@/components/o-empty'
 import { orderStatus, orderType } from '@/constant'
-import { moneyFormat } from '@/helpers/utils'
+import { formatterDatePicker, moneyFormat } from '@/helpers/utils'
 import { useRouter } from 'vue-router'
 import OFullRefresh from '@/components/o-full-refresh'
 import OActionSheet from '@/components/o-action-sheet'
@@ -218,6 +218,7 @@ export default defineComponent({
           <DatePicker
             v-model={form.currentData}
             columnsType={['year']}
+            formatter={formatterDatePicker}
             onConfirm={(date: any) => {
               form.currentData = date.selectedValues
               form.timeShow = false

+ 2 - 1
src/student/trade-record/component/wait-pay.tsx

@@ -19,7 +19,7 @@ import iconOrder from '../images/icon_order.png'
 import request from '@/helpers/request'
 import OEmpty from '@/components/o-empty'
 import { orderStatus, orderType } from '@/constant'
-import { moneyFormat } from '@/helpers/utils'
+import { formatterDatePicker, moneyFormat } from '@/helpers/utils'
 import { useRouter } from 'vue-router'
 import OFullRefresh from '@/components/o-full-refresh'
 import OActionSheet from '@/components/o-action-sheet'
@@ -294,6 +294,7 @@ export default defineComponent({
           <DatePicker
             v-model={form.currentData}
             columnsType={['year']}
+            formatter={formatterDatePicker}
             onConfirm={(date: any) => {
               form.currentData = date.selectedValues
               form.timeShow = false

+ 1 - 2
src/styles/index.less

@@ -109,7 +109,6 @@
   -moz-osx-font-smoothing: grayscale;
   color: #2c3e50;
   min-height: 100vh;
-  font-family: PingFangSC-Medium, PingFang SC;
 }
 
 body {
@@ -376,7 +375,7 @@ input {
     color: #333333;
     // display: flex;
     // align-items: center;
-    flex: 1;
+    // flex: 1;
     display: flex;
     align-items: center;
     justify-content: center;

+ 4 - 3
src/teacher/attendance/index.tsx

@@ -23,6 +23,7 @@ import { state as globalState } from '@/state'
 import { courseEmnu } from '@/constant'
 import TeacherAttItem from './modals/teacherAtt-item'
 import OSticky from '@/components/o-sticky'
+import { formatterDatePicker } from '@/helpers/utils'
 export default defineComponent({
   name: 'attend-student',
   props: {
@@ -169,7 +170,7 @@ export default defineComponent({
             document.documentElement.style.setProperty('--header-height', height + 'px')
           }}
         >
-          <OHeader />
+          <OHeader border={false} />
           <div class={'searchGroup'}>
             <div
               class={[
@@ -214,7 +215,7 @@ export default defineComponent({
               loading-text=" "
               // v-model:loading={loading.value}
               finished={finished.value}
-              finished-text="没有更多了"
+              finished-text=" "
               style={{
                 paddingTop: '12px'
               }}
@@ -241,7 +242,7 @@ export default defineComponent({
             }}
             onConfirm={checkTimer}
             v-model={state.currentDate}
-            title="选择年月"
+            formatter={formatterDatePicker}
             minDate={minDate.value}
             maxDate={maxDate.value}
             columnsType={columnsType.value}

+ 2 - 1
src/teacher/attendance/modals/teacherAtt-item.module.less

@@ -65,11 +65,12 @@
           line-height: 22px;
         }
         .infoMsgSub {
+          padding-top: 4px;
           width: 175px;
           font-size: 12px;
           font-weight: 400;
           color: #777777;
-          line-height: 17px;
+          line-height: 20px;
           white-space: nowrap;
           overflow: hidden;
           text-overflow: ellipsis;

+ 3 - 2
src/views/exercise-record/exercis-detail.tsx

@@ -25,6 +25,7 @@ import defaultIcon from '@/school/images/default-icon.png'
 import iconStudent from '@common/images/icon_student.png'
 import { state as globalState } from '@/state'
 import { useRect } from '@vant/use'
+import { formatterDatePicker } from '@/helpers/utils'
 
 export default defineComponent({
   name: 'exercis-detail',
@@ -220,7 +221,7 @@ export default defineComponent({
                 </div>
               </div>
             </div>
-            <div class={'searchGroup-single'}>
+            <div class={'searchGroup-single'} style="padding-top: 0 !important;">
               <div
                 class={['searchItem', state.showPopoverTime ? 'searchItem-active' : '']}
                 onClick={() => {
@@ -298,9 +299,9 @@ export default defineComponent({
             }}
             onConfirm={checkTimer}
             v-model={state.currentDate}
-            title="选择年月"
             minDate={minDate.value}
             maxDate={maxDate.value}
+            formatter={formatterDatePicker}
             columnsType={columnsType.value}
           />
         </Popup>

+ 2 - 1
src/views/exercise-record/index.tsx

@@ -26,6 +26,7 @@ import { useRouter } from 'vue-router'
 import styles from './index.module.less'
 import request from '@/helpers/request'
 import OActionSheet from '@/components/o-action-sheet'
+import { formatterDatePicker } from '@/helpers/utils'
 export default defineComponent({
   name: 'exercise-record',
   setup() {
@@ -282,8 +283,8 @@ export default defineComponent({
             }}
             onConfirm={checkTimer}
             v-model={state.currentDate}
-            title="选择年月"
             minDate={minDate.value}
+            formatter={formatterDatePicker}
             maxDate={maxDate.value}
             columnsType={columnsType.value}
           />

+ 3 - 2
src/views/exercise-record/modals/student-item.module.less

@@ -36,7 +36,7 @@
         margin-right: 10px;
       }
       .tag {
-        padding: 0px 8px;
+        padding: 0px;
         min-width: 40px;
 
         background: #ffe7da;
@@ -112,7 +112,8 @@
         position: absolute;
         bottom: 14px;
         right: 15px;
-        color: #f2f2f2;
+        font-size: 16px;
+        color: #d8d8d8;
       }
     }
   }

+ 1 - 0
src/views/mine-orchestra/index.tsx

@@ -85,6 +85,7 @@ export default defineComponent({
       }
     }
     onMounted(() => {
+      document.documentElement.style.setProperty('--footer-height', '0px')
       getData()
     })
 

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

@@ -6,6 +6,10 @@
   overflow: hidden;
   background-color: #fff;
   margin: 0 12px 12px 12px;
+  .userContainer::after {
+    left: 0;
+    right: 0;
+  }
   .iconImg {
     flex-shrink: 0;
     width: 44px;

+ 1 - 1
src/views/mine-orchestra/my-class/index.tsx

@@ -50,7 +50,7 @@ export default defineComponent({
         {Array.isArray(list.value) &&
           list.value.map((item: any) => (
             <div class={styles.itemDiv} onClick={() => openClassDetail(item)}>
-              <Cell center>
+              <Cell center class={styles.userContainer}>
                 {{
                   icon: () => (
                     <Image

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

@@ -163,7 +163,7 @@ export default defineComponent({
             </Steps>
           </List>
         ) : (
-          <OEmpty btnStatus={false} tips="暂无事迹" />
+          <OEmpty btnStatus={false} tips="暂无事迹" style={{ paddingBottom: '30px' }} />
         )}
       </div>
     )

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

@@ -37,7 +37,7 @@
 
 .addP {
   font-size: 16px;
-  font-weight: 500;
+  // font-weight: 500;
   color: #333333 !important;
   line-height: 22px;
 }

+ 2 - 0
src/views/unit-test/unit-create/modals/newspaper-item.module.less

@@ -59,7 +59,9 @@
       flex-direction: row;
       align-items: center;
       font-size: 14px;
+      line-height: 20px;
       .clockIcon {
+        margin-top: -2px;
         font-size: 18px;
         margin-right: 4px;
       }

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

@@ -28,6 +28,10 @@
     }
     .loctionIconWrap {
       margin-left: 5px;
+      span {
+        line-height: 22px;
+        vertical-align: inherit;
+      }
     }
     .wrapValue {
       font-weight: 500;
@@ -64,6 +68,19 @@
   .tabsWrap {
     position: relative;
     margin-top: 10px;
+
+    .rankTabs {
+      :global {
+        .van-tabs__nav {
+          padding-left: 0;
+          padding-right: 0;
+          .van-tab:first-child {
+            padding-left: 0;
+          }
+        }
+      }
+    }
+
     .tabsWrapIcon {
       position: absolute;
       right: 12px;

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

@@ -182,14 +182,14 @@ export default defineComponent({
               center
               valueClass={styles.wrapValue}
               value={forms.value?.orchestraName}
-              title="乐团"
+              title="乐团"
               border={false}
             />
             <Cell
               center
               valueClass={styles.wrapValue}
               value={forms.value?.classGroupName}
-              title="班级"
+              title="班级"
               border={false}
             />
             <Cell
@@ -197,7 +197,7 @@ export default defineComponent({
               class={styles.heightValue}
               valueClass={styles.wrapValue}
               value={(forms.value?.preStudentNum || 0) + '人'}
-              title="学生人数"
+              title="学生人数"
             />
             <Field
               v-model={forms.value.expiryDate}

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

@@ -120,6 +120,7 @@
     .van-tabs__nav {
       padding-right: 0;
       padding-left: 0;
+      padding-bottom: 10px;
       .van-tab {
         &:nth-child(1) {
           padding-left: 0;
@@ -130,7 +131,7 @@
       font-size: 16px;
     }
     .van-tabs__line {
-      bottom: 20px;
+      bottom: 15px;
       width: 20px;
     }
     .van-cell__title {

+ 36 - 89
src/views/unit-test/unit-list/models/unit-list-item.module.less

@@ -1,101 +1,48 @@
 .unitItem {
   background-color: #fff;
-  padding-top: 12px;
-  margin-bottom: 14px;
+  margin: 0 0 14px;
   border-radius: 10px;
-  .unitItemTop {
-    display: flex;
-    flex-direction: row;
-    align-items: center;
-    justify-content: space-between;
-    padding: 0 12px;
-    .unitItemLeft {
-      p {
-        display: flex;
-        flex-direction: row;
-        align-items: center;
-        font-size: 16px;
-        font-family: PingFangSC-Medium, PingFang SC;
-        font-weight: 500;
-        color: #333333;
-        line-height: 22px;
-        margin-bottom: 3px;
-        .editImg {
-          width: 18px;
-          height: 18px;
-          margin-right: 6px;
-        }
-      }
-      span {
-        font-size: 13px;
-        font-weight: 400;
-        color: #777777;
-        line-height: 18px;
-      }
-    }
-    .unitItemICon {
-      .msgImg {
-        width: 20px;
-        height: 20px;
-      }
+  :global {
+    .van-cell {
+      padding: 13px 12px;
     }
   }
-  .unitItemInfo {
-    display: flex;
-    flex-direction: row;
-    align-items: center;
-    justify-content: space-around;
-    padding: 15px 0;
-    .unitItemInfoMain {
-      font-size: 26px;
-      font-family: 'DINA';
-      font-weight: bold;
-      color: #333333;
-      line-height: 30px;
-      text-align: center;
-    }
-    .unitItemInfosub {
-      font-size: 14px;
-      font-weight: 400;
-      color: #333333;
-      line-height: 20px;
-      text-align: center;
-    }
-    .orange {
-      color: #f67146;
-    }
-    .unitItemInfoWrap {
-      width: 50%;
-    }
-    .unitItemInfoWrapLine {
-      position: relative;
-
-      &:after {
-        content: ' ';
-        position: absolute;
-        top: 50%;
-        right: 0;
-        margin-top: -10px;
-        width: 1px;
-        height: 20px;
-        background: #eaeaea;
-        border-radius: 1px;
-      }
-    }
+  .testName {
+    max-width: 260px;
+    font-size: 15px;
+    font-weight: 500;
+    color: #333333;
+    line-height: 21px;
   }
-  .unitItemOrchestra {
-    display: flex;
-    flex-direction: row;
-    align-items: center;
-    justify-content: space-between;
-    border-top: 1px solid #f2f2f2;
-    padding: 12px;
+  .editImg {
+    width: 18px;
+    height: 18px;
+    margin-right: 8px;
+  }
+  .msgImg {
+    width: 24px;
+    height: 24px;
+  }
+
+  .testContent {
     font-size: 14px;
     font-weight: 400;
     color: #333333;
-    .arrow {
-      color: #f2f2f2;
-      font-size: 12px;
+    line-height: 20px;
+    .testItem {
+      display: flex;
+      align-items: center;
+      padding-bottom: 12px;
+      &:last-child {
+        padding-bottom: 4px;
+      }
+      p {
+        font-weight: 500;
+      }
+    }
+    .name {
+      color: #777777;
+      width: 80px;
     }
   }
 }

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

@@ -31,38 +31,47 @@ export default defineComponent({
       router.push({ path: '/unitDetail', query: { id: props.item.id } })
     }
     return () => (
-      <div class={styles.unitItem} onClick={gotoDetail}>
-        <div class={styles.unitItemTop}>
-          <div class={styles.unitItemLeft}>
-            <p>
-              {' '}
-              <Image src={iconEdit} class={styles.editImg} />
-              {props.item?.name || '--'}
-            </p>
-            <span>
-              {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}>
-            <Image src={iconMessage} class={styles.msgImg}></Image>
-          </div>
-        </div>
-        <div class={[styles.unitItemInfo]}>
-          <div class={[styles.unitItemInfoWrap, styles.unitItemInfoWrapLine]}>
-            <p class={styles.unitItemInfoMain}>{props.item?.commitNum || 0}</p>
-            <p class={styles.unitItemInfosub}>提交人数</p>
-          </div>
-          <div class={[styles.unitItemInfoWrap]}>
-            <p class={[styles.unitItemInfoMain, styles.orange]}>{props.item?.passNum || 0}</p>
-            <p class={styles.unitItemInfosub}>达标人数</p>
-          </div>
-        </div>
-        <div class={styles.unitItemOrchestra}>
-          <p>{props.item?.orchestraName || '--'}</p>
-          <Icon class={styles.arrow} name="arrow"></Icon>
-        </div>
-      </div>
+      <>
+        <CellGroup inset class={styles.unitItem} onClick={gotoDetail}>
+          <Cell center>
+            {{
+              icon: () => <Image src={iconEdit} class={styles.editImg} />,
+              title: () => (
+                <div class={['van-ellipsis', styles.testName]}>{props.item?.name || '--'}</div>
+              ),
+              extra: () => <Image src={iconMessage} class={styles.msgImg}></Image>
+            }}
+          </Cell>
+          <Cell>
+            {{
+              title: () => (
+                <div class={styles.testContent}>
+                  <div class={styles.testItem}>
+                    <span class={styles.name}>班级名称</span>
+                    <p>{props.item?.classGroupName}</p>
+                  </div>
+                  <div class={styles.testItem}>
+                    <span class={styles.name}>乐团名称</span>
+                    <p>{props.item?.orchestraName}</p>
+                  </div>
+                  <div class={styles.testItem}>
+                    <span class={styles.name}>截止时间</span>
+                    <p>{dayjs(props.item?.expiryDate).format('YYYY-MM-DD HH:mm')}</p>
+                  </div>
+                  <div class={styles.testItem}>
+                    <span class={styles.name}>提交人数</span>
+                    <p>{props.item?.commitNum || 0}人</p>
+                  </div>
+                  <div class={styles.testItem}>
+                    <span class={styles.name}>达标人数</span>
+                    <p style={{ color: 'var(--van-primary)' }}>{props.item?.passNum || 0}人</p>
+                  </div>
+                </div>
+              )
+            }}
+          </Cell>
+        </CellGroup>
+      </>
     )
   }
 })

+ 4 - 3
src/views/unit-test/unit-list/models/unit-student.module.less

@@ -1,6 +1,7 @@
 .radioSection {
   position: relative;
   min-width: 32px;
+  line-height: 20px;
   justify-content: center;
 }
 
@@ -14,7 +15,7 @@
 }
 
 .radioSection + .radioSection {
-  margin-left: 12px;
+  margin-left: 20px;
 }
 
 .unitList {
@@ -73,9 +74,9 @@
       max-width: 200px;
     }
     .phone {
-      font-size: 14px;
+      font-size: 13px;
       color: #777777;
-      line-height: 20px;
+      line-height: 18px;
     }
 
     .status {

+ 2 - 0
src/views/unit-test/unit-list/unitDetail.tsx

@@ -86,6 +86,8 @@ export default defineComponent({
             title-active-color={'#333333'}
             title-inactive-color={'#777'}
             color={'#FF8057'}
+            lineWidth={20}
+            lineHeight={4}
             shrink
           >
             <Tab name={1} title="单团学生">