spkysq.js 21 KB

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