| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- <template>
- <!-- 单号 -->
- <view class="main-wrap">
- <uni-nav-bar fixed="true" statusBar="true" left-icon="back" :title="'单号 ' + bizNum" @clickLeft="back"></uni-nav-bar>
- <uni-search-bar class="uni-search-bar" @confirm="search" :focus="true" v-model="searchValue" @input="search" cancelButton="none" placeholder="搜索关键字"></uni-search-bar>
- <view class="list-wrap" v-if="type !== '调拨'">
- <uni-table border stripe emptyText="暂无更多数据">
- <!-- 表头行 -->
- <uni-tr>
- <uni-th align="left" width="240rpx">物品</uni-th>
- <block v-if="!isUnpack">
- <uni-th align="left" width="170rpx" :sortable="true">最小单元</uni-th>
- </block>
- <uni-th align="left" width="170rpx" :sortable="true" @sort-change="sortChange('bzsl', $event)">生产日期/采购日期</uni-th>
- <uni-th align="left" width="170rpx" :sortable="true" @sort-change="sortChange('bzsl', $event)">过期时间</uni-th>
- </uni-tr>
- <!-- 表格数据行 -->
- <uni-tr v-for="(item, index) in listData" :key="index">
- <uni-td>{{ item.onlyCode }}</uni-td>
- <uni-td v-if="!isUnpack">{{ item.measurementUnit }}{{ item.unit }}/{{ item.minPackUnit }}</uni-td>
- <uni-td>{{ item.manufactureTime || item.procurementTime }}</uni-td>
- <uni-td>{{ item.expirationTime }}</uni-td>
- </uni-tr>
- </uni-table>
- </view>
- <view class="order-list" v-else>
- <view class="item" v-for="(item, index) in listData" :key="index">
- <!-- <view class="title">
- <view class="s1">
- 条码号
- </view>
- <view class="s2">
-
- </view>
- </view> -->
- <view class="main">
- <view class="row">
- <view class="row-item">
- <text class="t1">最小单元</text>
- <text class="t2"></text>
- </view>
- <view class="row-item">
- <text class="t1"></text>
- <text class="t2">{{ item.measurementUnit }}{{ item.unit }}/{{ item.minPackUnit }}</text>
- </view>
- </view>
- <view class="row">
- <view class="row-item">
- <text class="t1">生产日期/采购日期</text>
- <text class="t2"></text>
- </view>
- <view class="row-item">
- <text class="t1"></text>
- <text class="t2">{{ item.manufactureTime || item.procurementTime }}</text>
- </view>
- </view>
- <view class="row">
- <view class="row-item">
- <text class="t1">过期时间</text>
- <text class="t2"></text>
- </view>
- <view class="row-item">
- <text class="t1"></text>
- <text class="t2">{{ item.expireTime }}</text>
- </view>
- </view>
- <view class="row">
- <view class="row-item">
- <text class="t1">调出货位</text>
- <text class="t2"></text>
- </view>
- <view class="row-item">
- <text class="t1"></text>
- <text class="t2">{{ item.warehouseName }}/{{ item.outWarehouseAreaName }}/{{ item.outWarehouseAreaGoodsCode }}/{{ item.outGoodsAllocationCode }}</text>
- </view>
- </view>
- <view class="row">
- <view class="row-item">
- <text class="t1">调入货位</text>
- <text class="t2"></text>
- </view>
- <view class="row-item">
- <text class="t1"></text>
- <text class="t2">{{ item.inWarehouseName }}/{{ item.inWarehouseAreaName }}/{{ item.inWarehouseAreaGoodsCode }}/{{ item.inGoodsAllocationCode }}</text>
- </view>
- </view>
- </view>
- </view>
- </view>
- <u-loadmore :status="status" style="margin-top: 20rpx" />
- </view>
- </template>
- <script>
- let [page, size, isEnd] = [1, 20, true]
- import { post, get } from '@/utils/api.js'
- export default {
- data() {
- return {
- listData: [],
- status: 'loading',
- searchValue: '',
- // 单号
- bizNum: '',
- // 批次号
- batchNum: '',
- // 单号类型
- type: '',
- isUnpack: false
- }
- },
- onLoad(option) {
- this.bizNum = option.bizNum
- this.isUnpack = option.isUnpack === 'false' ? false : true
- this.batchNum = option.batchNum
- this.type = option.type
- this.getData()
- },
- onReachBottom() {
- console.log('触底')
- if (isEnd) {
- return
- }
- this.getMoreLists()
- },
- methods: {
- sortChange(type, e) {
- console.log(type, e)
- let order = e.order
- this.listData.sort((a, b) => {
- switch (order) {
- // 下降
- case 'descending':
- return a[type] - b[type]
- break
- // 上降
- case 'ascending':
- return b[type] - a[type]
- break
- // 正常
- case null:
- break
- default:
- break
- }
- })
- },
- getData() {
- let par = {
- page,
- size
- }
- let url = ''
- switch (this.type) {
- case '入库':
- par.batchNum = this.batchNum
- par.bizNum = this.bizNum
- par.bizStatus = 1
- url = '/InventoryBook/select/getWarehouseSceneDetail?'
- break
- case '出库':
- par.batchNum = this.batchNum
- par.bizNum = this.bizNum
- par.bizStatus = 2
- url = '/InventoryBook/select/getWarehouseSceneDetail?'
- break
- case '调拨':
- par.batchNum = this.batchNum
- par.bizNum = this.bizNum
- url = '/InventoryBook/select/getTransferDetail?'
- break
- default:
- break
- }
- if (this.searchValue !== '') {
- par.name = this.searchValue
- }
- par = this.URLSearchParams(par)
- // post(this.apiUrl + url + par).then(res => {
- // if (res.success) {
- // this.listData = [...this.listData, ...res.data]
- // let pages = res.data.pages
- // if (page < pages) {
- // isEnd = false
- // } else {
- // isEnd = true
- // this.status = 'nomore'
- // }
- // }
- // })
- },
- getMoreLists() {
- page++
- this.getData()
- },
- search() {
- this.page = 1
- this.listData = []
- this.status = 'loading'
- this.getData()
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .main-wrap {
- height: calc(100% - 176rpx);
- }
- .scroll-Y {
- height: calc(100% - 112rpx);
- }
- .order-list {
- .item {
- background-color: #fff;
- margin-bottom: 30rpx;
- margin-bottom: 30rpx;
- .title {
- display: flex;
- padding: 20rpx;
- justify-content: space-between;
- align-items: center;
- border-bottom: 1px solid #dedede;
- .s1 {
- color: #333333;
- font-size: 28rpx;
- font-weight: bold;
- }
- .s2 {
- font-size: 28rpx;
- font-weight: bold;
- color: #333333;
- }
- }
- .main {
- padding: 0 30rpx;
- .row {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 20rpx 0;
- border-bottom: 1px dashed #dedede;
- .row-item {
- .t1 {
- font-weight: bold;
- font-size: 28rpx;
- color: #333333;
- margin-right: 20rpx;
- }
- .t2 {
- font-size: 28rpx;
- color: #333333;
- }
- }
- }
- .ckmx {
- color: #70b603;
- font-size: 28rpx;
- font-weight: bold;
- padding: 20rpx;
- display: flex;
- justify-content: flex-end;
- }
- }
- }
- }
- </style>
|