You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
368 lines
8.5 KiB
Vue
368 lines
8.5 KiB
Vue
<template>
|
|
<view class="page-product-receipt">
|
|
<view class="header" :style="{ backgroundColor: `rgba(250, 53, 52, ${scrollTop / 100})` }">
|
|
<view class="left">
|
|
<u-icon class="icon" name="arrow-left" @click="uni.navigateBack({})" />
|
|
</view>
|
|
<view class="title">托盘箱码关系</view>
|
|
<view class="right"></view>
|
|
</view>
|
|
|
|
<view class="scroll">
|
|
<view v-for="item in list" :key="item.id">
|
|
<u-form style="margin-top: 10rpx" class="form2">
|
|
<view class="list">
|
|
<view class="row-list">
|
|
<view class="list-item"> 托盘号: </view>
|
|
<view> {{ item.sn }}</view>
|
|
</view>
|
|
<view class="row-list">
|
|
<view class="list-item"> 箱码: </view>
|
|
<view> {{ item.barcode }} </view>
|
|
</view>
|
|
<view class="rowright">
|
|
<view class="righttitle">
|
|
<view @click.stop="onPassdelet(item)" class="boder-icon-rigth"> 解除关联 </view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</u-form>
|
|
</view>
|
|
</view>
|
|
<view class="bottom-bar">
|
|
<u-row class="button-bar">
|
|
<!-- 确定 -->
|
|
<u-col :span="6">
|
|
<u-button @click="onSubmit" type="primary">关联箱码</u-button>
|
|
</u-col>
|
|
<!-- 返回 -->
|
|
<u-col :span="6">
|
|
<u-button type="error" @click="uni.navigateBack({})">返回</u-button>
|
|
</u-col>
|
|
</u-row>
|
|
</view>
|
|
<view>
|
|
<u-popup v-model="show" mode="center" width="550rpx" height="450rpx">
|
|
<view class="form5">
|
|
<view class="poupitem">
|
|
<view class="pouptitle">托盘号:</view>
|
|
<u-input class="poupcontent" :clearable="false" v-model="sn" placeholder="" style="overflow: hidden" />
|
|
</view>
|
|
<view class="poupitem">
|
|
<view class="pouptitle">箱码:</view>
|
|
<u-input class="poupcontent" :clearable="false" v-model="barcode" placeholder="" style="overflow: hidden" />
|
|
</view>
|
|
<!-- <view class="poupitem">
|
|
<view class="pouptitle">箱数:</view>
|
|
<u-input class="poupcontent" :clearable="false" v-model="form5.number" placeholder="" style="overflow: hidden" />
|
|
</view> -->
|
|
</view>
|
|
<view class="poupbutton">
|
|
<!-- 确定 -->
|
|
<u-button @click="onOk" type="primary">确定</u-button>
|
|
<!-- 返回 -->
|
|
<u-button type="error" @click="nopoup">取消</u-button>
|
|
</view>
|
|
</u-popup>
|
|
<view v-if="show" class="mask"></view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
<script lang="ts">
|
|
import { Component } from 'vue-property-decorator';
|
|
import { BasePage } from '@/components/base/page';
|
|
import jPicker from '@/components/J-Picker/jPicker.vue';
|
|
import model from './model';
|
|
import { session } from '@/store/modules/session';
|
|
@Component({
|
|
components: {
|
|
jPicker,
|
|
},
|
|
})
|
|
export default class OfflineStoragedetail extends BasePage {
|
|
model = model;
|
|
sn = '';
|
|
barcode = '';
|
|
show = false;
|
|
list: any[] = [];
|
|
onLoad(options) {
|
|
this.sn = options.sn;
|
|
this.query();
|
|
}
|
|
async query() {
|
|
await this.model.selectSnCorrelationBarcode(this.sn);
|
|
if (model.selectcode == '200') {
|
|
this.list = model.selectdata;
|
|
} else {
|
|
this.list = [];
|
|
}
|
|
}
|
|
onSubmit() {
|
|
this.show = true;
|
|
}
|
|
nopoup() {
|
|
this.show = false;
|
|
this.barcode = '';
|
|
}
|
|
async onOk() {
|
|
if (this.sn == '' || this.barcode == '') {
|
|
(this.$refs.uToast as any).show({
|
|
title: '不能为空',
|
|
// url: '/pages/user/index'
|
|
});
|
|
return;
|
|
}
|
|
let item = {
|
|
sn: this.sn,
|
|
barcode: this.barcode,
|
|
siteCode: session.FactoryCode,
|
|
};
|
|
await this.model.addSnCorrelationBarcode(item);
|
|
if (model.addsncode == '200') {
|
|
this.query();
|
|
this.nopoup();
|
|
} else {
|
|
(this.$refs.uToast as any).show({
|
|
title: '绑定失败',
|
|
// url: '/pages/user/index'
|
|
});
|
|
return;
|
|
}
|
|
}
|
|
async onPassdelet(item) {
|
|
console.log('item', item);
|
|
await this.model.deletSnCorrelationBarcode(item.storageId);
|
|
if (model.addsncode == '200') {
|
|
this.query();
|
|
} else {
|
|
(this.$refs.uToast as any).show({
|
|
title: '取消关联失败',
|
|
// url: '/pages/user/index'
|
|
});
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.page-product-receipt {
|
|
background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #f8262c 51%, #d9001b 100%) no-repeat;
|
|
background-size: 100% 600rpx;
|
|
padding: 118rpx 30rpx 162rpx;
|
|
min-height: 100%;
|
|
|
|
.header {
|
|
position: fixed;
|
|
top: 0rpx;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 99;
|
|
display: flex;
|
|
height: 120rpx;
|
|
line-height: 88rpx;
|
|
color: #fff;
|
|
font-size: 34rpx;
|
|
font-weight: 500;
|
|
text-align: center;
|
|
padding: 45rpx 0rpx 0rpx;
|
|
|
|
.title {
|
|
flex: 3;
|
|
}
|
|
|
|
.left,
|
|
.right {
|
|
flex: 1;
|
|
}
|
|
|
|
.icon {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
width: 88rpx;
|
|
height: 88rpx;
|
|
}
|
|
}
|
|
|
|
.scroll {
|
|
// margin-top: 120rpx;
|
|
// padding-left: 30rpx;
|
|
// padding-right: 16rpx;
|
|
// margin-bottom: 20rpx;
|
|
// overflow: scroll;
|
|
// padding-top: 20rpx;
|
|
.form2 {
|
|
background-color: #fff;
|
|
padding: 25rpx 25rpx 25rpx;
|
|
border-radius: 10rpx;
|
|
box-shadow: 0 0 20rpx 0 rgba(128, 128, 128, 0.2);
|
|
|
|
.row-list {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
.row-list-item {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-between;
|
|
width: 40%;
|
|
}
|
|
.list-item {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex: 1;
|
|
}
|
|
}
|
|
|
|
.righttitle {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
|
|
.boder-icon-rigth {
|
|
border: 1rpx solid #fa3534;
|
|
width: 130rpx;
|
|
text-align: center;
|
|
background: #fa3534;
|
|
color: #ffffff;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.zhuangtai {
|
|
background: #a7a0a04a;
|
|
width: 224rpx;
|
|
margin-right: -27rpx;
|
|
border: 2rpx solid #a7a0a04a;
|
|
border-radius: 12rpx;
|
|
text-align: center;
|
|
margin-bottom: 10rpx;
|
|
}
|
|
|
|
.zhuangtai[data-state='1'] {
|
|
color: green;
|
|
}
|
|
|
|
.zhuangtai[data-state='0'] {
|
|
color: blue;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.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;
|
|
}
|
|
|
|
.button-bar {
|
|
}
|
|
|
|
.photoList {
|
|
display: flex;
|
|
padding-top: 12rpx;
|
|
|
|
.chooseBtn {
|
|
width: 202rpx;
|
|
height: 202rpx;
|
|
background: #fafafa;
|
|
border-radius: 12rpx;
|
|
border: 2rpx dashed #e2e2e2;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
.inner {
|
|
text-align: center;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.desc {
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
color: #24252a;
|
|
line-height: 40rpx;
|
|
}
|
|
|
|
.img {
|
|
width: 50rpx;
|
|
height: 50rpx;
|
|
margin-bottom: 6rpx;
|
|
}
|
|
}
|
|
|
|
.photoBox {
|
|
width: 202rpx;
|
|
height: 202rpx;
|
|
background: #fafafa;
|
|
border-radius: 12rpx;
|
|
position: relative;
|
|
|
|
.closeBtn {
|
|
position: absolute;
|
|
top: -12rpx;
|
|
right: -12rpx;
|
|
z-index: 2;
|
|
width: 36rpx;
|
|
height: 36rpx;
|
|
|
|
.img {
|
|
width: 36rpx;
|
|
height: 36rpx;
|
|
}
|
|
}
|
|
|
|
.img {
|
|
width: 202rpx;
|
|
height: 202rpx;
|
|
border-radius: 12rpx;
|
|
}
|
|
}
|
|
|
|
.itemBox {
|
|
flex: 0 0 202rpx;
|
|
margin-right: 20rpx;
|
|
|
|
&:last-child {
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
|
|
// /deep/ .remarksBox textarea {
|
|
// font-size: 24rpx;
|
|
// }
|
|
}
|
|
.form5 {
|
|
padding: 20rpx;
|
|
//border-radius: 10rpx;
|
|
//box-shadow: 0 0 20rpx 0 rgba(128, 128, 128, 0.2);
|
|
.poupitem {
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: space-around;
|
|
margin: 20rpx;
|
|
align-items: center;
|
|
.pouptitle {
|
|
// width: 25%;
|
|
min-width: 35%;
|
|
// white-space: nowrap;
|
|
}
|
|
.poupcontent {
|
|
border: 1px solid rgba(128, 128, 128, 0.2);
|
|
}
|
|
}
|
|
}
|
|
.poupbutton {
|
|
display: flex;
|
|
justify-content: center;
|
|
}
|
|
}
|
|
</style>
|