zlhtbg.js 26 KB

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