| | |
| | | > |
| | | <el-select |
| | | v-model="form.locationType" |
| | | placeholder="璇峰厛閫夋嫨浠撳簱" |
| | | placeholder="鑷姩鑾峰彇浠撳簱鍖哄煙" |
| | | clearable |
| | | filterable |
| | | @change="handleLocationChange" |
| | | style="width: 100%" |
| | | :loading="locationLoading" |
| | | size="medium" |
| | | :disabled="true" |
| | | > |
| | | <el-option |
| | | v-for="item in locationTypes" |
| | |
| | | }); |
| | | }, |
| | | |
| | | fetchLocationByWarehouse(warehouseCode) { |
| | | if (!warehouseCode) { |
| | | this.form.locationType = null; |
| | | return; |
| | | } |
| | | this.locationLoading = true; |
| | | http.post(`/api/InboundOrder/GetLocationType?code=${warehouseCode}`) |
| | | .then(({ data }) => { |
| | | if (data) { |
| | | this.form.locationType = data.locationType || data; |
| | | if (!this.locationTypes.find(item => item.locationType === this.form.locationType)) { |
| | | this.locationTypes.push({ |
| | | locationType: this.form.locationType, |
| | | locationTypeDesc: this.form.locationType |
| | | }); |
| | | } |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | console.error("鑾峰彇浠撳簱鍖哄煙澶辫触:", err); |
| | | this.$message.error("鑾峰彇浠撳簱鍖哄煙澶辫触锛岃閲嶈瘯"); |
| | | this.form.locationType = null; |
| | | }) |
| | | .finally(() => { |
| | | this.locationLoading = false; |
| | | }); |
| | | }, |
| | | // 鑾峰彇搴撳瓨缁熻 |
| | | fetchStockStatistics(orderNo) { |
| | | if (!orderNo) { |
| | |
| | | this.isManualInput = true; |
| | | this.isScanning = false; |
| | | |
| | | if (this.trayBarcode) { |
| | | this.trayBarcode = this.trayBarcode.replace(/\s+/g, ""); |
| | | } |
| | | |
| | | if (this.manualInputTimer) { |
| | | clearTimeout(this.manualInputTimer); |
| | | } |
| | |
| | | this.isManualInput = true; |
| | | this.isScanning = false; |
| | | |
| | | if (this.barcode) { |
| | | this.barcode = this.barcode.replace(/\s+/g, ""); |
| | | } |
| | | |
| | | if (this.manualInputTimer) { |
| | | clearTimeout(this.manualInputTimer); |
| | | } |
| | |
| | | this.validateForm().then((valid) => { |
| | | if (!valid) return; |
| | | |
| | | const currentTrayBarcode = this.trayBarcode.trim(); |
| | | let currentTrayBarcode = (this.trayBarcode || "").replace(/\s+/g, "").trim(); |
| | | |
| | | this.trayBarcode = currentTrayBarcode; |
| | | |
| | | if (!currentTrayBarcode) { |
| | | this.error = "璇疯緭鍏ユ垨鎵弿鎵樼洏鏉$爜"; |
| | |
| | | this.barcode = ""; |
| | | this.materials = []; |
| | | this.error = ""; |
| | | this.fetchLocationByWarehouse(this.form.warehouseType); |
| | | }, |
| | | |
| | | // 鍖哄煙鍒囨崲浜嬩欢 |