define(['jquery', 'bootstrap', 'backend', 'table', 'form','cascader'], function ($, undefined, Backend, Table, Form) { function clearInfo() { $('[name^="row["]').val(''); $("#c-city").citypicker('reset'); $(".selectpicker").val('').selectpicker('refresh'); } var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'order/index' + location.search, add_url: 'order/add', edit_url: 'order/edit', //del_url: 'order/del', multi_url: 'order/multi', import_url: 'order/import', push_url: 'order/status', addabnormal: 'order/addAbnormal', table: 'order', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'id', fixedColumns: true, fixedRightNumber: 1, columns: [ [ {checkbox: true}, {field: 'id', title: __('Id')}, {field: 'user.nickname', title: '录单员'}, {field: 'order_no', title: __('Order_no'), operate: 'LIKE'}, {field: 'customer', title: __('Customer'), operate: 'LIKE'}, {field: 'tel', title: __('Tel'), operate: 'LIKE'}, { field: 'status', title: __('Status'), searchList: { "10": __('Status 10'), "20": __('Status 20'), "30": __('Status 30'), "40": __('Status 40'), "50": __('Status 50'), "-10": __('Status -10'), "-20": __('Status -20'), "-30": __('Status -30') }, formatter: Table.api.formatter.status }, {field: 'area.merge_name', title: __('Area_id')}, { field: 'address', title: __('Address'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content }, { field: 'dispatch_type', title: '派单方式', searchList: { "1": '手动派单', "2": '自动派单', }, formatter: Table.api.formatter.label }, { field: 'receive_type', title: '收款方式', searchList: { "1": '已收全款', "2": '已收定金', }, formatter: Table.api.formatter.label }, // {field: 'worker_id', title: __('Worker_id')}, {field: 'source_shop', title: __('Source')}, // {field: 'source_uid', title: __('Source_uid'), operate: 'LIKE'}, {field: 'item_title', title: __('Item_title'), operate: 'LIKE'}, { field: 'detail', title: __('Detail'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content }, { field: 'remark', title: __('Remark'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content }, { field: 'images', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images }, { field: 'create_time', title: __('Create_time'), operate: 'RANGE', addclass: 'datetimerange', autocomplete: false }, { field: 'update_time', title: __('Update_time'), operate: 'RANGE', addclass: 'datetimerange', autocomplete: false }, { field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate, align:"left", buttons: [ { name: 'edit', text:"编辑", icon: 'fa fa-pencil', title: __('Edit'), extend: 'data-toggle="tooltip" data-container="body"', classname: 'btn btn-xs btn-success btn-editone' }, { name: 'push', icon: 'fa fa-copy', title: '复制', text:"复制", url: 'order/copy', extend: 'data-toggle="tooltip" data-container="body"', classname: 'btn btn-xs btn-info btn-dialog', callback: function ($data){ console.log($data); } }, { name:"dispatch", text:"派单", title:"派单", extend: 'data-toggle="tooltip" data-container="body"', classname: 'btn btn-xs btn-info btn-dialog', //classname:"btn-view btn-dialog", icon:'fa fa-add', url: function(row){ return 'orders/dispatch/add?order_id='+row.id; }, visible:function(row){ if(row.status == 10){ return true; } return false; }, refresh:true, }, { name: 'send', text: '中转订单', title: '中转订单', classname: 'btn btn-xs btn-info btn-dialog', icon: 'fa fa-send', url: 'order/send', visible:function(row){ if(row.status == 10){ return true; } return false; }, }, { name:"reminder", text:"催单", title:"派单", extend: 'data-toggle="tooltip" data-container="body"', classname: 'btn btn-xs btn-info btn-magic btn-ajax', icon: 'fa fa-bolt', url: 'order/reminder', success: function (data, ret) { if (ret.code === 1){ Layer.alert('催单成功'); }else { Layer.alert(ret.msg); } return false; //如果需要阻止成功提示,则必须使用return false; //return false; }, error: function (data, ret) { console.log(data, ret); Layer.alert(ret.msg); return false; }, visible:function(row){ if(row.status > 0){ return true; } return false; }, }, { name:"error", text:"订单报错", title:"订单报错", extend: 'data-toggle="tooltip" data-container="body"', classname: 'btn btn-xs btn-warning btn-dialog', icon: 'fa fa-bolt', url: 'order/addAbnormal', refresh:true, }, { name: 'delete', text: '取消', title: '取消', classname: 'btn btn-xs btn-danger btn-dialog', icon: 'fa fa-trash', url: 'order/delete', visible:function(row){ if(row.status >= 0){ return true; } return false; }, }, ], } ] ], }); // 为表格绑定事件 Table.api.bindevent(table); let cloneQueryParams = null; //绑定tab事件 $('a[data-toggle="tab"]').on('show.bs.tab',function(event){ let type =$(this).attr("data-value"); let options = table.bootstrapTable('getOptions'); $('.nav-tabs li').attr('class',''); $(this).parent().attr("class",'active'); options.pageNumber =1; if (cloneQueryParams == null) { cloneQueryParams = options.queryParams; } options.queryParams =function(params){ params.type = type; return cloneQueryParams(params); }; table.bootstrapTable('refresh',{}); return false; }); }, add: function () { $("#mybuttom").on("click", function() { Form.api.submit($("form[role=form]")); Toastr.success('录入成功'); return false; }); Form.api.bindevent($("form[role=form]"),function (success,ret) { clearInfo(); Toastr.success('操作成功'); return false; },); $("#c-city").on("cp:updated", function() { var citypicker = $(this).data("citypicker"); var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province"); $("#area_id").val(code); $("#area_name").val(citypicker.getVal()); }); $("[data-toggle='addresspicker']").data("callback", function(res){ Form.api.target($('#c-address')); }); var _data = items; $('#item_id').zdCascader({ data:_data, onChange: function ($this,data,allPathData) { // console.log(data,allPathData); $('#item_id_value').val(data.value); } }); $('#item_id').val($('#item_id').data('value')).focus(); $("#smart").on("click", function() { $.ajax({ url: "order/smart", // 你的 API 地址 type: "GET", dataType: "json", data: { str:$('#smart_text').val() }, success: function (data) { if (data.code === 1){ data = data.data; if (data.mobile !== ''){ $('#c-tel').val(data.mobile); } if (data.name !== ''){ $('#c-customer').val(data.name); } if (data.item.id !== 0){ $('#item_id_value').val(data.item.id); $('#item_id').val(data.item.item); } if (data.idn){ $('#c-source-id').val(data.idn); } let citypicker = $('#c-city'); // $city.citypicker({ // province: data.province, // city: data.city, // district: data.region // }); citypicker.val(data.province + '/' + data.city + '/'+ data.region); citypicker = citypicker.data("citypicker"); citypicker.refresh(); var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province"); $("#area_id").val(code); $("#area_name").val(citypicker.getVal()); } }, error: function () { console.error("请求失败"); } }); }); }, edit: function () { Controller.api.bindevent(); }, copy: function () { Controller.api.bindevent(); }, addabnormal: function () { console.log('abnormal'); Form.api.bindevent($("#add-form"),null,null,function (data) { Form.api.submit($("#add-form")); // console.log(data); // return false; }); }, delete: function () { console.log('delete'); Form.api.bindevent($("form[role=form]")); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); } } }; return Controller; });