| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- define(['jquery', 'table', 'form'], function($, Table, Form) {
- function formatStatus(val) {
- var map = {0:'未处理', 1:'处理中', 2:'已处理', 9:'无效'};
- return map[val] || val;
- }
- function escapeAttr(value) {
- return String(value || '').replace(/&/g, '&').replace(/"/g, '"').replace(/</g, '<').replace(/>/g, '>');
- }
- var Controller = {
- index: function() {
- Table.init = { table_elem: '#currentTable', table_render_id: 'currentTable' };
- function getFilters() {
- return { keyword: $('#keyword').val(), feedback_type: $('#feedback_type').val(), lang: $('#lang').val(), status: $('#status').val(), ip: $('#ip').val(), source_page: $('#source_page').val(), createtime_start: $('#createtime_start').val(), createtime_end: $('#createtime_end').val() };
- }
- Table.render({
- init: Table.init,
- toolbar: ['refresh'],
- url: 'messagefeedback/index',
- cols: [[
- {type:'checkbox', width:50},
- {field:'id', width:80, title:'ID', sort:true},
- {field:'feedback_type_text', width:110, title:'反馈类型'},
- {field:'name', width:110, title:'姓名'},
- {field:'phone', width:140, title:'电话'},
- {field:'email', minWidth:180, title:'邮箱'},
- {field:'content', minWidth:260, title:'反馈内容'},
- {field:'lang', width:80, title:'语言'},
- {field:'status', width:100, title:'状态', templet:function(d){ return formatStatus(parseInt(d.status, 10)); }},
- {field:'admin_remark', minWidth:180, title:'备注'},
- {field:'source_page', minWidth:220, title:'来源页面'},
- {field:'privacy_agree', width:100, title:'隐私同意', templet:function(d){ return parseInt(d.privacy_agree,10) ? '已同意' : '未同意'; }},
- {field:'ip', width:140, title:'提交IP'},
- {field:'createtime', width:170, title:'提交时间', templet: Table.formatter.datetime},
- {field:'operate', title:'操作', width:250, fixed:'right', templet:function(d){
- return ''
- + '<a href="javascript:;" class="layui-btn layui-btn-xs" data-id="'+d.id+'" data-status="1" data-event="status">处理中</a>'
- + '<a href="javascript:;" class="layui-btn layui-btn-xs layui-btn-normal" data-id="'+d.id+'" data-status="2" data-event="status">已处理</a>'
- + '<a href="javascript:;" class="layui-btn layui-btn-xs layui-btn-warm" data-id="'+d.id+'" data-remark="'+escapeAttr(d.admin_remark || '')+'" data-event="remark">备注</a>'
- + '<a href="javascript:;" class="layui-btn layui-btn-xs layui-btn-danger" data-id="'+d.id+'" data-status="9" data-event="status">无效</a>';
- }}
- ]],
- page: {}
- });
- $('#searchBtn').on('click', function() { layui.table.reload('currentTable', { where: getFilters(), page: {curr: 1} }); });
- $('#resetBtn').on('click', function() { $('#keyword,#feedback_type,#lang,#status,#ip,#source_page,#createtime_start,#createtime_end').val(''); layui.form.render('select'); layui.table.reload('currentTable', { where: {}, page: {curr: 1} }); });
- $('#deleteBtn').on('click', function() {
- var rows = layui.table.checkStatus('currentTable').data || [];
- if (!rows.length) { layer.msg('请先勾选反馈记录'); return; }
- var ids = rows.map(function(i){ return i.id; });
- layer.confirm('确认删除选中的 ' + ids.length + ' 条反馈记录吗?此操作不可恢复。', {icon:3,title:'警告'}, function(index) {
- $.post('messagefeedback/del', {ids: ids}, function(res) { layer.msg(res.msg || (res.code===1 ? '删除成功' : '删除失败')); if (res.code === 1) layui.table.reload('currentTable'); }, 'json').fail(function(){ layer.msg('删除请求失败'); });
- layer.close(index);
- });
- });
- $(document).on('click', '[data-event="status"]', function() {
- $.post('messagefeedback/changeStatus', {id: $(this).data('id'), status: $(this).data('status')}, function(res) { layer.msg(res.msg || (res.code===1 ? '更新成功' : '更新失败')); if (res.code === 1) layui.table.reload('currentTable'); }, 'json').fail(function(){ layer.msg('状态更新失败'); });
- });
- $(document).on('click', '[data-event="remark"]', function() {
- var id = $(this).data('id');
- var oldRemark = $(this).data('remark') || '';
- layer.prompt({title:'填写处理备注', formType:2, value: oldRemark}, function(value, index) {
- $.post('messagefeedback/remark', {id: id, admin_remark: value}, function(res) { layer.msg(res.msg || (res.code===1 ? '保存成功' : '保存失败')); if (res.code === 1) layui.table.reload('currentTable'); }, 'json').fail(function(){ layer.msg('备注保存失败'); });
- layer.close(index);
- });
- });
- Table.api.bindevent();
- Form.api.bindevent($('form.layui-form'));
- }
- };
- return Controller;
- });
|