From 69c67ff5acedc217a07a18b847ed22284e80a56d Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期一, 03 十一月 2025 17:49:04 +0800
Subject: [PATCH] 核磅录入增加根据接口查询客户名称校验是否一致
---
pages/wareHouse/inventory/index.vue | 634 ++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 446 insertions(+), 188 deletions(-)
diff --git a/pages/wareHouse/inventory/index.vue b/pages/wareHouse/inventory/index.vue
index dedccde..3f8b34a 100644
--- a/pages/wareHouse/inventory/index.vue
+++ b/pages/wareHouse/inventory/index.vue
@@ -1,156 +1,348 @@
<template>
<view class="page">
- <view class="inventory-list-bg"/>
- <u-navbar title="鐩樼偣鍒楄〃" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" back-icon-color="#000"/>
- <view class="inventory-list-search">
- <u-search v-model="query.inyNo" shape="square" bg-color="rgba(250,252,255,0.36)" :show-action="false" placeholder="鐩樼偣缂栧彿" @clear="search" @custom="search" @search="search">
- </u-search>
- </view>
- <view class="wrap">
- <scroll-view class="inventory-list-scroll-list" scroll-y="true" @scrolltolower="loadMore">
- <u-cell-group class="inventory-list-scroll-list-group" :border="false">
- <view class="content" v-for="(item, index) in list" :key="index" :index="index"
- @click="goDetail(item)">
- <view class="content-header">
- <view class="content-header-left">
- <view class="content-header-icon"></view>
- <view class="content-header-title">鐩樼偣缂栧彿锛歿{ item.inyNo }}</view>
- </view>
- <view class="content-header-right">
- {{item.inyStatus=='finished'?'宸插畬鎴�':'鑽夌'}}
- </view>
- </view>
- <view class="content-body">
- <view class="row-list">
- <view class="_label">
- <view class="_label-icon-1">
- </view>
- <view class="_label-name">鐩樼偣鎻忚堪锛�</view>
- </view>
- <view class="_content">
- {{ item.inyDesc||'鏃�' }}
- </view>
- </view>
- <view class="row-list">
- <view class="_label">
- <view class="_label-icon-2">
- </view>
- <view class="_label-name">鍒� 寤� 浜猴細</view>
- </view>
- <view class="_content">
- {{ item.createUser }}
- </view>
- </view>
- <view class="row-list">
- <view class="_label">
- <view class="_label-icon-3">
- </view>
- <view class="_label-name">鍒涘缓鏃堕棿锛�</view>
- </view>
- <view class="_content">
- {{ item.createTime }}
- </view>
- </view>
- </view>
+ <view class="packing-registration-bg" />
+ <u-navbar title="搴撳瓨鐩樼偣" :background="background" :border-bottom="false" :title-bold="true" title-color="#000"
+ back-icon-color="#000">
+ <template #right>
+ <text style="font-size:14px;margin-right:14px;font-weight:bold" @click="goSubmit">鎻愪氦</text>
+ </template>
+ </u-navbar>
+ <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>
- </u-cell-group>
- <view class="loadmore" @click="loadMore">
- <u-loadmore :status="loadStatus"></u-loadmore>
+ <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>
- </scroll-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>
+ <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>
- </view>
</template>
<script>
- import content_bg from '@/static/custom/inventory/locNoBg.png'
+ 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:{
+ background: {
backgroundImage: `url(${content_bg})`,
backgroundAttachment: 'fixed',
backgroundSize: '100% auto',
backgroundRepeat: 'no-repeat',
},
- keywords: '',
- query: {
- current: 1,
- size: 20,
- criteria:JSON.stringify({
- orderBy:{
- column:'createTime',
- direction:'desc'
- }
- })
+ labelStyle: {
+ fontSize: '32rpx',
+ whiteSpace: 'nowrap'
},
- list: [],
- count: 0,
- loadStatus: 'loading'
+ registerInfo: {},
+ hasScanSnList: [],
+ delContent: null,
+ staffList: [],
};
},
- onLoad() {
- this.loadList();
- },
+ onLoad(option) {},
onShow() {
+ let that = this
+
+ uni.$off('scan') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+ uni.$on('scan', function(data) {
+ console.log('onscan');
+ //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
+ console.log('鎵爜缁撴灉锛�', data.code);
+ that.scanHandle(data.code)
+ that.$forceUpdate();
+
+ })
},
- filters: {
- inyStatus(val) {
- let inyStatus = {
- finished: '宸插畬鎴�',
- draft: '鑽夌',
- }
- return inyStatus[val]
- }
+ onNavigationBarButtonTap() {
+ this.goScan()
},
+ onReady() {},
methods: {
- loadMore() {
- if(this.loadStatus == "nomore"){
- return
- }
- this.loadStatus = "loading";
- setTimeout(() => {
- this.query.current += 1;
- this.loadList();
- }, 100);
+ //闆朵欢鍙�
+ openPN() {
+ this.$refs.openPN.open();
},
- loadList() {
- this.$u.api.inventory.getMain(this.query).then(res => {
- this.list = this.list.concat(res.data.records);
- //this.total = res.data.total;
- this.query.current = res.data.current;
- this.query.size = res.data.size;
- this.loadStatus = "loadmore";
- if (!res.data.records || res.data.records.length < this.query.size) {
- this.loadStatus = "nomore";
+ // 寮规淇濆瓨
+ 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) {}
}
});
},
- search(value) {
- this.list = [];
- this.query.current = 1;
- this.loadList();
- },
- goDetail(item) {
- if(item.inyStatus === 'finished'){
- uni.showToast({
- title: "鐩樼偣宸插畬鎴愩��",
- icon: "none"
- });
- return
+ 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)
+ }
}
- uni.navigateTo({
- url: `/pages/wareHouse/inventory/detail?id=${item.id}&no=${item.inyNo}`
- })
- }
+ },
+ // 鐐瑰嚮鎻愪氦鎸夐挳鐨勪簨浠跺鐞嗗嚱鏁�
+ goSubmit() {
+ if (!this.registerInfo.value1) {
+ this.$u.toast('璇烽�夋嫨鐩樼偣鎶ュ憡鍙�');
+ return;
+ }
+ if (!this.registerInfo.value5) {
+ this.$u.toast('璇疯緭鍏ョ洏鐐规暟閲�');
+ return;
+ }
+ uni.showLoading({
+ mask: true,
+ title: "鎻愪氦涓�...",
+ });
+ // 澶勭悊鎻愪氦閫昏緫
+ this.$u.api.workReporting
+ .operationTask({
+ inventoryNo: this.registerInfo.value1,
+ warehouse: this.registerInfo.value2,
+ partNo: this.registerInfo.value6,
+ batchNo: this.registerInfo.value3,
+ location: this.registerInfo.value4,
+ quantity: this.registerInfo.value5,
+ scanList: this.hasScanSnList
+ })
+ .then((res) => {
+ uni.hideLoading();
+ if (res.success) {
+ this.$u.toast('鎻愪氦鎴愬姛');
+ this.registerInfo = {};
+ this.hasScanSnList = [];
+ } else {
+ this.$u.toast(res.message || '鎻愪氦澶辫触');
+ }
+ })
+ .catch(() => {
+ uni.hideLoading();
+ this.$u.toast('缃戠粶寮傚父锛岃閲嶈瘯');
+ });
+ },
}
};
</script>
-<style scoped lang="scss">
- .inventory-list-bg{
+<style lang="scss" scoped>
+.transparent-border {
+border: none;
+}
+ .packing-registration-bg {
background-color: #F6F9FF;
- background-image: url('~@/static/custom/inventory/locNoBg.png');
- // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0));
+ background-image: url('~@/static/custom/packing/backBg.png');
padding: 0 20rpx;
background-attachment: fixed;
background-size: 100% auto;
@@ -161,61 +353,126 @@
width: 100%;
z-index: -1;
}
-
- .inventory-list-search{
- padding: 40rpx 30rpx 20rpx 30rpx;
+
+ .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 .inventory-list-scroll-list{
- height:calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx);
- width:100%;
+
+ .wrap .packing-registration-scroll-list {
+ height: calc(100vh - var(--window-top) - var(--window-bottom) - 930rpx);
+ width: 100%;
}
- .inventory-list-scroll-list-group{
+
+ .packing-registration-scroll-list-group {
::v-deep .u-cell-item-box {
- background-color:rgba(250,252,255,0.36) !important;
- padding:0rpx 30rpx ;
- }
+ background-color: rgba(250, 252, 255, 0.36) !important;
+ padding: 0rpx 30rpx;
+ }
+
.content {
font-size: 12px;
- background-color: #FFFFFF;
+ background-color: #ffffff;
box-sizing: border-box;
border-radius: 10rpx;
margin: 0rpx 0rpx 16rpx;
- height: 298rpx;
- padding: 10rpx 20rpx;
+ padding: 20rpx 8rpx;
box-shadow: none;
- .content-header{
+ display: flex;
+ align-items: center;
+
+ .content-header {
+ width: 40rpx;
height: 90rpx;
display: flex;
- align-items:center;
- justify-content: space-between;
- .content-header-left{
- display: flex;
- align-items:center;
- .content-header-icon{
- background-image: url('~@/static/custom/inventory/icon_5.png');
- background-size: 100% auto;
- background-repeat: no-repeat;
- height:28rpx;
- width:28rpx;
- }
- .content-header-title{
- margin-left: 11rpx;
- font-size: 28rpx;
- font-weight: bold;
- color: #333333;
- }
+ 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-right{
- text-align: right;
+
+ .content-header-title {
+ margin-left: 11rpx;
+ font-size: 26rpx;
font-weight: bold;
- color: #FB5B25;
+ color: #626369;
}
}
- .content-body{
- height:184rpx;
- background: #F5F9FF;
+
+ .content-body {
+ flex: 1;
+ background-color: #ffffff;
border-radius: 10rpx;
padding: 0rpx 23rpx;
+
.row-list {
height: 60rpx;
display: flex;
@@ -223,50 +480,51 @@
padding: 0px;
align-items: center;
}
+
.row-list ._label {
display: flex;
- flex: 0.6;
+ flex: 0.8;
color: #909399;
align-items: center;
- ._label-icon-1{
- background-image: url('~@/static/custom/inventory/label-icon-1.png');
- background-size: 100% auto;
- background-repeat: no-repeat;
- height:26rpx;
- width:26rpx;
- }
- ._label-icon-2{
- background-image: url('~@/static/custom/inventory/icon3.png');
- background-size: 100% auto;
- background-repeat: no-repeat;
- height:26rpx;
- width:26rpx;
- }
- ._label-icon-3{
- background-image: url('~@/static/custom/inventory/icon4.png');
- background-size: 100% auto;
- background-repeat: no-repeat;
- height:26rpx;
- width:26rpx;
- }
- ._label-name{
+
+ ._label-name {
margin-left: 11rpx;
font-size: 26rpx;
font-weight: 500;
- color: #909399;
-
+ color: #666666;
}
}
-
+
.row-list ._content {
flex: 1.5;
- color: #666666;
+ text-align: right;
+ color: #909399;
font-size: 24rpx;
}
+
.row-list .s1 {
- color:#D35651;
+ color: #d35651;
}
}
}
}
-</style>
+
+ .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>
\ No newline at end of file
--
Gitblit v1.9.3