Explorar el Código

#fix 筛选条件添加

jc-wangyt hace 1 mes
padre
commit
4786eec178
Se han modificado 2 ficheros con 64 adiciones y 29 borrados
  1. 62 27
      src/views/bizoppmanage/index.vue
  2. 2 2
      vue.config.js

+ 62 - 27
src/views/bizoppmanage/index.vue

@@ -22,61 +22,64 @@
                   <el-input v-model="searchForm.opportunityUnit" placeholder="请输入商机单位" clearable></el-input>
                 </el-form-item>
               </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-input v-model="searchForm.indicatorTag" placeholder="请输入指标标签" clearable></el-input>
                 </el-form-item>
-              </el-col>
+              </el-col> -->
 
               <!-- 第二行:客户与负责人信息 -->
               <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-col>
               <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-col>
               <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-col>
               <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-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-input v-model="searchForm.contractCode" placeholder="请输入合同编号" clearable></el-input>
                 </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-input v-model="searchForm.projectCode" placeholder="请输入项目编号" clearable></el-input>
                 </el-form-item>
-              </el-col>
+              </el-col> -->
               <el-col :xs="24" :sm="12" :md="8" :lg="6">
                 <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-col>
             </el-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-date-picker v-model="searchForm.approvalDate" type="daterange" range-separator="至"
                     start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
                     clearable style="width: 100%"></el-date-picker>
                 </el-form-item>
-              </el-col>
+              </el-col> -->
               <el-col :xs="24" :sm="12" :md="12" :lg="8">
                 <el-form-item label="预计签约时间" prop="estimatedSignDate" label-position="top">
                   <el-date-picker v-model="searchForm.estimatedSignDate" type="daterange" range-separator="至"
@@ -84,13 +87,13 @@
                     clearable style="width: 100%"></el-date-picker>
                 </el-form-item>
               </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-date-picker v-model="searchForm.signDate" type="daterange" range-separator="至"
                     start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
                     clearable style="width: 100%"></el-date-picker>
                 </el-form-item>
-              </el-col>
+              </el-col> -->
             </el-row>
 
             <!-- 操作按钮区域 -->
@@ -116,11 +119,13 @@
         <el-button type="primary" @click="handleAdd">新增商机</el-button>
       </div> -->
       <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="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="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">
           <template slot-scope="scope">
             {{ parseTime(scope.row.estimatedSignDate, '{y}-{m}-{d}') || '-' }}
@@ -128,8 +133,8 @@
         </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="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">
           <template slot-scope="scope">
             <el-button type="text" @click="handleDetail(scope.row)">查看详情</el-button>
@@ -157,9 +162,10 @@ export default {
         opportunityUnit: '',
         estimatedSignDate: '',
         indicatorTag: '',
-        targetCustomer: '',
+        naturalCustomerName: '',
         opportunityOwne: '',
         supportPerson: '',
+        opportunityOwner: '',
         supportUnit: '',
         contractCode: '',
         projectCode: '',
@@ -181,7 +187,16 @@ export default {
       // 总条数
       total: 7,
       // 搜索区域展开状态
-      searchExpanded: true
+      searchExpanded: true,
+      // 商机阶段选项
+      opportunityStageOptions: [
+        { value: '方案制定', label: '方案制定' },
+        { value: '需求分析', label: '需求分析' },
+        { value: '初步接触', label: '初步接触' },
+        { value: '谈判中', label: '谈判中' },
+        { value: '签约', label: '签约' },
+        { value: '实施中', label: '实施中' }
+      ]
     }
   },
   created() {
@@ -205,7 +220,7 @@ export default {
         opportunityUnit: '',
         estimatedSignDate: '',
         indicatorTag: '',
-        targetCustomer: '',
+        naturalCustomerName: '',
         opportunityOwne: '',
         supportPerson: '',
         supportUnit: '',
@@ -242,7 +257,27 @@ export default {
       console.log('分页参数:', this.queryParams);
       console.log('搜索条件:', this.searchForm);
       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) {
           this.bizList = res.rows
           this.total = res.total;

+ 2 - 2
vue.config.js

@@ -9,8 +9,8 @@ const CompressionPlugin = require('compression-webpack-plugin')
 
 const name = process.env.VUE_APP_TITLE || '算网全流程平台' // 网页标题
 
-// const baseUrl = 'http://10.130.22.73:1090' // 后端接口
-const baseUrl = 'http://10.64.12.216:12321' // 后端接口
+const baseUrl = 'http://10.130.22.73:1090' // 后端接口
+// const baseUrl = 'http://10.64.12.216:12321' // 后端接口
 
 
 const port = process.env.port || process.env.npm_config_port || 80 // 端口