CRM_25-10-15#story#7316,服务商体系新增潜在服务商--曹智龙

This commit is contained in:
2025-10-14 10:30:13 +08:00
parent 97f6e47a00
commit bb98eff5ae
3 changed files with 536 additions and 125 deletions

View File

@ -1,25 +1,25 @@
<template>
<div>
<div class="nav_bar_bg status_danger">
<template v-if="false">
<div class="wrap">
<div class="nav_bar_bg" :class="{ 'status_wait': supplierInfo?.state == 0, 'status_danger': supplierInfo?.state == 99, 'status_success': supplierInfo?.state == 1 }">
<template v-if="supplierInfo?.state == 0">
<div class="status_wrap">
<img class="wait_icon" src="@/assets/supplier/waitIcon.png" alt="">
<span class="wait_status">审批中</span>
</div>
</template>
<template v-if="false">
<template v-if="supplierInfo?.state == 1">
<div class="status_wrap">
<img class="wait_icon" src="@/assets/supplier/successIcon.png" alt="">
<span class="wait_status success_status">恭喜你审核通过</span>
</div>
</template>
<template>
<template v-if="supplierInfo?.state == 99">
<div class="status_wrap">
<img class="wait_icon" src="@/assets/supplier/failIcon.png" alt="">
<span class="wait_status danger_status">审核不通过</span>
</div>
<div class="danger_tip">
不知道是多是少就按照这样给字号了不知道不知道是多是少就按照这样给字号了不知道不知道是多是少就按照这样给字号了不知道
{{supplierInfo?.failReason}}
</div>
</template>
</div>
@ -29,15 +29,15 @@
<div class="credentials_wrap">
<div class="credentials_item">
<div class="credentials_title">1. 法人身份证正面</div>
<img src="@/assets/supplier/idCardPerson.png" alt="">
<img :src="supplierInfo?.idCardFrontUrl" alt="">
</div>
<div class="credentials_item ml2">
<div class="credentials_title">2. 法人身份证反面</div>
<img src="@/assets/supplier/idCardPerson.png" alt="">
<img :src="supplierInfo?.idCardBackUrl" alt="">
</div>
<div class="credentials_item ml2">
<div class="credentials_title">3. 营业执照</div>
<img src="@/assets/supplier/idCardPerson.png" alt="">
<img :src="supplierInfo?.businessLicense" alt="">
</div>
</div>
</div>
@ -46,46 +46,76 @@
<div class="info_wrap">
<div class="info_item">
<div class="label">服务商名称</div>
<div class="content">苏州速道汽车服务有限公司</div>
<div class="content">{{supplierInfo?.name}}</div>
</div>
<div class="info_item">
<div class="label">法人姓名</div>
<div class="content">666</div>
<div class="content">{{supplierInfo?.legalName}}</div>
</div>
<div class="info_item">
<div class="label">联系人姓名</div>
<div class="content">666</div>
<div class="content">{{supplierInfo?.linkName}}</div>
</div>
<div class="info_item">
<div class="label">联系电话</div>
<div class="content">666</div>
<div class="content">{{supplierInfo?.linkPhone}}</div>
</div>
<div class="info_item">
<div class="label">服务能力</div>
<div class="content service_color">拖车服务抢修服务</div>
<div class="content service_color">{{supplierInfo?.serviceAreaName}}</div>
</div>
<div class="info_item">
<div class="label">拖车数量</div>
<div class="content">23</div>
<div class="content">{{supplierInfo?.trailCount || ''}}</div>
</div>
<div class="info_item">
<div class="label">抢修车数量</div>
<div class="content">12</div>
<div class="content">{{supplierInfo?.minorCount || ''}}</div>
</div>
<div class="info_item">
<div class="label">服务区域</div>
<div class="content">//</div>
<div class="content">{{supplierInfo?.serviceName}}</div>
</div>
<template v-if="type == 'audit'">
<div class="info_item">
<div class="label"><span style="color: red;margin-right: 2px">*</span>审批</div>
<div class="content">
<van-radio-group v-model="form.state" direction="horizontal" icon-size="18px">
<van-radio name="1">审批通过</van-radio>
<van-radio name="99">审批不通过</van-radio>
</van-radio-group>
</div>
</div>
<div class="info_item" v-if="form.state == 1">
<div class="label"><span style="color: red;margin-right: 2px">*</span>服务商简称</div>
<div class="content">
<el-input style="width: 100%" v-model.trim="form.abbr" placeholder="请输入服务商简称"></el-input>
</div>
</div>
<div class="info_item" v-if="form.state == 99">
<div class="label"><span style="color: red;margin-right: 2px">*</span>不通过原因</div>
<div class="content">
<textarea class="report_textarea" rows="4" maxlength="200" show-word-limit placeholder="点击这里输入不通过原因" v-model.trim="form.failReason"></textarea>
</div>
</div>
</template>
</div>
</div>
<div class="btn_wrap">
修改信息
<div class="btn_wrap" v-if="type == 'show' && supplierInfo?.state == 99">
<div class="btn" @click="goModifyPage">修改信息</div>
</div>
<div class="btn_wrap" v-if="type == 'audit'">
<div class="btn" v-if="type == 'audit'" @click="auditSupplier"> </div>
</div>
</div>
</div>
</template>
<script>
import { getSupplierInfo, auditSupplier } from "@/api/mine"
import {myMixins} from "@/utils/myMixins"
export default {
name: "supplierInfo",
@ -93,12 +123,77 @@
data() {
return {
id:'', //车辆Id
form: {
state: '',
abbr: '',
failReason: '',
},
supplierInfo: {},
type: 'show',
}
},
async mounted() {
const urlParams = new URLSearchParams(window.location.search);
this.id=this.$route.query.id || urlParams.get('id');
this.type=this.$route.query.type || urlParams.get('type') || 'show';
await this.getInfoHandler();
},
methods: {
goModifyPage() {
this.goPage('supplierAdd', { id : this.id })
},
async auditSupplier() {
if( !this.form.state ) {
this.$toast('请选择审批结果')
return
}
if( this.form.state == 99 && !this.form.failReason ) {
this.$toast('请输入不通过原因')
return
}
if( this.form.state == 1 && !this.form.abbr ) {
this.$toast('请输入服务商简称')
return
}
try {
await auditSupplier({
id: this.id,
...this.form,
wechatId: 'test', // 参数将会被去掉
})
} finally {
this.closeParentDialog();
}
},
async getInfoHandler() {
let res = await getSupplierInfo({
id: this.id,
});
this.supplierInfo = res?.data;
console.log('res', res)
},
}
}
</script>
<style scoped lang="scss">
@import "@/styles/mixin.scss";
@import "@/styles/common.scss";
.report_textarea {
width: 100%;
box-sizing: border-box;
border-radius: 6px;
min-height: 95px;
border: 1px solid #E2EAF6;
padding: 10px;
font-size: 13px;
}
.wrap{
@include wh(100%,100%);
box-sizing: border-box;
padding-bottom: 100px;
overflow-y: auto;
}
.nav_bar_bg {
width: 100%;
height: 125px;
@ -185,7 +280,7 @@
}
.company_info {
margin-top: 20px;
.company_wrap {
/*.company_wrap {*/
.info_wrap {
margin-top: 10px;
.info_item {
@ -207,20 +302,28 @@
color: rgba(230, 155, 11, 0.9);
}
}
}
/*}*/
}
}
.btn_wrap {
width: calc(100% - 80px);
height: 46px;
width: 100%;
padding: 15px 0;
position: fixed;
bottom: 20px;
left: 40px;
background: #0E76F4;
border-radius: 5px;
font-size: 15px;
color: #FFFFFF;
text-align: center;
line-height: 46px;
bottom: 0;
background: #F7F7F9;
box-shadow: 0px -7px 24px 0px rgba(0, 0, 0, 0.11);
z-index: 10000 !important;
left: 0;
.btn {
width: calc(100% - 80px);
margin-left: 40px;
height: 46px;
background: #0E76F4;
border-radius: 5px;
font-size: 15px;
color: #FFFFFF;
text-align: center;
line-height: 46px;
}
}
</style>