CRM_26-05-13#story#8629#潜在服务商信息录入H5优化

This commit is contained in:
2026-05-09 10:20:19 +08:00
parent 4fdcd3e72e
commit b0b1abca01
3 changed files with 129 additions and 32 deletions

View File

@@ -85,8 +85,8 @@
</el-tree>
</template>
</van-field>
<van-field :border="true" v-model="form.trailCount" name="trailCount" label="拖车数量" placeholder="请输入" />
<van-field :border="true" v-model="form.minorCount" name="minorCount" label="抢修车数量" placeholder="请输入" />
<van-field :border="true" v-model="form.trailCount" type="digit" class="required" name="trailCount" label="拖车数量" placeholder="请输入" :rules="countVerify" />
<van-field :border="true" v-model="form.minorCount" type="digit" class="required" name="minorCount" label="抢修车数量" placeholder="请输入" :rules="countVerify" />
<van-field :border="true" class="required" label="服务区域" placeholder="请选择">
<template #input>
<el-cascader
@@ -100,12 +100,12 @@
clearable></el-cascader>
</template>
</van-field>
<div class="wei_code_wrap" v-if="form.name && !id">
<!-- <div class="wei_code_wrap" v-if="form.name && !id">
<div class="wei_title">请先添加企业微信保证申请流程正常进行</div>
<div class="wei_code_bg">
<img v-if="qrCodeUrl" :src="qrCodeUrl" alt="企业微信二维码" />
</div>
</div>
</div>-->
</div>
</div>
</div>
@@ -138,6 +138,7 @@
errorMsg: '',
phoneVerify: [{ required: true, message: '请输入联系电话' }, { validator: value => { return /^1[3456789]\d{9}$/.test(value) }, message: '联系电话格式不正确' }],
emailVerify: [{ required: true, message: '请输入邮箱' }, { validator: value => { return /[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/.test(value) }, message: '邮箱格式不正确' }],
countVerify: [{ required: true, message: '请输入数量' }, { validator: value => /^\d+$/.test(value) && Number(value) >= 0, message: '请输入大于等于0的整数' }],
id:'', //车辆Id
idBackPhotoList: [],
idBackPhoto: '',
@@ -201,6 +202,12 @@
}
},
async mounted() {
const lastRoute = localStorage.getItem('lastRoute');
if (lastRoute) {
const { name, query } = JSON.parse(lastRoute);
this.$router.replace({ name, query });
return;
}
const urlParams = new URLSearchParams(window.location.search);
this.id = this.$route.query.id || urlParams.get('id');
await this.getAreaTree();
@@ -221,7 +228,6 @@
});
this.configId = res?.configId;
this.qrCode = res?.qrCode
console.log('idid', res);
},
async getInfoHandler() {
let res = await getSupplierInfo({
@@ -255,7 +261,6 @@
}
if(_data?.serviceAreaCode) {
this.$set(this.form, 'serviceAreaCode', _data?.serviceAreaCode.split(',').map(item => Number(item)));
// this.form.serviceAreaCode = _data?.serviceAreaCode.split(',').map(item => Number(item));
}
},
showError(msg) {
@@ -291,19 +296,6 @@
this.showError('服务区域不能为空')
return
}
if( !this.qrCode && !this.id) {
await this.QrCodeHandler();
this.showError('请先添加下方企微再申请')
return
}
// this.wechatId='wmOTNXBwAABrvKkE_Fh8ZN8Xm2S9v2wQ'
if(!this.wechatId) {
await this.QrCodeResult();
if( !this.wechatId ) {
this.showError('请先添加企微再申请')
return
}
}
if( this.$refs.tree.getCheckedKeys().length > 0 ) {
await this.saveHandler()
}
@@ -312,7 +304,6 @@
let res = await getContactQrCodeResult({
configId: this.configId
});
console.log('resres', res)
this.wechatId = res?.data?.wechatId
},
async saveHandler() {
@@ -335,17 +326,28 @@
accountUrl:this.licensePhoto,
service: this.$refs.tree.getCheckedKeys().join(',') ,
serviceAreaCode: checkArr.join(','),
wechatId: this.wechatId,
});
Dialog.alert({
title: '提示',
message: "操作成功"
}).then(async () => {
this.goPage('supplierAddResult', { id : res?.data })
setTimeout(() => {
this.clickFlag = true
}, 1000)
});
console.log('rererere', res)
if( res?.noToast ) { // 服务商已存在
this.showError('当前服务商已存在')
if( res?.code != 0 ) {
const target = { name: 'supplierAddResult', query: { id: res?.code } };
localStorage.setItem('lastRoute', JSON.stringify(target));
this.goPage('supplierAddResult', { id : res?.code })
}
} else {
Dialog.alert({
title: '提示',
message: "操作成功"
}).then(async () => {
const target = { name: 'supplierAddResult', query: { id: res?.data } };
localStorage.setItem('lastRoute', JSON.stringify(target));
this.goPage('supplierAddResult', { id : res?.data })
setTimeout(() => {
this.clickFlag = true
}, 1000)
});
}
} catch (e) {
this.showError(e)
} finally {