define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'editable'], function ($, undefined, Backend, Table, Form, undefined) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'user4s/visit/index' + location.search, add_url: 'user4s/visit/add', edit_url: 'user4s/visit/edit', del_url: 'user4s/visit/del', multi_url: 'user4s/visit/multi', import_url: 'user4s/visit/import', table: 'user4s_visit', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'id', fixedColumns: true, fixedRightNumber: 1, showToggle: false, maintainSelected: true, columns: [ [ //{checkbox: true}, { field: 'id', title: __('回访单号') }, //{ field: 'type_id', title: __('Type_id') }, { field: 'type_text', title: __('Type_id'), operate: false }, //{field: 'type_id', title: __('Type_id'),visible:false,searchList: $.getJSON("user4s/visittype/searchlist")}, { field: 'user4s_id', title: __('会员ID'),visible:false,operate:false}, { field: 'user.name', title: __('会员姓名'), operate: 'LIKE' }, {field: 'user.carno', title: __('User.carno'), operate: 'LIKE'}, //{ field: 'user.buydate', title: __('User.buydate'), operate: 'RANGE', addclass: 'datetimerange', autocomplete: false }, {field: 'user.model', title: __('User.model'), operate: false}, //{field: 'user.color', title: __('User.color'), operate: 'LIKE'}, //{field: 'user.inscom', title: __('User.inscom'), operate: 'LIKE'}, //{ field: 'user.insdate', title: __('User.insdate'), operate: 'RANGE', addclass: 'datetimerange', autocomplete: false }, //{ field: 'user.description', title: __('User.description'), operate: 'LIKE' }, {field: 'visittime', title: __('Visittime'), operate:'BETWEEN', addclass:'datetimepicker',data:'data-date-format="YYYY-MM-DD",data-date-use-current="true"', autocomplete:false, formatter: Table.api.formatter.datetime,datetimeFormat:'YYYY-MM-DD'}, //{field: 'admin.nickname', title: __('操作员'), operate: 'LIKE'}, { field: 'createtime', title: __('开单时间'), operate: 'BETWEEN', addclass: 'datetimepicker',data: 'data-date-format="YYYY-MM-DD",data-date-use-current="true"',datetimeFormat:'YYYY-MM-DD', autocomplete: false, formatter: Table.api.formatter.datetime }, {field: 'description', title: __('Description'), operate:false}, { field: 'status', title: __('Status'), operate: '=',searchList: { "0": __('进行中'), "1": __('已办结') }, formatter: Table.api.formatter.status }, //{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} { field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, buttons: [ { name: 'push', text: __('填报回访记录'), title: __('填报回访记录'), classname: 'btn btn-xs btn-info btn-dialog', icon: 'fa fa-cloud-upload', url: 'user4s/visitlog/add?vid={ids}', extend: 'data-area=\'["1000px","800px"]\'', callback: function (data) { Layer.alert("接收到回传数据:" + JSON.stringify(data), { title: "回传数据" }); }, visible: function (row) { //返回true时按钮显示,返回false隐藏 if (row.status == 0) { return true; } else { return false; } } }, { name: 'visitlog', text: __('历史回访记录'), title: function(row){ return row.user.name+'的'+row.id +'号回访记录' }, classname: 'btn btn-xs btn-default btn-addtabs', icon: 'fa fa-building-o', url: 'user4s/visit/visitlog?vid={ids}', extend: 'data-area=\'["1000px","800px"]\'', callback: function (data) { Layer.alert("接收到回传数据:" + JSON.stringify(data), { title: "回传数据" }); }, visible: function (row) { //返回true时按钮显示,返回false隐藏 // if (row.status == 0) { // return true; // } else { // return false; // } return true; } }, // { // name: 'rechargelog', // text: __('结单'), // title: __('结单'), // classname: 'btn btn-xs btn-danger btn-dialog', // icon: 'fa fa-calendar-check-o', // url: 'user4s/log/index?user4s_id={id}', // extend: 'data-area=\'["1000px","800px"]\'', // }, // { // name: 'visit', // text: __('回访单'), // title: __('回访单'), // classname: 'btn btn-xs btn-info btn-dialog', // icon: 'fa fa-comments-o', // url: 'user4s/visit/index?user4s_id={id}', // extend: 'data-area=\'["1000px","800px"]\'', // }, // { // name: 'addtabs', // text: __('日志'), // title: __('订单任务日志'), // classname: 'btn btn-xs btn-info btn-addtabs', // icon: 'fa fa-list-ol', // url: 'soft_log/?ids={row.id}&ref=addtabs' // } ], formatter: Table.api.formatter.operate } ] ], queryParams: function (params) { //这里可以追加搜索条件 var filter = JSON.parse(params.filter); var op = JSON.parse(params.op); //这里可以动态赋值,比如从URL中获取admin_id的值,filter.admin_id=Fast.api.query('admin_id'); filter.status = Fast.api.query('status'); op.status = "="; if (filter.status == null || filter.status == "") { delete filter.status; delete op.status; } filter.type_id = Fast.api.query('type_id'); op.type_id = "="; if (filter.type_id == null || filter.type_id == "") { delete filter.type_id; delete op.type_id; } params.filter = JSON.stringify(filter); params.op = JSON.stringify(op); console.log(params); return params; }, }); // 为表格绑定事件 Table.api.bindevent(table); // 绑定TAB事件 $('.nav-tabs a[data-toggle="tab"]', table.closest(".panel-intro")).on('shown.bs.tab', function (e) { var that = $(this); var options = table.bootstrapTable('getOptions'); var queryParams = options.queryParams; options.pageNumber = 1; options.queryParams = function (params) { //这一行必须要存在,否则在点击下一页时会丢失搜索栏数据 params = queryParams(params); //如果希望追加搜索条件,可使用 var filter = params.filter ? JSON.parse(params.filter) : {}; //参数 var op = params.op ? JSON.parse(params.op) : {}; //符号 //console.log(that.data("value"),'tab'); if (that.data("value")) { filter['type_id'] = that.data("value"); op['type_id'] = '='; } if (that.data("value") == -99) { delete filter['type_id']; delete op['type_id']; } // 逾期状态 // if (that.data("isyuqi") == 1) { // filter['status'] = 10; // var mydate = new Date(); // var date = "" + mydate.getFullYear() + "-"; // date += (mydate.getMonth() + 1) + "-"; // date += mydate.getDate(); // filter['repayment_date'] = date; // op['repayment_date'] = '<'; // } params.filter = JSON.stringify(filter); params.op = JSON.stringify(op); console.log(params,'tab'); return params; }; table.trigger("uncheckbox"); table.bootstrapTable('refresh', { pageNumber: 1 }); return false; }); // 添加按钮事件 $(document).on('click', '.btn-add2', function () { var ids = Table.api.selectedids(table); var user4s_id =Fast.api.query('user4s_id'); var url = $.fn.bootstrapTable.defaults.extend.add_url; if(user4s_id !== ''){ url = url + '?user4s_id=' + user4s_id; } if (url.indexOf("{ids}") !== -1) { url = Table.api.replaceurl(url, {ids: ids.length > 0 ? ids.join(",") : 0}, table); } Fast.api.open(url, $(this).data("original-title") || $(this).attr("title") || __('Add'), $(this).data() || {}); }); }, recyclebin: function () { // 初始化表格参数配置 Table.api.init({ extend: { 'dragsort_url': '' } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: 'user4s/visit/recyclebin' + location.search, pk: 'id', sortName: 'id', columns: [ [ {checkbox: true}, {field: 'id', title: __('Id')}, { field: 'deletetime', title: __('Deletetime'), operate: 'RANGE', addclass: 'datetimerange', formatter: Table.api.formatter.datetime }, { field: 'operate', width: '130px', 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: 'user4s/visit/restore', refresh: true }, { name: 'Destroy', text: __('Destroy'), classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit', icon: 'fa fa-times', url: 'user4s/visit/destroy', refresh: true } ], formatter: Table.api.formatter.operate } ] ] }); // 为表格绑定事件 Table.api.bindevent(table); }, add: function () { $('#c-type_id').on('change', function () { var id = $('#c-type_id').val(); $.ajax({ url: "user4s/visittype/getvtime", type: "POST", //Use "PUT" for HTTP PUT methods dataType: 'json', data: { id: id, }, success: function (data, textStatus, jqXHR) { console.log(data); if (data.code == 1) { if (data.data.visit_time != undefined && data.data.visit_time != null && data.data.visit_time != '') { $('#c-visittime').val(data.data.visit_time); } } }, }) }); Controller.api.bindevent(); }, edit: function () { Controller.api.bindevent(); }, //回访记录 visitlog: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'user4s/visit/visitlog' + location.search, table: 'user4s_visit', } }); var table = $("#table"); //当表格数据加载完成时 // table.on('load-success.bs.table', function (e, data) { // //这里可以获取从服务端获取的JSON数据 // console.log(data); // //这里我们手动设置底部的值 // $("#start_date").text(data.extend.start_date); // $("#end_date").text(data.extend.end_date); // }); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'id', fixedColumns: true, fixedRightNumber: 1, showToggle: false, commonSearch: false, //maintainSelected: true, columns: [ [ //{ checkbox: true }, {field: 'id', title: __('回访记录号'), operate:false}, {field: 'visit_id', title: __('回访单号'), operate:false}, { field: 'user.name', title: __('会员姓名'), operate: false }, { field: 'user.tel', title: __('联系方式'), operate: false }, //{ field: 'user.buydate', title: __('购车时间'), operate: false}, { field: 'user.carno', title: __('车牌号'), operate: false }, // { field: 'user.model', title: __('车型'), operate: false }, // { field: 'user.color', title: __('颜色'), operate: false }, {field: 'star_f', title: __('满意度'), operate: false}, {field: 'description', title: __('Description'), operate: false}, { field: 'visit_time', title: __('回访时间'), operate: 'BETWEEN', addclass: 'datetimepicker', data: 'data-date-format="YYYY-MM-DD",data-date-use-current="true"', autocomplete: false, formatter: Table.api.formatter.datetime, datetimeFormat: 'YYYY-MM-DD' }, // { // field: 'visit.endtime', title: __('结单时间'), operate: 'BETWEEN', addclass: 'datetimepicker', data: 'data-date-format="YYYY-MM-DD",data-date-use-current="true"', autocomplete: false, formatter: Table.api.formatter.datetime, datetimeFormat: 'YYYY-MM-DD', visible: function (row) { // if (row.visit.status == 0) { // return false; // } else { // return true; // } // } // }, { field: 'admin_id', title: __('Admin_id'), operate: false, formatter: function (value, row, index) { return row['admin']['nickname']; } }, { field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, buttons: [ { name: 'renewal', text: __('编辑'), title: __('编辑'), classname: 'btn btn-xs btn-success btn-dialog', icon: 'fa fa-pencil', url: 'user4s/visitlog/edit?ids={ids}', extend: 'data-area=\'["1000px","800px"]\'', callback: function (data) { Layer.alert("接收到回传数据:" + JSON.stringify(data), { title: "回传数据" }); }, visible: function (row) { if (row.visit.status == 0) { return true; } else { return false; } //返回true时按钮显示,返回false隐藏 //return true; } }, // { // name: 'inslog', // text: __('续保记录'), // title: __('续保记录'), // classname: 'btn btn-xs btn-warning btn-dialog', // icon: 'fa fa-calendar-check-o', // url: 'user4s/inslog/index?user4s_id={id}', // extend: 'data-area=\'["1000px","800px"]\'', // }, ], formatter: Table.api.formatter.operate } ] ], }); // 为表格绑定事件 Table.api.bindevent(table); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); } } }; return Controller; });