Просмотр исходного кода

Merge branch 'dev' of http://39.101.143.165:8090/dong_k/tenant-Platform into dev

@dongkboy 2 месяцев назад
Родитель
Сommit
6e2b4ee27b

+ 9 - 9
src/api/modules/consoleManage.ts

@@ -11,13 +11,13 @@ const manageApi = (axiosInstance: ApiInstance) => ({
     getDeptListByUserId: (params: any) => axiosInstance.get('/console/searchConfiguration/getDeptListByUserId',{params}),//通过用户id查询机构树
     getDeptListByUserId: (params: any) => axiosInstance.get('/console/searchConfiguration/getDeptListByUserId',{params}),//通过用户id查询机构树
     getUserManageListByUserId: (params: any) => axiosInstance.get('/console/searchConfiguration/getUserManageListByUserId',{params}),//通过用户id查询管理人树
     getUserManageListByUserId: (params: any) => axiosInstance.get('/console/searchConfiguration/getUserManageListByUserId',{params}),//通过用户id查询管理人树
     downTaskFile: (params: any) => axiosInstance.get('/console/task/downTaskFile',{params}),//下载导出的excel文件
     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),//明细接口
-    companyDataManageDetailToTask: (params: any) => axiosInstance.post('/console/businessDataManage/companyDataManageDetailToTask',params),//明细出接口
+    companyDataManagePageList: (params: any) => axiosInstance.post('/console/businessReport/company/page',params),//列表接口
+    companyDataManageToTask: (params: any) => axiosInstance.post('/console/businessReport/company/export',params),//列表导出接口
+    companyDataManageDetailPageList: (params: any) => axiosInstance.post('/console/businessReport/company/detail/page',params),//明细接口
+    companyDataManageDetailToTask: (params: any) => axiosInstance.post('/console/businessReport/company/detail/export',params),//明细出接口
     //险种报表
     //险种报表
     riskDataManagePageList: (params: any) => axiosInstance.post('/console/businessDataManage/riskDataManagePageList',params),//列表接口
     riskDataManagePageList: (params: any) => axiosInstance.post('/console/businessDataManage/riskDataManagePageList',params),//列表接口
     riskDataManageToTask: (params: any) => axiosInstance.post('/console/businessDataManage/riskDataManageToTask',params),//列表导出接口
     riskDataManageToTask: (params: any) => axiosInstance.post('/console/businessDataManage/riskDataManageToTask',params),//列表导出接口
@@ -43,8 +43,8 @@ const manageApi = (axiosInstance: ApiInstance) => ({
     telemarketingDataManageToTask: (params: any) => axiosInstance.post('/console/businessDataManage/telemarketingDataManageToTask',params),//列表导出接口
     telemarketingDataManageToTask: (params: any) => axiosInstance.post('/console/businessDataManage/telemarketingDataManageToTask',params),//列表导出接口
     telemarketingDataManageDetailPageList: (params: any) => axiosInstance.post('/console/businessDataManage/telemarketingDataManageDetailPageList',params),//明细接口
     telemarketingDataManageDetailPageList: (params: any) => axiosInstance.post('/console/businessDataManage/telemarketingDataManageDetailPageList',params),//明细接口
     telemarketingDataManageDetailToTask: (params: any) => axiosInstance.post('/console/businessDataManage/telemarketingDataManageDetailToTask',params),//明细出接口
     telemarketingDataManageDetailToTask: (params: any) => axiosInstance.post('/console/businessDataManage/telemarketingDataManageDetailToTask',params),//明细出接口
-     
-    
+
+
     //报价数据
     //报价数据
     //报价订单
     //报价订单
     quotationOrderDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/quotationOrderDataPageList',params),//列表接口
     quotationOrderDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/quotationOrderDataPageList',params),//列表接口
@@ -62,7 +62,7 @@ const manageApi = (axiosInstance: ApiInstance) => ({
      telemarketingQuotationDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/telemarketingQuotationDataPageList',params),//列表接口
      telemarketingQuotationDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/telemarketingQuotationDataPageList',params),//列表接口
     telemarketingQuotationDataToTask: (params: any) => axiosInstance.post('/console/quotationDataManage/telemarketingQuotationDataToTask',params),//列表导出接口
     telemarketingQuotationDataToTask: (params: any) => axiosInstance.post('/console/quotationDataManage/telemarketingQuotationDataToTask',params),//列表导出接口
 
 
-        
+
     //人员数据
     //人员数据
     //业务员报表
     //业务员报表
     salesmanReportPageList: (params: any) => axiosInstance.post('/console/personDataManage/salesmanReportPageList',params),//列表接口
     salesmanReportPageList: (params: any) => axiosInstance.post('/console/personDataManage/salesmanReportPageList',params),//列表接口
@@ -87,7 +87,7 @@ const manageApi = (axiosInstance: ApiInstance) => ({
     telemarketingPersonDataDetailPageList: (params: any) => axiosInstance.post('/console/personDataManage/telemarketingPersonDataDetailPageList',params),//明细接口
     telemarketingPersonDataDetailPageList: (params: any) => axiosInstance.post('/console/personDataManage/telemarketingPersonDataDetailPageList',params),//明细接口
     telemarketingPersonDataDetailToTask: (params: any) => axiosInstance.post('/console/personDataManage/telemarketingPersonDataDetailToTask',params),//明细出接口
     telemarketingPersonDataDetailToTask: (params: any) => axiosInstance.post('/console/personDataManage/telemarketingPersonDataDetailToTask',params),//明细出接口
 
 
-     
+
     //任务数据
     //任务数据
     //业务员
     //业务员
     salesmanDataPageList: (params: any) => axiosInstance.post('/console/taskDataManage/salesmanDataPageList',params),//列表接口
     salesmanDataPageList: (params: any) => axiosInstance.post('/console/taskDataManage/salesmanDataPageList',params),//列表接口

+ 4 - 4
src/layouts/components/DrivingType/index.vue

@@ -150,10 +150,10 @@ const initEditData = (data, index, id, arr = []) => {
       })
       })
     }
     }
     JYXList.value = list
     JYXList.value = list
-    if (list && Array.isArray(list)) {
-      selectedList.value = JSON.parse(JSON.stringify(list))
-      selectedKeys.value = selectedList.value.map(a => a.drivingIntentionId)
-    }
+    // if (list && Array.isArray(list)) {
+    //   selectedList.value = JSON.parse(JSON.stringify(list))
+    //   selectedKeys.value = selectedList.value.map(a => a.drivingIntentionId)
+    // }
   }
   }
   if(arr.length){
   if(arr.length){
     setList(arr)
     setList(arr)

+ 19 - 11
src/layouts/components/Topbar/Toolbar/downLoad/downLoadList.vue

@@ -41,7 +41,8 @@ const params = ref({
   uploadUserId: JSON.parse(localStorage.getItem("userInfo")).username,
   uploadUserId: JSON.parse(localStorage.getItem("userInfo")).username,
 });
 });
 const taskList = ref([]);
 const taskList = ref([]);
