123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- 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(`<a href="${a[idx]}" target="_blank">${idx}:<img src="${a[idx]}" style="max-width: 50px;max-height: 50px;" alt=""/></a>`)
- }else{
- ele.push(`<p style="display: block;">${idx}:${a[idx]}</p>`)
- }
- })
- 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(`<button type="button" class="btn btn-danger" onclick="$(this).parent().remove()">删除</button>`)
- 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;
- });
|