123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- <template>
- <view class="sales-list-wrap">
- <view class="head-info" id="tjCons">
- <view class="search-top-box" @click="openShlefModal=true">
- <text v-if="searchForm.shelfSnList.length==1">{{curShelfName}}</text>
- <text v-if="searchForm.shelfSnList.length>1">{{'已选'+searchForm.shelfSnList.length+'个货架'}}</text>
- <text v-if="searchForm.shelfSnList.length==0">全部货架</text>
- <u-icon name="arrow-right"></u-icon>
- </view>
- <view class="countData">
- <view>总款数:<text>{{countData&&countData.productCategory||0}}</text>;</view>
- <view>总数量:<text>{{countData&&countData.totalQty||0}}</text>;</view>
- <view>总结算金额:<text>¥{{countData&&countData.settleAmount||0}}</text>;</view>
- </view>
- </view>
- <!-- 货架列表 -->
- <view class="list-box">
- <listComponent ref="salesList" :height="listHeight" :params="searchParams" />
- </view>
- <!-- 查询右侧弹框 -->
- <search :openModal="openModal" :billStatusOpt="billStatusOpt" :defaultParams="searchForm" @refresh="refresh" @close="openModal=false" />
- <!-- 选择货架 -->
- <chooseShelf :openModal="openShlefModal" :defaultParams="searchForm.shelfSnList" @refresh="refreshList" @close="openShlefModal=false" />
- </view>
- </template>
- <script>
- import ListComponent from './listComponent.vue'
- import search from './search.vue'
- import chooseShelf from './chooseShelf.vue'
- import { getLookUpItem } from '@/api/data'
- import { orderBillQueryPage, orderBillQueryCount } from '@/api/shelf'
- export default{
- components: { ListComponent, search, chooseShelf },
- data(){
- return{
- listData: [],
- pageNo: 1,
- pageSize: 15,
- totalNum: 0,
- noDataText: '暂无数据',
- billStatusOpt: [],
- searchForm: {
- shelfSnList: []
- },
- searchParams: {},
- listHeight: 0,
- openModal: false,
- openShlefModal: false,
- countData: null,
- curShelfName: ''
- }
- },
- onNavigationBarButtonTap(e){ // 标题栏 按钮操作
- this.openModal = true
- this.openShlefModal = false
- },
- onBackPress() {
- if(this.openModal||this.openShlefModal){
- this.openModal = false
- this.openShlefModal = false
- return true
- }
- },
- onReady() {
- const query = uni.createSelectorQuery().in(this);
- query.select('#tjCons').boundingClientRect(data => {
- this.listHeight = Math.floor(data.height-25)
- }).exec();
- },
- onLoad(opts) {
- console.log(opts)
- const _this = this
- uni.setNavigationBarColor({
- frontColor: '#ffffff',
- backgroundColor: this.$config('primaryColor')
- })
-
- this.getLookUpItem('ORDER_BILL_STATE')
- // 从消息页面过来
- if(opts.bizType == 'SHELF_WARN'&&opts.shelfSn){
- this.searchForm.shelfSnList = [opts.shelfSn]
- this.searchParams.shelfSnList = [opts.shelfSn]
- this.curShelfName = opts.shelfName
- }
-
- this.$nextTick(function(){
- this.$refs.salesList.getList(1)
- this.getCount()
- })
-
- // 监听整改完成后刷新事件
- uni.$on('refreshSalesBL', function(data){
- _this.$refs.salesList.getList(1)
- _this.getCount()
- })
- },
- onUnload() {
- uni.$off('refreshSalesBL')
- },
- methods: {
- getCount(){
- orderBillQueryCount(this.searchParams).then(res => {
- this.countData = res.data || null
- })
- },
- // 获取查询参数 刷新列表
- refresh(params){
- const _this = this
- this.searchParams = {shelfSnList:this.searchForm.shelfSnList,...params}
- this.searchParams.orderStartDate = params&¶ms.orderStartDate ? (params.orderStartDate + ' 00:00:00') : ''
- this.searchParams.orderEndDate = params&¶ms.orderEndDate ? (params.orderEndDate + ' 23:59:59') : ''
- console.log(this.searchParams)
- this.$nextTick(function(){
- _this.$refs.salesList.refash()
- _this.getCount()
- })
- },
- refreshList(data, shelfName){
- this.searchForm.shelfSnList = data
- this.curShelfName = shelfName
- this.refresh(this.searchForm)
- },
- // 状态 change
- handleChange(type){
- this.$refs.salesList.refash()
- this.getCount()
- },
- // 配送方式
- getLookUpItem (type) {
- getLookUpItem({ lookupCode: type, pageNo: 1, pageSize: 1000 }).then(res => {
- if (res.status == 200 && res.data && res.data.list) {
- res.data.list.map(item => {
- item.label = item.dispName
- item.value = item.code
- })
- this.billStatusOpt = res.data.list
- } else {
- this.billStatusOpt = []
- }
- })
- }
- }
- }
- </script>
- <style lang="scss">
- .sales-list-wrap{
- width: 100%;
- .head-info{
- .search-top-box{
- background-color: #fff;
- text-align: center;
- padding: 20rpx 0;
- }
- .countData{
- background: #fff;
- margin: 20upx 20upx 0;
- display: flex;
- padding: 15upx;
- border-radius: 15rpx;
- text{
- color: #ff5500;
- }
- font-size: 24rpx;
- }
- }
- .list-box{
- padding: 0 25upx;
- }
- }
- </style>
|