123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336 |
- define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
- var Controller = {
- index: function () {
- // 初始化表格参数配置
- Table.api.init({
- extend: {
- index_url: 'kl/ruleconfig/index?rule_id='+Config.rule_id,
- add_url: 'kl/ruleconfig/add?rule_id='+Config.rule_id,
- edit_url: 'kl/ruleconfig/edit?rule_id='+Config.rule_id,
- del_url: 'kl/ruleconfig/del?rule_id='+Config.rule_id,
- multi_url: 'kl/ruleconfig/multi?rule_id='+Config.rule_id,
- table: 'kl_rule_config',
- }
- });
- var table = $("#table");
- // 初始化表格
- table.bootstrapTable({
- url: $.fn.bootstrapTable.defaults.extend.index_url,
- pk: 'id',
- sortName: 'id',
- columns: [
- [
- {checkbox: true},
- {field: 'id', title: __('Id')},
- {field: 'rule_id', title: __('Rule_id')},
- {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
- {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime},
- {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
- ]
- ]
- });
- // 为表格绑定事件
- Table.api.bindevent(table);
- },
- add: function () {
- var scene = 'add';
- Controller.api.bindevent();
- $("[data-toggle='tooltip']").tooltip({trigger: 'focus hover',html : true});
- },
- edit: function () {
- var scene = 'update';
- //初始化
- $(function () {
- //未选中的清理数据
- if (!$("#s_new_user_status").is(":checked")) {
- $("#s_new_user_add").val("");
- $("#s_new_user_recharge_add").val("");
- } else {
- $("#s_new_user_status_block").removeClass("hide");
- //未选中小项隐藏
- isChecked("#s_new_user_city_status");
- isChecked("#s_new_user_add_status");
- isChecked("#s_new_user_recharge_add_status");
- }
- if (!$("#s_old_user_status").is(":checked")) {
- $("#s_old_user_active").val("");
- $("#s_old_user_recharge_add").val("");
- } else {
- $("#s_old_user_status_block").removeClass("hide");
- //未选中小项隐藏
- isChecked("#s_old_user_city_status");
- isChecked("#s_old_user_active_status");
- isChecked("#s_old_user_recharge_add_status");
- }
- if (!$("#f_behavior_status").is(":checked")) {
- $("#f_one_recharge").val("");
- $("#f_read").val("");
- $("#f_kandian").val("");
- $("#f_orders").val("");
- } else {
- $("#f_behavior_status_block").removeClass("hide");
- //未选中小项隐藏
- isChecked("#f_one_recharge_status");
- isChecked("#f_recharge_status");
- isChecked("#f_read_status");
- isChecked("#f_kandian_status");
- isChecked("#f_orders_status");
- }
- if (!$("#f_register_status").is(":checked")) {
- $("#f_register").val("");
- } else {
- $("#f_register_status_block").removeClass("hide");
- }
- if (!$("#o_general_status").is(":checked")) {
- $("#o_general_new").val("");
- $("#o_general_old").val("");
- $("#o_general_many").val("");
- } else {
- $("#o_general_status_block").removeClass("hide");
- isChecked("#o_general_new_status");
- isChecked("#o_general_old_status");
- isChecked("#o_general_many_status");
- }
- if (!$("#o_vip_status").is(":checked")) {
- $("#o_vip_new").val("");
- $("#o_vip_old").val("");
- $("#o_vip_many").val("");
- } else {
- $("#o_vip_status_block").removeClass("hide");
- isChecked("#o_vip_new_status");
- isChecked("#o_vip_old_status");
- isChecked("#o_vip_many_status");
- }
- if (!$("#o_activity_status").is(":checked")) {
- $("#o_activity_new").val("");
- $("#o_activity_old").val("");
- $("#o_activity_many").val("");
- } else {
- $("#o_activity_status_block").removeClass("hide");
- isChecked("#o_activity_new_status");
- isChecked("#o_activity_old_status");
- isChecked("#o_activity_many_status");
- }
- $("[data-toggle='tooltip']").tooltip({trigger: 'focus hover',html : true});
- });
- Controller.api.bindevent();
- },
- api: {
- bindevent: function () {
- $(document).on('click', ".choose-block", function (e) {
- var inputIdx = "#"+ $(this).attr("id");
- toggleGroup(inputIdx);
- });
- $(document).on('click', ".choose_column", function (e) {
- var inputIdx = "#"+ $(this).attr("id");
- toggleColumn(inputIdx);
- });
-
- $(document).on('click', ".td-hide", function (e) {
- var trId = $(this).parent().attr('id');
- var columnId = trId.replace(/_column/, '');
- $("#"+trId).addClass("hide");
- $("#"+columnId).prop("checked", false);
- //都隐藏了?
- checkHideBlock('#'+columnId);
- });
- $("#add-form, #edit-form").data("validator-options", {
- ignore: ':hidden',
- beforeSubmit: function (form) {
- if ($("#s_new_user_status").is(":checked")) {
- //筛选器 新用户过滤
- if (!checkEmpty("#s_new_user_add, #s_new_user_recharge_add")) {
- return false;
- }
- }
- if ($("#s_old_user_status").is(":checked")) {
- //筛选器 老用户过滤
- if (!checkEmpty("#s_old_user_active, #s_old_user_recharge_add")) {
- return false;
- }
- }
- if ($("#s_new_user_status").is(":checked") == false
- && $("#s_old_user_status").is(":checked") == false
- ) {
- Toastr.error("筛选器规则必须一个");
- return false;
- }
- //过滤器
- if ($("#f_behavior_status").is(":checked")) {
- //过滤器 用户行为的判定
- if (!checkEmpty("#f_one_recharge, #f_read, #f_kandian, #f_orders")) {
- return false;
- }
- }
- if ($("#f_register_status").is(":checked")) {
- //过滤器 用户行为的判定
- if (!checkEmpty("#f_register")) {
- return false;
- }
- }
- if ($("#f_behavior_status").is(":checked") == false
- && $("#f_register_status").is(":checked") == false
- ) {
- Toastr.error("过滤器规则必须一个");
- return false;
- }
- if ($("#o_general_status").is(":checked")) {
- //订单扣量比例规则 普通订单
- if (!checkEmpty("#o_general_new, #o_general_old, #o_general_many")) {
- return false;
- }
- }
- if ($("#o_vip_status").is(":checked")) {
- //订单扣量比例规则 VIP订单
- if (!checkEmpty("#o_vip_new, #o_vip_old, #o_vip_many")) {
- return false;
- }
- }
- if ($("#o_activity_status").is(":checked")) {
- //订单扣量比例规则 活动订单
- if (!checkEmpty("#o_vip_new, #o_vip_old, #o_vip_many")) {
- return false;
- }
- }
- if ($("#o_general_status").is(":checked") == false
- && $("#o_vip_status").is(":checked") == false
- && $("#o_activity_status").is(":checked") == false
- ) {
- Toastr.error("订单扣量比例规则必须一个");
- return false;
- }
- }
- });
- Form.api.bindevent($("form[role=form]"));
- }
- }
- };
- /**
- * 检测是否为空
- * @param val
- */
- function checkEmpty(val) {
- var strs = new Array();
- strs = val.split(",");
- var res = true;
- if (strs.length > 0) {
- for (i=0; i<strs.length; i++) {
- var selector = strs[i];
- var checkSelector = selector + '_status';
- if (!$(checkSelector).is(":checked")) {
- continue;
- }
- var selector_val = $(selector).val();
- if (selector_val.length < 1) {
- var tips = $(selector).data('err_msg');
- Toastr.error(tips);
- $(selector).focus();
- res = false;
- break;
- }
- }
- }
- return res;
- }
- /**
- * 展示和隐藏块
- * @param inputIdx
- */
- function toggleGroup(inputIdx) {
- var blockId = inputIdx+'_block';
- if ($(inputIdx).is(":checked")) {
- //展示
- $(blockId).removeClass('hide');
- //选择所有小选项
- var selectBox = $(blockId).find(".checkbox input:checkbox");
- for (var i=0; i<selectBox.length; i++) {
- selectBox.eq(i).prop("checked", true);
- }
- //tr显示
- var trs = $(blockId).find('table>tbody>tr');
- for (var i=0; i< trs.length; i++) {
- trs.eq(i).removeClass('hide');
- }
- } else {
- $(blockId).addClass('hide');
- }
- }
- /**
- * 展示和隐藏元素
- * @param inputIdx
- */
- function toggleColumn(inputIdx) {
- var blockId = inputIdx+'_column';
- if ($(inputIdx).is(":checked")) {
- //展示
- $(blockId).removeClass('hide');
- } else {
- $(blockId).addClass('hide');
- //判断都隐藏了?
- checkHideBlock(inputIdx);
- }
- }
- function checkHideBlock(inputIdx) {
- var blockId = $(inputIdx).parents("div[id$='block']").attr("id");
- //判断下面的td是不是都隐藏了
- var trs = $("#"+blockId).find('table>tbody>tr');
- var allHide = true;
- for (var i=0; i< trs.length; i++) {
- if (!trs.eq(i).hasClass('hide')) {
- allHide = false;
- }
- }
- if (allHide) {
- //隐藏所有
- $('#'+blockId).addClass('hide');
- var statusId = blockId.replace(/_block/, '');
- $("#"+statusId).prop("checked", false);
- }
- }
- //未选中时隐藏小项
- function isChecked(selector) {
- if (!$(selector).is(":checked")) {
- $(selector+"_column").addClass('hide');
- $(selector+"_column").find("input").val("");
- }
- }
- return Controller;
- });
|