Browse Source

15.6 海外客户路演统计增加研究员和销售维度

hbchen 1 year ago
parent
commit
9e06dff8c1

+ 19 - 1
src/api/modules/overseasCustom.js

@@ -106,13 +106,31 @@ export const overseasCustomInterence = {
     },
 
     /**
-     * 海外客户路演列表
+     * 海外客户路演列表 - 客户维度
      * @param {*} params 
      * ResearcherId SellerId  StartDate EndDate  CompanyStatus
      * @returns 
      */
     getOverseasRoadShowList: params => {
         return http.get('/roadshow/overseas_custom/calendar/list',params)
+    },
+    /**
+     * 海外客户路演列表 - 销售维度
+     * @param {*} params 
+     * DataType StartDate EndDate
+     * @returns 
+    */
+    getOverseasSellerRoadShowList: params => {
+        return http.get('/roadshow/overseas_custom/seller/list',params)
+    },
+    /**
+     * 海外客户路演列表 - 研究员维度
+     * @param {*} params 
+     * DataType StartDate EndDate
+     * @returns 
+    */
+    getOverseasResearcherRoadShowList: params => {
+        return http.get('/roadshow/overseas_custom/researcher/list',params)
     }
 
 }

+ 8 - 1
src/api/modules/roadshowApi.js

