|
- /**
- * Created by luo on 2017/5/9.
- */
- var check_box_no = 0;
- var action = '';
- window.onload = function () {
- //获取并替换数据
- data();
- //选择星期
- choose();
- // 日期
- date();
- //分销价;
- price();
- //提交表单
- submit();
- //刷新日历
- re_date();
- $(".li_row_all").click();
- };
-
- function re_date() {
- $(".form_date").datetimepicker({
- format: 'yyyy-mm-dd',
- autoclose: true,
- minView: 2,
- pickerPosition: "bottom-left"
- });
- }
-
- //替换数据
- function data() {
- //公共变量
- var hotel_name = getPar('hotel_name');
- var hotel_id = getPar('hotel_id');
- var channel_id = getPar('channel_id');
- var channel_name = getPar('channel_name');
- var start_date = getPar('start_date');
- var end_date = getDateByDay(6, start_date);
- var room = getPar('room');
- action = getPar('action');
- //url太长 导致数据不完整, 解决方法再查一次
- var urlapi = base_api;
- var param = {
- type: "room_DistribChangePrice",
- room: room,
- hotel_id: hotel_id,
- op: 'getName'
- };
- $.ajax({
- url: urlapi,
- data: param,
- type: 'post',
- dataType: 'json',
- success: function (res_data) {
- $("#hotel_name").text(hotel_name);
- $("#hotel_name").attr('hotel_id', hotel_id);
- $("#channel_name").text(channel_name);
- $("#channel_name").attr('channel_id', channel_id);
- $(".start_date_all").val(start_date);
- $(".start_date").val(start_date);
- $(".end_date_all").val(end_date);
- $(".end_date").val(end_date);
-
- //显示房态还是价格
- if (action === 'info') {
- $(".action-info").removeClass('hidden');
- } else {
- $(".action-price").removeClass('hidden');
- }
-
- var copy_tr = $('.copy_tr_tmp').closest('tr')[0].outerHTML;
- var show = '';
- // res_data = JSON.parse(res_data);
- var room_res = res_data['data'];
- var room_arr = room_res.split('**');
- for (var i = 0; i < room_arr.length; i++) {
- var tmp_copy_tr = copy_tr;
- var tmp_room_arr = room_arr[i].split(':');
- var tmp_base_room_id = tmp_room_arr[0];
- var tmp_room_id = tmp_room_arr[1];
- var tmp_room_name = tmp_room_arr[2] + (tmp_room_arr[3] !== '' ? ' | ' + tmp_room_arr[3] : '');
- tmp_copy_tr = tmp_copy_tr.replace('[子房型名称]', tmp_room_name);
- tmp_copy_tr = tmp_copy_tr.replace('no_display', '');
- tmp_copy_tr = tmp_copy_tr.replace('[room_id]', tmp_room_id);
- tmp_copy_tr = tmp_copy_tr.replace('[start_date]', start_date);
- tmp_copy_tr = tmp_copy_tr.replace('[end_date]', end_date);
- tmp_copy_tr = tmp_copy_tr.replace('[data-base-room-id]', tmp_base_room_id);
- tmp_copy_tr = tmp_copy_tr.replace('[data-room-id]', tmp_room_id);
- tmp_copy_tr = tmp_copy_tr.replace(/overSale\[\d+\]\[\d+\]\[\d+\]/g, 'overSale[' + tmp_base_room_id + '][' + tmp_room_id + '][' + check_box_no + ']');
- tmp_copy_tr = tmp_copy_tr.replace('_tmp', '');
- show += tmp_copy_tr;
- check_box_no++;
- }
- $('#batch_modify').after(show);
- }
- })
-
-
- }
-
- //新增tr
- function create_tr(obj) {
- var tmp_td = $(obj).closest('tr')[0].outerHTML;
- var td_data = $(obj).closest('tr').find('td:first');
- var tr_room_name = td_data.text().trim();
- //加号变减号
- tmp_td = tmp_td.replace('plus', 'minus');
- //增加变删除
- tmp_td = tmp_td.replace('create', 'delete');
- tmp_td = tmp_td.replace('_tmp', '');
- tmp_td = tmp_td.replace(tr_room_name, '');
- tmp_td = tmp_td.replace(/\]\[\d+\]\"/g, plusOne);
- check_box_no++;
- $(obj).closest('tr').after(tmp_td);
- $("input:checkbox").unbind();
- re_date();
- choose();
- price();
- $(".child_cb").trigger("change");
- }
-
- //删除tr
- function delete_tr(obj) {
- $(obj).closest('tr').prop('outerHTML', '');
- $(".child_cb").trigger("change");
- // $(".distrib_one").trigger("input");
- }
-
- //选择星期
- function choose() {
- $("input[type='checkbox']").bind('change', function () {
- //获取到对象class,value,check状态
- var obj_class = $(this).attr('class');
- var obj_value = $(this).val();
- var obj_check = $(this).prop('checked');
- var obj_li = $(this).val() - 1;
- //li_row_all 为 全选,li_all为 列全选, row_all为 行全选
- if (obj_class === 'li_row_all') {
- if (obj_check === false) {
- $("input[type='checkbox']").prop('checked', false);
- } else {
- $("input[type='checkbox']").prop('checked', true);
- }
- } else if (obj_class === 'li_all') {
- if (obj_check === false) {
- $("input:checkbox[value=" + obj_value + "]").prop('checked', false);
- } else {
- $("input:checkbox[value=" + obj_value + "]").prop('checked', true);
- }
- $(".child_cb").trigger("change");
- } else if (obj_class === 'raw_all') {
- if (obj_check === false) {
- $(this).closest("tr").find("input:checkbox").prop('checked', false);
- } else {
- $(this).closest("tr").find("input:checkbox").prop('checked', true);
- }
- $(".child_cb").trigger("change");
- } else {
- //行确认
- var all_is_checked = true;
- var raw_is_checked = true;
- var li_is_checked = true;
- $(this).closest("tr").find("input:checkbox[class='child_cb']").each(function (index, element) {
- if ($(element).prop('checked') === false) {
- raw_is_checked = false;
- }
- });
- if (raw_is_checked === false) {
- $(this).closest("tr").find("input:checkbox:first").prop('checked', false);
- } else {
- $(this).closest("tr").find("input:checkbox:first").prop('checked', true);
- }
- //列确认
- $(this).closest("#main_body").find(".copy_tr").find("input:checkbox[class='child_cb']:eq(" + obj_li + ")").each(function (index, element) {
- if ($(element).prop('checked') === false) {
- li_is_checked = false;
- }
- });
- if (li_is_checked === false) {
- $(this).closest("#main_body").find("tr:first").find("input:checkbox[value=" + obj_value + "]").prop('checked', false);
- } else {
- $(this).closest("#main_body").find("tr:first").find("input:checkbox[value=" + obj_value + "]").prop('checked', true);
- }
- //总全选
- $(this).closest("#main_body").find(".copy_tr").find("input:checkbox[class='child_cb']").each(function (index, element) {
- if ($(element).prop('checked') === false) {
- all_is_checked = false;
- }
- });
- if (all_is_checked === false) {
- $('.li_row_all').prop('checked', false);
- } else {
- $('.li_row_all').prop('checked', true);
- }
- }
- })
- }
-
- //修改分销价
- function price() {
- // $(".distrib_all").unbind('input');
- // $(".distrib_one").unbind('input');
- $("#distrib_all").on('input', function () {
- var distrib_value = $("#distrib_all").val();
- $(".distrib_one").val(distrib_value);
- });
- $("#distrib_info_all").on('input', function () {
- var distrib_value = $("#distrib_info_all").val();
-
- $(".sale-count").val(distrib_value);
- });
- $("#patch_select").on('change', function () {
- var selected = $("#patch_select").val();
- $(".one-run_status").val(selected);
- });
- $("input[name='overSale']").on('click', function () {
- $("input.over-sell[value='" + $("input[name='overSale']:checked").val() + "']").prop("checked", true);
- });
-
- }
-
- function date() {
- $(".start_date_all").bind('change', function () {
- $('.start_date').val($(this).val());
- });
- $(".end_date_all").bind('change', function () {
- $('.end_date').val($(this).val());
- });
- }
-
- //提交表单,修改房价和房态调用接口不同
- function submit() {
- $('.submit').bind('click', function () {
- loading();
- //为0则满足提交条件;
- if (action === 'price') {
- savePrice();
- }
- if (action === 'info') {
- saveInfo();
- }
- })
- }
-
- //checkbox名称加 1
- function plusOne($1) {
- return '][' + check_box_no + ']"';
-
- }
-
- function savePrice() {
- var commit_flag = 0;
- var hotel_id = $("#hotel_name").attr('hotel_id');
- var channel_id = $("#channel_name").attr('channel_id');
- var room = '';
- var price_type = $('input:radio[name="change_price"]:checked').val();
- $('.copy_tr').each(function (idx, obj) {
- var tp_room = '';
- //该tr的基础房型id
- var tp_base_room_id = $(obj).find('td:first').attr('data-base-room-id');
- //子房型id
- var tp_room_id = $(obj).find('td:first').attr('data-room-id');
- //开始日期
- var tp_start_date = $(obj).find('td').eq(1).find('.start_date').val();
- //结束日期
- var tp_end_date = $(obj).find('td').eq(1).find('.end_date').val();
- //星期
- var tp_week = '';
- $(obj).find('td').eq(2).find("input:checkbox[class='child_cb']").each(function (idx1, obj1) {
- if ($(obj1).is(':checked')) {
- tp_week += $(obj1).val()
- }
- });
- //分销价
- var tp_operator = $(obj).find('td').find('.select_one').val();
- var tp_price = $(obj).find('td').eq(3).find('.distrib_one').val();
- if (tp_base_room_id !== undefined && tp_base_room_id !== '[data-base-room-id]') {
- tp_room = '{' + hotel_id + ',' + tp_base_room_id + ',' + tp_room_id + ',' + tp_start_date + ',' + tp_end_date + ',' + tp_week + ',' + channel_id + ',' + tp_price;
- if (price_type == '2') {
- tp_room += ',' + tp_operator;
- }
- tp_room += '}||';
- room += tp_room;
- }
- if (tp_price < 0 || tp_price === '' || tp_week === '') {
- commit_flag = 1;
- }
- });
- if (room.length > 2) {
- room = room.substring(0, room.length - 2);
- } else {
- commit_flag = 1;
- }
- if (commit_flag === 1) {
- ZZAlertInfo('请正确填写价格');
- closeLoading();
- return false;
- }
-
- if (price_type == '2') { //按幅度/比例设价
- var param = {
- room_info_str: room,
- distrib_id: channel_id
- };
- var cs1_url = cs1_path + '/hotel/run-hotel-distrib/multiple-update-room-price';
- $.ajax({
- url: cs1_url,
- data: param,
- type: 'post',
- dataType: 'json',
- success: function (res) {
- if (res['code'] === 0) {
- ZZAlertInfo('保存成功');
- } else {
- ZZAlertInfo('保存失败!!!');
- }
- closeLoading();
- },
- error: function (e) {
- closeLoading();
- console.log(e)
- }
- })
- } else { //直接设价
- var urlapi = base_api;
- var param = {
- type: "room_DistribChangePrice",
- room: room,
- op: 'price'
- };
- $.ajax({
- url: urlapi,
- data: param,
- type: 'post',
- dataType: 'json',
- success: function (res) {
- if (res['code'] === 0) {
- ZZAlertInfo('保存成功');
- } else {
- ZZAlertInfo(res['info']);
- }
- closeLoading();
- },
- error: function (e) {
- closeLoading();
- console.log(e)
- }
- })
- }
-
-
- }
-
- function setPrice() {
- $view = '<div class="input-group">' +
- ' <input class="form-control distrib_one" placeholder="分销价">\n' +
- ' <div class="input-group-addon">元</div>\n' +
- ' </div>';
- $("#main_body").find('.action-price').html($view);
- $("#patch-price").find('input').attr('id', 'distrib_all').removeClass('distrib_one').addClass('distrib distrib_all');
- price();
- }
-
-
- function msultipleUpdateRoomPrice() {
- $("#main_body").find('.action-price').html("<div class='form-inline'>当前价 <select class='form-control select_one weight' style='width:60px;'><option value='+' class='weight'>+</option><option value='-' class='weight'>-</option><option value='*' class='weight'>×</option><option value='/' class='weight'>÷</option></select> <input type='text' style='width:80px;' class='form-control distrib_one' id='' placeholder='金额'></div>")
- $("#patch-price").find('input').attr('id', 'distrib_all').removeClass('distrib_one').addClass('distrib distrib_all');
- $("#patch-price").find('select').attr('id', 'select_all').removeClass('select_one').addClass('select_all');
- $("#select_all").change(function () {
- var val = $(this).val();
- $('.select_one option[value="' + val + '"]').attr("selected", true);
- });
- price();
- }
-
-
- //保存房态
- function saveInfo() {
- var commit_flag = 0;
- var hotel_id = $("#hotel_name").attr('hotel_id');
- var channel_id = $("#channel_name").attr('channel_id');
- var room = '';
- $('.copy_tr').each(function (idx, obj) {
- var tp_room = '';
- //该tr的基础房型id
- var tp_base_room_id = $(obj).find('td:first').attr('data-base-room-id');
- //子房型id
- var tp_room_id = $(obj).find('td:first').attr('data-room-id');
- //开始日期
- var tp_start_date = $(obj).find('td').eq(1).find('.start_date').val();
- //结束日期
- var tp_end_date = $(obj).find('td').eq(1).find('.end_date').val();
- //星期
- var tp_week = '';
- $(obj).find('td').eq(2).find("input:checkbox[class='child_cb']").each(function (idx1, obj1) {
- if ($(obj1).is(':checked')) {
- tp_week += $(obj1).val()
- }
- });
- //分销价
- var td_data = $(obj).find('td').eq(3);
- var run_status = td_data.find('select').val();
- var number = td_data.find('.sale-count').val();
- var overSale = td_data.find('input.over-sell:checked').val();
- if (tp_base_room_id !== undefined && tp_base_room_id !== '[data-base-room-id]') {
- tp_room = '{' + hotel_id + ',' + tp_base_room_id + ',' + tp_room_id + ',' + tp_start_date + ',' +
- tp_end_date + ',' + tp_week + ',' + channel_id + ',' + run_status + ',' + number + ',' + overSale + '}||';
- room += tp_room;
- }
- if (run_status < 0 || number === '' || overSale === '' || tp_week === '') {
- commit_flag = 1;
- }
- });
- if (room.length > 2) {
- room = room.substring(0, room.length - 2);
- } else {
- commit_flag = 1;
- }
- if (commit_flag === 1) {
- ZZAlertInfo('请检查数据');
- closeLoading();
- return false;
- }
-
- var urlapi = base_api;
- var param = {
- type: "room_DistribChangePrice",
- room: room,
- op: 'info'
- };
- $.ajax({
- url: urlapi,
- data: param,
- type: 'post',
- dataType: 'json',
- success: function (res) {
- if (res['code'] === 0) {
- ZZAlertInfo('保存成功');
- } else {
- ZZAlertInfo(res['info']);
- }
- closeLoading();
- },
- error: function (e) {
- closeLoading();
- console.log(e)
- }
- })
- }
|