Compare commits
7 Commits
1addd5112b
...
prod-26-06
| Author | SHA1 | Date | |
|---|---|---|---|
| 431c7ce7a2 | |||
| 68ff233674 | |||
| 14bf6ea2ee | |||
| 07a355b35c | |||
| a2d1e13d94 | |||
| f184e5fcc2 | |||
| 4fb1152cdf |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,7 +1,8 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
node_modules
|
node_modules
|
||||||
/dist
|
/dist
|
||||||
|
/.kaifa
|
||||||
|
/.summaries
|
||||||
|
|
||||||
# local env files
|
# local env files
|
||||||
.env.local
|
.env.local
|
||||||
|
|||||||
BIN
src/assets/sucai.png
Normal file
BIN
src/assets/sucai.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
@@ -7,6 +7,12 @@
|
|||||||
<div class="font_cls">如已安装未自动跳转,请 <span @click="downLoadHandler">立即下载</span></div>
|
<div class="font_cls">如已安装未自动跳转,请 <span @click="downLoadHandler">立即下载</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 微信内置浏览器引导 -->
|
||||||
|
<div v-if="showGuide" class="guide-mask" @click.self="closeGuide">
|
||||||
|
<img class="guide-img" src="@/assets/sucai.png" alt="引导在浏览器打开" />
|
||||||
|
<div class="guide-btn" @click="closeGuide">我知道了</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -14,7 +20,22 @@
|
|||||||
import { getNewVersion } from "@/api/order"
|
import { getNewVersion } from "@/api/order"
|
||||||
export default {
|
export default {
|
||||||
name: "goToApp",
|
name: "goToApp",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
showGuide: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.showGuide = this.isWeixin()
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
isWeixin() {
|
||||||
|
const ua = navigator.userAgent.toLowerCase()
|
||||||
|
return ua.indexOf('micromessenger') !== -1
|
||||||
|
},
|
||||||
|
closeGuide() {
|
||||||
|
this.showGuide = false
|
||||||
|
},
|
||||||
goAppHandler() {
|
goAppHandler() {
|
||||||
window.location.href = "rvdriver://page/pagesLogin/phoneLogin?source=h5Link";
|
window.location.href = "rvdriver://page/pagesLogin/phoneLogin?source=h5Link";
|
||||||
},
|
},
|
||||||
@@ -70,4 +91,32 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
.guide-mask {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
z-index: 999;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
background: rgba(0, 0, 0, 0.85);
|
||||||
|
}
|
||||||
|
.guide-img {
|
||||||
|
width: 90%;
|
||||||
|
margin-top: 0;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
.guide-btn {
|
||||||
|
width: 140px;
|
||||||
|
height: 40px;
|
||||||
|
margin-top: 40px;
|
||||||
|
border: 1px solid #FFFFFF;
|
||||||
|
border-radius: 20px;
|
||||||
|
font-size: 15px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
line-height: 40px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -875,7 +875,7 @@ export default {
|
|||||||
this.vehicleLicenseInfo.address = frontInfo?.address;
|
this.vehicleLicenseInfo.address = frontInfo?.address;
|
||||||
this.vehicleLicenseInfo.useNature = frontInfo?.useCharacter;
|
this.vehicleLicenseInfo.useNature = frontInfo?.useCharacter;
|
||||||
this.vehicleLicenseInfo.model = frontInfo?.model;
|
this.vehicleLicenseInfo.model = frontInfo?.model;
|
||||||
this.vehicleLicenseInfo.vinCode = frontInfo?.vin;
|
this.vehicleLicenseInfo.vinCode = String(frontInfo?.vin || '').toUpperCase().replace(/O/g, '0');
|
||||||
this.vehicleLicenseInfo.engineNumber = frontInfo?.engineNo;
|
this.vehicleLicenseInfo.engineNumber = frontInfo?.engineNo;
|
||||||
this.vehicleLicenseInfo.registrationDate = frontInfo?.registerDate;
|
this.vehicleLicenseInfo.registrationDate = frontInfo?.registerDate;
|
||||||
this.vehicleLicenseInfo.issueDate = frontInfo?.issueDate;
|
this.vehicleLicenseInfo.issueDate = frontInfo?.issueDate;
|
||||||
@@ -1219,7 +1219,8 @@ export default {
|
|||||||
this.insuranceChange=false
|
this.insuranceChange=false
|
||||||
},
|
},
|
||||||
back() {
|
back() {
|
||||||
if( this.supplierId ) {
|
this.$router.back();
|
||||||
|
/*if( this.supplierId ) {
|
||||||
this.$router.back();
|
this.$router.back();
|
||||||
} else {
|
} else {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
@@ -1228,10 +1229,55 @@ export default {
|
|||||||
id: this.id
|
id: this.id
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}*/
|
||||||
|
|
||||||
},
|
},
|
||||||
|
validatePlateNumber(value) {
|
||||||
|
if (!value) {
|
||||||
|
return { valid: false, message: '请输入车牌号' }
|
||||||
|
}
|
||||||
|
const provinceList = ['京','津','冀','晋','蒙','辽','吉','黑','沪','苏','浙','皖','闽','赣','鲁','豫','鄂','湘','粤','桂','琼','渝','川','贵','云','藏','陕','甘','青','宁','新']
|
||||||
|
const firstChar = value.charAt(0)
|
||||||
|
if (!provinceList.includes(firstChar)) {
|
||||||
|
return { valid: false, message: '车牌号首位必须是省级简称(京/沪/津/渝/冀/晋/辽/吉/黑/苏/浙/皖/闽/赣/鲁/豫/鄂/湘/粤/琼/川/贵/云/陕/甘/青/蒙/桂/藏/宁/新)' }
|
||||||
|
}
|
||||||
|
if (!/^[\u4e00-\u9fa5][A-Z0-9]+$/.test(value)) {
|
||||||
|
return { valid: false, message: '车牌号只能包含汉字、字母和数字' }
|
||||||
|
}
|
||||||
|
if (![7, 8].includes(value.length)) {
|
||||||
|
return { valid: false, message: `车牌号必须为 7 位或 8 位(当前 ${value.length} 位)` }
|
||||||
|
}
|
||||||
|
return { valid: true, message: '' }
|
||||||
|
},
|
||||||
|
validateVinNo(value) {
|
||||||
|
const normalizedValue = String(value || '').toUpperCase()
|
||||||
|
if (!normalizedValue) {
|
||||||
|
return { valid: false, message: '车架号识别错误,请重新拍照上传。' }
|
||||||
|
}
|
||||||
|
if (!/^[A-NP-Z0-9]{17}$/.test(normalizedValue)) {
|
||||||
|
if (normalizedValue.includes('O')) {
|
||||||
|
return { valid: false, message: '车架号识别错误,请重新拍照上传。' }
|
||||||
|
}
|
||||||
|
if (!/^[A-NP-Z0-9]+$/.test(normalizedValue)) {
|
||||||
|
return { valid: false, message: '车架号识别错误,请重新拍照上传。' }
|
||||||
|
}
|
||||||
|
return { valid: false, message: `车架号识别错误,请重新拍照上传。` }
|
||||||
|
}
|
||||||
|
return { valid: true, message: '' }
|
||||||
|
},
|
||||||
async submitBtn(){
|
async submitBtn(){
|
||||||
|
const plateResult = this.validatePlateNumber(this.carNum)
|
||||||
|
if (!plateResult.valid) {
|
||||||
|
Dialog.alert({ message: plateResult.message })
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const vinCode = String(this.vehicleLicenseInfo.vinCode || '')
|
||||||
|
const vinResult = this.validateVinNo(vinCode)
|
||||||
|
if (!vinResult.valid) {
|
||||||
|
Dialog.alert({ message: vinResult.message })
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.vehicleLicenseInfo.vinCode = vinCode
|
||||||
if( !this.vehicleLicenseFront ) {
|
if( !this.vehicleLicenseFront ) {
|
||||||
this.$toast('行驶证主页照片不能为空')
|
this.$toast('行驶证主页照片不能为空')
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -498,13 +498,7 @@ export default {
|
|||||||
console.log("ii", i)
|
console.log("ii", i)
|
||||||
},
|
},
|
||||||
goback() {
|
goback() {
|
||||||
this.$router.push({
|
this.$router.back()
|
||||||
name: "workOrderReconciliation",
|
|
||||||
params: {
|
|
||||||
activeIndex: this.index,
|
|
||||||
queryTime: this.queryTime,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
async compute() {
|
async compute() {
|
||||||
if(this.orderInfo.contractSettleTypeString == '车主现收'){
|
if(this.orderInfo.contractSettleTypeString == '车主现收'){
|
||||||
|
|||||||
Reference in New Issue
Block a user