@@ -222,7 +222,14 @@ const roadshowInterence={
 	statisticDetailList: params => {
 		return http.get('/roadshow/report/calendar/list',params)
 	},
-
+	/**
+	 * 统计详情列表-海外路演
+	 * @param {} params DataType StartDate EndDate AdminIds AdminType
+	 * @returns 
+	 */
+	overseaStatisticDetailList: params => {
+		return http.get('/roadshow/overseas/calendar/list',params)
+	},
 	/**
 	 * 选择的研究员接口
 	 * @param {AdminIds} params DataType StartDate EndDate AdminId AdminType

+ 4 - 4
src/routes/modules/customRoutes.js

@@ -52,7 +52,7 @@ export default [
       {
         path: "customListEn",
         component: () => import("@/views/custom_manage/customList/customListEn.vue"),
-        name: "英文客户列表",
+        name: "英文报告权限",
         hidden: false,
       },
       {
@@ -111,7 +111,7 @@ export default [
         hidden: true,
         meta: {
           pathFrom: "customListEn",
-          pathName: "英文客户列表",
+          pathName: "英文报告权限",
         },
       },
       {
@@ -121,7 +121,7 @@ export default [
         hidden: true,
         meta: {
           pathFrom: "customListEn",
-          pathName: "英文客户列表",
+          pathName: "英文报告权限",
         },
       },
       {
@@ -142,7 +142,7 @@ export default [
         hidden: true,
         meta: {
           pathFrom: "customListEn",
-          pathName: "英文客户列表",
+          pathName: "英文报告权限",
         },
       },
       {

+ 460 - 48
src/views/custom_manage/overseasList/overseasCustomRoadshow.vue

@@ -1,7 +1,13 @@
 <template>
   <div class="overseas-custom-roadshow-box">
-    <div class="top-wrapper">
-      <div class="left-select">
+    <div class="tab-box">
+      <el-button type="primary" :plain="roadshowTab==1?false:true" class="tab-item" @click="tabChange(1)">客户维度</el-button>
+      <el-button type="primary" :plain="roadshowTab==2?false:true" class="tab-item" @click="tabChange(2)">销售维度</el-button>
+      <el-button type="primary" :plain="roadshowTab==3?false:true" class="tab-item" @click="tabChange(3)">研究员维度</el-button>
+    </div>
+    <template v-if="roadshowTab==1">
+      <div class="top-wrapper">
+        <div class="left-select">
         <el-cascader
             v-model="sales"
             :options="salesOptions"
@@ -65,56 +71,185 @@
 						style="width:200px;margin-right:10px;margin-bottom:8px;"
         />
 
+        </div>
+        <el-input 
+            prefix-icon="el-icon-search" 
+            placeholder="客户名称" 
+            style="width:317px;" clearable
+            v-model="searchWord"
+            @input="pageChange(1)"
+        />
       </div>
-      <el-input 
-          prefix-icon="el-icon-search" 
-          placeholder="客户名称" 
-          style="width:317px;" clearable
-          v-model="searchWord"
-          @input="pageChange(1)"
-      />
-    </div>
-
-    <div class="cont-wrapper">
-      <el-table
-        ref="tableRef"
-        :data="tableData"
-        :loading="tabeLoading"
-        border
-        @sort-change="handleSortChange"
-      >
-        <el-table-column 
-            align="center"
-            v-for="item in columns" :key="item.key"
-            :prop="item.key" :label="item.label"
-            :min-width="item.minWidth"
-            :sortable="item.sortable?'custom':false"
+      <div class="cont-wrapper">
+        <el-table
+          ref="tableRef"
+          :data="tableData"
+          :loading="tabeLoading"
+          border
+          @sort-change="handleSortChange"
         >
-          <template slot-scope="{row}">
-              <!-- 客户名称 -->
-              <div v-if="item.key==='CompanyName'" class="editor" @click="toCustomDetail(row)">{{row[item.key]}}</div>
+          <el-table-column 
+              align="center"
+              v-for="item in columns" :key="item.key"
+              :prop="item.key" :label="item.label"
+              :min-width="item.minWidth"
+              :sortable="item.sortable?'custom':false"
+          >
+            <template slot-scope="{row}">
+                <!-- 客户名称 -->
+                <div v-if="item.key==='CompanyName'" class="editor" @click="toCustomDetail(row)">{{row[item.key]}}</div>
 
-              <span v-else>{{row[item.key]}}</span>
-          </template>
-        </el-table-column>
-      </el-table>
+                <span v-else>{{row[item.key]}}</span>
+            </template>
+          </el-table-column>
+        </el-table>
 
-       <!-- 页数选择器 -->
-      <m-page
-        :page_no="currentIndex"
-        :pageSize="pageSize"
-        :total="total"
-        style="position: absolute;right: 50px;bottom: 50px;"
-        @handleCurrentChange="pageChange"
-      />
-    </div>
+        <!-- 页数选择器 -->
+        <m-page
+          :page_no="currentIndex"
+          :pageSize="pageSize"
+          :total="total"
+          style="position: absolute;right: 50px;bottom: 50px;"
+          @handleCurrentChange="pageChange"
+        />
+      </div>
+    </template>
+    <template v-else-if="roadshowTab==2">
+      <ul class="date-tab-box">
+				<li :class="['date-tab-item',{'act':tab === salesDimension.dateTab}]" v-for="tab in staticTabs" :key="tab" @click="changeTabHandle(tab)">
+					{{tab}}
+				</li>
+        <date-picker
+          v-model="salesDimension.selectDate"
+          type="date" 
+          range
+          value-type="format"
+          :clearable="false"
+          @change="dateChange"
+          placeholder="请选择统计时间"/>
+			</ul>
+      <div class="table-body-wrapper" v-show="dataLoading">
+				<table>
+					<thead>
+						<tr>
+							<td rowspan="2" class="thead-rs" style="width: 100px;">销售</td>
+							<td
+								:colspan="['周度统计表','月度统计表'].includes(salesDimension.dateTab) ? 3 : 1"
+								v-for="item in salesDimension.tableTheadColumns" 
+								:key="item" 
+								class="head-column"
+							>
+								{{item}}
+							</td>	
+						</tr>
+						<tr v-if="['月度统计表','周度统计表'].includes(salesDimension.dateTab)">
+							<template v-for="(item,index) in new Array(6)">
+								<td :key="index+'_0'">试用</td>
+								<td :key="index+'_1'">正式</td>
+								<td :key="index+'_2'">关闭</td>
+							</template>
+						</tr>
+					</thead>
+					<tbody>
+            <tr v-for="item in salesDimension.datalist" :key="item.AdminId">
+              <td class="thead-rs">{{item.Name}}</td>
+              <td class="data-cell" v-for="(data,data_key) in item.dataArr" :key="data_key" @click="openDiaHandle(data)">
+                {{ data.value !== 0 ? data.value : '' }}
+              </td>
+            </tr>
+					</tbody>
+					<tfoot>
+						<tr>
+							<td>合计</td>
+							<td v-for="(total_data,total_data_key) in salesDimension.totalGroupArr" :key="total_data_key" 
+              class="data-cell" @click="openDiaHandle(total_data)">
+								{{ total_data.value !== 0 ? total_data.value : '' }}
+							</td>
+						</tr>
+					</tfoot>
+				</table>
+			</div>	
+    </template>
+    <template v-if="roadshowTab==3">
+      <ul class="date-tab-box">
+				<li :class="['date-tab-item',{'act':tab === researchersDimension.dateTab}]" v-for="tab in staticTabs" :key="tab" @click="changeTabHandle(tab)">
+					{{tab}}
+				</li>
+        <date-picker
+          v-model="researchersDimension.selectDate"
+          type="date" 
+          range
+          value-type="format"
+          :clearable="false"
+          @change="dateChange"
+          placeholder="请选择统计时间"/>
+			</ul>
+      <div class="table-body-wrapper" v-show="dataLoading">
+				<table>
+					<thead>
+						<tr>
+							<td rowspan="2" class="thead-rs" style="width: 100px;">研究员</td>
+							<td
+								:colspan="['周度统计表','月度统计表'].includes(researchersDimension.dateTab) ? 3 : 1"
+								v-for="item in researchersDimension.tableTheadColumns" 
+								:key="item" 
+								class="head-column"
+							>
+								{{item}}
+							</td>	
+						</tr>
+            <tr v-if="['月度统计表'].includes(researchersDimension.dateTab)">
+              <template v-for="(item,index) in new Array(4)">
+								<td :key="index+'_0'">试用</td>
+								<td :key="index+'_1'">正式</td>
+								<td :key="index+'_2'">关闭</td>
+              </template>
+            </tr>
+            <tr v-if="['周度统计表'].includes(researchersDimension.dateTab)">
+              <template v-for="(item,index) in new Array(3)">
+								<td :key="index+'_0'">试用</td>
+								<td :key="index+'_1'">正式</td>
+								<td :key="index+'_2'">关闭</td>
+              </template>
+            </tr>
+					</thead>
+					<tbody>
+            <tr v-for="item in researchersDimension.datalist" :key="item.AdminId">
+              <td class="thead-rs">{{item.Name}}</td>
+              <td class="data-cell" v-for="(data,data_key) in item.dataArr" :key="data_key" @click="openDiaHandle(data)">
+                {{ data.value !== 0 ? data.value : '' }}
+              </td>
+            </tr>
+					</tbody>
+					<tfoot>
+						<tr>
+							<td>合计</td>
+							<td v-for="(total_data,total_data_key) in researchersDimension.totalGroupArr" :key="total_data_key" 
+              class="data-cell" @click="openDiaHandle(total_data)">
+								{{ total_data.value !== 0 ? total_data.value : '' }}
+							</td>
+						</tr>
+					</tfoot>
+				</table>
+			</div>	
+    </template>
+
+    <!-- 详情弹窗 -->
+		<actiyityDetailDia
+			:isShow.sync="isShowDia"
+			:title="diaTitle"
+			:form="dialogForm"
+			:fromType="roadshowTab==2?'seller':'researcher'"
+      region="oversea"
+		/>
   </div>
 </template>
 <script>
 import { overseasCustomInterence } from '@/api/modules/overseasCustom.js'
 import mPage from '@/components/mPage.vue'
+import actiyityDetailDia from '@/views/roadshow_manage/compononts/activityDetailDia';
 export default {
-  components: { mPage },
+  components: { mPage,actiyityDetailDia },
   data() {
     return {
       tabeLoading: false,
@@ -148,8 +283,30 @@ export default {
         { label: '正式', val: '正式' },
         { label: '试用', val: '试用' },
         { label: '关闭', val: '关闭' },
-      ]
-
+      ],
+      roadshowTab:1,
+      staticTabs: [ '周度统计表','月度统计表','近1个月','近3个月','近6个月' ],
+      dataLoading:false,
+      // 销售维度
+      salesDimension:{
+        dateTab:"周度统计表",
+        selectDate:"",
+        tableTheadColumns:[],
+        datalist:[],//表格数据
+        totalGroupArr:[] //合计数据
+      },
+      // 研究员维度
+      researchersDimension:{
+        dateTab:"周度统计表",
+        selectDate:"",
+        tableTheadColumns:[],
+        datalist:[],//表格数据
+        totalGroupArr:[] //合计数据
+      },
+      // 详情弹窗
+      isShowDia:false,
+      diaTitle:'路演详情',
+      dialogForm:{}
     }
   },
   mounted(){
@@ -228,10 +385,180 @@ export default {
       const href = this.$router.resolve({path,query}).href
       window.open(href,"_blank")
     },
-
     /* 切换筛选 */
     changeSelectOpts() {
       
+    },
+    tabChange(tab){
+      if(this.roadshowTab==tab) return 
+      this.roadshowTab=tab
+      this.changeTabHandle('周度统计表')
+    },
+    /* 	获取几周前 周一周日日期 或前几月月份*/
+		getWeekOrMonthDate(weeknum,type='week') {
+			if(type === 'week') {
+				const weekStart = this.$moment().subtract(weeknum, 'week').startOf('isoWeek').format('YYYY.MM.DD'); //周一
+				const weekEnd = this.$moment().subtract(weeknum, 'week').endOf('isoWeek').format('YYYY.MM.DD'); //周日
+	
+				// console.log(weekStart,weekEnd)
+				return `${weekStart}~${weekEnd}`;
+			} else {
+				const month = this.$moment().subtract(weeknum,'M').format('YYYY.MM');
+				return month;
+			}
+		},
+    changeTabHandle(tab){
+      if(this.roadshowTab == 1){
+        return
+      }else if(this.roadshowTab == 2){
+        this.salesDimension.dateTab = tab;
+        switch(tab) {
+          case '周度统计表':
+            this.salesDimension.tableTheadColumns = [
+                `本周(${this.getWeekOrMonthDate(0)})`,
+                `上一周(${this.getWeekOrMonthDate(1)})`,
+                `上两周(${this.getWeekOrMonthDate(2)})`,
+                `上三周(${this.getWeekOrMonthDate(3)})`,
+                `上四周(${this.getWeekOrMonthDate(4)})`,
+                `上五周(${this.getWeekOrMonthDate(5)})`]
+            break;
+          case '月度统计表':
+            this.salesDimension.tableTheadColumns = [
+                this.getWeekOrMonthDate(0,'month'),
+                this.getWeekOrMonthDate(1,'month'),
+                this.getWeekOrMonthDate(2,'month'),
+                this.getWeekOrMonthDate(3,'month'),
+                this.getWeekOrMonthDate(4,'month'),
+                this.getWeekOrMonthDate(5,'month')]
+            break;
+          default:
+          this.salesDimension.tableTheadColumns = ['试用','正式','关闭']
+
+          break;
+        }
+      }else{
+        this.researchersDimension.dateTab = tab;
+        switch(tab) {
+          case '周度统计表':
+            this.researchersDimension.tableTheadColumns =  ['上一周','本周','下一周']
+            break;
+          case '月度统计表':
+            this.researchersDimension.tableTheadColumns = [
+              this.getWeekOrMonthDate(0,'month'),
+              this.getWeekOrMonthDate(1,'month'),
+              this.getWeekOrMonthDate(2,'month'),
+              this.getWeekOrMonthDate(3,'month'),
+            ]
+            break;
+          default:
+          this.researchersDimension.tableTheadColumns = ['试用','正式','关闭']
+          break;
+        }
+      }
+      this.$nextTick(()=>{
+        $('.table-body-wrapper')[0].scrollTop = 0;
+      })
+      let typeObj = {
+        '近1个月': 1,
+        '近3个月': 3,
+        '近6个月': 6,
+      };
+      typeObj[tab] ? this.filterDate(typeObj[tab]) : this.filterDate(0);
+
+      this.getData();
+    },
+    dateChange(){
+      if(this.roadshowTab==2){
+        this.salesDimension.dateTab = '';
+        this.salesDimension.tableTheadColumns = ['试用','正式','关闭'];
+      }else{
+        this.researchersDimension.dateTab = '';
+			  this.researchersDimension.tableTheadColumns = ['试用','正式','关闭'];
+      }
+
+			this.getData();
+    },
+    filterDate(month){
+      if(month) {
+				let date_before = this.$moment().subtract(month,'M').format("YYYY-MM-DD");
+				let date_now = this.$moment().format("YYYY-MM-DD");
+				let date = [date_before,date_now]
+				this.roadshowTab==2?(this.salesDimension.selectDate = date):(this.researchersDimension.selectDate = date);
+			}else {
+        this.roadshowTab==2?(this.salesDimension.selectDate = ''):(this.researchersDimension.selectDate = '');
+			}
+    },
+    // 销售维度、研究员维度
+    getData(){
+      let apiName=this.roadshowTab==2?"getOverseasSellerRoadShowList":"getOverseasResearcherRoadShowList"
+      let params=this.roadshowTab==2?{
+        DataType: this.salesDimension.dateTab === '周度统计表' ? 'week' : this.salesDimension.dateTab === '月度统计表' ? 'month' : 'time_interval',
+        StartDate: this.salesDimension.selectDate ? this.salesDimension.selectDate[0] : '',
+        EndDate: this.salesDimension.selectDate ? this.salesDimension.selectDate[1] : '',
+      }:{
+        DataType: this.researchersDimension.dateTab === '周度统计表' ? 'week' : this.researchersDimension.dateTab === '月度统计表' ? 'month' : 'time_interval',
+        StartDate: this.researchersDimension.selectDate ? this.researchersDimension.selectDate[0] : '',
+        EndDate: this.researchersDimension.selectDate ? this.researchersDimension.selectDate[1] : '',
+      }
+      this.dataLoading=false
+      overseasCustomInterence[apiName](params).then(res=>{
+        if(res.Ret == 200){
+          // console.log(res,'res');
+          const dataList=res.Data.List||[]
+          const totalGroupArr=res.Data.RsReportRecordNumList || []
+          dataList.forEach((da)=>{
+            da.dataArr = this.filterTableData(da.RsReportRecordNumList,[da.AdminId])
+          })
+          if(this.roadshowTab==2){
+            this.salesDimension.datalist=dataList
+            this.salesDimension.totalGroupArr=this.filterTableData(totalGroupArr,dataList.map(it => it.AdminId))
+          }else{
+            this.researchersDimension.datalist=dataList
+            this.researchersDimension.totalGroupArr=this.filterTableData(totalGroupArr,dataList.map(it => it.AdminId))
+          }
+          this.dataLoading=true
+        }
+      })
+
+    },
+    /* 处理数据结构 便于页面渲染 userid 时间用于弹窗获取列表*/
+		filterTableData(data,userid=[]) {
+			let list = data.map(item => ([
+        {
+					key: '正式',
+					value: item.FormalNum,
+					startDate: item.StartDate,
+					endDate: item.EndDate,
+					userid
+				},
+				{
+					key: '试用',
+					value: item.TryOutNum,
+					startDate: item.StartDate,
+					endDate: item.EndDate,
+					userid
+				},
+				{
+					key: '关闭',
+					value: item.CloseNum,
+					startDate: item.StartDate,
+					endDate: item.EndDate,
+					userid
+				}
+			]))
+			
+			return list.flat(Infinity);
+		},
+    openDiaHandle({ startDate,endDate,userid,value,key }){
+      if(value === 0) return;
+
+      this.dialogForm = {
+        startDate,
+        endDate,
+        userid,
+        key
+      }
+      this.isShowDia = true;
     }
   },
 }
