feat(auth): 优化签名流程和数据存储

- 将 lotNo、price 和 auctionArtworkUuid存储到本地存储
-优化个人信息页面的表单显示逻辑
- 在协议页面添加竞拍信息
- 移除签名面板中的冗余代码
This commit is contained in:
xingyy 2025-02-19 18:42:58 +08:00
parent 01e6f99e90
commit 0308ace199
4 changed files with 29 additions and 25 deletions

View File

@ -12,9 +12,6 @@ definePageMeta({
const router = useRouter(); const router = useRouter();
const imgUrl = ref(''); const imgUrl = ref('');
const show = ref(false); const show = ref(false);
const goBack = () => { const goBack = () => {
router.back() router.back()
// //

View File

@ -6,7 +6,7 @@ import {codeAuthStore} from "@/stores-collect-code/auth/index.js";
import {message} from "@/components/x-message/useMessage.js"; import {message} from "@/components/x-message/useMessage.js";
import {fddInfo} from "~/api-collect-code/goods/index.js"; import {fddInfo} from "~/api-collect-code/goods/index.js";
import {signOffline} from "~/api/goods/index.js"; import {signOffline} from "~/api/goods/index.js";
const {formData,number}=codeAuthStore() const {formData,number,auctionArtworkUuid}=codeAuthStore()
definePageMeta({ definePageMeta({
layout: 'default', layout: 'default',
i18n: 'menu.profile', i18n: 'menu.profile',
@ -44,9 +44,14 @@ function isFormComplete(obj) {
const initData=()=>{ const initData=()=>{
if (route.query.number){ if (route.query.number){
number.value=route.query.number number.value=Number(route.query.number)
}
if (route.query.auctionArtworkUuid){
auctionArtworkUuid.value=route.query.auctionArtworkUuid
}
if (route.query.lotNo){
auctionArtworkUuid.value=route.query.lotNo
} }
console.log('route.query',route.query)
if (route.query.zone){ if (route.query.zone){
formData.value.countryCode=route.query.zone formData.value.countryCode=route.query.zone
}else { }else {
@ -54,6 +59,8 @@ const initData=()=>{
} }
} }
const nextClick=async ()=>{ const nextClick=async ()=>{
//
if (number.value===1){
if (!isFormComplete(formData.value)){ if (!isFormComplete(formData.value)){
message.warning('请填写完整信息') message.warning('请填写完整信息')
return return
@ -81,11 +88,10 @@ const nextClick=async ()=>{
}else { }else {
router.push('/collectCode/signature/protocol') router.push('/collectCode/signature/protocol')
} }
//
// }else if(number.value===2) {
/* if (formData.value.countryCode==='86'&&formData.value.cardType===1){ router.push('/collectCode/signature/protocol')
}
}*/
} }
initData() initData()
</script> </script>
@ -109,18 +115,17 @@ initData()
</template> </template>
</van-field> </van-field>
<van-field label="姓名" v-model="formData.userName" 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-select v-if="number===1" v-model="formData.gender" label="性别" :columns="columns"/>
<x-van-date label="出生日期" v-model="formData.birthday" /> <x-van-date v-if="number===1" label="出生日期" v-model="formData.birthday" />
<van-field label="家庭住址" v-model="formData.address" class="mb-10px" placeholder="请输入家庭住址"/> <van-field v-if="number===1" label="家庭住址" v-model="formData.address" class="mb-10px" placeholder="请输入家庭住址"/>
<van-field label="所属银行" v-model="formData.bankName" class="mb-10px" placeholder="请输入所属银行"/> <van-field v-if="number===1" label="所属银行" v-model="formData.bankName" class="mb-10px" placeholder="请输入所属银行"/>
<van-field label="银行卡号码" v-model="formData.bankNo" class="mb-10px" placeholder="请输入银行卡号码"/> <van-field v-if="number===1" label="银行卡号码" v-model="formData.bankNo" class="mb-10px" placeholder="请输入银行卡号码"/>
<x-van-select v-model="formData.cardType" label="证件类型" :columns="columns1"/> <x-van-select v-if="number===1" v-model="formData.cardType" label="证件类型" :columns="columns1"/>
<van-field label="证件号" v-model="formData.cardId" class="mb-10px" placeholder="请输入证件号"/> <van-field v-if="number===1" label="证件号" v-model="formData.cardId" class="mb-10px" placeholder="请输入证件号"/>
</div> </div>
<div class="h-81px bg-#fff flex justify-center pt-7px border-t"> <div class="h-81px bg-#fff flex justify-center pt-7px border-t shrink-0">
<van-button color="#2B53AC" class="w-213px van-btn-h-38px" @click="nextClick">下一步</van-button> <van-button color="#2B53AC" class="w-213px van-btn-h-38px" @click="nextClick">下一步</van-button>
</div> </div>
</div> </div>
</template> </template>

View File

@ -1,17 +1,19 @@
<script setup> <script setup>
import {codeAuthStore} from "~/stores-collect-code/auth/index.js"; import {codeAuthStore} from "~/stores-collect-code/auth/index.js";
import {signOffline} from "~/api/goods/index.js"; import {signOffline} from "~/api/goods/index.js";
import {useRouter} from "#vue-router";
const router = useRouter(); const router = useRouter();
definePageMeta({ definePageMeta({
title:'签署' title:'签署'
}) })
const activeNames = ref(['1']); const activeNames = ref(['1']);
const {formData,number}=codeAuthStore() const {formData,number,lotNo,price}=codeAuthStore()
const confirm=async ()=>{ const confirm=async ()=>{
if (formData.value.countryCode==='86'&&formData.value.cardType===1){ if (formData.value.countryCode==='86'&&formData.value.cardType===1){
const res=await signOffline({ const res=await signOffline({
userInfo:formData.value, userInfo:formData.value,
bidNum:lotNo.value,
bidPrice:price.value,
signOrder:Number(number.value), signOrder:Number(number.value),
}) })
if (res.status===0){ if (res.status===0){

View File

@ -16,9 +16,9 @@ export const codeAuthStore = createGlobalState(() => {
"cardId": "", "cardId": "",
cardType:1 cardType:1
}) })
const lotNo=ref(undefined) const lotNo=useLocalStorage('lotNo',undefined)
const price=ref(undefined) const price=useLocalStorage('price',undefined)
const auctionArtworkUuid=ref(undefined) const auctionArtworkUuid=useLocalStorage('auctionArtworkUuid',undefined)
const number=useLocalStorage('number',undefined) const number=useLocalStorage('number',undefined)
return{ return{
lotNo, lotNo,