瀏覽代碼

bug修复

bding 9 月之前
父節點
當前提交
d2c519b5dc

二進制
build.zip


+ 5 - 0
src/Activity/Activity.service.ts

@@ -132,6 +132,7 @@ export interface IActivityDetialBase {
   ShareImg: string //分享图片
   TripImgLink: string //行程图片链接
   TripStatus: number //行程进行状态 1:预报名,2:确定行程
+  IsShowWxPay: boolean //是否是开启了支付
 }
 export interface IAudioDetail {
   ActivityId: number // 活动ID
@@ -171,6 +172,7 @@ export interface IActivityTypeDetailRes {
   SellerName: string //销售姓名
 }
 export interface IActivityTypeDetail extends IActivityDetialBase {
+  IsNeedBusinessCard: boolean // 是否需要上传名片
   IsResearchPointsByUser: boolean //是否为扣用户点数的研选扣点
   SignupNum: number //已报名人数
   ArticleList: IArticleListItem[]
@@ -244,6 +246,9 @@ export interface IActivitySignupRes {
   IsResearchSpecial: boolean // 是否属于特殊的研选
 }
 export interface IActivityCheckRes {
+  IsShowWxPaySet: boolean //是否是付费的开关
+  IsPayActivity: boolean //是否是付费活动
+  IsNeedBusinessCard: boolean //已有归属机构
   CheckSiginUpNum: boolean //人数是否通过校验
   GoodsList: IGoodsListItem[]
   IsShowWxPay: boolean // 是否展示微信支付

+ 13 - 8
src/Activity/ActivityTypeDetail.tsx

@@ -144,12 +144,14 @@ const ActivityTypeDetail: React.FC<IActivityTypeDetail> = props => {
     // 打开支付码
     setOpenContinuePay(true)
   }
-  const formatCountdown = <Countdown countdown={data?.PayTimeCountdown || 0} />
+  // const formatCountdown = <Countdown countdown={data?.PayTimeCountdown || 0} />
   // 点数不足付费报名
   const handlePayForSignUp = () => {
     setOpenPayProcess(true)
   }
-
+  const parentMethod = () => {
+    setOpenPayProcess(false)
+  }
   return (
     <div className={styles['activity-detail-page']}>
       <Spin spinning={activityDetailLoading}>
@@ -177,7 +179,7 @@ const ActivityTypeDetail: React.FC<IActivityTypeDetail> = props => {
                         <div className="com-fw-bold com-fz18">
                           剩余支付时间:
                           <span className="countdown-text">
-                            <Countdown countdown={data.PayTimeCountdown} />
+                            <Countdown countdown={data.PayTimeCountdown} onTimeChange={refreshDetail} />
                           </span>
                         </div>
                         <div className="g-flex g-flex-center">
@@ -256,7 +258,7 @@ const ActivityTypeDetail: React.FC<IActivityTypeDetail> = props => {
                           {data?.Detail.DistinguishedGuest}
                         </div>
                       )}
-                      {data?.Detail.Host && data?.HasPermission === INewPermissionType.OK && (
+                      {data?.Detail.Host && (
                         <div className="activity-detail-line">
                           <span className="activity-detail-label">主持人:</span>
                           {data?.Detail.Host}
@@ -268,13 +270,13 @@ const ActivityTypeDetail: React.FC<IActivityTypeDetail> = props => {
                           {data?.Detail.Speaker}
                         </div>
                       )}
-                      {data?.Detail.Expert && data?.HasPermission === INewPermissionType.OK && (
+                      {data?.Detail.Expert && (
                         <div className="activity-detail-line">
                           <span className="activity-detail-label">专家背景:</span>
                           <div dangerouslySetInnerHTML={{ __html: data?.Detail.Expert }} className="reset-pm" />
                         </div>
                       )}
-                      {login2p.jwt && data?.Detail.Address && data?.HasPermission === INewPermissionType.OK && (
+                      {login2p.jwt && data?.Detail.Address && (
                         <div className="activity-detail-line">
                           <span className="activity-detail-label">活动地点:</span>
                           {data.Detail.ActivityTypeId === 4
@@ -407,7 +409,7 @@ const ActivityTypeDetail: React.FC<IActivityTypeDetail> = props => {
                           <div dangerouslySetInnerHTML={{ __html: data?.Detail.Highlights }} className="reset-pm" />
                         </div>
                       )}
-                      {data?.Detail.Remarks && data?.HasPermission === INewPermissionType.OK && (
+                      {data?.Detail.Remarks && (
                         <div className="activity-detail-line">
                           <span className="activity-detail-label">备注:</span>
                           <div dangerouslySetInnerHTML={{ __html: data?.Detail.Remarks }} className="reset-pm" />
@@ -424,6 +426,7 @@ const ActivityTypeDetail: React.FC<IActivityTypeDetail> = props => {
                             btnGrous="detail"
                             onChangeSomething={refreshDetail}
                             onNeedToDoSome={handlePayForSignUp}
+                            isType="详情"
                           />
                         </div>
                       )}
@@ -455,7 +458,8 @@ const ActivityTypeDetail: React.FC<IActivityTypeDetail> = props => {
                 {!activityDetailLoading &&
                 login2p.jwt &&
                 data?.HasPermission !== INewPermissionType.OK &&
-                media.isSmallMax ? (
+                !data?.IsShowWxPay &&
+                !media.isSmallMax ? (
                   <NoPermission
                     hasPermission={data?.HasPermission}
                     detailID={activityID}
@@ -477,6 +481,7 @@ const ActivityTypeDetail: React.FC<IActivityTypeDetail> = props => {
                     open={openPayProcess}
                     continuePayFlag={openContinuePay}
                     onRefresh={handleToRefresh}
+                    parentMethod={parentMethod}
                   />
                 ) : null}
               </Col>

+ 121 - 38
src/Activity/components/ActivityBtn.component.tsx

@@ -26,6 +26,7 @@ import { MaterialService } from 'Material/Material.service'
 import { INewestItem } from 'Newest/Newest.service'
 import { IMyActivityItem } from 'Personal/Personal.service'
 import styles from '../css/ActivityCard.module.scss'
+import UploadInfoModel from 'Material/components/UploadInfoModel'
 
 export enum IActivityBtnType {
   Appointment = 'appointment',
@@ -64,6 +65,7 @@ export interface IActivityBtnComponent {
   selfChange?: boolean // 自身按钮状态改变
   btnClass?: 'act-btn-sm' | 'research-btn-sm' // 按钮的自定义样式
   btnGrous?: 'smcard' | 'detail' | 'bigcard' // smcard-如首页的小卡片,detail-如活动详情页,bigcard-如列表的大卡片
+  isType?: string
   onChangeSomething?: (activityId?: number) => void // 子组件变更后的操作
   onNeedToDoSome?: () => void // 父组件的操作
 }
@@ -73,6 +75,7 @@ const ActivityBtnComponent: React.FC<IActivityBtnComponent> = props => {
     isSpecial = false,
     selfChange = false,
     btnClass,
+    isType,
     btnGrous = 'smcard',
     onChangeSomething,
     onNeedToDoSome
@@ -91,6 +94,7 @@ const ActivityBtnComponent: React.FC<IActivityBtnComponent> = props => {
   const [actionType, setActionType] = useState<IActivityBtnType | IActivitySpecialBtnType>() // 记录点击了哪个按钮操作
   const [resourceCountData, setResourceCountData] = useState({ CompanyPoints: '0', ActivityPoints: '0' }) // 记录活动扣点数据
   // const [visibleApply, setVisibleApply] = useState(false) // 普通申请权限弹框
+  const [visibleUpload, setVisibleUpload] = useState(false) // 机构申请试用弹框
 
   const login2p = useLogin2p()
   const location = useLocation()
@@ -360,14 +364,21 @@ const ActivityBtnComponent: React.FC<IActivityBtnComponent> = props => {
     return { title: title[type] }
   }
   // 权限判断
-  const handleCheckPower = (HasPermission: INewPermissionType, isResearch: boolean, isResearchSpecial: boolean) => {
+  const handleCheckPower = (
+    HasPermission: INewPermissionType,
+    isResearch: boolean,
+    isResearchSpecial: boolean,
+    activityPay = true
+  ) => {
     // 如果接口没返回权限则跳过
     if (!HasPermission) return true
 
     // 1.先判断权限,无权限则弹框
     if (HasPermission !== INewPermissionType.OK) {
       // 列表的按钮点击,无权限时,需要进入详情页
-      if (btnGrous !== 'detail') {
+      console.log(activityPay)
+
+      if (btnGrous !== 'detail' && activityPay) {
         isSpecial
           ? window.open(`/activity/info/${(item as IActivitySpecialListItem).ActivityId}`)
           : window.open(`/activity/detail/${(item as IActivityTypeListItem).ActivityId}`)
@@ -408,12 +419,16 @@ const ActivityBtnComponent: React.FC<IActivityBtnComponent> = props => {
       history.push(`/login2p?next=${encodeURIComponent(location.pathname + location.search)}`)
       return
     }
+    console.log((item as IActivityTypeListItem)?.IsShowWxPay, '(item as IActivityTypeListItem)?.IsShowWxPay')
+
     //先简单的检查一下权限
     const powerCheck = handleCheckPower(
       item?.AuthInfo?.HasPermission,
       item?.IsResearch,
-      (item as IActivityTypeListItem)?.IsResearchSpecial
+      (item as IActivityTypeListItem)?.IsResearchSpecial,
+      (item as IActivityTypeListItem)?.IsShowWxPay
     )
+
     if (!powerCheck) return
     // 易懂同步过来的活动 直接跳转
     if ((item as IActivityTypeListItem)?.IsYidongActivity) {
@@ -701,7 +716,19 @@ const ActivityBtnComponent: React.FC<IActivityBtnComponent> = props => {
   const handleReturnGoOn = (res: IActivityCheckRes) => {
     // 1.权限
     if (!res.CheckPermission) {
-      handleCheckPower(res.HasPermission, res.IsResearch, res?.IsResearchSpecial)
+      handleCheckPower(res.HasPermission, res.IsResearch, res?.IsResearchSpecial, res.IsShowWxPaySet)
+      return
+    }
+    // 1.1.人数
+    if (!res.CheckSiginUpNum) {
+      Modal.warning({
+        title: '提示',
+        content: (
+          <div dangerouslySetInnerHTML={{ __html: '此活动报名人数已满,请留意下期活动' }} className="reset-pm" />
+        ),
+        okText: '知道了',
+        centered: true
+      })
       return
     }
     // 2.时间
@@ -714,6 +741,24 @@ const ActivityBtnComponent: React.FC<IActivityBtnComponent> = props => {
       })
       return
     }
+    //3.已有归属机构 ?
+    if (res.IsNeedBusinessCard) {
+      setVisibleUpload(true)
+      return
+    }
+    // 4.邮箱绑定
+    if (!res.CheckEmail) {
+      setEmailVisible(true)
+      return
+    }
+    // ----3.0 需求 是否是付费活动
+    if (res.IsPayActivity) {
+      applyActivitySignup(
+        (item as IActivityTypeListItem).ActivityId || (item as INewestItem).SourceId,
+        actionType === IActivityBtnType.Call ? 1 : callType ? callType : 3
+      )
+      return
+    }
     // 3.研选扣点
     if (!res.CheckPoints) {
       // todo 如果需要付费 需要判断一下(需要加字段,是否需要支付,提示文案里的价格需要替换)
@@ -723,7 +768,9 @@ const ActivityBtnComponent: React.FC<IActivityBtnComponent> = props => {
           content: (
             <div className="reset-pm">
               <p>
-                <span>点数不足,您可以通过单场付费 ¥{res.GoodsList[0].CurrentPrice} 参与或者联系销售机构充值</span>
+                点数不足,您可以通过单场付费
+                <span className={styles['nopower-red']}> ¥{res.GoodsList[0].CurrentPrice} </span>
+                参与或者联系销售机构充值
               </p>
               <div>
                 当前剩余点数:<span className={styles['link-text']}>{res.CompanyPoints}</span>
@@ -735,7 +782,11 @@ const ActivityBtnComponent: React.FC<IActivityBtnComponent> = props => {
           ),
           okText: '付费报名',
           onOk: () => {
-            window.open(`/activity/detail/${(item as IActivityTypeListItem).ActivityId}`)
+            if (isType === '详情') {
+              onNeedToDoSome && onNeedToDoSome()
+            } else {
+              window.open(`/activity/detail/${(item as IActivityTypeListItem).ActivityId}`)
+            }
           },
           width: 520,
           centered: true
@@ -768,11 +819,7 @@ const ActivityBtnComponent: React.FC<IActivityBtnComponent> = props => {
     }
 
     setResourceCountData({ CompanyPoints: res.CompanyPoints, ActivityPoints: res.ActivityPoints })
-    // 4.邮箱绑定
-    if (!res.CheckEmail) {
-      setEmailVisible(true)
-      return
-    }
+
     // 研选扣点校验通过时需要弹框扣点提示
     if (res.CheckPoints && item.IsResearchPoints) {
       Modal.confirm({
@@ -807,37 +854,68 @@ const ActivityBtnComponent: React.FC<IActivityBtnComponent> = props => {
   const handleChangeEmail = (e: React.ChangeEvent<HTMLInputElement>) => {
     setEmailInput(e.target.value)
   }
+
+  // 关闭上传名片弹框
+  const handleCloseUpload = () => {
+    setVisibleUpload(false)
+  }
+
+  // 上传名片成功后,关闭上传名片弹框,并请求创建订单接口
+  const handleUploadCardSuccess = () => {
+    handleCloseUpload()
+  }
+
   // 邮箱填写后报名
   const handleApplySignUpWithEmail = () => {
     if (!emailInput) return message.error('请输入邮箱地址')
-    // 研选扣点校验通过时需要弹框扣点提示
-    if (item.IsResearchPoints) {
-      Modal.confirm({
-        title: '确定报名吗?',
-        content: (
-          <div className="reset-pm">
-            <div>
-              当前剩余点数:<span className={styles['link-text']}>{resourceCountData.CompanyPoints}</span>
-            </div>
-            <div>
-              本次会议扣除点数:<span className={styles['link-text']}>{resourceCountData.ActivityPoints}</span>
-            </div>
-          </div>
-        ),
-        okText: '确定',
-        onOk: () => {
-          applyActivitySignup(
-            (item as IActivityTypeListItem).ActivityId || (item as INewestItem).SourceId,
-            item.IsResearchPoints ? 3 : actionType === IActivityBtnType.Call ? 1 : callType ? callType : 3,
-            emailInput
-          )
-        },
-        width: 520,
-        centered: true
-      })
-      return
-    }
+    bindingEmailUse(emailInput)
+    // return
+    // // 研选扣点校验通过时需要弹框扣点提示
+    // if (item.IsResearchPoints) {
+    //   Modal.confirm({
+    //     title: '确定报名吗?',
+    //     content: (
+    //       <div className="reset-pm">
+    //         <div>
+    //           当前剩余点数:<span className={styles['link-text']}>{resourceCountData.CompanyPoints}</span>
+    //         </div>
+    //         <div>
+    //           本次会议扣除点数:<span className={styles['link-text']}>{resourceCountData.ActivityPoints}</span>
+    //         </div>
+    //       </div>
+    //     ),
+    //     okText: '确定',
+    //     onOk: () => {
+    //       applyActivitySignup(
+    //         (item as IActivityTypeListItem).ActivityId || (item as INewestItem).SourceId,
+    //         item.IsResearchPoints ? 3 : actionType === IActivityBtnType.Call ? 1 : callType ? callType : 3,
+    //         emailInput
+    //       )
+    //     },
+    //     width: 520,
+    //     centered: true
+    //   })
+    //   return
+    // } else {
+    //   // 填完邮箱后没有点数的话再次调用
+    //   applyActivityCheck((item as IActivityTypeListItem).ActivityId || (item as INewestItem).SourceId)
+    // }
   }
+
+  // 邮箱的填写
+  const { run: bindingEmailUse } = useRequest(ActivityService.bindingEmail, {
+    manual: true,
+    formatResult: response => response.data,
+    onSuccess: res => {
+      if (res.Ret !== 200) {
+        message.error(res.ErrMsg || res.Msg)
+      } else {
+        setEmailVisible(false)
+        // 填完邮箱后再次判断一下最新的权限
+        applyActivityCheck((item as IActivityTypeListItem).ActivityId || (item as INewestItem).SourceId)
+      }
+    }
+  })
   return (
     <>
       {emailVisible ? (
@@ -1101,6 +1179,11 @@ const ActivityBtnComponent: React.FC<IActivityBtnComponent> = props => {
               )}
             </>
           )}
+          <UploadInfoModel
+            visible={visibleUpload}
+            onCloseModel={handleCloseUpload}
+            handleSuccess={handleUploadCardSuccess}
+          />
         </>
       )}
     </>

+ 3 - 0
src/Activity/css/ActivityCard.module.scss

@@ -305,3 +305,6 @@
   font-size: 14px;
   margin-left: 5px;
 }
+.nopower-red{
+  color:#D54941
+}

+ 1 - 0
src/Column/Column.service.ts

@@ -119,6 +119,7 @@ export interface IColumnDetail {
 }
 
 export interface IActivityDetialBase {
+  IsNeedBusinessCard: boolean // 是否需要上传名片
   CompanyTags: string[] // 公司标签
   IndustryTags: string[] // 行业标签
   SpecialColumnId: number

+ 2 - 2
src/Material/components/ApplyResult.tsx

@@ -49,7 +49,7 @@ const ApplyResult: React.FC<IApplyPermissionProps> = props => {
               ) : (
                 <>
                   <img src={FailSvg} alt="图标" className="paymodel-success-icon" />
-                  <span>支付失败</span>
+                  <span>{info.OrderStatus === EOrderStatus.Cancel ? '订单已关闭' : '支付失败'}</span>
                 </>
               )}
             </div>
@@ -70,7 +70,7 @@ const ApplyResult: React.FC<IApplyPermissionProps> = props => {
               ) : (
                 <>
                   <img src={FailSvg} alt="图标" className="paymodel-success-icon" />
-                  <span>支付失败</span>
+                  <span>{info.OrderStatus === EOrderStatus.Cancel ? '订单已关闭' : '支付失败'}</span>
                 </>
               )}
             </div>

+ 6 - 1
src/Material/components/Countdown.tsx

@@ -3,12 +3,13 @@ import dayjs from 'dayjs'
 
 interface ICountdownProps {
   countdown: number // 以秒为单位
+  onTimeChange: () => void
 }
 
 // 倒计时
 const Countdown: React.FC<ICountdownProps> = props => {
   const [countTime, setCountTime] = useState(props?.countdown ?? 0)
-
+  const { onTimeChange } = props
   useEffect(() => {
     let timer: NodeJS.Timeout
     if (countTime > 0) {
@@ -16,6 +17,10 @@ const Countdown: React.FC<ICountdownProps> = props => {
         setCountTime(countTime => countTime - 1)
       }, 1000)
     }
+    console.log(countTime)
+    if (countTime === 1) {
+      onTimeChange()
+    }
     return () => clearTimeout(timer)
   }, [countTime])
 

+ 4 - 4
src/Material/components/NoPermission.tsx

@@ -159,11 +159,11 @@ const NoPermission: React.FC<INoPermissionProps> = props => {
       hasPermission === INewPermissionType.HasApplyFICC ||
       hasPermission === INewPermissionType.NoApplyFICC
     ) {
-      return tryType === 'Article'
-        ? '您暂无权限查看此报告内容,若想查看可以申请开通对应的试用权限'
-        : '您暂无权限参加此活动,若想参加可以申请开通对应的试用权限'
+      return tryType === 'Activity'
+        ? '您暂无权限参加此活动,若想参加可以申请开通对应的试用权限'
+        : '您暂无权限查看此报告内容,若想查看可以申请开通对应的试用权限'
     }
-    return tryType === 'Article' ? '您暂无权限查看此报告内容~' : '您暂无权限参加此活动~'
+    return tryType === 'Activity' ? '您暂无权限参加此活动~' : '您暂无权限查看此报告内容~'
   }
   const { run: postApplyTry } = useRequest(MaterialService.postApplyTry, {
     manual: true,

+ 39 - 8
src/Material/components/PayNoPermission.tsx

@@ -15,6 +15,8 @@ import { IActivityTypeDetailRes, ActivityService, IActivityCheckRes } from 'Acti
 import PayProcessModel from './PayProcessModel'
 import styles from '../css/NoPermission.module.scss'
 import { IColumnDetail } from 'Column/Column.service'
+
+import UploadInfoModel from './UploadInfoModel'
 interface IPayNoPermissionProps {
   dataInfo: IArcticleInfo | IActivityTypeDetailRes | IColumnDetail
   tryType: ITryType
@@ -30,6 +32,7 @@ const PayNoPermission: React.FC<IPayNoPermissionProps> = props => {
 
   const [emailVisible, setEmailVisible] = useState<boolean>() // 含有邮箱填写的弹框
   const [emailInput, setEmailInput] = useState<string>('') // 编写邮箱
+  const [visibleUpload, setVisibleUpload] = useState(false) // 机构申请试用弹框
 
   // 申请试用接口
   const { run: postApplyTry } = useRequest(MaterialService.postApplyTry, {
@@ -51,7 +54,7 @@ const PayNoPermission: React.FC<IPayNoPermissionProps> = props => {
   // 邮箱的填写
   const { run: bindingEmailUse } = useRequest(ActivityService.bindingEmail, {
     manual: true,
-    formatResult: response => response.data.Data,
+    formatResult: response => response.data,
     onSuccess: res => {
       if (res.Ret !== 200) {
         message.error(res.ErrMsg || res.Msg)
@@ -91,9 +94,11 @@ const PayNoPermission: React.FC<IPayNoPermissionProps> = props => {
       })
       return
     }
-    // 3.已有归属机构 ?
-    // if(!IsNeedBusinessCard){
-    // }
+    //3.已有归属机构 ?
+    if (res.IsNeedBusinessCard) {
+      setVisibleUpload(true)
+      return
+    }
 
     // 4.邮箱绑定
     if (!res.CheckEmail) {
@@ -103,11 +108,30 @@ const PayNoPermission: React.FC<IPayNoPermissionProps> = props => {
     // 都通过校验的话就打开畅读卡弹框
     setVisibleBuyCard(true)
   }
+  // 关闭上传名片弹框
+  const handleCloseUpload = () => {
+    setVisibleUpload(false)
+  }
+
+  // 上传名片成功后,关闭上传名片弹框,并请求创建订单接口
+  const handleUploadCardSuccess = () => {
+    handleCloseUpload()
+    setVisibleBuyCard(true)
+  }
+
   // 点击购买畅读卡按钮
   const handleOpenBuyModel = () => {
-    tryType === ITryType.Activity
-      ? applyActivityCheck((dataInfo as IActivityTypeDetailRes).Detail.ActivityId)
-      : setVisibleBuyCard(true)
+    if (tryType === ITryType.Activity) {
+      applyActivityCheck((dataInfo as IActivityTypeDetailRes).Detail.ActivityId)
+    } else {
+      //已有归属机构 这个在前的
+      if ((dataInfo as IColumnDetail).Detail.IsNeedBusinessCard || (dataInfo as IArcticleInfo).IsNeedBusinessCard) {
+        setVisibleUpload(true)
+        return
+      } else {
+        setVisibleBuyCard(true)
+      }
+    }
   }
   // 申请试用
   const handleToAskTry = () => {
@@ -126,6 +150,8 @@ const PayNoPermission: React.FC<IPayNoPermissionProps> = props => {
       const detailId =
         tryType === ITryType.Article
           ? (dataInfo as IArcticleInfo).Detail.ArticleId
+          : tryType === ITryType.YanxuanSpecial
+          ? (dataInfo as IColumnDetail).Detail.Id
           : (dataInfo as IActivityTypeDetailRes).Detail.ActivityId
       postApplyTry({ ApplyMethod: 1, DetailId: detailId, TryType: tryType })
       return
@@ -172,7 +198,7 @@ const PayNoPermission: React.FC<IPayNoPermissionProps> = props => {
         {tryType !== ITryType.Activity ? <img src={NoPowerImg} alt="无权限" className="nopower-big-img" /> : null}
         <div className="nopower-content-wrapper">
           <div className={tryType !== ITryType.Activity ? 'nopower-title' : 'nopower-activity-title'}>
-            {tryType === ITryType.Article ? '暂无权限查看此报告' : '暂无权限参加此活动'}
+            {tryType === ITryType.Activity ? '暂无权限参加此活动' : '暂无权限查看此报告'}
           </div>
           <div className="nopower-text">
             {payType === PayType.Card ? (
@@ -271,6 +297,11 @@ const PayNoPermission: React.FC<IPayNoPermissionProps> = props => {
         onRefresh={onRefresh}
         parentMethod={parentMethod}
       />
+      <UploadInfoModel
+        visible={visibleUpload}
+        onCloseModel={handleCloseUpload}
+        handleSuccess={handleUploadCardSuccess}
+      />
     </>
   )
 }

+ 4 - 4
src/Material/components/PayProcessModel.tsx

@@ -162,10 +162,10 @@ const PayProcessModel: React.FC<IPayProcessModelProps> = props => {
   const handleClickPay = (GoodsId: number) => {
     setWantBuyGoodsId(GoodsId)
     // 判断是否需要上传名片
-    if (dataInfo.IsNeedBusinessCard) {
-      setVisibleUpload(true)
-      return
-    }
+    // if (dataInfo.IsNeedBusinessCard) {
+    //   setVisibleUpload(true)
+    //   return
+    // }
     // 调接口获取支付二维码
     if (tryType === ITryType.Article) {
       postCreateOrderByArticle(

+ 1 - 1
src/Material/components/QRCodeModel.tsx

@@ -85,7 +85,7 @@ const QRCodeModel: React.FC<IQRCodeModelProps> = props => {
         <div className="paymodel-title">
           <span>订单剩余支付时间 </span>
           <span className="paymodel-redtext">
-            <Countdown countdown={countDown} />
+            <Countdown countdown={countDown} onTimeChange={handleToClose} />
           </span>
         </div>
       </div>

+ 4 - 3
src/Material/components/UploadInfoModel.tsx

@@ -150,12 +150,13 @@ const UploadInfoModel: React.FC<IUploadInfoModelProps> = props => {
         </Item>
         <Item
           label="手机号"
-          name="Mobile"
+          name="Content"
           labelCol={{ span: 5 }}
           wrapperCol={{ span: 19 }}
-          rules={[{ required: true, message: '请输入手机号' }]}
+          rules={[{ required: true, message: '' }]}
+          initialValue={login2p.userInfo?.Mobile}
         >
-          <Input placeholder="请输入手机号" />
+          <Input disabled />
         </Item>
         <Item>
           <div className={styles['paymodel-footer-wrapper']}>

+ 1 - 1
src/Material/css/NoPermission.module.scss

@@ -211,7 +211,7 @@
     }
     .paymodel-text{
       font-size: 16px;
-      
+      font-weight: 600;
       .paymodel-tips-icon{
         cursor: pointer;
         vertical-align: middle;