CRM_26-05-13#story#8629#潜在服务商信息录入H5优化
This commit is contained in:
@@ -133,6 +133,15 @@ export function getContactQrCodeResult(data){
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 添加企微
|
||||||
|
export function updateWechatId(data){
|
||||||
|
return request({
|
||||||
|
url:'/supplier/potential/updateWechatId',
|
||||||
|
method:'POST',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
//司机列表
|
//司机列表
|
||||||
export function driverList(data){
|
export function driverList(data){
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@@ -85,8 +85,8 @@
|
|||||||
</el-tree>
|
</el-tree>
|
||||||
</template>
|
</template>
|
||||||
</van-field>
|
</van-field>
|
||||||
<van-field :border="true" v-model="form.trailCount" name="trailCount" 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" name="minorCount" label="抢修车数量" placeholder="请输入" />
|
<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="请选择">
|
<van-field :border="true" class="required" label="服务区域" placeholder="请选择">
|
||||||
<template #input>
|
<template #input>
|
||||||
<el-cascader
|
<el-cascader
|
||||||
@@ -100,12 +100,12 @@
|
|||||||
clearable></el-cascader>
|
clearable></el-cascader>
|
||||||
</template>
|
</template>
|
||||||
</van-field>
|
</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_title">请先添加企业微信,保证申请流程正常进行。</div>
|
||||||
<div class="wei_code_bg">
|
<div class="wei_code_bg">
|
||||||
<img v-if="qrCodeUrl" :src="qrCodeUrl" alt="企业微信二维码" />
|
<img v-if="qrCodeUrl" :src="qrCodeUrl" alt="企业微信二维码" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -138,6 +138,7 @@
|
|||||||
errorMsg: '',
|
errorMsg: '',
|
||||||
phoneVerify: [{ required: true, message: '请输入联系电话' }, { validator: value => { return /^1[3456789]\d{9}$/.test(value) }, message: '联系电话格式不正确' }],
|
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: '邮箱格式不正确' }],
|
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
|
id:'', //车辆Id
|
||||||
idBackPhotoList: [],
|
idBackPhotoList: [],
|
||||||
idBackPhoto: '',
|
idBackPhoto: '',
|
||||||
@@ -201,6 +202,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
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);
|
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');
|
||||||
await this.getAreaTree();
|
await this.getAreaTree();
|
||||||
@@ -221,7 +228,6 @@
|
|||||||
});
|
});
|
||||||
this.configId = res?.configId;
|
this.configId = res?.configId;
|
||||||
this.qrCode = res?.qrCode
|
this.qrCode = res?.qrCode
|
||||||
console.log('idid', res);
|
|
||||||
},
|
},
|
||||||
async getInfoHandler() {
|
async getInfoHandler() {
|
||||||
let res = await getSupplierInfo({
|
let res = await getSupplierInfo({
|
||||||
@@ -255,7 +261,6 @@
|
|||||||
}
|
}
|
||||||
if(_data?.serviceAreaCode) {
|
if(_data?.serviceAreaCode) {
|
||||||
this.$set(this.form, 'serviceAreaCode', _data?.serviceAreaCode.split(',').map(item => Number(item)));
|
this.$set(this.form, 'serviceAreaCode', _data?.serviceAreaCode.split(',').map(item => Number(item)));
|
||||||
// this.form.serviceAreaCode = _data?.serviceAreaCode.split(',').map(item => Number(item));
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
showError(msg) {
|
showError(msg) {
|
||||||
@@ -291,19 +296,6 @@
|
|||||||
this.showError('服务区域不能为空')
|
this.showError('服务区域不能为空')
|
||||||
return
|
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 ) {
|
if( this.$refs.tree.getCheckedKeys().length > 0 ) {
|
||||||
await this.saveHandler()
|
await this.saveHandler()
|
||||||
}
|
}
|
||||||
@@ -312,7 +304,6 @@
|
|||||||
let res = await getContactQrCodeResult({
|
let res = await getContactQrCodeResult({
|
||||||
configId: this.configId
|
configId: this.configId
|
||||||
});
|
});
|
||||||
console.log('resres', res)
|
|
||||||
this.wechatId = res?.data?.wechatId
|
this.wechatId = res?.data?.wechatId
|
||||||
},
|
},
|
||||||
async saveHandler() {
|
async saveHandler() {
|
||||||
@@ -335,17 +326,28 @@
|
|||||||
accountUrl:this.licensePhoto,
|
accountUrl:this.licensePhoto,
|
||||||
service: this.$refs.tree.getCheckedKeys().join(',') ,
|
service: this.$refs.tree.getCheckedKeys().join(',') ,
|
||||||
serviceAreaCode: checkArr.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) {
|
} catch (e) {
|
||||||
this.showError(e)
|
this.showError(e)
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -5,6 +5,12 @@
|
|||||||
<img class="wait_icon" src="@/assets/supplier/successIcon.png" alt="">
|
<img class="wait_icon" src="@/assets/supplier/successIcon.png" alt="">
|
||||||
<div class="info-tip">信息录入完成,请等待审核结果。</div>
|
<div class="info-tip">信息录入完成,请等待审核结果。</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="wei_code_wrap" v-if="name && id">
|
||||||
|
<div class="wei_title">请先添加企业微信,保证申请流程正常进行。</div>
|
||||||
|
<div class="wei_code_bg">
|
||||||
|
<img v-if="qrCodeUrl" :src="qrCodeUrl" alt="企业微信二维码" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="btn_wrap">
|
<div class="btn_wrap">
|
||||||
<div class="btn" @click="searchInfo">信息查看</div>
|
<div class="btn" @click="searchInfo">信息查看</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -12,22 +18,83 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import QRCode from 'qrcode'
|
||||||
|
import {getOrCodeInfo, getContactQrCodeResult, updateWechatId, getSupplierInfo} from "@/api/mine"
|
||||||
import {myMixins} from "@/utils/myMixins"
|
import {myMixins} from "@/utils/myMixins"
|
||||||
|
import {Toast} from "vant";
|
||||||
export default {
|
export default {
|
||||||
name: "supplierAddResult",
|
name: "supplierAddResult",
|
||||||
mixins:[myMixins],
|
mixins:[myMixins],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
id: '',
|
id: '',
|
||||||
|
name: '',
|
||||||
|
qrCodeUrl: '',
|
||||||
|
qrCode: '',
|
||||||
|
configId: '',
|
||||||
|
wechatId: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
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');
|
||||||
|
await this.getInfoHandler();
|
||||||
|
if (this.name && this.id) {
|
||||||
|
await this.QrCodeHandler();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
searchInfo() {
|
async getInfoHandler() {
|
||||||
this.goPage('supplierInfo', { id : this.id })
|
let res = await getSupplierInfo({
|
||||||
|
id: this.id
|
||||||
|
});
|
||||||
|
console.log('66666', res)
|
||||||
|
let _data = res?.data
|
||||||
|
this.wechatId = _data?.wechatId;
|
||||||
|
this.name = _data?.name;
|
||||||
|
},
|
||||||
|
async QrCodeHandler() {
|
||||||
|
await this.QrCodeInfo();
|
||||||
|
await this.getQrCode();
|
||||||
|
},
|
||||||
|
async QrCodeInfo() {
|
||||||
|
let res = await getOrCodeInfo({ name: this.name });
|
||||||
|
this.configId = res?.configId;
|
||||||
|
this.qrCode = res?.qrCode;
|
||||||
|
},
|
||||||
|
async getQrCode() {
|
||||||
|
try {
|
||||||
|
this.qrCodeUrl = await QRCode.toDataURL(this.qrCode, {
|
||||||
|
width: 150,
|
||||||
|
margin: 2,
|
||||||
|
color: { dark: '#000000', light: '#FFFFFF' },
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.error('生成二维码失败:', error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async QrCodeResult() {
|
||||||
|
let res = await getContactQrCodeResult({ configId: this.configId });
|
||||||
|
this.wechatId = res?.data?.wechatId;
|
||||||
|
},
|
||||||
|
async updateWechat() {
|
||||||
|
await updateWechatId({
|
||||||
|
wechatId: this.wechatId,
|
||||||
|
id: this.id
|
||||||
|
})
|
||||||
|
},
|
||||||
|
async searchInfo() {
|
||||||
|
if (!this.wechatId ) {
|
||||||
|
await this.QrCodeResult();
|
||||||
|
}
|
||||||
|
if (!this.wechatId) {
|
||||||
|
Toast('请先添加企微再查看信息');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(this.wechatId) {
|
||||||
|
await this.updateWechat()
|
||||||
|
this.goPage('supplierInfo', { id: this.id })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -80,4 +147,23 @@
|
|||||||
line-height: 46px;
|
line-height: 46px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.wei_code_wrap {
|
||||||
|
margin-top: 10px;
|
||||||
|
.wei_title {
|
||||||
|
font-size: 15px;
|
||||||
|
color: #FF553B;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.wei_code_bg {
|
||||||
|
width: 163px;
|
||||||
|
height: 173px;
|
||||||
|
background-image: url("~@/assets/supplier/weiCodeBg.png");
|
||||||
|
background-size: 100% 100%;
|
||||||
|
margin: 8px auto;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user