Commit 2a22a070 authored by xiangzj's avatar xiangzj

库存盘点

parent 0055ed8b
<template>
<!-- <view class="bottomBtn" :class="{'btnContent': btnArr.length === 1}"> -->
<view class="bottomBtn">
<view v-for="(item, index) in btnArr" :key="index">
<u-button :class="item.style" :type="item.type" @click='handleClick(item)'>
<u-button class="widthBtn" :class="item.style" :type="item.type" @click='handleClick(item)'>
{{item.text}}
</u-button>
</view>
......@@ -9,6 +10,7 @@
</template>
<script>
// 配置按钮数组,需要事件必须用getBtnHandle,配置way回调方法,在父组件调用way事件
export default {
name: "BottomBtn",
props: {
......@@ -21,7 +23,7 @@ export default {
},
methods: {
handleClick(row) {
console.log(row)
this.$emit('getBtnHandle',row)
}
},
};
......@@ -35,11 +37,17 @@ export default {
z-index: 10;
width: 750rpx;
height: 140rpx;
justify-content: center;
justify-content: space-around;
align-items: center;
background: #fff;
.u-btn {
width: 300rpx;
width: 300rpx ;
}
}
.btnContent{
justify-content: space-around;
}
.widthBtn{
width: 300rpx ;
}
</style>
\ No newline at end of file
......@@ -15,15 +15,13 @@ export default {
},
},
methods: {
// 加载更多
onReachBottom() {
console.log('加载更多')
}
},
};
</script>
<style scoped>
.bottomArea{
padding-bottom: 160rpx;
padding-top: 20rpx;
}
</style>
\ No newline at end of file
......@@ -45,6 +45,13 @@
"navigationBarTitleText": "库存盘点",
"enablePullDownRefresh": false
}
},
{
"path": "pages/inventoryCounting/inventoryList",
"style": {
"navigationBarTitleText": "库存盘点",
"enablePullDownRefresh": false
}
}
],
"globalStyle": {
......
This diff is collapsed.
<template>
<view class="lists">
<StickyNavBar>
<NavBar title="库存盘点"></NavBar>
<view class="selectSheet">
<u-row gutter="16">
<u-col span="6">
<u-input v-model="value" placeholder='请选择工厂' :type="type" :border="border" @click="show = true" />
<u-action-sheet :list="actionSheetList" v-model="show" @click="actionSheetCallback"></u-action-sheet>
</u-col>
<u-col span="6">
<u-input v-model="value" placeholder='请选择仓库别' :type="type" :border="border" @click="show = true" />
<u-action-sheet :list="actionSheetList" v-model="show" @click="actionSheetCallback"></u-action-sheet>
</u-col>
</u-row>
</view>
</StickyNavBar>
<ContentLoadingMore>
<view class="cardContent">
<view class="cardTitle">
<text class="cardItemLabel">物料批号:</text>
<text class="cardItemValue">123</text>
<view class="lists">
<StickyNavBar>
<NavBar title="库存盘点"></NavBar>
<view class="selectSheet">
<u-tabs :list="list" :is-scroll="false" :current="current" @change="changeTab"></u-tabs>
</view>
<view class="cardItem">
<view class="cardItemDetail">
<text class="cardItemLabel">物料编号</text>
<text class="cardItemValue itemValueWidth">L4375907435u23</text>
<u-icon name="trash-fill" size="40" @click="deleteItem()"></u-icon>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">物料描述</text>
<text class="cardItemValue">物料编号物料编号物料编号物料编号物料编号物料编号</text>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">数量</text>
<text class="cardItemValue">3000</text>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">单位</text>
<text class="cardItemValue">M</text>
</view>
</view>
</view>
<view class="cardContent">
<view class="cardTitle">
<text class="cardItemLabel">物料批号:</text>
<text class="cardItemValue">123</text>
</view>
<view class="cardItem">
<view class="cardItemDetail">
<text class="cardItemLabel">物料编号</text>
<text class="cardItemValue itemValueWidth">L4375907435u23</text>
<u-icon name="trash-fill" size="40" @click="deleteItem()"></u-icon>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">物料描述</text>
<text class="cardItemValue">物料编号物料编号物料编号物料编号物料编号物料编号</text>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">数量</text>
<text class="cardItemValue">3000</text>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">单位</text>
<text class="cardItemValue">M</text>
</view>
</view>
</view>
<view class="cardContent">
<view class="cardTitle">
<text class="cardItemLabel">物料批号:</text>
<text class="cardItemValue">123</text>
</view>
<view class="cardItem">
<view class="cardItemDetail">
<text class="cardItemLabel">物料编号</text>
<text class="cardItemValue itemValueWidth">L4375907435u23</text>
<u-icon name="trash-fill" size="40" @click="deleteItem()"></u-icon>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">物料描述</text>
<text class="cardItemValue">物料编号物料编号物料编号物料编号物料编号物料编号</text>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">数量</text>
<text class="cardItemValue">3000</text>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">单位</text>
<text class="cardItemValue">M</text>
</view>
</view>
</view>
<view class="cardContent">
<view class="cardTitle">
<text class="cardItemLabel">物料批号:</text>
<text class="cardItemValue">123</text>
</view>
<view class="cardItem">
<view class="cardItemDetail">
<text class="cardItemLabel">物料编号</text>
<text class="cardItemValue itemValueWidth">L4375907435u23</text>
<u-icon name="trash-fill" size="40" @click="deleteItem()"></u-icon>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">物料描述</text>
<text class="cardItemValue">物料编号物料编号物料编号物料编号物料编号物料编号</text>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">数量</text>
<text class="cardItemValue">3000</text>
</view>
<view class="cardItemDetail">
<text class="cardItemLabel">单位</text>
<text class="cardItemValue">M</text>
</view>
</view>
</view>
</ContentLoadingMore>
<BottomBtn :btnArr='btnArr'>
</BottomBtn>
</view>
</StickyNavBar>
<ContentLoadingMore class="contentMore">
<waitInventoried v-if="current === 0" />
<inventoryForm v-else />
</ContentLoadingMore>
<BottomBtn :btnArr="btnArr" @getBtnHandle="getBtnHandle" v-if="current === 0"></BottomBtn>
</view>
</template>
<script>
import StickyNavBar from '@/components/StickyNavBar/index.vue';
import ContentLoadingMore from '@/components/ContentLoadingMore/index.vue';
import BottomBtn from '@/components/BottomBtn/index.vue';
export default {
import StickyNavBar from '@/components/StickyNavBar/index.vue';
import ContentLoadingMore from '@/components/ContentLoadingMore/index.vue';
import BottomBtn from '@/components/BottomBtn/index.vue';
import waitInventoried from './waitInventoried.vue';
import inventoryForm from './inventoryForm.vue';
export default {
components: {
StickyNavBar,
ContentLoadingMore,
BottomBtn
BottomBtn,
waitInventoried,
inventoryForm
},
data() {
return {
value: '',
type: 'select',
show: false,
border: true,
list: [
{
name: '待盘点'
},
{
name: '盘点调整单'
}
],
current: 0,
status: 'loadmore',
btnArr: [
{
style: '',
type: 'warning',
text: '返回',
way: 'goBack'
}
]
};
},
data() {
return {
value: '',
type: 'select',
show: false,
border: true,
actionSheetList: [
{
text: '男'
},
{
text: '女'
},
{
text: '保密'
}
],
status: 'loadmore',
btnArr: [
{
style: '',
type: 'warning',
text: '返回',
way: '',
}
],
};
},
methods: {
// 点击actionSheet回调
actionSheetCallback(index) {
this.value = this.actionSheetList[index].text;
},
handleInput(e) {
console.log(e, 'eee')
},
deleteItem(){
console.log('删除')
},
// 加载更多
onReachBottom() {
console.log('加载更多')
// if(this.page >= 3) return ;
// this.status = 'loading';
// this.page = ++ this.page;
// setTimeout(() => {
// this.list += 10;
// if(this.page >= 3) this.status = 'nomore';
// else this.status = 'loading';
// }, 2000)
}
}
}
methods: {
// 加载更多
onReachBottom() {
console.log('加载更多inventoryCounting');
},
getBtnHandle(row) {
console.log('getBtnHandle', row);
this[row.way]();
},
goBack() {
console.log('返回了');
uni.navigateBack();
},
changeTab(index) {
this.current = index;
}
}
};
</script>
<style lang="scss">
page {
background: #f8f8f8;
}
.lists {
flex: 1;
flex-direction: column;
.selectSheet {
border-bottom: 1px solid #ccc;
}
.scanningBtn {
padding: 20rpx;
background: #fff;
.topSearch{
margin-bottom: 20rpx;
}
/deep/ .u-sticky {
top: 0 !important;
}
.selectSheet{
padding: 20rpx;
padding-bottom: 0;
background: #fff;
.contentMore {
margin: 20rpx;
}
.cardbox {
min-height: calc(100vh - 480rpx);
padding: 0rpx 20rpx;
margin-top: 20rpx;
}
.cardContent{
display: flex;
flex-direction: column;
background: #fff;
border-radius: 20rpx;
margin-bottom: 20rpx;
}
.cardTitle{
font-size: 32rpx;
color: #000;
display: flex;
margin: 20rpx 20rpx 0 20rpx;
padding-bottom: 20rpx;
border-bottom: 2px solid #f8f8f8;
}
.cardItem{
padding: 20rpx 20rpx 0 20rpx;
}
.cardItemDetail{
display: flex;
padding-bottom: 20rpx;
}
.cardItemLabel{
width: 200rpx;
}
.cardItemValue{
width: 500rpx;
}
.bottom {
position: fixed;
display: flex;
bottom: 0;
left: 0;
z-index: 10;
width: 750rpx;
height: 140rpx;
justify-content: space-between;
align-items: center;
background: #fff;
.u-btn {
width: 300rpx;
}
}
.bottomArea{
padding-bottom: 160rpx;
}
.itemValueWidth{
width: 450rpx;
}
/deep/ .u-sticky{
top: 0!important;
page {
background: #f8f8f8;
}
</style>
<template>
<view class="cardbox">
<view class="cardContent">
<view class="listItemTitle">
<view>
<view class="item">盘点调整单:WHPD202311080001</view>
<view class="item">盘点对象:XB-001-02</view>
<view class="item">盘点日期:2023-11-09</view>
<view class="item">盘点人员:张丹</view>
<view class="item">差异批次:2</view>
</view>
</view>
<view class="listBottom">
<view class="bottomTitle" @tap="show = !show">
<view class="desc">展开调整明细</view>
<view class="topIcons">
<text v-if="show">
<u-icon name="arrow-down" color="#aaa" size="32"></u-icon>
展开
</text>
<text v-else>
<u-icon name="arrow-up" color="#aaa" size="32"></u-icon>
收起
</text>
</view>
</view>
<view v-if="!show" class="bottomBox">
<view class="boxAll">
<view class="bottomItem">
<view class="items">批次:C00990099900027</view>
<view class="items">物料:防霉抗菌包装纸</view>
<view class="items">盘点调整数量:237843</view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
show: true,
};
},
computed: {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.cardbox {
min-height: calc(100vh - 480rpx);
// padding: 0rpx 20rpx;
// margin: 20rpx;
}
.cardContent {
border-radius: 8px;
background: #fff;
}
.listItemTitle {
display: flex;
justify-content: space-between;
padding: 20rpx;
border-bottom: 2px solid #f8f8f8;
.u-btn {
width: 150rpx;
margin: 0px;
margin-top: 10rpx;
}
.item {
height: 40rpx;
line-height: 40rpx;
color: #000;
font-size: 28rpx;
font-weight: 500;
}
}
.listBottom {
.bottomTitle {
height: 60rpx;
position: relative;
display: flex;
justify-content: space-between;
.desc {
color: #bbb;
font-size: 24rpx;
line-height: 60rpx;
padding-left: 20rpx;
}
.topIcons {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
color: #aaa;
}
}
.bottomBox {
padding: 20rpx;
.boxAll{
display: flex;
justify-content: space-between;
background: #f8f8f8;
border-radius: 10rpx;
}
.bottomItem {
padding: 20rpx;
margin-bottom: 20rpx;
.items {
color: #333;
font-size: 24rpx;
height: 40rpx;
line-height: 40rpx;
}
}
}
}
</style>
<template>
<view class="lists">
<StickyNavBar class="stickyBox">
<NavBar title="库存盘点"></NavBar>
<view class="planBox">
<view class="planTitle">盘点计划:WHPD2023110900002</view>
<view class="planTip">仓库:CBCK|存货单元:XB-001-04</view>
</view>
</StickyNavBar>
<view class="workTitle">盘点作业</view>
<view class="scanningBtn">
<uni-easyinput prefixIcon="search" class="topSearch" v-model="value" focus placeholder="请扫描盘点库位条码" @input="handleInput"></uni-easyinput>
<uni-easyinput prefixIcon="search" v-model="value" focus placeholder="请扫描盘点物料条码" @input="handleInput"></uni-easyinput>
</view>
<view class="inventoryDetail">
<view class="detailTitle">盘点明细</view>
<view class="">
<u-button size="mini" class="" type="success" @click="handleClickWork()">
<u-icon name="plus"></u-icon>
新增
</u-button>
</view>
</view>
<view class="cardContent">
<view class="cardItem">
<view class="bottomItem">
<view class="items">防霉抗菌PE平口袋|PD202309992(2)</view>
</view>
<view class="boxRight">
<view class="items">891/1000pcs</view>
</view>
</view>
<view class="listBottom">
<view class="bottomTitle" @tap="show = !show">
<view class="topIcons">
<view v-if="show">
<u-icon name="arrow-down" color="#aaa" size="32"></u-icon>
展开
</view>
<view v-else>
<u-icon name="arrow-up" color="#aaa" size="32"></u-icon>
收起
</view>
</view>
</view>
<view v-if="!show" class="bottomBox">
<view class="boxAll">
<view class="bottomItem">
<view class="items">C00990099900027</view>
<view class="items">C009900|防霉抗菌包装纸</view>
</view>
<view class="boxRight">
<view class="items">891/1000pcs</view>
<view class="itemsBtn">
<u-button size="mini" class="" type="primary" @click="handleClickWork()">盘点</u-button>
</view>
</view>
</view>
</view>
</view>
</view>
<BottomBtn :btnArr="btnArr" @getBtnHandle="getBtnHandle"></BottomBtn>
</view>
</template>
<script>
import StickyNavBar from '@/components/StickyNavBar/index.vue';
import ContentLoadingMore from '@/components/ContentLoadingMore/index.vue';
import BottomBtn from '@/components/BottomBtn/index.vue';
export default {
components: {
StickyNavBar,
ContentLoadingMore,
BottomBtn
},
data() {
return {
value: '',
show: false,
btnArr: [
{
style: '',
type: 'primary',
text: '盘点确认',
way: 'goBack'
}
]
};
},
computed: {},
methods: {
handleClickWork() {},
handleInput(e) {
console.log(e, 'eee');
},
getBtnHandle(row) {
console.log('getBtnHandle', row);
this[row.way]();
},
goBack() {
console.log('返回了');
},
ontabtap(e, type) {
console.log('切换tab', e, type);
}
}
};
</script>
<style lang="scss">
/deep/ .u-sticky {
top: 0 !important;
}
.planBox {
padding: 20rpx;
border-bottom: 1px solid #333;
}
.planTitle {
font-size: 32rpx;
font-weight: 600;
text-align: center;
line-height: 60rpx;
}
.planTip {
font-size: 28rpx;
text-align: center;
line-height: 40rpx;
}
.scanningBtn {
padding: 20rpx;
background: #fff;
.topSearch {
margin-bottom: 20rpx;
}
}
.workTitle {
font-size: 32rpx;
font-weight: 600;
line-height: 40rpx;
margin: 20rpx 0 0 40rpx;
}
.inventoryDetail {
display: flex;
justify-content: space-between;
padding: 0 20rpx;
}
.detailTitle {
font-size: 32rpx;
font-weight: 600;
line-height: 46rpx;
}
.listBottom {
padding: 0 10rpx 20rpx 10rpx;
.bottomTitle {
height: 60rpx;
position: relative;
display: flex;
justify-content: space-between;
.topIcons {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
color: #aaa;
}
}
.bottomBox {
.boxAll {
display: flex;
justify-content: space-between;
background: #fff;
border-radius: 10rpx;
}
.bottomItem {
padding: 20rpx;
.items {
color: #333;
font-size: 24rpx;
height: 40rpx;
line-height: 40rpx;
}
}
.boxRight {
padding: 20rpx 20rpx 0 20rpx;
.items {
color: #333;
font-size: 24rpx;
height: 40rpx;
line-height: 40rpx;
}
.itemsBtn {
float: right;
padding: 20rpx 0 10rpx;
}
}
}
}
.cardContent {
margin: 20rpx;
background: #f8f8f8;
}
.cardItem {
padding: 20rpx 10rpx;
display: flex;
justify-content: space-between;
border-bottom: 1px solid #333;
}
</style>
<template>
<view class="cardbox">
<view class="cardContent">
<view class="listItemTitle">
<view>
<view class="item">盘点计划:WHPD202311080001</view>
<view class="item">线边仓|XB-001-02</view>
<view class="item">计划日期:2023-11-09</view>
<view class="item">盘点人员:张丹</view>
<view class="item">盘点状态:未开始</view>
</view>
</view>
<view class="listBottom">
<view class="bottomTitle" @tap="show = !show">
<view class="desc">展开盘点明细</view>
<view class="topIcons">
<view v-if="show">
<u-icon name="arrow-down" color="#aaa" size="32"></u-icon>
展开
</view>
<view v-else>
<u-icon name="arrow-up" color="#aaa" size="32"></u-icon>
收起
</view>
</view>
<view class="workBtn">
<u-button size="mini" class="" type="primary" @click='handleClickWork()'>
盘点作业
</u-button>
</view>
</view>
<view v-if="!show" class="bottomBox">
<view class="boxAll">
<view class="bottomItem">
<view class="items">C00990099900027</view>
<view class="items">C009900|防霉抗菌包装纸</view>
<view class="items">生产日期:2023-10-27</view>
</view>
<view class="boxRight">
<view class="items">891/1000pcs</view>
<view class="items">线边仓|XB-X01-001</view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
show: true,
};
},
computed: {
},
methods: {
handleClickWork(){
uni.navigateTo({
url: `/pages/inventoryCounting/inventoryList`
})
},
}
}
</script>
<style lang="scss" scoped>
.cardbox {
min-height: calc(100vh - 480rpx);
margin-top: 20rpx;
}
.cardContent {
border-radius: 8px;
background: #fff;
}
.listItemTitle {
display: flex;
justify-content: space-between;
padding: 20rpx;
border-bottom: 2px solid #f8f8f8;
.u-btn {
width: 150rpx;
margin: 0px;
margin-top: 10rpx;
}
.item {
height: 40rpx;
line-height: 40rpx;
color: #000;
font-size: 28rpx;
font-weight: 500;
}
}
.listBottom {
.bottomTitle {
height: 60rpx;
position: relative;
display: flex;
justify-content: space-between;
.desc {
color: #bbb;
font-size: 24rpx;
line-height: 60rpx;
padding-left: 20rpx;
}
.topIcons {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
color: #aaa;
}
.workBtn{
margin-right:20rpx;
}
}
.bottomBox {
padding: 20rpx;
.boxAll{
display: flex;
justify-content: space-between;
background: #f8f8f8;
border-radius: 10rpx;
}
.bottomItem {
padding: 20rpx;
// margin-bottom: 20rpx;
.items {
color: #333;
font-size: 24rpx;
height: 40rpx;
line-height: 40rpx;
}
}
.boxRight{
padding: 20rpx;
.items{
color: #333;
font-size: 24rpx;
height: 40rpx;
line-height: 40rpx;
}
}
}
}
</style>
<template>
<view class="lists">
<u-sticky offset-top='0'>
<StickyNavBar class='stickyBox'>
<NavBar title="仓位转移"></NavBar>
<view class="selectSheet">
<u-row gutter="16">
......@@ -18,8 +18,8 @@
<uni-easyinput prefixIcon="search" class="topSearch" v-model="value" focus placeholder="请扫描库位" @input="handleInput"></uni-easyinput>
<uni-easyinput prefixIcon="search" v-model="value" focus placeholder="请扫描产品包装条码/外箱码" @input="handleInput"></uni-easyinput>
</view>
</u-sticky>
<view class="cardbox">
</StickyNavBar>
<ContentLoadingMore class='cardbox'>
<view class="cardContent">
<view class="cardTitle">
<text class="cardItemLabel">物料批号:</text>
......@@ -120,21 +120,30 @@
</view>
</view>
</view>
</view>
<u-loadmore class="bottomArea" :status="status" />
<view class="bottom">
</ContentLoadingMore>
<!-- <view class="bottom">
<u-button class="btn" type="warning">
<text class="btn-text">取消</text>
</u-button>
<u-button class="btn" type="primary">
<text class="btn-text">提交</text>
</u-button>
</view>
</view> -->
<BottomBtn :btnArr='btnArr' @getBtnHandle='getBtnHandle'>
</BottomBtn>
</view>
</template>
<script>
import StickyNavBar from '@/components/StickyNavBar/index.vue';
import ContentLoadingMore from '@/components/ContentLoadingMore/index.vue';
import BottomBtn from '@/components/BottomBtn/index.vue';
export default {
components: {
StickyNavBar,
ContentLoadingMore,
BottomBtn
},
data() {
return {
value: '',
......@@ -153,31 +162,52 @@
}
],
status: 'loadmore',
btnArr: [
{
style: '',
type: 'warning',
text: '取消',
way: 'goBack',
},
{
style: '',
type: 'primary',
text: '提交',
way: 'goSubmit',
}
],
};
},
methods: {
// 点击actionSheet回调
actionSheetCallback(index) {
this.value = this.actionSheetList[index].text;
},
handleInput(e) {
console.log(e, 'eee')
},
deleteItem(){
console.log('删除')
},
// 加载更多
onReachBottom() {
console.log('加载更多')
// if(this.page >= 3) return ;
// this.status = 'loading';
// this.page = ++ this.page;
// setTimeout(() => {
// this.list += 10;
// if(this.page >= 3) this.status = 'nomore';
// else this.status = 'loading';
// }, 2000)
}
getBtnHandle(row){
this[row.way]()
},
goBack(){
uni.navigateBack();
},
goSubmit(){},
// 点击actionSheet回调
actionSheetCallback(index) {
this.value = this.actionSheetList[index].text;
},
handleInput(e) {
console.log(e, 'eee')
},
deleteItem(){
console.log('删除')
},
// 加载更多
onReachBottom() {
console.log('加载更多')
// if(this.page >= 3) return ;
// this.status = 'loading';
// this.page = ++ this.page;
// setTimeout(() => {
// this.list += 10;
// if(this.page >= 3) this.status = 'nomore';
// else this.status = 'loading';
// }, 2000)
}
}
}
</script>
......
This diff is collapsed.
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