|
@@ -38,7 +38,43 @@
|
|
|
</uni-forms-item>
|
|
|
</uni-forms>
|
|
|
|
|
|
- <button class="send-button" @tap="handleNext">下一步</button>
|
|
|
+ <view v-if="!isEdit">
|
|
|
+ <view class="color-primary font-size-15 ss-m-b-20 font-weight-bold">手机号码验证</view>
|
|
|
+ <uni-forms
|
|
|
+ ref="validFormRef"
|
|
|
+ v-model="validData"
|
|
|
+ :rules="validRules"
|
|
|
+ validateTrigger="bind"
|
|
|
+ labelWidth="140"
|
|
|
+ labelAlign="center"
|
|
|
+ >
|
|
|
+ <uni-forms-item name="phone" label="手机号" required>
|
|
|
+ <uni-easyinput placeholder="请输入手机号" v-model="validData.phone" :inputBorder="false" type="number" />
|
|
|
+ </uni-forms-item>
|
|
|
+ <uni-forms-item name="code" label="验证码" required>
|
|
|
+ <uni-easyinput
|
|
|
+ placeholder="请输入六位数验证码"
|
|
|
+ v-model="validData.code"
|
|
|
+ :inputBorder="false"
|
|
|
+ type="number"
|
|
|
+ maxlength="6"
|
|
|
+ >
|
|
|
+ <template v-slot:right>
|
|
|
+ <button
|
|
|
+ class="login-code"
|
|
|
+ :disabled="isMobileEnd"
|
|
|
+ :class="{ 'code-btn-end': isMobileEnd }"
|
|
|
+ @tap="handleRegisterCode"
|
|
|
+ >
|
|
|
+ {{ getSmsTimer('smsRegister') }}
|
|
|
+ </button>
|
|
|
+ </template>
|
|
|
+ </uni-easyinput>
|
|
|
+ </uni-forms-item>
|
|
|
+ </uni-forms>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <button class="send-button ss-m-t-50" @tap="handleNext">下一步</button>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
@@ -47,7 +83,12 @@
|
|
|
import { ref, unref } from 'vue'
|
|
|
import { uploadFile } from '@/api/file'
|
|
|
import { getBusinessLicenseOCR } from '@/api/common'
|
|
|
+import { mobile, code } from '@/utils/validate'
|
|
|
+import { getSmsCode, getSmsTimer } from '@/utils/code'
|
|
|
+import { userStore } from '@/store/user'
|
|
|
|
|
|
+const useUserStore = userStore()
|
|
|
+const validFormRef = ref(null)
|
|
|
const formRef = ref()
|
|
|
const formData = ref({
|
|
|
prepare: true,
|
|
@@ -57,12 +98,34 @@ const formData = ref({
|
|
|
code: '',
|
|
|
description: ''
|
|
|
})
|
|
|
+const isMobileEnd = ref(false)
|
|
|
+const validData = ref({
|
|
|
+ phone: '',
|
|
|
+ code: ''
|
|
|
+})
|
|
|
+const validRules = ref({
|
|
|
+ code,
|
|
|
+ phone: mobile
|
|
|
+})
|
|
|
|
|
|
const required = ref({
|
|
|
code: false,
|
|
|
businessLicenseUrl: false
|
|
|
})
|
|
|
|
|
|
+// 获取验证码
|
|
|
+const handleRegisterCode = () => {
|
|
|
+ if (!validData.value.phone) {
|
|
|
+ uni.showToast({
|
|
|
+ title: '请输入手机号',
|
|
|
+ icon: 'none',
|
|
|
+ duration: 2000
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ getSmsCode('smsRegister', validData.value.phone)
|
|
|
+}
|
|
|
+
|
|
|
const formRules = ref({
|
|
|
name:{
|
|
|
rules: [{required: true, errorMessage: '请输入企业名称' }]
|
|
@@ -168,8 +231,10 @@ const handleChangePrepare = (e, clear = true) => {
|
|
|
|
|
|
// 申请拒绝-重新提交数据回显
|
|
|
const applyInfo = ref(uni.getStorageSync('entRegisterData') ? JSON.parse(uni.getStorageSync('entRegisterData')) : {})
|
|
|
-console.log(applyInfo.value, '申请拒绝-重新提交数据回显')
|
|
|
+const isEdit = ref(false)
|
|
|
+console.log(applyInfo.value, '申请拒绝-重新提交数据回显', uni.getStorageSync('entRegisterData'))
|
|
|
if (applyInfo.value && Object.keys(applyInfo.value).length > 0 && applyInfo.value.status === '2') {
|
|
|
+ isEdit.value = true
|
|
|
for (let i in formData.value) {
|
|
|
formData.value[i] = applyInfo.value[i]
|
|
|
}
|
|
@@ -179,19 +244,32 @@ if (applyInfo.value && Object.keys(applyInfo.value).length > 0 && applyInfo.valu
|
|
|
|
|
|
// 登录
|
|
|
const handleNext = async () => {
|
|
|
+ // 基本信息效验
|
|
|
const validate = await unref(formRef).validate()
|
|
|
if (!validate) return
|
|
|
-
|
|
|
+ // 营业执照
|
|
|
if (business.value && Object.keys(business.value).length) formData.value.ocr = business.value
|
|
|
|
|
|
- const isEdit = applyInfo.value && Object.keys(applyInfo.value).length > 0 && applyInfo.value.status === '2'
|
|
|
- if (isEdit) formData.value.id = applyInfo.value.id
|
|
|
- console.log(formData.value, 'index-next-formData')
|
|
|
-
|
|
|
+ if (isEdit.value) formData.value.id = applyInfo.value.id
|
|
|
uni.setStorageSync('registerInfo', JSON.stringify(formData.value))
|
|
|
- uni.navigateTo({
|
|
|
- url: isEdit ? '/pages/register/contact?isEdit=true' : '/pages/register/contact'
|
|
|
- })
|
|
|
+
|
|
|
+ // 手机号及验证码效验
|
|
|
+ if (!isEdit.value) {
|
|
|
+ const phoneValid = await unref(validFormRef).validate()
|
|
|
+ if (!phoneValid) return
|
|
|
+
|
|
|
+ try {
|
|
|
+ await useUserStore.handleRegister({ ...validData.value, autoRegister: true, account: validData.value.phone })
|
|
|
+ // 查看用户是否有在申请中的数据,有申请中的数据则跳转等待审核页面
|
|
|
+ const { code } = await useUserStore.getPersonalApplyingData()
|
|
|
+ if (code) return uni.navigateTo({ url: '/pages/register/review?hasData=true' })
|
|
|
+
|
|
|
+ // 没有注册中企业跳转下一步填写联系人信息
|
|
|
+ uni.navigateTo({ url: '/pages/register/contact' })
|
|
|
+ } finally {}
|
|
|
+ } else {
|
|
|
+ uni.navigateTo({ url: '/pages/register/contact?isEdit=true' })
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|
|
@@ -217,4 +295,13 @@ const handleNext = async () => {
|
|
|
align-items: center;
|
|
|
border-radius: 10rpx;
|
|
|
}
|
|
|
+.login-code {
|
|
|
+ width: 73px;
|
|
|
+ min-width: 73px;
|
|
|
+ color: #00B760;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 12px;
|
|
|
+ cursor: pointer;
|
|
|
+ padding: 0;
|
|
|
+}
|
|
|
</style>
|