|
|
@@ -8,12 +8,12 @@
|
|
|
|
|
|
<el-form ref="form" :model="form" :rules="rules">
|
|
|
<el-row v-if="activeSteps === 1" :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="8">
|
|
|
<el-form-item label="项目名称" prop="nboName">
|
|
|
<el-input v-model="form.nboName" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="8">
|
|
|
<el-form-item label="关联客户" prop="custName">
|
|
|
<el-input
|
|
|
v-model="form.custName"
|
|
|
@@ -22,46 +22,46 @@
|
|
|
@focus="handleSelectCustomer" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="获取日期" prop="obtainTime">
|
|
|
- <el-date-picker v-model="form.obtainTime" placeholder="选择日期" style="width: 100%" type="datetime" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <!-- <el-col :span="12">-->
|
|
|
+ <!-- <el-form-item label="获取日期" prop="obtainTime">-->
|
|
|
+ <!-- <el-date-picker v-model="form.obtainTime" placeholder="选择日期" style="width: 100%" type="datetime" />-->
|
|
|
+ <!-- </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="12">
|
|
|
+ <el-col :span="8">
|
|
|
<el-form-item label="主要联系人" prop="contactName">
|
|
|
<el-input v-model="form.contactName" readonly @focus="handleSelectContact" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="8">
|
|
|
<el-form-item label="职位" prop="contactPostion">
|
|
|
<el-input v-model="form.contactPostion" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="8">
|
|
|
<el-form-item label="联系电话" prop="contactTelephone">
|
|
|
<el-input v-model="form.contactTelephone" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="8">
|
|
|
<el-form-item label="销售工程师" prop="saleName">
|
|
|
<el-input v-model="form.saleName" readonly @focus="handleSelectSale" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="8">
|
|
|
<el-form-item label="销售模式" prop="salesModel">
|
|
|
<el-select v-model="form.salesModel" clearable placeholder="销售模式" style="width: 100%">
|
|
|
<el-option v-for="dict in salesModelOptions" :key="dict.key" :label="dict.value" :value="dict.key" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="8">
|
|
|
<el-form-item label="经销商/代理商" prop="distributorName">
|
|
|
<el-input
|
|
|
v-model="form.distributorName"
|
|
|
@@ -70,10 +70,54 @@
|
|
|
@focus="handleSelectDistributor" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="项目预算" prop="nboBudget">
|
|
|
+ <amount-input v-model.trim="form.nboBudget" placeholder="请输入金额" :value="form.nboBudget" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :span="8">-->
|
|
|
+ <!-- <el-form-item label="预计成交价格" prop="estTransPrice">-->
|
|
|
+ <!-- <amount-input v-model.trim="form.estTransPrice" placeholder="请输入金额" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- </el-col>-->
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="预计成交时间" prop="estTransTime">
|
|
|
+ <el-date-picker v-model="form.estTransTime" placeholder="选择日期" style="width: 100%" type="datetime" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="计划采购时间" prop="planPurchaseTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.planPurchaseTime"
|
|
|
+ placeholder="选择日期"
|
|
|
+ style="width: 100%"
|
|
|
+ type="datetime" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="风险情况" prop="riskProfile">
|
|
|
+ <el-input v-model="form.riskProfile" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="困难点" prop="difficulty">
|
|
|
+ <el-input v-model="form.difficulty" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="竞争公司" prop="competitor">
|
|
|
+ <el-input v-model="form.competitor" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="介入情况" prop="intervention">
|
|
|
+ <el-input v-model="form.intervention" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
|
|
|
- <el-col :span="24">
|
|
|
+ <el-col :span="16">
|
|
|
<el-form-item label="备注信息" prop="remark">
|
|
|
- <el-input v-model="form.remark" placeholder="请输入备注信息" rows="5" show-word-limit type="textarea" />
|
|
|
+ <el-input v-model="form.remark" placeholder="请输入备注信息" rows="3" show-word-limit type="textarea" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -139,6 +183,7 @@
|
|
|
|
|
|
<script>
|
|
|
import businessApi from '@/api/proj/business'
|
|
|
+ import AmountInput from '@/components/currency'
|
|
|
import ProductTable from './ProductTable'
|
|
|
import SelectContact from '@/components/select/SelectCustomerContact'
|
|
|
import SelectCustomer from '@/components/select/SelectCustomer'
|
|
|
@@ -148,7 +193,15 @@
|
|
|
|
|
|
export default {
|
|
|
name: 'BusinessEdit',
|
|
|
- components: { ProductTable, SelectContact, SelectProduct, SelectDistributor, SelectCustomer, SelectUser },
|
|
|
+ components: {
|
|
|
+ AmountInput,
|
|
|
+ ProductTable,
|
|
|
+ SelectContact,
|
|
|
+ SelectProduct,
|
|
|
+ SelectDistributor,
|
|
|
+ SelectCustomer,
|
|
|
+ SelectUser,
|
|
|
+ },
|
|
|
props: {
|
|
|
// 客户信息{ custId: id, custName: custName}
|
|
|
custInfo: {
|
|
|
@@ -180,6 +233,14 @@
|
|
|
saleName: undefined,
|
|
|
distributorId: undefined,
|
|
|
distributorName: undefined,
|
|
|
+ nboBudget: 0,
|
|
|
+ planPurchaseTime: undefined,
|
|
|
+ estTransTime: undefined,
|
|
|
+ estTransPrice: undefined,
|
|
|
+ riskProfile: undefined,
|
|
|
+ difficulty: undefined,
|
|
|
+ competitor: undefined,
|
|
|
+ intervention: undefined,
|
|
|
remark: undefined,
|
|
|
products: undefined,
|
|
|
|
|
|
@@ -231,6 +292,7 @@
|
|
|
},
|
|
|
methods: {
|
|
|
nextStep() {
|
|
|
+ console.log(typeof this.form.nboBudget)
|
|
|
if (this.activeSteps === 1) {
|
|
|
this.$refs['form'].validate(async (valid) => {
|
|
|
if (valid) {
|
|
|
@@ -286,7 +348,7 @@
|
|
|
selectSales(val) {
|
|
|
if (val && val.length > 0) {
|
|
|
this.form.saleId = val[0].id
|
|
|
- this.form.saleName = val.map((item) => item.userName).join()
|
|
|
+ this.form.saleName = val.map((item) => item.nickName).join()
|
|
|
}
|
|
|
},
|
|
|
selectDistributor(val) {
|
|
|
@@ -296,7 +358,7 @@
|
|
|
}
|
|
|
},
|
|
|
selectFollowUser(val) {
|
|
|
- this.form.followUserName = val.map((item) => item.userName).join()
|
|
|
+ this.form.followUserName = val.map((item) => item.nickName).join()
|
|
|
},
|
|
|
selectProduct(data) {
|
|
|
let projData = data.map((item) => ({
|
|
|
@@ -331,7 +393,9 @@
|
|
|
},
|
|
|
async getProductData(busId) {
|
|
|
const { data } = await businessApi.getProductByBusinessId({ id: busId })
|
|
|
- this.productData = data
|
|
|
+ if (data) {
|
|
|
+ this.productData = data
|
|
|
+ }
|
|
|
},
|
|
|
showEdit(row) {
|
|
|
this.activeSteps = 1
|