Compare commits

..

9 Commits

5 changed files with 144 additions and 39 deletions

View File

@@ -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({

View File

@@ -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: '',
@@ -202,7 +203,14 @@
}, },
async mounted() { async mounted() {
const urlParams = new URLSearchParams(window.location.search); const urlParams = new URLSearchParams(window.location.search);
const lastRoute = localStorage.getItem('lastRoute');
this.id = this.$route.query.id || urlParams.get('id'); this.id = this.$route.query.id || urlParams.get('id');
if (lastRoute && !this.id) {
const { name, query } = JSON.parse(lastRoute);
this.$router.replace({ name, query });
return;
}
await this.getAreaTree(); await this.getAreaTree();
if(this.id) { if(this.id) {
await this.getInfoHandler(); await this.getInfoHandler();
@@ -221,7 +229,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 +262,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 +297,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 +305,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 +327,36 @@
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,
}); });
console.log('rererere', res)
if( res?.noToast ) { // 服务商已存在
this.showError('当前服务商已存在')
if( res?.code != 0 ) {
Dialog.alert({
title: '提示',
message: "该服务商已存在,查看信息"
}).then(async () => {
const target = { name: 'supplierAddResult', query: { id: res?.code } };
localStorage.setItem('lastRoute', JSON.stringify(target));
this.goPage('supplierAddResult', { id : res?.code })
setTimeout(() => {
this.clickFlag = true
}, 1000)
});
}
} else {
Dialog.alert({ Dialog.alert({
title: '提示', title: '提示',
message: "操作成功" message: "操作成功"
}).then(async () => { }).then(async () => {
const target = { name: 'supplierAddResult', query: { id: res?.data } };
localStorage.setItem('lastRoute', JSON.stringify(target));
this.goPage('supplierAddResult', { id : res?.data }) this.goPage('supplierAddResult', { id : res?.data })
setTimeout(() => { setTimeout(() => {
this.clickFlag = true this.clickFlag = true
}, 1000) }, 1000)
}); });
}
} catch (e) { } catch (e) {
this.showError(e) this.showError(e)
} finally { } finally {

View File

@@ -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>

View File

@@ -87,11 +87,11 @@
</div> </div>
<div class="info_item"> <div class="info_item">
<div class="label">拖车数量</div> <div class="label">拖车数量</div>
<div class="content">{{supplierInfo?.trailCount || ''}}</div> <div class="content">{{supplierInfo.trailCount>=0 ? supplierInfo.trailCount : ''}}</div>
</div> </div>
<div class="info_item"> <div class="info_item">
<div class="label">抢修车数量</div> <div class="label">抢修车数量</div>
<div class="content">{{supplierInfo?.minorCount || ''}}</div> <div class="content">{{supplierInfo.minorCount >= 0 ? supplierInfo.minorCount : ''}}</div>
</div> </div>
<div class="info_item"> <div class="info_item">
<div class="label">服务区域</div> <div class="label">服务区域</div>

View File

@@ -507,7 +507,6 @@ export default {
}) })
}, },
async compute() { async compute() {
alert(11111)
if(this.orderInfo.contractSettleTypeString == '车主现收'){ if(this.orderInfo.contractSettleTypeString == '车主现收'){
this.form.supplierBasePrice = 0 this.form.supplierBasePrice = 0
this.form.supplierExtraPrice = 0 this.form.supplierExtraPrice = 0
@@ -754,7 +753,7 @@ export default {
formData.append('state', 0); formData.append('state', 0);
formData.append('postfix', this.postfix); formData.append('postfix', this.postfix);
formData.append('supplierBridgeAmount', parseInt(this.form.supplierBridgeAmountAb || 0) + parseInt(this.form.supplierBridgeAmountBc || 0) + parseInt(this.form.supplierBridgeAmountCa || 0)); formData.append('supplierBridgeAmount', parseInt(this.form.supplierBridgeAmountAb || 0) + parseInt(this.form.supplierBridgeAmountBc || 0) + parseInt(this.form.supplierBridgeAmountCa || 0));
/*let res = await updateAccountRecordInfo(formData); let res = await updateAccountRecordInfo(formData);
if (res.code === 200) { if (res.code === 200) {
this.$toast('操作成功') this.$toast('操作成功')
setTimeout(() => { setTimeout(() => {
@@ -767,7 +766,7 @@ export default {
} }
}) })
}, 2000) }, 2000)
}*/ }
this.loading = false; this.loading = false;
}, },
async confirmAudit() { async confirmAudit() {
@@ -849,7 +848,7 @@ export default {
formData.append('state', 0); formData.append('state', 0);
formData.append('postfix', this.postfix); formData.append('postfix', this.postfix);
formData.append('supplierBridgeAmount', parseInt(this.form.supplierBridgeAmountAb || 0) + parseInt(this.form.supplierBridgeAmountBc || 0) + parseInt(this.form.supplierBridgeAmountCa || 0)); formData.append('supplierBridgeAmount', parseInt(this.form.supplierBridgeAmountAb || 0) + parseInt(this.form.supplierBridgeAmountBc || 0) + parseInt(this.form.supplierBridgeAmountCa || 0));
/*let res = await updateAccountRecordInfo(formData); let res = await updateAccountRecordInfo(formData);
if (res.code === 200) { if (res.code === 200) {
this.$toast('操作成功') this.$toast('操作成功')
setTimeout(() => { setTimeout(() => {
@@ -862,7 +861,7 @@ export default {
} }
}) })
}, 2000) }, 2000)
}*/ }
this.loading1 = false; this.loading1 = false;
}, },