新增105过账页面
parent
b8093a2bc3
commit
573911dbff
@ -0,0 +1,229 @@
|
|||||||
|
<template>
|
||||||
|
<view class="page-product-receipt">
|
||||||
|
<!-- 页面头 -->
|
||||||
|
<page-head title="105过账" />
|
||||||
|
|
||||||
|
<!-- 查询条件 -->
|
||||||
|
<u-form id="query" class="query" ref="query" label-width="180rpx">
|
||||||
|
<u-form-item label="物料编码">
|
||||||
|
<u-search placeholder="请输入物料编码" v-model="queryParams.materialCode" @search="search" :show-action="false"></u-search>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="物料名称">
|
||||||
|
<u-search placeholder="请输入物料名称" v-model="queryParams.materialDesc" @search="search" :show-action="false"></u-search>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="送货单号">
|
||||||
|
<u-search placeholder="请输入送货单号" v-model="queryParams.orderNo" @search="search" :show-action="false"></u-search>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item label="采购单号">
|
||||||
|
<u-search placeholder="请输入采购单号" v-model="queryParams.poNo" @search="search" :show-action="false"></u-search>
|
||||||
|
</u-form-item>
|
||||||
|
</u-form>
|
||||||
|
|
||||||
|
<scroll-view id="list" scroll-y="true" :style="{ height: listHeight + 'px' }" @scrolltolower="onScrollToLower" :lower-threshold="50">
|
||||||
|
<!-- 列表 -->
|
||||||
|
<u-form class="list">
|
||||||
|
<u-checkbox-group v-if="list.length > 0">
|
||||||
|
<u-checkbox class="list-item" v-for="(item, index) in list" :key="index" v-model="item.checked">
|
||||||
|
<view style="margin-left: 20rpx">
|
||||||
|
<lj-list-row label="物料编码:" :value="removeLeadingZeros(item.materialCode)" />
|
||||||
|
<lj-list-row label="物料名称:" :value="item.materialDesc" />
|
||||||
|
<lj-list-row label="送货单号:" :value="item.orderNo" />
|
||||||
|
<lj-list-row label="采购单号:" :value="item.poNo" />
|
||||||
|
</view>
|
||||||
|
</u-checkbox>
|
||||||
|
</u-checkbox-group>
|
||||||
|
<view v-else> 暂无数据 </view>
|
||||||
|
</u-form>
|
||||||
|
</scroll-view>
|
||||||
|
|
||||||
|
<!-- 按钮 -->
|
||||||
|
<view id="button" class="bottom-bar">
|
||||||
|
<u-row class="button-bar">
|
||||||
|
<u-col :span="12">
|
||||||
|
<u-button type="success" @click="onSubmit105()">105过账</u-button>
|
||||||
|
</u-col>
|
||||||
|
</u-row>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<u-toast ref="uToast" />
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import LjListRow from '@/components/lanju/lj-list-row/index.vue';
|
||||||
|
import { Component } from 'vue-property-decorator';
|
||||||
|
import PageHead from '@/components/lanju/page-head/index.vue';
|
||||||
|
import { BasePage } from '@/components/base/page';
|
||||||
|
import { getWmsRawOrderInListToPda, sap105temporarilyCollected } from './model';
|
||||||
|
import { removeLeadingZeros } from '@/utils/tool';
|
||||||
|
|
||||||
|
interface QueryParamsPo {
|
||||||
|
materialCode: string;
|
||||||
|
materialDesc: string;
|
||||||
|
orderNo: string;
|
||||||
|
poNo: string;
|
||||||
|
pageNum: number;
|
||||||
|
pageSize: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ListVo {
|
||||||
|
materialCode: string;
|
||||||
|
materialDesc: string;
|
||||||
|
userDefined1: string;
|
||||||
|
rawOrderInId: string;
|
||||||
|
poNo: string;
|
||||||
|
orderNo: string;
|
||||||
|
checked: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
methods: { removeLeadingZeros },
|
||||||
|
components: { PageHead, LjListRow },
|
||||||
|
})
|
||||||
|
export default class TemporarilyCollectedPo extends BasePage {
|
||||||
|
materialCode: string;
|
||||||
|
materialDesc: string;
|
||||||
|
storageAmount: string;
|
||||||
|
queryParams: QueryParamsPo = {
|
||||||
|
materialCode: undefined,
|
||||||
|
materialDesc: undefined,
|
||||||
|
orderNo: undefined,
|
||||||
|
poNo: undefined,
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
};
|
||||||
|
total: any = 0;
|
||||||
|
listHeight = 500;
|
||||||
|
list: Array<ListVo> = [];
|
||||||
|
value = 'orange';
|
||||||
|
onLoad() {
|
||||||
|
this.getList();
|
||||||
|
}
|
||||||
|
onReady() {
|
||||||
|
//等待页面加载完成
|
||||||
|
this.$nextTick(() => {
|
||||||
|
let buttonTop = 0;
|
||||||
|
//获取底部按钮信息
|
||||||
|
const query = uni.createSelectorQuery().in(this);
|
||||||
|
query
|
||||||
|
.select('#button')
|
||||||
|
.boundingClientRect((data) => {
|
||||||
|
//获取底部按钮到顶部距离
|
||||||
|
buttonTop = data.top;
|
||||||
|
})
|
||||||
|
.exec();
|
||||||
|
//获取列表信息
|
||||||
|
query
|
||||||
|
.select('#list')
|
||||||
|
.boundingClientRect((data) => {
|
||||||
|
//获取列表到顶部距离
|
||||||
|
const listTop = data.top;
|
||||||
|
//
|
||||||
|
this.listHeight = buttonTop - listTop - 10;
|
||||||
|
})
|
||||||
|
.exec();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async getList() {
|
||||||
|
await getWmsRawOrderInListToPda(this.queryParams).then((res) => {
|
||||||
|
this.total = res.total;
|
||||||
|
this.list = res.rows;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
search() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
}
|
||||||
|
|
||||||
|
onScrollToLower() {
|
||||||
|
if (this.total === this.list.length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.queryParams.pageNum = this.queryParams.pageNum + 1;
|
||||||
|
getWmsRawOrderInListToPda(this.queryParams).then((res) => {
|
||||||
|
this.list = this.list.concat(res.rows);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
onSubmit105() {
|
||||||
|
const checkedList = [];
|
||||||
|
for (const item of this.list) {
|
||||||
|
//选中的数据
|
||||||
|
if (item.checked) {
|
||||||
|
checkedList.push({ id: item.rawOrderInId });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (checkedList.length > 0) {
|
||||||
|
sap105temporarilyCollected(checkedList).then((res) => {
|
||||||
|
(this.$refs.uToast as any).show({
|
||||||
|
title: res.msg,
|
||||||
|
type: 'success',
|
||||||
|
});
|
||||||
|
this.search();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
(this.$refs.uToast as any).show({
|
||||||
|
title: '未选择数据',
|
||||||
|
type: 'default',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.query {
|
||||||
|
background-color: #fff;
|
||||||
|
margin-top: 10px;
|
||||||
|
padding: 20rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
box-shadow: 0 0 20rpx 0 rgba(128, 128, 128, 0.2);
|
||||||
|
|
||||||
|
.u-form-item {
|
||||||
|
line-height: 35rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-bar {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: 99;
|
||||||
|
background: #ffffff;
|
||||||
|
box-shadow: 0 1rpx 20rpx 0 rgba(128, 128, 128, 0.2);
|
||||||
|
padding: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list {
|
||||||
|
background-color: #fff;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
padding: 20rpx 20rpx 25rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
box-shadow: 0 0 20rpx 0 rgba(128, 128, 128, 0.2);
|
||||||
|
color: #8d8989;
|
||||||
|
|
||||||
|
.list-item {
|
||||||
|
padding: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 奇数行背景色 */
|
||||||
|
.list-item:nth-child(odd) {
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 偶数行背景色 */
|
||||||
|
.list-item:nth-child(even) {
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .u-checkbox__label {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
::v-deep .list-item {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,14 @@
|
|||||||
|
import http from '@/utils/request';
|
||||||
|
import { url } from '@/utils/url';
|
||||||
|
|
||||||
|
export function getWmsRawOrderInListToPda(data: any): Promise<any> {
|
||||||
|
return http.get(url.lanjuwms.raw.TemporarilyCollectedPo.getWmsRawOrderInListToPda, {
|
||||||
|
params: data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function sap105temporarilyCollected(data: any): Promise<any> {
|
||||||
|
return http.get(url.lanjuwms.raw.TemporarilyCollectedPo.sap105temporarilyCollected, {
|
||||||
|
params: data,
|
||||||
|
});
|
||||||
|
}
|
Loading…
Reference in New Issue