From b969b799c014a9aeaa7eb8a287390a5290093631 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期四, 22 一月 2026 14:10:20 +0800
Subject: [PATCH] 出库台车组托优化
---
pages/AGV/CollectionPakin.vue | 1112 ++++++++++++++++++++++++++-----------------------------
pages.json | 6
pages/AGV/CachePakin.vue | 29
3 files changed, 549 insertions(+), 598 deletions(-)
diff --git a/pages.json b/pages.json
index 1897c62..d6e887b 100644
--- a/pages.json
+++ b/pages.json
@@ -79,6 +79,12 @@
}
},
{
+ "path": "pages/AGV/EmpBackLoc",
+ "style": {
+ "navigationBarTitleText": "绌鸿溅鍥炲簱"
+ }
+ },
+ {
"path": "pages/AGV/CacheInCall",
"style": {
"navigationBarTitleText": "缂撳啿鍖哄叆搴�"
diff --git a/pages/AGV/CachePakin.vue b/pages/AGV/CachePakin.vue
index 5ad89a7..f1bb53d 100644
--- a/pages/AGV/CachePakin.vue
+++ b/pages/AGV/CachePakin.vue
@@ -100,10 +100,6 @@
<input type="text" v-model="suppCode" disabled="true"
style="background-color: #f7f7f7;padding: 0;color: #d5d5d5;">
</view>
- <!-- <view class="desc">渚涘簲鍟嗭細</view>
- <view class="left-item">
- <uni-tag :text="suppCode" type="warning"></uni-tag>
- </view> -->
</view>
<view class="popup-item">
<view class="popup-item-left">鏍煎眰缂栫爜:</view>
@@ -179,7 +175,7 @@
content: '',
tempBoxType: '',
boxType1Focus: true,
- barcodeFocus: true,
+ barcodeFocus: false,
matFocus: false,
orderNoFocus: false,
matData: '',
@@ -228,14 +224,10 @@
if (this.barcode != bcode && this.dataList.length > 0) {
this.messageText = "澶氭缁勬墭鍙拌溅涓嶄竴鑷达紝璇锋鏌ュ悗鍐嶆搷浣滐紒锛�"
this.messageToggle('error')
- this.dataList = [];
return;
}
}
-
this.barcode = bcode;
- console.log(this.barcode);
-
},
// 鎵樼洏鐮佹湁璇噸缃�
@@ -257,6 +249,13 @@
},
// 鎼滅储鐗╂枡
findMat() {
+
+ if (this.boxType1 == null || this.boxType1 == '') {
+ this.messageText = "鏍煎眰缂栫爜涓嶈兘涓虹┖锛侊紒"
+ this.messageToggle('error')
+ return
+ }
+
let that = this
uni.request({
url: that.baseUrl + '/mobile/scan/order/mats',
@@ -270,8 +269,6 @@
},
success(result) {
result = result.data
- console.log("================>");
- console.log(result);
if (result.code === 200 && result.data) {
that.matData = result.data
that.matnr = ''
@@ -306,7 +303,7 @@
} else {
uni.showToast({
title: result.msg,
- icon: "none",
+ icon: "none",
position: 'top'
})
}
@@ -347,12 +344,12 @@
for (var i = 0; i < len; i++) {
if (mat.matnr == this.dataList[i].matnr) {
for (var j = 0; j < len; j++) {
- if (mat.suppCode == this.dataList[j].suppCode && mat.orderNo == this.dataList[j].orderNo) {
+ if (mat.suppCode == this.dataList[j].suppCode && mat.orderNo == this.dataList[j].orderNo && this.boxType1 == this.dataList[j].boxType1) {
sameItem = true
}
}
// 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿 鏂板姞鍒楄〃
- if (mat.suppCode != this.dataList[i].suppCode || mat.orderNo != this.dataList[i].orderNo) {
+ if (mat.suppCode != this.dataList[i].suppCode || mat.orderNo != this.dataList[i].orderNo || this.boxType1 != this.dataList[i].boxType1) {
this.$forceUpdate() // 寮哄埗鍒锋柊
if (sameItem) {
add = false
@@ -367,7 +364,9 @@
add = false
}
}
- this.dataList[i].boxType1 = this.boxType1;
+ if (this.dataList[i].boxType1 != null && this.dataList[i].boxType1 == "1") {
+ this.dataList[i].boxType1 = this.boxType1;
+ }
}
if (add) {
diff --git a/pages/AGV/CollectionPakin.vue b/pages/AGV/CollectionPakin.vue
index 247c390..f3c8270 100644
--- a/pages/AGV/CollectionPakin.vue
+++ b/pages/AGV/CollectionPakin.vue
@@ -3,659 +3,605 @@
<view class="code">
<view class="item">
<view class="code-decs">婧愭墭鐩�:</view>
- <input
- type="text"
- placeholder=" 鎵爜 / 杈撳叆"
- v-model="orgBarcode"
- :focus="orgBarcodeFocus"
- @input="barcodeInput()"
- />
+ <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="orgBarcode" :focus="orgBarcodeFocus" />
</view>
- <view class="item">
+ <view class="item" style="display: none;">
<view class="code-decs">鍙拌溅鐮�:</view>
- <input
- type="text"
- placeholder=" 鎵爜 / 杈撳叆"
- v-model="tarBarcode"
- :focus="tarBarcodeFocus"
- />
+ <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode" :focus="barcodeFocus" />
</view>
<view class="item">
- <view class="code-decs">绔欑偣鍙�:</view>
- <input
- type="text"
- placeholder=" 鎵爜 / 杈撳叆"
- v-model="devNo"
- />
+ <view class="code-decs">鏍煎眰缂栫爜:</view>
+ <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="boxType1" :focus="boxType1Focus"
+ @input="boxType1Input()">
+ </view>
+ <view class="item">
+ <view class="code-decs">鐗╂枡鐮�:</view>
+ <input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="matnr" :focus="matFocus" @input="barcodeInput()()">
+ <view class="item-right">
+ <button></button>
+ <!-- <text style="text-align: right;color: #409EFF;" @click="findMat()">鎻愬彇+</text> -->
+ <uni-icons type="right" color="#c1c1c1"></uni-icons>
+ </view>
</view>
</view>
- <view class="mat-list-title">鍟嗗搧鍒楄〃</view>
- <scroll-view scroll-y>
- <view
- class="list"
- v-for="(item, index) in dataList"
- :key="index"
- >
+ <view class="mat-list-title">
+ 鍟嗗搧鍒楄〃
+ </view>
+ <scroll-view>
+ <view class="list" v-for="(item,i) in dataList" :key="i">
<view class="list-left">
<view class="list-left-item">
<view class="desc">No锛�</view>
- <view class="left-item">{{ index + 1 }}</view>
+ <view class="left-item">{{i + 1}}</view>
</view>
<view class="list-left-item">
- <view class="desc">缂栫爜锛�</view>
+ <view class="desc">璁㈠崟鍙凤細</view>
<view class="left-item">
- <uni-tag
- :text="item.matnr"
- type="primary"
- ></uni-tag>
+ <uni-tag :text="item.orderNo" type="primary"></uni-tag>
+ </view>
+ </view>
+ <view class="list-left-item">
+ <view class="desc">鏍煎眰缂栫爜锛�</view>
+ <view class="left-item">
+ <uni-tag :text="item.boxType1" type="primary"></uni-tag>
+ </view>
+ </view>
+ <view class="list-left-item">
+ <view class="desc">鏂欏彿锛�</view>
+ <view class="left-item">
+ <uni-tag :text="item.matnr" type="primary"></uni-tag>
</view>
</view>
<view class="list-left-item">
<view class="desc">鍝佸悕锛�</view>
- <uni-tooltip
- class="left-item"
- :content="item.maktx"
- placement="bottom"
- >
- <view
- class="left-item tip"
- style=""
- >
- {{ item.maktx }}
- </view>
- </uni-tooltip>
- </view>
- <view class="list-left-item">
- <view class="desc">瑙勬牸锛�</view>
- <view class="left-item">{{ item.specs }}</view>
+ <view class="left-item">{{item.maktx}}</view>
</view>
<view class="list-left-item">
<view class="desc">渚涘簲鍟嗭細</view>
<view class="left-item">
- <uni-tag
- :text="item.standby1"
- type="warning"
- ></uni-tag>
+ <uni-tag :text="item.suppCode" type="warning"></uni-tag>
</view>
</view>
<view class="list-left-item">
<view class="desc">鏁伴噺锛�</view>
- <view class="left-item">{{ item.anfme }}</view>
- </view>
- <view class="list-left-item">
- <view class="desc">鎷h揣鏁伴噺:</view>
- <view
- class="left-item"
- style="border: none; justify-content: center"
- >
- <uni-number-box
- disabled="true"
- v-model="item.workQty"
- :max="item.anfme"
- color="#747474"
- />
- </view>
+ <view class="left-item">{{item.anfme}}</view>
</view>
</view>
<view class="list-right">
- <uni-icons
- type="trash"
- color="#f58a8a"
- size="24"
- @click="remove(index)"
- ></uni-icons>
+ <uni-icons type="compose" color="#9add8b" size="24" @click="revise(item,i)"></uni-icons>
+ <uni-icons type="trash" color="#f58a8a" size="24" @click="remove(item,i,'warn')"></uni-icons>
</view>
- </view>
- <!-- 绌虹姸鎬佹彁绀� -->
- <view
- v-if="dataList.length === 0"
- class="empty-tips"
- >
- 鏆傛棤鍟嗗搧锛岃鎵爜娣诲姞
</view>
</scroll-view>
<!-- 搴曢儴鎿嶄綔鎸夐挳 -->
<view class="buttom">
- <button
- size="mini"
- @click="reset"
- >
- 閲嶇疆
- </button>
- <button
- size="mini"
- type="primary"
- @click="combConfirm"
- >
- 缁勬墭
- </button>
+ <button size="mini" @click="reset('warn')">閲嶇疆</button>
+ <button size="mini" type="primary" @click="combConfirm('warn')">缁勬墭</button>
</view>
-
- <!-- 淇敼鏁伴噺寮圭獥 -->
- <uni-popup
- ref="revisePopup"
- type="dialog"
- >
- <view class="popup">
- <view class="title">淇敼</view>
- <view class="popup-item">
- <view class="popup-item-left">缂栫爜:</view>
- <view class="popup-item-right">
- <input
- type="text"
- v-model="editForm.matnr"
- disabled
- style="
- background-color: #f7f7f7;
- padding: 0;
- color: #d5d5d5;
- "
- />
+ <!-- 寮圭獥 -->
+ <!-- 淇敼鏁伴噺 -->
+ <view>
+ <uni-popup ref="revise" type="dialog">
+ <view class="popup">
+ <!-- 鏍囬 -->
+ <view class="title">淇敼</view>
+ <view class="popup-item">
+ <view class="popup-item-left">鏂欏彿:</view>
+ <view class="popup-item-right">
+ <input type="text" v-model="matnr" disabled="true"
+ style="background-color: #f7f7f7;padding: 0;color: #d5d5d5;">
+ </view>
+ </view>
+ <view class="popup-item">
+ <view class="popup-item-left">渚涘簲鍟�:</view>
+ <view class="popup-item-right">
+ <input type="text" v-model="suppCode" disabled="true"
+ style="background-color: #f7f7f7;padding: 0;color: #d5d5d5;">
+ </view>
+ </view>
+ <view class="popup-item">
+ <view class="popup-item-left">鏍煎眰缂栫爜:</view>
+ <view class="popup-item-right">
+ <input type="text" v-model="tempBoxType"
+ style="background-color: #f7f7f7;padding: 0;color: #d5d5d5;">
+ </view>
+ </view>
+ <view class="popup-item">
+ <view class="popup-item-left">鏁伴噺:</view>
+ <view class="popup-item-right" style="border: none;justify-content: center;">
+ <uni-number-box :value="count" :step='1' :max="9999999" color="#747474"
+ @change="changeValue" />
+ </view>
+ </view>
+ <view class="btn">
+ <view class="btn-left" @click="reviseClose">鍙栨秷</view>
+ <view class="btn-right" @click="reviseConfirm()">淇敼</view>
</view>
</view>
- <view class="popup-item">
- <view class="popup-item-left">浠g爜:</view>
- <view class="popup-item-right">
- <input
- type="text"
- v-model="editForm.standby1"
- />
- </view>
- </view>
- <view class="popup-item">
- <view class="popup-item-left">鏁伴噺:</view>
- <view
- class="popup-item-right"
- style="border: none; justify-content: center"
- >
- <uni-number-box
- :value="editForm.count"
- :step="0.01"
- :max="9999999"
- color="#747474"
- @change="changeValue"
- />
- </view>
- </view>
- <view class="btn">
- <view
- class="btn-left"
- @click="reviseClose"
- >
- 鍙栨秷
- </view>
- <view
- class="btn-right"
- @click="reviseConfirm"
- >
- 淇敼
- </view>
- </view>
- </view>
- </uni-popup>
-
- <!-- 绉婚櫎纭寮圭獥 -->
- <uni-popup
- ref="removeDialog"
- type="dialog"
- >
- <uni-popup-dialog
- type="warn"
- confirmText="绉婚櫎"
- title="璀﹀憡"
- content="鏄惁绉婚櫎褰撳墠鍟嗗搧!"
- @confirm="removeConfirm"
- @close="removeClose"
- ></uni-popup-dialog>
- </uni-popup>
-
- <!-- 娑堟伅鎻愮ず -->
- <uni-popup
- ref="message"
- type="message"
- >
- <uni-popup-message
- :type="msgType"
- :message="messageText"
- :duration="2000"
- ></uni-popup-message>
- </uni-popup>
-
- <!-- 纭缁勬墭寮圭獥 -->
- <uni-popup
- ref="combDialog"
- type="dialog"
- >
- <uni-popup-dialog
- type="warn"
- cancelText="鍙栨秷"
- confirmText="纭"
- title="璀﹀憡"
- content="鏄惁鐜板湪缁勬墭!"
- @confirm="comb"
- @close="combClose"
- ></uni-popup-dialog>
- </uni-popup>
-
- <!-- 纭閲嶇疆寮圭獥 -->
- <uni-popup
- ref="resetDialog"
- type="dialog"
- >
- <uni-popup-dialog
- type="warn"
- cancelText="鍙栨秷"
- confirmText="纭"
- title="璀﹀憡"
- content="鏄惁閲嶇疆!"
- @confirm="resetConfirm"
- @close="resetClose"
- ></uni-popup-dialog>
- </uni-popup>
+ </uni-popup>
+ </view>
+ <!-- 绉婚櫎纭 -->
+ <view>
+ <!-- 鎻愮ず绐楃ず渚� -->
+ <uni-popup ref="alertDialog" type="dialog">
+ <uni-popup-dialog :type="msgType" confirmText="绉婚櫎" :title="title" :content="content"
+ @confirm="removeConfirm()" @close="removeClose"></uni-popup-dialog>
+ </uni-popup>
+ </view>
+ <view>
+ <!-- 鎻愮ず淇℃伅寮圭獥 -->
+ <uni-popup ref="message" type="message">
+ <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message>
+ </uni-popup>
+ </view>
+ <!-- 纭缁勬墭 -->
+ <view>
+ <uni-popup ref="combConfirm" type="dialog">
+ <uni-popup-dialog :type="msgType" cancelText="鍙栨秷" confirmText="纭" :title="title" :content="content"
+ @confirm="comb" @close="combClose"></uni-popup-dialog>
+ </uni-popup>
+ </view>
+ <!-- 纭閲嶇疆 -->
+ <view>
+ <uni-popup ref="resetConfirm" type="dialog">
+ <uni-popup-dialog :type="msgType" cancelText="鍙栨秷" confirmText="纭" :title="title" :content="content"
+ @confirm="resetConfirm" @close="resetClose"></uni-popup-dialog>
+ </uni-popup>
+ </view>
</view>
</template>
<script>
-export default {
- data() {
- return {
- baseUrl: '',
- token: '',
- orgBarcode: '',
- tarBarcode: '',
- dataList: [],
- orgBarcodeFocus: true,
- tarBarcodeFocus: false,
- devNo: '',
- // 缂栬緫琛ㄥ崟
- editForm: {
- index: -1,
+ export default {
+ data() {
+ return {
+ baseUrl: '',
+ token: '',
+ barcode: '',
+ orderNo: null,
+ dataList: [],
+ count: 0,
+ rowNum: '',
matnr: '',
- standby1: '',
+ suppCode: '',
+ boxType1: '',
weight: '',
- count: 0
+ msgType1: 'success',
+ msgType: 'success',
+ messageText: '',
+ title: '',
+ content: '',
+ tempBoxType: '',
+ boxType1Focus: true,
+ barcodeFocus: false,
+ matFocus: false,
+ orderNoFocus: false,
+ matData: '',
+ removeNum: 0,
+ }
+ },
+ onLoad() {
+
+ },
+ onShow() {
+ this.baseUrl = uni.getStorageSync('baseUrl');
+ this.token = uni.getStorageSync('token');
+ },
+ methods: {
+ messageToggle(type) {
+ this.msgType1 = type
+ this.$refs.message.open()
},
- // 寰呯Щ闄ら」绱㈠紩
- removeIndex: -1,
- // 娑堟伅鎻愮ず
- msgType: 'success',
- messageText: '',
- // 缁勬墭鎸夐挳闃叉姈
- isCombing: false
- }
- },
-
- onShow() {
- this.baseUrl = uni.getStorageSync('baseUrl')
- this.token = uni.getStorageSync('token')
- },
-
- methods: {
- itemWorkQtyChange(item) {},
- // 鏄剧ず娑堟伅鎻愮ず
- showMessage(text, type = 'success') {
- this.msgType = type
- this.messageText = text
- this.$refs.message.open()
- },
-
- // 閲嶇疆鍏夋爣鐒︾偣
- resetFocus(field) {
- this[field] = false
- setTimeout(() => {
- this[field] = true
- }, 100)
- },
-
- // 澶勭悊鎺堟潈閿欒
- handleAuthError(msg) {
- this.showMessage(msg, 'error')
- setTimeout(() => {
- uni.reLaunch({ url: '../login/login' })
- }, 1000)
- },
-
- // 婧愭墭鐩樿緭鍏ヤ簨浠�
- barcodeInput() {
- setTimeout(() => {
- const len = this.orgBarcode.length
- if (len > 0 && len < 8) {
- uni.showToast({
- title: '鎵樼洏鐮佹湁璇閲嶈瘯',
- icon: 'none',
- position: 'top'
- })
- this.orgBarcode = ''
- this.resetFocus('orgBarcodeFocus')
- return
- }
- this.resetFocus('tarBarcodeFocus')
- }, 200)
- this.search()
- },
- search() {
- let that = this
- uni.request({
- url: that.baseUrl + '/mobile/agv/collectionPakin/view',
- header: {
- token: uni.getStorageSync('token')
- },
- data: JSON.stringify({
- orgBarcode: that.orgBarcode
- }),
- method: 'POST',
- success(res) {
- res = res.data
- if (res.code === 200) {
- that.dataList = res.data.map((item) => ({
- ...item,
- workQty: item.anfme
- }))
- } else if (res.code == 403) {
- that.messageText = res.msg
- that.messageToggle('error')
- setTimeout(() => {
- uni.reLaunch({
- url: '../login/login'
- })
- }, 1000)
- } else {
- that.showMessage(res.msg, 'error')
+ // 婧愭墭鐩樿緭鍏ヤ簨浠�
+ barcodeInput() {
+ setTimeout(() => {
+ const len = this.orgBarcode.length
+ if (len > 0 && len < 8) {
+ uni.showToast({
+ title: '鎵樼洏鐮佹湁璇閲嶈瘯',
+ icon: 'none',
+ position: 'top'
+ })
+ this.orgBarcode = ''
+ this.resetFocus('orgBarcodeFocus')
+ return
+ }
+ this.resetFocus('tarBarcodeFocus')
+ }, 200)
+
+ this.findMat()
+ // this.search()
+ },
+ search() {
+ let that = this
+ uni.request({
+ url: that.baseUrl + '/mobile/agv/collectionPakin/view',
+ header: {
+ token: uni.getStorageSync('token')
+ },
+ data: JSON.stringify({
+ orgBarcode: that.orgBarcode,
+ matnr: that.matnr
+ }),
+ method: 'POST',
+ success(res) {
+ res = res.data
+ if (res.code === 200) {
+ that.dataList = res.data.map((item) => ({
+ ...item,
+ workQty: item.anfme
+ }))
+ } else if (res.code == 403) {
+ that.messageText = res.msg
+ that.messageToggle('error')
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../login/login'
+ })
+ }, 1000)
+ } else {
+ that.showMessage(res.msg, 'error')
+ }
+ }
+ })
+ },
+
+
+ boxType1Input() {
+ let bcode = this.boxType1.split("-")[0];
+ if (this.barcode != null && this.barcode != undefined && this.barcode != '') {
+ if (this.barcode != bcode && this.dataList.length > 0) {
+ this.messageText = "澶氭缁勬墭鍙拌溅涓嶄竴鑷达紝璇锋鏌ュ悗鍐嶆搷浣滐紒锛�"
+ this.messageToggle('error')
+ return;
}
}
- })
- },
- // 鎼滅储鐗╂枡
- findMat() {
- if (!this.tarBarcode) return
+ this.barcode = bcode;
+ console.log(this.barcode);
+ },
- setTimeout(() => {
+ // 鎵樼洏鐮佹湁璇噸缃�
+ barcodeFocuss() {
+ let that = this;
+ that.barcodeFocus = false;
+ setTimeout(() => {
+ that.barcode = '';
+ that.barcodeFocus = true;
+ }, 100);
+ },
+ // 鍟嗗搧鍏夋爣娓呯┖閲嶇疆
+ focuss() {
+ this.focus = false;
+ setTimeout(() => {
+ this.matnr = '';
+ this.matFocus = true;
+ }, 100);
+ },
+ // 鎼滅储鐗╂枡
+ findMat() {
+
+ if (this.boxType1 == null || this.boxType1 == '') {
+ this.messageText = "鏍煎眰缂栫爜涓嶈兘涓虹┖锛侊紒"
+ this.messageToggle('error')
+ return
+ }
+
+ let that = this
uni.request({
- url: `${this.baseUrl}/mat/auth`,
- data: { matnr: this.tarBarcode },
- header: { token: this.token },
- success: (result) => {
- const res = result.data
- if (res.code === 200 && res.data) {
- this.navigateToMatSelect(res.data)
- } else if (res.code === 403) {
- this.handleAuthError(res.msg)
+ url: that.baseUrl + '/mobile/agv/collectionPakin/view',
+ method: 'POST',
+ data: {
+ // orderNo: that.orderNo,
+ orgBarcode: that.orgBarcode,
+ matnr: that.matnr
+ },
+ header: {
+ 'token': uni.getStorageSync('token')
+ },
+ success(result) {
+ result = result.data
+ if (result.code === 200 && result.data) {
+ that.matData = result.data
+ that.matnr = ''
+ that.matData['suppCode'] = ''
+ uni.navigateTo({
+ url: "../mat/matSelected",
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+ success: function(res) {
+ res.eventChannel.emit('mat', {
+ data: result.data
+ })
+ },
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+ events: {
+ matList: function(data) {
+ that.checkMat(data.data)
+ that.focuss()
+ },
+ },
+ });
+ } else if (result.code == 403) {
+ uni.showToast({
+ title: result.msg,
+ icon: "none",
+ position: 'top'
+ })
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../login/login'
+ });
+ }, 1000);
} else {
uni.showToast({
- title: res.msg,
- icon: 'none',
+ title: result.msg,
+ icon: "none",
position: 'top'
})
}
}
- })
- }, 200)
- },
+ });
+ },
+ selectMat() {
+ let that = this
+ if (that.orderNo == null || that.orderNo == undefined) {
+ that.messageText = '璇峰~鍐欒鍗曠紪鍙凤紒锛�'
+ that.messageToggle('error')
+ return;
+ }
- // 璺宠浆鐗╂枡閫夋嫨椤�
- navigateToMatSelect(matData) {
- matData.batch = ''
- uni.navigateTo({
- url: '../mat/matSelected',
- success: (res) => {
- res.eventChannel.emit('mat', { data: [matData] })
- },
- events: {
- matList: (data) => {
- this.checkMat(data.data)
- this.tarBarcode = ''
- this.resetFocus('tarBarcodeFocus')
+ uni.navigateTo({
+ url: "../mat/matQuery",
+ success: function(res) {
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
+ res.eventChannel.emit('orderNo', {
+ orderNo: that.orderNo
+ })
+ },
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨�
+ acceptDataFromOpenedPage: function(data) {
+ that.matnr = data.data
+
+ that.findMat(that.matnr)
+ },
+ },
+ });
+ that.matnr = ''
+ },
+ checkMat(mat) {
+ var len = this.dataList.length
+ var add = true,
+ sameItem = false
+ for (var i = 0; i < len; i++) {
+ if (mat.matnr == this.dataList[i].matnr) {
+ for (var j = 0; j < len; j++) {
+ if (mat.suppCode == this.dataList[j].suppCode && mat.orderNo == this.dataList[j].orderNo && this.boxType1 == this.dataList[j].boxType1) {
+ sameItem = true
+ }
+ }
+ // 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿 鏂板姞鍒楄〃
+ if (mat.suppCode != this.dataList[i].suppCode || mat.orderNo != this.dataList[i].orderNo || this.boxType1 != this.dataList[i].boxType1) {
+ this.$forceUpdate() // 寮哄埗鍒锋柊
+ if (sameItem) {
+ add = false
+ } else {
+ add = true
+ }
+
+ } else {
+ // 鐩稿悓鐗╂枡鐩稿悓鎵瑰彿 鏁伴噺绱姞
+ this.dataList[i].anfme += mat.anfme
+ this.$forceUpdate() // 寮哄埗鍒锋柊
+ add = false
+ }
+ }
+ if (this.dataList[i].boxType1 != null && this.dataList[i].boxType1 == "1") {
+ this.dataList[i].boxType1 = this.boxType1;
}
}
- })
- },
- // 閫夋嫨鐗╂枡
- selectMat() {
- uni.navigateTo({
- url: '../mat/matQuery',
- success: (res) => {
- res.eventChannel.emit('commonUrl', { commonUrl: '' })
- },
- events: {
- acceptDataFromOpenedPage: (data) => {
- this.tarBarcode = data.data
- this.findMat()
+ if (add) {
+ mat.boxType1 = this.boxType1;
+ this.dataList.unshift(mat)
+ }
+ this.tempBoxType = this.boxType1;
+
+ this.boxType1 = null;
+ },
+ // 淇敼鎵瑰彿
+ revise(item, i) {
+ this.matnr = this.dataList[i].matnr
+ this.count = this.dataList[i].anfme
+ this.suppCode = this.dataList[i].suppCode
+ this.weight = this.dataList[i].weight
+ this.rowNum = i
+ this.eject()
+ },
+ eject(type) {
+ this.type = type
+ this.$refs.revise.open(type)
+ },
+ // 鍒楄〃绉婚櫎鎸夐挳
+ remove(item, i, type) {
+ this.removeNum = i
+ this.msgType = type
+ this.title = '璀﹀憡'
+ this.content = '鏄惁绉婚櫎褰撳墠鍟嗗搧!'
+ this.$refs.alertDialog.open(i)
+ },
+ // 纭绉婚櫎
+ removeConfirm() {
+ this.messageText = "绉婚櫎鎴愬姛"
+ this.messageToggle('success')
+ this.dataList.splice(this.removeNum, 1)
+ },
+ // 鍙栨秷绉婚櫎
+ removeClose() {
+ this.$refs.alertDialog.close()
+ },
+ reviseConfirm() {
+ this.dataList[this.rowNum].anfme = this.count
+ this.dataList[this.rowNum].suppCode = this.suppCode
+ this.dataList[this.rowNum].weight = this.weight
+ this.dataList[this.rowNum].boxType1 = this.tempBoxType
+ this.matnr = ''
+ this.messageText = "淇敼鎴愬姛"
+ this.messageToggle('success')
+ this.$refs.revise.close()
+ },
+ reviseClose() {
+ this.$refs.revise.close()
+ },
+ changeValue(value) {
+ this.count = value
+ },
+ combConfirm(type) {
+ this.msgType = type
+ this.title = '璀﹀憡'
+ this.content = '鏄惁鐜板湪缁勬墭!'
+ this.$refs.combConfirm.open()
+ },
+ combClose() {
+ this.$refs.combConfirm.close()
+ },
+ comb() {
+ uni.vibrateShort();
+ let that = this;
+ if (that.barcode === '') {
+ this.messageText = "璇锋壂鎻忔墭鐩樻潯鐮�"
+ this.messageToggle('error')
+ return;
+ }
+ if (that.dataList.length === 0) {
+ this.messageText = "璇锋坊鍔犲晢鍝佸垪琛�"
+ this.messageToggle('error')
+ return;
+ }
+ for (var i = 0; i < that.dataList.length; i++) {
+ if (that.dataList[i].anfme == 0 || that.dataList[i].anfme == '') {
+ this.messageText = that.dataList[i].matnr + '缁勬墭鏁伴噺涓嶈兘涓�0'
+ this.messageToggle('error')
+ return;
}
}
- })
- },
-
- // 妫�鏌ュ苟娣诲姞鐗╂枡
- checkMat(mat) {
- const existIndex = this.dataList.findIndex(
- (item) => item.matnr === mat.matnr && item.batch === mat.batch
- )
-
- if (existIndex > -1) {
- // 鐩稿悓鐗╂枡鐩稿悓鎵瑰彿锛屾暟閲忕疮鍔�
- this.dataList[existIndex].anfme += mat.anfme
- this.$forceUpdate()
- } else {
- // 鏂板鍒板垪琛ㄥご閮�
- this.dataList.unshift(mat)
- }
- },
-
- // 鎵撳紑淇敼寮圭獥
- revise(index) {
- const item = this.dataList[index]
- this.editForm = {
- index,
- matnr: item.matnr,
- standby1: item.standby1,
- weight: item.weight,
- count: item.anfme
- }
- this.$refs.revisePopup.open()
- },
-
- // 鏁伴噺鍙樻洿
- changeValue(value) {
- this.editForm.count = value
- },
-
- // 纭淇敼
- reviseConfirm() {
- const { index, count, standby1, weight } = this.editForm
- this.dataList[index].anfme = count
- this.dataList[index].standby1 = standby1
- this.dataList[index].weight = weight
- this.$refs.revisePopup.close()
- this.showMessage('淇敼鎴愬姛')
- },
-
- // 鍏抽棴淇敼寮圭獥
- reviseClose() {
- this.$refs.revisePopup.close()
- },
-
- // 鎵撳紑绉婚櫎纭寮圭獥
- remove(index) {
- this.removeIndex = index
- this.$refs.removeDialog.open()
- },
-
- // 纭绉婚櫎
- removeConfirm() {
- this.dataList.splice(this.removeIndex, 1)
- this.showMessage('绉婚櫎鎴愬姛')
- },
-
- // 鍏抽棴绉婚櫎寮圭獥
- removeClose() {
- this.$refs.removeDialog.close()
- },
-
- // 鎵撳紑缁勬墭纭寮圭獥
- combConfirm() {
- if (!this.orgBarcode) {
- this.showMessage('璇锋壂鎻忔簮鎵樼洏鏉$爜', 'error')
- return
- }
- if (this.dataList.length === 0) {
- this.showMessage('璇锋坊鍔犲晢鍝佸垪琛�', 'error')
- return
- }
- if (!this.tarBarcode) {
- this.showMessage('璇锋壂鎻忕洰鏍囨墭鐩樻潯鐮�', 'error')
- return
- }
- const invalidItem = this.dataList.find(
- (item) => !item.anfme || item.anfme === 0
- )
- if (invalidItem) {
- this.showMessage(
- `${invalidItem.matnr} 缁勬墭鏁伴噺涓嶈兘涓�0`,
- 'error'
- )
- return
- }
- this.$refs.combDialog.open()
- },
-
- // 鍏抽棴缁勬墭寮圭獥
- combClose() {
- this.$refs.combDialog.close()
- },
-
- // 鎵ц缁勬墭
- comb() {
- if (this.isCombing) return
- this.isCombing = true
- uni.vibrateShort()
-
- uni.request({
- url: `${this.baseUrl}/mobile/agv/collectionPakin/auth`,
- method: 'POST',
- data: JSON.stringify({
- orgBarcode: this.orgBarcode,
- tarBarcode: this.tarBarcode,
- devNo: this.devNo,
- combMats: this.dataList
- }),
- header: { token: this.token },
- success: (result) => {
- const res = result.data
- if (res.code === 200) {
- this.clearAll()
- this.showMessage(res.msg, 'success')
- // this.showMessage('缁勬墭鎴愬姛')
- // // 鎾斁鎴愬姛鎻愮ず闊�
- // const audio = uni.createInnerAudioContext()
- // audio.src = '/static/music/pakinOk.mp3'
- // audio.play()
- } else if (res.code === 403) {
- this.handleAuthError(res.msg)
- } else {
- this.showMessage(res.msg, 'error')
+ uni.request({
+ url: that.baseUrl + '/mobile/comb/auth',
+ data: JSON.stringify({
+ orderNo: that.orderNo,
+ barcode: that.barcode,
+ boxType1: that.boxType1,
+ combMats: that.dataList,
+ type: '1'
+ }),
+ method: 'POST',
+ header: {
+ 'token': uni.getStorageSync('token')
+ },
+ success(result) {
+ var res = result.data
+ if (res.code === 200) {
+ that.resst();
+ that.messageText = "缁勬墭鎴愬姛"
+ that.messageToggle('success')
+ const innerAudioContext = uni.createInnerAudioContext();
+ innerAudioContext.src = '/static/music/pakinOk.mp3';
+ innerAudioContext.play()
+ } else if (res.code == 403) {
+ that.messageText = res.msg
+ that.messageToggle('error')
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../login/login'
+ });
+ }, 1000);
+ } else {
+ that.messageText = res.msg
+ that.messageToggle('error')
+ }
}
- },
- complete: () => {
- // 璇锋眰瀹屾垚鍚庤В闄ら槻鎶栭攣瀹�
- setTimeout(() => {
- this.isCombing = false
- }, 500)
- }
- })
- },
+ });
+ },
+ reset(type) {
+ this.msgType = type
+ this.title = '璀﹀憡'
+ this.content = '鏄惁閲嶇疆!'
+ this.$refs.resetConfirm.open()
+ },
+ // 纭閲嶇疆
+ resetConfirm() {
+ this.dataList = []
+ this.barcode = ''
+ this.messageText = "閲嶇疆瀹屾垚"
+ this.messageToggle('success')
+ },
+ // 鍙栨秷閲嶇疆
+ resetClose() {
- // 鎵撳紑閲嶇疆纭寮圭獥
- reset() {
- this.$refs.resetDialog.open()
- },
-
- // 纭閲嶇疆
- resetConfirm() {
- this.clearAll()
- this.showMessage('閲嶇疆瀹屾垚')
- },
-
- // 鍏抽棴閲嶇疆寮圭獥
- resetClose() {
- this.$refs.resetDialog.close()
- },
-
- // 娓呯┖鎵�鏈夋暟鎹�
- clearAll() {
- this.dataList = []
- this.orgBarcode = ''
- this.tarBarcode = ''
- this.devNo = ''
- this.resetFocus('orgBarcodeFocus')
+ },
+ // 娓呯┖
+ resst() {
+ this.dataList = []
+ this.barcode = ''
+ this.barcodeFocuss()
+ },
}
}
-}
</script>
<style>
-@import url('../../static/css/wms.css/wms.css');
+ @import url('../../static/css/wms.css/wms.css');
-.code {
- width: 100%;
- position: fixed;
- min-height: 200rpx;
- background-color: #fff;
- z-index: 10;
-}
+ .list:first-child {
+ margin-top: 460rpx;
+ }
-.item {
- display: flex;
- align-items: center;
- height: 100rpx;
- margin-left: 20rpx;
- border-bottom: 1px solid #dcdfe6;
-}
+ .code {
+ width: 100%;
+ position: fixed;
+ min-height: 200rpx;
+ background-color: #FFF;
+ z-index: 10;
+ }
-.item input {
- height: 50rpx;
- line-height: 50rpx;
- font-size: 36upx;
- font-family: PingFang SC;
- width: 55vw;
-}
+ .item {
+ display: flex;
+ align-items: center;
+ height: 100rpx;
+ margin-left: 20rpx;
+ border-bottom: 1px solid #DCDFE6;
+ }
-.code-decs {
- width: 20vw;
- font-size: 18px;
- color: #303133;
-}
+ .item input {
+ height: 50rpx;
+ line-height: 50rpx;
+ /* font-family: PingFang SC; uniapp 榛樿瀛椾綋涓嶅眳涓� */
+ font-size: 36upx;
+ font-family: PingFang SC;
+ width: 55vw;
-.item-right {
- margin-left: auto;
- margin-right: 20rpx;
-}
+ }
-.mat-list-title {
- height: 80rpx;
- line-height: 80rpx;
- width: 100%;
- background-color: white;
- position: fixed;
- margin-top: 300rpx;
- z-index: 9;
- text-align: center;
- box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.5);
-}
+ .code-decs {
+ width: 20vw;
+ font-size: 18px;
+ color: #303133;
+ }
-.list:first-child {
- margin-top: 400rpx;
-}
+ .item-right {
+ margin-left: auto;
+ margin-right: 20rpx;
+ }
-.empty-tips {
- text-align: center;
- color: #909399;
- padding: 100rpx 0;
- margin-top: 300rpx;
-}
-.tip {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-</style>
+ .mat-list-title {
+ height: 80rpx;
+ line-height: 80rpx;
+ width: 100%;
+ background-color: white;
+ position: fixed;
+ margin-top: 300rpx;
+ z-index: 9;
+ /* border-top: 1px solid #DCDFE6; */
+ text-align: center;
+ box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.5);
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.1