Compare commits

...

20 Commits

Author SHA1 Message Date
xuxingjun
06f3cc0b09 样式优化 2025-12-01 14:45:31 +08:00
xuxingjun
ec4962e853 优化喜报样式 2025-12-01 13:59:25 +08:00
xuxingjun
3418d0a56f 合并 优化喜报下载两次bug 2025-12-01 13:05:38 +08:00
dong.ai
5002a73e00 【fix】更换背景图片 2025-12-01 11:35:44 +08:00
zhanglei
747f6e55d9 Merge remote-tracking branch 'origin/feature/【20251128】嘉和保少儿责任输入框隐藏' into release/【20251128】状元红产品小数费用编辑&&嘉和保少儿责任输入框隐藏 2025-11-28 16:55:21 +08:00
dong.ai
77ab43dadc 【FIX】嘉和保少儿版隐藏步责任中进器框 2025-11-28 16:20:44 +08:00
zhanglei
76c0976fef Merge remote-tracking branch 'origin/feature/FCRS-1074国富人寿状元红教育年金保险(分红型)个险渠道' into release/【20251128】状元红产品小数费用编辑
# Conflicts:
#	src/views/ebiz/common/CalculatePremium.vue
2025-11-28 16:04:02 +08:00
dong.ai
9960d694e2 【FIX】修复步进器小数点问题 2025-11-28 10:55:55 +08:00
zhanglei
2ccc9622bf Merge remote-tracking branch 'origin/feature/FCRS-1089无民事行为能力人除未成年人以外的其他控制措施' into release/【20251126】关于个险渠道金掌桂2026年旺季营销系统功能开发的请示&&无民事行为能力人除未成年人以外的其他控制措施 2025-11-26 21:57:14 +08:00
zhanglei
daa56c677f Merge remote-tracking branch 'origin/feature/FCRS-1085关于个险渠道金掌桂2026年旺季营销系统功能开发的请示' into release/【20251126】关于个险渠道金掌桂2026年旺季营销系统功能开发的请示&&无民事行为能力人除未成年人以外的其他控制措施 2025-11-26 21:55:56 +08:00
zhanglei
04f586aa76 Merge remote-tracking branch 'origin/feature/FCRS-1093国富人寿鑫享传家终身寿险-中介渠道' 2025-11-26 21:32:45 +08:00
zhanglei
f23bedd030 Merge branch 'feature/FCRS-1074国富人寿状元红教育年金保险(分红型)个险渠道' into release/【20251125】状元红教育年金保险(分红型)个险&&国富人寿鑫享传家终身寿险中介 2025-11-25 21:27:53 +08:00
zhanglei
7266d1271d feature/FCRS-1074国富人寿状元红教育年金保险(分红型)个险渠道 2025-11-24 17:25:15 +08:00
hz
49ace93f5e fix(premium): 调整保费计算中的产品代码逻辑
- 在计算逻辑中新增产品代码 GFRS_M0116 的判断条件
- 移除重复的产品代码 GFRS_M0116 判断,避免逻辑冲突
- 确保保费金额默认值的设置逻辑准确无误
2025-11-24 13:29:29 +08:00
hz
cd739a796f style(ebiz): 调整CalculatePremium.vue组件代码格式
- 统一调整van-tag、van-icon等组件的属性顺序
- 调整div标签中v-if指令与class属性的位置
- 规范van-stepper组件属性排列顺序
- 调整van-field组件属性顺序
- 统一处理组件标签闭合格式
- 规范JavaScript函数箭头符号前后空格
- 调整数组和对象方法的回调函数格式
- 统一条件判断语句的括号格式
- 规范注释内容的排版格式
- 调整多行表达式的换行位置
2025-11-24 11:37:26 +08:00
xuxinxiang
a0cc22b602 增加【本产品不支持有智能障碍,或其他精神、心理疾病的人士投保】提示 2025-11-18 09:39:14 +08:00
zhanglei
e4338d1cdd feature/FCRS-1085关于个险渠道金掌桂2026年旺季营销系统功能开发的请示--换选择产品图 2025-11-17 11:47:06 +08:00
zhanglei
383ed001da feature/FCRS-1085关于个险渠道金掌桂2026年旺季营销系统功能开发的请示--换专区头部开门红图 2025-11-14 16:52:33 +08:00
xuxingjun
b18e0b9039 优化下载 2025-08-12 14:13:34 +08:00
xuxingjun
9c8d863232 优化贺报下载 2025-08-06 19:45:29 +08:00
9 changed files with 367 additions and 273 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 615 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 428 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

