lyhtqd.js 29 KB

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