123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- /*【协议呈批】**/
- $(function() {
- loadChangeSffs();
- $("div[tablename='op_xycpb_ydzjfj']").hide(); /* 【月度租金分解】不能直接控制隐藏,否则权限控制不了,先隐藏全部,在显示个体 */
- });
- /* 租赁时间变化事件* */
- function zlsjChangeEvent() {
- validateZujinBiaozhunDates();
- $("[name='s:op_xycpb_klzgz:sjd']").trigger("change");
- validateMysfxm();
- }
- /* 校验临时场地子表填充数据是否重复* */
- function checkDataBeforeInsert(data, tableName) {
- if (tableName == 'op_xycpb_lscd') {
- var rows = $(".listRow", $("[tableName='" + tableName + "']")); // 左右子表列
- for ( var i = 0, row; row = rows[i++];) {
- var id = $("[name='s:" + tableName + ":cddm']", $(row)).val(); // 唯一值
- if (id == data.WLDPDM) { // 对话框,返回数据的那列
- $.ligerDialog.warn(data.WLDPDM + "已经存在了!", "提示信息");
- return false;
- }
- }
- // 校验该铺位是否被租出去
- var zuLinStartDate = $("[name='m:op_xycpb:zlyxqq']").val();
- if (!zuLinStartDate) {
- $.ligerDialog.warn("尚未输入开始日期!", '请核查');
- return false;
- }
- /*var conf = {
- aliasName : 'validatePuweiIsUsed',
- pwid : data.WLDPID,
- sDate : zuLinStartDate
- };
- var json = RunAliasScript(conf);
- if (json.isSuccess == 1) {
- $.ligerDialog.warn(json.msg);
- return false;
- } else if (json.result) {
- $.ligerDialog.warn("该铺位到期日期为:" + json.result + ",请核查!");
- return false;
- }*/
- }
- return true;
- }
- /* 表租金标准信息 添加行事件 */
- function op_xycpb_zjbzxxAddRowAfterEvent(row) {
- // 取出最后一行序号、再次基础上加
- var preRow = $(".listRow:visible", $("[tablename='op_xycpb_zjbzxx']")).not(
- row).last();
- var preNx = $("[name$=':xh']", preRow).val();
- if (!preNx)
- preNx = 0;
- $("[name$=':xh']", row).val(1 + Number(preNx));
- $("[name$=':sjd']", row).val(1 + Number(preNx));
- validateZujinBiaozhunDates(row);
- };
- // 校验租金标准 时间
- function validateZujinBiaozhunDates(curRow) {
- // 租赁有效期起,止
- var zuLinStartDate = $("[name='m:op_xycpb:zlyxqq']").val();
- var zuLinEndDate = $("[name='m:op_xycpb:zlyxqz']").val();
- if ((!zuLinStartDate || !zuLinEndDate) && curRow) {
- $.ligerDialog.warn("尚未输入租赁起止日期!", '请核查');
- $(curRow).remove();
- return;
- }
- var rows = $(".listRow:visible", $("[tablename='op_xycpb_zjbzxx']"));
- for(var i=0,row;row=rows[i++];){
- if(i>1){
- // 处理比较颜色
- HyUtil.fillColorByCompare(row,$(rows[i-2]),"dj"); // 单价
- HyUtil.fillColorByCompare(row,$(rows[i-2]),"zj"); // 租金
- HyUtil.fillColorByCompare(row,$(rows[i-2]),"zzj"); // 总租金
- }
- if(zuLinStartDate.length ==0) continue; // 如果只读状态不再判断其他
- if(i>1){
- // 开始日期等于上个结束日期加1
- var startDate = HyUtil.getNewDataStr($("[name$=':jsrq']",$(rows[i-2])).val(),1,1);
- $("[name$=':ksrq']",$(row)).val(startDate);
- }else{
- var differTotalStartDate = FormDate.compareDate($("[name$=':ksrq']",$(row)).val(), zuLinStartDate);
- if(differTotalEndDate>=0) {
- $.ligerDialog.warn("当前开始日期不能早于 租赁开始日期!",'请核查');
- }
- $("[name$=':ksrq']",$(row)).val(zuLinStartDate);
- }
- var differTotalEndDate = FormDate.compareDate($("[name$=':jsrq']",$(row)).val(), zuLinEndDate);
- if(differTotalEndDate<0) {
- $.ligerDialog.warn("当前结束日期不能晚于 租赁有效期止!",'请核查');
- $("[name$=':jsrq']",$(row)).val("");
- return ;
- }
- }
- $("[name='s:op_xycpb_klzgz:sjd']").trigger("change");
- }
- /* 修改租金规则 */
- function changeZujinGz(obj) {
- var curRow = $(obj).closest(".listRow");
- var danJia = $("[name$=':dj']", curRow);
- var zuJin = $("[name$=':zj']", curRow);
- var rule = $(obj).val();
- if (rule == "2" || rule == "4") { // 纯扣
- danJia.val(0);
- zuJin.val(0);
- danJia.attr("readonly", "readonly");
- zuJin.attr("readonly", "readonly");
- } else {
- danJia.removeAttr("readonly");
- zuJin.removeAttr("readonly");
- }
- danJia.trigger("change");
- zuJin.trigger("change");
- }
- /**
- * 单价计算总租金 trigger 'dj'/'zj' 触发者 obj = this
- */
- function calZongZuJin(obj) {
- var trigger = $(obj).attr("name").split(":")[2];
- var curRow = $(obj).closest(".listRow");
- var val = FormUtil.commaback($(obj).val());
- var mianJi = $("[name='m:op_xycpb:jzmj']").val();
- if (!mianJi) {
- $.ligerDialog.warn(" 合同建筑面积不能为空!", '请核查');
- return;
- }
- var zuJin, danJia;
- /* 如果是单价 */
- if ('dj' == trigger) {
- danJia = val;
- zuJin = mianJi * danJia;
- $("[name$=':zj']", curRow).val(FormMath.tofixed(zuJin, 2));
- } else if ('zj' == trigger) {
- zuJin = val;
- danJia = zuJin / mianJi;
- $("[name$=':dj']", curRow).val(FormMath.tofixed(danJia, 2));
- }
- var baoDiType = $("[name$=':bdxx']", curRow).val();
- var startDate = $("[name$=':ksrq']", curRow).val();
- var endDate = $("[name$=':jsrq']", curRow).val();
- if (baoDiType == "0") { // 按月
- var zongZujin = HyUtil.calMoneyWithMount(startDate, endDate, zuJin);
- } else {
- var days = FormDate.dateVal(startDate, endDate, "day");
- var zongZujin = zuJin * days;
- }
- zongZujin = FormMath.tofixed(zongZujin, 2);
- $("[name$=':zzj']", curRow).val(zongZujin).trigger("change");
- }
- /* 加载时,改变【每月收费项目】的【收费方式】 */
- function loadChangeSffs() {
- var sffs = $("[name$=':sffs']:visible", $("[tablename='op_xycpb']"));
- sffs.each(function(i) {
- changeSffs(this);
- });
- }
- /* 改变【每月收费项目】的【收费方式】 */
- function changeSffs(obj) {
- var $tr = $(obj).closest("tr");
- var sffs = $("[name$=':sffs']", $tr).val(); /* 收费方式 */
- $("[name$=':dj']", $tr).off();
- switch (sffs) {
- case "0": /* 固定金额类型 : 只能录入收费金额 */
- case "4":
- $("[name$=':dj']", $tr).attr("readonly", "readonly").val("");
- $("[name$=':sfje']", $tr).removeAttr("readonly");
- $("[name$=':kl']", $tr).attr("readonly", "readonly").val("");
- break;
- case "1": /* 比率类型:只能录入比率 */
- case "2":
- case "5":
- $("[name$=':sfgz']", $tr).val("");
- $("[name$=':sfgzID']", $tr).val("");
- $("[name$=':dj']", $tr).attr("readonly", "readonly").val("");
- $("[name$=':sfje']", $tr).attr("readonly", "readonly").val("");
- $("[name$=':kl']", $tr).removeAttr("readonly");
- break;
- case "3": /* 每平方米单价类型:只能录入单价 */
- $("[name$=':dj']", $tr).removeAttr("readonly");
- $("[name$=':sfje']", $tr).attr("readonly", "readonly").val("");
- $("[name$=':kl']", $tr).attr("readonly", "readonly").val("");
- // 计算价格
- $("[name$=':dj']", $tr).on("blur", function() {
- var dj = FormUtil.commaback($(this).val());
- var curRow = $(this).closest(".listRow");
- var mianJi = $("[name='m:op_xycpb:jzmj']").val();
- if (!mianJi) {
- $.ligerDialog.warn("尚未生成面积");
- }
- $("[name$=':sfje']", curRow).val(FormMath.tofixed(dj * mianJi, 2));
- });
- break;
- default:
- }
- }
- /* 校验每月收费项目 */
- function validateMysfxm() {
- var zuLinStartDate = $("[name='m:op_xycpb:zlyxqq']").val();
- var zuLinEndDate = $("[name='m:op_xycpb:zlyxqz']").val();
- var sfxm = $(".listRow:visible", $("[tablename='op_xycpb_mysfxm']"));
- var sfxmArray = [];
- for ( var i = 0, row; row = sfxm[i++];) {
- var ksrq = $("[name$=':ksrq']", $(row)).val();
- var jsrq = $("[name$=':jsrq']", $(row)).val();
- if (!ksrq)
- continue;
- var differTotalStartDate = FormDate.compareDate(ksrq, zuLinStartDate);
- if (differTotalStartDate > 0) {
- $.ligerDialog.warn("每月收费项目开始日期不能早于 租赁开始日期!", '请核查');
- $("[name$=':ksrq']", $(row)).val("")
- }
- var differTotalEndDate = FormDate.compareDate(jsrq, zuLinEndDate);
- if (differTotalEndDate < 0) {
- $.ligerDialog.warn("每月收费项目结束日期不能晚于 租赁有效期止!", '请核查');
- $("[name$=':jsrq']", $(row)).val("")
- }
- var curSfxmID = $("[name$=':sfxmID']", $(row)).val();
- if (curSfxmID) {
- for ( var j = 0, prevSfxm; prevSfxm = sfxmArray[j++];) {
- var thisSfxmId = prevSfxm.split("$")[0];
- /* 当前收费项目第二次出现 */
- if (thisSfxmId == curSfxmID) {
- var differToPrevDate = FormDate.compareDate(ksrq, prevSfxm
- .split("$")[1]);
- if (differToPrevDate >= 0) {
- $.ligerDialog.warn("同一收费项目日期不得重复!", '请核查');
- $("[name$=':ksrq']", $(row)).val("");
- }
- }
- }
- sfxmArray.push(curSfxmID + "$" + jsrq);
- }
- }
- }
- /* 结算标准信息 删除行事件 */
- function op_xycpb_zjbzxxDelRowBeforeEvent(row) {
- var xh = $("[name$=':xh']", row).val();
- $("[name='s:op_xycpb_bdxx:xh'][value=" + xh + "]").closest("tr").remove();/* 清除旧的记录 */
- }
- /* 分解所有结算标准信息 */
- function decomposeAllJs(tableName, fenjieTable) {
- var $jsbzxxTrs = $(".listRow:visible", $("[tablename='" + tableName + "']"));
- $jsbzxxTrs.each(function(i) {
- decomposeSingle($(this), fenjieTable);
- });
- }
- function decomposeAllYzj() {
- decomposeAllJs('op_xycpb_zjbzxx', 'op_xycpb_ydzjfj');
- }
- function decomposeSingleYzj() {
- decomposeSingleJs('op_xycpb_zjbzxx', 'op_xycpb_ydzjfj');
- }
- /* 单个分解 */
- function decomposeSingleJs(tableName, fenjieTable) {
- var $jsbzxxTrs = $("input[name$=':fjsj']:checked",$("div[tablename='"+tableName+"']")).closest("tr");
- if($jsbzxxTrs.length ==0){
- $.ligerDialog.warn("请选择要分解的数据!","提示信息");
- return;
- }
- // 分解
- decomposeSingle($jsbzxxTrs,fenjieTable);
- }
- /*
- * 【通过分解目标行来分解信息,将结果输出至分解表】 被选中的行:selectRow,分解表的表明fenJieTable
- */
- function decomposeSingle(selectRow, fenJieTable) {
- var xh = selectRow.find("[name$=':xh']").val();
- if (!xh) {
- $.ligerDialog.warn("请选择要分解的时间段", "提示");
- return;
- }
- // 分解表
- var fenJieTableDiv = $("div[tablename='" + fenJieTable + "']");
- /* 将序号与当前选中行所有分解信息删除 */
- $("[name$=':xh'][value=" + xh + "]", fenJieTableDiv).closest("tr").remove(); /* 清除旧的记录 */
- var sjd = $("[name$=':xh']", selectRow).val(); // 序号
- var ksrq = $("[name$=':ksrq']", selectRow).val();
- var jsrq = $("[name$=':jsrq']", selectRow).val();
- var type = $("[name$=':bdxx']", selectRow).val();
- var zj = FormUtil.commaback($("[name$=':zj']", selectRow).val());
- var sfgz = $("[name='m:op_xycpb:zjsfgzID']").val();
- var jsonData = HyUtil.decompose(sjd, ksrq, jsrq, zj, sfgz, "", type);
- /* 填充数据 */
- for ( var i = 0, c; c = jsonData[i++];) {
- FormUtil.addRow(fenJieTableDiv);
- var rowcount = $("input[name$=':ny']", fenJieTableDiv).length;
- $($("input[name$=':xh']", fenJieTableDiv).get(rowcount - 1)).val(xh);
- $($("input[name$=':ny']", fenJieTableDiv).get(rowcount - 1)).val(c.ZQY);
- $($("input[name$=':ksrq']", fenJieTableDiv).get(rowcount - 1)).val(c.KSRQ);
- $($("input[name$=':jsrq']", fenJieTableDiv).get(rowcount - 1)).val(c.JSRQ);
- $($("input[name$=':je']", fenJieTableDiv).get(rowcount - 1)).val(c.YZJ);
- $($("input[name$=':scrq']", fenJieTableDiv).get(rowcount - 1)).val(c.CDRQ);
- }
- }
- /* 显示分解信息列表 */
- function showFjsj(obj, fenJieTable) {
- var fenJieTableDiv =$("div[tablename='"+fenJieTable+"']");
- var tableDiv = $(obj).closest("[tablename]");
- var selectRow =$("input[name=':fjsj']:checked",tableDiv).closest("tr");
- var xhVal = selectRow.find("[name$=':xh']").val();/* 选择行 */
-
- HyUtil.showDecompose(fenJieTable,'xh',xhVal);
-
- }
|