From 8a266df75e912cc4ff49bc504db5b6b26f152892 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 07 六月 2024 17:34:31 +0800
Subject: [PATCH] 提交一把

---
 company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue |  157 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 101 insertions(+), 56 deletions(-)

diff --git a/company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue b/company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue
index 1b8721a..7232ab8 100644
--- a/company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue
+++ b/company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue
@@ -48,17 +48,17 @@
               placeholder="閫夋嫨鏃ユ湡">
           </el-date-picker>
         </el-form-item>
-        <el-form-item label="鎶曚繚骞撮緞" v-if="item">
+<!--        <el-form-item label="鎶曚繚骞撮緞" v-if="item && item.id !=null">
           <span>{{item.minAge}} 鑷� {{item.maxAge}}</span>
         </el-form-item>
-        <el-form-item label="璐圭敤" v-if="item && item.type ==0">
+        <el-form-item label="璐圭敤" v-if="item && item.id !=null">
           <span>{{item.price}}鍏�</span>
           <span v-if="item.timeUnit === 0">/澶�</span>
           <span v-if="item.timeUnit === 1">/鍗婃湀</span>
           <span v-if="item.timeUnit === 2">/鏈�</span>
           <span v-if="item.timeUnit === 3">/骞�</span>
           <span>/浜�</span>
-        </el-form-item>
+        </el-form-item>-->
       </el-form>
     </div>
     <div class="btns">
@@ -69,35 +69,52 @@
         <el-button type="danger" @click="deleItem">鍒犻櫎</el-button>
       </div>
       <div class="btns_item">
+        <div style="display: inline-block;margin-right: 30px;font-size: 14px" v-if="item && item.id !=null">
+          <span>鎶曚繚骞撮緞锛�</span>
+          <span>{{item.minAge}} 鑷� {{item.maxAge}}鍛ㄥ瞾</span>
+          <span style="margin-left: 20px">璐圭敤锛�</span>
+          <span>{{item.price}}鍏�</span>
+          <span v-if="item.timeUnit === 0">/澶�</span>
+          <span v-if="item.timeUnit === 1">/鍗婃湀</span>
+          <span v-if="item.timeUnit === 2">/鏈�</span>
+          <span v-if="item.timeUnit === 3">/骞�</span>
+          <span>/浜�</span>
+        </div>
+        <div style="display: inline-block;margin-right: 30px;font-size: 14px"><span>鍚堣璐圭敤锛�</span>
+        <span style="font-weight: bold;color: red">{{sumFee}}</span>鍏�
+        </div>
         <el-button type="primary" @click="sele">閫夊彇娲鹃仯鍗曚綅</el-button>
       </div>
     </div>
-    <el-table
+<!--    show-summary
+    :summary-method="getSummaries"-->
+    <u-table
         :data="tableData"
         border
-        show-summary
-        :summary-method="getSummaries"
+        use-virtual
+        :row-height="30"
+        :height="680"
         ref="multipleTable"
         @selection-change="handleSelectionChange"
         style="width: 100%;margin-bottom: 15px;">
-      <el-table-column
+      <u-table-column
           type="selection"
           width="55">
-      </el-table-column>
-      <el-table-column label="搴忓彿" width="80px">
+      </u-table-column>
+      <u-table-column label="搴忓彿" width="80px">
         <template slot-scope="scope">
           <span>{{scope.$index + 1}}</span>
         </template>
-      </el-table-column>
-      <el-table-column
+      </u-table-column>
+      <u-table-column
           prop="memberName"
           label="濮撳悕">
-      </el-table-column>
-      <el-table-column
+      </u-table-column>
+      <u-table-column
           prop="idCard"
           label="韬唤璇佸彿">
-      </el-table-column>
-      <el-table-column
+      </u-table-column>
+      <u-table-column
           label="骞撮緞">
         <template slot-scope="{row}">
           <template v-if="item">
@@ -105,37 +122,37 @@
             <span v-else>{{ getAgeByIdCard(row.idCard) }}</span>
           </template>
         </template>
-      </el-table-column>
-      <el-table-column
+      </u-table-column>
+      <u-table-column
           prop="duName"
           label="娲鹃仯鍗曚綅">
-      </el-table-column>
-      <el-table-column
+      </u-table-column>
+      <u-table-column
           prop="workTypeName"
           label="鎵�灞炲伐绉�">
-      </el-table-column>
-      <el-table-column
+      </u-table-column>
+      <u-table-column
           prop="fee"
           label="璐圭敤">
         <template slot-scope="{row}">
-          {{item.type==1?'-':row.fee}}
+          {{row.fee}}
         </template>
-      </el-table-column>
-      <el-table-column
+      </u-table-column>
+      <u-table-column
           prop="remark"
           align="center"
           label="澶囨敞">
         <template slot-scope="{row}">
           <el-input v-model="row.remark" placeholder="璇疯緭鍏�"></el-input>
         </template>
-      </el-table-column>
-      <el-table-column
+      </u-table-column>
+      <u-table-column
           label="鎿嶄綔">
         <template slot-scope="scope">
           <el-button type="text" style="color: red;" @click="dele(scope.$index)">鍒犻櫎</el-button>
         </template>
-      </el-table-column>
-    </el-table>
+      </u-table-column>
+    </u-table>
     <div class="info" v-if="item">
       <span v-if="item.specialAgreement"  v-html="item.specialAgreement"></span>
       <span v-if="item.specialInfo" v-html="item.specialInfo"> </span>
