From 3a45da15c947c2d478a44a51bd0f926647b1b841 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 11 四月 2025 16:33:17 +0800
Subject: [PATCH] 提交
---
company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue | 264 ++++++++++++++++++++++++++++++----------------------
1 files changed, 154 insertions(+), 110 deletions(-)
diff --git a/company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue b/company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue
index b079e87..15fb687 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,41 +122,41 @@
<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">{{item.specialAgreement}}</span>
- <span v-if="item.specialInfo">{{item.specialInfo}}</span>
- <span v-if="item.ortherInfo">{{item.ortherInfo}}</span>
+ <span v-if="item.specialAgreement" v-html="item.specialAgreement"></span>
+ <span v-if="item.specialInfo" v-html="item.specialInfo"> </span>
+ <span v-if="item.ortherInfo" v-html="item.ortherInfo"></span>
</div>
<!-- 閫夋嫨鍛樺伐 -->
<selectEmployees ref="selectEmployees" @result="getValue" />
@@ -162,23 +179,30 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import selectEmployees from '@/components/enterprise/selectEmployees'
-import addEmployee from '@/components/enterprise/addEmployee'
+import addEmployee from '@/components/enterprise/addEmployeeWithDu'
import importEmployees from '@/components/enterprise/importEmployees'
import confirmJobType from '@/components/enterprise/confirmJobType'
import detailsPolicyholder from '@/components/business/detailsPolicyholder'
-// import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
-// import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
import { all, getNewVersion } from '@/api/business/solutions'
import { mapState } from 'vuex'
-import { create, getCountCyclePriceVO, getDetail, findList, updateData } from '@/api/business/insuranceApply'
+import { create, getCountCyclePriceVO, getDetail, findList } from '@/api/business/insuranceApply'
+import { UTable, UTableColumn } from 'umy-ui'
export default {
- name: 'OperaInsuranceApplyAddWindow',
+ name: 'OperaInsuranceApplyAddWindowNew',
extends: BaseOpera,
- components: { GlobalWindow, selectEmployees, addEmployee,importEmployees, confirmJobType, detailsPolicyholder
- // , OperaWtbApplyShopWindow, OperaInsuranceApplyDetails
+ components: {
+ GlobalWindow,
+ selectEmployees,
+ addEmployee,
+ importEmployees,
+ confirmJobType,
+ detailsPolicyholder,
+ UTable,
+ UTableColumn
},
data () {
return {
+ sumFee: 0,
form: {
id: null,
ID: null,
@@ -214,6 +238,17 @@
computed: {
...mapState(['userInfo'])
},
+ watch: {
+ // 鐩戝惉tableData鐨勫彉鍖�
+ tableData: {
+ deep: true,
+ handler (newVal, oldVal) {
+ // 鏁版嵁鍙樺寲鏃剁殑澶勭悊閫昏緫
+ this.getSummaries2()
+ console.log(this.tableData.length)
+ }
+ }
+ },
methods: {
successEvent () {
const arr = JSON.parse(JSON.stringify(this.tableData))
@@ -227,25 +262,19 @@
applyStartTime: this.form.applyStartTime,
applyEndTime: this.form.applyEndTime,
solutionId: this.form.solutionId
- }).then(res=> {
+ }).then(res => {
console.log(res)
- this.visible = false
- if (this.item.type == 1) {
- // this.$refs.OperaWtbApplyShopWindow.open('濮旀墭鎶曚繚璇︽儏', { id: res })
- this.$emit('success','濮旀墭鎶曚繚璇︽儏', { id: res })
- } else {
- // this.$refs.OperaInsuranceApplyDetails.open('鎶曚繚璇︽儏', { id: res })
- this.$emit('success','鎶曚繚璇︽儏', { id: res })
- }
+ this.$emit('success', 1, { id: res,godetail:true,type:this.item.type})
this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.visible = false
// this.$emit('success','濮旀墭鎶曚繚璇︽儏', { id: res })
})
- .catch(e => {
- this.$tip.apiFailed(e)
- })
- .finally(() => {
- this.isWorking = false
- })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
// } else {
// updateData({
// id: this.form.id,
@@ -295,45 +324,57 @@
// 鑾峰彇鎶曚繚璇︽儏
getDetails () {
findList({ applyId: this.form.id })
- .then(res => {
- res.forEach(item => {
- console.log(item)
- item.idCard = item.idcardNo
- item.fee = ''
- if (this.type === 1) {
- item.duName = ''
- item.duId = ''
- item.worktypeId = ''
- item.workTypeName = ''
- }
- })
- this.tableData = res
+ .then(res => {
+ res.forEach(item => {
+ console.log(item)
+ item.idCard = item.idcardNo
+ item.fee = ''
+ if (this.type === 1) {
+ // item.duName = ''
+ // item.duId = ''
+ // item.worktypeId = ''
+ // item.workTypeName = ''
+ }
})
+ this.tableData = res
+ })
getDetail(this.form.id)
- .then(res => {
- // this.form.solutionId = res.solutionId
- this.changeSolution1(res.solutionId)
- })
+ .then(res => {
+ // this.form.solutionId = res.solutionId
+ 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) {
@@ -347,6 +388,7 @@
}
})
})
+ // this.getSummaries2()
},
confirm () {
this.$refs.form.validate((valid) => {
@@ -365,11 +407,11 @@
}
let price = 0
- if (this.item && this.item.type != 1) {
- this.tableData.forEach(item => {
- price = price + item.fee
- })
- }
+ // 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,
@@ -435,7 +477,7 @@
this.$message.warning('璇峰厛閫夋嫨淇濋櫓鏂规')
return
}
- this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.tableData, price: this.price })
+ this.$refs.addEmployee.open('娣诲姞鍛樺伐', { arr: this.tableData, price: this.price, solutionId: this.form.solutionId })
},
uploadUser () {
if (!this.form.solutionId) {
@@ -446,14 +488,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 = ''
@@ -462,11 +505,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()
}
})
@@ -477,25 +520,25 @@
// 鍒囨崲鏂规
changeSolution1 (e) {
getNewVersion(e)
- .then(res => {
- this.form.solutionId = res.id
- this.company.forEach(item => {
- if (item.id === res.id) {
- // this.price = item.price
- this.item = item
- if(this.item && this.item.type==1){
- this.item.fee=0
- }
- this.updatePickerOptions()
- }
- })
+ .then(res => {
+ this.form.solutionId = res.id
+ this.company.forEach(item => {
+ if (item.id === res.id) {
+ this.price = item.price
+ this.item = item
+ this.updatePickerOptions()
+ }
})
+ })
this.tableData.forEach(item => {
+ // if (this.item.type != 0) {
item.fee = this.price
+ // }
})
},
dele (index) {
this.tableData.splice(index, 1)
+ // this.getSummaries2()
},
getUser (obj) {
this.seleData.forEach(id => {
@@ -526,9 +569,9 @@
// 鏌ヨ鍏ㄩ儴鏂规
getCompany () {
all({})
- .then(res => {
- this.company = res
- })
+ .then(res => {
+ this.company = res
+ })
},
getAgeByIdCard (idCard) {
const sexAndAge = {}
@@ -559,6 +602,7 @@
},
getValue (list) {
this.tableData.push(...list)
+ this.getSummaries2()
}
}
}
--
Gitblit v1.9.3