|
|
@@ -8,30 +8,31 @@
|
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules">
|
|
|
<el-row v-if="activeSteps === 1" :gutter="20">
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="项目名称" prop="nboName">
|
|
|
- <el-input v-model="form.nboName" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="关联客户" prop="custName">
|
|
|
<el-input
|
|
|
v-model="form.custName"
|
|
|
:disabled="Boolean(custInfo.custName)"
|
|
|
readonly
|
|
|
+ suffix-icon="el-icon-search"
|
|
|
@focus="handleSelectCustomer" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="项目来源" prop="nboSource">
|
|
|
- <el-select v-model="form.nboSource" clearable placeholder="项目来源" style="width: 100%">
|
|
|
- <el-option v-for="dict in nboSourceOptions" :key="dict.key" :label="dict.value" :value="dict.key" />
|
|
|
+ <el-form-item label="产品线" prop="productLine">
|
|
|
+ <el-select v-model="form.productLine" placeholder="请选择" style="width: 100%" @change="changeProductLine">
|
|
|
+ <el-option v-for="item in productLineOptions" :key="item.key" :label="item.value" :value="item.key" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="项目名称" prop="nboName">
|
|
|
+ <el-input v-model="form.nboName" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="主要联系人" prop="contactName">
|
|
|
- <el-input v-model="form.contactName" readonly @focus="handleSelectContact" />
|
|
|
+ <el-input v-model="form.contactName" readonly suffix-icon="el-icon-search" @focus="handleSelectContact" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
@@ -44,14 +45,26 @@
|
|
|
<el-input v-model="form.contactTelephone" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="项目来源" prop="nboSource">
|
|
|
+ <el-select v-model="form.nboSource" clearable placeholder="项目来源" style="width: 100%">
|
|
|
+ <el-option v-for="dict in nboSourceOptions" :key="dict.key" :label="dict.value" :value="dict.key" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="销售工程师" prop="saleName">
|
|
|
- <el-input v-model="form.saleName" readonly @focus="handleSelectSale" />
|
|
|
+ <el-input v-model="form.saleName" readonly suffix-icon="el-icon-search" @focus="handleSelectSale" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="销售模式" prop="salesModel">
|
|
|
- <el-select v-model="form.salesModel" clearable placeholder="销售模式" style="width: 100%">
|
|
|
+ <el-select
|
|
|
+ v-model="form.salesModel"
|
|
|
+ clearable
|
|
|
+ placeholder="销售模式"
|
|
|
+ style="width: 100%"
|
|
|
+ @change="changeSalesModel">
|
|
|
<el-option v-for="dict in salesModelOptions" :key="dict.key" :label="dict.value" :value="dict.key" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -62,16 +75,10 @@
|
|
|
v-model="form.distributorName"
|
|
|
:disabled="form.salesModel === '10'"
|
|
|
readonly
|
|
|
+ suffix-icon="el-icon-search"
|
|
|
@focus="handleSelectDistributor" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="产品线" prop="productLine">
|
|
|
- <el-select v-model="form.productLine" placeholder="请选择" style="width: 100%">
|
|
|
- <el-option v-for="item in productLineOptions" :key="item.key" :label="item.value" :value="item.key" />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="项目预算" prop="nboBudget">
|
|
|
<amount-input v-model.trim="form.nboBudget" placeholder="请输入金额" />
|
|
|
@@ -151,7 +158,11 @@
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="负责人员" prop="followUserName">
|
|
|
- <el-input v-model="form.followUserName" readonly @focus="handleSelectFollowUser" />
|
|
|
+ <el-input
|
|
|
+ v-model="form.followUserName"
|
|
|
+ readonly
|
|
|
+ suffix-icon="el-icon-search"
|
|
|
+ @focus="handleSelectFollowUser" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
@@ -229,9 +240,9 @@
|
|
|
return {
|
|
|
activeSteps: 1,
|
|
|
form: {
|
|
|
- nboName: undefined,
|
|
|
+ nboName: '',
|
|
|
custId: undefined,
|
|
|
- custName: undefined,
|
|
|
+ custName: '',
|
|
|
obtainTime: undefined,
|
|
|
nboSource: undefined,
|
|
|
contactId: undefined,
|
|
|
@@ -327,6 +338,12 @@
|
|
|
this.activeSteps++
|
|
|
}
|
|
|
},
|
|
|
+ changeSalesModel() {
|
|
|
+ this.distributorName = undefined
|
|
|
+ },
|
|
|
+ changeProductLine() {
|
|
|
+ this.form.nboName = this.form.custName + this.selectDictLabel(this.productLineOptions, this.form.productLine)
|
|
|
+ },
|
|
|
handleSelectCustomer() {
|
|
|
this.$refs.selectCustomer.open()
|
|
|
},
|
|
|
@@ -358,6 +375,13 @@
|
|
|
}
|
|
|
this.form.custId = val[0].id
|
|
|
this.form.custName = val.map((item) => item.custName).join()
|
|
|
+ this.form.contactId = undefined
|
|
|
+ this.form.contactName = undefined
|
|
|
+ this.form.contactPostion = undefined
|
|
|
+ this.form.contactTelephone = undefined
|
|
|
+
|
|
|
+ let productLineName = this.selectDictLabel(this.productLineOptions, this.form.productLine)
|
|
|
+ this.form.nboName = this.form.custName + productLineName
|
|
|
}
|
|
|
},
|
|
|
selectContact(val) {
|