Explorar o código

数据报表-报价数据-报价订单 保险公司接口对接

祁鹏飞 hai 1 mes
pai
achega
7e6f98fe90

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

@@ -47,11 +47,11 @@ const manageApi = (axiosInstance: ApiInstance) => ({
 
     //报价数据
     //报价订单
-    quotationOrderDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/quotationOrderDataPageList',params),//列表接口
-    quotationOrderDataToTask: (params: any) => axiosInstance.post('/console/quotationDataManage/quotationOrderDataToTask',params),//列表导出接口
+    quotationOrderDataPageList: (params: any) => axiosInstance.post('/console/quotationReport/quotation/page',params),//列表接口
+    quotationOrderDataToTask: (params: any) => axiosInstance.post('/console/quotationReport/quotation/export',params),//列表导出接口
     //保险公司
-    companyQuotationDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/companyQuotationDataPageList',params),//列表接口
-    companyQuotationDataToTask: (params: any) => axiosInstance.post('/console/quotationDataManage/companyQuotationDataToTask',params),//列表导出接口
+    companyQuotationDataPageList: (params: any) => axiosInstance.post('/console/quotationReport/company/page',params),//列表接口
+    companyQuotationDataToTask: (params: any) => axiosInstance.post('/console/quotationReport/company/export',params),//列表导出接口
     //业务员
     salesmanQuotationDataPageList: (params: any) => axiosInstance.post('/console/quotationDataManage/salesmanQuotationDataPageList',params),//列表接口
     salesmanQuotationDataToTask: (params: any) => axiosInstance.post('/console/quotationDataManage/salesmanQuotationDataToTask',params),//列表导出接口

+ 45 - 33
src/views/consoleManage/quotationDataManage/companyQuotationData/index.vue

@@ -1,45 +1,45 @@
 <template>
   <div class="log">
     <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>
-    <QueryForm :option="listOption" @query='query' @delSelect='delSelect' ref='queryFormRef'></QueryForm>
-    <div class='flex content-box'>
-      <!-- tree -->
-      <div class='content-l'>
-        <Tree ref='treeRef' @nodeId='nodeId'></Tree>
-      </div>
-
-      <div class='flex-1 content-r'>
-        <!-- 表格 -->
-        <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
-          :columnwidth="120" :pageInfo="pageInfo" @getList="getList" :showOperation='false'>
+      <QueryForm :option="listOption" @query='query' @delSelect='delSelect' ref='queryFormRef'></QueryForm>
+      <div class='flex content-box'>
+        <!-- tree -->
+        <div class='content-l'>
+          <Tree ref='treeRef' @nodeId='nodeId'></Tree>
+        </div>
 
-          <template v-slot:search="scope">
-            <Sort :scope="scope.slotData" :globalSortKey="globalSortKey" :globalSortOrder="globalSortOrder"
-              @update:sort="handleSortUpdate"></Sort>
-          </template>
+        <div class='flex-1 content-r'>
+          <!-- 表格 -->
+          <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
+            :columnwidth="120" :pageInfo="pageInfo" @getList="getList" :showOperation='false'>
 
-          <template #customSlot="{  bodyCell: { scope, column } }">
-            <template v-if="column.prop == 'quoteCountNumProportion'">
-              {{ scope.row.quoteCountNumProportion }} %
+            <template v-slot:search="scope">
+              <Sort :scope="scope.slotData" :globalSortKey="globalSortKey" :globalSortOrder="globalSortOrder"
+                @update:sort="handleSortUpdate"></Sort>
             </template>
-            <template v-if="column.prop == 'avgQuoteTime'">
-              {{ scope.row.avgQuoteTime }} s
+
+            <template #customSlot="{ bodyCell: { scope, column } }">
+              <template v-if="column.prop == 'quoteCountNumProportion'">
+                {{ scope.row.quoteCountNumProportion }} %
+              </template>
+              <template v-if="column.prop == 'avgQuoteTime'">
+                {{ scope.row.avgQuoteTime }} s
+              </template>
             </template>
-          </template>
-        </ComplexTable>
+          </ComplexTable>
+        </div>
       </div>
-    </div>
 
-    <FilterDialog :show='isShow' @close='isShow=false' @sure='filterSure' ref='filterDialogRef' @selectedKeys='selected'
-      routerKey='routerKey'>
-    </FilterDialog>
+      <FilterDialog :show='isShow' @close='isShow = false' @sure='filterSure' ref='filterDialogRef'
+        @selectedKeys='selected' routerKey='routerKey'>
+      </FilterDialog>
     </PageMain>
   </div>
 </template>
@@ -272,6 +272,9 @@ const queryList = async () => {
       ? globalSortKey.value + " " + globalSortOrder.value
       : "",
     ...query,
+    orgIds: query.orgIds.filter(v => v),
+    createTimeBegin: query.signTime[0] ?? '',
+    createTimeEnd: query.signTime[1] ?? '',
   });
   tableData.value = data.records;
   pageInfo.value.pageNum = data.current;
@@ -295,9 +298,12 @@ const downloadFile = async () => {
     routerKey: routerKey.value,
     userId: phone,
     orderType: globalSortKey.value
-      ? globalSortKey.value + " " + globalSortOrder.value
+      ? globalSortKey.value + " " + globalSortOrder.value 
       : "",
     ...query,
+    orgIds: query.orgIds.filter(v => v),
+    createTimeBegin: query.signTime[0] ?? '',
+    createTimeEnd: query.signTime[1] ?? '',
   });
   ElMessage({
     message: msg,
@@ -330,6 +336,7 @@ onMounted(() => {
   .query-btn {
     margin-left: 20px;
   }
+
   .btn-box {
     padding-bottom: 15px;
     margin-bottom: 24px;
@@ -340,10 +347,12 @@ onMounted(() => {
 
   .content-box {
     justify-content: space-between;
+
     .content-l {
       width: 298px;
       display: flex;
       margin: 20px 16px 20px 0;
+
       .item {
         width: 50%;
         height: 36px;
@@ -353,16 +362,19 @@ onMounted(() => {
         text-align: center;
         border-radius: 2px;
       }
+
       .active {
         background: #0083ff;
         color: #fff;
       }
     }
+
     .content-r {
       width: 0;
     }
   }
 }
+
 :deep(.caret-wrapper) {
   display: none !important;
 }

+ 57 - 45
src/views/consoleManage/quotationDataManage/quotationOrderData/index.vue

@@ -1,58 +1,58 @@
 <template>
   <div class="log">
     <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>
-    <QueryForm :option="listOption" @query='query' @delSelect='delSelect' ref='queryFormRef'></QueryForm>
-    <div class='flex content-box'>
-      <!-- tree -->
-      <div class='content-l'>
-        <Tree ref='treeRef' @nodeId='nodeId'></Tree>
-      </div>
-
-      <div class='flex-1 content-r'>
-        <!-- 表格 -->
-        <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
-          :columnwidth="120" :pageInfo="pageInfo" @getList="getList" :showOperation='false'>
+      <QueryForm :option="listOption" @query='query' @delSelect='delSelect' ref='queryFormRef'></QueryForm>
+      <div class='flex content-box'>
+        <!-- tree -->
+        <div class='content-l'>
+          <Tree ref='treeRef' @nodeId='nodeId'></Tree>
+        </div>
 
-          <template v-slot:search="scope">
-            <Sort :scope="scope.slotData" :globalSortKey="globalSortKey" :globalSortOrder="globalSortOrder"
-              @update:sort="handleSortUpdate"></Sort>
-          </template>
+        <div class='flex-1 content-r'>
+          <!-- 表格 -->
+          <ComplexTable :tableData="tableData" :showSelect='false' :columns="listOption.columns" :showIndex="false"
+            :columnwidth="120" :pageInfo="pageInfo" @getList="getList" :showOperation='false'>
 
-          <template #customSlot="{  bodyCell: { scope, column } }">
-            <template v-if="column.prop == 'quoteOrderNum'">
-              {{ scope.row.quoteOrderNum }} 笔
-            </template>
-            <template v-if="column.prop == 'quoteCountNum'">
-              {{ scope.row.quoteCountNum }} 次
-            </template>
-            <template v-if="column.prop == 'dsyOrderNum'">
-              {{ scope.row.dsyOrderNum }} 笔
+            <template v-slot:search="scope">
+              <Sort :scope="scope.slotData" :globalSortKey="globalSortKey" :globalSortOrder="globalSortOrder"
+                @update:sort="handleSortUpdate"></Sort>
             </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 #customSlot="{ bodyCell: { scope, column } }">
+              <template v-if="column.prop == 'quoteOrderNum'">
+                {{ scope.row.quoteOrderNum }} 笔
+              </template>
+              <template v-if="column.prop == 'quoteCountNum'">
+                {{ scope.row.quoteCountNum }} 次
+              </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>
             </template>
-          </template>
-        </ComplexTable>
+          </ComplexTable>
+        </div>
       </div>
-    </div>
 
-    <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>
 </template>
 
@@ -250,6 +250,9 @@ const queryList = async () => {
       ? globalSortKey.value + " " + globalSortOrder.value
       : "",
     ...query,
+    orgIds: query.orgIds.filter(v => v),
+    createTimeBegin: query.recordTime[0] ?? '',
+    createTimeEnd: query.recordTime[1] ?? '',
   });
   tableData.value = data.records;
   pageInfo.value.pageNum = data.current;
@@ -276,6 +279,9 @@ const downloadFile = async () => {
       ? globalSortKey.value + " " + globalSortOrder.value
       : "",
     ...query,
+    orgIds: query.orgIds.filter(v => v),
+    createTimeBegin: query.recordTime[0] ?? '',
+    createTimeEnd: query.recordTime[1] ?? '',
   });
   ElMessage({
     message: msg,
@@ -306,6 +312,7 @@ onMounted(() => {
   .query-btn {
     margin-left: 20px;
   }
+
   .btn-box {
     padding-bottom: 15px;
     margin-bottom: 24px;
@@ -316,10 +323,12 @@ onMounted(() => {
 
   .content-box {
     justify-content: space-between;
+
     .content-l {
       width: 298px;
       display: flex;
       margin: 20px 16px 20px 0;
+
       .item {
         width: 50%;
         height: 36px;
@@ -329,16 +338,19 @@ onMounted(() => {
         text-align: center;
         border-radius: 2px;
       }
+
       .active {
         background: #0083ff;
         color: #fff;
       }
     }
+
     .content-r {
       width: 0;
     }
   }
 }
+
 :deep(.caret-wrapper) {
   display: none !important;
 }