Przeglądaj źródła

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

祁鹏飞 1 miesiąc temu
rodzic
commit
ef57cf917e

+ 113 - 68
src/views/finance/index.vue

@@ -7,28 +7,28 @@
             <span>待审核</span>
           </el-badge>
         </template>
-        <el-form v-model="firstForm" label-width="120">
+        <el-form v-model="firstForm" label-width="120" ref="formRef0">
           <el-row :gutter="20">
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="保险公司">
                 <el-select v-model="firstForm.companyId" placeholder="请选择" clearable filterable>
                   <el-option v-for="item in companyList" :key="item.id" :value="item.id" :label="item.name"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="保险机构">
                 <el-cascader filterable clearable placeholder="请选择" v-model="firstForm.partnerCompanyId"
                   style="width: 100%;" :options="companyoptionsList" :props="companyIdprops"
                   @change="handleCompanyChange" />
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="车牌号">
                 <el-input v-model="firstForm.licenseNo" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="业务员类型">
                 <el-select v-model="firstForm.attrType" placeholder="请选择" clearable>
                   <el-option label="团队" value="5"></el-option>
@@ -38,17 +38,17 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="业务员">
                 <el-input v-model="firstForm.salesman" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="业务员手机号">
                 <el-input v-model="firstForm.phone" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="订单类型">
                 <el-select v-model="firstForm.orderType" placeholder="请选择" clearable>
                   <el-option label="车险录入" value="1"></el-option>
@@ -57,35 +57,35 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="投保人">
                 <el-input v-model="firstForm.policyholder" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="被保人">
                 <el-input v-model="firstForm.insurName" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="签单时间 ">
                 <el-date-picker v-model="firstForm.signingTime" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="支付时间">
                 <el-date-picker v-model="firstForm.payingTime" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="报价时间">
                 <el-date-picker v-model="firstForm.quotationTime" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="投保险种">
                 <el-select v-model="firstForm.productName" placeholder="请选择" clearable>
                   <el-option label="全部" value=" "></el-option>
@@ -94,7 +94,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="协议选择">
                 <el-select v-model="firstForm.agreementId" placeholder="请选择协议" clearable filterable>
                   <el-option v-for="item in agreementList" :key="item.id" :value="item.id"
@@ -102,51 +102,51 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="订单号">
                 <el-input v-model="firstForm.orderNo" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="对接人">
                 <el-input v-model="firstForm.contact" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="出单机构">
                 <el-cascader clearable style="width: 100%" v-model="firstForm.deptId" :options="option"
                   @change="handleChange" :props="tableProps"></el-cascader>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="交强险起保时间">
                 <el-date-picker v-model="firstForm.jqRiskStartDate" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="商业险起保时间">
                 <el-date-picker v-model="firstForm.syRiskStartDate" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="非车险起保时间">
                 <el-date-picker v-model="firstForm.jyRiskStartDate" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="交强保单号">
                 <el-input v-model="firstForm.jqPolicyNo" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="商业保单号">
                 <el-input v-model="firstForm.syPolicyNo" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="非车保单号">
                 <el-input v-model="firstForm.jyPolicyNo" placeholder="请输入" clearable></el-input>
               </el-form-item>
@@ -156,7 +156,7 @@
               <el-button type="primary" @click="handleSearch">搜索</el-button>
               <el-button plain @click="handleReset">重置</el-button>
               <span class="icon_s">
-                <span @click="isTrue = !isTrue">高级搜索</span>
+                <span @click="toggleAdvanced">高级搜索</span>
                 <el-icon class="is_icon" :class="{ 'is_down': isTrue }">
                   <ArrowDown />
                 </el-icon>
@@ -164,8 +164,7 @@
             </el-col>
           </el-row>
         </el-form>
-        <el-table :data="firstData" :height="isTrue ? 'calc(100% - 312px)' : 'calc(100% - 212px)'"
-          style="width: 100%; margin-top: 20px;" highlight-current-row>
+        <el-table :data="firstData" :height="tableHeight" style="width: 100%; margin-top: 20px;" highlight-current-row>
           <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
           <el-table-column prop="attrType" label="业务员类型" width="120"></el-table-column>
           <el-table-column prop="mobile" label="业务员手机号" width="120"></el-table-column>
@@ -205,28 +204,28 @@
             <span>审核通过</span>
           </el-badge>
         </template>
-        <el-form v-model="firstForm" label-width="120">
+        <el-form v-model="firstForm" label-width="120" ref="formRef1">
           <el-row :gutter="20">
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="保险公司">
                 <el-select v-model="firstForm.companyId" placeholder="请选择" clearable filterable>
                   <el-option v-for="item in companyList" :key="item.id" :value="item.id" :label="item.name"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="保险机构">
                 <el-cascader filterable clearable placeholder="请选择" v-model="firstForm.partnerCompanyId"
                   style="width: 100%;" :options="companyoptionsList" :props="companyIdprops"
                   @change="handleCompanyChange" />
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="车牌号">
                 <el-input v-model="firstForm.licenseNo" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="业务员类型">
                 <el-select v-model="firstForm.attrType" placeholder="请选择" clearable>
                   <el-option label="团队" value="5"></el-option>
@@ -236,17 +235,17 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="业务员">
                 <el-input v-model="firstForm.salesman" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="业务员手机号">
                 <el-input v-model="firstForm.phone" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="订单类型">
                 <el-select v-model="firstForm.orderType" placeholder="请选择" clearable>
                   <el-option label="车险录入" value="1"></el-option>
@@ -255,35 +254,35 @@
                 </el-select>
               </el-form-item>
             </el-col>
-             <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="投保人">
                 <el-input v-model="firstForm.policyholder" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="被保人">
                 <el-input v-model="firstForm.insurName" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="签单时间">
                 <el-date-picker v-model="firstForm.signingTime" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="支付时间">
                 <el-date-picker v-model="firstForm.payingTime" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="报价时间">
                 <el-date-picker v-model="firstForm.quotationTime" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="审核方式">
                 <el-select v-model="firstForm.auditType" placeholder="请选择" clearable>
                   <el-option label="人工审核" value="1"></el-option>
@@ -291,18 +290,18 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="审核人">
                 <el-input v-model="firstForm.auditUser" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="6">
               <el-form-item label="审核时间">
                 <el-date-picker v-model="firstForm.auditTime" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="投保险种">
                 <el-select v-model="firstForm.productName" placeholder="请选择" clearable>
                   <el-option label="全部" value=" "></el-option>
@@ -311,7 +310,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="协议选择">
                 <el-select v-model="firstForm.agreementId" placeholder="请选择协议" clearable filterable>
                   <el-option v-for="item in agreementList" :key="item.id" :value="item.id"
@@ -319,61 +318,61 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="订单号">
                 <el-input v-model="firstForm.orderNo" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="对接人">
                 <el-input v-model="firstForm.contact" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="出单机构">
                 <el-cascader clearable style="width: 100%" v-model="firstForm.deptId" :options="option"
                   @change="handleChange" :props="tableProps"></el-cascader>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="交强险起保时间">
                 <el-date-picker v-model="firstForm.jqRiskStartDate" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="商业险起保时间">
                 <el-date-picker v-model="firstForm.syRiskStartDate" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="非车险起保时间">
                 <el-date-picker v-model="firstForm.jyRiskStartDate" type="daterange" range-separator="至"
                   start-placeholder="开始时间" end-placeholder="结束时间" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="交强保单号">
                 <el-input v-model="firstForm.jyPolicyNo" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="商业保单号">
                 <el-input v-model="firstForm.syPolicyNo" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col v-show="isTrue" :span="8">
+            <el-col v-show="isTrue" :span="6">
               <el-form-item label="非车保单号">
                 <el-input v-model="firstForm.jyPolicyNo" placeholder="请输入" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="isTrue ? 16 : 8" style="display: flex;align-items: flex-start; justify-content: flex-end">
+            <el-col :span="6" style="display: flex;align-items: flex-start; justify-content: flex-end">
               <el-button plain @click="handleExport('1')">数据导出</el-button>
               <el-button type="primary" @click="handleSearch">搜索</el-button>
               <el-button plain @click="handleReset">重置</el-button>
               <span class="icon_s">
-                <span @click="isTrue = !isTrue">高级搜索</span>
+                <span @click="toggleAdvanced">高级搜索</span>
                 <el-icon class="is_icon" :class="{ 'is_down': isTrue }">
                   <ArrowDown />
                 </el-icon>
@@ -381,16 +380,15 @@
             </el-col>
           </el-row>
         </el-form>
-        <el-table :data="secondData" :height="isTrue ? 'calc(100% - 312px)' : 'calc(100% - 212px)'"
-          style="width: 100%; margin-top: 20px;" highlight-current-row>
-          <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
+        <el-table :data="secondData" :height="tableHeight" style="width: 100%; margin-top: 20px;" highlight-current-row>
+          <el-table-column prop="orderNo" label="订单号" width="180"></el-table-column>
           <el-table-column prop="attrType" label="业务员类型" width="120"></el-table-column>
           <el-table-column prop="mobile" label="业务员手机号" width="120"></el-table-column>
           <el-table-column prop="name" label="业务员" width="120"></el-table-column>
           <el-table-column prop="orderType" label="订单类型" width="120"></el-table-column>
           <el-table-column prop="agreementName" label="出单协议" width="120"></el-table-column>
           <el-table-column prop="companyALlName" label="保险公司" width="120"></el-table-column>
-          <el-table-column prop="partnerCompanyName" label="保险机构" width="120"></el-table-column>
+          <el-table-column prop="partnerCompanyName" label="保险机构" width="220"></el-table-column>
           <el-table-column prop="dockingPerson" label="对接人" width="120"></el-table-column>
           <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
           <el-table-column prop="policyholder" label="投保人" width="120"></el-table-column>
@@ -423,7 +421,7 @@
             <span>审核不通过</span>
           </el-badge>
         </template>
-        <el-form v-model="firstForm" label-width="100">
+        <el-form v-model="firstForm" label-width="100" ref="formRef2">
           <el-row :gutter="20">
             <el-col :span="8">
               <el-form-item label="保险公司">
@@ -481,7 +479,7 @@
               <el-button type="primary" @click="handleSearch">搜索</el-button>
               <el-button plain @click="handleReset">重置</el-button>
               <span class="icon_s">
-                <span @click="isTrue = !isTrue">高级搜索</span>
+                <span @click="toggleAdvanced">高级搜索</span>
                 <el-icon class="is_icon" :class="{ 'is_down': isTrue }">
                   <ArrowDown />
                 </el-icon>
@@ -489,7 +487,7 @@
             </el-col>
           </el-row>
         </el-form>
-        <el-table :data="thirdData" :height="isTrue ? 'calc(100% - 312px)' : 'calc(100% - 212px)'"
+        <el-table :data="thirdData" :height="tableHeight"
           style="width: 100%; margin-top: 20px;" highlight-current-row>
           <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
           <el-table-column prop="attrType" label="业务员类型" width="120"></el-table-column>
@@ -527,7 +525,7 @@
             <span>疑问订单</span>
           </el-badge>
         </template>
-        <el-form v-model="firstForm" label-width="100">
+        <el-form v-model="firstForm" label-width="100" ref="formRef3">
           <el-row :gutter="20">
             <el-col :span="8">
               <el-form-item label="保险公司">
@@ -610,7 +608,7 @@
               <el-button type="primary" @click="handleSearch">搜索</el-button>
               <el-button plain @click="handleReset">重置</el-button>
               <span class="icon_s">
-                <span @click="isTrue = !isTrue">高级搜索</span>
+                <span @click="toggleAdvanced">高级搜索</span>
                 <el-icon class="is_icon" :class="{ 'is_down': isTrue }">
                   <ArrowDown />
                 </el-icon>
@@ -618,7 +616,7 @@
             </el-col>
           </el-row>
         </el-form>
-        <el-table :data="forthData" height="calc(100% - 262px )" style="width: 100%; margin-top: 20px;"
+        <el-table :data="forthData" :height="tableHeight" style="width: 100%; margin-top: 20px;"
           highlight-current-row>
           <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
           <el-table-column prop="attrType" label="业务员类型" width="120">
@@ -692,17 +690,63 @@
 import api from '@/api'
 import { ElMessage } from "element-plus";
 import { useRoute, useRouter } from 'vue-router'
+import { FormInstance } from 'element-plus';
+import { nextTick, type Ref } from 'vue'
 
 const myRoute = useRoute()
 const myRouter = useRouter()
