lytksb.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656
  1. $().ready(function (){
  2. changeSftstk(); /*【是否特殊条款】*/
  3. changeSblx(); /*【申报类型】*/
  4. loadChangeSffs(); /*加载时,改变【每月收费项目】的【收费方式】*/
  5. loadChangeJsgz(); /*加载时,改变【结算标准信息】的【结算规则】*/
  6. });
  7. /*校验子表填充数据是否重复**/
  8. function checkDataBeforeInsert(data,tableName){
  9. if(tableName == 'me_lypwxx'){
  10. var rows = $(".listRow",$("[tableName='me_lypwxx']")); //左右子表列
  11. for(var i =0,row;row=rows[i++];){
  12. var id = $("[name='s:me_lypwxx:pwID']",$(row)).val(); //唯一值
  13. if(id ==data.WLDPID) { //对话框,返回数据的那列
  14. $.ligerDialog.warn(data.WLDPDM+"已经存在了!","提示信息");
  15. return false
  16. }
  17. }
  18. }
  19. return true;
  20. }
  21. /*租赁时间变化事件**/
  22. function zlsjChangeEvent(){
  23. validateJsbzxxDates();
  24. $("[name='s:me_lyklzgz:sjd']").trigger("change");
  25. validateWyfDates();
  26. validateMysfxm();
  27. }
  28. /*==============主表事件=================*/
  29. /*改变【是否特殊条款】*/
  30. function changeSftstk(){
  31. var sftstk = $("[name='m:me_lytksbb:sftstk']").val();
  32. if(typeof sftstk == "undefined"){
  33. sftstk = $.trim($("#sftstk").text());
  34. }
  35. if(sftstk == "1" || sftstk == "是"){
  36. $("#tstk_tr").show();
  37. }else{
  38. $("#tstk_tr").hide();
  39. }
  40. }
  41. /*改变【申报类型】*/
  42. function changeSblx(){
  43. var sblx = $("[name='m:me_lytksbb:sblx']").val();
  44. if(typeof sblx == "undefined"){
  45. sblx = $.trim($("#sblx").text());
  46. }
  47. if(sblx == "2" || sblx == "重新申报"){
  48. $("#sbyy_tr").show();
  49. }else{
  50. $("#sbyy_tr").hide();
  51. }
  52. }
  53. /*计算所有铺位*/
  54. function calAllPuwei(obj){
  55. var puweiTrs = $(".listRow:visible",$("[tablename='me_lypwxx']"));
  56. var shangPuNums = "";
  57. puweiTrs.each(function (i) {
  58. var pwId = $("[name$=':dph']",$(this)).val();
  59. shangPuNums = shangPuNums + pwId;
  60. if(i != puweiTrs.length-1)shangPuNums = shangPuNums+"-";
  61. });
  62. $("[name='m:me_lytksbb:sph']").val(shangPuNums);
  63. }
  64. /*============每月收费项目=================*/
  65. /*加载时,改变【每月收费项目】的【收费方式】*/
  66. function loadChangeSffs(){
  67. var $sffs = $("[name$=':sffs']:visible",$("[tablename='me_lymysfxm']"));
  68. $sffs.each(function (i) {
  69. changeSffs(this);
  70. });
  71. }
  72. /*每月收费项目 添加行事件*/
  73. function me_lymysfxmAddRowAfterEvent(row){
  74. loadChangeSffs();
  75. }
  76. /*改变【每月收费项目】的【收费方式】*/
  77. function changeSffs(obj){
  78. var $tr = $(obj).closest("tr");
  79. var sffs = $("[name$='sffs']",$tr).val(); /*收费方式*/
  80. $("[name$='dj']",$tr).off();
  81. $("[name='shouFeiGuiZe']",$tr).show();
  82. switch(sffs){
  83. case "0": /*固定金额类型 : 只能录入收费金额*/
  84. case "4":
  85. $("[name$='dj']",$tr).attr("readonly","readonly").val("");
  86. $("[name$='sfje']",$tr).removeAttr("readonly");
  87. $("[name$='kl']",$tr).attr("readonly","readonly").val("");
  88. break;
  89. case "1": /*比率类型:只能录入比率*/
  90. case "2":
  91. case "5":
  92. $("[name$=':sfgz']",$tr).val("");
  93. $("[name$=':sfgzID']",$tr).val("");
  94. $("[name='shouFeiGuiZe']",$tr).hide().parent().css("width","170px");
  95. $("[name$='dj']",$tr).attr("readonly","readonly").val("");
  96. $("[name$='sfje']",$tr).attr("readonly","readonly").val("");
  97. $("[name$='kl']",$tr).removeAttr("readonly");
  98. break;
  99. case "3": /*每平方米单价类型:只能录入单价*/
  100. $("[name$='dj']",$tr).removeAttr("readonly");
  101. $("[name$='sfje']",$tr).attr("readonly","readonly").val("");
  102. $("[name$='kl']",$tr).attr("readonly","readonly").val("");
  103. //计算价格
  104. $("[name$='dj']",$tr).on("blur",function(){
  105. var dj = FormUtil.commaback($(this).val());
  106. var curRow = $(this).closest(".listRow");
  107. var mianJi = $("[name='m:me_lytksbb:jzmj']").val();
  108. if(!mianJi) alert("尚未生成面积");
  109. $("[name$='sfje']",curRow).val(dj*mianJi);
  110. });
  111. break;
  112. default:
  113. }
  114. }
  115. /*校验每月收费项目*/
  116. function validateMysfxm (){
  117. var zuLinStartDate =$("[name='m:me_lytksbb:zlyxqq']").val();
  118. var zuLinEndDate =$("[name='m:me_lytksbb:zlyxqz']").val();
  119. var sfxm = $(".listRow:visible",$("[tablename='me_lymysfxm']"));
  120. var sfxmArray =[];
  121. for(var i=0,row;row=sfxm[i++];){
  122. var ksrq = $("[name$='ksrq']",$(row)).val();
  123. var jsrq = $("[name$='jsrq']",$(row)).val();
  124. if(!ksrq) continue;
  125. var differTotalStartDate = FormDate.dateVal(ksrq, zuLinStartDate, "day");
  126. if(differTotalStartDate>0){
  127. $.ligerDialog.warn("每月收费项目开始日期不能早于 租赁开始日期!",'请核查');
  128. $("[name$='ksrq']",$(row)).val("")
  129. }
  130. var differTotalEndDate = FormDate.dateVal(jsrq, zuLinEndDate, "day");
  131. if(differTotalEndDate<0) {
  132. $.ligerDialog.warn("每月收费项目结束日期不能晚于 租赁有效期止!",'请核查');
  133. $("[name$='jsrq']",$(row)).val("")
  134. }
  135. var curSfxmID =$("[name$='sfxmID']",$(row)).val();
  136. if(curSfxmID){
  137. for(var j=0,prevSfxm;prevSfxm=sfxmArray[j++];){
  138. var thisSfxmId = prevSfxm.split("$")[0];
  139. /*当前收费项目第二次出现*/
  140. if(thisSfxmId == curSfxmID){
  141. var differToPrevDate = FormDate.dateVal(ksrq,prevSfxm.split("$")[1], "day");
  142. if(differToPrevDate>=0){
  143. $.ligerDialog.warn("同一收费项目日期不得重复!",'请核查');
  144. $("[name$='ksrq']",$(row)).val("");
  145. }
  146. }
  147. }
  148. sfxmArray.push(curSfxmID+"$"+jsrq);
  149. }
  150. }
  151. }
  152. /*显示租户信息*/
  153. function showZh(){
  154. var zhid = $("[name$='zhid']").val();
  155. if(zhid == null || zhid == ""){
  156. $.ligerDialog.warn("请先选择租户!","提示");
  157. return ;
  158. }
  159. var url=__ctx + "/platform/form/bpmDataTemplate/detailData_shxxwh.ht?__pk__="+zhid;
  160. DialogUtil.open({
  161. height:600,
  162. width: 800,
  163. title : "查看租户信息",
  164. url: url,
  165. isResize: true
  166. });
  167. }
  168. /*========== 结算标准信息 start =============*/
  169. /*结算标准信息 添加行事件*/
  170. function me_lyjsbzxxAddRowAfterEvent(row){
  171. var preRow = $(row).prev();
  172. if(preRow.attr("style") == 'display: none;')
  173. $("[name$=':xh']",row).val(1);
  174. else {
  175. var preNx = $("[name$=':xh']",preRow).val();
  176. $("[name$=':xh']",row).val(1+Number(preNx));
  177. }
  178. if(validateJsbzxxDates() ==false) $(row).remove();
  179. loadChangeJsgz();
  180. }
  181. /*结算标准信息 删除行事件*/
  182. function me_lyjsbzxxDelRowBeforeEvent(row){
  183. var xh = $("[name$=':xh']",row).val();
  184. $("[name='s:me_lybdxx:xh'][value=" + xh + "]").closest("tr").remove();/*清除旧的记录*/
  185. }
  186. /*分解所有结算标准信息*/
  187. function decomposeAllJs(){
  188. var $jsbzxxTrs = $(".listRow:visible",$("[tablename='me_lyjsbzxx']"));
  189. $jsbzxxTrs.each(function (i) {
  190. decomposeSingleJs(this);
  191. });
  192. var $jsbzxxTrs = $("input[name='jsfj']:checked").closest("tr");
  193. showJsFj($jsbzxxTrs);
  194. }
  195. /*分解单个结算标准信息*/
  196. function decomposeSingleJs(obj){
  197. var selectRow = $(obj);
  198. var isSingle = false;
  199. if(typeof obj == "undefined"){
  200. selectRow = $("input[name='fjsj']:checked").closest("tr");
  201. isSingle = true;
  202. }
  203. var xh = selectRow.find("[name$=':xh']").val(); /*obj 是结算标准对象*/
  204. if(!xh){
  205. $.ligerDialog.warn("请选择要分解的时间段","提示");
  206. return ;
  207. }
  208. $("[name='s:me_lybdxx:xh'][value=" + xh + "]").closest("tr").remove(); /*清除旧的记录*/
  209. var sjd =$("[name$='xh']",selectRow).val(); //序号
  210. var ksrq =$("[name$='ksrq']",selectRow).val();
  211. var jsrq =$("[name$='jsrq']",selectRow).val();
  212. var bdxs =FormUtil.commaback($("[name$='bdxs']",selectRow).val());
  213. var mbxs =FormUtil.commaback($("[name$='mbxs']",selectRow).val()); //目标销售
  214. var jsonData = decompose(sjd,ksrq,jsrq,bdxs,"",mbxs);
  215. /*填充数据*/
  216. var fenJieTableDiv =$('div[tablename="me_lybdxx"]');
  217. for (var i = 0, c; c = jsonData[i++];) {
  218. FormUtil.addRow(fenJieTableDiv);
  219. var rowcount=$("input[name$=':ny']",fenJieTableDiv).length;
  220. $($("input[name$=':xh']",fenJieTableDiv).get(rowcount-1)).val(xh);
  221. $($("input[name$=':ny']",fenJieTableDiv).get(rowcount-1)).val(c.ZQY);
  222. $($("input[name$=':ksrq']",fenJieTableDiv).get(rowcount-1)).val(c.KSRQ);
  223. $($("input[name$=':jsrq']",fenJieTableDiv).get(rowcount-1)).val(c.JSRQ);
  224. $($("input[name$=':bdxs']",fenJieTableDiv).get(rowcount-1)).val(c.YZJ);//保底销售/毛利
  225. $($("input[name$=':mbxs']",fenJieTableDiv).get(rowcount-1)).val(c.MBXS);//目标销售/毛利
  226. }
  227. if(isSingle){
  228. showJsFj(selectRow);
  229. }
  230. }
  231. /*分解数据*/
  232. function decompose(sjd,ksrq,jsrq,zj,gzid,mbxs){
  233. if(!zj) zj =0;
  234. var paramJson = {jlbh:sjd,ksrq:ksrq,jsrq:jsrq,yzj:zj};
  235. if(mbxs) paramJson.mbxs =mbxs;
  236. if(gzid) paramJson.gzid =gzid;
  237. var jsonParams = [];
  238. jsonParams.push(paramJson);
  239. var conf = {aliasName:'decompose',paramJson:JSON.stringify(jsonParams)};
  240. var json = RunAliasScript(conf);
  241. if(json.isSuccess==0){
  242. return JSON.parse(json.result);
  243. }else{
  244. $.ligerDialog.error("分解失败:"+json.result,"提示信息");
  245. return [];
  246. }
  247. }
  248. /*显示保底信息列表*/
  249. function showJsFj(obj){
  250. var $jsbzxxTrs = $(obj);
  251. if(typeof obj == "undefined"){
  252. $jsbzxxTrs = $("input[name='jsfj']:checked").closest("tr");
  253. }
  254. var xh = $jsbzxxTrs.find("[name$=':xh']").val();
  255. $(".listRow:visible",$("[tablename='me_lybdxx']")).hide(); /*先隐藏全部,在显示个体*/
  256. $("[name='s:me_lybdxx:xh'][value=" + xh + "]").closest("tr").show();
  257. $("td.tdNo", $(".listRow:visible",$("[tablename='me_lybdxx']"))).each(function(i) {
  258. $(this).text(i + 1);
  259. });
  260. $("[name='s:me_lybdxx:bdxs']").trigger("blur");
  261. $("[name='s:me_lybdxx:mbxs']").trigger("blur");
  262. }
  263. // 校验租金标准 时间
  264. function validateJsbzxxDates(){
  265. //租赁有效期起,止
  266. var zuLinStartDate =$("[name='m:me_lytksbb:zlyxqq']").val();
  267. var zuLinEndDate =$("[name='m:me_lytksbb:zlyxqz']").val();
  268. if(!zuLinStartDate || !zuLinStartDate){
  269. $.ligerDialog.warn("尚未输入租赁起止日期!",'请核查');
  270. return false
  271. }
  272. var rows = $(".listRow:visible",$("[tablename='me_lyjsbzxx']"));
  273. for(var i=0,row;row=rows[i++];){
  274. var shiJianDuan = $("[name$='sjd']",$(row)).val(i); //时间段
  275. if(i>1){
  276. //开始日期等于上个结束日期加1
  277. var startDate = getNewDataStr($("[name$='jsrq']",$(rows[i-2])).val(),1,1);
  278. $("[name$='ksrq']",$(row)).val(startDate);
  279. }else{
  280. var differTotalStartDate = FormDate.dateVal($("[name$='ksrq']",$(rows)).val(), zuLinStartDate, "day");
  281. if(differTotalEndDate>=0) {
  282. $.ligerDialog.warn("当前开始日期不能早于 租赁开始日期!",'请核查');
  283. }
  284. $("[name$='ksrq']",$(row)).val(zuLinStartDate);
  285. }
  286. var differTotalEndDate = FormDate.dateVal($("[name$='jsrq']",$(rows)).val(), zuLinEndDate, "day");
  287. if(differTotalEndDate<0) {
  288. $.ligerDialog.warn("当前结束日期不能晚于 租赁有效期止!",'请核查');
  289. $("[name$='jsrq']",$(rows)).val("")
  290. return ;
  291. }
  292. }
  293. $("[name='s:me_lyklzgz:sjd']").trigger("change");
  294. }
  295. //type: m=2/d=1/y=3 number:几天
  296. function getNewDataStr(curDateStr,number,type){
  297. if(!curDateStr) return "";
  298. curDateStr = curDateStr.replace(/\-/g, "/");
  299. var curDate = new Date(curDateStr);
  300. if(type==1) curDate.setDate(curDate.getDate()+number);
  301. if(type==2) curDate.setMonth(curDate.getMonth()+number);
  302. if(type==3) curDate.setFullYear(curDate.getFullYear()+number);
  303. return curDate.Format("yyyy-MM-dd");
  304. }
  305. /*加载时,改变【结算标准信息】的【结算规则】*/
  306. function loadChangeJsgz(){
  307. var $jsgz = $("[name$=':jsgz']:visible",$("[tablename='me_lyjsbzxx']"));
  308. $jsgz.each(function (i) {
  309. changeJsgz(this);
  310. });
  311. }
  312. /*改变【结算标准信息】的【结算规则】*/
  313. function changeJsgz(obj){
  314. var $tr = $(obj).closest("tr");
  315. var jsgz = $("[name$=':jsgz']",$tr).val(); /*结算规则*/
  316. generateKlz();
  317. switch(jsgz){
  318. case "1": /*实销实结,产生一条扣率组,保底销售(只读)、保底扣率(只读)、目标销售(只读)、超额目标扣率(只读)、总保底(只读)、总目标(只读),分解为(保底销售)*/
  319. $("[name$=':bdxs']",$tr).attr("readonly","readonly").val("");
  320. $("[name$=':bdkl']",$tr).attr("readonly","readonly").val("");
  321. $("[name$=':mbxs']",$tr).attr("readonly","readonly").val("");
  322. $("[name$=':cmbkl']",$tr).attr("readonly","readonly").val("");
  323. $("[name$=':zbd']",$tr).attr("readonly","readonly").val("");
  324. $("[name$=':zmb']",$tr).attr("readonly","readonly").val("");
  325. break;
  326. case "2": /*固定毛利额,产生一条扣率组,保底毛利(可编辑)、保底扣率(只读)、目标销售(只读)、超额目标扣率(只读)、总保底(只读)、总目标(只读),分解为(保底毛利)*/
  327. $("[name$=':bdxs']",$tr).removeAttr("readonly");
  328. $("[name$=':bdkl']",$tr).attr("readonly","readonly").val("");
  329. $("[name$=':mbxs']",$tr).attr("readonly","readonly").val("");
  330. $("[name$=':cmbkl']",$tr).attr("readonly","readonly").val("");
  331. $("[name$=':zbd']",$tr).attr("readonly","readonly").val("");
  332. $("[name$=':zmb']",$tr).attr("readonly","readonly").val("");
  333. break;
  334. case "3": /*有保底销售无目标销售,产生一条扣率组,保底销售(可编辑)、保底扣率(可编辑)、目标销售(只读)、超额目标扣率(只读)、总保底(只读)、总目标(只读),分解为(保底销售)*/
  335. $("[name$=':bdxs']",$tr).removeAttr("readonly");
  336. $("[name$=':bdkl']",$tr).removeAttr("readonly");
  337. $("[name$=':mbxs']",$tr).attr("readonly","readonly").val("");
  338. $("[name$=':cmbkl']",$tr).attr("readonly","readonly").val("");
  339. $("[name$=':zbd']",$tr).attr("readonly","readonly").val("");
  340. $("[name$=':zmb']",$tr).attr("readonly","readonly").val("");
  341. break;
  342. case "4": /*有保底毛利无目标毛利,产生一条扣率组,保底毛利(可编辑)、保底扣率(只读)、目标销售(只读)、超额目标扣率(只读)、总保底(只读)、总目标(只读),分解为(保底毛利)*/
  343. $("[name$=':bdxs']",$tr).removeAttr("readonly");
  344. $("[name$=':bdkl']",$tr).attr("readonly","readonly").val("");
  345. $("[name$=':mbxs']",$tr).attr("readonly","readonly").val("");
  346. $("[name$=':cmbkl']",$tr).attr("readonly","readonly").val("");
  347. $("[name$=':zbd']",$tr).attr("readonly","readonly").val("");
  348. $("[name$=':zmb']",$tr).attr("readonly","readonly").val("");
  349. break;
  350. case "5": /*有保底销售有目标销售,产生一条扣率组,保底毛利(可编辑)、保底扣率(可编辑)、目标销售(可编辑)、超额目标扣率(可编辑)、总保底(只读)、总目标(只读),分解为(保底销售)*/
  351. $("[name$=':bdxs']",$tr).removeAttr("readonly");
  352. $("[name$=':bdkl']",$tr).removeAttr("readonly");
  353. $("[name$=':mbxs']",$tr).removeAttr("readonly");
  354. $("[name$=':cmbkl']",$tr).removeAttr("readonly");
  355. $("[name$=':zbd']",$tr).attr("readonly","readonly").val("");
  356. $("[name$=':zmb']",$tr).attr("readonly","readonly").val("");
  357. break;
  358. case "6": /*有保底毛利有目标毛利,产生一条扣率组,保底毛利(可编辑)、保底扣率(只读)、目标销售(可编辑)、超额目标扣率(可编辑)、总保底(只读)、总目标(只读),分解为(保底毛利)*/
  359. $("[name$=':bdxs']",$tr).removeAttr("readonly");
  360. $("[name$=':bdkl']",$tr).attr("readonly","readonly").val("");
  361. $("[name$=':mbxs']",$tr).removeAttr("readonly");
  362. $("[name$=':cmbkl']",$tr).removeAttr("readonly");
  363. $("[name$=':zbd']",$tr).attr("readonly","readonly").val("");
  364. $("[name$=':zmb']",$tr).attr("readonly","readonly").val("");
  365. break;
  366. default:
  367. }
  368. }
  369. /*产生一条扣率组*/
  370. function generateKlz(){
  371. var $kouLv = $(".listRow:visible",$("[tablename='me_lyklz']"));
  372. if($kouLv.size() == 0){
  373. FormUtil.addRow($('div[tablename$="me_lyklz"]'));
  374. var appendRow = $(".listRow:visible",$("[tablename$='me_lyklz']"))[0];
  375. $("[name$='klzbh']",appendRow).val(1);
  376. $("[name$='ms']",appendRow).val("扣组率1");
  377. }
  378. }
  379. /*===============扣率规则==================*/
  380. /*处理扣率时间段*/
  381. function handelKoulvTime(obj){
  382. var curRow = $(obj).closest(".listRow");
  383. var shijianNo = $("[name$='sjd']",curRow).val();
  384. if(!shijianNo) return ;
  385. /*取的时间段*/
  386. var shiJianDuanNo =$("[name='s:me_lyjsbzxx:sjd'][value="+shijianNo+"]");
  387. if(shiJianDuanNo.length ==0) {
  388. $.ligerDialog.warn("该时间段不存在! “"+shijianNo+"”",'请核查');
  389. $("[name$='sjd']",curRow).val("");
  390. return ;
  391. }
  392. var shiJianDuanRow = shiJianDuanNo.closest(".listRow");
  393. var startDate = $("[name$='ksrq']",shiJianDuanRow).val();
  394. var endDate = $("[name$='jsrq']",shiJianDuanRow).val();
  395. if(!startDate || !endDate) {
  396. $.ligerDialog.warn("改时间段信息不完善! “"+shijianNo+"”",'请核查');
  397. $("[name$='sjd']",curRow).val("");
  398. return ;
  399. }
  400. $("[name$='ksrq']",curRow).val(startDate);
  401. $("[name$='jsrq']",curRow).val(endDate);
  402. initXSJEQvalidateRule();
  403. $("[name='s:me_lyklzgz:zqxsjeq']").trigger("blur");
  404. $("[name='s:me_lyklzgz:zqxsjez']").trigger("blur");
  405. }
  406. /*处理扣率组*/
  407. function handelKoulvGroup(obj){
  408. var curRow = $(obj).closest(".listRow");
  409. var koulvNo = $(obj).val();
  410. if(!koulvNo) return ;
  411. /*取扣率组*/
  412. var KouLv =$("[name='s:me_lyklz:klzbh'][value="+koulvNo+"]");
  413. if(KouLv.length ==0) {
  414. $.ligerDialog.warn("该扣率组不存在! “"+koulvNo+"”",'请核查');
  415. $(obj).val("");
  416. return ;
  417. }
  418. initXSJEQvalidateRule();
  419. $("[name='s:me_lyklzgz:zqxsjeq']").trigger("blur");
  420. $("[name='s:me_lyklzgz:zqxsjez']").trigger("blur");
  421. }
  422. /*校验周期销售金额止*/
  423. function checkZqxsjez(obj){
  424. var curRow = $(obj).closest(".listRow");
  425. var JeQi = $("[name$='zqxsjeq']",curRow).val();
  426. var jeZhi =$(obj).val();
  427. if(!JeQi || !jeZhi)
  428. if( FormUtil.commaback(JeQi) > FormUtil.commaback(jeZhi)){
  429. $.ligerDialog.warn("周期销售金额止:"+jeZhi+ " 不应该小于 周期销售金额起 :"+JeQi+"",'请核查!');
  430. $(obj).val("");
  431. return ;
  432. }
  433. initXSJEQvalidateRule();
  434. $("[name='s:me_lyklzgz:zqxsjeq']").trigger("blur");
  435. $("[name='s:me_lyklzgz:zqxsjez']").trigger("blur");
  436. }
  437. /*循环判断扣率组,初始化销售金额起,校验扣率组金额*/
  438. function initXSJEQvalidateRule(){
  439. var kouLvRules = $(".listRow:visible",$("[tablename='me_lyklzgz']"));
  440. var combineMessage = [];
  441. for(var i=0,rule;rule=kouLvRules[i++];){
  442. var sjd = $("[name$=':sjd']",rule).val(); /*时间段*/
  443. var klz = $("[name$=':klz']",rule).val();/*扣率组*/
  444. if(!sjd || !klz){
  445. return;
  446. }
  447. /*第一次设置开始金额为当前金额为第几行*/
  448. var len=-1;
  449. for(var j=0,r;r=combineMessage[j++];){
  450. if(r.split("-")[0] == sjd+","+klz){
  451. len =Number(r.split("-")[1]);
  452. }
  453. }
  454. if(len==-1){
  455. $("[name$=':zqxsjeq']",rule).val("0");
  456. }else{
  457. var JJJine = $("[name$=':zqxsjez']",$(kouLvRules[len])).val(); /*上一截止金额*/
  458. $("[name$='zqxsjeq']",rule).val(JJJine);
  459. }
  460. combineMessage.push(sjd+","+klz+"-"+(i-1));
  461. }
  462. }
  463. /*=================物业费条款====================*/
  464. /*添加物业费条款事件*/
  465. function me_lywyftkAddRowAfterEvent(curRow){
  466. /*计算序号*/
  467. var preRow = $(curRow).prev();
  468. if(preRow.attr("style") == 'display: none;')
  469. $("[name$=':nx']",curRow).val(1);
  470. else {
  471. var preNx = $("[name$='nx']",preRow).val();
  472. $("[name$=':nx']",curRow).val(1+Number(preNx));
  473. }
  474. if(validateWyfDates() == false)$(curRow).remove();
  475. }
  476. /*校验物业费时间**/
  477. function validateWyfDates(){
  478. //租赁有效期起
  479. var zuLinStartDate =$("[name='m:me_lytksbb:zlyxqq']").val();
  480. var zuLinEndDate =$("[name='m:me_lytksbb:zlyxqz']").val();
  481. if(!zuLinStartDate || !zuLinStartDate){
  482. $.ligerDialog.warn("尚未输入租赁起止日期!",'请核查');
  483. return false;
  484. }
  485. //循环计算开始日期
  486. var rows = $(".listRow:visible",$("[tablename='me_lywyftk']"));
  487. for(var i=0,row;row=rows[i++];){
  488. var shiJianDuan = $("[name$='sjd']",$(row)).val(i); //时间段
  489. if(i>1){
  490. //开始日期等于上个结束日期加1
  491. var startDate = getNewDataStr($("[name$=':jsrq']",$(rows[i-2])).val(),1,1);
  492. $("[name$=':ksrq']",$(row)).val(startDate);
  493. }else{
  494. $("[name$=':ksrq']",$(row)).val(zuLinStartDate);
  495. }
  496. //校验结束日期
  497. var jsrq =$("[name$=':jsrq']",row).val();
  498. if(!jsrq) continue;
  499. var differTotalEndDate = FormDate.dateVal(jsrq, zuLinEndDate, "day");
  500. if(differTotalEndDate<0){
  501. $.ligerDialog.warn("结束日期不能晚于租赁有效期止!",'请核查!');
  502. $("[name$='jsrq']",curRow).val("")
  503. }
  504. }
  505. }
  506. /*总物业费**/
  507. function calZongWuYeFei(obj){
  508. var curRow = $(obj).closest(".listRow");
  509. //校验是否超过总日期
  510. var zuLinEndDate =$("[name='m:me_lytksbb:zlyxqz']").val();
  511. var differTotalEndDate = FormDate.dateVal($("[name$=':jsrq']",curRow).val(), zuLinEndDate, "day");
  512. if(differTotalEndDate<0) {
  513. $.ligerDialog.warn("当前结束日期不能晚于租赁有效期止!",'请核查');
  514. $("[name$=':jsrq']",curRow).val("");
  515. return ;
  516. }
  517. var danJia = FormUtil.commaback($("[name$=':dj']",curRow).val()); // 单价
  518. if(! danJia>0) return;
  519. var mianJi = $("[name='m:me_lytksbb:jzmj']").val();
  520. if(!mianJi){
  521. $.ligerDialog.warn("建筑面积尚未计算生成!",'请核查');
  522. return ;
  523. }
  524. var baoDiType =$("[name$=':glfxx']",curRow).val();
  525. var jine = mianJi * danJia;
  526. $("[name$=':je']",curRow).val(jine);
  527. $("[name$=':je']",curRow).trigger("blur");
  528. var startDate = $("[name$=':ksrq']",curRow).val();
  529. var endDate = $("[name$=':jsrq']",curRow).val();
  530. if(baoDiType =="0"){ //按月
  531. var mounth = FormDate.dateVal(startDate, endDate, "day")+1;
  532. var zongJine = calMountZujin(startDate,endDate,jine);
  533. }else{
  534. var days = FormDate.dateVal(startDate, endDate, "day")+1;
  535. var zongJine = jine*days;
  536. }
  537. zongJine =FormMath.tofixed(zongJine,2);
  538. $("[name$=':zje']",curRow).val(zongJine);
  539. $("[name$=':zje']",curRow).trigger("blur");
  540. }
  541. function calBaodiMubiao(obj,targetInput){
  542. var curRow = $(obj).closest(".listRow");
  543. var baodi = FormUtil.commaback($(obj).val());
  544. if(!baodi) return;
  545. var mianJi = $("[name='m:me_lytksbb:jzmj']").val();
  546. if(!mianJi){
  547. $.ligerDialog.warn("建筑面积尚未计算生成!",'请核查');
  548. return ;
  549. }
  550. var startDate = $("[name$=':ksrq']",curRow).val();
  551. var endDate = $("[name$=':jsrq']",curRow).val();
  552. var ZongJine = FormMath.tofixed(calMountZujin(startDate,endDate,baodi),2);
  553. $("[name$='"+targetInput+"']",curRow).val(ZongJine).trigger("change");
  554. }
  555. /*总租金。月度计算法*/
  556. function calMountZujin(startTime,endTime,zuJin){
  557. startTime = startTime.replace(/\-/g, "/");
  558. endTime = endTime.replace(/\-/g, "/");
  559. var startDate = new Date(startTime); //开始时间
  560. var endDate = new Date(endTime); //结束时间
  561. var num=0;
  562. var year=endDate.getFullYear()-startDate.getFullYear();
  563. num+=year*12;
  564. var month=endDate.getMonth()-startDate.getMonth();
  565. num+=month;
  566. var amount = zuJin * num; //月租金
  567. var day=endDate.getDate()-startDate.getDate()+1; //
  568. amount = amount + day*zuJin/30 // 少于一月 减相差金额,多于一月 加多的金额
  569. return amount;
  570. }