@@ -245,7 +572,16 @@ export default {
     box-sizing: border-box;
     padding: 20px 30px 30px 30px;
     box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
-
+    .tab-box{
+      margin-bottom: 20px;
+      display: flex;
+      align-items: center;
+      gap: 15px;
+      .tab-item{
+        min-width: 120px;
+        margin: 0;
+      }
+    }
     .top-wrapper {
       display: flex;
       flex-wrap: wrap;
@@ -261,7 +597,83 @@ export default {
             text-decoration: underline;
         }
     }
+    .date-tab-box{
+      display: flex;
+			align-items: center;
+			color: #333;
+			margin-bottom: 30px;
+      gap: 20px;
+      .date-tab-item{
+        cursor: pointer;
+        &:hover {
+					color: #409EFF;
+				}
+				&.act {
+					color: #409EFF;
+					position: relative;
+					&::after {
+						content: "";
+						width: 100%;
+						height: 2px;
+						position: absolute;
+						bottom: -10px;
+						left: 50%;
+						transform: translateX(-50%);
+						background: #409EFF;
+					}
+				}
+      }
+    }
+    .table-body-wrapper {
+			max-height: calc(100vh - 300px);
+			margin-right: -6px;
+			overflow-y: scroll;
+			overflow-x: auto;
+			border-bottom: 1px solid #dcdfe6;
+			border-top: 1px solid #dcdfe6;
+		}
+
+		table {
+			width: 100%;
+			font-size: 14px;
+			color: #666;
+			thead{
+				position: sticky;
+				top: 0;
+				left: 0;
+				border-left: 1px solid #dcdfe6;
+				border-right: 1px solid #dcdfe6;
+				td{
+					border: none;
+					outline-color: #dcdfe6;
+					outline-style: solid;
+					outline-width: 0.5px;
+				}
+			}
+			td,
+			th {
+				min-width: 35px;
+				// word-break: break-all;
+				border: 1px solid #dcdfe6;
+				height: 45px;
+				text-align: center;
+				background-color: #fff;
+			}
+	
+			.head-column {
+				background-color: #F0F2F5;
+			}
+	
+			.data-cell{
+				color: #409EFF;
+				cursor: pointer;
+			}
+
+			.thead-sticky {
+				position: sticky;
+				top: 0;
+			}
+		}
 }
