Browse Source

预约配货统计

master
liupopo 1 year ago
parent
commit
42c1b09b66
  1. 103
      src/api/lpk/reserveorder.js
  2. 143
      src/views/orderreserve/allDistributionCount.vue
  3. 8
      src/views/orderreserve/distributionCount.vue
  4. 4
      src/views/orderreserve/index.vue
  5. 178
      src/views/orderreserve/subBranch.vue

103
src/api/lpk/reserveorder.js

@ -24,96 +24,71 @@ export default {
responseType: 'blob' responseType: 'blob'
}) })
}, },
// 获取各提货点配货列表
// 获取所有门店 pageOfStore: function(data) {
getAllStore: function(data) {
return request({
url: '/lpkstore/getAllStore',
method: 'delete',
data: data
});
},
// 导出报表
exportExcel: function(data) {
return request({
url: '/lpksreservoorder/exportExcel',
method: 'post',
responseType: 'blob', // 表明返回服务器返回的数据类型
data: data,
headers: {
'Content-Type': 'application/json'
}
});
},
// 获取配货列表
distributionList: function(data) {
return request({ return request({
url: '/lpksreservoorder/orderListByStore', url: '/adminapi/reserve/pageOfStore',
method: 'post', method: 'post',
data: data data: data
}); });
}, },
expExcelOfStore: function(params) {
// 导出报表
distributionExportExcel: function(data) {
return request({ return request({
url: '/lpksreservoorder/exportExcelByStore', url: '/adminapi/reserve/expExcelOfStore',
method: 'post', method: 'post',
responseType: 'blob', // 表明返回服务器返回的数据类型 data: params,
data: data, // headers: {
// "responseType": "blob" //将二进制流转换成blob对象
// },
headers: { headers: {
'Content-Type': 'application/json' 'Access-Control-Allow-Headers': 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild'
}
});
}, },
responseType: 'blob'
})
// 获取支行汇总列表 },
bankOrderList: function(data) { // 获取各支行配货列表
pageOfBank: function(data) {
return request({ return request({
url: '/lpksreservoorder/orderListByBank', url: '/adminapi/reserve/pageOfBank',
method: 'post', method: 'post',
data: data data: data
}); });
}, },
expExcelOfBank: function(params) {
// 导出支行报表
bankOrderExportExcel: function(data) {
return request({ return request({
url: '/lpksreservoorder/exportExcelByBank', url: '/adminapi/reserve/expExcelOfBank',
method: 'post', method: 'post',
responseType: 'blob', // 表明返回服务器返回的数据类型 data: params,
data: data, // headers: {
// "responseType": "blob" //将二进制流转换成blob对象
// },
headers: { headers: {
'Content-Type': 'application/json' 'Access-Control-Allow-Headers': 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild'
}
});
}, },
responseType: 'blob'
// 获取支行汇总列表 })
ZOrderList: function(data) { },
// 获取总配货列表
pageOfAll: function(data) {
return request({ return request({
url: '/lpksreservoorder/orderListByZ', url: '/adminapi/reserve/pageOfAll',
method: 'post', method: 'post',
data: data data: data
}); });
}, },
expExcelOfAll: function(params) {
// 导出总报表
allOrderExportExcel: function(data) {
return request({ return request({
url: '/lpksreservoorder/exportExcelByZ', url: '/adminapi/reserve/expExcelOfAll',
method: 'post', method: 'post',
responseType: 'blob', // 表明返回服务器返回的数据类型 data: params,
data: data, // headers: {
// "responseType": "blob" //将二进制流转换成blob对象
// },
headers: { headers: {
'Content-Type': 'application/json' 'Access-Control-Allow-Headers': 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild'
}
});
}, },
responseType: 'blob'
})
}
} }

143
src/views/orderreserve/allDistributionCount.vue

@ -10,36 +10,20 @@
<div v-show="isSearchShow" class="search"> <div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header"> <el-form :inline="true" class="tab-header">
<el-form-item label="预约开始日期"> <el-form-item label="预约开始日期">
<el-date-picker v-model="page.params.startDate" @change="selectTime1" type="date" <el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
style="width: 200px;">
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="预约结束日期"> <el-form-item label="预约结束日期">
<el-date-picker v-model="page.params.endDate" @change="selectTime2" type="date" <el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
style="width: 200px;">
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="菜窖分类">
<el-form-item label="卡券类型"> <el-select v-model="page.params.cardType" filterable class="item_input" clearable placeholder="请选择" style="width:100%">
<el-select v-model="page.params.cardType" filterable class="item_input" clearable <el-option v-for="item in brandList" :key="item.id" :label="item.name" :value="item.id" />
placeholder="请选择" style="width:100%" @change="cardTypeSelect">
<el-option v-for="item in cardTypeList" :key="item.text" :label="item.text"
:value="item.sid">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn" style="text-align: center;"> <div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" <el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
@click="dosearch">查询</el-button> <el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh"
@click="resetQuery">重置</el-button>
</div> </div>
</div> </div>
</div> </div>
@ -58,8 +42,8 @@
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">明细</el-button> <el-button type="primary" size="mini" @click="toRelevancy(scope.row)">明细</el-button>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="cardType" label="卡券类型" align="center" />
<el-table-column prop="reserveDate" label="预约日期" align="center" /> <el-table-column prop="reserveDate" label="预约日期" align="center" />
<el-table-column prop="brandName" label="菜窖分类" align="center" />
<el-table-column prop="goodsName" label="商品名称" align="center" /> <el-table-column prop="goodsName" label="商品名称" align="center" />
<el-table-column prop="goodsNumber" label="数量(份)" align="center" /> <el-table-column prop="goodsNumber" label="数量(份)" align="center" />
@ -69,8 +53,7 @@
<div class="pages"> <div class="pages">
<div class="tit" /> <div class="tit" />
<!-- 翻页 --> <!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current" <pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current" :limit.sync="page.size" class="pagination" @pagination="loadList" />
:limit.sync="page.size" class="pagination" @pagination="loadList" />
</div> </div>
</div> </div>
</div> </div>
@ -81,21 +64,17 @@
</template> </template>
<script> <script>
import req from '@/api/order/order.js' import req from '@/api/lpk/reserveorder.js'
import reqMall from '@/api/adminmallapi.js'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './indexInfo.vue' import divAdd from './indexInfo.vue'
import {
getBeforeDate
} from '@/utils/index'
export default { export default {
name: 'SupplierBankInfoIndex', name: 'SupplierBankInfoIndex',
components: { components: {
ButtonBar, ButtonBar,
Pagination, Pagination,
pageye, divAdd
divAdd,
}, },
data() { data() {
return { return {
@ -125,51 +104,26 @@
current: 1, // current: 1, //
size: 10, // size: 10, //
params: { params: {
startDate: "", startDate: '',
endDate: "", endDate: '',
store: "", store: '',
cardType: "" cardType: ''
}, }
},
giftPackList: [],
cardTypeList: [{
text: "全部",
sid: ""
},
{
text: "家庭卡",
sid: "1"
},
{
text: "亲情卡",
sid: "2"
},
{
text: "企业卡",
sid: "3"
}, },
brandList: []
]
} }
}, },
mounted() { mounted() {
this.$refs['btnbar'].setButtonList(this.btnList) this.$refs['btnbar'].setButtonList(this.btnList)
}, },
created() { created() {
this.getAllStore() this.initBrand()
// this.loadList()
}, },
methods: { methods: {
//绿 initBrand() {
cell({ reqMall.listAllBrand().then(resp => {
row, this.brandList = resp.data
column, })
rowIndex,
columnIndex
}) {
if (columnIndex == 3) {
return 'padding: 0px'
}
}, },
// //
clicksearchShow() { clicksearchShow() {
@ -192,38 +146,9 @@
break break
} }
}, },
selectTime1(val) {
console.log('selectTime1:', val)
this.page.params.startDate = val
},
selectTime2(val) {
console.log('selectTime2:', val)
this.page.params.endDate = val
},
giftPackSelect(val) {
console.log('>>>>>>>>>giftPackSelect', val)
this.page.params.store = val
},
cardTypeSelect(val) {
console.log('>>>>>>>>>cardTypeSelect', val)
this.page.params.cardType = val
},
getAllStore() {
req.getAllStore().then((resp) => {
if (resp.success) {
this.giftPackList = resp.data
}
}).catch(() => {})
},
loadList() { loadList() {
this.tableLoading = true this.tableLoading = true
req.ZOrderList(this.page).then((resp) => { req.pageOfAll(this.page).then((resp) => {
this.tableLoading = false this.tableLoading = false
if (resp.success) { if (resp.success) {
const data = resp.data const data = resp.data
@ -255,11 +180,11 @@
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
startDate: "", startDate: '',
endDate: "", endDate: '',
store: "", store: '',
cardType: "" cardType: ''
}, }
} }
this.loadList() this.loadList()
}, },
@ -285,13 +210,12 @@
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}) })
req.expExcelOfAll(this.page.params).then((resp) => {
req.allOrderExportExcel(this.page.params).then((resp) => {
loading.close() loading.close()
const blob = new Blob([resp], { const blob = new Blob([resp], {
type: 'application/vnd.ms-excel' type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
}) })
const fileName = '总配货明细_' + this.page.params.startDate + '.xls' const fileName = '总配货明细_' + this.page.params.startDate + '.xlsx'
const elink = document.createElement('a') const elink = document.createElement('a')
elink.download = fileName elink.download = fileName
elink.style.display = 'nonde' elink.style.display = 'nonde'
@ -303,8 +227,7 @@
}).catch(() => { }).catch(() => {
loading.close() loading.close()
}) })
}, }
} }
} }

