123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- <view class="container">
- <header text="活动报名" url="{{false}}"></header>
- <view class="content">
- <view class="register">
- <image class="register-img" src="/static/image/register/register-logo.png" mode="aspectFit" />
- <view class="from-ul">
-
- <!-- 手机号 -->
- <view class="from-li li-m0">
- <image class="from-li-img" src="/static/image/register/sjh.png" mode="aspectFit" />
- <van-field
- model:value="{{formData.phone}}"
- bind:input="onInput"
- data-field="phone"
- type="number"
- placeholder="请输入手机号"
- border="{{ false }}"
- />
- <view class="error-text">{{phoneError}}</view>
- </view>
- <!-- 验证码 -->
- <view class="from-li">
- <image class="from-li-img" src="/static/image/register/yzm.png" mode="aspectFit" />
- <van-field
- model:value="{{formData.captcha}}"
- bind:input="onInput"
- data-field="captcha"
- placeholder="请输入验证码"
- border="{{ false }}"
- >
- <view slot="button"
- class="from-code {{codeDisabled ? 'disabled' : ''}}"
- bindtap="getCode">{{codeText}}
- </view>
- </van-field>
- </view>
- <!-- 姓名 -->
- <view class="from-li">
- <image class="from-li-img img-w" src="/static/image/register/xm.png" mode="aspectFit" />
- <van-field
- model:value="{{formData.nickname}}"
- bind:input="onInput"
- data-field="nickname"
- placeholder="请输入姓名"
- border="{{ false }}"
- />
- </view>
- <!-- 性别选择 -->
- <view class="from-li" bindtap="onShowPicker">
- <image class="from-li-img img-w" src="/static/image/register/xb.png" mode="aspectFit" />
- <van-field
- readonly="{{true}}"
- model:value="{{formData.gender}}"
- placeholder="请选择性别"
- border="{{ false }}"
- >
- <view slot="right-icon">
- <van-icon name="arrow-down" class="from-icon" />
- </view>
- </van-field>
- </view>
- <!-- 身份证号 -->
- <view class="from-li">
- <image class="from-li-img img-w1" src="/static/image/register/sfz.png" mode="aspectFit" />
- <van-field
- model:value="{{formData.race_number}}"
- bind:input="onInput"
- data-field="race_number"
- placeholder="请输入身份证号"
- border="{{ false }}"
- />
- </view>
- <!-- 参赛号码 -->
- <!-- <view class="from-li">
- <image class="from-li-img img-w2" src="/static/image/register/cshm.png" mode="aspectFit" />
- <van-field
- model:value="{{formData.competition_no}}"
- bind:input="onInput"
- data-field="competition_no"
- placeholder="请输入参赛号码"
- border="{{ false }}"
- />
- </view> -->
- <!-- 上传图片 -->
- <view class="from-li">
- <image class="from-li-img img-w3" src="/static/image/register/sc.png" mode="aspectFit" />
- <view class="uploader">
- <!-- 已选择文件 -->
- <block wx:if="{{filePath}}">
- <block wx:if="{{fileType === 'image'}}">
- <view class="preview-wrap">
- <image src="{{filePath}}" class="preview-img" mode="aspectFit" />
- <view class="delete-btn" bindtap="removeFile">
- <van-icon name="cross" color="#fff" size="16" class="delete-btn-icon"/>
- </view>
- </view>
- </block>
- <block wx:elif="{{fileType === 'pdf'}}">
- <view class="preview-wrap-pdf">
- <view class="pdf-preview">📄 已选择 PDF 文件</view>
- <text class="delete-btn-pdf" bindtap="removeFile">✖</text>
- </view>
- </block>
- </block>
- <!-- 未选择文件 -->
- <block wx:if="{{!filePath}}">
- <view class="uploader-text" bindtap="chooseFile">
- <image class="uploader-img" src="/static/image/xj.png" mode="aspectFit"/>
- <view>上传图片</view>
- </view>
- </block>
- </view>
- </view>
- </view>
- </view>
- <!-- 协议勾选 -->
- <view class="agree">
- <van-checkbox
- checked-color="#000000"
- icon-size="28rpx"
- value="{{checked}}"
- bind:change="onCheckbox"
- >
- 已读并承诺遵守
- </van-checkbox>
- <view>
- <text class="rules" data-type="rules" bindtap="showAgreement">《活动规则》</text>
- <text class="rules" data-type="liability" bindtap="showAgreement">《免责协议》</text>
- <text class="rules" data-type="privacy" bindtap="showAgreement">《隐私政策》</text>
- </view>
- </view>
- <!-- 提交按钮 -->
- <view
- class="submit"
- bindtap="onSubmit"
- hover-class="{{ canSubmit ? 'btn-hover' : '' }}"
- hover-start-time="50"
- >
- <image class="submit-img {{ canSubmit ? '' : 'disabled' }}" src="/static/image/register/submit.png" mode="aspectFit"/>
- </view>
- </view>
- <!-- 性别选择器 -->
- <van-popup show="{{showPicker}}" round position="bottom" close-on-click-overlay="{{false}}">
- <van-picker
- show-toolbar
- columns="{{genders}}"
- bind:change="onPickerChange"
- bind:cancel="onCancel"
- bind:confirm="onConfirm"
- />
- </van-popup>
- <!-- 提交成功弹框 -->
- <van-popup class="registration" show="{{showRegistrationSuccess}}" round close-on-click-overlay="{{false}}">
- <view class="pop-content">
- <image class="pop-img" src="/static/image/register/yhq-logo.png" mode="aspectFit"/>
- <image class="pop-yhq" src="/static/image/register/yhq.png" mode="aspectFit"/>
- <view class="pop-card">
- <image class="pop-card-img" src="/static/image/register/yhq-bg.png" mode="aspectFit"/>
- <view class="pop-card-cont">
- <view class="pop-card-cont-lf">{{couponInfo.coupon_type}}</view>
- <view class="pop-card-cont-ri">
- <view class="m-ellipsis">{{couponInfo.coupon_name}}</view>
- <view class="pop-time">{{couponInfo.end_time}}到期</view>
- </view>
- </view>
- </view>
- <view class="receive" bindtap="onReceive" hover-class="btn-hover" hover-start-time="50">
- <image class="receive-img" src="/static/image/register/receive.png" mode="aspectFit"/>
- </view>
- </view>
- </van-popup>
- <!-- 协议弹窗 -->
- <van-dialog
- confirm-button-class="confirm-btn"
- use-slot
- title="{{agreementTitle}}"
- show="{{showAgreementModal}}"
- show-cancel-button="{{false}}"
- >
- <view class="dialog-box">
- <rich-text nodes="{{agreementContent}}" />
- </view>
- </van-dialog>
- </view>
|