Commit f1a36208 authored by Facius's avatar Facius

我的仓库-部分

parent 881b1ab3
......@@ -184,6 +184,11 @@ let orderApiFun = function(vm){
let fileList = async (params = {}) => await vm.$u.get(prefix + 'config/' + vm.vuex_token + '/finish/file', params);
// 订单配件列表
let applyList = async (params = {}) => await vm.$u.get(prefix + 'parts/' + vm.vuex_token + '/orders', params);
// 返件列表
let returnedParts = async (params = {}) => await vm.$u.get(prefix + 'parts/' + vm.vuex_token + '/return', params);
// 备件仓列表
let reserveList = async (params = {}) => await vm.$u.get(prefix + 'parts/' + vm.vuex_token + '/items/reserve', params);
const orderApi = {
listByRecommendOrder,
listOrderCount,
......@@ -228,7 +233,9 @@ let orderApiFun = function(vm){
fileLabel,
fileList,
completeNextStep,
applyList
applyList,
returnedParts,
reserveList
}
return orderApi
}
......
......@@ -133,12 +133,12 @@
flex-direction: column;
width: 100%;
&.image {
margin-right: 40rpx;
margin-right: 22rpx;
}
&.text {
width: 400rpx;
margin-left: 40rpx;
width: 360rpx;
margin-left: 18rpx;
&.one {
width: 600rpx;
margin-left: 0rpx;
......
......@@ -18,16 +18,16 @@
</view>
<view class="u-tabs-box">
<u-tabs height="66" activeColor="#2272FF" bg-color="none" inactive-color="#999" bar-height="4"
bar-width="44" :offset="[0,0]" :list="list[curNow]" count="total" :current="current[curNow]" @change="change"
:is-scroll="false" font-size="28" bold></u-tabs>
bar-width="44" :offset="[0,0]" :list="list[curNow]" count="total" :current="current[curNow]"
@change="change" :is-scroll="false" font-size="28" bold></u-tabs>
</view>
<view class="tab-view">
<scroll-view scroll-y style="height: 100%;width: 100%;" @scrolltolower="reachBottom" scroll-anchoring
refresher-enabled="true" :refresher-triggered="triggered" :refresher-threshold="100"
:scroll-top="scrollTop" refresher-background="#F4F5F7" @refresherpulling="triggered = true"
@refresherrefresh="onRefresh" @refresherrestore="onRestore" @scroll="scroll" enable-back-to-top>
<NoOrder v-if="noMore" type="black" :customStyle="noPartsCustomStyle" />
@refresherrefresh="onRefresh" @refresherrestore="onRestore" enable-back-to-top>
<NoOrder v-if="noParts" type="black" :customStyle="noPartsCustomStyle" />
<template v-else>
<view v-for="(item, index) in partsList" :key="item.id">
<AppliedCell @operate="handleOperate" :info="item"></AppliedCell>
......@@ -39,6 +39,17 @@
</template>
</scroll-view>
</view>
<view class="bottom-view" v-if="isReserve">
<view class="selected-all-view" @click="radioChange">
<u-icon class="selected-all-icon" name="checkbox-mark" :color="radioColor"></u-icon>
<text>全选</text>
</view>
<view class="right-view">
<u-button class="scd-btn" @click="handleClickRecords" :custom-style="buttonStyle" type="primary"
shape="circle">{{buttonText}}</u-button>
</view>
</view>
</view>
</template>
......@@ -57,42 +68,43 @@
pageNumber: 0,
pageSize: 100,
partsList: [],
current: [0, 0],
current: [0, 0], // [未入库index, 已入库index]
loadStatus: 'loading',
dataValue: [],
loaded: false,
triggered: false,
_freshing: false,
scrollTop: 0,
old: {
scrollTop: 0
}
selectedAll: false,
};
},
computed: {
// -1 已驳回,-1 已取消,0 新申请,1 待审核,10 待发货,11 配货中,12 采购中,15 已发货,20 已签收,21 待返件,22 返件中,90 已转备件,100 已完成
// 待签收 15;待发货 10;待审核 1;已驳回 -2;已签收 20;已取消 -1;
list() {
return [
[{
'name': '代签收',
'status': ''
'status': 15
},
{
'name': '代发货',
'status': ''
'status': 10
},
{
'name': '代审核',
'status': ''
'status': 1
},
{
'name': '已取消',
'status': ''
'name': '已驳回',
'status': -2
},
{
'name': '已签收',
'status': ''
}
'status': 20
},
{
'name': '已取消',
'status': -1
},
],
[{
'name': '备件仓',
......@@ -109,12 +121,12 @@
return ['未入库', '已入库']
},
currentTab() {
return this.list[this.curNow][this.current[this.curNow]]
return this.list[this.curNow][this.currentIndex]
},
sousuoImage() {
return process.uniEnv.qn_base_url + 'sousuo.png'
},
noMore() {
noParts() {
return this.partsList.length == 0 && this.loaded
},
noPartsCustomStyle() {
......@@ -129,15 +141,28 @@
'height': '80rpx',
'width': '200rpx'
}
},
radioColor() {
return this.selectedAll ? '#2272FF' : 'transparent'
},
currentIndex() { // 当前tab的index
return this.current[this.curNow]
},
buttonTexts() {
return [['签收', '', '取消申请', '', ''], ['退件', '']]
},
buttonText() {
return this.buttonTexts[this.curNow][this.currentIndex]
},
isReserve() { // 选中备件仓
return this.curNow == 1 && this.currentIndex == 0
}
},
onLoad(e) {
getApp().trackPage('我的仓库列表页')
this.reloadPartsList()
this._freshing = false;
},
onShow() {
this.reloadPartsInfo()
},
methods: {
sectionChange(index) {
this.curNow = index;
......@@ -149,35 +174,28 @@
this.reloadPartsList()
},
reachBottom(e) {
if (this.loadStatus != 'loadmore') return
this.loadStatus == 'loading'
this.getPartsList(this.currentTab)
},
// 页面数据
getPartsList(index) {
// 页面数据:未入库
getUnstockedList(status) {
// 状态处理
this.pageNumber += 1
this.loaded = false
var param = {
pageNumber: this.pageNumber,
pageSize: this.pageSize,
keyword: '',
type: 0
'pageSize': 20,
'pageNumbr': 1,
'status': status, //不传值 全部;待签收 15;待发货 10;待审核 1;已取消 -1;已驳回 -2;已签收 20
// 'workOrderId': ''
}
var self = this;
self.$u.api.listBystock(param).then((res) => {
this.$u.api.applyList(param).then((res) => {
if (res.code == 200) {
if (res.data.type != self.partsType) return
self.triggered = false;
self._freshing = false;
if (self.pageNumber == 1) {
self.partsList = []
if (res.data.type != this.partsType) return
this.triggered = false;
this._freshing = false;
if (this.pageNumber == 1) {
this.partsList = []
}
if (res.data.list) {
self.partsList.push(...res.data.list)
self.loadStatus = res.data.total > self.partsList.length && res.data.list.length ==
self.pageSize ? 'loadmore' : 'nomore'
this.partsList.push(...res.data.list)
this.loadStatus = res.data.list.length < this.pageSize ? 'nomore' : 'loadmore'
}
} else {
console.log(res.message, "获取订单数量失败!");
......@@ -187,6 +205,55 @@
},
getReturnedParts(status) { // 返件列表
this.pageNumber += 1
this.loaded = false
var param = {
'pageSize': 20,
'pageNumbr': 1,
'items': true,
'type': 'new'
}
this.$u.api.returnedParts(param).then((res) => {
if (res.code == 200) {
if (res.data.type != this.partsType) return
this.triggered = false;
this._freshing = false;
if (this.pageNumber == 1) {
this.partsList = []
}
if (res.data.list) {
this.partsList.push(...res.data.list)
this.loadStatus = res.data.list.length < this.pageSize ? 'nomore' : 'loadmore'
}
} else {
console.log(res.message, "获取订单数量失败!");
}
this.loaded = true
});
},
getReserveList() { // 备件列表
this.pageNumber += 1
this.loaded = false
this.$u.api.reserveList(param).then((res) => {
if (res.code == 200) {
if (res.data.type != this.partsType) return
this.triggered = false;
this._freshing = false;
if (this.pageNumber == 1) {
this.partsList = []
}
if (res.data.list) {
this.partsList.push(...res.data.list)
this.loadStatus = res.data.list.length < this.pageSize ? 'nomore' : 'loadmore'
}
} else {
console.log(res.message, "获取订单数量失败!");
}
this.loaded = true
});
},
handleOperate(type) {
// 调接口
// 刷新页面
......@@ -201,21 +268,40 @@
url: 'pages/order/search'
})
},
radioChange(e) {
this.selectedAll = !this.selectedAll
},
onRefresh() {
if (this._freshing) return;
this._freshing = true;
this.reloadPartsInfo()
this.reloadPartsList()
},
onRestore() {
this.triggered = 'restore'; // 需要重置
},
reloadPartsInfo() {
this.reloadPartsList()
},
reloadPartsList() {
reloadPartsList() { // 第一页数据
this.pageNumber = 0
this.loadStatus = 'loading'
this.getPartsList(this.currentTab);
this.loadPartsList()
},
loadPartsList() {
if (this.curNow == 0) { // 未入库
this.getUnstockedList(this.currentTab.status);
} else { // 已入库
if (this.currentIndex == 0) {
// 备件仓
this.getReserveList()
} else {
// 已返件
this.getReturnedParts()
}
}
},
reachBottom(e) {
if (this.isReserve) this.loadStatus = 'nomore' // 已入库的备件仓没有分页
if (this.loadStatus != 'loadmore') return
this.loadStatus == 'loading'
this.loadPartsList()
},
scroll(e) {
this.old.scrollTop = e.detail.scrollTop
......@@ -226,10 +312,14 @@
<style lang="scss" scoped>
.ware-house {
padding: 0 30rpx 20rpx 30rpx;
height: 100vh;
display: flex;
flex-direction: column;
.u-tabs-box {
margin-bottom: 30rpx;
}
.tab-view {
height: 100%;
overflow: auto;
......@@ -274,5 +364,26 @@
}
}
}
.bottom-view {
display: flex;
justify-content: space-around;
align-items: center;
.selected-all-view {
.selected-all-icon {
border: 2rpx solid #666666;
}
}
.right-view {
display: flex;
align-items: center;
.fst-btn {
}
.scd-btn {
}
}
}
}
</style>
<template>
<view class="ware-wrap">
<w-navbar title="操作记录" :background="{backgroundColor: '#F4F5F7'}"></w-navbar>
<view class="content">
<w-navbar title="" :background="{backgroundColor: '#F4F5F7'}"></w-navbar>
<!-- <view class="content">
<view class="panel">
<view class="title">物料明细</view>
<view class="item-table">
......@@ -15,9 +15,9 @@
<view class="width-106 center">{{ item.systemStock }}</view>
</view>
</view>
</view>
</view> -->
<view class="panel">
<view class="title">操作记录</view>
<!-- <view class="title">操作记录</view> -->
<view class="item-table">
<view class="item-header">
<view class="width-132">订单编号</view>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment