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

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

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

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

@@ -22,6 +22,7 @@ const additionalApi = (axiosInstance: ApiInstance) => ({
   selectById: (data: string) => axiosInstance.get(`/supplementOrder/selectById?id=${data}`), // 详情
   updateOrders: (data: any) => axiosInstance.post('/supplementOrder/updateOrders', data), // 编辑
   getContactAgreement: (id: string) => axiosInstance.get(`agreement/getContactAgreement?companyId=${id}`), // 获取外部协议
+  getCostExternalList: (data:any) => axiosInstance.post(`ptlAgreementCostExternal/costExternalList`,data), // 获取外部协议
   getContactAgreementCost: (data: { agreementId: string, productId: string, isInquiry: string | number }) => axiosInstance.get(`agreement/getContactAgreementCost?agreementId=${data.agreementId}&&productId=${data.productId}&&isInquiry=${data.isInquiry}`),
   // 权益相关接口
   getIPLocation: () => axiosInstance.get('https://ipapi.co/json/'), // ip定位查询

+ 371 - 275
src/views/additionalOrder/additional/index.vue

@@ -50,8 +50,8 @@
                 </span>
               </span>
             </template>
-            <div v-if="carSwitch" class="flex p-r-20px" >
-              <div class="w-340px" >
+            <div v-if="carSwitch" class="flex p-r-20px">
+              <div class="w-340px">
                 <el-form-item label="行驶证主页" class="white-m-p24">
                   <el-upload v-if="!xszFront" drag :auto-upload="false" :show-file-list="false"
                     @change="uploadImage($event, 'xszf')">
@@ -245,7 +245,8 @@
                     <el-form-item prop="registerDate" label="注册日期">
                       <div id="registerDate" style="width: 100%">
                         <el-date-picker v-model="additionalForm.registerDate" type="date" placeholder="请选择"
-                        value-format="YYYY-MM-DD" style="width: 100%"  @focus="inParkingDataFocus('registerDate', additionalForm.registerDate)" />
+                          value-format="YYYY-MM-DD" style="width: 100%"
+                          @focus="inParkingDataFocus('registerDate', additionalForm.registerDate)" />
                       </div>
 
                     </el-form-item>
@@ -254,8 +255,9 @@
                     <el-form-item prop="issueDate" label="发证日期">
                       <div id="issueDate" style="width: 100%">
                         <el-date-picker v-model="additionalForm.issueDate" type="date" placeholder="请选择"
-                        value-format="YYYY-MM-DD" style="width: 100%"  @focus="inParkingDataFocus('issueDate', additionalForm.issueDate)" />
-                    </div>
+                          value-format="YYYY-MM-DD" style="width: 100%"
+                          @focus="inParkingDataFocus('issueDate', additionalForm.issueDate)" />
+                      </div>
                     </el-form-item>
                   </el-col>
                 </el-row>
@@ -404,16 +406,18 @@
               <el-col class="col-m-b-6" :span="6">
                 <el-form-item class="white-m-p24" label="注册日期" prop="registerDate">
                   <div id="registerDate1" style="width: 100%">
-                  <el-date-picker v-model="additionalForm.registerDate" type="date" placeholder="请选择"
-                    value-format="YYYY-MM-DD" style="width: 100%"  @focus="inParkingDataFocus('registerDate1', additionalForm.registerDate)" />
+                    <el-date-picker v-model="additionalForm.registerDate" type="date" placeholder="请选择"
+                      value-format="YYYY-MM-DD" style="width: 100%"
+                      @focus="inParkingDataFocus('registerDate1', additionalForm.registerDate)" />
                   </div>
                 </el-form-item>
               </el-col>
               <el-col class="col-m-b-6" :span="6">
                 <el-form-item label="发证日期" prop="issueDate">
                   <div id="issueDate1" style="width: 100%">
-                  <el-date-picker v-model="additionalForm.issueDate" type="date" placeholder="请选择"
-                    value-format="YYYY-MM-DD" style="width: 100%"  @focus="inParkingDataFocus('issueDate1', additionalForm.issueDate)" />
+                    <el-date-picker v-model="additionalForm.issueDate" type="date" placeholder="请选择"
+                      value-format="YYYY-MM-DD" style="width: 100%"
+                      @focus="inParkingDataFocus('issueDate1', additionalForm.issueDate)" />
                   </div>
                 </el-form-item>
               </el-col>
@@ -438,7 +442,7 @@
                 </span>
               </span>
             </template>
-            <div v-if="owerSwitch" class="flex p-r-20px" >
+            <div v-if="owerSwitch" class="flex p-r-20px">
               <div class="w-340px" v-if="additionalForm.personType1 === '1'">
                 <el-form-item label="身份证正面页" class="white-m-p24">
                   <el-upload v-if="!sfzFront" drag @change="uploadImage($event, 'sfzf')" :auto-upload="false"
@@ -570,15 +574,18 @@
                     <el-form-item prop="identifyValidDate1" label="有效期起期">
                       <div id="identifyValidDate1" style="width: 100%">
                         <el-date-picker v-model="additionalForm.identifyValidDate1" type="date" placeholder="请选择"
-                          value-format="YYYY-MM-DD" style="width: 100%"  @focus="inParkingDataFocus('identifyValidDate1', additionalForm.identifyValidDate1)" />
+                          value-format="YYYY-MM-DD" style="width: 100%"
+                          @focus="inParkingDataFocus('identifyValidDate1', additionalForm.identifyValidDate1)" />
                       </div>
                     </el-form-item>
                   </el-col>
                   <el-col class="col-m-b-6" :span="8">
                     <el-form-item prop="identifyValidEndDate1" label="有效期止期">
-                      <div id="identifyValidEndDate1" style="display: flex; align-items: center; justify-content: space-between; width: 100%">
+                      <div id="identifyValidEndDate1"
+                        style="display: flex; align-items: center; justify-content: space-between; width: 100%">
                         <el-date-picker v-model="additionalForm.identifyValidEndDate1" type="date" placeholder="请选择"
-                          value-format="YYYY-MM-DD" style="width: 80%"  @focus="inParkingDataFocus('identifyValidEndDate1', additionalForm.identifyValidEndDate1)" />
+                          value-format="YYYY-MM-DD" style="width: 80%"
+                          @focus="inParkingDataFocus('identifyValidEndDate1', additionalForm.identifyValidEndDate1)" />
                         <el-button type="primary" @click="longTime(1)">长期</el-button>
                       </div>
                     </el-form-item>
@@ -684,15 +691,18 @@
                 <el-form-item prop="identifyValidDate1" label="有效期2起期">
                   <div id="identifyValidDate2" style="width: 100%">
                     <el-date-picker v-model="additionalForm.identifyValidDate1" type="date" placeholder="请选择"
-                      value-format="YYYY-MM-DD" style="width: 100%"  @focus="inParkingDataFocus('identifyValidDate2', additionalForm.identifyValidDate1)" />
+                      value-format="YYYY-MM-DD" style="width: 100%"
+                      @focus="inParkingDataFocus('identifyValidDate2', additionalForm.identifyValidDate1)" />
                   </div>
                 </el-form-item>
               </el-col>
               <el-col class="col-m-b-6" :span="6">
                 <el-form-item prop="identifyValidEndDate1" label="有效期2止期">
-                  <div id="identifyValidEndDate2" style="display: flex; align-items: center; justify-content: space-between; width: 100%">
+                  <div id="identifyValidEndDate2"
+                    style="display: flex; align-items: center; justify-content: space-between; width: 100%">
                     <el-date-picker v-model="additionalForm.identifyValidEndDate1" type="date" placeholder="请选择"
-                      value-format="YYYY-MM-DD" style="width: 80%"  @focus="inParkingDataFocus('identifyValidEndDate2', additionalForm.identifyValidEndDate1)" />
+                      value-format="YYYY-MM-DD" style="width: 80%"
+                      @focus="inParkingDataFocus('identifyValidEndDate2', additionalForm.identifyValidEndDate1)" />
                     <el-button type="primary" @click="longTime(1)">长期</el-button>
                   </div>
                 </el-form-item>
@@ -862,15 +872,18 @@
                     <el-form-item prop="identifyValidDate2" label="有效期2起期">
                       <div id="identifyValidDate3" style="width: 100%">
                         <el-date-picker v-model="additionalForm.identifyValidDate2" type="date" placeholder="请选择"
-                          value-format="YYYY-MM-DD" style="width: 100%"  @focus="inParkingDataFocus('identifyValidDate3', additionalForm.identifyValidDate2)" />
+                          value-format="YYYY-MM-DD" style="width: 100%"
+                          @focus="inParkingDataFocus('identifyValidDate3', additionalForm.identifyValidDate2)" />
                       </div>
                     </el-form-item>
                   </el-col>
                   <el-col class="col-m-b-6" :span="8">
                     <el-form-item prop="identifyValidEndDate2" label="有效期2止期">
-                      <div id="identifyValidEndDate3" style="display: flex; align-items: center; justify-content: space-between; width: 100%">
+                      <div id="identifyValidEndDate3"
+                        style="display: flex; align-items: center; justify-content: space-between; width: 100%">
                         <el-date-picker v-model="additionalForm.identifyValidEndDate2" type="date" placeholder="请选择"
-                          value-format="YYYY-MM-DD" style="width: 80%"  @focus="inParkingDataFocus('identifyValidEndDate3', additionalForm.identifyValidEndDate2)" />
+                          value-format="YYYY-MM-DD" style="width: 80%"
+                          @focus="inParkingDataFocus('identifyValidEndDate3', additionalForm.identifyValidEndDate2)" />
                         <el-button type="primary" @click="longTime(2)">长期</el-button>
                       </div>
                     </el-form-item>
@@ -944,15 +957,18 @@
                 <el-form-item class="white-m-p24" prop="identifyValidDate2" label="有效期2起期">
                   <div id="identifyValidDate4" style="width: 100%">
                     <el-date-picker v-model="additionalForm.identifyValidDate2" type="date" placeholder="请选择"
-                      value-format="YYYY-MM-DD" style="width: 100%"  @focus="inParkingDataFocus('identifyValidDate4', additionalForm.identifyValidDate2)" />
+                      value-format="YYYY-MM-DD" style="width: 100%"
+                      @focus="inParkingDataFocus('identifyValidDate4', additionalForm.identifyValidDate2)" />
                   </div>
                 </el-form-item>
               </el-col>
               <el-col class="col-m-b-6" :span="6">
                 <el-form-item prop="identifyValidEndDate2" label="有效期2止期">
-                  <div id="identifyValidEndDate4" style="display: flex; align-items: center; justify-content: space-between; width: 100%">
+                  <div id="identifyValidEndDate4"
+                    style="display: flex; align-items: center; justify-content: space-between; width: 100%">
                     <el-date-picker v-model="additionalForm.identifyValidEndDate2" type="date" placeholder="请选择"
-                      value-format="YYYY-MM-DD" style="width: 80%"  @focus="inParkingDataFocus('identifyValidEndDate4', additionalForm.identifyValidEndDate2)" />
+                      value-format="YYYY-MM-DD" style="width: 80%"
+                      @focus="inParkingDataFocus('identifyValidEndDate4', additionalForm.identifyValidEndDate2)" />
                     <el-button type="primary" @click="longTime(2)">长期</el-button>
                   </div>
                 </el-form-item>
@@ -1101,15 +1117,18 @@
                     <el-form-item prop="identifyValidDate3" label="有效期3起期">
                       <div id="identifyValidDate5" style="width: 100%">
                         <el-date-picker v-model="additionalForm.identifyValidDate3" type="date" placeholder="请选择"
-                          value-format="YYYY-MM-DD" style="width: 100%"  @focus="inParkingDataFocus('identifyValidDate5', additionalForm.identifyValidDate3)" />
+                          value-format="YYYY-MM-DD" style="width: 100%"
+                          @focus="inParkingDataFocus('identifyValidDate5', additionalForm.identifyValidDate3)" />
                       </div>
                     </el-form-item>
                   </el-col>
                   <el-col class="col-m-b-6" :span="8">
                     <el-form-item prop="identifyValidEndDate3" label="有效期3止期">
-                      <div id="identifyValidEndDate5" style="display: flex; align-items: center; justify-content: space-between; width: 100%">
+                      <div id="identifyValidEndDate5"
+                        style="display: flex; align-items: center; justify-content: space-between; width: 100%">
                         <el-date-picker v-model="additionalForm.identifyValidEndDate3" type="date" placeholder="请选择"
-                          value-format="YYYY-MM-DD" style="width: 80%"  @focus="inParkingDataFocus('identifyValidEndDate5', additionalForm.identifyValidEndDate3)" />
+                          value-format="YYYY-MM-DD" style="width: 80%"
+                          @focus="inParkingDataFocus('identifyValidEndDate5', additionalForm.identifyValidEndDate3)" />
                         <el-button type="primary" @click="longTime(3)">长期</el-button>
                       </div>
                     </el-form-item>
@@ -1183,15 +1202,18 @@
                 <el-form-item class="white-m-p24" prop="identifyValidDate3" label="有效期3起期">
                   <div id="identifyValidDate6" style="width: 100%">
                     <el-date-picker v-model="additionalForm.identifyValidDate3" type="date" placeholder="请选择"
-                      value-format="YYYY-MM-DD" style="width: 100%"  @focus="inParkingDataFocus('identifyValidDate6', additionalForm.identifyValidDate3)" />
+                      value-format="YYYY-MM-DD" style="width: 100%"
+                      @focus="inParkingDataFocus('identifyValidDate6', additionalForm.identifyValidDate3)" />
                   </div>
                 </el-form-item>
               </el-col>
               <el-col class="col-m-b-6" :span="6">
                 <el-form-item prop="identifyValidEndDate3" label="有效期3止期">
-                  <div id="identifyValidEndDate6" style="display: flex; align-items: center; justify-content: space-between; width: 100%">
+                  <div id="identifyValidEndDate6"
+                    style="display: flex; align-items: center; justify-content: space-between; width: 100%">
                     <el-date-picker v-model="additionalForm.identifyValidEndDate3" type="date" placeholder="请选择"
-                      value-format="YYYY-MM-DD" style="width: 80%"  @focus="inParkingDataFocus('identifyValidEndDate6', additionalForm.identifyValidEndDate3)" />
+                      value-format="YYYY-MM-DD" style="width: 80%"
+                      @focus="inParkingDataFocus('identifyValidEndDate6', additionalForm.identifyValidEndDate3)" />
                     <el-button type="primary" @click="longTime(3)">长期</el-button>
                   </div>
                 </el-form-item>
@@ -1218,7 +1240,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">
@@ -1347,14 +1369,16 @@
                     <el-form-item prop="jqStart" label="">
                       <div id="jqStart" style="width: 100%">
                         <el-date-picker @change="jqChange" v-model="additionalForm.jqStart" type="datetime"
-                          placeholder="请选择" value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"  @focus="inParkingDataFocus('jqStart', additionalForm.jqStart)" />
+                          placeholder="请选择" value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"
+                          @focus="inParkingDataFocus('jqStart', additionalForm.jqStart)" />
                       </div>
                     </el-form-item>
                     &nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;
                     <el-form-item prop="jqEnd" label="">
                       <div id="jqEnd" style="width: 100%">
                         <el-date-picker v-model="additionalForm.jqEnd" type="datetime" placeholder="请选择"
-                          value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"  @focus="inParkingDataFocus('jqEnd', additionalForm.jqEnd)" />
+                          value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"
+                          @focus="inParkingDataFocus('jqEnd', additionalForm.jqEnd)" />
                       </div>
                     </el-form-item>
                   </div>
@@ -1367,14 +1391,16 @@
                     <el-form-item prop="syStart" label="">
                       <div id="syStart" style="width: 100%">
                         <el-date-picker @change="syChange" v-model="additionalForm.syStart" type="datetime"
-                          placeholder="请选择" value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"  @focus="inParkingDataFocus('syStart', additionalForm.syStart)" />
+                          placeholder="请选择" value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"
+                          @focus="inParkingDataFocus('syStart', additionalForm.syStart)" />
                       </div>
                     </el-form-item>
                     &nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;
                     <el-form-item prop="syEnd" label="">
                       <div id="syEnd" style="width: 100%">
                         <el-date-picker v-model="additionalForm.syEnd" type="datetime" placeholder="请选择"
-                          value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"  @focus="inParkingDataFocus('syEnd', additionalForm.syEnd)" />
+                          value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"
+                          @focus="inParkingDataFocus('syEnd', additionalForm.syEnd)" />
                       </div>
                     </el-form-item>
                   </div>
@@ -1404,7 +1430,7 @@
                 </el-form-item>
               </el-col>
               <el-col :span="6">
-                <el-form-item class="white-m-p24" label="保险公司" prop="companyId">
+                <el-form-item class="p-l-24px" label="保险公司" prop="companyId">
                   <el-select v-model="additionalForm.companyId" placeholder="请选择" filterable
                     @change="handleSelectCompany">
                     <el-option v-for="item in bankOption" :key="item.id" :value="item.id"
@@ -1412,6 +1438,25 @@
                   </el-select>
                 </el-form-item>
               </el-col>
+              <el-col :span="6">
+                <el-form-item label="报价协议" prop="agreementId">
+                  <el-select v-model="additionalForm.agreementId" placeholder="请选择" filterable
+                    @change="handleSelectAgreement">
+                    <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-col :span="6">
+                <el-form-item label="对接人" prop="dockingPersonPhone">
+                  <el-select v-model="additionalForm.dockingPersonPhone" placeholder="请选择" filterable
+                    @change="handleSelectPerson">
+                    <el-option v-for="item in costExternalList" :key="item.contactMobile" :value="item.contactMobile"
+                      :label="item.contactPerson"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+
               <el-col :span="6">
                 <el-form-item label="签单时间" prop="signingTime">
                   <el-date-picker v-model="additionalForm.signingTime" type="datetime" placeholder="请选择"
@@ -1419,7 +1464,7 @@
                 </el-form-item>
               </el-col>
               <el-col :span="6">
-                <el-form-item label="评分" prop="score">
+                <el-form-item class="p-l-24px" label="评分" prop="score">
                   <el-input v-model="additionalForm.score" placeholder="请输入评分"></el-input>
                 </el-form-item>
               </el-col>
@@ -1434,7 +1479,7 @@
               </el-col>
 
               <el-col :span="6">
-                <el-form-item class="white-m-p24" label="交强险保单号" prop="jqPolicyNo">
+                <el-form-item label="交强险保单号" prop="jqPolicyNo">
                   <el-input v-model="additionalForm.jqPolicyNo" placeholder="请输入交强险保单号"></el-input>
                 </el-form-item>
               </el-col>
@@ -1447,7 +1492,7 @@
                 </el-form-item>
               </el-col>
               <el-col :span="6">
-                <el-form-item label="交强险保费" prop="jqPremium">
+                <el-form-item class="p-l-24px" label="交强险保费" prop="jqPremium">
                   <el-input v-model="additionalForm.jqPremium" @input="autoSumPremium()" placeholder="请输入交强险保费">
                     <template #append>
                       <span>元</span>
@@ -1468,7 +1513,7 @@
 
 
               <el-col :span="6">
-                <el-form-item class="white-m-p24" label="商业险保单号" prop="syPolicyNo">
+                <el-form-item label="商业险保单号" prop="syPolicyNo">
                   <el-input v-model="additionalForm.syPolicyNo" placeholder="请输入商业险保单号"></el-input>
                 </el-form-item>
               </el-col>
@@ -1481,7 +1526,7 @@
                 </el-form-item>
               </el-col>
               <el-col :span="6">
-                <el-form-item label="商业险保费" prop="syPremium">
+                <el-form-item class="p-l-24px" label="商业险保费" prop="syPremium">
                   <el-input v-model="additionalForm.syPremium" @input="autoSumPremium()" placeholder="请输入商业险保费">
                     <template #append>
                       <span>元</span>
@@ -1499,11 +1544,27 @@
                 </el-form-item>
               </el-col>
               <el-col :span="6">
-                <el-form-item label="驾意险保单号"  class="white-m-p24">
+                <el-form-item label="驾意险保单号">
                   <el-input v-model="additionalForm.jyPolicyNo" placeholder="请输入驾意险保单号">
                   </el-input>
                 </el-form-item>
               </el-col>
+              <el-col :span="6">
+                <el-form-item label="是否现询" prop="">
+                  <el-select v-model="additionalForm.isxx" placeholder="请选择" filterable>
+                    <el-option :value="1" label="是"></el-option>
+                    <el-option :value="0" label="否"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item class="p-l-24px" label="非现询费用" prop="">
+                  <el-select v-model="additionalForm.isxx" :disabled="additionalForm.isxx !== 0" placeholder="请选择" filterable>
+                    <el-option :value="1" label="是"></el-option>
+                    <el-option :value="0" label="否"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
             </el-row>
             <template #icon="{ isActive }">
               <span class="icon">
@@ -1517,197 +1578,198 @@
             <template #title>
               <span class="title">费用信息</span>
             </template>
-            <table class="costTable" cellpadding="0" cellspacing="0">
-          <thead>
-            <tr>
-              <th>
-                <div>险种</div>
-              </th>
-              <th>
-                <div>保费</div>
-              </th>
-              <th colspan="2">
-                <div>入口费用</div>
-              </th>
-              <th colspan="2">
-                <div>出口费用</div>
-              </th>
-              <th colspan="2">
-                <div>手续费费用</div>
-              </th>
-              <th colspan="2">
-                <div>跟单费用</div>
-              </th>
-              <th colspan="2">
-                <div>加投费用(净费)</div>
-              </th>
-
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <th>
-                <div>交强险</div>
-              </th>
-
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jqPremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.jqInletRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jqReceivablePremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.jqExportRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jqPayablePremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.jqCommissionRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jqCommissionPremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.jqFollowRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jqFollowPremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.jqAdditionalRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jqAdditionalPremium }}</div>
-              </th>
-            </tr>
-            <tr>
-              <th>
-                <div>商业险</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.syPremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.syInletRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.syReceivablePremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.syExportRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.syPayablePremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.syCommissionRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.syCommissionPremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.syFollowRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.syFollowPremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.syAdditionalRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.syAdditionalPremium }}</div>
-              </th>
-            </tr>
-            <tr>
-              <th>
-                <div>驾意险</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jyPremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.jyInletRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jyReceivablePremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.jyExportRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jyPayablePremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.jyCommissionRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jyCommissionPremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.jyFollowRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jyFollowPremium }}</div>
-              </th>
-
-              <th>
-                <div>{{ detailData?.costRatio?.jyAdditionalRatio }}%</div>
-              </th>
-              <th>
-                <div>¥{{ detailData?.feeOrdersVo?.jyAdditionalPremium }}</div>
-              </th>
-            </tr>
-            <tr>
-              <th colspan="2">
-                <div>合计:¥{{ (Number(detailData?.feeOrdersVo?.jqPremium) + Number(detailData?.feeOrdersVo?.syPremium) +
-                  Number(detailData?.feeOrdersVo?.jyPremium)).toFixed(2) }}</div>
-              </th>
-              <th colspan="2">
-                <div>小计: ¥{{ (Number(detailData?.feeOrdersVo?.jqReceivablePremium) +
-                  Number(detailData?.feeOrdersVo?.syReceivablePremium) +
-                  Number(detailData?.feeOrdersVo?.jyReceivablePremium)).toFixed(5) }}</div>
-              </th>
-              <th colspan="2">
-                <div>小计: ¥{{ (Number(detailData?.feeOrdersVo?.jqPayablePremium) +
-                  Number(detailData?.feeOrdersVo?.syPayablePremium) +
-                  Number(detailData?.feeOrdersVo?.jyPayablePremium)).toFixed(5) }}</div>
-              </th>
-              <th colspan="2">
-                <div>小计: ¥{{ (Number(detailData?.feeOrdersVo?.jqCommissionPremium) +
-                  Number(detailData?.feeOrdersVo?.syCommissionPremium) +
-                  Number(detailData?.feeOrdersVo?.jyCommissionPremium)).toFixed(5) }}</div>
-              </th>
-              <th colspan="2">
-                <div>小计: ¥{{ (Number(detailData?.feeOrdersVo?.jqFollowPremium) +
-                  Number(detailData?.feeOrdersVo?.syFollowPremium) +
-                  Number(detailData?.feeOrdersVo?.jyFollowPremium)).toFixed(5) }}</div>
-              </th>
-              <th colspan="2">
-                <div>小计: ¥{{ (Number(detailData?.feeOrdersVo?.jqAdditionalPremium) +
-                  Number(detailData?.feeOrdersVo?.syAdditionalPremium) +
-                  Number(detailData?.feeOrdersVo?.jyAdditionalPremium)).toFixed(5) }}</div>
-              </th>
-            </tr>
-          </tbody>
-        </table>
+            <table class="costTable m-[0_24px]" cellpadding="0" cellspacing="0">
+              <thead>
+                <tr>
+                  <th>
+                    <div>险种</div>
+                  </th>
+                  <th>
+                    <div>保费</div>
+                  </th>
+                  <th colspan="2">
+                    <div>入口费用</div>
+                  </th>
+                  <th colspan="2">
+                    <div>出口费用</div>
+                  </th>
+                  <th colspan="2">
+                    <div>手续费费用</div>
+                  </th>
+                  <th colspan="2">
+                    <div>跟单费用</div>
+                  </th>
+                  <th colspan="2">
+                    <div>加投费用(净费)</div>
+                  </th>
+
+                </tr>
+              </thead>
+              <tbody>
+                <tr>
+                  <th>
+                    <div>交强险</div>
+                  </th>
+
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jqPremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.jqInletRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jqReceivablePremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.jqExportRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jqPayablePremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.jqCommissionRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jqCommissionPremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.jqFollowRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jqFollowPremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.jqAdditionalRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jqAdditionalPremium }}</div>
+                  </th>
+                </tr>
+                <tr>
+                  <th>
+                    <div>商业险</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.syPremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.syInletRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.syReceivablePremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.syExportRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.syPayablePremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.syCommissionRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.syCommissionPremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.syFollowRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.syFollowPremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.syAdditionalRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.syAdditionalPremium }}</div>
+                  </th>
+                </tr>
+                <tr>
+                  <th>
+                    <div>驾意险</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jyPremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.jyInletRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jyReceivablePremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.jyExportRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jyPayablePremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.jyCommissionRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jyCommissionPremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.jyFollowRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jyFollowPremium }}</div>
+                  </th>
+
+                  <th>
+                    <div>{{ detailData?.costRatio?.jyAdditionalRatio }}%</div>
+                  </th>
+                  <th>
+                    <div>¥{{ detailData?.feeOrdersVo?.jyAdditionalPremium }}</div>
+                  </th>
+                </tr>
+                <tr>
+                  <th colspan="2">
+                    <div>合计:¥{{ (Number(detailData?.feeOrdersVo?.jqPremium) + Number(detailData?.feeOrdersVo?.syPremium)
+                      +
+                      Number(detailData?.feeOrdersVo?.jyPremium)).toFixed(2) }}</div>
+                  </th>
+                  <th colspan="2">
+                    <div>小计: ¥{{ (Number(detailData?.feeOrdersVo?.jqReceivablePremium) +
+                      Number(detailData?.feeOrdersVo?.syReceivablePremium) +
+                      Number(detailData?.feeOrdersVo?.jyReceivablePremium)).toFixed(5) }}</div>
+                  </th>
+                  <th colspan="2">
+                    <div>小计: ¥{{ (Number(detailData?.feeOrdersVo?.jqPayablePremium) +
+                      Number(detailData?.feeOrdersVo?.syPayablePremium) +
+                      Number(detailData?.feeOrdersVo?.jyPayablePremium)).toFixed(5) }}</div>
+                  </th>
+                  <th colspan="2">
+                    <div>小计: ¥{{ (Number(detailData?.feeOrdersVo?.jqCommissionPremium) +
+                      Number(detailData?.feeOrdersVo?.syCommissionPremium) +
+                      Number(detailData?.feeOrdersVo?.jyCommissionPremium)).toFixed(5) }}</div>
+                  </th>
+                  <th colspan="2">
+                    <div>小计: ¥{{ (Number(detailData?.feeOrdersVo?.jqFollowPremium) +
+                      Number(detailData?.feeOrdersVo?.syFollowPremium) +
+                      Number(detailData?.feeOrdersVo?.jyFollowPremium)).toFixed(5) }}</div>
+                  </th>
+                  <th colspan="2">
+                    <div>小计: ¥{{ (Number(detailData?.feeOrdersVo?.jqAdditionalPremium) +
+                      Number(detailData?.feeOrdersVo?.syAdditionalPremium) +
+                      Number(detailData?.feeOrdersVo?.jyAdditionalPremium)).toFixed(5) }}</div>
+                  </th>
+                </tr>
+              </tbody>
+            </table>
             <template #icon="{ isActive }">
               <span class="icon">
                 <span class="icon-ele">
