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

解决产品费用保存无效bug

@dongkboy 2 лет назад
Родитель
Сommit
2d6a307b43
2 измененных файлов с 126 добавлено и 136 удалено
  1. 2 2
      config/dev.env.js
  2. 124 134
      src/views/AgreementManage/CarInsurance/AgreementEntry.vue

+ 2 - 2
config/dev.env.js

@@ -5,8 +5,8 @@ const prodEnv = require('./prod.env')
 module.exports = merge(prodEnv, {
   NODE_ENV: '"development"',
   ENV_CONFIG:'"dev"',
-  // BASE_URL: '"https://test.baoxianzhanggui.com/web-api"',//测试服务器
-  BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
+  BASE_URL: '"https://test.baoxianzhanggui.com/web-api"',//测试服务器
+  // BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
   // BASE_URL: '"http://192.168.0.115:8080/"' //凯森
   // BASE_URL: '"http:///192.168.0.253:8082/"',//田智
   // BASE_URL: '"http:///192.168.0.253:8082/"',//田智

+ 124 - 134
src/views/AgreementManage/CarInsurance/AgreementEntry.vue

@@ -1,100 +1,100 @@
 <template>
   <div>
     <el-main ref="elMain" style="padding: 0px">
-        <!-- 右侧列表页面Start -->
-          <!-- 工具区域Start -->
-          <el-form class="queryForm p-2 flex" ref="queryFormRef" :model="queryForm" :inline="true" label-width="100px">
-            <el-form-item>
-              <el-button :size="overSize" type="success" @click="handleAdd">添加协议</el-button>
-            </el-form-item>
-            <el-form-item label="录入时间">
-              <el-date-picker value-format="yyyy-MM-dd" v-model="queryForm.date" style="width: 250px" :size="overSize"
-                type="daterange" align="left" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
-              </el-date-picker>
-            </el-form-item>
-            <el-form-item label="供应商类型">
-              <el-select :size="overSize" v-model="supplierType" placeholder="请选择供应商" clearable >
-                <el-option v-for="(item,index) in supplierTypeEnumoptions" :key="index" :label="item.dictTag" :value="item.dictValue"></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item label="保险公司">
-              <el-cascader  style="width:220px" v-model="agreement.partnerCompaniesId" :size="overSize"
-                    :show-all-levels="false" :options="ztreeNodes" :props="optionProps" @change="handleChange"  clearable
-                    filterable></el-cascader>
-            </el-form-item>
-            <el-form-item label="是否有效">
-              <el-select :size="overSize" v-model="queryForm.validStatus" placeholder="请选择" clearable style="width: 100%">
-                <el-option label="有效" :value="1"></el-option>
-                <el-option label="无效" :value="0"></el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item>
-              <el-button :size="overSize" type="primary" @click="queryEsmInfo">查询</el-button>
-            </el-form-item>
-          </el-form>
-          <el-table :size="overSize" :data="pageResult" height="680" border v-loading="loading" highlight-current-row
-            stripe :header-cell-style="{
-              background: '#F2F7FC',
-              fontWeight: '700',
-              color: '#606266',
-            }">
-            <el-table-column prop="id" label="编号" width="130" align="center"></el-table-column>
-            <el-table-column prop="agreementCode" label="协议代码" width="210" align="center"></el-table-column>
-            <el-table-column prop="agreementName" label="协议名称" align="center" width="200"></el-table-column>
-            <el-table-column prop="agreementType" label="协议类型" align="center" width="160"
-              :formatter="agreementtypeFormatter"></el-table-column>
-            <el-table-column prop="startDate" label="协议生效日期" align="center" width="130"></el-table-column>
-            <el-table-column prop="endDate" label="协议失效日期" align="center" width="130"></el-table-column>
-            <el-table-column prop="matchType" label="匹配日期类型" align="center" width="130"
-              :formatter="matchtypeFormatter"></el-table-column>
-            <el-table-column prop="moneyTime" label="结算周期" align="center" width="100"
-              :formatter="moneytimeFormatter"></el-table-column>
-            <el-table-column prop="validStatus" label="状态" align="center" width="110"
-              :formatter="agreestatusFormatter"></el-table-column>
-            <el-table-column prop="updateTime" label="修改时间" align="center" width="160"
-              :formatter="updatetimeFormatter"></el-table-column>
-            <el-table-column prop="validStatus" label="是否有效" align="center" width="80">
-              <template slot-scope="scope">
-                <span :size="overSize" type="primary" @click="uplatequery(scope.$index, scope.row)">{{
-                  scope.row.validStatus == 1 ? "有效" : "无效" }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column prop="modifiedBy" label="修改人" align="center" width="130"></el-table-column>
-            <el-table-column label="操作" align="center" width="200" fixed="right">
-              <template slot-scope="scope">
-                <el-button :size="overSize" type="text" @click="uplatequery(scope.$index, scope.row)"
-                  style="color: #e6a23c">编辑</el-button>
-                <el-button :size="overSize" type="text" @click="deletequery(scope.$index, scope.row)"
-                  style="color: #f56c6c">删除</el-button>
-                <el-button type="text" size="mini">
-                  <el-dropdown trigger="click">
-                    <span class="el-dropdown-link" style="font-size: 12px">
-                      更多<i class="el-icon-arrow-down el-icon--right"></i>
-                    </span>
-                    <el-dropdown-menu slot="dropdown">
-                      <el-dropdown-item>
-                        <el-button type="text" :size="overSize"
-                          @click="historyRecord(scope.$index, scope.row)">协议历史记录</el-button>
-                      </el-dropdown-item>
-                      <el-dropdown-item>
-                        <el-button type="text" :size="overSize"
-                          @click="productCost(scope.$index, scope.row)">产品费用</el-button>
-                      </el-dropdown-item>
-                      <el-dropdown-item>
-                        <el-button type="text" :size="overSize" @click="
-                          underwritingRulesButton(scope.$index, scope.row)
-                          ">承保规则</el-button>
-                      </el-dropdown-item>
-                    </el-dropdown-menu>
-                  </el-dropdown>
-                </el-button>
-              </template>
-            </el-table-column>
-          </el-table>
-          <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum"
-            :page-sizes="[20, 50, 100, 200]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
-            :total="totalSize">
-          </el-pagination>
+      <!-- 右侧列表页面Start -->
+      <!-- 工具区域Start -->
+      <el-form class="queryForm p-2 flex" ref="queryFormRef" :model="queryForm" :inline="true" label-width="100px">
+        <el-form-item>
+          <el-button :size="overSize" type="success" @click="handleAdd">添加协议</el-button>
+        </el-form-item>
+        <el-form-item label="录入时间">
+          <el-date-picker value-format="yyyy-MM-dd" v-model="queryForm.date" style="width: 250px" :size="overSize"
+            type="daterange" align="left" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="供应商类型">
+          <el-select :size="overSize" v-model="supplierType" placeholder="请选择供应商" clearable>
+            <el-option v-for="(item, index) in supplierTypeEnumoptions" :key="index" :label="item.dictTag"
+              :value="item.dictValue"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="保险公司">
+          <el-cascader style="width:220px" v-model="agreement.partnerCompaniesId" :size="overSize"
+            :show-all-levels="false" :options="ztreeNodes" :props="optionProps" @change="handleChange" clearable
+            filterable></el-cascader>
+        </el-form-item>
+        <el-form-item label="是否有效">
+          <el-select :size="overSize" v-model="queryForm.validStatus" placeholder="请选择" clearable style="width: 100%">
+            <el-option label="有效" :value="1"></el-option>
+            <el-option label="无效" :value="0"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button :size="overSize" type="primary" @click="queryEsmInfo">查询</el-button>
+        </el-form-item>
+      </el-form>
+      <el-table :size="overSize" :data="pageResult" height="680" border v-loading="loading" highlight-current-row stripe
+        :header-cell-style="{
+          background: '#F2F7FC',
+          fontWeight: '700',
+          color: '#606266',
+        }">
+        <el-table-column prop="id" label="编号" width="130" align="center"></el-table-column>
+        <el-table-column prop="agreementCode" label="协议代码" width="210" align="center"></el-table-column>
+        <el-table-column prop="agreementName" label="协议名称" align="center" width="200"></el-table-column>
+        <el-table-column prop="agreementType" label="协议类型" align="center" width="160"
+          :formatter="agreementtypeFormatter"></el-table-column>
+        <el-table-column prop="startDate" label="协议生效日期" align="center" width="130"></el-table-column>
+        <el-table-column prop="endDate" label="协议失效日期" align="center" width="130"></el-table-column>
+        <el-table-column prop="matchType" label="匹配日期类型" align="center" width="130"
+          :formatter="matchtypeFormatter"></el-table-column>
+        <el-table-column prop="moneyTime" label="结算周期" align="center" width="100"
+          :formatter="moneytimeFormatter"></el-table-column>
+        <el-table-column prop="validStatus" label="状态" align="center" width="110"
+          :formatter="agreestatusFormatter"></el-table-column>
+        <el-table-column prop="updateTime" label="修改时间" align="center" width="160"
+          :formatter="updatetimeFormatter"></el-table-column>
+        <el-table-column prop="validStatus" label="是否有效" align="center" width="80">
+          <template slot-scope="scope">
+            <span :size="overSize" type="primary" @click="uplatequery(scope.$index, scope.row)">{{
+              scope.row.validStatus == 1 ? "有效" : "无效" }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="modifiedBy" label="修改人" align="center" width="130"></el-table-column>
+        <el-table-column label="操作" align="center" width="200" fixed="right">
+          <template slot-scope="scope">
+            <el-button :size="overSize" type="text" @click="uplatequery(scope.$index, scope.row)"
+              style="color: #e6a23c">编辑</el-button>
+            <el-button :size="overSize" type="text" @click="deletequery(scope.$index, scope.row)"
+              style="color: #f56c6c">删除</el-button>
+            <el-button type="text" size="mini">
+              <el-dropdown trigger="click">
+                <span class="el-dropdown-link" style="font-size: 12px">
+                  更多<i class="el-icon-arrow-down el-icon--right"></i>
+                </span>
+                <el-dropdown-menu slot="dropdown">
+                  <el-dropdown-item>
+                    <el-button type="text" :size="overSize"
+                      @click="historyRecord(scope.$index, scope.row)">协议历史记录</el-button>
+                  </el-dropdown-item>
+                  <el-dropdown-item>
+                    <el-button type="text" :size="overSize" @click="productCost(scope.$index, scope.row)">产品费用</el-button>
+                  </el-dropdown-item>
+                  <el-dropdown-item>
+                    <el-button type="text" :size="overSize" @click="
+                      underwritingRulesButton(scope.$index, scope.row)
+                      ">承保规则</el-button>
+                  </el-dropdown-item>
+                </el-dropdown-menu>
+              </el-dropdown>
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum"
+        :page-sizes="[20, 50, 100, 200]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
+        :total="totalSize">
+      </el-pagination>
     </el-main>
     <!-- 新增协议的对话框 -->
     <el-dialog :title="dialogTitle" v-dialogDrag :visible.sync="agreementdialogVisible" width="70%"
@@ -439,7 +439,8 @@
             </el-col>
             <el-col :span="10" :offset="2">
               <el-form-item label="优先级" prop="sort">
-                <el-input style="width: 100%" v-model="productCostForm.priorityLevel" label="方案匹配优先级"></el-input>
+                <el-input style="width: 100%" v-model="productCostForm.priorityLevel"
+                  onkeyup="value=value.replace(/\D/g,'')" label="方案匹配优先级"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -458,7 +459,7 @@
                 <el-input disabled v-model="productCostForm.jqCarOtherCostsProportion" placeholder="请输入其他费用比例"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="5" :offset="1"  v-if="permissions">
+            <el-col :span="5" :offset="1" v-if="permissions">
               <el-form-item label="总费用比例" prop="jqCostsProportion">
                 <el-input v-model="productCostForm.jqCostsProportion" @blur="jqCostsProportioninput"
                   placeholder="请输入总费用比例"></el-input>
@@ -603,7 +604,7 @@
         <el-button :size="overSize" type="primary" @click="productCostAddSubmit('productCostForm')">确 定</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="承保规则录入" :visible.sync="underwritingRulesVehicleFactorVisible" width="60%" :fullscreen="true">
+    <el-dialog title="承保规则" :visible.sync="underwritingRulesVehicleFactorVisible" width="60%" :fullscreen="true">
       <div class="flex a-c p-2">
         <el-button type="warning " style="background-color: #52c578; border: #52c578" size="small"
           @click="addUnderwritingRule">添加规则</el-button>
@@ -617,7 +618,7 @@
         button3Background="#F56C6C" @handleButton3="underwritingRulesDelete" button3Icon="">
       </kt-common-table>
     </el-dialog>
-    <el-dialog :title="factorDialogTitle" :visible.sync="underwritingRulesAddVehicleFactorVisible"
+    <el-dialog :title="underwritingRulesAddDialogTitle" :visible.sync="underwritingRulesAddVehicleFactorVisible"
       :close-on-click-modal="false" :fullscreen="true" width="70%" top="6vh" @close="underwritingRulescloseDialog">
       <el-form ref="form" :model="underwritingRulesForm" label-width="80px" size="small">
         <el-form-item label="是否有效">
@@ -627,10 +628,11 @@
           </el-select>
         </el-form-item>
         <el-form-item label="规则描述">
-          <el-input type="textarea" v-model="underwritingRulesForm.ruleDescription" placeholder="请输入承保规则描述"></el-input>
+          <el-input type="textarea" v-model="underwritingRulesForm.ruleDescription" placeholder="请输入承保规则描述"
+            maxlength="100" show-word-limit></el-input>
         </el-form-item>
       </el-form>
-      <Product-Cost-Form :form="dynamicFormArray" :operator="operatorlist" over-size="small"
+      <Product-Cost-Form v-if="underwritingRulesAddVehicleFactorVisible" :form="dynamicFormArray" :operator="operatorlist" over-size="small"
         @saveForm="underwritingRulesSaveForm" @cancelForm="underwritingRulesCancelForm"></Product-Cost-Form>
     </el-dialog>
 
@@ -655,7 +657,7 @@
       </kt-common-table>
     </el-dialog>
     <el-dialog title="产品因子录入" :visible.sync="productCostFactorDialogVisible" :close-on-click-modal="false" width="70%"
-      top="6vh" :fullscreen="true" @open="productCostFactoropenDialog">
+      top="6vh" :fullscreen="true" @close="productCostFactoropenDialog">
       <Product-Cost-Form v-if="productCostFactorDialogVisible" :form="dynamicFormArray" :operator="operatorlist"
         over-size="small" @saveForm="productCostFactorSaveForm"
         @cancelForm="productCostFactorCancelForm"></Product-Cost-Form>
@@ -1033,10 +1035,6 @@ export default {
 
         { prop: "priorityLevel", label: "方案优先级", minWidth: 120 },
       ],
-      isCarCollapsed: true,
-      isCarownersCollapsed: true,
-      isApplicantCollapsed: true,
-      isInsuredCollapsed: true,
       labelWidth: "160px",
       factorDialogTitle: "承保规则录入", //配置因子弹框标题
       factorType: "1", //1 费用因子  2 核保因子
@@ -1046,27 +1044,6 @@ export default {
       copyAgreementId: "", //复制选中的协议ID
       syncAgreementIds: [], //同步选中的协议ID列表
       //调整使用性质联动勾选-starting
-      isIndeterminateYy: false,
-      checkAllYy: false,
-      userNatureYy: [
-        "营业出租",
-        "营业租赁",
-        "营业公交",
-        "营业客运",
-        "营业货运",
-        "营业旅游",
-      ],
-      checkedUserNatureYy: [],
-      isIndeterminateFyy: false,
-      checkAllFyy: false,
-      userNatureFyy: [
-        "家庭自用",
-        "非营业机关、事业",
-        "非营业企业",
-        "非营业货运",
-      ],
-      checkedUserNatureFyy: [],
-      //调整使用性质联动勾选-ending
       supplierType: "1", //协议类型
       agreementId: "",
       overSize: "mini",
@@ -1169,7 +1146,9 @@ export default {
         validInd: "1", //是否有效
         rulesAttrList: [],//规则属性
       },
+      //规则数据集
       dynamicFormArray: [],
+
       //分页数据
       productpageRequest: {
         pageNum: 1,
@@ -1513,11 +1492,7 @@ export default {
     this.getAllCompany();
   },
   methods: {
-    productCostFactoropenDialog() {
-      if (this.productCostAddDialogType == 'add') {
-        this.getFactorTemplate();
-      }
-    },
+
     getFactorTemplate() {
       this.$api.insCompany.productConfigItem().then(res => {
         if (res.code == '200') {
@@ -1718,7 +1693,9 @@ export default {
             return val;
           })
           this.$nextTick(() => {
+            this.dynamicFormArray=obj.costsAttrLinks;
             this.productCostForm = obj;
+            this.productCostForm.costsAttrLinks = [];
           });
           this.productCostAddDialogType = "edit";
           this.productCostAddDialogTitle = "产品编辑";
@@ -1743,7 +1720,13 @@ export default {
             return val;
           })
           this.$nextTick(() => {
-            this.underwritingRulesForm = obj;
+            this.dynamicFormArray = obj.costsAttrLinks;
+            this.underwritingRulesForm = {
+              agreementId: obj.agreementId, //协议id
+              ruleDescription: obj.ruleDescription, //规则描述
+              validInd: obj.validInd, //是否有效
+              rulesAttrList: [],//规则属性
+            };
           });
           this.underwritingRulesAddDialogType = "edit";
           this.underwritingRulesAddDialogTitle = "承保规则编辑";
@@ -2058,6 +2041,11 @@ export default {
         }
       });
     },
+    productCostFactoropenDialog() {
+      if (this.productCostAddDialogType == 'edit') {
+        this.getFactorTemplate();
+      }
+    },
     //弹框打开事件
     productcloseDialog() {
       for (const key in this.productCostForm) {
@@ -2065,15 +2053,17 @@ export default {
           this.productCostForm[key] = "";
         }
       }
-      // this.getFactorTemplate();
       this.roductList1 = null;
     },
     underwritingRulescloseDialog() {
       for (let key in this.underwritingRulesForm) {
-        if (key != "agreementId") {
+        if (key !== "agreementId" && key !== "rulesAttrList") {
           this.underwritingRulesForm[key] = "";
         }
       }
+      if(this.underwritingRulesAddDialogType=='edit'){
+        this.getFactorTemplate();
+      }
     },
     //弹框打开事件,清空表单
     closeDialog() {