-const initDefaultList = async () => {
+const initDefaultList = async (refresh: boolean = false) => {
+  if (refresh) { params.value.pages = 1; taskList.value = [] }
   const { data } = await api.manageApi.getPageTaskList(params.value);
   const { data } = await api.manageApi.getPageTaskList(params.value);
   const dataList = data.records;
   const dataList = data.records;
   dataList.forEach((item) => {
   dataList.forEach((item) => {
@@ -67,7 +68,7 @@ const handleClose = () => {
 
 
 const downLoad = (item) => {
 const downLoad = (item) => {
   if (item.taskStatus == 2) {
   if (item.taskStatus == 2) {
-    Fileonload("/console/task/downTaskFile", item.taskName);
+    Fileonload(item.filePath, item.taskName);
   }
   }
 };
 };
 
 
@@ -92,21 +93,21 @@ defineExpose({
         </div>
         </div>
 
 
         <div v-infinite-scroll="load" :infinite-scroll-immediate='false'>
         <div v-infinite-scroll="load" :infinite-scroll-immediate='false'>
-          <div class='list' v-for="(item,index) in taskList" :key="index">
+          <div class='list' v-for="(item, index) in taskList" :key="index">
             <div class='flex-1'>
             <div class='flex-1'>
-              <div>{{item.taskName}}</div>
-              <div class='time'>导出时间:{{item.uploadDate}}</div>
+              <div>{{ item.taskName }}</div>
+              <div class='time'>导出时间:{{ item.uploadDate }}</div>
             </div>
             </div>
             <div class='flex items' @click='downLoad(item)'>
             <div class='flex items' @click='downLoad(item)'>
-              <el-icon v-if='item.taskStatus==2'>
+              <el-icon v-if='item.taskStatus == 2'>
                 <download color='#0083FF' />
                 <download color='#0083FF' />
               </el-icon>
               </el-icon>
-              <el-icon v-if='item.taskStatus==0'>
+              <el-icon v-if='item.taskStatus == 0'>
                 <download color='#FF4545' />
                 <download color='#FF4545' />
               </el-icon>
               </el-icon>
-              <ElImage v-if='item.taskStatus==1' :src="doIcon" :style="`width:16px;height:16px;`" fit="fill" />
-              <div class='text' :style='{color:startsList[item.taskStatus].color}'>
-                {{startsList[item.taskStatus].text}}</div>
+              <ElImage v-if='item.taskStatus == 1' :src="doIcon" :style="`width:16px;height:16px;`" fit="fill" />
+              <div class='text' :style='{ color: startsList[item.taskStatus].color }'>
+                {{ startsList[item.taskStatus].text }}</div>
             </div>
             </div>
           </div>
           </div>
         </div>
         </div>
@@ -123,6 +124,7 @@ defineExpose({
     font-size: 20px;
     font-size: 20px;
     padding-bottom: 18px;
     padding-bottom: 18px;
   }
   }
+
   :deep(.el-drawer__header) {
   :deep(.el-drawer__header) {
     border-bottom: 1px solid #e5e5e5;
     border-bottom: 1px solid #e5e5e5;
     margin-bottom: 0;
     margin-bottom: 0;
@@ -131,6 +133,7 @@ defineExpose({
   .content {
   .content {
     color: #333333;
     color: #333333;
     font-size: 14px;
     font-size: 14px;
+
     .content-tip {
     .content-tip {
       background: #fffaef;
       background: #fffaef;
       border-radius: 6px 6px 6px 6px;
       border-radius: 6px 6px 6px 6px;
@@ -140,12 +143,14 @@ defineExpose({
       align-items: center;
       align-items: center;
       margin-bottom: 24px;
       margin-bottom: 24px;
     }
     }
+
     .tit {
     .tit {
       color: #333333;
       color: #333333;
       font-size: 16px;
       font-size: 16px;
       margin-left: 16px;
       margin-left: 16px;
     }
     }
   }
   }
+
   .list {
   .list {
     padding: 16px 24px;
     padding: 16px 24px;
     box-sizing: border-box;
     box-sizing: border-box;
@@ -155,18 +160,21 @@ defineExpose({
     display: flex;
     display: flex;
     align-items: center;
     align-items: center;
     justify-content: space-between;
     justify-content: space-between;
+
     .items {
     .items {
       align-items: center;
       align-items: center;
       margin-left: 10px;
       margin-left: 10px;
       cursor: pointer;
       cursor: pointer;
     }
     }
+
     .text {
     .text {
       margin-left: 5px;
       margin-left: 5px;
     }
     }
+
     .time {
     .time {
       color: #666666;
       color: #666666;
       margin-top: 8px;
       margin-top: 8px;
     }
     }
   }
   }
 }
 }
-</style>
+</style>

+ 2 - 2
src/layouts/components/Topbar/Toolbar/downLoad/index.vue

@@ -30,7 +30,7 @@ const download = async () => {
   const { data } = await api.manageApi.updateReadStatus({
   const { data } = await api.manageApi.updateReadStatus({
     userId: phone,
     userId: phone,
   });
   });
-  downLoadRef.value?.initDefaultList();
+  downLoadRef.value?.initDefaultList(true);
   initDefaultCount();
   initDefaultCount();
   show.value = true;
   show.value = true;
 };
 };
@@ -70,4 +70,4 @@ watch(
     background: #f5222d;
     background: #f5222d;
   }
   }
 }
 }
-</style>
+</style>

+ 30 - 26
src/views/consoleManage/businessDataManage/companyDataManage/index.vue

@@ -1,38 +1,38 @@
 <template>
 <template>
   <div class="log">
   <div class="log">
     <PageMain class="vh100">
     <PageMain class="vh100">
-    <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 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>
       </div>
-    </div>
-    <QueryForm :option="listOption" @query='query' @delSelect='delSelect' ref='queryFormRef'></QueryForm>
+      <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">
-      <template v-slot:operation="scope">
-        <el-button type="primary" link @click='agreementEdit(scope.operationData)'>明细</el-button>
-      </template>
+      <!-- 表格 -->
+      <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)'>明细</el-button>
+        </template>
 
 
-      <template v-slot:search="scope">
-        <Sort :scope="scope.slotData" :globalSortKey="globalSortKey" :globalSortOrder="globalSortOrder"
-          @update:sort="handleSortUpdate"></Sort>
-      </template>
+        <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 #customSlot="{ bodyCell: { scope, column } }">
+          <template v-if="column.prop == 'sumOrderNum'">
+            {{ scope.row.sumOrderNum }} 笔
+          </template>
         </template>
         </template>
-      </template>
-    </ComplexTable>
+      </ComplexTable>
 
 
-    <FilterDialog :show='isShow' @close='isShow=false' @sure='filterSure' ref='filterDialogRef' @selectedKeys='selected'
-      routerKey='routerKey'>
-    </FilterDialog>
-  </PageMain>
+      <FilterDialog :show='isShow' @close='isShow = false' @sure='filterSure' ref='filterDialogRef'
+        @selectedKeys='selected' routerKey='routerKey'>
+      </FilterDialog>
+    </PageMain>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -227,6 +227,8 @@ const queryList = async () => {
       ? globalSortKey.value + " " + globalSortOrder.value
       ? globalSortKey.value + " " + globalSortOrder.value
       : "",
       : "",
     ...query,
     ...query,
+    createTimeBegin: query.signTime[0] ?? '',
+    createTimeEnd: query.signTime[1] ?? '',
   });
   });
   tableData.value = data.records;
   tableData.value = data.records;
   pageInfo.value.pageNum = data.current;
   pageInfo.value.pageNum = data.current;
@@ -284,6 +286,7 @@ onMounted(() => {
   .query-btn {
   .query-btn {
     margin-left: 20px;
     margin-left: 20px;
   }
   }
+
   .btn-box {
   .btn-box {
     padding-bottom: 15px;
     padding-bottom: 15px;
     margin-bottom: 24px;
     margin-bottom: 24px;
@@ -292,6 +295,7 @@ onMounted(() => {
     justify-content: flex-end;
     justify-content: flex-end;
   }
   }
 }
 }
+
 :deep(.caret-wrapper) {
 :deep(.caret-wrapper) {
   display: none !important;
   display: none !important;
 }
 }

+ 16 - 2
src/views/consoleManage/components/queryForm.vue

@@ -25,7 +25,9 @@
 
 
           <el-select class='min-w ' v-if="option.label == '保险公司'" v-model="queryForm.data[option.key]" placeholder=""
           <el-select class='min-w ' v-if="option.label == '保险公司'" v-model="queryForm.data[option.key]" placeholder=""
             @change='singleChange($event, option, false)'>
             @change='singleChange($event, option, false)'>
-            <el-option v-for="item in option.listOption" :key="item.value" :label="item.label" :value="item.value">
+            <el-option v-for="item in companyList" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+            <el-option v-for="item in option.listOption" :key="item.value" :label="item.label" :value="item.value==='0'?'':item.value">
             </el-option>
             </el-option>
           </el-select>
           </el-select>
           <el-cascader   v-if="option.label == '合作保险公司'" v-model="queryForm.data[option.key]" :options="option.listOption"
           <el-cascader   v-if="option.label == '合作保险公司'" v-model="queryForm.data[option.key]" :options="option.listOption"
@@ -304,7 +306,7 @@ const singleChange = async (val, option, isDefault) => {
       if (e.key == "partnerCompanyIds") {
       if (e.key == "partnerCompanyIds") {
         e.listOption = data;
         e.listOption = data;
         queryForm.data.partnerCompanyIds =
         queryForm.data.partnerCompanyIds =
-          option.defaultValue && isDefault ? option.defaultValue : "0";
+          option.defaultValue && isDefault ? option.defaultValue : "";
       }
       }
     });
     });
   }
   }
@@ -368,6 +370,18 @@ const del = (option) => {
   emit("delSelect", id);
   emit("delSelect", id);
 };
 };
 
 
+const companyList=ref([])
+// 保险公司
+const initCompany = () => {
+    api.agreementApi.findTree({ name: "", systemCode: localStorage.getItem('login_system') }).then((res: any) => {
+        if (res.code == '200') {
+            companyList.value = res.data;
+        }
+    });
+}
+
+initCompany()
+
 // 暴露给父组件的方法
 // 暴露给父组件的方法
 defineExpose({
 defineExpose({
   initDefaultSaveForm,
   initDefaultSaveForm,

+ 2 - 2
src/views/insurancePolicy/index.vue

@@ -1210,10 +1210,10 @@
                       `¥${scope.row.quoteResult?.costs?.vvTax}` }}</span>
                       `¥${scope.row.quoteResult?.costs?.vvTax}` }}</span>
                   </div>
                   </div>
                   <div class="resultItem">
                   <div class="resultItem">
-                    <span v-if="scope.row.quoteResult?.costs?.biPremium && scope.row.quoteCode == 200"
+                    <span v-if="Number(scope.row.quoteResult?.costs?.biPremium) && scope.row.quoteCode == 200"
                       style="text-align: left; margin-right: 10px">商业险:{{ `¥${scope.row.quoteResult.costs?.biPremium}`
                       style="text-align: left; margin-right: 10px">商业险:{{ `¥${scope.row.quoteResult.costs?.biPremium}`
                       }}</span>
                       }}</span>
-                    <span v-if="scope.row.quoteResult?.costs?.niPremium"
+                    <span v-if="Number(scope.row.quoteResult?.costs?.niPremium)"
                       style="text-align: left; margin-right: 10px">驾意险:{{ `¥${scope.row.quoteResult?.costs?.niPremium}`
                       style="text-align: left; margin-right: 10px">驾意险:{{ `¥${scope.row.quoteResult?.costs?.niPremium}`
                       }}</span>
                       }}</span>
                   </div>
                   </div>