|
@@ -13,42 +13,42 @@
|
|
|
label-width="120px"
|
|
|
inline
|
|
|
:rules="rules"
|
|
|
- :disabled="!isEditModel"
|
|
|
+ :disabled="true"
|
|
|
class="first-step-form"
|
|
|
>
|
|
|
<div class="form-line">
|
|
|
- <el-form-item label="商家名称" prop="name">
|
|
|
- <el-input disabled placeholder="请输入商家名称" v-model="firstFormData.name"/>
|
|
|
+ <el-form-item label="商家名称" prop="BusinessName">
|
|
|
+ <el-input disabled placeholder="请输入商家名称" v-model="firstFormData.BusinessName"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="商家ID" prop="id">
|
|
|
- <el-input disabled placeholder="请输入商家ID" v-model="firstFormData.id"/>
|
|
|
+ <el-form-item label="商家ID" prop="BusinessCode">
|
|
|
+ <el-input disabled placeholder="请输入商家ID" v-model="firstFormData.BusinessCode"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="form-line">
|
|
|
- <el-form-item label="所属区域" prop="areaType">
|
|
|
- <el-radio-group v-model="firstFormData.areaType" disabled>
|
|
|
- <el-radio :label="1" border>国内</el-radio>
|
|
|
- <el-radio :label="2" border>海外</el-radio>
|
|
|
+ <el-form-item label="所属区域" prop="RegionType">
|
|
|
+ <el-radio-group v-model="firstFormData.RegionType" disabled>
|
|
|
+ <el-radio label="国内" border>国内</el-radio>
|
|
|
+ <el-radio label="海外" border>海外</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="商家地址" prop="city">
|
|
|
+ <el-form-item label="商家地址" prop="address">
|
|
|
<el-cascader
|
|
|
v-model="firstFormData.address"
|
|
|
:props="locationProps"
|
|
|
clearable
|
|
|
:options="locationOptions"
|
|
|
- @change="handleChangeLocation"
|
|
|
+ @change="selectRegion"
|
|
|
placeholder="请选择客户地址"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="form-line">
|
|
|
- <el-form-item label="社会信用码" prop="creditCode">
|
|
|
- <el-input disabled placeholder="请输入社会信用码" v-model="firstFormData.creditCode"/>
|
|
|
+ <el-form-item label="社会信用码" prop="CreditCode">
|
|
|
+ <el-input disabled placeholder="请输入社会信用码" v-model="firstFormData.CreditCode"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="研究团队规模" prop="teamSize">
|
|
|
+ <el-form-item label="研究团队规模" prop="ResearchTeamSize">
|
|
|
<el-select
|
|
|
- v-model="firstFormData.teamSize"
|
|
|
+ v-model="firstFormData.ResearchTeamSize"
|
|
|
placeholder="请选择研究团队规模"
|
|
|
clearable
|
|
|
>
|
|
@@ -62,12 +62,12 @@
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="form-line">
|
|
|
- <el-form-item label="决策人" prop="decisionMaker">
|
|
|
- <el-input placeholder="请输入决策人" v-model="firstFormData.decisionMaker"/>
|
|
|
+ <el-form-item label="决策人" prop="Leader">
|
|
|
+ <el-input placeholder="请输入决策人" v-model="firstFormData.Leader"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="所属行业" prop="industry">
|
|
|
+ <el-form-item label="所属行业" prop="IndustryId">
|
|
|
<el-select
|
|
|
- v-model="firstFormData.industry"
|
|
|
+ v-model="firstFormData.IndustryId"
|
|
|
placeholder="请选择行业"
|
|
|
clearable
|
|
|
>
|
|
@@ -81,27 +81,16 @@
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="form-line">
|
|
|
- <el-form-item label="资金规模" prop="fundsize">
|
|
|
- <el-input placeholder="请输入资金规模" v-model="firstFormData.fundsize"/>
|
|
|
+ <el-form-item label="资金规模" prop="CapitalScale">
|
|
|
+ <el-input placeholder="请输入资金规模" v-model="firstFormData.CapitalScale"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="用户上限" prop="userMax">
|
|
|
- <el-input type="number" placeholder="请输入用户上限" v-model="firstFormData.userMax"/>
|
|
|
+ <el-form-item label="用户上限" prop="UserMax">
|
|
|
+ <el-input type="number" placeholder="请输入用户上限" v-model="firstFormData.UserMax"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="form-line">
|
|
|
- <el-form-item label="所属销售" prop="saller">
|
|
|
- <el-select
|
|
|
- v-model="firstFormData.saller"
|
|
|
- placeholder="请选择销售"
|
|
|
- filterable
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in salesArr"
|
|
|
- :key="item.AdminId"
|
|
|
- :label="item.RealName"
|
|
|
- :value="item.AdminId"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
+ <el-form-item label="所属销售" prop="SellerName">
|
|
|
+ <el-input disabled placeholder="请输入销售" v-model="firstFormData.SellerName"/>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
|
|
@@ -118,42 +107,60 @@
|
|
|
>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <el-button v-if="isEditModel" type="text">添加续约</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="business-other">
|
|
|
- <div class="btn-wrap"></div>
|
|
|
+ <div class="btn-wrap">
|
|
|
+ <el-button type="primary" @click="$router.push({
|
|
|
+ path:'/editETABusiness',
|
|
|
+ query:{
|
|
|
+ id:firstFormData.EtaBusinessId
|
|
|
+ }
|
|
|
+ })">编辑</el-button>
|
|
|
+ </div>
|
|
|
<div class="time-line-wrap">
|
|
|
<el-timeline>
|
|
|
<el-timeline-item
|
|
|
v-for="(activity, index) in activities"
|
|
|
:key="index"
|
|
|
+ color="#409EFF"
|
|
|
:timestamp="activity.CreateTime">
|
|
|
+ <template slot="dot">
|
|
|
+ <div class="dot-wrap">
|
|
|
+ <div class="dot-inner"></div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
{{activity.OperationRemark}}
|
|
|
</el-timeline-item>
|
|
|
</el-timeline>
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
+ <!-- 添加续约 -->
|
|
|
+ <el-dialog
|
|
|
+ title="添加续约"
|
|
|
+ :visible.sync="showRenewal"
|
|
|
+ :modal-append-to-body="false"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ @closed="showRenewal=false"
|
|
|
+ width="580px"
|
|
|
+ >
|
|
|
+ <AddRenewal
|
|
|
+ @addRenewal="handleAddRenewal"
|
|
|
+ @close="showRenewal=false"/>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { customInterence } from '@/api/api.js'
|
|
|
-import autocomplete from "@/components/autocomplete.vue";
|
|
|
+import { customInterence , businessCustomInterence} from '@/api/api.js'
|
|
|
import Steps from "./components/Steps.vue";
|
|
|
+import AddRenewal from "./components/AddRenewal";
|
|
|
import {locationOptions} from "@/views/custom_manage/customList/location"
|
|
|
export default {
|
|
|
- components: {autocomplete,Steps},
|
|
|
+ components: {Steps,AddRenewal},
|
|
|
data() {
|
|
|
return {
|
|
|
- stepsArr:[{
|
|
|
- finished:false,
|
|
|
- text:'基础信息'
|
|
|
- },{
|
|
|
- finished:false,
|
|
|
- text:'签约信息'
|
|
|
- }],
|
|
|
locationOptions,
|
|
|
locationProps:{
|
|
|
value:'name',
|
|
@@ -161,17 +168,6 @@ export default {
|
|
|
label:'name'
|
|
|
},
|
|
|
|
|
|
- isCheckCompanyInfo:false, //
|
|
|
- checkCompanyfocusIs:false, //
|
|
|
- inquireSuccess:false,
|
|
|
- nameRepeat:false,
|
|
|
- codeRepeat:false,
|
|
|
- isCheck:false,//检查客户弹窗
|
|
|
- repeatId:'',//重复公司id
|
|
|
- repeatName:'',//重复公司类型
|
|
|
-
|
|
|
- salesArr:[],
|
|
|
-
|
|
|
step:1,//第几步
|
|
|
teamSizeOpts:[
|
|
|
{
|
|
@@ -189,16 +185,16 @@ export default {
|
|
|
],
|
|
|
tradeArr:[],
|
|
|
firstFormData:{
|
|
|
- areaType:1,//1国内 2国外
|
|
|
- name:'',
|
|
|
- creditCode:'',
|
|
|
- address:'',
|
|
|
- decisionMaker:'',
|
|
|
- teamSize:'',
|
|
|
- fundsize:'',
|
|
|
- industry:'',
|
|
|
- userMax:'',
|
|
|
- saller:''
|
|
|
+ RegionType:'',//1国内 2国外
|
|
|
+ BusinessName:'',
|
|
|
+ CreditCode:'',
|
|
|
+ Address:'',
|
|
|
+ Leader:'',
|
|
|
+ ResearchTeamSize:'',
|
|
|
+ CapitalScale:'',
|
|
|
+ IndustryId:'',
|
|
|
+ UserMax:'',
|
|
|
+ SellerId:'',
|
|
|
},
|
|
|
rules:{
|
|
|
address:[{ required: true, message: '请选择商家地址', trigger: 'change' },],
|
|
@@ -222,80 +218,16 @@ export default {
|
|
|
}
|
|
|
],
|
|
|
activities:[],
|
|
|
- isEditModel:false,
|
|
|
-
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
this.getIndustry()
|
|
|
- this.getSale()
|
|
|
this.getBusinessDetail()
|
|
|
},
|
|
|
methods: {
|
|
|
- async callbackHandle(data,cb) {
|
|
|
- if (data) {
|
|
|
- this.isCheckCompanyInfo =true
|
|
|
- cb([]);
|
|
|
- let res = await customInterence.companyQccSearch({ KeyWord: data});
|
|
|
- if (res.Ret === 200) {
|
|
|
- this.isCheckCompanyInfo =false;
|
|
|
- if (res.Data && res.Data.length > 0) {
|
|
|
- let arr = res.Data.map((item) => {
|
|
|
- return { value:item.Name, ...item };
|
|
|
- });
|
|
|
- cb(arr);
|
|
|
- }else{
|
|
|
- cb([{}]);
|
|
|
- // this.checkCompany()
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- checkCompanyfocus(){
|
|
|
- this.checkCompanyfocusIs =true;
|
|
|
- setTimeout(() => {
|
|
|
- this.checkCompanyfocusIs =false;
|
|
|
- },500)
|
|
|
- },
|
|
|
-
|
|
|
- //选中后增加社会信用码
|
|
|
- customNameSelect(value) {
|
|
|
- this.firstFormData.creditCode = value.CreditCode
|
|
|
- this.inquireSuccess = true;
|
|
|
- setTimeout(async()=>{
|
|
|
- this.checkCompany()
|
|
|
- },10)
|
|
|
- },
|
|
|
-
|
|
|
- /* 客户名称/信用码失焦时校验客户名称是否存在 存在就提示 */
|
|
|
- checkCompany() {
|
|
|
- setTimeout(()=>{
|
|
|
- if(this.checkCompanyfocusIs) return
|
|
|
- if((!this.firstFormData.name && !this.firstFormData.creditCode) || (this.isCheckCompanyInfo && this.firstFormData.name)) return
|
|
|
- customInterence.checkCompanyInfo({
|
|
|
- CompanyName:this.firstFormData.name,
|
|
|
- CreditCode:this.firstFormData.creditCode
|
|
|
- }).then(res =>{
|
|
|
- if(res.Ret === 200){
|
|
|
- if(res.Data.RepeatStatus > 0) {
|
|
|
- this.repeatId = res.Data.CompanyId;
|
|
|
- this.repeatName = res.Data.ProductName;
|
|
|
- this.nameRepeat = res.Data.RepeatStatus
|
|
|
- this.codeRepeat = res.Data.Status
|
|
|
- this.isCheck = true;
|
|
|
- }else {
|
|
|
- this.nameRepeat = 0
|
|
|
- this.isCheck = false;
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- },500)
|
|
|
- },
|
|
|
-
|
|
|
selectRegion(e){
|
|
|
- this.firstFormData.province=e.province.value
|
|
|
- this.firstFormData.city=e.city.value =='市'?'':e.city.value;
|
|
|
+ this.firstFormData.province=e[0]
|
|
|
+ this.firstFormData.city=e[1]
|
|
|
},
|
|
|
/* 根据类型获取行业 */
|
|
|
getIndustry() {
|
|
@@ -307,86 +239,122 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- /* 获取销售 */
|
|
|
- getSale() {
|
|
|
- customInterence.saleslist().then(res => {
|
|
|
- if(res.Ret === 200) {
|
|
|
- this.salesArr = res.Data.List;
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
changeActiveStep(index){
|
|
|
this.step = index + 1
|
|
|
},
|
|
|
- //获取商家详情
|
|
|
+ // 获取商家详情
|
|
|
getBusinessDetail(){
|
|
|
- if(this.$route.path==='/editETABusiness'){
|
|
|
- this.isEditModel = true
|
|
|
- }
|
|
|
//query id
|
|
|
- this.firstFormData={
|
|
|
- id:'11111',
|
|
|
- areaType:1,
|
|
|
- name:'我是商家我是商家',
|
|
|
- creditCode:'123456',
|
|
|
- address:['浙江省','杭州市'],
|
|
|
- decisionMaker:'aaa',
|
|
|
- teamSize:'200人及以下',
|
|
|
- fundsize:'100w',
|
|
|
- industry:1,
|
|
|
- userMax:100,
|
|
|
- saller:578
|
|
|
- }
|
|
|
+ businessCustomInterence.getBusinessDetail({
|
|
|
+ EtaBusinessId:Number(this.$route.query.id)
|
|
|
+ }).then(res=>{
|
|
|
+ if(res.Ret !== 200)return
|
|
|
+ this.firstFormData = res.Data
|
|
|
+ const splitIndex = this.firstFormData.Address.indexOf('省')+1
|
|
|
+ this.firstFormData.address = [this.firstFormData.Address.slice(0,splitIndex),this.firstFormData.Address.slice(splitIndex)]
|
|
|
+ })
|
|
|
//获取签约详情
|
|
|
- this.getTableData()
|
|
|
+ this.getTableData(Number(this.$route.query.id))
|
|
|
//获取操作日志列表
|
|
|
- this.getTimeLineData()
|
|
|
+ this.getTimeLineData(Number(this.$route.query.id))
|
|
|
},
|
|
|
- getTableData(){
|
|
|
- this.recordData = [
|
|
|
- {
|
|
|
- SigningTime:'2023/7/26',
|
|
|
- ExpiredTime:'2023/7/26',
|
|
|
- ExpireDay:20
|
|
|
- }
|
|
|
- ]
|
|
|
+ // 获取签约详情
|
|
|
+ getTableData(id){
|
|
|
+ businessCustomInterence.getContractList({
|
|
|
+ EtaBusinessId:id
|
|
|
+ }).then(res=>{
|
|
|
+ if(res.Ret !== 200) return
|
|
|
+ this.recordData = res.Data||[]
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ // 获取操作日志详情
|
|
|
+ getTimeLineData(id){
|
|
|
+ businessCustomInterence.getTimeLineList({
|
|
|
+ EtaBusinessId:id
|
|
|
+ }).then(res=>{
|
|
|
+ if(res.Ret!==200) return
|
|
|
+ this.activities = res.Data||[]
|
|
|
+ })
|
|
|
},
|
|
|
- getTimeLineData(){}
|
|
|
},
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-.business-detail{
|
|
|
- padding:30px;
|
|
|
- box-sizing: border-box;
|
|
|
+.business-detail-wrap{
|
|
|
+ display: flex;
|
|
|
background-color: #fff;
|
|
|
min-width: 1100px;
|
|
|
- height: calc(100vh - 120px);
|
|
|
- .first-step-form-wrap,.second-step-form-wrap{
|
|
|
- margin-top:60px;
|
|
|
- border-top: 1px solid #DCDCDC;
|
|
|
+ min-height: calc(100vh - 120px);
|
|
|
+ padding:30px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ gap:10%;
|
|
|
+ .business-detail{
|
|
|
width:70%;
|
|
|
+ .first-step-form-wrap,.second-step-form-wrap{
|
|
|
+ margin-top:60px;
|
|
|
+ border-top: 1px solid #DCDCDC;
|
|
|
+ }
|
|
|
+ .el-form{
|
|
|
+ .form-line{
|
|
|
+ margin:30px 0;
|
|
|
+ border-bottom: 1px solid #DCDCDC;
|
|
|
+ .el-input,.el-select,.el-cascader,.el-radio-group{
|
|
|
+ width:360px;
|
|
|
+ }
|
|
|
+ .el-radio-group{
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ .el-radio{
|
|
|
+ width: 165px;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .el-table{
|
|
|
+ margin-top: 30px;
|
|
|
+ }
|
|
|
}
|
|
|
- .el-form{
|
|
|
- .form-line{
|
|
|
- margin:30px 0;
|
|
|
- border-bottom: 1px solid #DCDCDC;
|
|
|
- .el-input,.el-select,.el-cascader,.el-radio-group{
|
|
|
- width:360px;
|
|
|
+ .business-other{
|
|
|
+ flex: 1;
|
|
|
+ .btn-wrap{
|
|
|
+ display: flex;
|
|
|
+ gap:30px;
|
|
|
+ .el-button{
|
|
|
+ flex:1;
|
|
|
}
|
|
|
- .el-radio-group{
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- .el-radio{
|
|
|
- width: 165px;
|
|
|
- text-align: center;
|
|
|
+ }
|
|
|
+ .time-line-wrap{
|
|
|
+ margin-top:30px;
|
|
|
+ border:1px solid #DCDFE6;
|
|
|
+ border-radius: 4px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ padding: 30px;
|
|
|
+ max-height: calc(100vh - 250px);
|
|
|
+ overflow-y: auto;
|
|
|
+ .dot-wrap{
|
|
|
+ width:12px;
|
|
|
+ height:12px;
|
|
|
+ border:6px solid #fff;
|
|
|
+ background-color: #3385FF;
|
|
|
+ position: absolute;
|
|
|
+ left:-6px;
|
|
|
+ top:0;
|
|
|
+ border-radius: 50%;
|
|
|
+ .dot-inner{
|
|
|
+ position: absolute;
|
|
|
+ left:3px;
|
|
|
+ top:3px;
|
|
|
+ width:6px;
|
|
|
+ height: 6px;
|
|
|
+ border-radius: 50%;
|
|
|
+ background-color: #fff;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .el-table{
|
|
|
- margin-top: 30px;
|
|
|
- }
|
|
|
}
|
|
|
+
|
|
|
</style>
|