lex 2 years ago
parent
commit
7db84ca640

+ 34 - 0
src/helpers/utils.ts

@@ -136,3 +136,37 @@ export const dateFormat = (
 ) => {
   return dayjs(value).format(format)
 }
+
+
+export function addFormMinute(timerStr, time = 0) {
+  const timer = dayjs('2021-12-17' + ' ' + timerStr).add(time, 'minute')
+  return timer.format('HH:mm:ss')
+}
+export function addFormMinuteAddS(timerStr, time = 0) {
+  const timer = dayjs('2021-12-17' + ' ' + timerStr)
+    .add(time, 'minute')
+    .add(1, 'second')
+  return timer.format('HH:mm:ss')
+}
+export function addFormMinuteMS(timerStr, time = 0) {
+  const timer = dayjs('2021-12-17' + ' ' + timerStr)
+    .add(time, 'minute')
+    .subtract(1, 'second')
+  return timer.format('HH:mm:ss')
+}
+export function reduceFormMinute(timerStr, time = 0) {
+  const timer = dayjs('2021-12-17' + ' ' + timerStr).subtract(time, 'minute')
+  return timer.format('HH:mm:ss')
+}
+export function reduceFormMinuteAddS(timerStr, time = 0) {
+  const timer = dayjs('2021-12-17' + ' ' + timerStr)
+    .subtract(time, 'minute')
+    .add(1, 'second')
+  return timer.format('HH:mm:ss')
+}
+export function reduceFormMinuteMS(timerStr, time = 0) {
+  const timer = dayjs('2021-12-17' + ' ' + timerStr)
+    .subtract(time, 'minute')
+    .subtract(1, 'second')
+  return timer.format('HH:mm:ss')
+}

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

