/*************************************************************** *

ProName:LCContCommonInput.js

*

Title:契约阶段共用域

*

Description:契约阶段共用域

*

Copyright:Copyright (c) 2012

*

Company:Sinosoft

* @author : JingDian * @version : 8.0 * @date : 2014-03-14 ****************************************************************/ var tActivityType = "1002"; var tPlanShowRows = 10; /** * 获取产品类型 */ function getContPlanType(cGrpPropNo) { tSQLInfo = new SqlClass(); tSQLInfo.setResourceName("g_app.LCContPlanTradSql"); tSQLInfo.setSqlId("LCContPlanTradSql5"); tSQLInfo.addSubPara(cGrpPropNo); tSQLInfo.setModule("grp_common"); var tProdArr = easyExecSql(tSQLInfo.getString(), 1, 0, 1); if (tProdArr==null) { tSQLInfo = new SqlClass(); tSQLInfo.setResourceName("g_app.LCContPlanTradSql"); tSQLInfo.setSqlId("LCContPlanTradSql18"); tSQLInfo.addSubPara(cGrpPropNo); tSQLInfo.addSubPara(cGrpPropNo); tSQLInfo.addSubPara(cGrpPropNo); tSQLInfo.setModule("grp_common"); var tPArr = easyExecSql(tSQLInfo.getString(), 1, 0, 1); if (tPArr==null) { }else{ return tPArr[0][0]; } } else { return tProdArr[0][0]; } return ""; } /** * 获取产品类型 */ function getQuotType(cGrpPropNo) { tSQLInfo = new SqlClass(); tSQLInfo.setResourceName("g_app.LCContCommonSql"); tSQLInfo.setSqlId("LCContCommonSql6"); tSQLInfo.addSubPara(cGrpPropNo); tSQLInfo.setModule("grp_common"); var tQuotArr = easyExecSql(tSQLInfo.getString(), 1, 0, 1); if (tQuotArr==null) { } else { return tQuotArr[0][0]; } return ""; } /** * 自定义codename赋值 */ function auotContShowCodeName(cCodeType, cCode, cObj, cCodeName) { tSQLInfo = new SqlClass(); tSQLInfo.setResourceName("g_app.LCContPlanTradSql"); tSQLInfo.setSqlId("LCContPlanTradSql12"); tSQLInfo.addSubPara(cCodeType); tSQLInfo.addSubPara(cCode); tSQLInfo.setModule("grp_common"); var tArr = easyExecSql(tSQLInfo.getString(), 1, 0, 1); if (tArr==null) { } else { document.all(cCodeName).value = tArr[0][0]; } } /** * 校验数据整数位于小数位长度 */ function checkDecimalFormat(cValue, cLen1, cLen2) { if (cValue=='' || cValue==null) {//为空, return true; } var tLen = (""+cValue+"").length; var tLen1 = (""+cValue+"").indexOf("."); var tLen2 = 0; if (tLen1==-1) { tLen1 = tLen; } else { tLen2 = tLen - tLen1 - 1; } if (Number(tLen1)>Number(cLen1)) { return false; } if (Number(tLen2)>Number(cLen2)) { return false; } return true; } /** * 产品参数维护跳转页 o-目标步骤 */ function goToPordParamStep(o, p) { var tPath = "?ObjType=CONT&BussType=NB&ContPlanType="+ tContPlanType +"&BussNo="+ tBussNo +"&MissionID="+ tMissionID +"&SubMissionID="+ tSubMissionID +"&ActivityID="+ tActivityID+"&QueryFlag="+tQueryFlag; if (o=="0") {//管理费维护 location.href = "./LCContParamInput.jsp" + tPath; } else if (o=="1") {//保全退费算法维护 location.href = "./LCEdorRefundCalInput.jsp" + tPath; } } /** 展示查询结果,赋值到Muline **/ function showMulLineInfo(tResultStr, objGrid ,objPage){ objPage.strQueryResult = tResultStr; if(objPage.strQueryResult==null||objPage.strQueryResult=="") { //initExeTrendsGrid(); i18nAlert("未查询到符合条件的查询结果!", "LIS-03016"); return false; } objPage.decodeEasyQueryResult(objPage.strQueryResult,'0'); objPage.useSimulation = 1; objPage.arrDataCacheSet = decodeEasyQueryResult(turnPage1.strQueryResult, 0, 0, objPage); //设置初始化过的MULTILINE对象,VarGrid为在初始化页中定义的全局变量 objPage.pageDisplayGrid = objGrid; //objGrid.SortPage = objPage;地址页标识 //设置查询起始位置 objPage.pageIndex = 0; //在查询结果数组中取出符合页面显示大小设置的数组 var arrDataSet = turnPage1.getData(objPage.arrDataCacheSet, objPage.pageIndex, 10); //调用MULTILINE对象显示查询结果 displayMultiline(arrDataSet, objPage.pageDisplayGrid, objPage); objGrid.setPageMark(objPage); return true; } function getDutyElementArr(cRiskCode, cDutyCode) { var tCalFactor;//原因子编码 var tFactorCode;//从表字段 var tFactorName;//因子名称 var tFieldType;//字段类型 var tValueType;//值类型 var tDefaultValue;//默认值 var tFieldLength;//字段长度 tSQLInfo = new SqlClass(); tSQLInfo.setResourceName("g_app.LCContPlanTradSql"); tSQLInfo.setSqlId("LCContPlanTradSql28"); tSQLInfo.addSubPara(cRiskCode); tSQLInfo.addSubPara(cDutyCode); tSQLInfo.setModule("grp_common"); var tArr = easyExecSql(tSQLInfo.getString(), 1, 0, 1); return tArr; } function checkDutyElement(cObj, tArr, cFlag) { var tRelaFactor = ""; var tRelaFactorName = ""; if (cFlag=="1") { tRelaFactor = "Relation"; tRelaFactorName = "附属方案"; } if (tArr==null) { //未查询出数据,表示无动态因子 } else { for (var i=0; i=Number(tReg3)) { i18nAlert("{0}应小于{1}!", "LIS-03843", tFactorName, tReg3); return false; } } else if (tReg4=="]") { if (Number(tValue)>Number(tReg3)) { i18nAlert("{0}应不大于{1}!", "LIS-18117", tFactorName, tReg3); return false; } } else { i18nAlert("{0}校验异常!", "LIS-03842", tFactorName); return false; } } if (tValueType=="INT") { if (!isInteger(tValue)) { i18nAlert("{0}应为整数!", "LIS-03844", tFactorName); return false; } } else if (tValueType=="NUM") { if (!isNumeric(tValue)) { i18nAlert("{0}应为有效数字!", "LIS-03845", tFactorName); return false; } //拆分规则 var tRegArr = tFieldLength.split(","); if (!checkDecimalFormat(tValue, tRegArr[0], tRegArr[1])) { i18nAlert("{0}整数位不应超过{1}位,小数位不应超过{2}位!", "LIS-03846", tFactorName, tRegArr[0], tRegArr[1]); return false; } } } } } return true; } function getDutyElement(tArr, cFlag) { var tRelaFactor = ""; var tRelaFactorName = ""; if (cFlag=="1") { tRelaFactor = "Relation"; tRelaFactorName = "附属方案"; } var tInnerHTML0 = ""; if (tArr==null) { //未查询出数据,表示无动态因子 } else { tInnerHTML0 = "
"; var tCount = 3; for (var i=0; i"+ tRelaFactorName + tFactorName +""; } else if (tCalFactor =="StandPerPrem") { tInnerHTML0 += " value=\""+ tDefaultValue +"\"> "; } else { tInnerHTML0 += " value=\""+ tDefaultValue +"\"> *"; } } else if (tFieldType=="1") { if (tMandatoryFlag=="1") { tInnerHTML0 += ""; } else { //add by dianj if (tCalFactor =="PremCalWay") { tInnerHTML0 += ""; } else{ tInnerHTML0 += ""; } } } else if (tFieldType=="2") { if (tMandatoryFlag=="1") { tInnerHTML0 += ""; } tCount--; if (tCount==0) { tInnerHTML0 += ""; tCount = 3; } } if (tCount!=0 && tCount!=3) {//补上空白的字段 for (var i=1; i<=tCount; i++) { tInnerHTML0 += ""; } tInnerHTML0 += ""; } tInnerHTML0 += "
"+ tRelaFactorName + tFactorName +" *"+ tRelaFactorName + tFactorName +" *"+ tRelaFactorName + tFactorName +" *"+ tRelaFactorName + tFactorName +" *"+ tRelaFactorName + tFactorName +" *
"; } return tInnerHTML0; } /** * 获取责任动态域需赋值字段SQL */ function getDutySQLElement(tArr) { var tSQLElement = ""; if (tArr==null) { //未查询出数据,表示无动态因子 } else { for (var i=0; i=RowNum) { //相等时,表示总记录数取尽 } else { var tPolicyNo = cArr[tStartNum+i-1][0]; var tSysPlanCode = cArr[tStartNum+i-1][1]; var tPlanCode = cArr[tStartNum+i-1][2]; tSQLInfo = new SqlClass(); tSQLInfo.setResourceName("g_app.LCContCommonSql"); tSQLInfo.setSqlId("LCContCommonSql4"); tSQLInfo.addSubPara(tPolicyNo); tSQLInfo.addSubPara(tSysPlanCode); tSQLInfo.addSubPara(tPlanCode); tSQLInfo.setModule("grp_common"); var tPlanArr = easyExecSql(tSQLInfo.getString(), 1, 0, 1); if (tPlanArr!=null) { var j = 0; var tSysPlanCode = tPlanArr[0][j++]; var tPlanCode = tPlanArr[0][j++]; var tPlanDesc = tPlanArr[0][j++]; var tPlanType = tPlanArr[0][j++]; var tPlanTypeName = tPlanArr[0][j++]; var tPremCalType = tPlanArr[0][j++]; var tPremCalTypeName = tPlanArr[0][j++]; var tPlanFlag = tPlanArr[0][j++]; var tPlanFlagName = tPlanArr[0][j++]; var tOccupTypeFlag = tPlanArr[0][j++]; var tOccupTypeFlagName = tPlanArr[0][j++]; var tMinOccupType = tPlanArr[0][j++]; var tMinOccupTypeName = tPlanArr[0][j++]; var tMaxOccupType = tPlanArr[0][j++]; var tMaxOccupTypeName = tPlanArr[0][j++]; var tOccupType = tPlanArr[0][j++]; var tOccupTypeName = tPlanArr[0][j++]; var tOccupMidType = tPlanArr[0][j++]; var tOccupMidTypeName = tPlanArr[0][j++]; var tOccupCode = tPlanArr[0][j++]; var tOccupCodeName = tPlanArr[0][j++]; var tNumPeople = tPlanArr[0][j++]; var tMaleRate = tPlanArr[0][j++]; var tFemaleRate = tPlanArr[0][j++]; var tMinAge = tPlanArr[0][j++]; var tMaxAge = tPlanArr[0][j++]; var tAvgAge = tPlanArr[0][j++]; var tMinSalary = tPlanArr[0][j++]; var tMaxSalary = tPlanArr[0][j++]; var tAvgSalary = tPlanArr[0][j++]; var tSocialInsuRate = tPlanArr[0][j++];//参加社保占比 var tRetireRate = tPlanArr[0][j++];//退休占比 var tOtherDesc = tPlanArr[0][j++];//其他说明 var tPolciyNo = tPlanArr[0][j++];//保单号 tInnerHTML1 += "" +"" +" " +""; if (cContPlanType=="00" || cContPlanType=="02" || cContPlanType=="03") {//普通险种,账户型及个人险种 if (tPlanType=="00" || tPlanType=="02") { //职业处理 if (tOccupTypeFlag=="1") {//单职业 tInnerHTML1 +="" +" " +""; } else if (tOccupTypeFlag=="2") {//多职业 tInnerHTML1 +="" +" "; } tInnerHTML1 +="" +" " +"" +"" +" " +""; } } tInnerHTML1 +="" +" " +"" +"
方案:"+tPlanCode+"("+tPlanDesc+")
职业类别:"+tOccupTypeName+"  职业中分类:"+tOccupMidTypeName+"  工种:"+tOccupCodeName+"  
职业类别:"+ tMinOccupTypeName +"-"+ tMaxOccupTypeName; +"
人数:"+ tNumPeople +"  男女比例:"+ tMaleRate +":"+ tFemaleRate +"  最低年龄:"+ tMinAge +"  最高年龄:"+ tMaxAge +"  平均年龄:"+ tAvgAge +"  
最低月薪:"+ tMinSalary +"  最高月薪:"+ tMaxSalary +"  平均月薪:"+ tAvgSalary +"  参加社保占比:"+ tSocialInsuRate +"  退休占比:"+ tRetireRate +"  
其他说明:"+tOtherDesc+"
"; //查询出方案明细信息 tSQLInfo = new SqlClass(); tSQLInfo.setResourceName("g_app.LCContCommonSql"); tSQLInfo.setSqlId("LCContCommonSql5"); tSQLInfo.addSubPara(tPolicyNo); tSQLInfo.addSubPara(tSysPlanCode); tSQLInfo.addSubPara(tPlanCode); tSQLInfo.setModule("grp_common"); var tPlanDetailArr = easyExecSql(tSQLInfo.getString(), 1, 0, 1); if (tPlanDetailArr==null) { } else { tInnerHTML1 +="
" +" " +" " +" " +" " +"
" +" " +" " +" " +" " +" " +" " +" " +" "; if (cContPlanType=="00" || cContPlanType=="01" || cContPlanType=="03") {//普通险种,建工险及个人险种 tInnerHTML1 +=" " +" " +" "; tInnerHTML1 +=" " +" " +" "; } else if (cContPlanType=="02") {//账户型 tInnerHTML1 +=" " +" " +" "; tInnerHTML1 +=" " +" " +" "; } for (var k=0; k"// value='序号' +" "//value='险种名称编码' +" "// value='险种名称' +" "// value='责任编码' +" "// value='责任名称' +" "// value='保险责任描述' if (cContPlanType=="00" || cContPlanType=="01" || cContPlanType=="03") {//普通险种,建工险及个人险种 tInnerHTML1 +=" "// value='期望保费类型编码' +" "// value='期望保费类型' +" "// value='期望保费/费率/折扣' tInnerHTML1 +=" "// value='初始保费' +" "// value='期望收益率' +" "; } else if (cContPlanType=="02") {//账户型 tInnerHTML1 +=" "// value='期望保费类型编码' +" "// value='期望保费类型' +" "// value='期望保费/费率/折扣' tInnerHTML1 +=" "// value='初始保费' +" "// value='期望收益率' +" "; } } tInnerHTML1 += "
" +"
"; tInnerHTML1 += "
"; } } } } return tInnerHTML1; } /** * 校验日期格式 **/ function isDateFormat(txt) { if (!txt) return false; // 更严格的正则:要求4位年份、2位月份、2位日期 if (!/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/.test(txt)) { return false; } // 安全解析数字(移除eval) const parts = txt.split('-'); const year = parseInt(parts[0], 10); const month = parseInt(parts[1], 10); const day = parseInt(parts[2], 10); // 每月天数表(索引0占位,1-12对应月份) const daysInMonth = [ 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; // 处理闰年2月 if (month === 2 && isLeapYear(year)) { return day <= 29; } // 检查日期是否有效 return day <= daysInMonth[month]; } /** * 判断是否是闰年 */ function isLeapYear(year) { return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; } /** * 获取从表明细描述 */ function getDutyDetailSub(tDutyArr, tDutyResultArr,tFlag) { var tDetailSubDesc = ""; for (var i=0; i