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.
 
 
 
 

328 lines
11 KiB

  1. /**
  2. * Created by luocj on 2016/10/24.
  3. */
  4. var hotel_id = '';
  5. var room_id = '';
  6. var trHTML = '';
  7. var trinnerHTML = '';
  8. var start_date = '';
  9. var end_date = '';
  10. var hotel_name = '';
  11. window.onload = function () {
  12. hotel_id = getPar('hotel_id');
  13. hotel_name = getPar('hotel_name')
  14. room_type = getPar('ids');
  15. start_date = getPar('start_date');
  16. end_date = getDateByDay(6, start_date);
  17. trHTML = $('.real_tr').prop('outerHTML');
  18. $('.room_child').show();
  19. trinnerHTML = $('.room_child').html();
  20. $('.room_child').hide();
  21. $('#start_date_all').val(start_date);
  22. $('#end_date_all').val(end_date);
  23. getRoomList()
  24. };
  25. //获取子房型
  26. function getRoomList() {
  27. var param = {
  28. op: 'getRoom',
  29. type: 'room_HTModifyPrice',
  30. hotel_id: hotel_id,
  31. room_type: room_type
  32. }
  33. $.ajax({
  34. url: base_api,
  35. type: 'post',
  36. dataType: 'json',
  37. data: param,
  38. success: function (res_data) {
  39. ZZLog(res_data);
  40. if (res_data['code'] != "0") {
  41. alert(res_data['info']);
  42. }
  43. var all_info = res_data;
  44. roomList(all_info)
  45. },
  46. error: function () {
  47. ZZLog('出错');
  48. }
  49. }
  50. )
  51. }
  52. //显示列表
  53. function roomList(data) {
  54. var sumHTML = '';
  55. var tr = trHTML;
  56. for (var i = 0; i < data['room_list'].length; i++) {
  57. var dict = data['room_list'][i];
  58. var HTML = tr;
  59. var inner_indentify = (dict['INNER_IDENTIFY'] == null) ? '': ' |' + dict['INNER_IDENTIFY'];
  60. HTML = HTML.replace('<td>[子房型]</td>', '<td>' + dict['room_name'] + inner_indentify + '</td>');
  61. HTML = HTML.replace('data-room-type=""', 'data-room-type="' + dict['room_type'] + '"');
  62. HTML = HTML.replace('data-parent-room-type=""', 'data-parent-room-type="' + dict['parent_room_type'] + '"')
  63. HTML = HTML.replace('[start_value]', $('.start_date_all').val());
  64. HTML = HTML.replace('[end_value]', $('.end_date_all').val());
  65. sumHTML += HTML;
  66. }
  67. $('#tbody').html(sumHTML);
  68. }
  69. // 批量改日期的日期选择改变事件
  70. function changeStartDateAll() {
  71. var curdate = $('.start_date_all').val();
  72. $('.start_date').val(curdate);
  73. $('.end_date_all').focus();
  74. }
  75. function changeEndDateAll() {
  76. var curdate = $('.end_date_all').val();
  77. $('.end_date').val(curdate);
  78. }
  79. // 星期 的点击事件
  80. function aceClick(selfOBJ) {
  81. var className = $(selfOBJ).attr('class');
  82. ZZLog(className);
  83. var flag = selfOBJ.checked;
  84. if (className.indexOf('allweekall') >= 0) {
  85. $('.ace').prop('checked', flag);
  86. $('.ace').attr('checked', flag);
  87. } else if (className.indexOf('week1all') >= 0) {
  88. $('.week1').prop('checked', flag);
  89. $('.week1').attr('checked', flag);
  90. } else if (className.indexOf('week2all') >= 0) {
  91. $('.week2').prop('checked', flag);
  92. $('.week2').attr('checked', flag);
  93. } else if (className.indexOf('week3all') >= 0) {
  94. $('.week3').prop('checked', flag);
  95. $('.week3').attr('checked', flag);
  96. } else if (className.indexOf('week4all') >= 0) {
  97. $('.week4').prop('checked', flag);
  98. $('.week4').attr('checked', flag);
  99. } else if (className.indexOf('week5all') >= 0) {
  100. $('.week5').prop('checked', flag);
  101. $('.week5').attr('checked', flag);
  102. } else if (className.indexOf('week6all') >= 0) {
  103. $('.week6').prop('checked', flag);
  104. $('.week6').attr('checked', flag);
  105. } else if (className.indexOf('week7all') >= 0) {
  106. $('.week7').prop('checked', flag);
  107. $('.week7').attr('checked', flag);
  108. } else if (className.indexOf('allweek') >= 0) {
  109. $(selfOBJ).closest('td').find('input').prop('checked', flag);
  110. $(selfOBJ).closest('td').find('input').attr('checked', flag);
  111. } else if (className.indexOf('week') >= 0) {
  112. var newName = className.split(' ')[1];
  113. var tCol = [];
  114. $('.' + newName).each(function (i, dom) {
  115. tCol.push(dom.checked);
  116. })
  117. if (tCol.indexOf(false) != -1) {
  118. $('.' + newName + 'all').attr('checked', false);
  119. $('.' + newName + 'all').prop('checked', false);
  120. } else {
  121. $('.' + newName + 'all').attr('checked', true);
  122. $('.' + newName + 'all').prop('checked', true);
  123. }
  124. }
  125. var tAll = [];
  126. updateFirstCheck();
  127. function updateFirstCheck() {
  128. $('.ace:gt(0)').each(function (i, dom) {
  129. tAll.push(dom.checked);
  130. });
  131. if (tAll.indexOf(false) != -1) {
  132. $('.allweekall').attr('checked', false);
  133. $('.allweekall').prop('checked', false);
  134. } else {
  135. $('.allweekall').attr('checked', true);
  136. $('.allweekall').prop('checked', true);
  137. }
  138. }
  139. }
  140. // 添加行
  141. var $tempTR = null;
  142. function addrow(obj) {
  143. var tr_parent = $(obj).closest('tr');
  144. var new_tr = document.createElement('tr');
  145. var new_tr_className = $(tr_parent).attr('class') + $(tr_parent).attr('data-room-type');
  146. new_tr.className = new_tr_className;
  147. $(new_tr).attr('data-room-type', $(tr_parent).attr('data-room-type'));
  148. $(new_tr).attr('data-parent-room-type', $(tr_parent).attr('data-parent-room-type'));
  149. // method 1
  150. $tempTR = $('.' + new_tr_className.split(' ')[1] + ':last');
  151. if (!$tempTR.html()) {
  152. tr_parent.after(new_tr);
  153. } else {
  154. $tempTR.after(new_tr);
  155. }
  156. var newHTML = trinnerHTML;
  157. newHTML = newHTML.replace('[start_value]', $('.start_date_all').val());
  158. newHTML = newHTML.replace('[end_value]', $('.end_date_all').val());
  159. new_tr.innerHTML = newHTML;
  160. // method 2
  161. // $tempTR = tr_parent;
  162. // $tempTR.after(new_tr);
  163. // new_tr.innerHTML = newHTML;
  164. // $tempTR = $(new_tr);
  165. }
  166. // 删除行
  167. function delrow(selfOBJ) {
  168. var $selfOBJ = $(selfOBJ);
  169. var $tr_parent = $selfOBJ.closest('tr');
  170. $tr_parent.prop('outerHTML', '');
  171. }
  172. //修改采购价
  173. $(document).ready(function () {
  174. $(".maiduan_price_all").bind('input', function () {
  175. /*var num = $(this).val();
  176. if(!checkNum(num)){
  177. ZZAlertInfo('请输入正确的数字!');
  178. return false;
  179. }*/
  180. $('.maiduan_price').val($(this).val());
  181. })
  182. $(".baoliu_price_all").bind('input', function () {
  183. /*var num = $(this).val();
  184. if(!checkNum(num)){
  185. ZZAlertInfo('请输入正确的数字!');
  186. return false;
  187. }*/
  188. $('.baoliu_price').val($(this).val());
  189. })
  190. $(".xianxun_price_all").bind('input', function () {
  191. /*var num = $(this).val();
  192. if(!checkNum(num)){
  193. ZZAlertInfo('请输入正确的数字!');
  194. return false;
  195. }*/
  196. $('.xianxun_price').val($(this).val());
  197. })
  198. });
  199. function checkNum(num) {
  200. reg = /^-?[0-9]+\.?[0-9]*$/;
  201. if(reg.test(num)){
  202. return true;
  203. }
  204. return false;
  205. }
  206. function clickSave() {
  207. var cstr = '';
  208. var user_id = '1';
  209. var flag = true;
  210. var para_flag = '2';//批量改房价标志
  211. ZZLog($('.real_tr'));
  212. for (var i = 0, m = $('.real_tr').length; i < m; i++) {
  213. var parent_room_type = $('.real_tr').eq(i).attr('data-parent-room-type');
  214. var room_type = $('.real_tr').eq(i).attr('data-room-type');
  215. var start_date = $('.real_tr').eq(i).find('.start_date').val();
  216. var end_date = $('.real_tr').eq(i).find('.end_date').val();
  217. var weekDay = '';
  218. $('.real_tr').eq(i).find('.aday').each(function (index, domEle) {
  219. if (domEle.checked) {
  220. weekDay += $(this).val();
  221. }
  222. });
  223. //买断
  224. var maiduan_price = $('.real_tr').eq(i).find('.maiduan_price').val()?$('.real_tr').eq(i).find('.maiduan_price').val().trim():'-1';
  225. var baoliu_price = $('.real_tr').eq(i).find('.baoliu_price').val()?$('.real_tr').eq(i).find('.baoliu_price').val().trim():'-1';
  226. var xianxun_price = $('.real_tr').eq(i).find('.xianxun_price').val()?$('.real_tr').eq(i).find('.xianxun_price').val().trim():'-1';
  227. if(!checkNum(maiduan_price) || !checkNum(baoliu_price) || !checkNum(xianxun_price)){
  228. flag = false;
  229. break;
  230. }else{
  231. flag = true;
  232. }
  233. if(parent_room_type==''||room_type==''||start_date==''||end_date==''){
  234. ZZAlertInfo('房价信息不完整!');
  235. return;
  236. }
  237. cstr += "{" + parent_room_type + "," + room_type + ",\"" + start_date + "\",\"" + end_date + "\"," + weekDay + "," + maiduan_price + "," + baoliu_price + "," + xianxun_price + "}";
  238. //最终数组
  239. //flag = true;
  240. }
  241. if (flag) {
  242. if ($('#btnSave').text() == '保存中') {
  243. return;
  244. }
  245. $('#btnSave').text('保存中');
  246. $('#btnSave').css('background', 'darkgray');
  247. var urlapi = base_api;
  248. var param = {
  249. type: "room_HTModifyPrice",
  250. op: "up_base_price",
  251. user_id: user_id,
  252. hotel_id: hotel_id,
  253. para_flag: para_flag,
  254. hotel_info: cstr
  255. };
  256. ZZLog(urlapi + JSON.stringify(param));
  257. $.ajax({
  258. url: urlapi,
  259. data: param,
  260. type: "post",
  261. dataType: "json",
  262. success: function (res_data) {
  263. ZZLog(res_data);
  264. if (res_data['code'] != "0") {
  265. alert(res_data['info']);
  266. $('#btnSave').text('保存');
  267. $('#btnSave').css('background', '#428bca');
  268. } else {
  269. ZZAlertInfo('保存成功');
  270. $('#btnSave').attr('onclick','changeToSave()');
  271. $('#btnSave').text('继续修改');
  272. $('#btnSave').css('background', '#428bca');
  273. // history.go(-1);
  274. //把日期带上,是否重设日期标识, 现在默认不回退
  275. //window.location.href = "room_info.html?hotel_id=" + hotel_id + "&hotel_name=" + hotel_name+ "&start_date="+ getPar('start_date')+ "&date_flag=1";
  276. }
  277. }
  278. })
  279. }else{
  280. ZZAlertInfo('请输入正确的数字!');
  281. // alert('请输入正确的数字!');
  282. return false;
  283. }
  284. }
  285. function dataCheck(e) {
  286. var val = $(e).val();
  287. if(!checkNum(val)){
  288. ZZAlertInfo('请输入正确的数字!');
  289. }
  290. }
  291. function changeToSave() {
  292. $('#btnSave').text('保存');
  293. $('#btnSave').css('background', '#428bca');
  294. $('#btnSave').attr('onclick','clickSave()');
  295. }
  296. function isEmpty(str) {
  297. if (str.trim() == "") {
  298. return true;
  299. } else {
  300. return false;
  301. }
  302. }
  303. function isEmptyByArr(varArr) {
  304. var arr = [];
  305. ZZLog(varArr);
  306. for (var i = 0; i < varArr.length; i++) {
  307. if (varArr[i].trim() == "") {
  308. return true;
  309. } else {
  310. arr.push(false);
  311. }
  312. }
  313. if (arr.indexOf(false) != -1) {
  314. return false;
  315. }
  316. }