Bläddra i källkod

财务2.4 暂存-4

hbchen 2 år sedan
förälder
incheckning
a3251d0ead

+ 11 - 7
src/api/crm.js

@@ -19,15 +19,13 @@ export function getPermissionList(data) {
 // 获取销售列表
  /**
   * @param {
-  * seller_type - 销售类型: 1-FICC(默认); 2-权益 - 非必填
   * } data 
   * @returns 
   */
-export function getSellerList(data) {
+export function getSellerList() {
   return request({
       url:'/crm/company_seller/list',
-      method:'get',
-      params:data
+      method:'get'
   })
 }
 // 根据合同编号搜索合同列表
@@ -64,11 +62,17 @@ export function getServiceDetail(data) {
      params:data
  })
 }
-
- // 获取销售组别列表
+ /**
+  * 获取销售组别列表
+  * @param {
+ * seller_type - 1 ficc销售、2 权益销售 - 必填
+ * } data 
+ * @returns 
+ */
  export function getSellerGroupList(data) {
   return request({
       url:'/crm/company_seller/group_list',
-      method:'get'
+      method:'get',
+      params:data
   })
  }

+ 12 - 0
src/api/financialMana.js

@@ -1,6 +1,18 @@
 import request from "../utils/request"
 
 // -----------------------------财务列表
