Compare commits
10 Commits
7c40fbc4c5
...
prod-26-06
| Author | SHA1 | Date | |
|---|---|---|---|
| 431c7ce7a2 | |||
| 68ff233674 | |||
| 14bf6ea2ee | |||
| 07a355b35c | |||
| a2d1e13d94 | |||
| f184e5fcc2 | |||
| 4fb1152cdf | |||
| 1addd5112b | |||
| cd51aec32a | |||
| 4a2513e100 |
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 |
@@ -337,7 +337,7 @@ const routes = [
|
|||||||
name: 'goToApp',
|
name: 'goToApp',
|
||||||
component:()=>import('@/views/goToApp/goToApp.vue'),
|
component:()=>import('@/views/goToApp/goToApp.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title:'电瓶详情'
|
title:'中道小板运输'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
...kpiRouter,
|
...kpiRouter,
|
||||||
|
|||||||
@@ -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 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.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>
|
</style>
|
||||||
@@ -26,6 +26,7 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
name: '',
|
name: '',
|
||||||
|
potentialFlag: '',
|
||||||
formPayload: null,
|
formPayload: null,
|
||||||
qrCodeUrl: '',
|
qrCodeUrl: '',
|
||||||
qrCode: '',
|
qrCode: '',
|
||||||
@@ -35,6 +36,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
|
this.potentialFlag = this.$route.query.potentialFlag || urlParams.get('potentialFlag') || '';
|
||||||
const cached = localStorage.getItem('supplierAddForm');
|
const cached = localStorage.getItem('supplierAddForm');
|
||||||
if (cached) {
|
if (cached) {
|
||||||
this.formPayload = JSON.parse(cached);
|
this.formPayload = JSON.parse(cached);
|
||||||
@@ -83,9 +86,9 @@
|
|||||||
if (res?.code != 0) {
|
if (res?.code != 0) {
|
||||||
Dialog.alert({ title: '提示', message: '该服务商已存在,查看信息' }).then(() => {
|
Dialog.alert({ title: '提示', message: '该服务商已存在,查看信息' }).then(() => {
|
||||||
localStorage.removeItem('supplierAddForm');
|
localStorage.removeItem('supplierAddForm');
|
||||||
const target = { name: 'supplierInfo', query: { id: res?.code } };
|
const target = { name: 'supplierInfo', query: { id: res?.code, potentialFlag: this.potentialFlag } };
|
||||||
localStorage.setItem('lastRoute', JSON.stringify(target));
|
localStorage.setItem('lastRoute', JSON.stringify(target));
|
||||||
this.goPage('supplierInfo', { id: res?.code });
|
this.goPage('supplierInfo', { id: res?.code, potentialFlag: this.potentialFlag });
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
Toast('该服务商已存在');
|
Toast('该服务商已存在');
|
||||||
@@ -93,7 +96,8 @@
|
|||||||
} else {
|
} else {
|
||||||
localStorage.removeItem('supplierAddForm');
|
localStorage.removeItem('supplierAddForm');
|
||||||
const supplierId = res?.data;
|
const supplierId = res?.data;
|
||||||
const target = { name: 'supplierAddResult', query: { id: supplierId } };
|
const potentialFlag = this.potentialFlag;
|
||||||
|
const target = { name: 'supplierAddResult', query: { id: supplierId, potentialFlag } };
|
||||||
localStorage.setItem('lastRoute', JSON.stringify(target));
|
localStorage.setItem('lastRoute', JSON.stringify(target));
|
||||||
Dialog.confirm({
|
Dialog.confirm({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
@@ -101,11 +105,11 @@
|
|||||||
confirmButtonText: '去添加',
|
confirmButtonText: '去添加',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
localStorage.setItem('lastRoute', JSON.stringify({ name: 'vehicleManage', query: { id: supplierId } }));
|
localStorage.setItem('lastRoute', JSON.stringify({ name: 'vehicleManage', query: { id: supplierId, potentialFlag } }));
|
||||||
this.goPage('vehicleManage', { id: supplierId });
|
this.goPage('vehicleManage', { id: supplierId, potentialFlag });
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
localStorage.setItem('lastRoute', JSON.stringify({ name: 'supplierAddResult', query: { id: supplierId } }));
|
localStorage.setItem('lastRoute', JSON.stringify({ name: 'supplierAddResult', query: { id: supplierId, potentialFlag } }));
|
||||||
this.goPage('supplierAddResult', { id: supplierId });
|
this.goPage('supplierAddResult', { id: supplierId, potentialFlag });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@@ -122,7 +122,7 @@
|
|||||||
<span>司机状态</span>
|
<span>司机状态</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="isJoin">
|
<div class="isJoin">
|
||||||
<van-radio-group v-model="states" @change="isUse" class="joinWrap">
|
<van-radio-group v-model="states" @change="isUse" :disabled="statesDisabled" :class="{ 'disabled-tree': statesDisabled }" class="joinWrap">
|
||||||
<van-radio :name="1" style="margin-right: 26px" class="item">
|
<van-radio :name="1" style="margin-right: 26px" class="item">
|
||||||
启用
|
启用
|
||||||
<img
|
<img
|
||||||
@@ -185,6 +185,7 @@ export default {
|
|||||||
iconList: [],
|
iconList: [],
|
||||||
driverInfo: {},
|
driverInfo: {},
|
||||||
drivingLicenceName: '',
|
drivingLicenceName: '',
|
||||||
|
potentialFlag: '',
|
||||||
idCardAuthority:'',
|
idCardAuthority:'',
|
||||||
idCardValidStartTime:'',
|
idCardValidStartTime:'',
|
||||||
idCardValidEndTime:'',
|
idCardValidEndTime:'',
|
||||||
@@ -222,6 +223,11 @@ export default {
|
|||||||
this.identityCardFront = this.$route.params?.identityCardFront;
|
this.identityCardFront = this.$route.params?.identityCardFront;
|
||||||
this.driverInfo.lssueDate = this.$route.params?.lssueDate;
|
this.driverInfo.lssueDate = this.$route.params?.lssueDate;
|
||||||
this.drivingLicenceName = this.$route.params?.drivingLicenceName;
|
this.drivingLicenceName = this.$route.params?.drivingLicenceName;
|
||||||
|
this.potentialFlag = this.$route.params?.potentialFlag || '';
|
||||||
|
console.log('this.potentialFlagthis.potentialFlag', this.potentialFlag)
|
||||||
|
if(!this.id && this.potentialFlag === '1') {
|
||||||
|
this.states = 0;
|
||||||
|
}
|
||||||
if( this.identityCardFront ) {
|
if( this.identityCardFront ) {
|
||||||
this.identityCardFrontList = [{ url : this.identityCardFront }];
|
this.identityCardFrontList = [{ url : this.identityCardFront }];
|
||||||
}
|
}
|
||||||
@@ -242,7 +248,7 @@ export default {
|
|||||||
const selectedValue = selectElement.value;
|
const selectedValue = selectElement.value;
|
||||||
this.drivingModel=selectedValue
|
this.drivingModel=selectedValue
|
||||||
});
|
});
|
||||||
|
console.log('statesDisabled', this.statesDisabled)
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
isUse(e){
|
isUse(e){
|
||||||
@@ -456,6 +462,11 @@ export default {
|
|||||||
},2000)
|
},2000)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
statesDisabled() {
|
||||||
|
return !this.id && this.potentialFlag === '1';
|
||||||
|
}
|
||||||
|
},
|
||||||
components:{
|
components:{
|
||||||
TwoCommonBtn,
|
TwoCommonBtn,
|
||||||
CellGroup
|
CellGroup
|
||||||
|
|||||||
@@ -137,6 +137,7 @@ export default {
|
|||||||
supplierId: '',
|
supplierId: '',
|
||||||
routeId: '',
|
routeId: '',
|
||||||
initialized: false,
|
initialized: false,
|
||||||
|
potentialFlag: '',
|
||||||
supplierType:'',
|
supplierType:'',
|
||||||
count: 0,
|
count: 0,
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
@@ -186,6 +187,7 @@ export default {
|
|||||||
this.supplierId = rawId ? Number(rawId) : '';
|
this.supplierId = rawId ? Number(rawId) : '';
|
||||||
const potentialId = this.$route.query.potentialId || urlParams.get('potentialId');
|
const potentialId = this.$route.query.potentialId || urlParams.get('potentialId');
|
||||||
this.routeId = potentialId;
|
this.routeId = potentialId;
|
||||||
|
this.potentialFlag = this.$route.query.potentialFlag || urlParams.get('potentialFlag') || '';
|
||||||
if(!rawId) {
|
if(!rawId) {
|
||||||
this.getPermissions();
|
this.getPermissions();
|
||||||
}
|
}
|
||||||
@@ -193,8 +195,8 @@ export default {
|
|||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
nextToResult() {
|
nextToResult() {
|
||||||
localStorage.setItem('lastRoute', JSON.stringify({ name: 'supplierAddResult', query: { id: this.routeId } }));
|
localStorage.setItem('lastRoute', JSON.stringify({ name: 'supplierAddResult', query: { id: this.routeId, potentialFlag: this.potentialFlag } }));
|
||||||
this.goPage('supplierAddResult', { id: this.routeId });
|
this.goPage('supplierAddResult', { id: this.routeId, potentialFlag: this.potentialFlag });
|
||||||
},
|
},
|
||||||
isMiniProgram(item) {
|
isMiniProgram(item) {
|
||||||
return item.registerFrom === '小程序' || (item.jobNumber && item.jobNumber.includes('小程序'))
|
return item.registerFrom === '小程序' || (item.jobNumber && item.jobNumber.includes('小程序'))
|
||||||
@@ -255,7 +257,7 @@ export default {
|
|||||||
}else{
|
}else{
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name: 'driverAdd',
|
name: 'driverAdd',
|
||||||
params: this.supplierId ? { supplierId: this.supplierId } : {}
|
params: { supplierId: this.supplierId || undefined, potentialFlag: this.potentialFlag || undefined }
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -314,7 +314,7 @@
|
|||||||
serviceAreaCode: checkArr.join(','),
|
serviceAreaCode: checkArr.join(','),
|
||||||
};
|
};
|
||||||
localStorage.setItem('supplierAddForm', JSON.stringify(payload));
|
localStorage.setItem('supplierAddForm', JSON.stringify(payload));
|
||||||
this.goPage('addWechat', {});
|
this.goPage('addWechat', { potentialFlag: 1 });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async QrCodeResult() { //获取添加企微结果
|
async QrCodeResult() { //获取添加企微结果
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
id: '',
|
id: '',
|
||||||
|
potentialFlag: '',
|
||||||
name: '',
|
name: '',
|
||||||
qrCodeUrl: '',
|
qrCodeUrl: '',
|
||||||
qrCode: '',
|
qrCode: '',
|
||||||
@@ -29,14 +30,15 @@
|
|||||||
async mounted() {
|
async mounted() {
|
||||||
const urlParams = new URLSearchParams(window.location.search);
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
this.id = this.$route.query.id || urlParams.get('id');
|
this.id = this.$route.query.id || urlParams.get('id');
|
||||||
|
this.potentialFlag = this.$route.query.potentialFlag || urlParams.get('potentialFlag') || '';
|
||||||
if (this.id) {
|
if (this.id) {
|
||||||
localStorage.setItem('lastRoute', JSON.stringify({ name: 'supplierAddResult', query: { id: this.id } }));
|
localStorage.setItem('lastRoute', JSON.stringify({ name: 'supplierAddResult', query: { id: this.id, potentialFlag: this.potentialFlag } }));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async searchInfo() {
|
async searchInfo() {
|
||||||
localStorage.setItem('lastRoute', JSON.stringify({ name: 'supplierInfo', query: { id: this.id } }));
|
localStorage.setItem('lastRoute', JSON.stringify({ name: 'supplierInfo', query: { id: this.id, potentialFlag: this.potentialFlag } }));
|
||||||
this.goPage('supplierInfo', { id: this.id })
|
this.goPage('supplierInfo', { id: this.id, potentialFlag: this.potentialFlag })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,6 +154,7 @@
|
|||||||
supplierInfo: {},
|
supplierInfo: {},
|
||||||
type: 'show',
|
type: 'show',
|
||||||
origin: '',
|
origin: '',
|
||||||
|
potentialFlag: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
@@ -161,13 +162,14 @@
|
|||||||
this.id=this.$route.query.id || urlParams.get('id');
|
this.id=this.$route.query.id || urlParams.get('id');
|
||||||
this.type=this.$route.query.type || urlParams.get('type') || 'show';
|
this.type=this.$route.query.type || urlParams.get('type') || 'show';
|
||||||
this.origin = this.$route.query.origin || ''
|
this.origin = this.$route.query.origin || ''
|
||||||
|
this.potentialFlag = this.$route.query.potentialFlag || urlParams.get('potentialFlag') || '';
|
||||||
await this.getInfoHandler();
|
await this.getInfoHandler();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
goAddVehicle() {
|
goAddVehicle() {
|
||||||
const supplierId = this.id
|
const supplierId = this.id
|
||||||
localStorage.setItem('lastRoute', JSON.stringify({ name: 'vehicleManage', query: { id: supplierId } }));
|
localStorage.setItem('lastRoute', JSON.stringify({ name: 'vehicleManage', query: { id: supplierId, potentialFlag: this.potentialFlag } }));
|
||||||
this.goPage('vehicleManage', { id: supplierId });
|
this.goPage('vehicleManage', { id: supplierId, potentialFlag: this.potentialFlag });
|
||||||
},
|
},
|
||||||
goModifyPage() {
|
goModifyPage() {
|
||||||
this.goPage('supplierAdd', { id : this.id })
|
this.goPage('supplierAdd', { id : this.id })
|
||||||
|
|||||||
@@ -197,7 +197,7 @@
|
|||||||
<span>车辆状态</span>
|
<span>车辆状态</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="isJoin">
|
<div class="isJoin">
|
||||||
<van-radio-group v-model="vehicleStatus" :class="{ 'disabled-tree': vehicleInfoDisabled }" :disabled="vehicleInfoDisabled" @change="isVehicleChange" class="joinWrap">
|
<van-radio-group v-model="vehicleStatus" :class="{ 'disabled-tree': vehicleInfoDisabled || vehicleStatusDisabled }" :disabled="vehicleInfoDisabled || vehicleStatusDisabled" @change="isVehicleChange" class="joinWrap">
|
||||||
<van-radio :name="1" style="margin-right: 14px">
|
<van-radio :name="1" style="margin-right: 14px">
|
||||||
启用
|
启用
|
||||||
<img
|
<img
|
||||||
@@ -470,7 +470,8 @@ export default {
|
|||||||
maxDate: new Date(2099, 11, 31), // 设置最大可选日期(2099年12月31日)
|
maxDate: new Date(2099, 11, 31), // 设置最大可选日期(2099年12月31日)
|
||||||
checkList: [],
|
checkList: [],
|
||||||
virtualVehicle: '',
|
virtualVehicle: '',
|
||||||
vehicleStatus: '',
|
potentialFlag: new URLSearchParams(window.location.search).get('potentialFlag') || '',
|
||||||
|
vehicleStatus: new URLSearchParams(window.location.search).get('potentialFlag') === '1' ? 2 : '',
|
||||||
showDatePicker: false,
|
showDatePicker: false,
|
||||||
dateVal: '',
|
dateVal: '',
|
||||||
trailerService: '',//拖车服务
|
trailerService: '',//拖车服务
|
||||||
@@ -648,6 +649,9 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
vehicleStatusDisabled() {
|
||||||
|
return !this.id && this.potentialFlag === '1';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch:{
|
watch:{
|
||||||
@@ -871,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;
|
||||||
@@ -1215,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({
|
||||||
@@ -1224,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
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
@click-left="goBack"
|
@click-left="goBack"
|
||||||
>
|
>
|
||||||
<template slot="right" v-if="permissonList.includes('vehicleAddBtn') || supplierId">
|
<template slot="right" v-if="permissonList.includes('vehicleAddBtn') || supplierId">
|
||||||
<div class="rightWrap" @click="goPage('vehicleAdd', supplierId ? { supplierId } : {})">
|
<div class="rightWrap" @click="goPage('vehicleAdd', supplierId ? { supplierId, potentialFlag } : {})">
|
||||||
<img src="@/assets/addImg.png" />
|
<img src="@/assets/addImg.png" />
|
||||||
<span class="addTxt">添加</span>
|
<span class="addTxt">添加</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -149,6 +149,7 @@ export default {
|
|||||||
searchVal: '',
|
searchVal: '',
|
||||||
authStates: [],
|
authStates: [],
|
||||||
liabilityInsuranceAuditList: [],
|
liabilityInsuranceAuditList: [],
|
||||||
|
potentialFlag: '',
|
||||||
inputStatusListOptions: [{
|
inputStatusListOptions: [{
|
||||||
name: '行驶证未录入',
|
name: '行驶证未录入',
|
||||||
value: 0
|
value: 0
|
||||||
@@ -199,6 +200,7 @@ export default {
|
|||||||
async mounted() {
|
async mounted() {
|
||||||
const urlParams = new URLSearchParams(window.location.search);
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
const rawId = this.$route.query.id || urlParams.get('id');
|
const rawId = this.$route.query.id || urlParams.get('id');
|
||||||
|
this.potentialFlag = this.$route.query.potentialFlag || urlParams.get('potentialFlag') || '';
|
||||||
if (rawId) {
|
if (rawId) {
|
||||||
this.routeId = rawId;
|
this.routeId = rawId;
|
||||||
await this.getSupplierById(Number(rawId));
|
await this.getSupplierById(Number(rawId));
|
||||||
@@ -212,8 +214,8 @@ export default {
|
|||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
nextToDriver() {
|
nextToDriver() {
|
||||||
localStorage.setItem('lastRoute', JSON.stringify({ name: 'driverManage', query: { id: this.supplierId, potentialId: this.routeId } }));
|
localStorage.setItem('lastRoute', JSON.stringify({ name: 'driverManage', query: { id: this.supplierId, potentialId: this.routeId, potentialFlag: this.potentialFlag } }));
|
||||||
this.goPage('driverManage', { id: this.supplierId, potentialId: this.routeId });
|
this.goPage('driverManage', { id: this.supplierId, potentialId: this.routeId, potentialFlag: this.potentialFlag });
|
||||||
},
|
},
|
||||||
async getSupplierById(id) {
|
async getSupplierById(id) {
|
||||||
let res = await supplierSelectById({ id });
|
let res = await supplierSelectById({ id });
|
||||||
|
|||||||
@@ -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