-</style>import { join } from 'lodash'
-import { join } from 'lodash'
+</style>
 

+ 33 - 3
src/views/dataReport_manage/statistic/newCustomlist.vue

@@ -15,7 +15,7 @@
 				:min-width="item.minwidthsty"
 				:prop="item.key"
 				align="center"
-				:sortable="['viewTotal','RoadShowTotal','LastViewTime','ExpireDay','createTime'].includes(item.key) ? 'custom' : false"
+				:sortable="sortableCheck(item.key)"
 			>
 				<template slot-scope="{row}">
 
@@ -80,6 +80,7 @@
 				sortable="custom"
 				align="center" 
 				min-width="120"
+				v-if="!isRenewalException"
 			>
 				<template slot-scope="scope">
 					<span>
@@ -92,9 +93,29 @@
 					</span> 
 				</template>
 			</el-table-column>
-			<el-table-column label="操作" align="center">
+			<el-table-column
+				prop="ServiceYears"
+				sortable="custom"
+				align="center" 
+				min-width="120"
+				v-else
+			>
+				<template slot="header" slot-scope="scope">
+					<el-tooltip content="客户年限=(当前年月日-首签合同开始年月日)/365,结果进行四舍五入,保存一位小数" placement="top">
+						<div style="display: inline-flex;align-items: center;">
+							<span style="margin-right: 4px;">客户年限</span>
+							<i class="el-icon-info" style="color: #333333;"/>
+						</div>
+					</el-tooltip>
+				</template>
+				<template slot-scope="scope">
+					<span>{{scope.row.ServiceYears}}</span> 
+				</template>
+			</el-table-column>
+			<el-table-column label="操作" align="center" prop="LatestServiceRecord" :sortable="isRenewalException?'custom':false">
 				<span slot-scope="scope">
 					<el-button type="text" @click="handleShowShareRecode(scope.row,'list')">沟通记录</el-button>
