完善统计报表
This commit is contained in:
@@ -4,7 +4,7 @@ export default {
|
||||
// 查询分页列表
|
||||
listPage: function(params) {
|
||||
return request({
|
||||
url: '/oms/v1/smssalesbill/listPage',
|
||||
url: '/oms//v1/smssalesbill/customerSales',
|
||||
method: 'post',
|
||||
data: params,
|
||||
headers: {
|
||||
@@ -58,5 +58,20 @@ export default {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
expExcelOfCustomer: function(params) {
|
||||
return request({
|
||||
url: '/oms/v1/smssalesbill/customerSalesExport',
|
||||
method: 'post',
|
||||
data: params,
|
||||
// headers: {
|
||||
// "responseType": "blob" //将二进制流转换成blob对象
|
||||
// },
|
||||
headers: {
|
||||
'Access-Control-Allow-Headers': 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild'
|
||||
},
|
||||
responseType: 'blob'
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ export default {
|
||||
// 查询分页列表
|
||||
listPage: function(params) {
|
||||
return request({
|
||||
url: '/oms/v1/smssalesbill/listPage',
|
||||
url: '/oms/apiadmin/purchasebill/goodsPurchase',
|
||||
method: 'post',
|
||||
data: params,
|
||||
headers: {
|
||||
@@ -58,5 +58,20 @@ export default {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
expExcelOfCustomer: function(params) {
|
||||
return request({
|
||||
url: '/oms/apiadmin/purchasebill/goodsPurchaseExport',
|
||||
method: 'post',
|
||||
data: params,
|
||||
// headers: {
|
||||
// "responseType": "blob" //将二进制流转换成blob对象
|
||||
// },
|
||||
headers: {
|
||||
'Access-Control-Allow-Headers': 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild'
|
||||
},
|
||||
responseType: 'blob'
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ export default {
|
||||
// 查询分页列表
|
||||
listPage: function(params) {
|
||||
return request({
|
||||
url: '/oms/v1/smssalesbill/listPage',
|
||||
url: '/oms/v1/smssalesbill/goodsSales',
|
||||
method: 'post',
|
||||
data: params,
|
||||
headers: {
|
||||
@@ -58,5 +58,19 @@ export default {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
expExcelOfCustomer: function(params) {
|
||||
return request({
|
||||
url: '/oms/v1/smssalesbill/goodsSalesExport',
|
||||
method: 'post',
|
||||
data: params,
|
||||
// headers: {
|
||||
// "responseType": "blob" //将二进制流转换成blob对象
|
||||
// },
|
||||
headers: {
|
||||
'Access-Control-Allow-Headers': 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild'
|
||||
},
|
||||
responseType: 'blob'
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
@@ -118,9 +118,10 @@
|
||||
<el-button type="primary" size="mini" @click="deleteGoods(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品编码" prop="goodsSkuCode" width="120" align="center" />
|
||||
<el-table-column label="商品名称" prop="goodsSkuTitle" width="150" align="center" />
|
||||
<el-table-column label="规格" prop="goodsSkuOwnSpec" width="120" align="center" />
|
||||
<el-table-column label="商品编码" prop="goodsCode" width="120" align="center" />
|
||||
<el-table-column label="商品名称" prop="goodsSpuName" width="150" align="center" />
|
||||
<el-table-column label="规格型号" prop="goodsSkuTitle" width="120" align="center" />
|
||||
<el-table-column label="规格编码" prop="goodsSkuCode" width="120" align="center" />
|
||||
<el-table-column label="单位" prop="unit" width="60" align="center" />
|
||||
<el-table-column label="采购数量" align="center" prop="count" width="150">
|
||||
<template slot-scope="scope">
|
||||
@@ -828,7 +829,9 @@
|
||||
"sid": value[i].sid != null ? value[i].sid : '',
|
||||
"goodsSkuSid": value[i].sid != null ? value[i].sid : '',
|
||||
"goodsSkuCode": value[i].goodsSkuCode != null ? value[i].goodsSkuCode : '',
|
||||
"goodsSkuTitle": value[i].goodsName != null ? value[i].goodsName : '',
|
||||
"goodsSkuTitle": value[i].title != null ? value[i].title : '',
|
||||
"goodsCode": value[i].goodsCode != null ? value[i].goodsCode : '',
|
||||
"goodsSpuName": value[i].goodsName != null ? value[i].goodsName : '',
|
||||
"goodsSN": value[i].barCode != null ? value[i].barCode : '',
|
||||
"goodsSkuOwnSpec": value[i].goodsSkuOwnSpec != null ? value[i].goodsSkuOwnSpec : '',
|
||||
"unit": value[i].unit != null ? value[i].unit : '',
|
||||
|
||||
@@ -80,9 +80,10 @@
|
||||
</div>
|
||||
<el-table v-loading="listLoading" :data="formobj.purchaseBillDetailList" border style="width: 100%;">
|
||||
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" />
|
||||
<el-table-column label="商品编码" prop="goodsSkuCode" width="150" align="center" />
|
||||
<el-table-column label="商品名称" prop="goodsSkuTitle" width="150" align="center" />
|
||||
<el-table-column label="规格" prop="goodsSkuOwnSpec" width="150" align="center" />
|
||||
<el-table-column label="商品编码" prop="goodsCode" width="120" align="center" />
|
||||
<el-table-column label="商品名称" prop="goodsSpuName" width="150" align="center" />
|
||||
<el-table-column label="规格型号" prop="goodsSkuTitle" width="120" align="center" />
|
||||
<el-table-column label="规格编码" prop="goodsSkuCode" width="120" align="center" />
|
||||
<el-table-column label="单位" prop="unit" width="120" align="center" />
|
||||
<el-table-column prop="count" label="采购数量" width="120" align="center" />
|
||||
<el-table-column label="数量(pcs)" prop="pcsCount" align="center" width="150" />
|
||||
|
||||
@@ -61,8 +61,9 @@
|
||||
<el-table-column width="50px" type="selection" align="center" />
|
||||
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" />
|
||||
<el-table-column prop="goodsName" label="商品名称" align="center" />
|
||||
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" />
|
||||
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" />
|
||||
<el-table-column prop="goodsCode" label="商品编码" align="center" />
|
||||
<el-table-column prop="title" label="规格型号" align="center" />
|
||||
<el-table-column prop="goodsSkuCode" label="规格编码" align="center" />
|
||||
<el-table-column prop="unit" label="单位" align="center" />
|
||||
<!-- <el-table-column prop="tagPrice" label="吊牌价" align="center" /> -->
|
||||
<el-table-column prop="cost" label="单价" align="center" />
|
||||
|
||||
@@ -137,9 +137,10 @@
|
||||
<el-tab-pane name="first" label="采购明细">
|
||||
<el-table class="table" :data="goodsDetailList" border style="width: 100%">
|
||||
<el-table-column width="60" label="序号" type="index" :index="indexMethod" align="center" />
|
||||
<el-table-column prop="goodsSkuTitle" label="商品名称" width="120" align="center" />
|
||||
<el-table-column prop="goodsSkuCode" label="商品编码" width="120" align="center" />
|
||||
<el-table-column prop="goodsSkuOwnSpec" label="规格" width="120" align="center" />
|
||||
<el-table-column label="商品编码" prop="goodsCode" width="120" align="center" />
|
||||
<el-table-column label="商品名称" prop="goodsSpuName" width="150" align="center" />
|
||||
<el-table-column label="规格型号" prop="goodsSkuTitle" width="120" align="center" />
|
||||
<el-table-column label="规格编码" prop="goodsSkuCode" width="120" align="center" />
|
||||
<el-table-column prop="unit" label="单位" align="center" />
|
||||
<el-table-column prop="count" label="数量" width="120" align="center" />
|
||||
<el-table-column label="数量(pcs)" prop="pcsCount" align="center" width="150" />
|
||||
|
||||
@@ -80,9 +80,10 @@
|
||||
</div>
|
||||
<el-table v-loading="listLoading" :data="formobj.purchaseBillDetailList" border style="width: 100%;">
|
||||
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" />
|
||||
<el-table-column label="商品编码" prop="goodsSkuCode" width="150" align="center" />
|
||||
<el-table-column label="商品名称" prop="goodsSkuTitle" width="150" align="center" />
|
||||
<el-table-column label="商品规格" prop="goodsSkuOwnSpec" width="150" align="center" />
|
||||
<el-table-column label="商品编码" prop="goodsCode" width="120" align="center" />
|
||||
<el-table-column label="商品名称" prop="goodsSpuName" width="150" align="center" />
|
||||
<el-table-column label="规格型号" prop="goodsSkuTitle" width="120" align="center" />
|
||||
<el-table-column label="规格编码" prop="goodsSkuCode" width="120" align="center" />
|
||||
<el-table-column label="单位" prop="unit" width="120" align="center" />
|
||||
<el-table-column prop="count" label="采购数量" width="120" align="center" />
|
||||
<el-table-column label="数量(pcs)" prop="pcsCount" align="center" width="150" />
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
type="date" placeholder="选择日期"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="客户编码">
|
||||
<el-input v-model="listQuery.params.warehouseName" placeholder="" clearable />
|
||||
<el-input v-model="listQuery.params.customerCode" placeholder="" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="客户名称">
|
||||
<el-input v-model="listQuery.params.customerName" placeholder="" clearable />
|
||||
@@ -39,11 +39,11 @@
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" align="center" width="50" />
|
||||
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
|
||||
<el-table-column prop="billNo" label="客户编码" align="center" />
|
||||
<el-table-column prop="state" label="客户名称" align="center" />
|
||||
<el-table-column prop="createTime" label="销售数量" align="center" />
|
||||
<el-table-column prop="billTypeValue" label="销售金额" align="center" />
|
||||
<el-table-column prop="shopName" label="运费" align="center" />
|
||||
<el-table-column prop="customerCode" label="客户编码" align="center" />
|
||||
<el-table-column prop="customerName" label="客户名称" align="center" />
|
||||
<el-table-column prop="count" label="销售数量" align="center" />
|
||||
<el-table-column prop="amount" label="销售金额" align="center" />
|
||||
<el-table-column prop="shippingFee" label="运费" align="center" />
|
||||
</el-table>
|
||||
</div>
|
||||
<!--End 主页面主要部分-->
|
||||
@@ -76,6 +76,12 @@
|
||||
return {
|
||||
btndisabled: false,
|
||||
btnList: [{
|
||||
type: 'success',
|
||||
size: 'small',
|
||||
icon: 'export',
|
||||
btnKey: 'build',
|
||||
btnLabel: '导出'
|
||||
}, {
|
||||
type: 'info',
|
||||
size: 'small',
|
||||
icon: 'cross',
|
||||
@@ -99,8 +105,6 @@
|
||||
endDate: '',
|
||||
cusmoterCode: '',
|
||||
customerName: '',
|
||||
useOrgSid: '',
|
||||
createOrgSid: '',
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -134,6 +138,9 @@
|
||||
case 'doClose':
|
||||
this.doClose()
|
||||
break
|
||||
case 'build':
|
||||
this.build()
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
@@ -155,8 +162,9 @@
|
||||
// 查询列表信息
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
this.listQuery.params.useOrgSid = window.sessionStorage.getItem('orgSid')
|
||||
this.listQuery.params.createOrgSid = window.sessionStorage.getItem('orgSid')
|
||||
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
|
||||
this.listQuery.params.orgPath = window.sessionStorage.getItem('orgSidPath')
|
||||
this.listQuery.params.menuUrl = this.$route.path
|
||||
req.listPage(this.listQuery).then(response => {
|
||||
this.listLoading = false
|
||||
if (response.success) {
|
||||
@@ -182,11 +190,8 @@
|
||||
params: {
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
customerCode: '',
|
||||
cusmoterCode: '',
|
||||
customerName: '',
|
||||
warehouseName: '',
|
||||
useOrgSid: '',
|
||||
createOrgSid: '',
|
||||
}
|
||||
}
|
||||
this.getList()
|
||||
@@ -247,6 +252,34 @@
|
||||
doClose() {
|
||||
this.$store.dispatch('tagsView/delView', this.$route)
|
||||
this.$router.go(-1)
|
||||
},
|
||||
// 导出
|
||||
build() {
|
||||
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
|
||||
req.expExcelOfCustomer(this.listQuery.params).then((resp) => {
|
||||
loading.close()
|
||||
const blob = new Blob([resp], {
|
||||
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
||||
})
|
||||
const fileName = '客户销售统计_' + this.listQuery.params.startDate + '.xlsx'
|
||||
const elink = document.createElement('a')
|
||||
elink.download = fileName
|
||||
elink.style.display = 'nonde'
|
||||
elink.href = URL.createObjectURL(blob)
|
||||
document.body.appendChild(elink)
|
||||
elink.click()
|
||||
URL.revokeObjectURL(elink.href)
|
||||
document.body.removeChild(elink)
|
||||
}).catch(() => {
|
||||
loading.close()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,19 +8,42 @@
|
||||
<div class="searchcon">
|
||||
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
|
||||
<div v-show="isSearchShow" class="search">
|
||||
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
|
||||
<el-form-item label="下单日期">
|
||||
<el-date-picker v-model="listQuery.params.startDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
|
||||
type="date" placeholder="选择日期"></el-date-picker>
|
||||
<span style="padding: 0 8px">至</span>
|
||||
<el-date-picker v-model="listQuery.params.endDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
|
||||
type="date" placeholder="选择日期"></el-date-picker>
|
||||
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
|
||||
|
||||
|
||||
<el-form-item label="供应商">
|
||||
<el-select v-model="listQuery.params.supplierSid" clearable placeholder="请选择供应商" style="width: 220px;">
|
||||
<el-option v-for="item in supplierList" :key="item.sid" :label="item.supplierName" :value="item.sid">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="客户编码">
|
||||
<el-input v-model="listQuery.params.warehouseName" placeholder="" clearable />
|
||||
<el-form-item label="仓库">
|
||||
<el-select v-model="listQuery.params.warehouseSid" placeholder="请选择仓库" style="width: 220px;">
|
||||
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName"
|
||||
:value="item.sid" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="客户名称">
|
||||
<el-input v-model="listQuery.params.customerName" placeholder="" clearable />
|
||||
<el-form-item label="采购入库日期">
|
||||
<el-date-picker v-model="listQuery.params.value2" type="daterange" align="right" unlink-panels
|
||||
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd" :picker-options="pickerOptions">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品品牌">
|
||||
<el-select v-model="listQuery.params.brandSid" placeholder="请选择品牌">
|
||||
<el-option v-for="item in brandList" :key="item.sid" :label="item.brandName" :value="item.sid" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品类别">
|
||||
<el-select v-model="listQuery.params.typeSid" placeholder="请选择类别">
|
||||
<el-option v-for="item in cateList" :key="item.sid" :label="item.goodsTypeName" :value="item.sid" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品名称">
|
||||
<el-select v-model="listQuery.params.goodsSid" placeholder="请选择商品" style="width: 220px;">
|
||||
<el-option v-for="item in goodsList" :key="item.goodsSpuSid" :label="item.goodsName"
|
||||
:value="item.goodsSpuSid" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="btn" style="text-align: center;">
|
||||
@@ -39,16 +62,16 @@
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" align="center" width="50" />
|
||||
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
|
||||
<el-table-column prop="billNo" label="商品编码" align="center" />
|
||||
<el-table-column prop="shopName" label="条码" align="center" />
|
||||
<el-table-column prop="state" label="商品名称" align="center" />
|
||||
<el-table-column prop="createTime" label="规格编码" align="center" />
|
||||
<el-table-column prop="billTypeValue" label="规格型号" align="center" />
|
||||
<el-table-column prop="shopName" label="商品分类" align="center" />
|
||||
<el-table-column prop="shopName" label="品牌" align="center" />
|
||||
<el-table-column prop="shopName" label="数量" align="center" />
|
||||
<el-table-column prop="shopName" label="单价" align="center" />
|
||||
<el-table-column prop="shopName" label="金额" align="center" />
|
||||
<el-table-column prop="goodsCode" label="商品编码" align="center" />
|
||||
<el-table-column prop="barCode" label="条码" align="center" />
|
||||
<el-table-column prop="goodsName" label="商品名称" align="center" />
|
||||
<el-table-column prop="goodsSkuCode" label="规格编码" align="center" />
|
||||
<el-table-column prop="title" label="规格型号" align="center" />
|
||||
<el-table-column prop="typeName" label="商品分类" align="center" />
|
||||
<el-table-column prop="brandName" label="品牌" align="center" />
|
||||
<el-table-column prop="count" label="数量" align="center" />
|
||||
<el-table-column prop="cost" label="单价" align="center" />
|
||||
<el-table-column prop="amount" label="金额" align="center" />
|
||||
</el-table>
|
||||
</div>
|
||||
<!--End 主页面主要部分-->
|
||||
@@ -69,6 +92,13 @@
|
||||
import pageye from '@/components/pagination/pageye'
|
||||
import ButtonBar from '@/components/ButtonBar'
|
||||
import req from '@/api/statistics/goodsPurchase'
|
||||
import req2 from '@/api/goods/brand.js'
|
||||
import req3 from '@/api/goods/category.js'
|
||||
import req4 from '@/api/goods/goods.js'
|
||||
import {
|
||||
choiceSupplierInfo,
|
||||
getWarehouses,
|
||||
} from '@/api/Common/dictcommons'
|
||||
|
||||
export default {
|
||||
name: 'SalesOrder',
|
||||
@@ -81,6 +111,12 @@
|
||||
return {
|
||||
btndisabled: false,
|
||||
btnList: [{
|
||||
type: 'success',
|
||||
size: 'small',
|
||||
icon: 'export',
|
||||
btnKey: 'build',
|
||||
btnLabel: '导出'
|
||||
}, {
|
||||
type: 'info',
|
||||
size: 'small',
|
||||
icon: 'cross',
|
||||
@@ -102,22 +138,103 @@
|
||||
params: {
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
cusmoterCode: '',
|
||||
customerName: '',
|
||||
useOrgSid: '',
|
||||
createOrgSid: '',
|
||||
brandSid: '',
|
||||
goodsSid: '',
|
||||
supplierSid: '',
|
||||
typeSid: '',
|
||||
warehouseSid: '',
|
||||
}
|
||||
}
|
||||
},
|
||||
pickerOptions: {
|
||||
shortcuts: [{
|
||||
text: '昨天',
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 1);
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
}, {
|
||||
text: '近7天',
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
}, {
|
||||
text: '近30天',
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
}, ]
|
||||
},
|
||||
value1: '',
|
||||
value2: '',
|
||||
brandList: [],
|
||||
cateList: [],
|
||||
warehouseList: [],
|
||||
supplierList: [],
|
||||
goodsList: [],
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'listQuery.params.value2'(newVal) {
|
||||
console.log("value2 ", newVal);
|
||||
|
||||
this.listQuery.params.startDate = newVal[0]
|
||||
this.listQuery.params.endDate = newVal[1]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// 初始化变量
|
||||
this.getList()
|
||||
this.init()
|
||||
|
||||
},
|
||||
mounted() {
|
||||
this.$refs['btnbar'].setButtonList(this.btnList)
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
|
||||
choiceSupplierInfo({
|
||||
createOrgSid: window.sessionStorage.getItem('orgSid')
|
||||
}).then((resp) => {
|
||||
if (resp.success) {
|
||||
this.supplierList = resp.data
|
||||
console.log("aaaaaa", this.supplierNameList);
|
||||
}
|
||||
})
|
||||
getWarehouses({
|
||||
orgPath: window.sessionStorage.getItem('orgSidPath'),
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.warehouseList = res.data
|
||||
|
||||
console.log("aaaaaa", this.warehouseList);
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
var parpams = {
|
||||
orgPath: window.sessionStorage.getItem('orgSid'),
|
||||
}
|
||||
req2.getAllBrand(parpams).then(resp => {
|
||||
this.brandList = resp.data
|
||||
})
|
||||
req3.getAllType(parpams).then(resp => {
|
||||
this.cateList = resp.data
|
||||
})
|
||||
|
||||
req4.getGoodsListAllByOrg(parpams).then(resp => {
|
||||
this.goodsList = resp.data
|
||||
})
|
||||
|
||||
},
|
||||
// 搜索条件效果
|
||||
clicksearchShow() {
|
||||
this.isSearchShow = !this.isSearchShow
|
||||
@@ -139,6 +256,9 @@
|
||||
case 'doClose':
|
||||
this.doClose()
|
||||
break
|
||||
case 'build':
|
||||
this.build()
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
@@ -160,8 +280,9 @@
|
||||
// 查询列表信息
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
this.listQuery.params.useOrgSid = window.sessionStorage.getItem('orgSid')
|
||||
this.listQuery.params.createOrgSid = window.sessionStorage.getItem('orgSid')
|
||||
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
|
||||
this.listQuery.params.orgPath = window.sessionStorage.getItem('orgSidPath')
|
||||
this.listQuery.params.menuUrl = this.$route.path
|
||||
req.listPage(this.listQuery).then(response => {
|
||||
this.listLoading = false
|
||||
if (response.success) {
|
||||
@@ -187,11 +308,11 @@
|
||||
params: {
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
customerCode: '',
|
||||
customerName: '',
|
||||
warehouseName: '',
|
||||
useOrgSid: '',
|
||||
createOrgSid: '',
|
||||
brandSid: '',
|
||||
goodsSid: '',
|
||||
supplierSid: '',
|
||||
typeSid: '',
|
||||
warehouseSid: '',
|
||||
}
|
||||
}
|
||||
this.getList()
|
||||
@@ -252,6 +373,34 @@
|
||||
doClose() {
|
||||
this.$store.dispatch('tagsView/delView', this.$route)
|
||||
this.$router.go(-1)
|
||||
},
|
||||
// 导出
|
||||
build() {
|
||||
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
|
||||
req.expExcelOfCustomer(this.listQuery.params).then((resp) => {
|
||||
loading.close()
|
||||
const blob = new Blob([resp], {
|
||||
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
||||
})
|
||||
const fileName = '商品采购统计_' + this.listQuery.params.startDate + '.xlsx'
|
||||
const elink = document.createElement('a')
|
||||
elink.download = fileName
|
||||
elink.style.display = 'nonde'
|
||||
elink.href = URL.createObjectURL(blob)
|
||||
document.body.appendChild(elink)
|
||||
elink.click()
|
||||
URL.revokeObjectURL(elink.href)
|
||||
document.body.removeChild(elink)
|
||||
}).catch(() => {
|
||||
loading.close()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,19 +8,48 @@
|
||||
<div class="searchcon">
|
||||
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
|
||||
<div v-show="isSearchShow" class="search">
|
||||
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
|
||||
<el-form-item label="下单日期">
|
||||
<el-date-picker v-model="listQuery.params.startDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
|
||||
type="date" placeholder="选择日期"></el-date-picker>
|
||||
<span style="padding: 0 8px">至</span>
|
||||
<el-date-picker v-model="listQuery.params.endDate" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
|
||||
type="date" placeholder="选择日期"></el-date-picker>
|
||||
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
|
||||
|
||||
<el-form-item label="供应商">
|
||||
<el-select v-model="listQuery.params.supplierSid" clearable placeholder="请选择供应商" style="width: 220px;">
|
||||
<el-option v-for="item in supplierList" :key="item.sid" :label="item.supplierName" :value="item.sid">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="客户编码">
|
||||
<el-input v-model="listQuery.params.warehouseName" placeholder="" clearable />
|
||||
<el-form-item label="仓库">
|
||||
<el-select v-model="listQuery.params.warehouseSid" placeholder="请选择仓库" style="width: 220px;">
|
||||
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName"
|
||||
:value="item.sid" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="客户名称">
|
||||
<el-input v-model="listQuery.params.customerName" placeholder="" clearable />
|
||||
<el-form-item label="采购入库日期">
|
||||
<el-date-picker v-model="listQuery.params.value2" type="daterange" align="right" unlink-panels
|
||||
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd" :picker-options="pickerOptions">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品名称">
|
||||
<el-select v-model="listQuery.params.goodsSid" placeholder="请选择商品" style="width: 220px;">
|
||||
<el-option v-for="item in goodsList" :key="item.goodsSpuSid" :label="item.goodsName"
|
||||
:value="item.goodsSpuSid" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品品牌">
|
||||
<el-select v-model="listQuery.params.brandSid" placeholder="请选择品牌">
|
||||
<el-option v-for="item in brandList" :key="item.sid" :label="item.brandName" :value="item.sid" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品类别">
|
||||
<el-select v-model="listQuery.params.typeSid" placeholder="请选择类别">
|
||||
<el-option v-for="item in cateList" :key="item.sid" :label="item.goodsTypeName" :value="item.sid" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品数量">
|
||||
<el-input v-model="listQuery.params.count" placeholder="销售/退货大于" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="停用商品">
|
||||
<el-radio v-model="listQuery.params.state" :label="1">显示</el-radio>
|
||||
<el-radio v-model="listQuery.params.state" :label="0">不显示</el-radio>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="btn" style="text-align: center;">
|
||||
@@ -39,20 +68,20 @@
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" align="center" width="50" />
|
||||
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
|
||||
<el-table-column prop="billNo" label="商品编码" align="center" />
|
||||
<el-table-column prop="state" label="商品名称" align="center" />
|
||||
<el-table-column prop="createTime" label="规格编码" align="center" />
|
||||
<el-table-column prop="billTypeValue" label="规格型号" align="center" />
|
||||
<el-table-column prop="shopName" label="条码" align="center" />
|
||||
<el-table-column prop="shopName" label="商品分类" align="center" />
|
||||
<el-table-column prop="shopName" label="品牌" align="center" />
|
||||
<el-table-column prop="shopName" label="数量" align="center" />
|
||||
<el-table-column prop="shopName" label="平均单价" align="center" />
|
||||
<el-table-column prop="shopName" label="金额" align="center" />
|
||||
<el-table-column prop="shopName" label="成本单价" align="center" />
|
||||
<el-table-column prop="shopName" label="成本" align="center" />
|
||||
<el-table-column prop="shopName" label="毛利率" align="center" />
|
||||
<el-table-column prop="shopName" label="毛利" align="center" />
|
||||
<el-table-column prop="goodsCode" label="商品编码" align="center" />
|
||||
<el-table-column prop="goodsName" label="商品名称" align="center" />
|
||||
<el-table-column prop="goodsCode" label="规格编码" align="center" />
|
||||
<el-table-column prop="goodsSkuCode" label="规格型号" align="center" />
|
||||
<el-table-column prop="barCode" label="条码" align="center" />
|
||||
<el-table-column prop="typeName" label="商品分类" align="center" />
|
||||
<el-table-column prop="brandName" label="品牌" align="center" />
|
||||
<el-table-column prop="count" label="数量" align="center" />
|
||||
<el-table-column prop="averageCost" label="平均销售单价" align="center" />
|
||||
<el-table-column prop="amount" label="销售金额" align="center" />
|
||||
<el-table-column prop="cbdPrice" label="平均成本单价" align="center" />
|
||||
<el-table-column prop="cbPrice" label="成本合计" align="center" />
|
||||
<el-table-column prop="mll" label="毛利率" align="center" />
|
||||
<el-table-column prop="ml" label="毛利" align="center" />
|
||||
</el-table>
|
||||
</div>
|
||||
<!--End 主页面主要部分-->
|
||||
@@ -72,7 +101,15 @@
|
||||
import Pagination from '@/components/pagination'
|
||||
import pageye from '@/components/pagination/pageye'
|
||||
import ButtonBar from '@/components/ButtonBar'
|
||||
import req from '@/api/statistics/cusmoterSale'
|
||||
import req from '@/api/statistics/goodsSale'
|
||||
import req2 from '@/api/goods/brand.js'
|
||||
import req3 from '@/api/goods/category.js'
|
||||
import req4 from '@/api/goods/goods.js'
|
||||
import {
|
||||
choiceSupplierInfo,
|
||||
getWarehouses,
|
||||
} from '@/api/Common/dictcommons'
|
||||
|
||||
|
||||
export default {
|
||||
name: 'SalesOrder',
|
||||
@@ -85,6 +122,12 @@
|
||||
return {
|
||||
btndisabled: false,
|
||||
btnList: [{
|
||||
type: 'success',
|
||||
size: 'small',
|
||||
icon: 'export',
|
||||
btnKey: 'build',
|
||||
btnLabel: '导出'
|
||||
}, {
|
||||
type: 'info',
|
||||
size: 'small',
|
||||
icon: 'cross',
|
||||
@@ -106,22 +149,105 @@
|
||||
params: {
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
cusmoterCode: '',
|
||||
customerName: '',
|
||||
useOrgSid: '',
|
||||
createOrgSid: '',
|
||||
supplierSid: '',
|
||||
warehouseSid: '',
|
||||
goodsSid: '',
|
||||
brandSid: '',
|
||||
typeSid: '',
|
||||
count: '',
|
||||
state: 1,
|
||||
}
|
||||
}
|
||||
},
|
||||
pickerOptions: {
|
||||
shortcuts: [{
|
||||
text: '昨天',
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 1);
|
||||
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
}, {
|
||||
text: '近7天',
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
}, {
|
||||
text: '近30天',
|
||||
onClick(picker) {
|
||||
const end = new Date();
|
||||
const start = new Date();
|
||||
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||
picker.$emit('pick', [start, end]);
|
||||
}
|
||||
}, ]
|
||||
},
|
||||
value1: '',
|
||||
value2: '',
|
||||
brandList: [],
|
||||
cateList: [],
|
||||
warehouseList: [],
|
||||
supplierList: [],
|
||||
goodsList: [],
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
'listQuery.params.value2'(newVal) {
|
||||
console.log("value2 ", newVal);
|
||||
|
||||
this.listQuery.params.startDate = newVal[0]
|
||||
this.listQuery.params.endDate = newVal[1]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// 初始化变量
|
||||
this.getList()
|
||||
this.init()
|
||||
},
|
||||
mounted() {
|
||||
this.$refs['btnbar'].setButtonList(this.btnList)
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
|
||||
choiceSupplierInfo({
|
||||
createOrgSid: window.sessionStorage.getItem('orgSid')
|
||||
}).then((resp) => {
|
||||
if (resp.success) {
|
||||
this.supplierList = resp.data
|
||||
console.log("aaaaaa", this.supplierNameList);
|
||||
}
|
||||
})
|
||||
getWarehouses({
|
||||
orgPath: window.sessionStorage.getItem('orgSidPath'),
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.warehouseList = res.data
|
||||
|
||||
console.log("aaaaaa", this.warehouseList);
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
var parpams = {
|
||||
orgPath: window.sessionStorage.getItem('orgSid'),
|
||||
}
|
||||
req2.getAllBrand(parpams).then(resp => {
|
||||
this.brandList = resp.data
|
||||
})
|
||||
req3.getAllType(parpams).then(resp => {
|
||||
this.cateList = resp.data
|
||||
})
|
||||
|
||||
req4.getGoodsListAllByOrg(parpams).then(resp => {
|
||||
this.goodsList = resp.data
|
||||
})
|
||||
|
||||
},
|
||||
// 搜索条件效果
|
||||
clicksearchShow() {
|
||||
this.isSearchShow = !this.isSearchShow
|
||||
@@ -143,6 +269,9 @@
|
||||
case 'doClose':
|
||||
this.doClose()
|
||||
break
|
||||
case 'build':
|
||||
this.build()
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
@@ -164,8 +293,9 @@
|
||||
// 查询列表信息
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
this.listQuery.params.useOrgSid = window.sessionStorage.getItem('orgSid')
|
||||
this.listQuery.params.createOrgSid = window.sessionStorage.getItem('orgSid')
|
||||
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
|
||||
this.listQuery.params.orgPath = window.sessionStorage.getItem('orgSidPath')
|
||||
this.listQuery.params.menuUrl = this.$route.path
|
||||
req.listPage(this.listQuery).then(response => {
|
||||
this.listLoading = false
|
||||
if (response.success) {
|
||||
@@ -191,11 +321,13 @@
|
||||
params: {
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
customerCode: '',
|
||||
customerName: '',
|
||||
warehouseName: '',
|
||||
useOrgSid: '',
|
||||
createOrgSid: '',
|
||||
supplierSid: '',
|
||||
warehouseSid: '',
|
||||
goodsSid: '',
|
||||
brandSid: '',
|
||||
typeSid: '',
|
||||
count: '',
|
||||
state: 1,
|
||||
}
|
||||
}
|
||||
this.getList()
|
||||
@@ -256,6 +388,34 @@
|
||||
doClose() {
|
||||
this.$store.dispatch('tagsView/delView', this.$route)
|
||||
this.$router.go(-1)
|
||||
},
|
||||
// 导出
|
||||
build() {
|
||||
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
|
||||
req.expExcelOfCustomer(this.listQuery.params).then((resp) => {
|
||||
loading.close()
|
||||
const blob = new Blob([resp], {
|
||||
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
||||
})
|
||||
const fileName = '商品销售统计_' + this.listQuery.params.startDate + '.xlsx'
|
||||
const elink = document.createElement('a')
|
||||
elink.download = fileName
|
||||
elink.style.display = 'nonde'
|
||||
elink.href = URL.createObjectURL(blob)
|
||||
document.body.appendChild(elink)
|
||||
elink.click()
|
||||
URL.revokeObjectURL(elink.href)
|
||||
document.body.removeChild(elink)
|
||||
}).catch(() => {
|
||||
loading.close()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user