|
@@ -6,25 +6,24 @@
|
|
|
<p class="en-name"><img :src="`/images/mobile/center/${user.data.enterprise.uu ? 'en' : 'self'}.png`" alt="">{{currentEnName}}</p>
|
|
<p class="en-name"><img :src="`/images/mobile/center/${user.data.enterprise.uu ? 'en' : 'self'}.png`" alt="">{{currentEnName}}</p>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="mobile-fix-content mobile-centerfix-content" id="mobile-storage-center">
|
|
<div class="mobile-fix-content mobile-centerfix-content" id="mobile-storage-center">
|
|
|
- <!--入库记录-->
|
|
|
|
|
<div>
|
|
<div>
|
|
|
<div class="storage-head">
|
|
<div class="storage-head">
|
|
|
- <span class="inline-block" :class="{'active': switchType === 'inBound'}" @click="setSwitchType('inBound')">入库</span>
|
|
|
|
|
- <span class="inline-block" :class="{'active': switchType === 'outBound'}" @click="setSwitchType('outBound')">出库</span>
|
|
|
|
|
|
|
+ <span class="inline-block" :class="{'active': switchType === 'INBOUND'}" @click="setSwitchType('INBOUND')">入库</span>
|
|
|
|
|
+ <span class="inline-block" :class="{'active': switchType === 'OUTBOUND'}" @click="setSwitchType('OUTBOUND')">出库</span>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="storage-record">
|
|
<div class="storage-record">
|
|
|
<div class="search-content clearfix">
|
|
<div class="search-content clearfix">
|
|
|
<div class="search">
|
|
<div class="search">
|
|
|
- <input type="text" placeholder="卖家/发货单" class="staff-search">
|
|
|
|
|
- <span><i class="iconfont icon-sousuo"></i></span>
|
|
|
|
|
|
|
+ <input type="text" v-model="filterParams.keyword" :placeholder="switchType ==='OUTBOUND' ? '发货单/卖家' : '订单号/买家'" class="staff-search" @keyup.13="filterRecord">
|
|
|
|
|
+ <span @click="filterRecord"><i class="iconfont icon-sousuo"></i></span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="tab-content">
|
|
<div class="tab-content">
|
|
|
- <span :class="{'active': handleItem === 0}" @click="handleItem = 0">{{switchType === 'inBound' ? '查看入库记录' : '查看出库记录'}}</span>
|
|
|
|
|
- <span :class="{'active': handleItem === 1}" @click="handleItem = 1">{{switchType === 'inBound' ? '其它入库' : '其它出库'}}</span>
|
|
|
|
|
- <span v-if="switchType === 'outBound'" :class="{'active': handleItem === 2}" @click="handleItem = 2">{{switchType === 'inBound' ? '采购入库' : '销售出库'}}</span>
|
|
|
|
|
|
|
+ <span :class="{'active': handleItem === 0}" @click="setHandleItem(0)">{{switchType === 'INBOUND' ? '查看入库记录' : '查看出库记录'}}</span>
|
|
|
|
|
+ <span :class="{'active': handleItem === 1}" @click="setHandleItem(1)">{{switchType === 'INBOUND' ? '其它入库' : '其它出库'}}</span>
|
|
|
|
|
+ <span :class="{'active': handleItem === 2}" @click="setHandleItem(2)">{{switchType === 'INBOUND' ? '采购入库' : '销售出库'}}</span>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="filters-wrap">
|
|
|
|
|
|
|
+ <div class="filters-wrap" v-if="handleItem !== 1">
|
|
|
<base-filter
|
|
<base-filter
|
|
|
v-for="filterOption in filterOptions"
|
|
v-for="filterOption in filterOptions"
|
|
|
:key="filterOption.selectOption"
|
|
:key="filterOption.selectOption"
|
|
@@ -36,13 +35,11 @@
|
|
|
</base-filter>
|
|
</base-filter>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="list-content">
|
|
<div class="list-content">
|
|
|
- <storage-list :listData="listData" v-if="handleItem === 0"></storage-list>
|
|
|
|
|
- <!--<detail-storage></detail-storage>-->
|
|
|
|
|
- <other-storage v-if="handleItem === 1"></other-storage>
|
|
|
|
|
- <purchase-storage v-if="handleItem === 2"></purchase-storage>
|
|
|
|
|
|
|
+ <storage-list :listData="storageList" :switchType="switchType" :handleItem="handleItem" v-show="handleItem !== 1"></storage-list>
|
|
|
|
|
+ <other-storage :switchType="switchType" v-show="handleItem === 1"></other-storage>
|
|
|
</div>
|
|
</div>
|
|
|
- <!--<empty-status :type="'collect'" :showLink="true" :text="'抱歉,没有相关信息'" v-else></empty-status>-->
|
|
|
|
|
- <!--<pull-up :fixId="'mobile-storage-center'" :searchMore="fetching" :allPage="allPage" :page="page" @pullUpAction="onPullUpAction"></pull-up>-->
|
|
|
|
|
|
|
+ <empty-status v-if="isEmpty && handleItem !== 1" :type="'collect'" :showLink="true" :text="'抱歉,没有相关信息'"></empty-status>
|
|
|
|
|
+ <pull-up :fixId="'mobile-storage-center'" :searchMore="fetching" :allPage="allPage" :page="page" @pullUpAction="onPullUpAction"></pull-up>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -52,18 +49,15 @@
|
|
|
<script>
|
|
<script>
|
|
|
import { RemindBox, PullUp, EmptyStatus } from '~components/mobile/common'
|
|
import { RemindBox, PullUp, EmptyStatus } from '~components/mobile/common'
|
|
|
import { ModalWrapper, BaseFilter } from '~components/mobile/base'
|
|
import { ModalWrapper, BaseFilter } from '~components/mobile/base'
|
|
|
- import { StorageList, DetailStorage, OtherStorage, PurchaseStorage } from '~components/mobile/center/outOfStorage'
|
|
|
|
|
|
|
+ import { StorageList, OtherStorage } from '~components/mobile/center/outOfStorage'
|
|
|
export default {
|
|
export default {
|
|
|
middleware: 'authenticated',
|
|
middleware: 'authenticated',
|
|
|
layout: 'mobile',
|
|
layout: 'mobile',
|
|
|
- fetch({route, store}) {
|
|
|
|
|
- return Promise.all([store.dispatch('product/getLoadStorageData', {})])
|
|
|
|
|
- },
|
|
|
|
|
data () {
|
|
data () {
|
|
|
return {
|
|
return {
|
|
|
remindText: '',
|
|
remindText: '',
|
|
|
timeoutCount: 0,
|
|
timeoutCount: 0,
|
|
|
- switchType: 'inBound',
|
|
|
|
|
|
|
+ switchType: 'INBOUND',
|
|
|
handleItem:0,
|
|
handleItem:0,
|
|
|
filterOptions: [
|
|
filterOptions: [
|
|
|
{
|
|
{
|
|
@@ -84,7 +78,18 @@
|
|
|
}],
|
|
}],
|
|
|
defaultVal: 1
|
|
defaultVal: 1
|
|
|
}
|
|
}
|
|
|
- ]
|
|
|
|
|
|
|
+ ],
|
|
|
|
|
+ page: 0,
|
|
|
|
|
+ isChange: false,
|
|
|
|
|
+ storageList: [],
|
|
|
|
|
+ filterParams:{
|
|
|
|
|
+ count: 10
|
|
|
|
|
+ },
|
|
|
|
|
+ filter:{
|
|
|
|
|
+ count: 10,
|
|
|
|
|
+ sorting: {"createtime":"DESC"},
|
|
|
|
|
+ status: '502-406'
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
components: {
|
|
components: {
|
|
@@ -93,29 +98,85 @@
|
|
|
EmptyStatus,
|
|
EmptyStatus,
|
|
|
BaseFilter,
|
|
BaseFilter,
|
|
|
StorageList,
|
|
StorageList,
|
|
|
- DetailStorage,
|
|
|
|
|
- OtherStorage,
|
|
|
|
|
- PurchaseStorage
|
|
|
|
|
|
|
+ OtherStorage
|
|
|
|
|
+ },
|
|
|
|
|
+ created () {
|
|
|
|
|
+ let currentTime = this.baseUtils.getClearDay(new Date())
|
|
|
|
|
+ let fromDate = currentTime - 29 * 24 * 60 * 60 * 1000
|
|
|
|
|
+ let toDate = currentTime + 23 * 60 * 60 * 1000 + 59 * 60 * 1000 + 59 * 1000
|
|
|
|
|
+ this.$store.dispatch('product/getLoadStorageData', {count: 10, page: 1, fromDate: fromDate, toDate: toDate, type: 'INBOUND'})
|
|
|
|
|
+ },
|
|
|
|
|
+ watch: {
|
|
|
|
|
+ 'storageData': {
|
|
|
|
|
+ handler: function (val) {
|
|
|
|
|
+ if (val && val.content) {
|
|
|
|
|
+ this.storageList = val.content
|
|
|
|
|
+ this.isChange = false
|
|
|
|
|
+ }
|
|
|
|
|
+ this.storageList = [...this.storageList, ...val.content]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ computed: {
|
|
|
|
|
+ storageData () {
|
|
|
|
|
+ return this.allStorageData.data
|
|
|
|
|
+ },
|
|
|
|
|
+ allStorageData () {
|
|
|
|
|
+ return this.$store.state.product.storage.list
|
|
|
|
|
+ },
|
|
|
|
|
+ fetching () {
|
|
|
|
|
+ return this.allStorageData.fetching
|
|
|
|
|
+ },
|
|
|
|
|
+ allPage () {
|
|
|
|
|
+ return this.allStorageData.totalPages
|
|
|
|
|
+ },
|
|
|
|
|
+ isEmpty () {
|
|
|
|
|
+ return this.storageList.length === 0
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
onRemind: function (str) {
|
|
onRemind: function (str) {
|
|
|
this.remindText = str
|
|
this.remindText = str
|
|
|
this.timeoutCount++
|
|
this.timeoutCount++
|
|
|
},
|
|
},
|
|
|
|
|
+ onPullUpAction () {
|
|
|
|
|
+ this.filterParams.page++
|
|
|
|
|
+ this.filter.page++
|
|
|
|
|
+ this.reloadList()
|
|
|
|
|
+ },
|
|
|
setSwitchType (type) {
|
|
setSwitchType (type) {
|
|
|
this.switchType = type
|
|
this.switchType = type
|
|
|
|
|
+ this.filterParams.type = type
|
|
|
|
|
+ this.filterParams.page = 1
|
|
|
|
|
+ this.filter.page = 1
|
|
|
|
|
+ this.isChange = true
|
|
|
|
|
+ this.reloadList()
|
|
|
|
|
+ },
|
|
|
|
|
+ setHandleItem (type) {
|
|
|
|
|
+ this.handleItem = type
|
|
|
|
|
+ if(type !== 1) {
|
|
|
|
|
+ this.filterParams.page = 1
|
|
|
|
|
+ this.filter.page = 1
|
|
|
|
|
+ this.isChange = true
|
|
|
|
|
+ this.reloadList()
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
setSelect (type, val) {
|
|
setSelect (type, val) {
|
|
|
if (type === 'date') {
|
|
if (type === 'date') {
|
|
|
if (val) {
|
|
if (val) {
|
|
|
this.filterParams.fromDate = val.fromDate
|
|
this.filterParams.fromDate = val.fromDate
|
|
|
|
|
+ this.filter.startMils = val.fromDate
|
|
|
this.filterParams.toDate = val.toDate
|
|
this.filterParams.toDate = val.toDate
|
|
|
|
|
+ this.filter.endMils = val.toDate
|
|
|
} else {
|
|
} else {
|
|
|
this.filterParams.fromDate = null
|
|
this.filterParams.fromDate = null
|
|
|
|
|
+ this.filter.startMils = null
|
|
|
this.filterParams.toDate = null
|
|
this.filterParams.toDate = null
|
|
|
|
|
+ this.filter.endMils = null
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
this.filterParams[type] = val
|
|
this.filterParams[type] = val
|
|
|
|
|
+ this.filter[type] = val
|
|
|
}
|
|
}
|
|
|
this.filterRecord()
|
|
this.filterRecord()
|
|
|
},
|
|
},
|
|
@@ -125,36 +186,29 @@
|
|
|
fromDate: '',
|
|
fromDate: '',
|
|
|
toDate: '',
|
|
toDate: '',
|
|
|
currencyName: '',
|
|
currencyName: '',
|
|
|
- method: ''
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ type: ''
|
|
|
|
|
+ },
|
|
|
|
|
+ this.filter = {
|
|
|
|
|
+ keyword: '',
|
|
|
|
|
+ startMils: '',
|
|
|
|
|
+ endMils: ''
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
onSelectAction (selectObj) {
|
|
onSelectAction (selectObj) {
|
|
|
this.setSelect(selectObj.key, selectObj.value)
|
|
this.setSelect(selectObj.key, selectObj.value)
|
|
|
},
|
|
},
|
|
|
filterRecord () {
|
|
filterRecord () {
|
|
|
- this.page = 1
|
|
|
|
|
|
|
+ this.filterParams.page = 1
|
|
|
|
|
+ this.filter.page = 1
|
|
|
|
|
+ this.filterParams.type = this.switchType
|
|
|
this.isChange = true
|
|
this.isChange = true
|
|
|
this.reloadList()
|
|
this.reloadList()
|
|
|
},
|
|
},
|
|
|
reloadList () {
|
|
reloadList () {
|
|
|
- if (this.switchType === 'account') {
|
|
|
|
|
- this.$store.dispatch('payCenter/loadBuyerAccount', {
|
|
|
|
|
- count: this.count,
|
|
|
|
|
- page: this.page,
|
|
|
|
|
- sorting: {num: 'ASC'},
|
|
|
|
|
- type: 'buyer'
|
|
|
|
|
- })
|
|
|
|
|
- } else {
|
|
|
|
|
- this.$store.dispatch('payCenter/loadBuyerRecord', {
|
|
|
|
|
- count: this.count,
|
|
|
|
|
- page: this.page,
|
|
|
|
|
- sorting: {'paytime': 'DESC'},
|
|
|
|
|
- currencyName: this.filterParams.currencyName || null,
|
|
|
|
|
- fromDate: this.filterParams.fromDate || null,
|
|
|
|
|
- toDate: this.filterParams.toDate || null,
|
|
|
|
|
- remitteeType: this.filterParams.remitteeType || null,
|
|
|
|
|
- keyword: this.filterParams.keyword || null
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ if(this.handleItem === 0) {
|
|
|
|
|
+ this.$store.dispatch('product/getLoadStorageData', this.filterParams)
|
|
|
|
|
+ } else if(this.handleItem === 2) {
|
|
|
|
|
+ this.$store.dispatch('product/getLoadPurchaseData', this.filter)
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
}
|
|
}
|