Ver Fonte

Merge branch 'iteration-20240715' into dev

lex há 8 meses atrás
pai
commit
a7154af2b9

+ 29 - 20
src/teacher/piano-room/class-arrangement/create-class/index.tsx

@@ -28,7 +28,7 @@ export default defineComponent({
     },
     onBack: {
       type: Function,
-      default: () => () => {}
+      default: () => () => ({})
     }
   },
   setup(props) {
@@ -48,13 +48,13 @@ export default defineComponent({
     })
     const getList = async (date?: Date) => {
       const tempDate = date || dayjs().add(1, 'day').toDate()
-      let params = {
+      const params = {
         day: dayjs(tempDate).format('DD'),
         month: dayjs(tempDate).format('MM'),
         year: dayjs(tempDate).format('YYYY')
       }
       try {
-        let res = await request.post(
+        const res = await request.post(
           '/api-teacher/courseSchedule/createLiveCourseCalendar',
           {
             data: {
@@ -66,12 +66,14 @@ export default defineComponent({
           }
         )
         const result = res.data || []
-        let tempObj = {}
+        const tempObj = {}
         result.forEach((item: any) => {
           tempObj[item.date] = item
         })
         data.calendarList = tempObj
-      } catch {}
+      } catch {
+        //
+      }
     }
 
     const onSelectDay = (res: any) => {
@@ -85,7 +87,7 @@ export default defineComponent({
     }
     const showSelectList = computed(() => {
       // 显示时间
-      let list = [...data.selectList]
+      const list = [...data.selectList]
       list.forEach((item: any) => {
         item.title =
           dayjs(item.startTime).format('YYYY-MM-DD') +
@@ -133,7 +135,7 @@ export default defineComponent({
     }
     const onComfirm = async () => {
       if (selectType.value === 'noEnough') {
-        let times = [] as any
+        const times = [] as any
         data.selectList.forEach((item: any) => {
           times.push({
             startTime: item.startTime,
@@ -175,7 +177,7 @@ export default defineComponent({
       const timeList = data.selectList
       const n = classInfo.studentIds.length
       try {
-        let { code, data } = await request.post(
+        const { code, data } = await request.post(
           '/api-teacher/courseSchedule/arrangeCourse',
           {
             data: {
@@ -193,19 +195,26 @@ export default defineComponent({
         )
         if (code === 200) {
           confirmShow.value = false
-
-          setTimeout(() => {
-            Toast({
-              icon: 'success',
-              message: '排课成功',
-              duration: 1500,
-              onClose: () => {
-                router.back()
-              }
-            })
-          }, 100)
+          if (data) {
+            setTimeout(() => {
+              Toast(data)
+            }, 100)
+          } else {
+            setTimeout(() => {
+              Toast({
+                icon: 'success',
+                message: '排课成功',
+                duration: 1500,
+                onClose: () => {
+                  router.back()
+                }
+              })
+            }, 100)
+          }
         }
-      } catch (error) {}
+      } catch (error) {
+        //
+      }
     }
     return () => {
       return (

+ 14 - 6
src/views/member-center/index.module.less

@@ -366,7 +366,7 @@
 
 
 .system_list_section {
-  margin: 0 16px;
+  // margin: 0 16px;
 }
 
 .system-list::-webkit-scrollbar {
@@ -412,7 +412,11 @@
   margin-left: 10px;
 
   &:first-child {
-    margin-left: 0;
+    margin-left: 16px;
+  }
+
+  &:last-child {
+    margin-right: 16px;
   }
 
 
@@ -515,15 +519,15 @@
 }
 
 .list_one {
-  padding-top: 6px;
+  padding-top: 10px;
 
   .system-item {
     flex-direction: row;
     justify-content: space-between;
     padding: 0 20px;
-    width: 100%;
-    // margin: 0 16px;
-    margin: 0;
+    width: calc(100% - 32px);
+    margin: 0 16px;
+    // margin: 0;
     min-height: 81px;
     border: 2px solid #0ED8B0;
     background: linear-gradient(51deg, #E3F9F2 0%, #BCF8E5 100%);
@@ -619,6 +623,10 @@
       border: 2px solid #FFDB66;
       background: linear-gradient(90deg, #FFF7C4 0%, #FEF098 100%);
       width: 130px;
+
+      .extraTip {
+        background-color: #FFDB66;
+      }
     }
   }
 

+ 127 - 117
src/views/member-center/index.tsx

@@ -508,7 +508,7 @@ export default defineComponent({
                       <i class={styles.bottom_line}></i>
                     </span>
                   </div>
-                  <div class={styles.vip_member_tip}></div>
+                  <div class={styles.svip_member_tip}></div>
                 </div>
               </div>
             ) : null}
@@ -530,117 +530,122 @@ export default defineComponent({
             )}
 
             {/* 选择会员模式 */}
-            <div class={styles.system_list_section}>
-              <div
-                class={[
-                  styles['system-list'],
-                  state.tabActive === 'VIP' ? styles.system_list_vip : '',
-                  memberInfos.value.memberLength === 2 ? styles.list_two : '',
-                  memberInfos.value.memberLength === 1 ? styles.list_one : ''
-                ]}
-              >
-                {memberInfos.value.memberLength >= 2 ? (
-                  <>
-                    {state.memberShowList.map((member: any) => (
-                      <div
-                        class={[
-                          styles['system-item'],
-                          member.id === state.selectMember.id
-                            ? styles.active
-                            : '',
-                          member.discount === 1 ? styles.discountItem : ''
-                        ]}
-                        onClick={() => {
-                          state.selectMember = member
-                        }}
-                      >
-                        {/* 只有永久才会有数量提示 */}
-                        {member.period === 'PERPETUAL' && (
-                          <span class={[styles.iconPermanent]}></span>
-                        )}
-
-                        <p class={styles.s_title}>{member.title}</p>
-                        {member.discount === 1 && (
-                          <span class={styles.discountTag}></span>
-                        )}
-                        <p class={styles.price}>
-                          <span>¥</span>
-                          {moneyFormat(calcSalePrice(member), '0,0[.]00')}
-                        </p>
-                        <del
+            {(vipList.value.length > 0 || svipList.value.length > 0) && (
+              <div class={styles.system_list_section}>
+                <div
+                  class={[
+                    styles['system-list'],
+                    state.tabActive === 'VIP' ? styles.system_list_vip : '',
+                    memberInfos.value.memberLength === 2 ? styles.list_two : '',
+                    memberInfos.value.memberLength === 1 ? styles.list_one : ''
+                  ]}
+                >
+                  {memberInfos.value.memberLength >= 2 ? (
+                    <>
+                      {state.memberShowList.map((member: any) => (
+                        <div
                           class={[
-                            styles.originalPrice,
-                            calcSalePrice(member) >= member.originalPrice ||
-                            member.desc
-                              ? styles.originalPriceHide
-                              : ''
+                            styles['system-item'],
+                            member.id === state.selectMember.id
+                              ? styles.active
+                              : '',
+                            member.discount === 1 ? styles.discountItem : ''
                           ]}
+                          onClick={() => {
+                            state.selectMember = member
+                          }}
                         >
-                          ¥{moneyFormat(member.originalPrice, '0,0[.]00')}
-                        </del>
-
-                        {member.desc && (
-                          <p class={styles.extraTip}>{member.desc}</p>
-                        )}
-                      </div>
-                    ))}
-                  </>
-                ) : (
-                  <>
-                    {/* 一条数据的样式 */}
-                    {state.memberShowList.map((member: any) => (
-                      <div class={[styles['system-item']]}>
-                        {/* 只有永久才会有数量提示 */}
-                        {member.period === 'PERPETUAL' && (
-                          <span class={[styles.iconPermanent]}></span>
-                        )}
-
-                        {member.discount === 1 && (
-                          <span class={styles.discountTag}></span>
-                        )}
-                        <div class={styles.oneInfo}>
-                          <div class={styles.priceS}>
-                            <p class={styles.price}>
-                              <span>¥</span>
-                              {moneyFormat(calcSalePrice(member), '0,0[.]00')}
-                            </p>
-                            <p class={styles.s_title}>{member.title}</p>
-                          </div>
                           {/* 只有永久才会有数量提示 */}
-                          {member.period === 'PERPETUAL' ? (
-                            <div class={styles.oneMaxNum}>限量1000份</div>
-                          ) : (
-                            <div
-                              class={[styles.oneMaxNum, styles.oneMaxNumPrice]}
-                            >
-                              ¥{member.originalPrice}
-                            </div>
+                          {member.period === 'PERPETUAL' && (
+                            <span class={[styles.iconPermanent]}></span>
+                          )}
+
+                          <p class={styles.s_title}>{member.title}</p>
+                          {member.discount === 1 && (
+                            <span class={styles.discountTag}></span>
+                          )}
+                          <p class={styles.price}>
+                            <span>¥</span>
+                            {moneyFormat(calcSalePrice(member), '0,0[.]00')}
+                          </p>
+                          <del
+                            class={[
+                              styles.originalPrice,
+                              calcSalePrice(member) >= member.originalPrice ||
+                              member.desc
+                                ? styles.originalPriceHide
+                                : ''
+                            ]}
+                          >
+                            ¥{moneyFormat(member.originalPrice, '0,0[.]00')}
+                          </del>
+
+                          {member.desc && (
+                            <p class={styles.extraTip}>{member.desc}</p>
                           )}
                         </div>
-                        <span
-                          class={[
-                            styles.oneBtn,
-                            ['EXPIREVIP', 'VIP', 'PERMANENT'].includes(
-                              userMemberStatus.value
-                            )
-                              ? styles.onBtnRenew
-                              : '',
-                            userMemberStatus.value === 'PERMANENT'
-                              ? styles.onBtnDisbled
-                              : ''
-                          ]}
-                          onClick={() => {
-                            if (userMemberStatus.value === 'PERMANENT') return
-                            onSubmit()
-                          }}
-                        ></span>
-                        <i class={styles.itemBg}></i>
-                      </div>
-                    ))}
-                  </>
-                )}
+                      ))}
+                    </>
+                  ) : (
+                    <>
+                      {/* 一条数据的样式 */}
+                      {state.memberShowList.map((member: any) => (
+                        <div class={[styles['system-item']]}>
+                          {/* 只有永久才会有数量提示 */}
+                          {member.period === 'PERPETUAL' && (
+                            <span class={[styles.iconPermanent]}></span>
+                          )}
+
+                          {member.discount === 1 && (
+                            <span class={styles.discountTag}></span>
+                          )}
+                          <div class={styles.oneInfo}>
+                            <div class={styles.priceS}>
+                              <p class={styles.price}>
+                                <span>¥</span>
+                                {moneyFormat(calcSalePrice(member), '0,0[.]00')}
+                              </p>
+                              <p class={styles.s_title}>{member.title}</p>
+                            </div>
+                            {/* 只有永久才会有数量提示 */}
+                            {member.period === 'PERPETUAL' ? (
+                              <div class={styles.oneMaxNum}>限量1000份</div>
+                            ) : (
+                              <div
+                                class={[
+                                  styles.oneMaxNum,
+                                  styles.oneMaxNumPrice
+                                ]}
+                              >
+                                ¥{member.originalPrice}
+                              </div>
+                            )}
+                          </div>
+                          <span
+                            class={[
+                              styles.oneBtn,
+                              ['EXPIREVIP', 'VIP', 'PERMANENT'].includes(
+                                userMemberStatus.value
+                              )
+                                ? styles.onBtnRenew
+                                : '',
+                              userMemberStatus.value === 'PERMANENT'
+                                ? styles.onBtnDisbled
+                                : ''
+                            ]}
+                            onClick={() => {
+                              if (userMemberStatus.value === 'PERMANENT') return
+                              onSubmit()
+                            }}
+                          ></span>
+                          <i class={styles.itemBg}></i>
+                        </div>
+                      ))}
+                    </>
+                  )}
+                </div>
               </div>
-            </div>
+            )}
 
             {/* 是选择会员 会员天数大于0 */}
             {state.tabActive === 'VIP' &&
@@ -655,18 +660,23 @@ export default defineComponent({
           </div>
         </div>
 
-        <ColSticky position="bottom">
-          <div class={styles.btnGroup}>
-            <Button
-              block
-              color="linear-gradient( 241deg, #FFD984 0%, #FFEAB9 100%)"
-              class={[styles.btn, isPermanent.value ? styles.btnDisabled : '']}
-              onClick={onSubmit}
-            >
-              {btnSubmitText.value}
-            </Button>
-          </div>
-        </ColSticky>
+        {(vipList.value.length > 0 || svipList.value.length > 0) && (
+          <ColSticky position="bottom">
+            <div class={styles.btnGroup}>
+              <Button
+                block
+                color="linear-gradient( 241deg, #FFD984 0%, #FFEAB9 100%)"
+                class={[
+                  styles.btn,
+                  isPermanent.value ? styles.btnDisabled : ''
+                ]}
+                onClick={onSubmit}
+              >
+                {btnSubmitText.value}
+              </Button>
+            </div>
+          </ColSticky>
+        )}
 
         <Popup
           v-model:show={state.shareStatus}