Browse Source

营销优化

001295 1 năm trước cách đây
mục cha
commit
15ab52fcce

+ 0 - 11
src/components/popover-select/components/CUSTOMER_PARAM_ZT.js

@@ -1,11 +0,0 @@
-// 收货客户
-export default [
-  {
-    item: { key: "code", title: "编码" , width: "auto"},
-    attr: {},
-  },
-  {
-    item: { key: "name", title: "名称" , width: "auto"},
-    attr: {},
-  },
-];

+ 1 - 1
src/views/business/spd/bo/basic/index.vue

@@ -323,7 +323,7 @@
             <el-form-item label="客户名称" prop="customerName">
               <dr-popover-select 
                   :disabled="this.operatingState == 'Update'"
-                  v-model="form.customerName" title="客户" type="CUSTOMER_PARAM_ZT" :dataMapping="{
+                  v-model="form.customerName" title="客户" type="MkCustomerRule" :dataMapping="{
                   customer: 'id',
                   customerName: 'name',
                 }" :source.sync="form">

+ 7 - 9
src/views/business/spd/bo/contact/contactList.vue

@@ -174,14 +174,8 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="任职科室" prop="section">
-              <el-select v-model="form.section" placeholder="">
-                <el-option
-                  v-for="dict in dict.type.mk_bo_section"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option>
-              </el-select>
+              <el-popover-select-v2 v-model="form.sectionName" title="科室" valueKey="name" referName="MkCustomersDepartmentRule"
+                :dataMapping="{ section: 'id', sectionName: 'name'}" :source.sync="form" :queryParams="additionalCondition" />
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -350,7 +344,11 @@ export default {
   name: "contactList",
   props:["source","bo","boAuthority"],
   dicts: ['sys_user_sex','mk_bo_contact_state','mk_bo_section','mk_bo_position','mk_bo_job_title','mk_bo_power','mk_bo_support','mk_bo_field_expertise','sys_yes_no','mk_bo_contact_type'],
-  components: {EducationList,RelationshipList},
+  components: {
+    EducationList,
+    RelationshipList,
+    ElPopoverSelectV2: () =>import("@/components/popover-select-v2")
+  },
   data() {
     return {
       // 遮罩层

+ 9 - 11
src/views/business/spd/bo/contact/index.vue

@@ -195,21 +195,15 @@
                   superiorContact: 'id',
                   superiorContactName: 'name',
                 }" :source.sync="form"
-                :queryParams="additionalCondition"
+                :queryParams="addCmCondition"
               >
               </dr-popover-select>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="任职科室" prop="section">
-              <el-select v-model.trim="form.section" placeholder="" filterable>
-                <el-option
-                  v-for="dict in dict.type.mk_bo_section"
-                  :key="dict.value"
-                  :label="dict.label"
-                  :value="dict.value"
-                ></el-option>
-              </el-select>
+              <el-popover-select-v2 v-model="form.sectionName" title="科室" valueKey="name" referName="MkCustomersDepartmentRule"
+                :dataMapping="{ section: 'id', sectionName: 'name'}" :source.sync="form" :queryParams="addCmCondition" />
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -377,7 +371,11 @@ import RelationshipList from '../relationship/relationshipList.vue';
 export default {
   name: "Contact",
   dicts: ['sys_user_sex','mk_bo_contact_state','mk_bo_section','mk_bo_position','mk_bo_job_title','mk_bo_power','mk_bo_support','mk_bo_field_expertise','sys_yes_no','mk_bo_contact_type'],
-  components: {EducationList,RelationshipList},
+  components: {
+    EducationList,
+    RelationshipList,
+    ElPopoverSelectV2: () =>import("@/components/popover-select-v2")
+  },
   data() {
     return {
       // 遮罩层
@@ -594,7 +592,7 @@ export default {
         this.$modal.msgSuccess("删除成功");
       }).catch(() => {});
     },
-    additionalCondition(){
+    addCmCondition(){
       return {
         parame:{
           customer: this.form.customer ? this.form.customer : 'xxx'

+ 33 - 28
src/views/business/spd/bo/gather/index.vue

@@ -5,7 +5,7 @@
         <el-col :span="4">
           <el-form-item label="医院名称" prop="customerName">
             <el-popover-select-v2 v-model="queryParams.customerName" title="医院" valueKey="name"
-              referName="CUSTOMER_PARAM_ZT" :dataMapping="{ customer: 'id', customerName: 'name'}"
+              referName="MkCustomerRule" :dataMapping="{ customer: 'id', customerName: 'name'}"
               :source.sync="queryParams" placeholder="请输入医院名称" @keyup.enter.native="handleQuery" />
           </el-form-item>
         </el-col>
@@ -64,12 +64,13 @@
       </el-col>
     </el-row>
 
-    <el-table v-loading="loading" :data="gatherList" @selection-change="handleSelectionChange" v-horizontal-scroll>
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="序号" type="index" width="50" align="center" fixed />
+    <el-table v-loading="loading" :data="gatherList" @selection-change="handleSelectionChange" size="mini" >
+      <el-table-column type="selection" align="center" />
+      <el-table-column label="序号" type="index" align="center" />
       <el-table-column label="医院名称" align="center" prop="customerName" width="220" />
       <el-table-column label="产线" align="center" prop="productionLineName" width="150" />
       <el-table-column label="供应商名称" align="center" prop="rivalName" width="220" />
+      <el-table-column label="医院营收总额/年(万元)" align="center" prop="customerBulk" width="160" />
       <el-table-column label="供应商体量/年(万元)" align="center" prop="rivalBulk" width="160" />
       <el-table-column label="耗材体量/年(万元)" align="center" prop="consumableBulk" width="160" />
       <el-table-column label="品牌" align="center" prop="brand" width="220" />
@@ -84,11 +85,7 @@
           <span>{{ parseTime(scope.row.cooperationEnd, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="科室" align="center" prop="section" width="90">
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.mk_bo_section" :value="scope.row.section" />
-        </template>
-      </el-table-column>
+      <el-table-column label="科室" align="center" prop="sectionName" width="90" />
       <el-table-column label="科室关键人姓名" align="center" prop="sectionKeyPsnname" width="90" />
       <el-table-column label="科室关键人联系电话" align="center" prop="sectionKeyPsnphone" width="120" />
       <el-table-column label="院级关键人姓名" align="center" prop="hospitalKeyPsnname" width="90" />
@@ -117,10 +114,10 @@
     <!-- 添加或修改竞争产品信息收集对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px" :disabled="pageState == 'see'">
-        <el-row :gutter="20">
+        <el-row>
           <el-col :span="6">
             <el-form-item label="医院名称" prop="customerName">
-              <el-popover-select-v2 v-model="form.customerName" title="医院" valueKey="name" referName="CUSTOMER_PARAM_ZT"
+              <el-popover-select-v2 v-model="form.customerName" title="医院" valueKey="name" referName="MkCustomerRule"
                 :dataMapping="{ customer: 'id', customerName: 'name'}" :source.sync="form" placeholder="请输入医院名称" />
             </el-form-item>
           </el-col>
@@ -137,18 +134,25 @@
                 :dataMapping="{ rival: 'id', rivalName: 'name'}" :source.sync="form" placeholder="请输入供应商名称" />
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="6">
+            <el-form-item label="医院营收总额/年(万元)" prop="customerBulk" label-width="160px">
+              <el-input-number v-model="form.customerBulk" :precision="2" :step="1"></el-input-number>
+            </el-form-item>
+          </el-col>
           <el-col :span="6">
             <el-form-item label="供应商体量/年(万元)" prop="rivalBulk" label-width="160px">
               <el-input-number v-model="form.rivalBulk" :precision="2" :step="1"></el-input-number>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row :gutter="20">
           <el-col :span="6">
             <el-form-item label="耗材体量/年(万元)" prop="consumableBulk" label-width="160px">
               <el-input-number v-model="form.consumableBulk" :precision="2" :step="1"></el-input-number>
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row :gutter="20">
           <el-col :span="6">
             <el-form-item label="品牌" prop="brand">
               <el-popover-select-v2 v-model="form.brand" title="品牌" valueKey="name" referName="SUPPLIER_PARAM"
@@ -167,8 +171,6 @@
               </el-date-picker>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row :gutter="20">
           <el-col :span="6">
             <el-form-item label="合同结束时间" prop="cooperationEnd" label-width="100px">
               <el-date-picker clearable v-model="form.cooperationEnd" type="date" value-format="yyyy-MM-dd"
@@ -178,10 +180,8 @@
           </el-col>
           <el-col :span="6">
             <el-form-item label="科室" prop="section">
-              <el-select v-model.trim="form.section" placeholder="请选择科室" clearable filterable>
-                <el-option v-for="dict in dict.type.mk_bo_section" :key="dict.value" :label="dict.label"
-                  :value="dict.value"></el-option>
-              </el-select>
+              <el-popover-select-v2 v-model="form.sectionName" title="科室" valueKey="name" referName="MkCustomersDepartmentRule"
+                :dataMapping="{ section: 'id', sectionName: 'name'}" :source.sync="form" :queryParams="additionalCondition" placeholder="请选择科室" />
             </el-form-item>
           </el-col>
           <el-col :span="6">
@@ -218,13 +218,13 @@
           </el-col>
         </el-row>
         <el-form-item label="开发思路(营销策略)" prop="idea" label-width="160px">
-          <el-input autosize v-model="form.idea" placeholder="请输入开发思路(营销策略)" type="textarea" />
+          <el-input v-model="form.idea" placeholder="请输入开发思路(营销策略)" type="textarea" />
         </el-form-item>
         <el-form-item label="机会点/困难点所需资源" prop="chance" label-width="160px">
-          <el-input autosize v-model="form.chance" placeholder="请输入机会点/困难点所需资源" type="textarea" />
+          <el-input v-model="form.chance" placeholder="请输入机会点/困难点所需资源" type="textarea" />
         </el-form-item>
         <el-form-item label="备注" prop="remark">
-          <el-input autosize v-model="form.remark" placeholder="请输入备注" type="textarea" />
+          <el-input v-model="form.remark" placeholder="请输入备注" type="textarea" />
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -253,7 +253,6 @@
       ElPopoverTreeSelect: () =>
         import("@/components/popover-tree-select/index.vue"),
     },
-    dicts: ['mk_bo_section'],
     data() {
       return {
         // 遮罩层
@@ -289,6 +288,7 @@
           cooperationStart: null,
           cooperationEnd: null,
           section: null,
+          sectionName: null,
           sectionKeyPsnname: null,
           sectionKeyPsnphone: null,
           hospitalKeyPsnname: null,
@@ -321,11 +321,6 @@
             message: '供应商名称不能为空',
             trigger: 'blur'
           }],
-          section: [{
-            required: true,
-            message: '科室不能为空',
-            trigger: 'blur'
-          }],
         },
         // 页面状态
         pageState: null,
@@ -366,6 +361,7 @@
           cooperationStart: null,
           cooperationEnd: null,
           section: null,
+          sectionName: null,
           sectionKeyPsnname: null,
           sectionKeyPsnphone: null,
           hospitalKeyPsnname: null,
@@ -415,6 +411,7 @@
           cooperationStart: null,
           cooperationEnd: null,
           section: null,
+          sectionName: null,
           sectionKeyPsnname: null,
           sectionKeyPsnphone: null,
           hospitalKeyPsnname: null,
@@ -574,6 +571,14 @@
           (min > 9 ? min : ("0" + min)) + "_" +
           (second > 9 ? second : ("0" + second));
       },
+      //联系人弹窗附加查询条件
+      additionalCondition(){
+        return {
+          parame:{
+            customer: this.form.customer
+          }
+        }
+      },
     }
   };
 

+ 3 - 3
src/views/business/spd/bo/plan/add.vue

@@ -126,7 +126,7 @@
               <el-form-item class="hang" :prop="'mkBoPlanItemList.' + scope.$index + '.' + 'customerName'"
                 :rules="{ required: true, message: '请选择客户', trigger: 'blur' }">
                 <el-select clearable size="mini" v-model="scope.row.customerName" :disabled="sonDisable"
-                  @focus="chooseSon(scope.$index, 'CUSTOMER_PARAM_ZT', true, '请选择客户', {charger: basicForm.charger})"
+                  @focus="chooseSon(scope.$index, 'MkCustomerRule', true, '请选择客户', {charger: basicForm.charger})"
                   @clear="clearHang(scope.$index, '请选择客户')" style="width: 200px">
                   <el-option v-for="item in customerOptions" :key="item.id" :label="item.name" :value="item.code" />
                 </el-select>
@@ -538,7 +538,7 @@
           if (type == 'DEPT_PARAM') {
             this.deptOptions = res.rows
           }
-          if (type == 'CUSTOMER_PARAM_ZT') {
+          if (type == 'MkCustomerRule') {
             this.customerOptions = res.rows
           }
           if (type == 'LINKMAN_PARAM') {
@@ -639,7 +639,7 @@
           this.basicForm.deptName = selection[0].name
         }
         //客户参照
-        if (this.referCondition.type == 'CUSTOMER_PARAM_ZT') {
+        if (this.referCondition.type == 'MkCustomerRule') {
           this.customerOptions = selection
           this.basicForm.mkBoPlanItemList[this.tableIndex].customer = selection[0].id
           this.basicForm.mkBoPlanItemList[this.tableIndex].customerName = selection[0].name

+ 1 - 1
src/views/business/spd/bo/power/detail.vue

@@ -73,7 +73,7 @@
             v-model="formPc.customersName" 
             title="客户" 
             valueKey="name"
-            referName="CUSTOMER_PARAM_ZT" 
+            referName="MkCustomerRule" 
             :dataMapping="{customers:'id',customersName: 'name'}"
             :source.sync="formPc"
           >

+ 1 - 1
src/views/business/spd/bo/task/index.vue

@@ -253,7 +253,7 @@
               <dr-popover-select
                 v-model="form.customerName"
                 title="商机选择"
-                type="CUSTOMER_PARAM_ZT"
+                type="MkCustomerRule"
                 :dataMapping="{
                   customer: 'id',
                   customerName: 'name',

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

@@ -296,7 +296,7 @@
                 <el-col :span="6">
                   <el-form-item label="开票客户" prop="billingCustomerName">
                     <el-popover-select-v2 v-model="form.billingCustomerName" title="开票客户" valueKey="name"
-                      referName="CUSTOMER_PARAM_ZT" :dataMapping="{ billingCustomer: 'id', billingCustomerName: 'name'}"
+                      referName="MkCustomerRule" :dataMapping="{ billingCustomer: 'id', billingCustomerName: 'name'}"
                       :source.sync="form" placeholder="请输入开票客户" :disabled="openState == 'check'" />
                   </el-form-item>
                 </el-col>

+ 1 - 1
src/views/business/spd/cm/customersContact/index.vue

@@ -29,7 +29,7 @@
       <el-row>
         <el-col :span="8">
           <el-form-item label="所属客户" prop="customerName">
-            <dr-popover-select v-model="form.customerName" title="客户" type="CUSTOMER_PARAM_ZT" :dataMapping="{
+            <dr-popover-select v-model="form.customerName" title="客户" type="MkCustomerRule" :dataMapping="{
                   customer: 'id',
                   customerName: 'name',
                 }" :source.sync="form" :disabled="true">

+ 2 - 6
src/views/business/spd/cm/customersDepartment/index.vue

@@ -4,11 +4,8 @@
       <el-divider content-position="left">科室信息</el-divider>
       <el-row type="flex" class="row-bg" justify="space-around">
         <el-col :span="6">
-          <el-form-item label="科室名称" prop="name">
-            <el-select v-model.trim="form.name" placeholder="请输入科室名称" :disabled="disable" clearable filterable>
-              <el-option v-for="dict in dict.type.mk_bo_section" :key="dict.value" :label="dict.label"
-                :value="dict.value"></el-option>
-            </el-select>
+          <el-form-item label="科室名称" prop="name" label-width="110px">
+            <el-input v-model="form.name" placeholder="请输入科室名称" />
           </el-form-item>
         </el-col>
         <el-col :span="6">
@@ -80,7 +77,6 @@
   export default {
     name: "CustomersDepartment",
     props: ['pageStu', 'row', 'disable', 'customersId', 'customersName'],
-    dicts: ['mk_bo_section'],
     model: {
       prop: 'isAdd2',
       event: 'jugislist'