<template>
|
<view class="page">
|
<view class="packing-registration-bg" />
|
<u-navbar title="盘点报告盘点" :background="background" :border-bottom="false" :title-bold="true" title-color="#000"
|
back-icon-color="#000" />
|
<view class="packing-registration-param">
|
<view class="packing-registration-param-view">
|
<view class="packing-registration-param-item param-extra">
|
<view class="packing-registration-param-item-left">
|
<text class="item-one">盘点报告号</text>
|
</view>
|
<view class="packing-registration-param-item-right">
|
<text class="item-one item-two"
|
@click="seachPersonnelNo()">{{registerInfo.value1=='' ? "点击选择":registerInfo.value1}}</text>
|
<u-icon name="arrow-right" color="#687792" size="28" @click="seachPersonnelNo()"
|
v-show="registerInfo.value1 ==''"></u-icon>
|
</view>
|
</view>
|
<view class="packing-registration-param-item param-extra">
|
<view class="packing-registration-param-item-left">
|
<text class="item-one">仓库</text>
|
</view>
|
<view class="packing-registration-param-item-right">
|
<text class="item-one item-two">{{registerInfo.value2}}</text>
|
</view>
|
</view>
|
<view class="packing-registration-param-item param-extra">
|
<view class="packing-registration-param-item-left">
|
<text class="item-one">零件号</text>
|
</view>
|
<view class="packing-registration-param-item-right">
|
<view class="item-one item-two" @click="openPN()">
|
<text>{{registerInfo.value6=='' ? "点击输入":registerInfo.value6}}</text>
|
</view>
|
<u-icon name="arrow-right" color="#687792" size="28" v-show="registerInfo.value6==''"></u-icon>
|
</view>
|
</view>
|
<view class="packing-registration-param-item param-extra">
|
<view class="packing-registration-param-item-left">
|
<text class="item-one">批次号</text>
|
</view>
|
<view class="packing-registration-param-item-right" @click="openBatch()">
|
<text class="item-one item-two">{{registerInfo.value3=='' ? "点击输入":registerInfo.value3}}</text>
|
<u-icon name="arrow-right" color="#687792" size="28" v-show="registerInfo.value3==''"></u-icon>
|
</view>
|
</view>
|
<view class="packing-registration-param-item param-extra">
|
<view class="packing-registration-param-item-left">
|
<text class="item-one">库位号</text>
|
</view>
|
<view class="packing-registration-param-item-right" @click="openLocation()">
|
<view class="item-one item-two">
|
<text>{{registerInfo.value4 == '' ? "点击输入":registerInfo.value4}}</text>
|
</view>
|
<u-icon name="arrow-right" color="#687792" size="28" v-show="registerInfo.value4==''"></u-icon>
|
</view>
|
</view>
|
<view class="packing-registration-param-item param-extra">
|
<view class="packing-registration-param-item-left">
|
<text class="item-one">盘点数量</text>
|
</view>
|
<view class="packing-registration-param-item-right" @click="openPhysicalInventory()">
|
<view class="item-one item-two">
|
<text>{{registerInfo.value5 == '' ? "点击输入":registerInfo.value5}}</text>
|
</view>
|
<u-icon name="arrow-right" color="#687792" size="28" v-show="registerInfo.value4==''"></u-icon>
|
</view>
|
</view>
|
<view class="packing-registration-param-item param-extra">
|
<view class="packing-registration-param-item-left">
|
<text class="item-one">盘点记录:</text>
|
</view>
|
</view>
|
</view>
|
</view>
|
<view class="wrap">
|
<scroll-view class="packing-registration-scroll-list" scroll-y="true">
|
<u-cell-group class="packing-registration-scroll-list-group" :border="false">
|
<!-- <div class="tip" style="text-align: center;" v-if="hasScanSnList.length==0">-请扫码-</div> -->
|
<view class="content" v-for="(item, index) in hasScanSnList" :key="index" :index="index">
|
<view class="content-header">
|
<view class="content-header-title">{{ index+1 }}</view>
|
</view>
|
<view class="content-body">
|
<view class="row-list">
|
<view class="_label">
|
<view class="_label-name">零件号:</view>
|
</view>
|
<view class="_content">
|
{{ item.value0 }}
|
</view>
|
</view>
|
<view class="row-list">
|
<view class="_label">
|
<view class="_label-name">批次号:</view>
|
</view>
|
<view class="_content">
|
{{ item.value1 }}
|
</view>
|
</view>
|
<view class="row-list">
|
<view class="_label">
|
<view class="_label-name">库位号:</view>
|
</view>
|
<view class="_content">
|
{{ item.value0 }}
|
</view>
|
</view>
|
<view class="row-list">
|
<view class="_label">
|
<view class="_label-name">盘点数量:</view>
|
</view>
|
<view class="_content">
|
{{ item.value1 }}
|
</view>
|
</view>
|
</view>
|
</view>
|
</u-cell-group>
|
</scroll-view>
|
<view class="registration-form-footer">
|
<u-button class="btn" type="primary" @click="goSubmit">提交</u-button>
|
</view>
|
<scan></scan>
|
<!-- 零件号 -->
|
<modalBg ref="openPN" :confirm="confirmPN">
|
<u-field v-model="registerInfo.value6" label="零件号:" placeholder="请输入" :border-bottom="false">
|
</u-field>
|
</modalBg>
|
<!-- 批次号 -->
|
<modalBg ref="openBatch" :confirm="confirmBatch">
|
<u-field v-model="registerInfo.value3" label="批次号:" placeholder="请输入" :border-bottom="false">
|
</u-field>
|
</modalBg>
|
<!-- 库位号 -->
|
<modalBg ref="openLocation" :confirm="confirmLocation">
|
<u-field v-model="registerInfo.value4" label="库位号:" placeholder="请输入" :border-bottom="false">
|
</u-field>
|
</modalBg>
|
<!-- 盘点数量 -->
|
<modalBg ref="openPhysicalInventory" :confirm="confirmPhysicalInventory">
|
<u-field v-model="registerInfo.value5" label="盘点数量:" label-width="140" placeholder="请输入"
|
:border-bottom="false">
|
</u-field>
|
</modalBg>
|
</view>
|
</view>
|
</template>
|
<script>
|
import modalBg from '@/components/modal/modal-bg.vue'
|
import scan from "@/components/scan/scan.vue";
|
import content_bg from '@/static/custom/packing/backBg.png'
|
export default {
|
components: {
|
scan,
|
modalBg
|
},
|
data() {
|
return {
|
background: {
|
backgroundImage: `url(${content_bg})`,
|
backgroundAttachment: 'fixed',
|
backgroundSize: '100% auto',
|
backgroundRepeat: 'no-repeat',
|
},
|
labelStyle: {
|
fontSize: '32rpx',
|
whiteSpace: 'nowrap'
|
},
|
registerInfo: {
|
value1: '',
|
value2: '',
|
value3: '',
|
value4: '',
|
value5: '',
|
value6: ''
|
},
|
hasScanSnList: [
|
{
|
value0: '11111111111111111111111',
|
value1: '111',
|
value2: '111',
|
value3:'111',
|
},
|
{
|
value0: '111',
|
value1: '111',
|
value2: '111',
|
value3:'111',
|
},
|
{
|
value0: '111',
|
value1: '111',
|
value2: '111',
|
value3:'111',
|
},
|
{
|
value0: '111',
|
value1: '111',
|
value2: '111',
|
value3:'111',
|
},
|
],
|
delContent: null,
|
staffList: [],
|
};
|
},
|
onLoad(option) {},
|
onShow() {
|
|
let that = this
|
|
uni.$off('scan') // 每次进来先 移除全局自定义事件监听器
|
uni.$on('scan', function(data) {
|
console.log('onscan');
|
//扫码成功后的回调,你可以写自己的逻辑代码在这里
|
console.log('扫码结果:', data.code);
|
that.scanHandle(data.code)
|
that.$forceUpdate();
|
|
})
|
},
|
onNavigationBarButtonTap() {
|
this.goScan()
|
},
|
onReady() {},
|
methods: {
|
//零件号
|
openPN() {
|
this.$refs.openPN.open();
|
},
|
// 弹框保存
|
confirmPN() {
|
console.log('保存', this.registerInfo.value6);
|
// 请求接口,根据工单号查询其他信息并赋值
|
},
|
//批次号
|
openBatch() {
|
this.$refs.openBatch.open();
|
},
|
// 弹框保存
|
confirmBatch() {
|
console.log('保存', this.registerInfo.value3);
|
// 请求接口,根据工单号查询其他信息并赋值
|
},
|
//库位号
|
openLocation() {
|
this.$refs.openLocation.open();
|
},
|
// 弹框保存
|
confirmLocation() {
|
console.log('保存', this.registerInfo.value4);
|
// 请求接口,根据工单号查询其他信息并赋值
|
},
|
//盘点数量
|
openPhysicalInventory() {
|
this.$refs.openPhysicalInventory.open();
|
},
|
// 弹框保存
|
confirmPhysicalInventory() {
|
console.log('保存', this.registerInfo.value5);
|
// 请求接口,根据工单号查询其他信息并赋值
|
},
|
|
setNo(val) {
|
console.log('11111', val)
|
this.registerInfo.value1 = val.value1
|
this.registerInfo.value2 = val.value2
|
|
},
|
//盘点报告号
|
seachPersonnelNo() {
|
console.log('11111')
|
uni.navigateTo({
|
url: '/pages/wareHouse/inventory/orderList'
|
})
|
},
|
goScan() {
|
uni.scanCode({
|
scanType: ['qrCode'],
|
success: res => {
|
try {
|
console.log('扫码结果:', res);
|
this.scanHandle(res.result)
|
} catch (e) {}
|
}
|
});
|
},
|
scanHandle(scanresult) {
|
scanresult = scanresult.replace(/[\r\n]/g, "")
|
if (scanresult.indexOf('{') > -1) {
|
//二维码
|
const result = JSON.parse(scanresult)
|
//增加SN校验
|
if (result.sn_no && result.sn_no != null && result.sn_no != '') {
|
if (this.hasScanSnList.length > 0) {
|
let hasScanSnIndex = this.hasScanSnList.indexOf(result.sn_no)
|
if (hasScanSnIndex < 0) {
|
this.hasScanSnList.push(result.sn_no)
|
} else {
|
this.$u.toast('请勿重复扫描')
|
}
|
} else {
|
this.hasScanSnList.push(result.sn_no)
|
}
|
}
|
|
} else {
|
//增加SN校验
|
if (this.hasScanSnList.length > 0) {
|
let hasScanSnIndex = this.hasScanSnList.indexOf(scanresult)
|
if (hasScanSnIndex < 0) {
|
this.hasScanSnList.push(scanresult)
|
} else {
|
this.$u.toast('请勿重复扫描')
|
}
|
} else {
|
this.hasScanSnList.push(scanresult)
|
}
|
}
|
},
|
goSubmit() {
|
// if (this.registerInfo.shiftId == null || this.registerInfo.shiftId == '') {
|
// this.$u.toast('请选择班次')
|
// return
|
// }
|
// if (this.registerInfo.value3 == null || this.registerInfo.value3 == '') {
|
// this.$u.toast('请选择日期')
|
// return
|
// }
|
// if (this.registerInfo.locNo == null || this.registerInfo.locNo == '') {
|
// this.$u.toast('请选择包装库位')
|
// return
|
// }
|
// if (this.hasScanSnList.length == 0) {
|
// this.$u.toast('无待提交的SN号明细')
|
// return
|
// }
|
// let registrList = []
|
// this.staffList = []
|
// this.staffNameList.forEach((item) => {
|
// this.staffList.push({
|
// staffId: item.id
|
// })
|
// })
|
// this.hasScanSnList.forEach((item) => {
|
// registrList.push({
|
// shiftId: this.registerInfo.shiftId,
|
// value3: this.registerInfo.value3,
|
// locNo: this.registerInfo.locNo,
|
// partBatchNo: item,
|
// staffList: this.staffList
|
// })
|
// })
|
// this.$u.api.pigxPacking.addPackageRegister(registrList).then(res => {
|
// let resData = res.data
|
// this.hasScanSnList = []
|
// this.$u.toast('提交成功')
|
// }).catch((e) => {
|
// })
|
|
},
|
}
|
};
|
</script>
|
<style lang="scss" scoped>
|
.packing-registration-bg {
|
background-color: #F6F9FF;
|
background-image: url('~@/static/custom/packing/backBg.png');
|
padding: 0 20rpx;
|
background-attachment: fixed;
|
background-size: 100% auto;
|
background-repeat: no-repeat;
|
position: fixed;
|
top: 0;
|
bottom: 0;
|
width: 100%;
|
z-index: -1;
|
}
|
|
.packing-registration-param {
|
padding: 40rpx 30rpx 10rpx 30rpx;
|
|
.packing-registration-param-title {
|
display: flex;
|
flex-direction: row;
|
align-items: center;
|
margin-bottom: 30rpx;
|
|
.title-label {
|
margin-left: 14rpx;
|
font-size: 34rpx;
|
font-weight: bold;
|
color: #283E65;
|
}
|
}
|
|
.packing-registration-param-view {
|
height: 615rpx;
|
background-color: #fff;
|
border-radius: 10rpx;
|
padding: 0rpx 23rpx;
|
margin-bottom: 30rpx;
|
|
.packing-registration-param-item {
|
height: 90rpx;
|
border: 1px solid #ADC8E4;
|
line-height: 90rpx;
|
display: flex;
|
justify-content: space-between;
|
border: none;
|
|
.packing-registration-param-item-left {
|
.item-one {
|
font-size: 30rpx;
|
color: #666666;
|
}
|
}
|
|
.packing-registration-param-item-right {
|
display: flex;
|
justify-content: space-between;
|
|
.item-one {
|
font-size: 30rpx;
|
color: #333333;
|
margin-right: 6rpx;
|
}
|
|
.item-two {
|
font-size: 30rpx;
|
color: #A6B4CC;
|
margin-right: 6rpx;
|
}
|
|
.item-three {
|
font-size: 30rpx;
|
color: #214DED;
|
margin-right: 6rpx;
|
}
|
}
|
}
|
|
.param-extra {
|
border-bottom: 1px solid #EDEDED;
|
}
|
}
|
}
|
|
.wrap .packing-registration-scroll-list {
|
height: calc(100vh - var(--window-top) - var(--window-bottom) - 930rpx);
|
width: 100%;
|
}
|
|
.packing-registration-scroll-list-group {
|
::v-deep .u-cell-item-box {
|
background-color: rgba(250, 252, 255, 0.36) !important;
|
padding: 0rpx 30rpx;
|
}
|
|
.content {
|
font-size: 12px;
|
background-color: #ffffff;
|
box-sizing: border-box;
|
border-radius: 10rpx;
|
margin: 0rpx 0rpx 16rpx;
|
padding: 20rpx 8rpx;
|
box-shadow: none;
|
display: flex;
|
align-items: center;
|
|
.content-header {
|
width: 40rpx;
|
height: 90rpx;
|
display: flex;
|
align-items: center;
|
|
.content-header-icon {
|
background-image: url("~@/static/custom/moveWareHouse/header_icon.png");
|
background-size: 100% auto;
|
background-repeat: no-repeat;
|
height: 28rpx;
|
width: 28rpx;
|
}
|
|
.content-header-title {
|
margin-left: 11rpx;
|
font-size: 26rpx;
|
font-weight: bold;
|
color: #626369;
|
}
|
}
|
|
.content-body {
|
flex: 1;
|
background-color: #ffffff;
|
border-radius: 10rpx;
|
padding: 0rpx 23rpx;
|
|
.row-list {
|
height: 60rpx;
|
display: flex;
|
flex-direction: row;
|
padding: 0px;
|
align-items: center;
|
}
|
|
.row-list ._label {
|
display: flex;
|
flex: 0.8;
|
color: #909399;
|
align-items: center;
|
|
._label-name {
|
margin-left: 11rpx;
|
font-size: 26rpx;
|
font-weight: 500;
|
color: #666666;
|
}
|
}
|
|
.row-list ._content {
|
flex: 1.5;
|
text-align: right;
|
color: #909399;
|
font-size: 24rpx;
|
}
|
|
.row-list .s1 {
|
color: #d35651;
|
}
|
}
|
}
|
}
|
|
.registration-form-footer {
|
display: flex;
|
margin-top: 10rpx;
|
margin-bottom: 10rpx;
|
margin-left: 20rpx;
|
margin-right: 20rpx;
|
padding-bottom: 14rpx;
|
|
.btn {
|
flex: 1;
|
margin: 10rpx;
|
background: #214DED;
|
box-shadow: 0rpx 6rpx 8rpx 0rpx rgba(4, 49, 212, 0.3);
|
font-weight: bold;
|
color: #FEFEFE;
|
font-family: PingFang SC;
|
}
|
}
|
</style>
|