Parcourir la source

营销0530功能优化;

001295 il y a 1 an
Parent
commit
03db987ad6

+ 8 - 0
src/router/index.js

@@ -229,6 +229,14 @@ export const constantRoutes = [
     }
   },
   {
+    path: '/business/spd/customers/customers',
+    component: () => import('@/views/business/spd/cm/customers/index'),
+    hidden: true,
+    meta: {
+      keepAlive: true // 需要缓存
+    }
+  },
+  {
     path: '/business/ehr/pm/stagecontrol',
     component: () => import('@/views/business/ehr/pm/stagecontrol'),
     hidden: true,

+ 44 - 1
src/views/business/spd/cm/customers/columns.js

@@ -276,5 +276,48 @@ export default function useColumns() {
       attr: {},
     },
   ];
-  return { SearchColumns, TableColumns, ContactColumns, PrincipalColumns, DepartmentInfoColumns }
+
+  // 客户商机信息
+  const bosColumns = [
+    {
+      item: { key: "boName", title: "商机名称" },
+      attr: {},
+    },
+    {
+      item: { key: "principalName", title: "商机负责人" },
+      attr: {},
+    },
+    {
+      item: { key: "boType", title: "商机类型" },
+      attr: {
+        is: "el-dict-tag",
+        dictName: "mk_bo_type",
+      },
+    },
+    {
+      item: { key: "hosDiscreetValue", title: "医院预估额" },
+      attr: {},
+    },
+    {
+      item: { key: "recentlyFollowUp", title: "最近跟进日期" },
+      attr: {},
+    },
+    {
+      item: { key: "boStageName", title: "当前阶段" },
+      attr: {},
+    },
+    {
+      item: { key: "winningRate", title: "赢单率" },
+      attr: {},
+    },
+    {
+      item: { key: "winningState", title: "状态" },
+      attr: {
+        is: "el-dict-tag",
+        dictName: "mk_bo_winstate",
+      },
+    }
+  ];
+
+  return { SearchColumns, TableColumns, ContactColumns, PrincipalColumns, DepartmentInfoColumns,bosColumns }
 }

+ 105 - 8
src/views/business/spd/cm/customers/index.vue

@@ -316,18 +316,73 @@
                     />
                   </el-form-item>
                 </el-col>
+                <el-col :span="6">
+                  <el-form-item label="重点客户" prop="vital">
+                    <el-select clearable v-model="form.vital" :disabled="openState == 'check'">
+                      <el-option
+                        v-for="dict in dict.type.mk_cm_yes_no"
+                        :key="dict.value"
+                        :label="dict.label"
+                        :value="dict.value"
+                      />
+                    </el-select>
+                  </el-form-item>
+                </el-col>
               </el-row>
-              <!-- <el-divider content-position="left">销售区域</el-divider>
               <el-row :gutter="20">
                 <el-col :span="6">
-                  <el-form-item label="销售区域" prop="marketingAreaName">
-                    <el-popover-select-v2 v-model="form.marketingAreaName" title="销售区域" valueKey="name"
-                      referName="MK_SALESAREA_PARAM" :dataMapping="{ marketingArea: 'id', marketingAreaName: 'name'}"
-                      :source.sync="form" placeholder="请输入销售区域" :disabled="openState == 'check'">
-                    </el-popover-select-v2>
+                  <el-form-item label="客户等级" prop="lv">
+                    <el-select clearable v-model="form.lv" :disabled="openState == 'check'">
+                      <el-option
+                        v-for="dict in dict.type.mk_cm_lv"
+                        :key="dict.value"
+                        :label="dict.label"
+                        :value="dict.value"
+                      />
+                    </el-select>
                   </el-form-item>
                 </el-col>
