留学万象
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

241 lines
10 KiB

define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
var Controller = {
index: function () {
var orderIndex = new Vue({
el: "#orderIndex",
data() {
return {
orderList: [],
currentPage: 1,
totalPage: 0,
offset: 0,
limit: 10,
searchStatusOption: [{
value: 'all',
label: "全部"
}, {
value: '-1',
label: "已退回"
}, {
value: '0',
label: "未入账"
}, {
value: '1',
label: "已入账"
}],
searchForm: {
form_1_key: "buyer_id",
form_1_value: "",
form_2_key: "agent_id",
form_2_value: "",
order_sn: "",
createtime: "",
status: "all",
id: ''
},
searchFormInit: {
form_1_key: "buyer_id",
form_1_value: "",
form_2_key: "agent_id",
form_2_value: "",
order_sn: "",
createtime: "",
status: "all",
id: ''
},
searchOp: {
buyer_id: "=",
buyer_nickname: "like",
buyer_mobile: "like",
agent_id: "=",
agent_nickname: "like",
agent_mobile: "like",
order_sn: "like",
createtime: "range",
status: "=",
id: '='
},
dashboard: {
total: 0,
commission_total: 0,
commissioned_total: 0,
delay_total: 0,
commission_back_total: 0,
},
isAjax: false
}
},
mounted() {
if (new URLSearchParams(location.search).get('agent_id')) {
this.searchForm.form_2_key = 'agent_id';
this.searchForm.form_2_value = new URLSearchParams(location.search).get('agent_id');
if (new URLSearchParams(location.search).get('status')) {
this.searchForm.status = new URLSearchParams(location.search).get('status');
}
} else if (new URLSearchParams(location.search).get('id')) {
this.searchForm.id = new URLSearchParams(location.search).get('id');
this.searchFormInit.id = new URLSearchParams(location.search).get('id');
} else {
this.searchForm.createtime = [];
let start = `${moment(new Date()).format('YYYY-MM')}-01 00:00:00`;
let end = `${moment(new Date()).format('YYYY-MM-DD HH:mm:ss')}`;
this.searchForm.createtime.push(start)
this.searchForm.createtime.push(end);
this.searchFormInit.createtime = this.searchForm.createtime;
}
this.reqOrderList()
},
methods: {
reqOrderList() {
var that = this;
that.isAjax = true;
let filter = {}
let op = {}
for (key in that.searchForm) {
if (key == 'form_1_value') {
if (that.searchForm[key] != '') {
filter[that.searchForm.form_1_key] = that.searchForm[key];
}
} else if (key == 'form_2_value') {
if (that.searchForm[key] != '') {
filter[that.searchForm.form_2_key] = that.searchForm[key];
}
} else if (key == 'createtime') {
if (that.searchForm[key]) {
if (that.searchForm[key].length > 0) {
filter[key] = that.searchForm[key].join(' - ');
}
}
} else if (key == 'order_sn' || key == 'status' || key == 'id') {
if (that.searchForm[key] != '' && that.searchForm[key] != 'all') {
filter[key] = that.searchForm[key];
}
}
}
for (key in filter) {
op[key] = that.searchOp[key]
}
Fast.api.ajax({
url: 'shopro/commission/reward/index',
loading: false,
type: 'GET',
data: {
filter: JSON.stringify(filter),
op: JSON.stringify(op),
offset: that.offset,
limit: that.limit,
}
}, function (ret, res) {
that.orderList = res.data.rows;
that.totalPage = res.data.total;
that.dashboard.total = res.data.total;
that.dashboard.commission_total = res.data.commission_total;
that.dashboard.commissioned_total = res.data.commissioned_total;
that.dashboard.delay_total = res.data.delay_total;
that.dashboard.commission_back_total = res.data.commission_back_total
that.isAjax = false;
return false;
}, function (ret, res) {
that.isAjax = false;
})
},
commissionLevelFilter(level) {
switch (level) {
case 0:
return '自购'
break;
case 1:
return '一级分销'
break;
case 2:
return '二级分销'
break;
case 3:
return '三级分销'
break;
}
},
goDetail(id) {
let that = this;
Fast.api.open('shopro/order/order/detail?id=' + id, "查看详情", {
callback() {
that.reqOrderList()
}
});
},
operation(type, id) {
let that = this;
switch (type) {
case 'edit':
Fast.api.open('shopro/commission/agent/profile?id=' + id, '查看', {
callback() {
that.reqOrderList();
}
})
break;
}
},
screenEmpty() {
this.searchForm = JSON.parse(JSON.stringify(this.searchFormInit))
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
//分页(更换页面显示条数)
handleSizeChange(val) {
this.offset = 0
this.limit = val
this.currentPage = 1;
this.reqOrderList()
},
//当前是第几页
handleCurrentChange(val) {
this.offset = (val - 1) * this.limit;
this.currentPage = 1;
this.reqOrderList()
},
openCommissonOrder(order) {
Fast.api.open(`shopro/commission/order/index?order_sn=${order.order_sn}`, '查看订单', {
callback() {
that.reqOrderList();
}
})
},
rewardStatusClass(status) {
switch (status) {
case -2:
return 'shopro-status-info'
break;
case -1:
return 'shopro-status-error'
break;
case 0:
return 'shopro-status-warning'
break;
case 1:
return 'shopro-status-success'
break;
}
}
},
})
},
};
return Controller;
});