define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'wechat/response/index', add_url: 'wechat/response/add', edit_url: 'wechat/response/edit', del_url: 'wechat/response/del', multi_url: 'wechat/response/multi', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, sortName: 'id', columns: [ [ {field: 'state', checkbox: true, }, {field: 'id', title: 'ID'}, {field: 'type', title: __('Type')}, {field: 'title', title: __('Resource title')}, {field: 'eventkey', title: __('Event key')}, {field: 'createtime', title: __('Create time'), formatter: Table.api.formatter.datetime}, {field: 'status', title: __('Status'), formatter: Table.api.formatter.status}, {field: 'operate', title: __('Operate'), events: Table.api.events.operate, formatter: Table.api.formatter.operate} ] ] }); // 为表格绑定事件 Table.api.bindevent(table); }, select: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'wechat/response/index', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, sortName: 'id', columns: [ [ {field: 'state', checkbox: true, }, {field: 'id', title: 'ID'}, {field: 'type', title: __('Type')}, {field: 'title', title: __('Title')}, {field: 'event', title: __('Event')}, {field: 'createtime', title: __('Create time'), formatter: Table.api.formatter.datetime}, {field: 'status', title: __('Status'), formatter: Table.api.formatter.status}, {field: 'operate', title: __('Operate'), events: { 'click .btn-chooseone': function (e, value, row, index) { var callback = Backend.api.query('callback'); if (callback) { parent.window[callback](row); } }, }, formatter: function () { return ' ' + __('Choose') + ''; }} ] ] }); // 为表格绑定事件 Table.api.bindevent(table); }, add: function () { Form.api.bindevent($("form[role=form]"), null, function (ret) { var callback = Backend.api.query('callback'); if (callback) { parent.window[callback](ret); } else { parent.$(".btn-refresh").trigger("click"); var index = parent.Layer.getFrameIndex(window.name); parent.Layer.close(index); } }); Controller.api.bindevent(); }, edit: function () { Form.api.bindevent($("form[role=form]")); Controller.api.bindevent(); }, api: { bindevent: function () { var getAppFileds = function (app) { var app = apps[app]; var appConfig = app['config']; var str = ''; for (i in appConfig) { if (appConfig[i]['type'] == 'text' || appConfig[i]['type'] == 'textarea') { var pattern_str = 'pattern ="required" '; var alt = ''; if (undefined != appConfig[i]['alt']) alt = appConfig[i]['alt']; if (undefined != appConfig[i]['pattern']) pattern_str = 'pattern ="' + appConfig[i]['pattern'] + '" '; if (appConfig[i]['type'] == 'textarea') { str += '
'; } else { str += '
'; } } else { var options = appConfig[i]['options']; options = options.split(','); var option_str = ''; if (appConfig[i]['type'] == 'select') { for (o in options) { var option = options[o]; var item = option.split(':'); option_str += ''; } option_str = ''; } else if (appConfig[i]['type'] == 'checkbox') { for (o in options) { var option = options[o]; var item = option.split(':'); option_str += ' '; } } else if (appConfig[i]['type'] == 'radio') { for (o in options) { var option = options[o]; var item = option.split(':'); option_str += ' '; } } str += '
' + option_str + '
'; } } return str; }; $(document).on('change', "#app", function () { var app = $(this).val(); $("#appfields").html(getAppFileds(app)); if (datas.app == app) { delete(datas.app); var form = $("form.form-ajax"); $.each(datas, function (i, j) { form.field("row[content][" + i + "]" + ($("input[name='row[content][" + i + "][]']", form).size() > 0 ? '[]' : ''), j); }); } }); $(document).on('click', "input[name='row[type]']", function () { var type = $(this).val(); if (type == 'text') { $("#expand").html('
插入链接
'); $("form.form-ajax").field("row[content][content]", datas.content); } else if (type == 'app') { $("#expand").html('
'); $("form.form-ajax").field("row[content][app]", datas.app); $("#app").trigger('change'); } }); $(document).on('click', ".btn-insertlink", function () { var textarea = $("textarea[name='row[content][content]']"); var cursorPos = textarea.prop('selectionStart'); var v = textarea.val(); var textBefore = v.substring(0, cursorPos); var textAfter = v.substring(cursorPos, v.length); Layer.prompt({title: '请输入显示的文字', formType: 3}, function (text, index) { Layer.close(index); Layer.prompt({title: '请输入跳转的链接URL(包含http)', formType: 3}, function (link, index) { text = text == '' ? link : text; textarea.val(textBefore + '' + text + '' + textAfter); Layer.close(index); }); }); }); $("input[name='row[type]']:checked").trigger("click"); } } }; return Controller; });