define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'pickup/order/index' + location.search, add_url: 'pickup/order/add', edit_url: 'pickup/order/edit', del_url: 'pickup/order/del', multi_url: 'pickup/order/multi', table: 'gift_order', }, pageSize: 30, pageList: [30, 50, 100, 'All'], }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'id', showToggle: false, columns: [ [ {checkbox: true}, {field: 'id', title: __('Id')}, {field: 'order_no', title: __('Order_no'), visible: false}, // {field: 'gift_goods_ids', title: __('Gift_goods_ids')}, {field: 'gift_goods_title', title: __('Gift_goods_title'), formatter: function (value, row, index) { let text = ""; let text_pre = ""; for (var key in value) { text = text + value[key] + text_pre; text_pre = "
"; } return text; }}, // {field: 'gift_goods_image', title: __('Gift_goods_image'), events: Table.api.events.image, formatter: Table.api.formatter.image}, {field: 'gift_package_id', title: __('Gift_package_id'), visible: false}, {field: 'gift_package_title', title: __('Gift_package_title')}, {field: 'gift_package_image', title: __('Gift_package_image'), visible: false, events: Table.api.events.image, formatter: Table.api.formatter.image}, {field: 'name', title: __('Name')}, {field: 'mobile', title: __('Mobile')}, {field: 'province_city', title: __('Province_city'), visible: true}, {field: 'address', title: __('Address'), visible: true}, // {field: 'ship_date_expected', title: __('Ship_date_expected')}, {field: 'comments', title: __('Comments'), visible: false}, {field: 'card_id', title: __('Card_id')}, {field: 'createtime', title: __('Createtime'), operate: 'RANGE', addclass: 'datetimerange', formatter: Table.api.formatter.datetime}, {field: 'kd_company', title: __('Kd_company')}, {field: 'kd_number', title: __('Kd_number')}, {field: 'ship_date', title: __('Ship_date'), operate: 'RANGE', addclass: 'datetimerange', formatter: Table.api.formatter.datetime}, {field: 'status', title: __('Status'), searchList: {"1": __('Status 1'), "2": __('Status 2'), "3": __('Status 3'), "4": __('Status 4')}, formatter: Table.api.formatter.status}, { field: 'operate', title: __('Operate'), table: table, buttons: [ { name: 'order_delivery', title: "发货", text: "发货", extend: "data-area='[\"\90%\"\,\"\90%\"\]'", url: 'pickup/order/delivery', icon: 'fa fa-send', classname: 'btn btn-info btn-xs btn-execute btn-dialog' }, { name: 'order_transport', title: "查看物流", text: "查看物流", extend: "data-area='[\"\90%\"\,\"\90%\"\]'", url: 'pickup/order/transport', icon: 'fa fa-truck', classname: 'btn btn-info btn-xs btn-execute btn-dialog' }, { name: 'order_detail', title: "订单详情", text: "订单详情", extend: "data-area='[\"\90%\"\,\"\90%\"\]'", url: 'pickup/order/detail', icon: 'fa fa-reorder', classname: 'btn btn-info btn-xs btn-execute btn-dialog' }, ], events: Table.api.events.operate, formatter: function (value, row, index) { var that = $.extend({}, this); var table = $(that.table).clone(true); if (row.status > 1) { $(table).data("operate-order_delivery", null); } if (row.status == 1) { $(table).data("operate-order_transport", null); } that.table = table; return Table.api.formatter.operate.call(that, value, row, index); } } ] ] }); // 为表格绑定事件 Table.api.bindevent(table); $(".toolbar").on('click', ".btn-impDelivery", function () {//撤销发货 require(['upload'], function (Upload) { Upload.api.plupload($(".btn-impDelivery", ".toolbar"), function (data, ret) { Fast.api.ajax({ url: Fast.api.fixurl("pickup/order/impDelivery"), data: {file: data.url}, }, function (data, ret) { table.bootstrapTable('refresh'); }); }); }); }); }, add: function () { Controller.api.bindevent(); }, edit: function () { Controller.api.bindevent(); }, delivery: function () { Controller.api.bindevent(); }, transport: function () { Controller.api.bindevent(); }, detail: function () { Controller.api.bindevent(); let itemid = $("#item-id").val(); $(".form-group").on('click', ".btn-set_order_st1", function () {//撤销发货 //ajax请求接口,改变订单状态,但不清理发货的快递信息 Layer.confirm( __('你确定要设置此订单为待发货状态吗?'), {icon: 3, title: __('Warning'), shadeClose: true}, function (index) { // var url = $.fn.bootstrapTable.defaults.extend.setstatus_url; var url = Fast.api.fixurl("pickup/order/setstatus"); $.ajax({ url: url, type: "GET", dataType: "json", data: {itemid: itemid, status: 1}, beforeSend: function (result) {}, success: function (result) { Toastr.success("设置成功"); }, error: function (xhr, status, error) { Toastr.error("设置失败"); // Toastr.warning(ret.msg); } }); Layer.close(index); } ); }); $(".form-group").on('click', ".btn-set_order_st2", function () {//发货 //打开发货页面 var url = Fast.api.fixurl("pickup/order/delivery/ids/" + itemid); Fast.api.open(url, __('发货'), $(this).data() || {}); }); $(".form-group").on('click', ".btn-set_order_st3", function () {//设置订单完成 //ajax请求接口,改变订单状态,设置订单完成 Layer.confirm( __('你确定要设置此订单为已完成状态吗?'), {icon: 3, title: __('Warning'), shadeClose: true}, function (index) { var url = Fast.api.fixurl("pickup/order/setstatus"); $.ajax({ url: url, type: "GET", dataType: "json", data: {itemid: itemid, status: 3}, beforeSend: function (result) {}, success: function (result) { Toastr.success("设置成功"); }, error: function (xhr, status, error) { Toastr.error("设置失败"); // Toastr.warning(ret.msg); } }); Layer.close(index); } ); }); $(".form-group").on('click', ".btn-set_order_st4", function () {//设置订单失效 //ajax请求接口,改变订单状态,设置订单完成 Layer.confirm( __('你确定要设置此订单为已关闭状态吗?'), {icon: 3, title: __('Warning'), shadeClose: true}, function (index) { var url = Fast.api.fixurl("pickup/order/setstatus"); $.ajax({ url: url, type: "GET", dataType: "json", data: {itemid: itemid, status: 4}, beforeSend: function (result) {}, success: function (result) { Toastr.success("设置成功"); }, error: function (xhr, status, error) { Toastr.error("设置失败"); // Toastr.warning(ret.msg); } }); Layer.close(index); } ); }); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); } } }; return Controller; });