فهرست منبع

Merge branch 'iteration-create' into dev

lex 1 سال پیش
والد
کامیت
9b68619a48

+ 5 - 1
src/components/m-protocol/index.module.less

@@ -23,6 +23,10 @@
     border: transparent !important;
   }
 
+  img {
+    width: 100%;
+  }
+
   :global {
     .van-checkbox {
       display: inline-block;
@@ -49,4 +53,4 @@
     color: #333;
     line-height: 1.4;
   }
-}
+}

+ 21 - 8
src/components/m-protocol/index.tsx

@@ -64,16 +64,29 @@ export default defineComponent({
       try {
         // 判断是否有协议内容
         if (!this.protocolHTML) {
-          const { data } = await request.get(
-            '/edu-app/schoolContractTemplate/queryLatestContractTemplate',
-            {
-              params: {
-                contractType: this.prototcolType
+          if (this.prototcolType === 'REGISTER') {
+            const { data } = await request.get(
+              '/edu-app/open/userContractRecord/queryLatestContractTemplate',
+              {
+                params: {
+                  contractType: 'REGISTER'
+                }
               }
-            }
-          );
-          this.protocolHTML = data.contractTemplateContent;
+            );
+            this.protocolHTML = data.contractTemplateContent;
+          } else {
+            const { data } = await request.get(
+              '/edu-app/schoolContractTemplate/queryLatestContractTemplate',
+              {
+                params: {
+                  contractType: this.prototcolType
+                }
+              }
+            );
+            this.protocolHTML = data.contractTemplateContent;
+          }
         }
+
         this.onPopupClose();
       } catch {
         //

+ 2 - 2
src/router/routes-common.ts

@@ -48,7 +48,7 @@ export default [
         name: 'member-center',
         component: () => import('@/views/member-center/index'),
         meta: {
-          title: '会员中心'
+          title: '数字化器乐学练工具'
         }
       },
       {
@@ -98,7 +98,7 @@ export default [
         meta: {
           title: '领取详情'
         }
-      },
+      }
     ]
   },
   ...rootRouter

BIN
src/views/member-center/images/member-1.png


BIN
src/views/member-center/images/member-2.png


BIN
src/views/member-center/images/vip_bg2.png


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

@@ -100,26 +100,14 @@
   }
 
   .memberImgs {
+    padding-top: 10px;
+
     img {
       margin-bottom: 6px;
       width: 100%;
     }
   }
 
-  // .intro {
-  //   background: url('./images/tip_bg.png') no-repeat center;
-  //   background-size: contain;
-  //   height: 142px;
-  //   font-size: 14px;
-  //   color: #bb6e3a;
-
-  //   p {
-  //     padding: 45px 25px 0;
-  //     text-align: justify;
-  //     line-height: 22px;
-  //   }
-  // }
-
   .memberContainer {
     position: relative;
     padding: 0 14px 75px;
@@ -180,6 +168,41 @@
   }
 
 
+  .memberGift {
+    border-radius: 12px;
+    background: url('./images/vip_bg2.png') no-repeat center;
+    background-size: contain;
+    min-height: 161px;
+  }
+
+  .giftCell {
+    margin-top: 16px;
+    padding: 0 19px;
+    background-color: transparent;
+
+    .gift {
+      display: flex;
+      align-items: center;
+      font-size: 12px;
+      font-weight: 600;
+      color: #FFFFFF;
+      height: 34px;
+
+      span {
+        font-size: 15px;
+        color: #FFFC89;
+        padding: 0 5px;
+      }
+    }
+
+    .iconGift {
+      margin-right: 4px;
+      width: 18px;
+      height: 18px;
+    }
+  }
+
+
   .btnGroup {
     position: fixed;
     bottom: 0;

+ 27 - 7
src/views/member-center/index.tsx

@@ -3,7 +3,8 @@ import { defineComponent } from 'vue';
 import styles from './index.module.less';
 import request from '@/helpers/request';
 import iconStudent from '@common/images/icon-student.png';
-import iconMemberLogo from './images/member_logo.png';
+// import iconMemberLogo from './images/member_logo.png';
+import iconGift from '../student-register/images/icon-gift.png';
 import { moneyFormat } from '@/helpers/utils';
 import OHeader from '@/components/m-header';
 import member1 from './images/member-1.png';
@@ -136,8 +137,8 @@ export default defineComponent({
               paymentCashAmount: this.selectMember.salePrice || 0,
               paymentCouponAmount: 0,
               goodsInfos: params,
-              orderName: '数字化器学练工具',
-              orderDesc: '数字化器学练工具'
+              orderName: '数字化器学练工具',
+              orderDesc: '数字化器学练工具'
             }
           }
         );
@@ -217,7 +218,7 @@ export default defineComponent({
                       </div>
                     ) : (
-                      <div>亲,您还不是会员哟</div>
+                      <div>您还未开通器乐学练工具哟</div>
                     )}
                   </>
                 </div>
@@ -226,9 +227,13 @@ export default defineComponent({
         </div>
 
         <div class={[styles.memberContainer]}>
-          <div class={styles.memberItem}>
+          <div
+            class={[
+              styles.memberItem,
+              this.selectMember.membershipDays > 0 ? styles.memberGift : ''
+            ]}>
             <p class={[styles.title]}>
-              <strong>数字化</strong>乐器学练工具
+              <strong>数字化</strong>器学练工具
               <span>12个月</span>
             </p>
             <div class={styles.priceGroup}>
@@ -240,7 +245,22 @@ export default defineComponent({
                 ¥{moneyFormat(this.selectMember.originalPrice)}
               </del>
             </div>
+            {this.selectMember.membershipDays > 0 && (
+              <Cell border={false} class={styles.giftCell}>
+                {{
+                  title: () => (
+                    <div class={styles.gift}>
+                      <img src={iconGift} class={styles.iconGift} />
+                      现在购买赠送{' '}
+                      <span>{this.selectMember.membershipDays || 0}</span>
+                      天有效期
+                    </div>
+                  )
+                }}
+              </Cell>
+            )}
           </div>
+
           <div class={styles.memberImgs}>
             <img src={member1} />
             <img src={member2} />
@@ -249,7 +269,7 @@ export default defineComponent({
 
         <div class={styles.btnGroup}>
           <div class={styles.priceSection}>
-            支付金额
+            工具领取
             <div class={styles.price}>
               <span class={styles.priceUnit}>¥</span>
               <span class={styles.priceNum}>

+ 4 - 0
src/views/preview-protocol/index.module.less

@@ -17,6 +17,10 @@
     padding-top: 12px;
     text-align: right;
   }
+
+  img {
+    width: 100%;
+  }
 }
 
 .LABOR_TEACHER {

+ 14 - 12
src/views/student-register/index.tsx

@@ -279,17 +279,19 @@ export default defineComponent({
                   )
                 }}
               </Cell>
-              <Cell border={false} class={styles.giftCell}>
-                {{
-                  title: () => (
-                    <div class={styles.gift}>
-                      <img src={iconGift} class={styles.iconGift} />
-                      现在购买赠送 <span>{item.membershipDays || 0}</span>
-                      天有效期
-                    </div>
-                  )
-                }}
-              </Cell>
+              {item.membershipDays > 0 && (
+                <Cell border={false} class={styles.giftCell}>
+                  {{
+                    title: () => (
+                      <div class={styles.gift}>
+                        <img src={iconGift} class={styles.iconGift} />
+                        现在购买赠送 <span>{item.membershipDays || 0}</span>
+                        天有效期
+                      </div>
+                    )
+                  }}
+                </Cell>
+              )}
             </CellGroup>
           ))}
         </div>
@@ -453,7 +455,7 @@ export default defineComponent({
         </Popup>
 
         {/* 是否在微信中打开 */}
-        <OWxTip />
+        {/* <OWxTip /> */}
       </div>
     );
   }

+ 15 - 5
src/views/student-register/order-detail.tsx

@@ -221,14 +221,23 @@ export default defineComponent({
           return;
         }
         state.submitStatus = true;
-        const { data } = await request.get(
-          '/edu-app/userPaymentOrder/detail/' + state.orderNo,
+        // const { data } = await request.get(
+        //   '/edu-app/userPaymentOrder/detail/' + state.orderNo,
+        //   {
+        //     hideLoading: false
+        //   }
+        // );
+        const { data } = await request.post(
+          '/edu-app/userPaymentOrder/updateReceiveAddress',
           {
-            hideLoading: false
+            hideLoading: false,
+            data: {
+              orderNo: state.orderNo,
+              orderType: 'VIP'
+            }
           }
         );
         state.pay_channel = data.paymentChannel;
-        state.submitStatus = false;
         if (data.status !== 'WAIT_PAY' && data.status !== 'PAYING') {
           router.replace({
             path: '/payment-result',
@@ -238,6 +247,7 @@ export default defineComponent({
           });
         } else {
           callback && callback();
+          state.submitStatus = false;
         }
       } catch {
         //
@@ -285,10 +295,10 @@ export default defineComponent({
           checkOrderTypeJump();
         } else {
           callback && callback();
+          state.submitStatus = false;
         }
       } catch {
         //
-      } finally {
         state.submitStatus = false;
       }
     };

+ 5 - 1
src/views/student-register/register-modal/index.module.less

@@ -50,6 +50,10 @@
     color: #DE801E;
     font-size: 14px;
     font-weight: 600;
+
+    &.codeTextDisabled {
+      color: #999;
+    }
   }
 }
 
@@ -62,4 +66,4 @@
   font-weight: 600;
   color: #5B2C03 !important;
   line-height: 22px;
-}
+}

+ 11 - 2
src/views/student-register/register-modal/index.tsx

@@ -101,6 +101,10 @@ export default defineComponent({
       forms.imgCodeStatus = true;
     };
 
+    const validatePhone = computed(() => {
+      return checkPhone(studentInfo.username) ? true : false;
+    });
+
     const onFinished = () => {
       forms.countDownStatus = true;
       countDownRef.value.reset();
@@ -170,7 +174,7 @@ export default defineComponent({
                 <div>
                   联系方式(直接监护人)
                   <p class={styles.tips}>
-                    手机号是数字化器乐课堂的唯一登录账户
+                    手机号是数字化器乐学练工具的唯一登录账户
                   </p>
                 </div>
               )
@@ -188,7 +192,12 @@ export default defineComponent({
             {{
               button: () =>
                 forms.countDownStatus ? (
-                  <span class={styles.codeText} onClick={onSendCode}>
+                  <span
+                    class={[
+                      styles.codeText,
+                      !validatePhone.value ? styles.codeTextDisabled : ''
+                    ]}
+                    onClick={onSendCode}>
                     获取验证码
                   </span>
                 ) : (

+ 1 - 1
vite.config.ts

@@ -15,7 +15,7 @@ function resolve(dir: string) {
 // https://github.com/vitejs/vite/issues/1930 .env
 const proxyUrl = 'https://test.lexiaoya.cn/';
 // const proxyUrl = 'https://dev.kt.colexiu.com/';
-// const proxyUrl = 'http://192.168.3.143:7989/';
+// const proxyUrl = 'http://192.168.3.14:7989/';
 export default defineConfig({
   base: './',
   plugins: [