|
|
@@ -5,23 +5,9 @@
|
|
|
<el-date-picker v-model="currentDateList" type="daterange" align="right" unlink-panels range-separator="至" start-placeholder="开始日期" @change="getDate" value-format="yyyy-MM-dd"
|
|
|
end-placeholder="结束日期" :picker-options="pickerOptions" size="mini"> </el-date-picker>
|
|
|
</template>
|
|
|
-
|
|
|
- <template #slot-order-debt="{scope}">
|
|
|
- <el-radio-group v-model="debt" @change="changeDebt" style="margin-right:20px;padding-top:6px;margin-left:20px;">
|
|
|
- <el-radio label="0">全部</el-radio>
|
|
|
- <el-radio label="1">待结款</el-radio>
|
|
|
- <el-radio label="2">已结款</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </template>
|
|
|
-
|
|
|
- <template #slot-total-amount>
|
|
|
- <span style="font-size:15px;font-weight:bold;">累计金额:{{ totalAmount }}</span>
|
|
|
- </template>
|
|
|
-
|
|
|
<template #slot-export-due>
|
|
|
<el-button type="primary" size="mini" style="margin-left:60px;" @click="exportDue()">导出数据</el-button>
|
|
|
</template>
|
|
|
-
|
|
|
</x-crud>
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -32,46 +18,45 @@ export default {
|
|
|
return {
|
|
|
crud: null,
|
|
|
pickerOptions: {
|
|
|
- shortcuts: [{
|
|
|
- text: '最近一周',
|
|
|
- onClick(picker) {
|
|
|
- const end = new Date();
|
|
|
- const start = new Date();
|
|
|
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '最近一个月',
|
|
|
- onClick(picker) {
|
|
|
- const end = new Date();
|
|
|
- const start = new Date();
|
|
|
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '最近三个月',
|
|
|
- onClick(picker) {
|
|
|
- const end = new Date();
|
|
|
- const start = new Date();
|
|
|
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }]
|
|
|
+ shortcuts: [{
|
|
|
+ text: '最近一周',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近一个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近三个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }]
|
|
|
},
|
|
|
currentDateList:'',
|
|
|
startTime:'',
|
|
|
endTime:'',
|
|
|
searchTime:'',
|
|
|
- totalAmount:0,
|
|
|
- debt:'0'
|
|
|
- };
|
|
|
+ totalAmount:0
|
|
|
+ }
|
|
|
},
|
|
|
computed: {
|
|
|
...mapGetters(['shopInfo']),
|
|
|
},
|
|
|
methods: {
|
|
|
exportDue(){
|
|
|
- this.$service.purchaseOrder.dueList({searchTime:this.searchTime,startTime:this.startTime,endTime:this.endTime,debt:this.debt,export:1}).then(res => {
|
|
|
+ this.$service.stat.getClassProfit({searchTime:this.searchTime,startTime:this.startTime,endTime:this.endTime,export:1}).then(res => {
|
|
|
if(res.file){
|
|
|
window.location.href = res.file
|
|
|
}
|
|
|
@@ -81,10 +66,16 @@ export default {
|
|
|
this.app = app;
|
|
|
ctx.service({
|
|
|
page: () => {
|
|
|
- return this.$service.purchaseOrder.dueList({searchTime:this.searchTime,startTime:this.startTime,endTime:this.endTime,debt:this.debt}).then((res) => {
|
|
|
- this.totalAmount = res.totalAmount ? res.totalAmount : 0
|
|
|
+ return this.$service.stat.getClassProfit({searchTime:this.searchTime,startTime:this.startTime,endTime:this.endTime}).then((res) => {
|
|
|
+ let list = [
|
|
|
+ ...res.list,
|
|
|
+ {className:'物流打包费',income:0,expend:res.packFreight,profit:-res.packFreight},
|
|
|
+ {className:'采购仅退款',income:res.onlyRefundCg,expend:0,profit:res.onlyRefundCg},
|
|
|
+ {className:'销售仅退款',income:0,expend:res.onlyRefund,profit:-res.onlyRefund},
|
|
|
+ {className:'【汇总金额】',income:res.totalIncome,expend:res.totalExpend,profit:res.totalProfit}
|
|
|
+ ]
|
|
|
return {
|
|
|
- list: res.list
|
|
|
+ list: list
|
|
|
};
|
|
|
});
|
|
|
}
|
|
|
@@ -92,20 +83,25 @@ export default {
|
|
|
.set('table', {
|
|
|
columns: [
|
|
|
{
|
|
|
- label: 'ID',
|
|
|
- prop: 'id',
|
|
|
+ label: '名称',
|
|
|
+ prop: 'className',
|
|
|
align: 'center',
|
|
|
},
|
|
|
{
|
|
|
- label: '名称',
|
|
|
- prop: 'name',
|
|
|
+ label: '销售收入',
|
|
|
+ prop: 'income',
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '采购成本',
|
|
|
+ prop: 'expend',
|
|
|
align: 'center',
|
|
|
},
|
|
|
{
|
|
|
- label: '金额',
|
|
|
- prop: 'amount',
|
|
|
+ label: '花材利润',
|
|
|
+ prop: 'profit',
|
|
|
align: 'center',
|
|
|
- }
|
|
|
+ },
|
|
|
],
|
|
|
op: {
|
|
|
visible: true,
|
|
|
@@ -126,7 +122,7 @@ export default {
|
|
|
'refresh-btn',
|
|
|
],
|
|
|
[ 'data-table' ],
|
|
|
- ['slot-total-amount','flex1']
|
|
|
+ ['flex1']
|
|
|
])
|
|
|
.done();
|
|
|
app.refresh();
|
|
|
@@ -135,12 +131,8 @@ export default {
|
|
|
this.searchTime = 'custom'
|
|
|
this.startTime = this.currentDateList[0]
|
|
|
this.endTime = this.currentDateList[1]
|
|
|
- this.app.refresh({searchTime:this.searchTime,startTime:this.startTime,endTime:this.endTime,debt:this.debt});
|
|
|
- },
|
|
|
- changeDebt(e){
|
|
|
- this.debt = e
|
|
|
- this.app.refresh({searchTime:this.searchTime,startTime:this.startTime,endTime:this.endTime,debt:this.debt})
|
|
|
- },
|
|
|
+ this.app.refresh({searchTime:this.searchTime,startTime:this.startTime,endTime:this.endTime});
|
|
|
+ }
|
|
|
},
|
|
|
};
|
|
|
</script>
|