浏览代码

海外客户路演接口

Karsa 1 年之前
父节点
当前提交
ab31986e1c

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

@@ -94,6 +94,25 @@ export const overseasCustomInterence = {
      */
     overseasCustomInterence:(params)=>{
         return http.get('/overseas_custom/custom/label/statistics',params)
+    },
+    
+    /**
+     * 海外客户路演 销售 研究列表
+     * @param {*} params AdminType: researcher seller
+     * @returns 
+     */
+    getOverseasRoadShowUsers: params => {
+        return http.get('/roadshow/overseas_custom/sys_user/list',params)
+    },
+
+    /**
+     * 海外客户路演列表
+     * @param {*} params 
+     * ResearcherId SellerId  StartDate EndDate  CompanyStatus
+     * @returns 
+     */
+    getOverseasRoadShowList: params => {
+        return http.get('/roadshow/overseas_custom/calendar/list',params)
     }
 
 }

+ 0 - 1
src/views/custom_manage/overseasList/overseasCustomList.vue

@@ -180,7 +180,6 @@
 
 <script>
 import { overseasCustomInterence} from '@/api/modules/overseasCustom.js'
-import {customInterence } from '@/api/api.js'
 import SelectSaleDialog from './components/selectSaleDialog';
 import TotalClicksDialog from './components/totalClicksDialog';
 import RoadShowsDialog from './components/roadShowsDialog';

+ 103 - 47
src/views/custom_manage/overseasList/overseasCustomRoadshow.vue

@@ -18,7 +18,7 @@
             filterable
             clearable
             placeholder="请选择销售"
-            @change="changeSelectOpts('sales')"
+            @change="pageChange(1)"
         />
         <el-cascader
             v-model="researchers"
@@ -36,24 +36,24 @@
             filterable
             clearable
             placeholder="请选择研究员"
-            @change="changeSelectOps('researchers')"
+            @change="pageChange(1)"
         />
 
-        <!-- <el-select 
-          v-model="tableParams.SellerId" 
+        <el-select 
+          v-model="status" 
           placeholder="请选择客户状态"
-          @change="changeSelectOpts('status')"
+          @change="pageChange(1)"
           multiple 
           collapse-tags 
           clearable
         >
             <el-option
-                v-for="item in salesArr"
-                :key="item.SellerId"
-                :label="item.RealName"
-                :value="item.SellerId"
+                v-for="item in statusOptions"
+                :key="item.val"
+                :label="item.label"
+                :value="item.val"
             />
-        </el-select> -->
+        </el-select>
 
         <date-picker 
 						v-model="date" 
@@ -61,8 +61,8 @@
 						range
 						value-type="format"
 						placeholder="请选择路演日期" 
-						@change="dateChange" 
-						style="width:200px;marginRight:10px;marginBottom:8px;"
+						@change="pageChange(1)" 
+						style="width:200px;margin-right:10px;margin-bottom:8px;"
         />
 
       </div>
@@ -71,7 +71,7 @@
           placeholder="客户名称/社会信用码/手机号码/邮箱" 
           style="width:317px;" clearable
           v-model="searchWord"
-          @input="handlePageChange(1)"
+          @input="pageChange(1)"
       />
     </div>
 
@@ -79,6 +79,7 @@
       <el-table
         ref="tableRef"
         :data="tableData"
+        :loading="tabeLoading"
         border
         @sort-change="handleSortChange"
       >
@@ -92,26 +93,7 @@
           <template slot-scope="{row}">
               <!-- 客户名称 -->
               <div v-if="item.key==='CompanyName'" class="editor" @click="toCustomDetail(row)">{{row[item.key]}}</div>
-              <!-- 状态 -->
-              <div  v-else-if="item.key==='OverseasStatus'" class="status-box">
-                      <span>{{row[item.key]}}</span>
-                      <div class="select" v-if="row[item.key]==='试用'">
-                          <el-select 
-                              v-model="row.OverseasLabel"
-                              size="mini" 
-                              style="width: 50px" 
-                              placeholder=""
-                              @change="handleChangeTryStatus(row)"
-                          >
-                              <el-option
-                                  v-for="item in trialTags"
-                                  :key="item.value"
-                                  :label="item.label"
-                                  :value="item.value">
-                              </el-option>
-                          </el-select>
-                      </div>
-              </div>
+
               <span v-else>{{row[item.key]}}</span>
           </template>
         </el-table-column>
@@ -129,23 +111,24 @@
   </div>
 </template>
 <script>
