wuguojie vor 8 Monaten
Ursprung
Commit
defa14f194

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

@@ -9,6 +9,7 @@ const financeApi = (axiosInstance: ApiInstance) => ({
     auditCancel: (data: string) => axiosInstance.post(`/feeAudit/auditCancel?orderNo=${data}`), // 放弃审核
     updateSigningTime: (data: string) => axiosInstance.post(`/feeAudit/updateSigningTime?orderNo=${data}`), // 更新签单时间
     updateToQuestionOrder: (data: string) => axiosInstance.post(`/feeAudit/updateToQuestionOrder?orderNo=${data}`), // 设置为疑问订单
+    updateToUnQuestionOrder: (data: string) => axiosInstance.post(`/feeAudit/updateToUnQuestionOrder?orderNo=${data}`), // 取消疑问订单
     auditCostInfo: (data: string) => axiosInstance.get(`/feeAudit/auditCostInfo?orderNo=${data}`), // 获取费用详情
     saveCostInfo: (data: any) => axiosInstance.post('/feeAudit/saveCostInfo', data), // 保存调整后的费用
     isLock: (data: string) => axiosInstance.get(`/feeAudit/isLock?orderNo=${data}`), // 判断领取按钮是否锁定

+ 2 - 0
src/layouts/components/InsuranceType/index.vue

@@ -123,6 +123,7 @@ let editIndex = ref(0)
 const initEditData = (data, index, type) => {
   editIndex.value = index
   insuranceType.value = type
+    console.log('选择好的数据', data)
   api.projectApi.getBusinessInsurance().then(res => {
     if(res.code == 200) {
       if(res.data&&res.data.length>0) {
@@ -140,6 +141,7 @@ const initEditData = (data, index, type) => {
           data.forEach(item => {
             item.checked = true
             item.options.forEach(sub => {
+                sub.checked = false
                 if(type === 1) {
                     if(item.optionId === sub.id) {
                         sub.checked = true

+ 8 - 3
src/views/additionalOrder/additional/index.vue

@@ -1139,8 +1139,8 @@
                 </el-form-item>
                 <el-row :gutter="20">
                   <el-col v-if="insuranceForm.taxRelifFlag === '1'" :span="6">
-                    <el-form-item v-if="owerForm.personType === '1'" label="纳税人识别号" prop="identifyNumber">
-                      <el-input v-model="insuranceForm.identifyNumber" placeholder="请输入纳税人识别号"></el-input>
+                    <el-form-item v-if="owerForm.personType === '1'" label="身份证号" prop="identifyNumber">
+                      <el-input v-model="insuranceForm.identifyNumber" placeholder="请输入身份证号"></el-input>
                     </el-form-item>
                     <el-form-item v-else label="纳税人识别号" prop="organizationCode">
                       <el-input v-model="insuranceForm.organizationCode" placeholder="请输入纳税人识别号"></el-input>
@@ -2863,7 +2863,9 @@ const uploadImage = async (file, type) => {
                   owerForm.value.age = getAgeByIdCard(data.identifyNumber)
                   owerForm.value.gender = data.identifyIssuedCom
                   owerForm.value.email = data.email
-                  console.log('识别的结果', owerForm.value)
+                  insuranceForm.value.identifyNumber = data.identifyNumber
+                  insuranceForm.value.taxpayerName = data.name
+                  insuranceForm.value.taxpayerIdentifier = data.identifyType
               } else {
                   ElMessage({
                       message: res.msg,
@@ -2906,6 +2908,9 @@ const uploadImage = async (file, type) => {
                   owerForm.value.age = getAgeByIdCard(data.identifyNumber)
                   owerForm.value.gender = data.identifyIssuedCom
                   owerForm.value.email = data.email
+                  insuranceForm.value.identifyNumber = data.identifyNumber
+                  insuranceForm.value.taxpayerName = data.name
+                  insuranceForm.value.taxpayerIdentifier = data.identifyType
               } else {
                   ElMessage({
                       message: res.msg,

+ 72 - 13
src/views/finance/audit.vue

@@ -128,8 +128,8 @@
                     <el-table-column prop="jyPremium" label="驾意险" width="120"></el-table-column>
                     <el-table-column label="操作" fixed="right" width="200">
                         <template #default="scope">
-                            <el-button link type="primary" size="small">详情</el-button>
-                            <el-button link type="primary" size="small">审核</el-button>
+                            <el-button link type="primary" size="small" @click="handleToDetail(scope, 1)">审核</el-button>
+                            <el-button link type="primary" size="small" @click="handleUpdateToQuestionOrder(scope)">设置疑问订单</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -241,7 +241,7 @@
                         </el-col>
                     </el-row>
                 </el-form>
-                <el-table :data="firstData" style="width: 100%; margin-top: 20px;">
+                <el-table :data="secondData" style="width: 100%; margin-top: 20px;">
                     <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
                     <el-table-column prop="companyName" label="保险公司" width="120"></el-table-column>
                     <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
@@ -274,7 +274,7 @@
                     <el-table-column prop="auditTime" label="审核时间" width="120"></el-table-column>
                     <el-table-column label="操作" fixed="right" width="200">
                         <template #default="scope">
-                            <el-button link type="primary" size="small">详情</el-button>
+                            <el-button link type="primary" size="small" @click="handleToDetail(scope, 0)">详情</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -386,7 +386,7 @@
                         </el-col>
                     </el-row>
                 </el-form>
-                <el-table :data="firstData" style="width: 100%; margin-top: 20px;">
+                <el-table :data="thirdData" style="width: 100%; margin-top: 20px;">
                     <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
                     <el-table-column prop="companyName" label="保险公司" width="120"></el-table-column>
                     <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
@@ -420,7 +420,7 @@
                     <el-table-column prop="refuse" label="驳回原因" width="120"></el-table-column>
                     <el-table-column label="操作" fixed="right" width="200">
                         <template #default="scope">
-                            <el-button link type="primary" size="small">详情</el-button>
+                            <el-button link type="primary" size="small" @click="handleToDetail(scope, 0)">详情</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -532,7 +532,7 @@
                         </el-col>
                     </el-row>
                 </el-form>
-                <el-table :data="firstData" style="width: 100%; margin-top: 20px;">
+                <el-table :data="forthData" style="width: 100%; margin-top: 20px;">
                     <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
                     <el-table-column prop="companyName" label="保险公司" width="120"></el-table-column>
                     <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
@@ -563,8 +563,8 @@
                     <el-table-column prop="jyPremium" label="驾意险" width="120"></el-table-column>
                     <el-table-column label="操作" fixed="right" width="200">
                         <template #default="scope">
-                            <el-button link type="primary" size="small">详情</el-button>
-                            <el-button link type="primary" size="small">取消疑问订单</el-button>
+                            <el-button link type="primary" size="small" @click="handleToDetail(scope, 0)">详情</el-button>
+                            <el-button link type="primary" size="small" @click="handleCancel(scope)">取消疑问订单</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -586,7 +586,12 @@
 
 <script setup lang="ts">
 import api from '@/api'
-import {ElMessage} from "element-plus";
+import { ElMessage } from "element-plus";
+import { useRouter, useRoute } from 'vue-router'
+
+
+const myRouter = useRouter()
+const myRoute = useRoute()
 
 let activeName = ref('0')
 const handleClick = (e) => {
@@ -637,6 +642,9 @@ const handleReset = () => {
 }
 
 let firstData = ref([])
+let secondData = ref([])
+let thirdData = ref([])
+let forthData = ref([])
 
 let total1 = ref(0)
 let total2 = ref(0)
@@ -647,9 +655,11 @@ let pages = ref(1)
 let size = ref(10)
 const handleSizeChange = (size) => {
     size.value = size
+    initList(activeName.value)
 }
 const handleCurrentChange = (page) => {
     pages.value = page
+    initList(activeName.value)
 }
 
 const initList = (type) => {
@@ -658,6 +668,7 @@ const initList = (type) => {
         obj = {
             pages: pages.value,
             size: size.value,
+            receiveUser: localStorage.getItem('userName'),
             licenseNo: firstForm.value?.licenseNo,
             attrType: firstForm.value?.attrType,
             salesman: firstForm.value?.salesman,
@@ -676,6 +687,7 @@ const initList = (type) => {
         obj = {
             pages: pages.value,
             size: size.value,
+            receiveUser: localStorage.getItem('userName'),
             licenseNo: firstForm.value?.licenseNo,
             attrType: firstForm.value?.attrType,
             salesman: firstForm.value?.salesman,
@@ -698,15 +710,15 @@ const initList = (type) => {
                     total1.value = res.data.total
                     break;
                 case '1' :
-                    firstData.value = res.data.records
+                    secondData.value = res.data.records
                     total2.value = res.data.total
                     break;
                 case '2' :
-                    firstData.value = res.data.records
+                    thirdData.value = res.data.records
                     total3.value = res.data.total
                     break;
                 case '3' :
-                    firstData.value = res.data.records
+                    forthData.value = res.data.records
                     total4.value = res.data.total
                     break;
             }
@@ -714,6 +726,53 @@ const initList = (type) => {
     })
 }
 
+const handleToDetail = (scope, bool) => {
+    myRouter.push({
+        path: '/finance/auditOrderDetail',
+        query: {
+            id: scope.row.orderNo,
+            isShow: bool
+        }
+    })
+}
+
+const handleCancel = (scope) => {
+    api.financeApi.updateToUnQuestionOrder(scope.row.orderNo).then((res: any) => {
+        if(res.code == 200) {
+            ElMessage({
+                message: res.msg,
+                type: 'warning'
+            })
+            initList('3')
+            initList('0')
+        } else {
+            ElMessage({
+                message: res.msg,
+                type: 'warning'
+            })
+        }
+    })
+}
+
+// 设为疑问订单
+const handleUpdateToQuestionOrder = (scope) => {
+    api.financeApi.updateToQuestionOrder(scope.row.orderNo).then((res: any) => {
+        if(res.code == 200) {
+            ElMessage({
+                message: res.msg,
+                type: 'success'
+            })
+            initList('0');
+            initList('3')
+        } else {
+            ElMessage({
+                message: res.msg,
+                type: 'warning'
+            })
+        }
+    })
+}
+
 onMounted(() => {
     initList('0');
     initList('1');

+ 58 - 22
src/views/finance/autoAudit.vue

@@ -1,29 +1,29 @@
 <template>
     <div class="autoAudit">
         <el-table :data="firstData" style="width: 100%; margin-top: 20px;">
-            <el-table-column prop="" label="订单号" width="120"></el-table-column>
-            <el-table-column prop="" label="保险公司" width="120"></el-table-column>
-            <el-table-column prop="" label="车牌号" width="120"></el-table-column>
-            <el-table-column prop="" label="被保人" width="120"></el-table-column>
-            <el-table-column prop="" label="订单类型" width="120"></el-table-column>
-            <el-table-column prop="" label="业务员信息" width="120"></el-table-column>
-            <el-table-column prop="" label="业务员类型" width="120"></el-table-column>
-            <el-table-column prop="" label="签单时间" width="120"></el-table-column>
-            <el-table-column prop="" label="报价时间" width="120"></el-table-column>
-            <el-table-column prop="" label="对接人" width="120"></el-table-column>
-            <el-table-column prop="" label="出单协议" width="120"></el-table-column>
-            <el-table-column prop="" label="险种" width="120"></el-table-column>
-            <el-table-column prop="" label="保费总计" width="120"></el-table-column>
-            <el-table-column prop="" label="出单机构" width="120"></el-table-column>
-            <el-table-column prop="" label="录单时间" width="120"></el-table-column>
-            <el-table-column prop="" label="录单人" width="120"></el-table-column>
-            <el-table-column prop="" label="支付时间" width="120"></el-table-column>
-            <el-table-column prop="" label="交强险" width="120"></el-table-column>
-            <el-table-column prop="" label="商业险" width="120"></el-table-column>
-            <el-table-column prop="" label="驾意险" width="120"></el-table-column>
+            <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
+            <el-table-column prop="companyName" label="保险公司" width="120"></el-table-column>
+            <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
+            <el-table-column prop="insurName" label="被保人" width="120"></el-table-column>
+            <el-table-column prop="orderType" label="订单类型" width="120"></el-table-column>
+            <el-table-column prop="name" label="业务员信息" width="120"></el-table-column>
+            <el-table-column prop="attrType" label="业务员类型" width="120"></el-table-column>
+            <el-table-column prop="signingTime" label="签单时间" width="120"></el-table-column>
+            <el-table-column prop="quotationTime" label="报价时间" width="120"></el-table-column>
+            <el-table-column prop="dockingPerson" label="对接人" width="120"></el-table-column>
+            <el-table-column prop="agreementName" label="出单协议" width="120"></el-table-column>
+            <el-table-column prop="productName" label="险种" width="120"></el-table-column>
+            <el-table-column prop="sumPremium" label="保费总计" width="120"></el-table-column>
+            <el-table-column prop="deptName" label="出单机构" width="120"></el-table-column>
+            <el-table-column prop="createTime" label="录单时间" width="120"></el-table-column>
+            <el-table-column prop="createBy" label="录单人" width="120"></el-table-column>
+            <el-table-column prop="payTime" label="支付时间" width="120"></el-table-column>
+            <el-table-column prop="jqPremium" label="交强险" width="120"></el-table-column>
+            <el-table-column prop="syPremium" label="商业险" width="120"></el-table-column>
+            <el-table-column prop="jyPremium" label="驾意险" width="120"></el-table-column>
             <el-table-column label="操作" fixed="right" width="80">
                 <template #default="scope">
-                    <el-button link type="primary" size="small">详情</el-button>
+                    <el-button link type="primary" size="small" @click="handleToDetail(scope)">详情</el-button>
                 </template>
             </el-table-column>
         </el-table>
@@ -31,8 +31,44 @@
 </template>
 
 <script setup lang="ts">
+import api from '@/api'
+import { ElMessage } from "element-plus";
+import { useRoute, useRouter } from 'vue-router'
 
-let firstData = ref([{}])
+const myRoute = useRoute()
+const myRouter = useRouter()
+
+let firstData = ref([])
+
+const initData = () => {
+    api.financeApi.auditList({
+        auditType:  2,
+        auditStatus: 1
+    }).then((res: any) => {
+        if(res.code == 200) {
+            firstData.value = res.data.records
+        } else {
+            ElMessage({
+                message: res.msg,
+                type: 'warning'
+            })
+        }
+    })
+}
+
+const handleToDetail = (scope) => {
+    myRouter.push({
+        path: '/finance/auditOrderDetail',
+        query: {
+            id: scope.row.orderNo,
+            isShow: 0
+        }
+    })
+}
+
+onMounted(() => {
+    initData();
+})
 </script>
 
 <style scoped lang="scss">

+ 226 - 120
src/views/finance/index.vue

@@ -1,36 +1,37 @@
 <template>
     <div class="finance">
         <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
-            <el-tab-pane :label="`待审核(${total1})`" name="first">
+            <el-tab-pane name="0">
+                <template #label>
+                    <el-badge :value="total1">
+                        <span>待审核</span>
+                    </el-badge>
+                </template>
                 <el-form v-model="firstForm" label-width="100">
                     <el-row :gutter="20">
                         <el-col :span="8">
                             <el-form-item label="车牌号">
-                                <el-input v-model="firstForm" placeholder="请输入" clearable></el-input>
+                                <el-input v-model="firstForm.licenseNo" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="业务员类型">
-                                <el-select v-model="firstForm" placeholder="请选择" clearable>
-                                    <el-option value="1" label="前线人员"></el-option>
-                                    <el-option value="2" label="后线人员"></el-option>
-                                    <el-option value="3" label="合伙人"></el-option>
-                                    <el-option value="4" label="工作室管理员"></el-option>
-                                    <el-option value="5" label="团队"></el-option>
-                                    <el-option value="6" label="个代"></el-option>
-                                    <el-option value="7" label="电销"></el-option>
-                                    <el-option value="8" label="渠道"></el-option>
+                                <el-select v-model="firstForm.attrType" placeholder="请选择" clearable>
+                                    <el-option label="团队" value="5"></el-option>
+                                    <el-option label="个代" value="6"></el-option>
+                                    <el-option label="渠道" value="7"></el-option>
+                                    <el-option label="电销组" value="8"></el-option>
                                 </el-select>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="业务员">
-                                <el-input v-model="firstForm" placeholder="请输入" clearable></el-input>
+                                <el-input v-model="firstForm.salesman" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="订单类型">
-                                <el-select v-model="firstForm" placeholder="请选择" clearable>
+                                <el-select v-model="firstForm.orderType" placeholder="请选择" clearable>
                                     <el-option label="车险录入" value="1"></el-option>
                                     <el-option label="待客录单" value="2"></el-option>
                                     <el-option label="外部订单" value="3"></el-option>
@@ -39,7 +40,7 @@
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="保险公司">
-                                <el-select v-model="firstForm" placeholder="请选择" clearable>
+                                <el-select v-model="firstForm.companyId" placeholder="请选择" clearable>
                                     <el-option v-for="item in companyList" :key="item.companyCode" :value="item.companyCode" :label="item.name"></el-option>
                                 </el-select>
                             </el-form-item>
@@ -49,7 +50,7 @@
                                 <el-cascader
                                     clearable
                                     style="width: 100%"
-                                    v-model="firstForm"
+                                    v-model="firstForm.deptId"
                                     :options="option"
                                     :props="tableProps"
                                 ></el-cascader>
@@ -57,13 +58,13 @@
                         </el-col>
                         <el-col v-show="isTrue" :span="8">
                             <el-form-item label="被保人">
-                                <el-input v-model="firstForm" placeholder="请输入" clearable></el-input>
+                                <el-input v-model="firstForm.insurName" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
                         <el-col v-show="isTrue" :span="8">
                             <el-form-item label="报价时间">
                                 <el-date-picker
-                                    v-model="firstForm"
+                                    v-model="firstForm.quotationTime"
                                     type="daterange"
                                     range-separator="至"
                                     start-placeholder="开始时间"
@@ -76,7 +77,7 @@
                         <el-col v-show="isTrue" :span="8">
                             <el-form-item label="签单时间">
                                 <el-date-picker
-                                    v-model="firstForm"
+                                    v-model="firstForm.signingTime"
                                     type="daterange"
                                     range-separator="至"
                                     start-placeholder="开始时间"
@@ -87,8 +88,8 @@
                             </el-form-item>
                         </el-col>
                         <el-col :span="24" style="display: flex; align-items: center; justify-content: flex-end">
-                            <el-button type="primary">搜索</el-button>
-                            <el-button plain>重置</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>
                                 <el-icon class="is_icon" :class="{ 'is_down': isTrue }"><ArrowDown /></el-icon>
@@ -97,30 +98,31 @@
                     </el-row>
                 </el-form>
                 <el-table :data="firstData" style="width: 100%; margin-top: 20px;">
-                    <el-table-column prop="" label="订单号" width="120"></el-table-column>
-                    <el-table-column prop="" label="保险公司" width="120"></el-table-column>
-                    <el-table-column prop="" label="车牌号" width="120"></el-table-column>
-                    <el-table-column prop="" label="被保人" width="120"></el-table-column>
-                    <el-table-column prop="" label="订单类型" width="120"></el-table-column>
-                    <el-table-column prop="" label="业务员信息" width="120"></el-table-column>
-                    <el-table-column prop="" label="业务员类型" width="120"></el-table-column>
-                    <el-table-column prop="" label="签单时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="报价时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="对接人" width="120"></el-table-column>
-                    <el-table-column prop="" label="出单协议" width="120"></el-table-column>
-                    <el-table-column prop="" label="险种" width="120"></el-table-column>
-                    <el-table-column prop="" label="保费总计" width="120"></el-table-column>
-                    <el-table-column prop="" label="出单机构" width="120"></el-table-column>
-                    <el-table-column prop="" label="录单时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="录单人" width="120"></el-table-column>
-                    <el-table-column prop="" label="支付时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="交强险" width="120"></el-table-column>
-                    <el-table-column prop="" label="商业险" width="120"></el-table-column>
-                    <el-table-column prop="" label="驾意险" width="120"></el-table-column>
+                    <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
+                    <el-table-column prop="companyName" label="保险公司" width="120"></el-table-column>
+                    <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
+                    <el-table-column prop="insurName" label="被保人" width="120"></el-table-column>
+                    <el-table-column prop="orderType" label="订单类型" width="120"></el-table-column>
+                    <el-table-column prop="name" label="业务员信息" width="120"></el-table-column>
+                    <el-table-column prop="attrType" label="业务员类型" width="120"></el-table-column>
+                    <el-table-column prop="signingTime" label="签单时间" width="120"></el-table-column>
+                    <el-table-column prop="quotationTime" label="报价时间" width="120"></el-table-column>
+                    <el-table-column prop="dockingPerson" label="对接人" width="120"></el-table-column>
+                    <el-table-column prop="agreementName" label="出单协议" width="120"></el-table-column>
+                    <el-table-column prop="productName" label="险种" width="120"></el-table-column>
+                    <el-table-column prop="sumPremium" label="保费总计" width="120"></el-table-column>
+                    <el-table-column prop="deptName" label="出单机构" width="120"></el-table-column>
+                    <el-table-column prop="createTime" label="录单时间" width="120"></el-table-column>
+                    <el-table-column prop="createBy" label="录单人" width="120"></el-table-column>
+                    <el-table-column prop="payTime" label="支付时间" width="120"></el-table-column>
+                    <el-table-column prop="jqPremium" label="交强险" width="120"></el-table-column>
+                    <el-table-column prop="syPremium" label="商业险" width="120"></el-table-column>
+                    <el-table-column prop="jyPremium" label="驾意险" width="120"></el-table-column>
                     <el-table-column label="操作" fixed="right" width="200">
                         <template #default="scope">
                             <el-button link type="primary" size="small" @click="auditReceive(scope.row)">领取</el-button>
                             <el-button link type="primary" size="small" @click="updateSigningTime(scope.row)">更新签单时间</el-button>
+                            <el-button link type="primary" size="small" @click="handleToDetail(scope)">详情</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -136,37 +138,47 @@
                     ></el-pagination>
                 </div>
             </el-tab-pane>
-            <el-tab-pane :label="`审核通过(${total2})`" name="second">
+            <el-tab-pane name="1">
+                <template #label>
+                    <el-badge :value="total2">
+                        <span>审核通过</span>
+                    </el-badge>
+                </template>
                 <el-form v-model="firstForm" label-width="100">
                     <el-row :gutter="20">
                         <el-col :span="8">
                             <el-form-item label="车牌号">
-                                <el-input v-model="firstForm" placeholder="请输入" clearable></el-input>
+                                <el-input v-model="firstForm.licenseNo" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="业务员类型">
-                                <el-select v-model="firstForm" placeholder="请选择" clearable>
-                                    <el-option label="1" value="1"></el-option>
+                                <el-select v-model="firstForm.attrType" placeholder="请选择" clearable>
+                                    <el-option label="团队" value="5"></el-option>
+                                    <el-option label="个代" value="6"></el-option>
+                                    <el-option label="渠道" value="7"></el-option>
+                                    <el-option label="电销组" value="8"></el-option>
                                 </el-select>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="业务员">
-                                <el-input v-model="firstForm" placeholder="请输入" clearable></el-input>
+                                <el-input v-model="firstForm.salesman" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="订单类型">
-                                <el-select v-model="firstForm" placeholder="请选择" clearable>
-                                    <el-option label="1" value="1"></el-option>
+                                <el-select v-model="firstForm.orderType" placeholder="请选择" clearable>
+                                    <el-option label="车险录入" value="1"></el-option>
+                                    <el-option label="待客录单" value="2"></el-option>
+                                    <el-option label="外部订单" value="3"></el-option>
                                 </el-select>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="保险公司">
-                                <el-select v-model="firstForm" placeholder="请选择" clearable>
-                                    <el-option label="1" value="1"></el-option>
+                                <el-select v-model="firstForm.companyId" placeholder="请选择" clearable>
+                                    <el-option v-for="item in companyList" :key="item.companyCode" :value="item.companyCode" :label="item.name"></el-option>
                                 </el-select>
                             </el-form-item>
                         </el-col>
@@ -175,7 +187,7 @@
                                 <el-cascader
                                     clearable
                                     style="width: 100%"
-                                    v-model="firstForm"
+                                    v-model="firstForm.deptId"
                                     :options="option"
                                     :props="tableProps"
                                 ></el-cascader>
@@ -183,13 +195,13 @@
                         </el-col>
                         <el-col v-show="isTrue" :span="8">
                             <el-form-item label="被保人">
-                                <el-input v-model="firstForm" placeholder="请输入" clearable></el-input>
+                                <el-input v-model="firstForm.insurName" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
                         <el-col v-show="isTrue" :span="8">
                             <el-form-item label="报价时间">
                                 <el-date-picker
-                                    v-model="firstForm"
+                                    v-model="firstForm.quotationTime"
                                     type="daterange"
                                     range-separator="至"
                                     start-placeholder="开始时间"
@@ -202,7 +214,7 @@
                         <el-col v-show="isTrue" :span="8">
                             <el-form-item label="签单时间">
                                 <el-date-picker
-                                    v-model="firstForm"
+                                    v-model="firstForm.signingTime"
                                     type="daterange"
                                     range-separator="至"
                                     start-placeholder="开始时间"
@@ -213,8 +225,8 @@
                             </el-form-item>
                         </el-col>
                         <el-col :span="24" style="display: flex; align-items: center; justify-content: flex-end">
-                            <el-button type="primary">搜索</el-button>
-                            <el-button plain>重置</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>
                                 <el-icon class="is_icon" :class="{ 'is_down': isTrue }"><ArrowDown /></el-icon>
@@ -222,31 +234,32 @@
                         </el-col>
                     </el-row>
                 </el-form>
-                <el-table :data="firstData" style="width: 100%; margin-top: 20px;">
-                    <el-table-column prop="" label="订单号" width="120"></el-table-column>
-                    <el-table-column prop="" label="保险公司" width="120"></el-table-column>
-                    <el-table-column prop="" label="车牌号" width="120"></el-table-column>
-                    <el-table-column prop="" label="被保人" width="120"></el-table-column>
-                    <el-table-column prop="" label="订单类型" width="120"></el-table-column>
-                    <el-table-column prop="" label="业务员信息" width="120"></el-table-column>
-                    <el-table-column prop="" label="业务员类型" width="120"></el-table-column>
-                    <el-table-column prop="" label="签单时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="报价时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="对接人" width="120"></el-table-column>
-                    <el-table-column prop="" label="出单协议" width="120"></el-table-column>
-                    <el-table-column prop="" label="险种" width="120"></el-table-column>
-                    <el-table-column prop="" label="保费总计" width="120"></el-table-column>
-                    <el-table-column prop="" label="出单机构" width="120"></el-table-column>
-                    <el-table-column prop="" label="录单时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="录单人" width="120"></el-table-column>
-                    <el-table-column prop="" label="支付时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="交强险" width="120"></el-table-column>
-                    <el-table-column prop="" label="商业险" width="120"></el-table-column>
-                    <el-table-column prop="" label="驾意险" width="120"></el-table-column>
+                <el-table :data="secondData" style="width: 100%; margin-top: 20px;">
+                    <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
+                    <el-table-column prop="companyName" label="保险公司" width="120"></el-table-column>
+                    <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
+                    <el-table-column prop="insurName" label="被保人" width="120"></el-table-column>
+                    <el-table-column prop="orderType" label="订单类型" width="120"></el-table-column>
+                    <el-table-column prop="name" label="业务员信息" width="120"></el-table-column>
+                    <el-table-column prop="attrType" label="业务员类型" width="120"></el-table-column>
+                    <el-table-column prop="signingTime" label="签单时间" width="120"></el-table-column>
+                    <el-table-column prop="quotationTime" label="报价时间" width="120"></el-table-column>
+                    <el-table-column prop="dockingPerson" label="对接人" width="120"></el-table-column>
+                    <el-table-column prop="agreementName" label="出单协议" width="120"></el-table-column>
+                    <el-table-column prop="productName" label="险种" width="120"></el-table-column>
+                    <el-table-column prop="sumPremium" label="保费总计" width="120"></el-table-column>
+                    <el-table-column prop="deptName" label="出单机构" width="120"></el-table-column>
+                    <el-table-column prop="createTime" label="录单时间" width="120"></el-table-column>
+                    <el-table-column prop="createBy" label="录单人" width="120"></el-table-column>
+                    <el-table-column prop="payTime" label="支付时间" width="120"></el-table-column>
+                    <el-table-column prop="jqPremium" label="交强险" width="120"></el-table-column>
+                    <el-table-column prop="syPremium" label="商业险" width="120"></el-table-column>
+                    <el-table-column prop="jyPremium" label="驾意险" width="120"></el-table-column>
                     <el-table-column label="操作" fixed="right" width="200">
                         <template #default="scope">
                             <el-button link type="primary" size="small" @click="auditReceive(scope.row)">领取</el-button>
                             <el-button link type="primary" size="small" @click="updateSigningTime(scope.row)">更新签单时间</el-button>
+                            <el-button link type="primary" size="small" @click="handleToDetail(scope)">详情</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -262,37 +275,47 @@
                     ></el-pagination>
                 </div>
             </el-tab-pane>
-            <el-tab-pane :label="`审核不通过(${total3})`" name="third">
+            <el-tab-pane name="2">
+                <template #label>
+                    <el-badge :value="total3">
+                        <span>审核不通过</span>
+                    </el-badge>
+                </template>
                 <el-form v-model="firstForm" label-width="100">
                     <el-row :gutter="20">
                         <el-col :span="8">
                             <el-form-item label="车牌号">
-                                <el-input v-model="firstForm" placeholder="请输入" clearable></el-input>
+                                <el-input v-model="firstForm.licenseNo" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="业务员类型">
-                                <el-select v-model="firstForm" placeholder="请选择" clearable>
-                                    <el-option label="1" value="1"></el-option>
+                                <el-select v-model="firstForm.attrType" placeholder="请选择" clearable>
+                                    <el-option label="团队" value="5"></el-option>
+                                    <el-option label="个代" value="6"></el-option>
+                                    <el-option label="渠道" value="7"></el-option>
+                                    <el-option label="电销组" value="8"></el-option>
                                 </el-select>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="业务员">
-                                <el-input v-model="firstForm" placeholder="请输入" clearable></el-input>
+                                <el-input v-model="firstForm.salesman" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="订单类型">
-                                <el-select v-model="firstForm" placeholder="请选择" clearable>
-                                    <el-option label="1" value="1"></el-option>
+                                <el-select v-model="firstForm.orderType" placeholder="请选择" clearable>
+                                    <el-option label="车险录入" value="1"></el-option>
+                                    <el-option label="待客录单" value="2"></el-option>
+                                    <el-option label="外部订单" value="3"></el-option>
                                 </el-select>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="保险公司">
-                                <el-select v-model="firstForm" placeholder="请选择" clearable>
-                                    <el-option label="1" value="1"></el-option>
+                                <el-select v-model="firstForm.companyId" placeholder="请选择" clearable>
+                                    <el-option v-for="item in companyList" :key="item.companyCode" :value="item.companyCode" :label="item.name"></el-option>
                                 </el-select>
                             </el-form-item>
                         </el-col>
@@ -301,7 +324,7 @@
                                 <el-cascader
                                     clearable
                                     style="width: 100%"
-                                    v-model="firstForm"
+                                    v-model="firstForm.deptId"
                                     :options="option"
                                     :props="tableProps"
                                 ></el-cascader>
@@ -309,13 +332,13 @@
                         </el-col>
                         <el-col v-show="isTrue" :span="8">
                             <el-form-item label="被保人">
-                                <el-input v-model="firstForm" placeholder="请输入" clearable></el-input>
+                                <el-input v-model="firstForm.insurName" placeholder="请输入" clearable></el-input>
                             </el-form-item>
                         </el-col>
                         <el-col v-show="isTrue" :span="8">
                             <el-form-item label="报价时间">
                                 <el-date-picker
-                                    v-model="firstForm"
+                                    v-model="firstForm.quotationTime"
                                     type="daterange"
                                     range-separator="至"
                                     start-placeholder="开始时间"
@@ -328,7 +351,7 @@
                         <el-col v-show="isTrue" :span="8">
                             <el-form-item label="签单时间">
                                 <el-date-picker
-                                    v-model="firstForm"
+                                    v-model="firstForm.signingTime"
                                     type="daterange"
                                     range-separator="至"
                                     start-placeholder="开始时间"
@@ -339,8 +362,8 @@
                             </el-form-item>
                         </el-col>
                         <el-col :span="24" style="display: flex; align-items: center; justify-content: flex-end">
-                            <el-button type="primary">搜索</el-button>
-                            <el-button plain>重置</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>
                                 <el-icon class="is_icon" :class="{ 'is_down': isTrue }"><ArrowDown /></el-icon>
@@ -348,31 +371,32 @@
                         </el-col>
                     </el-row>
                 </el-form>
-                <el-table :data="firstData" style="width: 100%; margin-top: 20px;">
-                    <el-table-column prop="" label="订单号" width="120"></el-table-column>
-                    <el-table-column prop="" label="保险公司" width="120"></el-table-column>
-                    <el-table-column prop="" label="车牌号" width="120"></el-table-column>
-                    <el-table-column prop="" label="被保人" width="120"></el-table-column>
-                    <el-table-column prop="" label="订单类型" width="120"></el-table-column>
-                    <el-table-column prop="" label="业务员信息" width="120"></el-table-column>
-                    <el-table-column prop="" label="业务员类型" width="120"></el-table-column>
-                    <el-table-column prop="" label="签单时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="报价时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="对接人" width="120"></el-table-column>
-                    <el-table-column prop="" label="出单协议" width="120"></el-table-column>
-                    <el-table-column prop="" label="险种" width="120"></el-table-column>
-                    <el-table-column prop="" label="保费总计" width="120"></el-table-column>
-                    <el-table-column prop="" label="出单机构" width="120"></el-table-column>
-                    <el-table-column prop="" label="录单时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="录单人" width="120"></el-table-column>
-                    <el-table-column prop="" label="支付时间" width="120"></el-table-column>
-                    <el-table-column prop="" label="交强险" width="120"></el-table-column>
-                    <el-table-column prop="" label="商业险" width="120"></el-table-column>
-                    <el-table-column prop="" label="驾意险" width="120"></el-table-column>
+                <el-table :data="thirdData" style="width: 100%; margin-top: 20px;">
+                    <el-table-column prop="orderNo" label="订单号" width="120"></el-table-column>
+                    <el-table-column prop="companyName" label="保险公司" width="120"></el-table-column>
+                    <el-table-column prop="licenseNo" label="车牌号" width="120"></el-table-column>
+                    <el-table-column prop="insurName" label="被保人" width="120"></el-table-column>
+                    <el-table-column prop="orderType" label="订单类型" width="120"></el-table-column>
+                    <el-table-column prop="name" label="业务员信息" width="120"></el-table-column>
+                    <el-table-column prop="attrType" label="业务员类型" width="120"></el-table-column>
+                    <el-table-column prop="signingTime" label="签单时间" width="120"></el-table-column>
+                    <el-table-column prop="quotationTime" label="报价时间" width="120"></el-table-column>
+                    <el-table-column prop="dockingPerson" label="对接人" width="120"></el-table-column>
+                    <el-table-column prop="agreementName" label="出单协议" width="120"></el-table-column>
+                    <el-table-column prop="productName" label="险种" width="120"></el-table-column>
+                    <el-table-column prop="sumPremium" label="保费总计" width="120"></el-table-column>
+                    <el-table-column prop="deptName" label="出单机构" width="120"></el-table-column>
+                    <el-table-column prop="createTime" label="录单时间" width="120"></el-table-column>
+                    <el-table-column prop="createBy" label="录单人" width="120"></el-table-column>
+                    <el-table-column prop="payTime" label="支付时间" width="120"></el-table-column>
+                    <el-table-column prop="jqPremium" label="交强险" width="120"></el-table-column>
+                    <el-table-column prop="syPremium" label="商业险" width="120"></el-table-column>
+                    <el-table-column prop="jyPremium" label="驾意险" width="120"></el-table-column>
                     <el-table-column label="操作" fixed="right" width="200">
                         <template #default="scope">
                             <el-button link type="primary" size="small" @click="auditReceive(scope.row)">领取</el-button>
                             <el-button link type="primary" size="small" @click="updateSigningTime(scope.row)">更新签单时间</el-button>
+                            <el-button link type="primary" size="small" @click="handleToDetail(scope)">详情</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -394,17 +418,23 @@
 
 <script setup lang="ts">
 import api from '@/api'
-import {ElMessage} from "element-plus";
+import { ElMessage } from "element-plus";
+import { useRoute, useRouter } from 'vue-router'
+
+const myRoute = useRoute()
+const myRouter = useRouter()
 
-let activeName = ref('first')
-const handleClick = () => {
+let activeName = ref('0')
+const handleClick = (e) => {
+    activeName.value = e.props.name
     pages.value = 1
     size.value = 10
-    firstForm.value = null
+    firstForm.value = {}
+    initData(activeName.value)
 }
 
 // 待审核
-let firstForm = ref()
+let firstForm = ref({})
 let option = ref([])
 const tableProps = ref({
     value: "id",
@@ -412,7 +442,21 @@ const tableProps = ref({
     children: "children",
     checkStrictly: true,
 });
-let firstData = ref([{}])
+const institutionList = () => {
+    api.institutionApi.institutionList({ name: '', system: '' }).then((res: any) => {
+        if(res.code == 200) {
+            option.value = res.data
+        } else {
+            ElMessage({
+                message: res.msg,
+                type: 'warning'
+            })
+        }
+    })
+}
+let firstData = ref([])
+let secondData = ref([])
+let thirdData = ref([])
 
 let total1 = ref(0)
 let total2 = ref(0)
@@ -422,9 +466,11 @@ let pages = ref(1)
 let size = ref(10)
 const handleSizeChange = (size) => {
     size.value = size
+    initData(activeName.value)
 }
 const handleCurrentChange = (page) => {
     pages.value = page
+    initData(activeName.value)
 }
 
 // 是否高级搜索
@@ -444,7 +490,7 @@ const auditReceive = (row) => {
     api.financeApi.isLock(row.id).then((res: any) => {
         if(res.code == 200) {
             if(!res.data) {
-                api.financeApi.auditReceive(row.id).then((res: any) => {
+                api.financeApi.auditReceive(row.orderNo).then((res: any) => {
                     if(res.code == 200) {
                         ElMessage({
                             message: res.msg,
@@ -463,18 +509,71 @@ const auditReceive = (row) => {
 }
 //更新签单时间
 const updateSigningTime = (row) => {
-    api.financeApi.updateSigningTime(row.id).then((res: any) => {
+    api.financeApi.updateSigningTime(row.orderNo).then((res: any) => {
         if(res.code == 200) {
             ElMessage({
                 message: res.msg,
                 type: 'success'
             })
+        } else {
+            ElMessage({
+                message: res.msg,
+                type: 'warning'
+            })
+        }
+    })
+}
+
+const initData = (type) => {
+    api.financeApi.auditList({
+        ...firstForm.value,
+        auditStatus: type,
+        pages: pages.value,
+        size: size.value,
+    }).then((res: any) => {
+        if(res.code == 200) {
+            switch (type) {
+                case '0' :
+                    firstData.value = res.data.records
+                    total1.value = res.data.total
+                    console.log('数据', firstData.value)
+                    break;
+                case '1' :
+                    secondData.value = res.data.records
+                    total2.value = res.data.total
+                    break;
+                case '2' :
+                    thirdData.value = res.data.records
+                    total3.value = res.data.total
+                    break;
+            }
+        }
+    })
+}
+const handleSearch = () => {
+    initData(activeName.value)
+}
+const handleReset = () => {
+    firstForm.value = {}
+    initData(activeName.value)
+}
+
+const handleToDetail = (scope) => {
+    myRouter.push({
+        path: '/finance/auditOrderDetail',
+        query: {
+            id: scope.row.orderNo,
+            isShow: 0
         }
     })
 }
 
 onMounted(() => {
+    institutionList();
     initCompany();
+    initData('0')
+    initData('1')
+    initData('2')
 })
 
 </script>
@@ -506,5 +605,12 @@ onMounted(() => {
         display: flex;
         justify-content: flex-end;
     }
+    :deep(.el-badge__content.is-fixed) {
+        right: calc(var(--el-badge-size) / 2 - 10px);
+        top: 50%;
+    }
+    :deep(.el-badge__content--danger) {
+        background-color: #D40000;
+    }
 }
 </style>

+ 8 - 4
src/views/finance/modules/auditDetail.vue

@@ -732,15 +732,15 @@
             </div>
         </div>
         <div class="buttonList">
-            <el-button type="primary" @click="handleAuditCancel">放弃审核</el-button>
-            <el-button type="primary" @click="handleUpdateToQuestionOrder">设为疑问订单</el-button>
-            <el-button type="primary" @click="handleAudit(1)">审核通过</el-button>
+            <el-button v-if="isShow === '1'" type="primary" @click="handleAuditCancel">放弃审核</el-button>
+            <el-button v-if="isShow === '1'" type="primary" @click="handleUpdateToQuestionOrder">设为疑问订单</el-button>
+            <el-button v-if="isShow === '1'" type="primary" @click="handleAudit(1)">审核通过</el-button>
             <el-popconfirm
                 width="300"
                 title="审核不通过"
             >
                 <template #reference>
-                    <el-button type="primary">审核驳回</el-button>
+                    <el-button v-if="isShow === '1'" type="primary">审核驳回</el-button>
                 </template>
                 <template #actions="{ confirm, cancel }">
                     <el-input placeholder="请填写" v-model="refuse" style="margin-bottom: 20px"></el-input>
@@ -1085,7 +1085,11 @@ const getCostDetail = () => {
     })
 }
 
+let isShow = ref('0')
+
 onMounted(() => {
+    console.log(123123, typeof myRoute.query.isShow)
+    isShow.value = myRoute.query.isShow
     initDetail();
     initOption();
 })

+ 32 - 14
src/views/insurancePolicy/index.vue

@@ -230,8 +230,8 @@
             <el-col :span="6">
               <el-form-item label="证件类型" prop="personType1">
                 <el-select v-model="insurancePolicyForm.identifyType1" placeholder="请选择">
-                  <el-option label="身份证" value="1" key="1"></el-option>
-                  <el-option label="营业执照" value="2" key="2"></el-option>
+                  <el-option label="身份证" value="01" key="01"></el-option>
+                  <el-option label="营业执照" value="02" key="02"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
@@ -378,8 +378,8 @@
             <el-col :span="6">
               <el-form-item label="证件类型" prop="personType2">
                 <el-select v-model="insurancePolicyForm.identifyType2" placeholder="请选择">
-                  <el-option label="身份证" value="1" key="1"></el-option>
-                  <el-option label="营业执照" value="2" key="2"></el-option>
+                  <el-option label="身份证" value="01" key="01"></el-option>
+                  <el-option label="营业执照" value="02" key="02"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
@@ -523,8 +523,8 @@
             <el-col :span="6">
               <el-form-item label="证件类型" prop="personType3">
                 <el-select v-model="insurancePolicyForm.identifyType3" placeholder="请选择">
-                  <el-option label="身份证" value="1" key="01"></el-option>
-                  <el-option label="营业执照" value="2" key="02"></el-option>
+                  <el-option label="身份证" value="01" key="01"></el-option>
+                  <el-option label="营业执照" value="02" key="02"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
@@ -664,8 +664,8 @@
                     <el-col :span="6">
                         <el-form-item label="证件类型" prop="taxpayerIdentifier">
                             <el-select v-model="insurancePolicyForm.taxpayerIdentifier" placeholder="请选择">
-                                <el-option label="身份证" value="1" key="1"></el-option>
-                                <el-option label="营业执照" value="2" key="2"></el-option>
+                                <el-option label="身份证" value="01" key="01"></el-option>
+                                <el-option label="营业执照" value="02" key="02"></el-option>
                             </el-select>
                         </el-form-item>
                     </el-col>
@@ -1091,7 +1091,7 @@
               <template #header>
                 <div style="display: flex; align-items: center; justify-content: center">
                   <span style="margin-right: 10px">报价结果</span>
-                  <el-checkbox>仅查看报价成功</el-checkbox>
+                  <el-checkbox @change="handleViewSuccess">仅查看报价成功</el-checkbox>
                 </div>
               </template>
               <template #default="scope">
@@ -1341,7 +1341,7 @@
       width="800"
       v-model="imageShow"
     >
-      <recognition ref="RecognitionRefs" @close="handleImageClose"></recognition>
+      <recognition ref="RecognitionRefs" :option="optionObj.car_type_code" @close="handleImageClose"></recognition>
     </el-dialog>
     <el-dialog
       v-model="insuranceShow"
@@ -1805,7 +1805,12 @@ let insurancePolicyRules = ref<FormRules>({
     { required: true, trigger: 'blur', message: '请输入姓名' }
   ],
   mobile1: [
-    { required: true, trigger: 'blur', message: '请输入手机号' }
+    { required: true, trigger: 'blur', message: '请输入手机号' },
+      {
+          pattern: /^1[0-9]{10}$/,
+          message: '请填写正确的手机号',
+          trigger: 'blur'
+      }
   ],
   personType1: [
     { required: true, trigger: 'change', message: '请选择证件类型' }
@@ -1826,7 +1831,12 @@ let insurancePolicyRules = ref<FormRules>({
     { required: true, trigger: 'blur', message: '请输入姓名' }
   ],
   mobile2: [
-    { required: true, trigger: 'blur', message: '请输入手机号' }
+    { required: true, trigger: 'blur', message: '请输入手机号' },
+      {
+          pattern: /^1[0-9]{10}$/,
+          message: '请填写正确的手机号',
+          trigger: 'blur'
+      }
   ],
   personType2: [
     { required: true, trigger: 'change', message: '请选择证件类型' }
@@ -1847,7 +1857,12 @@ let insurancePolicyRules = ref<FormRules>({
     { required: true, trigger: 'blur', message: '请输入姓名' }
   ],
   mobile3: [
-    { required: true, trigger: 'blur', message: '请输入手机号' }
+    { required: true, trigger: 'blur', message: '请输入手机号' },
+      {
+          pattern: /^1[0-9]{10}$/,
+          message: '请填写正确的手机号',
+          trigger: 'blur'
+      }
   ],
   personType3: [
     { required: true, trigger: 'change', message: '请选择证件类型' }
@@ -2427,6 +2442,9 @@ const handelExpend = (e) => {
 }
 const handleClickRow = (a, b) => {
 
+}
+const handleViewSuccess = (e) => {
+    console.log(11111, quoteData.value)
 }
 // 选择险种
 let insuranceShow = ref(false)
@@ -2912,7 +2930,7 @@ const handleSubmit = async (InsurancePolicyRefs: FormInstance | undefined, scope
       let data = {
         systemType: '2',
         order: {
-          insuranceCompanyCode: insurancePolicyForm.value.order.insuranceCompanyCode,
+          insuranceCompanyCode: quoteData.value[scope.$index].id,
           quoteNo: insurancePolicyForm.value.order.quoteNo,
           agreementId: quoteData.value[scope.$index].isDispatch?quoteData.value[scope.$index].dispatchAgreementId:quoteData.value[scope.$index].agreement
         },

+ 4 - 1
src/views/insurancePolicy/modules/recognition.vue

@@ -48,7 +48,7 @@
           </el-form-item>
           <el-form-item class="m-b-5" label="车辆类型">
             <el-select v-model="carForm.carTypeCode" placeholder="请选择">
-              <el-option value="1" label="类型1"></el-option>
+                <el-option v-for="(item, index) in props.option" :label="item.label" :value="item.value" :key="item.value"></el-option>
             </el-select>
           </el-form-item>
           <el-form-item class="m-b-5" label="所有人">
@@ -505,6 +505,9 @@ import api from '@/api'
 import { ElMessage } from 'element-plus'
 
 const emit = defineEmits(['close'])
+const props = defineProps({
+    option: []
+})
 
 let xszFront = ref('')
 let xszFrontResult = ref(null)

+ 3 - 2
src/views/insurancePolicy/orderDetail.vue

@@ -93,7 +93,7 @@
                     <el-col :span="6" class="TBMsgItem">
                         <span class="label">保险公司</span>
                         <span class="value">
-                            <img src="@/assets/images/insurancePolicy/company.png">
+                            <img :src="detailData?.insCompanyVo?.[0].logo">
                             <span>{{ detailData?.order?.companyName || '--' }}</span>
                         </span>
                     </el-col>
@@ -654,6 +654,7 @@
                             <el-descriptions-item label="交强险">{{ detailData?.costs?.ciPremium || '--' }}</el-descriptions-item>
                             <el-descriptions-item label="商业险">{{ detailData?.costs?.biPremium || '--' }}</el-descriptions-item>
                             <el-descriptions-item label="驾意险">{{ detailData?.costs?.niPremium || '--' }}</el-descriptions-item>
+                            <el-descriptions-item label="车船税">{{ detailData?.costs?.vvTax || '--' }}</el-descriptions-item>
                         </el-descriptions>
                     </el-col>
                     <el-col :span="8" class="payCode">
@@ -1732,7 +1733,7 @@ const initOption = () => {
 }
 const dictChange = (list, value) => {
     if(list && list.length) {
-        let obj = list.find(a => a.value = value)
+        let obj = list.find(a => a.value == value)
         if(obj) {
             return obj.label
         } else {

+ 2 - 0
src/views/quoteConfig/agreement/agreementDetails.vue

@@ -454,6 +454,8 @@ const addUnderwritingRule = () => {
 }
 //承保规则保存事件
 const UnderwritingRuleSave = () => {
+    // "OwnersInfoAge" 车主年龄
+    // "NonMotorInsurance" 非车险
   if (rulesAttrListInfo.id) {//判断id是否存在
     api.agreementApi.agreementRulesEdit(rulesAttrListInfo).then((res: any) => {
       if (res.code == '200') {

+ 50 - 4
src/views/quoteConfig/agreement/components/ruleFeeDialog.vue

@@ -118,7 +118,7 @@
                       <el-table-column prop="inlet" label="入口比例" width="180" align="center">
                         <template #default="scope">
                           <el-input-number v-model="scope.row.inlet" :precision="2" controls-position="right"
-                            style="width: 100%;" :min="0" :max="100">
+                            style="width: 100%;" :min="0" :max="100" @change="handelRK(scope)">
                             <template #suffix>%</template>
                           </el-input-number>
                         </template>
@@ -126,7 +126,7 @@
                       <el-table-column prop="export" label="出口比例" width="180" align="center">
                         <template #default="scope">
                           <el-input-number v-model="scope.row.export" :precision="2" controls-position="right"
-                            style="width: 100%;" :min="0" :max="100">
+                            style="width: 100%;" :min="0" :max="100" @change="handelCK(scope)">
                             <template #suffix>%</template>
                           </el-input-number>
                         </template>
@@ -142,7 +142,7 @@
                       <el-table-column prop="addThrow" label="加投比例" width="180" align="center">
                           <template #default="scope">
                               <el-input-number v-model="scope.row.addThrow" :precision="2" controls-position="right"
-                                               style="width: 100%;" :min="0" :max="100">
+                                               style="width: 100%;" :min="0" :max="100" @change="handelJT(scope)">
                                   <template #suffix>%</template>
                               </el-input-number>
                           </template>
@@ -150,7 +150,7 @@
                       <el-table-column prop="keepPointRatio" label="留点比例" width="180" align="center">
                           <template #default="scope">
                               <el-input-number v-model="scope.row.keepPointRatio" :precision="2" controls-position="right"
-                                               style="width: 100%;" :min="0" :max="100">
+                                               style="width: 100%;" :min="0" :max="100" @change="handelLD(scope)">
                                   <template #suffix>%</template>
                               </el-input-number>
                           </template>
@@ -354,6 +354,52 @@ const addRuleCondition = (index: number, Costindex: number) => {
   feeIndex.value = Costindex;
   ruleConditionVisible.value = true;
 }
+
+const handelRK = (scope) => {
+    if(scope.row.export&&scope.row.addThrow) {
+        scope.row.keepPointRatio = scope.row.inlet + scope.row.addThrow - scope.row.export
+    }
+    if(scope.row.export&&scope.row.keepPointRatio) {
+        scope.row.addThrow = scope.row.export + scope.row.keepPointRatio - scope.row.inlet
+    }
+    if(scope.row.keepPointRatio&&scope.row.addThrow) {
+        scope.row.export = scope.row.inlet + scope.row.addThrow - scope.row.keepPointRatio
+    }
+}
+const handelCK = (scope) => {
+    if(scope.row.inlet&&scope.row.addThrow) {
+        scope.row.keepPointRatio = scope.row.inlet + scope.row.addThrow - scope.row.export
+    }
+    if(scope.row.inlet&&scope.row.keepPointRatio) {
+        scope.row.addThrow = scope.row.export + scope.row.keepPointRatio - scope.row.inlet
+    }
+    if(scope.row.keepPointRatio&&scope.row.addThrow) {
+        scope.row.inlet = scope.row.export + scope.row.keepPointRatio - scope.row.addThrow
+    }
+}
+const handelJT = (scope) => {
+    if(scope.row.inlet&&scope.row.export) {
+        scope.row.keepPointRatio = scope.row.inlet + scope.row.addThrow - scope.row.export
+    }
+    if(scope.row.inlet&&scope.row.keepPointRatio) {
+        scope.row.export = scope.row.addThrow + scope.row.inlet - scope.row.keepPointRatio
+    }
+    if(scope.row.keepPointRatio&&scope.row.export) {
+        scope.row.inlet = scope.row.export + scope.row.keepPointRatio - scope.row.addThrow
+    }
+}
+const handelLD = (scope) => {
+    if(scope.row.inlet&&scope.row.export) {
+        scope.row.addThrow = scope.row.export + scope.row.keepPointRatio - scope.row.inlet
+    }
+    if(scope.row.inlet&&scope.row.addThrow) {
+        scope.row.export = scope.row.addThrow + scope.row.inlet - scope.row.keepPointRatio
+    }
+    if(scope.row.addThrow&&scope.row.export) {
+        scope.row.inlet = scope.row.export + scope.row.keepPointRatio - scope.row.addThrow
+    }
+}
+
 //对应险种下添加费用
 const feeItemAdd = (index: number) => {
   let length = ruleFeeinfo.value[index].ptlAgreementCostAddList.length;

+ 1 - 1
src/views/quoteConfig/insuranceCompanyAccount/insuranceCompanyAccount.vue

@@ -192,7 +192,7 @@ let tableData = ref([
 ])
 // 查询
 const search = () => {
-  insuranceForm.value.userDept = insuranceForm.value.userDeptId[insuranceForm.value.userDeptId.length - 1]
+  insuranceForm.value.userDept = insuranceForm.value.userDeptId?.[insuranceForm.value.userDeptId?.length - 1]
   initData()
 }
 // 重置

+ 3 - 3
src/views/quoteConfig/insuranceCompanyAccount/modules/insuranceAccountAdd.vue

@@ -201,7 +201,7 @@ const companyChange = (e) => {
             fielsOption.value = res.data.fields
               res.data.fields.filter(item => item.field !== 'comName').forEach(item => {
               insuranceAccountRules.value[item.field] = [
-                { required: true, trigger: "blur", message: `请填写${item.label}` }
+                { required: item.isEdit, trigger: "blur", message: `请填写${item.label}` }
               ]
             })
             setTimeout(() => {
@@ -229,7 +229,7 @@ const apiTypeChange = (e) => {
             fielsOption.value = res.data.fields
               res.data.fields.filter(item => item.field !== 'comName').forEach(item => {
               insuranceAccountRules.value[item.field] = [
-                { required: true, trigger: "blur", message: `请填写${item.label}` }
+                { required: item.isEdit, trigger: "blur", message: `请填写${item.label}` }
               ]
             })
             setTimeout(() => {
@@ -335,7 +335,7 @@ const initEditData = () => {
           })
           res.data.fields.forEach(item => {
             insuranceAccountRules.value[item.field] = [
-              { required: true, trigger: "blur", message: `请填写${item.label}` }
+              { required: item.isEdit, trigger: "blur", message: `请填写${item.label}` }
             ]
           })
           fielsOption.value = {...res.data.fields}

+ 2 - 2
src/views/quoteConfig/project/modules/projectAdd.vue

@@ -109,10 +109,10 @@
                     </el-table-column>
                     <el-table-column label="保额" prop="optionId">
                       <template #default="scope">
-                        <el-select :disabled="scope.row.insuranceId == '19'" v-if="projectAddFrom.schemeType === 2" v-model="scope.row.moneyId" style="width: 150px" multiple>
+                        <el-select :disabled="scope.row.insuranceId == '19'" v-if="projectAddFrom.schemeType === 2" v-model="scope.row.moneyId" style="width: 150px" multiple @change="() => { scope.row.optionId = scope.row.moneyId }">
                           <el-option v-for="m in scope.row.options" :label="m.label" :key="m.id" :value="m.id"></el-option>
                         </el-select>
-                        <el-select :disabled="scope.row.insuranceId == '19'" v-else v-model="scope.row.moneyId" style="width: 150px" @change="">
+                        <el-select :disabled="scope.row.insuranceId == '19'" v-else v-model="scope.row.moneyId" style="width: 150px" @change="() => { scope.row.optionId = scope.row.moneyId }">
                           <el-option v-for="m in scope.row.options" :label="m.label" :key="m.id" :value="m.id"></el-option>
                         </el-select>
                       </template>

+ 12 - 2
src/views/receivable/handingFee/index.vue

@@ -190,7 +190,7 @@
                     <el-table-column prop="dockingPerson" label="对接人" width="100"></el-table-column>
                     <el-table-column label="操作" width="120" fixed="right">
                         <template #default="scope">
-                            <el-button link type="primary">编辑</el-button>
+                            <el-button link type="primary" @click="toEdit(scope.row)">编辑</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
@@ -378,7 +378,7 @@
                     <el-table-column prop="a" label="对接人" width="100"></el-table-column>
                     <el-table-column label="操作" width="120" fixed="right">
                         <template #default="scope">
-                            <el-button link type="primary">编辑</el-button>
+                            <el-button link type="primary" @click="toEdit(scope.row)">编辑</el-button>
                             <el-dropdown class="width-100" trigger="click" placement="bottom" @command="dropdownCommand">
                                 <el-button class="radius-2px width-100">
                                     更多&nbsp;&nbsp;<el-icon><ArrowDown /></el-icon>
@@ -914,6 +914,16 @@ const handleCurrentChange = (page) => {
     pages.value = page
 }
 
+// 编辑
+const toEdit = (row: any) => {
+    myRouter.push({
+        path: '/insurancePolicy/index',
+        query: {
+            orderNo: row.orderNo
+        }
+    })
+}
+
 // 获取险种
 let insuranceType = ref([])
 const dictDetails = () => {