Compare commits
	
		
			2 Commits
		
	
	
		
			4202d94a44
			...
			ddebdbae4a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | ddebdbae4a | ||
|  | 6f49f3d8e0 | 
| @ -29,3 +29,11 @@ export async function userArtworks(data) { | ||||
|         data | ||||
|     }) | ||||
| } | ||||
| export async function fddInfo(data) { | ||||
| 
 | ||||
|     return await request( { | ||||
|         url:'/api/v1/contract/fdd-info', | ||||
|         method: 'POST', | ||||
|         data | ||||
|     }) | ||||
| } | ||||
| @ -138,8 +138,8 @@ const goLogin = async () => { | ||||
|               </van-field> | ||||
| 
 | ||||
|             </div> | ||||
|             <div class="flex justify-end mt-[10px]" @click="changeToPwd"> | ||||
|               <div class="text-[14px] text-[#2B53AC]"> | ||||
|             <div class="flex justify-end mt-[10px]" > | ||||
|               <div class="text-[14px] text-[#2B53AC]" @click="changeToPwd"> | ||||
|                 {{ loginType === 0 ? '密码登录' : '验证码登录' }} | ||||
|               </div> | ||||
|             </div> | ||||
| @ -166,11 +166,15 @@ const goLogin = async () => { | ||||
|             <div class="text-[16px] text-[#000]">+86 {{ phoneNum }}</div> | ||||
|           </div> | ||||
|           <van-password-input :value="code" :gutter="10" :mask="false" focused @focus="showKeyboard = true" /> | ||||
|           <div :class="`${countdown > 0 ? 'text-#BDBDBD' : 'text-#2B53AC'}  text-14px`"> | ||||
|             {{ $t('login.reSend') }}<span v-if="countdown > 0">({{ countdown }})</span> | ||||
|           <div class="flex justify-between"> | ||||
|             <div :class="`${countdown>0?'text-#BDBDBD':'text-#2B53AC'}  text-14px`"> | ||||
|               {{ $t('login.reSend') }}<span v-if="countdown>0">({{countdown}})</span> | ||||
|             </div> | ||||
|             <div @click="goBack" class="text-#2B53AC text-14px"> | ||||
|               {{ $t('login.back') }} | ||||
|             </div> | ||||
|           </div> | ||||
|           <div class="mt-[17px]"> | ||||
| 
 | ||||
|             <van-button v-if="code.length === 6" type="primary" block :loading="loadingRef.loading2" | ||||
|               :loading-text="$t('login.login')" style="height: 48px" @click="goLogin">{{ | ||||
|                 $t('login.login') | ||||
| @ -179,10 +183,6 @@ const goLogin = async () => { | ||||
|               $t('login.login') | ||||
|             }}</van-button> | ||||
|           </div> | ||||
|           <div class="mt-[17px]"> | ||||
|             <van-button type="primary" @click="goBack" block style="height: 48px">{{ $t('login.back') | ||||
|               }}</van-button> | ||||
|           </div> | ||||
|         </div> | ||||
|       </van-swipe-item> | ||||
|     </van-swipe> | ||||
|  | ||||
| @ -2,21 +2,82 @@ | ||||
| import {useI18n} from "vue-i18n"; | ||||
| import XVanSelect from '@/components/x-van-select/index.vue' | ||||
| import XVanDate from '@/components/x-van-date/index.vue' | ||||
| 
 | ||||
| import {codeAuthStore} from "@/stores-collect-code/auth/index.js"; | ||||
| import {message} from "@/components/x-message/useMessage.js"; | ||||
| import {fddInfo} from "~/api-collect-code/goods/index.js"; | ||||
| import {signOffline} from "~/api/goods/index.js"; | ||||
| const {formData,number}=codeAuthStore() | ||||
| definePageMeta({ | ||||
|   layout: 'default', | ||||
|   i18n: 'menu.profile', | ||||
| }) | ||||
| const {t} = useI18n() | ||||
| const showPicker = ref(false) | ||||
| const showPicker1 = ref(false) | ||||
| const onConfirm = () => { | ||||
| 
 | ||||
| } | ||||
| const {t} = useI18n() | ||||
| const router = useRouter() | ||||
| const route = useRoute() | ||||
| const columns = ref([ | ||||
|   {text: t('realAuth.male'), value: 1}, | ||||
|   {text: t('realAuth.female'), value: 2}, | ||||
| ]) | ||||
| const columns1 = ref([ | ||||
|   {text: '身份证', value: 1}, | ||||
|   {text: '护照', value: 2}, | ||||
|   {text: '其他', value: 3}, | ||||
| ]) | ||||
| const goCountryRegion=()=>{ | ||||
|   router.push({ | ||||
|     path:'/countryRegion' | ||||
|   }) | ||||
| } | ||||
| function isFormComplete(obj) { | ||||
|   for (const key in obj) { | ||||
|     if (typeof obj[key] === 'object' && obj[key] !== null) { | ||||
|       if (!isFormComplete(obj[key])) { | ||||
|         return false; | ||||
|       } | ||||
|     } else if (obj[key] === "") { | ||||
|       return false; | ||||
|     } | ||||
|   } | ||||
|   return true; | ||||
| } | ||||
| 
 | ||||
| const initData=()=>{ | ||||
|   number.value=route.query.number | ||||
|   console.log('route.query',route.query) | ||||
|   if (route.query.zone){ | ||||
|     formData.value.countryCode=route.query.zone | ||||
|   }else { | ||||
|     formData.value.countryCode='86' | ||||
|   } | ||||
| } | ||||
| const nextClick=async ()=>{ | ||||
|   if (!isFormComplete(formData.value)){ | ||||
|     message.warning('请填写完整信息') | ||||
|     return | ||||
|   } | ||||
|  const res=await fddInfo({ | ||||
|    phone:formData.value.phone | ||||
|  }) | ||||
|   if (res.status===0){ | ||||
| if (res.data.status===2){ | ||||
|   router.push('/collectCode/signature/protocol') | ||||
| }else { | ||||
|   const res1=await signOffline({ | ||||
|     userInfo:formData.value, | ||||
|     signOrder:Number(number.value), | ||||
|   }) | ||||
|   if (res1.status===0){ | ||||
|     window.location.href=res1.data.fddVerifyUrl | ||||
|   } | ||||
| } | ||||
|   } | ||||
|   // | ||||
| /*  if (formData.value.countryCode==='86'&&formData.value.cardType===1){ | ||||
| 
 | ||||
|   }*/ | ||||
| } | ||||
| initData() | ||||
| </script> | ||||
| 
 | ||||
| <template> | ||||
| @ -26,27 +87,30 @@ const columns = ref([ | ||||
|       请填写个人相关信息 | ||||
|     </div> | ||||
|     <div class="grow-1 px-34px"> | ||||
|       <van-field type="tel" :label-width="161" label="文本" class="mb-10px" placeholder="请输入手机号"> | ||||
|       <van-field v-model="formData.phone" type="tel" :label-width="161" label="文本" class="mb-10px" placeholder="请输入手机号"> | ||||
|         <template #label> | ||||
|           <div class="flex"> | ||||
|             <div class="mr-41px whitespace-nowrap">手机号</div> | ||||
|             <div> | ||||
|               <span class="mr-13px">+ 86</span> | ||||
|             <div @click="goCountryRegion"> | ||||
|               <span class="mr-13px">+ {{ formData.countryCode }}</span> | ||||
|               <van-icon name="arrow-down" class="text-#777777"/> | ||||
|             </div> | ||||
|           </div> | ||||
|         </template> | ||||
|       </van-field> | ||||
|       <van-field label="姓名" class="mb-10px" placeholder="请输入姓名"/> | ||||
|       <x-van-select label="性别" :columns="columns"/> | ||||
|       <x-van-date label="出生日期"/> | ||||
|       <van-field label="家庭住址" class="mb-10px" placeholder="请输入家庭住址"/> | ||||
|       <van-field label="所属银行" class="mb-10px" placeholder="请输入所属银行"/> | ||||
|       <van-field label="银行卡号码" class="mb-10px" placeholder="请输入银行卡号码"/> | ||||
|       <van-field label="姓名" v-model="formData.userName" class="mb-10px" placeholder="请输入姓名"/> | ||||
|       <x-van-select v-model="formData.gender" label="性别" :columns="columns"/> | ||||
|       <x-van-date label="出生日期" v-model="formData.birthday" /> | ||||
|       <van-field label="家庭住址" v-model="formData.address" class="mb-10px" placeholder="请输入家庭住址"/> | ||||
|       <van-field label="所属银行" v-model="formData.bankName" class="mb-10px" placeholder="请输入所属银行"/> | ||||
|       <van-field label="银行卡号码" v-model="formData.bankNo" class="mb-10px" placeholder="请输入银行卡号码"/> | ||||
|       <x-van-select v-model="formData.cardType" label="证件类型" :columns="columns1"/> | ||||
|       <van-field label="证件号" v-model="formData.cardId" class="mb-10px" placeholder="请输入证件号"/> | ||||
|     </div> | ||||
|     <div class="h-81px bg-#fff flex justify-center pt-7px border-t"> | ||||
|       <van-button color="#2B53AC" class="w-213px van-btn-h-38px">下一步</van-button> | ||||
|       <van-button color="#2B53AC" class="w-213px van-btn-h-38px" @click="nextClick">下一步</van-button> | ||||
|     </div> | ||||
| 
 | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  | ||||
| @ -1,6 +1,20 @@ | ||||
| <script setup> | ||||
| import {codeAuthStore} from "~/stores-collect-code/auth/index.js"; | ||||
| import {signOffline} from "~/api/goods/index.js"; | ||||
| const show=ref(true) | ||||
| const activeNames = ref(['1']); | ||||
| 
 | ||||
| const {formData,number}=codeAuthStore() | ||||
| const confirm=async ()=>{ | ||||
|   if (formData.value.countryCode==='86'&&formData.value.cardType===1){ | ||||
|   } | ||||
|  const res=await signOffline({ | ||||
|     userInfo:formData.value, | ||||
|     signOrder:Number(number.value), | ||||
|   }) | ||||
|   if (res.status===0){ | ||||
|     window.location.href=res.data.fddVerifyUrl | ||||
|   } | ||||
| } | ||||
| </script> | ||||
| 
 | ||||
| <template> | ||||
| @ -27,7 +41,7 @@ const activeNames = ref(['1']); | ||||
|     </van-collapse-item> | ||||
|   </van-collapse> | ||||
|   <div class="h-81px bg-#fff flex justify-center pt-7px border-t"> | ||||
|     <van-button color="#2B53AC" class="w-213px van-btn-h-38px">同意并签字</van-button> | ||||
|     <van-button color="#2B53AC" class="w-213px van-btn-h-38px" @click="confirm">同意并签字</van-button> | ||||
|   </div> | ||||
| </div> | ||||
| </template> | ||||
|  | ||||
							
								
								
									
										20
									
								
								app/pages/collectCode/signature/result/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								app/pages/collectCode/signature/result/index.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| <script setup> | ||||
| 
 | ||||
| </script> | ||||
| 
 | ||||
| <template> | ||||
|   <div class="w-[100vw] h-screen-nav bg-[url('@/static/images/3532@2x.png')] bg-cover flex-grow-1 flex flex-col items-center pt-183px px-30px"> | ||||
|     <div class="flex flex-col items-center pt-18px px-31px"> | ||||
|       <div class="text-#000 text-16px mb-4px">签署成功</div> | ||||
|       <div class="text-#939393 text-12px mb-31px">●   领取您的专属号牌   ●</div> | ||||
|       <div class="relative"> | ||||
|         <img class="w-258px h-144px" src="@/static/images/zu6020@2x.png" alt=""> | ||||
|         <div class="absolute text-#FDD68D text-68px bottom-1px left-1/2 transform translate-x--1/2">50</div> | ||||
|       </div> | ||||
|     </div> | ||||
| </div> | ||||
| </template> | ||||
| 
 | ||||
| <style scoped> | ||||
| 
 | ||||
| </style> | ||||
| @ -44,6 +44,7 @@ function groupByPinyinInitial(data) { | ||||
|     } | ||||
|   }); | ||||
| 
 | ||||
| 
 | ||||
|   // 处理其他国家 | ||||
|   data.forEach(country => { | ||||
|     if (!frequentCountryCodes.includes(country.code)) { | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								app/static/images/zu6020@2x.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								app/static/images/zu6020@2x.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 20 KiB | 
| @ -4,7 +4,28 @@ export const codeAuthStore = createGlobalState(() => { | ||||
|     const RefreshToken=useLocalStorage('RefreshToken','') | ||||
|     const userInfo=useLocalStorage('userInfo',{}) | ||||
|     const fingerprint=useLocalStorage('fingerprint','') | ||||
|     const formData=useLocalStorage('formData',{ | ||||
|         "countryCode": "", | ||||
|         "phone": "", //手机号
 | ||||
|         "userName": "", //用户名 (第一次传)
 | ||||
|         "gender": 1, //性别 1男  2女 3未知 (第一次传)
 | ||||
|         "birthday": "", //生日 (第一次传)
 | ||||
|         "address": "", //家庭住址 (第一次传)
 | ||||
|         "bankName": "", //银行名字(第一次传)
 | ||||
|         "bankNo": "", //银行卡号(第一次传)
 | ||||
|         "cardId": "", | ||||
|         cardType:1 | ||||
|     }) | ||||
|     const lotNo=ref(undefined) | ||||
|     const price=ref(undefined) | ||||
|     const auctionArtworkUuid=ref(undefined) | ||||
|     const number=useLocalStorage('number',undefined) | ||||
|     return{ | ||||
|         lotNo, | ||||
|         price, | ||||
|         auctionArtworkUuid, | ||||
|         number, | ||||
|         formData, | ||||
|         userInfo, | ||||
|         RefreshToken, | ||||
|         token, | ||||
|  | ||||
| @ -234,7 +234,7 @@ export const liveStore = createGlobalState(() => { | ||||
|         }) | ||||
|     } | ||||
|     const changeStatus = () => { | ||||
|         if (auctionData.value.artwork.isSelling&&!auctionData.value.artwork.isSoled){ | ||||
|         if (auctionData.value.artwork?.isSelling&&!auctionData.value.artwork.isSoled){ | ||||
|             quoteStatus.value = !quoteStatus.value | ||||
|         }else { | ||||
|             if (quoteStatus.value){ | ||||
|  | ||||
							
								
								
									
										6
									
								
								env/.env.test
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								env/.env.test
									
									
									
									
										vendored
									
									
								
							| @ -1,7 +1,7 @@ | ||||
| # 测试环境配置 | ||||
| NUXT_PUBLIC_API_BASE=https://auction-test.szjixun.cn | ||||
| NUXT_PUBLIC_API_COLLECT_CODE=https://auction-test.szjixun.cn | ||||
| NUXT_PUBLIC_API_BASE=http://auction-test.szjixun.cn | ||||
| NUXT_PUBLIC_API_COLLECT_CODE=http://auction-test.szjixun.cn | ||||
| NUXT_API_SECRET=test-secret | ||||
| NUXT_PUBLIC_SOCKET_URL=ws://172.16.100.99:8005 | ||||
| NUXT_PUBLIC_SOCKET_URL=ws://auction-test.szjixun.cn | ||||
| # 阿里云播放器配置 | ||||
| NUXT_PUBLIC_PLAYER_SOURCE=artc://live-push-sh-01.szjixun.cn/live001/86180cae-1e07-4b8d-b45e-50d8ce800110?auth_key=1739255918-0-0-5251017e725a860570a59de7e4e2fd98 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user