|
@@ -22,61 +22,64 @@
|
|
|
<el-input v-model="searchForm.opportunityUnit" placeholder="请输入商机单位" clearable></el-input>
|
|
<el-input v-model="searchForm.opportunityUnit" placeholder="请输入商机单位" clearable></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
|
|
|
|
+ <!-- <el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
<el-form-item label="指标标签" prop="indicatorTag">
|
|
<el-form-item label="指标标签" prop="indicatorTag">
|
|
|
<el-input v-model="searchForm.indicatorTag" placeholder="请输入指标标签" clearable></el-input>
|
|
<el-input v-model="searchForm.indicatorTag" placeholder="请输入指标标签" clearable></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- </el-col>
|
|
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
|
|
|
<!-- 第二行:客户与负责人信息 -->
|
|
<!-- 第二行:客户与负责人信息 -->
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
- <el-form-item label="目标客户" prop="targetCustomer">
|
|
|
|
|
- <el-input v-model="searchForm.targetCustomer" placeholder="请输入目标客户" clearable></el-input>
|
|
|
|
|
|
|
+ <el-form-item label="自然客户名称" prop="naturalCustomerName">
|
|
|
|
|
+ <el-input v-model="searchForm.naturalCustomerName" placeholder="请输入自然客户名称" clearable></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
- <el-form-item label="商机归属人" prop="bizOwner">
|
|
|
|
|
- <el-input v-model="searchForm.bizOwner" placeholder="请输入商机归属人" clearable></el-input>
|
|
|
|
|
|
|
+ <el-form-item label="商机归属人" prop="opportunityOwner">
|
|
|
|
|
+ <el-input v-model="searchForm.opportunityOwner" placeholder="请输入商机归属人" clearable></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
- <el-form-item label="支援负责人" prop="supportPerson">
|
|
|
|
|
- <el-input v-model="searchForm.supportPerson" placeholder="请输入支援负责人" clearable></el-input>
|
|
|
|
|
|
|
+ <el-form-item label="支撑负责人" prop="supportPerson">
|
|
|
|
|
+ <el-input v-model="searchForm.supportPerson" placeholder="请输入支撑负责人" clearable></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
- <el-form-item label="支援单位" prop="supportUnit">
|
|
|
|
|
- <el-input v-model="searchForm.supportUnit" placeholder="请输入支援单位" clearable></el-input>
|
|
|
|
|
|
|
+ <el-form-item label="支撑单位" prop="supportUnit">
|
|
|
|
|
+ <el-input v-model="searchForm.supportUnit" placeholder="请输入支撑单位" clearable></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
|
|
<!-- 第三行:合同与项目信息 -->
|
|
<!-- 第三行:合同与项目信息 -->
|
|
|
- <el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
|
|
|
|
+ <!-- <el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
<el-form-item label="合同编号" prop="contractCode">
|
|
<el-form-item label="合同编号" prop="contractCode">
|
|
|
<el-input v-model="searchForm.contractCode" placeholder="请输入合同编号" clearable></el-input>
|
|
<el-input v-model="searchForm.contractCode" placeholder="请输入合同编号" clearable></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- </el-col>
|
|
|
|
|
- <el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
|
|
|
|
+ </el-col> -->
|
|
|
|
|
+ <!-- <el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
<el-form-item label="项目编号" prop="projectCode">
|
|
<el-form-item label="项目编号" prop="projectCode">
|
|
|
<el-input v-model="searchForm.projectCode" placeholder="请输入项目编号" clearable></el-input>
|
|
<el-input v-model="searchForm.projectCode" placeholder="请输入项目编号" clearable></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- </el-col>
|
|
|
|
|
|
|
+ </el-col> -->
|
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
<el-col :xs="24" :sm="12" :md="8" :lg="6">
|
|
|
<el-form-item label="商机阶段" prop="opportunityStage">
|
|
<el-form-item label="商机阶段" prop="opportunityStage">
|
|
|
- <el-input v-model="searchForm.opportunityStage" placeholder="请输入商机阶段" clearable></el-input>
|
|
|
|
|
|
|
+ <el-select v-model="searchForm.opportunityStage" placeholder="请选择商机阶段" clearable>
|
|
|
|
|
+ <el-option v-for="item in opportunityStageOptions" :key="item.value" :label="item.label"
|
|
|
|
|
+ :value="item.value"></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
|
|
<!-- 日期选择区域 -->
|
|
<!-- 日期选择区域 -->
|
|
|
<el-row :gutter="20" class="date-row">
|
|
<el-row :gutter="20" class="date-row">
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8">
|
|
|
|
|
|
|
+ <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8">
|
|
|
<el-form-item label="立项时间" prop="approvalDate" label-position="top">
|
|
<el-form-item label="立项时间" prop="approvalDate" label-position="top">
|
|
|
<el-date-picker v-model="searchForm.approvalDate" type="daterange" range-separator="至"
|
|
<el-date-picker v-model="searchForm.approvalDate" type="daterange" range-separator="至"
|
|
|
start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
|
|
start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
|
|
|
clearable style="width: 100%"></el-date-picker>
|
|
clearable style="width: 100%"></el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- </el-col>
|
|
|
|
|
|
|
+ </el-col> -->
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="8">
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="8">
|
|
|
<el-form-item label="预计签约时间" prop="estimatedSignDate" label-position="top">
|
|
<el-form-item label="预计签约时间" prop="estimatedSignDate" label-position="top">
|
|
|
<el-date-picker v-model="searchForm.estimatedSignDate" type="daterange" range-separator="至"
|
|
<el-date-picker v-model="searchForm.estimatedSignDate" type="daterange" range-separator="至"
|
|
@@ -84,13 +87,13 @@
|
|
|
clearable style="width: 100%"></el-date-picker>
|
|
clearable style="width: 100%"></el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="12" :md="12" :lg="8">
|
|
|
|
|
|
|
+ <!-- <el-col :xs="24" :sm="12" :md="12" :lg="8">
|
|
|
<el-form-item label="签约时间" prop="signDate" label-position="top">
|
|
<el-form-item label="签约时间" prop="signDate" label-position="top">
|
|
|
<el-date-picker v-model="searchForm.signDate" type="daterange" range-separator="至"
|
|
<el-date-picker v-model="searchForm.signDate" type="daterange" range-separator="至"
|
|
|
start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
|
|
start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
|
|
|
clearable style="width: 100%"></el-date-picker>
|
|
clearable style="width: 100%"></el-date-picker>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- </el-col>
|
|
|
|
|
|
|
+ </el-col> -->
|
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
|
|
<!-- 操作按钮区域 -->
|
|
<!-- 操作按钮区域 -->
|
|
@@ -116,11 +119,13 @@
|
|
|
<el-button type="primary" @click="handleAdd">新增商机</el-button>
|
|
<el-button type="primary" @click="handleAdd">新增商机</el-button>
|
|
|
</div> -->
|
|
</div> -->
|
|
|
<el-table :data="bizList" header-align="center" style="width: 100%" stripe v-loading="tableLoading" border>
|
|
<el-table :data="bizList" header-align="center" style="width: 100%" stripe v-loading="tableLoading" border>
|
|
|
- <el-table-column prop="opportunityName" label="商机名称" min-width="150" align="center" fixed="left"></el-table-column>
|
|
|
|
|
|
|
+ <el-table-column prop="opportunityName" label="商机名称" min-width="150" align="center"
|
|
|
|
|
+ fixed="left"></el-table-column>
|
|
|
<el-table-column prop="opportunityCode" label="商机编号" min-width="120" align="center"></el-table-column>
|
|
<el-table-column prop="opportunityCode" label="商机编号" min-width="120" align="center"></el-table-column>
|
|
|
<el-table-column prop="naturalCustomerName" label="自然客户名称" min-width="180" align="center"></el-table-column>
|
|
<el-table-column prop="naturalCustomerName" label="自然客户名称" min-width="180" align="center"></el-table-column>
|
|
|
<el-table-column prop="naturalCustomerId" label="自然客户ID" min-width="100" align="center"></el-table-column>
|
|
<el-table-column prop="naturalCustomerId" label="自然客户ID" min-width="100" align="center"></el-table-column>
|
|
|
- <el-table-column prop="estimatedContractAmount" label="预计合同总金额(万元)" min-width="120" align="center"></el-table-column>
|
|
|
|
|
|
|
+ <el-table-column prop="estimatedContractAmount" label="预计合同总金额(万元)" min-width="120"
|
|
|
|
|
+ align="center"></el-table-column>
|
|
|
<el-table-column prop="estimatedSignDate" label="预计签约时间" min-width="100" align="center">
|
|
<el-table-column prop="estimatedSignDate" label="预计签约时间" min-width="100" align="center">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
{{ parseTime(scope.row.estimatedSignDate, '{y}-{m}-{d}') || '-' }}
|
|
{{ parseTime(scope.row.estimatedSignDate, '{y}-{m}-{d}') || '-' }}
|
|
@@ -128,8 +133,8 @@
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column prop="opportunityOwner" label="商机归属人" min-width="120" align="center"></el-table-column>
|
|
<el-table-column prop="opportunityOwner" label="商机归属人" min-width="120" align="center"></el-table-column>
|
|
|
<el-table-column prop="opportunityUnit" label="商机单位" min-width="80" align="center"></el-table-column>
|
|
<el-table-column prop="opportunityUnit" label="商机单位" min-width="80" align="center"></el-table-column>
|
|
|
- <el-table-column prop="supportPerson" label="支援负责人" min-width="120" align="center"></el-table-column>
|
|
|
|
|
- <el-table-column prop="supportUnit" label="支援单位" min-width="80" align="center"></el-table-column>
|
|
|
|
|
|
|
+ <el-table-column prop="supportPerson" label="支撑负责人" min-width="120" align="center"></el-table-column>
|
|
|
|
|
+ <el-table-column prop="supportUnit" label="支撑单位" min-width="80" align="center"></el-table-column>
|
|
|
<el-table-column label="操作" min-width="80" fixed="right">
|
|
<el-table-column label="操作" min-width="80" fixed="right">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-button type="text" @click="handleDetail(scope.row)">查看详情</el-button>
|
|
<el-button type="text" @click="handleDetail(scope.row)">查看详情</el-button>
|
|
@@ -157,9 +162,10 @@ export default {
|
|
|
opportunityUnit: '',
|
|
opportunityUnit: '',
|
|
|
estimatedSignDate: '',
|
|
estimatedSignDate: '',
|
|
|
indicatorTag: '',
|
|
indicatorTag: '',
|
|
|
- targetCustomer: '',
|
|
|
|
|
|
|
+ naturalCustomerName: '',
|
|
|
opportunityOwne: '',
|
|
opportunityOwne: '',
|
|
|
supportPerson: '',
|
|
supportPerson: '',
|
|
|
|
|
+ opportunityOwner: '',
|
|
|
supportUnit: '',
|
|
supportUnit: '',
|
|
|
contractCode: '',
|
|
contractCode: '',
|
|
|
projectCode: '',
|
|
projectCode: '',
|
|
@@ -181,7 +187,16 @@ export default {
|
|
|
// 总条数
|
|
// 总条数
|
|
|
total: 7,
|
|
total: 7,
|
|
|
// 搜索区域展开状态
|
|
// 搜索区域展开状态
|
|
|
- searchExpanded: true
|
|
|
|
|
|
|
+ searchExpanded: true,
|
|
|
|
|
+ // 商机阶段选项
|
|
|
|
|
+ opportunityStageOptions: [
|
|
|
|
|
+ { value: '方案制定', label: '方案制定' },
|
|
|
|
|
+ { value: '需求分析', label: '需求分析' },
|
|
|
|
|
+ { value: '初步接触', label: '初步接触' },
|
|
|
|
|
+ { value: '谈判中', label: '谈判中' },
|
|
|
|
|
+ { value: '签约', label: '签约' },
|
|
|
|
|
+ { value: '实施中', label: '实施中' }
|
|
|
|
|
+ ]
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
created() {
|
|
created() {
|
|
@@ -205,7 +220,7 @@ export default {
|
|
|
opportunityUnit: '',
|
|
opportunityUnit: '',
|
|
|
estimatedSignDate: '',
|
|
estimatedSignDate: '',
|
|
|
indicatorTag: '',
|
|
indicatorTag: '',
|
|
|
- targetCustomer: '',
|
|
|
|
|
|
|
+ naturalCustomerName: '',
|
|
|
opportunityOwne: '',
|
|
opportunityOwne: '',
|
|
|
supportPerson: '',
|
|
supportPerson: '',
|
|
|
supportUnit: '',
|
|
supportUnit: '',
|
|
@@ -242,7 +257,27 @@ export default {
|
|
|
console.log('分页参数:', this.queryParams);
|
|
console.log('分页参数:', this.queryParams);
|
|
|
console.log('搜索条件:', this.searchForm);
|
|
console.log('搜索条件:', this.searchForm);
|
|
|
this.tableLoading = true;
|
|
this.tableLoading = true;
|
|
|
- getOpportunityList(this.queryParams).then(res => {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ // 构建请求参数,合并分页参数和筛选条件
|
|
|
|
|
+ const requestParams = {
|
|
|
|
|
+ ...this.queryParams,
|
|
|
|
|
+ opportunityName: this.searchForm.opportunityName,
|
|
|
|
|
+ opportunityCode: this.searchForm.opportunityCode,
|
|
|
|
|
+ opportunityStage: this.searchForm.opportunityStage,
|
|
|
|
|
+ opportunityOwner: this.searchForm.opportunityOwner,
|
|
|
|
|
+ supportPerson: this.searchForm.supportPerson,
|
|
|
|
|
+ supportUnit: this.searchForm.supportUnit,
|
|
|
|
|
+ opportunityUnit: this.searchForm.opportunityUnit,
|
|
|
|
|
+ naturalCustomerName: this.searchForm.naturalCustomerName
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // 处理预计签约时间范围
|
|
|
|
|
+ if (this.searchForm.estimatedSignDate && this.searchForm.estimatedSignDate.length === 2) {
|
|
|
|
|
+ requestParams.signTimeStart = this.searchForm.estimatedSignDate[0];
|
|
|
|
|
+ requestParams.signTimeEnd = this.searchForm.estimatedSignDate[1];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ getOpportunityList(requestParams).then(res => {
|
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
|
this.bizList = res.rows
|
|
this.bizList = res.rows
|
|
|
this.total = res.total;
|
|
this.total = res.total;
|