@@ -155,7 +155,7 @@ export default defineComponent({
           </div>
         </OSticky>
 
-        <OPopup v-model:modelValue={state.teacherStatus}>
+        <OPopup v-model:modelValue={state.teacherStatus} destroy>
           <Teacher
             courseType={state.selectTeacher.courseType}
             teacherId={state.teacherId as any}

+ 1 - 1
src/school/orchestra/create-orchestra/index.tsx

@@ -186,7 +186,7 @@ export default defineComponent({
             label="乐团声部"
             readonly
             placeholder={
-              state.selectSubjects.length > 0 ? `已${state.selectSubjects.length}个` : '选择声部'
+              state.selectSubjects.length > 0 ? `已${state.selectSubjects.length}个` : '选择声部'
             }
             isLink
             inputAlign="right"

+ 7 - 3
src/views/exercise-record/exercis-detail.module.less

@@ -1,9 +1,13 @@
 @img: '@/school/images';
 
+.exercisContainer {
+  background: url('@{img}/detail-bg.png') top center/ cover no-repeat;
+  background-size: contain;
+}
 .topWrap {
-  height: 316px;
-  background: url('@{img}/detail-bg.png') center center/ cover;
-  margin-bottom: -90px;
+  // height: 316px;
+
+  // margin-bottom: -90px;
   .topInfo {
     padding: 34px 15px 30px;
     display: flex;

+ 83 - 77
src/views/exercise-record/exercis-detail.tsx

@@ -144,74 +144,75 @@ export default defineComponent({
     }
     return () => (
       <>
-        <div class={styles.topWrap}>
-          <OSticky position="top" background="#F8F8F8" onGetHeight={getHeight}>
-            <OHeader
-              border={false}
-              background={state.heightV > state.scrollTop ? 'transparent' : '#fff'}
-            >
-              {{
-                right: () => (
-                  <Icon
-                    name={questIcon}
-                    size={22}
-                    color="#333"
-                    onClick={() => {
-                      showTip.value = true
-                    }}
+        <div class={styles.exercisContainer}>
+          <div class={styles.topWrap}>
+            <OSticky position="top" background="#F8F8F8" onGetHeight={getHeight}>
+              <OHeader
+                border={false}
+                background={state.heightV > state.scrollTop ? 'transparent' : '#fff'}
+              >
+                {{
+                  right: () => (
+                    <Icon
+                      name={questIcon}
+                      size={22}
+                      color="#333"
+                      onClick={() => {
+                        showTip.value = true
+                      }}
+                    />
+                  )
+                }}
+              </OHeader>
+            </OSticky>
+            <div class={styles.topInfo}>
+              <div class={styles.topInfoLeft}>
+                <div class={styles.headWrap}>
+                  <Image
+                    src={infoDetail.value.avatar ? infoDetail.value.avatar : defaultIcon}
+                    fit="cover"
+                    width="68px"
+                    height="68px"
                   />
-                )
-              }}
-            </OHeader>
-          </OSticky>
-          <div class={styles.topInfo}>
-            <div class={styles.topInfoLeft}>
-              <div class={styles.headWrap}>
-                <Image
-                  src={infoDetail.value.avatar ? infoDetail.value.avatar : defaultIcon}
-                  fit="cover"
-                  width="68px"
-                  height="68px"
-                />
-              </div>
-              <div class={styles.infoMsg}>
-                <p>{infoDetail.value.nickname}</p>
-                <div class={styles.tag}>
-                  {infoDetail.value.subjectNames ? infoDetail.value.subjectNames : '暂无声部'}
+                </div>
+                <div class={styles.infoMsg}>
+                  <p>{infoDetail.value.nickname}</p>
+                  <div class={styles.tag}>
+                    {infoDetail.value.subjectNames ? infoDetail.value.subjectNames : '暂无声部'}
+                  </div>
                 </div>
               </div>
-            </div>
-            <div class={styles.topInfoRight}>
-              <div class={styles.infoDay}>
-                <p class={styles.infoDayMain}>
-                  {infoDetail.value.practiceDays ? infoDetail.value.practiceDays : 0}{' '}
-                  <span>天</span>
-                </p>
-                <p class={styles.infoDaysub}>练习天数</p>
-              </div>
-              <div class={styles.infoTime}>
-                <p class={styles.infoDayMain}>
-                  {infoDetail.value.practiceTimes ? infoDetail.value.practiceTimes : 0}{' '}
-                  <span>分钟</span>
-                </p>
-                <p class={styles.infoDaysub}>练习时长</p>
+              <div class={styles.topInfoRight}>
+                <div class={styles.infoDay}>
+                  <p class={styles.infoDayMain}>
+                    {infoDetail.value.practiceDays ? infoDetail.value.practiceDays : 0}{' '}
+                    <span>天</span>
+                  </p>
+                  <p class={styles.infoDaysub}>练习天数</p>
+                </div>
+                <div class={styles.infoTime}>
+                  <p class={styles.infoDayMain}>
+                    {infoDetail.value.practiceTimes ? infoDetail.value.practiceTimes : 0}{' '}
+                    <span>分钟</span>
+                  </p>
+                  <p class={styles.infoDaysub}>练习时长</p>
+                </div>
               </div>
             </div>
-          </div>
-          <div class={styles.chioseWrap}>
-            <div style={{ padding: '12px 13px', background: 'transparent' }}>
-              <div
-                class={styles.searchBand}
-                onClick={() => {
-                  state.showPopoverTime = true
-                }}
-              >
-                {forms.practiceMonthName}
-                <Icon name={state.showPopoverTime ? 'arrow-up' : 'arrow-down'} />
+            <div class={styles.chioseWrap}>
+              <div style={{ padding: '12px 13px', background: 'transparent' }}>
+                <div
+                  class={styles.searchBand}
+                  onClick={() => {
+                    state.showPopoverTime = true
+                  }}
+                >
+                  {forms.practiceMonthName}
+                  <Icon name={state.showPopoverTime ? 'arrow-up' : 'arrow-down'} />
+                </div>
               </div>
-            </div>
 
-            {/* <div style={{ padding: '12px 13px', background: 'transparent' }}>
+              {/* <div style={{ padding: '12px 13px', background: 'transparent' }}>
                 <Popover
                   v-model:show={state.showPopoverOrchestra}
                   actions={state.actions}
@@ -229,24 +230,29 @@ export default defineComponent({
                   }}
                 </Popover>
               </div> */}
+            </div>
           </div>
-        </div>
-        {showContact.value ? (
-          <PullRefresh v-model={refreshing.value} onRefresh={onRefresh} style="min-height: 100vh;">
-            <List
-              v-model:loading={loading.value}
-              finished={finished.value}
-              finished-text="没有更多了"
-              onLoad={getList}
+          {showContact.value ? (
+            <PullRefresh
+              v-model={refreshing.value}
+              onRefresh={onRefresh}
+              style="min-height: 100vh;"
             >
-              {list.value.map((item: any) => (
-                <DetailItem item={item} />
-              ))}
-            </List>
-          </PullRefresh>
-        ) : (
-          <OEmpty />
-        )}
+              <List
+                v-model:loading={loading.value}
+                finished={finished.value}
+                finished-text="没有更多了"
+                onLoad={getList}
+              >
+                {list.value.map((item: any) => (
+                  <DetailItem item={item} />
+                ))}
+              </List>
+            </PullRefresh>
+          ) : (
+            <OEmpty />
+          )}
+        </div>
 
         <Popup v-model:show={state.showPopoverTime} position="bottom" style="{ height: '30%' }">
           <DatePicker