-              </el-row> -->
+              </el-row>
+              <el-divider content-position="left">业务信息</el-divider>
+              <el-row :gutter="20">
+                <el-col :span="6">
+                  <el-form-item label="年耗材采购额" prop="consumablePurchaseValue">
+                    <el-input v-model="form.consumablePurchaseValue" type="number" :disabled="openState == 'check'"/>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="德荣耗材占比" prop="drConsumableRatio">
+                    <el-input v-model="form.drConsumableRatio" type="number" :disabled="openState == 'check'"/>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="年设备采购额" prop="equipmentPurchaseValue">
+                    <el-input v-model="form.equipmentPurchaseValue" type="number" :disabled="openState == 'check'"/>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="德荣设备占比" prop="drEquipmentRatio">
+                    <el-input v-model="form.drEquipmentRatio" type="number" :disabled="openState == 'check'"/>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row :gutter="20">
+                <el-col :span="6">
+                  <el-form-item label="年供应总数" prop="totalSupply">
+                    <el-input v-model="form.totalSupply" type="number" :disabled="openState == 'check'"/>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="医院年收入" prop="income">
+                    <el-input v-model="form.income" type="number" :disabled="openState == 'check'"/>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                  <el-form-item label="科室数量" prop="deptNum">
+                    <el-input v-model="form.deptNum" type="number" :disabled="openState == 'check'"/>
+                  </el-form-item>
+                </el-col>
+              </el-row>
               <el-divider content-position="left">负责人</el-divider>
               <el-row :gutter="20">
                 <el-col :span="6">
@@ -668,6 +723,36 @@
                 </ux-table-column>
               </el-super-ux-table>
             </el-tab-pane>
+
+            <el-tab-pane label="商机信息" name="sixth" v-if="openState == 'check'">
+              <el-super-ux-table
+                v-model="bosList"
+                :size="size"
+                :dict="dict"
+                :height="height"
+                :columns="bosColumns"
+                index
+                highlight-current-row
+                style="margin: 16px 0 0"
+              >
+                <ux-table-column
+                  fixed="right"
+                  title="操作"
+                  align="center"
+                  width="120"
+                >
+                  <template slot-scope="scope">
+                    <el-button
+                      :size="size"
+                      type="text"
+                      @click="btnBoView(scope.row)"
+                    >
+                      查看
+                    </el-button>
+                  </template>
+                </ux-table-column>
+              </el-super-ux-table>
+            </el-tab-pane>
           </el-tabs>
         </el-form>
       </div>
@@ -741,7 +826,7 @@ export default {
     ElSuperUxTable: () => import("@/components/super-ux-table/index.vue"),
     BatchImport: () => import("@/components/BatchImport/index.vue"),
   },
-  dicts: [...dicts],
+  dicts: [...dicts,"mk_cm_lv"],
   data() {
     const {
       SearchColumns,
@@ -749,6 +834,7 @@ export default {
       ContactColumns,
       PrincipalColumns,
       DepartmentInfoColumns,
+      bosColumns,
     } = useColumns();
     const params = this.$init.params(SearchColumns);
     const page = this.$init.page();
@@ -761,6 +847,7 @@ export default {
       ContactColumns,
       PrincipalColumns,
       DepartmentInfoColumns,
+      bosColumns,
       // 遮罩层
       loading: true,
       // 选中数组
@@ -791,6 +878,8 @@ export default {
       mkCmCustomersResponsiblePersonList: [],
       // 客户科室表格数据
       mkCmCustomersDepartmentList: [],
+      // 客户商机表格数据
+      bosList: [],
       // 首次进入标签页的显示
       activeName: "first",
       // 下拉收起配置
@@ -926,6 +1015,7 @@ export default {
         longitude: null,
         latitude: null,
         detailedAddress: null,
+        vital: null,
         createBy: null,
         createTime: null,
         createByName: null,
@@ -938,6 +1028,7 @@ export default {
       this.mkCmCustomersContactList = [];
       this.mkCmCustomersResponsiblePersonList = [];
       this.mkCmCustomersDepartmentList = [];
+      this.bosList = [];
       this.resetForm("form");
     },
     /** 重置按钮操作 */
@@ -968,6 +1059,7 @@ export default {
         this.mkCmCustomersResponsiblePersonList = response.data.staffs;
         this.mkCmCustomersDepartmentList = response.data.depts;
         this.mkCmCustomersContactList = response.data.contacts;
+        this.bosList = response.data.bos;
         this.openState = "check";
       });
     },
@@ -1002,6 +1094,7 @@ export default {
           response.data.mkCmCustomersResponsiblePersonList;
         this.mkCmCustomersDepartmentList =
           response.data.mkCmCustomersDepartmentList;
+        this.bosList = response.data.bos;
         this.openState = "update";
       });
     },
@@ -1322,6 +1415,10 @@ export default {
         this.$modal.closeLoading();
       }
     },
+    //商机跳转
+    btnBoView(row){
+      this.$router.push(`/basic/spd/bo/basic/details/${row.id}`);
+    }
   },
 };
 </script>