Browse Source

crm13.7接口联调

cxmo 1 year ago
parent
commit
99fd137698

+ 30 - 0
src/api/modules/crmApi.js

@@ -296,6 +296,22 @@ const customInterence = {
   trialStatus: (params) => {
     return http.post("/custom/official/user/confirm", params);
   },
+  /* 标记研报申请分组
+    ApplyRecordId
+    GroupName
+    UserId
+   */
+  markApplyUser:(params)=>{
+      return http.post('/yb/apply_record/mark_group',params)
+  },
+  /**
+   * 标记官网试用申请
+   * Id
+   * GroupName
+   */
+  markOfficialUser:(params)=>{
+      return http.post('/custom/official/user/mark_group',params)
+  },
   /* 搜索公司 KeyWord  */
   companySearch: (params) => {
     return http.get("/custom/potential/company/search", params);
@@ -510,6 +526,20 @@ const customInterence = {
     addCustomRemark:(params)=>{
         return http.post("/custom/share/remark/add",params)
     },
+    /**
+     * 标记服务记录
+     * CompanyServiceRecordId
+     * Status 0取消标记 1标记
+     */
+    markRecord:(params)=>{
+        return http.post('/custom/share/mark',params)
+    },
+    /**
+     * 同城客户列表
+     */
+    getCustomCityList:(params)=>{
+        return http.get('/custom/share/list/city',params)
+    },
   /* 审批列表
 		PageSize *
 		CurrentIndex *

+ 10 - 6
src/views/custom_manage/customList/components/shareListDialog.vue

@@ -43,7 +43,7 @@
                     <template slot-scope="{row,$index}">
                         <el-button type="text" size="small" style="color:#409eff;"
                             @click="markRecord(row,$index)"
-                        >{{row.isMark?'取消标记':'标记'}}</el-button>
+                        >{{row.Mark?'取消标记':'标记'}}</el-button>
                         <el-button type="text" size="small" style="color:red;"
                             @click="deleteRecord(row)"
                         >删除</el-button>
@@ -120,7 +120,7 @@ export default {
             })
         },
         tableRowClassName({row}){
-            if(row.isMark){
+            if(row.Mark){
                 return 'mark-row'
             }
             return ''
@@ -158,10 +158,14 @@ export default {
             })
         },
         markRecord(data,index){
-            data.isMark = !data.isMark
-            this.$message.success(`${data.isMark?'标记':'取消标记'}成功`)
-            this.recordList.splice(index,1,data)
-            //getRecordList
+            customInterence.markRecord({
+                CompanyServiceRecordId:data.CompanyServiceRecordId,
+                Status:data.Mark?0:1
+            }).then(res=>{
+                if(res.Ret!==200) return 
+                this.$message.success(`${data.Mark?'取消标记':'标记'}成功`)
+                this.getRecordList()
+            })
 
         },
         closeDia(){

+ 29 - 13
src/views/custom_manage/customList/customCityList.vue

@@ -6,7 +6,7 @@
                 :options="locationOptions"
                 clearable collapse-tags 
                 placeholder="请选择客户地址"
-                @change="getTableList" >
+                @change="handleChangeLocation" >
             </el-cascader>
             <el-input placeholder="客户名称/原销售/分配销售" 
                 prefix-icon="el-icon-search" 
@@ -40,11 +40,14 @@
 
 <script>
 import {locationOptions} from "./location"
+import { customInterence } from '@/api/api.js'
 export default {
     data() {
         this.locationOptions = locationOptions
         return {
             searchCitys:[],
+            provinceValue:'',
+            cityValue:'',
             searchText:'',
             tableColumns:[
                 {
@@ -78,20 +81,33 @@ export default {
         };
     },
     methods: {
+        handleChangeLocation(){
+            const provinceArr = []
+            const cityArr = []
+            this.searchCitys.forEach(item=>{
+                // 省
+                provinceArr.push(item[0])
+                // 市
+                cityArr.push(item[1])
+            })
+        //provinceArr需要去重
+            this.provinceValue = [...new Set(provinceArr)].join(',')
+            this.cityValue = cityArr.join(',')
+            this.page_no = 1;
+            this.getTableList();
+        },
         getTableList(){
             this.tableLoading=true
-            this.$nextTick(()=>{
-                this.tableData = [
-                    {
-                        CompanyName:'客户1',
-                        CompanyType:'ficc',
-                        IndustryName:'其他金融机构',
-                        City:'北京市北京市',
-                        SellerName:'销售',
-                        ShareSeller:'张三',
-                        Status:'正式(共享)',
-                    }]
-                this.tableLoading = false
+            customInterence.getCustomCityList({
+                PageSize:this.pageSize,
+                CurrentIndex:this.pageNo,
+                Keyword:this.searchText,
+                Province:this.provinceValue,
+                City:this.cityValue
+            }).then(res=>{
+                if(res.Ret!==200) return
+                this.tableData = res.Data.List
+                this.total = res.Data.Paging.Totals
             })
             
         },

+ 35 - 15
src/views/ficc_manage/userApplication.vue

@@ -16,18 +16,18 @@
             range
             value-type="format"
             :placeholder="`请选择${activeName===1?'提交':activeName===2?'申请':'发送'}时间`"
-            @change="getTableData">
+            @change="changeQuery">
         </date-picker>
-        <el-select v-if="activeName == 1" v-model="custom_apply_type" placeholder="请选择申请类型" style="width: 160px;" clearable @change="getTableData">
+        <el-select v-if="activeName == 1" v-model="custom_apply_type" placeholder="请选择申请类型" style="width: 160px;" clearable @change="changeQuery">
           <el-option v-for="item in applyArr" :key="item.name" :label="item.name" :value="item.name"> </el-option>
         </el-select>
-        <el-select v-if="activeName == 1" v-model="custom_type" placeholder="请选择用户状态" style="width: 200px;" clearable multiple @change="getTableData">
+        <el-select v-if="activeName == 1" v-model="custom_type" placeholder="请选择用户状态" style="width: 200px;" clearable multiple @change="changeQuery">
           <el-option v-for="item in statusArr" :key="item.name" :label="item.name" :value="item.name"> </el-option>
         </el-select>
-        <el-select v-model="group_type" placeholder="请选择分组" style="width: 160px;" clearable @change="getTableData">
+        <el-select v-model="group_type" placeholder="请选择分组" style="width: 160px;" clearable @change="changeQuery">
           <el-option v-for="item in groupArr" :key="item.name" :label="item.name" :value="item.name"> </el-option>
         </el-select>
-        <el-input placeholder="姓名/手机号/邮箱/公司名称" v-model="search_txt" clearable style="max-width: 220px" @input="getTableData">
+        <el-input placeholder="姓名/手机号/邮箱/公司名称" v-model="search_txt" clearable style="max-width: 240px" @input="changeQuery">
           <i slot="prefix" class="el-input__icon el-icon-search"></i>
         </el-input>
       </div>
@@ -60,19 +60,20 @@
         </el-table-column>
         <el-table-column label="分组" align="center">
             <template slot-scope="{ row }">
-                <span>{{row.Group}}</span>
+                <span>{{row.MarkGroup}}</span>
             </template>
         </el-table-column>
         <el-table-column label="操作" align="center">
           <template slot-scope="{ row }">
-            <!-- <div v-if="activeName == 1">
-              <span class="editsty" v-if="row.OpStatus === 0 && row.IsMove === 0&&!(row.Status==='潜在用户'||row.Status==='流失')" @click="dealHandle(row)">标记处理</span>
+            <div v-if="activeName == 1">
+             <!--  <span class="editsty" v-if="row.OpStatus === 0 && row.IsMove === 0&&!(row.Status==='潜在用户'||row.Status==='流失')" @click="dealHandle(row)">标记处理</span> -->
+              <span class="editsty" v-if="row.OpStatus === 0 && row.IsMove === 0&&!(row.Status==='潜在用户'||row.Status==='流失')" @click="handleChooseGroup(row)">标记</span>
             </div>
             <div v-else>
-              <span class="editsty" v-if="row.Status==='待处理'" @click="dealHandle(row)">标记处理</span>
-            </div> -->
+              <!-- <span class="editsty" v-if="row.Status==='待处理'" @click="dealHandle(row)">标记处理</span> -->
+              <span class="editsty" v-if="row.Status==='待处理'" @click="handleChooseGroup(row)">标记</span>
+            </div>
             <span class="editsty" v-if="activeName == 1&&row.IsMove === 0" @click="moveHandle(row)">移动</span>
-            <span class="editsty" v-if="!row.Group" @click="handleChooseGroup(row)">标记</span>
             <!-- <span class="editsty" style="color:#ff0000" v-if="row.DelBtn" @click="delHandle(row)">删除</span> -->
           </template>
         </el-table-column>
@@ -154,6 +155,7 @@ export default {
         {name:"权益组",value:"权益组"}
         ],
       choosed_group:'',
+      choosed_row:null,
       custom_type:[],
       custom_apply_type:'',//申请类型
       date_range:[],
@@ -202,6 +204,10 @@ export default {
     this.getTableData();
   },
   methods: {
+    changeQuery(){
+        this.page_no = 1
+        this.getTableData()
+    },
     /* 获取表格数据 */
     async getTableData() {
       this.tableLoading = true;
@@ -212,13 +218,19 @@ export default {
               CurrentIndex: this.page_no,
               KeyWord: this.search_txt,
               States: this.search_type,
-              ApplyStatus:this.custom_apply_type
+              ApplyStatus:this.custom_apply_type,
+              MarkGroup:this.group_type,
+              StartDate:this.date_range[0],
+              EndDate:this.date_range[1],
             })
           : await customInterence.trialList({
               PageSize: this.pageSize,
               CurrentIndex: this.page_no,
               SourceType: this.activeName == 2 ? "中文官网" : this.activeName == 3 ? "英文官网" : "",
               KeyWord: this.search_txt,
+              MarkGroup:this.group_type,
+              StartDate:this.date_range[0],
+              EndDate:this.date_range[1],
             });
 
       if (res.Ret === 200) {
@@ -313,20 +325,28 @@ export default {
       });
     },
     //打开标记分组弹窗
-    handleChooseGroup(){
+    handleChooseGroup(row){
+        this.choosed_row = row
         this.isChooseGroupDialogShow = true
     },
     //标记分组
-    chooseGroup(){
+    async chooseGroup(){
         if(!this.choosed_group){
             this.$message.warning('请选择分组')
             return 
         }
+        const {ApplyRecordId,UserId,Id} = this.choosed_row
         //请求接口
-        //then
+        const res = this.activeName===1?await customInterence.markApplyUser({
+            ApplyRecordId,UserId,GroupName:this.choosed_group
+        }):await customInterence.markOfficialUser({Id,GroupName:this.choosed_group})
+
+        if(res.Ret!==200) return 
         this.$message.success('标记分组成功')
         this.isChooseGroupDialogShow = false
         this.choosed_group=''
+        this.getTableData()
+        
     }
   },
 };