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; });