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

调整协议录入承保规则表格展开样式、协议费用审核协议标题点击后的承保规则弹框添加表格展开功能,展示详情数据

wuguojie 1 год назад
Родитель
Сommit
94a14ff993

+ 1 - 1
src/components/Form/ProductCostForm.vue

@@ -37,7 +37,7 @@
             </div>
           </div>
           <div class="p-2" v-show="CarCollapsed">
-            <el-form ref="form" :model="underwritingRulesForm" label-width="80px" size="small">
+            <el-form ref="form" :model="underwritingRulesForm" label-width="80px" size="small" :disabled="disabled">
               <el-col :span="8">
                 <el-form-item label="是否有效">
                   <el-select v-model="underwritingRulesForm.validInd" placeholder="请选择活动区域">

+ 1 - 1
src/views/AgreementManage/CarInsurance/AgreementEntry.vue

@@ -1419,7 +1419,7 @@
 
     :visible.sync="drawer"
     :direction="'rtl'"
-    size="90%"
+    size="100%"
     :before-close="handleClose"
     :destroy-on-close="true">
 

+ 94 - 9
src/views/AgreementManage/CarInsurance/ProductCostExamine.vue

@@ -264,10 +264,19 @@
     <el-dialog
       title="承保规则"
       :visible.sync="agreementListShow"
-      width="50%">
+      :fullscreen="true"
+    >
       <el-table
         :data="underwritingRulesResult"
+        @expand-change="handleExpandChange"
+        :expand-row-keys="expandRows"
+        row-key="id"
         style="width: 100%">
+        <el-table-column
+          type="expand"
+        >
+          <Product-Cost-Form ref="ProductRef" :form="dynamicFormArray" :operator="operatorlist" over-size="small" :underwritingRulesForm="underwritingRulesForm" :disabled="true"></Product-Cost-Form>
+        </el-table-column>
         <el-table-column
           prop="validInd"
           label="是否启用"
@@ -278,23 +287,19 @@
         </el-table-column>
         <el-table-column
           prop="rulesStartDate"
-          label="规则起期"
-          width="180">
+          label="规则起期">
         </el-table-column>
         <el-table-column
           prop="rulesEndDate"
-          label="规则止期"
-          width="180">
+          label="规则止期">
         </el-table-column>
         <el-table-column
           prop="ruleDescription"
-          label="规则描述"
-          width="180">
+          label="规则描述">
         </el-table-column>
         <el-table-column
           prop="desc"
-          label="规则因子描述"
-          width="180">
+          label="规则因子描述">
         </el-table-column>
       </el-table>
       <span slot="footer" class="dialog-footer">
@@ -554,8 +559,31 @@ export default {
       allAgreementList: [],
       agreementListShow: false,
       underwritingRulesResult: [],
+
+      underwritingRulesForm: {
+        //承保因子表单项
+        agreementId: "", //协议id
+        ruleDescription: "", //规则描述
+        rulesStartDate: "",//规则起期
+        rulesEndDate: "",//规则止期
+        validInd: "1", //是否有效
+        rulesAttrList: [],//规则属性
+        carClassList: [],
+        areanumberplateList: [],
+        licenseAreaList: [],
+      },
+      expandRows: []
+
     };
   },
+  watch: {
+    underwritingRulesResult(val, old) {
+      if(val.length> 0) {
+        let obj = val[0]
+        this.underwritingRulesHistoryDetails(obj, val)
+      }
+    },
+  },
   // 生命周期函数
   created() {
     this.$api.task.findPtlAgreementList().then((res) => {
@@ -584,6 +612,63 @@ export default {
   },
   // 方法函数
   methods: {
+    // 点击展开行
+    handleExpandChange(row,rows) {
+      if(rows.length>0) {
+        this.underwritingRulesHistoryDetails(row)
+      }
+    },
+    // 承保规则历史记录详情
+    underwritingRulesHistoryDetails(row, value) {
+      let that = this
+      that.$api.dict.findPage(that.operator).then(res => {
+        that.operatorlist = res.data.content;
+      })
+      that.$api.insCompany.getUndwrtRulesFactorQuery(row.id).then((res) => {
+        if (res.code == '200') {
+          if(value&&value.length == 1) {
+            this.expandRows.push(value[0].id)
+          }
+          let obj = Object.assign({}, res.data);
+          obj.costsAttrLinks.map(val => {
+            switch (val.attrType) {
+              case 'inputNumber':
+              case 'datetime':
+                if (!val.operator) {
+                  val.operator = '1';
+                }
+                break;
+            }
+            if (val.attrCode == 'LicenseNo') {
+              val.dictLabal = this.areanumberplateList;
+            }
+            if (val.attrCode == 'LicenseArea') {
+              val.dictLabal = this.licenseAreaList;
+            }
+            if (val.attrCode == 'CarClass') {
+              val.dictLabal = this.carClassList
+            }
+            return val;
+          })
+          that.dynamicFormArray = obj.costsAttrLinks;
+          that.underwritingRulesForm = {
+            id: obj.id,
+            agreementId: obj.agreementId, //协议id
+            ruleDescription: obj.ruleDescription, //规则描述
+            validInd: obj.validInd, //是否有效
+            rulesStartDate: obj.rulesStartDate,
+            rulesEndDate: obj.rulesEndDate,
+            rulesAttrList: [],//规则属性
+          };
+        } else {
+          that.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
+
     costQuery() {
       this.costPage();
     },

+ 1 - 1
src/views/Core/KtCommonTable.vue

@@ -34,7 +34,7 @@
         v-if="agreementUnderwritingRuleShow"
       >
         <div class="tab-panestyle">
-          <Product-Cost-Form ref="ProductRef" :form="dynamicFormArray" :operator="operatorlist" over-size="small" :underwritingRulesForm="underwritingRulesForm"></Product-Cost-Form>
+          <Product-Cost-Form ref="ProductRef" :form="dynamicFormArray" :operator="operatorlist" over-size="small" :underwritingRulesForm="underwritingRulesForm" :disabled="true"></Product-Cost-Form>
         </div>
       </el-table-column>