@@ -2101,7 +2163,7 @@ const handleSwitch = (type) => {
 
 let AdditionalFormRefs = ref()
 // 证件识别
-let  additionalForm = ref({
+let additionalForm = ref({
   // 车辆信息
   licenseNo: '', // 车牌
   vinNo: '', // 车牌识别代码
@@ -2414,6 +2476,12 @@ let additionalRules = ref({
   companyId: [
     { required: true, message: "请选择保险公司", trigger: "change" }
   ],
+  agreementId: [
+    { required: true, message: "请选择报价协议", trigger: "change" }
+  ],
+  dockingPersonPhone: [
+    { required: true, message: "请选择对接人", trigger: "change" }
+  ],
   signingTime: [
     { required: true, message: "请选择签单日期", trigger: "change" }
   ]
@@ -2754,6 +2822,7 @@ const SYChange = (item) => {
 const syChange = (e: any) => {
   additionalForm.value.syEnd = oneYearPast1(e)
 }
+
 // 根据保险公司获取协议
 let agreementList = ref([])
 const handleSelectCompany = (e) => {
@@ -2766,6 +2835,25 @@ const handleSelectCompany = (e) => {
   })
 }
 
+// 根据协议获取对接人
+let costExternalList = ref([])
+const handleSelectAgreement = (ptlAgreementId) => {
+  api.additionalApi.getCostExternalList({ ptlAgreementId }).then((res: any) => {
+    if (res.code == 200) {
+      costExternalList.value = res.data
+    } else {
+      costExternalList.value = []
+    }
+  })
+}
+
+// 根据对接人获取非现询费用
+let costList = ref([])
+const handleSelectPerson = (e) => {
+  const obj = costExternalList.value.find(v => v.contactMobile === e)
+  costList.value = obj?.costExternalListVo || []
+}
+
 // 根据协议获取现循
 let selectList = ref([])
 
@@ -3794,6 +3882,9 @@ const handleSave = () => {
   obj.insOrders = {
     ...obj.insOrders,
     companyId: additionalForm.value.companyId,
+    agreementId: additionalForm.value.agreementId,
+    dockingPersonPhone: additionalForm.value.dockingPersonPhone,
+    dockingPerson: costExternalList.value.find(v => v.contactMobile === additionalForm.value.dockingPersonPhone)?.contactPerson,
     signingTime: additionalForm.value.signingTime,
   }
   obj.insOrdersExternalPolicy = {
@@ -4114,7 +4205,7 @@ const handleSubmit = async (FormRefs) => {
           }
         })
       }
-    }else{
+    } else {
       ElMessage.warning('请完善订单内容')
     }
   })
@@ -4253,6 +4344,8 @@ const initEditData = () => {
         sfz2Back.value = fileList.value.find(v => v.imageType === 'D04')?.downloadUrl
 
         additionalForm.value.companyId = obj.insOrders.companyId
+        additionalForm.value.dockingPersonPhone = obj.insOrders.dockingPersonPhone
+        additionalForm.value.agreementId = obj.insOrders.agreementId
         additionalForm.value.signingTime = obj.insOrders.signingTime
         additionalForm.value.score = obj.insOrdersOtherInfo.score
         additionalForm.value.taxPremium = obj.insOrdersOtherInfo.taxPremium
@@ -4361,54 +4454,57 @@ onMounted(() => {
 
 <style scoped lang="scss">
 @use "@/assets/styles/common/style";
+
 :deep(.el-upload.el-upload--text) {
   --el-color-primary-light-9: #fff
 }
+
 .costTable {
-        width: 100%;
-        border: 1px solid #ebeef5;
-
-        thead {
-          color: #909399;
-
-          th {
-            border-right: 1px solid #ebeef5;
-
-            div {
-              box-sizing: border-box;
-              line-height: 23px;
-              overflow: hidden;
-              overflow-wrap: break-word;
-              padding: 8px 12px;
-              text-overflow: ellipsis;
-              white-space: normal;
-              font-size: 14px;
-              font-weight: 500;
-            }
-          }
-        }
+  width: calc(100% - 48px);
+  border: 1px solid #ebeef5;
+
+  thead {
+    color: #909399;
+
+    th {
+      border-right: 1px solid #ebeef5;
+
+      div {
+        box-sizing: border-box;
+        line-height: 23px;
+        overflow: hidden;
+        overflow-wrap: break-word;
+        padding: 8px 12px;
+        text-overflow: ellipsis;
+        white-space: normal;
+        font-size: 14px;
+        font-weight: 500;
+      }
+    }
+  }
 
-        tbody {
-          color: #303133;
-
-          th {
-            border-top: 1px solid #ebeef5;
-            border-right: 1px solid #ebeef5;
-
-            div {
-              box-sizing: border-box;
-              line-height: 23px;
-              overflow: hidden;
-              overflow-wrap: break-word;
-              padding: 8px 12px;
-              text-overflow: ellipsis;
-              white-space: normal;
-              font-size: 14px;
-              font-weight: 500;
-            }
-          }
-        }
+  tbody {
+    color: #303133;
+
+    th {
+      border-top: 1px solid #ebeef5;
+      border-right: 1px solid #ebeef5;
+
+      div {
+        box-sizing: border-box;
+        line-height: 23px;
+        overflow: hidden;
+        overflow-wrap: break-word;
+        padding: 8px 12px;
+        text-overflow: ellipsis;
+        white-space: normal;
+        font-size: 14px;
+        font-weight: 500;
       }
+    }
+  }
+}
+
 .addtional {
   width: calc(100% - 20px);
   height: calc(100vh - 140px);

+ 41 - 14
src/views/externalAgreement/agreement/agreementAdd.vue

@@ -33,6 +33,24 @@
                 :disabled-date="disabledEndDate" />
             </el-form-item>
           </ElCol>
+          <ElCol :md="24" :lg="6">
+            <el-form-item label="交强险入口手续费比例" prop="jqEntranceFeeRatio">
+              <el-input-number v-model="agreementFrom.jqEntranceFeeRatio" placeholder="输入交强险入口手续费比例" :precision="2"
+                :max="99" />
+            </el-form-item>
+          </ElCol>
+          <ElCol :md="24" :lg="6">
+            <el-form-item label="商业险入口手续费比例" prop="syEntranceFeeRatio">
+              <el-input-number v-model="agreementFrom.syEntranceFeeRatio" placeholder="输入商业险入口手续费比例" :precision="2"
+                :max="99" />
+            </el-form-item>
+          </ElCol>
+          <ElCol :md="24" :lg="6">
+            <el-form-item label="驾意险入口手续费比例" prop="jyEntranceFeeRatio">
+              <el-input-number v-model="agreementFrom.jyEntranceFeeRatio" placeholder="输入驾意险入口手续费比例" :precision="2"
+                :max="99" />
+            </el-form-item>
+          </ElCol>
           <ElCol :md="24" :lg="6">
             <el-form-item label="是否含增值税结算" prop="withTax">
               <el-radio-group v-model="agreementFrom.withTax">
@@ -71,9 +89,11 @@
             </el-form-item>
           </ElCol>
           <ElCol :md="24" :lg="6">
-              <el-form-item label="合作保险公司" prop="companyId">
-                  <el-cascader v-model="agreementFrom.partnerCompanyId" style="width: 100%;" filterable clearable :options="companyOptions" :props="companyIdprops" :show-all-levels="false" @change="partnerCompanyIdChange" />
-              </el-form-item>
+            <el-form-item label="合作保险公司" prop="companyId">
+              <el-cascader v-model="agreementFrom.partnerCompanyId" style="width: 100%;" filterable clearable
+                :options="companyOptions" :props="companyIdprops" :show-all-levels="false"
+                @change="partnerCompanyIdChange" />
+            </el-form-item>
           </ElCol>
           <ElCol :md="24" :lg="6">
             <el-form-item label="协议类型" prop="agreementType">
@@ -86,13 +106,14 @@
           <ElCol :md="24" :lg="6">
             <el-form-item label="管理人" prop="custodianId">
               <el-input v-model="managerName" @click="managerModalVisible = true">{{ agreementFrom.custodianId
-              }}</el-input>
+                }}</el-input>
             </el-form-item>
           </ElCol>
           <ElCol :md="24" :lg="6">
             <el-form-item label="api类型" prop="apiType">
               <el-select v-model="agreementFrom.apiType">
-                <el-option v-for="item in apiOptions" :label="item.label" :value="item.value" :key="item.value"></el-option>
+                <el-option v-for="item in apiOptions" :label="item.label" :value="item.value"
+                  :key="item.value"></el-option>
               </el-select>
             </el-form-item>
           </ElCol>
@@ -110,7 +131,8 @@
     </FixedActionBar>
     <!-- 选择管理人 -->
     <managerModal :managerModal="managerModalVisible" :deptOptions="deptOptions" :managerlist="managerlist"
-      @save="managerModalsave" @NodeClick="managerModalNodeClick" @query="managerModalQuery" @cancel="managerModalVisible = false" />
+      @save="managerModalsave" @NodeClick="managerModalNodeClick" @query="managerModalQuery"
+      @cancel="managerModalVisible = false" />
   </div>
 </template>
 
@@ -139,6 +161,9 @@ interface AgreementForm {
   agreementAbbreviation: string; // 协议简称
   startDate: string; // 生效时间,通常为 ISO 格式的日期字符串
   endDate: string; // 失效时间,通常为 ISO 格式的日期字符串
+  jqEntranceFeeRatio: number; // 交强险入口手续费比例
+  syEntranceFeeRatio: number; // 商业险入口手续费比例
+  jyEntranceFeeRatio: number; // 驾意险入口手续费比例
   withTax: string; // 是否含增值税结算
   moneyTime: any; // 结算周期
   agreementName: string; // 协议描述
@@ -162,6 +187,9 @@ const agreementFrom: AgreementForm = reactive({
   agreementAbbreviation: "",//协议简称
   startDate: "",//生效时间
   endDate: "",//失效时间
+  jqEntranceFeeRatio: "",//交强险入口手续费比例
+  syEntranceFeeRatio: "",//商业险入口手续费比例
+  jyEntranceFeeRatio: "",//驾意险入口手续费比例
   withTax: "",//是否含增值税结算
   moneyTime: 0,//结算周期
   agreementName: "",//协议描述
@@ -269,9 +297,9 @@ const companyIdChange = (value: any) => {
   }
 }
 const partnerCompanyIdChange = (value: any) => {
-    if (value) {
-        agreementFrom.partnerCompanyId = value[value.length - 1]
-    }
+  if (value) {
+    agreementFrom.partnerCompanyId = value[value.length - 1]
+  }
 }
 const deptIdChange = (value: any) => {
   if (value) {
@@ -361,14 +389,14 @@ const managerName = ref();//管理员姓名  回显使用
 //选中机构获取人员
 const managerModalNodeClick = (id: string) => {
   console.log(id)
-  api.agreementApi.getUserByDeptId(id,'').then((res: any) => {
+  api.agreementApi.getUserByDeptId(id, '').then((res: any) => {
     if (res.code == '200') {
       managerlist.value = res.data;
     }
   });
 }
-const managerModalQuery=(searchValue:string)=>{
-  api.agreementApi.getUserByDeptId('',searchValue).then((res: any) => {
+const managerModalQuery = (searchValue: string) => {
+  api.agreementApi.getUserByDeptId('', searchValue).then((res: any) => {
     if (res.code == '200') {
       managerlist.value = res.data;
     }
@@ -384,7 +412,7 @@ const managerModalsave = (id: string, name: string, deptName: string) => {
 let apiOptions = ref([])
 const getApi = () => {
   api.commonApi.personInfo('api_type').then(res => {
-    if(res.code == 200) {
+    if (res.code == 200) {
       apiOptions.value = res.data
     } else {
       ElMessage({
@@ -447,5 +475,4 @@ onMounted(() => {
     }
   }
 }
-
 </style>