121 lines
5.5 KiB
JavaScript
121 lines
5.5 KiB
JavaScript
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
|
|
|
var Controller = {
|
|
index: function () {
|
|
// 初始化表格参数配置
|
|
Table.api.init({
|
|
extend: {
|
|
index_url: 'wdsxh/questionnaire/render/index' + location.search,
|
|
table: 'wdsxh_questionnaire_render',
|
|
}
|
|
});
|
|
|
|
var table = $("#table");
|
|
// 从 URL 参数中获取 questionnaire_id
|
|
function getQuestionnaireIdFromUrl() {
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
return urlParams.get('questionnaire_id');
|
|
}
|
|
$(document).on("click", ".btn-export", function () {
|
|
var ids = Table.api.selectedids(table);
|
|
var page = table.bootstrapTable('getData');
|
|
var all = table.bootstrapTable('getOptions').totalRows;
|
|
console.log(ids, page, all);
|
|
|
|
var questionnaireId = getQuestionnaireIdFromUrl();
|
|
|
|
Layer.confirm("请选择导出的选项<form action='" + Fast.api.fixurl("wdsxh/questionnaire/render/export?questionnaire_id=") + questionnaireId + "' method='post' target='_blank'><input type='hidden' name='ids' value='' /><input type='hidden' name='filter' ><input type='hidden' name='op'><input type='hidden' name='search'><input type='hidden' name='columns'></form>", {
|
|
title: '导出数据',
|
|
btn: ["选中项(" + ids.length + "条)", "本页(" + page.length + "条)", "全部(" + all + "条)"],
|
|
success: function (layero, index) {
|
|
$(".layui-layer-btn a", layero).addClass("layui-layer-btn0");
|
|
}
|
|
, yes: function (index, layero) {
|
|
submitForm(ids.join(","), layero);
|
|
return false;
|
|
}
|
|
,
|
|
btn2: function (index, layero) {
|
|
var ids = [];
|
|
$.each(page, function (i, j) {
|
|
ids.push(j.id);
|
|
});
|
|
submitForm(ids.join(","), layero);
|
|
return false;
|
|
}
|
|
,
|
|
btn3: function (index, layero) {
|
|
submitForm("all", layero);
|
|
return false;
|
|
}
|
|
})
|
|
});
|
|
var submitForm = function (ids, layero) {
|
|
var options = table.bootstrapTable('getOptions');
|
|
console.log(options);
|
|
var columns = [];
|
|
$.each(options.columns[0], function (i, j) {
|
|
if (j.field && !j.checkbox && j.visible && j.field != 'operate') {
|
|
columns.push(j.field);
|
|
}
|
|
});
|
|
var search = options.queryParams({});
|
|
$("input[name=search]", layero).val(options.searchText);
|
|
$("input[name=ids]", layero).val(ids);
|
|
$("input[name=filter]", layero).val(search.filter);
|
|
$("input[name=op]", layero).val(search.op);
|
|
$("input[name=columns]", layero).val(columns.join(','));
|
|
$("form", layero).submit();
|
|
};
|
|
|
|
// 初始化表格
|
|
table.bootstrapTable({
|
|
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
|
pk: 'id',
|
|
// fixedColumns: true,
|
|
// fixedRightNumber: 1,
|
|
search:false,
|
|
showToggle: false,
|
|
showColumns: false,
|
|
visible: false,
|
|
showExport:false,
|
|
commonSearch:false,
|
|
columns: [
|
|
[
|
|
{checkbox: true},
|
|
{field: 'id', title: __('Id')},
|
|
{field: 'wechat_id', title: __('Wechat_id')},
|
|
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
|
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
|
{
|
|
text:'问卷详情',
|
|
name: 'details',
|
|
title: '问卷详情',
|
|
classname: 'btn btn-xs btn-primary btn-dialog bg-aqua',
|
|
icon: 'fa',
|
|
url: 'wdsxh/questionnaire/render/details',
|
|
extend:'data-area=["95%","95%"]',
|
|
},
|
|
]}
|
|
]
|
|
]
|
|
});
|
|
|
|
// 为表格绑定事件
|
|
Table.api.bindevent(table);
|
|
},
|
|
add: function () {
|
|
Controller.api.bindevent();
|
|
},
|
|
edit: function () {
|
|
Controller.api.bindevent();
|
|
},
|
|
api: {
|
|
bindevent: function () {
|
|
Form.api.bindevent($("form[role=form]"));
|
|
}
|
|
}
|
|
};
|
|
return Controller;
|
|
});
|