init commit
This commit is contained in:
53
public/assets/js/backend/wdsxh/questionnaire/category.js
Normal file
53
public/assets/js/backend/wdsxh/questionnaire/category.js
Normal file
@@ -0,0 +1,53 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/questionnaire/category/index' + location.search,
|
||||
add_url: 'wdsxh/questionnaire/category/add',
|
||||
edit_url: 'wdsxh/questionnaire/category/edit',
|
||||
del_url: 'wdsxh/questionnaire/category/del',
|
||||
multi_url: 'wdsxh/questionnaire/category/multi',
|
||||
import_url: 'wdsxh/questionnaire/category/import',
|
||||
table: 'wdsxh_questionnaire_category',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), operate: 'LIKE'},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
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;
|
||||
});
|
||||
155
public/assets/js/backend/wdsxh/questionnaire/questionnaire.js
Normal file
155
public/assets/js/backend/wdsxh/questionnaire/questionnaire.js
Normal file
@@ -0,0 +1,155 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/questionnaire/questionnaire/index' + location.search,
|
||||
add_url: 'wdsxh/questionnaire/questionnaire/add',
|
||||
edit_url: 'wdsxh/questionnaire/questionnaire/edit',
|
||||
del_url: 'wdsxh/questionnaire/questionnaire/del',
|
||||
multi_url: 'wdsxh/questionnaire/questionnaire/multi',
|
||||
import_url: 'wdsxh/questionnaire/questionnaire/import',
|
||||
table: 'wdsxh_questionnaire',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE', table: table, class: 'autocontent'},
|
||||
{field: 'end_time', title: __('End_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'applet_questionnaire_qrcode_path', title: __('Applet_questionnaire_qrcode_path'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.image},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,buttons:[
|
||||
{
|
||||
name: 'topic',
|
||||
text: __('题目管理'),
|
||||
title: __('题目管理'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/questionnaire/topic/index?questionnaire_id={id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'topic',
|
||||
text: __('问卷提交'),
|
||||
title: __('问卷提交'),
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
icon: 'fa fa-list',
|
||||
extend: 'data-area=["100%","100%"]',
|
||||
url: 'wdsxh/questionnaire/render/index?questionnaire_id={id}',
|
||||
callback: function (data) {
|
||||
Layer.alert("接收到回传数据:" + JSON.stringify(data), {title: "回传数据"});
|
||||
},
|
||||
visible: function (row) {
|
||||
//返回true时按钮显示,返回false隐藏
|
||||
return true;
|
||||
}
|
||||
},
|
||||
]}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/questionnaire/questionnaire/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'title', title: __('Title'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/questionnaire/questionnaire/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/questionnaire/questionnaire/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
config: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
120
public/assets/js/backend/wdsxh/questionnaire/render.js
Normal file
120
public/assets/js/backend/wdsxh/questionnaire/render.js
Normal file
@@ -0,0 +1,120 @@
|
||||
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;
|
||||
});
|
||||
175
public/assets/js/backend/wdsxh/questionnaire/topic.js
Normal file
175
public/assets/js/backend/wdsxh/questionnaire/topic.js
Normal file
@@ -0,0 +1,175 @@
|
||||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
index_url: 'wdsxh/questionnaire/topic/index' + location.search,
|
||||
add_url: 'wdsxh/questionnaire/topic/add?questionnaire_id=' + Config.questionnaire_id,
|
||||
edit_url: 'wdsxh/questionnaire/topic/edit',
|
||||
del_url: 'wdsxh/questionnaire/topic/del',
|
||||
multi_url: 'wdsxh/questionnaire/topic/multi',
|
||||
import_url: 'wdsxh/questionnaire/topic/import',
|
||||
table: 'wdsxh_questionnaire_topic',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
pk: 'id',
|
||||
sortName: 'weigh',
|
||||
fixedColumns: true,
|
||||
fixedRightNumber: 1,
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'topic', title: __('Topic'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'type', title: __('Type'), searchList: {"text":__('Type text'),"number":__('Type number'),"radio":__('Type radio'),"checkbox":__('Type checkbox'),"select":__('Type select'),"date":__('Type date'),"time":__('Type time'),"datetime":__('Type datetime'),"textarea":__('Type textarea'),"image":__('Type image'),"images":__('Type images')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
|
||||
{field: 'weigh', title: __('Weigh'), operate: false},
|
||||
{field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
recyclebin: function () {
|
||||
// 初始化表格参数配置
|
||||
Table.api.init({
|
||||
extend: {
|
||||
'dragsort_url': ''
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: 'wdsxh/questionnaire/topic/recyclebin' + location.search,
|
||||
pk: 'id',
|
||||
sortName: 'id',
|
||||
columns: [
|
||||
[
|
||||
{checkbox: true},
|
||||
{field: 'id', title: __('Id')},
|
||||
{field: 'name', title: __('Name'), align: 'left'},
|
||||
{
|
||||
field: 'deletetime',
|
||||
title: __('Deletetime'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
formatter: Table.api.formatter.datetime
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
width: '140px',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'Restore',
|
||||
text: __('Restore'),
|
||||
classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
|
||||
icon: 'fa fa-rotate-left',
|
||||
url: 'wdsxh/questionnaire/topic/restore',
|
||||
refresh: true
|
||||
},
|
||||
{
|
||||
name: 'Destroy',
|
||||
text: __('Destroy'),
|
||||
classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
|
||||
icon: 'fa fa-times',
|
||||
url: 'wdsxh/questionnaire/topic/destroy',
|
||||
refresh: true
|
||||
}
|
||||
],
|
||||
formatter: Table.api.formatter.operate
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
Table.api.bindevent(table);
|
||||
},
|
||||
|
||||
add: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
$(document).on('change', 'input[name="row[type]"]', function () {
|
||||
var type = $("input[name='row[type]']:checked").val();
|
||||
switch (type) {
|
||||
case "radio":
|
||||
$('.substance').removeClass('hide');
|
||||
$('.is_explain').removeClass('hide');
|
||||
$('.message').addClass('hide');
|
||||
break;
|
||||
case "checkbox":
|
||||
$('.substance').removeClass('hide');
|
||||
$('.is_explain').removeClass('hide');
|
||||
$('.message').addClass('hide');
|
||||
break;
|
||||
case "select":
|
||||
$('.substance').removeClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').addClass('hide');
|
||||
break;
|
||||
case "text":
|
||||
$('.substance').addClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').removeClass('hide');
|
||||
break;
|
||||
case "number":
|
||||
$('.substance').addClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').removeClass('hide');
|
||||
break;
|
||||
case "datetime":
|
||||
$('.substance').addClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').removeClass('hide');
|
||||
break;
|
||||
case "textarea":
|
||||
$('.substance').addClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').removeClass('hide');
|
||||
break;
|
||||
case "images":
|
||||
$('.substance').addClass('hide');
|
||||
$('.is_explain').addClass('hide');
|
||||
$('.message').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('change', 'input[name="row[is_explain]"]', function () {
|
||||
var type = $("input[name='row[is_explain]']:checked").val();
|
||||
switch (type) {
|
||||
case "1":
|
||||
$('.explain').removeClass('hide');
|
||||
break;
|
||||
case "2":
|
||||
$('.explain').addClass('hide');
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
return Controller;
|
||||
});
|
||||
Reference in New Issue
Block a user