shaogen1995 8 kuukautta sitten
vanhempi
commit
f268af64b6

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
展示端/.vscode/file-note.json


BIN
展示端/src/assets/img/my/err2.png


BIN
展示端/src/assets/img/my/succ2.png


BIN
展示端/src/assets/img/selectCourse/tan.png


+ 7 - 0
展示端/src/components/RouterOrder.tsx

@@ -48,6 +48,13 @@ const routerArr = [
     Com: React.lazy(() => import('@/pages/A6my'))
   },
   {
+    id: 7,
+    name: '团体认证',
+    path: '/team',
+    exact: true,
+    Com: React.lazy(() => import('@/pages/A7team'))
+  },
+  {
     id: 9,
     name: '找不到页面',
     path: '*',

+ 48 - 0
展示端/src/pages/A4selectCourse/index.module.scss

@@ -130,5 +130,53 @@
       letter-spacing: 4px;
       color: var(--themeColor);
     }
+
+    // 团体认证弹窗
+    .A4tan {
+      position: absolute;
+      z-index: 100;
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 100%;
+      background-color: rgba(0, 0, 0, 0.6);
+      backdrop-filter: blur(8px);
+      & > div {
+        background-image: url('../../assets/img/selectCourse/tan.png');
+        background-size: 100% 100%;
+        position: absolute;
+        top: 50%;
+        left: 50%;
+        transform: translate(-50%, -50%);
+        width: 80%;
+        border-radius: 10px;
+        background-color: #fff;
+        padding: 30px;
+        & > h1 {
+          text-align: center;
+          font-size: 24px;
+          font-weight: 700;
+          color: var(--themeColor);
+          padding-bottom: 25px;
+          margin-bottom: 25px;
+          border-bottom: 2px dashed #bebebe;
+        }
+        .A4ttxt {
+          text-align: justify;
+          padding: 0 15px;
+          font-size: 18px;
+          line-height: 24px;
+          letter-spacing: 2px;
+          span {
+            font-weight: 700;
+            color: var(--themeColor);
+          }
+        }
+        .A4tbtn {
+          margin-top: 24px;
+          text-align: center;
+        }
+      }
+    }
   }
 }

+ 29 - 2
展示端/src/pages/A4selectCourse/index.tsx

@@ -5,6 +5,7 @@ import TopCom from '@/components/TopCom'
 import xingImg from '@/assets/img/selectCourse/xing.png'
 import A4look from './A4look'
 import history from '@/utils/history'
+import { Button } from 'antd'
 
 export type SonType = {
   id: number
@@ -60,17 +61,21 @@ const list = [
 function A4selectCourse() {
   // 点击预约课程
   const arrangeFu = useCallback(() => {
-    if (1 + 1 === 2) {
+    if (1 + 1 !== 2) {
       // 跳预约页面
       history.push('/order')
     } else {
-      // 去团队认证
+      // 打开弹窗 提示去认证页面
+      setTanShow(true)
     }
   }, [])
 
   // 点击查看详情
   const [info, setInfo] = useState({} as SonType)
 
+  // 弹窗
+  const [tanShow, setTanShow] = useState(false)
+
   return (
     <div className={styles.A4selectCourse}>
       <TopCom txt='选择课程' />
@@ -134,6 +139,28 @@ function A4selectCourse() {
 
       {/* 查看详情 */}
       {info.id ? <A4look info={info} closeFu={() => setInfo({} as SonType)} /> : null}
+
+      {/* 完成团体认证弹窗 */}
+      {tanShow ? (
+        <div className='A4tan' id='openDom'>
+          <div>
+            <h1>请先完成团体认证</h1>
+            <div className='A4ttxt'>
+              团体预约需先通过资质认证。 预约单位需取得<span>横琴粤澳深度合作区民生事务局</span>或
+              <span>澳门街坊会联合总会广东办事处</span>的授权。认证通过后,方可预约课程。
+            </div>
+            <div className='A4tbtn'>
+              <Button size='large' onClick={() => setTanShow(false)}>
+                取消
+              </Button>
+              &emsp;
+              <Button size='large' type='primary' onClick={() => history.push('/team')}>
+                去认证
+              </Button>
+            </div>
+          </div>
+        </div>
+      ) : null}
     </div>
   )
 }

+ 17 - 2
展示端/src/pages/A6my/index.module.scss

@@ -138,6 +138,13 @@
             font-size: 16px;
           }
         }
+        .A6row3No {
+          & > div {
+            background-color: #d9d9d9 !important;
+            pointer-events: none !important;
+            color: #aeaeae !important;
+          }
+        }
 
         // 认证申请
         .A6_2row {
@@ -219,12 +226,13 @@
                 font-weight: 700;
               }
               .A6_2fileRow {
-                // height: 40px;
+                min-height: 40px;
                 display: flex;
-                // align-items: center;
+                align-items: center;
                 justify-content: space-between;
                 margin-bottom: 10px;
                 .A6_2filell {
+                  font-size: 14px;
                   width: calc(100% - 70px);
                 }
                 .A6_2filerr {
@@ -258,6 +266,13 @@
               font-size: 16px;
             }
           }
+          .A6_2btnNo {
+            & > div {
+              background-color: #d9d9d9 !important;
+              pointer-events: none !important;
+              color: #aeaeae !important;
+            }
+          }
         }
       }
     }