+ /**
+  * 获取简易的套餐列表(用于搜索下拉框)
+ * @returns 
+ */
+export function getSimpleServiceList() {
+ return request({
+     url:'/contract/service/simple',
+     method:'get'
+ })
+}
+
+
  // 获取套餐列表
  /**
   * 

+ 22 - 42
src/views/financialManagement/components/permissionQyDia.vue

@@ -1,7 +1,6 @@
 
 <script setup>
   
-import {getPermissionList} from '@/api/crm'
   const props=defineProps({
     visible:{
       type:Boolean,
@@ -11,6 +10,10 @@ import {getPermissionList} from '@/api/crm'
       type:Array,
       default:()=>[]
     },
+    permissionData:{
+      type:Array,
+      default:()=>[]
+    },
     // view - 查看 edit - 编辑
     type:{
       type:String,
@@ -26,16 +29,6 @@ import {getPermissionList} from '@/api/crm'
   const emits=defineEmits(['update:visible','selectFinish'])
 
   const permissionDia=reactive({
-    permissionList:[{industryServiceId:1,industryServiceName:'医药',checked:false,check_list:[],
-    children:[{subServiceId:11,subServiceIdName:'主观',checked:false},{subServiceId:111,subServiceIdName:'客观',checked:false}]},
-    {industryServiceId:2,industryServiceName:'消费',checked:false,check_list:[],
-    children:[{subServiceId:22,subServiceIdName:'主观',checked:false},{subServiceId:222,subServiceIdName:'客观',checked:false}]},
-    {industryServiceId:3,industryServiceName:'科技',checked:false,check_list:[],
-    children:[{subServiceId:33,subServiceIdName:'主观',checked:false},{subServiceId:333,subServiceIdName:'客观',checked:false}]},
-    {industryServiceId:4,industryServiceName:'智造',checked:false,check_list:[],
-    children:[{subServiceId:44,subServiceIdName:'主观',checked:false},{subServiceId:444,subServiceIdName:'客观',checked:false}]},
-    {industryServiceId:5,industryServiceName:'策略',checked:false,check_list:[],
-    children:[{subServiceId:55,subServiceIdName:'策略',checked:false}]}],
     permissionChecked:[],
     qyBigService:''
   })
@@ -47,21 +40,20 @@ import {getPermissionList} from '@/api/crm'
       if(props.serviceType==1){
         permissionDia.qyBigService=props.hasCheckedPermission[0]
       }else{
-        // console.log(permissionDia.permissionChecked);
-        permissionDia.permissionList.length>0&&permissionDia.permissionList.map(item=>{
+        props.permissionData.length>0&&props.permissionData.map(item=>{
           item.check_list = [];
           item.checked = false;
           item.indeterminate = false;
-          item.Items?.map(it => {
+          item.children?.map(it => {
             it.checked=false
           })
         })
         permissionDia.permissionChecked=[...props.hasCheckedPermission]
         U:for (let i = 0,len=permissionDia.permissionChecked.length; i < len; i++) {
           const permission_id = +permissionDia.permissionChecked[i];
-          for (let j = 0,jLen=permissionDia.permissionList.length; j < jLen; j++) {
-            const element = permissionDia.permissionList[j];
-            let index=element.children.findIndex(it => it.subServiceId==permission_id)
+          for (let j = 0,jLen=props.permissionData.length; j < jLen; j++) {
+            const element = props.permissionData[j];
+            let index=element.children.findIndex(it => it.service_template_id==permission_id)
             // console.log(index);
             if(index!=-1){
               element.children[index].checked=true
@@ -70,7 +62,7 @@ import {getPermissionList} from '@/api/crm'
             }
           }
         }
-        permissionDia.permissionList.map(item=>{
+        props.permissionData.map(item=>{
           permissionCheckedChange(item)
         })
       }
@@ -78,35 +70,24 @@ import {getPermissionList} from '@/api/crm'
   },{immediately:true})
 
   // -------method
-  const getPermissionData=()=>{
-    // 获得所有的权限
-    getPermissionList().then(res=>{
-      let arr = res.data.List || []
-      arr.forEach((item) => {
-        item.check_list = [];
-        item.checked = false;
-        item.indeterminate = false;
-      });
-      permissionDia.permissionList=arr
-    })
-  }
   const permissionCheckedChange=(e)=>{
     e.checked = e.check_list.length == e.children.length
     e.indeterminate = e.check_list.length>0 && e.check_list.length < e.children.length
   }
   const permissionAllChecked=(e)=>{
-    // console.log(e);
     let arr = e.children.map((item) => {
-      return item.subServiceId;
+      return item.service_template_id;
     });
     e.check_list = e.checked ? arr : [];
     e.indeterminate = false;
   }
  
   const submit=()=>{
-    permissionDia.permissionList.map(item =>{
-      permissionDia.permissionChecked=[...permissionDia.permissionChecked,...item.check_list]
-    })
+    if(props.serviceType==2){
+      props.permissionData.map(item =>{
+        permissionDia.permissionChecked=[...permissionDia.permissionChecked,...item.check_list]
+      })
+    }
     emits('selectFinish',props.serviceType==1?[permissionDia.qyBigService]: permissionDia.permissionChecked)
     closeDia()
   }
@@ -116,7 +97,6 @@ import {getPermissionList} from '@/api/crm'
   }
 
   // --------------created
-  // getPermissionData()
 </script>
 
 <template>
@@ -128,18 +108,18 @@ import {getPermissionList} from '@/api/crm'
           <span class="first-level">权益大套餐:</span>
         </el-radio>
         <el-radio-group v-model="permissionDia.qyBigService" :disabled="props.type=='view'">
-          <el-radio label="1" >70万</el-radio>
-          <el-radio label="2" >45万</el-radio>
+          <el-radio :label="item.service_template_id" v-for="item in props.permissionData" 
+          :key="item.service_template_id" >{{ item.title }}</el-radio>
         </el-radio-group>
       </div>
       <div class="variety-small-box" v-show='props.serviceType==2'>
-        <div v-for="item in permissionDia.permissionList" class="variety-item" :key="item.industryServiceId" >
-          <el-checkbox v-model="item.checked" :indeterminate="item.check_list.length>0 && item.check_list.length < item.children.length" 
+        <div v-for="item in props.permissionData" class="variety-item" :key="item.service_template_id" >
+          <el-checkbox v-model="item.checked" :indeterminate="item.check_list?.length>0 && item.check_list?.length < item.children?.length" 
             @change="permissionAllChecked(item)" :disabled="props.type=='view'">
-            <span class="first-level">{{item.industryServiceName}}:</span>
+            <span class="first-level">{{item.title}}:</span>
           </el-checkbox>
           <el-checkbox-group v-model="item.check_list" @change="permissionCheckedChange(item)" :disabled="props.type=='view'">
-            <el-checkbox :label="it.subServiceId" v-for="it in item.children" :key="it.subServiceId">{{it.subServiceIdName}}</el-checkbox>
+            <el-checkbox :label="it.service_template_id" v-for="it in item.children" :key="it.service_template_id">{{it.title}}</el-checkbox>
           </el-checkbox-group>
         </div>
       </div>

+ 3 - 3
src/views/financialManagement/composition/IandPList.js

@@ -20,8 +20,8 @@ export default function getIandPListCom(type) {
       min_amount:'',
       max_amount:'',
       invoice_type:type,
-      sellerId:[],
-      service_type:'',
+      seller_ids:'',
+      service_product_id:'',
       is_export:0
     },
     dateRange:[],
@@ -55,7 +55,7 @@ export default function getIandPListCom(type) {
   }
   
   const searchPlacement=()=>{
-    console.log('search');
+    // console.log('search');
     placement.searchParams.current = 1
     placementList()
   }

+ 128 - 146
src/views/financialManagement/contractProgress.vue

@@ -41,7 +41,7 @@
     },
     // 合规登记表单
     form:{
-      product_id:1,
+      product_ids:'1,2',
       pre_pay_id:0, //到款预登记Id
       supplement:0, // 是否是补录合同
       contract_register_id:'',
@@ -51,8 +51,8 @@
       company_name:'',
       currency_unit:'CNY',
       new_company:0,
-      seller_id:'',
-      seller_name:'',
+      seller_ids:'',
+      // seller_name:'',
       contract_status:'',
       start_date:'',
       end_date:'',
@@ -63,6 +63,8 @@
       actual_company_name:'',
       sign_date:'',
       agreed_pay_time:'',
+      // 套餐金额
+      service_amount:[],
       services:[],
       services_amount:'',
       servicesQy:[],
@@ -76,7 +78,7 @@
       contract_source:{required:true,message:'合同来源不能为空',trigger:'change'},
       contract_code:{required:true,message:'合同编号不能为空',trigger:'blur'},
       company_name:{required:true,message:'客户名称不能为空',trigger:'blur'},
-      seller_id:{required:true,message:'销售姓名不能为空',trigger:['blur','change']},
+      seller_ids:{required:true,message:'销售姓名不能为空',trigger:['blur','change']},
       contract_status:{required:true,message:'合同状态不能为空',trigger:'change'},
       start_date:{required:true,message:'合同有效期不能为空',trigger:'change'},
       contract_amount:[{required:true,message:'合同金额不能为空',trigger:'blur'},
@@ -106,15 +108,12 @@
     },
     // 有效期
     contractValidityDate:[],
-    //销售列表
-    sellerList:[],
     // 合同编号----------------------列表
     contractNoArray:[],
     // 请求列表参数
     contractNoQuery:{
       page_size:20,
       current:1,
-      product_id:1,
       keyword:''
     },
     contractNoTotal:0,
@@ -129,9 +128,7 @@
     // 套餐列表
     serviceArray:[],
     // 套餐列表 - 权益
-    serviceArrayQy:[{service_template_id:33,title:'权益大套餐'},{service_template_id:35,title:'行业套餐'},
-    {service_template_id:36,title:'研选'},{service_template_id:37,title:'路演'},{service_template_id:38,title:'一对一专家'},{service_template_id:39,title:'行业数据跟踪'},
-    {service_template_id:40,title:'专家套餐'}],
+    serviceArrayQy:[],
     // 小套餐选中的品种
     checkedPermission:[],
     // 权益大套餐选中的品种
@@ -221,71 +218,32 @@
   const haveGetCurrencyList=ref(false)
   const rmbRate=ref(1)
 
-  const sellerArray=[{
-    label:'FICC套餐',
-    value:"FICC",
-    children:[{
-      label:'FICC大套餐',
-      value:"FICC大",
-      children:[{
-        label:'宏观',
-        value:"宏观",
-      },{
-        label:'利率债',
-        value:"利率债",
-      }]
-    },
-    {
-      label:'FICC小套餐',
-      value:"FICC小",
-      children:[{
-        label:'石油',
-        value:"原油",
-      },{
-        label:'铁矿',
-        value:"铜矿",
-      }]
-    }]
-  },
-  {
-    label:'权益套餐',
-    value:"权益套餐",
-    children:[{
-      label:'医药',
-      value:"医药",
-      children:[{
-        label:'医药主观',
-        value:"医药主观",
-      },{
-        label:'医药客观',
-        value:"医药客观",
-      }]
-    },
-    {
-      label:'消费',
-      value:"消费",
-      children:[{
-        label:'消费主观',
-        value:"消费主观",
-      },{
-        label:'消费客观',
-        value:"消费客观",
-      }]
-    }]
-  }]
+  //所有的销售列表包括ficc和权益
+  let allSellerArray=[]
+
+  // 销售列表类型1-单Ficc 2-单权益 3-ficc和权益
+  const sellerListType=ref(3)
+  // 销售列表
+  const sellerArray=ref([])
+  // 选中的销售数组
+  const cascaderSelectSeller=ref([])
+
   const sellerChange=(value)=>{
-    // console.log(value);
+    console.log(value);
     let ficcSeller,qySeller;
     if(value?.length>0){
       for (let i = 0; i < value.length; i++) {
         const element = value[i];
-        if(element[0]=='FICC'){
+        if(element[0]==2){
+          // ficc
           ficcSeller = element[2]
         }else{
+          //权益
           qySeller = element[2]
         }
       }
-      contractInfo.form.seller_id=[ficcSeller,qySeller]
+      cascaderSelectSeller.value=[ficcSeller,qySeller]
+      contractInfo.form.seller_ids= cascaderSelectSeller.value.join(',')
       // 根据销售选择是否显示套餐
       if(ficcSeller && qySeller){
         // 都有
@@ -308,7 +266,7 @@
     }else{
       contractInfo.showServiceFicc = contractInfo.showServiceQy=true
       contractInfo.form.services_amount = contractInfo.form.services_Qy_amount = ''
-      contractInfo.form.seller_id=[]
+      cascaderSelectSeller.value=[]
     }
   }
 
@@ -416,13 +374,15 @@
   //获取销售列表
   const getSellerListFun=()=>{
     getSellerList().then(res=>{
-      contractInfo.sellerList=res.data || []
+      allSellerArray=res.data || {}
+      sellerArray.value = allSellerArray.all_list || []
     })
   }
   // 获取服务列表
   const getServiceListFun=()=>{
     getServiceList().then(res=>{
-      contractInfo.serviceArray=res.data || []
+      contractInfo.serviceArray=res.data[0]?.children || []
+      contractInfo.serviceArrayQy = res.data[1]?.children || []
     })
   }
   // 获取货币列表
@@ -446,13 +406,14 @@
   const contractSourceChange=(value)=>{
     // 切换来源,清空数据
     contractInfo.form={...contractInfo.form,
+      product_ids:value==0?'1,2':'',
       crm_contract_id:0,
       contract_code:'',
       company_name:'',
       currency_unit:'CNY',
       new_company:0,
-      seller_id:'',
-      seller_name:'',
+      seller_ids:'',
+      // seller_name:'',
       contract_status:'',
       start_date:'',
       end_date:'',
@@ -473,6 +434,8 @@
     contractInfo.checkedPermission=[]
     contractInfo.checkedPermissionQyBig=[]
     contractInfo.checkedPermissionQySmall=[]
+    sellerArray.value=value==0?allSellerArray.all_list||[]:[]
+
     // 1-大套餐  2-小套餐
     contractInfo.serviceType=0
     contractInfo.serviceTypeQy=0
@@ -527,6 +490,7 @@
         contractInfo.varietyDiaShowQy=openDia&&value
       // }
       contractInfo.serviceTypeQy = contractInfo.qYDiaType =  value?type:0
+      console.log(contractInfo.qYDiaType);
     }
   }
   // 选择品种 - ficc
@@ -594,43 +558,33 @@
       contractInfo.checkedService=contractInfo.form.services.map(item => item.ServiceTemplateId)
       contractInfo.checkedPermission=smallService?smallService.ChartPermissionIds||[]:[]
     })
-    if(selectItem.ifFicc){
-        contractInfo.sellerList=[{
-          admin_id: 13,
-          admin_name: "时代1",
-          real_name: "时代1"
-        }]
-      }else{
-        contractInfo.sellerList=[{
-          admin_id: 14,
-          admin_name: "时代2",
-          real_name: "时代2"
-        }]
-      }
+    contractInfo.form.product_ids = selectItem.product_id.toString()
+    sellerArray.value = selectItem.product_id==1?allSellerArray.ficc_list||[]:allSellerArray.rai_list || []
+    // console.log(contractInfo.form);
     contractInfo.form.company_name=selectItem.company_name
     contractInfo.form.crm_contract_id=selectItem.contract_id
     contractInfo.form.start_date=selectItem.start_date
     contractInfo.form.end_date=selectItem.end_date
     contractInfo.contractValidityDate=[selectItem.start_date,selectItem.end_date]
     contractInfo.form.contract_amount=selectItem.price
-    contractInfo.form.seller_name=selectItem.seller_name
-    contractInfo.form.seller_id=selectItem.seller_id
+    // contractInfo.form.seller_name=selectItem.seller_name
+    contractInfo.form.seller_ids=selectItem.seller_id
     contractInfo.form.contract_type=selectItem.contract_type_key
     contractInfo.form.relate_contract_code=selectItem.relate_contract_code
     contractInfo.form.actual_company_name=selectItem.actual_company_name
     contractInfoForm.value && 
     contractInfoForm.value.validateField([
-      'contract_code','company_name','contract_type','seller_id',
+      'contract_code','company_name','contract_type','seller_ids',
       'start_date','contract_amount','relate_contract_code','actual_company_name'
     ])
   
-    contractInfo.showServiceFicc = selectItem.company_type == 'ficc'
-    contractInfo.showServiceFicc = selectItem.company_type == 'qy'
+    contractInfo.showServiceFicc = selectItem.product_id == 1
+    contractInfo.showServiceQy = selectItem.product_id == 2
 
   }
   // 销售选中
   const selectSeller=(value)=>{
-    contractInfo.form.seller_name=contractInfo.sellerList.find(item => item.admin_id==value).real_name
+    // contractInfo.form.seller_name=sellerArray.value.find(item => item.admin_id==value).seller_name
   }
 
   const submit=()=>{
@@ -778,55 +732,80 @@
   const complianceSubmit=()=>{
     // console.log(contractInfo.checkedService);
     contractInfoForm.value.validate(valid=>{
-      if(valid){
-        if(contractInfo.checkedService.length==0){
-          ElMessage.warning('请FICC选择套餐')
-          return 
-        }
-        if((!contractInfo.checkedPermission || contractInfo.checkedPermission.length==0) 
-        && contractInfo.checkedService.some(serviceId =>serviceId==2)){
-          ElMessage.warning('请保存FICC小套餐品种')
-          return 
+      // if(valid){
+        // FICC
+        if(contractInfo.showServiceFicc){
+          if(contractInfo.checkedService.length==0){
+            ElMessage.warning('请选择FICC套餐')
+            return 
+          }
+          if((!contractInfo.checkedPermission || contractInfo.checkedPermission.length==0) 
+          && contractInfo.checkedService.some(serviceId =>serviceId==2)){
+            ElMessage.warning('请保存FICC小套餐品种')
+            return 
+          }
+          contractInfo.form.services=[]
+          contractInfo.checkedService.map(serviceId=>{
+            let serviceItem = contractInfo.serviceArray.find(it=> it.service_template_id==serviceId) || {}
+            // 小套餐
+            if(serviceId==2){
+              contractInfo.form.services.push({
+                service_template_id:serviceItem.service_template_id,
+                value:'',
+                chart_permission_ids:contractInfo.checkedPermission?contractInfo.checkedPermission.join(','):'',
+                chart_permission_id:serviceItem.chart_permission_id,
+                title:serviceItem.title
+              })
+            }else{
+              contractInfo.form.services.push(serviceItem)
+            }
+          })
         }
-        contractInfo.form.services=[]
-        contractInfo.checkedService.map(serviceId=>{
-          let serviceItem = contractInfo.serviceArray.find(it=> it.service_template_id==serviceId) || {}
-          // 小套餐
-          if(serviceId==2){
-            contractInfo.form.services.push({
-              service_template_id:serviceItem.service_template_id,
-              value:'',
-              chart_permission_ids:contractInfo.checkedPermission?contractInfo.checkedPermission.join(','):'',
-              chart_permission_id:serviceItem.chart_permission_id,
-              title:serviceItem.title
-            })
-          }else{
-            contractInfo.form.services.push(serviceItem)
+        
+        // 权益
+        if(contractInfo.showServiceQy){
+          if(contractInfo.checkedServiceQy.length==0){
+            ElMessage.warning('请选择权益套餐')
+            return 
           }
-        })
+          // 权益大套餐
+          if((!contractInfo.checkedPermissionQyBig || contractInfo.checkedPermissionQyBig.length==0) 
+          && contractInfo.checkedServiceQy.some(serviceId =>serviceId==10)){
+            ElMessage.warning('请保存权益大套餐类型')
+            return 
+          }
+          // 权益小套餐
+          if((!contractInfo.checkedPermissionQySmall || contractInfo.checkedPermissionQySmall.length==0) 
+          && contractInfo.checkedServiceQy.some(serviceId =>serviceId==13)){
+            ElMessage.warning('请保存行业套餐品种')
+            return 
+          }
+        }
+
+        
         contractInfo.form.contract_amount = parseFloat(contractInfo.form.contract_amount)
         if(!contractInfo.form.has_payment) contractInfo.form.has_payment=0
         console.log(contractInfo.form);
-        if(contractInfo.form.contract_register_id){
-          // 编辑
-          registerEdit(contractInfo.form).then(res=>{
-            let messageHint=ElMessage.success('合规登记编辑成功')
-            setTimeout(()=>{
-              messageHint.close()
-              router.replace('/financial/list')
-            },1000)
-          })
-        }else{
-          // 新增
-          registerAdd(contractInfo.form).then(res=>{
-            let messageHint=ElMessage.success('合规登记成功')
-            setTimeout(()=>{
-              messageHint.close()
-              router.replace('/financial/list')
-            },1000)
-          })
-        }
-      }
+        // if(contractInfo.form.contract_register_id){
+        //   // 编辑
+        //   registerEdit(contractInfo.form).then(res=>{
+        //     let messageHint=ElMessage.success('合规登记编辑成功')
+        //     setTimeout(()=>{
+        //       messageHint.close()
+        //       router.replace('/financial/list')
+        //     },1000)
+        //   })
+        // }else{
+        //   // 新增
+        //   registerAdd(contractInfo.form).then(res=>{
+        //     let messageHint=ElMessage.success('合规登记成功')
+        //     setTimeout(()=>{
+        //       messageHint.close()
+        //       router.replace('/financial/list')
+        //     },1000)
+        //   })
+        // }
+      // }
     })
   }
 
@@ -1001,13 +980,14 @@
     registerDetail({contract_register_id:contractInfo.form.contract_register_id}).then(res=>{
       contractInfo.progressList=res.data.logs || [{}]
       contractInfo.form={...contractInfo.form,
+        product_ids:res.data.product_ids,
         crm_contract_id:res.data.crm_contract_id,
         contract_code:res.data.contract_code,
         company_name:res.data.company_name,
         currency_unit:res.data.currency_unit,
         new_company:res.data.new_company,
-        seller_id:res.data.seller_id,
-        seller_name:res.data.seller_name,
+        seller_ids:res.data.seller_ids,
+        // seller_name:res.data.seller_name,
         contract_status:res.data.contract_status,
         start_date:res.data.start_date,
         end_date:res.data.end_date,
@@ -1024,13 +1004,13 @@
       }
       // contractServiceType.value=res.data.ifFicc
       if(res.data.ifFicc){
-        contractInfo.sellerList=[{
+        sellerArray.value=[{
           admin_id: 13,
           admin_name: "时代1",
           real_name: "时代1"
         }]
       }else{
-        contractInfo.sellerList=[{
+        sellerArray.value=[{
           admin_id: 14,
           admin_name: "时代2",
           real_name: "时代2"
@@ -1147,9 +1127,10 @@
     contractInfo.form.new_company = parseInt(route.query.new_company)
     contractInfo.form.start_date = route.query.start_date
     contractInfo.form.end_date = route.query.end_date
-    contractInfo.form.seller_id = parseInt(route.query.seller_id)
-    contractInfo.form.seller_name = route.query.seller_name
+    contractInfo.form.seller_ids = route.query.seller_id
+    // contractInfo.form.seller_name = route.query.seller_name
     contractInfo.contractValidityDate = [contractInfo.form.start_date,contractInfo.form.end_date]
+    cascaderSelectSeller.value = [parseInt(route.query.seller_id)]
   }
 </script>
 
@@ -1197,14 +1178,14 @@
                         <el-checkbox v-model="is_new_company" label="新客户" style="margin-left: 20px;min-width: 100px;"
                         size="large" @change="isNewChange" :disabled="contractInfo.form.contract_type!='' && contractInfo.form.contract_type!=3 "  />
                       </el-form-item>
-                      <el-form-item label="销售" prop="seller_id">
-                        <el-select v-if="contractInfo.form.contract_source==1" v-model="contractInfo.form.seller_id" placeholder="请选择销售" 
+                      <el-form-item label="销售" prop="seller_ids">
+                        <el-select v-if="contractInfo.form.contract_source==1" v-model="contractInfo.form.seller_ids" placeholder="请选择销售" 
                         filterable @change="selectSeller" :disabled="contractInfo.operationtype!='compliance'">
-                          <el-option :label="item.real_name" :value="item.admin_id" v-for="item in contractInfo.sellerList" :key="item.admin_id"></el-option>
+                          <el-option :label="item.seller_name" :value="item.seller_id" v-for="item in sellerArray" :key="item.admin_id"></el-option>
                         </el-select>
                         <el-cascader v-else filterable :options="sellerArray" placeholder="请选择销售" @change="sellerChange"
-                          clearable :show-all-levels="false" v-model="contractInfo.form.seller_id" :disabled="contractInfo.operationtype!='compliance'"
-                          :props="{multiple:true,label:'label',value:'value',children:'children'}"
+                          clearable :show-all-levels="false" v-model="cascaderSelectSeller" :disabled="contractInfo.operationtype!='compliance'"
+                          :props="{multiple:true,label:'seller_name',value:'seller_id',children:'child'}"
                           key="seller" >
                         </el-cascader>
                       </el-form-item>
@@ -1744,8 +1725,9 @@
       <permission-dia v-model:visible="contractInfo.varietyDiaShow" :type="contractInfo.varietyDiaType"
       @selectFinish="getPermissionChecked" :hasCheckedPermission="contractInfo.checkedPermission"></permission-dia>
       <!-- 权益大套餐、行业套餐选择品种弹窗 -->
-      <permission-qy-dia v-model:visible="contractInfo.varietyDiaShowQy" :type="contractInfo.varietyDiaType" :serviceType="contractInfo.qYDiaType"
-      @selectFinish="getPermissionQYChecked" 
+      <permission-qy-dia v-model:visible="contractInfo.varietyDiaShowQy" :type="contractInfo.varietyDiaType" 
+      @selectFinish="getPermissionQYChecked" :serviceType="contractInfo.qYDiaType"
+      :permissionData="contractInfo.qYDiaType==1?contractInfo.serviceArrayQy[0]?.children:contractInfo.serviceArrayQy[1]?.children"
       :hasCheckedPermission="contractInfo.qYDiaType==1?contractInfo.checkedPermissionQyBig:contractInfo.checkedPermissionQySmall"></permission-qy-dia>
       <!-- 查看套餐弹窗 -->
       <el-dialog v-model="contractInfo.serviceShow" style="min-width: 800px;" title="" width="70vw" top="5vh">

+ 2 - 2
src/views/financialManagement/financialList.vue

@@ -1,7 +1,7 @@
 <script setup>
 import { Search } from '@element-plus/icons-vue'
 import {useRouter,useRoute} from 'vue-router'
-import {getServiceList,getRegisterList,updateRegisterStatus,
+import {getSimpleServiceList,getRegisterList,updateRegisterStatus,
   registerDelete,registerListExport,importDataApi} from '@/api/financialMana'
 import {downloadByFlow} from '@/utils/common-methods'
 
@@ -67,7 +67,7 @@ const statusArray=[{id:1,label:"进行中"},{id:2,label:"已完成"}]
 //  --------------------------method
   //获取套餐列表
   const getServiceListFun=()=>{
-    getServiceList().then(res=>{
+    getSimpleServiceList().then(res=>{
       // console.log(res);
       financial.serviceTypeArray=res.data || []
     })

+ 20 - 37
src/views/financialManagement/invoice/invoiceList.vue

@@ -1,41 +1,26 @@
 <script setup>
-
+import {getSellerList} from '@/api/crm'
 import getCom from '../composition/IandPList'
 import '../style/iandPList.scss'
 
 const invoice=getCom(1)
 const data = invoice.data
 
-const sellerArray=[{
-      label:'FICC套餐',
-      value:"FICC",
-      children:[{
-        label:'FICC大套餐',
-        value:"FICC大",
-      },
-      {
-        label:'FICC小套餐',
-        value:"FICC小",
-      }]
-    },
-    {
-      label:'权益套餐',
-      value:"权益套餐",
-      children:[{
-        label:'医药',
-        value:"医药",
-      },
-      {
-        label:'消费',
-        value:"消费",
-      }]
-    }]
+const sellerArray=ref([])
 
 const sellerChange=(value)=>{
-  console.log(value);
+  data.searchParams.seller_ids = value.join(',')
+  invoice.searchPlacement()
 }
 
+const getSellerListFun=()=>{
+  getSellerList().then(res=>{
+    sellerArray.value = res.data?.all_list || []
+    // console.log(res);
+  })
+}
 // --------created
+getSellerListFun()
 invoice.placementList()
 
 
@@ -47,26 +32,24 @@ invoice.placementList()
       <div class="iandP-search-zone">
         <div class="iandP-search-box">
           <el-input v-model="data.searchParams.contract_code" placeholder="请输入合同编号"
-          style="width: 309px;margin-left: 40px;margin-bottom: 8px;" clearable @input="invoice.searchPlacement" ></el-input>
-          <el-cascader :options="sellerArray" style="width: 286px;margin-bottom: 8px;margin-left: 40px;"
-            v-model="data.searchParams.sellerId" @change="sellerChange" 
-            placeholder="请选择销售" clearable collapse-tags :show-all-levels="false"
-            :props="{multiple:true,label:'label',value:'value',children:'children',emitPath:false}"
-            collapse-tags-tooltip >
+          class="iandP-search-item" clearable @input="invoice.searchPlacement" ></el-input>
+          <el-cascader :options="sellerArray" class="iandP-search-item" filterable 
+             @change="sellerChange" placeholder="请选择销售" clearable collapse-tags :show-all-levels="false"
+            :props="{multiple:true,label:'seller_name',value:'seller_id',children:'child',emitPath:false}">
           </el-cascader>
-          <el-select v-model="data.searchParams.service_type" placeholder="请选择套餐类型" clearable
-          @change="invoice.searchPlacement" style="width: 286px;margin-bottom: 8px;margin-left: 40px;">
+          <el-select v-model="data.searchParams.service_product_id" placeholder="请选择套餐类型" clearable
+          @change="invoice.searchPlacement" class="iandP-search-item">
             <el-option v-for="item in invoice.serviceTypeArray" :key="item.value"
             :label="item.label" :value="item.value"></el-option>
           </el-select>
           <div class="date-box">
             <el-date-picker v-model="data.dateRange" start-placeholder="起始日期"
-            end-placeholder="结束日期" style="max-width: 321px;margin-right: 12px;"
+            end-placeholder="结束日期" style="max-width: 240px;margin-right: 20px;"
             value-format="YYYY-MM-DD" type="daterange" @change="data.currentDateTab=0"></el-date-picker>
             <el-button v-for="item in invoice.dateButtonData" class="date-button"
             :key="item.tabId" :class="data.currentDateTab==item.tabId?'selectTab':''" @click="invoice.changeDateType(item.tabId)">{{ item.text }}</el-button>
           </div>
-          <div style="margin-left: 40px;margin-bottom: 8px;">
+          <div style="margin-left: 30px;margin-bottom: 8px;">
             开票金额
             <el-input v-model.trim="data.searchParams.min_amount" @blur="invoice.checkMoney"
             @input="(value)=>invoice.moneyChange(value,'min_amount')" style="width: 104px;margin:0 8px" clearable></el-input>
@@ -100,7 +83,7 @@ invoice.placementList()
         <!-- 表格 -->
         <el-table :data="data.tableData" border max-height="560px" size="default" style="position: sticky;"> 
           <el-table-column label="合同编号" align="center" prop="contract_code" show-overflow-tooltip></el-table-column>
-          <el-table-column label="套餐类型" align="center" prop="service_type">FICC套餐</el-table-column>
+          <el-table-column label="套餐类型" align="center" prop="service_product_id">FICC套餐</el-table-column>
           <el-table-column label="开票金额" align="center" prop="origin_amount" show-overflow-tooltip></el-table-column>
           <el-table-column label="金额单位" align="center" prop="unit_name"></el-table-column>
           <el-table-column label="换算金额(元)" align="center" prop="amount" show-overflow-tooltip></el-table-column>

+ 11 - 7
src/views/financialManagement/placement/placementList.vue

@@ -17,21 +17,21 @@ placement.placementList()
     <div id="iandP-list-container">
       <div class="iandP-search-zone">
         <div class="iandP-search-box">
-          <el-input v-model="data.searchParams.contract_code" placeholder="请输入合同编号"
-          style="width: 309px;margin-left: 40px;margin-bottom: 8px;" clearable @input="placement.searchPlacement" ></el-input>
-          <el-select v-model="data.searchParams.service_type" placeholder="请选择套餐类型" clearable
-          @change="placement.searchPlacement" style="width: 286px;margin-bottom: 8px;margin-left: 40px;">
+          <el-input v-model="data.searchParams.contract_code" placeholder="请输入合同编号" class="iandP-search-item"
+          clearable @input="placement.searchPlacement" ></el-input>
+          <el-select v-model="data.searchParams.service_product_id" placeholder="请选择套餐类型" clearable
+          @change="placement.searchPlacement" class="iandP-search-item">
             <el-option v-for="item in placement.serviceTypeArray" :key="item.value"
             :label="item.label" :value="item.value"></el-option>
           </el-select>
           <div class="date-box">
             <el-date-picker v-model="data.dateRange" start-placeholder="起始日期"
-            end-placeholder="结束日期" style="max-width: 321px;margin-right: 12px;"
+            end-placeholder="结束日期" style="max-width: 240px;margin-right: 20px;"
             value-format="YYYY-MM-DD" type="daterange" @change="data.currentDateTab=0"></el-date-picker>
             <el-button v-for="item in placement.dateButtonData" class="date-button"
             :key="item.tabId" :class="data.currentDateTab==item.tabId?'selectTab':''" @click="placement.changeDateType(item.tabId)">{{ item.text }}</el-button>
           </div>
-          <div style="margin-left: 40px;margin-bottom: 8px;">
+          <div style="margin-left: 30px;margin-bottom: 8px;">
             到款金额
             <el-input v-model.trim="data.searchParams.min_amount" @blur="placement.checkMoney"
             @input="(value)=>placement.moneyChange(value,'min_amount')" style="width: 104px;margin:0 8px" clearable></el-input>
@@ -66,7 +66,11 @@ placement.placementList()
         <!-- 表格 -->
         <el-table :data="data.tableData" border max-height="560px" size="default" style="position: sticky;"> 
           <el-table-column label="合同编号" align="center" prop="contract_code" show-overflow-tooltip></el-table-column>
-          <el-table-column label="套餐类型" align="center" prop="service_type">FICC套餐</el-table-column>
+          <el-table-column label="套餐类型" align="center" prop="service_product_id">
+            <template #default="{row}">
+              {{ placement.serviceTypeArray[row.service_product_id-1]?.label }}
+            </template>
+          </el-table-column>
           <el-table-column label="到款金额" align="center" prop="origin_amount" show-overflow-tooltip></el-table-column>
           <el-table-column label="金额单位" align="center" prop="unit_name"></el-table-column>
           <el-table-column label="换算金额(元)" align="center" prop="amount" show-overflow-tooltip></el-table-column>

+ 8 - 2
src/views/financialManagement/style/iandPList.scss

@@ -3,15 +3,21 @@
   .iandP-search-zone{
     margin-bottom: 20px;
     .iandP-search-box{
-      margin-left: -40px;
+      margin-left: -30px;
       display: flex;
       flex-wrap: wrap;
+      .iandP-search-item{
+        width: 240px;
+        margin-left: 30px;
+        margin-bottom: 8px;
+      }
       .date-box{
         display: flex;
         align-items: center;
-        margin: 0 0 8px 40px;
+        margin: 0 0 8px 30px;
         .date-button{
           height: 40px;
+          width: 52px;
           color: $themeColor;
           border: 1px solid $themeColor;
         }

+ 53 - 104
src/views/financialStatistics/commodityPayment.vue

@@ -2,8 +2,8 @@
 import { Search } from '@element-plus/icons-vue'
 // import dropdownText from '@/components/dropdown-text/index.vue'  
 import {getInvoicePaymentList,updatePayType,setServiceAmount} from '@/api/financialStatistics'
-import {getSellerGroupList} from '@/api/crm'
-import {getServiceList} from '@/api/financialMana'
+import {getSellerGroupList,getSellerList} from '@/api/crm'
+import {getSimpleServiceList} from '@/api/financialMana'
 import {downloadByFlow} from '@/utils/common-methods'
 
 const moment = inject('$moment')
@@ -11,15 +11,15 @@ const moment = inject('$moment')
 
   // const groupList=ref([])
 
-
+  // sell_group_id:'',
   const searchParams=reactive({
     current:1,
     page_size:10,
     keyword:'',
-    sell_group_id:'',
-    service_type:'',
-    start_date:'',
-    end_date:'',
+    seller_ids:'',
+    service_types:'',
+    start_date:moment().startOf('year').format('YYYY-MM-DD') || '',
+    end_date:moment(new Date()).format('YYYY-MM-DD') || '',
     // 1-开票时间 2-到款时间
     // time_type:1,
     // 1-已开票
@@ -30,7 +30,7 @@ const moment = inject('$moment')
     sort_param:'',
     is_export:0
   })
-  const searchDate=ref(null)
+  const searchDate=ref([moment().startOf('year').format('YYYY-MM-DD'),moment(new Date()).format('YYYY-MM-DD')])
   const currentDateTab=ref(0)
 
 
@@ -67,14 +67,6 @@ const moment = inject('$moment')
   //     groupList.value=res.data || []
   //   })
   // }
-  // 获取套餐列表
-  // const getServiceListFun=()=>{
-  //   getServiceList().then(res=>{
-  //     serviceList.value=res.data || []
-  //   })
-  // }
-
-
   const commodityPList=()=>{
     // console.log(searchParams);
     getInvoicePaymentList(searchParams).then(res=>{
@@ -157,62 +149,33 @@ const moment = inject('$moment')
     // console.log(type,invoiceIsFold.value);
   }
   // --------------------------销售选择
-  const sellerArray=[{
-      label:'FICC套餐',
-      value:"FICC",
-      children:[{
-        label:'FICC大套餐',
-        value:"FICC大",
-      },
-      {
-        label:'FICC小套餐',
-        value:"FICC小",
-      }]
-    },
-    {
-      label:'权益套餐',
-      value:"权益套餐",
-      children:[{
-        label:'医药',
-        value:"医药",
-      },
-      {
-        label:'消费',
-        value:"消费",
-      }]
-    }]
+
+  const sellerArray=ref([])
+  // 销售类型
+  const sellerTypeArray=ref(['','FICC销售','权益销售'])
   const sellerChange=(value)=>{
-    console.log(value);
+    searchParams.seller_ids = value.join(',')
+    searchCommodityP()
+  }
+  // 获取销售列表
+  const getSellerListFun=()=>{
+    getSellerList().then(res=>{
+      sellerArray.value = res.data?.all_list || []
+      // console.log(res);
+    })
   }
 
   // -------------------套餐选择
-  const serviceList=[{
-    label:'FICC套餐',
-    value:"FICC",
-    children:[{
-      label:'FICC大套餐',
-      value:"FICC大",
-    },
-    {
-      label:'FICC小套餐',
-      value:"FICC小",
-    }]
-  },
-  {
-    label:'权益套餐',
-    value:"权益套餐",
-    children:[{
-      label:'医药',
-      value:"医药",
-    },
-    {
-      label:'消费',
-      value:"消费",
-    }]
-  }]
-
+  const serviceList=ref([])
+  // 获取简易套餐列表
+  const getServiceListFun=()=>{
+    getSimpleServiceList().then(res=>{
+      serviceList.value=res.data || []
+    })
+  }
   const serviceChange=(value)=>{
-    console.log(value);
+    searchParams.service_types = value.join(',')
+    searchCommodityP()
   }
   //  -----------------------------------------------------弹窗
   // ---------------------------------编辑付款方式
@@ -267,19 +230,6 @@ const moment = inject('$moment')
 
   const setServiceInfo=(row)=>{
     rowItem=row
-    // console.log(row.isAverage);
-    // if(row.type=='权益销售'){}
-    // row.payment_amount=1000.15
-    let isAverage= row.service_amount_list.some(item => [].includes(item.service_template_id))?false:true
-    if(isAverage){
-      let average=Math.round((row.payment_amount/(row.service_amount_list.length))*100)/100
-      // 除法可能造成除不尽的情况,会造成金额的错误 少一分钱,多一分钱的情况
-      let averageDiff = row.payment_amount-average*row.service_amount_list.length
-      row.service_amount_list.forEach(element => {
-        element.amount= Math.round((row.payment_amount/(row.service_amount_list.length))*100)/100 
-      });
-      row.service_amount_list[0].amount+=averageDiff
-    }
     setServiceInfoDia.dataForm.contract_register_id=row.contract_register_id
     setServiceInfoDia.dataForm.contract_payment_id=row.payment_id
     setServiceInfoDia.dataForm.list=row.service_amount_list?JSON.parse(JSON.stringify(row.service_amount_list)):[]
@@ -320,38 +270,31 @@ const moment = inject('$moment')
   // --------------------------------设置套餐信息
   //  -----------------------------------------------------弹窗
 
-  // 初始化 开始日期和结束日期的查询条件
-  try {
-    searchDate.value = [moment().startOf('year').format('YYYY-MM-DD'),moment(new Date()).format('YYYY-MM-DD')]
-  } catch (error) {
-    console.error(error.message);
-    commodityPList()
-  }
   
   // created
   // getSellerGroupListFun()
-  // getServiceListFun()
+  getServiceListFun()
   commodityPList()
+  getSellerListFun()
 
 </script>
 
 <template>
     <div id="commodity-payment-container" class="commodity-payment-container">
       <div class="search-zone">
-        <el-input v-model="searchParams.keyword" placeholder="请输入客户名称" clearable 
-          @input="searchCommodityP" :prefix-icon="Search" style="width: 286px;margin: 0 30px 10px 0;" ></el-input>
-      <!-- <el-select v-model="searchParams.sell_group_id" placeholder="请选择销售组别" clearable style="width: 240px;margin: 0 30px 10px 0;"
+        <el-input v-model="searchParams.keyword" placeholder="请输入客户名称" clearable class="search-item"
+        @input="searchCommodityP" :prefix-icon="Search" style="width: 240px;" ></el-input>
+        <!-- <el-select v-model="searchParams.sell_group_id" placeholder="请选择销售组别" clearable style="width: 240px;margin: 0 30px 10px 0;"
         @change="searchCommodityP">
           <el-option :label="item.group_name" :value="item.group_id" v-for="item in groupList"></el-option>
         </el-select> -->
-        <el-cascader :options="sellerArray" style="width: 286px;margin:0 30px 10px 0"
+        <el-cascader :options="sellerArray"  filterable style="width: 200px;margin: 0 0 8px 30px;"
           @change="sellerChange" placeholder="请选择销售" clearable collapse-tags :show-all-levels="false"
-          :props="{multiple:true,label:'label',value:'value',children:'children',emitPath:false}"
-          collapse-tags-tooltip key="seller" >
+          :props="{multiple:true,label:'seller_name',value:'seller_id',children:'child',emitPath:false}" key="seller" >
         </el-cascader>
-        <el-cascader :options="serviceList" style="width: 286px;margin:0 30px 10px 0"
+        <el-cascader :options="serviceList" style="width: 200px;margin: 0 0 8px 30px;" filterable 
           @change="serviceChange" placeholder="请选择套餐信息" clearable collapse-tags :show-all-levels="false"
-          :props="{multiple:true,label:'label',value:'value',children:'children',emitPath:false}"
+          :props="{multiple:true,label:'title',value:'service_template_id',children:'children',emitPath:false}"
           collapse-tags-tooltip key="serivce" >
         </el-cascader>
         <!-- <el-select v-model="searchParams.service_type" placeholder="请选择套餐信息" clearable style="width: 240px;margin: 0 30px 10px 0;"
@@ -369,12 +312,12 @@ const moment = inject('$moment')
           </div>
         </div>
         <el-select v-model="searchParams.has_invoice" placeholder="请选择开票状态" clearable 
-        style="width: 200px;" class="search-zone-item" @change="searchCommodityP">
+         class="search-item" @change="searchCommodityP" >
           <el-option label="未开票" :value="0"></el-option>
           <el-option label="已开票" :value="1"></el-option>
         </el-select>
-        <el-select v-model="searchParams.has_payment" placeholder="请选择到款状态" clearable
-        style="width: 200px;margin-bottom: 10px;" @change="searchCommodityP">
+        <el-select v-model="searchParams.has_payment" class="search-item" placeholder="请选择到款状态" clearable
+        @change="searchCommodityP">
           <el-option label="未到款" :value="0"></el-option>
           <el-option label="已到款" :value="1"></el-option>
         </el-select>
@@ -467,7 +410,11 @@ const moment = inject('$moment')
           </el-table-column>
           <el-table-column label="销售" prop="seller_name" align="center"></el-table-column>
           <el-table-column label="销售组别" prop="seller_group_name" align="center"></el-table-column>
-          <el-table-column label="销售类型" prop="seller_type" align="center">权益销售</el-table-column>
+          <el-table-column label="销售类型" prop="seller_type" align="center">
+            <template #default="{row}">
+              {{ sellerTypeArray[row.seller_type] }}
+            </template>
+          </el-table-column>
           <el-table-column label="套餐信息" prop="services_name" align="center">
             <template #default="{row}">
               <span v-if="row.payment_amount&&row.payment_amount!=0" @click="setServiceInfo(row)"
@@ -543,17 +490,19 @@ const moment = inject('$moment')
     min-height: 100%;
     .search-zone{
       margin-bottom: 20px;
+      margin-left: -30px;
       display: flex;
       align-items: center;
       flex-wrap: wrap;
-      .search-zone-item{
-        width: 240px;
-        margin: 0 30px 10px 0;
+      
+      .search-item{
+        width: 200px;
+        margin: 0 0 8px 30px;
       }
       .date-box{
         display: flex;
         align-items: center;
-        margin: 0 40px 8px 0;
+        margin: 0 0 8px 30px;
         .composition-button-tabs{
 
           .date-button{

+ 34 - 16
src/views/financialStatistics/salesStatistics.vue

@@ -24,8 +24,9 @@
     // 排序方式: 1-正序; 2-倒序
     sort_type:'',
     // 是否导出:0-否;1-是
-    service_type:1,
-    is_export:0
+    is_export:0,
+    // 销售类型 1-ficc销售 2-权益销售
+    seller_type:1
   })
   // 搜索参数-创建时间数组
   const createtime=ref(null)
@@ -41,12 +42,15 @@
     searchStatistics()
     
   })
-
-  // method
+  // 销售类型缓存 为了减少请求次数
+  let sellerTypeCache=0
 
   const changeTab=(tab)=>{
     if(tabType.value==tab) return 
     tabType.value=tab
+    if(tab==2 && sellerTypeCache!=searchParams.seller_type){
+      getSellerGroup()
+    }
     searchParams.current=1
     searchParams.page_size=10
     searchParams.group_id=''
@@ -70,12 +74,6 @@
         // console.log(res);
       })
     }else if(tabType.value==2){
-      // 获取销售组别
-      if(!groupList.value || groupList.value.length==0){
-        getSellerGroupList().then(res=>{
-          groupList.value=res.data || []
-        })
-      }
 
       // 销售排名
       getSellerStatisticsList(searchParams).then(res=>{
@@ -87,6 +85,22 @@
 
   }
 
+  // 获取销售组别
+  const getSellerGroup=()=>{
+    sellerTypeCache=searchParams.seller_type
+    getSellerGroupList({seller_type:searchParams.seller_type}).then(res=>{
+      groupList.value=res.data || []
+    })
+  }
+  // 切换销售类型
+  const changeSellerType=()=>{
+    if(tabType.value==2&&sellerTypeCache!=searchParams.seller_type){
+      searchParams.group_id=''
+      getSellerGroup()
+    }
+    searchStatistics()
+  }
+
   const searchStatistics=()=>{
     searchParams.current = 1
     statisticsList()
@@ -123,7 +137,7 @@
 
   // created
   statisticsList()
-
+  // getSellerGroup()
 </script>
 
 <template>
@@ -136,17 +150,17 @@
       </div>
       <div class="statistics-top-zone">
         <div class="statistics-search-zone">
-          <el-select v-model="searchParams.service_type" placeholder="请选择销售类型"
-          @change="searchStatistics" style="width: 300px;margin: 0 30px 8px 0;">
+          <el-select v-model="searchParams.seller_type" placeholder="请选择销售类型"
+          @change="changeSellerType" class="statistics-search-item" >
             <el-option label="FICC销售" :value="1"></el-option>
             <el-option label="权益销售" :value="2"></el-option>
           </el-select>
-          <el-select v-model="searchParams.group_id" placeholder="请选择销售组别" style="width: 300px;margin: 0 30px 8px 0;"
+          <el-select v-model="searchParams.group_id" placeholder="请选择销售组别" class="statistics-search-item"
           @change="searchStatistics" v-show="tabType==2" clearable >
             <el-option :label="item.group_name" :value="item.group_id" v-for="item in groupList"></el-option>
           </el-select>
           <el-date-picker v-model="createtime" type="daterange" 
-          value-format="YYYY-MM-DD" style="width:300px;margin: 0 30px 8px 0;"
+          value-format="YYYY-MM-DD" style="max-width:240px;margin-bottom: 8px"
           start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
         </div>
         <div class="statistice-buttons-zone">
@@ -161,7 +175,6 @@
               {{ searchParams.page_size*(searchParams.current-1)+$index+1}}
             </template>
           </el-table-column>
-          <el-table-column label="销售类型" prop="service_type" align="center">FICC销售</el-table-column>
           <el-table-column label="销售员" prop="seller_name" align="center" v-if="tabType==2"></el-table-column>
           <el-table-column label="销售组别" prop="group_name" align="center"></el-table-column>
           <!-- <el-table-column label="开票金额" prop="invoice_amount" align="center" sortable="custom" ></el-table-column> -->
@@ -225,6 +238,11 @@
         align-items: center;
         flex-wrap: wrap;
         margin-right: 30px;
+        .statistics-search-item{
+          width: 200px;
+          margin-bottom: 8px;
+          margin-right: 30px;
+        }
       }
     }
   }