+// 4 个 tab 各自独立的 form ref
+const formRef0 = ref<FormInstance>()
+const formRef1 = ref<FormInstance>()
+const formRef2 = ref<FormInstance>()
+const formRef3 = ref<FormInstance>()
+const formRefMap: Record<string, Ref<FormInstance | undefined>> = {
+  '0': formRef0,
+  '1': formRef1,
+  '2': formRef2,
+  '3': formRef3,
+}
+const tableHeight = ref(); // 初始化表格高度
+
+// 切换高级搜索,等 DOM 更新后再重算表格高度
+const toggleAdvanced = async () => {
+  isTrue.value = !isTrue.value
+  await nextTick()
+  handleResize()
+}
 
-let activeName = ref(myRoute.query.activeindex as any || '0')
-const handleClick = (e) => {
+function handleResize() {
+  // 获取当前窗口的高度
+  const height = window.innerHeight;
+  // 根据当前激活的 tab 获取对应的 form ref
+  const currentFormRef = formRefMap[activeName.value as string]
+  // 获取表单元素
+  const formElement = currentFormRef?.value?.$el as HTMLElement;
+  if (formElement) {
+    const formHeight = formElement.offsetHeight; // 获取表单高度
+    console.log(formHeight)
+    // 获取分页控件的高度
+    const paginationElement = document.querySelector('.pagination') as HTMLElement;
+    const paginationHeight = paginationElement ? paginationElement.offsetHeight : 40;
+    // 计算表格高度:窗口高度 - 表单高度 - 分页高度 - 页面顶部预留空间
+    const availableHeight = height - formHeight - paginationHeight - 323; // 60是页面顶部预留空间
+    // 确保表格高度不小于最小值
+    tableHeight.value = Math.max(availableHeight, 0) + "px";
+    console.log(tableHeight.value)
+  }
+}
+let activeName = ref(myRoute.query.activeindex as any || '1')
+const handleClick = async (e) => {
   activeName.value = e.props.name
   pages.value = 1
   size.value = 10
   firstForm.value = {}
+  isTrue.value = false  // 切换 tab 时收起高级搜索,避免互相影响
+  await nextTick()
+  // 先重算表格高度(此时 form 已显示,offsetHeight 是真实值),再加载数据,避免数据加载中的 loading/empty 状态干扰高度计算
+  handleResize()
   initData(activeName.value)
+
 }
 const companyIdprops = {
   expandTrigger: 'hover' as const,
@@ -1024,6 +1068,7 @@ onMounted(() => {
   initData('2')
   initData('3')
   getagreementList()
+  handleResize()
 })
 
 </script>

+ 24 - 5
src/views/platform/index.vue

@@ -50,7 +50,8 @@
             <el-col :span="8">
               <el-form-item label="出单协议">
                 <el-select v-model="receivableForm.agreementId" placeholder="请选择" clearable>
-                  <el-option label="1" value="1"></el-option>
+                  <el-option v-for="item in agreementList" :key="item.id" :label="item.agreementTitle"
+                    :value="item.id"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
@@ -371,9 +372,11 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                 <el-form-item label="保险公司">
-                  <el-cascader filterable clearable placeholder="请选择" v-model="editForm.companyIds" style="width: 100%;"
-                    :options="companyList" :props="companyIdprops1" />
+                <el-form-item label="出单协议">
+                  <el-select v-model="editForm.updateAgreementId" placeholder="请选择" clearable 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-col>
             </el-row>
@@ -456,7 +459,7 @@
         <el-button type="primary" @click="handelComfirm(CountFormRef)">确定结算</el-button>
       </template>
     </el-dialog>
-  <el-image-viewer v-if="imageShow" :url-list="[bigImageUrl]" @close="imageShow = false" />
+    <el-image-viewer v-if="imageShow" :url-list="[bigImageUrl]" @close="imageShow = false" />
   </PageMain>
   <ticket ref="ticketRef" />
 </template>
@@ -1084,11 +1087,26 @@ const handelComfirm = (formEl: FormInstance | undefined) => {
     }
   })
 }
+// 获取协议列表
+const agreementList = ref()
+const getagreementList = () => {
+  api.agreementApi.agreementList({
+    isExternal: '0',
+    agreementType: '1',
+    pages: 1,
+    size: 1000,
+  }).then((res: any) => {
+    if (res.code == 200) {
+      agreementList.value = res.data.records
+    }
+  })
+}
 onMounted(() => {
   dictDetails();
   initCompany();
   initDept();
   getPlatFormReceivableList();
+  getagreementList();
 })
 </script>
 