+					<span style="white-space: nowrap;" v-if="isRenewalException">{{ scope.row.LatestServiceRecord }}</span>
 				</span>
 			</el-table-column>
 			<div slot="empty" style="lineHeight:44px;margin:60px 0;color:#999;">
@@ -205,6 +226,10 @@ export default {
 		Role() {
 			return localStorage.getItem('Role');
 		},
+		// 是否是续约异常
+		isRenewalException(){
+			return this.$route.path=="/abnormalRenewalCustomlist"
+		},
 		tableColumnsComputed(){
 			// 分配销售 续约统计和续约异常统计需要显示
 			let hasDistributionSales = this.Role.indexOf('rai')==-1 && 
@@ -244,6 +269,10 @@ export default {
 			this.getTableData();
 		},
 
+		sortableCheck(key){
+			return ( ['viewTotal','RoadShowTotal','LastViewTime','ExpireDay','createTime'].includes(key) ||
+							(['ShareSeller','SellerName','Status'].includes(key) && this.isRenewalException) ) ? 'custom' : false
+		},
 		/* 排序变化时 */
 		sortChangeHandle({ prop,order }) {
 			console.log(prop,order)
@@ -253,6 +282,7 @@ export default {
 				'RoadShowTotal': 'roadShowTotal',
 				'LastViewTime': 'viewTime',
 				'ExpireDay': 'expireDay',
+				'ShareSeller':'ShareSellerName'
 			}
 
 			this.sort_obj = {
@@ -322,7 +352,7 @@ export default {
       		this.title = title;
 			this.sort_obj = sort_obj
     	}
-
+		this.pageSize=this.isRenewalException?50:10
 		this.ids && this.getTableData();
 	},
 }

+ 46 - 17
src/views/roadshow_manage/compononts/activityDetailDia.vue

@@ -74,6 +74,11 @@ export default {
 		fromType: {
 			type: String,
 			default: 'researcher'
+		},
+		// oversea 海外
+		region: {
+			type: String,
+			default: 'home'
 		}
 	},
 	watch: {
@@ -97,25 +102,49 @@ export default {
 		/* 获取列表 */
 		getStatisticDetail() {
 			const { startDate,endDate,userid,key } = this.form;
-			const typeMapObj = {
-				试用路演: 'try_out',
-				正式路演: 'formal',
-				公开会议: 'meeting',
-			}
-			roadshowInterence.statisticDetailList({
-				DataType: typeMapObj[key] && typeMapObj[key],
-				StartDate: startDate,
-				EndDate: endDate,
-				AdminId: userid,
-				AdminType: this.fromType
-			}).then(res => {
-				const { Ret,Data } = res;
+			if(this.region=='oversea'){
+				// 海外
+				const typeMapObj = {
+					试用: 'try_out',
+					正式: 'formal',
+					关闭: 'close',
+				}
+				roadshowInterence.overseaStatisticDetailList({
+					DataType: typeMapObj[key] && typeMapObj[key],
+					StartDate: startDate,
+					EndDate: endDate,
+					AdminIds: userid?userid.join(','):'',
+					AdminType: this.fromType
+				}).then(res => {
+					const { Ret,Data } = res;
+
+					if(Ret !== 200) return
+
+					this.tableData = Data || [];
 
-				if(Ret !== 200) return
+				})
+			}else {
+				const typeMapObj = {
+					试用路演: 'try_out',
+					正式路演: 'formal',
+					公开会议: 'meeting',
+				}
+				roadshowInterence.statisticDetailList({
+					DataType: typeMapObj[key] && typeMapObj[key],
+					StartDate: startDate,
+					EndDate: endDate,
+					AdminId: userid,
+					AdminType: this.fromType
+				}).then(res => {
+					const { Ret,Data } = res;
 
-				this.tableData = Data || [];
+					if(Ret !== 200) return
+
+					this.tableData = Data || [];
+
+				})
+			}
 
-			})
 		},
 
 		/* 取消 */
@@ -197,4 +226,4 @@ export default {
 .company-tip-poper {
 	max-width: 400px;
 }
-</style>e>
+</style>