@@ -171,15 +188,19 @@
 import { all, getNewVersion } from '@/api/business/solutions'
 import { mapState } from 'vuex'
 import { create, getCountCyclePriceVO, getDetail, findList, updateData } from '@/api/business/insuranceApply'
+import { UTable, UTableColumn } from 'umy-ui'
+// Vue.component(UTable.name, UTable);
+// Vue.component(UTableColumn.name, UTableColumn);
 export default {
   name: 'OperaInsuranceApplyAddWindow',
   extends: BaseOpera,
   components: {
-    GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType, detailsPolicyholder
+    GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType, detailsPolicyholder, UTable, UTableColumn
     // ,  OperaWtbApplyShopWindow, OperaInsuranceApplyDetails
   },
   data () {
     return {
+      sumFee:0,
       form: {
         id: null,
         ID: null,
@@ -214,6 +235,17 @@
   },
   computed: {
     ...mapState(['userInfo'])
+  },
+  watch: {
+    // 鐩戝惉tableData鐨勫彉鍖�
+    tableData: {
+      deep: true,
+      handler(newVal, oldVal) {
+        // 鏁版嵁鍙樺寲鏃剁殑澶勭悊閫昏緫
+        this.getSummaries2()
+        console.log(this.tableData.length)
+      }
+    }
   },
   methods: {
     successEvent () {
@@ -316,25 +348,37 @@
           this.changeSolution1(res.solutionId)
         })
     },
-    getSummaries (param) {
-      const { columns, data } = param
+    getSummaries ({ columns, data }) {
       const sums = []
+      // this.currentData = data; //璁板綍褰撳墠椤垫暟鎹�;
       columns.forEach((column, index) => {
-        if (index === 0) {
+        if (index == 0) {
           sums[index] = '鎬讳环'
-        } else if (index === 7) {
-          if (this.item || this.item.type == 1) {
-            sums[index] = '-'
-          } else {
-            let total = 0
-            this.tableData.forEach(item => {
-              total += item.fee
-            })
-            sums[index] = total.toFixed(2)
-          }
+        } else if (index == 7) {
+          // if (this.item || this.item.type == 1) {
+          //   sums[index] = '-'
+          // } else {
+          let total = 0
+          this.tableData.forEach(item => {
+            total += item.fee
+          })
+          sums[index] = total.toFixed(2)
+          // }
+        }else {
+          sums[index] = ''
         }
       })
+      console.log(sums)
       return sums
+    },
+    getSummaries2 () {
+      this.sumFee = 0;
+      if(this.tableData&&this.tableData.length){
+        this.tableData.forEach((column, index) => {
+          this.sumFee = parseFloat(this.sumFee) + parseFloat(column.fee)
+        })
+        this.sumFee = (this.sumFee || 0).toFixed(2)
+      }
     },
     deleItem () {
       if (this.seleData.length === 0) {
@@ -348,6 +392,7 @@
           }
         })
       })
+      // this.getSummaries2()
     },
     confirm () {
       this.$refs.form.validate((valid) => {
@@ -366,11 +411,11 @@
           }
 
           let price = 0
-          if (this.item && this.item.type != 1) {
+          // if (this.item && this.item.type != 1) {
             this.tableData.forEach(item => {
               price = price + item.fee
             })
-          }
+          // }
           this.$refs.detailsPolicyholder.open('鎶曚繚璇︽儏鍗�', {
             companyName: this.userInfo.company.name,
             solutionName: this.item.name,
@@ -447,14 +492,15 @@
     },
     // 鍒囨崲鏂规
     changeSolution (e) {
+      this.sumFee =0;
       this.form.applyEndTime = ''
       this.form.applyStartTime = ''
       if (!this.form.id) {
         this.tableData = []
       } else {
-        this.price = ''
+        this.price = 0
         this.tableData.forEach(item => {
-          item.fee = ''
+          item.fee = 0
           item.duName = ''
           item.duId = ''
           item.workTypeName = ''
@@ -463,11 +509,11 @@
       }
       this.company.forEach(item => {
         if (item.id === e) {
-          // this.price = item.price
+          this.price = item.price
           this.item = item
-          if (this.item && this.item.type == 1) {
-            this.item.fee = 0
-          }
+          // if (this.item && this.item.type == 1) {
+          //   this.item.fee = 0
+          // }
           this.updatePickerOptions()
         }
       })
@@ -482,23 +528,21 @@
           this.form.solutionId = res.id
           this.company.forEach(item => {
             if (item.id === res.id) {
-              // this.price = item.price
+              this.price = item.price
               this.item = item
-              if (this.item && this.item.type == 1) {
-                this.item.fee = 0
-              }
               this.updatePickerOptions()
             }
           })
         })
       this.tableData.forEach(item => {
-        if(this.item.type != 0){
+        // if (this.item.type != 0) {
           item.fee = this.price
-        }
+        // }
       })
     },
     dele (index) {
       this.tableData.splice(index, 1)
+      // this.getSummaries2()
     },
     getUser (obj) {
       this.seleData.forEach(id => {
@@ -562,6 +606,7 @@
     },
     getValue (list) {
       this.tableData.push(...list)
+      this.getSummaries2()
     }
   }
 }

--
Gitblit v1.9.3