二手车交易,声明的添加,测试的优化

This commit is contained in:
2025-03-12 16:06:27 +08:00
parent f8ad6a109b
commit 5754e05a7f
8 changed files with 188 additions and 18 deletions

78
public/res/privacy.html Normal file
View File

@ -0,0 +1,78 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>免责声明</title>
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
/*margin: 20px;*/
padding: 0;
/*background-color: #f9f9f9;*/
color: #333;
}
h3 {
text-align: center;
/*font-size: 24px;*/
margin-bottom: 20px;
}
h4 {
/*font-size: 20px;*/
margin-top: 30px;
margin-bottom: 10px;
color: #555;
}
p {
margin: 10px 0;
text-indent: 2em;
}
ul {
margin: 10px 0;
padding-left: 40px;
}
li {
margin: 5px 0;
}
.container {
font-size: 14px;
padding-bottom: 20px;
}
</style>
</head>
<body>
<div class="container">
<h3>声明</h3>
<p>本平台为二手车买卖双方提供免费信息发布服务。在您使用本平台之前,请仔细阅读并理解本免责声明。一旦使用本平台,即视为您已阅读、理解并同意接受本免责声明的所有条款。</p>
<h4>一、平台性质</h4>
<p>1. 本平台仅为信息发布平台,不参与任何二手车交易环节,包括但不限于交易洽谈、合同签订、款项支付、车辆交付等,实际交易价格由买卖双方自行协商确定。</p>
<p>2. 本平台不对发布信息的真实性、准确性、完整性、合法性进行任何形式的担保或保证,用户应自行判断信息的真实性并承担由此产生的风险。</p>
<h4>二、用户责任</h4>
<p>1. 用户应保证发布的信息真实、准确、完整、合法,并对其发布的信息承担全部责任。</p>
<p>2. 用户不得发布任何虚假、违法、侵权、违反公序良俗的信息,包括但不限于:</p>
<ul>
<li>虚假车源信息</li>
<li>事故车、水泡车、火烧车等存在重大安全隐患的车辆信息</li>
<li>盗抢车辆信息</li>
<li>侵犯他人知识产权或其他合法权益的信息</li>
<li>含有淫秽、色情、赌博、暴力、恐怖等内容的信息</li>
<li>其他违反法律法规或平台规则的信息</li>
</ul>
<h4>三、免责条款</h4>
<p>1. 因用户发布的信息引起的任何纠纷或损失,本平台不承担任何责任。</p>
<p>2. 因不可抗力、计算机病毒、黑客攻击、系统不稳定、用户所在位置、用户关机以及其他任何网络、技术、通信线路等原因造成的服务中断或不能满足用户要求的风险,本平台不承担任何责任。</p>
<p>3. 本平台不对用户之间的交易行为承担任何责任,用户应自行承担交易风险。</p>
<h4>四、其他</h4>
<p>1. 本平台有权根据法律法规的变化或平台运营的需要,随时修改本免责声明,并在平台上公布,修改后的内容自公布之日起生效。</p>
<p>2. 本免责声明的解释权归中道救援股份有限公司所有。</p>
<p>请您在使用本平台前务必仔细阅读并理解本免责声明。</p>
<p>如果您对本免责声明有任何疑问,请联系我们。</p>
</div>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -3,12 +3,13 @@
<div class="headerWrap"> <div class="headerWrap">
<img class="bg" src="@/assets/secondHandCar/bg.png" /> <img class="bg" src="@/assets/secondHandCar/bg.png" />
<div class="navWrap"> <div class="navWrap">
<img class="back" @click="h5GoBack" src="@/assets/secondHandCar/back.png" /> <div v-if="isWeb" style="opacity: 0;" class="back"></div>
<img v-else class="back" @click="h5GoBack" src="@/assets/secondHandCar/back.png" />
<!-- 切图问题图片需更换--> <!-- 切图问题图片需更换-->
<img class="navIcon" src="@/assets/secondHandCar/cheyuan_big.png" /> <img class="navIcon" src="@/assets/secondHandCar/cheyuan_big.png" />
<div style="opacity: 0;" class="back"></div> <div style="opacity: 0;" class="back"></div>
</div> </div>
<div class="audit" v-if="type!=1 && auditRemark"> <div class="audit" v-if="status==3 && auditRemark">
<span><img class="noAudit" src="@/assets/secondHandCar/noAudit.png" />审核不通过</span> <span><img class="noAudit" src="@/assets/secondHandCar/noAudit.png" />审核不通过</span>
<span>{{auditRemark}}</span> <span>{{auditRemark}}</span>
</div> </div>
@ -116,11 +117,11 @@
<img v-show="radio==1" @click="radio=0" class="radioIcon" src="@/assets/secondHandCar/checked.png" /> <img v-show="radio==1" @click="radio=0" class="radioIcon" src="@/assets/secondHandCar/checked.png" />
<img v-show="radio==0" @click="radio=1" class="radioIcon" src="@/assets/secondHandCar/uncheck.png" /> <img v-show="radio==0" @click="radio=1" class="radioIcon" src="@/assets/secondHandCar/uncheck.png" />
<span>我已阅读并同意</span> <span>我已阅读并同意</span>
<span>xxxxx条款</span> <span @click="viewPrivacy">二手车交易条款</span>
</div> </div>
<div class="btnWrap" > <div class="btnWrap" >
<div v-if="type==1" class="btn commonBtn" @click="noMultipleClicks(submitHandle)">发布</div> <div v-if="type==1" class="btn commonBtn" @click="noMultipleClicks(submitHandle)">发布</div>
<div v-else class="auditBtn"> <div v-if="type==2" class="auditBtn">
<div class="commonBtn" @click="noMultipleClicks(auditHandle,0)">审核不通过</div> <div class="commonBtn" @click="noMultipleClicks(auditHandle,0)">审核不通过</div>
<div class="commonBtn" @click="noMultipleClicks(auditHandle,1)"><span style="margin-right: 6px"></span>审核通过</div> <div class="commonBtn" @click="noMultipleClicks(auditHandle,1)"><span style="margin-right: 6px"></span>审核通过</div>
</div> </div>
@ -184,6 +185,8 @@ export default {
vehicleLicensePhotoList:[], vehicleLicensePhotoList:[],
vehicleAnglePhotoList:[], vehicleAnglePhotoList:[],
otherImgSrcList:[], otherImgSrcList:[],
status:'',
isWeb:false,
} }
}, },
async mounted() { async mounted() {
@ -201,14 +204,49 @@ export default {
this.form.boardType=res.data.boardType?.code this.form.boardType=res.data.boardType?.code
this.form.emissionStandard=res.data.emissionStandard?.code this.form.emissionStandard=res.data.emissionStandard?.code
this.auditRemark=res.data?.auditRemark this.auditRemark=res.data?.auditRemark
this.status=res.data?.status?.code
this.areaName=res.data?.areaName this.areaName=res.data?.areaName
this.otherImgSrc=res.data?.otherPhoto?.split(',') this.otherImgSrc=res.data?.otherPhoto?.split(',')
this.otherImgSrc?.map(item=>this.otherImgSrcList.push({url:item})) this.otherImgSrc?.map(item=>this.otherImgSrcList.push({url:item}))
this.vehicleLicensePhotoList=[{url:res.data?.vehicleLicensePhoto}] this.vehicleLicensePhotoList=[{url:res.data?.vehicleLicensePhoto}]
this.vehicleAnglePhotoList=[{url:res.data?.vehicleAnglePhoto}] this.vehicleAnglePhotoList=[{url:res.data?.vehicleAnglePhoto}]
} }
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
if (!isMobile) {// 是移动端不变
this.isWeb=true
}else {
this.isWeb=false
}
}, },
methods:{ methods:{
viewPrivacy(){
// let host = window.location.host
let url='';
if (window.location.href.includes('www.sinoassist.com')) {
url = 'https://www.sinoassist.com'
} else if (window.location.href.includes('ccreview.sino-assist.com')) {
url = 'https://ccreview.sino-assist.com'
} else if (window.location.href.includes('uat.sino-assist.com')) {
url = 'https://api-uat.sino-assist.com'
} else {
// url = 'https://crm1.sino-assist.com'
url = 'http://localhost:8080'
}
window.location.href=url + '/h5/supplier/dispatch/res/privacy.html'
},
closeParentDialog() {
if (window.parent) {
// 检查是否有父组件监听 'closeDialog' 事件
const hasListener = window.parent.dispatchEvent(new Event('checkCloseDialog'));
if (hasListener) {
// 如果有监听器,向父组件发送消息以请求关闭 dialog
window.parent.postMessage('closeDialog', '*');
} else {
// 如果没有监听器,则执行 history.back()
window.history.back();
}
}
},
confirmHandle(val){ confirmHandle(val){
let data=val.length let data=val.length
// console.log("val",val) // console.log("val",val)
@ -297,11 +335,17 @@ export default {
otherPhoto:this.otherImgSrc?.join(',') otherPhoto:this.otherImgSrc?.join(',')
}) })
if(res.code == 200 && !res.msg){ if(res.code == 200 && !res.msg){
this.h5GoBack() if(this.isWeb){
setTimeout(()=>{
this.closeParentDialog()
},2000)
}else{
this.h5GoBack()
}
}else{ }else{
this.$toast(res.msg) this.$toast(res.msg)
} }
console.log("publishCarInfo",res) console.log("车源发布publishCarInfo",res)
} finally { } finally {
console.log(111) console.log(111)
} }

