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