From bd22cf1b35738f1556c9a45a8b3a55fe2959581c Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期一, 19 八月 2024 11:04:05 +0800
Subject: [PATCH] #
---
manifest.json | 4
pages/phyz/processOrder/orderCheck2.vue | 274 +++++++++++++++++++++++++++++++++++++++
pages/phyz/processOrder/processOrder.vue | 2
pages/phyz/processOrder/orderCheck.vue | 107 ++++++++------
4 files changed, 337 insertions(+), 50 deletions(-)
diff --git a/manifest.json b/manifest.json
index 523c686..1db4c24 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
"name" : "涓壃WMS",
"appid" : "__UNI__DA5854D",
"description" : "",
- "versionName" : "20240809A",
- "versionCode" : 126,
+ "versionName" : "20240819A",
+ "versionCode" : 127,
"transformPx" : false,
/* 5+App鐗规湁鐩稿叧 */
"app-plus" : {
diff --git a/pages/phyz/processOrder/orderCheck.vue b/pages/phyz/processOrder/orderCheck.vue
index ffe43a2..87d356f 100644
--- a/pages/phyz/processOrder/orderCheck.vue
+++ b/pages/phyz/processOrder/orderCheck.vue
@@ -1,32 +1,33 @@
<template>
<view>
- <view class="list shop-car">
+ <view class="list shop-car" v-for="item in dataList">
<view class="list-left">
- <view class="detl-threeCode" style="padding: 16rpx 0;">{{data.csocode}}</view>
- <view>搴撲綅锛歿{data.locNo}}</view>
- <view>缂栧彿锛歿{data.matnr}}</view>
- <view>鍚嶇О锛歿{data.maktx}}</view>
- <view>鑷敱椤癸細{{data.containerCode}}</view>
- <view>瑙勬牸锛歿{data.specs}}</view>
- <view>鎵瑰彿锛歿{data.batch}}</view>
- <view>宸ュ簭锛歿{data.processSts$}}</view>
- <view>搴撳瓨鏁伴噺锛歿{count}}</view>
+ <view class="detl-threeCode" style="padding: 16rpx 0;">{{item.csocode}}</view>
+ <view>搴撲綅锛歿{item.locNo}}</view>
+ <view>缂栧彿锛歿{item.matnr}}</view>
+ <view>鍚嶇О锛歿{item.maktx}}</view>
+ <view>鑷敱椤癸細{{item.containerCode}}</view>
+ <view>瑙勬牸锛歿{item.specs}}</view>
+ <view>鎵瑰彿锛歿{item.batch}}</view>
+ <view>搴撳瓨鏁伴噺锛歿{item.count}}</view>
<view class="detl-threeCode" style="display: flex;padding: 32rpx 0;align-items: center;font-size: 24px;">
- <view>鍑哄簱鏁伴噺锛歿{data.anfme}}</view>
- <view style="margin-left: 50rpx;" @click="revise()">
+ <view>鍑哄簱鏁伴噺锛歿{item.anfme}}</view>
+ <view style="margin-left: 50rpx;" @click="revise(item)">
<uni-icons type="compose" size="30" color="#fff"></uni-icons>
</view>
</view>
<view class="detl-threeCode" style="display: flex;padding: 0 0 32rpx 0;font-size: 24px;">鍑哄簱绔欙細
- <view class="dropdown" @click="toggleDropdown(data)">
- <input type="text" style="width: 270rpx;font-size: 20px;" v-model="data.agvStaNo" placeholder="璇烽�夋嫨鍑哄簱绔�" placeholder-style="color: #fff">
- <uni-icons :type="data.isOpen ? 'top' : 'bottom'" color="#fff" style="margin-left: 10rpx;"></uni-icons>
- <scroll-view scroll-y="ture" class="dropdown-content" v-if="data.isOpen">
- <view class="dropdown-item" v-for="option in data.agvStaNos" @click="selected(option,data)">{{option}}</view>
+ <view class="dropdown" @click="toggleDropdown(item)">
+ <!-- <view style="height: 100%;width: 100%; position: fixed;background-color: rgba(0,0,0,.4);left:0;top:0" v-if = "item.isOpen"></view> -->
+ <input type="text" style="width: 270rpx;font-size: 20px;" v-model="item.agvStaNo" placeholder="璇烽�夋嫨鍑哄簱绔�" placeholder-style="color: #fff">
+ <uni-icons :type="item.isOpen ? 'top' : 'bottom'" color="#fff" style="margin-left: 10rpx;"></uni-icons>
+ <scroll-view scroll-y="ture" class="dropdown-content" v-if="item.isOpen">
+ <view class="dropdown-item" v-for="option in options" @click="selected(option,item)">{{option}}</view>
</scroll-view>
</view>
</view>
+ <button @click="combConfirm(item)" :disabled="combDis">绔嬪嵆鍑哄簱</button>
</view>
</view>
<!-- 寮圭獥 -->
@@ -37,7 +38,7 @@
<view class="title">鍑哄簱鏁伴噺</view>
<view class="popup-item">
<view>
- <uni-number-box :value="data.anfme" :step='1' :min="0" :max="count" color="#747474" @change="changeValue" />
+ <uni-number-box :value="data.anfme" :step='1' :min="0" :max="maxCount" color="#747474" @change="changeValue" />
</view>
</view>
@@ -54,11 +55,12 @@
</view>
</uni-popup>
</view>
+ <view style="height: 100rpx;"></view>
<!-- 搴曢儴鎿嶄綔鎸夐挳 -->
- <view class="buttom">
+ <!-- <view class="buttom">
<button size="mini" @click="reset('warn')">绋嶅悗澶勭悊</button>
<button size="mini" type="primary" @click="combConfirm('warn')" :disabled="combDis">绔嬪嵆鍑哄簱</button>
- </view>
+ </view> -->
</view>
</template>
@@ -69,9 +71,12 @@
baseUrl: '',
token: '',
data: {},
+ dataList: [],
option: '',
- count: 0,
- combDis: false
+ options: [],
+ combDis: false,
+ maxCount: 0,
+ orderType: ''
}
},
onShow() {
@@ -81,17 +86,31 @@
// const eventChannel = this.$scope.eventChannel; // 鍏煎APP-NVUE
const eventChannel = this.getOpenerEventChannel();
// 鐩戝惉acceptDataFromOpenerPage浜嬩欢锛岃幏鍙栦笂涓�椤甸潰閫氳繃eventChannel浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
- eventChannel.on('mat', function(data) {
- let ids = [data.mat.id]
- _this.getPakoutList(ids,data.mat.locNo)
+ // eventChannel.on('mat', function(data) {
+ // let ids = [data.mat.id]
+ // _this.getPakoutList(ids,data.mat.locNo)
+ // })
+ eventChannel.on('item', function(data) {
+ let ids = [data.item.id]
+ _this.getPakoutList(ids)
+ })
+ eventChannel.on('type', function(data) {
+ console.log(data);
+ if (data) {
+ _this.orderType = data.type
+ }
})
},
methods: {
max() {
- this.data.anfme = this.count
+ this.data.anfme = this.data.count
},
toggleDropdown(item) {
+ this.options = []
item.isOpen = !item.isOpen;
+ for (let k of item.agvStaNos) {
+ this.options.push(k)
+ }
},
selected(option,item) {
item.agvStaNo = option
@@ -106,26 +125,18 @@
method: 'POST',
success(res) {
res = res.data
- console.log(res);
if (res.code === 200) {
for (let k of res.data) {
- if (locNo == k.locNo) {
+ if (k.locNo != null) {
k['isOpen'] = false
- _this.count = k.anfme
- // k.anfme = 0
- switch (k.processSts) {
- case 1:
- k["processSts$"] = "寰呭姞宸�"
- break;
- case 2:
- k["processSts$"] = "宸插姞宸�"
- break;
- case 3:
- k["processSts$"] = "鏃犻渶鍔犲伐"
- break;
+ k['count'] = k.anfme
+ k.anfme = 0
+ if (_this.orderType == 'bcp') {
+ if (k.locNo.substring(k.locNo.length - 1, k.locNo.length) == 1) {
+ continue
+ }
}
- _this.data = k
- return
+ _this.dataList.push(k)
}
}
} else if (res.code == 403) {
@@ -137,12 +148,14 @@
}
})
},
- revise() {
+ revise(item) {
+ this.data = item
+ this.maxCount = item.count
this.$refs.addItem.open()
},
addClose() {
this.$refs.addItem.close()
- // this.data.anfme = 0
+ this.data.anfme = 0
},
addConfirm() {
this.$refs.addItem.close()
@@ -150,7 +163,7 @@
changeValue(value) {
this.data.anfme = value
},
- combConfirm() {
+ combConfirm(item) {
let _this = this
_this.combDis = true
if (_this.data.anfme == 0) {
@@ -159,9 +172,9 @@
}
uni.showLoading({})
let combList = []
- combList.push(_this.data)
+ combList.push(item)
uni.request({
- url: `${_this.baseUrl}/process/out/pakout/auth`,
+ url: `${_this.baseUrl}/out/pakout/auth`,
header: {'token': uni.getStorageSync('token')},
data: combList,
method: 'POST',
diff --git a/pages/phyz/processOrder/orderCheck2.vue b/pages/phyz/processOrder/orderCheck2.vue
new file mode 100644
index 0000000..ffe43a2
--- /dev/null
+++ b/pages/phyz/processOrder/orderCheck2.vue
@@ -0,0 +1,274 @@
+<template>
+ <view>
+ <view class="list shop-car">
+ <view class="list-left">
+ <view class="detl-threeCode" style="padding: 16rpx 0;">{{data.csocode}}</view>
+ <view>搴撲綅锛歿{data.locNo}}</view>
+ <view>缂栧彿锛歿{data.matnr}}</view>
+ <view>鍚嶇О锛歿{data.maktx}}</view>
+ <view>鑷敱椤癸細{{data.containerCode}}</view>
+ <view>瑙勬牸锛歿{data.specs}}</view>
+ <view>鎵瑰彿锛歿{data.batch}}</view>
+ <view>宸ュ簭锛歿{data.processSts$}}</view>
+ <view>搴撳瓨鏁伴噺锛歿{count}}</view>
+ <view class="detl-threeCode" style="display: flex;padding: 32rpx 0;align-items: center;font-size: 24px;">
+ <view>鍑哄簱鏁伴噺锛歿{data.anfme}}</view>
+ <view style="margin-left: 50rpx;" @click="revise()">
+ <uni-icons type="compose" size="30" color="#fff"></uni-icons>
+ </view>
+ </view>
+
+ <view class="detl-threeCode" style="display: flex;padding: 0 0 32rpx 0;font-size: 24px;">鍑哄簱绔欙細
+ <view class="dropdown" @click="toggleDropdown(data)">
+ <input type="text" style="width: 270rpx;font-size: 20px;" v-model="data.agvStaNo" placeholder="璇烽�夋嫨鍑哄簱绔�" placeholder-style="color: #fff">
+ <uni-icons :type="data.isOpen ? 'top' : 'bottom'" color="#fff" style="margin-left: 10rpx;"></uni-icons>
+ <scroll-view scroll-y="ture" class="dropdown-content" v-if="data.isOpen">
+ <view class="dropdown-item" v-for="option in data.agvStaNos" @click="selected(option,data)">{{option}}</view>
+ </scroll-view>
+ </view>
+ </view>
+ </view>
+ </view>
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="addItem" type="dialog">
+ <view class="popup">
+ <!-- 鏍囬 -->
+ <view class="title">鍑哄簱鏁伴噺</view>
+ <view class="popup-item">
+ <view>
+ <uni-number-box :value="data.anfme" :step='1' :min="0" :max="count" color="#747474" @change="changeValue" />
+ </view>
+
+ </view>
+ <view class="popup-item">
+ <view>
+ <view @click="max()" style="padding: 0rpx 16rpx;background-color: #d9d9d9;font-size: 10px;">MAX</view>
+ </view>
+
+ </view>
+ <view class="btn">
+ <view class="btn-left" @click="addClose">鍙栨秷</view>
+ <view class="btn-right" @click="addConfirm()">纭</view>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+ <!-- 搴曢儴鎿嶄綔鎸夐挳 -->
+ <view class="buttom">
+ <button size="mini" @click="reset('warn')">绋嶅悗澶勭悊</button>
+ <button size="mini" type="primary" @click="combConfirm('warn')" :disabled="combDis">绔嬪嵆鍑哄簱</button>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ baseUrl: '',
+ token: '',
+ data: {},
+ option: '',
+ count: 0,
+ combDis: false
+ }
+ },
+ onShow() {
+ let _this = this
+ this.baseUrl = uni.getStorageSync('baseUrl');
+ this.token = uni.getStorageSync('token');
+ // const eventChannel = this.$scope.eventChannel; // 鍏煎APP-NVUE
+ const eventChannel = this.getOpenerEventChannel();
+ // 鐩戝惉acceptDataFromOpenerPage浜嬩欢锛岃幏鍙栦笂涓�椤甸潰閫氳繃eventChannel浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+ eventChannel.on('mat', function(data) {
+ let ids = [data.mat.id]
+ _this.getPakoutList(ids,data.mat.locNo)
+ })
+ },
+ methods: {
+ max() {
+ this.data.anfme = this.count
+ },
+ toggleDropdown(item) {
+ item.isOpen = !item.isOpen;
+ },
+ selected(option,item) {
+ item.agvStaNo = option
+ },
+ // 璁㈠崟鏄庣粏
+ getPakoutList(ids,locNo) {
+ let _this = this
+ uni.request({
+ url: `${_this.baseUrl}/out/pakout/preview/auth`,
+ header: {'token': uni.getStorageSync('token')},
+ data: ids,
+ method: 'POST',
+ success(res) {
+ res = res.data
+ console.log(res);
+ if (res.code === 200) {
+ for (let k of res.data) {
+ if (locNo == k.locNo) {
+ k['isOpen'] = false
+ _this.count = k.anfme
+ // k.anfme = 0
+ switch (k.processSts) {
+ case 1:
+ k["processSts$"] = "寰呭姞宸�"
+ break;
+ case 2:
+ k["processSts$"] = "宸插姞宸�"
+ break;
+ case 3:
+ k["processSts$"] = "鏃犻渶鍔犲伐"
+ break;
+ }
+ _this.data = k
+ return
+ }
+ }
+ } else if (res.code == 403) {
+ uni.showToast({ title: res.msg, icon: "error", position: 'top' })
+ setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
+ } else {
+ uni.showToast({ title: res.msg, icon: "error", position: 'top' })
+ }
+ }
+ })
+ },
+ revise() {
+ this.$refs.addItem.open()
+ },
+ addClose() {
+ this.$refs.addItem.close()
+ // this.data.anfme = 0
+ },
+ addConfirm() {
+ this.$refs.addItem.close()
+ },
+ changeValue(value) {
+ this.data.anfme = value
+ },
+ combConfirm() {
+ let _this = this
+ _this.combDis = true
+ if (_this.data.anfme == 0) {
+ uni.showToast({ title: '鍑哄簱鏁伴噺涓嶈兘涓�0锛�', icon: "error", position: 'top'})
+ return
+ }
+ uni.showLoading({})
+ let combList = []
+ combList.push(_this.data)
+ uni.request({
+ url: `${_this.baseUrl}/process/out/pakout/auth`,
+ header: {'token': uni.getStorageSync('token')},
+ data: combList,
+ method: 'POST',
+ success(res) {
+ _this.combDis = false
+ res = res.data
+ if (res.code === 200) {
+ uni.hideLoading({})
+ uni.showToast({ title: '鍑哄簱鎴愬姛', icon: "success", position: 'top'})
+ setTimeout(()=> {
+ uni.navigateBack({
+ delta: 2
+ });
+ },700)
+ } else if (res.code == 403) {
+ uni.showToast({ title: res.msg, icon: "error", position: 'top' })
+ setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000);
+ } else {
+ uni.showToast({ title: res.msg, icon: "error", position: 'top' })
+ }
+ },
+ fail(res) {
+ _this.combDis = false
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style scoped>
+ @import url('../../../static/css/common/order.css');
+ .shop-car {
+ background-color: #2299ff;
+ color: #fff;
+ }
+ .detl-threeCode {
+ font-size: 34px;
+ font-weight: bold;
+ }
+ .dropdown-item {
+ font-size: 20px;
+ font-weight: bold;
+ }
+
+ .popup {
+ width: 80vw;
+ min-height: 100rpx;
+ background-color: #FFF;
+ border-radius: 25rpx;
+ position: relative;
+ }
+ .title {
+ height: 100rpx;
+ line-height: 100rpx;
+ width: 100%;
+ color: #606266;
+ text-align: center;
+ font-size: 16px;
+ }
+ .popup-item {
+ height: 80rpx;
+ line-height: 80rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ .popup-item-left {
+ width: 16vw;
+ padding-right: 20rpx;
+ text-align: right;
+ color: #606266;
+ }
+ .popup-item-right {
+ display: flex;
+ align-items: center;
+ width: 50vw;
+ height: 50rpx;
+ padding: 2px 5px;
+ border: 1px solid #E4E7ED;
+ border-radius: 5rpx;
+ }
+ .popup-item-right input{
+ color: #606266;
+ }
+ .btn {
+ display: flex;
+ height: 90rpx;
+ margin-top: 20rpx;
+ border-top: 1px solid #DCDFE6;
+ justify-content: center;
+ align-items: center;
+ }
+ .btn-left {
+ display: flex;
+ flex: 1;
+ height: 100%;
+ justify-content: center;
+ align-items: center;
+ color: #606266;
+ border-right: 1px solid #DCDFE6;
+ }
+ .btn-right {
+ display: flex;
+ flex: 1;
+ justify-content: center;
+ align-items: center;
+ color: #409EFF;
+ }
+</style>
diff --git a/pages/phyz/processOrder/processOrder.vue b/pages/phyz/processOrder/processOrder.vue
index 524cb53..76052e3 100644
--- a/pages/phyz/processOrder/processOrder.vue
+++ b/pages/phyz/processOrder/processOrder.vue
@@ -203,7 +203,7 @@
}
let _this = this
uni.navigateTo({
- url: './processList',
+ url: './orderCheck',
success(res) {
res.eventChannel.emit('item', {
item: item
--
Gitblit v1.9.1