View File

@ -87,7 +87,11 @@ export default {
const formData = new FormData(); const formData = new FormData();
formData.append("file", file.file); formData.append("file", file.file);
let res = await uploadImage(formData); let res = await uploadImage(formData);
console.log("res", res) /* try {
console.log("res", res)
} catch (e) {
console.log("e", e)
}*/
// 为文件添加唯一标识符 // 为文件添加唯一标识符
file.uid = Date.now(); // 使用时间戳作为唯一标识符 file.uid = Date.now(); // 使用时间戳作为唯一标识符
if (this.text == '行驶证照片') { if (this.text == '行驶证照片') {

View File

@ -218,7 +218,7 @@ export default {
maxPrice:this.maxPrice, maxPrice:this.maxPrice,
boardType:this.boardType, boardType:this.boardType,
emissionStandard:this.emissionStandard, emissionStandard:this.emissionStandard,
brandModel:this.brandModel, // brandModel:this.brandModel,
}) })
this.pageList=res.data this.pageList=res.data
if(this.pageList?.length === 0){ if(this.pageList?.length === 0){

View File

@ -77,7 +77,7 @@ export default {
data(){ data(){
return{ return{
activeTab:1, activeTab:1,
tabList:[{value:1,name:'审核中'},{value:2,name:'发布'},{value:3,name:'已下架'},], tabList:[{value:1,name:'审核中'},{value:2,name:'发布'},{value:3,name:'已下架'},],
noClick:true, noClick:true,
poupShow:false, poupShow:false,
radio:'', radio:'',
@ -102,8 +102,8 @@ export default {
}, },
itemHandle(item){//审核 itemHandle(item){//审核
this.$router.push({ this.$router.push({
name: item.type==1 ? "carSource" : 'wantBuy', name: item.type==1 ? "forSale" : 'wantBuySale',
query: { type:2 ,id:item.id,queryType:3}, query: { id:item.id,queryType:3},
}) })
}, },
async getList(){ async getList(){
@ -168,7 +168,7 @@ export default {
}, },
getStatus(i){ getStatus(i){
switch (i){ switch (i){
case 5://发布 case 5://发布
return require('@/assets/secondHandCar/fabuing.png') return require('@/assets/secondHandCar/fabuing.png')
case 6://已下架 case 6://已下架
return require('@/assets/secondHandCar/alreayXiajia.png') return require('@/assets/secondHandCar/alreayXiajia.png')

View File

@ -3,11 +3,12 @@
<div class="headerWrap"> <div class="headerWrap">
<img class="bg" src="@/assets/secondHandCar/bg.png" /> <img class="bg" src="@/assets/secondHandCar/bg.png" />
<div class="navWrap"> <div class="navWrap">
<img class="back" @click="h5GoBack" src="@/assets/secondHandCar/back.png" /> <div v-if="isWeb" style="opacity: 0;" class="back"></div>
<img v-else class="back" @click="h5GoBack" src="@/assets/secondHandCar/back.png" />
<img class="navIcon" src="@/assets/secondHandCar/qiugou_big.png" /> <img class="navIcon" src="@/assets/secondHandCar/qiugou_big.png" />
<div style="opacity: 0;" class="back"></div> <div style="opacity: 0;" class="back"></div>
</div> </div>
<div class="audit" v-if="type==2 && auditRemark"> <div class="audit" v-if="status==3 && auditRemark">
<span><img class="noAudit" src="@/assets/secondHandCar/noAudit.png" />审核不通过</span> <span><img class="noAudit" src="@/assets/secondHandCar/noAudit.png" />审核不通过</span>
<span>{{auditRemark}}</span> <span>{{auditRemark}}</span>
</div> </div>
@ -87,11 +88,11 @@
<img v-show="radio==1" @click="radio=0" class="radioIcon" src="@/assets/secondHandCar/checked.png" /> <img v-show="radio==1" @click="radio=0" class="radioIcon" src="@/assets/secondHandCar/checked.png" />
<img v-show="radio==0" @click="radio=1" class="radioIcon" src="@/assets/secondHandCar/uncheck.png" /> <img v-show="radio==0" @click="radio=1" class="radioIcon" src="@/assets/secondHandCar/uncheck.png" />
<span>我已阅读并同意</span> <span>我已阅读并同意</span>
<span>xxxxx条款</span> <span @click="viewPrivacy">二手车交易条款</span>
</div> </div>
<div class="btnWrap" > <div class="btnWrap" >
<div v-if="type==1" class="btn commonBtn" @click="noMultipleClicks(submitHandle)">发布</div> <div v-if="type==1" class="btn commonBtn" @click="noMultipleClicks(submitHandle)">发布</div>
<div v-else class="auditBtn"> <div v-if="type==2" class="auditBtn">
<div class="commonBtn" @click="noMultipleClicks(auditHandle,0)">审核不通过</div> <div class="commonBtn" @click="noMultipleClicks(auditHandle,0)">审核不通过</div>
<div class="commonBtn" @click="noMultipleClicks(auditHandle,1)"><span style="margin-right: 6px"></span>审核通过</div> <div class="commonBtn" @click="noMultipleClicks(auditHandle,1)"><span style="margin-right: 6px"></span>审核通过</div>
</div> </div>
@ -129,6 +130,8 @@ export default {
noClick:true, noClick:true,
auditReason:'', auditReason:'',
auditRemark:'', auditRemark:'',
status:'',
isWeb:false,
} }
}, },
async mounted() { async mounted() {
@ -145,9 +148,44 @@ export default {
this.form.boardType=res.data.boardType?.code this.form.boardType=res.data.boardType?.code
this.form.emissionStandard=res.data.emissionStandard?.code this.form.emissionStandard=res.data.emissionStandard?.code
this.auditRemark=res.data?.auditRemark this.auditRemark=res.data?.auditRemark
this.status=res.data?.status?.code
}
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
if (!isMobile) {// 是移动端不变
this.isWeb=true
}else {
this.isWeb=false
} }
}, },
methods:{ methods:{
viewPrivacy(){
// let host = window.location.host
let url='';
if (window.location.href.includes('www.sinoassist.com')) {
url = 'https://www.sinoassist.com'
} else if (window.location.href.includes('ccreview.sino-assist.com')) {
url = 'https://ccreview.sino-assist.com'
} else if (window.location.href.includes('uat.sino-assist.com')) {
url = 'https://api-uat.sino-assist.com'
} else {
// url = 'https://crm1.sino-assist.com'
url = 'http://localhost:8080'
}
window.location.href=url + '/h5/supplier/dispatch/res/privacy.html'
},
closeParentDialog() {
if (window.parent) {
// 检查是否有父组件监听 'closeDialog' 事件
const hasListener = window.parent.dispatchEvent(new Event('checkCloseDialog'));
if (hasListener) {
// 如果有监听器,向父组件发送消息以请求关闭 dialog
window.parent.postMessage('closeDialog', '*');
} else {
// 如果没有监听器,则执行 history.back()
window.history.back();
}
}
},
// 审核操作 // 审核操作
async auditHandle(type){ async auditHandle(type){
if (!type && !this.auditReason){ if (!type && !this.auditReason){
@ -186,7 +224,13 @@ export default {
...this.form, ...this.form,
}) })
if(res.code == 200 && !res.msg){ if(res.code == 200 && !res.msg){
this.h5GoBack() if(this.isWeb){
setTimeout(()=>{
this.closeParentDialog()
},2000)
}else{
this.h5GoBack()
}
}else{ }else{
this.$toast(res.msg) this.$toast(res.msg)
} }

View File

@ -2,7 +2,7 @@
<div class="wrap" > <div class="wrap" >
<div class="headerWrap"> <div class="headerWrap">
<img class="back" @click="h5GoBack" src="@/assets/secondHandCar/back.png" /> <img class="back" @click="h5GoBack" src="@/assets/secondHandCar/back.png" />
<span>在售</span> <span>求购</span>
<div style="opacity: 0;" class="back"></div> <div style="opacity: 0;" class="back"></div>
</div> </div>
<div class="contentWrap"> <div class="contentWrap">