@@ -1135,6 +1153,7 @@ onMounted(() => {
 :deep(.el-table__body tr.current-row:hover > td) {
   background-color: #b4ddf8 !important;
 }
+
 .imageDiv {
   position: relative;
   width: 80px;

+ 26 - 2
src/views/platform/platformRecord.vue

@@ -62,6 +62,12 @@
             </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="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>
@@ -74,6 +80,7 @@
       <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="contactPerson" label="对接人姓名" width="200"></el-table-column>
+      <el-table-column prop="partnerCompanyName" label="保险机构" width="200"></el-table-column>
       <el-table-column prop="contactPersonPhone" label="对接人手机号" width="200"></el-table-column>
       <el-table-column prop="invoiceType" label="应收项" width="200"></el-table-column>
       <el-table-column prop="receivableSupervisePremium" label="应收金额" width="150"></el-table-column>
@@ -117,7 +124,12 @@ import { useRoute, useRouter } from 'vue-router';
 import { ElMessage, ElMessageBox } from 'element-plus';
 const route = useRoute();
 const router = useRouter();
-
+const companyIdprops = {
+  expandTrigger: 'hover' as const,
+  value: 'id',
+  label: 'name',
+  checkStrictly: true,
+}
 let form = ref({});
 let tableData = ref([]);
 const viewCredential = ref(false)//查看凭证弹窗
@@ -211,7 +223,18 @@ const initCompany = () => {
     }
   });
 };
-
+// 保险公司
+let partnerCompanyList = ref([])
+const initPartnerCompany = () => {
+  api.agreementApi.findTree({ name: "", systemCode: localStorage.getItem('login_system') }).then((res: any) => {
+    if (res.code == 200) {
+      partnerCompanyList.value = res.data
+    }
+  })
+}
+const handleCompanyChange = (e) => {
+  form.value.partnerCompanyId = e[e.length - 1] || ''
+}
 const optionObj = ref({})
 const initOption = () => {
   let list = ['invoice_risk_type', 'invoice_party', 'settlement_status']
@@ -318,6 +341,7 @@ onMounted(() => {
   initOption();
   initCompany();
   getqueryContractVos();
+  initPartnerCompany();
 });
 </script>
 

+ 7 - 4
src/views/receivable/documentary/index.vue

@@ -513,10 +513,12 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="保险公司">
-                  <el-cascader filterable clearable placeholder="请选择" v-model="editForm.companyIds" style="width: 100%;"
-                    :options="companyList" :props="companyIdprops1" />
-                </el-form-item>
+              <el-form-item label="出单协议">
+                <el-select v-model="editForm.updateAgreementId" placeholder="请选择" clearable 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-col>
             </el-row>
           </el-form>
@@ -713,6 +715,7 @@ const agreementList = ref()
 const getagreementList = () => {
   api.agreementApi.agreementList({
     isExternal: '0',
+    agreementType: '2',
     pages: 1,
     size: 1000,
   }).then((res: any) => {

+ 9 - 0
src/views/receivable/handingFee/index.vue

@@ -522,6 +522,14 @@
                     :options="companyList" :props="companyIdprops1" />
                 </el-form-item>
               </el-col>
+              <el-col :span="12">
+                <el-form-item label="出单协议">
+                  <el-select v-model="editForm.updateAgreementId" placeholder="请选择" clearable 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-col>
             </el-row>
           </el-form>
         </el-tab-pane>
@@ -622,6 +630,7 @@ const agreementList = ref()
 const getagreementList = () => {
   api.agreementApi.agreementList({
     isExternal: '0',
+    agreementType: '2',
     pages: 1,
     size: 1000,
   }).then((res: any) => {

+ 1 - 1
src/views/receivable/handingFee/report.vue

@@ -160,7 +160,7 @@
           <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>
-          <el-table-column prop="invoiceType" label="应收项" width="100"></el-table-column>
+          <el-table-column prop="invoiceRiskTypeName" label="应收项" width="100"></el-table-column>
           <el-table-column prop="taxPoint" label="税点" width="100"></el-table-column>
           <el-table-column prop="actualReceivedAmount" label="实收金额" width="100"></el-table-column>
           <el-table-column prop="settlementPaymentDifference" label="回款差额" width="100"></el-table-column>