更新协议页面,新增竞买协议和拍卖移交确认书的URL处理逻辑,优化PDF获取流程,调整协议列表的显示方式

This commit is contained in:
Phoenix 2025-04-29 13:28:06 +08:00
parent 3b015f3e9c
commit e44fbb46d8
4 changed files with 41 additions and 17 deletions

View File

@ -13,8 +13,9 @@ const { t } = useI18n()
const { formData, number, qrData } = codeAuthStore()
const activeNames = ref('')
const router = useRouter()
const pmblUrl = ref('')
const pmblUrl = ref('') // URL
const jmxyUrl=ref('')//
const pmyjqrsUrl=ref('')//
/**
* 根据签署顺序(number)返回不同的协议列表
* number = 1: 买家签署阶段展示竞买协议竞买须知拍卖公告拍卖规则
@ -23,32 +24,39 @@ const pmblUrl = ref('')
const protocolList = computed(() => {
if (number.value === 1) {
return [
{ id: '4', title: t('signature.agreement.buyerAgreement'), pdfName: 'jmxy', type: 'local' },
{ id: '4', title: t('signature.agreement.buyerAgreement'), pdfName: jmxyUrl.value, type: 'remote' },
{ id: '3', title: t('signature.agreement.buyerGuide'), pdfName: 'jmxz', type: 'local' },
{ id: '1', title: t('signature.agreement.notice'), pdfName: 'pmgg', type: 'local' },
{ id: '2', title: t('signature.agreement.rules'), pdfName: 'pmgz', type: 'local' },
]
} else if (number.value === 2) {
return [
{ id: '6', title: t('signature.agreement.transfer'), pdfName: 'pmyjqrs', type: 'local' },
{ id: '6', title: t('signature.agreement.transfer'), pdfName: pmyjqrsUrl.value, type: 'remote' },
{ id: '5', title: t('signature.agreement.record'), pdfName: pmblUrl.value, type: 'remote' }
]
}
return []
})
console.log('number',number.value)
/**
* 获取拍卖笔录PDF
* 通过拍品UUID获取拍卖笔录的查看地址
*/
const fetchPmblPdf = async () => {
const fetchPmblPdf = async () => {
try {
const res = await contractView({
auctionArtworkUuid: qrData.value.auctionArtworkUuid,
phone:formData.value.phone,
registerType:2,
signOrder:number.value
})
pmblUrl.value = res.data?.viewUrl
if(res.status===0){
jmxyUrl.value=res.data.ViewUrls?.jmxy1
pmblUrl.value=res.data.ViewUrls?.ppbl6
pmyjqrsUrl.value=res.data.ViewUrls?.ppqr5
}
} catch (error) {
console.error('获取拍卖笔录失败:', error)
console.log('error',error)
}
}
@ -56,9 +64,13 @@ const fetchPmblPdf = async () => {
* 折叠面板变化处理
* 当打开拍卖笔录面板时获取PDF地址
*/
//
const handleCollapseChange = (name) => {
activeNames.value = name
if (name === '5' && !pmblUrl.value) {
console.log('handleCollapseChange')
console.log('name',name)
console.log('protocolList.value.find(x=>x.id===name)?.pdfName',protocolList.value.find(x=>x.id===name)?.pdfName)
if (['4','5','6'].includes(name) && !protocolList.value.find(x=>x.id===name)?.pdfName) {
fetchPmblPdf()
}
}

View File

@ -102,6 +102,10 @@ const goLogin=()=>{
<div class="border-b-[1.7px] mt-[8px]">
<van-field v-model="form1.realName" :label="$t('realAuth.name')" clearable :placeholder="$t('realAuth.namePlaceholder')"></van-field>
</div>
<div class="border-b-[1.7px] mt-[8px]">
<van-field v-model="form1.userExtend.address" :label="$t('realAuth.adress')" clearable
:placeholder="$t('realAuth.adressPlaceholder')"></van-field>
</div>
</div>
</template>
</van-tab>

View File

@ -7,6 +7,7 @@ import { authStore } from "~/stores/auth/index.js"
import {useI18n} from "vue-i18n";
import { useThrottleFn } from '@vueuse/core'
import { contractUserinfo } from "@/api/auth/index.js"
import { ref } from 'vue';
definePageMeta({
layout: 'default',
i18n: 'signature.protocol.title'
@ -17,15 +18,16 @@ const $t=useI18n().t
const activeNames = ref([])
const router = useRouter()
const pmblUrl = ref('') // URL
const jmxyUrl=ref('')//
const pmyjqrsUrl=ref('')//
//
const protocolList = computed(() => [
{ id: '1', title: $t('signature.agreement.notice'), pdfName: 'pmgg', type: 'local' },
{ id: '2', title: $t('signature.agreement.rules'), pdfName: 'pmgz', type: 'local' },
{ id: '3', title: $t('signature.agreement.buyerGuide'), pdfName: 'jmxz', type: 'local' },
{ id: '4', title: $t('signature.agreement.buyerAgreement'), pdfName: 'jmxy', type: 'local' },
{ id: '4', title: $t('signature.agreement.buyerAgreement'), pdfName: jmxyUrl.value, type: 'remote' },
{ id: '5', title: $t('signature.agreement.record'), pdfName: pmblUrl.value, type: 'remote' },
{ id: '6', title: $t('signature.agreement.transfer'), pdfName: 'pmyjqrs', type: 'local' }
{ id: '6', title: $t('signature.agreement.transfer'), pdfName: pmyjqrsUrl.value, type: 'remote' }
])
const toast=ref(false)
// PDF
@ -33,8 +35,15 @@ const fetchPmblPdf = async () => {
try {
const res = await contractView({
auctionArtworkUuid: payment.value.auctionArtworkUuid,
phone:userInfo.value.telNum,
registerType:1,
signOrder:1
})
pmblUrl.value = res.data?.viewUrl // PDF URLdata
if(res.status===0){
jmxyUrl.value=res.data.ViewUrls?.jmxy1
pmblUrl.value=res.data.ViewUrls?.ppbl6
pmyjqrsUrl.value=res.data.ViewUrls?.ppqr5
}
} catch (error) {
}
}
@ -42,8 +51,7 @@ const fetchPmblPdf = async () => {
//
const handleCollapseChange = (name) => {
activeNames.value = name
// PDF
if (name === '5' && !pmblUrl.value) {
if (['4','5','6'].includes(name) && !protocolList.value.find(x=>x.id===name)?.pdfName) {
fetchPmblPdf()
}
}

View File

@ -19,7 +19,7 @@ export const codeAuthStore = createGlobalState(() => {
const lotNo=useLocalStorage('lotNo',undefined)
const price=useLocalStorage('price',undefined)
const auctionArtworkUuid=useLocalStorage('auctionArtworkUuid',undefined)
const number=useLocalStorage('number',undefined)
const number=useLocalStorage('number',0)
const qrUid=useLocalStorage('qrUid',undefined)
const cpayment=useLocalStorage('cpayment',{
price:'',