View File

@@ -255,11 +255,13 @@
@cancel="cancelChange"
/>
</van-popup>
<div class="hebao" v-if="hebaoShow">
<!-- <div class="hebao"> -->
<generateImg
v-if="hebaoShow"
@child-colse="closeHebao"
@custom-event="customEvent"
></generateImg>
</div>
<!-- </div> -->
<van-popup v-model="xiangqingShow" position="right" :style="{ width: '100%', height: '100%' }">
<policyDetails
v-if="xiangqingShow"
@@ -631,33 +633,40 @@ export default {
message: '加载中……'
})
let data = {}
if(this.dateFlag == 'all') {
data = {
outOrderType: this.outOrderType, // "accept",//--出单类型 承保 accept 预收 advance
// dateFlag: this.dateFlag, // -最近一月-m,最近一年y ,全部-all
dateFlag: '', // 暂不使用改参数,默认给空
// appntDate: this.postDate,
distCode: this.OrgLv2Code,
depCode: this.OrgLv3Code,
orgCode: this.OrgLv4Code,
pageNum: this.pageNum,
pageSize: this.pageSize
}
} else {
data = {
outOrderType: this.outOrderType, // "accept",//--出单类型 承保 accept 预收 advance
startDate: this.dialogForm.startDate, // "2024-09-01",
endDate: this.dialogForm.endDate, //"2024-09-30",
// dateFlag: this.dateFlag, // -最近一月-m,最近一年y ,全部-all
dateFlag: '', // 暂不使用改参数,默认给空
// appntDate: this.postDate,
distCode: this.OrgLv2Code,
depCode: this.OrgLv3Code,
orgCode: this.OrgLv4Code,
pageNum: this.pageNum,
pageSize: this.pageSize
if(localStorage.getItem("billingShow")) {
// console.log('用了');
data = JSON.parse(localStorage.getItem("billingDetail"))
}else {
// console.log('没用');
if(this.dateFlag == 'all') {
data = {
outOrderType: this.outOrderType, // "accept",//--出单类型 承保 accept 预收 advance
// dateFlag: this.dateFlag, // -最近一月-m,最近一年y ,全部-all
dateFlag: '', // 暂不使用改参数,默认给空
// appntDate: this.postDate,
distCode: this.OrgLv2Code,
depCode: this.OrgLv3Code,
orgCode: this.OrgLv4Code,
pageNum: this.pageNum,
pageSize: this.pageSize
}
} else {
data = {
outOrderType: this.outOrderType, // "accept",//--出单类型 承保 accept 预收 advance
startDate: this.dialogForm.startDate, // "2024-09-01",
endDate: this.dialogForm.endDate, //"2024-09-30",
// dateFlag: this.dateFlag, // -最近一月-m,最近一年y ,全部-all
dateFlag: '', // 暂不使用改参数,默认给空
// appntDate: this.postDate,
distCode: this.OrgLv2Code,
depCode: this.OrgLv3Code,
orgCode: this.OrgLv4Code,
pageNum: this.pageNum,
pageSize: this.pageSize
}
}
}
localStorage.setItem("billingDetail", JSON.stringify(data))
queryOutOrderList(data).then((res) => {
this.$toast.clear()
if (res.result == 0) {
@@ -673,6 +682,7 @@ export default {
this.total = res.content.total
this.loading = false
this.listShow = true
localStorage.setItem("billingShow", false)
} else{
this.tableData = []
this.listShow = false
@@ -856,6 +866,11 @@ export default {
closeDetails() {
this.xiangqingShow = !this.xiangqingShow
},
customEvent() {
this.closeHebao();
// console.log('缓存变true了');
this.queryOutOrderListFunc();
},
closeHebao() {
this.hebaoShow = !this.hebaoShow
},

File diff suppressed because it is too large Load Diff

View File

@@ -48,7 +48,7 @@ export default {
age = this.getSaleInsuredInfo().age
tips = '投保人年龄不适合此款险种,请选择其他险种!'
} else {
if(riskProductCode == 'GFRS_M0061' || riskProductCode == 'GFRS_M0102' || riskProductCode == 'GFRS_M0101'){
if(riskProductCode == 'GFRS_M0061' || riskProductCode == 'GFRS_M0102' || riskProductCode == 'GFRS_M0101' || riskProductCode == 'GFRS_M0114'){
age = this.getSaleInsuredPersonInfo().birthday?utilsAge.getAge29(this.getSaleInsuredPersonInfo().birthday, new Date()):this.getSaleInsuredPersonInfo().insuredAge
}else{
age = this.getSaleInsuredPersonInfo().birthday?utilsAge.getAgeByValue(this.getSaleInsuredPersonInfo().birthday, new Date()):this.getSaleInsuredPersonInfo().insuredAge

View File

@@ -1,7 +1,7 @@
<template>
<div>
<div id="capture" ref="generateImg" style="height: 100vh; overflow: hidden">
<img src="@/assets/images/list_img.png" alt="" />
<div style="">
<div id="capture" ref="generateImg" class="content" style="width: 100%;height: 100vh; overflow: hidden">
<!-- <img src="@/assets/images/list_img1.png" alt="" /> -->
<div class="box">
<div class="title">
<p class="organ">{{ orderList.manageComNameFull }}</p>
@@ -56,7 +56,7 @@ export default {
methods: {
getList() {
this.orderList = JSON.parse(localStorage.getItem('orderList'))
console.log('页面数据',this.orderList);
// console.log('页面数据',this.orderList);
},
// 将 Blob转base64
blobToBase64(blob) {
@@ -95,28 +95,25 @@ export default {
})
},
// 生成图片并下载
domToImage(domElement, quality, callback) {
console.log(location);
async domToImage(domElement, quality, callback) {
html2canvas(domElement, {
width: domElement.offsetWidth,
height: domElement.offsetHeight,
backgroundColor: '#fff',
scale: 1,
dpi: 300
dpi: 300,
useCORS: true,
allowTaint: true,
}).then((canvas) => {
// 转换canvas为PNG图片并压缩
this.$toast.loading({
duration: 1000, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
canvas.toBlob(
(blob) => {
// const a = document.createElement('a')
// a.href = URL.createObjectURL(blob)
// a.download = '业绩贺报.png'
// a.click()
// let newimg = new Image()
// newimg.src = URL.createObjectURL(blob)
// newimg.onload = function () {
// URL.revokeObjectURL(newimg.src)
// callback(newimg)
// }
this.blobToBase64(blob).then((base64String) => {
base64Excel({ base64Img: base64String }).then(res => {
if (res.result == '0') {
@@ -130,6 +127,10 @@ export default {
.catch(() => {
this.$toast.fail('图片下载失败,请重新下载!')
})
setTimeout(() => {
localStorage.setItem("billingShow", true)
location.reload(true)
}, 1000)
}
})
@@ -141,6 +142,14 @@ export default {
)
})
},
downloadImage(dataUrl) {
const link = document.createElement('a')
link.download = '业绩贺报.png'
link.href = dataUrl
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
},
downLoadImagesFunc() {
this.domToImage(this.$refs.generateImg)
},
@@ -152,6 +161,14 @@ export default {
</script>
<style lang="scss" scoped>
.content {
position: fixed;
top: 0;
left: 0;
background-image: url(../../../assets/images/list_img1.png);
background-size: 100% 100%;
background-repeat: no-repeat;
}
img {
height: 100%;
width: 100%;
@@ -159,7 +176,7 @@ img {
}
.box {
position: absolute;
position: fixed;
width: 80%;
height: 40%;
top: 38%;
@@ -169,8 +186,8 @@ img {
position: absolute;
width: 100%;
// left: 30%;
top: 24%;
font-weight: bold;
top: 18%;
font-weight: 500;
p {
display: flex;
@@ -178,21 +195,21 @@ img {
}
.organ {
font-size: 12px;
color: #333333;
font-size: 13px;
color: #FFB870;
}
.name {
font-size: 17px;
color: #333333;
font-size: 32px;
color: #FFB870;
}
}
.pName {
position: absolute;
top: 44%;
top: 48%;
font-size: 15px;
color: #B1170C;
color: #D31300;
width: 100%;
display: flex;
justify-content: center;
@@ -201,9 +218,9 @@ img {
.type {
font-size: 22px;
color: #B1170C;
color: #D31300;
position: absolute;
top: 53%;
top: 55%;
width: 100%;
display: flex;
justify-content: center;
@@ -211,9 +228,9 @@ img {
.yuan {
font-size: 30px;
color: #B1170C;
color: #D31300;
position: absolute;
top: 67%;
top: 68%;
width: 100%;
text-align: center;
display: inline-block;
@@ -227,9 +244,9 @@ img {
.time {
font-size: 14px;
color: #333333;
color: #CA892C;
position: absolute;
top: 85%;
top: 84%;
width: 100%;
display: flex;
justify-content: center;

View File

@@ -30,7 +30,14 @@
</span>
</div>
</div>
<div style="margin-top: 15px; display: flex; align-items: center" class="fs20">
<div class="xxx-issue">
<p class="p1">您是否存在智能障碍或其他精神心理疾病</p>
<van-radio-group v-model="xxxIssue">
<van-radio name="1"></van-radio>
<van-radio name="2"></van-radio>
</van-radio-group>
</div>
<div style="margin-top: 15px; display: flex; align-items: center;margin-bottom: 100px;" class="fs20">
<span v-if="signVal == '3'" style="font-size: 16px; font-weight: bold">代理人签名</span>
<span v-if="signVal == '0' || signVal == '2'" style="font-size: 16px; font-weight: bold">投保人签名</span>
<span v-if="signVal == '1' && insuredAge >= 18" style="font-size: 16px; font-weight: bold">被保险人签名</span>
@@ -64,6 +71,7 @@
<script>
import { saveInformation } from '@/api/ebiz/sale/sale'
import isChoose from '@/assets/images/u20257.png'
import { RadioGroup, Radio} from 'vant'
export default {
data() {
return {
@@ -76,10 +84,14 @@ export default {
insuredAge: '',
guardianshow: false,
guardianName: '',
nextDisabled: true
nextDisabled: true,
xxxIssue: '2'
}
},
components: {},
components: {
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
},
created() {
setTimeout(() => {
// eslint-disable-next-line no-undef
@@ -157,6 +169,9 @@ export default {
}
},
gonext() {
if (this.xxxIssue === '1') {
return this.$toast('本产品不支持有智能障碍,或其他精神、心理疾病的人士投保。')
}
let params = {
orderType: 'SIGN_MERGED_ORDER',
orderDTO: {
@@ -272,4 +287,18 @@ export default {
padding: 8px 16px;
}
}
.xxx-issue{
margin-top: 10px;
.p1{
font-size: 16px;
color: #000;
margin-bottom: 10px;
}
/deep/.van-radio-group{
display: flex;
.van-radio{
margin-right: 20px;
}
}
}
</style>