Pārlūkot izejas kodu

新需求(扫码)

shaogen1995 6 mēneši atpakaļ
vecāks
revīzija
7094be7799

+ 1 - 3
后台管理/src/pages/A4proveSuo/A4main/index.tsx

@@ -64,9 +64,7 @@ function A4main({ type }: Props) {
 
   return (
     <div className={styles.A4main}>
-      <div className='pageTitle'>
-        团队认证({type === 'live' ? '民生事务局' : '街坊会联合总会'})
-      </div>
+      <div className='pageTitle'>团队认证</div>
       <MyTable
         yHeight={700}
         list={type === 'live' ? tableInfo1.list : tableInfo2.list}

+ 1 - 3
后台管理/src/pages/A6_1codeSuo/A61main/index.tsx

@@ -81,9 +81,7 @@ function A61main({ type }: Props) {
 
   return (
     <div className={styles.A61main}>
-      <div className='pageTitle'>
-        认证邀请码({type === 'live' ? '民生事务局' : '街坊会联合总会'})
-      </div>
+      <div className='pageTitle'>认证邀请码</div>
 
       <div className='A61top'>
         <div className='A61top1'>

+ 55 - 26
后台管理/src/pages/B2exhiLog/B2look.tsx

@@ -15,7 +15,10 @@ function B2look({ sId, closeFu }: Props) {
   const [info, setInfo] = useState({
     createTime: '',
     bookDate: '',
-    time: ''
+    time: '',
+    type: '',
+    pcs: 0,
+    teamDesc: ''
   })
 
   const getInfoFu = useCallback(async (id: number) => {
@@ -39,38 +42,64 @@ function B2look({ sId, closeFu }: Props) {
         [] // 设置footer为空,去掉 取消 确定默认按钮
       }
     >
-      <div className='B2row B2rowOne'>
-        <div className='B2box'>
-          <div className='B2boxll'>申请时间:</div>
-          <div className='B2boxrr'>{info.createTime}</div>
-        </div>
-        <div className='B2box'>
-          <div className='B2boxll'>预约日期:</div>
-          <div className='B2boxrr'>{info.bookDate}</div>
-        </div>
-
-        <div className='B2box'>
-          <div className='B2boxll'>预约时段:</div>
-          <div className='B2boxrr'>{info.time}</div>
-        </div>
-      </div>
-
-      {list.map((item, index) => (
-        <div className='B2row' key={index}>
+      <div className='B2Lmain'>
+        <div className='B2row B2rowOne'>
           <div className='B2box'>
-            <div className='B2boxll'>参观人姓名:</div>
-            <div className='B2boxrr'>{item.name}</div>
+            <div className='B2boxll'>申请时间:</div>
+            <div className='B2boxrr'>{info.createTime}</div>
           </div>
           <div className='B2box'>
-            <div className='B2boxll'>参观人电话:</div>
-            <div className='B2boxrr'>{item.phone}</div>
+            <div className='B2boxll'>预约日期:</div>
+            <div className='B2boxrr'>{info.bookDate}</div>
           </div>
+
           <div className='B2box'>
-            <div className='B2boxll'>身份证号:</div>
-            <div className='B2boxrr'>{item.identity}</div>
+            <div className='B2boxll'>预约时段:</div>
+            <div className='B2boxrr'>{info.time}</div>
+          </div>
+          <div className='B2box'>
+            <div className='B2boxll'>预约类型:</div>
+            <div className='B2boxrr'>
+              {info.type === 'person' ? '个人预约' : '团队预约'}
+            </div>
           </div>
         </div>
-      ))}
+
+        {list.map((item, index) => (
+          <div className='B2row' key={index}>
+            <div className='B2box'>
+              <div className='B2boxll'>
+                {info.type === 'person' ? '参观人' : '负责人'}姓名:
+              </div>
+              <div className='B2boxrr'>{item.name}</div>
+            </div>
+            <div className='B2box'>
+              <div className='B2boxll'>
+                {info.type === 'person' ? '参观人' : '负责人'}电话:
+              </div>
+              <div className='B2boxrr'>{item.phone}</div>
+            </div>
+            <div className='B2box'>
+              <div className='B2boxll'>身份证号:</div>
+              <div className='B2boxrr'>{item.identity}</div>
+            </div>
+          </div>
+        ))}
+        {info.type === 'team' ? (
+          <div className='B2row B2row2'>
+            <div className='B2box'>
+              <div className='B2boxll'>参团人数:</div>
+              <div className='B2boxrr'>{info.pcs}</div>
+            </div>
+            {info.teamDesc ? (
+              <div className='B2box B2box2'>
+                <div className='B2boxll'>团队描述:</div>
+                <div className='B2boxrr'>{info.teamDesc}</div>
+              </div>
+            ) : null}
+          </div>
+        ) : null}
+      </div>
 
       <div className='B2Lbtn'>
         <Button onClick={closeFu}>关闭</Button>

+ 14 - 0
后台管理/src/pages/B2exhiLog/index.module.scss

@@ -26,6 +26,10 @@
       width: 800px !important;
     }
 
+    .B2Lmain {
+      max-height: 600px;
+      overflow-y: auto;
+    }
     .ant-modal-body {
       border-top: 1px solid #ccc;
       font-size: 16px !important;
@@ -50,6 +54,16 @@
           width: calc(100% - 100px);
         }
       }
+      .B2box2 {
+        word-wrap: break-word;
+        white-space: pre-wrap;
+      }
+
+      .B2row2 {
+        position: relative;
+        top: -1px;
+        border-top: 2px solid var(--themeColor);
+      }
     }
     .B2Lbtn {
       margin-top: 24px;

+ 14 - 14
后台管理/src/pages/Layout/data.ts

@@ -26,28 +26,28 @@ const tabLeftArr: RouterType = [
       },
       {
         id: 104,
-        name: '团队认证<span>(民生事务局)</span>',
+        name: '团队认证',
         path: '/proveSuo',
         Com: React.lazy(() => import('../A4proveSuo'))
       },
-      {
-        id: 105,
-        name: '团队认证<span>(街坊会联合总会)</span>',
-        path: '/proveHui',
-        Com: React.lazy(() => import('../A5proveHui'))
-      },
+      // {
+      //   id: 105,
+      //   name: '团队认证',
+      //   path: '/proveHui',
+      //   Com: React.lazy(() => import('../A5proveHui'))
+      // },
       {
         id: 107,
-        name: '认证码邀请<span>(民生事务局)</span>',
+        name: '认证码邀请',
         path: '/codeSuo',
         Com: React.lazy(() => import('../A6_1codeSuo'))
       },
-      {
-        id: 108,
-        name: '认证码邀请<span>(街坊会联合总会)</span>',
-        path: '/codeHui',
-        Com: React.lazy(() => import('../A6_2codeHui'))
-      },
+      // {
+      //   id: 108,
+      //   name: '认证码邀请',
+      //   path: '/codeHui',
+      //   Com: React.lazy(() => import('../A6_2codeHui'))
+      // },
       {
         id: 106,
         name: '课程预约记录',

+ 2 - 2
后台管理/src/utils/http.ts

@@ -7,8 +7,8 @@ import { domShowFu } from './domShow'
 
 const envFlag = process.env.NODE_ENV === 'development'
 
-const baseUrlTemp = 'https://sit-hqbooking.4dage.com' // 测试环境
-// const baseUrlTemp = 'http://192.168.20.61:8091' // 线下环境
+// const baseUrlTemp = 'https://sit-hqbooking.4dage.com' // 测试环境
+const baseUrlTemp = 'http://192.168.20.61:8091' // 线下环境
 
 const baseFlag = baseUrlTemp.includes('https://')
 

+ 7 - 6
后台管理/src/utils/tableData.ts

@@ -20,12 +20,12 @@ export const A1tableC = [
   ['txt', '联系方式', 'phone'],
   ['text', '单位名称', 'unit', 50],
   ['txtChange', '团体认证', 'isAuth', { 0: '未认证', 1: '已认证' }],
-  [
-    'txtChange',
-    '认证单位',
-    'authType',
-    { neighbour: '澳门街坊会联合总会广东办事处', live: '横琴粤澳深度合作区民生事务局' }
-  ],
+  // [
+  //   'txtChange',
+  //   '认证单位',
+  //   'authType',
+  //   { neighbour: '澳门街坊会联合总会广东办事处', live: '横琴粤澳深度合作区民生事务局' }
+  // ],
   ['txt', '注册时间', 'createTime']
 ]
 
@@ -102,6 +102,7 @@ export const B1tableC = [
 
 export const B2tableC = [
   ['txt', '申请时间', 'createTime'],
+  ['txtChange', '预约类型', 'type', { person: '个人预约', team: '团队预约' }],
   ['txt', '姓名', 'name'],
   ['txt', '联系电话', 'phone'],
   ['txt', '人数', 'pcs'],

BIN
展示端/public/home/bg2.png


BIN
展示端/src/assets/img/exhibit/top.png


BIN
展示端/src/assets/img/home/bg.png


+ 2 - 2
展示端/src/components/RouterOrder.tsx

@@ -85,14 +85,14 @@ const routerArr = [
   {
     id: 10,
     name: '展馆-发起预约',
-    path: '/exhiStart',
+    path: '/exhiStart/:key',
     exact: true,
     Com: React.lazy(() => import('@/pages/B3start'))
   },
   {
     id: 11,
     name: '展馆-填写信息',
-    path: '/exhiForm/:bookDate/:index',
+    path: '/exhiForm/:bookDate/:index/:key',
     exact: true,
     Com: React.lazy(() => import('@/pages/B4form'))
   },

+ 5 - 0
展示端/src/components/ZselectCity/data.ts

@@ -2395,6 +2395,11 @@ export const cityArr = [
     value: '广东省',
     children: [
       {
+        label: '珠海市横琴区',
+        value: '珠海市横琴区',
+        cityType: '县级市'
+      },
+      {
         label: '广州市',
         value: '广州市',
         cityType: '地级市'

+ 3 - 1
展示端/src/components/ZselectCity/index.tsx

@@ -12,7 +12,7 @@ type Props = {
 function ZselectCity(_: Props, ref: any) {
   const [visible, setVisible] = useState(false)
 
-  const [value, setValue] = useState<string[]>([])
+  const [value, setValue] = useState<string[]>(['广东省', '珠海市横琴区'])
 
   // useEffect(() => {
   //   console.log(123, value)
@@ -61,6 +61,8 @@ function ZselectCity(_: Props, ref: any) {
         value={value}
         onConfirm={val => {
           if (tempArr.length < 2) return MessageFu.warning('请选择完整省市!')
+          console.log(123, val)
+
           setValue(val as string[])
         }}
         onSelect={val => {

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

@@ -274,6 +274,10 @@
             }
           }
         }
+        .B2dian {
+          font-size: 18px;
+          text-align: center;
+        }
       }
     }
   }

+ 1 - 0
展示端/src/pages/A6my/index.tsx

@@ -170,6 +170,7 @@ function A6my() {
                   </div>
                 </div>
               ))}
+              <div className='B2dian'>联系方式:17722062600</div>
             </>
           ) : (
             <div className='A6No' hidden={!loding1}>

+ 5 - 8
展示端/src/pages/A7team/index.tsx

@@ -6,7 +6,6 @@ import topImg from '@/assets/img/team/top.png'
 import history from '@/utils/history'
 import ZinfoPop from '@/components/ZinfoPop'
 import { A4_APIcheck } from '@/store/action/all'
-import ZexhiBtn from '@/components/ZexhiBtn'
 
 function A7team() {
   const toFromFu = useCallback(async (can?: string) => {
@@ -40,16 +39,16 @@ function A7team() {
 
   return (
     <div className={styles.A7team}>
-      <TopCom txt='选择团体' />
+      <TopCom txt='选择认证方式' />
       <div className='A7main'>
         <img src={topImg} alt='' />
-        <div className='A7tit'>请选择认证单位</div>
+        <div className='A7tit'>请选择认证方式</div>
 
         <div className='A7dan1' onClick={() => toFromFu('live')}>
-          <div>横琴粤澳深度合作区民生事务局</div>
+          <div>申请认证</div>
         </div>
-        <div className='A7dan1' onClick={() => toFromFu('neighbour')}>
-          <div className='A7dan1_1'>澳门街坊会联合总会广东办事处</div>
+        <div className='A7dan1' onClick={() => toFromFu()}>
+          <div className='A7dan1_1'>邀请码认证</div>
         </div>
       </div>
       {/* 提示的弹窗 */}
@@ -61,8 +60,6 @@ function A7team() {
           callFu={() => setTitPop({ txt1: '', txt2: '' })}
         />
       ) : null}
-
-      <ZexhiBtn onlyBack nextFu={() => {}} backFu={toFromFu} backTxt='邀请码认证' />
     </div>
   )
 }

+ 4 - 2
展示端/src/pages/B1exhibit/index.module.scss

@@ -42,12 +42,14 @@
         font-weight: 700;
         border-radius: 5px;
         background-color: var(--themeColor);
-        width: 40%;
+        width: 30%;
         color: #fff;
       }
       .B1btn2 {
         background-color: var(--themeColor2);
-        width: 57%;
+      }
+      .B1btn3 {
+        background-color: var(--themeColor3);
       }
     }
   }

+ 5 - 2
展示端/src/pages/B1exhibit/index.tsx

@@ -31,8 +31,11 @@ function B1exhibit() {
         <div className='B1btn1' onClick={() => history.push('/exhiMy')}>
           我的预约
         </div>
-        <div className='B1btn2' onClick={() => history.push('/exhiStart')}>
-          发起预约
+        <div className='B1btn2' onClick={() => history.push('/exhiStart/1')}>
+          个人预约
+        </div>
+        <div className='B1btn3' onClick={() => history.push('/exhiStart/2')}>
+          团队预约
         </div>
       </div>
     </div>

+ 71 - 19
展示端/src/pages/B2myz/index.module.scss

@@ -11,7 +11,7 @@
         background-image: url('../../assets/img/my/listBg.png');
         background-size: 100% 100%;
         margin-bottom: 30px;
-        padding: 10px 27px 27px;
+        padding: 5px 27px 27px;
         font-size: 16px;
         position: relative;
         .B2row1 {
@@ -21,11 +21,11 @@
           height: 103px;
           display: flex;
           flex-direction: column;
-          justify-content: center;
+          justify-content: space-around;
           & > p {
             width: 90%;
-
-            margin-bottom: 3px;
+            line-height: 18px;
+            margin-bottom: 0px;
             span {
               font-weight: 700;
               color: var(--themeColor2);
@@ -46,34 +46,61 @@
             border-color: var(--themeColor2);
           }
         }
+        .B2row2Box {
+          height: 315px;
+          overflow-y: auto;
+          .B2row2 {
+            margin-top: 10px;
 
-        .B2row2 {
-          margin-top: 10px;
-
-          .B2row2_1 {
-            font-size: 16px;
-            color: var(--themeColor);
-            font-weight: 700;
+            .B2row2_1 {
+              font-size: 16px;
+              color: var(--themeColor);
+              font-weight: 700;
+            }
+            & > p {
+              margin-top: 2px;
+            }
           }
-          & > p {
-            margin-top: 2px;
+          .B2row2T {
+            .B2row2Tdesc {
+              margin-top: 2px;
+              display: flex;
+
+              .B2row2Tdesc1 {
+                width: 80px;
+              }
+              .B2row2Tdesc2 {
+                width: calc(100% - 80px);
+                word-wrap: break-word;
+                white-space: pre-wrap;
+              }
+            }
           }
         }
-        // 撤回预约
-        .B2rowChe {
+
+        // 撤回预约、生成二维码
+        .B2rowCheBox {
           position: absolute;
           bottom: 30px;
-          left: 50%;
-          transform: translateX(-50%);
+          left: 0;
+          display: flex;
+          justify-content: center;
+          width: 100%;
+        }
+        .B2rowChe {
           background-color: var(--themeColor);
           color: #fff;
-          display: inline-block;
-          margin: 0 auto;
           height: 40px;
           line-height: 40px;
           padding: 0 15px;
           border-radius: 20px;
         }
+        .B2rowCodeBtn {
+          margin-left: 20px;
+          width: 150px;
+          text-align: center;
+          background-color: var(--themeColor2);
+        }
       }
 
       .B2No {
@@ -93,6 +120,31 @@
           color: var(--themeColor);
         }
       }
+
+      .B2dian {
+        font-size: 18px;
+        text-align: center;
+      }
+    }
+    .B2codeBox {
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 100%;
+      background-color: rgba(0, 0, 0, 0.8);
+      display: flex;
+      flex-direction: column;
+      justify-content: center;
+      align-items: center;
+      .ant-qrcode {
+        background-color: #fff !important;
+      }
+      .anticon-close-circle {
+        color: #fff;
+        font-size: 40px;
+        margin-top: 80px;
+      }
     }
   }
 }

+ 63 - 16
展示端/src/pages/B2myz/index.tsx

@@ -9,6 +9,8 @@ import history from '@/utils/history'
 import classNames from 'classnames'
 import MyPopconfirm from '@/components/MyPopconfirm'
 import { MessageFu } from '@/utils/message'
+import { QRCode } from 'antd'
+import { CloseCircleOutlined } from '@ant-design/icons'
 
 function B2myz() {
   const [loding, setLoding] = useState(false)
@@ -45,6 +47,9 @@ function B2myz() {
     [getListFu]
   )
 
+  // 出示二维码
+  const [code, setCode] = useState('')
+
   return (
     <div className={styles.B2myz}>
       <div className='B2main'>
@@ -65,29 +70,63 @@ function B2myz() {
                     <span>来自地区:</span>
                     {item.province + '-' + item.city}
                   </p>
+                  <p>
+                    <span>预约类型:</span>
+                    {item.type === 'person' ? '个人预约' : '团体预约'}
+                  </p>
                   <div className={classNames('B2row1Sta', item.status === 1 ? 'B2row1StaHe' : '')}>
                     {item.status === 0 ? '未核销' : '已核销'}
                   </div>
                 </div>
 
-                {sonList(item.rtf).map((item2, index2) => (
-                  <div className='B2row2' key={index2}>
-                    <div className='B2row2_1'>参观人信息{index2 + 1}</div>
-                    <p>参观人姓名:{item2.name}</p>
-                    <p>联系方式:{item2.phone}</p>
-                    <p>身份证号:{item2.identity}</p>
-                  </div>
-                ))}
-
-                {item.status === 0 ? (
-                  <MyPopconfirm
-                    txtK='撤回'
-                    onConfirm={() => recallFu(item.id)}
-                    Dom={<div className='B2rowChe'>撤回预约</div>}
-                  />
-                ) : null}
+                <div className='B2row2Box mySorrl'>
+                  {sonList(item.rtf).map((item2, index2) => (
+                    <div className='B2row2' key={index2}>
+                      <div className='B2row2_1'>
+                        {item.type === 'person' ? `参观人信息${index2 + 1}` : '负责人信息'}
+                      </div>
+                      <p>
+                        {item.type === 'person' ? '参观人' : '负责人'}姓名:{item2.name}
+                      </p>
+                      <p>联系方式:{item2.phone}</p>
+                      <p>身份证号:{item2.identity}</p>
+                    </div>
+                  ))}
+
+                  {/* 团队预约才有的 */}
+                  {item.type === 'team' ? (
+                    <div className='B2row2 B2row2T'>
+                      <p>参团人数:{item.pcs}</p>
+                      {item.teamDesc ? (
+                        <div className='B2row2Tdesc'>
+                          <div className='B2row2Tdesc1'>团队描述:</div>
+                          <div className='B2row2Tdesc2'>{item.teamDesc}</div>
+                        </div>
+                      ) : null}
+                    </div>
+                  ) : null}
+                </div>
+
+                <div className='B2rowCheBox'>
+                  {item.status === 0 ? (
+                    <>
+                      <MyPopconfirm
+                        txtK='撤回'
+                        onConfirm={() => recallFu(item.id)}
+                        Dom={<div className='B2rowChe'>撤回预约</div>}
+                      />
+                      <div
+                        className='B2rowChe B2rowCodeBtn'
+                        onClick={() => setCode(`HQ_CODE/${item.id}`)}
+                      >
+                        出示二维码
+                      </div>
+                    </>
+                  ) : null}
+                </div>
               </div>
             ))}
+            <div className='B2dian'>联系方式:17722062600</div>
           </>
         ) : (
           <div className='B2No' hidden={!loding}>
@@ -98,6 +137,14 @@ function B2myz() {
       </div>
 
       <ZexhiBtn onlyBack nextFu={() => {}} backFu={() => history.push('/exhi')} />
+
+      {/* 出示二维码 */}
+      {code ? (
+        <div className='B2codeBox'>
+          <QRCode value={code || '-'} size={240} />
+          <CloseCircleOutlined onClick={() => setCode('')} />
+        </div>
+      ) : null}
     </div>
   )
 }

+ 3 - 0
展示端/src/pages/B2myz/type.d.ts

@@ -15,6 +15,9 @@ export type B2ListType = {
   status: 0 | 1
   province: string
   city: string
+  type: 'person' | 'team'
+  teamPcs: number
+  teamDesc: string
 }
 
 export type B2SonListType = {

+ 8 - 2
展示端/src/pages/B3start/index.tsx

@@ -7,8 +7,12 @@ import classNames from 'classnames'
 import history from '@/utils/history'
 import { B1_APIgetInfoByDay } from '@/store/action/all'
 import { B3TimeArrType } from './type'
+import { useParams } from 'react-router-dom'
 
 function B3start() {
+  // 获取路由参数key,1:个人/2:团体
+  const urlObjTemp: any = useParams()
+
   const [list, setList] = useState<B3TimeArrType[]>([])
 
   const [loding, setLoding] = useState(false)
@@ -118,7 +122,7 @@ function B3start() {
   return (
     <div className={styles.B3start}>
       <div className='B3main'>
-        <div className='B3tit'>选择日期</div>
+        <div className='B3tit'>选择日期({urlObjTemp.key === '1' ? '个人预约' : '团队预约'})</div>
         <div className='B3nowTime'>{nowTime}</div>
 
         {zhouArr.length ? (
@@ -167,7 +171,9 @@ function B3start() {
       </div>
       <ZexhiBtn
         nextOk={acInd > -1}
-        nextFu={() => history.push(`/exhiForm/${nowTime.replaceAll('.', '_')}/${acInd}`)}
+        nextFu={() =>
+          history.push(`/exhiForm/${nowTime.replaceAll('.', '_')}/${acInd}/${urlObjTemp.key}`)
+        }
       />
     </div>
   )

+ 14 - 0
展示端/src/pages/B4form/index.module.scss

@@ -144,6 +144,20 @@
               border-radius: 0;
             }
           }
+
+          // 团队信息
+          .A5Text {
+            label {
+              padding-left: 12px;
+            }
+
+            min-height: 80px;
+            height: auto;
+
+            textarea {
+              min-height: 80px !important;
+            }
+          }
         }
       }
     }

+ 59 - 11
展示端/src/pages/B4form/index.tsx

@@ -2,7 +2,7 @@ import React, { useCallback, useEffect, useRef, useState } from 'react'
 import styles from './index.module.scss'
 import { useParams } from 'react-router-dom'
 import ZexhiBtn from '@/components/ZexhiBtn'
-import { Button, Form, FormInstance, Input } from 'antd'
+import { Button, Form, FormInstance, Input, InputNumber } from 'antd'
 import ZinfoPop from '@/components/ZinfoPop'
 import history from '@/utils/history'
 import classNames from 'classnames'
@@ -12,6 +12,7 @@ import MyPopconfirm from '@/components/MyPopconfirm'
 import { B3_APIgetList, B4_APIsave } from '@/store/action/all'
 import { B3ListApiType } from '../B3start/type'
 import ZselectCity from '@/components/ZselectCity'
+import TextArea from 'antd/es/input/TextArea'
 
 function B4form() {
   // useEffect(() => {
@@ -29,6 +30,7 @@ function B4form() {
     time: ''
   })
 
+  // 路由参数key,1:个人/2:团体
   const urlObjTemp: any = useParams()
 
   const getInfoFu = useCallback(async () => {
@@ -57,7 +59,7 @@ function B4form() {
 
   // 点击新增 参观人
   const addFormFu = useCallback(() => {
-    if (formArr.length >= 3) return MessageFu.warning('最多3位!')
+    if (formArr.length >= 5) return MessageFu.warning('最多5位!')
     setFormArr([...formArr, { id: formArrNumRef.current + 1 }])
     formArrNumRef.current += 1
   }, [formArr])
@@ -82,6 +84,8 @@ function B4form() {
   //  通过校验点击确定
   const onFinish = useCallback(
     async (values: any) => {
+      if (values.teamPcs && values.teamPcs > 20) return MessageFu.warning('参团人数最多20人!')
+
       const cityArr = selectCityRef.current.getValue()
       if (cityArr.length < 2) return MessageFu.warning('请选择地区!')
 
@@ -99,10 +103,24 @@ function B4form() {
           city: cityArr[1]
         })
       })
-      const res = await B4_APIsave(arr)
+
+      const obj = {
+        info: arr,
+        teamDesc: values.teamDesc,
+        teamPcs: values.teamPcs,
+        type: urlObjTemp.key === '1' ? 'person' : 'team'
+      }
+
+      // if (1 + 1 === 2) {
+      //   console.log(123, obj)
+
+      //   return
+      // }
+
+      const res = await B4_APIsave(obj)
       if (res.code === 0) setTitPop('succ')
     },
-    [formArr, urlObj]
+    [formArr, urlObj.bookDate, urlObj.bookId, urlObj.time, urlObjTemp.key]
   )
 
   return (
@@ -117,15 +135,22 @@ function B4form() {
             <span>入馆时间:</span>
             {urlObj.time}
           </p>
+          <p>
+            <span>预约类型:</span>
+            {urlObjTemp.key === '1' ? '个人预约' : '团队预约'}
+          </p>
         </div>
 
         {/* 按钮 */}
-        <div
-          className={classNames('B4addBtn', formArr.length >= 3 ? 'myBtnNo' : '')}
-          onClick={addFormFu}
-        >
-          新增参观人(最多3位)
-        </div>
+        {/* 个人预约才有 */}
+        {urlObjTemp.key === '1' ? (
+          <div
+            className={classNames('B4addBtn', formArr.length >= 5 ? 'myBtnNo' : '')}
+            onClick={addFormFu}
+          >
+            新增参观人(最多5位)
+          </div>
+        ) : null}
 
         {/* 地区选择 */}
         <div className='B4KaBox0'>
@@ -151,7 +176,9 @@ function B4form() {
             {formArr.map((item, index) => (
               <div className='B4Ka' key={item.id}>
                 <div className='B4tit'>
-                  <div className='B4titTxt'>参观人信息{index + 1}</div>
+                  <div className='B4titTxt'>
+                    {urlObjTemp.key === '1' ? `参观人信息${index + 1}` : '负责人信息'}
+                  </div>
 
                   {formArr.length <= 1 ? (
                     <div></div>
@@ -208,6 +235,27 @@ function B4form() {
               </div>
             ))}
 
+            {/* 团体才有的,团队信息 */}
+            {urlObjTemp.key === '2' ? (
+              <div className='B4Ka'>
+                <div className='B4tit'>
+                  <div className='B4titTxt'>团队信息</div>
+                </div>
+
+                <Form.Item
+                  label='参团人数'
+                  name='teamPcs'
+                  rules={[{ required: true, message: '请输入参团人数!' }]}
+                >
+                  <InputNumber min={0} max={999} precision={0} placeholder='请输入数字' />
+                </Form.Item>
+
+                <Form.Item label='团队描述' name='teamDesc' className='A5Text'>
+                  <TextArea autoSize maxLength={200} placeholder='请输入内容,不超过200个字' />
+                </Form.Item>
+              </div>
+            ) : null}
+
             {/* 底部按钮 */}
             <ZexhiBtn
               nextFu={() => {}}

+ 2 - 2
展示端/src/utils/http.ts

@@ -6,8 +6,8 @@ import { domShowFu } from './domShow'
 
 const envFlag = process.env.NODE_ENV === 'development'
 
-const baseUrlTemp = 'https://sit-hqbooking.4dage.com' // 测试环境
-// const baseUrlTemp = 'http://192.168.20.61:8091' // 线下环境
+// const baseUrlTemp = 'https://sit-hqbooking.4dage.com' // 测试环境
+const baseUrlTemp = 'http://192.168.20.61:8091' // 线下环境
 
 const baseFlag = baseUrlTemp.includes('https://')