You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

250 lines
7.5 KiB

  1. //Author:fuhc
  2. //Date:20160927
  3. var hotel_id='';
  4. var room_name='';
  5. var room_type='';
  6. var start_date=''
  7. var end_date='';
  8. var hotel_name='';
  9. var start_date_back ='';
  10. window.onload=function(){
  11. hotel_id=getPar('hotel_id');
  12. start_date=getPar('start_date');
  13. room_name=getPar('room_name');
  14. room_type=getPar('room_type');
  15. hotel_name=getPar('hotel_name');
  16. end_date=getDateByDay(7,start_date);
  17. $('.start_date_all,.start_date').val(start_date);
  18. $('.end_date_all,.end_date').val(end_date);
  19. $('.room').children().eq(0).text(room_name);
  20. $('.room').attr('data-room-type',room_type);
  21. }
  22. // 添加行
  23. var $tempTR=null;
  24. function addrow(selfOBJ)
  25. {
  26. var $selfOBJ=$(selfOBJ);
  27. var $tr_parent=$selfOBJ.closest('tr');
  28. var new_tr=document.createElement('tr');
  29. var new_tr_className=$tr_parent.attr('class')+$tr_parent.data('room-type');
  30. new_tr.className=new_tr_className;
  31. $tempTR=$('.'+new_tr_className.split(' ')[1]+':last');
  32. var newHTML='';
  33. var tempHTML=$('.room_child').prop('outerHTML');
  34. if(!$tempTR.html()){
  35. $tr_parent.after(new_tr);
  36. }else{
  37. $tempTR.after(new_tr);
  38. }
  39. // tempHTML=tempHTML.replace('[start_value]','');
  40. // tempHTML=tempHTML.replace('[end_value]','');
  41. tempHTML=tempHTML.replace('[start_value]',$('.start_date_all').val());
  42. tempHTML=tempHTML.replace('[end_value]',$('.end_date_all').val());
  43. new_tr.innerHTML=tempHTML;
  44. }
  45. // 删除行
  46. function delrow(selfOBJ){
  47. var $selfOBJ=$(selfOBJ);
  48. var $tr_parent=$selfOBJ.closest('tr');
  49. $tr_parent.prop('outerHTML','');
  50. }
  51. // 星期 的点击事件
  52. function aceClick(selfOBJ){
  53. var className=$(selfOBJ).attr('class');
  54. ZZLog(className);
  55. var flag=selfOBJ.checked;
  56. if(className.indexOf('allweekall')>=0){
  57. $('.ace').prop('checked',flag);
  58. $('.ace').attr('checked',flag);
  59. }else if(className.indexOf('week1all')>=0){
  60. $('.week1').prop('checked',flag);
  61. $('.week1').attr('checked',flag);
  62. }else if(className.indexOf('week2all')>=0){
  63. $('.week2').prop('checked',flag);
  64. $('.week2').attr('checked',flag);
  65. }else if(className.indexOf('week3all')>=0){
  66. $('.week3').prop('checked',flag);
  67. $('.week3').attr('checked',flag);
  68. }else if(className.indexOf('week4all')>=0){
  69. $('.week4').prop('checked',flag);
  70. $('.week4').attr('checked',flag);
  71. }else if(className.indexOf('week5all')>=0){
  72. $('.week5').prop('checked',flag);
  73. $('.week5').attr('checked',flag);
  74. }else if(className.indexOf('week6all')>=0){
  75. $('.week6').prop('checked',flag);
  76. $('.week6').attr('checked',flag);
  77. }else if(className.indexOf('week7all')>=0){
  78. $('.week7').prop('checked',flag);
  79. $('.week7').attr('checked',flag);
  80. }else if(className.indexOf('allweek')>=0){
  81. $(selfOBJ).closest('td').find('input').prop('checked',flag);
  82. $(selfOBJ).closest('td').find('input').attr('checked',flag);
  83. }else if(className.indexOf('week')>=0){
  84. var newName=className.split(' ')[1];
  85. var tCol=[];
  86. $('.'+newName).each(function(i,dom){
  87. tCol.push(dom.checked);
  88. })
  89. if(tCol.indexOf(false)!=-1){
  90. $('.'+newName+'all').attr('checked',false);
  91. $('.'+newName+'all').prop('checked',false);
  92. }else{
  93. $('.'+newName+'all').attr('checked',true);
  94. $('.'+newName+'all').prop('checked',true);
  95. }
  96. }
  97. var tAll=[];
  98. updateFirstCheck();
  99. function updateFirstCheck(){
  100. $('.ace:gt(0)').each(function(i,dom){
  101. tAll.push(dom.checked);
  102. });
  103. if(tAll.indexOf(false)!=-1){
  104. $('.allweekall').attr('checked',false);
  105. $('.allweekall').prop('checked',false);
  106. }else{
  107. $('.allweekall').attr('checked',true);
  108. $('.allweekall').prop('checked',true);
  109. }
  110. }
  111. }
  112. // 批量改日期的日期选择改变事件
  113. function changeStartDateAll(){
  114. var curdate=$('.start_date_all').val();
  115. $('.start_date').val(curdate);
  116. $('.end_date_all').focus();
  117. }
  118. function changeEndDateAll(){
  119. var curdate=$('.end_date_all').val();
  120. $('.end_date').val(curdate);
  121. }
  122. // 批量改库存
  123. $(document).ready(function () {
  124. $(".maiduan_count_all").bind('input', function () {
  125. $('.maiduan_count').val($(this).val());
  126. })
  127. $(".baoliu_count_all").bind('input', function () {
  128. $('.baoliu_count').val($(this).val());
  129. })
  130. $(".xianxun_count_all").bind('input', function () {
  131. $('.xianxun_count').val($(this).val());
  132. })
  133. })
  134. $(document).ready(function () {
  135. $('#btnSave').bind('click', function () {
  136. clickSave();
  137. });
  138. document.onkeydown = function (e) {
  139. var ev = document.all ? window.event : e;
  140. if (ev.keyCode == 13) {
  141. clickSave();
  142. }
  143. }
  144. })
  145. function clickSave() {
  146. var cstr = '';
  147. var flag = true;
  148. for (var i = 0, m = $('.real_tr').length; i < m; i++) {
  149. var room_type = $('.real_tr').eq(0).attr('data-room-type');
  150. var start_date = $('.real_tr').eq(i).find('.start_date').val();
  151. var end_date = $('.real_tr').eq(i).find('.end_date').val();
  152. var weekDay = '';
  153. $('.real_tr').eq(i).find('.aday').each(function (index, domEle) {
  154. if (domEle.checked) {
  155. weekDay += $(this).val();
  156. }
  157. });
  158. //买断
  159. var maiduan_count = $('.real_tr').eq(i).find('.maiduan_count').val();
  160. var baoliu_count = $('.real_tr').eq(i).find('.baoliu_count').val();
  161. var xianxun_count = $('.real_tr').eq(i).find('.xianxun_count').val();
  162. if(room_type==''||start_date==''||end_date==''){
  163. ZZAlertInfo('请输入完整!');
  164. return;
  165. }
  166. var baoliu_cstr = "{" + room_type + ",\"" + start_date + "\",\"" + end_date + "\"," + weekDay + "," + '230' + "," + baoliu_count + "}";
  167. var maiduan_cstr = "{" + room_type + ",\"" + start_date + "\",\"" + end_date + "\"," + weekDay + "," + '228' + "," + maiduan_count + "}";
  168. var xianxun_cstr = "{" + room_type + ",\"" + start_date + "\",\"" + end_date + "\"," + weekDay + "," + '229' + "," + xianxun_count + "}";
  169. baoliu_cstr = baoliu_count == '' ? '' : baoliu_cstr;
  170. maiduan_cstr = maiduan_count == '' ? '' : maiduan_cstr;
  171. xianxun_cstr = xianxun_count == '' ? '' : xianxun_cstr;
  172. //最终数组
  173. cstr += baoliu_cstr + maiduan_cstr + xianxun_cstr;
  174. flag = true;
  175. }
  176. if (flag) {
  177. if ($('#btnSave').text() == '保存中') {
  178. return;
  179. }
  180. $('#btnSave').text('保存中');
  181. $('#btnSave').css('background', 'darkgray');
  182. var urlapi = base_api;
  183. var param = {
  184. type: "room_base_SetBaseRoom",
  185. op: "AddBaseRoom",
  186. hotel_id: hotel_id,
  187. room_info: cstr
  188. };
  189. ZZLog(urlapi + JSON.stringify(param));
  190. $.ajax({
  191. url: urlapi,
  192. data: param,
  193. type: "post",
  194. dataType: "json",
  195. success: function (res_data) {
  196. ZZLog(res_data);
  197. if (res_data['code'] != "0") {
  198. alert(res_data['info']);
  199. $('#btnSave').text('保存');
  200. $('#btnSave').css('background', '#428bca!important');
  201. } else {
  202. // history.go(-1);
  203. window.location.href = "room_info.html?hotel_id=" + hotel_id + "&hotel_name=" + hotel_name+"&start_date="+ getPar('start_date');
  204. }
  205. },
  206. error: function (msg) {
  207. }
  208. })
  209. }
  210. }
  211. function isEmpty(str){
  212. if(str.trim()==""){
  213. return true;
  214. }else{
  215. return false;
  216. }
  217. }
  218. function isEmptyByArr(varArr){
  219. var arr=[];
  220. for(var i=0;i<varArr.length;i++){
  221. if(varArr[i]){
  222. if(varArr[i].trim()==""){
  223. return true;
  224. }else{
  225. arr.push(false);
  226. }
  227. }else{
  228. arr.push(false);
  229. }
  230. }
  231. if(arr.indexOf(false)!=-1){
  232. return false;
  233. }
  234. }