浏览代码

修复问题

lex 1 年之前
父节点
当前提交
435936d204

+ 1 - 1
src/router/routes-tenant.ts

@@ -182,7 +182,7 @@ export default [
         name: 'goodsOrder',
         component: () => import('@/tenant/trade/index'),
         meta: {
-          title: '交易记录'
+          title: '订单信息'
         }
       },
       {

+ 11 - 0
src/styles/tenant.less

@@ -15,3 +15,14 @@ body {
 .btnMore {
   justify-content: space-between !important;
 }
+
+
+/* 以下是使用颜色关键字的代码 */
+progress::-webkit-progress-value {
+  background-color: #FE2451;
+}
+
+input,
+textarea {
+  caret-color: #FE2451;
+}

+ 90 - 16
src/teacher/share-page/share-music/index.module.less

@@ -1,7 +1,8 @@
-.base > div {
+.base>div {
   background: url(./header-bg.png) no-repeat top center;
   // background-attachment: fixed;
 }
+
 .detail {
   overflow: hidden;
   --van-nav-bar-background-color: transparent;
@@ -20,18 +21,36 @@
       border-radius: 50%;
     }
   }
+
+  .wxpopup {
+    width: 100%;
+    height: 100vh;
+    position: fixed;
+    top: 0;
+    left: 0;
+    background: rgba(0, 0, 0, 0.5);
+    z-index: 9999;
+
+    img {
+      width: 88%;
+      margin: 0 6%;
+    }
+  }
 }
+
 .base {
   :global(.van-sticky--fixed) {
     box-shadow: 10px 10px 10px var(--box-shadow-color);
   }
 }
+
 .shareBtn {
   display: flex;
   align-items: flex-start;
   color: #fff;
   font-size: 14px;
   line-height: 20px !important;
+
   :global(.van-image) {
     width: 18px;
     height: 18px;
@@ -48,6 +67,7 @@
   object-fit: cover;
   filter: blur(10px);
 }
+
 .bgContent {
   position: absolute;
   top: 0;
@@ -57,44 +77,50 @@
   backdrop-filter: blur(20px);
   -webkit-backdrop-filter: blur(20px);
 }
+
 .musicContent {
   position: relative;
   width: 100%;
   height: 500px;
   overflow: hidden;
+
   &::after {
     content: ' ';
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
-    background: linear-gradient(
-      180deg,
-      rgba(255, 255, 255, 0) 0%,
-      #ffffff 100%
-    );
+    background: linear-gradient(180deg,
+        rgba(255, 255, 255, 0) 0%,
+        #ffffff 100%);
     height: 287px;
   }
+
   .musicTitle {
     text-align: center;
     font-size: 16px;
   }
+
   .musicImg {
     width: 100%;
   }
+
   .finch {
     width: 150px;
     margin: 80px auto 0;
   }
+
   .finchLoad {
     text-align: center;
     color: #333;
     font-size: 15px;
     margin-top: 4px;
   }
+
   :global {
     iframe {
       visibility: hidden;
+
       body {
         ::-webkit-scrollbar-thumb {
           background-color: #efeff0;
@@ -114,6 +140,7 @@
   box-shadow: 0px 0px 6px 0px rgba(229, 229, 229, 0.7);
   overflow: hidden;
 }
+
 .videoOperation {
   position: absolute;
   left: 0;
@@ -121,6 +148,7 @@
   bottom: 5px;
   z-index: 1;
 }
+
 .audition {
   display: flex;
   align-items: center;
@@ -132,6 +160,7 @@
   font-weight: 600;
   color: #ff731d;
   height: 18px;
+
   img {
     margin-top: -2px;
     width: 21px;
@@ -139,6 +168,7 @@
     margin-right: 11px;
   }
 }
+
 .collect {
   display: flex;
   align-items: center;
@@ -146,17 +176,20 @@
   padding: 11px;
   font-size: 14px;
   color: #666666;
+
   .userInfo {
     display: flex;
     align-items: center;
     padding: 3px 6px;
     background: #d5f3ee;
     border-radius: 16px;
+
     img {
       width: 26px;
       height: 26px;
       border-radius: 50%;
     }
+
     span {
       padding-left: 8px;
       max-width: 60px;
@@ -166,15 +199,18 @@
       color: #2dc7aa;
     }
   }
+
   .collectSection {
     display: flex;
     align-items: center;
+
     img {
       margin-top: -2px;
       margin-left: 5px;
       width: 18px;
       height: 18px;
     }
+
     :global {
       .van-icon {
         font-size: 20px;
@@ -199,10 +235,12 @@
   display: flex;
   align-items: center;
   justify-content: space-between;
-  & > div {
+
+  &>div {
     display: flex;
     align-items: center;
     line-height: 1;
+
     img {
       width: 20px;
       height: 20px;
@@ -217,6 +255,7 @@
   padding: 16px;
   z-index: 11;
 }
+
 .musicContainer {
   position: relative;
   // padding: 16px 0 0;
@@ -235,24 +274,28 @@
   padding: 11px 12px;
   background: #ffffff;
   border-radius: 10px;
+
   // border: 1px solid #2dc7aa;
   .icon {
     width: 36px;
     height: 36px;
     border-radius: 10px;
   }
+
   .info {
     margin-left: 14px;
     flex: 1;
     margin-right: 14px;
     word-break: break-all;
-    > h4 {
+
+    >h4 {
       color: var(--music-list-item-title-color);
       font-size: 14px;
       font-weight: 600;
       width: 200px;
     }
-    > p {
+
+    >p {
       color: var(--music-list-item-mate-color);
       line-height: 17px;
     }
@@ -288,16 +331,19 @@
     height: 72px;
     border-radius: 10px;
   }
+
   .info {
     margin-left: 6px;
     flex: 1;
     word-break: break-all;
-    > h4 {
+
+    >h4 {
       color: var(--music-list-item-title-color);
       font-size: 16px;
       font-weight: 600;
     }
-    > p {
+
+    >p {
       color: var(--music-list-item-mate-color);
       line-height: 17px;
     }
@@ -317,6 +363,7 @@
   color: #ffffff;
   line-height: 24px;
 }
+
 .buttonDiscount {
   position: absolute;
   top: -18px;
@@ -338,10 +385,12 @@
   overflow: hidden;
   flex-shrink: 0;
 }
+
 .musicInfo {
   padding-top: 23px !important;
   padding-bottom: 23px !important;
   margin-bottom: 10px;
+
   .coomposer {
     padding-top: 2px;
     padding-left: 6px;
@@ -350,11 +399,13 @@
     overflow: hidden;
     text-overflow: ellipsis;
   }
+
   .tag {
     flex-shrink: 0;
     padding: 2px 4px 0;
     border-radius: 4px;
-    & + .tag {
+
+    &+.tag {
       margin-left: 5px;
     }
   }
@@ -364,14 +415,16 @@
     flex: 1;
     margin-right: 14px;
     word-break: break-all;
-    > h4 {
+
+    >h4 {
       font-size: 16px;
       font-weight: bold;
       color: #1a1a1a;
       width: 175px;
       padding-bottom: 3px;
     }
-    > p {
+
+    >p {
       font-size: 12px;
       color: #999;
       line-height: 17px;
@@ -384,6 +437,7 @@
     justify-content: center;
     align-items: center;
     font-size: 12px;
+
     img {
       height: 24px;
       width: 24px;
@@ -395,6 +449,7 @@
     margin-left: 5px;
     flex-shrink: 0;
   }
+
   .songAlbum {
     width: 15px;
     height: 15px;
@@ -414,15 +469,18 @@
   display: flex;
   align-items: center;
   justify-content: space-between;
+
   // height: 45px;
   .priceSection {
     font-size: 14px;
     font-weight: 400;
     color: #999999;
+
     .price {
       font-size: 22px;
       font-weight: bold;
       color: #ff4e19;
+
       i {
         font-style: normal;
         font-size: 16px;
@@ -437,19 +495,22 @@
   display: flex;
   align-items: center;
   justify-content: flex-end;
+
   :global {
     .van-button {
       padding: 0 22px;
       font-weight: 600;
 
-      & + .van-button {
+      &+.van-button {
         margin-left: 12px;
       }
     }
   }
+
   .primry {
     box-shadow: 0px 2px 7px 0px rgba(45, 199, 170, 0.25);
   }
+
   .member {
     box-shadow: 0px 2px 7px 0px rgba(187, 156, 83, 0.25);
   }
@@ -466,6 +527,7 @@
   line-height: 20px;
   text-align: center;
   padding-top: 60px;
+
   .emptyImg {
     width: 172px;
   }
@@ -474,6 +536,7 @@
 .staffContainer {
   // text-align: center;
   padding: 15px 15px 24px;
+
   .staffTitle {
     padding-bottom: 25px;
     font-size: 16px;
@@ -485,34 +548,41 @@
     width: 32px;
     height: 20px;
   }
+
   .name {
     padding-left: 17px;
     font-size: 13px;
     font-weight: 500;
     color: #333333;
   }
+
   .boxStyle {
     background: transparent !important;
     width: 15px;
     height: 15px;
     border: transparent !important;
   }
+
   .active {
     background: #f7f8f9;
     border-radius: 8px;
+
     .name {
       color: #2dc7aa;
     }
   }
+
   :global {
     .van-cell {
       padding: 9px 16px 9px;
       margin-bottom: 6px;
+
       &:hover,
       &:active,
       &.active {
         background: #f7f8f9;
         border-radius: 8px;
+
         .name {
           color: #2dc7aa;
         }
@@ -522,10 +592,12 @@
         margin-bottom: 0;
       }
     }
+
     .van-cell__value {
       display: flex;
       justify-content: flex-end;
     }
+
     .van-checkbox {
       overflow: inherit;
       height: 18px;
@@ -533,14 +605,16 @@
       align-items: center;
       justify-content: flex-end;
     }
+
     .van-checkbox__icon {
       height: 15px;
       line-height: 15px;
       display: inline-block;
       vertical-align: middle;
     }
+
     .van-checkbox__label {
       line-height: 15px;
     }
   }
-}
+}

+ 2 - 1
src/tenant/exercise-record/exercis-detail.tsx

@@ -118,6 +118,7 @@ export default defineComponent({
         phone: users?.phone,
         avatar: users?.heardUrl,
         id: users?.userId,
+        subjectName: users?.subjectName,
         memberRankSettingId: users?.memberRankSettingId,
         isVip: users?.isVip,
         membershipDays: users?.membershipDays,
@@ -252,7 +253,7 @@ export default defineComponent({
                   <div class={styles.subjectName}>
                     <span class={styles.subjectTag}>
                       <img src={iconSubject} class={styles.iconSubject} />
-                      口风琴
+                      {userInfo.value.subjectName}
                     </span>
                   </div>
                 )

+ 1 - 1
src/tenant/music/album/index.module.less

@@ -70,7 +70,7 @@
   :global {
     .van-tabs__nav {
       background-color: transparent;
-      padding: 0;
+      padding: 0 !important;
       margin: 0 15px;
     }
 

+ 7 - 5
src/tenant/music/album/index.tsx

@@ -346,11 +346,13 @@ export default defineComponent({
             ) : (
               // data.value.rows.map(item => <Item data={item} />)
               !loading.value && (
-                <ColResult
-                  tips="暂无专辑"
-                  classImgSize="SMALL"
-                  btnStatus={false}
-                />
+                <div style="height: calc(100vh - var(--header-height));display: flex;align-items: center;">
+                  <ColResult
+                    tips="暂无专辑"
+                    classImgSize="SMALL"
+                    btnStatus={false}
+                  />
+                </div>
               )
             )}
           </List>

二进制
src/tenant/music/component/images/icon-xin2.png


+ 11 - 2
src/tenant/music/component/music-grid/index.module.less

@@ -3,17 +3,21 @@
     .van-grid {
       margin: 0 -4px;
     }
+
     .van-grid-item {
       width: calc(100% / 3);
     }
+
     .van-grid-item__content {
       display: block;
       padding: 0 8px;
       background-color: transparent;
     }
   }
+
   .item {
     margin-bottom: 14px;
+
     .title {
       font-size: 14px;
       color: #333;
@@ -23,12 +27,14 @@
       white-space: nowrap;
       margin-bottom: 2px;
     }
+
     .des {
       font-size: 12px;
       color: #999;
       line-height: 16px;
     }
   }
+
   .imgWrap {
     position: relative;
     height: 104px;
@@ -36,6 +42,7 @@
     border-radius: 10px;
     overflow: hidden;
     margin-bottom: 6px;
+
     .albumType {
       position: absolute;
       left: 0;
@@ -49,11 +56,12 @@
       color: #ffffff;
       z-index: 9;
     }
+
     .model {
       position: absolute;
       left: 4px;
       bottom: 4px;
-      background: rgba(67, 67, 67, 0.6);
+      background: rgba(67, 67, 67, 0.3);
       backdrop-filter: blur(20px);
       -webkit-backdrop-filter: blur(20px);
       display: flex;
@@ -64,8 +72,9 @@
       color: #fff;
       transform: scale(0.9);
     }
+
     .num {
       margin-left: 3px;
     }
   }
-}
+}

+ 1 - 1
src/tenant/music/component/music-grid/index.tsx

@@ -1,7 +1,7 @@
 import { Grid, GridItem, Icon, Image, Loading } from 'vant'
 import { defineComponent, PropType } from 'vue'
 import styles from './index.module.less'
-import IconXin from '../images/icon-xin.png'
+import IconXin from '../images/icon-xin2.png'
 
 export default defineComponent({
   name: 'TheMusicGrid',

+ 6 - 3
src/tenant/music/component/song/index.tsx

@@ -108,10 +108,13 @@ export default defineComponent({
                   )}
 
                   <div class={styles.tags}>
-                    {n.subjectNames?.split(',').map((name: any) => (
-                      <span>{name}</span>
-                    ))}
+                    {n.subjectNames &&
+                      n.subjectNames
+                        ?.split(',')
+                        .map((name: any) => <span>{name}</span>)}
+                    {n.musicSheetType === 'CONCERT' && <span>合奏</span>}
                   </div>
+
                   <span class={[styles.name]}>
                     {/* {n.addName ? `上传者:${n.addName}` : `作曲:${n.composer}`} */}
                     {n.addName ? `${n.addName}` : `${n.composer}`}

+ 15 - 2
src/tenant/music/music-detail/new-index.tsx

@@ -610,7 +610,20 @@ export default defineComponent({
               <div class={styles.tags}>
                 {musicDetail.value?.id && (
                   <>
-                    {buyState.value.play && (
+                    {musicDetail.value?.musicTagNames &&
+                      musicDetail.value?.musicTagNames.split(',').map(name => (
+                        <span
+                          style={{
+                            borderColor: colors.FREE.color,
+                            color: colors.FREE.color
+                          }}
+                          class={styles.tag}
+                        >
+                          {name}
+                        </span>
+                      ))}
+
+                    {/* {buyState.value.play && (
                       <span
                         style={{
                           borderColor: colors.FREE.color,
@@ -642,7 +655,7 @@ export default defineComponent({
                       >
                         {colors.VIP.text}
                       </span>
-                    )}
+                    )} */}
                   </>
                 )}
               </div>

+ 2 - 1
src/tenant/music/personal/tenant-album.tsx

@@ -48,7 +48,8 @@ export default defineComponent({
       router.push({
         path: '/train-tool',
         query: {
-          albumId: item.id
+          albumId: item.id,
+          buy: '1' // 是否从我的购买专辑来的
         }
       })
     }

+ 1 - 1
src/tenant/music/search/index.module.less

@@ -150,7 +150,7 @@
   width: 100%;
   height: 214px;
   // object-fit: cover;
-  z-index: 0;
+  z-index: -1;
 }
 
 .tagTabs {

+ 159 - 128
src/tenant/music/train-tool/index.tsx

@@ -25,6 +25,7 @@ export default defineComponent({
     const color = ref<string>('#fff')
     const state = reactive({
       details: {} as any,
+      buy: route.query.buy as any,
       albumId: route.query.albumId || null,
       activeTab: 'SUBJECT',
       loading: false,
@@ -57,23 +58,24 @@ export default defineComponent({
           salePrice: 0,
           costPrice: 0,
           status: false
-        },
-        {
-          purchaseCycle: 30,
-          salePrice: 0,
-          costPrice: 0,
-          status: false
-        },
-        {
-          purchaseCycle: 36,
-          salePrice: 0,
-          costPrice: 0,
-          status: false
         }
+        // {
+        //   purchaseCycle: 30,
+        //   salePrice: 0,
+        //   costPrice: 0,
+        //   status: false
+        // },
+        // {
+        //   purchaseCycle: 36,
+        //   salePrice: 0,
+        //   costPrice: 0,
+        //   status: false
+        // }
       ],
       ensembleCounts: false,
       musicCounts: false,
-      subjectCounts: false
+      subjectCounts: false,
+      tenantAlbumStatus: 0 as any
     })
     const params = reactive({
       page: 1,
@@ -91,6 +93,7 @@ export default defineComponent({
         }
         const { data } = await request.post(url)
         state.details = data || {}
+        state.tenantAlbumStatus = data.tenantAlbumStatus
         state.buyList.forEach((item: any, index: number) => {
           item.salePrice = (index + 1) * data.salePrice
           item.costPrice = (index + 1) * data.costPrice
@@ -257,132 +260,160 @@ export default defineComponent({
 
     return () => (
       <div class={styles.trainTool}>
-        <TheSticky position="top">
-          <ColHeader
-            background={background.value}
-            border={false}
-            isFixed={false}
-            color={color.value}
-            backIconColor="white"
-          />
-        </TheSticky>
-        <img class={styles.bgImg} src={state.details?.coverImg} />
-        <div class={styles.musicContent}></div>
-        <div class={styles.bg}>
-          <div class={styles.alumWrap}>
-            <div class={styles.img}>
-              <Image
-                class={styles.image}
-                width="100%"
-                height="100%"
-                fit="cover"
-                src={state.details?.coverImg || iconAlbumCover}
-                errorIcon={iconAlbumCover}
-              />
-              <span class={styles.numContent}>
-                <img src={iconMenu} class={styles.iconMenu} />共
-                {state.details?.musicNum}首
-              </span>
-
-              <div class={styles.iconPian}>
-                <Image
-                  class={styles.image}
-                  width="100%"
-                  height="100%"
-                  fit="cover"
-                  src={state.details?.coverImg}
-                />
-              </div>
-            </div>
-            <div class={styles.alumDes}>
-              <div class={[styles.alumTitle, 'van-ellipsis']}>
-                {state.details?.name}
-              </div>
+        {state.tenantAlbumStatus === 0 ? (
+          <>
+            <TheSticky position="top">
+              <ColHeader border={false} isFixed={false} />
+            </TheSticky>
+            {!state.loading && (
               <div
-                class={[styles.des, 'van-multi-ellipsis--l2']}
                 style={{
-                  height: '32px',
-                  lineHeight: '16px'
+                  height: 'calc(100vh - var(--header-height))',
+                  display: 'flex',
+                  alignItems: 'center'
                 }}
               >
-                {state.details?.describe}
+                <ColResult
+                  tips="暂无曲目"
+                  classImgSize="SMALL"
+                  btnStatus={false}
+                />
               </div>
-            </div>
-          </div>
-        </div>
+            )}
+          </>
+        ) : (
+          <>
+            <TheSticky position="top">
+              <ColHeader
+                background={background.value}
+                border={false}
+                isFixed={false}
+                color={color.value}
+                backIconColor="white"
+              />
+            </TheSticky>
+            <img class={styles.bgImg} src={state.details?.coverImg} />
+            <div class={styles.musicContent}></div>
+            <div class={styles.bg}>
+              <div class={styles.alumWrap}>
+                <div class={styles.img}>
+                  <Image
+                    class={styles.image}
+                    width="100%"
+                    height="100%"
+                    fit="cover"
+                    src={state.details?.coverImg || iconAlbumCover}
+                    errorIcon={iconAlbumCover}
+                  />
+                  <span class={styles.numContent}>
+                    <img src={iconMenu} class={styles.iconMenu} />共
+                    {state.details?.musicNum}首
+                  </span>
 
-        <div class={styles.musicList}>
-          <Tabs
-            color="var(--van-primary)"
-            background="transparent"
-            lineWidth={20}
-            shrink
-            v-model:active={state.activeTab}
-            onChange={val => {
-              state.activeTab = val
+                  <div class={styles.iconPian}>
+                    <Image
+                      class={styles.image}
+                      width="100%"
+                      height="100%"
+                      fit="cover"
+                      src={state.details?.coverImg}
+                    />
+                  </div>
+                </div>
+                <div class={styles.alumDes}>
+                  <div class={[styles.alumTitle, 'van-ellipsis']}>
+                    {state.details?.name}
+                  </div>
+                  <div
+                    class={[styles.des, 'van-multi-ellipsis--l2']}
+                    style={{
+                      height: '32px',
+                      lineHeight: '16px'
+                    }}
+                  >
+                    {state.details?.describe}
+                  </div>
+                </div>
+              </div>
+            </div>
 
-              params.page = 1
-              state.list = []
-              FetchList()
-            }}
-          >
-            {state.subjectCounts && <Tab title="声部练习" name="SUBJECT"></Tab>}
-            {state.ensembleCounts && (
-              <Tab title="合奏练习" name="ENSEMBLE"></Tab>
-            )}
-            {state.musicCounts && <Tab title="独奏曲目" name="MUSIC"></Tab>}
-          </Tabs>
+            <div class={styles.musicList}>
+              <Tabs
+                color="var(--van-primary)"
+                background="transparent"
+                lineWidth={20}
+                shrink
+                v-model:active={state.activeTab}
+                onChange={val => {
+                  state.activeTab = val
 
-          <div class={styles.alumnList}>
-            <List
-              loading={state.loading}
-              finished={state.finished}
-              finished-text={' '}
-              onLoad={FetchList}
-              immediateCheck={false}
-              error={state.isError}
-            >
-              {state.list && state.list.length ? (
-                <Song
-                  showNumber
-                  list={state.list}
-                  onDetail={(item: any) => {
-                    router.push({
-                      path: '/music-detail',
-                      query: {
-                        id: item.id
-                        // albumId: route.params.id
-                      }
-                    })
-                  }}
-                />
-              ) : (
-                !state.loading && (
-                  <ColResult
-                    tips="暂无曲目"
-                    classImgSize="SMALL"
-                    btnStatus={false}
-                  />
-                )
-              )}
-            </List>
-          </div>
-        </div>
-        {baseState.platformType === 'STUDENT' && (
-          <TheSticky position="bottom">
-            <div class={styles.btnGroup}>
-              <Button
-                round
-                block
-                disabled={state.details?.musicNum <= 0}
-                color="#FE2451"
-                onClick={() => (state.popupStatus = true)}
+                  params.page = 1
+                  state.list = []
+                  FetchList()
+                }}
               >
-                购买教程
-              </Button>
+                {state.subjectCounts && (
+                  <Tab title="声部练习" name="SUBJECT"></Tab>
+                )}
+                {state.ensembleCounts && (
+                  <Tab title="合奏练习" name="ENSEMBLE"></Tab>
+                )}
+                {state.musicCounts && <Tab title="独奏曲目" name="MUSIC"></Tab>}
+              </Tabs>
+
+              <div class={styles.alumnList}>
+                <List
+                  loading={state.loading}
+                  finished={state.finished}
+                  finished-text={' '}
+                  onLoad={FetchList}
+                  immediateCheck={false}
+                  error={state.isError}
+                >
+                  {state.list && state.list.length ? (
+                    <Song
+                      showNumber
+                      list={state.list}
+                      onDetail={(item: any) => {
+                        router.push({
+                          path: '/music-detail',
+                          query: {
+                            id: item.id
+                            // albumId: route.params.id
+                          }
+                        })
+                      }}
+                    />
+                  ) : (
+                    !state.loading && (
+                      <ColResult
+                        tips="暂无曲目"
+                        classImgSize="SMALL"
+                        btnStatus={false}
+                      />
+                    )
+                  )}
+                </List>
+              </div>
             </div>
-          </TheSticky>
+            {baseState.platformType === 'STUDENT' && state.buy != '1' && (
+              <TheSticky position="bottom">
+                <div class={styles.btnGroup}>
+                  <Button
+                    round
+                    block
+                    disabled={state.details?.musicNum <= 0}
+                    color="#FE2451"
+                    onClick={() => (state.popupStatus = true)}
+                  >
+                    购买教程
+                  </Button>
+                </div>
+              </TheSticky>
+            )}
+          </>
         )}
+
         <Popup
           v-model:show={state.popupStatus}
           position="bottom"

+ 6 - 2
src/tenant/trade/index.tsx

@@ -42,6 +42,7 @@ export default defineComponent({
         { name: '支付失败', status: 'FAIL' }
       ],
       timeStatus: false,
+      currentSearchDate: new Date(),
       currentDate: new Date(),
       list: [],
       dataShow: true, // 判断是否有数据
@@ -61,7 +62,7 @@ export default defineComponent({
       try {
         const params = {
           ...state.params,
-          searchDate: dayjs(state.currentDate).format('YYYY-MM')
+          searchDate: dayjs(state.currentSearchDate).format('YYYY-MM')
         }
 
         const url =
@@ -100,6 +101,7 @@ export default defineComponent({
     }
     const onConfirm = (date: Date) => {
       state.currentDate = date
+      state.currentSearchDate = date
       state.timeStatus = false
       onSearch()
     }
@@ -174,7 +176,7 @@ export default defineComponent({
                     class={styles.label}
                     onClick={() => (state.timeStatus = true)}
                   >
-                    {dateFormat(state.currentDate, 'YYYY-MM')}
+                    {dateFormat(state.currentSearchDate, 'YYYY-MM')}
 
                     <Icon
                       classPrefix="iconfont"
@@ -290,6 +292,8 @@ export default defineComponent({
                   <div class={styles.paymentPrice}>
                     {['PAYING', 'WAIT_PAY'].includes(item.status)
                       ? '需付款'
+                      : item.status === 'CLOSE'
+                      ? '订单金额'
                       : '实付款'}
                     <span>
                       <i>¥</i>

+ 20 - 15
src/views/order-detail/index.tsx

@@ -209,23 +209,26 @@ export default defineComponent({
         }
       }
 
+      console.log(orderStatus.orderObject, 'orderInfo')
       // 判断是否有订单号
       if (orderStatus.orderObject.orderNo) {
-        this.paymentStatus = true
-        this.orderInfo = orderStatus.orderObject.paymentConfig || {}
-        this.orderNo = orderStatus.orderObject.orderNo
-        // if (this.paymentVersion === 'V1') {
-        // } else {
-        //   this.orderInfo = orderStatus.orderObject.paymentConfig || {}
-        //   this.orderNo = orderStatus.orderObject.orderNo
-        //   const paymentChannel =
-        //     orderStatus.orderObject.paymentConfig.paymentConfig.paymentChannel
-        //   const payCode = beforeSubmit(paymentChannel)
-        //   this.onConfirm({
-        //     payCode,
-        //     pay_channel: paymentChannel
-        //   })
-        // }
+        if (this.paymentVersion === 'V1') {
+          this.paymentStatus = true
+        } else {
+          this.orderInfo = orderStatus.orderObject.paymentConfig || {}
+          this.orderNo = orderStatus.orderObject.orderNo
+          const paymentChannel =
+            orderStatus.orderObject.paymentConfig.paymentConfig.paymentChannel
+          if (paymentChannel) {
+            const payCode = beforeSubmit(paymentChannel)
+            this.onConfirm({
+              payCode,
+              pay_channel: paymentChannel
+            })
+          } else {
+            this.paymentStatus = true
+          }
+        }
 
         return
       }
@@ -329,6 +332,8 @@ export default defineComponent({
     },
     onConfirm(val: any) {
       const config: any = this.orderInfo.paymentConfig || {}
+      orderStatus.orderObject.paymentConfig.paymentConfig.paymentChannel =
+        val.pay_channel
       this.pay_channel = val.pay_channel
 
       const params = qs.stringify({

+ 33 - 7
src/views/tenantStudentRejest/index.module.less

@@ -2,6 +2,7 @@
   width: 100%;
   height: 891px;
   position: relative;
+
   .bgWrap {
     position: absolute;
     top: 0;
@@ -9,6 +10,7 @@
     width: 100%;
     height: 891px;
   }
+
   .rejectLogo {
     width: 163px;
     height: 22px;
@@ -18,6 +20,7 @@
     z-index: 100;
     top: 27px;
   }
+
   .studentText {
     width: 133px;
     height: 32px;
@@ -27,6 +30,7 @@
     top: 69px;
     z-index: 100;
   }
+
   .schoolNameWrap {
     position: absolute;
     z-index: 10;
@@ -41,12 +45,14 @@
     font-weight: 400;
     color: #b21f3b;
     line-height: 21px;
+
     .rejectSchool {
       width: 17px;
       height: 17px;
       margin-right: 8px;
     }
   }
+
   .centerLogo {
     width: 375px;
     height: 354px;
@@ -54,22 +60,22 @@
     position: absolute;
     top: 142px;
   }
+
   .infoWrap {
     padding: 12px 12px 0;
     top: 326px;
     position: relative;
     width: 371px;
     height: 565px;
-    background: linear-gradient(
-      180deg,
-      rgba(255, 255, 255, 0.22) 0%,
-      rgba(255, 255, 255, 0) 100%
-    );
+    background: linear-gradient(180deg,
+        rgba(255, 255, 255, 0.22) 0%,
+        rgba(255, 255, 255, 0) 100%);
     box-sizing: border-box;
     border-radius: 20px 20px 0 0;
     border: 2px solid #ffffff;
     border-bottom: none;
     z-index: 20;
+
     .infoWrapCore {
       background-color: #fff;
       height: 443px;
@@ -77,6 +83,7 @@
       border-radius: 18px;
       overflow: hidden;
       position: relative;
+
       .subTitle {
         position: relative;
         width: 271px;
@@ -92,6 +99,7 @@
 .group {
   overflow: hidden;
   padding: 14px 0 20px;
+
   .noArrow {
     :global {
       .van-field__body {
@@ -99,15 +107,18 @@
       }
     }
   }
+
   :global {
     .van-cell {
       line-height: 40px;
     }
+
     .van-field__label {
       font-size: 16px;
       font-weight: 600;
       color: #714923;
     }
+
     .van-field__body {
       height: 40px;
       // padding: 0 15px;
@@ -149,6 +160,7 @@
     }
   }
 }
+
 .tips {
   box-sizing: border-box;
   width: 320px;
@@ -166,6 +178,7 @@
   position: relative;
   margin-left: -160px;
 }
+
 .sendBtn {
   border: none;
   background-color: transparent;
@@ -202,12 +215,14 @@
   box-shadow: 1px 1px 9px 0px rgba(149, 145, 145, 0.07);
   border-radius: 12px 12px;
   position: relative;
+
   .showWrapTop {
     width: 264px;
     height: 130px;
     position: relative;
     top: -23px;
   }
+
   h2 {
     margin-top: 3px;
     height: 25px;
@@ -218,17 +233,20 @@
     text-align: center;
     margin-bottom: 11px;
   }
+
   h4 {
     font-size: 15px;
     font-weight: 500;
     color: #333333;
     text-align: center;
     margin-bottom: 11px;
+
     span {
       color: #fe2451;
       font-weight: bold;
     }
   }
+
   p {
     font-size: 14px;
     font-weight: 400;
@@ -237,6 +255,7 @@
     text-align: center;
     margin-bottom: 22px;
   }
+
   .downApp {
     width: 200px;
     height: 40px;
@@ -253,12 +272,14 @@
     margin-left: -100px;
   }
 }
+
 .secondWrap {
   width: 294px;
-  height: 182px;
+  // height: 182px;
   background: #ffffff;
   border-radius: 12px;
   padding: 15px 21px 21px;
+
   h2 {
     height: 24px;
     font-size: 17px;
@@ -268,6 +289,7 @@
     margin-bottom: 10px;
     text-align: center;
   }
+
   p {
     font-size: 15px;
     font-weight: 400;
@@ -275,11 +297,13 @@
     line-height: 24px;
     text-align: center;
     margin-bottom: 3px;
+
     span {
       color: #fe2451;
       font-weight: bold;
     }
   }
+
   .buttonWrap {
     margin-top: 24px;
     box-sizing: border-box;
@@ -288,6 +312,7 @@
     flex-direction: row;
     align-items: center;
     justify-content: center;
+
     .closeBtn {
       width: 120px;
       height: 40px;
@@ -301,6 +326,7 @@
       text-align: center;
       margin-right: 12px;
     }
+
     .submitBtn {
       width: 120px;
       height: 40px;
@@ -314,4 +340,4 @@
       text-align: center;
     }
   }
-}
+}

+ 334 - 268
src/views/tenantStudentRejest/index.tsx

@@ -1,6 +1,22 @@
 import ColHeader from '@/components/col-header'
 import ColSearch from '@/components/col-search'
-import { Sticky, Image, List, Popup, Icon, Area, Field, Form, CellGroup, Button, Toast, Picker, DatetimePicker,Overlay,Dialog } from 'vant'
+import {
+  Sticky,
+  Image,
+  List,
+  Popup,
+  Icon,
+  Area,
+  Field,
+  Form,
+  CellGroup,
+  Button,
+  Toast,
+  Picker,
+  DatetimePicker,
+  Overlay,
+  Dialog
+} from 'vant'
 import { defineComponent, onMounted, reactive } from 'vue'
 import styles from './index.module.less'
 import bg from './images/bg.png'
@@ -18,22 +34,23 @@ import dayjs from 'dayjs'
 export default defineComponent({
   name: 'tenantStudentRejest',
   setup() {
-    const route = useRoute();
+    const route = useRoute()
     const forms = reactive({
       gender: '',
       name: '',
       phone: '',
       subjectId: '',
-      subjectName:'',
+      subjectName: '',
       birthdate: '',
       code: '',
-      genderName:'',
-      tenantId:route.query.tenantId,
-    });
+      genderName: '',
+      tenantId: route.query.tenantId
+    })
 
     const data = reactive({
       schoolName: route.query.name || '',
-      id:route.query.tenantId,
+      id: route.query.tenantId,
+      userSchoolName: '',
       cityName: '', // 所属城市
       showArea: false,
       checked: true,
@@ -45,14 +62,17 @@ export default defineComponent({
       searchStatus: false,
       openStatus: false,
       dateState: false,
-      genderState:false,
-      genderList:[{text:'男',value:'1'},{text:'女',value:'0'}],
-      showSuccess:false,
-      secondConfirm:false,
-      minDate: new Date(1980, 1, 1),
-      maxDate: new Date(),
-    });
-    const handleSubmit = async() => {
+      genderState: false,
+      genderList: [
+        { text: '男', value: '1' },
+        { text: '女', value: '0' }
+      ],
+      showSuccess: false,
+      secondConfirm: false,
+      minDate: new Date(1980, 0, 1),
+      maxDate: new Date()
+    })
+    const handleSubmit = async () => {
       console.log(forms, 'forms')
       if (!forms.name) {
         Toast('请输入姓名')
@@ -73,53 +93,56 @@ export default defineComponent({
         Toast('请选择声部')
       }
 
-        const res = await request.post('/api-tenant/open/student/save',{ data: { ... forms},hideLoading:true})
-        console.log(res)
-      if(res.code == 200){
+      const res = await request.post('/api-tenant/open/student/save', {
+        data: { ...forms },
+        hideLoading: true
+      })
+      console.log(res)
+      if (res.code == 200) {
         data.showSuccess = true
       }
 
-      if(res.code == 5004){
+      if (res.code == 5004) {
         data.secondConfirm = true
+        data.userSchoolName = res.msg
       }
-
-
-
-
     }
     const getSubjectList = async () => {
       try {
-        const res = await request.get('/api-tenant/open/subject/queryPage',{ data: { page: 1, rows: 9999 }})
-        data.subjectList = res.data.rows.map((item:any)=>{
-          return {
-            text:item.name,
-            value:item.id
-          }
-        }) || []
+        const res = await request.get('/api-tenant/open/subject/queryPage', {
+          data: { page: 1, rows: 9999 }
+        })
+        data.subjectList =
+          res.data.rows.map((item: any) => {
+            return {
+              text: item.name,
+              value: item.id
+            }
+          }) || []
       } catch (e) {
         console.log(e)
       }
     }
     const confirmSubject = (val: any) => {
-      forms.subjectName = val.text;
-      forms.subjectId = val.value;
+      forms.subjectName = val.text
+      forms.subjectId = val.value
       data.searchStatus = false
       console.log(val, 'confirmSubject')
     }
 
-    const confirmDate = (val:any)=>{
+    const confirmDate = (val: any) => {
       forms.birthdate = dayjs(val).format('YYYY-MM-DD')
-     data.dateState = false
+      data.dateState = false
     }
     onMounted(() => {
       getSubjectList()
     })
-    const confirmGender = (val:any)=>{
-      if(val.value){
-        forms.gender = val.value;
+    const confirmGender = (val: any) => {
+      if (val.value) {
+        forms.gender = val.value
         forms.genderName = val.text
-      }else{
-        forms.gender = '';
+      } else {
+        forms.gender = ''
         forms.genderName = ''
       }
       data.genderState = false
@@ -127,272 +150,315 @@ export default defineComponent({
     /** 发送验证码 */
     const onSendSms = async () => {
       if (!forms.phone) {
-        Toast('请输入手机号码');
-        return;
+        Toast('请输入手机号码')
+        return
       }
       if (!/^1[3456789]\d{9}$/.test(forms.phone)) {
-        Toast('手机号码格式不正确');
-        return;
+        Toast('手机号码格式不正确')
+        return
       }
       await request.post('/api-student/code/sendSmsCode', {
         requestType: 'form',
         data: {
           mobile: forms.phone,
-          type: 'LOGIN'
+          type: 'REGISTER'
         }
       })
       onCountDown()
       setTimeout(() => {
         Toast('验证码已发送')
       }, 100)
-    };
-
-    const onCountDown = ()=>{
-        data.sendMsg='60s'
-        let count = 60;
-        const timer = setInterval(() => {
-          count--;
-          data.sendMsg= `${count}s`
-          if (count <= 0) {
-           data.sendMsg='获取验证码'
-            clearInterval(timer);
-          }
-        }, 1000);
+    }
 
+    const onCountDown = () => {
+      data.sendMsg = '60s'
+      let count = 60
+      const timer = setInterval(() => {
+        count--
+        data.sendMsg = `${count}s`
+        if (count <= 0) {
+          data.sendMsg = '获取验证码'
+          clearInterval(timer)
+        }
+      }, 1000)
     }
 
-    const downApp = ()=>{
+    const downApp = () => {
       window.open(location.origin + '/student/#/download')
       data.showSuccess = false
     }
 
-    const submitSecond = async()=>{
-      try{
-        const res = await request.post('/api-tenant/open/student/save',{ data: { ... forms,updateTenant:true},hideLoading:true})
-        data.showSuccess=true
-        data.secondConfirm=false
-
-      }catch(e){
+    const submitSecond = async () => {
+      try {
+        await request.post('/api-tenant/open/student/save', {
+          data: { ...forms, updateTenant: true },
+          hideLoading: true
+        })
+        data.showSuccess = true
+        data.secondConfirm = false
+      } catch (e) {
         console.log(e)
       }
-
     }
-    return () =>
-      <>< div class={styles.videoClass} >
-        {/* <ColHeader
+    return () => (
+      <>
+        <div class={styles.videoClass}>
+          {/* <ColHeader
           class={styles.classHeader}
           border={false}
           isFixed={false}
           background="#fff"
         /> */}
-        <div class={styles.resjetStudentWrap}>
-          <img src={rejectLogo} class={styles.rejectLogo} alt="" />
-          <img src={studentText} class={styles.studentText} alt="" />
-          <img src={bg} class={styles.bgWrap} alt="" />
-          <div class={styles.schoolNameWrap}>
-            <img src={rejectSchool} class={styles.rejectSchool} alt="" />
-            <p>{data.schoolName}</p>
-
-          </div>
-          <img class={styles.centerLogo} src={centerLogo} alt="" />
-          <div class={styles.infoWrap}>
-            <div class={styles.infoWrapCore}>
-              <img src={subTitle} class={styles.subTitle} alt="" />
-
-              <Form onSubmit={() => handleSubmit()}>
-                <CellGroup class={styles.group} border={false}>
-                  <Field
-                    class={styles.noArrow}
-                    inputAlign="right"
-                    label="姓名"
-                    placeholder="请输入姓名"
-                    maxlength={20}
-                    v-model={forms.name}
-
-                  // onUpdate: modelValue={(val: string) => {
-                  //   forms.nickname = val.trim();
-                  // }}
-                  />
-                  <Field
-                    readonly
-                    inputAlign="right"
-                    label="性别"
-                    placeholder="请选择性别"
-                    v-model={forms.genderName}
-                    onClick={()=>{
-                      data.genderState = true
-                    }}
-                  // onUpdate: modelValue={(val: string) => {
-                  //   forms.nickname = val.trim();
-                  // }}
-                  >
-                    {{
-                      button: () => (
-                        <img
-                          style={{
-                            display: 'block',
-                            width: '12px',
-                            height: '12px',
-
-                          }}
-                          src={icon_arrow}
-                        />
-                      )
-                    }}
-                  </Field>
-                  <Field
-                    readonly
-                    inputAlign="right"
-                    label="出生日期"
-                    placeholder="请选择出生日期"
-                    maxlength={20}
-                    v-model={forms.birthdate}
-                    onClick={()=>{data.dateState = true}}
-                  // onUpdate: modelValue={(val: string) => {
-                  //   forms.nickname = val.trim();
-                  // }}
-                  >
-                    {{
-                      button: () => (
-                        <img
-                          style={{
-                            display: 'block',
-                            width: '12px',
-                            height: '12px',
-
-                          }}
-                          src={icon_arrow}
-                        />
-                      )
-                    }}
-                  </Field>
-                  <Field
-                    inputAlign="right"
-                    label="手机号"
-                    class={styles.noArrow}
-                    maxlength={11}
-                    placeholder="请输入手机号码"
-                    v-model={forms.phone}
-                  />
-                  <div class={styles.tips}>
-                    手机号码为酷乐秀机构版登录账号
-                  </div>
+          <div class={styles.resjetStudentWrap}>
+            <img src={rejectLogo} class={styles.rejectLogo} alt="" />
+            <img src={studentText} class={styles.studentText} alt="" />
+            <img src={bg} class={styles.bgWrap} alt="" />
+            <div class={styles.schoolNameWrap}>
+              <img src={rejectSchool} class={styles.rejectSchool} alt="" />
+              <p>{data.schoolName}</p>
+            </div>
+            <img class={styles.centerLogo} src={centerLogo} alt="" />
+            <div class={styles.infoWrap}>
+              <div class={styles.infoWrapCore}>
+                <img src={subTitle} class={styles.subTitle} alt="" />
 
-                  <Field
-                    class={styles.inputCode}
-                    inputAlign="left"
-                    label="请输入验证码"
-                    labelWidth={0}
-                    v-model={forms.code}
-                    maxlength={6}>
-                    {{
-                      button: () => (
-                        <Button
+                <Form onSubmit={() => handleSubmit()}>
+                  <CellGroup class={styles.group} border={false}>
+                    <Field
+                      class={styles.noArrow}
+                      inputAlign="right"
+                      label="姓名"
+                      placeholder="请输入姓名"
+                      maxlength={20}
+                      v-model={forms.name}
 
-                          disabled={data.sendMsg.includes('s')}
-                          class={styles.sendBtn}
-                          onClick={() => onSendSms()}>
-                          {data.sendMsg}
-                        </Button>
-                      )
-                    }}
-                  </Field>
-                  <Field
-                    border={false}
-                    inputAlign="right"
-                    label="声部"
-                    placeholder="请选择声部"
-                    readonly
-                    v-model={forms.subjectName}
-                    onClick={() => (data.searchStatus = true)}>
-                    {{
-                      button: () => (
-                        <img
-                          style={{
-                            display: 'block',
-                            width: '12px',
-                            height: '12px',
+                      // onUpdate: modelValue={(val: string) => {
+                      //   forms.nickname = val.trim();
+                      // }}
+                    />
+                    <Field
+                      readonly
+                      inputAlign="right"
+                      label="性别"
+                      placeholder="请选择性别"
+                      v-model={forms.genderName}
+                      onClick={() => {
+                        data.genderState = true
+                      }}
+                      // onUpdate: modelValue={(val: string) => {
+                      //   forms.nickname = val.trim();
+                      // }}
+                    >
+                      {{
+                        button: () => (
+                          <img
+                            style={{
+                              display: 'block',
+                              width: '12px',
+                              height: '12px'
+                            }}
+                            src={icon_arrow}
+                          />
+                        )
+                      }}
+                    </Field>
+                    <Field
+                      readonly
+                      inputAlign="right"
+                      label="出生日期"
+                      placeholder="请选择出生日期"
+                      maxlength={20}
+                      v-model={forms.birthdate}
+                      onClick={() => {
+                        data.dateState = true
+                      }}
+                      // onUpdate: modelValue={(val: string) => {
+                      //   forms.nickname = val.trim();
+                      // }}
+                    >
+                      {{
+                        button: () => (
+                          <img
+                            style={{
+                              display: 'block',
+                              width: '12px',
+                              height: '12px'
+                            }}
+                            src={icon_arrow}
+                          />
+                        )
+                      }}
+                    </Field>
+                    <Field
+                      inputAlign="right"
+                      label="手机号"
+                      class={styles.noArrow}
+                      maxlength={11}
+                      placeholder="请输入手机号码"
+                      v-model={forms.phone}
+                    />
+                    <div class={styles.tips}>
+                      手机号码为酷乐秀机构版登录账号
+                    </div>
 
-                          }}
-                          src={icon_arrow}
-                        />
-                      )
-                    }}
-                  </Field>
-                </CellGroup>
-              </Form>
+                    <Field
+                      class={styles.inputCode}
+                      inputAlign="left"
+                      label="请输入验证码"
+                      labelWidth={0}
+                      v-model={forms.code}
+                      maxlength={6}
+                    >
+                      {{
+                        button: () => (
+                          <Button
+                            disabled={data.sendMsg.includes('s')}
+                            class={styles.sendBtn}
+                            onClick={() => onSendSms()}
+                          >
+                            {data.sendMsg}
+                          </Button>
+                        )
+                      }}
+                    </Field>
+                    <Field
+                      border={false}
+                      inputAlign="right"
+                      label="声部"
+                      placeholder="请选择声部"
+                      readonly
+                      v-model={forms.subjectName}
+                      onClick={() => (data.searchStatus = true)}
+                    >
+                      {{
+                        button: () => (
+                          <img
+                            style={{
+                              display: 'block',
+                              width: '12px',
+                              height: '12px'
+                            }}
+                            src={icon_arrow}
+                          />
+                        )
+                      }}
+                    </Field>
+                  </CellGroup>
+                </Form>
+              </div>
+              <img
+                src={rejectBtn}
+                onClick={() => {
+                  handleSubmit()
+                }}
+                class={styles.rejectBtn}
+                alt=""
+              />
             </div>
-            <img src={rejectBtn} onClick={() => { handleSubmit() }} class={styles.rejectBtn} alt="" />
           </div>
-        </div>
-        <Popup
-          show={data.searchStatus}
-          position="bottom"
-          round
-          columns-field-names={{ text: '' }}
-          safe-area-inset-bottom
-          onClose={() => (data.searchStatus = false)}
-          onClosed={() => (data.openStatus = false)}
-        >
-          <Picker columns={data.subjectList} onCancel={() => { data.searchStatus = false }} onConfirm={confirmSubject}></Picker>
-        </Popup>
-        <Popup
-          show={data.dateState}
-          position="bottom"
-          round
-          columns-field-names={{ text: '' }}
-          safe-area-inset-bottom
-          onClose={() => (data.dateState = false)}
-          onClosed={() => (data.dateState = false)}
-        >
-          <DatetimePicker
-          min-date={data.minDate}
-  max-date={data.maxDate} type="date" v-model:value={forms.birthdate} onCancel={() => { data.dateState = false }} onConfirm={confirmDate}></DatetimePicker>
-        </Popup>
-
-        <Popup
-          show={data.genderState}
-          position="bottom"
-          round
-          columns-field-names={{ text: '' }}
-          safe-area-inset-bottom
-          onClose={() => (data.genderState = false)}
-          onClosed={() => (data.genderState = false)}
-        >
-          <Picker columns={data.genderList} onCancel={() => { data.genderState = false }} onConfirm={confirmGender}></Picker>
-        </Popup>
+          <Popup
+            show={data.searchStatus}
+            position="bottom"
+            round
+            columns-field-names={{ text: '' }}
+            safe-area-inset-bottom
+            onClose={() => (data.searchStatus = false)}
+            onClosed={() => (data.openStatus = false)}
+          >
+            <Picker
+              columns={data.subjectList}
+              onCancel={() => {
+                data.searchStatus = false
+              }}
+              onConfirm={confirmSubject}
+            ></Picker>
+          </Popup>
+          <Popup
+            show={data.dateState}
+            position="bottom"
+            round
+            columns-field-names={{ text: '' }}
+            safe-area-inset-bottom
+            onClose={() => (data.dateState = false)}
+            onClosed={() => (data.dateState = false)}
+          >
+            <DatetimePicker
+              min-date={data.minDate}
+              max-date={data.maxDate}
+              type="date"
+              v-model:value={forms.birthdate}
+              onCancel={() => {
+                data.dateState = false
+              }}
+              onConfirm={confirmDate}
+            ></DatetimePicker>
+          </Popup>
 
-        <Overlay show={data.showSuccess}  z-index={1000}>
-          <div class={styles.showWrap}>
-           <img class={styles.showWrapTop} src={studentSuccess} alt="" />
-           <h2>恭喜您已成功登记为</h2>
-           <h4>{data.schoolName} <span>【学员】</span> </h4>
-           <p>请下载酷乐秀机构版APP进行学习</p>
-           <div class={styles.downApp} onClick={downApp}>立即下载</div>
-          </div>
-        </Overlay>
+          <Popup
+            show={data.genderState}
+            position="bottom"
+            round
+            columns-field-names={{ text: '' }}
+            safe-area-inset-bottom
+            onClose={() => (data.genderState = false)}
+            onClosed={() => (data.genderState = false)}
+          >
+            <Picker
+              columns={data.genderList}
+              onCancel={() => {
+                data.genderState = false
+              }}
+              onConfirm={confirmGender}
+            ></Picker>
+          </Popup>
 
+          <Overlay show={data.showSuccess} z-index={1000}>
+            <div class={styles.showWrap}>
+              <img class={styles.showWrapTop} src={studentSuccess} alt="" />
+              <h2>恭喜您已成功登记为</h2>
+              <h4>
+                {data.schoolName} <span>【学员】</span>{' '}
+              </h4>
+              <p>请下载酷乐秀机构版APP进行学习</p>
+              <div class={styles.downApp} onClick={downApp}>
+                立即下载
+              </div>
+            </div>
+          </Overlay>
 
           <Popup
-          show={data.secondConfirm}
-          position="center"
-          round
-          onClose={() => (data.secondConfirm = false)}
-          onClosed={() => (data.secondConfirm = false)}
-        >
-        <div class={styles.secondWrap}>
-          <h2>提示</h2>
-          <p>当前账号已存在 <span>【机构名称】</span> ,是否</p>
-          <p>确认更换到 <span>{data.schoolName}</span>吗? </p>
-          <div class={styles.buttonWrap}>
-            <div class={styles.closeBtn} onClick={()=>{data.secondConfirm = false}}> 取消</div>
-            <div  class={styles.submitBtn} onClick={submitSecond}>确定</div>
-          </div>
+            show={data.secondConfirm}
+            position="center"
+            round
+            onClose={() => (data.secondConfirm = false)}
+            onClosed={() => (data.secondConfirm = false)}
+          >
+            <div class={styles.secondWrap}>
+              <h2>提示</h2>
+              <p>
+                当前账号已存在 <span>【{data.userSchoolName}】</span> ,是否
+              </p>
+              <p>
+                确认更换到<span>{data.schoolName}</span>吗?
+              </p>
+              <div class={styles.buttonWrap}>
+                <div
+                  class={styles.closeBtn}
+                  onClick={() => {
+                    data.secondConfirm = false
+                  }}
+                >
+                  {' '}
+                  取消
+                </div>
+                <div class={styles.submitBtn} onClick={submitSecond}>
+                  确定
+                </div>
+              </div>
+            </div>
+          </Popup>
         </div>
-
-        </Popup>
-      </div ></>
-
+      </>
+    )
   }
-
 })

+ 10 - 10
src/views/tenantTeacherRejest/index.tsx

@@ -142,7 +142,7 @@ export default defineComponent({
         requestType: 'form',
         data: {
           mobile: forms.phone,
-          type: 'LOGIN'
+          type: 'REGISTER'
         }
       })
       onCountDown()
@@ -207,9 +207,9 @@ export default defineComponent({
                       maxlength={20}
                       v-model={forms.username}
 
-                    // onUpdate: modelValue={(val: string) => {
-                    //   forms.nickname = val.trim();
-                    // }}
+                      // onUpdate: modelValue={(val: string) => {
+                      //   forms.nickname = val.trim();
+                      // }}
                     />
 
                     <Field
@@ -250,9 +250,9 @@ export default defineComponent({
                       maxlength={20}
                       v-model={forms.realName}
 
-                    // onUpdate: modelValue={(val: string) => {
-                    //   forms.nickname = val.trim();
-                    // }}
+                      // onUpdate: modelValue={(val: string) => {
+                      //   forms.nickname = val.trim();
+                      // }}
                     />
                     <Field
                       class={styles.noArrow}
@@ -262,9 +262,9 @@ export default defineComponent({
                       maxlength={20}
                       v-model={forms.idCardNo}
 
-                    // onUpdate: modelValue={(val: string) => {
-                    //   forms.nickname = val.trim();
-                    // }}
+                      // onUpdate: modelValue={(val: string) => {
+                      //   forms.nickname = val.trim();
+                      // }}
                     />
 
                     <Field

+ 1 - 1
vite.config.ts

@@ -12,7 +12,7 @@ function resolve(dir: string) {
 // https://vitejs.dev/config/
 // https://github.com/vitejs/vite/issues/1930 .env
 // const proxyUrl = 'https://online.colexiu.com/';
-const proxyUrl = 'https://test.colexiu.com/'
+const proxyUrl = 'https://dev.colexiu.com/'
 // const proxyUrl = 'http://192.168.3.143:8000/'
 export default defineConfig({
   base: './',