wuguojie 9 месяцев назад
Родитель
Сommit
0255f697ba

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

@@ -20,6 +20,8 @@ const insurancePolicyApi = (axiosInstance: ApiInstance) => ({
   deleteTaskImages: (data: string) => axiosInstance.get(`/order/taskImages/delete?id=${data}`), // 影像资料删除
   destroyQrCode: (data: any) => axiosInstance.post('/order/qrCode/destroyQrCode', data), // 撤销支付码
   getClausePage: (data: any) => axiosInstance.post('manager/clause/getClausePage', data), //特别约定列表查询
+  getHistoryQuoteList: (data: any) => axiosInstance.post('/supplementOrder/getHistoryQuoteList', data), // 报价历史
+  queryClauseData: (data: any) => axiosInstance.post('/unify/order/queryClauseData', data), // 特约
 
   adjustAdd: (data: any) => axiosInstance.post('/adjust/adjustAdd', data), // 创建批改订单
   adjustDel: (data: any) => axiosInstance.delete(`/adjust/adjustDel?id=${data}`), // 删除批改订单

+ 18 - 4
src/views/insurancePolicy/index.vue

@@ -1157,9 +1157,9 @@
             :data="tableData"
             style="width: calc(100% - 48px); margin: 0 24px"
           >
-            <el-table-column label="保险公司" prop=""></el-table-column>
-            <el-table-column label="报价时间" prop=""></el-table-column>
-            <el-table-column label="险种" prop=""></el-table-column>
+            <el-table-column label="保险公司" prop="companyName"></el-table-column>
+            <el-table-column label="报价时间" prop="quoteTime"></el-table-column>
+            <el-table-column label="险种" prop="productName"></el-table-column>
             <el-table-column label="状态" prop="state">
               <template #default="scope">
                 <span v-if="scope.row.state===1" class="success">报价成功</span>
@@ -1176,7 +1176,7 @@
                 </span>
               </template>
             </el-table-column>
-            <el-table-column label="保费计算" prop=""></el-table-column>
+            <el-table-column label="保费计算" prop="sumPremium"></el-table-column>
             <el-table-column label="交强险" prop=""></el-table-column>
             <el-table-column label="商业险" prop=""></el-table-column>
             <el-table-column label="驾意险" prop=""></el-table-column>
@@ -1888,6 +1888,20 @@ const getQuoteNumber = () => {
       }
     })
   }
+  if(insurancePolicyForm.value.licenseNo) {
+      api.insurancePolicyApi.getHistoryQuoteList({
+          licenseNo: insurancePolicyForm.value.licenseNo
+      }).then((res: any) => {
+          if(res.code === 200) {
+              tableData.value = res.data.records
+          } else {
+              ElMessage({
+                  message: res.msg,
+                  type: 'warning'
+              })
+          }
+      })
+  }
 }
 
 const longTime = () => {

+ 42 - 17
src/views/insurancePolicy/modules/underwriting.vue

@@ -39,23 +39,29 @@
         </el-col>
       </el-row>
     </div>
-<!--    <div class="title">
+    <div class="title">
       <span class="text">特别约定</span>
     </div>
     <el-table
+      ref="clauseRefs"
       :data="tableData"
     >
-      <el-table-column type="selection" width="50" align="center"></el-table-column>
-      <el-table-column label="特约类型" prop="" align="center"></el-table-column>
-      <el-table-column label="特约名称" prop="" align="center"></el-table-column>
-      <el-table-column label="编码" prop="" align="center"></el-table-column>
+      <el-table-column type="selection" width="50" align="center" :selectable="selectable"></el-table-column>
+      <el-table-column label="特约类型" prop="riskCode" align="center">
+          <template #default="scope">
+              <div v-if="scope.row.riskCode == '0507'">交强</div>
+              <div v-if="scope.row.riskCode == '0510'">商业</div>
+          </template>
+      </el-table-column>
+      <el-table-column label="特约名称" prop="clauseName" align="center"></el-table-column>
+      <el-table-column label="编码" prop="clauseCode" align="center"></el-table-column>
       <el-table-column label="特别约定内容" prop="" width="300" align="center">
         <template #default="scope">
-          <div v-if="scope.row.state === 1">特别约定内容</div>
-          <el-input type="textarea" v-if="scope.row.state === 2"></el-input>
+          <div v-if="!scope.row.edit" @click="() => { scope.row.edit = true }">{{ scope.row.clauseContent }}</div>
+          <el-input type="textarea" v-model="scope.row.clauseContent" v-if="scope.row.edit"></el-input>
         </template>
       </el-table-column>
-    </el-table>-->
+    </el-table>
     <div class="footer">
       <el-button plain type="primary" @click="handleSubmit(false)">取消</el-button>
       <el-button type="primary" @click="handleSubmit(true)">提交核保</el-button>
@@ -141,13 +147,30 @@ const downloadImage = (item) => {
 }
 
 // 特别约定
-let tableData = ref([
-  {
-    state: 1,
-  },{
-    state: 2
-  }
-])
+let tableData = ref([])
+let clauseRefs = ref()
+const queryClauseData = () => {
+    api.insurancePolicyApi.queryClauseData({
+        order: {
+            ordersNo: ordersNo.value
+        }
+    }).then((res: any) => {
+        if(res.code == 200) {
+            tableData.value = res.data.map((item) => {
+                return {
+                    ...item,
+                    edit: false
+                }
+            })
+        } else {
+            ElMessage({
+                message: res.msg,
+                type: 'warning'
+            })
+        }
+    })
+}
+const selectable = (row) => !['1'].includes(row.clientStatus)
 
 // 提交核保
 const handleSubmit = (bool) => {
@@ -178,9 +201,11 @@ const handleSubmit = (bool) => {
 //数据交互
 let ordersNo = ref('')
 const initEdit = (data) => {
-  console.log(11122333, data)
   ordersNo.value = data.ordersNo
-    images.value = data.list.filter(a => a.fileUrl)
+  images.value = data.list.filter(a => a.fileUrl)
+    if(ordersNo.value) {
+        queryClauseData()
+    }
 }
 
 defineExpose({