zlhtqd.js 25 KB

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