فهرست منبع

修改弹窗样式

lex 2 سال پیش
والد
کامیت
ecc40d96a9

+ 5 - 0
src/components/o-popup/index.tsx

@@ -13,6 +13,10 @@ export default defineComponent({
       type: String,
       default: '100%'
     },
+    teleport: {
+      type: String,
+      default: ''
+    },
     destroy: {
       type: Boolean,
       default: false
@@ -95,6 +99,7 @@ export default defineComponent({
         show={this.modelValue}
         transitionAppear={true}
         position={this.position}
+        teleport={this.teleport}
         style={{ height: this.height, width: this.width }}
         zIndex={this.zIndex}
         onClosed={() => {

+ 14 - 13
src/school/manage-teacher/index.tsx

@@ -30,6 +30,7 @@ import OFullRefresh from '@/components/o-full-refresh'
 import { manageTeacherType } from '@/constant'
 import html2canvas from 'html2canvas'
 import { promisefiyPostMessage, postMessage } from '@/helpers/native-message'
+import OActionSheet from '@/components/o-action-sheet'
 
 export default defineComponent({
   name: 'companion-teacher',
@@ -52,7 +53,13 @@ export default defineComponent({
         page: 1,
         rows: 20
       },
-      isClick: false
+      isClick: false,
+      actions: [
+        { name: '全部', id: 'ALL', selected: true },
+        // { name: '注销', id: 'CANCEL' },
+        { name: '冻结', id: 'LOCKED' },
+        { name: '正常', id: 'ACTIVATION' }
+      ]
     })
 
     const getList = async () => {
@@ -196,20 +203,14 @@ export default defineComponent({
           <OEmpty btnStatus={false} tips="暂无管理老师" />
         )}
 
-        {/* <van-action-sheet v-model:show="show" :actions="actions" @select="onSelect" /> */}
-
-        <ActionSheet
+        <OActionSheet
           v-model:show={form.oPopover}
-          cancelText="取消"
-          actions={
-            [
-              { name: '全部', id: 'ALL' },
-              // { name: '注销', id: 'CANCEL' },
-              { name: '冻结', id: 'LOCKED' },
-              { name: '正常', id: 'ACTIVATION' }
-            ] as any
-          }
+          actions={form.actions}
           onSelect={(val: any) => {
+            form.actions.forEach((child: any) => {
+              child.selected = false
+            })
+            val.selected = true
             form.statusText = val.name
             form.params.status = val.id === 'ALL' ? null : val.id
             form.oPopover = false

+ 12 - 10
src/school/mass-message/create-message.tsx

@@ -30,6 +30,7 @@ import iconJiaoFu from '@common/images/icon_jiaofu.png'
 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'
 
 export default defineComponent({
   name: 'create-message',
@@ -56,7 +57,11 @@ export default defineComponent({
       delStatus: false,
       sureLoading: false,
       updateLoading: false,
-      closeLoading: false
+      closeLoading: false,
+      actions: [
+        { name: '即时发送', value: 'IMMEDIATELY', selected: true },
+        { name: '定时发送', value: 'SCHEDULED' }
+      ]
     })
 
     const beforeRead = (file: any) => {
@@ -435,17 +440,14 @@ export default defineComponent({
           )}
         </OSticky>
 
-        <ActionSheet
+        <OActionSheet
           v-model:show={forms.sendStatus}
-          cancelText="取消"
-          actions={
-            [
-              { name: '即时发送', value: 'IMMEDIATELY' },
-              { name: '定时发送', value: 'SCHEDULED' }
-            ] as any
-          }
+          actions={forms.actions}
           onSelect={(val: any) => {
-            console.log(val)
+            forms.actions.forEach((child: any) => {
+              child.selected = false
+            })
+            val.selected = true
             forms.sendType = val.value
             forms.sendStatus = false
           }}

+ 8 - 0
src/school/orchestra/compontent/information.module.less

@@ -76,6 +76,14 @@
   }
 }
 
+.informationBottom {
+  :global {
+    .van-sticky {
+      position: absolute;
+    }
+  }
+}
+
 .codeContainer {
   .codeImg {
     width: 323px;

+ 30 - 10
src/school/orchestra/compontent/information.tsx

@@ -17,7 +17,7 @@ import {
   showSuccessToast,
   showToast
 } from 'vant'
-import { computed, defineComponent, nextTick, onMounted, reactive } from 'vue'
+import { computed, defineComponent, nextTick, onMounted, reactive, Teleport } from 'vue'
 import styles from './information.module.less'
 import iconSaveImage from '../images/icon-save-image.png'
 import iconWechat from '../images/icon-wechat.png'
@@ -32,6 +32,7 @@ import isSameOrAfter from 'dayjs/plugin/isSameOrAfter'
 dayjs.extend(isSameOrBefore, isSameOrAfter)
 import { promisefiyPostMessage, postMessage } from '@/helpers/native-message'
 import html2canvas from 'html2canvas'
+import OActionSheet from '@/components/o-action-sheet'
 
 export default defineComponent({
   name: 'detail-information',
@@ -53,7 +54,7 @@ export default defineComponent({
       actionText: '上学期',
       actionType: 'up',
       actionTerm: [
-        { name: '上学期', color: 'var(--van-primary-color)', value: 'up' },
+        { name: '上学期', selected: true, value: 'up' },
         { name: '下学期', value: 'down' }
       ],
       oPopover: false,
@@ -66,7 +67,7 @@ export default defineComponent({
         loading: false,
         finished: false
       },
-
+      bottomHeight: 0,
       params: {
         startTime: dayjs(dayjs().year() + startTime.value).format('YYYY-MM-DD HH:mm:ss'),
         endTime: dayjs(dayjs().year() + endTime.value)
@@ -82,11 +83,10 @@ export default defineComponent({
 
     // 选择学期
     const onSelect = (val: any) => {
-      console.log(val, '1')
       state.actionTerm.forEach((item: any) => {
-        item.color = null
+        item.selected = false
       })
-      val.color = 'var(--van-primary-color)'
+      val.selected = true
       state.actionText = val.name
       state.actionType = val.value
 
@@ -254,6 +254,13 @@ export default defineComponent({
         state.currentData = [year - 1 + '']
         state.actionText = '下学期'
         state.actionType = 'up'
+        state.actionTerm.forEach((item: any) => {
+          if (item.value === 'up') {
+            item.selected = true
+          } else {
+            item.selected = false
+          }
+        })
       }
 
       await getDetails()
@@ -278,7 +285,13 @@ export default defineComponent({
           </div>
         </div>
 
-        <div style="height: calc(100vh - var(--header-height) - 1.17333rem); overflow: hidden; overflow-y: auto;">
+        <div
+          style={{
+            height: `calc(100vh - var(--header-height) - var(--van-tabs-line-height)  - 1.17333rem)`,
+            overflow: 'hidden',
+            overflowY: 'auto'
+          }}
+        >
           <Grid border={false} class={styles.gridContainer}>
             <GridItem>
               <p class={[styles.title, styles.red]}>
@@ -348,7 +361,14 @@ export default defineComponent({
           )}
           {/*  */}
           {state.orchestraInfo.canSignUp && (
-            <OSticky position="bottom">
+            // <Teleport to={'body'}>
+            <OSticky
+              position="bottom"
+              class={styles.informationBottom}
+              onGetHeight={(height: any) => {
+                state.bottomHeight = height
+              }}
+            >
               <div class={'btnGroup'}>
                 <Button
                   round
@@ -368,13 +388,13 @@ export default defineComponent({
                 </Button>
               </div>
             </OSticky>
+            // </Teleport>
           )}
         </div>
 
-        <ActionSheet
+        <OActionSheet
           v-model:show={state.oPopover}
           actions={state.actionTerm}
-          cancelText="取消"
           onSelect={onSelect}
         />
 

+ 13 - 6
src/school/orchestra/compontent/plan.tsx

@@ -9,6 +9,7 @@ import { computed, defineComponent, onMounted, reactive } from 'vue'
 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'
 
 export default defineComponent({
   name: 'plan',
@@ -33,7 +34,7 @@ export default defineComponent({
       actionText: '上学期',
       actionType: 'up',
       actionTerm: [
-        { name: '上学期', color: 'var(--van-primary-color)', value: 'up' },
+        { name: '上学期', selected: true, value: 'up' },
         { name: '下学期', value: 'down' }
       ],
       oPopover: false,
@@ -61,9 +62,9 @@ export default defineComponent({
     // 选择学期
     const onSelect = (val: any) => {
       state.actionTerm.forEach((item: any) => {
-        item.color = null
+        item.selected = false
       })
-      val.color = 'var(--van-primary-color)'
+      val.selected = true
       state.actionText = val.name
       state.actionType = val.value
 
@@ -193,6 +194,13 @@ export default defineComponent({
         state.currentData = [year - 1 + '']
         state.actionText = '下学期'
         state.actionType = 'up'
+        state.actionTerm.forEach((item: any) => {
+          if (item.value === 'up') {
+            item.selected = true
+          } else {
+            item.selected = false
+          }
+        })
       }
 
       await getList()
@@ -214,7 +222,7 @@ export default defineComponent({
           </div>
         </div>
 
-        <div style="height: calc(100vh - var(--header-height) - 1.17333rem); overflow: hidden; overflow-y: auto;">
+        <div style="height: calc(100vh - var(--header-height) - var(--van-tabs-line-height) - 1.17333rem); overflow: hidden; overflow-y: auto;">
           {state.listState.dataShow ? (
             <List
               // v-model:loading={state.listState.loading}
@@ -263,10 +271,9 @@ export default defineComponent({
           )}
         </div>
 
-        <ActionSheet
+        <OActionSheet
           v-model:show={state.oPopover}
           actions={state.actionTerm}
-          cancelText="取消"
           onSelect={onSelect}
         />
 

+ 6 - 10
src/school/orchestra/index.tsx

@@ -9,6 +9,7 @@ import { state } from '@/state'
 import OEmpty from '@/components/o-empty'
 import { orchestraType } from '@/constant'
 import OFullRefresh from '@/components/o-full-refresh'
+import OActionSheet from '@/components/o-action-sheet'
 
 export default defineComponent({
   name: 'my-orchestra',
@@ -17,7 +18,7 @@ export default defineComponent({
     const form = reactive({
       showPopover: false,
       actions: [
-        { name: '全部乐团', color: 'var(--van-primary-color)', value: 'ALL' },
+        { name: '全部乐团', selected: true, value: 'ALL' },
         { name: '交付团', value: 'DELIVERY' },
         { name: '晋升团', value: 'PROMOTION' }
       ],
@@ -48,10 +49,10 @@ export default defineComponent({
     }
 
     const onSelect = (val: any) => {
-      form.actions.forEach((item: any) => {
-        item.color = null
+      form.actions.forEach((child: any) => {
+        child.selected = false
       })
-      val.color = 'var(--van-primary-color)'
+      val.selected = true
       form.params.type = val.value === 'ALL' ? null : val.value
       form.showPopover = false
       form.params.page = 1
@@ -187,12 +188,7 @@ export default defineComponent({
           <OEmpty btnStatus={false} tips="暂无乐团" />
         )}
 
-        <ActionSheet
-          v-model:show={form.showPopover}
-          actions={form.actions}
-          cancelText="取消"
-          onSelect={onSelect}
-        />
+        <OActionSheet v-model:show={form.showPopover} actions={form.actions} onSelect={onSelect} />
       </div>
     )
   }

+ 20 - 8
src/school/orchestra/orchestra-detail.tsx

@@ -51,16 +51,28 @@ export default defineComponent({
           }}
         >
           <OHeader />
-          <Tabs sticky lineWidth={20} lineHeight={4} v-model:active={tabValue.value}>
-            <Tab title="乐团信息" name="information"></Tab>
-            <Tab title="训练进度" name="plan"></Tab>
-            {/* <Tab title="训练照片" name="photo"></Tab> */}
-            {/* <Tab title="乐团资讯" name="info"></Tab> */}
-          </Tabs>
         </OSticky>
+        <Tabs
+          sticky
+          lineWidth={20}
+          lineHeight={4}
+          v-model:active={tabValue.value}
+          animated
+          offsetTop={tabHeight.value}
+          swipeable
+        >
+          <Tab title="乐团信息" name="information">
+            <Information termTimes={termTimes.value} />
+          </Tab>
+          <Tab title="训练进度" name="plan">
+            <Plan height={tabHeight.value} termTimes={termTimes.value} />
+          </Tab>
+          {/* <Tab title="训练照片" name="photo"></Tab> */}
+          {/* <Tab title="乐团资讯" name="info"></Tab> */}
+        </Tabs>
 
-        {tabValue.value === 'information' && <Information termTimes={termTimes.value} />}
-        {tabValue.value === 'plan' && <Plan height={tabHeight.value} termTimes={termTimes.value} />}
+        {/* {tabValue.value === 'information' && <Information termTimes={termTimes.value} />} */}
+        {/* {tabValue.value === 'plan' && <Plan height={tabHeight.value} termTimes={termTimes.value} />} */}
         {/* {tabValue.value === 'photo' && <Photo height={tabHeight.value} />} */}
       </div>
     )

+ 8 - 0
src/school/train-planning/component/practice/index.module.less

@@ -15,6 +15,14 @@
   }
 }
 
+.informationBottom {
+  :global {
+    .van-sticky {
+      position: absolute;
+    }
+  }
+}
+
 .cellGroup {
   margin: 0 13px;
   border-radius: 10px;

+ 20 - 7
src/school/train-planning/component/practice/index.tsx

@@ -121,7 +121,13 @@ export default defineComponent({
       // getClasses()
     })
     return () => (
-      <div class={styles.practice}>
+      <div
+        class={styles.practice}
+        style={{
+          minHeight: 'calc(100vh - var(--header-height) - var(--van-tabs-line-height))',
+          overflow: 'hidden'
+        }}
+      >
         <div class={styles.tips}>
           <Icon name="warning" class={styles.icon} />
           自定义训练可对任意班级进行排课,课程类型可多选
@@ -179,7 +185,7 @@ export default defineComponent({
             modelValue={
               forms.trainStartDate ? dayjs(forms.trainStartDate).format('YYYY年MM月DD日') : ''
             }
-            onClick={() => (forms.calendarStatus = true)}
+            onClick={() => (forms.calendarTimeStatus = true)}
           />
           <Field
             label="课程周次"
@@ -232,7 +238,7 @@ export default defineComponent({
           </Cell>
         </CellGroup>
 
-        <OSticky position="bottom">
+        <OSticky position="bottom" class={styles.informationBottom}>
           <div class={'btnGroup'} style={{ marginTop: '24px' }}>
             <Button type="primary" block round onClick={onSubmit}>
               下一步
@@ -241,7 +247,13 @@ export default defineComponent({
         </OSticky>
 
         {/* 训练周次 */}
-        <Popup v-model:show={forms.weekStatus} position="bottom" round class={'popupBottomSearch'}>
+        <Popup
+          v-model:show={forms.weekStatus}
+          position="bottom"
+          round
+          class={'popupBottomSearch'}
+          teleport={'body'}
+        >
           <Picker
             columns={weekdays}
             onCancel={() => (forms.weekStatus = false)}
@@ -254,17 +266,18 @@ export default defineComponent({
 
         {/* 训练开始日期 */}
         <Popup
-          v-model:show={forms.calendarStatus}
+          v-model:show={forms.calendarTimeStatus}
           position="bottom"
           round
           class={'popupBottomSearch'}
+          teleport={'body'}
         >
           <DatePicker
             minDate={new Date()}
             v-model={forms.classDate}
-            onCancel={() => (forms.calendarStatus = false)}
+            onCancel={() => (forms.calendarTimeStatus = false)}
             onConfirm={(date: any) => {
-              forms.calendarStatus = false
+              forms.calendarTimeStatus = false
               forms.trainStartDate = date.selectedValues.join('-')
 
               const days = dayjs(forms.trainStartDate).day()

+ 8 - 0
src/school/train-planning/component/standard/index.module.less

@@ -19,6 +19,14 @@
   }
 }
 
+.informationBottom {
+  :global {
+    .van-sticky {
+      position: absolute;
+    }
+  }
+}
+
 .cellGroup {
   margin: 0 13px;
   border-radius: 10px;

+ 20 - 3
src/school/train-planning/component/standard/index.tsx

@@ -168,7 +168,13 @@ export default defineComponent({
     })
 
     return () => (
-      <div class={styles.standard}>
+      <div
+        class={styles.standard}
+        style={{
+          minHeight: 'calc(100vh - var(--header-height) - var(--van-tabs-line-height))',
+          overflow: 'hidden'
+        }}
+      >
         <div class={styles.tips}>
           <Icon name="warning" class={styles.icon} />
           标准训练可对交付团进行整学期标准训练排课
@@ -259,7 +265,7 @@ export default defineComponent({
           ></Cell>
         </CellGroup>
 
-        <OSticky position="bottom">
+        <OSticky position="bottom" class={styles.informationBottom}>
           <div class={'btnGroup'} style={{ marginTop: '24px' }}>
             <Button type="primary" block round onClick={onSubmit}>
               下一步
@@ -279,7 +285,12 @@ export default defineComponent({
         </Popup>
 
         {/* 选择训练开始日期 */}
-        <OPopup v-model:modelValue={forms.calendarStatus} position="bottom" destroy>
+        <OPopup
+          v-model:modelValue={forms.calendarStatus}
+          position="bottom"
+          destroy
+          teleport={'body'}
+        >
           <Calendar
             list={forms.calendarList}
             nextMonth={(date: Date) => getList(date)}
@@ -321,6 +332,7 @@ export default defineComponent({
           position="bottom"
           style={{ background: '#F6F6F6' }}
           destroy
+          teleport={'body'}
         >
           {forms.timerStatus && (
             <Timer
@@ -339,9 +351,11 @@ export default defineComponent({
           position="bottom"
           round
           class={'popupBottomSearch'}
+          teleport={'body'}
         >
           <Picker
             columns={forms.timerPickerList}
+            onCancel={() => (forms.numberStatus = false)}
             onConfirm={(val: any) => {
               const selectedValue = val.selectedValues[0]
               forms.times = selectedValue
@@ -356,6 +370,7 @@ export default defineComponent({
           messageAlign="left"
           confirmButtonText="去设置"
           cancelButtonText="暂不设置"
+          teleport={'body'}
           showCancelButton
           onConfirm={() => {
             forms.classStatus = true
@@ -376,6 +391,7 @@ export default defineComponent({
           message={`暂无可训练次数`}
           messageAlign="center"
           confirmButtonText="确定"
+          teleport={'body'}
         >
           {{
             title: () => (
@@ -392,6 +408,7 @@ export default defineComponent({
           position="bottom"
           style={{ background: '#F6F6F6' }}
           destroy
+          teleport={'body'}
         >
           <ClassList
             classList={forms.classList}

+ 1 - 0
src/school/train-planning/create.ts

@@ -50,6 +50,7 @@ const original = () => {
     weekStatus: false, // 时间
     calendarStatus: false, // 日期
     classStatus: false, // 班级设置伴学指导
+    calendarTimeStatus: false,
     timerStatus: false, // 时间状态
     skipHoliday: 1, // 是否节假日
     week: null as any, // 周次

+ 1 - 1
src/school/train-planning/index.module.less

@@ -7,7 +7,7 @@
       font-weight: 400;
     }
     .van-tabs__wrap {
-      padding-bottom: 3px;
+      // padding-bottom: 3px;
     }
   }
 }

+ 34 - 17
src/school/train-planning/index.tsx

@@ -26,31 +26,48 @@ export default defineComponent({
       }
     }
 
+    const heightV = ref(0)
+
     onMounted(() => {
       getSchoolDetail()
     })
     return () => (
       <div class={styles.train}>
-        <OSticky position="top">
+        <OSticky
+          position="top"
+          onGetHeight={(height: any) => {
+            heightV.value = height
+            document.documentElement.style.setProperty('--header-height', height + 'px')
+          }}
+        >
           <OHeader />
-          <Tabs
-            sticky
-            lineWidth={20}
-            lineHeight={4}
-            v-model:active={tabValue.value}
-            onChange={(val: any) => {
-              // 切换时间重置表单数据
-              resestState()
-              sessionStorage.setItem('trainType', val)
-            }}
-          >
-            <Tab title="标准训练" name="standard"></Tab>
-            <Tab title="自定义训练" name="practice"></Tab>
-          </Tabs>
         </OSticky>
+        <Tabs
+          sticky
+          lineWidth={20}
+          lineHeight={4}
+          swipeable
+          animated
+          offsetTop={heightV.value}
+          v-model:active={tabValue.value}
+          onChange={(val: any) => {
+            // 切换时间重置表单数据
+            resestState()
+            sessionStorage.setItem('trainType', val)
+          }}
+        >
+          <Tab title="标准训练" name="standard">
+            {/* <Standard address={address.value} /> */}
+            {tabValue.value === 'standard' && <Standard address={address.value} />}
+          </Tab>
+          <Tab title="自定义训练" name="practice">
+            {/* <Practice address={address.value} /> */}
+            {tabValue.value === 'practice' && <Practice address={address.value} />}
+          </Tab>
+        </Tabs>
 
-        {tabValue.value === 'standard' && <Standard address={address.value} />}
-        {tabValue.value === 'practice' && <Practice address={address.value} />}
+        {/* {tabValue.value === 'standard' && <Standard address={address.value} />}
+        {tabValue.value === 'practice' && <Practice address={address.value} />} */}
       </div>
     )
   }

+ 1 - 1
src/school/train-planning/modal/calendar/index.module.less

@@ -71,7 +71,7 @@
     .van-calendar__day {
       font-size: 20px;
       line-height: 24px;
-      font-weight: bold;
+      // font-weight: bold;
       color: #333;
       display: block;
       // align-items: flex-start;

+ 7 - 3
src/student/trade-record/component/paid-list.tsx

@@ -28,6 +28,7 @@ import ODialog from '@/components/o-dialog'
 import { forms } from '@/school/train-planning/create'
 import { useRouter } from 'vue-router'
 import OFullRefresh from '@/components/o-full-refresh'
+import OActionSheet from '@/components/o-action-sheet'
 
 export default defineComponent({
   name: 'wait_pay',
@@ -45,7 +46,7 @@ export default defineComponent({
       currentData: [dayjs().year() + ''],
       typeShow: false,
       currentType: 'ALL',
-      typeArray: [{ name: '全部', value: 'ALL' }] as any,
+      typeArray: [{ name: '全部', value: 'ALL', selected: true }] as any,
       resionList: [] as any,
       list: [] as any,
       listState: {
@@ -255,12 +256,15 @@ export default defineComponent({
           />
         </Popup>
 
-        <ActionSheet
+        <OActionSheet
           v-model:show={form.typeShow}
           actions={form.typeArray}
           teleport={'body'}
-          cancelText="取消"
           onSelect={(val: any) => {
+            form.typeArray.forEach((child: any) => {
+              child.selected = false
+            })
+            val.selected = true
             form.currentType = val.value
             form.typeShow = false
             onSearch()

+ 7 - 3
src/student/trade-record/component/refund-list.tsx

@@ -21,6 +21,7 @@ import { orderStatus, orderType } from '@/constant'
 import { moneyFormat } from '@/helpers/utils'
 import { useRouter } from 'vue-router'
 import OFullRefresh from '@/components/o-full-refresh'
+import OActionSheet from '@/components/o-action-sheet'
 
 export default defineComponent({
   name: 'wait_pay',
@@ -38,7 +39,7 @@ export default defineComponent({
       currentData: [dayjs().year() + ''],
       typeShow: false,
       currentType: 'ALL',
-      typeArray: [{ name: '全部', value: 'ALL' }] as any,
+      typeArray: [{ name: '全部', value: 'ALL', selected: true }] as any,
       list: [] as any,
       listState: {
         dataShow: true, // 判断是否有数据
@@ -226,12 +227,15 @@ export default defineComponent({
           />
         </Popup>
 
-        <ActionSheet
+        <OActionSheet
           v-model:show={form.typeShow}
           actions={form.typeArray}
-          cancelText="取消"
           teleport={'body'}
           onSelect={(val: any) => {
+            form.typeArray.forEach((child: any) => {
+              child.selected = false
+            })
+            val.selected = true
             form.currentType = val.value
             form.typeShow = false
             onSearch()

+ 7 - 3
src/student/trade-record/component/wait-pay.tsx

@@ -22,6 +22,7 @@ import { orderStatus, orderType } from '@/constant'
 import { moneyFormat } from '@/helpers/utils'
 import { useRouter } from 'vue-router'
 import OFullRefresh from '@/components/o-full-refresh'
+import OActionSheet from '@/components/o-action-sheet'
 
 export default defineComponent({
   name: 'wait_pay',
@@ -39,7 +40,7 @@ export default defineComponent({
       currentData: [dayjs().year() + ''],
       typeShow: false,
       currentType: 'ALL',
-      typeArray: [{ name: '全部', value: 'ALL' }] as any,
+      typeArray: [{ name: '全部', value: 'ALL', selected: true }] as any,
       list: [] as any,
       listState: {
         dataShow: true, // 判断是否有数据
@@ -302,12 +303,15 @@ export default defineComponent({
           />
         </Popup>
 
-        <ActionSheet
+        <OActionSheet
           v-model:show={form.typeShow}
           actions={form.typeArray}
-          cancelText="取消"
           teleport={'body'}
           onSelect={(val: any) => {
+            form.typeArray.forEach((child: any) => {
+              child.selected = false
+            })
+            val.selected = true
             form.currentType = val.value
             form.typeShow = false
             onSearch()

+ 0 - 15
src/teacher/attendance/index.tsx

@@ -248,21 +248,6 @@ export default defineComponent({
           />
         </Popup>
 
-        {/* <ActionSheet
-          v-model:show={state.showPopoverOrchestra}
-          title="选择乐团"
-          actions={state.actions}
-          onSelect={checkOrchestra}
-        ></ActionSheet>
-
-        <ActionSheet
-          style={{ height: '40%' }}
-          close-on-click-action
-          v-model:show={state.showPopoverSubject}
-          title="选择课程"
-          actions={state.courseList}
-          onSelect={checkSubject}
-        ></ActionSheet> */}
         <Popup
           v-model:show={state.showPopoverOrchestra}
           position="bottom"

+ 9 - 21
src/views/exercise-record/index.tsx

@@ -25,6 +25,7 @@ import { state as globalState } from '@/state'
 import { useRouter } from 'vue-router'
 import styles from './index.module.less'
 import request from '@/helpers/request'
+import OActionSheet from '@/components/o-action-sheet'
 export default defineComponent({
   name: 'exercise-record',
   setup() {
@@ -41,12 +42,11 @@ export default defineComponent({
         {
           name: '按天数',
           value: 'PRACTICE_DAY',
-          color: '#f67146'
+          selected: true
         },
         {
           name: '按时长',
-          value: 'PRACTICE_TIMES',
-          color: '#333'
+          value: 'PRACTICE_TIMES'
         }
         //   color: forms.sortType == 'PRACTICE_DAY' ? '#FF8057' : '#333'
       ],
@@ -117,13 +117,10 @@ export default defineComponent({
     const checkSort = (val: any) => {
       forms.sortType = val.value
       forms.sortTypeName = val.name
-      state.actionSorts.forEach((element) => {
-        if (element.value == val.value) {
-          element.color = '#f67146'
-        } else {
-          element.color = '#333'
-        }
+      state.actionSorts.forEach((child: any) => {
+        child.selected = false
       })
+      val.selected = true
       state.showPopoverSort = false
       refreshing.value = true
       getList()
@@ -292,12 +289,12 @@ export default defineComponent({
           />
         </Popup>
 
-        <ActionSheet
+        <OActionSheet
           v-model:show={state.showPopoverSort}
           actions={state.actionSorts}
           onSelect={checkSort}
-          cancelText="取消"
-        ></ActionSheet>
+        />
+
         <Popup
           v-model:show={state.showPopoverOrchestra}
           position="bottom"
@@ -325,15 +322,6 @@ export default defineComponent({
             columnsFieldNames={{ text: 'name', value: 'value' }}
           />
         </Popup>
-
-        {/* <ActionSheet
-          style={{ height: '40%' }}
-          close-on-click-action
-          v-model:show={state.showPopoverSubject}
-          title="选择声部"
-          actions={state.subjects}
-          onSelect={checkSubject}
-        ></ActionSheet> */}
       </div>
     )
   }

+ 7 - 3
src/views/unit-test/index.tsx

@@ -14,6 +14,7 @@ import NoticeStart from './model/notice-start'
 import OFullRefresh from '@/components/o-full-refresh'
 import ODialog from '@/components/o-dialog'
 import { state } from '@/state'
+import OActionSheet from '@/components/o-action-sheet'
 
 export default defineComponent({
   name: 'unit-test',
@@ -153,7 +154,7 @@ export default defineComponent({
 
     onMounted(() => {
       const unitType = sessionStorage.getItem('unit-test-search-type')
-      const temp: any = [{ name: '全部测验', id: 'ALL' }]
+      const temp: any = [{ name: '全部测验', id: 'ALL', selected: true }]
       let selectItem = {} as any
       for (const i in unitTestStatus) {
         temp.push({
@@ -322,11 +323,14 @@ export default defineComponent({
           <OEmpty tips="暂无阶段自测" />
         )}
 
-        <ActionSheet
+        <OActionSheet
           v-model:show={form.oPopover}
-          cancelText="取消"
           actions={form.searchList}
           onSelect={(val: any) => {
+            form.searchList.forEach((child: any) => {
+              child.selected = false
+            })
+            val.selected = true
             form.statusText = val.name
             form.params.status = val.id === 'ALL' ? null : val.id
             form.oPopover = false

+ 0 - 7
src/views/unit-test/unit-create/index.tsx

@@ -239,13 +239,6 @@ export default defineComponent({
             onConfirm={checkClass}
           />
         </Popup>
-        {/*
-        <ActionSheet
-          v-model:show={state.showPopoverClass}
-          title="选择班级"
-          actions={state.classList}
-          onSelect={checkClass}
-        ></ActionSheet> */}
       </>
     )
   }

+ 2 - 2
src/views/unit-test/unit-create/uni-test.tsx

@@ -78,10 +78,10 @@ export default defineComponent({
                       {<div>已使用 {item.useNum} 次</div>}
                     </div>
 
-                    <div class={styles.num}>
+                    {/* <div class={styles.num}>
                       查看
                       <Icon name="play-circle-o" class={styles.playIcon} />
-                    </div>
+                    </div> */}
 
                     {!item.unLockFlag && (
                       <div class={styles.look} onClick={(e: Event) => e.stopPropagation()}>