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

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

@dongkboy 3 недель назад
Родитель
Сommit
49f57a06c3

+ 2 - 0
src/api/modules/agreement.ts

@@ -33,6 +33,8 @@ const agreementApi = (axiosInstance: ApiInstance) => ({
   findTree: (data: any) => axiosInstance.post('esmInsCompany/findTree', data),
   //复制协议
   agreementCopy: (data: any) => axiosInstance.post('/agreement/agreementCopy', data),
+  //复制协议从内部到外部协议
+  agreementCopyOutToIn: (data: any) => axiosInstance.post('/agreement/agreementCopyOutToIn', data),
   /**
     * @param 承保规则
     */

+ 1 - 0
src/api/modules/insurancePolicy.ts

@@ -15,6 +15,7 @@ const insurancePolicyApi = (axiosInstance: ApiInstance) => ({
   underwriting: (data: any) => axiosInstance.post('/unify/order/underwriting', data), // 核保
   imageSave: (data: any) => axiosInstance.post('/unify/order/imageSave', data), // 本地影像存储
   queryList: (data: any) => axiosInstance.post('supplementOrder/queryList', data), // 订单
+  queryMainOrderList: (data: any) => axiosInstance.post('supplementOrder/queryMainOrderList', data), // 订单
   deleteOrder: (data: any) => axiosInstance.get(`supplementOrder/deleteById?id=${data.id}`), // 删除订单
   getOrderStatus: (data: any) => axiosInstance.post('/unify/order/getOrderStatus', data), // 状态更新
   mockUnderwited: (data: any) => axiosInstance.post('/unify/order/mockUnderwited', data), // 模拟付款

+ 102 - 90
src/components/complexTable/index.vue

@@ -4,101 +4,111 @@
       <div class="table-title-btn" v-if="$slots['table-title-btn']">
         <slot name="table-title-btn"></slot>
       </div>
-      <el-table ref="multipleTableRef" :row-key="rowKey"
-        :header-cell-style="{ 'background-color': '#F7F7F9', 'border-bottom': '1px solid #EEF1F6', 'font-size': '15px', 'color': '#333', 'padding': '10px 0' }"
-        :data="props.tableData" :height="tableHeight" :max-height="maxHeight" table-layout="fixed" style="width: 100%;"
-        @selection-change="selectionChange" @select-all="selectAllChange" @cell-mouse-enter="handleMouseEnter"
-        @cell-mouse-leave="handleMouseLeave" :highlight-current-row="highlightCurrentRow"
-        @current-change="currentChange" v-loading="loading" :show-summary='props.showSummary' border>
-        <!-- 空内容自定义 -->
-        <template #empty>
-          <div class="flex f-c a-c ">
-            <img src="../../assets/images/empty.png" alt="">
-            <span style="font-size: 14px;color: #909399;">暂无数据</span>
-          </div>
-        </template>
-        <el-table-column type="selection" v-if="showSelect" :selectable="selectable" width="55" fixed="left" />
-        <el-table-column type="expand" v-if="secondaryTable">
-          <template #default="props">
-            <div>
-              <el-table :data="props.row.children">
-                <el-table-column v-for="column in secondaryColumns" :key="column.prop" :prop="column.prop"
-                  :label="column.label" :sortable="column.sortable ? 'custom' : false" :width="column.width">
-                  <template #header>
-                    <slot name="search" :slotData="column"></slot>
-                  </template>
-                  <template #default="scope">
-                    <RouterLink v-if="column.component === 'RouterLink'" :to="getRouterLinkTo(scope.row, column)"
-                      class="custom-link">
-                      {{ scope.row[column.prop] }}
-                    </RouterLink>
-                    <el-tag v-else-if="column.component === 'Tag'" :type="getTagTypeAndText(scope.row, column).type">
-                      {{ getTagTypeAndText(scope.row, column).text }}
-                    </el-tag>
-                    <ImagePreview v-else-if="column.component === 'Image'" :src="getImgTo(scope.row, column)"
-                      width="50px" height="50px"></ImagePreview>
-                    <template v-else>
-                      {{ getDisplayText(scope.row, column) }}
-                    </template>
-                  </template>
-                </el-table-column>
-                <el-table-column label="操作" fixed="right" :width="props.columnwidth">
-                  <template #default="scope">
-                    <slot name="secondary" :secondaryData="scope.row"></slot>
-                  </template>
-                </el-table-column>
-              </el-table>
+      <!-- <OverlayScrollbarsComponent defer :options="{
+        scrollbars: {
+          autoHide: 'leave',      // 鼠标离开时自动隐藏
+          clickScroll: true,      // 允许点击轨道滚动
+          theme: 'my-theme',      // 自定义主题
+        }
+      }"> -->
+        <el-table ref="multipleTableRef" :row-key="rowKey"
+          :header-cell-style="{ 'background-color': '#F7F7F9', 'border-bottom': '1px solid #EEF1F6', 'font-size': '15px', 'color': '#333', 'padding': '10px 0' }"
+          :data="props.tableData" :height="tableHeight" :max-height="maxHeight" table-layout="fixed"
+          style="width: 100%;" @selection-change="selectionChange" @select-all="selectAllChange"
+          @cell-mouse-enter="handleMouseEnter" @cell-mouse-leave="handleMouseLeave"
+          :highlight-current-row="highlightCurrentRow" @current-change="currentChange" v-loading="loading"
+          :show-summary='props.showSummary' border>
+          <!-- 空内容自定义 -->
+          <template #empty>
+            <div class="flex f-c a-c ">
+              <img src="../../assets/images/empty.png" alt="">
+              <span style="font-size: 14px;color: #909399;">暂无数据</span>
             </div>
-
-          </template>
-        </el-table-column>
-        <el-table-column v-if="showIndex" type="index" label="序号" width="55" />
-        <el-table-column v-for="column in columns" :key="column.prop" :prop="column.prop" :label="column.label"
-          :sortable="column.sortable ? 'custom' : false" :width="column.width" :filters="column.filters"
-          :filter-method="column.filters ? (value, row) => row[column.prop] === value : undefined"
-          :filtered-value="column.filteredValue ? column.filteredValue : undefined" :fixed="column.fixed || false"
-          :align="column.align ? column.align : 'center'" show-overflow-tooltip>
-          <template #header>
-            <slot name="search" :slotData="column"></slot>
           </template>
-          <template #default="scope" v-if="column.component === 'customSlot'">
-            <slot name="customSlot" :data="scope.row" :bodyCell="{ scope, column }"></slot>
-            <slot :name="column.prop" :data="scope.row" :bodyCell="{ scope, column }"></slot>
-          </template>
-          <template #default="scope" v-else>
-            <RouterLink v-if="column.component === 'RouterLink'" :to="getRouterLinkTo(scope.row, column)"
-              class="custom-link">
-              {{ scope.row[column.prop] }}
-            </RouterLink>
-            <div v-else-if="column.component === 'html'">
-              <span v-html="htmlEvent(scope.row, column).html"></span>
-            </div>
-            <el-tag v-else-if="column.component === 'Tag'" :type="getTagTypeAndText(scope.row, column).type">
-              {{ getTagTypeAndText(scope.row, column).text }}
-            </el-tag>
-            <ImagePreview v-else-if="column.component === 'Image'" :src="getImgTo(scope.row, column)" width="50px"
-              height="50px"></ImagePreview>
-            <span v-else>
-              <div
-                v-if="typeof getDisplayText(scope.row, column) === 'string' && getDisplayText(scope.row, column).includes('\n')"
-                class="flex f-c ">
-                <span v-for="(line, index) in getDisplayText(scope.row, column).split('\n')" :key="index">{{ line
-                  }}</span>
+          <el-table-column type="selection" v-if="showSelect" :selectable="selectable" width="55" fixed="left" />
+          <el-table-column type="expand" v-if="secondaryTable">
+            <template #default="props">
+              <div>
+                <el-table :data="props.row.children">
+                  <el-table-column v-for="column in secondaryColumns" :key="column.prop" :prop="column.prop"
+                    :label="column.label" :sortable="column.sortable ? 'custom' : false" :width="column.width">
+                    <template #header>
+                      <slot name="search" :slotData="column"></slot>
+                    </template>
+                    <template #default="scope">
+                      <RouterLink v-if="column.component === 'RouterLink'" :to="getRouterLinkTo(scope.row, column)"
+                        class="custom-link">
+                        {{ scope.row[column.prop] }}
+                      </RouterLink>
+                      <el-tag v-else-if="column.component === 'Tag'" :type="getTagTypeAndText(scope.row, column).type">
+                        {{ getTagTypeAndText(scope.row, column).text }}
+                      </el-tag>
+                      <ImagePreview v-else-if="column.component === 'Image'" :src="getImgTo(scope.row, column)"
+                        width="50px" height="50px"></ImagePreview>
+                      <template v-else>
+                        {{ getDisplayText(scope.row, column) }}
+                      </template>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="操作" fixed="right" :width="props.columnwidth">
+                    <template #default="scope">
+                      <slot name="secondary" :secondaryData="scope.row"></slot>
+                    </template>
+                  </el-table-column>
+                </el-table>
               </div>
+
+            </template>
+          </el-table-column>
+          <el-table-column v-if="showIndex" type="index" label="序号" width="55" />
+          <el-table-column v-for="column in columns" :key="column.prop" :prop="column.prop" :label="column.label"
+            :sortable="column.sortable ? 'custom' : false" :width="column.width" :filters="column.filters"
+            :filter-method="column.filters ? (value, row) => row[column.prop] === value : undefined"
+            :filtered-value="column.filteredValue ? column.filteredValue : undefined" :fixed="column.fixed || false"
+            :align="column.align ? column.align : 'center'" show-overflow-tooltip>
+            <template #header>
+              <slot name="search" :slotData="column"></slot>
+            </template>
+            <template #default="scope" v-if="column.component === 'customSlot'">
+              <slot name="customSlot" :data="scope.row" :bodyCell="{ scope, column }"></slot>
+              <slot :name="column.prop" :data="scope.row" :bodyCell="{ scope, column }"></slot>
+            </template>
+            <template #default="scope" v-else>
+              <RouterLink v-if="column.component === 'RouterLink'" :to="getRouterLinkTo(scope.row, column)"
+                class="custom-link">
+                {{ scope.row[column.prop] }}
+              </RouterLink>
+              <div v-else-if="column.component === 'html'">
+                <span v-html="htmlEvent(scope.row, column).html"></span>
+              </div>
+              <el-tag v-else-if="column.component === 'Tag'" :type="getTagTypeAndText(scope.row, column).type">
+                {{ getTagTypeAndText(scope.row, column).text }}
+              </el-tag>
+              <ImagePreview v-else-if="column.component === 'Image'" :src="getImgTo(scope.row, column)" width="50px"
+                height="50px"></ImagePreview>
               <span v-else>
-                {{ getDisplayText(scope.row, column) }}
+                <div
+                  v-if="typeof getDisplayText(scope.row, column) === 'string' && getDisplayText(scope.row, column).includes('\n')"
+                  class="flex f-c ">
+                  <span v-for="(line, index) in getDisplayText(scope.row, column).split('\n')" :key="index">{{ line
+                  }}</span>
+                </div>
+                <span v-else>
+                  {{ getDisplayText(scope.row, column) }}
+                </span>
               </span>
-            </span>
-          </template>
-        </el-table-column>
-        <el-table-column label="操作" fixed="right" :width="props.columnwidth" v-if="props.showOperation" align="center">
-          <template #default="scope">
-            <div class="flex a-c j-c">
-              <slot name="operation" :operationData="scope.row"></slot>
-            </div>
-          </template>
-        </el-table-column>
-      </el-table>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作" fixed="right" :width="props.columnwidth" v-if="props.showOperation"
+            align="center">
+            <template #default="scope">
+              <div class="flex a-c j-c">
+                <slot name="operation" :operationData="scope.row"></slot>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      <!-- </OverlayScrollbarsComponent> -->
     </div>
     <div class="page_box" v-if="props.pageInfo">
       <el-pagination v-model:current-page="props.pageInfo.pageNum" v-model:page-size="props.pageInfo.pageSize"
@@ -109,6 +119,8 @@
 </template>
 
 <script lang="ts" setup>
+import { OverlayScrollbarsComponent } from 'overlayscrollbars-vue';
+
 import { defineProps, ref, onMounted, defineEmits } from "vue";
 import type { TableInstance } from "element-plus";
 

+ 5 - 5
src/views/additionalOrder/additional/index.vue

@@ -1264,7 +1264,7 @@
                   <el-radio-group v-model="additionalForm.productId">
                     <el-radio v-for="item in optionObj.insuranceType" :key="item.value" :value="item.value">{{
                       item.label
-                      }}</el-radio>
+                    }}</el-radio>
                   </el-radio-group>
                 </el-form-item>
                 <el-table :data="insuranceData">
@@ -1824,13 +1824,13 @@
                 </tr>
                 <tr>
                   <th colspan="2">
-                    <div>合计:¥{{ detailData?.feeOrdersVo?.totalPremium.toFixed(2) }}</div>
+                    <div>合计:¥{{ Number(detailData?.feeOrdersVo?.totalPremium)?.toFixed(2) }}</div>
                   </th>
                   <th colspan="2">
-                    <div>小计: ¥{{ detailData?.feeOrdersVo?.totalReceivablePremium.toFixed(5) }}</div>
+                    <div>小计: ¥{{ Number(detailData?.feeOrdersVo?.totalReceivablePremium)?.toFixed(5) }}</div>
                   </th>
                   <th colspan="2">
-                    <div>小计: ¥{{ detailData?.feeOrdersVo?.totalExportPremium.toFixed(5) }}</div>
+                    <div>小计: ¥{{ Number(detailData?.feeOrdersVo?.totalExportPremium)?.toFixed(5) }}</div>
                   </th>
                   <th colspan="2">
                     <div>小计: ¥{{ (Number(detailData?.feeOrdersVo?.jqCommissionPremium) +
@@ -2065,7 +2065,7 @@
       <vue-office-docx :src="fileUrl" style="height: 600px; margin: 0; padding: 0"></vue-office-docx>
     </el-dialog>
     <el-dialog :close-on-click-modal="false" title="选择业务员" v-model="salesmanShow" width="700">
-      <salesmanSelect ref="SalesmanSelectRef" @close="handleSalesmanSelect"></salesmanSelect>
+      <salesmanSelect ref="SalesmanSelectRef" fromPage="10" @close="handleSalesmanSelect"></salesmanSelect>
     </el-dialog>
     <el-dialog :close-on-click-modal="false" title="选择车型" v-model="carTypeShow" width="900">
       <carTypeSelect ref="CarTypeSelectRef" @close="handleCarTypeSelect"></carTypeSelect>

+ 76 - 38
src/views/externalAgreement/agreement/agreementIndex.vue

@@ -15,8 +15,16 @@
               </template>
             </el-button>
           </RouterLink>
+          <el-button @click="selAgreement()">
+            复制内部协议
+            <template #icon>
+              <el-icon>
+                <CopyDocument />
+              </el-icon>
+            </template>
+          </el-button>
           <el-dropdown placement="bottom-start">
-            <el-button > 批量管理<el-icon>
+            <el-button> 批量管理<el-icon>
                 <arrow-down />
               </el-icon>
             </el-button>
@@ -30,7 +38,7 @@
           </el-dropdown>
         </template>
         <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.id)">编辑</el-button>
           <el-button type="primary" link @click="agreemenUpdate(scope.operationData)"> 详情
           </el-button>
           <el-dropdown placement="bottom-start" trigger="click">
@@ -41,7 +49,7 @@
               <el-dropdown-menu>
                 <el-dropdown-item @click="enable(scope.operationData.id)">启用</el-dropdown-item>
                 <el-dropdown-item @click="disable(scope.operationData.id)">禁用</el-dropdown-item>
-                  <el-dropdown-item @click="agreemenCopy(scope.operationData.id)">复制协议</el-dropdown-item>
+                <!-- <el-dropdown-item @click="agreemenCopy(scope.operationData.id)">复制协议</el-dropdown-item> -->
                 <el-dropdown-item @click="del(scope.operationData.id)">删除</el-dropdown-item>
                 <el-dropdown-item @click="batchAuthorization(scope.operationData.id)">协议授权</el-dropdown-item>
               </el-dropdown-menu>
@@ -53,6 +61,19 @@
         </template>
       </ComplexTable>
     </PageMain>
+    <el-dialog :close-on-click-modal="false" v-model="copyDialog" title="选中内部协议" width="600">
+      <el-form>
+        <el-form-item label="内部协议">
+          <el-select v-model="agreementCopyId" placeholder="请选择内部协议" filterable>
+            <el-option v-for="item in agreementList" :key="item.id" :value="item.id"
+              :label="item.agreementTitle"></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <el-button type="primary" @click="agreemenCopy()">确定</el-button>
+      </template>
+    </el-dialog>
     <auth-Drawer :Drawer="agreementAuthDrawer" @cancel=" agreementAuthDrawer = false" @save="DrawerSave"
       @query="Drawerquery" :deptlist="deptauthList" :checkedKeys="checkedKeys" :checkedIds="checkedIds"></auth-Drawer>
   </div>
@@ -95,10 +116,10 @@ const provinceoptions = ref<string[]>([])//省市区回显数据
 const deptOptions = ref()//机构数据
 let company_list = ref()
 const companyIdprops = {
-    expandTrigger: 'hover' as const,
-    value: 'id',
-    label: 'nameSimple',
-    checkStrictly: true,
+  expandTrigger: 'hover' as const,
+  value: 'id',
+  label: 'nameSimple',
+  checkStrictly: true,
 }
 const agreement_type = ref();
 const valid_status = ref();
@@ -125,9 +146,9 @@ const formInline = reactive({
   takeEndDate: "",
   loseStartDate: "",
   loseEndDate: "",
-  isExternal:'1',
-  value1:[],
-  value2:[],
+  isExternal: '1',
+  value1: [],
+  value2: [],
 })
 
 //表格字段数据
@@ -173,22 +194,22 @@ const fields = ref([
 
 // 保险公司
 const initCompany = () => {
-    api.agreementApi.findTree({ name: "", systemCode: localStorage.getItem('login_system') }).then((res: any) => {
-        if (res.code == '200') {
-            company_list.value = res.data;
-        } else {
-            ElMessage({
-                type: 'error',
-                message: res.msg,
-                plain: true,
-            })
-        }
-    });
+  api.agreementApi.findTree({ name: "", systemCode: localStorage.getItem('login_system') }).then((res: any) => {
+    if (res.code == '200') {
+      company_list.value = res.data;
+    } else {
+      ElMessage({
+        type: 'error',
+        message: res.msg,
+        plain: true,
+      })
+    }
+  });
 }
 
 //数据查询
 function findpage() {
-  let query = {...formInline}
+  let query = { ...formInline }
   query.companyId = query.companyId[query.companyId.length - 1]
   api.agreementApi.agreementList({ pages: pageInfo.value.pageNum, size: pageInfo.value.pageSize, ...query }).then((res: any) => {
     if (res.code == '200') {
@@ -201,8 +222,10 @@ function findpage() {
   });
 }
 const columns = [
-  { prop: "agreementCode", label: "协议编号", width: '200', component: "RouterLink",
-  formatter: (row: any) => ({ name: 'ExternalAgreementDetails', query: { id: row.id} }) },
+  {
+    prop: "agreementCode", label: "协议编号", width: '200', component: "RouterLink",
+    formatter: (row: any) => ({ name: 'ExternalAgreementDetails', query: { id: row.id } })
+  },
   {
     prop: "agreementTitle", label: "协议名称", width: '200',
   },
@@ -233,7 +256,7 @@ const columns = [
     prop: "validStatus", label: "生效状态", width: '120', component: "Tag",
     formatter: (row: any) => {
       let name = getDict('valid_status').find(val => val.value == row.validStatus).label
-      if (name=='生效中') {
+      if (name == '生效中') {
         return { type: 'primary', text: name };
       } else {
         return { type: 'danger', text: name };
@@ -322,12 +345,12 @@ function getUncheckedIds(data: any[]): string[] {
 
 //编辑跳转
 const agreementEdit = (id) => {
-    router.push({
-        name: 'ExternalagreementAdd',
-        query: {
-            id: id
-        }
-    })
+  router.push({
+    name: 'ExternalagreementAdd',
+    query: {
+      id: id
+    }
+  })
 }
 
 function agreemenUpdate(item: any) {
@@ -380,13 +403,15 @@ const enable = (value: string) => {
   sysUpAndDown('0', [value]);
 }
 //复制协议
-const agreemenCopy = (id:string) => {
-    router.push({
-        name: 'AgreementCopy',
-        query: {
-            id: id
-        }
-    })
+const agreemenCopy = () => {
+  router.push({
+    name: 'AgreementCopy',
+    query: {
+      id: agreementCopyId.value,
+      type: 'outToInCopy'
+    }
+  })
+  copyDialog.value = false
 }
 const del = (value: string) => {
   ElMessageBox.confirm(
@@ -509,6 +534,19 @@ const getDeptTree = () => {
     }
   });
 }
+
+const copyDialog = ref(false)
+const agreementCopyId = ref('')
+const agreementList = ref([])
+const selAgreement = () => {
+  agreementCopyId.value = '';
+  copyDialog.value = true;
+  api.agreementApi.agreementList({ size: 1000,isExternal:"0" }).then((res: any) => {
+    if (res.code == '200') {
+      agreementList.value = res.data.records;
+    }
+  });
+}
 </script>
 
 <style lang="scss" scoped>

+ 82 - 45
src/views/insurancePolicy/order/order.vue

@@ -74,8 +74,18 @@
         </el-form>
       </template>
     </SearchBar>
-    <el-table :data="tableData" v-loading="loading" :height="tableHeight" style=" width: 100%">
-      <el-table-column label="订单号" prop="orderNo" width="200"></el-table-column>
+    <el-table :data="tableData" v-loading="loading" :height="tableHeight" :load="loadData" row-key="orderNo" lazy
+      :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" style="width: 100%">
+      <el-table-column label="订单号" prop="orderNo" width="220">
+        <!-- <template #default="scope">
+          <span class="" v-if="scope.row.hasChildren">
+            <span class="mr-60px inline-block w-128px">车牌号:{{ scope.row.licenseNo }}</span>
+            <span class="mr-60px inline-block w-198px">车架号:{{ scope.row.vinNo }}</span>
+            <span class="mr-60px">险种:{{ scope.row.productName }}</span>
+          </span>
+          <span class="" v-else>{{ scope.row.orderNo }}</span>
+        </template> -->
+      </el-table-column>
       <el-table-column label="保险公司" prop="companyName" width="200"></el-table-column>
       <el-table-column label="车牌号" prop="licenseNo" width="200"></el-table-column>
       <el-table-column label="车架号" prop="vinNo" width="200"></el-table-column>
@@ -125,47 +135,49 @@
       <el-table-column label="车船税" prop="vvTax" width="200"></el-table-column>
       <el-table-column label="操作" width="200" fixed="right">
         <template #default="scope">
-          <el-button link type="primary" @click="toDetail(scope.row.orderNo)">详情</el-button>
-          <el-button link type="primary"
-            v-if="scope.row.orderStatus != '7' && scope.row.orderStatus != '7' && scope.row.orderStatus != '8'"
-            @click="toEdit(scope.row)">编辑</el-button>
-          <el-button link type="primary" v-if="scope.row.orderStatus === '1'"
-            @click="toEdit(scope.row)">提交核保</el-button>
-          <el-button link type="primary" v-if="scope.row.orderStatus === '3'">取消核保</el-button>
-          <el-button link type="primary" v-if="scope.row.orderStatus === '4'"
-            @click="updateOrderStatus(scope.row.orderNo)">更新订单</el-button>
-          <!-- 模拟接口,正式上线后,删除 -->
-          <el-button link type="primary" :loading="scope.row.loading" v-if="scope.row.orderStatus === '4'"
-            @click="mockUnderwited(scope.row)">模拟承保</el-button>
-          <el-button link type="primary" v-if="scope.row.orderStatus === '3'"
-            @click="updateOrderStatus(scope.row.orderNo)">同步订单</el-button>
-          <el-button link type="primary" v-if="scope.row.orderStatus === '6'"
-            @click="toEdit(scope.row)">计算保费</el-button>
-          <el-button link type="primary" v-if="scope.row.orderStatus === '8'"
-            @click="toEdit(scope.row)">重新报价</el-button>
-          <el-button link type="primary" @click="downloadElectronicPolicy(scope.row)"
-            v-if="scope.row.orderStatus === '5'">下载电子保单</el-button>
-          <el-button link type="primary" @click="viewElectronicPolicy(scope.row)"
-            v-if="scope.row.orderStatus === '5'">查看电子保单</el-button>
-          <el-button link type="primary" v-if="scope.row.orderStatus === '4'" @click="payCode(scope)">支付码</el-button>
-          <el-button link type="primary" :loading="scope.row.loading" @click="handleQuotationView(scope.row)"
-            v-if="['1', '3', '4'].includes(scope.row.orderStatus)">报价单预览</el-button>
-          <el-button link type="danger" @click="deleteOrder(scope.row.orderNo)"
-            v-if="scope.row.orderStatus === '6' || scope.row.orderStatus === '8'">删除订单</el-button>
-          <el-dropdown trigger="click" class="ml-[12px] align-middle" v-if="scope.row.orderStatus === '5'">
-            <el-button link type="primary">
-              订单批改
-              <el-icon class="el-icon&#45;&#45;right">
-                <arrow-down />
-              </el-icon>
-            </el-button>
-            <template #dropdown>
-              <el-dropdown-menu>
-                <el-dropdown-item @click="onClick(1, scope.row)">险种批改</el-dropdown-item>
-                <el-dropdown-item @click="onClick(0, scope.row)">整单退保</el-dropdown-item>
-              </el-dropdown-menu>
-            </template>
-          </el-dropdown>
+          <template v-if="!scope.row.hasChildren">
+            <el-button link type="primary" @click="toDetail(scope.row.orderNo)">详情</el-button>
+            <el-button link type="primary"
+              v-if="scope.row.orderStatus != '7' && scope.row.orderStatus != '7' && scope.row.orderStatus != '8'"
+              @click="toEdit(scope.row)">编辑</el-button>
+            <el-button link type="primary" v-if="scope.row.orderStatus === '1'"
+              @click="toEdit(scope.row)">提交核保</el-button>
+            <el-button link type="primary" v-if="scope.row.orderStatus === '3'">取消核保</el-button>
+            <el-button link type="primary" v-if="scope.row.orderStatus === '4'"
+              @click="updateOrderStatus(scope.row.orderNo)">更新订单</el-button>
+            <!-- 模拟接口,正式上线后,删除 -->
+            <el-button link type="primary" :loading="scope.row.loading" v-if="scope.row.orderStatus === '4'"
+              @click="mockUnderwited(scope.row)">模拟承保</el-button>
+            <el-button link type="primary" v-if="scope.row.orderStatus === '3'"
+              @click="updateOrderStatus(scope.row.orderNo)">同步订单</el-button>
+            <el-button link type="primary" v-if="scope.row.orderStatus === '6'"
+              @click="toEdit(scope.row)">计算保费</el-button>
+            <el-button link type="primary" v-if="scope.row.orderStatus === '8'"
+              @click="toEdit(scope.row)">重新报价</el-button>
+            <el-button link type="primary" @click="downloadElectronicPolicy(scope.row)"
+              v-if="scope.row.orderStatus === '5'">下载电子保单</el-button>
+            <el-button link type="primary" @click="viewElectronicPolicy(scope.row)"
+              v-if="scope.row.orderStatus === '5'">查看电子保单</el-button>
+            <el-button link type="primary" v-if="scope.row.orderStatus === '4'" @click="payCode(scope)">支付码</el-button>
+            <el-button link type="primary" :loading="scope.row.loading" @click="handleQuotationView(scope.row)"
+              v-if="['1', '3', '4'].includes(scope.row.orderStatus)">报价单预览</el-button>
+            <el-button link type="danger" @click="deleteOrder(scope.row.orderNo)"
+              v-if="scope.row.orderStatus === '6' || scope.row.orderStatus === '8'">删除订单</el-button>
+            <el-dropdown trigger="click" class="ml-[12px] align-middle" v-if="scope.row.orderStatus === '5'">
+              <el-button link type="primary">
+                订单批改
+                <el-icon class="el-icon&#45;&#45;right">
+                  <arrow-down />
+                </el-icon>
+              </el-button>
+              <template #dropdown>
+                <el-dropdown-menu>
+                  <el-dropdown-item @click="onClick(1, scope.row)">险种批改</el-dropdown-item>
+                  <el-dropdown-item @click="onClick(0, scope.row)">整单退保</el-dropdown-item>
+                </el-dropdown-menu>
+              </template>
+            </el-dropdown>
+          </template>
         </template>
       </el-table-column>
     </el-table>
@@ -511,7 +523,7 @@ const handleReset = () => {
 const initData = () => {
   loading.value = true;
   let { ...params } = orderForm.value;
-  api.insurancePolicyApi.queryList({
+  api.insurancePolicyApi.queryMainOrderList({
     pages: pages.value,
     size: size.value,
     ...params,
@@ -524,7 +536,7 @@ const initData = () => {
     endPayTime: payTime.value?.[1],//结束支付时间
   }).then((res: any) => {
     if (res.code == 200) {
-      tableData.value = res.data.records
+      tableData.value = res.data.records.map(v => ({ ...v, hasChildren: true, children: [] }))
       total.value = res.data.total
     } else {
       ElMessage({
@@ -536,6 +548,31 @@ const initData = () => {
     loading.value = false;
   });
 }
+const loadData = (row, treeNode, resolve) => {
+  let { ...params } = orderForm.value;
+  api.insurancePolicyApi.queryList({
+    pages: 1,
+    size: 1000,
+    ...params,
+    parentId: row.orderNo,
+    salesmanType: props.salesmanType,
+    startDate: range.value?.[0],
+    endDate: range.value?.[1],
+    startSigningTime: signingTime.value?.[0],//开始核保时间
+    endSigningTime: signingTime.value?.[1],//结束核保时间
+    startPayTime: payTime.value?.[0],//开始支付时间
+    endPayTime: payTime.value?.[1],//结束支付时间
+  }).then((res: any) => {
+    if (res.code == 200) {
+      resolve(res.data.records)
+    } else {
+      ElMessage({
+        message: res.msg,
+        type: 'warning'
+      })
+    }
+  })
+}
 // 导出订单
 const exportOrder = () => {
   if (checkList.value.length == 0) {

+ 22 - 6
src/views/payCredit/index.vue

@@ -140,8 +140,8 @@
               </el-form-item>
             </el-col>
             <el-col :span="8">
-              <el-form-item label="领取人(待开发)">
-                <el-input v-model="firstForm.xxxxxx" placeholder="请输入" clearable></el-input>
+              <el-form-item label="领取人">
+                <el-input v-model="firstForm.receiveUserName" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="24" style="display: flex; align-items: center; justify-content: flex-end">
@@ -176,7 +176,7 @@
           <el-table-column prop="bankName" label="银行"></el-table-column>
           <el-table-column prop="bankNum" label="开户行"></el-table-column>
           <el-table-column prop="createTime" label="提现时间" width="180"></el-table-column>
-          <el-table-column prop="xxxxxx" label="领取人(待开发)" width="180"></el-table-column>
+          <el-table-column prop="receiveUserName" label="领取人" width="180"></el-table-column>
           <!-- <el-table-column label="操作" fixed="right" width="200">
             <template #default="scope">
               <el-button link type="primary" size="small" @click="handlePay(scope.row)">付款</el-button>
@@ -259,8 +259,11 @@
               </el-form-item>
             </el-col>
             <el-col :span="8">
-              <el-form-item label="付款账户(待开发)">
-                <el-input v-model="firstForm.xxxxxxx" placeholder="请输入" clearable></el-input>
+              <el-form-item label="付款账户">
+                <el-select v-model="firstForm.accountId" placeholder="请选择" clearable>
+                  <el-option v-for="item in accountList" :key="item.id" :label="item.cardName"
+                    :value="item.id"></el-option>
+                </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="24" style="display: flex; align-items: center; justify-content: flex-end">
@@ -294,7 +297,7 @@
           <el-table-column prop="bankNum" label="开户行"></el-table-column>
           <el-table-column prop="createTime" label="提现时间" width="180"></el-table-column>
           <el-table-column prop="paymentTime" label="支付时间" width="180"></el-table-column>
-          <el-table-column prop="xxxxxx" label="审核人(待开发)" width="180"></el-table-column>
+          <el-table-column prop="auditingUserName" label="审核人" width="180"></el-table-column>
           <el-table-column prop="payAccountName" label="付款账户"></el-table-column>
           <el-table-column prop="xxxxxx" label="凭证号(待开发)"></el-table-column>
           <el-table-column prop="xxxxxx" label="回单资料(待开发)"></el-table-column>
@@ -773,12 +776,25 @@ const handleExport = () => {
   })
 }
 
+const accountList = ref([])
+const getAccountList = () => {
+  api.financeApi.cardList({
+    pageSize: 1000
+  }).then((res: any) => {
+    if (res.code == 200) {
+      accountList.value = res.data.records
+    }
+  })
+}
+
 onMounted(() => {
   initData('0')
   initData('1')
   initData('2')
   initData('3')
   queryTotalWithdrawalAmount()
+  getAccountList()
+
 })
 
 </script>

+ 4 - 9
src/views/platform/index.vue

@@ -388,7 +388,8 @@
             下载「标准导入模板」,编辑后上传;系统将自动匹配相关字段
             <el-button link type="primary" @click="exportData">下载模板</el-button>
           </div>
-          <el-upload class="upload-demo" drag accept=".xls, .xlsx" :auto-upload="false" :show-file-list="false" @change="uploadJYFile">
+          <el-upload class="upload-demo" drag accept=".xls, .xlsx" :auto-upload="false" :show-file-list="false"
+            @change="uploadJYFile">
             <el-icon class="el-icon--upload"><upload-filled /></el-icon>
             <div class="el-upload__text">
               点击或将文件拖拽到这里上传
@@ -880,14 +881,8 @@ const initDept = () => {
 }
 // 编辑
 const toEdit = (row: any) => {
-  console.log(row)
-  myRouter.push({
-    path: '/finance/auditOrderDetail',
-    query: {
-      id: row.orderNo,
-      jumpType: 'costMsg'
-    }
-  })
+  selectedList.value = [row]
+  handleBatchEdit()
 }
 // 车险列表
 const getPlatFormReceivableList = () => {

+ 14 - 8
src/views/platform/platformRecord.vue

@@ -56,18 +56,20 @@
         </el-col>
         <el-col :span="8">
           <el-form-item prop="contactPerson" label="对接人">
-            <el-select v-model="form.contactPerson" placeholder="请选择" clearable filterable>
+            <el-input v-model="form.contactPerson"></el-input>
+            <!-- <el-select v-model="form.contactPerson" placeholder="请选择" clearable filterable>
               <el-option v-for="item in contactPersonList" :key="item.contactPerson" :value="item.contactPerson"
                 :label="item.contactPerson"></el-option>
-            </el-select>
+            </el-select> -->
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="保险机构">
+            <el-cascader filterable clearable placeholder="请选择" v-model="form.partnerCompanyId"
+              :options="partnerCompanyList" :props="companyIdprops" style="width: 100%;"
+              @change="handleCompanyChange" />
           </el-form-item>
         </el-col>
-         <el-col :span="8">
-              <el-form-item label="保险机构">
-                <el-cascader filterable clearable placeholder="请选择" v-model="form.partnerCompanyId"
-                  :options="partnerCompanyList" :props="companyIdprops" style="width: 100%;" @change="handleCompanyChange" />
-              </el-form-item>
-            </el-col>
         <el-col :span="24" style="display: flex; justify-content: flex-end">
           <el-button type="primary" @click="search()">查询</el-button>
           <el-button plain type="primary" @click="reset()">重置</el-button>
@@ -136,6 +138,10 @@ const CredentialList = ref([])//凭证图片
 let pages = ref(1);
 let size = ref(10);
 let total = ref(0);
+const contactPerson = route.query.contactPerson
+if (contactPerson) {
+  form.value.contactPerson = contactPerson
+}
 const handleSizeChange = (size) => {
   size.value = size;
   initList();

+ 36 - 34
src/views/platform/platformReport.vue

@@ -77,7 +77,7 @@
                   value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-             <el-col :span="8">
+            <el-col :span="8">
               <el-form-item prop="receivePaymentDate" label="回款时间">
                 <el-date-picker v-model="recordForm1.receivePaymentDate" type="daterange" format="YYYY-MM-DD"
                   value-format="YYYY-MM-DD" />
@@ -105,7 +105,19 @@
           <el-table-column prop="settledAmount" label="已结算总计"></el-table-column>
           <el-table-column prop="unSettledAmount" label="未结算总计"></el-table-column>
           <el-table-column prop="totalPaymentDifference" label="回款差额"></el-table-column>
-
+          <el-table-column label="操作" width="200" align="center" fixed="right">
+            <template #default="scope">
+              <el-dropdown placement="bottom-start" trigger="click">
+                <span class="el-dropdown-link">查看明细</span>
+                <template #dropdown>
+                  <el-dropdown-menu>
+                    <el-dropdown-item @click="handleRecordDetail(scope.row)">开票明细</el-dropdown-item>
+                    <el-dropdown-item @click="receiverView(scope.row)">车险结算明细</el-dropdown-item>
+                  </el-dropdown-menu>
+                </template>
+              </el-dropdown>
+            </template>
+          </el-table-column>
         </el-table>
         <div class="pagination">
           <el-pagination v-model:current-page="pages" v-model:page-size="size" :page-sizes="[10, 20, 30, 40]"
@@ -357,39 +369,16 @@ const initData3 = () => {
   })
 }
 
-const handleSearch = (type) => {
-  switch (type) {
-    case 1:
-      recordForm.value = {
-        companyId: '',
-        time: [],
-        status: ''
-      }
-      break;
-    case 2:
-      recordForm1.value = {
-        settlementId: '',
-        companyId: '',
-        invoiceParty: '',
-        invoiceType: '',
-        status: '',
-        settlementPerson: '',
-        settlementTime: [],
-        invoiceId: ''
-      }
-      break;
-    case 3:
-      recordForm2.value = {
-        invoiceId: '',
-        companyId: '',
-        invoiceParty: '',
-        settlementPerson: '',
-        settlementTime: [],
-        status: ''
-      }
-      break;
-  }
+
+const handleRecordDetail = (row) => {
+  router.push({
+    path: '/platform/platformRecord',
+    query: {
+      contactPerson: row.receiver
+    }
+  })
 }
+
 const handleReset = (type) => {
 
 }
@@ -447,6 +436,11 @@ const initOption = () => {
     })
   })
 }
+const receiverView = (row) => {
+  recordForm2.value.contactPerson = row.receiver
+  activeName.value = '3'
+  initData3()
+}
 const handleSettlementDetail = (row) => {
   activeName.value = '3'
   recordForm2.value.companyId = row.companyId
@@ -473,6 +467,14 @@ onMounted(() => {
   justify-content: flex-end;
 }
 
+:deep(.el-dropdown-link) {
+  display: flex;
+  align-items: center;
+  margin-left: 15px;
+  color: var(--el-color-primary);
+  cursor: pointer;
+}
+
 :deep(.subTable .el-table__header-wrapper) {
   display: none;
 }

+ 91 - 3
src/views/quoteConfig/agreement/agreementCopy.vue

@@ -23,7 +23,7 @@
           <span class="m-right-20" style="line-height: 14px;">有效状态</span>
           <el-dropdown trigger="click" @command="validStateCommand">
             <el-button link style="font-size: 14px;color: #333;"> {{ valid_statusName ? valid_statusName : '全部'
-            }}<el-icon>
+              }}<el-icon>
                 <arrow-down />
               </el-icon>
             </el-button>
@@ -45,7 +45,7 @@
             <template #dropdown>
               <el-dropdown-menu>
                 <el-dropdown-item :command="item.label" v-for="(item, index) in is_enable" :key="index">{{ item.label
-                }}</el-dropdown-item>
+                  }}</el-dropdown-item>
               </el-dropdown-menu>
             </template>
           </el-dropdown>
@@ -63,11 +63,34 @@
       <ElButton @click="router.back()">
         取消
       </ElButton>
-      <ElButton type="primary" @click="agreementcopy">
+      <ElButton type="primary" @click="openCopy()">
         复制协议
       </ElButton>
     </FixedActionBar>
   </div>
+  <el-dialog :close-on-click-modal="false" v-model="copyDialog" title="对接人" width="600">
+    <el-form label-width="100px" ref="ruleFormRef" :model="docking">
+      <el-form-item label="对接人" prop="dockingPerson" :rules="[{
+          required: true,
+          message: '请输入对接人',
+          trigger: 'change',
+        }]
+        ">
+        <el-input v-model="docking.dockingPerson" placeholder="请输入对接人" />
+      </el-form-item>
+      <el-form-item label="对接人电话" prop="dockingPhone" :rules="[{
+          required: true,
+          message: '请输入对接人电话',
+          trigger: 'change',
+        }]
+        ">
+        <el-input v-model="docking.dockingPhone" placeholder="请输入对接人电话" />
+      </el-form-item>
+    </el-form>
+    <template #footer>
+      <el-button type="primary" @click="submitCopy()">确定</el-button>
+    </template>
+  </el-dialog>
 </template>
 
 <!-- 行为区域 -->
@@ -187,6 +210,71 @@ function findpage() {
     }
   });
 }
+
+const copyDialog = ref(false)
+const docking = ref({
+  dockingPerson: '',
+  dockingPhone: '',
+})
+const ruleFormRef = ref()
+const openCopy = () => {
+  if (route.query.type === 'outToInCopy') {
+    docking.value = {
+      dockingPerson: '',
+      dockingPhone: '',
+    }
+    copyDialog.value = true
+    return
+  }
+  agreementcopy()
+}
+//费用复制
+const submitCopy = async () => {
+  await ruleFormRef.value.validate((valid, fields) => {
+    if (valid) {
+      const params = {
+        id: id.value, costIds: sysUpAndDownList.value,
+        ...docking.value
+      }
+      if (sysUpAndDownList.value.length == 0) {
+        ElMessageBox.confirm(
+          '没有选中要复制的协议费用,请确认是否继续复制',
+          '提示',
+          {
+            confirmButtonText: '确定复制',
+            type: 'info',
+            center: true,
+            confirmButtonClass: 'el-button--primary',
+          }
+        )
+          .then(() => {
+            api.agreementApi.agreementCopyOutToIn(params).then((res: any) => {
+              if (res.code == '200') {
+                ElMessage({
+                  type: 'success',
+                  message: res.msg,
+                  plain: true,
+                })
+                router.push({ name: 'ExternalagreementIndex' })
+              }
+            });
+          })
+      } else {
+        api.agreementApi.agreementCopyOutToIn(params).then((res: any) => {
+          if (res.code == '200') {
+            ElMessage({
+              type: 'success',
+              message: res.msg,
+              plain: true,
+            })
+            router.push({ name: 'ExternalagreementIndex' })
+          }
+        });
+      }
+    }
+  })
+
+}
 //费用复制
 const agreementcopy = () => {
   if (sysUpAndDownList.value.length == 0) {

+ 13 - 7
src/views/receivable/handingFee/index.vue

@@ -140,7 +140,10 @@
           <span class="col-108 m-r-8">
             <el-button class="radius-2px width-100"
               :disabled="selectedList.some(item => item.invoiceStatusName === '已开票')"
-              @click="handleBatchEdit">批量修改</el-button>
+              @click="handleBatchEdit('first')">批量修改</el-button>
+          </span>
+          <span class="col-108 m-r-8">
+            <el-button class="radius-2px width-100" @click="handleBatchEdit('second')">导入修改</el-button>
           </span>
           <span class="col-108 m-r-8">
             <el-dropdown class="width-100" trigger="click" placement="bottom" @command="dropdownCommand">
@@ -334,7 +337,10 @@
             <el-button class="radius-2px width-100" type="primary" @click="handleExport1">导出</el-button>
           </div>
           <span class="col-108 m-r-8">
-            <el-button class="radius-2px width-100" @click="handleBatchEdit">批量修改</el-button>
+            <el-button class="radius-2px width-100" @click="handleBatchEdit('first')">批量修改</el-button>
+          </span>
+          <span class="col-108 m-r-8">
+            <el-button class="radius-2px width-100" @click="handleBatchEdit('second')">导入修改</el-button>
           </span>
           <span class="col-108 m-r-8">
             已选: <span class="text-red">{{ selectedList.length }}</span> 条
@@ -475,7 +481,7 @@
     </el-dialog>
     <el-dialog :close-on-click-modal="false" title="批量修改" v-model="batchEditShow" width="700">
       <el-tabs v-model="subActiveName" class="demo-tabs">
-        <el-tab-pane label="User" name="first">
+        <el-tab-pane label="User" name="first" v-if="subActiveName==='first'">
           <template #label>选中修改({{ selectedList.length }})</template>
           <el-form :model="editForm">
             <el-row :gutter="20">
@@ -533,7 +539,7 @@
             </el-row>
           </el-form>
         </el-tab-pane>
-        <el-tab-pane label="Config" name="second">
+        <el-tab-pane label="Config" name="second" v-if="subActiveName==='second'">
           <template #label>导入修改</template>
           <div style="display: flex; align-items: center; justify-content: center; margin-bottom: 10px">
             下载「标准导入模板」,编辑后上传;系统将自动匹配相关字段
@@ -954,8 +960,8 @@ let feeRate = ref(null)
 let signTime = ref(null)
 let people = ref(null)
 let editForm = ref({})
-const handleBatchEdit = () => {
-  if (selectedList.value.length < 1) {
+const handleBatchEdit = (str: string) => {
+  if (selectedList.value.length < 1 && str === 'first') {
     ElMessage({
       message: '请选择数据!',
       type: 'warning'
@@ -965,7 +971,7 @@ const handleBatchEdit = () => {
   editForm.value = {}
   importModifyCallback.value = null
   batchEditShow.value = true
-
+  subActiveName.value = str
 }
 
 const handleBatchEditSubmit = async () => {

+ 8 - 0
src/views/receivable/handingFee/invoiceRecord.vue

@@ -225,6 +225,8 @@ import { ElMessage, ElMessageBox } from 'element-plus'
 const route = useRoute()
 const router = useRouter()
 
+
+
 const companyIdprops = {
   expandTrigger: 'hover' as const,
   value: 'id',
@@ -234,6 +236,11 @@ const companyIdprops = {
 let form = ref({})
 let tableData = ref([])
 
+const companyId = route.query.companyId
+if (companyId) {
+  form.value.companyId = companyId
+}
+
 let pages = ref(1)
 let size = ref(10)
 let total = ref(0)
@@ -266,6 +273,7 @@ const invoiceId = route.query.invoiceId
 if (invoiceId) {
   form.value.recordId = invoiceId
 }
+
 let countShow = ref(false)
 let countForm = ref({})
 let countRules = ref({

+ 40 - 26
src/views/receivable/handingFee/report.vue

@@ -7,7 +7,8 @@
             <el-col :span="8">
               <el-form-item prop="companyId" label="保险公司">
                 <el-cascader filterable clearable placeholder="请选择" v-model="recordForm.companyId"
-                  :options="companyList" :props="companyIdprops" style="width: 100%;" @change="val=>handleCompanyChange(val, '1')" />
+                  :options="companyList" :props="companyIdprops" style="width: 100%;"
+                  @change="val => handleCompanyChange(val, '1')" />
               </el-form-item>
             </el-col>
             <el-col :span="8">
@@ -83,9 +84,10 @@
                   <span class="el-dropdown-link">查看明细</span>
                   <template #dropdown>
                     <el-dropdown-menu>
+                      <el-dropdown-item @click="handleRecordDetail(scope.row)">开票明细</el-dropdown-item>
                       <el-dropdown-item @click="handleSettlementDetail(scope.row)">结算明细</el-dropdown-item>
-                      <el-dropdown-item @click="handleInvoiceRecord1(scope.row)">车险开票明细</el-dropdown-item>
-                      <el-dropdown-item @click="handleInvoiceRecord2(scope.row)">非车险开票明细</el-dropdown-item>
+                      <el-dropdown-item @click="handleInvoiceRecord1(scope.row)">车险结算明细</el-dropdown-item>
+                      <el-dropdown-item @click="handleInvoiceRecord2(scope.row)">非车险结算明细</el-dropdown-item>
                     </el-dropdown-menu>
                   </template>
                 </el-dropdown>
@@ -105,7 +107,8 @@
             <el-col :span="8">
               <el-form-item prop="companyIda" label="保险公司">
                 <el-cascader filterable clearable placeholder="请选择" v-model="recordForm1.companyId"
-                  :options="companyList" :props="companyIdprops" style="width: 100%;" @change="val=>handleCompanyChange(val, '2')" />
+                  :options="companyList" :props="companyIdprops" style="width: 100%;"
+                  @change="val => handleCompanyChange(val, '2')" />
               </el-form-item>
             </el-col>
             <el-col :span="8">
@@ -156,7 +159,7 @@
           </el-row>
         </el-form>
         <el-table height="calc(100% - 192px)" :data="recordData1" show-summary
-          :summary-method="val => getSummaries(val, ['taxPoint', 'actualReceivedAmount','settlementPaymentDifference'])">
+          :summary-method="val => getSummaries(val, ['taxPoint', 'actualReceivedAmount', 'settlementPaymentDifference'])">
           <el-table-column prop="settlementId" label="结算记录编号" width="200"></el-table-column>
           <el-table-column prop="companyName" label="保险公司" width="200"></el-table-column>
           <el-table-column prop="invoiceParty" label="开票方" width="150"></el-table-column>
@@ -201,7 +204,8 @@
             <el-col :span="8">
               <el-form-item prop="companyId" label="保险公司">
                 <el-cascader filterable clearable placeholder="请选择" v-model="recordForm2.companyId"
-                  :options="companyList" :props="companyIdprops" style="width: 100%;" @change="val=>handleCompanyChange(val, '3')" />
+                  :options="companyList" :props="companyIdprops" style="width: 100%;"
+                  @change="val => handleCompanyChange(val, '3')" />
               </el-form-item>
             </el-col>
             <el-col :span="8">
@@ -277,7 +281,8 @@
             <el-col :span="8">
               <el-form-item prop="companyId" label="保险公司">
                 <el-cascader filterable clearable placeholder="请选择" v-model="recordForm3.companyId"
-                  :options="companyList" :props="companyIdprops" style="width: 100%;" @change="val=>handleCompanyChange(val, '4')" />
+                  :options="companyList" :props="companyIdprops" style="width: 100%;"
+                  @change="val => handleCompanyChange(val, '4')" />
               </el-form-item>
             </el-col>
             <el-col :span="8">
@@ -753,16 +758,16 @@ const exportSuperviseSettlementExcel = () => {
 }
 const exportSuperviseSettlementDetailExcel = () => {
   api.settlementApi.exportSuperviseSettlementDetailExcel({
-      invoiceId: recordForm2.value.invoiceId,
-      companyId: recordForm2.value.companyId,
-      invoiceParty: recordForm2.value.invoiceParty,
-      settlementPerson: recordForm2.value.settlementPerson,
-      status: recordForm2.value.status,
-      settlementTimeStart: recordForm2.value.settlementTime?.[0],
-      settlementTimeEnd: recordForm2.value.settlementTime?.[1],
-      pages: pages.value,
-      size: size.value,
-      invoiceTypes: ['1']
+    invoiceId: recordForm2.value.invoiceId,
+    companyId: recordForm2.value.companyId,
+    invoiceParty: recordForm2.value.invoiceParty,
+    settlementPerson: recordForm2.value.settlementPerson,
+    status: recordForm2.value.status,
+    settlementTimeStart: recordForm2.value.settlementTime?.[0],
+    settlementTimeEnd: recordForm2.value.settlementTime?.[1],
+    pages: pages.value,
+    size: size.value,
+    invoiceTypes: ['1']
 
   }).then((res: any) => {
     const blob = new Blob([res], { type: 'application/vnd.ms-excel' });
@@ -784,15 +789,15 @@ const exportSuperviseSettlementDetailExcel = () => {
 const exportSuperviseSettlementDetailJyExcel = () => {
   api.settlementApi.exportSuperviseSettlementDetailJyExcel({
     invoiceId: recordForm3.value.invoiceId,
-        companyId: recordForm3.value.companyId,
-        invoiceParty: recordForm3.value.invoiceParty,
-        settlementPerson: recordForm3.value.settlementPerson,
-        status: recordForm3.value.status,
-        settlementTimeStart: recordForm3.value.settlementTime?.[0],
-        settlementTimeEnd: recordForm3.value.settlementTime?.[1],
-        pages: pages.value,
-        size: size.value,
-        invoiceTypes: ['3']
+    companyId: recordForm3.value.companyId,
+    invoiceParty: recordForm3.value.invoiceParty,
+    settlementPerson: recordForm3.value.settlementPerson,
+    status: recordForm3.value.status,
+    settlementTimeStart: recordForm3.value.settlementTime?.[0],
+    settlementTimeEnd: recordForm3.value.settlementTime?.[1],
+    pages: pages.value,
+    size: size.value,
+    invoiceTypes: ['3']
   }).then((res: any) => {
     const blob = new Blob([res], { type: 'application/vnd.ms-excel' });
     const fileName = '手续费应收非车险结算报表明细' + new Date().getTime() + '.xlsx';
@@ -867,6 +872,15 @@ const handleOrderDetail = (type: any) => {
   })
 }
 
+const handleRecordDetail = (row) => {
+  router.push({
+    path: '/receivable/private/invoiceRecord',
+    query: {
+      companyId: row.companyId
+    }
+  })
+}
+
 onMounted(() => {
   initOption();
   initCompany();