define(['jquery', 'bootstrap', 'backend', 'table', 'form','selectpage'], function ($, undefined, Backend, Table, Form, Selectpage) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'special/block/index?page_id='+Config.page_id, add_url: 'special/block/add?page_id='+Config.page_id, edit_url: 'special/block/edit', del_url: 'special/block/del', multi_url: 'special/block/multi', table: 'special_block', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'weigh', columns: [ [ {checkbox: true}, {field: 'id', title: __('Id'), operate:false}, {field: 'page_id', title: __('Page_id'), operate:false}, {field: 'block_name', title: __('Block_name'), operate:'LIKE %...%'}, {field: 'block_type', title: __('Block_type'), visible:false, searchList: {"1":__('Block_type 1'),"3":__('Block_type 3'),"4":__('Block_type 4'),"5":__('Block_type 5')}}, {field: 'block_type_text', title: __('Block_type'), operate:false}, {field: 'weigh', title: __('Weigh'), operate:false}, {field: 'createtime', title: __('Createtime'), operate:false, addclass:'datetimerange', formatter: Table.api.formatter.datetime}, {field: 'updatetime', title: __('Updatetime'), operate:false, addclass:'datetimerange', formatter: Table.api.formatter.datetime}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} ] ], onPostBody: function () { $(".btn-dragsort").hide(); } }); // 为表格绑定事件 Table.api.bindevent(table); }, add: function () { window.scene = 'add'; init(); Controller.api.bindevent(); }, edit: function () { window.scene = 'edit'; setBlockTypeSelect(); init(); Controller.api.bindevent(); }, api: { bindevent: function () { $("#add-form, #edit-form").data("validator-options", { ignore: ':hidden', beforeSubmit: function (form) { if (!columnRequired("#c-block_name")) { return false; } console.log(12); var block_type = $('#c-block_type').find("option:selected").attr('value'); switch (block_type) { case "1": //标题模块 if (!columnRequired("#c-title")) { return false; } var title_type = $('#c-title_type').find("option:selected").attr('value'); if (title_type == "4") { //图片 if (!columnRequired("#c-image")) { return false; } } else { resetImage(); } //重置其他没用的字段 resetTextColumn("#c-content, #c-news_color, #c-btn_title, #c-book_id, #c-activity_id, #c-activity_name"); resetSelectColumn("#c-news_type, #c-is_add_book, #c-go_method, #c-is_show_hot"); break; case "2": //描述 if (!columnRequired("#c-content")) { return false; } var is_add_book = $('#c-is_add_book').find("option:selected").attr('value'); if (is_add_book == "1") { //书籍 按钮文案 if (!columnRequired("#c-btn_title, #c-book_id")) { return false; } } resetImage(); //重置其他没用的字段 resetTextColumn("#c-title, #c-news_color, #c-activity_id, #c-activity_name"); resetSelectColumn("#c-title_type, #c-news_type, #c-is_show_hot"); break; case "3": //书籍 if (!columnRequired("#c-book_id, #c-news_color")) { return false; } resetImage(); //重置其他没用的字段 resetTextColumn("#c-title, #c-activity_id, #c-activity_name, #c-content"); resetSelectColumn("#c-title_type, #c-is_add_book"); break; case "4": //图片 if (!columnRequired("#c-content")) { return false; } var is_add_book = $('#c-is_add_book').find("option:selected").attr('value'); if (is_add_book == "1") { //书籍 按钮文案 if (!columnRequired("#c-book_id")) { return false; } } //重置其他没用的字段 resetTextColumn("#c-news_color, #c-activity_id, #c-activity_name"); resetSelectColumn("#c-title_type, #c-news_type, #c-is_show_hot"); break; case "5": if (!columnRequired("#c-image, #c-activity_id")) { return false; } break; } } }); var refreshactkey = function (data) { Layer.closeAll(); $('#c-activity_id').val(data[0].id); $('#c-activity_name').val(data[0].name); }; $(document).on('click', "#select-activity-resources", function () { parent.Backend.api.open($(this).attr("href") + "?type=0&state=1", __('Select'), {callback: refreshactkey}); return false; }); Form.api.bindevent($("form[role=form]")); } } }; /** * 初始化下拉事件 */ function init() { $(document).on("change", "#c-title_type", function () { var title_type_val = $(this).val(); chooseTitleType(title_type_val); }); $(document).on("change", "#c-block_type", function () { var block_type_val = $(this).val(); chooseBlockType(block_type_val); }); $(document).on("change", "#c-is_add_book", function () { var add_book_val = $(this).val(); chooseAddBook(add_book_val); }); } /** * 切换模块类型 * @param val */ function chooseBlockType(val) { //重置下拉选项 resetSelectColumn("#c-title_type, #c-news_type, #c-is_add_book, #c-go_method, #c-is_show_hot"); //重置输入框 resetTextColumn("#c-title, #c-content, #c-news_color, #c-btn_title, #c-book_id, #c-activity_id, #c-activity_name"); //重置图片 resetImage(); switch (val) { case "1": showColumn(".title, .title_type"); hideColumn(".des-content, .is_add_book, .btn_title, .book_id, .go_method, .activity_name, .news_type, .is_show_hot, .news_color, .image"); break; case "2": hideColumn(".title, .title_type, .image, .news_type, .is_show_hot, .go_method, .book_id, .btn_title, .news_color, .activity_name"); showColumn(".des-content, .is_add_book"); break; case "3": hideColumn(".title, .title_type, .des-content, .is_add_book, .image, .activity_name"); showColumn(".news_type, .book_id, .is_show_hot, .go_method, .news_color, .btn_title"); break; case "4": hideColumn(".title, .title_type, .activity_id, .is_show_hot, .go_method, .news_type, .book_id, .news_color, .activity_name"); showColumn(".des-content, .image, .is_add_book, .btn_title"); break; case "5": hideColumn(".title, .title_type, .btn_title, .is_show_hot, .go_method, .news_type, .book_id, .news_color, .des-content, .is_add_book"); showColumn(".image, .activity_name"); break; } } /** * 切换标题样式 * @param val */ function chooseTitleType(val) { hideColumn(".image"); if (window.scene == 'add') { resetImage(); } if (val == "4") { showColumn(".image"); } } function chooseAddBook(val) { if (val == "1") { var block_type = $('#c-block_type').find("option:selected").attr('value'); if (block_type == "2") { showColumn(".btn_title"); } showColumn(".book_id, .go_method"); if (window.scene == 'add') { resetTextColumn("#c-btn_title, #c-book_id"); resetSelectColumn("#c-go_method"); } } else { hideColumn(".btn_title, .book_id, .go_method"); if (window.scene == 'add') { resetTextColumn("#c-btn_title, #c-book_id"); resetSelectColumn("#c-go_method"); } } } /** * 清空图片 */ function resetImage() { $("#c-image").val(""); $("#p-image li").remove(); } /** * 重置输入框元素的值 * @param val */ function resetTextColumn(val) { var strs = new Array(); strs = val.split(","); if (strs.length > 0) { for (i=0; i 0) { for (i=0; i 0) { for (i=0; i 0) { for (i=0; i 0) { for (i=0; i