少提交文件

master
Mr.sun 2 years ago
parent a7f0166b40
commit 343f8ace32
  1. 310
      pages/inventory/implement1.vue
  2. 260
      pages/inventory/index.scss
  3. 109
      pages/inventory/index1.vue
  4. BIN
      static/icon/down.png

@ -0,0 +1,310 @@
<template>
<view class="im-container">
<view class="im-up">
<view class="im-column">
<text class="im-text">巷道</text>
<view class="im-select">
<u-input v-model="startTunnel" type="select" class="u-input" placeholder-style="color:#000000"
placeholder="" border @click="startShow = true" />
<u-select :mask-close-able="false" :safe-area-inset-bottom="true" v-model="startShow"
mode="single-column" :list="list" @confirm="confirmStart" />
</view>
<span></span>
<view class="im-select">
<u-input v-model="endTunnel" type="select" class="u-input" placeholder-style="color:#000000"
placeholder="" border @click="endShow = true" />
<u-select :mask-close-able="false" :safe-area-inset-bottom="true" v-model="endShow"
mode="single-column" :list="list" @confirm="confirmEnd" />
</view>
<view class="im-button">
<u-button size="mini" v-if="orderBy===1" @click="changeOrder">正序</u-button>
<u-button size="mini" v-if="orderBy===0" @click="changeOrder">倒序</u-button>
</view>
</view>
<view class="im-column">
<u-input class="im-pan" v-model="value" type="text" border placeholder="请扫描盘点货位" @input="change()" />
</view>
<view class="im-column" style="display: flex;justify-content: space-between;" v-if="result">
<view>
<span class="im-name"> </span>
<text class="im-bold">{{ result.locationCode }}</text>
</view>
<span class="im-span">{{ result.storageName }}</span>
</view>
<view class="im-column" style="display: flex;justify-content: space-between;" v-if="result">
<view>
<span class="im-name"> </span>
<text>{{ result.consignorName}}</text>
</view>
<span class="im-span" v-if="result.invWay==='open'">明盘</span>
<span class="im-span" v-if="result.invWay==='close'">盲盘</span>
</view>
<view class="im-column" style="display: flex;justify-content: space-between;" v-if="result">
<view>
<span>商品编号</span><text>{{ result.goodNo}}</text>
</view>
<span class="im-span">{{ transInvUnit(result.invType)}}</span>
</view>
<view class="im-column" v-if="result">
<span>商品名称</span><text>{{ result.goodName}}</text>
</view>
<view class="im-column" v-if="result">
<span class="im-name"> </span>
<text>{{ result.specifications}}</text>
</view>
<view class="im-column" v-if="result">
<span class="im-name"> </span>
<text>{{ result.factory}}</text>
</view>
<view class="im-column" v-if="result">
<span class="im-name"> </span>
<text>{{ result.waster}}</text>
</view>
<view class="im-column" v-if="result">
<span class="im-name"> </span>
<text>{{ result.batchNo }}</text>
</view>
<view class="im-column" v-if="result">
<span>显示效期</span><text>{{ result.productionDate }}--{{ result.expiredDate }}</text>
</view>
<view class="im-down-title" v-if="result">
<span>件装/单位</span>
<span>件数</span>
<span>零散数</span>
<span>数量</span>
</view>
<view v-if="result" class="im-down">
<view class="im-down-title">
<span>{{result.packageQty}}/{{transUnit(result.unit)}}</span>
<span v-if="result.invWay==='open'">
<u-input style="margin-left: 30rpx;" border v-model="result.invCase" border-color="black"
placeholder="" :trim="false" :clearable="false"></u-input>
</span>
<span v-if="result.invWay==='open'">
<u-input border v-model="result.invPiece" border-color="black" placeholder="" :trim="false"
:clearable="false"></u-input>
</span>
<span v-if="result.invWay==='open'">{{result.qty}}</span>
</view>
<view class="im-down-title">
<span>入库预分配</span>
<span>出库预分配</span>
<span>补货预分配</span>
</view>
<view class="im-down-title">
<span>{{ result.onlockInQuantity}}</span>
<span>{{ result.onlockOutQuantity }}</span>
<span>{{ result.onlockReplenishQuantity }}</span>
</view>
</view>
<view class="confirm-button" v-if="result">
<u-button size="medium" @click="sure()">确认</u-button>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
result: '',
orderBy: 1,
startShow: false,
endShow: false,
xiangStart: "",
value: "",
list: [],
invOrderNo: '',
startTunnel: '',
endTunnel: '',
dicOptions: []
};
},
onLoad: function(option) {
this.invOrderNo = option.invOrderNo
this.getList(option.invOrderNo)
this.getDic()
this.getInvTypeDic()
},
methods: {
//
getInvTypeDic() {
this.$u.api.getInvType().then(res => {
this.invOptions = res.data;
});
},
transInvUnit(unit) {
for (let dic in this.dicOptions) {
if (this.invOptions[dic].dictValue === unit) {
return this.invOptions[dic].dictLabel;
}
}
},
//
getDic() {
this.$u.api.getByDicType().then(res => {
this.dicOptions = res.data;
});
},
transUnit(unit) {
for (let dic in this.dicOptions) {
if (this.dicOptions[dic].dictValue === unit) {
return this.dicOptions[dic].dictLabel;
}
}
},
sure() {
this.$u.api.inventoryPlanning.pdaEntrySave({
id: this.result.id,
invQty: this.result.invQty,
invCase: this.result.invCase,
invPiece: this.result.invPiece
}).then((res) => {
if (res.code === 200) {
this.$u.toast('盘点成功');
this.$u.route({
url: '/pages/inventory/index',
type: 'navigateTo'
})
} else {
this.$u.toast(res.msg);
}
})
},
changeOrder() {
if (this.orderBy) {
this.orderBy = 0
} else {
this.orderBy = 1
}
this.getDetail()
},
//
getList(params) {
this.$u.api.inventoryPlanning.optionByInvOrderNo(params).then(res => {
if (res.code === 200) {
this.list = res.data.map((item) => ({
label: item,
value: item
}))
} else {
this.$u.toast(res.msg);
}
});
},
change() {
this.invOrderNo = this.value
this.list = []
this.startTunnel = ''
this.endTunnel = ''
this.getList(this.value)
this.result = ''
},
getDetail() {
if (this.orderBy && this.startTunnel && this.endTunnel && this.invOrderNo) {
this.$u.api.inventoryPlanning.queryDetailStockInv({
orderBy: this.orderBy,
startTunnel: this.startTunnel,
endTunnel: this.endTunnel,
invOrderNo: this.invOrderNo
}).then(res => {
if (res.code === 200) {
this.result = res.data
} else {
this.$u.toast(res.msg);
}
});
}
},
confirmStart(e) {
this.startTunnel = e[0].value;
this.getDetail()
},
confirmEnd(e) {
this.endTunnel = e[0].value;
this.getDetail()
}
}
}
</script>
<style>
page {
height: 100%
}
</style>
<style lang="scss">
.im-container {
background-color: rgba(242, 242, 242, 1);
height: 100%;
.im-up {
background-color: #fff;
margin: 20rpx 40rpx;
border: 0.5px solid black;
height: 100%;
.im-column {
display: flex;
flex-direction: row;
padding: 20rpx 30rpx 0 30rpx;
.im-pan {
margin-right: 40rpx;
}
.im-span {
padding-right: 60rpx;
}
.im-text {
padding: 12rpx 20rpx 12rpx 0;
}
.im-bold {
font-weight: bold;
}
.span-right {
position: absolute;
right: 50px;
}
.im-name {
word-spacing: 46rpx;
}
}
.im-down-title {
margin-top: 50prx;
display: flex;
justify-content: space-between;
padding: 20rpx 30rpx 0 30rpx;
.down-span {
border: 0.5rpx black solid;
}
}
.confirm-button {
display: flex;
padding-top: 150rpx;
}
}
.im-button {
display: contents;
}
.u-input {
width: 150rpx;
}
}
</style>

