From 35253ae67188c21817fec10891fac45141e72fd8 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 23 一月 2026 14:15:09 +0800
Subject: [PATCH] #
---
pages/listing/itemSelect.vue | 31
pages/listing/matnrPalletising.vue | 1316 ++++++++++++++++++++++++++++++--------------------------
pages/outbound/orderOut/orderList.vue | 1
pages/outbound/orderOut/order_out_type.vue | 4
4 files changed, 732 insertions(+), 620 deletions(-)
diff --git a/pages/listing/itemSelect.vue b/pages/listing/itemSelect.vue
index e892f1a..892673d 100644
--- a/pages/listing/itemSelect.vue
+++ b/pages/listing/itemSelect.vue
@@ -27,40 +27,41 @@
</view>
<view class="cu-item">
<view class="content">
+ <text class="text-black">鐗╂枡鍚嶇О:</text>
+ <text class="text-grey">{{ item.maktx }}</text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
<text class="text-black">鍗曞彿:</text>
</view>
<view class="action">
<text class="text-grey ">{{item.asnCode}}</text>
</view>
</view>
-
<view class="cu-item">
<view class="content">
- <text class="text-black">渚涘簲鍟嗘壒娆�:</text>
+ <text class="text-black">璺熻釜鍙�:</text>
+ </view>
+ <view class="action">
+ <text class="text-grey ">{{item.platWorkCode}}</text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">鎵规:</text>
</view>
<view class="action">
<text class="text-grey ">{{item.splrBatch}}</text>
</view>
</view>
- <!-- <view class="cu-item">
- <view class="content">
- <text class="text-black">璐ㄦ鐘舵��:</text>
- </view>
- <view class="action">
- <text class="text-grey ">{{item.isptResult$}}</text>
- </view>
- </view> -->
<view class="cu-item">
<view class="content">
- <text class="text-black">搴撳瓨鍗曚綅: <text class="text-grey ">{{item.stockUnit}}</text></text>
+ <text class="text-black">鍗曚綅: <text class="text-grey ">{{item.stockUnit}}</text></text>
</view>
<view class="content">
<text class="text-black">鏀惰揣鏁伴噺: <text class="text-grey ">{{item.anfme}}</text></text>
</view>
- <!-- <view class="content">
- <text class="text-black">宸蹭笂鏋舵暟閲�: <text
- class="text-grey ">{{item.qty}}</text></text>
- </view> -->
</view>
<view class="cu-item">
<view class="content">
diff --git a/pages/listing/matnrPalletising.vue b/pages/listing/matnrPalletising.vue
index 590a77a..b3db482 100644
--- a/pages/listing/matnrPalletising.vue
+++ b/pages/listing/matnrPalletising.vue
@@ -1,54 +1,82 @@
<template>
<view class="has-foot">
<view>
-
- <form>
- <view class="cu-form-group margin-top">
- <view class="title">璁㈠崟鍙�</view>
- <input placeholder="璇疯緭鍏ヨ鍗曞彿" v-model="asnCode"></input>
- <!-- <text class='cuIcon-search text-blue' @click="search"></text> -->
- </view>
- <view class="cu-form-group">
- <view class="title">瀹瑰櫒鍙�</view>
- <input placeholder="璇锋壂鎻忓鍣ㄧ紪鐮�" v-model="container" @input="getList" focus></input>
- <!-- <text class='cuIcon-search text-blue' @click="getList"></text> -->
- </view>
- <view class="cu-form-group">
- <view class="title">鐗╂枡鍙�</view>
- <input placeholder="璇锋壂鎻忕墿鏂欑紪鐮�" v-model="matnrCode"></input>
- <text class='cuIcon-search text-blue' @click="search"></text>
- </view>
- </form>
+ <form>
+ <view class="cu-form-group margin-top">
+ <view class="title">璁㈠崟鍙�</view>
+ <input
+ placeholder="璇疯緭鍏ヨ鍗曞彿"
+ v-model="asnCode"
+ />
+ <!-- <text class='cuIcon-search text-blue' @click="search"></text> -->
+ </view>
+ <view class="cu-form-group">
+ <view class="title">瀹瑰櫒鍙�</view>
+ <input
+ placeholder="璇锋壂鎻忓鍣ㄧ紪鐮�"
+ v-model="container"
+ @input="getList"
+ focus
+ />
+ <!-- <text class='cuIcon-search text-blue' @click="getList"></text> -->
+ </view>
+ <view class="cu-form-group">
+ <view class="title">鐗╂枡鍙�</view>
+ <input
+ placeholder="璇锋壂鎻忕墿鏂欑紪鐮�"
+ v-model="matnrCode"
+ />
+ <text
+ class="cuIcon-search text-blue"
+ @click="search"
+ ></text>
+ </view>
+ </form>
- <view class="flex solid-bottom padding-sm justify-between">
- <view class="text-blue">鐗╂枡绉嶇被:{{list.length}}</view>
- <view class="text-blue">缁勬墭鎬绘暟:{{allCount}}</view>
- </view>
-
+ <view class="flex solid-bottom padding-sm justify-between">
+ <view class="text-blue">鐗╂枡绉嶇被:{{ list.length }}</view>
+ <view class="text-blue">缁勬墭鎬绘暟:{{ allCount }}</view>
+ </view>
</view>
- <view class="padding-lr margin-top-sm" style="padding-bottom: 120upx;">
- <block v-for="(item, index) in list" :key="index">
- <view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.trackCode===barcode&&'act']"
- :ref="item.trackCode+'ref'">
- <view class="cu-bar bg-white solid-bottom ">
+ <view
+ class="padding-lr margin-top-sm"
+ style="padding-bottom: 120upx"
+ >
+ <block
+ v-for="(item, index) in list"
+ :key="index"
+ >
+ <view
+ class="cu-list det menu sm-border margin-bottom-sm"
+ :class="[item.trackCode === barcode && 'act']"
+ :ref="item.trackCode + 'ref'"
+ >
+ <view class="cu-bar bg-white solid-bottom">
<view class="action">
<view class="index">
- {{index+1}}
+ {{ index + 1 }}
</view>
<view class="text-blue">
缂栫爜:
- {{`${item.matnrCode}`}}
+ {{ `${item.matnrCode}` }}
</view>
</view>
- <view class="action" v-if="!isconfirm">
- <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
+ <view
+ class="action"
+ v-if="!isconfirm"
+ >
+ <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-black">鐗╂枡缂栫爜:</text>
- <text class="text-grey ">{{item.maktx}}</text>
+ <text class="text-black">鐗╂枡鍚嶇О:</text>
+ <text class="text-grey">{{ item.maktx }}</text>
</view>
</view>
<view class="cu-item">
@@ -56,37 +84,39 @@
<text class="text-black">鍗曞彿:</text>
</view>
<view class="action">
- <text class="text-grey ">{{item.asnCode}}</text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-black">渚涘簲鍟嗘壒娆�:</text>
- </view>
- <view class="action">
- <text class="text-grey ">{{item.splrBatch}}</text>
+ <text class="text-grey">{{ item.asnCode }}</text>
</view>
</view>
- <!-- <view class="cu-item">
- <view class="content">
- <text class="text-black">璐ㄦ缁撴灉: <text class="text-grey ">{{item.inspect}}</text></text>
- </view>
- </view> -->
- <!-- <view class="cu-item">
- <view class="content">
- <text class="text-black">骞冲彴琛屽彿: <text class="text-grey ">{{item.platformId}}</text></text>
- </view>
- <view class="content">
- <text class="text-black">璐ㄦ缁撴灉: <text class="text-grey ">{{item.inspect}}</text></text>
- </view>
- </view> -->
-
<view class="cu-item">
<view class="content">
- <text class="text-black">搴撳瓨鍗曚綅: <text class="text-grey ">{{item.stockUnit}}</text></text>
+ <text class="text-black">璺熻釜鍙�:</text>
+ </view>
+ <view class="action">
+ <text class="text-grey">{{ item.platWorkCode }}</text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">鎵规:</text>
+ </view>
+ <view class="action">
+ <text class="text-grey">{{ item.splrBatch }}</text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">
+ 鍗曚綅:
+ <text class="text-grey">
+ {{ item.stockUnit }}
+ </text>
+ </text>
</view>
<view class="content">
- <text class="text-black">鏀惰揣鏁伴噺: <text class="text-grey ">{{item.anfme}}</text></text>
+ <text class="text-black">
+ 鏀惰揣鏁伴噺:
+ <text class="text-grey">{{ item.anfme }}</text>
+ </text>
</view>
<!-- <view class="content">
<text class="text-black">宸蹭笂鏋舵暟閲�: <text
@@ -95,19 +125,33 @@
</view>
<view class="cu-item">
<view class="content">
- <text class="text-black">鍙粍鐩樻暟閲�: <text
- class="text-grey ">{{item.ableQty}}</text></text>
+ <text class="text-black">
+ 鍙粍鐩樻暟閲�:
+ <text class="text-grey">
+ {{ item.ableQty }}
+ </text>
+ </text>
</view>
-
</view>
- <view class="cu-item">
+ <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 class="title text-blue">
+ <text
+ class="text-red text-xl vertical-middle"
+ >
+ *
+ </text>
+ 缁勭洏鏁伴噺:
</view>
- <uni-number-box style="width: 70%;" :min="0" :max="item.ableQty" :decimal="2" :step="0.01" v-model="item.receiptQty"
- ></uni-number-box>
+ <uni-number-box
+ style="width: 70%"
+ :min="0"
+ :max="item.ableQty"
+ :decimal="2"
+ :step="0.01"
+ v-model="item.receiptQty"
+ ></uni-number-box>
</view>
</view>
</view>
@@ -115,57 +159,138 @@
</block>
</view>
<view class="cu-bar btn-group foot">
- <button v-if="hasButtonPermission('reset')" class="cu-btn text-blue line-blue shadow" @click="clear">娓呯┖</button>
- <button v-if="hasButtonPermission('submit')" class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="confirm">缁勬墭</button>
- <button v-if="hasButtonPermission('submitNoJudge')" class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="confirm2">缁勬墭</button>
+ <button
+ v-if="hasButtonPermission('reset')"
+ class="cu-btn text-blue line-blue shadow"
+ @click="clear"
+ >
+ 娓呯┖
+ </button>
+ <button
+ v-if="hasButtonPermission('submit')"
+ class="cu-btn bg-blue shadow-blur"
+ :disabled="repeatClick"
+ @click="confirm"
+ >
+ 缁勬墭
+ </button>
+ <button
+ v-if="hasButtonPermission('submitNoJudge')"
+ class="cu-btn bg-blue shadow-blur"
+ :disabled="repeatClick"
+ @click="confirm2"
+ >
+ 缁勬墭
+ </button>
</view>
-
+
<!-- AGV鍛煎彨纭寮圭獥 -->
- <view class="modal-mask" v-if="showAgvModal" @click="closeAgvModal">
- <view class="modal-container" @click.stop>
+ <view
+ class="modal-mask"
+ v-if="showAgvModal"
+ @click="closeAgvModal"
+ >
+ <view
+ class="modal-container"
+ @click.stop
+ >
<view class="modal-header">
- <text class="cuIcon-deliver" style="font-size: 48rpx; color: #0081ff;"></text>
+ <text
+ class="cuIcon-deliver"
+ style="font-size: 48rpx; color: #0081ff"
+ ></text>
<text class="modal-title">AGV鍛煎彨纭</text>
</view>
<view class="modal-body">
- <text class="modal-message">鏄惁闇�瑕佸懠鍙獳GV杩涜鎵樼洏鎼繍锛�</text>
+ <text class="modal-message">
+ 鏄惁闇�瑕佸懠鍙獳GV杩涜鎵樼洏鎼繍锛�
+ </text>
</view>
<view class="modal-footer">
- <button class="modal-btn modal-btn-cancel" @click="handleAgvNo">涓嶉渶瑕�</button>
- <button class="modal-btn modal-btn-confirm" @click="handleAgvYes">闇�瑕佸懠鍙�</button>
+ <button
+ class="modal-btn modal-btn-cancel"
+ @click="handleAgvNo"
+ >
+ 涓嶉渶瑕�
+ </button>
+ <button
+ class="modal-btn modal-btn-confirm"
+ @click="handleAgvYes"
+ >
+ 闇�瑕佸懠鍙�
+ </button>
</view>
</view>
</view>
-
+
<!-- AGV绔欑偣杈撳叆寮圭獥 -->
- <view class="modal-mask" v-if="showAgvInputModal" @click="closeAgvInputModal">
- <view class="modal-container" @click.stop>
+ <view
+ class="modal-mask"
+ v-if="showAgvInputModal"
+ @click="closeAgvInputModal"
+ >
+ <view
+ class="modal-container"
+ @click.stop
+ >
<view class="modal-header">
- <text class="cuIcon-locationfill" style="font-size: 48rpx; color: #0081ff;"></text>
+ <text
+ class="cuIcon-locationfill"
+ style="font-size: 48rpx; color: #0081ff"
+ ></text>
<text class="modal-title">杈撳叆AGV绔欑偣</text>
</view>
<view class="modal-body">
<view class="form-item">
<text class="form-label">AGV绔欑偣</text>
<view class="input-wrapper">
- <input class="agv-input" type="text" v-model="agvStationInput" placeholder="璇疯緭鍏GV绔欑偣缂栧彿" @input="checkAgvStation()"/>
+ <input
+ class="agv-input"
+ type="text"
+ v-model="agvStationInput"
+ placeholder="璇疯緭鍏GV绔欑偣缂栧彿"
+ @input="checkAgvStation()"
+ />
</view>
</view>
<view class="form-item">
<text class="form-label">鐩爣搴撳尯</text>
<view class="input-wrapper picker-wrapper">
- <picker class="picker" mode="selector" :range="rangeText" @change="pickerChange">
+ <picker
+ class="picker"
+ mode="selector"
+ :range="rangeText"
+ @change="pickerChange"
+ >
<view class="picker-view">
- <text>{{ whAreaId ? selectedText : '璇烽�夋嫨搴撳尯' }}</text>
- <text class="cuIcon-right picker-arrow"></text>
+ <text>
+ {{
+ whAreaId
+ ? selectedText
+ : '璇烽�夋嫨搴撳尯'
+ }}
+ </text>
+ <text
+ class="cuIcon-right picker-arrow"
+ ></text>
</view>
</picker>
</view>
</view>
</view>
<view class="modal-footer">
- <button class="modal-btn modal-btn-cancel" @click="handleAgvNo">涓嶉渶瑕�</button>
- <button class="modal-btn modal-btn-confirm" @click="confirmAgvStation">纭畾</button>
+ <button
+ class="modal-btn modal-btn-cancel"
+ @click="handleAgvNo"
+ >
+ 涓嶉渶瑕�
+ </button>
+ <button
+ class="modal-btn modal-btn-confirm"
+ @click="confirmAgvStation"
+ >
+ 纭畾
+ </button>
</view>
</view>
</view>
@@ -173,540 +298,523 @@
</template>
<script>
- import {
- request
- } from '../../common/request.js'
- import {
- mapState,
- mapMutations,
- mapActions,
- mapGetters
- } from 'vuex';
- export default {
- data() {
- return {
- whAreaId:'',
- barcode: '',
- container: '',
- megreQty: '',
- list: [],
- range: [],
- asnCode: '',
- repeatClick: false,
- isconfirm: false,
- matnrCode:'',
- max: 99999999,
- buttonPermissions: [], // 鎸夐挳鏉冮檺鍒楄〃
- showAgvModal: false, // AGV纭寮圭獥
- showAgvInputModal: false, // AGV绔欑偣杈撳叆寮圭獥
- agvStationInput: '' ,// AGV绔欑偣杈撳叆鍊�
- agvStationName: ''
- }
+import { request } from '../../common/request.js'
+import { mapState, mapMutations, mapActions, mapGetters } from 'vuex'
+export default {
+ data() {
+ return {
+ whAreaId: '',
+ barcode: '',
+ container: '',
+ megreQty: '',
+ list: [],
+ range: [],
+ asnCode: '',
+ repeatClick: false,
+ isconfirm: false,
+ matnrCode: '',
+ max: 99999999,
+ buttonPermissions: [], // 鎸夐挳鏉冮檺鍒楄〃
+ showAgvModal: false, // AGV纭寮圭獥
+ showAgvInputModal: false, // AGV绔欑偣杈撳叆寮圭獥
+ agvStationInput: '', // AGV绔欑偣杈撳叆鍊�
+ agvStationName: ''
+ }
+ },
+ computed: {
+ ...mapState('user', ['dynamicFields']),
+ allCount() {
+ return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) || 0
},
- computed: {
- ...mapState('user', ['dynamicFields']),
- allCount() {
- return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) || 0
- },
- rangeText() {
- return this.range.map(item => item.text)
- },
- selectedText() {
- const found = this.range.find(item => item.value === this.whAreaId)
- return found ? found.text : '璇烽�夋嫨搴撳尯'
- }
+ rangeText() {
+ return this.range.map((item) => item.text)
},
- mounted() {
- // this.getRece()
- // 鑾峰彇鎸夐挳鏉冮檺
- this.buttonPermissions = uni.getStorageSync('buttonPermissions') || [];
- console.log('褰撳墠椤甸潰鎸夐挳鏉冮檺:', this.buttonPermissions);
- },
- methods: {
- async checkAgvStation(){
- const that = this;
- if(this.agvStationInput === '' || this.agvStationInput === null){
- uni.showToast({
- title: "瀹瑰櫒鐮佷负绌�",
- icon: "none",
- position: 'top'
- })
- return ;
- }
- const {
- code,
- data,
- msg
- } = await request('/check/agvStation', {
- transferStationNo: this.agvStationInput
- })
- if (code === 200) {
- this.agvStationName = data.stationName
- } else {
- uni.showToast({
- title: msg,
- icon: "none",
- position: 'top'
- })
- setTimeout(function() {
- that.agvStationName = ''
- that.agvStationInput = ''
- }, 200);
- }
- },
- pickerChange(e) {
- const index = e.detail.value
- this.whAreaId = this.range[index].value
- uni.setStorageSync('whAreaId', this.whAreaId)
- },
- // 妫�鏌ユ寜閽潈闄�
- hasButtonPermission(route) {
- return this.buttonPermissions.includes(route);
- },
- async search() {
- const find = this.list.find(el => el.trackCode === this.barcode);
- find ? this.scrollTo() : this.getDet();
-
- },
- getDet() {
- let that = this;
- uni.navigateTo({
- url: "../listing/itemSelect",
- success: function(res) {
- // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
- res.eventChannel.emit('data', {
- matnrCode: that.matnrCode,
- asnCode: that.asnCode
- })
- },
- events: {
- // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨�
- backData: function(data) {
- that.showBackData(data.data)
- },
- },
-
-
- });
- },
-
- async getList() {
- if(this.container === '' || this.container === null){
- uni.showToast({
- title: "瀹瑰櫒鐮佷负绌�",
- icon: "none",
- position: 'top'
- })
- return ;
- }
- const {
- code,
- data,
- msg
- } = await request('/asnOrderItem/container', {
- barcode: this.container
- })
- if (code === 200) {
- this.range = data.map(item => ({
- value: item.id,
- text: item.name
- }));
-
- this.whAreaId = this.range[0].value
- } else {
- uni.showToast({
- title: msg,
- icon: "none",
- position: 'top'
- })
- }
- },
- showBackData(data){
- let status ;
- data.map(item => {
- this.list.push(item)
- })
- let oldLength = this.list.length
- this.list = this.list.filter((item, index, self) =>
- self.findIndex(i => (
- i.id === item.id // 鏍规嵁id鍘婚噸
- )) === index && item.isptResult === self[0].isptResult
- );
- let newLength = this.list.length
-
- if(oldLength > newLength){
- this.showMsg("鏂版槑缁嗚杩囨护锛岃妫�鏌ョ姸鎬�")
-
- }
-
- },
- showMsg(msg){
- setTimeout(function() {
- uni.showToast({
- icon: "none",
- position: 'top',
- title: msg,
- duration:2000,
- })
- }, 200);
-
- },
- scrollTo() {
- const ref = this.$refs[`${this.barcode}ref`][0];
- uni.pageScrollTo({
- scrollTop: ref.$el.offsetTop,
- duration: 300
- })
- },
- remove(index) {
- this.list.splice(index, 1);
- },
- clear() {
- this.list = []
- this.barcode = ''
- },
- next() {
- if (this.list.length) {
- this.isconfirm = true
- } else {
- uni.showToast({
- icon: "none",
- title: '鏈�夌墿鏂欐爣绛�'
- })
- }
- },
- prev() {
- this.isconfirm = false
- },
- confirm() {
- if(this.container === '' || this.container === null){
- uni.showToast({
- title: "瀹瑰櫒鐮佷负绌�",
- icon: "none",
- position: 'top'
- })
- return ;
- }
- if(this.list.length ===0 || this.list === null){
- uni.showToast({
- title: "鏈坊鍔犳槑缁�",
- icon: "none",
- position: 'top'
- })
- return ;
- }
- // 鏄剧ずAGV纭寮圭獥
- this.showAgvInputModal = true;
- },
- confirm2() {
- if(this.container === '' || this.container === null){
- uni.showToast({
- title: "瀹瑰櫒鐮佷负绌�",
- icon: "none",
- position: 'top'
- })
- return ;
- }
- if(this.list.length ===0 || this.list === null){
- uni.showToast({
- title: "鏈坊鍔犳槑缁�",
- icon: "none",
- position: 'top'
- })
- return ;
- }
- this.submitConfirm('');
- },
- // 鍏抽棴AGV纭寮圭獥
- closeAgvModal() {
- this.showAgvModal = false;
- },
- // 閫夋嫨涓嶉渶瑕丄GV
- handleAgvNo() {
-
- this.showAgvModal = false;
- this.submitConfirm('');
- },
- // 閫夋嫨闇�瑕丄GV
- handleAgvYes() {
- this.showAgvModal = false;
- this.agvStationInput = '';
- this.agvStationName = '';
- this.showAgvInputModal = true;
- },
- // 鍏抽棴AGV绔欑偣杈撳叆寮圭獥
- closeAgvInputModal() {
- this.showAgvInputModal = false;
- this.agvStationInput = '';
- this.agvStationName = '';
- },
- // 纭AGV绔欑偣
- confirmAgvStation() {
- if (this.agvStationInput.trim() === '') {
- uni.showToast({
- title: "AGV绔欑偣涓嶈兘涓虹┖",
- icon: "none",
- position: 'top'
- });
- return;
- }
- if (this.whAreaId === '') {
- uni.showToast({
- title: "鐩爣搴撳尯涓嶈兘涓虹┖",
- icon: "none",
- position: 'top'
- });
- return;
- }
- this.showAgvInputModal = false;
- this.submitConfirm(this.agvStationName);
- },
- // 鎻愪氦缁勬墭璇锋眰
- async submitConfirm(agvStation) {
- this.repeatClick = true
- try {
- const newArr = this.list.map(item => {
-
- return {
- ...item,
- anfme: item.anfme === null ? 0 : +item.anfme,
- };
- });
-
- const requestData = {
- items: newArr,
- barcode: this.container,
- };
-
- // 濡傛灉鏈堿GV绔欑偣锛屾坊鍔犲埌璇锋眰鍙傛暟涓�
- if (agvStation) {
- requestData.staNo = agvStation;
- requestData.agvSign = 1;
- requestData.area = this.whAreaId;
- }else{
- requestData.agvSign = 0;
- }
-
- const {
- code,
- data,
- msg
- } = await request('/waitPakin/merge', requestData)
- if (code === 200) {
+ selectedText() {
+ const found = this.range.find(
+ (item) => item.value === this.whAreaId
+ )
+ return found ? found.text : '璇烽�夋嫨搴撳尯'
+ }
+ },
+ mounted() {
+ // this.getRece()
+ // 鑾峰彇鎸夐挳鏉冮檺
+ this.buttonPermissions = uni.getStorageSync('buttonPermissions') || []
+ console.log('褰撳墠椤甸潰鎸夐挳鏉冮檺:', this.buttonPermissions)
+ },
+ methods: {
+ async checkAgvStation() {
+ const that = this
+ if (this.agvStationInput === '' || this.agvStationInput === null) {
uni.showToast({
- title: '缁勭洏鎴愬姛'
+ title: '瀹瑰櫒鐮佷负绌�',
+ icon: 'none',
+ position: 'top'
})
- this.list = []
- this.barcode = ''
- this.container = ''
- this.isconfirm = false
+ return
+ }
+ const { code, data, msg } = await request('/check/agvStation', {
+ transferStationNo: this.agvStationInput
+ })
+ if (code === 200) {
+ this.agvStationName = data.stationName
} else {
uni.showToast({
title: msg,
- icon: "none",
+ icon: 'none',
+ position: 'top'
+ })
+ setTimeout(function () {
+ that.agvStationName = ''
+ that.agvStationInput = ''
+ }, 200)
+ }
+ },
+ pickerChange(e) {
+ const index = e.detail.value
+ this.whAreaId = this.range[index].value
+ uni.setStorageSync('whAreaId', this.whAreaId)
+ },
+ // 妫�鏌ユ寜閽潈闄�
+ hasButtonPermission(route) {
+ return this.buttonPermissions.includes(route)
+ },
+ async search() {
+ const find = this.list.find((el) => el.trackCode === this.barcode)
+ find ? this.scrollTo() : this.getDet()
+ },
+ getDet() {
+ let that = this
+ uni.navigateTo({
+ url: '../listing/itemSelect',
+ success: function (res) {
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
+ res.eventChannel.emit('data', {
+ matnrCode: that.matnrCode,
+ asnCode: that.asnCode
+ })
+ },
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨�
+ backData: function (data) {
+ that.showBackData(data.data)
+ }
+ }
+ })
+ },
+
+ async getList() {
+ if (this.container === '' || this.container === null) {
+ uni.showToast({
+ title: '瀹瑰櫒鐮佷负绌�',
+ icon: 'none',
+ position: 'top'
+ })
+ return
+ }
+ const { code, data, msg } = await request(
+ '/asnOrderItem/container',
+ {
+ barcode: this.container
+ }
+ )
+ if (code === 200) {
+ this.range = data.map((item) => ({
+ value: item.id,
+ text: item.name
+ }))
+
+ this.whAreaId = this.range[0].value
+ } else {
+ uni.showToast({
+ title: msg,
+ icon: 'none',
position: 'top'
})
}
- } finally {
- // 鏃犺璇锋眰鎴愬姛杩樻槸澶辫触锛岄兘閲婃斁鎸夐挳閿佸畾
- this.repeatClick = false
- }
- },
- async getRece() {
- const {
- code,
- data,
- msg
- } = await request('/areas/user/all', {}, 'get')
- if (code === 200) {
- this.range = data.map(item => ({
- value: item.id,
- text: item.name
- }));
+ },
+ showBackData(data) {
+ let status
+ data.map((item) => {
+ this.list.push(item)
+ })
+ let oldLength = this.list.length
+ this.list = this.list.filter(
+ (item, index, self) =>
+ self.findIndex(
+ (i) =>
+ i.id === item.id // 鏍规嵁id鍘婚噸
+ ) === index && item.isptResult === self[0].isptResult
+ )
+ let newLength = this.list.length
+
+ if (oldLength > newLength) {
+ this.showMsg('鏂版槑缁嗚杩囨护锛岃妫�鏌ョ姸鎬�')
}
},
+ showMsg(msg) {
+ setTimeout(function () {
+ uni.showToast({
+ icon: 'none',
+ position: 'top',
+ title: msg,
+ duration: 2000
+ })
+ }, 200)
+ },
+ scrollTo() {
+ const ref = this.$refs[`${this.barcode}ref`][0]
+ uni.pageScrollTo({
+ scrollTop: ref.$el.offsetTop,
+ duration: 300
+ })
+ },
+ remove(index) {
+ this.list.splice(index, 1)
+ },
+ clear() {
+ this.list = []
+ this.barcode = ''
+ },
+ next() {
+ if (this.list.length) {
+ this.isconfirm = true
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: '鏈�夌墿鏂欐爣绛�'
+ })
+ }
+ },
+ prev() {
+ this.isconfirm = false
+ },
+ confirm() {
+ if (this.container === '' || this.container === null) {
+ uni.showToast({
+ title: '瀹瑰櫒鐮佷负绌�',
+ icon: 'none',
+ position: 'top'
+ })
+ return
+ }
+ if (this.list.length === 0 || this.list === null) {
+ uni.showToast({
+ title: '鏈坊鍔犳槑缁�',
+ icon: 'none',
+ position: 'top'
+ })
+ return
+ }
+ // 鏄剧ずAGV纭寮圭獥
+ this.showAgvInputModal = true
+ },
+ confirm2() {
+ if (this.container === '' || this.container === null) {
+ uni.showToast({
+ title: '瀹瑰櫒鐮佷负绌�',
+ icon: 'none',
+ position: 'top'
+ })
+ return
+ }
+ if (this.list.length === 0 || this.list === null) {
+ uni.showToast({
+ title: '鏈坊鍔犳槑缁�',
+ icon: 'none',
+ position: 'top'
+ })
+ return
+ }
+ this.submitConfirm('')
+ },
+ // 鍏抽棴AGV纭寮圭獥
+ closeAgvModal() {
+ this.showAgvModal = false
+ },
+ // 閫夋嫨涓嶉渶瑕丄GV
+ handleAgvNo() {
+ this.showAgvModal = false
+ this.submitConfirm('')
+ },
+ // 閫夋嫨闇�瑕丄GV
+ handleAgvYes() {
+ this.showAgvModal = false
+ this.agvStationInput = ''
+ this.agvStationName = ''
+ this.showAgvInputModal = true
+ },
+ // 鍏抽棴AGV绔欑偣杈撳叆寮圭獥
+ closeAgvInputModal() {
+ this.showAgvInputModal = false
+ this.agvStationInput = ''
+ this.agvStationName = ''
+ },
+ // 纭AGV绔欑偣
+ confirmAgvStation() {
+ if (this.agvStationInput.trim() === '') {
+ uni.showToast({
+ title: 'AGV绔欑偣涓嶈兘涓虹┖',
+ icon: 'none',
+ position: 'top'
+ })
+ return
+ }
+ if (this.whAreaId === '') {
+ uni.showToast({
+ title: '鐩爣搴撳尯涓嶈兘涓虹┖',
+ icon: 'none',
+ position: 'top'
+ })
+ return
+ }
+ this.showAgvInputModal = false
+ this.submitConfirm(this.agvStationName)
+ },
+ // 鎻愪氦缁勬墭璇锋眰
+ async submitConfirm(agvStation) {
+ this.repeatClick = true
+ try {
+ const newArr = this.list.map((item) => {
+ return {
+ ...item,
+ anfme: item.anfme === null ? 0 : +item.anfme
+ }
+ })
+
+ const requestData = {
+ items: newArr,
+ barcode: this.container
+ }
+
+ // 濡傛灉鏈堿GV绔欑偣锛屾坊鍔犲埌璇锋眰鍙傛暟涓�
+ if (agvStation) {
+ requestData.staNo = agvStation
+ requestData.agvSign = 1
+ requestData.area = this.whAreaId
+ } else {
+ requestData.agvSign = 0
+ }
+
+ const { code, data, msg } = await request(
+ '/waitPakin/merge',
+ requestData
+ )
+ if (code === 200) {
+ uni.showToast({
+ title: '缁勭洏鎴愬姛'
+ })
+ this.list = []
+ this.barcode = ''
+ this.container = ''
+ this.isconfirm = false
+ } else {
+ uni.showToast({
+ title: msg,
+ icon: 'none',
+ position: 'top'
+ })
+ }
+ } finally {
+ // 鏃犺璇锋眰鎴愬姛杩樻槸澶辫触锛岄兘閲婃斁鎸夐挳閿佸畾
+ this.repeatClick = false
+ }
+ },
+ async getRece() {
+ const { code, data, msg } = await request(
+ '/areas/user/all',
+ {},
+ 'get'
+ )
+ if (code === 200) {
+ this.range = data.map((item) => ({
+ value: item.id,
+ text: item.name
+ }))
+ }
}
}
+}
</script>
<style>
- .index {
- border: 1px solid #e54d42;
- color: #e54d42;
- border-radius: 50%;
- display: block;
- width: 50rpx;
- height: 50rpx;
- line-height: 48rpx;
- text-align: center;
- margin-right: 20rpx;
- font-size: 30rpx;
- }
+.index {
+ border: 1px solid #e54d42;
+ color: #e54d42;
+ border-radius: 50%;
+ display: block;
+ width: 50rpx;
+ height: 50rpx;
+ line-height: 48rpx;
+ text-align: center;
+ margin-right: 20rpx;
+ font-size: 30rpx;
+}
- .text-blue {
- color: #0081ff !important;
- }
+.text-blue {
+ color: #0081ff !important;
+}
- .act {
- border: 1px solid #e54d42;
- }
+.act {
+ border: 1px solid #e54d42;
+}
- .item {
- position: relative;
- display: flex;
- min-height: 80upx;
- align-items: center;
- }
-
- /* 寮圭獥閬僵灞� */
- .modal-mask {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background-color: rgba(0, 0, 0, 0.5);
- display: flex;
- justify-content: center;
- align-items: center;
- z-index: 999;
- }
-
- /* 寮圭獥瀹瑰櫒 */
- .modal-container {
- width: 600rpx;
- background-color: #ffffff;
- border-radius: 24rpx;
- overflow: hidden;
- box-shadow: 0 8rpx 40rpx rgba(0, 0, 0, 0.15);
- }
-
- /* 寮圭獥澶撮儴 */
- .modal-header {
- padding: 40rpx 30rpx 20rpx;
- display: flex;
- flex-direction: column;
- align-items: center;
- background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 100%);
- }
-
- .modal-title {
- font-size: 34rpx;
- font-weight: bold;
- color: #333;
- /* margin-top: 16rpx; */
- }
-
- /* 寮圭獥鍐呭 */
- .modal-body {
- padding: 30rpx;
- }
-
- .form-item {
- margin-bottom: 24rpx;
- }
-
- .form-item:last-child {
- margin-bottom: 0;
- }
-
- .form-label {
- display: block;
- font-size: 28rpx;
- color: #333;
- font-weight: 500;
- margin-bottom: 12rpx;
- padding-left: 4rpx;
- }
-
- .modal-message {
- font-size: 30rpx;
- color: #666;
- text-align: center;
- display: block;
- }
-
- /* 杈撳叆妗嗗鍣� */
- .input-wrapper {
- background-color: #f5f7fa;
- border-radius: 12rpx;
- padding: 10rpx;
- border: 2rpx solid #e4e7ed;
- transition: border-color 0.2s;
- }
-
- .input-wrapper:focus-within {
- border-color: #0081ff;
- }
-
- .picker-wrapper {
- display: flex;
- align-items: center;
- }
-
- .agv-input {
- width: 100%;
- height: 70rpx;
- font-size: 30rpx;
- color: #333;
- background-color: transparent;
- }
- .picker{
- width: 100%;
- }
-
- .picker-view {
- width: 100%;
- height: 70rpx;
- line-height: 70rpx;
- font-size: 30rpx;
- color: #333;
- display: flex;
- justify-content:space-between;
- align-items: center;
- }
-
- .picker-arrow {
- color: #999;
- font-size: 28rpx;
- }
-
- /* 寮圭獥搴曢儴鎸夐挳 */
- .modal-footer {
- display: flex;
- border-top: 1rpx solid #eee;
- }
-
- .modal-btn {
- flex: 1;
- height: 100rpx;
- line-height: 100rpx;
- font-size: 32rpx;
- border: none;
- border-radius: 0;
- background-color: #fff;
- }
-
- .modal-btn::after {
- border: none;
- }
-
- .modal-btn-cancel {
- color: #999;
- border-right: 1rpx solid #eee;
- }
-
- .modal-btn-confirm {
- color: #fff;
- background: linear-gradient(135deg, #0081ff 0%, #1890ff 100%);
- font-weight: bold;
- }
-
- .modal-btn-confirm:active {
- background: linear-gradient(135deg, #0070dd 0%, #1480e8 100%);
- }
-
- .modal-btn-cancel:active {
- background-color: #f5f5f5;
- }
-</style>
\ No newline at end of file
+.item {
+ position: relative;
+ display: flex;
+ min-height: 80upx;
+ align-items: center;
+}
+
+/* 寮圭獥閬僵灞� */
+.modal-mask {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0, 0, 0, 0.5);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ z-index: 999;
+}
+
+/* 寮圭獥瀹瑰櫒 */
+.modal-container {
+ width: 600rpx;
+ background-color: #ffffff;
+ border-radius: 24rpx;
+ overflow: hidden;
+ box-shadow: 0 8rpx 40rpx rgba(0, 0, 0, 0.15);
+}
+
+/* 寮圭獥澶撮儴 */
+.modal-header {
+ padding: 40rpx 30rpx 20rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 100%);
+}
+
+.modal-title {
+ font-size: 34rpx;
+ font-weight: bold;
+ color: #333;
+ /* margin-top: 16rpx; */
+}
+
+/* 寮圭獥鍐呭 */
+.modal-body {
+ padding: 30rpx;
+}
+
+.form-item {
+ margin-bottom: 24rpx;
+}
+
+.form-item:last-child {
+ margin-bottom: 0;
+}
+
+.form-label {
+ display: block;
+ font-size: 28rpx;
+ color: #333;
+ font-weight: 500;
+ margin-bottom: 12rpx;
+ padding-left: 4rpx;
+}
+
+.modal-message {
+ font-size: 30rpx;
+ color: #666;
+ text-align: center;
+ display: block;
+}
+
+/* 杈撳叆妗嗗鍣� */
+.input-wrapper {
+ background-color: #f5f7fa;
+ border-radius: 12rpx;
+ padding: 10rpx;
+ border: 2rpx solid #e4e7ed;
+ transition: border-color 0.2s;
+}
+
+.input-wrapper:focus-within {
+ border-color: #0081ff;
+}
+
+.picker-wrapper {
+ display: flex;
+ align-items: center;
+}
+
+.agv-input {
+ width: 100%;
+ height: 70rpx;
+ font-size: 30rpx;
+ color: #333;
+ background-color: transparent;
+}
+.picker {
+ width: 100%;
+}
+
+.picker-view {
+ width: 100%;
+ height: 70rpx;
+ line-height: 70rpx;
+ font-size: 30rpx;
+ color: #333;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.picker-arrow {
+ color: #999;
+ font-size: 28rpx;
+}
+
+/* 寮圭獥搴曢儴鎸夐挳 */
+.modal-footer {
+ display: flex;
+ border-top: 1rpx solid #eee;
+}
+
+.modal-btn {
+ flex: 1;
+ height: 100rpx;
+ line-height: 100rpx;
+ font-size: 32rpx;
+ border: none;
+ border-radius: 0;
+ background-color: #fff;
+}
+
+.modal-btn::after {
+ border: none;
+}
+
+.modal-btn-cancel {
+ color: #999;
+ border-right: 1rpx solid #eee;
+}
+
+.modal-btn-confirm {
+ color: #fff;
+ background: linear-gradient(135deg, #0081ff 0%, #1890ff 100%);
+ font-weight: bold;
+}
+
+.modal-btn-confirm:active {
+ background: linear-gradient(135deg, #0070dd 0%, #1480e8 100%);
+}
+
+.modal-btn-cancel:active {
+ background-color: #f5f5f5;
+}
+</style>
diff --git a/pages/outbound/orderOut/orderList.vue b/pages/outbound/orderOut/orderList.vue
index c69b5ee..3e6ad39 100644
--- a/pages/outbound/orderOut/orderList.vue
+++ b/pages/outbound/orderOut/orderList.vue
@@ -103,6 +103,7 @@
if (eventChannel) {
eventChannel.on('orderTypeId', function(data) {
that.orderTypeId = data.orderTypeId
+ console.log(data)
})
}
},
diff --git a/pages/outbound/orderOut/order_out_type.vue b/pages/outbound/orderOut/order_out_type.vue
index 578ee8e..11747cb 100644
--- a/pages/outbound/orderOut/order_out_type.vue
+++ b/pages/outbound/orderOut/order_out_type.vue
@@ -81,7 +81,8 @@
name: '',
color: this.colorList[index],
cuIcon: 'round',
- url: `/outbound/orderOut/orderList`
+ url: `/outbound/orderOut/orderList`,
+ id: item.id
})
})
} else {
@@ -104,6 +105,7 @@
}
},
toPage(item) {
+ console.log(item)
uni.navigateTo({
url: `/pages${item.url}`,
success(res) {
--
Gitblit v1.9.1