8
src/views/orderreserve/distributionCount.vue

@ -198,7 +198,7 @@
}, },
loadList() { loadList() {
this.tableLoading = true this.tableLoading = true
req.pageOfCustomer(this.page).then((resp) => { req.pageOfStore(this.page).then((resp) => {
this.tableLoading = false this.tableLoading = false
if (resp.success) { if (resp.success) {
const data = resp.data const data = resp.data
@ -261,12 +261,12 @@
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}) })
req.distributionExportExcel(this.page.params).then((resp) => { req.expExcelOfStore(this.page.params).then((resp) => {
loading.close() loading.close()
const blob = new Blob([resp], { const blob = new Blob([resp], {
type: 'application/vnd.ms-excel' type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
}) })
const fileName = '网点配货明细_' + this.page.params.startDate + '.xls' const fileName = '网点配货明细_' + this.page.params.startDate + '.xlsx'
const elink = document.createElement('a') const elink = document.createElement('a')
elink.download = fileName elink.download = fileName
elink.style.display = 'nonde' elink.style.display = 'nonde'

4
src/views/orderreserve/index.vue

@ -255,9 +255,9 @@
req.expExcelOfCustomer(this.page.params).then((resp) => { req.expExcelOfCustomer(this.page.params).then((resp) => {
loading.close() loading.close()
const blob = new Blob([resp], { const blob = new Blob([resp], {
type: 'application/vnd.ms-excel' type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
}) })
const fileName = '预约单明细_' + this.page.params.startDate + '.xls' const fileName = '预约单明细_' + this.page.params.startDate + '.xlsx'
const elink = document.createElement('a') const elink = document.createElement('a')
elink.download = fileName elink.download = fileName
elink.style.display = 'nonde' elink.style.display = 'nonde'

178
src/views/orderreserve/subBranch.vue

@ -10,51 +10,31 @@
<div v-show="isSearchShow" class="search"> <div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header"> <el-form :inline="true" class="tab-header">
<el-form-item label="预约开始日期"> <el-form-item label="预约开始日期">
<el-date-picker v-model="page.params.startDate" @change="selectTime1" type="date" <el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
style="width: 200px;">
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="预约结束日期"> <el-form-item label="预约结束日期">
<el-date-picker v-model="page.params.endDate" @change="selectTime2" type="date" <el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
style="width: 200px;">
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="所属支行">
<el-form-item label="支行名称"> <el-select v-model="page.params.bankSid" filterable class="item_input" clearable placeholder="请选择" style="width:100%">
<el-select v-model="page.params.bankSid" filterable class="item_input" clearable <el-option v-for="item in bankList" :key="item.sid" :label="item.name" :value="item.sid" />
placeholder="请选择" style="width:100%" @change="bankSelect">
<el-option v-for="item in bankList" :key="item.name" :label="item.name"
:value="item.sid">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="菜窖分类">
<el-form-item label="卡券类型"> <el-select v-model="page.params.cardType" filterable class="item_input" clearable placeholder="请选择" style="width:100%">
<el-select v-model="page.params.cardType" filterable class="item_input" clearable <el-option v-for="item in brandList" :key="item.id" :label="item.name" :value="item.id" />
placeholder="请选择" style="width:100%" @change="cardTypeSelect">
<el-option v-for="item in cardTypeList" :key="item.text" :label="item.text"
:value="item.sid">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn" style="text-align: center;"> <div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" <el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
@click="dosearch">查询</el-button> <el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh"
@click="resetQuery">重置</el-button>
</div> </div>
</div> </div>
</div> </div>
<!-- Start 项目列表头部 --> <!-- Start 项目列表头部 -->
<div class="listtop"> <div class="listtop">
<div class="tit">配货列表</div> <div class="tit">支行配货列表</div>
</div> </div>
<!-- End 项目列表头部 --> <!-- End 项目列表头部 -->
<!-- Start 项目列表 --> <!-- Start 项目列表 -->
@ -67,14 +47,14 @@
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">明细</el-button> <el-button type="primary" size="mini" @click="toRelevancy(scope.row)">明细</el-button>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="cardType" label="卡券类型" align="center" />
<el-table-column prop="reserveDate" label="预约日期" align="center" /> <el-table-column prop="reserveDate" label="预约日期" align="center" />
<el-table-column prop="bankName" label="支行名称" align="center" /> <el-table-column prop="bankName" label="支行名称" align="center" />
<el-table-column prop="brandName" label="菜窖分类" align="center" />
<el-table-column prop="goodsName" label="商品名称" align="center" /> <el-table-column prop="goodsName" label="商品名称" align="center" />
<el-table-column prop="goodsNumber" label="数量(份)" align="center" /> <el-table-column prop="goodsNumber" label="数量(份)" align="center" />
<el-table-column prop="address" label="支行地址" align="center" /> <el-table-column prop="bankAddress" label="支行地址" align="center" />
<el-table-column prop="linker" label="联系人" align="center" /> <el-table-column prop="bankLinker" label="支行联系人" align="center" />
<el-table-column prop="linkPhone" label="联系电话" align="center" /> <el-table-column prop="bankPhone" label="支行电话" align="center" />
</el-table> </el-table>
</div> </div>
@ -82,8 +62,7 @@
<div class="pages"> <div class="pages">
<div class="tit" /> <div class="tit" />
<!-- 翻页 --> <!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current" <pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current" :limit.sync="page.size" class="pagination" @pagination="loadList" />
:limit.sync="page.size" class="pagination" @pagination="loadList" />
</div> </div>
</div> </div>
</div> </div>
@ -94,22 +73,18 @@
</template> </template>
<script> <script>
import req from '@/api/order/order.js' import req from '@/api/lpk/reserveorder.js'
import req2 from '@/api/pickupPoint/pickupPoint.js' import reqBank from '@/api/lpk/bank.js'
import reqMall from '@/api/adminmallapi.js'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './indexInfo.vue' import divAdd from './indexInfo.vue'
import {
getBeforeDate
} from '@/utils/index'
export default { export default {
name: 'SupplierBankInfoIndex', name: 'OrderreserveSubBranch',
components: { components: {
ButtonBar, ButtonBar,
Pagination, Pagination,
pageye, divAdd
divAdd,
}, },
data() { data() {
return { return {
@ -139,52 +114,34 @@
current: 1, // current: 1, //
size: 10, // size: 10, //
params: { params: {
startDate: "", startDate: '',
endDate: "", endDate: '',
bankSid: "", bankSid: '',
cardType: "" cardType: ''
}, }
},
bankList: [],
cardTypeList: [{
text: "全部",
sid: ""
},
{
text: "家庭卡",
sid: "1"
},
{
text: "亲情卡",
sid: "2"
},
{
text: "企业卡",
sid: "3"
}, },
brandList: [],
] bankList: []
} }
}, },
mounted() { mounted() {
this.$refs['btnbar'].setButtonList(this.btnList) this.$refs['btnbar'].setButtonList(this.btnList)
}, },
created() { created() {
this.getAllStore() this.initBank()
// this.loadList() this.initBrand()
}, },
methods: { methods: {
initBank() {
//绿 reqBank.listBankAll()
cell({ .then(resp => {
row, this.bankList = resp.data
column, })
rowIndex, },
columnIndex initBrand() {
}) { reqMall.listAllBrand().then(resp => {
if (columnIndex == 3) { this.brandList = resp.data
return 'padding: 0px' })
}
}, },
// //
clicksearchShow() { clicksearchShow() {
@ -207,42 +164,9 @@
break break
} }
}, },
selectTime1(val) {
console.log('selectTime1:', val)
this.page.params.startDate = val
},
selectTime2(val) {
console.log('selectTime2:', val)
this.page.params.endDate = val
},
bankSelect(val) {
console.log('>>>>>>>>>bankSelect', val)
this.page.params.bankSid = val
},
cardTypeSelect(val) {
console.log('>>>>>>>>>cardTypeSelect', val)
this.page.params.cardType = val
},
getAllStore() {
req2.bankSelect()
.then(resp => {
console.log('>>>>>>>>>bankSelect', resp)
this.bankList = resp.data
console.log('>>>>>>>>>bankSelect', this.bankList)
})
.catch(() => {})
},
loadList() { loadList() {
this.tableLoading = true this.tableLoading = true
req.bankOrderList(this.page).then((resp) => { req.pageOfBank(this.page).then((resp) => {
this.tableLoading = false this.tableLoading = false
if (resp.success) { if (resp.success) {
const data = resp.data const data = resp.data
@ -274,11 +198,11 @@
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
startDate: "", startDate: '',
endDate: "", endDate: '',
bankSid: "", bankSid: '',
cardType: "" cardType: ''
}, }
} }
this.loadList() this.loadList()
}, },
@ -304,13 +228,12 @@
background: 'rgba(0, 0, 0, 0.7)' background: 'rgba(0, 0, 0, 0.7)'
}) })
req.expExcelOfBank(this.page.params).then((resp) => {
req.bankOrderExportExcel(this.page.params).then((resp) => {
loading.close() loading.close()
const blob = new Blob([resp], { const blob = new Blob([resp], {
type: 'application/vnd.ms-excel' type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
}) })
const fileName = '支行配货明细_' + this.page.params.startDate + '.xls' const fileName = '支行配货明细_' + this.page.params.startDate + '.xlsx'
const elink = document.createElement('a') const elink = document.createElement('a')
elink.download = fileName elink.download = fileName
elink.style.display = 'nonde' elink.style.display = 'nonde'
@ -322,8 +245,7 @@
}).catch(() => { }).catch(() => {
loading.close() loading.close()
}) })
}, }
} }
} }

Loading…
Cancel
Save