lyhtbg.js 28 KB

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