+ 54 - 7
展示端/src/pages/A6my/index.tsx

@@ -5,6 +5,8 @@ import classNames from 'classnames'
 import MyPopconfirm from '@/components/MyPopconfirm'
 import succImg from '@/assets/img/my/succ.png'
 import errImg from '@/assets/img/my/err.png'
+import succImg2 from '@/assets/img/my/succ2.png'
+import errImg2 from '@/assets/img/my/err2.png'
 
 const list1 = [
   {
@@ -46,6 +48,19 @@ const list1 = [
     num2: null,
     jigou: '一是一段课',
     miaoshu: ''
+  },
+  {
+    id: 4,
+    time: '11月22日上午',
+    done: 0,
+    title: '二课程名称',
+    name: '撒大苏',
+    phone: '18702025050',
+    ID: '421083199504071216',
+    num1: 0,
+    num2: null,
+    jigou: '一是一段课',
+    miaoshu: ''
   }
 ]
 
@@ -100,6 +115,21 @@ const list2 = [
         src: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
       }
     ]
+  },
+  {
+    id: 4,
+    title: '澳门街坊会联合总会广东办事处',
+    name: '撒大苏',
+    done: 0,
+    phone: '18702025050',
+    danwei: '为哇饿啊为为',
+    file: [
+      {
+        id: 3.1,
+        name: 'xxxxxxxxxxxxxx啊实打实大苏打xxxx.pdf',
+        src: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
+      }
+    ]
   }
 ]
 
@@ -134,8 +164,17 @@ function A6my() {
               {list1.map(item => (
                 <div className='A6row' key={item.id}>
                   <div className='A6row1'>
-                    {item.done === 1 ? (
-                      <div className='A6row1_1'>待审核</div>
+                    {[0, 1].includes(item.done) ? (
+                      <div
+                        className='A6row1_1'
+                        style={{
+                          borderColor: item.done === 0 ? '#aeaeae' : '#f45151',
+                          color: item.done === 0 ? '#fff' : '#f45151',
+                          backgroundColor: item.done === 0 ? '#aeaeae' : ''
+                        }}
+                      >
+                        {item.done === 0 ? '已失效' : '待审核'}
+                      </div>
                     ) : (
                       <img src={item.done === 2 ? succImg : errImg} alt='' />
                     )}
@@ -191,7 +230,7 @@ function A6my() {
                     </div>
                   </div>
 
-                  <div className='A6row3'>
+                  <div className={classNames('A6row3', item.done !== 1 ? 'A6row3No' : '')}>
                     <MyPopconfirm
                       txtK='撤回'
                       onConfirm={() => recallFu(item.id)}
@@ -216,10 +255,18 @@ function A6my() {
                     <p>认证单位</p>
                     <div>{item.title}</div>
 
-                    {item.done === 1 ? (
-                      <div className='A6row1_1'>待审核</div>
+                    {[0, 1].includes(item.done) ? (
+                      <div
+                        className='A6row1_1'
+                        style={{
+                          borderColor: item.done === 0 ? '#aeaeae' : '#fff',
+                          backgroundColor: item.done === 0 ? '#aeaeae' : ''
+                        }}
+                      >
+                        {item.done === 0 ? '已失效' : '待审核'}
+                      </div>
                     ) : (
-                      <img src={item.done === 2 ? succImg : errImg} alt='' />
+                      <img src={item.done === 2 ? succImg2 : errImg2} alt='' />
                     )}
                   </div>
 
@@ -253,7 +300,7 @@ function A6my() {
                     </div>
                   </div>
 
-                  <div className='A6_2btn'>
+                  <div className={classNames('A6_2btn', item.done !== 1 ? 'A6_2btnNo' : '')}>
                     <MyPopconfirm
                       txtK='撤回'
                       onConfirm={() => recallFu(item.id)}

+ 4 - 0
展示端/src/pages/A7team/index.module.scss

@@ -0,0 +1,4 @@
+.A7team {
+  :global {
+  }
+}

+ 13 - 0
展示端/src/pages/A7team/index.tsx

@@ -0,0 +1,13 @@
+import React from 'react'
+import styles from './index.module.scss'
+function A7team() {
+  return (
+    <div className={styles.A7team}>
+      <h1>A7team</h1>
+    </div>
+  )
+}
+
+const MemoA7team = React.memo(A7team)
+
+export default MemoA7team