Преглед на файлове

Merge remote-tracking branch 'origin/dev' into dev

wuguojie преди 10 месеца
родител
ревизия
a5e2aa4417
променени са 46 файла, в които са добавени 1455 реда и са изтрити 796 реда
  1. 95 1
      src/api/modules/consoleManage.ts
  2. 32 6
      src/views/consoleManage/businessDataManage/channelDataManage/channelDataManageDetail.vue
  3. 20 6
      src/views/consoleManage/businessDataManage/channelDataManage/index.vue
  4. 32 6
      src/views/consoleManage/businessDataManage/companyDataManage/companyDataManageDetail.vue
  5. 9 5
      src/views/consoleManage/businessDataManage/companyDataManage/index.vue
  6. 44 16
      src/views/consoleManage/businessDataManage/contactPersonDataManage/contactPersonDataManageDetail.vue
  7. 10 5
      src/views/consoleManage/businessDataManage/contactPersonDataManage/index.vue
  8. 10 5
      src/views/consoleManage/businessDataManage/riskDataManage/index.vue
  9. 32 6
      src/views/consoleManage/businessDataManage/riskDataManage/riskDataManageDetail.vue
  10. 22 6
      src/views/consoleManage/businessDataManage/salesmanDataManage/index.vue
  11. 35 8
      src/views/consoleManage/businessDataManage/salesmanDataManage/salesmanDataManageDetail.vue
  12. 20 6
      src/views/consoleManage/businessDataManage/telemarketingDataManage/index.vue
  13. 44 16
      src/views/consoleManage/businessDataManage/telemarketingDataManage/telemarketingDataManageDetail.vue
  14. 21 12
      src/views/consoleManage/components/queryForm.vue
  15. 3 0
      src/views/consoleManage/components/tree.vue
  16. 15 8
      src/views/consoleManage/financeDataManage/costVerificationData/costVerificationDataDetail.vue
  17. 21 9
      src/views/consoleManage/financeDataManage/costVerificationData/index.vue
  18. 14 17
      src/views/consoleManage/financeDataManage/meetData/index.vue
  19. 10 10
      src/views/consoleManage/financeDataManage/meetData/meetDataDetail.vue
  20. 9 9
      src/views/consoleManage/financeDataManage/operatingProfitData/index.vue
  21. 31 12
      src/views/consoleManage/financeDataManage/personCheckData/index.vue
  22. 20 11
      src/views/consoleManage/financeDataManage/personCheckData/personCheckDataDetail.vue
  23. 10 13
      src/views/consoleManage/financeDataManage/receivableData/index.vue
  24. 22 57
      src/views/consoleManage/financeDataManage/receivableData/receivableDataDetail.vue
  25. 14 14
      src/views/consoleManage/personDataManage/channelPersonData/channelPersonDataDetail.vue
  26. 19 18
      src/views/consoleManage/personDataManage/channelPersonData/index.vue
  27. 37 19
      src/views/consoleManage/personDataManage/salesmanDept/index.vue
  28. 15 15
      src/views/consoleManage/personDataManage/salesmanDept/salesmanDeptDetail.vue
  29. 273 97
      src/views/consoleManage/personDataManage/salesmanDept/salesmanDeptDetailPerson.vue
  30. 19 18
      src/views/consoleManage/personDataManage/salesmanReport/index.vue
  31. 14 14
      src/views/consoleManage/personDataManage/salesmanReport/salesmanReportDetail.vue
  32. 19 18
      src/views/consoleManage/personDataManage/telemarketingPersonData/index.vue
  33. 15 15
      src/views/consoleManage/personDataManage/telemarketingPersonData/telemarketingPersonDataDetail.vue
  34. 29 37
      src/views/consoleManage/quotationDataManage/channelQuotationData/index.vue
  35. 29 37
      src/views/consoleManage/quotationDataManage/companyQuotationData/index.vue
  36. 23 21
      src/views/consoleManage/quotationDataManage/quotationOrderData/index.vue
  37. 29 37
      src/views/consoleManage/quotationDataManage/salesmanQuotationData/index.vue
  38. 29 37
      src/views/consoleManage/quotationDataManage/telemarketingQuotationData/index.vue
  39. 20 20
      src/views/consoleManage/taskDataManage/channelData/channelDataDetail.vue
  40. 49 19
      src/views/consoleManage/taskDataManage/channelData/index.vue
  41. 49 14
      src/views/consoleManage/taskDataManage/companyData/companyDataDetail.vue
  42. 46 16
      src/views/consoleManage/taskDataManage/companyData/index.vue
  43. 57 21
      src/views/consoleManage/taskDataManage/salesmanData/index.vue
  44. 20 20
      src/views/consoleManage/taskDataManage/salesmanData/salesmanDataDetail.vue
  45. 49 19
      src/views/consoleManage/taskDataManage/telemarketingData/index.vue
  46. 20 20
      src/views/consoleManage/taskDataManage/telemarketingData/telemarketingDataDetail.vue

+ 95 - 1
src/api/modules/consoleManage.ts

