Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 

1018 rader
33 KiB

  1. /**
  2. * Created by luocj on 2016/10/26.
  3. */
  4. var input_time = '';
  5. var baseHTML = '';
  6. var childHTML = '';
  7. var firstDate = '';
  8. var d1 = "";
  9. var d2 = "";
  10. var d3 = "";
  11. var d4 = "";
  12. var d5 = "";
  13. var d6 = "";
  14. var d7 = "";
  15. var w1 = "";
  16. var w2 = "";
  17. var w3 = "";
  18. var w4 = "";
  19. var w5 = "";
  20. var w6 = "";
  21. var w7 = "";
  22. var check_distrib_id = '';
  23. // 房型售卖状态
  24. var room_sale_status = "-1";
  25. var start_date = '';
  26. var hotel_id = '';
  27. var room_type_id = '';
  28. var room_type_name = '';
  29. var parent_room_type = '';
  30. var hotel_name = '';
  31. var tr_sale_rule_str = ''; //获取需要替换的所有代码
  32. var page_size = '10';
  33. var current = '1';
  34. window.onload = function () {
  35. start_date = getPar('start_date');
  36. hotel_id = getPar('hotel_id');
  37. room_type_id = getPar('room_type_id');
  38. room_type_name = getPar('room_type_name');
  39. parent_room_type = getPar('parent_room_type');
  40. document.getElementById("room_name").innerHTML = room_type_name;
  41. $("#input_time").val(start_date);
  42. tr_sale_rule_str = $('.base').prop('outerHTML');
  43. $('#channel_order').attr('go_path', 'hotel/hotel-room/order-channel-list');
  44. setTbTopTd();
  45. addEvent();
  46. batchAddEvent();
  47. showDialog();
  48. current = '1';
  49. getSaleRuleInfo();
  50. // 点击蒙板
  51. $('#mask').bind('click', function () {
  52. clickMask();
  53. })
  54. to_fenxiao_lingshou();
  55. playPermission();
  56. }
  57. function replace(num) {
  58. if (num == 0) {
  59. // tempDict
  60. tempHtml = tempHtml.replace('[分销商名称]', '');
  61. tempHtml = tempHtml.replace('已售[' + 1 + '00]', "");
  62. tempHtml = tempHtml.replace('剩余[' + 1, "]");
  63. tempHtml = tempHtml.replace('分销价:[' + 1 + '00]', "");
  64. }
  65. var array1 = null;
  66. var nums1 = []; //保存第一个表格按,拆分后的所有值
  67. if (tempDict["date" + num] == "" || tempDict["date" + num] == null) {
  68. tempHtml = tempHtml.replace("[is_need_delete" + num + "]", "");
  69. }
  70. if (tempDict["date" + num] != null) {
  71. array1 = tempDict["date" + num].split(","); //第一个表格数据
  72. for (var j = 0; j < array1.length; j++) {
  73. if (array1[j] != "") {
  74. nums1.push(array1[j]);
  75. }
  76. }
  77. }
  78. var status = tempDict["NEW_AUTHORITY_STATUS"];
  79. if (status == "0") {
  80. tempHtml = tempHtml.replace('isopen="1"', 'isopen="0"');
  81. tempHtml = tempHtml.replace('images/OnSwitch.png', 'images/OffSwitch.png');
  82. } else if (status == "1") {
  83. tempHtml = tempHtml.replace('isopen="0"', 'isopen="1"');
  84. tempHtml = tempHtml.replace('images/OffSwitch.png"', 'images/OnSwitch.png"');
  85. } else { //当没有取到的时候,默认是没有授权
  86. tempHtml = tempHtml.replace('isopen="1"', 'isopen="0"');
  87. tempHtml = tempHtml.replace('images/OnSwitch.png', 'images/OffSwitch.png');
  88. }
  89. tempHtml = tempHtml.replace('[room-type]', tempDict['distrib_id']);
  90. tempHtml = tempHtml.replace('[distrib_id]', tempDict['distrib_id']);
  91. tempHtml = tempHtml.replace('[distrib_type]', tempDict['sale_type']);
  92. tempHtml = tempHtml.replace('[分销商名称]', tempDict['distrib_name']);
  93. $("#table :checkbox").prop("checked", false);
  94. //是否超卖
  95. var sellStatus = '';
  96. if (nums1[4] == '329') {
  97. sellStatus = '<span class="remaining" style="float: right;">关房</span>'
  98. }
  99. // ZZLog(nums1);
  100. tempHtml = tempHtml.replace("已售[" + num + "00]", "已售" + nums1[0] + sellStatus);
  101. //是否超卖
  102. var overSell = '';
  103. if (nums1[2] == 1) {
  104. overSell = '<span class="overSell" style="float:right;">&nbsp;</span>'
  105. }
  106. tempHtml = tempHtml.replace("剩余[" + num + "]", "剩余" + nums1[1] + overSell);
  107. tempHtml = tempHtml.replace("[" + num + "00]", nums1[3]);
  108. ZZLog(nums1[nums1.length - 1]);
  109. if (tempDict['sale_type'] == '312') {//312为直营 1772为分销
  110. tempHtml = tempHtml.replace("[分销价" + num + "]", "零售价");
  111. } else if (tempDict['sale_type'] == '177') {
  112. tempHtml = tempHtml.replace("[分销价" + num + "]", "分销价");
  113. }
  114. // if (tempDict['price_remark']=='2'){
  115. //
  116. // }else if(tempDict['price_remark']=='1'){
  117. // tempHtml = tempHtml.replace("分销价:[" + num + "00]", "零售价:" + nums1[nums1.length - 1]);
  118. // }
  119. // ZZLog(nums1);
  120. // ZZLog('当前状态值:' + nums1[0] + ' ' + nums1[1]);
  121. // if (nums1[0] == '326') {
  122. // tempHtml = tempHtml.replace('[images/img_gongxiang.png]', "images/img_baoliu.png");
  123. // } else if (nums1[0] == '327') {
  124. // tempHtml = tempHtml.replace('[images/img_gongxiang.png]', "images/img_gongxiang.png");
  125. // } else if (nums1[0] == '329') {
  126. // tempHtml = tempHtml.replace('[images/img_gongxiang.png]', "images/img_manfang.png");
  127. // } else if (nums1[0] == '328') {
  128. // tempHtml = tempHtml.replace('[images/img_gongxiang.png]', "images/229.png");
  129. // } else {
  130. // tempHtml = tempHtml.replace('[images/img_gongxiang.png]', "images/aa.png");
  131. // }
  132. }
  133. var tempDict;
  134. var tempHtml;
  135. var distrib_id_array = [];
  136. function getSaleRuleInfo() {
  137. var para_distrib_name = $('#div_name').val();
  138. var para_start_date = d1;
  139. if (para_start_date == '') {
  140. para_start_date = getDateTime(0);
  141. }
  142. var apiurl = base_api;
  143. var param = {
  144. type: "hotel_SaleRuleInfo",
  145. para_hotel_id: hotel_id,
  146. para_base_room_type: parent_room_type,
  147. para_room_type: room_type_id,
  148. para_distrib_name: para_distrib_name,
  149. para_start_date: para_start_date,
  150. op: "getSaleRule",
  151. current: current,
  152. page_size: page_size
  153. };
  154. ZZLog(param);
  155. $.ajaxSetup({
  156. async: false
  157. });
  158. loading();
  159. $.ajax({
  160. type: "post",
  161. url: apiurl,
  162. data: param,
  163. dataType: "json",
  164. success: function (res_data) {
  165. ZZLog(res_data);
  166. var areaHtml = '';
  167. var sale_list = res_data['result'];
  168. if (sale_list.length != 0) {
  169. $('#room_list').css('visibility', 'visible');
  170. }
  171. if (sale_list.length == 0) {
  172. replace(0);
  173. }
  174. for (var i = 0, m = sale_list.length; i < m; i++) {
  175. tempDict = sale_list[i]; //获取到每一个对象
  176. tempHtml = tr_sale_rule_str;
  177. var distrib_id = tempDict['distrib_id'];
  178. distrib_id_array[distrib_id_array.length] = distrib_id;
  179. for (var k = 1; k < 8; k++) {
  180. replace(k);
  181. }
  182. areaHtml += tempHtml;
  183. }
  184. $('#room_list').html(areaHtml);
  185. if (res_data['total'] < 1) {
  186. $('.pageDiv').hide();
  187. } else {
  188. $(".pageDiv").createPage({
  189. pageCount: res_data['total_page'],//总页数
  190. current: current,//当前页
  191. turndown: 'true',//是否显示跳转框,显示为true,不现实为false,一定记得加上引号...
  192. backFn: function (p) {
  193. current = p;
  194. getSaleRuleInfo();
  195. }
  196. });
  197. $('.pageDiv').show();
  198. }
  199. $('.change').each(function (index, domEle) {
  200. if ($(this).attr('is_need_delete') == "") {
  201. $(this).css('background', '');
  202. $(this).css('text-align', 'center');
  203. $(this).css('vertical-align', 'middle');
  204. $(this).html('暂无');
  205. }
  206. });
  207. cdayAddEvent();
  208. closeLoading();
  209. }, error: function (error) {
  210. ZZLog(error);
  211. closeLoading();
  212. }
  213. });
  214. $.ajaxSetup({
  215. async: true
  216. });
  217. }
  218. function showDialog() {
  219. $('#updateAll').unbind('click');
  220. $('#updateAll').bind('click', function () {
  221. input_time = $('#input_time').val();
  222. $('#start_date_update').val(input_time);
  223. $('#end_date_update').val(getDateByDay(6, input_time));
  224. if (check_distrib_id.length == 0) { //没有选中的情况,弹出提示框
  225. alert('请选中需要批量修改的渠道商!');
  226. return;
  227. }
  228. //$('#one').css('display','block');
  229. $('#mask').css('background', 'white');
  230. $('#mask').css('opacity', '0.5');
  231. $("#authorized_stock_num_many").val('');
  232. $("#distribution_price_many").val('');
  233. $("#retail_price_many").val('');
  234. showCenterView('#one');
  235. });
  236. }
  237. // 将目标节点居中显示
  238. var $tempShowView = null;
  239. function showCenterView(classOrIdName) {
  240. $('#mask').css('display', 'block');
  241. $('#mask').css('z-index', '15');
  242. $showView = $(classOrIdName);
  243. $tempShowView = $showView;
  244. $showView.css('display', 'block');
  245. $showView.css('position', 'absolute');
  246. $showView.css('top', '50%');
  247. $showView.css('left', '50%');
  248. $showView.css('z-index', '20');
  249. $showView.css('background', 'white');
  250. var w = $showView.css('width');
  251. var h = $showView.css('height');
  252. w = w.substr(0, w.length - 2);
  253. h = h.substr(0, h.length - 2);
  254. $showView.css('margin-top', '-' + h / 2 + 'px');
  255. $showView.css('margin-left', '-' + w / 2 + 'px');
  256. }
  257. // 点击蒙板
  258. function clickMask() {
  259. if ($temp_cday) {
  260. $('#up_base_room').css('display', 'none');
  261. $temp_cday.css('background', '');
  262. }
  263. $('#mask').css('display', 'none');
  264. }
  265. function doclick_close() {
  266. $('#one').css('display', 'none');
  267. clickMask();
  268. }
  269. function doclick_save() {
  270. var startDate = $('#start_date_update').val();
  271. var endDate = $('#end_date_update').val();
  272. var checkList = $('.checkbox_date');
  273. var allCheckString = ""; //para_week_day,存储过程中的参数
  274. var authorizedStock = $('#authorized_stock_many').val();
  275. var authorizedStockNum = $('#authorized_stock_num_many').val();
  276. var distributionPrice = $('#distribution_price_many').val();
  277. //alert('distributionPrice:'+distributionPrice);
  278. var retailPrice = $('#retail_price_many').val();
  279. var overSaleBatch = $("input[name='overSaleBatch']:checked").val();
  280. for (var i = 2; i < checkList.length + 2; i++) {
  281. //alert(checkList[i-2].checked);
  282. if (checkList[i - 2].checked) { //如果满足条件
  283. if (i == checkList.length + 1) {
  284. allCheckString += 1;
  285. } else {
  286. allCheckString += i;
  287. }
  288. }
  289. }
  290. if (startDate == "" || endDate == "" || allCheckString == "" || authorizedStock == "" || authorizedStockNum == "" || distributionPrice == "" || retailPrice == "") {
  291. alert('您还有未输入的选项!');
  292. // alert('startDate:'+startDate);
  293. // alert('endDate:'+endDate);
  294. // alert('allCheckString:'+allCheckString);
  295. // alert('authorizedStock:'+authorizedStock);
  296. // alert('authorizedStockNum:'+authorizedStockNum);
  297. // alert('distributionPrice:'+distributionPrice);
  298. // alert('retailPrice:'+retailPrice);
  299. return;
  300. }
  301. if (isNaN(authorizedStockNum) || isNaN(distributionPrice) || isNaN(retailPrice)) {
  302. ZZAlertInfo('数据格式不正确');
  303. return;
  304. }
  305. // in para_user_id int, in para_hotel_id int, in para_base_room_type int, in para_room_type int, in para_distrib_list varchar(2000),in para_start_date varchar(20), in para_end_date varchar(20), in para_week_day varchar(10), in para_stock_type int, in para_stock_num int, in para_prod_price decimal(10,2), in para_cus_price decimal(10,2)
  306. var urlapi = base_api;
  307. var param = {
  308. type: "hotel_SaleRuleInfo",
  309. op: "updateAuthorizeInfo",
  310. para_user_id: 1,
  311. para_hotel_id: hotel_id,
  312. para_base_room_type: parent_room_type,
  313. para_room_type: room_type_id,
  314. para_distrib_list: check_distrib_id,
  315. para_start_date: startDate,
  316. para_end_date: endDate,
  317. para_week_day: allCheckString,
  318. para_stock_type: authorizedStock,
  319. para_stock_num: authorizedStockNum,
  320. para_prod_price: distributionPrice,
  321. para_cus_price: retailPrice,
  322. para_over_sale: overSaleBatch
  323. };
  324. ZZLog(urlapi + JSON.stringify(param));
  325. $("#batch_save").html('保存中');
  326. $('#batch_save').css('background-color', 'darkgray');
  327. loading();
  328. $.ajax({
  329. url: urlapi,
  330. data: param,
  331. type: "post",
  332. dataType: "json",
  333. success: function (res_data) {
  334. closeLoading();
  335. ZZLog(res_data);
  336. if (res_data['code'] != "0") {
  337. ZZAlertInfo(res_data['info']);
  338. } else {
  339. //alert('成功了!');
  340. //重新加载页面
  341. getSaleRuleInfo();
  342. }
  343. $("#batch_save").val('保存');
  344. $('#batch_save').css('background', '#428bca');
  345. },
  346. error: function (msg) {
  347. $("#batch_save").val('保存');
  348. $('#batch_save').css('background', '#428bca');
  349. closeLoading();
  350. }
  351. })
  352. $('#one').css('display', 'none');
  353. clickMask();
  354. }
  355. var $temp_cday = null;
  356. var number = null;
  357. var distrib_id_checkd = null;
  358. var distrib_type = null;
  359. function cdayAddEvent(obj) {
  360. distrib_id_checkd = $(obj).parent().attr('data-distrib-id');
  361. distrib_type = $(obj).parent().attr('data-distrib-type');
  362. var num = $(obj).attr('date_num'); //当前点击的是第几天
  363. var stock = $(obj).children().children().children('.has_sell').text().trim();
  364. var sell = $(obj).children().children().children('.remaining').text().trim();
  365. var price = $(obj).children().children().children('.distribution_price').text().trim();
  366. stock = stock.substr(2);
  367. sell = sell.substr(2);
  368. var price_type = price.substr(0, 3);
  369. price = price.substr(4);
  370. $('#authorized_stock_num').val(parseInt(sell));
  371. if (distrib_type == '177') {
  372. $('#distribution_price').val(parseFloat(price));
  373. $('#retail_price').val('0');
  374. $('#lingshou_name').hide();
  375. $('#lingshou_price').hide();
  376. $('#fenxiao_name').show();
  377. $('#fenxiao_price').show();
  378. } else if (distrib_type == '277' || distrib_type == '312') {
  379. $('#retail_price').val(parseFloat(price));
  380. $('#distribution_price').val('0');
  381. $('#lingshou_name').show();
  382. $('#lingshou_price').show();
  383. $('#fenxiao_name').hide();
  384. $('#fenxiao_price').hide();
  385. }
  386. number = num;
  387. $('.change').bind('click', function () {
  388. //需要获取最大间数提示
  389. var _td_date = $('.tb_title').children().eq(number).attr('f_date'); //当前点击的日期
  390. //alert(_td_date);return;
  391. var startDate = _td_date;
  392. var endDate = _td_date;
  393. var urlapi = base_api;
  394. var param = {
  395. type: "hotel_SaleRuleInfo",
  396. op: "getMaxStockNumber",
  397. para_hotel_id: hotel_id,
  398. para_base_room_type: parent_room_type,
  399. para_room_type: room_type_id,
  400. para_start_date: startDate,
  401. para_end_date: endDate,
  402. para_distrib_list: distrib_id_checkd
  403. };
  404. // alert(urlapi + JSON.stringify(param));
  405. ZZLog(urlapi + JSON.stringify(param));
  406. //alert('333');
  407. $.ajax({
  408. url: urlapi,
  409. data: param,
  410. type: "post",
  411. dataType: "json",
  412. success: function (res_data) {
  413. $("#max_stock").html(res_data)
  414. },
  415. error: function (msg) {
  416. }
  417. })
  418. if ($(this).attr('is_need_delete') == "") {
  419. return;
  420. }
  421. $('#mask').css('display', 'block');
  422. $('#mask').css('background', 'white');
  423. $('#mask').css('opacity', '0');
  424. if ($temp_cday != null) {
  425. $temp_cday.css('background', '');
  426. }
  427. // 得到鼠标的位置
  428. var mouseLeft = $(this).offset().left;
  429. var mouseTop = $(this).offset().top;
  430. var td_height = parseInt($(this).css('height').replace('px', ''));
  431. $(this).css('background', '#ddd');
  432. $('#up_base_room').css('top', mouseTop + td_height + 'px');
  433. $('#up_base_room').css('display', 'block');
  434. $('#up_base_room').attr('')
  435. //
  436. $temp_cday = $(this);
  437. })
  438. }
  439. function todayOnclick() {
  440. d1 = getDateTime(0);
  441. setTbTopTd();
  442. current = '1'
  443. getSaleRuleInfo();
  444. }
  445. function beforeOnclick() {
  446. d1 = getDateByDay(-7, d1);
  447. setTbTopTd();
  448. current = '1'
  449. getSaleRuleInfo();
  450. }
  451. function afterOnclick() {
  452. d1 = getDateByDay(7, d1);
  453. setTbTopTd();
  454. current = '1'
  455. getSaleRuleInfo();
  456. }
  457. // 将目标节点居中显示
  458. var $tempShowView = null;
  459. function showCenterView(classOrIdName) {
  460. $('#mask').css('display', 'block');
  461. $('#mask').css('z-index', '15');
  462. $showView = $(classOrIdName);
  463. $tempShowView = $showView;
  464. $showView.css('display', 'block');
  465. $showView.css('position', 'absolute');
  466. $showView.css('top', $(window).height() / 2.2);
  467. $showView.css('left', '50%');
  468. $showView.css('z-index', '20');
  469. $showView.css('background', 'white');
  470. var w = $showView.css('width');
  471. var h = $showView.css('height');
  472. w = w.substr(0, w.length - 2);
  473. h = h.substr(0, h.length - 2);
  474. $showView.css('margin-top', '-' + h / 2 + 'px');
  475. $showView.css('margin-left', '-' + w / 2 + 'px');
  476. }
  477. // 点击蒙板
  478. function clickMask() {
  479. if ($temp_cday) {
  480. $('#up_base_room').css('display', 'none');
  481. $temp_cday.css('background', '');
  482. }
  483. if ($tempShowView) {
  484. $('.main_style').css('display', 'none');
  485. $tempShowView.css('background', '');
  486. }
  487. $('#mask').css('display', 'none');
  488. $("#one").hide();
  489. }
  490. // 设置表格头部的td
  491. function setTbTopTd() {
  492. // 设置标题的日期和星期
  493. var today = start_date;
  494. if (d1 == "") {
  495. d1 = today;
  496. }
  497. $('#input_time').val(d1);
  498. d2 = after(d1);
  499. d3 = after(d2);
  500. d4 = after(d3);
  501. d5 = after(d4);
  502. d6 = after(d5);
  503. d7 = after(d6);
  504. w1 = getWeekDay(d1);
  505. w2 = getWeekDay(d2);
  506. w3 = getWeekDay(d3);
  507. w4 = getWeekDay(d4);
  508. w5 = getWeekDay(d5);
  509. w6 = getWeekDay(d6);
  510. w7 = getWeekDay(d7);
  511. //alert(d1+" "+d2+" "+d3+" "+d4+" "+d5+" "+d6+""+d7);
  512. $('#day1').attr('date_num', d1);
  513. $('#day2').attr('date_num', d2);
  514. $('#day3').attr('date_num', d3);
  515. $('#day4').attr('date_num', d4);
  516. $('#day5').attr('date_num', d5);
  517. $('#day6').attr('date_num', d6);
  518. $('#day7').attr('date_num', d7);
  519. $('#f_date1').attr('f_date', d1);
  520. $('#f_date2').attr('f_date', d2);
  521. $('#f_date3').attr('f_date', d3);
  522. $('#f_date4').attr('f_date', d4);
  523. $('#f_date5').attr('f_date', d5);
  524. $('#f_date6').attr('f_date', d6);
  525. $('#f_date7').attr('f_date', d7);
  526. var td1 = d1.substring(5);
  527. var td2 = d2.substring(5);
  528. var td3 = d3.substring(5);
  529. var td4 = d4.substring(5);
  530. var td5 = d5.substring(5);
  531. var td6 = d6.substring(5);
  532. var td7 = d7.substring(5);
  533. $('#f_date1').html(td1 + "</br>" + w1);
  534. $('#f_date2').html(td2 + "</br>" + w2);
  535. $('#f_date3').html(td3 + "</br>" + w3);
  536. $('#f_date4').html(td4 + "</br>" + w4);
  537. $('#f_date5').html(td5 + "</br>" + w5);
  538. $('#f_date6').html(td6 + "</br>" + w6);
  539. $('#f_date7').html(td7 + "</br>" + w7);
  540. // 将日期为今天的星期设置为今天
  541. $('th[f_date=' + getDateTime(0) + ']').html(getDateTime(0).substring(5) + '</br>今天');
  542. }
  543. var true_count = 0;
  544. // 复选框事件
  545. function select_checked(index, selfOBJ) {
  546. $selfOBJ = $(selfOBJ);
  547. //index=0最上面的全选 index=1表示的是下面所有的
  548. var cur_check = $('.ace')[0];
  549. var checkList = $('.ace');
  550. var checkCount = checkList.length - 1;
  551. if (index == '0') {
  552. if (selfOBJ.checked) {
  553. check_distrib_id.splice(0, check_distrib_id.length);
  554. for (var i = 0; i < distrib_id_array.length; i++) {
  555. check_distrib_id[check_distrib_id.length] = distrib_id_array[i];
  556. }
  557. true_count = checkList.length - 1;
  558. selfOBJ.checked = true;
  559. } else {
  560. check_distrib_id.splice(0, check_distrib_id.length);
  561. true_count = 0;
  562. selfOBJ.checked = false;
  563. }
  564. } else if (index == '1') {
  565. if (selfOBJ.checked) {
  566. true_count++;
  567. var $par_tr = $(selfOBJ).closest('tr');
  568. var distrib_id = $par_tr.attr('data-distrib-id');
  569. if (check_distrib_id.indexOf(distrib_id) == -1) {
  570. check_distrib_id[check_distrib_id.length] = distrib_id;
  571. }
  572. } else {
  573. // 当前的base为选中
  574. true_count--;
  575. var par_tr = $(selfOBJ).closest('tr');
  576. var distrib_id = par_tr.attr('data-distrib-id');
  577. check_distrib_id.remove(distrib_id);
  578. }
  579. //alert(true_count);
  580. }
  581. //alert(check_distrib_id);
  582. for (var i = 1, m = checkList.length; i < m; i++) {
  583. if (index == '0') {
  584. checkList[i].checked = cur_check.checked;
  585. }
  586. }
  587. //alert(true_count);
  588. if (checkCount == true_count) {
  589. cur_check.checked = true;
  590. } else {
  591. cur_check.checked = false;
  592. }
  593. }
  594. Array.prototype.indexOf = function (val) {
  595. for (var i = 0; i < this.length; i++) {
  596. if (this[i] == val) return i;
  597. }
  598. return -1;
  599. };
  600. Array.prototype.remove = function (val) {
  601. var index = this.indexOf(val);
  602. if (index > -1) {
  603. this.splice(index, 1);
  604. }
  605. };
  606. //更换图片
  607. function image_onclick(obj) {
  608. loading();
  609. var start = new Date().getTime();
  610. var $par_tr = $(obj).closest('tr');
  611. var distrib_id = $par_tr.attr('data-distrib-id');
  612. if ($(obj).attr('isopen') == "0") { //变成打开授权状态
  613. //alert("distrib_id:"+distrib_id+" hotel_id:"+hotel_id+" parent_room_type"+parent_room_type+" room_type_id"+room_type_id);
  614. var apiurl = base_api + "?type=hotel_SaleRuleInfo&authorize_status=" + 1 + "&hotel_id=" + hotel_id + "&parent_room_type=" + parent_room_type + "&room_type=" + room_type_id + "&op=updateAuthorizeStatus&distrib_id_string=" + distrib_id;
  615. ZZLog(apiurl);
  616. //alert('123');
  617. $.getJSON(apiurl, function (res_data) {
  618. //alert("awefawfawefwaf");
  619. //console.log("数据:"+res_data);
  620. if (res_data['code'] != 0) {
  621. ZZAlertInfo(res_data['info']);
  622. } else {
  623. $(obj).attr('isopen', "1");
  624. $(obj).attr('src', "images/OnSwitch.png");
  625. }
  626. }).error(function (msg) {
  627. })
  628. } else {
  629. $(obj).attr('isopen', "0");
  630. $(obj).attr('src', "images/OffSwitch.png");
  631. var apiurl = base_api + "?type=hotel_SaleRuleInfo&authorize_status=" + 0 + "&hotel_id=" + hotel_id + "&parent_room_type=" + parent_room_type + "&room_type=" + room_type_id + "&op=updateAuthorizeStatus&distrib_id_string=" + distrib_id;
  632. ZZLog(apiurl);
  633. //alert('345');
  634. $.getJSON(apiurl, function (res_data) {
  635. //alert("awefawfawefwaf");
  636. ZZLog("数据:" + res_data);
  637. })
  638. }
  639. var end = new Date().getTime();
  640. if (end - start > 1500) {
  641. closeLoading();
  642. } else {
  643. setTimeout(closeLoading, 1500 - (end - start));
  644. }
  645. //
  646. // if(document.getElementById("image").getAttribute("src") == "images/OffSwitch.png") {
  647. // document.getElementById("image").src = "images/On Switch.png";
  648. // } else {
  649. // document.getElementById("image").src = "images/OffSwitch.png";
  650. // }
  651. }
  652. //同时更改所有选中的分销商授权状态
  653. function openStatus() {
  654. if (check_distrib_id.length == 0) { //没有选中的情况,弹出提示框
  655. alert('请选中需要开启授权的项!');
  656. return;
  657. }
  658. var distrib_id_string = check_distrib_id;
  659. var apiurl = base_api + "?type=hotel_SaleRuleInfo&authorize_status=" + 1 + "&hotel_id=" + hotel_id + "&parent_room_type=" + parent_room_type + "&room_type=" + room_type_id + "&op=updateAuthorizeStatus&distrib_id_string=" + distrib_id_string;
  660. ZZLog(apiurl);
  661. loading();
  662. $.getJSON(apiurl, function (res_data) {
  663. //alert("awefawfawefwaf");
  664. //console.log("数据:"+res_data);
  665. getSaleRuleInfo();
  666. closeLoading();
  667. })
  668. }
  669. //把数组的所有元素以逗号分隔,返回该字符串
  670. function unionBySeprator(check_distrib_id) {
  671. if (check_distrib_id.length == 0) {
  672. return "";
  673. }
  674. var result_string = "";
  675. for (var i = 0; i < check_distrib_id.length; i++) {
  676. result_string += ',';
  677. result_string += check_distrib_id[i];
  678. }
  679. return result_string.substr(1, result_string.length);
  680. }
  681. function closeStatus() {
  682. if (check_distrib_id.length == 0) { //没有选中的情况,弹出提示框
  683. alert('请选中需要关闭授权的项!');
  684. return;
  685. }
  686. var apiurl = base_api + "?type=hotel_SaleRuleInfo&authorize_status=" + 0 + "&hotel_id=" + hotel_id + "&parent_room_type=" + parent_room_type + "&room_type=" + room_type_id + "&op=updateAuthorizeStatus&distrib_id_string=" + check_distrib_id;
  687. ZZLog(apiurl);
  688. loading();
  689. $.getJSON(apiurl, function (res_data) {
  690. //alert("awefawfawefwaf");
  691. //console.log("数据:"+res_data);
  692. getSaleRuleInfo();
  693. closeLoading();
  694. })
  695. }
  696. //以下3个方法是确保输入框只能输入数字和1个逗号
  697. function check(event) {
  698. var e = window.event || event;
  699. var target = e.srcElement || e.target;
  700. var k = e.keyCode;
  701. if (isFunKey(k)) {
  702. return true;
  703. }
  704. var c = getChar(k);
  705. if (target.value.length == '' && (c == '-' || c == '+')) {
  706. return true;
  707. }
  708. if (isNaN(target.value + getChar(k))) {
  709. return false;
  710. }
  711. return true;
  712. }
  713. function isFunKey(code) {
  714. // 8 --> Backspace
  715. // 35 --> End
  716. // 36 --> Home
  717. // 37 --> Left Arrow
  718. // 39 --> Right Arrow
  719. // 46 --> Delete
  720. // 112~123 --> F1~F12
  721. var funKeys = [8, 35, 36, 37, 39, 46];
  722. for (var i = 112; i <= 123; i++) {
  723. funKeys.push(i);
  724. }
  725. for (var i = 0; i < funKeys.length; i++) {
  726. if (funKeys[i] == code) {
  727. return true;
  728. }
  729. }
  730. return false;
  731. }
  732. function getChar(k) {
  733. if (k >= 48 && k <= 57) {
  734. return String.fromCharCode(k);
  735. }
  736. if (k >= 96 && k <= 105) {
  737. return String.fromCharCode(k - 48);
  738. }
  739. if (k == 110 || k == 190) {
  740. return ".";
  741. }
  742. if (k == 109 || k == 189) {
  743. return "-";
  744. }
  745. if (k == 107 || k == 187) {
  746. return "+";
  747. }
  748. return "#";
  749. }
  750. //点击搜索,重新查找匹配条件的数据
  751. function searchOnclick() {
  752. d1 = $('#input_time').val();
  753. setTbTopTd();
  754. //alert('2222');
  755. showDialog();
  756. //alert('awef');
  757. current = '1'
  758. getSaleRuleInfo();
  759. }
  760. function cancelUpdate() {
  761. clickMask();
  762. }
  763. //点击弹出层的提交按钮事件
  764. function saveUpdate() {
  765. //alert(new Date(d1).getDay()); //当前页面上第一天是星期几
  766. //当前点击的是第number个日期,可以获取到具体的日期
  767. //alert(number);
  768. var _td_date = $('.tb_title').children().eq(number).attr('f_date'); //当前点击的日期
  769. //alert(_td_date);return;
  770. var startDate = _td_date;
  771. var endDate = _td_date;
  772. var allCheckString = "2345671"; //para_week_day,存储过程中的参数
  773. var authorizedStock = $('#base_stock_type').val();
  774. var authorizedStockNum = $('#authorized_stock_num').val();
  775. var distributionPrice = $('#distribution_price').val() == '' ? 0 : $('#distribution_price').val();
  776. var retailPrice = $('#retail_price').val() == '' ? 0 : $('#retail_price').val();
  777. var overSaleOne = $("input[name='overSale']:checked").val();
  778. if (startDate == "" || endDate == "" || allCheckString == "" || authorizedStock == "" || authorizedStockNum == "") {
  779. alert('您还有未输入的选项!');
  780. return;
  781. }
  782. if (distributionPrice == "" && retailPrice == "") {
  783. alert('您还有未输入的选项!');
  784. // alert('startDate:'+startDate);
  785. // alert('endDate:'+endDate);
  786. // alert('allCheckString:'+allCheckString);
  787. // alert('authorizedStock:'+authorizedStock);
  788. // alert('authorizedStockNum:'+authorizedStockNum);
  789. // alert('distributionPrice:'+distributionPrice);
  790. // alert('retailPrice:'+retailPrice);
  791. return;
  792. }
  793. if (isNaN(retailPrice)) {
  794. ZZAlertInfo('金额格式不正确');
  795. return;
  796. }
  797. //alert('222');
  798. // in para_user_id int, in para_hotel_id int, in para_base_room_type int, in para_room_type int, in para_distrib_list varchar(2000),in para_start_date varchar(20), in para_end_date varchar(20), in para_week_day varchar(10), in para_stock_type int, in para_stock_num int, in para_prod_price decimal(10,2), in para_cus_price decimal(10,2)
  799. var urlapi = base_api;
  800. var param = {
  801. type: "hotel_SaleRuleInfo",
  802. op: "updateAuthorizeInfo",
  803. para_user_id: 1,
  804. para_hotel_id: hotel_id,
  805. para_base_room_type: parent_room_type,
  806. para_room_type: room_type_id,
  807. para_distrib_list: distrib_id_checkd,
  808. para_start_date: startDate,
  809. para_end_date: endDate,
  810. para_week_day: allCheckString,
  811. para_stock_type: authorizedStock,
  812. para_stock_num: authorizedStockNum,
  813. para_prod_price: distributionPrice,
  814. para_cus_price: retailPrice,
  815. para_over_sale: overSaleOne
  816. };
  817. // alert(urlapi + JSON.stringify(param));
  818. ZZLog(urlapi + JSON.stringify(param));
  819. $("#one_save").html('保存中');
  820. $('#one_save').css('background', 'darkgray');
  821. loading();
  822. $.ajax({
  823. url: urlapi,
  824. data: param,
  825. type: "post",
  826. dataType: "json",
  827. success: function (res_data) {
  828. closeLoading();
  829. ZZLog(res_data);
  830. if (res_data['code'] != "0") {
  831. ZZAlertInfo(res_data['info']);
  832. } else {
  833. //alert(res_data);
  834. getSaleRuleInfo();
  835. ZZAlertInfo('修改成功');
  836. }
  837. $("#one_save").html('保存');
  838. $('#one_save').css('background', '#428bca');
  839. },
  840. error: function (msg) {
  841. $("#one_save").html('保存');
  842. $('#one_save').css('background', '#428bca');
  843. closeLoading();
  844. }
  845. })
  846. $('#one').css('display', 'none');
  847. clickMask();
  848. }
  849. function cannot_input_fenxiao() {
  850. if ($('#distribution_price') != '') {
  851. $('#retail_price').val('0');
  852. }
  853. }
  854. function cannot_input_lingshou() {
  855. if ($('#retail_price') != '') {
  856. $('#distribution_price').val('0');
  857. }
  858. }
  859. function cannot_input_fenxiao_many() {
  860. if ($('#distribution_price_many') != '') {
  861. //$('#retail_price_many').val('0');
  862. }
  863. }
  864. function cannot_input_lingshou_many() {
  865. if ($('#retail_price_many') != '') {
  866. //$('#distribution_price_many').val('0');
  867. }
  868. }
  869. //选择共享库存则间数变0且不能修改
  870. function addEvent() {
  871. $('#base_stock_type').on('change', function () {
  872. if ($(this).val() == '327') {//共享库存
  873. $('#count_input').css("visibility", "hidden");
  874. $('#authorized_stock_num').val('0');
  875. } else if ($(this).val() == '328') {//人工确认
  876. $('#count_input').css("visibility", "hidden");
  877. $('#authorized_stock_num').val('999');
  878. } else if ($(this).val() == '329') {//人工确认
  879. $('#count_input').css("visibility", "hidden");
  880. $('#authorized_stock_num').val('0');
  881. } else {
  882. $('.authorized_stock_num').val('0');
  883. $('#count_input').css("visibility", "visible");
  884. }
  885. })
  886. }
  887. function batchAddEvent() {
  888. $('#authorized_stock_many').on('change', function () {
  889. if ($(this).val() == '327') {//共享库存
  890. $('.second_style_next_data').hide();
  891. $('#authorized_stock_num_many').val('0');
  892. } else if ($(this).val() == '328') {//人工确认
  893. $('.second_style_next_data').hide();
  894. $('#authorized_stock_num_many').val('999');
  895. } else if ($(this).val() == '329') {//满房
  896. $('.second_style_next_data').hide();
  897. $('#authorized_stock_num_many').val('0');
  898. } else {
  899. $('#authorized_stock_num_many').val('0');
  900. $('.second_style_next_data').show();
  901. }
  902. })
  903. }
  904. //提示分销价与零售价适用于哪些渠道
  905. function to_fenxiao_lingshou() {
  906. $('#updateAll').bind('click', function () {
  907. var sum_fenxiao_arr = [];
  908. var sum_fenxiao_str = '';
  909. var sum_lingshou_arr = [];
  910. var sum_lingshou_str = '';
  911. $("input[name='mybox']").each(function () {
  912. if ($(this).is(':checked')) {
  913. if ($(this).closest('tr').attr('data-distrib-type') == 177) {
  914. sum_fenxiao_arr.push($(this).closest('tr').find('td:first').html());
  915. } else {
  916. sum_lingshou_arr.push($(this).closest('tr').find('td:first').html());
  917. }
  918. }
  919. });
  920. sum_fenxiao_str = sum_fenxiao_arr.join(",");
  921. sum_lingshou_str = sum_lingshou_arr.join(",");
  922. ZZLog(sum_fenxiao_str, sum_lingshou_str);
  923. $('#to_fenxiao').text('将应用于' + sum_fenxiao_str);
  924. $('#to_lingshou').text('将应用于' + sum_lingshou_str);
  925. });
  926. }
  927. //全选或全不选
  928. $("#all").click(function () {
  929. if (this.checked) {
  930. var valArr = new Array;
  931. $("#table :checkbox").prop("checked", true);
  932. $('input[type="checkbox"][name="mybox"]:checked').each(function (i) {
  933. valArr[i] = $(this).val();
  934. });
  935. var vals = valArr.join(',');
  936. check_distrib_id = vals;
  937. } else {
  938. $("#table :checkbox").prop("checked", false);
  939. }
  940. });
  941. function selectAll() {
  942. var valArr = new Array;
  943. $('input[type="checkbox"][name="mybox"]:checked').each(function (i) {
  944. valArr[i] = $(this).val();
  945. });
  946. var vals = valArr.join(',');
  947. check_distrib_id = vals;
  948. }