define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'user_question/index' + location.search, add_url: 'user_question/add', edit_url: 'user_question/edit', del_url: 'user_question/del', multi_url: 'user_question/multi', import_url: 'user_question/import', table: 'user_question', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'id', columns: [ [ {checkbox: true}, {field: 'id', title: __('Id')}, {field: 'type', title: __('Type'),searchList:{'decide':'判断题','choose':'选择题','vote':'投票','wenda':'问答'},formatter:Table.api.formatter.label}, {field: 'title', title: __('Title')}, {field: 'items', title: __('Items'), operate: 'LIKE',formatter: (a,b)=>{ if(b.type==='choose'||b.type==='decide'){ let ele=[] Object.keys(a).forEach(idx=>{ if(b.item_type==='image'){ ele.push(`${idx}:`) }else{ ele.push(`

${idx}:${a[idx]}

`) } }) return ele.join(' ') }else{ return '' } }}, {field: 'key', title: __('Key'),formatter: (a,b)=>{ return a }}, {field: 'created_at', title: __('Created_at'),formatter: Table.api.formatter.datetime,addClass:'datetimerange',operate: 'range'}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} ] ] }); // 为表格绑定事件 Table.api.bindevent(table); $('.btn-add').data('area',['100%','100%']) }, add: function () { Controller.api.bindevent(); $('.item-type input[type=radio]').on('change',function (){ console.log(this) }) $('#item').html($(`#item-decide`).html()) $('#type input').on('change',function (){ let type=$(this).val() $('#item').html($(`#item-${type}`).html()) Controller.api.bindevent(); }) $(document).on('click','.add-item',function (){ let ele=$('.item-type-txt-example>div').clone() ele.find('input').val('') ele.find('input[type=checkbox]').attr('checked',false) ele.append(``) ele=ele[0].outerHTML.replaceAll('$idx',Date.now()) $(this).parent().append(ele) Controller.api.bindevent(); }) $(document).on('click','.add-item-image',function (){ let ele=$('.item-type-image-example').clone() ele.find('input').val('') ele.find('input[type=checkbox]').attr('checked',false) ele.removeClass('hidden') ele.removeClass('item-type-image-example') ele=ele[0].outerHTML.replaceAll('$idx',Date.now()) $(this).parent().append(ele) Controller.api.bindevent(); }) $(document).on('change','.item-type input',function (){ let type=$(this).val() if(type==='txt'){ $('.item-type-txt').removeClass('hidden') $('.item-type-image').addClass('hidden') $('.item-type-image input[type=checkbox]').attr('checked',false) }else{ $('.item-type-txt').addClass('hidden') $('.item-type-image').removeClass('hidden') $('.item-type-txt input[type=checkbox]').attr('checked',false) } Controller.api.bindevent(); }) }, edit: function () { Controller.api.bindevent(); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); } } }; return Controller; });