From d111b3ab62e3a10053d3f339497e03e62459148e Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 21 七月 2025 13:51:53 +0800
Subject: [PATCH] #
---
pages/check/checkOrderItem.vue | 322 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 215 insertions(+), 107 deletions(-)
diff --git a/pages/check/checkOrderItem.vue b/pages/check/checkOrderItem.vue
index d46931d..4398c7e 100644
--- a/pages/check/checkOrderItem.vue
+++ b/pages/check/checkOrderItem.vue
@@ -2,97 +2,168 @@
<view class="has-foot">
<form>
<view class="cu-form-group" v-show="!isconfirm">
- <view class="title">宸紓鍗曞彿</view>
- <text class="text-black ">{{check.orderCode}}</text>
+ <view class="title">鐩樼偣鍗曞彿锛�<text class="text-black ">{{check.orderCode}}</text></view>
+ <text class='cuIcon-add text-blue' @click="returnPage"></text>
</view>
<view class="cu-form-group" v-show="!isconfirm">
<view class="title">瀹瑰櫒鍙�</view>
- <input placeholder="璇锋壂鎻忓鍣ㄥ彿" v-model="barcode" focus></input>
+ <input placeholder="璇锋壂鎻忓鍣ㄥ彿" v-model="barcode" focus></input>
<text class='cuIcon-close text-gray margin-right-xs' v-show="barcode!==''" @click="clearCode"></text>
<text class='cuIcon-search text-blue' @click="search"></text>
</view>
+ <view class="cu-form-group" v-show="isconfirm">
+ <view class="title">鐗╂枡鐮�</view>
+ <input placeholder="璇锋壂鎻忕墿鏂欑爜" v-model="matnr" focus></input>
+ <text class='cuIcon-close text-gray margin-right-xs' v-show="matnr!==''" @click="clearCode"></text>
+ <text class='cuIcon-search text-blue' @click="addMatnr" v-show="matnr!==''"></text>
+ </view>
</form>
-
-
<view class="cu-list det menu sm-border padding">
- <block v-for="(item, index) in list">
- <view class="cu-list det menu ">
-
-
- <view class="cu-bar bg-white solid-bottom margin-top-sm">
- <view class="action">
- <view class="index">
- {{index+1}}
- </view>
- </view>
- <view class="content2">
- <text class="text-gray"><text class="text-black ">{{item.exceStatus$}}</text></text>
- </view>
- </view>
-
- <view class="cu-item">
- <view class="content">
- <text class="text-gray">鐗╂枡缂栫爜:<text class="text-black ">{{item.matnrCode}}</text></text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-gray">鐗╂枡鍚嶇О:<text class="text-black ">{{item.maktx}}</text></text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-gray">搴撳瓨鏁�:<text class="text-black ">{{item.anfme}}</text></text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <view class="cu-form-group padding-lr-0">
- <view class="title text-blue"><text
- class="text-red text-xl vertical-middle"></text>瀹炵洏鏁�:</view>
- <uni-number-box style="width: 70%;" :max="max" v-model="item.checkQty"
- :step='1' ></uni-number-box>
- </view>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <view class="cu-form-group padding-lr-0">
- <text class=" text-blue">澶囨敞:</text>
- <input placeholder="璇疯緭鍏ュ娉�" v-model="item.memo" ></input>
- </view>
- </view>
- </view>
- <view class="cu-item" v-if="item.checkQty !== item.anfme">
- <view class="content">
- <view class="cu-form-group padding-lr-0">
- <view class=" text-blue" >宸紓鍘熷洜</view>
- <view style="width: 80%;">
- <uni-data-select style="min-width: 90%; max-width: 90%;" v-model="item.reason" :localdata="reasons"
- placement="top"></uni-data-select>
+ <block v-for="(item, index) in list" v-if="!isconfirm">
+ <view class="cu-list det menu ">
+ <view class="cu-bar bg-white solid-bottom margin-top-sm">
+ <view class="action">
+ <view class="index">
+ {{index+1}}
</view>
</view>
- </view>
+ <view class="content2">
+ <text class="text-gray"><text class="text-black ">{{item.exceStatus$}}</text></text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-gray">鐗╂枡缂栫爜:<text class="text-black ">{{item.matnrCode}}</text></text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-gray">鐗╂枡鍚嶇О:<text class="text-black ">{{item.maktx}}</text></text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-gray">鎵规:<text class="text-black ">{{item.batch}}</text></text>
+ </view>
+ </view>
+ <view class="cu-item" v-if="check.checkType === 0">
+ <view class="content">
+ <text class="text-gray">搴撳瓨鏁�:<text class="text-black ">{{item.anfme}}</text></text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <view class="cu-form-group padding-lr-0">
+ <view class="title text-blue"><text class="text-red text-xl vertical-middle"></text>瀹炵洏鏁�:
+ </view>
+ <uni-number-box style="width: 70%;" :max="max" v-model="item.checkQty"
+ :step='1'></uni-number-box>
+ </view>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <view class="cu-form-group padding-lr-0">
+ <text class=" text-blue">澶囨敞:</text>
+ <input placeholder="璇疯緭鍏ュ娉�" v-model="item.memo"></input>
+ </view>
+ </view>
+ </view>
+ <view class="cu-item" v-if="item.checkQty !== item.anfme && check.checkType === 0">
+ <view class="content">
+ <view class="cu-form-group padding-lr-0">
+ <view class=" text-blue">宸紓鍘熷洜</view>
+ <view style="width: 80%;">
+ <uni-data-select style="min-width: 90%; max-width: 90%;" v-model="item.reason"
+ :localdata="reasons" placement="top"></uni-data-select>
+ </view>
+ </view>
+ </view>
+ </view>
</view>
-
+ </block>
+
+ <block v-for="(item, index) in matnrList">
+ <view class="cu-list det menu ">
+ <view class="cu-bar bg-white solid-bottom margin-top-sm">
+ <view class="action">
+ <view class="index">
+ {{index+1}}
+ </view>
+ </view>
+ <view class="action">
+ <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-gray">鐗╂枡缂栫爜:<text class="text-black ">{{item.matnrCode}}</text></text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-gray">鐗╂枡鍚嶇О:<text class="text-black ">{{item.maktx}}</text></text>
+ </view>
+ </view>
+ <view class="cu-item" v-if="check.checkType === 0">
+ <view class="content">
+ <text class="text-gray">搴撳瓨鏁�:<text class="text-black ">{{item.anfme}}</text></text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <view class="cu-form-group padding-lr-0">
+ <text class=" text-blue">鎵规:</text>
+ <input placeholder="璇疯緭鍏ユ壒娆�" v-model="item.batch"></input>
+ </view>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <view class="cu-form-group padding-lr-0">
+ <view class="title text-blue"><text class="text-red text-xl vertical-middle"></text>瀹炵洏鏁�:
+ </view>
+ <uni-number-box style="width: 70%;" :max="max" v-model="item.checkQty"
+ :step='1'></uni-number-box>
+ </view>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <view class="cu-form-group padding-lr-0">
+ <text class=" text-blue">澶囨敞:</text>
+ <input placeholder="璇疯緭鍏ュ娉�" v-model="item.memo"></input>
+ </view>
+ </view>
+ </view>
+ <view class="cu-item" v-if="item.checkQty !== item.anfme && check.checkType === 0">
+ <view class="content">
+ <view class="cu-form-group padding-lr-0">
+ <view class=" text-blue">宸紓鍘熷洜</view>
+ <view style="width: 80%;">
+ <uni-data-select style="min-width: 90%; max-width: 90%;" v-model="item.reason"
+ :localdata="reasons" placement="top"></uni-data-select>
+ </view>
+ </view>
+ </view>
+ </view>
</view>
-
-
-
</block>
</view>
-
-
-
<view class="cu-bar btn-group foot" v-show="!isconfirm">
<button class="cu-btn text-blue line-blue shadow" @click="clear">娓呯┖</button>
<button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="complete">鎻愪氦</button>
</view>
-
+ <view class="cu-bar btn-group foot" v-show="isconfirm">
+ <button class="cu-btn text-blue line-blue shadow" @click="returnPage">杩斿洖</button>
+ <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="sureAdd">纭畾娣诲姞</button>
+ </view>
+
+
</view>
</template>
@@ -110,19 +181,21 @@
export default {
data() {
return {
- check:'',
- list: [],
+ check: '',
+ list: [],
isconfirm: false,
- barcode:'',
+ barcode: '',
max: 99999999,
- repeatClick:false,
- reasons:[]
-
+ repeatClick: false,
+ reasons: [],
+ matnr: '',
+ matnrList:[]
+
}
},
- computed: {
-
-
+ computed: {
+
+
},
mounted() {
this.getReasons()
@@ -130,20 +203,53 @@
onLoad() {
let that = this
const eventChannel = this.getOpenerEventChannel();
-
+
eventChannel.on('checkItem', function(data) {
that.check = data.data
-
+
})
-
+
},
methods: {
+ sureAdd(){
+ if(this.matnrList.length === 0){
+ uni.showToast({
+ title: "璇锋坊鍔犵墿鏂欐槑缁�",
+ icon: "none",
+ position: 'top'
+ })
+ return ;
+ }
+ this.list.push(...this.matnrList)
+ this.matnrList = []
+ this.isconfirm = !this.isconfirm
+ },
+ remove(index) {
+ this.matnrList.splice(index, 1);
+ },
+ async addMatnr() {
+ const {
+ code,
+ data,
+ msg
+ } = await request('/selectAddMatnr', {
+ matnr:this.matnr
+ })
+ if (code === 200) {
+ this.matnrList.push(data)
+ this.matnr = ''
+ }
+ },
+ returnPage() {
+ this.matnrList = []
+ this.isconfirm = !this.isconfirm
+ },
async getReasons() {
const {
code,
data,
msg
- } = await request('/getCheckDiffReasonList', {},'get')
+ } = await request('/getCheckDiffReasonList', {}, 'get')
if (code === 200) {
this.reasons = data.map(item => ({
value: item.id,
@@ -156,7 +262,8 @@
this.list = []
},
clearCode() {
- this.barcode = ''
+ this.barcode = ''
+ this.matnr = ''
},
async search() {
this.list = []
@@ -167,67 +274,66 @@
code,
data,
msg
- } = await request('/getCheckTaskItemList',{
- barcode:this.barcode,
+ } = await request('/getCheckTaskItemList', {
+ barcode: this.barcode,
checkCode: this.check.orderCode
- }
- )
- if (code === 200) {
- if (Object.keys(data).length === 0){
+ })
+ if (code === 200) {
+ if (Object.keys(data).length === 0) {
uni.showToast({
title: "璇ユ爣绛炬湭鏌ヨ鍒版暟鎹�",
icon: "none",
position: 'top'
})
}
- for(var i=0;i<data.length;i++){
- data[i].checkQty = data[i].anfme
+ for (var i = 0; i < data.length; i++) {
+ data[i].checkQty = data[i].anfme
}
- this.list=data
-
- }else if(code == 401){
+ this.list = data
+
+ } else if (code == 401) {
setTimeout(() => {
uni.removeStorageSync('token');
uni.reLaunch({
url: "/pages/login/login"
});
}, 1000);
- }else {
+ } else {
uni.showToast({
title: msg,
icon: "none",
position: 'top'
})
}
-
-
+
+
},
async complete() {
-
+
let that = this
- if(that.barcode === '' || that.barcode === null){
+ if (that.barcode === '' || that.barcode === null) {
uni.showToast({
title: "瀹瑰櫒鍙蜂负绌�",
icon: "error",
})
- return ;
+ return;
}
- if(that.list === [] || that.list.length === 0){
+ if (that.list === [] || that.list.length === 0) {
uni.showToast({
title: "浠诲姟鏄庣粏涓虹┖",
icon: "error",
})
- return ;
+ return;
}
this.repeatClick = true
const {
code,
data,
msg
- } = await request('/saveCheckDiff',{
- container:that.barcode,
+ } = await request('/saveCheckDiff', {
+ container: that.barcode,
checkId: that.check.id,
- checkDiffItems:that.list
+ checkDiffItems: that.list
})
if (code === 200) {
uni.showToast({
@@ -272,7 +378,8 @@
min-height: 80upx;
align-items: center;
}
- .content2 {
+
+ .content2 {
/* background-color: coral; */
width: 100%;
display: flex;
@@ -282,7 +389,8 @@
margin-right: 10px;
color: #0081ff;
}
- .noMargin{
+
+ .noMargin {
margin-top: 0px;
padding: 5px;
}
--
Gitblit v1.9.1