@@ -11,7 +11,9 @@ const manageApi = (axiosInstance: ApiInstance) => ({
     getDeptListByUserId: (params: any) => axiosInstance.get('/console/searchConfiguration/getDeptListByUserId',{params}),//通过用户id查询机构树
     getUserManageListByUserId: (params: any) => axiosInstance.get('/console/searchConfiguration/getUserManageListByUserId',{params}),//通过用户id查询管理人树
     downTaskFile: (params: any) => axiosInstance.get('/console/task/downTaskFile',{params}),//下载导出的excel文件
-     //保险公司
+    
+    //业务数据
+    //保险公司
     companyDataManagePageList: (params: any) => axiosInstance.post('/console/businessDataManage/companyDataManagePageList',params),//列表接口
     companyDataManageToTask: (params: any) => axiosInstance.post('/console/businessDataManage/companyDataManageToTask',params),//列表导出接口
     companyDataManageDetailPageList: (params: any) => axiosInstance.post('/console/businessDataManage/companyDataManageDetailPageList',params),//明细接口
@@ -41,6 +43,98 @@ const manageApi = (axiosInstance: ApiInstance) => ({
     telemarketingDataManageToTask: (params: any) => axiosInstance.post('/console/businessDataManage/telemarketingDataManageToTask',params),//列表导出接口
     telemarketingDataManageDetailPageList: (params: any) => axiosInstance.post('/console/businessDataManage/telemarketingDataManageDetailPageList',params),//明细接口
     telemarketingDataManageDetailToTask: (params: any) => axiosInstance.post('/console/businessDataManage/telemarketingDataManageDetailToTask',params),//明细出接口
+     
+    
+    //报价数据
+    //报价订单
+    quotationOrderDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/quotationOrderDataPageList',params),//列表接口
+    quotationOrderDataToTask: (params: any) => axiosInstance.post('/console/quotationDataManage/quotationOrderDataToTask',params),//列表导出接口
+    //保险公司
+    companyQuotationDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/companyQuotationDataPageList',params),//列表接口
+    companyQuotationDataToTask: (params: any) => axiosInstance.post('/console/quotationDataManage/companyQuotationDataToTask',params),//列表导出接口
+    //业务员
+    salesmanQuotationDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/salesmanQuotationDataPageList',params),//列表接口
+    salesmanQuotationDataToTask: (params: any) => axiosInstance.post('/console/quotationDataManage/salesmanQuotationDataToTask',params),//列表导出接口
+     //渠道
+    channelQuotationDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/channelQuotationDataPageList',params),//列表接口
+    channelQuotationDataToTask: (params: any) => axiosInstance.post('/console/quotationDataManage/channelQuotationDataToTask',params),//列表导出接口
+    //电销
+     telemarketingQuotationDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/telemarketingQuotationDataPageList',params),//列表接口
+    telemarketingQuotationDataToTask: (params: any) => axiosInstance.post('/console/quotationDataManage/telemarketingQuotationDataToTask',params),//列表导出接口
+
+        
+    //人员数据
+    //业务员报表
+    salesmanReportPageList: (params: any) => axiosInstance.post('/console/personDataManage/salesmanReportPageList',params),//列表接口
+    salesmanReportToTask: (params: any) => axiosInstance.post('/console/personDataManage/salesmanReportToTask',params),//列表导出接口
+    salesmanReportDetailPageList: (params: any) => axiosInstance.post('/console/personDataManage/salesmanReportDetailPageList',params),//明细接口
+    salesmanReportDetailToTask: (params: any) => axiosInstance.post('/console/personDataManage/salesmanReportDetailToTask',params),//明细出接口
+     //业务员组织
+    salesmanDeptPageList: (params: any) => axiosInstance.post('/console/personDataManage/salesmanDeptPageList',params),//列表接口
+    salesmanDeptToTask: (params: any) => axiosInstance.post('/console/personDataManage/salesmanDeptToTask',params),//列表导出接口
+    salesmanDeptDetailPageList: (params: any) => axiosInstance.post('/console/personDataManage/salesmanDeptDetailPageList',params),//人员明细接口
+    salesmanDeptDetailToTask: (params: any) => axiosInstance.post('/console/personDataManage/salesmanDeptDetailToTask',params),//人员明细出接口
+    salesmanBusinessDetailPageList: (params: any) => axiosInstance.post('/console/personDataManage/salesmanBusinessDetailPageList',params),//业务明细接口
+    salesmanBusinessDetailToTask: (params: any) => axiosInstance.post('/console/personDataManage/salesmanBusinessDetailToTask',params),//业务明细出接口
+    //渠道数据
+    channelPersonDataPageList: (params: any) => axiosInstance.post('/console/personDataManage/channelPersonDataPageList',params),//列表接口
+    channelPersonDataToTask: (params: any) => axiosInstance.post('/console/personDataManage/channelPersonDataToTask',params),//列表导出接口
+    channelPersonDataDetailPageList: (params: any) => axiosInstance.post('/console/personDataManage/channelPersonDataDetailPageList',params),//明细接口
+    channelPersonDataDetailToTask: (params: any) => axiosInstance.post('/console/personDataManage/channelPersonDataDetailToTask',params),//明细出接口
+    //电销数据
+    telemarketingPersonDataPageList: (params: any) => axiosInstance.post('/console/personDataManage/telemarketingPersonDataPageList',params),//列表接口
+    telemarketingPersonDataToTask: (params: any) => axiosInstance.post('/console/personDataManage/telemarketingPersonDataToTask',params),//列表导出接口
+    telemarketingPersonDataDetailPageList: (params: any) => axiosInstance.post('/console/personDataManage/telemarketingPersonDataDetailPageList',params),//明细接口
+    telemarketingPersonDataDetailToTask: (params: any) => axiosInstance.post('/console/personDataManage/telemarketingPersonDataDetailToTask',params),//明细出接口
+
+     
+    //任务数据
+    //业务员
+    salesmanDataPageList: (params: any) => axiosInstance.post('/console/taskDataManage/salesmanDataPageList',params),//列表接口
+    salesmanDataToTask: (params: any) => axiosInstance.post('/console/taskDataManage/salesmanDataToTask',params),//列表导出接口
+    salesmanDataDetailPageList: (params: any) => axiosInstance.post('/console/taskDataManage/salesmanDataDetailPageList',params),//明细接口
+    salesmanDataDetailToTask: (params: any) => axiosInstance.post('/console/taskDataManage/salesmanDataDetailToTask',params),//明细出接口
+    //渠道
+    channelDataPageList: (params: any) => axiosInstance.post('/console/taskDataManage/channelDataPageList',params),//列表接口
+    channelDataToTask: (params: any) => axiosInstance.post('/console/taskDataManage/channelDataToTask',params),//列表导出接口
+    channelDataDetailPageList: (params: any) => axiosInstance.post('/console/taskDataManage/channelDataDetailPageList',params),//明细接口
+    channelDataDetailToPage: (params: any) => axiosInstance.post('/console/taskDataManage/channelDataDetailToPage',params),//明细出接口
+    //电销
+    telemarketingDataPageList: (params: any) => axiosInstance.post('/console/taskDataManage/telemarketingDataPageList',params),//列表接口
+    telemarketingDataToTask: (params: any) => axiosInstance.post('/console/taskDataManage/telemarketingDataToTask',params),//列表导出接口
+    telemarketingDataDetailPageList: (params: any) => axiosInstance.post('/console/taskDataManage/telemarketingDataDetailPageList',params),//明细接口
+    telemarketingDataDetailToTask: (params: any) => axiosInstance.post('/console/taskDataManage/telemarketingDataDetailToTask',params),//明细出接口
+     //保险公司
+    companyDataPageList: (params: any) => axiosInstance.post('/console/taskDataManage/companyDataPageList',params),//列表接口
+    companyDataToTask: (params: any) => axiosInstance.post('/console/taskDataManage/companyDataToTask',params),//列表导出接口
+    companyDataDetailPageList: (params: any) => axiosInstance.post('/console/taskDataManage/companyDataDetailPageList',params),//明细接口
+    companyDataDetailToTask: (params: any) => axiosInstance.post('/console/taskDataManage/companyDataDetailToTask',params),//明细出接口
+
+
+    //财务数据
+    //费用校验
+    costVerificationDataPageList: (params: any) => axiosInstance.post('/console/financeDataManage/costVerificationDataPageList',params),//列表接口
+    costVerificationDataToTask: (params: any) => axiosInstance.post('/console/financeDataManage/costVerificationDataToTask',params),//列表导出接口
+    costVerificationDataDetailPageList: (params: any) => axiosInstance.post('/console/financeDataManage/costVerificationDataDetailPageList',params),//明细接口
+    costVerificationDataDetailToTask: (params: any) => axiosInstance.post('/console/financeDataManage/costVerificationDataDetailToTask',params),//明细出接口
+    //应收
+    receivableDataPageList: (params: any) => axiosInstance.post('/console/financeDataManage/receivableDataPageList',params),//列表接口
+    receivableDataToTask: (params: any) => axiosInstance.post('/console/financeDataManage/receivableDataToTask',params),//列表导出接口
+    receivableDataDetailPageList: (params: any) => axiosInstance.post('/console/financeDataManage/receivableDataDetailPageList',params),//明细接口
+    receivableDataDetailToTask: (params: any) => axiosInstance.post('/console/financeDataManage/receivableDataDetailToTask',params),//明细出接口
+     //应付
+    meetDataPageList: (params: any) => axiosInstance.post('/console/financeDataManage/meetDataPageList',params),//列表接口
+    meetDataToTask: (params: any) => axiosInstance.post('/console/financeDataManage/meetDataToTask',params),//列表导出接口
+    meetDataDetailPageList: (params: any) => axiosInstance.post('/console/financeDataManage/meetDataDetailPageList',params),//明细接口
+    meetDataDetailToTask: (params: any) => axiosInstance.post('/console/financeDataManage/meetDataDetailToTask',params),//明细出接口
+    //经营利润
+    operatingProfitDataPageList: (params: any) => axiosInstance.post('/console/financeDataManage/operatingProfitDataPageList',params),//列表接口
+    operatingProfitDataToTask: (params: any) => axiosInstance.post('/console/financeDataManage/operatingProfitDataToTask',params),//列表导出接口
+    //人员审核
+    personCheckDataPageList: (params: any) => axiosInstance.post('/console/financeDataManage/personCheckDataPageList',params),//列表接口
+    personCheckDataToTask: (params: any) => axiosInstance.post('/console/financeDataManage/personCheckDataToTask',params),//列表导出接口
+    personCheckDataDetailPageList: (params: any) => axiosInstance.post('/console/financeDataManage/personCheckDataDetailPageList',params),//明细接口
+    personCheckDataDetailToTa: (params: any) => axiosInstance.post('/console/financeDataManage/personCheckDataDetailToTa',params),//明细出接口
   })
 
 export default manageApi

+ 32 - 6
src/views/consoleManage/businessDataManage/channelDataManage/channelDataManageDetail.vue

@@ -27,7 +27,7 @@
 </template>
 
 <script setup lang="ts">
-import { useRouter } from "vue-router";
+import { useRouter, useRoute } from "vue-router";
 import api from "@/api";
 import QueryForm from "../../components/queryForm.vue";
 import FilterDialog from "../../components/filterDialog.vue";
@@ -38,6 +38,7 @@ import PageInfo from "@/api/types/agreementTypes";
 import { ElMessage } from "element-plus";
 
 const router = useRouter();
+const route = useRoute();
 const userStore = useUserStore();
 const isShow = ref(false);
 
@@ -139,20 +140,45 @@ const queryFormRes = ref();
 const routerKey = ref("channelDataManageDetail");
 const defaultList = ref();
 const pageHiddenList = ref([]); //页面不显示的数据
+const isFilterFrom = ref(); //主页面查询条件且在过滤中不存在
 const initDefaultList = async () => {
   const { data } = await api.manageApi.getSearchDefaultList({
     routerKey: routerKey.value,
     userId: phone,
   });
-  listOption.queryFormFields = data.filter((e) => e.showFlag);
 
-  pageHiddenList.value = data.filter((e) => !e.showFlag);
-  defaultList.value = data.map((e) => e.id);
+  const queryParamsMap = route.query;
+  const processedData = data.map((item) => {
+    if (queryParamsMap.hasOwnProperty(item.key)) {
+      return { ...item, defaultValue: queryParamsMap[item.key] };
+    }
+    return item;
+  });
+
+  let filterFrom = {};
+  processedData.map((item) => {
+    filterFrom[item.key] = item.defaultValue;
+  });
+  isFilterFrom.value = getUniqueProperties(queryParamsMap, filterFrom);
+
+  listOption.queryFormFields = processedData.filter((e) => e.showFlag);
+  pageHiddenList.value = processedData.filter((e) => !e.showFlag);
+  defaultList.value = processedData.map((e) => e.id);
   selectedKeys.value = defaultList.value;
   queryFormRes.value = queryFormRef.value?.initDefaultSaveForm();
   queryList();
 };
 
+const getUniqueProperties = (obj1, obj2) => {
+  const uniqueProps = {};
+  Object.keys(obj1).forEach((key) => {
+    if (!(key in obj2) || obj2[key] == undefined) {
+      uniqueProps[key] = obj1[key];
+    }
+  });
+  return uniqueProps;
+};
+
 //删除
 const filterDialogRef = ref();
 const delSelect = (id) => {
@@ -216,7 +242,7 @@ const query = (item) => {
 //数据查询
 const tableData = ref([]);
 const queryList = async () => {
-  let query = { ...queryFormRes.value };
+  let query = { ...queryFormRes.value, ...isFilterFrom.value };
   const { data } = await api.manageApi.channelDataManageDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
@@ -242,7 +268,7 @@ function getList(item: PageInfo) {
 
 //导出
 const downloadFile = async () => {
-  let query = { ...queryFormRes.value };
+  let query = { ...queryFormRes.value, ...isFilterFrom.value };
   const { data, msg } = await api.manageApi.channelDataManageDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,

+ 20 - 6
src/views/consoleManage/businessDataManage/channelDataManage/index.vue

@@ -17,7 +17,7 @@
             {{item.name}}
           </div>
         </div>
-        <Tree ref='treeRef'></Tree>
+        <Tree ref='treeRef' @nodeId='nodeId'></Tree>
       </div>
 
       <div class='flex-1 content-r'>
@@ -25,7 +25,7 @@
         <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
           :columnwidth="120" :pageInfo="pageInfo" @getList="getList">
           <template v-slot:operation="scope">
-            <el-button type="primary" link @click='agreementEdit(scope.operationData.id)'>明细</el-button>
+            <el-button type="primary" link @click='agreementEdit(scope.operationData)'>明细</el-button>
           </template>
 
           <template v-slot:search="scope">
@@ -332,12 +332,15 @@ const downloadFile = async () => {
   userStore.count++;
 };
 
-const agreementEdit = (id) => {
+const agreementEdit = (item) => {
+  queryFormRes.value = queryFormRef.value?.querySelect();
+  let query = {
+    ...queryFormRes.value,
+    salesmanId: item.salesmanId,
+  };
   router.push({
     name: "channelDataManageDetail",
-    query: {
-      id: id,
-    },
+    query
   });
 };
 
@@ -362,6 +365,17 @@ const tabList = ref([
   },
 ]);
 
+const nodeId = (id) => {
+  if (!tabIndex.value) {
+    queryFormRes.value.orgIds = [id];
+    queryFormRes.value.manageIds = [];
+  } else {
+    queryFormRes.value.orgIds = [];
+    queryFormRes.value.manageIds = [id];
+  }
+  queryList();
+};
+
 onMounted(() => {
   initDefaultList();
   treeRef.value?.getTree(tabList.value[0].api);

+ 32 - 6
src/views/consoleManage/businessDataManage/companyDataManage/companyDataManageDetail.vue

@@ -25,7 +25,7 @@
 </template>
 
 <script setup lang="ts">
-import { useRouter } from "vue-router";
+import { useRouter, useRoute } from "vue-router";
 import api from "@/api";
 import QueryForm from "../../components/queryForm.vue";
 import FilterDialog from "../../components/filterDialog.vue";
@@ -36,6 +36,7 @@ import PageInfo from "@/api/types/agreementTypes";
 import { ElMessage } from "element-plus";
 
 const router = useRouter();
+const route = useRoute();
 const userStore = useUserStore();
 const isShow = ref(false);
 
@@ -115,20 +116,45 @@ const queryFormRes = ref();
 const routerKey = ref("companyDataManageDetail");
 const defaultList = ref();
 const pageHiddenList = ref([]); //页面不显示的数据
+const isFilterFrom = ref(); //主页面查询条件且在过滤中不存在
+
 const initDefaultList = async () => {
   const { data } = await api.manageApi.getSearchDefaultList({
     routerKey: routerKey.value,
     userId: phone,
   });
-  listOption.queryFormFields = data.filter((e) => e.showFlag);
 
-  pageHiddenList.value = data.filter((e) => !e.showFlag);
-  defaultList.value = data.map((e) => e.id);
+  const queryParamsMap = route.query;
+  const processedData = data.map((item) => {
+    if (queryParamsMap.hasOwnProperty(item.key)) {
+      return { ...item, defaultValue: queryParamsMap[item.key] };
+    }
+    return item;
+  });
+
+  let filterFrom = {};
+  processedData.map((item) => {
+    filterFrom[item.key] = item.defaultValue;
+  });
+  isFilterFrom.value = getUniqueProperties(queryParamsMap, filterFrom);
+
+  listOption.queryFormFields = processedData.filter((e) => e.showFlag);
+  pageHiddenList.value = processedData.filter((e) => !e.showFlag);
+  defaultList.value = processedData.map((e) => e.id);
   selectedKeys.value = defaultList.value;
   queryFormRes.value = queryFormRef.value?.initDefaultSaveForm();
   queryList();
 };
 
+const getUniqueProperties = (obj1, obj2) => {
+  const uniqueProps = {};
+  Object.keys(obj1).forEach((key) => {
+    if (!(key in obj2) || obj2[key] == undefined) {
+      uniqueProps[key] = obj1[key];
+    }
+  });
+  return uniqueProps;
+};
 //删除
 const filterDialogRef = ref();
 const delSelect = (id) => {
@@ -192,7 +218,7 @@ const query = (item) => {
 //数据查询
 const tableData = ref([]);
 const queryList = async () => {
-  let query = { ...queryFormRes.value };
+  let query = { ...queryFormRes.value, ...isFilterFrom.value };
   const { data } = await api.manageApi.companyDataManageDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
@@ -218,7 +244,7 @@ function getList(item: PageInfo) {
 
 //导出
 const downloadFile = async () => {
-  let query = { ...queryFormRes.value };
+ let query = { ...queryFormRes.value, ...isFilterFrom.value };
   const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,

+ 9 - 5
src/views/consoleManage/businessDataManage/companyDataManage/index.vue

@@ -13,7 +13,7 @@
     <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
       :columnwidth="120" :pageInfo="pageInfo" @getList="getList">
       <template v-slot:operation="scope">
-        <el-button type="primary" link @click='agreementEdit(scope.operationData.id)'>明细</el-button>
+        <el-button type="primary" link @click='agreementEdit(scope.operationData)'>明细</el-button>
       </template>
 
       <template v-slot:search="scope">
@@ -259,12 +259,16 @@ const downloadFile = async () => {
   userStore.count++;
 };
 
-const agreementEdit = (id) => {
+const agreementEdit = (item) => {
+  queryFormRes.value = queryFormRef.value?.querySelect();
+  let query = {
+    ...queryFormRes.value,
+    companyId: item.companyId,
+    partnerCompanyIds: item.partnerCompanyId,
+  };
   router.push({
     name: "companyDataManageDetail",
-    query: {
-      id: id,
-    },
+    query,
   });
 };
 

+ 44 - 16
src/views/consoleManage/businessDataManage/contactPersonDataManage/contactPersonDataManageDetail.vue

@@ -25,7 +25,7 @@
 </template>
 
 <script setup lang="ts">
-import { useRouter } from "vue-router";
+import { useRouter, useRoute } from "vue-router";
 import api from "@/api";
 import QueryForm from "../../components/queryForm.vue";
 import FilterDialog from "../../components/filterDialog.vue";
@@ -36,6 +36,7 @@ import PageInfo from "@/api/types/agreementTypes";
 import { ElMessage } from "element-plus";
 
 const router = useRouter();
+const route = useRoute();
 const userStore = useUserStore();
 const isShow = ref(false);
 
@@ -145,20 +146,45 @@ const queryFormRes = ref();
 const routerKey = ref("contactPersonDataManageDetail");
 const defaultList = ref();
 const pageHiddenList = ref([]); //页面不显示的数据
+const isFilterFrom = ref(); //主页面查询条件且在过滤中不存在
 const initDefaultList = async () => {
   const { data } = await api.manageApi.getSearchDefaultList({
     routerKey: routerKey.value,
     userId: phone,
   });
-  listOption.queryFormFields = data.filter((e) => e.showFlag);
 
-  pageHiddenList.value = data.filter((e) => !e.showFlag);
-  defaultList.value = data.map((e) => e.id);
+  const queryParamsMap = route.query;
+  const processedData = data.map((item) => {
+    if (queryParamsMap.hasOwnProperty(item.key)) {
+      return { ...item, defaultValue: queryParamsMap[item.key] };
+    }
+    return item;
+  });
+
+  let filterFrom = {};
+  processedData.map((item) => {
+    filterFrom[item.key] = item.defaultValue;
+  });
+  isFilterFrom.value = getUniqueProperties(queryParamsMap, filterFrom);
+
+  listOption.queryFormFields = processedData.filter((e) => e.showFlag);
+  pageHiddenList.value = processedData.filter((e) => !e.showFlag);
+  defaultList.value = processedData.map((e) => e.id);
   selectedKeys.value = defaultList.value;
   queryFormRes.value = queryFormRef.value?.initDefaultSaveForm();
   queryList();
 };
 
+const getUniqueProperties = (obj1, obj2) => {
+  const uniqueProps = {};
+  Object.keys(obj1).forEach((key) => {
+    if (!(key in obj2) || obj2[key] == undefined) {
+      uniqueProps[key] = obj1[key];
+    }
+  });
+  return uniqueProps;
+};
+
 //删除
 const filterDialogRef = ref();
 const delSelect = (id) => {
@@ -222,7 +248,7 @@ const query = (item) => {
 //数据查询
 const tableData = ref([]);
 const queryList = async () => {
-  let query = { ...queryFormRes.value };
+  let query = { ...queryFormRes.value, ...isFilterFrom.value };
   const { data } = await api.manageApi.contactPersonDataManageDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
@@ -248,17 +274,19 @@ function getList(item: PageInfo) {
 
 //导出
 const downloadFile = async () => {
-  let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.contactPersonDataManageDetailToTask({
-    pageNo: pageInfo.value.pageNum,
-    pageSize: pageInfo.value.pageSize,
-    routerKey: routerKey.value,
-    userId: phone,
-    orderType: globalSortKey.value
-      ? globalSortKey.value + " " + globalSortOrder.value
-      : "",
-    ...query,
-  });
+  let query = { ...queryFormRes.value, ...isFilterFrom.value };
+  const { data, msg } = await api.manageApi.contactPersonDataManageDetailToTask(
+    {
+      pageNo: pageInfo.value.pageNum,
+      pageSize: pageInfo.value.pageSize,
+      routerKey: routerKey.value,
+      userId: phone,
+      orderType: globalSortKey.value
+        ? globalSortKey.value + " " + globalSortOrder.value
+        : "",
+      ...query,
+    }
+  );
   ElMessage({
     message: msg,
     type: "success",

+ 10 - 5
src/views/consoleManage/businessDataManage/contactPersonDataManage/index.vue

@@ -13,7 +13,7 @@
     <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
       :columnwidth="120" :pageInfo="pageInfo" @getList="getList">
       <template v-slot:operation="scope">
-        <el-button type="primary" link @click='agreementEdit(scope.operationData.id)'>明细</el-button>
+        <el-button type="primary" link @click='agreementEdit(scope.operationData)'>明细</el-button>
       </template>
       <template v-slot:search="scope">
         <Sort :scope="scope.slotData" :globalSortKey="globalSortKey" :globalSortOrder="globalSortOrder"
@@ -267,12 +267,17 @@ const downloadFile = async () => {
   });
   userStore.count++;
 };
-const agreementEdit = (id) => {
+const agreementEdit = (item) => {
+  queryFormRes.value = queryFormRef.value?.querySelect();
+  let query = {
+    ...queryFormRes.value,
+    companyId: item.companyId,
+    partnerCompanyIds: item.partnerCompanyId,
+    contactPersonName: item.contactPersonName,
+  };
   router.push({
     name: "contactPersonDataManageDetail",
-    query: {
-      id: id,
-    },
+    query,
   });
 };
 

+ 10 - 5
src/views/consoleManage/businessDataManage/riskDataManage/index.vue

@@ -13,7 +13,7 @@
     <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
       :columnwidth="120" :pageInfo="pageInfo" @getList="getList">
       <template v-slot:operation="scope">
-        <el-button type="primary" link @click='agreementEdit(scope.operationData.id)'>明细</el-button>
+        <el-button type="primary" link @click='agreementEdit(scope.operationData)'>明细</el-button>
       </template>
 
       <template v-slot:search="scope">
@@ -273,12 +273,17 @@ const downloadFile = async () => {
   userStore.count++;
 };
 
-const agreementEdit = (id) => {
+const agreementEdit = (item) => {
+  queryFormRes.value = queryFormRef.value?.querySelect();
+  let query = {
+    ...queryFormRes.value,
+    companyId: item.companyId,
+    partnerCompanyIds: item.partnerCompanyId,
+    riskTypes: item.riskId,
+  };
   router.push({
     name: "riskDataManageDetail",
-    query: {
-      id: id,
-    },
+    query,
   });
 };
 

+ 32 - 6
src/views/consoleManage/businessDataManage/riskDataManage/riskDataManageDetail.vue

@@ -27,7 +27,7 @@
 </template>
 
 <script setup lang="ts">
-import { useRouter } from "vue-router";
+import { useRouter,useRoute } from "vue-router";
 import api from "@/api";
 import QueryForm from "../../components/queryForm.vue";
 import FilterDialog from "../../components/filterDialog.vue";
@@ -38,6 +38,7 @@ import PageInfo from "@/api/types/agreementTypes";
 import { ElMessage } from "element-plus";
 
 const router = useRouter();
+const route = useRoute();
 const userStore = useUserStore();
 const isShow = ref(false);
 
@@ -129,20 +130,45 @@ const queryFormRes = ref();
 const routerKey = ref("riskDataManageDetail");
 const defaultList = ref();
 const pageHiddenList = ref([]); //页面不显示的数据
+const isFilterFrom = ref(); //主页面查询条件且在过滤中不存在
 const initDefaultList = async () => {
   const { data } = await api.manageApi.getSearchDefaultList({
     routerKey: routerKey.value,
     userId: phone,
   });
-  listOption.queryFormFields = data.filter((e) => e.showFlag);
 
-  pageHiddenList.value = data.filter((e) => !e.showFlag);
-  defaultList.value = data.map((e) => e.id);
+  const queryParamsMap = route.query;
+  const processedData = data.map((item) => {
+    if (queryParamsMap.hasOwnProperty(item.key)) {
+      return { ...item, defaultValue: queryParamsMap[item.key] };
+    }
+    return item;
+  });
+
+  let filterFrom = {};
+  processedData.map((item) => {
+    filterFrom[item.key] = item.defaultValue;
+  });
+  isFilterFrom.value = getUniqueProperties(queryParamsMap, filterFrom);
+
+  listOption.queryFormFields = processedData.filter((e) => e.showFlag);
+  pageHiddenList.value = processedData.filter((e) => !e.showFlag);
+  defaultList.value = processedData.map((e) => e.id);
   selectedKeys.value = defaultList.value;
   queryFormRes.value = queryFormRef.value?.initDefaultSaveForm();
   queryList();
 };
 
+const getUniqueProperties = (obj1, obj2) => {
+  const uniqueProps = {};
+  Object.keys(obj1).forEach((key) => {
+    if (!(key in obj2) || obj2[key] == undefined) {
+      uniqueProps[key] = obj1[key];
+    }
+  });
+  return uniqueProps;
+};
+
 //删除
 const filterDialogRef = ref();
 const delSelect = (id) => {
@@ -206,7 +232,7 @@ const query = (item) => {
 //数据查询
 const tableData = ref([]);
 const queryList = async () => {
-  let query = { ...queryFormRes.value };
+  let query = { ...queryFormRes.value, ...isFilterFrom.value };
   const { data } = await api.manageApi.riskDataManageDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
@@ -232,7 +258,7 @@ function getList(item: PageInfo) {
 
 //导出
 const downloadFile = async () => {
-  let query = { ...queryFormRes.value };
+  let query = { ...queryFormRes.value, ...isFilterFrom.value };
   const { data, msg } = await api.manageApi.riskDataManageDetailToPage({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,

+ 22 - 6
src/views/consoleManage/businessDataManage/salesmanDataManage/index.vue

@@ -17,7 +17,7 @@
             {{item.name}}
           </div>
         </div>
-        <Tree ref='treeRef'></Tree>
+        <Tree ref='treeRef' @nodeId='nodeId'></Tree>
       </div>
 
       <div class='flex-1 content-r'>
@@ -25,7 +25,7 @@
         <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
           :columnwidth="120" :pageInfo="pageInfo" @getList="getList">
           <template v-slot:operation="scope">
-            <el-button type="primary" link @click='agreementEdit(scope.operationData.id)'>明细</el-button>
+            <el-button type="primary" link @click='agreementEdit(scope.operationData)'>明细</el-button>
           </template>
 
           <template v-slot:search="scope">
@@ -332,12 +332,15 @@ const downloadFile = async () => {
   userStore.count++;
 };
 
-const agreementEdit = (id) => {
+const agreementEdit = (item) => {
+  queryFormRes.value = queryFormRef.value?.querySelect();
+  let query = {
+    ...queryFormRes.value,
+    salesmanId: item.salesmanId,
+  };
   router.push({
     name: "salesmanDataManageDetail",
-    query: {
-      id: id,
-    },
+    query,
   });
 };
 
@@ -354,14 +357,27 @@ const tabList = ref([
     name: "机构",
     value: 1,
     api: api.manageApi.getDeptListByUserId,
+    key: "orgIds",
   },
   {
     name: "人员",
     value: 2,
     api: api.manageApi.getUserManageListByUserId,
+    key: "manageIds",
   },
 ]);
 
+const nodeId = (id) => {
+  if (!tabIndex.value) {
+    queryFormRes.value.orgIds = [id];
+    queryFormRes.value.manageIds = [];
+  } else {
+    queryFormRes.value.orgIds = [];
+    queryFormRes.value.manageIds = [id];
+  }
+  queryList();
+};
+
 onMounted(() => {
   initDefaultList();
   treeRef.value?.getTree(tabList.value[0].api);

+ 35 - 8
src/views/consoleManage/businessDataManage/salesmanDataManage/salesmanDataManageDetail.vue

@@ -27,7 +27,7 @@
 </template>
 
 <script setup lang="ts">
-import { useRouter } from "vue-router";
+import { useRouter,useRoute } from "vue-router";
 import api from "@/api";
 import QueryForm from "../../components/queryForm.vue";
 import FilterDialog from "../../components/filterDialog.vue";
@@ -38,6 +38,7 @@ import PageInfo from "@/api/types/agreementTypes";
 import { ElMessage } from "element-plus";
 
 const router = useRouter();
+const route = useRoute();
 const userStore = useUserStore();
 const isShow = ref(false);
 
@@ -65,12 +66,12 @@ const listOption = reactive({
       width: "120",
     },
     {
-      prop: "companyId",
+      prop: "companyName",
       label: "保险公司",
       width: "200",
     },
     {
-      prop: "companyName",
+      prop: "partnerCompanyName",
       label: "合作保险公司",
       width: "300",
     },
@@ -139,20 +140,46 @@ const queryFormRes = ref();
 const routerKey = ref("salesmanDataManageDetail");
 const defaultList = ref();
 const pageHiddenList = ref([]); //页面不显示的数据
+const isFilterFrom = ref(); //主页面查询条件且在过滤中不存在
 const initDefaultList = async () => {
   const { data } = await api.manageApi.getSearchDefaultList({
     routerKey: routerKey.value,
     userId: phone,
   });
-  listOption.queryFormFields = data.filter((e) => e.showFlag);
 
-  pageHiddenList.value = data.filter((e) => !e.showFlag);
-  defaultList.value = data.map((e) => e.id);
+  const queryParamsMap = route.query;
+  const processedData = data.map((item) => {
+    if (queryParamsMap.hasOwnProperty(item.key)) {
+      return { ...item, defaultValue: queryParamsMap[item.key] };
+    }
+    return item;
+  });
+
+  let filterFrom = {};
+  processedData.map((item) => {
+    filterFrom[item.key] = item.defaultValue;
+  });
+  isFilterFrom.value = getUniqueProperties(queryParamsMap, filterFrom);
+
+  listOption.queryFormFields = processedData.filter((e) => e.showFlag);
+  pageHiddenList.value = processedData.filter((e) => !e.showFlag);
+  defaultList.value = processedData.map((e) => e.id);
   selectedKeys.value = defaultList.value;
   queryFormRes.value = queryFormRef.value?.initDefaultSaveForm();
   queryList();
 };
 
+const getUniqueProperties = (obj1, obj2) => {
+  const uniqueProps = {};
+  Object.keys(obj1).forEach((key) => {
+    if (!(key in obj2) || obj2[key] == undefined) {
+      uniqueProps[key] = obj1[key];
+    }
+  });
+  return uniqueProps;
+};
+
+
 //删除
 const filterDialogRef = ref();
 const delSelect = (id) => {
@@ -216,7 +243,7 @@ const query = (item) => {
 //数据查询
 const tableData = ref([]);
 const queryList = async () => {
-  let query = { ...queryFormRes.value };
+  let query = { ...queryFormRes.value, ...isFilterFrom.value };
   const { data } = await api.manageApi.salesmanDataManageDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
@@ -242,7 +269,7 @@ function getList(item: PageInfo) {
 
 //导出
 const downloadFile = async () => {
-  let query = { ...queryFormRes.value };
+  let query = { ...queryFormRes.value, ...isFilterFrom.value };
   const { data, msg } = await api.manageApi.salesmanDataManageDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,

+ 20 - 6
src/views/consoleManage/businessDataManage/telemarketingDataManage/index.vue

@@ -17,7 +17,7 @@
             {{item.name}}
           </div>
         </div>
-        <Tree ref='treeRef'></Tree>
+        <Tree ref='treeRef' @nodeId='nodeId'></Tree>
       </div>
 
       <div class='flex-1 content-r'>
@@ -25,7 +25,7 @@
         <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
           :columnwidth="120" :pageInfo="pageInfo" @getList="getList">
           <template v-slot:operation="scope">
-            <el-button type="primary" link @click='agreementEdit(scope.operationData.id)'>明细</el-button>
+            <el-button type="primary" link @click='agreementEdit(scope.operationData)'>明细</el-button>
           </template>
 
           <template v-slot:search="scope">
@@ -332,12 +332,15 @@ const downloadFile = async () => {
   userStore.count++;
 };
 
-const agreementEdit = (id) => {
+const agreementEdit = (item) => {
+  queryFormRes.value = queryFormRef.value?.querySelect();
+  let query = {
+    ...queryFormRes.value,
+    salesmanId: item.salesmanId,
+  };
   router.push({
     name: "telemarketingDataManageDetail",
-    query: {
-      id: id,
-    },
+    query,
   });
 };
 
@@ -362,6 +365,17 @@ const tabList = ref([
   },
 ]);
 
+const nodeId = (id) => {
+  if (!tabIndex.value) {
+    queryFormRes.value.orgIds = [id];
+    queryFormRes.value.manageIds = [];
+  } else {
+    queryFormRes.value.orgIds = [];
+    queryFormRes.value.manageIds = [id];
+  }
+  queryList();
+};
+
 onMounted(() => {
   initDefaultList();
   treeRef.value?.getTree(tabList.value[0].api);

+ 44 - 16
src/views/consoleManage/businessDataManage/telemarketingDataManage/telemarketingDataManageDetail.vue

@@ -27,7 +27,7 @@
 </template>
 
 <script setup lang="ts">
-import { useRouter } from "vue-router";
+import { useRouter, useRoute } from "vue-router";
 import api from "@/api";
 import QueryForm from "../../components/queryForm.vue";
 import FilterDialog from "../../components/filterDialog.vue";
@@ -38,6 +38,7 @@ import PageInfo from "@/api/types/agreementTypes";
 import { ElMessage } from "element-plus";
 
 const router = useRouter();
+const route = useRoute();
 const userStore = useUserStore();
 const isShow = ref(false);
 
@@ -139,20 +140,45 @@ const queryFormRes = ref();
 const routerKey = ref("telemarketingDataManageDetail");
 const defaultList = ref();
 const pageHiddenList = ref([]); //页面不显示的数据
+const isFilterFrom = ref(); //主页面查询条件且在过滤中不存在
 const initDefaultList = async () => {
   const { data } = await api.manageApi.getSearchDefaultList({
     routerKey: routerKey.value,
     userId: phone,
   });
-  listOption.queryFormFields = data.filter((e) => e.showFlag);
 
-  pageHiddenList.value = data.filter((e) => !e.showFlag);
-  defaultList.value = data.map((e) => e.id);
+  const queryParamsMap = route.query;
+  const processedData = data.map((item) => {
+    if (queryParamsMap.hasOwnProperty(item.key)) {
+      return { ...item, defaultValue: queryParamsMap[item.key] };
+    }
+    return item;
+  });
+
+  let filterFrom = {};
+  processedData.map((item) => {
+    filterFrom[item.key] = item.defaultValue;
+  });
+  isFilterFrom.value = getUniqueProperties(queryParamsMap, filterFrom);
+
+  listOption.queryFormFields = processedData.filter((e) => e.showFlag);
+  pageHiddenList.value = processedData.filter((e) => !e.showFlag);
+  defaultList.value = processedData.map((e) => e.id);
   selectedKeys.value = defaultList.value;
   queryFormRes.value = queryFormRef.value?.initDefaultSaveForm();
   queryList();
 };
 
+const getUniqueProperties = (obj1, obj2) => {
+  const uniqueProps = {};
+  Object.keys(obj1).forEach((key) => {
+    if (!(key in obj2) || obj2[key] == undefined) {
+      uniqueProps[key] = obj1[key];
+    }
+  });
+  return uniqueProps;
+};
+
 //删除
 const filterDialogRef = ref();
 const delSelect = (id) => {
@@ -216,7 +242,7 @@ const query = (item) => {
 //数据查询
 const tableData = ref([]);
 const queryList = async () => {
-  let query = { ...queryFormRes.value };
+  let query = { ...queryFormRes.value, ...isFilterFrom.value };
   const { data } = await api.manageApi.telemarketingDataManageDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
@@ -242,17 +268,19 @@ function getList(item: PageInfo) {
 
 //导出
 const downloadFile = async () => {
-  let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.telemarketingDataManageDetailToTask({
-    pageNo: pageInfo.value.pageNum,
-    pageSize: pageInfo.value.pageSize,
-    routerKey: routerKey.value,
-    userId: phone,
-    orderType: globalSortKey.value
-      ? globalSortKey.value + " " + globalSortOrder.value
-      : "",
-    ...query,
-  });
+  let query = { ...queryFormRes.value, ...isFilterFrom.value };
+  const { data, msg } = await api.manageApi.telemarketingDataManageDetailToTask(
+    {
+      pageNo: pageInfo.value.pageNum,
+      pageSize: pageInfo.value.pageSize,
+      routerKey: routerKey.value,
+      userId: phone,
+      orderType: globalSortKey.value
+        ? globalSortKey.value + " " + globalSortOrder.value
+        : "",
+      ...query,
+    }
+  );
   ElMessage({
     message: msg,
     type: "success",

+ 21 - 12
src/views/consoleManage/components/queryForm.vue

@@ -24,7 +24,7 @@
           v-if="option.inputType == 'select-single'" @mouseenter="option.isShowDelIcon = true"
           @mouseleave="option.isShowDelIcon = false">
           <el-select class='min-w ' v-model="queryForm.data[option.key]" placeholder=""
-            @change='singleChange($event,option)'>
+            @change='singleChange($event,option,false)'>
             <el-option v-for="item in option.listOption" :key="item.value" :label="item.label" :value="item.value">
             </el-option>
           </el-select>
@@ -134,7 +134,7 @@
         </el-form-item>
 
       </template>
-      <el-button type="primary" @click='query'>查询</el-button>
+      <el-button type="primary" @click='initQuery'>查询</el-button>
     </el-form>
 
   </div>
@@ -238,13 +238,18 @@ const initDefaultSaveForm = () => {
       return [formatTime(currentTimestamp, "YYYY")];
     },
     "select-multiple": (item, baseValue) => {
-      const value = item.listOption ? baseValue : "0";
-      return value === "0" ? ["0"] : value;
+      const base = item.listOption ? baseValue : "0";
+      const resultValue =
+        base == "0" ? ["0"] : Array.isArray(base) ? base : [base];
+      if (base != "0" && base != 0) {
+        moreChange(resultValue, item, item.listOption);
+      }
+      return resultValue;
     },
     "select-single": (item, baseValue) => {
-      const value = item.listOption ? baseValue : "";
+      const value = item.listOption || item.defaultValue ? baseValue : "";
       if (item.isFirst) {
-        singleChange(baseValue, item);
+        singleChange(baseValue, item, true);
       }
       return value;
     },
@@ -305,7 +310,7 @@ const getMultiLabels = (selectedValues, foodList, key) => {
 };
 
 //单选查联动数据
-const singleChange = async (val, option) => {
+const singleChange = async (val, option, isDefault) => {
   if (option.isFirst) {
     //查询合作的保险公司数据
     const { data } = await api.manageApi.getCompanyListByCompanyId({
@@ -319,17 +324,17 @@ const singleChange = async (val, option) => {
           label: "全部",
         });
         e.selectValue = "全部";
-        queryForm.data.partnerCompanyIds = ["0"];
+        queryForm.data.partnerCompanyIds =
+          option.defaultValue && isDefault ? option.defaultValue : "0";
       }
     });
   }
 };
 
 //查询
-const query = () => {
+const querySelect = () => {
   const from = { ...queryForm.data };
   const { queryFormFields } = propsOption;
-
   const typeHandlers = {
     "select-single": (item, value) => {
       // 特殊处理companyId,其他单选转换为数组格式
@@ -357,7 +362,6 @@ const query = () => {
       return Array.isArray(value) ? value : [value];
     },
   };
-
   queryFormFields.forEach((item) => {
     const { inputType, key } = item;
     const handler = typeHandlers[inputType];
@@ -365,13 +369,17 @@ const query = () => {
       from[key] = handler(item, from[key]);
     }
   });
+  return from;
+};
+
+const initQuery = () => {
+  const from = querySelect();
   emit("query", from);
 };
 //删除
 const del = (option) => {
   const { inputType, key, id } = option;
   const isInputOrCompanyId = inputType === "input" || key === "companyId";
-
   if (isInputOrCompanyId) {
     queryForm.data[key] = "";
   } else {
@@ -384,6 +392,7 @@ const del = (option) => {
 // 暴露给父组件的方法
 defineExpose({
   initDefaultSaveForm,
+  querySelect,
 });
 </script>
 

+ 3 - 0
src/views/consoleManage/components/tree.vue

@@ -38,6 +38,9 @@ defineExpose({ getTree });
 </script>
 
 <style scoped lang="scss">
+.tree-list{
+  width:100%;
+}
 :deep(
     .el-tree--highlight-current
       .el-tree-node.is-current

+ 15 - 8
src/views/consoleManage/financeDataManage/costVerificationData/costVerificationDataDetail.vue

@@ -16,6 +16,12 @@
         <Sort :scope="scope.slotData" :globalSortKey="globalSortKey" :globalSortOrder="globalSortOrder"
           @update:sort="handleSortUpdate"></Sort>
       </template>
+
+      <template #customSlot="{  bodyCell: { scope, column } }">
+        <template v-if="column.prop == 'checkTimeSecond'">
+          {{ scope.row.checkTimeSecond }} s
+        </template>
+      </template>
     </ComplexTable>
 
     <FilterDialog :show='isShow' @close='isShow=false' @sure='filterSure' ref='filterDialogRef' @selectedKeys='selected'
@@ -58,7 +64,7 @@ const listOption = reactive({
       width: "300",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "checkTypeName",
       label: "审核类型",
       width: "120",
     },
@@ -78,27 +84,28 @@ const listOption = reactive({
       width: "180",
     },
     {
-      prop: "riskName",
+      prop: "submitCheckTime",
       label: "提交审核时间",
       width: "180",
     },
     {
-      prop: "sumPremium",
+      prop: "checkTime",
       label: "审核时间",
       width: "180",
     },
     {
-      prop: "createTime",
+      prop: "checkStatusName",
       label: "状态",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "checkTimeSecond",
       label: "审核时长",
       width: "180",
+      component: "customSlot",
     },
     {
-      prop: "recordTime",
+      prop: "checkUserName",
       label: "审核人",
       width: "180",
     }
@@ -196,7 +203,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.costVerificationDataDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -222,7 +229,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.costVerificationDataDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 21 - 9
src/views/consoleManage/financeDataManage/costVerificationData/index.vue

@@ -22,8 +22,20 @@
       </template>
 
       <template #customSlot="{  bodyCell: { scope, column } }">
-        <template v-if="column.prop == 'sumOrderNum'">
-          {{ scope.row.sumOrderNum }} 笔
+        <template v-if="column.prop == 'pendingReviewNum'">
+          {{ scope.row.pendingReviewNum }} 笔
+        </template>
+        <template v-if="column.prop == 'reviewedNum'">
+          {{ scope.row.reviewedNum   }} 笔
+        </template>
+        <template v-if="column.prop == 'autoReviewNum'">
+          {{ scope.row.autoReviewNum }} 笔
+        </template>
+        <template v-if="column.prop == 'manualReviewNum'">
+          {{ scope.row.manualReviewNum }} 笔
+        </template>
+        <template v-if="column.prop == 'aveReviewDuration'">
+          {{ scope.row.aveReviewDuration }} s
         </template>
       </template>
     </ComplexTable>
@@ -68,7 +80,7 @@ const listOption = reactive({
       width: "",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "pendingReviewNum",
       label: "待审核",
       width: "240",
       align: "right",
@@ -76,7 +88,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "sumOrderNum",
+      prop: "reviewedNum",
       label: "已审核",
       width: "240",
       align: "right",
@@ -84,7 +96,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "sumPremium",
+      prop: "autoReviewNum",
       label: "自动审核",
       width: "240",
       align: "right",
@@ -92,7 +104,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "djPremium",
+      prop: "manualReviewNum",
       label: "人工审核",
       width: "240",
       align: "right",
@@ -100,7 +112,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "dsyPremium",
+      prop: "aveReviewDuration",
       label: "平均审核时常",
       width: "240",
       align: "right",
@@ -201,7 +213,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.costVerificationDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -227,7 +239,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.costVerificationDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 14 - 17
src/views/consoleManage/financeDataManage/meetData/index.vue

@@ -63,41 +63,41 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "yearAndMonthTime",
       label: "时间",
       width: "",
     },
     {
-      prop: "sumOrderNum",
-      label: "应收",
+      prop: "sumPremium",
+      label: "保费",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "sumOrderNum",
-      label: "未开票",
+      prop: "payableCommissionMoney",
+      label: "应付佣金",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "sumPremium",
-      label: "已开票",
+      prop: "unwithdrawnMoney",
+      label: "未提现",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djPremium",
-      label: "已结算",
+      prop: "withdrawingMoney",
+      label: "提现中",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "dsyPremium",
-      label: "未结算",
+      prop: "paidMoney",
+      label: "已付款",
       width: "240",
       align: "right",
       sortable: true,
@@ -196,7 +196,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.meetDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -206,10 +206,7 @@ const queryList = async () => {
       : "",
     ...query,
   });
-  tableData.value = data.records;
-  pageInfo.value.pageNum = data.current;
-  pageInfo.value.pageSize = data.size;
-  pageInfo.value.total = data.total;
+  tableData.value = data;
 };
 
 //分页事件
@@ -222,7 +219,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.meetDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 10 - 10
src/views/consoleManage/financeDataManage/meetData/meetDataDetail.vue

@@ -53,44 +53,44 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "业务员",
       width: "180",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "180",
     },
     {
-      prop: "orderNo",
+      prop: "bankCardNumber",
       label: "银行卡号",
       width: "",
     },
     {
-      prop: "licenseNo",
+      prop: "bankName",
       label: "银行",
       width: "180",
     },
     {
-      prop: "orderTypeName",
+      prop: "statusName",
       label: "状态",
       width: "180",
     },
     {
-      prop: "riskName",
+      prop: "withdrawalMoney",
       label: "提现金额",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "sumPremium",
+      prop: "paidPersonName",
       label: "付款人",
       width: "180",
     },
     {
-      prop: "createTime",
+      prop: "paidTime",
       label: "付款时间",
       width: "180",
     },
@@ -188,7 +188,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.meetDataDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -214,7 +214,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.meetDataDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 9 - 9
src/views/consoleManage/financeDataManage/operatingProfitData/index.vue

@@ -60,47 +60,47 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "yearAndMonthTime",
       label: "时间",
       width: "",
     },
      {
-      prop: "sumOrderNum",
+      prop: "sumPremium",
       label: "保费",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "sumOrderNum",
+      prop: "receivableMoney",
       label: "应收",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "sumOrderNum",
+      prop: "meetMoney",
       label: "应付",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "sumPremium",
+      prop: "profitMoney",
       label: "利润",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djPremium",
+      prop: "receivedMoney",
       label: "实收",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "dsyPremium",
+      prop: "paidMoney",
       label: "实付",
       width: "240",
       align: "right",
@@ -200,7 +200,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.operatingProfitDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -226,7 +226,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.operatingProfitDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 31 - 12
src/views/consoleManage/financeDataManage/personCheckData/index.vue

@@ -22,8 +22,20 @@
       </template>
 
       <template #customSlot="{  bodyCell: { scope, column } }">
-        <template v-if="column.prop == 'sumOrderNum'">
-          {{ scope.row.sumOrderNum }} 笔
+        <template v-if="column.prop == 'checkOrderNum'">
+          {{ scope.row.checkOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'pendingReviewOrderNum'">
+          {{ scope.row.pendingReviewOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'avgReviewDuration'">
+          {{ scope.row.avgReviewDuration }} s
+        </template>
+        <template v-if="column.prop == 'rejectOrderNum'">
+          {{ scope.row.rejectOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'updateOrderNum'">
+          {{ scope.row.updateOrderNum }} 笔
         </template>
       </template>
     </ComplexTable>
@@ -63,52 +75,59 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "姓名",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "sumOrderNum",
+      prop: "deptName",
       label: "所属机构",
       width: "",
     },
     {
-      prop: "sumPremium",
+      prop: "checkOrderNum",
       label: "已审订单",
       width: "180",
+      align: "right",
+      sortable: true,
+      component: "customSlot",
     },
     {
-      prop: "djPremium",
+      prop: "pendingReviewOrderNum",
       label: "待审订单",
       width: "180",
       align: "right",
       sortable: true,
+      component: "customSlot",
     },
     {
-      prop: "dsyPremium",
+      prop: "avgReviewDuration",
       label: "平均审核时常",
       width: "180",
       align: "right",
       sortable: true,
+      component: "customSlot",
     },
     {
-      prop: "dszPremium",
+      prop: "rejectOrderNum",
       label: "驳回订单",
       width: "180",
       align: "right",
       sortable: true,
+      component: "customSlot",
     },
     {
-      prop: "jszPremium",
+      prop: "updateOrderNum",
       label: "修改订单",
       width: "180",
       align: "right",
       sortable: true,
+      component: "customSlot",
     },
   ],
 });
@@ -204,7 +223,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.personCheckDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -230,7 +249,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.personCheckDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 20 - 11
src/views/consoleManage/financeDataManage/personCheckData/personCheckDataDetail.vue

@@ -16,6 +16,12 @@
         <Sort :scope="scope.slotData" :globalSortKey="globalSortKey" :globalSortOrder="globalSortOrder"
           @update:sort="handleSortUpdate"></Sort>
       </template>
+
+      <template #customSlot="{  bodyCell: { scope, column } }">
+        <template v-if="column.prop == 'checkDuration'">
+          {{ scope.row.checkDuration }} s
+        </template>
+      </template>
     </ComplexTable>
 
     <FilterDialog :show='isShow' @close='isShow=false' @sure='filterSure' ref='filterDialogRef' @selectedKeys='selected'
@@ -53,47 +59,50 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "orderNo",
       label: "订单号",
       width: "",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "licenseNo",
       label: "车牌号",
       width: "180",
     },
     {
-      prop: "orderNo",
+      prop: "orderTypeName",
       label: "订单类型",
       width: "180",
     },
     {
-      prop: "licenseNo",
+      prop: "submitCheckTime",
       label: "提交审核时间",
       width: "180",
     },
     {
-      prop: "orderTypeName",
+      prop: "checkTime",
       label: "审核时间",
       width: "180",
     },
     {
-      prop: "riskName",
+      prop: "checkResult",
       label: "审核结果",
       width: "180",
     },
     {
-      prop: "sumPremium",
+      prop: "checkDuration",
       label: "审核时长",
       width: "180",
+      align: "right",
+      sortable: true,
+      component: "customSlot",
     },
     {
-      prop: "createTime",
+      prop: "checkUserName",
       label: "审核人",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "checkUserPhone",
       label: "手机号",
       width: "180",
     },
@@ -191,7 +200,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.personCheckDataDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -217,7 +226,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.personCheckDataDetailToTa({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 10 - 13
src/views/consoleManage/financeDataManage/receivableData/index.vue

@@ -11,7 +11,7 @@
 
     <!-- 表格 -->
     <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
-      :columnwidth="120"  @getList="getList" tableheight='auto' :showSummary='true'>
+      :columnwidth="120"  tableheight='auto' :showSummary='true'>
       <template v-slot:operation="scope">
         <el-button type="primary" link @click='agreementEdit(scope.operationData.id)'>明细</el-button>
       </template>
@@ -63,40 +63,40 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "yearAndMonthTime",
       label: "时间",
       width: "",
     },
     {
-      prop: "sumOrderNum",
+      prop: "accountsReceivableMoney",
       label: "应收",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "sumOrderNum",
+      prop: "uninvoicedMoney",
       label: "未开票",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "sumPremium",
+      prop: "invoicedMoney",
       label: "已开票",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djPremium",
+      prop: "unsettledMoney",
       label: "已结算",
       width: "240",
       align: "right",
       sortable: true,
     },
     {
-      prop: "dsyPremium",
+      prop: "settledMoney",
       label: "未结算",
       width: "240",
       align: "right",
@@ -196,7 +196,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.receivableDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -206,10 +206,7 @@ const queryList = async () => {
       : "",
     ...query,
   });
-  tableData.value = data.records;
-  pageInfo.value.pageNum = data.current;
-  pageInfo.value.pageSize = data.size;
-  pageInfo.value.total = data.total;
+  tableData.value = data;
 };
 
 //分页事件
@@ -222,7 +219,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.receivableDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 22 - 57
src/views/consoleManage/financeDataManage/receivableData/receivableDataDetail.vue

@@ -11,36 +11,36 @@
 
     <!-- 表格 -->
     <el-table :data="tableData" border style="width: 100%" :header-cell-style="tableHeaderColor">
-      <el-table-column prop="insuranceCompany" label="保险公司" align='center' width='200' fixed />
-      <el-table-column prop="region" label="地区" align='center' width='200' fixed>
+      <el-table-column prop="companyName" label="保险公司" align='center' width='200' fixed />
+      <el-table-column prop="partnerCompanyName" label="地区" align='center' width='200' fixed>
         <template #default="props">
-          <div style='{background:red}'>22{{props.row.region}}</div>
+          <div >{{props.row.partnerCompanyName}}</div>
         </template>
       </el-table-column>
       <el-table-column label="应收" align='center'>
-        <el-table-column prop="receivableTotal" label="总计" align='center' width='200' />
-        <el-table-column prop="receivableServiceFee" label="手续费" align='center' width='200' />
-        <el-table-column prop="receivableFollowFee" label="跟单费" align='center' width='200' />
+        <el-table-column prop="accountsReceivableSumMoney" label="总计" align='center' width='200' />
+        <el-table-column prop="accountsReceivableCommissionMoney" label="手续费" align='center' width='200' />
+        <el-table-column prop="accountsReceivableFollowUpFeeMoney" label="跟单费" align='center' width='200' />
       </el-table-column>
       <el-table-column label="未开票" align='center'>
-        <el-table-column prop="uninvoicedTotal" label="总计" align='center' width='200' />
-        <el-table-column prop="uninvoicedServiceFee" label="手续费" align='center' width='200' />
-        <el-table-column prop="uninvoicedFollowFee" label="跟单费" align='center' width='200' />
+        <el-table-column prop="uninvoicedSumMoney" label="总计" align='center' width='200' />
+        <el-table-column prop="uninvoicedCommissionMoney" label="手续费" align='center' width='200' />
+        <el-table-column prop="uninvoicedFollowUpFeeMoney" label="跟单费" align='center' width='200' />
       </el-table-column>
       <el-table-column label="已开票" align='center'>
-        <el-table-column prop="uninvoicedTotal" label="总计" align='center' width='200' />
-        <el-table-column prop="uninvoicedServiceFee" label="手续费" align='center' width='200' />
-        <el-table-column prop="uninvoicedFollowFee" label="跟单费" align='center' width='200' />
+        <el-table-column prop="invoicedSumMoney" label="总计" align='center' width='200' />
+        <el-table-column prop="invoicedCommissionMoney" label="手续费" align='center' width='200' />
+        <el-table-column prop="invoicedFollowUpFeeMoney" label="跟单费" align='center' width='200' />
       </el-table-column>
       <el-table-column label="未结算" align='center'>
-        <el-table-column prop="uninvoicedTotal" label="总计" align='center' width='200' />
-        <el-table-column prop="uninvoicedServiceFee" label="手续费" align='center' width='200' />
-        <el-table-column prop="uninvoicedFollowFee" label="跟单费" align='center' width='200' />
+        <el-table-column prop="unsettledSumMoney" label="总计" align='center' width='200' />
+        <el-table-column prop="unsettledCommissionMoney" label="手续费" align='center' width='200' />
+        <el-table-column prop="unsettledFollowUpFeeMoney" label="跟单费" align='center' width='200' />
       </el-table-column>
       <el-table-column label="已结算" align='center'>
-        <el-table-column prop="uninvoicedTotal" label="总计" align='center' width='200' />
-        <el-table-column prop="uninvoicedServiceFee" label="手续费" align='center' width='200' />
-        <el-table-column prop="uninvoicedFollowFee" label="跟单费" align='center' width='200' />
+        <el-table-column prop="settledSumMoney" label="总计" align='center' width='200' />
+        <el-table-column prop="settledCommissionMoney" label="手续费" align='center' width='200' />
+        <el-table-column prop="settledFollowUpFeeMoney" label="跟单费" align='center' width='200' />
       </el-table-column>
     </el-table>
 
@@ -92,7 +92,6 @@ const tableHeaderColor = ({ row, column, rowIndex, columnIndex }) => {
   }
 };
 
-
 //查询数据
 const phone = JSON.parse(localStorage.getItem("userInfo")).username;
 
@@ -176,41 +175,10 @@ const query = (item) => {
 };
 
 //数据查询
-const tableData = ref([
-  {
-    insuranceCompany: "华泰财险",
-    region: "华泰财险",
-    receivableTotal: "32,799,333.89",
-    receivableServiceFee: "997,993.89",
-    receivableFollowFee: "329,333.89",
-    uninvoicedTotal: "329,333.89",
-    uninvoicedServiceFee: "329,333.89",
-    uninvoicedFollowFee: "329,333.89",
-  },
-  {
-    insuranceCompany: "华泰财险",
-    region: "华泰财险",
-    receivableTotal: "32,799,333.89",
-    receivableServiceFee: "327,333.89",
-    receivableFollowFee: "329,333.89",
-    uninvoicedTotal: "329,333.89",
-    uninvoicedServiceFee: "329,333.89",
-    uninvoicedFollowFee: "329,333.89",
-  },
-  {
-    insuranceCompany: "华泰财险",
-    region: "华泰财险",
-    receivableTotal: "32,799,333.89",
-    receivableServiceFee: "799,333.89",
-    receivableFollowFee: "329,333.89",
-    uninvoicedTotal: "329,333.89",
-    uninvoicedServiceFee: "329,333.89",
-    uninvoicedFollowFee: "329,333.89",
-  },
-]);
+const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.receivableDataDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -220,10 +188,7 @@ const queryList = async () => {
       : "",
     ...query,
   });
-  // tableData.value = data.records;
-  // pageInfo.value.pageNum = data.current;
-  // pageInfo.value.pageSize = data.size;
-  // pageInfo.value.total = data.total;
+  tableData.value = data;
 };
 
 //分页事件
@@ -236,7 +201,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.receivableDataDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 14 - 14
src/views/consoleManage/personDataManage/channelPersonData/channelPersonDataDetail.vue

@@ -53,61 +53,61 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "业务员",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "orderNo",
+      prop: "companyName",
       label: "保险公司",
       width: "120",
     },
     {
-      prop: "licenseNo",
+      prop: "partnerCompanyName",
       label: "合作保险公司",
       width: "300",
     },
     {
-      prop: "orderTypeName",
+      prop: "orderNo",
       label: "订单号",
       width: "180",
     },
     {
-      prop: "riskName",
+      prop: "licenseNo",
       label: "车牌号",
       width: "180",
     },
     {
-      prop: "sumPremium",
+      prop: "orderTypeName",
       label: "订单类型",
       width: "180",
     },
     {
-      prop: "createTime",
+      prop: "riskName",
       label: "险种",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "sumPremium",
       label: "保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "recordTime",
+      prop: "orderCommissionPremium",
       label: "出单佣金",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "recordTime",
+      prop: "createTime",
       label: "录单时间",
       width: "180",
     },
@@ -117,7 +117,7 @@ const listOption = reactive({
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "manegerName",
       label: "管理人",
       width: "180",
     },
@@ -215,7 +215,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.channelPersonDataDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -241,7 +241,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.channelPersonDataDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 19 - 18
src/views/consoleManage/personDataManage/channelPersonData/index.vue

@@ -22,8 +22,8 @@
       </template>
 
       <template #customSlot="{  bodyCell: { scope, column } }">
-        <template v-if="column.prop == 'sumOrderNum'">
-          {{ scope.row.sumOrderNum }} 笔
+        <template v-if="column.prop == 'underwriteOrderNum'">
+          {{ scope.row.underwriteOrderNum }} 笔
         </template>
       </template>
     </ComplexTable>
@@ -63,75 +63,76 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "姓名",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "sumOrderNum",
+      prop: "deptName",
       label: "所属机构",
       width: "300",
     },
     {
-      prop: "sumPremium",
+      prop: "areaName",
       label: "所在地区",
       width: "180",
     },
     {
-      prop: "djPremium",
+      prop: "underwriteOrderNum",
       label: "承保订单",
       width: "180",
       align: "right",
       sortable: true,
+      component: "customSlot",
     },
     {
-      prop: "dsyPremium",
+      prop: "sumPremium",
       label: "保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "dszPremium",
+      prop: "orderCommissionPremium",
       label: "出单佣金",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jszPremium",
+      prop: "avgOrderNumPremium",
       label: "单均保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jsyPremium",
+      prop: "lastLoginTime",
       label: "上次登录",
       width: "180",
     },
     {
-      prop: "jsyPremium",
+      prop: "lastRecordTime",
       label: "上次签单",
       width: "180",
     },
     {
-      prop: "jsyPremium",
+      prop: "manegerName",
       label: "管理人",
       width: "180",
     },
     {
-      prop: "jsyPremium",
+      prop: "personStatus",
       label: "人员状态",
       width: "180",
     },
-     {
-      prop: "jsyPremium",
+    {
+      prop: "accountStatus",
       label: "账号状态",
       width: "180",
     },
@@ -229,7 +230,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.channelPersonDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -255,7 +256,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.channelPersonDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 37 - 19
src/views/consoleManage/personDataManage/salesmanDept/index.vue

@@ -11,19 +11,31 @@
 
     <!-- 表格 -->
     <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
-      :columnwidth="120" :pageInfo="pageInfo" @getList="getList">
-      <template v-slot:operation="scope">
-        <el-button type="primary" link @click='agreementEdit(scope.operationData.id)'>明细</el-button>
-      </template>
-
+      :columnwidth="120" :pageInfo="pageInfo" @getList="getList" :showOperation='false'>
       <template v-slot:search="scope">
         <Sort :scope="scope.slotData" :globalSortKey="globalSortKey" :globalSortOrder="globalSortOrder"
           @update:sort="handleSortUpdate"></Sort>
       </template>
 
       <template #customSlot="{  bodyCell: { scope, column } }">
-        <template v-if="column.prop == 'sumOrderNum'">
-          {{ scope.row.sumOrderNum }} 笔
+        <template v-if="column.prop == 'avgOrderPersonNum'">
+          <div class='pointer'>
+            <el-tag
+              @click='agreementEdit(scope.row.id,"salesmanDeptDetailPerson")'>{{ scope.row.avgOrderPersonNum  }}</el-tag>
+          </div>
+        </template>
+        <template v-if="column.prop == 'sumPremium'">
+          <div class='pointer'>
+            <el-tag @click='agreementEdit(scope.row.id,"salesmanDeptDetail")'
+              type="success">{{ scope.row.sumPremium  }}</el-tag>
+          </div>
+        </template>
+        <template v-if="column.prop == 'underwriteOrderNum'">
+          <div class='pointer'>
+            <el-tag @click='agreementEdit(scope.row.id,"salesmanDeptDetail")'
+              type="success">{{ scope.row.underwriteOrderNum  }}</el-tag>
+          </div>
+
         </template>
       </template>
     </ComplexTable>
@@ -63,48 +75,51 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanTypeName",
       label: "类型",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanTypeDeptName",
       label: "名称",
       width: "200",
     },
     {
-      prop: "sumOrderNum",
+      prop: "deptName",
       label: "所属机构",
       width: "",
     },
     {
-      prop: "sumPremium",
+      prop: "areaName",
       label: "所在地区",
       width: "180",
     },
     {
-      prop: "djPremium",
+      prop: "avgOrderPersonNum",
       label: "出单人力",
       width: "180",
       align: "right",
       sortable: true,
+      component: "customSlot",
     },
     {
-      prop: "dsyPremium",
+      prop: "sumPremium",
       label: "保费",
       width: "180",
       align: "right",
       sortable: true,
+      component: "customSlot",
     },
     {
-      prop: "dszPremium",
+      prop: "underwriteOrderNum",
       label: "承保订单",
       width: "180",
       align: "right",
       sortable: true,
+      component: "customSlot",
     },
     {
-      prop: "jszPremium",
+      prop: "sumPersonNum",
       label: "出单人数",
       width: "180",
       align: "right",
@@ -204,7 +219,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.salesmanDeptPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -230,7 +245,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.salesmanDeptToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -247,9 +262,9 @@ const downloadFile = async () => {
   userStore.count++;
 };
 
-const agreementEdit = (id) => {
+const agreementEdit = (id, name) => {
   router.push({
-    name: "salesmanDeptDetail",
+    name,
     query: {
       id: id,
     },
@@ -278,6 +293,9 @@ onMounted(() => {
     display: flex;
     justify-content: flex-end;
   }
+  .pointer {
+    cursor: pointer;
+  }
 }
 :deep(.caret-wrapper) {
   display: none !important;

+ 15 - 15
src/views/consoleManage/personDataManage/salesmanDept/salesmanDeptDetail.vue

@@ -53,61 +53,61 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "业务员",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "orderNo",
+      prop: "companyName",
       label: "保险公司",
       width: "120",
     },
     {
-      prop: "licenseNo",
+      prop: "partnerCompanyName",
       label: "合作保险公司",
       width: "300",
     },
     {
-      prop: "orderTypeName",
+      prop: "orderNo",
       label: "订单号",
       width: "180",
     },
     {
-      prop: "riskName",
+      prop: "licenseNo",
       label: "车牌号",
       width: "180",
     },
     {
-      prop: "sumPremium",
+      prop: "orderTypeName",
       label: "订单类型",
       width: "180",
     },
     {
-      prop: "createTime",
+      prop: "riskName",
       label: "险种",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "sumPremium",
       label: "保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "recordTime",
+      prop: "orderCommissionPremium",
       label: "出单佣金",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "recordTime",
+      prop: "createTime",
       label: "录单时间",
       width: "180",
     },
@@ -117,7 +117,7 @@ const listOption = reactive({
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "manegerName",
       label: "管理人",
       width: "180",
     },
@@ -134,7 +134,7 @@ const phone = JSON.parse(localStorage.getItem("userInfo")).username;
 
 //获取默认选择数据
 const queryFormRes = ref();
-const routerKey = ref("salesmanDeptDetail");
+const routerKey = ref("salesmanBusinessDetail");
 const defaultList = ref();
 const pageHiddenList = ref([]); //页面不显示的数据
 const initDefaultList = async () => {
@@ -215,7 +215,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.salesmanBusinessDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -241,7 +241,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.salesmanBusinessDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 273 - 97
src/views/consoleManage/personDataManage/salesmanDept/salesmanDeptDetailPerson.vue

@@ -1,117 +1,293 @@
 <template>
-  <div class="logDetail">
-    <el-descriptions :column="2">
-      <template #title>
-        <div class="title">
-          <div class="icon">
-            <el-icon><List /></el-icon>
-          </div>
-          <p>{{ detailData?.operationContent }}</p>
-        </div>
+  <div class="log">
+    <div class='btn-box'>
+      <el-button type="primary" plain class='query-btn'
+        @click='dialogShow'>{{selectedKeys.length?`已选${selectedKeys.length}项`:'筛选条件'}}</el-button>
+      <div class='query-btn'>
+        <DowButton @endAnim='downloadFile'></DowButton>
+      </div>
+    </div>
+    <QueryForm :option="listOption" @query='query' @delSelect='delSelect' ref='queryFormRef'></QueryForm>
+
+    <!-- 表格 -->
+    <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
+      :columnwidth="120" :pageInfo="pageInfo" @getList="getList" :showOperation='false'>
+      <template v-slot:search="scope">
+        <Sort :scope="scope.slotData" :globalSortKey="globalSortKey" :globalSortOrder="globalSortOrder"
+          @update:sort="handleSortUpdate"></Sort>
+      </template>
+
+      <template #customSlot="{  bodyCell: { scope, column } }">
+        <template v-if="column.prop == 'underwriteOrderNum'">
+          {{ scope.row.underwriteOrderNum }} 笔
+        </template>
       </template>
-      <el-descriptions-item label="操作功能:" label-align="right" align="left" label-width="100">{{ detailData?.moduleName }}</el-descriptions-item>
-      <el-descriptions-item label="操作类型:" label-align="right" align="left" label-width="100">{{ detailData?.operatorName }}</el-descriptions-item>
-      <el-descriptions-item label="操作人:" label-align="right" align="left" label-width="100">{{ detailData?.createBy }}</el-descriptions-item>
-      <el-descriptions-item label="操作时间:" label-align="right" align="left" label-width="100">{{ detailData?.createTime }}</el-descriptions-item>
-    </el-descriptions>
-    <el-row :gutter="20" class="content">
-      <el-col :span="11">
-        <p>变更前</p>
-        <div class="list">
-          <el-row class="list-item" :gutter="20" v-for="item in detailData?.compareResultList" :key="item">
-            <el-col :span="6">{{ item.name }}</el-col>
-            <el-col :span="18" style="color: #606266">{{ item.fieldContent }}</el-col>
-          </el-row>
-        </div>
-      </el-col>
-      <el-divider direction="vertical" style="height: 100%"></el-divider>
-      <el-col :span="11">
-        <p>变更后</p>
-        <div class="list">
-          <el-row class="list-item" :gutter="20" v-for="item in detailData?.compareResultList" :key="item">
-            <el-col :span="6">{{ item.name }}</el-col>
-            <el-col :span="18" style="color: #606266">{{ item.newFieldContent }}</el-col>
-          </el-row>
-        </div>
-      </el-col>
-    </el-row>
+    </ComplexTable>
+
+    <FilterDialog :show='isShow' @close='isShow=false' @sure='filterSure' ref='filterDialogRef' @selectedKeys='selected'
+      routerKey='routerKey'>
+    </FilterDialog>
   </div>
 </template>
 
 <script setup lang="ts">
-import api from '@/api'
-import { useRoute, useRouter } from 'vue-router'
+import { useRouter } from "vue-router";
+import api from "@/api";
+import QueryForm from "../../components/queryForm.vue";
+import FilterDialog from "../../components/filterDialog.vue";
+import DowButton from "../../components/button.vue";
+import Sort from "../../components/sort.vue";
+import useUserStore from "@/store/modules/message";
+import PageInfo from "@/api/types/agreementTypes";
 import { ElMessage } from "element-plus";
 
-const myRoute = useRoute()
-const myRouter = useRouter()
-
-let detailData = ref(undefined)
-
-const initDetail = () => {
-  api.logApi.selectById(myRoute.query.id).then((res: any) => {
-    if(res.code == 200) {
-      detailData.value = res.data
-    } else {
-      ElMessage({
-        message: res.msg,
-        type: 'warning'
-      })
-    }
-  })
+const router = useRouter();
+const userStore = useUserStore();
+const isShow = ref(false);
+
+const isSort = ref();
+const pageInfo = ref({
+  pageNum: 1,
+  pageSize: 10,
+  sizes: [10, 20, 30, 40, 50],
+  total: 0,
+});
+const listOption = reactive({
+  rowKey: "salesmanDeptDetId",
+  //查询
+  queryFormFields: [],
+  // 表格列
+  columns: [
+    {
+      prop: "salesmanName",
+      label: "姓名",
+      width: "100",
+    },
+    {
+      prop: "salesmanPhone",
+      label: "手机号",
+      width: "120",
+    },
+    {
+      prop: "deptName",
+      label: "所属机构",
+      width: "300",
+    },
+    {
+      prop: "salesmanTypeName",
+      label: "类型",
+      width: "180",
+    },
+    {
+      prop: "salesmanTypeDeptName",
+      label: "归属",
+      width: "180",
+    },
+    {
+      prop: "underwriteOrderNum",
+      label: "承保订单",
+      width: "180",
+      align: "right",
+      sortable: true,
+      component: "customSlot",
+    },
+    {
+      prop: "sumPremium",
+      label: "保费",
+      width: "180",
+      align: "right",
+      sortable: true,
+    },
+    {
+      prop: "orderCommissionPremium",
+      label: "出单佣金",
+      width: "180",
+      align: "right",
+      sortable: true,
+    },
+    {
+      prop: "avgOrderNumPremium",
+      label: "单均保费",
+      width: "180",
+      align: "right",
+      sortable: true,
+    },
+    {
+      prop: "manegerName",
+      label: "管理人",
+      width: "180",
+    },
+    {
+      prop: "personStatus",
+      label: "人员状态",
+      width: "180",
+    },
+    {
+      prop: "accountStatus",
+      label: "账号状态",
+      width: "180",
+    },
+  ],
+});
+
+const selectedKeys = ref([]);
+const selected = function (val) {
+  selectedKeys.value = val;
+};
+
+//查询数据
+const phone = JSON.parse(localStorage.getItem("userInfo")).username;
+
+//获取默认选择数据
+const queryFormRes = ref();
+const routerKey = ref("salesmanDeptDetail");
+const defaultList = ref();
+const pageHiddenList = ref([]); //页面不显示的数据
+const initDefaultList = async () => {
+  const { data } = await api.manageApi.getSearchDefaultList({
+    routerKey: routerKey.value,
+    userId: phone,
+  });
+  listOption.queryFormFields = data.filter((e) => e.showFlag);
+
+  pageHiddenList.value = data.filter((e) => !e.showFlag);
+  defaultList.value = data.map((e) => e.id);
+  selectedKeys.value = defaultList.value;
+  queryFormRes.value = queryFormRef.value?.initDefaultSaveForm();
+  queryList();
+};
+
+//删除
+const filterDialogRef = ref();
+const delSelect = (id) => {
+  listOption.queryFormFields = listOption.queryFormFields.filter(
+    (item) => item.id != id
+  );
+  filterDialogRef.value.initList(
+    [...listOption.queryFormFields, ...pageHiddenList.value],
+    defaultList.value
+  );
+};
+
+//打开dialogShow
+const dialogShow = function () {
+  isShow.value = true;
+  filterDialogRef.value.initList(
+    [...listOption.queryFormFields, ...pageHiddenList.value],
+    defaultList.value
+  );
+};
+
+//确定
+const queryFormRef = ref();
+const filterSure = (item, index) => {
+  isShow.value = false;
+  const secondGroupIds = item.list.map((item) => item.id);
+  const oldList = listOption.queryFormFields.filter((item) =>
+    secondGroupIds.includes(item.id)
+  );
+  const firstGroupIds = listOption.queryFormFields.map((item) => item.id);
+  let newList = item.list.filter((item) => !firstGroupIds.includes(item.id));
+
+  //过滤掉默认不显示的数据
+  const hiddenList = new Set(pageHiddenList.value.map((item) => item.id));
+  const filterList = newList.filter((item) => !hiddenList.has(item.id));
+
+  listOption.queryFormFields = [...oldList, ...filterList];
+  queryFormRef.value?.initDefaultSaveForm();
+  selectedKeys.value = item.list.filter((item) => item.id);
+};
+
+const globalSortKey = ref("");
+const globalSortOrder = ref<"asc" | "desc">("asc");
+//  处理子组件传递的排序更新
+const handleSortUpdate = (sortInfo: {
+  key: string;
+  order: string;
+  name: string;
+}) => {
+  globalSortKey.value = sortInfo.key;
+  globalSortOrder.value = sortInfo.order;
+  queryList();
+};
+
+//查询
+const query = (item) => {
+  queryFormRes.value = item;
+  queryList();
+};
+
+//数据查询
+const tableData = ref([]);
+const queryList = async () => {
+  let query = { ...queryFormRes.value };
+  const { data } = await api.manageApi.salesmanDeptDetailPageList({
+    pageNo: pageInfo.value.pageNum,
+    pageSize: pageInfo.value.pageSize,
+    routerKey: routerKey.value,
+    userId: phone,
+    orderType: globalSortKey.value
+      ? globalSortKey.value + " " + globalSortOrder.value
+      : "",
+    ...query,
+  });
+  tableData.value = data.records;
+  pageInfo.value.pageNum = data.current;
+  pageInfo.value.pageSize = data.size;
+  pageInfo.value.total = data.total;
+};
+
+//分页事件
+function getList(item: PageInfo) {
+  pageInfo.value.pageNum = item.pageNum;
+  pageInfo.value.pageSize = item.pageSize;
+  queryList();
 }
 
-onMounted(() => {
-  initDetail()
-})
+//导出
+const downloadFile = async () => {
+  let query = { ...queryFormRes.value };
+  const { data, msg } = await api.manageApi.salesmanDeptDetailToTask({
+    pageNo: pageInfo.value.pageNum,
+    pageSize: pageInfo.value.pageSize,
+    routerKey: routerKey.value,
+    userId: phone,
+    orderType: globalSortKey.value
+      ? globalSortKey.value + " " + globalSortOrder.value
+      : "",
+    ...query,
+  });
+  ElMessage({
+    message: msg,
+    type: "success",
+  });
+  userStore.count++;
+};
 
+onMounted(() => {
+  initDefaultList();
+});
 </script>
 
 <style scoped lang="scss">
-.logDetail{
-  padding: 24px;
-  background: #FFFFFF;
+.log {
   width: 100%;
   height: calc(100vh - 120px);
-  .title{
-    display: flex;
-    align-items: center;
-    justify-content: flex-start;
-    .icon{
-      width: 30px;
-      height: 30px;
-      border-radius: 50%;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      background: #1A85FA;
-      color: #FFFFFF;
-      font-size: 20px;
-      margin-right: 10px;
-    }
-  }
-  .content{
-    height: calc(100% - 120px);
-    overflow: hidden;
-    p{
-      text-align: center;
-      background: #F0F0F0;
-      margin: 0;
-      padding: 16px 0;
-    }
-    .list{
-      height: calc(100% - 80px);
-      overflow-y: auto;
-      overflow-x: hidden;
-      .list-item{
-        margin: 14px 0;
-        padding: 0 20px;
-        display: flex;
-      }
-    }
+  background: #ffffff;
+  padding: 24px;
+  overflow-y: auto;
+  .query-btn {
+    margin-left: 20px;
   }
-  :deep(.el-descriptions) {
-    width: 50%;
+  .btn-box {
+    padding-bottom: 15px;
+    margin-bottom: 24px;
+    border-bottom: 1px solid #eeeeee;
+    display: flex;
+    justify-content: flex-end;
   }
 }
+:deep(.caret-wrapper) {
+  display: none !important;
+}
 </style>

+ 19 - 18
src/views/consoleManage/personDataManage/salesmanReport/index.vue

@@ -22,8 +22,8 @@
       </template>
 
       <template #customSlot="{  bodyCell: { scope, column } }">
-        <template v-if="column.prop == 'sumOrderNum'">
-          {{ scope.row.sumOrderNum }} 笔
+        <template v-if="column.prop == 'underwriteOrderNum'">
+          {{ scope.row.underwriteOrderNum }} 笔
         </template>
       </template>
     </ComplexTable>
@@ -63,75 +63,76 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "姓名",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "sumOrderNum",
+      prop: "deptName",
       label: "所属机构",
       width: "300",
     },
     {
-      prop: "sumPremium",
+      prop: "areaName",
       label: "所在地区",
       width: "180",
     },
     {
-      prop: "djPremium",
+      prop: "underwriteOrderNum",
       label: "承保订单",
       width: "180",
       align: "right",
       sortable: true,
+      component: "customSlot",
     },
     {
-      prop: "dsyPremium",
+      prop: "sumPremium",
       label: "保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "dszPremium",
+      prop: "orderCommissionPremium",
       label: "出单佣金",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jszPremium",
+      prop: "avgOrderNumPremium",
       label: "单均保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jsyPremium",
+      prop: "lastLoginTime",
       label: "上次登录",
       width: "180",
     },
     {
-      prop: "jsyPremium",
+      prop: "lastRecordTime",
       label: "上次签单",
       width: "180",
     },
     {
-      prop: "jsyPremium",
+      prop: "manegrName",
       label: "管理人",
       width: "180",
     },
     {
-      prop: "jsyPremium",
+      prop: "personStatus",
       label: "人员状态",
       width: "180",
     },
-     {
-      prop: "jsyPremium",
+    {
+      prop: "accountStatus",
       label: "账号状态",
       width: "180",
     },
@@ -229,7 +230,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.salesmanReportPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -255,7 +256,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.salesmanReportToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 14 - 14
src/views/consoleManage/personDataManage/salesmanReport/salesmanReportDetail.vue

@@ -53,61 +53,61 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "业务员",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "orderNo",
+      prop: "companyName",
       label: "保险公司",
       width: "120",
     },
     {
-      prop: "licenseNo",
+      prop: "partnerCompanyName",
       label: "合作保险公司",
       width: "300",
     },
     {
-      prop: "orderTypeName",
+      prop: "orderNo",
       label: "订单号",
       width: "180",
     },
     {
-      prop: "riskName",
+      prop: "licenseNo",
       label: "车牌号",
       width: "180",
     },
     {
-      prop: "sumPremium",
+      prop: "orderTypeName",
       label: "订单类型",
       width: "180",
     },
     {
-      prop: "createTime",
+      prop: "riskName",
       label: "险种",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "sumPremium",
       label: "保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "recordTime",
+      prop: "orderCommissionPremium",
       label: "出单佣金",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "recordTime",
+      prop: "createTime",
       label: "录单时间",
       width: "180",
     },
@@ -117,7 +117,7 @@ const listOption = reactive({
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "manegerName",
       label: "管理人",
       width: "180",
     },
@@ -215,7 +215,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.salesmanReportDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -241,7 +241,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.salesmanReportDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 19 - 18
src/views/consoleManage/personDataManage/telemarketingPersonData/index.vue

@@ -22,8 +22,8 @@
       </template>
 
       <template #customSlot="{  bodyCell: { scope, column } }">
-        <template v-if="column.prop == 'sumOrderNum'">
-          {{ scope.row.sumOrderNum }} 笔
+       <template v-if="column.prop == 'underwriteOrderNum'">
+          {{ scope.row.underwriteOrderNum }} 笔
         </template>
       </template>
     </ComplexTable>
@@ -63,75 +63,76 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "姓名",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "sumOrderNum",
+      prop: "deptName",
       label: "所属机构",
       width: "300",
     },
     {
-      prop: "sumPremium",
+      prop: "areaName",
       label: "所在地区",
       width: "180",
     },
     {
-      prop: "djPremium",
+      prop: "underwriteOrderNum",
       label: "承保订单",
       width: "180",
       align: "right",
       sortable: true,
+      component: "customSlot",
     },
     {
-      prop: "dsyPremium",
+      prop: "sumPremium",
       label: "保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "dszPremium",
+      prop: "orderCommissionPremium",
       label: "出单佣金",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jszPremium",
+      prop: "avgOrderNumPremium",
       label: "单均保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jsyPremium",
+      prop: "lastLoginTime",
       label: "上次登录",
       width: "180",
     },
     {
-      prop: "jsyPremium",
+      prop: "lastRecordTime",
       label: "上次签单",
       width: "180",
     },
     {
-      prop: "jsyPremium",
+      prop: "manegerName",
       label: "管理人",
       width: "180",
     },
     {
-      prop: "jsyPremium",
+      prop: "personStatus",
       label: "人员状态",
       width: "180",
     },
-     {
-      prop: "jsyPremium",
+    {
+      prop: "accountStatus",
       label: "账号状态",
       width: "180",
     },
@@ -229,7 +230,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.telemarketingPersonDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -255,7 +256,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.telemarketingPersonDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 15 - 15
src/views/consoleManage/personDataManage/telemarketingPersonData/telemarketingPersonDataDetail.vue

@@ -51,63 +51,63 @@ const listOption = reactive({
   //查询
   queryFormFields: [],
   // 表格列
-  columns: [
+   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "业务员",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "orderNo",
+      prop: "companyName",
       label: "保险公司",
       width: "120",
     },
     {
-      prop: "licenseNo",
+      prop: "partnerCompanyName",
       label: "合作保险公司",
       width: "300",
     },
     {
-      prop: "orderTypeName",
+      prop: "orderNo",
       label: "订单号",
       width: "180",
     },
     {
-      prop: "riskName",
+      prop: "licenseNo",
       label: "车牌号",
       width: "180",
     },
     {
-      prop: "sumPremium",
+      prop: "orderTypeName",
       label: "订单类型",
       width: "180",
     },
     {
-      prop: "createTime",
+      prop: "riskName",
       label: "险种",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "sumPremium",
       label: "保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "recordTime",
+      prop: "orderCommissionPremium",
       label: "出单佣金",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "recordTime",
+      prop: "createTime",
       label: "录单时间",
       width: "180",
     },
@@ -117,7 +117,7 @@ const listOption = reactive({
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "manegerName",
       label: "管理人",
       width: "180",
     },
@@ -215,7 +215,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.telemarketingPersonDataDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -241,7 +241,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.telemarketingPersonDataDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 29 - 37
src/views/consoleManage/quotationDataManage/channelQuotationData/index.vue

@@ -11,7 +11,7 @@
     <div class='flex content-box'>
       <!-- tree -->
       <div class='content-l'>
-        <Tree ref='treeRef'></Tree>
+        <Tree ref='treeRef' @nodeId='nodeId'></Tree>
       </div>
 
       <div class='flex-1 content-r'>
@@ -25,23 +25,11 @@
           </template>
 
           <template #customSlot="{  bodyCell: { scope, column } }">
-            <template v-if="column.prop == 'underwriteOrderNum'">
-              {{ scope.row.underwriteOrderNum }} 笔
+            <template v-if="column.prop == 'quoteCountNumProportion'">
+              {{ scope.row.quoteCountNumProportion }} %
             </template>
-            <template v-if="column.prop == 'djOrderNum'">
-              {{ scope.row.djOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'dsyOrderNum'">
-              {{ scope.row.dsyOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'dszOrderNum'">
-              {{ scope.row.dszOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'jszOrderNum'">
-              {{ scope.row.jszOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'jsyOrderNum'">
-              {{ scope.row.jsyOrderNum }} 笔
+            <template v-if="column.prop == 'avgQuoteTime'">
+              {{ scope.row.avgQuoteTime }} s
             </template>
           </template>
         </ComplexTable>
@@ -84,24 +72,24 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "salesmanName",
+      prop: "companyName",
       label: "保险公司",
-      width: "100",
+      width: "180",
     },
     {
-      prop: "salesmanPhone",
+      prop: "partnerCompanyName",
       label: "合作保险公司",
-      width: "120",
+      width: "300",
     },
     {
-      prop: "deptName",
+      prop: "quoteCountNum",
       label: "报价数量",
-      width: "300",
+      width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "underwriteOrderNum",
+      prop: "quoteCountNumProportion",
       label: "报价量占比",
       width: "180",
       align: "right",
@@ -109,22 +97,21 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "sumPremium",
+      prop: "quoteSuccessNum",
       label: "报价成功",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jqPremium",
+      prop: "quoteFailNum",
       label: "报价失败",
       width: "180",
       align: "right",
       sortable: true,
-      component: "customSlot",
     },
     {
-      prop: "taxPremium",
+      prop: "avgQuoteTime",
       label: "平均报价响应时间",
       width: "180",
       align: "right",
@@ -132,49 +119,49 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "syPremium",
+      prop: "waitAuditNum",
       label: "提交核保",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jyPremium",
+      prop: "staffProcessNum",
       label: "人工核保数",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritPassNum",
       label: "核保通过",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritRejectNum",
       label: "核保不通过",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritPassRate",
       label: "核保通过率",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "dealOrderNum",
       label: "成交单数",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "conversionRate",
       label: "转化率",
       width: "180",
       align: "right",
@@ -274,7 +261,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.telemarketingDataManagePageList({
+  const { data } = await api.manageApi.channelQuotationDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -300,7 +287,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.telemarketingDataManageToTask({
+  const { data, msg } = await api.manageApi.channelQuotationDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -325,6 +312,11 @@ const tabClick = (item, index) => {
   treeRef.value?.getTree(item.api);
 };
 
+const nodeId = (id) => {
+  queryFormRes.value.orgIds = [id];
+  queryList();
+};
+
 onMounted(() => {
   initDefaultList();
   treeRef.value?.getTree(api.manageApi.getDeptListByUserId);

+ 29 - 37
src/views/consoleManage/quotationDataManage/companyQuotationData/index.vue

@@ -11,7 +11,7 @@
     <div class='flex content-box'>
       <!-- tree -->
       <div class='content-l'>
-        <Tree ref='treeRef'></Tree>
+        <Tree ref='treeRef' @nodeId='nodeId'></Tree>
       </div>
 
       <div class='flex-1 content-r'>
@@ -25,23 +25,11 @@
           </template>
 
           <template #customSlot="{  bodyCell: { scope, column } }">
-            <template v-if="column.prop == 'underwriteOrderNum'">
-              {{ scope.row.underwriteOrderNum }} 笔
+            <template v-if="column.prop == 'quoteCountNumProportion'">
+              {{ scope.row.quoteCountNumProportion }} %
             </template>
-            <template v-if="column.prop == 'djOrderNum'">
-              {{ scope.row.djOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'dsyOrderNum'">
-              {{ scope.row.dsyOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'dszOrderNum'">
-              {{ scope.row.dszOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'jszOrderNum'">
-              {{ scope.row.jszOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'jsyOrderNum'">
-              {{ scope.row.jsyOrderNum }} 笔
+            <template v-if="column.prop == 'avgQuoteTime'">
+              {{ scope.row.avgQuoteTime }} s
             </template>
           </template>
         </ComplexTable>
@@ -84,24 +72,24 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "salesmanName",
+      prop: "companyName",
       label: "保险公司",
-      width: "100",
+      width: "180",
     },
     {
-      prop: "salesmanPhone",
+      prop: "partnerCompanyName",
       label: "合作保险公司",
-      width: "120",
+      width: "300",
     },
     {
-      prop: "deptName",
+      prop: "quoteCountNum",
       label: "报价数量",
-      width: "300",
+      width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "underwriteOrderNum",
+      prop: "quoteCountNumProportion",
       label: "报价量占比",
       width: "180",
       align: "right",
@@ -109,22 +97,21 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "sumPremium",
+      prop: "quoteSuccessNum",
       label: "报价成功",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jqPremium",
+      prop: "quoteFailNum",
       label: "报价失败",
       width: "180",
       align: "right",
       sortable: true,
-      component: "customSlot",
     },
     {
-      prop: "taxPremium",
+      prop: "avgQuoteTime",
       label: "平均报价响应时间",
       width: "180",
       align: "right",
@@ -132,49 +119,49 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "syPremium",
+      prop: "waitAuditNum",
       label: "提交核保",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jyPremium",
+      prop: "staffProcessNum",
       label: "人工核保数",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritPassNum",
       label: "核保通过",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritRejectNum",
       label: "核保不通过",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritPassRate",
       label: "核保通过率",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "dealOrderNum",
       label: "成交单数",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "conversionRate",
       label: "转化率",
       width: "180",
       align: "right",
@@ -274,7 +261,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.telemarketingDataManagePageList({
+  const { data } = await api.manageApi.companyQuotationDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -300,7 +287,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.telemarketingDataManageToTask({
+  const { data, msg } = await api.manageApi.companyQuotationDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -325,6 +312,11 @@ const tabClick = (item, index) => {
   treeRef.value?.getTree(item.api);
 };
 
+const nodeId = (id) => {
+  queryFormRes.value.orgIds = [id];
+  queryList();
+};
+
 onMounted(() => {
   initDefaultList();
   treeRef.value?.getTree(api.manageApi.getDeptListByUserId);

+ 23 - 21
src/views/consoleManage/quotationDataManage/quotationOrderData/index.vue

@@ -11,7 +11,7 @@
     <div class='flex content-box'>
       <!-- tree -->
       <div class='content-l'>
-        <Tree ref='treeRef'></Tree>
+        <Tree ref='treeRef' @nodeId='nodeId'></Tree>
       </div>
 
       <div class='flex-1 content-r'>
@@ -25,11 +25,11 @@
           </template>
 
           <template #customSlot="{  bodyCell: { scope, column } }">
-            <template v-if="column.prop == 'underwriteOrderNum'">
-              {{ scope.row.underwriteOrderNum }} 笔
+            <template v-if="column.prop == 'quoteOrderNum'">
+              {{ scope.row.quoteOrderNum }} 笔
             </template>
-            <template v-if="column.prop == 'djOrderNum'">
-              {{ scope.row.djOrderNum }} 笔
+            <template v-if="column.prop == 'quoteCountNum'">
+              {{ scope.row.quoteCountNum }} 次
             </template>
             <template v-if="column.prop == 'dsyOrderNum'">
               {{ scope.row.dsyOrderNum }} 笔
@@ -84,27 +84,27 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "salesmanName",
+      prop: "licenseNo",
       label: "车牌号",
       width: "100",
     },
     {
-      prop: "salesmanPhone",
+      prop: "engineNo",
       label: "发动机号",
       width: "120",
     },
     {
-      prop: "deptName",
+      prop: "vinNo",
       label: "车架号",
-      width: "300",
+      width: "180",
     },
     {
-      prop: "underwriteOrderNum",
+      prop: "brandName",
       label: "品牌型号",
       width: "180",
     },
     {
-      prop: "sumPremium",
+      prop: "quoteOrderNum",
       label: "报价订单",
       width: "180",
       align: "right",
@@ -112,7 +112,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jqPremium",
+      prop: "quoteCountNum",
       label: "报价次数",
       width: "180",
       align: "right",
@@ -120,26 +120,26 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "taxPremium",
+      prop: "minPremium",
       label: "最低保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "syPremium",
+      prop: "maxPremium",
       label: "最高保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jyPremium",
+      prop: "dealCompanyName",
       label: "成交保险公司",
-      width: "180",
+      width: "300",
     },
     {
-      prop: "djOrderNum",
+      prop: "dealPremium",
       label: "成交保费",
       width: "180",
       align: "right",
@@ -239,7 +239,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.telemarketingDataManagePageList({
+  const { data } = await api.manageApi.quotationOrderDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -265,7 +265,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.telemarketingDataManageToTask({
+  const { data, msg } = await api.manageApi.quotationOrderDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -282,7 +282,6 @@ const downloadFile = async () => {
   userStore.count++;
 };
 
-
 //tabClick
 const treeRef = ref();
 const tabIndex = ref(0);
@@ -290,7 +289,10 @@ const tabClick = (item, index) => {
   tabIndex.value = index;
   treeRef.value?.getTree(item.api);
 };
-
+const nodeId = (id) => {
+  queryFormRes.value.manageIds = [id];
+  queryList();
+};
 onMounted(() => {
   initDefaultList();
   treeRef.value?.getTree(api.manageApi.getUserManageListByUserId);

+ 29 - 37
src/views/consoleManage/quotationDataManage/salesmanQuotationData/index.vue

@@ -11,7 +11,7 @@
     <div class='flex content-box'>
       <!-- tree -->
       <div class='content-l'>
-        <Tree ref='treeRef'></Tree>
+        <Tree ref='treeRef' @nodeId='nodeId'></Tree>
       </div>
 
       <div class='flex-1 content-r'>
@@ -25,23 +25,11 @@
           </template>
 
           <template #customSlot="{  bodyCell: { scope, column } }">
-            <template v-if="column.prop == 'underwriteOrderNum'">
-              {{ scope.row.underwriteOrderNum }} 笔
+            <template v-if="column.prop == 'quoteCountNumProportion'">
+              {{ scope.row.quoteCountNumProportion }} %
             </template>
-            <template v-if="column.prop == 'djOrderNum'">
-              {{ scope.row.djOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'dsyOrderNum'">
-              {{ scope.row.dsyOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'dszOrderNum'">
-              {{ scope.row.dszOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'jszOrderNum'">
-              {{ scope.row.jszOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'jsyOrderNum'">
-              {{ scope.row.jsyOrderNum }} 笔
+            <template v-if="column.prop == 'avgQuoteTime'">
+              {{ scope.row.avgQuoteTime }} s
             </template>
           </template>
         </ComplexTable>
@@ -84,24 +72,24 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "salesmanName",
+      prop: "companyName",
       label: "保险公司",
-      width: "100",
+      width: "180",
     },
     {
-      prop: "salesmanPhone",
+      prop: "partnerCompanyName",
       label: "合作保险公司",
-      width: "120",
+      width: "300",
     },
     {
-      prop: "deptName",
+      prop: "quoteCountNum",
       label: "报价数量",
-      width: "300",
+      width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "underwriteOrderNum",
+      prop: "quoteCountNumProportion",
       label: "报价量占比",
       width: "180",
       align: "right",
@@ -109,22 +97,21 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "sumPremium",
+      prop: "quoteSuccessNum",
       label: "报价成功",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jqPremium",
+      prop: "quoteFailNum",
       label: "报价失败",
       width: "180",
       align: "right",
       sortable: true,
-      component: "customSlot",
     },
     {
-      prop: "taxPremium",
+      prop: "avgQuoteTime",
       label: "平均报价响应时间",
       width: "180",
       align: "right",
@@ -132,49 +119,49 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "syPremium",
+      prop: "waitAuditNum",
       label: "提交核保",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jyPremium",
+      prop: "staffProcessNum",
       label: "人工核保数",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritPassNum",
       label: "核保通过",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritRejectNum",
       label: "核保不通过",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritPassRate",
       label: "核保通过率",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "dealOrderNum",
       label: "成交单数",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "conversionRate",
       label: "转化率",
       width: "180",
       align: "right",
@@ -274,7 +261,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.telemarketingDataManagePageList({
+  const { data } = await api.manageApi.salesmanQuotationDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -300,7 +287,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.telemarketingDataManageToTask({
+  const { data, msg } = await api.manageApi.salesmanQuotationDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -325,6 +312,11 @@ const tabClick = (item, index) => {
   treeRef.value?.getTree(item.api);
 };
 
+const nodeId = (id) => {
+  queryFormRes.value.orgIds = [id];
+  queryList();
+};
+
 onMounted(() => {
   initDefaultList();
   treeRef.value?.getTree(api.manageApi.getDeptListByUserId);

+ 29 - 37
src/views/consoleManage/quotationDataManage/telemarketingQuotationData/index.vue

@@ -11,7 +11,7 @@
     <div class='flex content-box'>
       <!-- tree -->
       <div class='content-l'>
-        <Tree ref='treeRef'></Tree>
+        <Tree ref='treeRef' @nodeId='nodeId'></Tree>
       </div>
 
       <div class='flex-1 content-r'>
@@ -25,23 +25,11 @@
           </template>
 
           <template #customSlot="{  bodyCell: { scope, column } }">
-            <template v-if="column.prop == 'underwriteOrderNum'">
-              {{ scope.row.underwriteOrderNum }} 笔
+            <template v-if="column.prop == 'quoteCountNumProportion'">
+              {{ scope.row.quoteCountNumProportion }} %
             </template>
-            <template v-if="column.prop == 'djOrderNum'">
-              {{ scope.row.djOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'dsyOrderNum'">
-              {{ scope.row.dsyOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'dszOrderNum'">
-              {{ scope.row.dszOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'jszOrderNum'">
-              {{ scope.row.jszOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'jsyOrderNum'">
-              {{ scope.row.jsyOrderNum }} 笔
+            <template v-if="column.prop == 'avgQuoteTime'">
+              {{ scope.row.avgQuoteTime }} s
             </template>
           </template>
         </ComplexTable>
@@ -84,24 +72,24 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "salesmanName",
+      prop: "companyName",
       label: "保险公司",
-      width: "100",
+      width: "180",
     },
     {
-      prop: "salesmanPhone",
+      prop: "partnerCompanyName",
       label: "合作保险公司",
-      width: "120",
+      width: "300",
     },
     {
-      prop: "deptName",
+      prop: "quoteCountNum",
       label: "报价数量",
-      width: "300",
+      width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "underwriteOrderNum",
+      prop: "quoteCountNumProportion",
       label: "报价量占比",
       width: "180",
       align: "right",
@@ -109,22 +97,21 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "sumPremium",
+      prop: "quoteSuccessNum",
       label: "报价成功",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jqPremium",
+      prop: "quoteFailNum",
       label: "报价失败",
       width: "180",
       align: "right",
       sortable: true,
-      component: "customSlot",
     },
     {
-      prop: "taxPremium",
+      prop: "avgQuoteTime",
       label: "平均报价响应时间",
       width: "180",
       align: "right",
@@ -132,49 +119,49 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "syPremium",
+      prop: "waitAuditNum",
       label: "提交核保",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "jyPremium",
+      prop: "staffProcessNum",
       label: "人工核保数",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritPassNum",
       label: "核保通过",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritRejectNum",
       label: "核保不通过",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "underwritPassRate",
       label: "核保通过率",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "dealOrderNum",
       label: "成交单数",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "djOrderNum",
+      prop: "conversionRate",
       label: "转化率",
       width: "180",
       align: "right",
@@ -274,7 +261,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.telemarketingDataManagePageList({
+  const { data } = await api.manageApi.telemarketingQuotationDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -300,7 +287,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.telemarketingDataManageToTask({
+  const { data, msg } = await api.manageApi.telemarketingQuotationDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -325,6 +312,11 @@ const tabClick = (item, index) => {
   treeRef.value?.getTree(item.api);
 };
 
+const nodeId = (id) => {
+  queryFormRes.value.orgIds = [id];
+  queryList();
+};
+
 onMounted(() => {
   initDefaultList();
   treeRef.value?.getTree(api.manageApi.getDeptListByUserId);

+ 20 - 20
src/views/consoleManage/taskDataManage/channelData/channelDataDetail.vue

@@ -53,59 +53,59 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "姓名",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "orderNo",
+      prop: "deptName",
       label: "所属机构",
       width: "300",
     },
     {
-      prop: "licenseNo",
-      label: "订单号",
-      width: "120",
-    },
-    {
-      prop: "orderTypeName",
+      prop: "orderNo",
       label: "订单号",
       width: "180",
     },
     {
-      prop: "riskName",
+      prop: "licenseNo",
       label: "车牌号",
       width: "180",
     },
     {
-      prop: "sumPremium",
+      prop: "orderTypeName",
       label: "订单类型",
       width: "180",
     },
     {
-      prop: "createTime",
+      prop: "riskName",
       label: "险种",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "orderSourceName",
+      label: "报价来源",
+      width: "180",
+    },
+    {
+      prop: "sumPremium",
       label: "保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "recordTime",
+      prop: "orderStatusName",
       label: "状态",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "createTime",
       label: "录单时间",
       width: "180",
     },
@@ -115,12 +115,12 @@ const listOption = reactive({
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "companyName",
       label: "保险公司",
       width: "180",
     },
-     {
-      prop: "recordTime",
+    {
+      prop: "partnerCompanyName",
       label: "合作保险公司",
       width: "300",
     },
@@ -218,7 +218,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.channelDataDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -244,7 +244,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.channelDataDetailToPage({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 49 - 19
src/views/consoleManage/taskDataManage/channelData/index.vue

@@ -22,8 +22,38 @@
       </template>
 
       <template #customSlot="{  bodyCell: { scope, column } }">
-        <template v-if="column.prop == 'sumOrderNum'">
-          {{ scope.row.sumOrderNum }} 笔
+        <template v-if="column.prop == 'quoteOrderNum'">
+          {{ scope.row.quoteOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'proxyCustomerOrderNum'">
+          {{ scope.row.proxyCustomerOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'pcOrderNum'">
+          {{ scope.row.pcOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'appOrderNum'">
+          {{ scope.row.appOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'payPendingOrderNum'">
+          {{ scope.row.payPendingOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'underwritRejectNum'">
+          {{ scope.row.underwritRejectNum }} 笔
+        </template>
+        <template v-if="column.prop == 'underwritPassRate'">
+          {{ scope.row.underwritPassRate }} %
+        </template>
+        <template v-if="column.prop == 'underwriteRate'">
+          {{ scope.row.underwriteRate }} %
+        </template>
+        <template v-if="column.prop == 'additionalRecordingOrderNum'">
+          {{ scope.row.additionalRecordingOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'additionalRecordingPendingApprovalOrderNum'">
+          {{ scope.row.additionalRecordingPendingApprovalOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'additionalRecordingApprovalOrderNum'">
+          {{ scope.row.additionalRecordingApprovalOrderNum }} 笔
         </template>
       </template>
     </ComplexTable>
@@ -63,22 +93,22 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "姓名",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "sumOrderNum",
+      prop: "deptName",
       label: "所属机构",
       width: "300",
     },
     {
-      prop: "sumPremium",
+      prop: "quoteOrderNum",
       label: "报价订单",
       width: "180",
       align: "right",
@@ -86,7 +116,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "djPremium",
+      prop: "proxyCustomerOrderNum",
       label: "代客录单",
       width: "180",
       align: "right",
@@ -96,7 +126,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "dsyPremium",
+      prop: "pcOrderNum",
       label: "PC报价中",
       width: "180",
       align: "right",
@@ -104,7 +134,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "dszPremium",
+      prop: "appOrderNum",
       label: "APP报价中",
       width: "180",
       align: "right",
@@ -112,7 +142,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jszPremium",
+      prop: "payPendingOrderNum",
       label: "待缴费",
       width: "180",
       align: "right",
@@ -120,7 +150,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwritRejectNum",
       label: "核保失败",
       width: "180",
       align: "right",
@@ -128,7 +158,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwritPassRate",
       label: "核保通过率",
       width: "180",
       align: "right",
@@ -136,7 +166,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwriteRate",
       label: "承保率",
       width: "180",
       align: "right",
@@ -144,7 +174,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingOrderNum",
       label: "补录订单",
       width: "180",
       align: "right",
@@ -152,7 +182,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingPendingApprovalOrderNum",
       label: "补录待审核",
       width: "180",
       align: "right",
@@ -160,7 +190,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingApprovalOrderNum",
       label: "补录审核通过",
       width: "180",
       align: "right",
@@ -169,7 +199,7 @@ const listOption = reactive({
     },
 
     {
-      prop: "jsyPremium",
+      prop: "manegerName",
       label: "管理人",
       width: "180",
     },
@@ -267,7 +297,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.channelDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -293,7 +323,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.channelDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 49 - 14
src/views/consoleManage/taskDataManage/companyData/companyDataDetail.vue

@@ -16,6 +16,41 @@
         <Sort :scope="scope.slotData" :globalSortKey="globalSortKey" :globalSortOrder="globalSortOrder"
           @update:sort="handleSortUpdate"></Sort>
       </template>
+      <template #customSlot="{  bodyCell: { scope, column } }">
+        <template v-if="column.prop == 'quoteOrderNum'">
+          {{ scope.row.quoteOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'proxyCustomerOrderNum'">
+          {{ scope.row.proxyCustomerOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'pcOrderNum'">
+          {{ scope.row.pcOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'appOrderNum'">
+          {{ scope.row.appOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'payPendingOrderNum'">
+          {{ scope.row.payPendingOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'underwritRejectNum'">
+          {{ scope.row.underwritRejectNum }} 笔
+        </template>
+        <template v-if="column.prop == 'underwritPassRate'">
+          {{ scope.row.underwritPassRate }} %
+        </template>
+        <template v-if="column.prop == 'underwriteRate'">
+          {{ scope.row.underwriteRate }} %
+        </template>
+        <template v-if="column.prop == 'additionalRecordingOrderNum'">
+          {{ scope.row.additionalRecordingOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'additionalRecordingPendingApprovalOrderNum'">
+          {{ scope.row.additionalRecordingPendingApprovalOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'additionalRecordingApprovalOrderNum'">
+          {{ scope.row.additionalRecordingApprovalOrderNum }} 笔
+        </template>
+      </template>
     </ComplexTable>
 
     <FilterDialog :show='isShow' @close='isShow=false' @sure='filterSure' ref='filterDialogRef' @selectedKeys='selected'
@@ -63,7 +98,7 @@ const listOption = reactive({
       width: "300",
     },
     {
-      prop: "sumPremium",
+      prop: "quoteOrderNum",
       label: "报价订单",
       width: "180",
       align: "right",
@@ -71,7 +106,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "djPremium",
+      prop: "proxyCustomerOrderNum",
       label: "代客录单",
       width: "180",
       align: "right",
@@ -81,7 +116,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "dsyPremium",
+      prop: "pcOrderNum",
       label: "PC报价中",
       width: "180",
       align: "right",
@@ -89,7 +124,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "dszPremium",
+      prop: "appOrderNum",
       label: "APP报价中",
       width: "180",
       align: "right",
@@ -97,7 +132,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jszPremium",
+      prop: "payPendingOrderNum",
       label: "待缴费",
       width: "180",
       align: "right",
@@ -105,7 +140,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwritRejectNum",
       label: "核保不通过",
       width: "180",
       align: "right",
@@ -113,7 +148,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwritPassRate",
       label: "核保通过率",
       width: "180",
       align: "right",
@@ -121,7 +156,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwriteRate",
       label: "承保率",
       width: "180",
       align: "right",
@@ -129,7 +164,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingOrderNum",
       label: "补录订单",
       width: "180",
       align: "right",
@@ -137,7 +172,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingPendingApprovalOrderNum",
       label: "补录待审核",
       width: "180",
       align: "right",
@@ -145,7 +180,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingApprovalOrderNum",
       label: "补录审核通过",
       width: "180",
       align: "right",
@@ -153,7 +188,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "manegerName",
       label: "管理人",
       width: "180",
     },
@@ -251,7 +286,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.companyDataDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -277,7 +312,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.companyDataDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 46 - 16
src/views/consoleManage/taskDataManage/companyData/index.vue

@@ -22,8 +22,38 @@
       </template>
 
       <template #customSlot="{  bodyCell: { scope, column } }">
-        <template v-if="column.prop == 'sumOrderNum'">
-          {{ scope.row.sumOrderNum }} 笔
+        <template v-if="column.prop == 'quoteOrderNum'">
+          {{ scope.row.quoteOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'proxyCustomerOrderNum'">
+          {{ scope.row.proxyCustomerOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'pcOrderNum'">
+          {{ scope.row.pcOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'appOrderNum'">
+          {{ scope.row.appOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'payPendingOrderNum'">
+          {{ scope.row.payPendingOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'underwritRejectNum'">
+          {{ scope.row.underwritRejectNum }} 笔
+        </template>
+        <template v-if="column.prop == 'underwritPassRate'">
+          {{ scope.row.underwritPassRate }} %
+        </template>
+        <template v-if="column.prop == 'underwriteRate'">
+          {{ scope.row.underwriteRate }} %
+        </template>
+        <template v-if="column.prop == 'additionalRecordingOrderNum'">
+          {{ scope.row.additionalRecordingOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'additionalRecordingPendingApprovalOrderNum'">
+          {{ scope.row.additionalRecordingPendingApprovalOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'additionalRecordingApprovalOrderNum'">
+          {{ scope.row.additionalRecordingApprovalOrderNum }} 笔
         </template>
       </template>
     </ComplexTable>
@@ -73,7 +103,7 @@ const listOption = reactive({
       width: "300",
     },
     {
-      prop: "sumPremium",
+      prop: "quoteOrderNum",
       label: "报价订单",
       width: "180",
       align: "right",
@@ -81,7 +111,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "djPremium",
+      prop: "proxyCustomerOrderNum",
       label: "代客录单",
       width: "180",
       align: "right",
@@ -91,7 +121,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "dsyPremium",
+      prop: "pcOrderNum",
       label: "PC报价中",
       width: "180",
       align: "right",
@@ -99,7 +129,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "dszPremium",
+      prop: "appOrderNum",
       label: "APP报价中",
       width: "180",
       align: "right",
@@ -107,7 +137,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jszPremium",
+      prop: "payPendingOrderNum",
       label: "待缴费",
       width: "180",
       align: "right",
@@ -115,7 +145,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwritRejectNum",
       label: "核保不通过",
       width: "180",
       align: "right",
@@ -123,7 +153,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwritPassRate",
       label: "核保通过率",
       width: "180",
       align: "right",
@@ -131,7 +161,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwriteRate",
       label: "承保率",
       width: "180",
       align: "right",
@@ -139,7 +169,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingOrderNum",
       label: "补录订单",
       width: "180",
       align: "right",
@@ -147,7 +177,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingPendingApprovalOrderNum",
       label: "补录待审核",
       width: "180",
       align: "right",
@@ -155,7 +185,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingApprovalOrderNum",
       label: "补录审核通过",
       width: "180",
       align: "right",
@@ -163,7 +193,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "manegerName",
       label: "管理人",
       width: "180",
     },
@@ -261,7 +291,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.companyDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -287,7 +317,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.companyDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 57 - 21
src/views/consoleManage/taskDataManage/salesmanData/index.vue

@@ -13,7 +13,7 @@
     <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
       :columnwidth="120" :pageInfo="pageInfo" @getList="getList">
       <template v-slot:operation="scope">
-        <el-button type="primary" link @click='agreementEdit(scope.operationData.id)'>明细</el-button>
+        <el-button type="primary" link @click='agreementEdit(scope.operationData)'>明细</el-button>
       </template>
 
       <template v-slot:search="scope">
@@ -22,8 +22,38 @@
       </template>
 
       <template #customSlot="{  bodyCell: { scope, column } }">
-        <template v-if="column.prop == 'sumOrderNum'">
-          {{ scope.row.sumOrderNum }} 笔
+        <template v-if="column.prop == 'quoteOrderNum'">
+          {{ scope.row.quoteOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'proxyCustomerOrderNum'">
+          {{ scope.row.proxyCustomerOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'pcOrderNum'">
+          {{ scope.row.pcOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'appOrderNum'">
+          {{ scope.row.appOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'payPendingOrderNum'">
+          {{ scope.row.payPendingOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'underwritRejectNum'">
+          {{ scope.row.underwritRejectNum }} 笔
+        </template>
+        <template v-if="column.prop == 'underwritPassRate'">
+          {{ scope.row.underwritPassRate }} %
+        </template>
+        <template v-if="column.prop == 'underwriteRate'">
+          {{ scope.row.underwriteRate }} %
+        </template>
+        <template v-if="column.prop == 'additionalRecordingOrderNum'">
+          {{ scope.row.additionalRecordingOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'additionalRecordingPendingApprovalOrderNum'">
+          {{ scope.row.additionalRecordingPendingApprovalOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'additionalRecordingApprovalOrderNum'">
+          {{ scope.row.additionalRecordingApprovalOrderNum }} 笔
         </template>
       </template>
     </ComplexTable>
@@ -63,22 +93,22 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "姓名",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "sumOrderNum",
+      prop: "deptName",
       label: "所属机构",
       width: "300",
     },
     {
-      prop: "sumPremium",
+      prop: "quoteOrderNum",
       label: "报价订单",
       width: "180",
       align: "right",
@@ -86,7 +116,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "djPremium",
+      prop: "proxyCustomerOrderNum",
       label: "代客录单",
       width: "180",
       align: "right",
@@ -96,7 +126,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "dsyPremium",
+      prop: "pcOrderNum",
       label: "PC报价中",
       width: "180",
       align: "right",
@@ -104,7 +134,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "dszPremium",
+      prop: "appOrderNum",
       label: "APP报价中",
       width: "180",
       align: "right",
@@ -112,7 +142,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jszPremium",
+      prop: "payPendingOrderNum",
       label: "待缴费",
       width: "180",
       align: "right",
@@ -120,7 +150,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwritRejectNum",
       label: "核保失败",
       width: "180",
       align: "right",
@@ -128,7 +158,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwritPassRate",
       label: "核保通过率",
       width: "180",
       align: "right",
@@ -136,7 +166,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwriteRate",
       label: "承保率",
       width: "180",
       align: "right",
@@ -144,7 +174,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingOrderNum",
       label: "补录订单",
       width: "180",
       align: "right",
@@ -152,7 +182,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingPendingApprovalOrderNum",
       label: "补录待审核",
       width: "180",
       align: "right",
@@ -160,7 +190,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingApprovalOrderNum",
       label: "补录审核通过",
       width: "180",
       align: "right",
@@ -169,7 +199,7 @@ const listOption = reactive({
     },
 
     {
-      prop: "jsyPremium",
+      prop: "manegerName",
       label: "管理人",
       width: "180",
     },
@@ -267,7 +297,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.salesmanDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -293,7 +323,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.salesmanDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -310,7 +340,13 @@ const downloadFile = async () => {
   userStore.count++;
 };
 
-const agreementEdit = (id) => {
+const agreementEdit = (item) => {
+  queryFormRes.value = queryFormRef.value?.querySelect();
+  let query = {
+    ...queryFormRes.value,
+    companyId: item.companyId,
+    partnerCompanyIds: item.partnerCompanyId,
+  };
   router.push({
     name: "salesmanDataDetail",
     query: {

+ 20 - 20
src/views/consoleManage/taskDataManage/salesmanData/salesmanDataDetail.vue

@@ -53,59 +53,59 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "姓名",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "orderNo",
+      prop: "deptName",
       label: "所属机构",
       width: "300",
     },
     {
-      prop: "licenseNo",
-      label: "订单号",
-      width: "120",
-    },
-    {
-      prop: "orderTypeName",
+      prop: "orderNo",
       label: "订单号",
       width: "180",
     },
     {
-      prop: "riskName",
+      prop: "licenseNo",
       label: "车牌号",
       width: "180",
     },
     {
-      prop: "sumPremium",
+      prop: "orderTypeName",
       label: "订单类型",
       width: "180",
     },
     {
-      prop: "createTime",
+      prop: "riskName",
       label: "险种",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "orderSourceName",
+      label: "报价来源",
+      width: "180",
+    },
+    {
+      prop: "sumPremium",
       label: "保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "recordTime",
+      prop: "orderStatusName",
       label: "状态",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "createTime",
       label: "录单时间",
       width: "180",
     },
@@ -115,12 +115,12 @@ const listOption = reactive({
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "companyName",
       label: "保险公司",
       width: "180",
     },
-     {
-      prop: "recordTime",
+    {
+      prop: "partnerCompanyName",
       label: "合作保险公司",
       width: "300",
     },
@@ -218,7 +218,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.salesmanDataDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -244,7 +244,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.salesmanDataDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 49 - 19
src/views/consoleManage/taskDataManage/telemarketingData/index.vue

@@ -22,8 +22,38 @@
       </template>
 
       <template #customSlot="{  bodyCell: { scope, column } }">
-        <template v-if="column.prop == 'sumOrderNum'">
-          {{ scope.row.sumOrderNum }} 笔
+        <template v-if="column.prop == 'quoteOrderNum'">
+          {{ scope.row.quoteOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'proxyCustomerOrderNum'">
+          {{ scope.row.proxyCustomerOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'pcOrderNum'">
+          {{ scope.row.pcOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'appOrderNum'">
+          {{ scope.row.appOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'payPendingOrderNum'">
+          {{ scope.row.payPendingOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'underwritRejectNum'">
+          {{ scope.row.underwritRejectNum }} 笔
+        </template>
+        <template v-if="column.prop == 'underwritPassRate'">
+          {{ scope.row.underwritPassRate }} %
+        </template>
+        <template v-if="column.prop == 'underwriteRate'">
+          {{ scope.row.underwriteRate }} %
+        </template>
+        <template v-if="column.prop == 'additionalRecordingOrderNum'">
+          {{ scope.row.additionalRecordingOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'additionalRecordingPendingApprovalOrderNum'">
+          {{ scope.row.additionalRecordingPendingApprovalOrderNum }} 笔
+        </template>
+        <template v-if="column.prop == 'additionalRecordingApprovalOrderNum'">
+          {{ scope.row.additionalRecordingApprovalOrderNum }} 笔
         </template>
       </template>
     </ComplexTable>
@@ -63,22 +93,22 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "姓名",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "sumOrderNum",
+      prop: "deptName",
       label: "所属机构",
       width: "300",
     },
     {
-      prop: "sumPremium",
+      prop: "quoteOrderNum",
       label: "报价订单",
       width: "180",
       align: "right",
@@ -86,7 +116,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "djPremium",
+      prop: "proxyCustomerOrderNum",
       label: "代客录单",
       width: "180",
       align: "right",
@@ -96,7 +126,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "dsyPremium",
+      prop: "pcOrderNum",
       label: "PC报价中",
       width: "180",
       align: "right",
@@ -104,7 +134,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "dszPremium",
+      prop: "appOrderNum",
       label: "APP报价中",
       width: "180",
       align: "right",
@@ -112,7 +142,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jszPremium",
+      prop: "payPendingOrderNum",
       label: "待缴费",
       width: "180",
       align: "right",
@@ -120,7 +150,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwritRejectNum",
       label: "核保失败",
       width: "180",
       align: "right",
@@ -128,7 +158,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwritPassRate",
       label: "核保通过率",
       width: "180",
       align: "right",
@@ -136,7 +166,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "underwriteRate",
       label: "承保率",
       width: "180",
       align: "right",
@@ -144,7 +174,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingOrderNum",
       label: "补录订单",
       width: "180",
       align: "right",
@@ -152,7 +182,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingPendingApprovalOrderNum",
       label: "补录待审核",
       width: "180",
       align: "right",
@@ -160,7 +190,7 @@ const listOption = reactive({
       component: "customSlot",
     },
     {
-      prop: "jsyPremium",
+      prop: "additionalRecordingApprovalOrderNum",
       label: "补录审核通过",
       width: "180",
       align: "right",
@@ -169,7 +199,7 @@ const listOption = reactive({
     },
 
     {
-      prop: "jsyPremium",
+      prop: "manegerName",
       label: "管理人",
       width: "180",
     },
@@ -267,7 +297,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManagePageList({
+  const { data } = await api.manageApi.telemarketingDataPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -293,7 +323,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageToTask({
+  const { data, msg } = await api.manageApi.telemarketingDataToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,

+ 20 - 20
src/views/consoleManage/taskDataManage/telemarketingData/telemarketingDataDetail.vue

@@ -53,59 +53,59 @@ const listOption = reactive({
   // 表格列
   columns: [
     {
-      prop: "companyName",
+      prop: "salesmanName",
       label: "姓名",
       width: "100",
     },
     {
-      prop: "partnerCompanyName",
+      prop: "salesmanPhone",
       label: "手机号",
       width: "120",
     },
     {
-      prop: "orderNo",
+      prop: "deptName",
       label: "所属机构",
       width: "300",
     },
     {
-      prop: "licenseNo",
-      label: "订单号",
-      width: "120",
-    },
-    {
-      prop: "orderTypeName",
+      prop: "orderNo",
       label: "订单号",
       width: "180",
     },
     {
-      prop: "riskName",
+      prop: "licenseNo",
       label: "车牌号",
       width: "180",
     },
     {
-      prop: "sumPremium",
+      prop: "orderTypeName",
       label: "订单类型",
       width: "180",
     },
     {
-      prop: "createTime",
+      prop: "riskName",
       label: "险种",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "orderSourceName",
+      label: "报价来源",
+      width: "180",
+    },
+    {
+      prop: "sumPremium",
       label: "保费",
       width: "180",
       align: "right",
       sortable: true,
     },
     {
-      prop: "recordTime",
+      prop: "orderStatusName",
       label: "状态",
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "createTime",
       label: "录单时间",
       width: "180",
     },
@@ -115,12 +115,12 @@ const listOption = reactive({
       width: "180",
     },
     {
-      prop: "recordTime",
+      prop: "companyName",
       label: "保险公司",
       width: "180",
     },
-     {
-      prop: "recordTime",
+    {
+      prop: "partnerCompanyName",
       label: "合作保险公司",
       width: "300",
     },
@@ -218,7 +218,7 @@ const query = (item) => {
 const tableData = ref([]);
 const queryList = async () => {
   let query = { ...queryFormRes.value };
-  const { data } = await api.manageApi.companyDataManageDetailPageList({
+  const { data } = await api.manageApi.telemarketingDataDetailPageList({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,
@@ -244,7 +244,7 @@ function getList(item: PageInfo) {
 //导出
 const downloadFile = async () => {
   let query = { ...queryFormRes.value };
-  const { data, msg } = await api.manageApi.companyDataManageDetailToTask({
+  const { data, msg } = await api.manageApi.telemarketingDataDetailToTask({
     pageNo: pageInfo.value.pageNum,
     pageSize: pageInfo.value.pageSize,
     routerKey: routerKey.value,