define(['jquery', 'bootstrap', 'backend', 'table', 'form','vue'], function ($, undefined, Backend, Table, Form, Vue) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'service/packagecard/index' + location.search, add_url: 'service/packagecard/add', edit_url: 'service/packagecard/edit', del_url: 'service/packagecard/del', multi_url: 'service/packagecard/multi', import_url: 'service/packagecard/import', table: 'service_package_card', } }); 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: 'name', title: __('Name'), operate: 'LIKE'}, {field: 'images', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images}, {field: 'original_price', title: __('Original_price'), operate:'BETWEEN'}, {field: 'price', title: __('Price'), operate:'BETWEEN'}, {field: 'info_images', title: __('Info_images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images}, {field: 'flow_images', title: __('Flow_images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images}, {field: 'daynums', title: __('Daynums')}, {field: 'plus_state', title: __('Plus_state'), searchList: {"0":__('Plus_state 0'),"1":__('Plus_state 1')}, formatter: Table.api.formatter.normal}, {field: 'coupon_state', title: __('Coupon_state'), searchList: {"0":__('Coupon_state 0'),"1":__('Coupon_state 1')}, formatter: Table.api.formatter.normal}, {field: 'salenums', title: __('Salenums')}, {field: 'weigh', title: __('Weigh'), operate: false}, {field: 'status', title: __('Status'), searchList: {"normal":__('Status normal'),"hidden":__('Status hidden')}, formatter: Table.api.formatter.status}, {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, buttons: [ { name: 'list', text: __('订单列表'), title: __('订单列表'), classname: 'btn btn-xs btn-danger btn-dialog', icon: 'fa fa-list', url: function(row){ return 'service/card/packageorder/index?ordertype=1&package_card_id='+row.id; }, }, ], formatter: Table.api.formatter.operate} ] ] }); // 为表格绑定事件 Table.api.bindevent(table); }, add: function () { let add = new Vue({ el: '#app', data(){ return { info:[] } }, watch:{ }, computed:{ original_price(){ let price = 0; for(let i=0; i < this.info.length; i++){ price+=this.info[i].original_price*this.info[i].nums } return price }, price(){ let price = 0; for(let i=0; i < this.info.length; i++){ price+=this.info[i].price*this.info[i].nums } return price }, }, methods:{ del(index){ this.info.splice(index,1) }, goodsSelect(){ let that = this Backend.api.open('service/packagesku/index','选择项目',{ callback: function(res){ console.log(res.data) let had = false for(let i=0; i < that.info.length;i++){ if(that.info[i].id == res.data.id){ had = true } } if(had){ layer.msg("已过滤添加过的信息"); return } let data = res.data data.nums = 1 data.goods_sku_id = data.id data.original_price = data.price data.total_price = data.original_price*data.nums that.info.push(data) } }); } } }) Controller.api.bindevent(); }, edit: function () { let add = new Vue({ el: '#app', data(){ return { info:Config.goods } }, watch:{ }, computed:{ original_price(){ let price = 0; for(let i=0; i < this.info.length; i++){ price+=this.info[i].original_price*this.info[i].nums } return price }, price(){ let price = 0; for(let i=0; i < this.info.length; i++){ price+=this.info[i].price*this.info[i].nums } return price }, }, methods:{ del(index){ this.info.splice(index,1) }, goodsSelect(){ let that = this Backend.api.open('service/packagesku/index','选择项目',{ callback: function(res){ console.log(res.data) let had = false for(let i=0; i < that.info.length;i++){ if(that.info[i].goods_sku_id == res.data.id){ had = true } } if(had){ layer.msg("已过滤添加过的信息"); return } let data = res.data data.nums = 1 data.goods_sku_id = data.id data.original_price = data.price data.total_price = data.original_price*data.nums that.info.push(data) } }); } } }) Controller.api.bindevent(); }, api: { bindevent: function () { Form.api.bindevent($("form[role=form]")); } } }; return Controller; });