-import { customInterence,roadshowInterence } from '@/api/api.js'
+import { overseasCustomInterence } from '@/api/modules/overseasCustom.js'
 import mPage from '@/components/mPage.vue'
 export default {
   components: { mPage },
   data() {
     return {
+      tabeLoading: false,
       tableData: [],
       total: 0,
       currentIndex: 1,
       pageSize: 10,
       columns: [
-        {  label: "客户名称",key: 'CompanyName' },
-        {  label: "状态",key: 'OverseasStatus' },
-        {  label: "路演日期",key: 'CompanyName',sortable:true },
-        {  label: "路演形式",key: 'CompanyName' },
-        {  label: "路演平台/路演城市",key: 'CompanyName' },
-        {  label: "研究员",key: 'CompanyName' },
+        {  label: "客户名称",key: 'CompanyName',minWidth:200 },
+        {  label: "状态",key: 'CompanyStatus' },
+        {  label: "路演日期",key: 'StartDate',sortable:true },
+        {  label: "路演形式",key: 'RoadshowType' },
+        {  label: "路演平台/路演城市",key: 'RoadshowPlatform' },
+        {  label: "研究员",key: 'ResearcherName' },
         {  label: "对接销售",key: 'SellerName' },
       ],
 
@@ -153,38 +136,102 @@ export default {
       researchers: [],
       date:[],
       searchWord: '',
+      status:[],
+      sortParams: {
+        SortField: '',
+        SortDesc: 1,
+      },
 
       salesOptions: [],
-      researchersOptions: []
+      researchersOptions: [],
+      statusOptions: [
+        { label: '正式', val: '正式' },
+        { label: '试用', val: '试用' },
+        { label: '关闭', val: '关闭' },
+      ]
 
     }
   },
   mounted(){
     this.getSellerList()
     this.getResearchersList()
+    this.getTableData()
   },
   methods:{
     //获取销售列表
     async getSellerList() {
-      const res = await customInterence.getSale({Status:0})
+      const res = await overseasCustomInterence.getOverseasRoadShowUsers({AdminType:'seller'})
 
       if (res.Ret === 200) {
-        this.salesOptions = res.Data.List;
+        this.salesOptions = res.Data || [];
       }
     },
 
     //获取研究员列表
     async getResearchersList() {
       // 发送请求
-      const res = await roadshowInterence.getResearcherList();
+      const res = await overseasCustomInterence.getOverseasRoadShowUsers({AdminType:'researcher'});
       if (res.Ret === 200) {
-        this.researchersOptions = res.Data;
+        this.researchersOptions = res.Data || [];
+      }
+    },
+
+    async getTableData() {
+      this.tabeLoading = true;
+      let params = {
+        ResearcherId: this.researchers.join(','),
+        SellerId: this.sales.join(','),
+        StartDate: this.date[0]||'',
+        EndDate: this.date[1]||'',
+        CompanyStatus: this.status.join(','),
+        CurrentIndex: this.currentIndex,
+        PageSize: this.pageSize,
+        Keyword: this.searchWord,
+        ...this.sortParams
+      }
+      const res = await overseasCustomInterence.getOverseasRoadShowList(params)
+
+      this.tabeLoading = false;
+
+      if(res.Ret!==200) return
+
+      this.tableData = res.Data.List || [];
+
+      this.total = res.Data.Paging.Totals;
+    },
+
+    handleSortChange({prop,order}) {
+      console.log(prop,order)
+      this.sortParams = {
+        SortField: order?prop:'',
+        SortDesc: order==='ascending'?2:1
+      }
+
+      this.pageChange(1)
+    },
+
+    pageChange(page) {
+      this.currentIndex = page;
+      this.getTableData()
+    },
+
+    toCustomDetail(data) {
+      const path = data.Source===1?'/detailCustomEn':'/customDetail'
+      const query = {
+          ...data.Source===1?{
+            companyId:data.CompanyId - 10000000
+          }:{
+              id:data.CompanyId
+          },
+          from:'overseas'
       }
+      const href = this.$router.resolve({path,query}).href
+      window.open(href,"_blank")
     },
 
     /* 切换筛选 */
     changeSelectOpts() {
-
+      
     }
   },
 }
@@ -207,5 +254,14 @@ export default {
     .cont-wrapper {
       margin-top: 10px;
     }
+    .editor{
+        color:#409EFF;
+        cursor: pointer;
+        &:hover{
+            text-decoration: underline;
+        }
+    }
 }
-</style>
+</style>import { join } from 'lodash'
+import { join } from 'lodash'
+