lyzzlbg.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  1. /*【租赁变更】**/
  2. $(function(){
  3. loadChangeSffs();
  4. validateZujinBiaozhunDates();// 处理样式显示
  5. validateWyfDates();// 物业费样式显示
  6. initXSJEQvalidateRule();
  7. changeSfjshyk();
  8. needUnbindContextMenuEvent();
  9. });
  10. /* 校验子表填充数据是否重复* */
  11. function checkDataBeforeInsert(data,tableName){
  12. if(tableName == 'me_lyzzlbg_hykzkft'){
  13. var rows = $(".listRow",$("[tableName='"+tableName+"']")); // 左右子表列
  14. for(var i =0,row;row=rows[i++];){
  15. var id = $("[name='s:"+tableName+":ppID']",$(row)).val(); // 唯一值
  16. if(id ==data.PPBM) { // 对话框,返回数据的那列
  17. $.ligerDialog.warn(data.PPNAME+"已经存在了!","提示信息");
  18. return false;
  19. }
  20. }
  21. }
  22. if(tableName == 'me_lyzzlbg_hyklx'){
  23. var rows = $(".listRow",$("[tableName='"+tableName+"']")); // 左右子表列
  24. for(var i =0,row;row=rows[i++];){
  25. var id = $("[name='s:"+tableName+":hyklxID']",$(row)).val(); // 唯一值
  26. if(id == data.HYKTYPE) { // 对话框,返回数据的那列
  27. $.ligerDialog.warn(data.HYKNAME+"已经存在了!","提示信息");
  28. return false;
  29. }
  30. }
  31. }
  32. if(tableName == 'me_lyzzlbg_pwxx'){
  33. var rows = $(".listRow",$("[tableName='me_lyzzlbg_pwxx']")); // 左右子表列
  34. // 校验该铺位是否被租出去
  35. var zuLinStartDate =$("[name='m:me_lyzzlbg:zlyxqq']").val();
  36. if(!zuLinStartDate ){ $.ligerDialog.warn("尚未输入租赁开始日期!",'请核查'); return false; }
  37. for(var i =0,row;row=rows[i++];){
  38. var id = $("[name='s:me_lyzzlbg_pwxx:pwID']",$(row)).val(); // 唯一值
  39. if(id ==data.WLDPID) { // 对话框,返回数据的那列
  40. $.ligerDialog.warn(data.WLDPDM+"已经存在了!","提示信息");
  41. return false;
  42. }
  43. }
  44. }
  45. return true;
  46. }
  47. /* 租赁时间变化事件* */
  48. function zlsjChangeEvent(){
  49. validateZujinBiaozhunDates();
  50. $("[name='s:me_lyzzlbg_klzgz:sjd']").trigger("change");
  51. validateWyfDates();
  52. validateMysfxm();
  53. FormDate.doDateCalculate();
  54. }
  55. /* 表租金标准信息 添加行事件 */
  56. function me_lyzzlbg_zjbzxxAddRowAfterEvent(row){
  57. // 取出最后一行序号、再次基础上加
  58. var preRow = $(".listRow:visible",$("[tablename='me_lyzzlbg_zjbzxx']")).not(row).last();
  59. var preNx = $("[name$=':xh']",preRow).val();
  60. if(!preNx)preNx = 0;
  61. $("[name$=':xh']",row).val(1+Number(preNx));
  62. $("[name$=':sjd']",row).val(1+Number(preNx));
  63. validateZujinBiaozhunDates(row);
  64. };
  65. // 校验租金标准 时间
  66. function validateZujinBiaozhunDates(curRow){
  67. // 租赁有效期起,止
  68. var zuLinStart =$("[name='m:me_lyzzlbg:zlyxqq']");
  69. var zuLinStartDate =zuLinStart.val();
  70. var zuLinEndDate =$("[name='m:me_lyzzlbg:zlyxqz']").val();
  71. if((!zuLinStartDate || !zuLinEndDate)&& curRow){
  72. $.ligerDialog.warn("尚未输入租赁起止日期!",'请核查');
  73. $(curRow).remove();
  74. return ;
  75. }
  76. var rows = $(".listRow:visible",$("[tablename='me_lyzzlbg_zjbzxx']"));
  77. for(var i=0,row;row=rows[i++];){
  78. if(i>1){
  79. // 处理比较颜色
  80. HyUtil.fillColorByCompare(row,$(rows[i-2]),"dj"); // 单价
  81. HyUtil.fillColorByCompare(row,$(rows[i-2]),"zj"); // 租金
  82. HyUtil.fillColorByCompare(row,$(rows[i-2]),"zzj"); // 总租金
  83. if(zuLinStart.length ==0) continue; // 如果只读状态不再判断其他
  84. }
  85. if(zuLinStart.length ==0) continue;
  86. if(i>1){
  87. // 开始日期等于上个结束日期加1
  88. var startDate = HyUtil.getNewDataStr($("[name$=':jsrq']",$(rows[i-2])).val(),1,1);
  89. $("[name$=':ksrq']",$(row)).val(startDate);
  90. }else{
  91. var differTotalStartDate = FormDate.compareDate($("[name$=':ksrq']",$(row)).val(), zuLinStartDate);
  92. if(differTotalEndDate>=0) {
  93. $.ligerDialog.warn("当前开始日期不能早于 租赁开始日期!",'请核查');
  94. }
  95. $("[name$=':ksrq']",$(row)).val(zuLinStartDate);
  96. }
  97. var differTotalEndDate = FormDate.compareDate($("[name$=':jsrq']",$(row)).val(), zuLinEndDate);
  98. if(differTotalEndDate<0) {
  99. $.ligerDialog.warn("【合同租金标准信息】结束日期不能晚于租赁有效期止!",'请核查');
  100. $("[name$=':jsrq']",$(row)).val("");
  101. return ;
  102. }
  103. }
  104. // 修改日期后,触发时间段chang事件
  105. $("[name='s:me_lyzzlbg_klzgz:sjd']").trigger("change");
  106. // 触发单价
  107. $("[name$=':dj']").trigger("change");
  108. }
  109. /* 修改租金规则 */
  110. function changeZujinGz(obj){
  111. var curRow = $(obj).closest(".listRow");
  112. var danJia = $("[name$=':dj']",curRow);
  113. var zuJin = $("[name$=':zj']",curRow);
  114. var rule = $(obj).val();
  115. if(rule == "2" || rule=="4"){ // 纯扣
  116. danJia.val(0);zuJin.val(0);
  117. danJia.attr("readonly","readonly");
  118. zuJin.attr("readonly","readonly");
  119. }else{
  120. danJia.removeAttr("readonly");
  121. zuJin.removeAttr("readonly");
  122. }
  123. danJia.trigger("change");
  124. if(rule != "1"){ // 固定金额 不加扣率组
  125. createKoulvzu();
  126. }
  127. addNeedForKouLv();// 判断是否需要增加扣率组和扣率规则必填
  128. }
  129. function createKoulvzu(){
  130. if($(".listRow:visible",$("div[tablename='me_lyzzlbg_klz']")).length ==0){
  131. FormUtil.addRow($("div[tablename='me_lyzzlbg_klz']"));
  132. var appendRow = $(".listRow:visible",$("div[tablename='me_lyzzlbg_klz']"))[0];
  133. $("[name$=':klzbh']",appendRow).val(1);
  134. $("[name$=':ms']",appendRow).val("扣组率1");
  135. }
  136. }
  137. // 判断是否需要增加扣率组和扣率规则必填
  138. function addNeedForKouLv(){
  139. var isNeed = false;
  140. $("[name='s:me_lyzzlbg_zjbzxx:zjgzID']").each(function (i){
  141. var val = $(this).val();
  142. if(val != 1){
  143. isNeed = true;
  144. return false; // 终止循环
  145. }
  146. });
  147. if(isNeed){
  148. $("div[tablename='me_lyzzlbg_klz']").attr("right","b");
  149. if($(".listRow:visible",$("[tablename='me_lyzzlbg_klz']")).length ==0){
  150. $("div[tablename='me_lyzzlbg_klz']").addClass("validError");
  151. }
  152. $("div[tablename='me_lyzzlbg_klzgz']").attr("right","b");
  153. if($(".listRow:visible",$("[tablename='me_lyzzlbg_klzgz']")).length ==0){
  154. $("div[tablename='me_lyzzlbg_klzgz']").addClass("validError");
  155. }
  156. }else{
  157. $("div[tablename='me_lyzzlbg_klz']").attr("right","w");
  158. $("div[tablename='me_lyzzlbg_klzgz']").attr("right","w");
  159. $("div[tablename='me_lyzzlbg_klz']").removeClass("validError");
  160. $("div[tablename='me_lyzzlbg_klzgz']").removeClass("validError");
  161. }
  162. }
  163. // 扣率组删除事件
  164. function me_lyzzlbg_klzDelRowBeforeEvent(row){
  165. addNeedForKouLv();
  166. }
  167. // 扣率组规则删除事件
  168. function me_lyzzlbg_klzgzDelRowBeforeEvent(row){
  169. addNeedForKouLv();
  170. }
  171. // 扣率组添加事件
  172. function me_lyzzlbg_klzAddRowAfterEvent(row){
  173. autoNumForKlzbm(row);
  174. }
  175. // 对扣率组编号自动编码
  176. function autoNumForKlzbm(row){
  177. var preRow = $(row).prev();
  178. var preBh = $("[name$=':klzbh']",preRow).val();
  179. if(!preBh)preBh = 0;
  180. $("[name$=':klzbh']",row).val(1+Number(preBh));
  181. }
  182. /**
  183. * 单价计算总租金 trigger 'dj'/'zj' 触发者
  184. */
  185. function calZongZuJin(obj){
  186. var trigger = $(obj).attr("name").split(":")[2];
  187. var curRow = $(obj).closest(".listRow");
  188. var val = FormUtil.commaback($(obj).val()); // 单价
  189. var mianJi = $("[name='m:me_lyzzlbg:jzmj']").val();
  190. if(!mianJi){ $.ligerDialog.warn(" 合同建筑面积不能为空!",'请核查'); return ; }
  191. var zuJin,danJia;
  192. /* 如果是单价 */
  193. if('dj'== trigger){
  194. danJia = val;
  195. zuJin = mianJi * danJia;
  196. $("[name$=':zj']",curRow).val(FormMath.tofixed(zuJin,2));
  197. }else if('zj' == trigger){
  198. zuJin = val;
  199. danJia =zuJin/mianJi;
  200. $("[name$=':dj']",curRow).val(FormMath.tofixed(danJia,2));
  201. }else return;
  202. var baoDiType =$("[name$=':bdxx']",curRow).val();
  203. var startDate = $("[name$=':ksrq']",curRow).val();
  204. var endDate = $("[name$=':jsrq']",curRow).val();
  205. if(baoDiType =="0"){ // 按月
  206. var zongZujin = HyUtil.calMoneyWithMount(startDate,endDate,zuJin);
  207. }else{
  208. var days = FormDate.dateVal(startDate, endDate, "day");
  209. var zongZujin = zuJin*days;
  210. }
  211. zongZujin = FormMath.tofixed(zongZujin,2);
  212. $("[name$=':zzj']",curRow).val(zongZujin).trigger("change");
  213. }
  214. /* 处理扣率时间段 */
  215. function handelKoulvTime(obj){
  216. var curRow = $(obj).closest(".listRow");
  217. var shijianNo = $("[name$=':sjd']",curRow).val();
  218. if(!shijianNo) return ;
  219. /* 取的时间段 */
  220. var shiJianDuanNo =$("[name='s:me_lyzzlbg_zjbzxx:sjd'][value="+shijianNo+"]");
  221. if(shiJianDuanNo.length ==0) {
  222. $.ligerDialog.warn("该时间段不存在! “"+shijianNo+"”",'请核查');
  223. $("[name$=':sjd']",curRow).val("");
  224. return ;
  225. }
  226. var shiJianDuanRow = shiJianDuanNo.closest(".listRow");
  227. var StartDate = $("[name$=':ksrq']",shiJianDuanRow).val();
  228. var endDate = $("[name$=':jsrq']",shiJianDuanRow).val();
  229. if(!StartDate || !endDate) {
  230. $.ligerDialog.warn("改时间段信息不完善! “"+shijianNo+"”",'请核查');
  231. $("[name$=':sjd']",curRow).val("");
  232. return ;
  233. }
  234. $("[name$=':ksrq']",curRow).val(StartDate);
  235. $("[name$=':jsrq']",curRow).val(endDate);
  236. initXSJEQvalidateRule();
  237. }
  238. /* 处理扣率组 */
  239. function handelKoulvGroup(obj){
  240. var curRow = $(obj).closest(".listRow");
  241. var koulvNo = $(obj).val();
  242. if(!koulvNo) return ;
  243. /* 取扣率组 */
  244. var KouLv =$("[name='s:me_lyzzlbg_klz:klzbh'][value="+koulvNo+"]");
  245. if(KouLv.length ==0) {
  246. $.ligerDialog.warn("该扣率组不存在! “"+koulvNo+"”",'请核查');
  247. $(obj).val("");
  248. return ;
  249. }
  250. initXSJEQvalidateRule();
  251. var klzgzMs = KouLv.closest("tr").find("[name='s:me_lyzzlbg_klz:ms']").val(); // 扣率组的【描述】
  252. $(obj).closest("tr").find("[name='s:me_lyzzlbg_klzgz:ms']").val(klzgzMs); // 当前扣率组规则【描述】
  253. }
  254. /* 循环判断扣率组,初始化销售金额起,校验扣率组金额 */
  255. function initXSJEQvalidateRule(){
  256. var kouLvRules = $(".listRow:visible",$("[tablename='me_lyzzlbg_klzgz']"));
  257. var combineMessage = [];
  258. for(var i=0,rule;rule=kouLvRules[i++];){
  259. var sjdInput=$("[name$=':sjd']",rule);
  260. if(sjdInput.length==0){ /* 只读状态 */
  261. var sjd = $("[name='sjd_td']",rule).text().trim(); /* 时间段 */
  262. var klz = $("[name='klz_td']",rule).text().trim();/* 扣率组 */
  263. }else{
  264. var sjd = sjdInput.val(); /* 时间段 */
  265. var klz = $("[name$=':klz']",rule).val();/* 扣率组 */
  266. }
  267. if(!sjd || !klz) return;
  268. /* 第一次设置开始金额为当前金额为第几行 */
  269. var len=-1;
  270. for(var j=0,r;r=combineMessage[j++];){
  271. if(r.split("-")[0] == sjd+","+klz){
  272. len =Number(r.split("-")[1]);
  273. }
  274. }
  275. if(len==-1){
  276. $("[name$=':zqxsjeq']",rule).val("0");$("[name$=':zqxsjeq']",rule).trigger("change");
  277. }else{
  278. var JJJine = $("[name$=':zqxsjez']",$(kouLvRules[len])).val(); /* 上一截止金额 */
  279. $("[name$=':zqxsjeq']",rule).val(JJJine);
  280. HyUtil.fillColorByCompare(rule,kouLvRules[len],"kl");
  281. }
  282. combineMessage.push(sjd+","+klz+"-"+(i-1));
  283. }
  284. }
  285. /* 校验周期销售金额止 */
  286. function checkZqxsjez(obj){
  287. var curRow = $(obj).closest(".listRow");
  288. var JeQi = $("[name$=':zqxsjeq']",curRow).val();
  289. var jeZhi =$(obj).val();
  290. if(JeQi&&jeZhi){
  291. if( FormUtil.commaback(JeQi) > FormUtil.commaback(jeZhi)){
  292. $.ligerDialog.warn("周期销售金额止:"+jeZhi+ " 不应该小于 周期销售金额起 :"+JeQi+"",'请核查!');
  293. $(obj).val("");
  294. return ;
  295. }
  296. }
  297. initXSJEQvalidateRule();
  298. }
  299. /* 【物业费条款添加事件】me_lyzzlbg_wyftk */
  300. function me_lyzzlbg_wyftkAddRowAfterEvent(curRow){
  301. var preRow = $(".listRow:visible",$("[tablename='me_lyzzlbg_wyftk']")).not(curRow).last();
  302. var preNx = $("[name$=':xh']",preRow).val();
  303. if(!preNx)preNx = 0;
  304. $("[name$=':nx']",curRow).val(1+Number(preNx));
  305. $("[name$=':xh']",curRow).val(1+Number(preNx));
  306. validateWyfDates(curRow);
  307. }
  308. /* 校验物业费时间* */
  309. function validateWyfDates(curRow){
  310. // 租赁有效期起
  311. var zuLinStart = $("[name='m:me_lyzzlbg:zlyxqq']");
  312. var zuLinStartDate = zuLinStart.val();
  313. var zuLinEndDate =$("[name='m:me_lyzzlbg:zlyxqz']").val();
  314. if((!zuLinStartDate || !zuLinEndDate) && curRow){
  315. $.ligerDialog.warn("尚未输入租赁起止日期!",'请核查');
  316. $(curRow).remove();
  317. return ;
  318. }
  319. // 循环计算开始日期
  320. var rows = $(".listRow:visible",$("[tablename='me_lyzzlbg_wyftk']"));
  321. for(var i=0,row;row=rows[i++];){
  322. if(i>1){ // 填充字段颜色
  323. HyUtil.fillColorByCompare(row,$(rows[i-2]),"xs");
  324. HyUtil.fillColorByCompare(row,$(rows[i-2]),"dj");
  325. HyUtil.fillColorByCompare(row,$(rows[i-2]),"je");
  326. HyUtil.fillColorByCompare(row,$(rows[i-2]),"zje");
  327. }
  328. if(zuLinStart.length==0) continue;
  329. var shiJianDuan = $("[name$=':sjd']",$(row)).val(i); // 时间段
  330. if(i>1){
  331. // 开始日期等于上个结束日期加1
  332. var startDate = HyUtil.getNewDataStr($("[name$=':jsrq']",$(rows[i-2])).val(),1,1);
  333. $("[name$=':ksrq']",$(row)).val(startDate);
  334. }else{
  335. $("[name$=':ksrq']",$(row)).val(zuLinStartDate);
  336. }
  337. // 校验结束日期
  338. var jsrq =$("[name$=':jsrq']",$(row)).val();
  339. if(!jsrq) continue;
  340. var differTotalEndDate = FormDate.compareDate(jsrq, zuLinEndDate, "day");
  341. if(differTotalEndDate<0){
  342. $.ligerDialog.warn("【物业费条款】结束日期不能晚于租赁有效期止!",'请核查!');
  343. $("[name$=':jsrq']",$(row)).val("");
  344. }
  345. }
  346. }
  347. /* 总物业费* */
  348. function calZongWuYeFei(obj){
  349. var curRow = $(obj).closest(".listRow");
  350. // 校验是否超过总日期
  351. var zuLinEndDate =$("[name='m:me_lyzzlbg:zlyxqz']").val();
  352. var differTotalEndDate = FormDate.compareDate($("[name$=':jsrq']",curRow).val(), zuLinEndDate);
  353. if(differTotalEndDate<0) {
  354. $.ligerDialog.warn("当前结束日期不能晚于租赁有效期止!",'请核查');
  355. $("[name$=':jsrq']",curRow).val("");
  356. return ;
  357. }
  358. var danJia = FormUtil.commaback($("[name$=':dj']",curRow).val()); // 单价
  359. var mianJi = $("[name='m:me_lyzzlbg:jzmj']").val();
  360. if(!mianJi){
  361. $.ligerDialog.warn("建筑面积尚未计算生成!",'请核查');
  362. return ;
  363. }
  364. var baoDiType =$("[name$=':glfxx']",curRow).val();
  365. var xs = $("[name$=':xs']",curRow).val();
  366. var jine = FormMath.tofixed(mianJi * danJia * xs,2);
  367. $("[name$=':je']",curRow).val(jine); $("[name$=':je']",curRow).trigger("change");
  368. var startDate = $("[name$=':ksrq']",curRow).val();
  369. var endDate = $("[name$=':jsrq']",curRow).val();
  370. if(baoDiType =="0"){ // 按月
  371. var zongJine = HyUtil.calMoneyWithMount(startDate,endDate,jine);
  372. }else{
  373. var days = FormDate.dateVal(startDate, endDate, "day");
  374. var zongJine = jine*days;
  375. }
  376. zongJine =FormMath.tofixed(zongJine,2);
  377. $("[name$=':zje']",curRow).val(zongJine);$("[name$=':zje']",curRow).trigger("change");
  378. }
  379. /* 加载时,改变【每月收费项目】的【收费方式】 */
  380. function loadChangeSffs(){
  381. var sffs = $("[name$=':sffs']:visible",$("[tablename='me_lyzzlbg_mysfxm']"));
  382. sffs.each(function (i) {
  383. changeSffs(this);
  384. });
  385. }
  386. /* 改变【每月收费项目】的【收费方式】 */
  387. function changeSffs(obj){
  388. var $tr = $(obj).closest("tr");
  389. var sffs = $("[name$=':sffs']",$tr).val(); /* 收费方式 */
  390. $("[name$=':dj']",$tr).off();
  391. $("[name='shouFeiGuiZe']",$tr).show();
  392. switch(sffs){
  393. case "0": /* 固定金额类型 : 只能录入收费金额 */
  394. case "4":
  395. $("[name$=':dj']",$tr).attr("readonly","readonly").val("");
  396. $("[name$=':sfje']",$tr).removeAttr("readonly");
  397. $("[name$=':kl']",$tr).attr("readonly","readonly").val("");
  398. break;
  399. case "1": /* 比率类型:只能录入比率 */
  400. case "2":
  401. case "5":
  402. $("[name$=':sfgz']",$tr).val("");
  403. $("[name$=':sfgzID']",$tr).val("");
  404. $("[name='shouFeiGuiZe']",$tr).hide().parent().css("width","170px");
  405. $("[name$=':dj']",$tr).attr("readonly","readonly").val("");
  406. $("[name$=':sfje']",$tr).attr("readonly","readonly").val("");
  407. $("[name$=':kl']",$tr).removeAttr("readonly");
  408. break;
  409. case "3": /* 每平方米单价类型:只能录入单价 */
  410. $("[name$=':dj']",$tr).removeAttr("readonly");
  411. $("[name$=':sfje']",$tr).attr("readonly","readonly").val("");
  412. $("[name$=':kl']",$tr).attr("readonly","readonly").val("");
  413. // 计算价格
  414. $("[name$=':dj']",$tr).on("blur",function(){
  415. var dj = FormUtil.commaback($(this).val());
  416. var curRow = $(this).closest(".listRow");
  417. var mianJi = $("[name='m:me_lyzzlbg:jzmj']").val();
  418. if(!mianJi) $.ligerDialog.warn("尚未生成面积");
  419. $("[name$=':sfje']",curRow).val(FormMath.tofixed(dj*mianJi,2));
  420. });
  421. break;
  422. default:
  423. }
  424. }
  425. /* 校验每月收费项目 */
  426. function validateMysfxm (){
  427. var zuLinStartDate =$("[name='m:me_lyzzlbg:zlyxqq']").val();
  428. var zuLinEndDate =$("[name='m:me_lyzzlbg:zlyxqz']").val();
  429. var sfxm = $(".listRow:visible",$("[tablename='me_lyzzlbg_mysfxm']"));
  430. var sfxmArray =[];
  431. for(var i=0,row;row=sfxm[i++];){
  432. var ksrq = $("[name$=':ksrq']",$(row)).val();
  433. var jsrq = $("[name$=':jsrq']",$(row)).val();
  434. if(!ksrq) continue;
  435. var differTotalStartDate = FormDate.compareDate(ksrq, zuLinStartDate);
  436. if(differTotalStartDate>0){
  437. $.ligerDialog.warn("每月收费项目开始日期不能早于 租赁开始日期!",'请核查');
  438. $("[name$=':ksrq']",$(row)).val("")
  439. }
  440. var differTotalEndDate = FormDate.compareDate(jsrq, zuLinEndDate);
  441. if(differTotalEndDate<0) {
  442. $.ligerDialog.warn("每月收费项目结束日期不能晚于 租赁有效期止!",'请核查');
  443. $("[name$=':jsrq']",$(row)).val("");
  444. }
  445. var curSfxmID =$("[name$=':sfxmID']",$(row)).val();
  446. if(curSfxmID){
  447. for(var j=0,prevSfxm;prevSfxm=sfxmArray[j++];){
  448. var thisSfxmId = prevSfxm.split("$")[0];
  449. /* 当前收费项目第二次出现 */
  450. if(thisSfxmId == curSfxmID){
  451. var differToPrevDate = FormDate.compareDate(ksrq,prevSfxm.split("$")[1]);
  452. if(differToPrevDate>=0){
  453. $.ligerDialog.warn("同一收费项目日期不得重复!",'请核查');
  454. $("[name$=':ksrq']",$(row)).val("");
  455. }
  456. }
  457. }
  458. sfxmArray.push(curSfxmID+"$"+jsrq);
  459. }
  460. }
  461. }
  462. /* 结算标准信息 删除行事件 */
  463. function me_lyzzlbg_zjbzxxDelRowBeforeEvent(row){
  464. var xh = $("[name$=':xh']",row).val();
  465. $("[name='s:me_lyzzlbg_ydzjfj:xh'][value=" + xh + "]").closest("tr").remove();/* 清除旧的记录 */
  466. }
  467. function me_lyzzlbg_wyftkDelRowBeforeEvent(row){
  468. var xh = $("[name$=':xh']",row).val();
  469. $("[name='s:me_lyzzlbg_wyffj:xh'][value=" + xh + "]").closest("tr").remove();/* 清除旧的记录 */
  470. }
  471. /**
  472. * 修改收费规则的时候删除所有分解 wyffj /ydzjfj
  473. */
  474. function delAllFenJie(target){
  475. $("[name='s:me_lyzzlbg_"+target+":xh'][value!='']").closest("tr").remove();
  476. }
  477. /* 分解所有结算标准信息 */
  478. function decomposeAllJs(tableName,fenjieTable){
  479. var $jsbzxxTrs = $(".listRow:visible",$("[tablename='"+tableName+"']"));
  480. $jsbzxxTrs.each(function (i) {
  481. decomposeSingle($(this),fenjieTable);
  482. });
  483. }
  484. function decomposeAllWyf(){
  485. decomposeAllJs('me_lyzzlbg_wyftk','me_lyzzlbg_wyffj');
  486. }
  487. function decomposeSingleWyf(){
  488. decomposeSingleJs('me_lyzzlbg_wyftk','me_lyzzlbg_wyffj');
  489. }
  490. function decomposeAllYzj(){
  491. decomposeAllJs('me_lyzzlbg_zjbzxx','me_lyzzlbg_ydzjfj');
  492. }
  493. function decomposeSingleYzj(){
  494. decomposeSingleJs('me_lyzzlbg_zjbzxx','me_lyzzlbg_ydzjfj');
  495. }
  496. /* 单个分解 */
  497. function decomposeSingleJs(tableName,fenjieTable){
  498. $jsbzxxTrs = $("input[name$=':fjsj']:checked",$("div[tablename='"+tableName+"']")).closest("tr");
  499. if($jsbzxxTrs.length ==0){
  500. $.ligerDialog.warn("请选择要分解的数据!","提示信息");
  501. return;
  502. }
  503. // 分解
  504. decomposeSingle($jsbzxxTrs,fenjieTable);
  505. }
  506. /*
  507. * 【通过分解目标行来分解信息,将结果输出至分解表】 被选中的行:selectRow,分解表的表明fenJieTable
  508. */
  509. function decomposeSingle(selectRow,fenJieTable){
  510. var xh = selectRow.find("[name$=':xh']").val();
  511. if(!xh){
  512. $.ligerDialog.warn("请选择要分解的时间段","提示");
  513. return ;
  514. }
  515. // 分解表
  516. var fenJieTableDiv = $("div[tablename='"+fenJieTable+"']");
  517. /* 将序号与当前选中行所有分解信息删除 */
  518. $("[name$=':xh'][value=" + xh + "]",fenJieTableDiv).closest("tr").remove(); /* 清除旧的记录 */
  519. var sjd =$("[name$=':xh']",selectRow).val(); // 序号
  520. var ksrq =$("[name$=':ksrq']",selectRow).val();
  521. var jsrq =$("[name$=':jsrq']",selectRow).val();
  522. // 物业费
  523. if(fenJieTable == 'me_lyzzlbg_wyffj'){
  524. var zj =FormUtil.commaback($("[name$=':je']",selectRow).val());
  525. var sfgz = $("[name='m:me_lyzzlbg:wyfsfgzID']").val();
  526. var type = $("[name$=':glfxx']",selectRow).val();
  527. // 标准租金
  528. }else{
  529. var type = $("[name$=':bdxx']",selectRow).val();
  530. var zj =FormUtil.commaback($("[name$=':zj']",selectRow).val());
  531. var sfgz =$("[name='m:me_lyzzlbg:zjsfgzID']").val();
  532. }
  533. var jsonData = HyUtil.decompose(sjd,ksrq,jsrq,zj,sfgz,"",type);
  534. /* 填充数据 */
  535. for (var i = 0, c; c = jsonData[i++];) {
  536. FormUtil.addRow(fenJieTableDiv);
  537. var rowcount=$("input[name$=':ny']",fenJieTableDiv).length;
  538. $($("input[name$=':xh']",fenJieTableDiv).get(rowcount-1)).val(xh);
  539. $($("input[name$=':ny']",fenJieTableDiv).get(rowcount-1)).val(c.ZQY);
  540. $($("input[name$=':ksrq']",fenJieTableDiv).get(rowcount-1)).val(c.KSRQ);
  541. $($("input[name$=':jsrq']",fenJieTableDiv).get(rowcount-1)).val(c.JSRQ);
  542. $($("input[name$=':je']",fenJieTableDiv).get(rowcount-1)).val(c.YZJ);
  543. $($("input[name$=':scrq']",fenJieTableDiv).get(rowcount-1)).val(c.CDRQ);
  544. }
  545. }
  546. /* 显示分解信息列表 */
  547. function showFjsj(obj,fenJieTable){
  548. var fenJieTableDiv =$("div[tablename='"+fenJieTable+"']");
  549. var tableDiv = $(obj).closest("[tablename]");
  550. var selectRow =$("input[name=':fjsj']:checked",tableDiv).closest("tr");
  551. var xhVal = selectRow.find("[name$=':xh']").val();/* 选择行 */
  552. HyUtil.showDecompose(fenJieTable,'xh',xhVal);
  553. }
  554. /** 分解代码 end* */
  555. /* 格式化填充的日期 */
  556. $().ready(function (){
  557. $("[issameas]").change(function(){
  558. var me = $(this),curVal = me.val();
  559. var curNameStr = me.attr("name");
  560. if(!curNameStr) return;
  561. var curName = curNameStr.split(":");
  562. var targetName = me.attr("isSameAs");
  563. if(targetName=='true' && curName.length == 3){
  564. targetName =curName[0] +":"+curName[1] +":y"+curName[2]
  565. }
  566. if(!window.isSameToCheck_)window.isSameToCheck_ = [];
  567. window.isSameToCheck_.push(curNameStr+";"+targetName);
  568. window.setTimeout(function(){checkIsSame()},50);
  569. });
  570. function checkIsSame(){
  571. if(!window.isSameToCheck_) return ;
  572. for(var checkStr;checkStr=window.isSameToCheck_.pop();){
  573. var targetValue = $("[name='"+checkStr.split(";")[1]+"']").val();
  574. var curInput = $("[name='"+checkStr.split(";")[0]+"']");
  575. if(targetValue != curInput.val()){
  576. curInput.css("color","red");
  577. }else{
  578. curInput.css("color","");
  579. }
  580. }
  581. }
  582. $("div[tablename='me_lyzzlbg_ybdxx']").hide(); // 原保底信息
  583. $("div[tablename='me_lyzzlbg_ydzjfj']").hide(); // 月度租金分解
  584. $("div[tablename='me_lyzzlbg_ywyffj']").hide(); // 原物业费分解
  585. $("div[tablename='me_lyzzlbg_wyffj']").hide(); // 物业费分解
  586. });
  587. function CustomQueryAftEvent__(){
  588. $("div[tablename='me_lyzzlbg_ybdxx']").hide(); // 原保底信息
  589. $("div[tablename='me_lyzzlbg_ydzjfj']").hide(); // 月度租金分解
  590. $("div[tablename='me_lyzzlbg_ywyffj']").hide(); // 原物业费分解
  591. $("div[tablename='me_lyzzlbg_wyffj']").hide(); // 物业费分解
  592. validateZujinBiaozhunDates();// 处理样式显示
  593. validateWyfDates();// 物业费样式显示
  594. initXSJEQvalidateRule();
  595. needUnbindContextMenuEvent();
  596. HyUtil.unbindContextMenuEvent("me_lyzzlbg_yjsbzxx"); // 原结算标准信息
  597. HyUtil.unbindContextMenuEvent("me_lyzzlbg_yklz"); // 原扣率组
  598. HyUtil.unbindContextMenuEvent("me_lyzzlbg_yklzgz"); // 原扣率规则
  599. HyUtil.unbindContextMenuEvent("me_lyzzlbg_ywyftk"); // 原物业费条款
  600. HyUtil.unbindContextMenuEvent("me_lyzzlbg_ybzj"); // 原保证金
  601. HyUtil.unbindContextMenuEvent("me_lyzzlbg_ymysfxm"); // 原每月收费项目
  602. HyUtil.unbindContextMenuEvent("me_lyzzlbg_ysffsxm"); // 原收款方式项目
  603. HyUtil.unbindContextMenuEvent("me_lyzzlbg_yhykzkft"); // 原折扣分摊标准
  604. HyUtil.unbindContextMenuEvent("me_lyzzlbg_yhyklx"); // 原会员卡类型
  605. }
  606. // 需要特殊处理右键事件
  607. function needUnbindContextMenuEvent(){
  608. var pwxxRows = $(".listRow:visible",$("[tablename='me_lyzzlbg_pwxx']"));
  609. pwxxRows.each(function (i){
  610. var sfypw = $(this).find("[name='s:me_lyzzlbg_pwxx:sfypw']").val();
  611. if(sfypw == "true"){
  612. $(this).unbind("contextmenu");
  613. $(this).find(".extend").remove();
  614. $(this).find("[name='s:me_lyzzlbg_pwxx:zywz']").attr("readonly","readonly");
  615. }
  616. });
  617. }
  618. /*改变【是否接受会员卡】*/
  619. function changeSfjshyk(){
  620. var sfjshyk = $("[name='m:me_lyzzlbg:sfjshyk']");
  621. if(sfjshyk.length ==0){
  622. sfjshyk = $.trim($("#sfjshyk").text());
  623. }else{
  624. sfjshyk = sfjshyk.val();
  625. }
  626. if(sfjshyk=='是'){
  627. $(".sfjshyk_flag").show();
  628. } else{
  629. $(".sfjshyk_flag").hide();
  630. }
  631. }