@ -0,0 +1,260 @@
.sh-content {
padding: 25rpx;
background-color: #fff;
display: flex;
flex-direction: column;
.u-form-item {
padding: 5rpx 0px;
}
.u-input__input {
background-color: #ffffff;
}
.sh-search {
display: flex;
padding: 10rpx 30rpx;
// background-color: #F2F2F2;
.sh-form {
width: 100%;
}
.sh-sub-search {
display: flex;
align-items: center;
padding: 15rpx 0 15rpx 15rpx;
.sh-search-button {
height: 100%;
}
}
}
.all-card{
display: flex;
flex-direction:column;
height: 420px;
flex: 420px;
overflow: auto;
.sh-card {
// background-color: red;
margin-top: 30rpx;
// padding: 20rpx 0rpx;
border: 0.5px solid #797979;
border-radius: 20rpx;
line-height: 60rpx;
.sh-card-title {
display: flex;
flex-direction: column;
position: relative;
padding: 0 20px;
background-color: #f2f2f2;
border-top-left-radius: 20rpx;
border-top-right-radius: 20rpx;
.sh-button{
position: absolute;
width: 38px;
height: 28px;
line-height: 28px;
border-radius: 50%;
top: 0;
right: 0;
}
.receipt-number {
display: flex;
.receipt-number-title {
color: #333333;
font-size: 24rpx;
}
.receipt-number-value {
color: #333333;
font-size: 28rpx;
font-weight: 600;
margin-left: 20rpx;
}
}
}
.sh-card-title-two{
display: flex;
flex-direction: column;
padding: 0 20px;
background-color: #d7d7d7;
border-top-left-radius: 20rpx;
border-top-right-radius: 20rpx;
.receipt-number {
display: flex;
.receipt-number-title {
color: #333333;
font-size: 24rpx;
}
.receipt-number-value {
color: #333333;
font-size: 28rpx;
font-weight: 600;
margin-left: 20rpx;
}
}
}
.borderBottom {
border-bottom-left-radius: 20rpx;
border-bottom-right-radius: 20rpx;
}
.sh-card-title-border {
border-bottom: 2px dashed #797979;
}
.sh-card-content {
position: relative;
margin: 16rpx 0;
padding: 0rpx 70rpx;
.detail-icon {
position: absolute;
right: 10rpx;
top: 90rpx;
}
.goods-card-content {
display: flex;
justify-content: space-between;
align-items: center;
.goods-card-content-item {
display: flex;
align-items: center;
width: 60%;
.goods-title {
font-size: 28rpx;
color: #555555;
}
.goods-value {
font-size: 28rpx;
color: #666666;
margin-left: 20rpx;
}
}
}
}
.goods-no{
font-weight: bold;
margin-right: 20rpx;
}
.pad-content {
padding-bottom: 16rpx;
}
.card-content {
display: flex;
justify-content: space-between;
align-items: center;
.card-content-item {
// width: 50%;
display: flex;
align-items: center;
.item-title {
// width: 120rpx;
font-size: 24rpx;
color: #555555;
}
.item-value {
width: 240rpx;
font-size: 26rpx;
color: #666666;
margin-left: 20rpx;
}
}
.card-content-item:first-child{
width: 60%;
}
.sh-bold {
font-weight: bold;
word-break: break-all;
}
}
}
margin-bottom: 100px;
}
// .sh-card:first-child{
// margin-bottom: 50px;
// }
.loadmore-data{
padding-top: 30rpx;
}
.recommend {
text-align: center;
height: 50rpx;
margin-top: 10rpx;
}
.recommend-title {
display: table;
width: 100%;
line-height: 50rpx;
white-space: nowrap;
border-spacing: 2rem 0;
font-size: 30rpx;
color: gray
}
.recommend-title::before, .recommend-title::after {
display: table-cell;
content: "";
width: 50%;
background: linear-gradient(#eee, #eee) repeat-x center;
background-size: 0.1rem 0.1rem;
}
.bottom{
// display: flex;
flex: 160px;
position:fixed;
height: 40px;
width: 100%;
bottom:58px;
button:first-child{
height: 100%;
margin-top: 10px;
line-height: 40px;
width: 60%;
font-size: 16px;
border: 1px solid #ccc;
}
.bottom-button{
height: 100%;
margin-top: 10px;
line-height: 30px;
width: 60%;
font-size: 16px;
color:rgb(18, 150, 219);
// border: 1px solid #ccc;
width: 60%;
margin-left: -10%;
text-align: center;
}
button::after{
border: none;
}
.foot{
position: fixed;
bottom: 15px;
margin-left: 1%;
.size {
transform: scale(0.5,0.5);
font-size: 24px;
}
}
}
// .bottom{
// position:fixed;
// height: 40px;
// width: 100%;
// bottom:38px;
// button{
// height: 100%;
// line-height: 40px;
// width: 60%;
// font-size: 16px;
// }
// }
}

@ -0,0 +1,109 @@
<template>
<view class="in-content">
<view class="in-table">
<u-table>
<u-tr class="u-tr">
<u-th class="u-th" width="10%">序号</u-th>
<u-th class="u-th" width="35%">盘点单号</u-th>
<u-th class="u-th" width="15%">总条目12</u-th>
<u-th class="u-th" width="20%">已盘条目</u-th>
<u-th class="u-th" width="20%">盘点人</u-th>
</u-tr>
<u-tr class="u-tr" v-for="(item, index) in result" :key="index" :class="invOrderNo===item.invOrderNo?'bg':null">
<u-td class="u-td" width="10%" >
<span @click="choosed(item.invOrderNo)">{{ index + 1 }}</span>
</u-td>
<u-td class="u-td" width="35%">
<span @click="choosed(item.invOrderNo)">{{ item.invOrderNo || '-' }}</span>
</u-td>
<u-td class="u-td" width="15%">
<span @click="choosed(item.invOrderNo)">{{ item.totalNumber || '-' }}</span>
</u-td>
<u-td class="u-td" width="20%">
<span @click="choosed(item.invOrderNo)">
{{ item.finishNumber || '-' }}
</span>
</u-td>
<u-td class="u-td" width="20%" style="width:20%;text-overflow:ellipsis;overflow: hidden;">
<span @click="choosed(item.invOrderNo)">
{{ item.invUser || '-' }}
</span>
</u-td>
</u-tr>
</u-table>
</view>
<view class="in-operate">
<u-button class="in-button" size="medium" @click="refreshPages()">刷新</u-button>
<u-button size="medium" @click="startImplement()">开始盘点</u-button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
result: [],
invOrderNo: ''
}
},
mounted() {
this.getList()
},
methods: {
choosed(num) {
console.log(num)
console.log('这里没执行')
this.invOrderNo = num
},
// list
getList() {
this.$u.api.inventoryPlanning.inventoryPlanningList().then(res => {
console.log(res)
if(res.code===200) {
this.result = res.rows
} else {
his.$u.toast(res.msg);
}
});
},
refreshPages() {
this.$u.toast("页面已刷新");
},
startImplement() {
this.$u.route({
url: '/pages/inventory/implement',
type: 'navigateTo',
params: {
invOrderNo: this.invOrderNo
}
})
}
}
}
</script>
<style lang="scss">
.in-content {
display: flex;
flex-direction: column;
.in-table {
padding: 20rpx 30rpx 0 30rpx;
}
.in-operate {
position: fixed;
bottom: 50rpx;
left: 15%;
.in-button {
margin-right: 50rpx;
}
}
}
.bg {
background-color: #e2a622;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Loading…
Cancel
Save