From 39c8ffa96f2046168e71501c480b1e66114c0db8 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期二, 03 九月 2024 08:06:58 +0800 Subject: [PATCH] # --- pages/home/locMastManage.vue | 7 pages.json | 21 + pages/phyz/checkLocDetl/locDetl2.vue | 350 +++++++++++++++++++ pages/phyz/checkLocDetl/locDetlList2.vue | 301 ++++++++++++++++ pages/phyz/checkLocDetl/checkLocDetl2.vue | 342 +++++++++++++++++++ 5 files changed, 1,021 insertions(+), 0 deletions(-) diff --git a/pages.json b/pages.json index 3ac7ed0..98bf99d 100644 --- a/pages.json +++ b/pages.json @@ -427,6 +427,27 @@ { "navigationBarTitleText" : "寰呭寘瑁呭嚭搴撳崟" } + }, + { + "path" : "pages/phyz/checkLocDetl/checkLocDetl2", + "style" : + { + "navigationBarTitleText" : "搴撲綅鐩樼偣" + } + }, + { + "path" : "pages/phyz/checkLocDetl/locDetl2", + "style" : + { + "navigationBarTitleText" : "搴撳瓨鏄庣粏" + } + }, + { + "path" : "pages/phyz/checkLocDetl/locDetlList2", + "style" : + { + "navigationBarTitleText" : "搴撳瓨鏄庣粏" + } } ], "globalStyle": { diff --git a/pages/home/locMastManage.vue b/pages/home/locMastManage.vue index 9defcce..6f95c52 100644 --- a/pages/home/locMastManage.vue +++ b/pages/home/locMastManage.vue @@ -33,6 +33,13 @@ url: `/phyz/checkLocDetl/checkLocDetl` }, { + title: '搴撲綅鐩樼偣', + name: 'checkLocDetl', + color: 'blue', + // cuIcon: 'pullup', + url: `/phyz/checkLocDetl/checkLocDetl2` + }, + { title: '绉诲簱', name: 'locMove', color: 'blue', diff --git a/pages/phyz/checkLocDetl/checkLocDetl2.vue b/pages/phyz/checkLocDetl/checkLocDetl2.vue new file mode 100644 index 0000000..31e9c1d --- /dev/null +++ b/pages/phyz/checkLocDetl/checkLocDetl2.vue @@ -0,0 +1,342 @@ +<template> + <view> + <view class="code"> + <uni-search-bar v-model="searchValue1" + maxlength="500" ancel="cancel" @confirm="searchValueInput1()" @clear="clearVal" placeholder="杈撳叆 / 鎵弿 璐ф灦鐮�"> + </uni-search-bar> + <view style="display: flex;padding: 10rpx 20rpx;"> + <view class="dropdown"> + <input type="text" style="flex: 1;" v-model="row1" placeholder="鎺�" placeholder-style="font-size:10px" @confirm="getLocMastList('')"> + <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('row1')"></uni-icons> + </view> + <view class="dropdown"> + <input type="text" style="flex: 1;" v-model="bay1" placeholder="鍒�" placeholder-style="font-size:10px" @confirm="getLocMastList('')"> + <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('bay1')"></uni-icons> + </view> + <view class="dropdown"> + <input type="text" style="flex: 1;" v-model="lev1" placeholder="灞�" placeholder-style="font-size:10px" @confirm="getLocMastList('')"> + <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('lev1')"></uni-icons> + </view> + <view class="dropdown"> + <input type="text" style="flex: 1;" v-model="floor" placeholder="妤煎眰" placeholder-style="font-size:10px" @confirm="getLocMastList('')"> + <uni-icons type="close" color="#c1c1c1" style="margin-left: 10rpx;" @click="clear('floor')"></uni-icons> + </view> + </view> + </view> + + + <view class="list list-font-color" :class="locMast.color" v-for="(locMast,index) in dataList" :key="index"> + <view class="list-left"> + <view class="detl-threeCode">{{locMast.locNo}}</view> + <view>搴撲綅鐘舵�侊細{{locMast.locSts$}}</view> + <view>搴撲綅绫诲瀷锛歿{locMast.locType1$}}</view> + <view>璐ф灦鐮侊細{{locMast.barcode}}</view> + <view style="display: flex;"> + <view style="flex:1">鎺掞細<text style="font-size: 22px;font-weight: bold;">{{locMast.row1}}</text></view> + <view style="flex:1">鍒楋細<text style="font-size: 22px;font-weight: bold;">{{locMast.bay1}}</text></view> + <view style="flex:1">灞傦細<text style="font-size: 22px;font-weight: bold;">{{locMast.lev1}}</text></view> + </view> + </view> + <view class="list-right" @click="goToLocDetl(locMast)"> + <uni-icons type="right" size="25" color="#fff"></uni-icons> + </view> + </view> + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="check" 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="barcode"></view> + </view> + <view class="btn"> + <view class="btn-left" @click="checkClose">鍙栨秷</view> + <view class="btn-right" @click="checkConfirm()">纭</view> + </view> + </view> + </uni-popup> + </view> + + </view> +</template> + +<script> + export default { + data() { + return { + searchValue1: '', + baseUrl: '', + token: '', + barcode: '', + locNo: '123123', + row1: '', + bay1: '', + lev1: '', + floor: '', + dataList: [], + item: '' + } + }, + onShow() { + this.baseUrl = uni.getStorageSync('baseUrl'); + this.token = uni.getStorageSync('token'); + if (uni.getStorageSync('lev1')) { + // this.lev1 = uni.getStorageSync('lev1'); + } else { + this.lev1 = '' + } + + this.getLocMastList() + this.barcode = '' + }, + methods: { + clear(e) { + switch (e) { + case 'row1': + setTimeout(() => { + this.row1 = '' + this.getLocMastList('') + }, 100); + break; + case 'bay1': + setTimeout(() => { + this.bay1 = '' + this.getLocMastList('') + }, 100); + + break; + case 'lev1': + setTimeout(() => { + this.lev1 = '' + this.getLocMastList('') + }, 100); + break; + case 'floor': + setTimeout(() => { + this.floor = '' + this.getLocMastList('') + }, 100); + break; + } + }, + clearVal() { + this.getLocMastList('') + }, + searchValueInput1() { + setTimeout(() => { + this.row1 = '' + this.bay1 = '' + this.lev1 = '' + this.floor = '' + this.getLocMastList(this.searchValue1) + }, 100); + }, + getLocMastList(barcode) { + let _this = this + // uni.setStorageSync('lev1', this.lev1); + this.dataList = [] + uni.request({ + url: `${_this.baseUrl}/agv/locMast/list/auth`, + header: {'token': uni.getStorageSync('token')}, + data: { + curr: 1, + limit: 100, + row1: _this.row1, + bay1: _this.bay1, + lev1: _this.lev1, + floor: _this.floor, + barcode: barcode + }, + method: 'GET', + success(res) { + res = res.data + if (res.code === 200) { + for (let k of res.data.records) { + if (k.locSts == 'F') { + k['color'] = 'locSts-F' + } else if (k.locSts == 'D') { + k['color'] = 'locSts-D' + } else if (k.locSts == 'O') { + k['color'] = 'locSts-O' + } else if (k.locSts == 'R') { + k['color'] = 'locSts-R' + } else if (k.locSts == 'S') { + k['color'] = 'locSts-S' + } else if (k.locSts == 'X') { + k['color'] = 'locSts-X' + } else if (k.locSts == 'Q') { + k['color'] = 'locSts-Q' + } else if (k.locSts == 'P') { + k['color'] = 'locSts-P' + } else if (k.locSts == 'X') { + k['color'] = 'locSts-X' + } + } + _this.dataList = res.data.records + } 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' }) + } + } + }) + }, + goToLocDetl(e) { + this.locNo = e.locNo + this.item = e + if (e.locSts == 'S' || e.locSts == 'R') { + uni.showToast({ title: '褰撳墠搴撲綅鍦ㄤ綔涓�', icon: "error", position: 'top' }) + return + } + this.$refs.check.open() + }, + checkClose() { + this.$refs.check.close() + }, + checkConfirm() { + let _this = this + let param = { + barcode : _this.barcode, + locNo : _this.locNo, + item: _this.item + } + uni.navigateTo({ + url: "./locDetl2", + success: function(res) { + _this.$refs.check.close() + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 + res.eventChannel.emit('item', { + item: param + }) + }, + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨� + acceptDataFromOpenedPage: function(data) { + _this.$refs.check.close() + _this.getLocMastList() + } + }, + }); + } + + } + } +</script> + +<style> + @import url('../../../static/css/common/order.css'); + .detl-threeCode { + font-size: 28px; + font-weight: bold; + } + .list-font-color { + color: #fff; + /* background-color: #2299ff; */ + } + .dropdown { + border: 1px solid #a7a7a7; + border-radius: 8rpx; + margin: 2px; + padding: 6px; + } + .dropdown:first-child { + margin-left: 2px; + } + .dropdown:last-child { + margin-right: 2px; + } + .locSts-F { + background-color: #d82f2f; + } + .locSts-D { + background-color: #daad25; + } + .locSts-O { + background-color: #55aaff; + } + .locSts-R { + background-color: #aaaaff; + } + .locSts-S { + background-color: #d86d66; + } + .locSts-P { + background-color: #ffaa00; + } + .locSts-Q { + background-color: #47a301; + } + .locSts-X { + background-color: #767676; + } + + .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 { + position: relative; + height: 80rpx; + line-height: 80rpx; + display: flex; + align-items: center; + font-size: 14px; + } + .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/checkLocDetl/locDetl2.vue b/pages/phyz/checkLocDetl/locDetl2.vue new file mode 100644 index 0000000..4ee29b7 --- /dev/null +++ b/pages/phyz/checkLocDetl/locDetl2.vue @@ -0,0 +1,350 @@ +<template> + <view> + <view style="padding: 16rpx 32rpx;font-size: 20px;font-weight: bold;"> + <view>褰撳墠搴撲綅鍙凤細{{locNo}}</view> + <view>褰撳墠璐ф灦鐮侊細{{barcode}}</view> + </view> + <view class="list locSts-O"> + <view class="list-left"> + <view>瀹為檯搴撳瓨</view> + <view>搴撲綅鍙凤細{{containerDetl.locNo}}</view> + <view>璐ф灦鐮侊細{{containerDetl.barcode}}</view> + <view>搴撳瓨鍝佺被锛歿{containerDetl.count}}</view> + </view> + <view class="list-right" @click="goToLocDetl(containerDetl)"> + <uni-icons type="right" size="25" color="#fff"></uni-icons> + </view> + </view> + + <view class="list locSts-D" v-if="locDetlShow"> + <view class="list-left"> + <view>鏁版嵁搴撳瓨</view> + <view>搴撲綅鍙凤細{{locDetl.locNo}}</view> + <view>璐ф灦鐮侊細{{locDetl.barcode}}</view> + <view>搴撳瓨鍝佺被锛歿{locDetl.count}}</view> + </view> + <view class="list-right" @click="goToLocDetl(locDetl)"> + <uni-icons type="right" size="25" color="#fff"></uni-icons> + </view> + </view> + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="chageDetl" type="dialog"> + <view class="popup"> + <!-- 鏍囬 --> + <view class="title">淇敼搴撲綅鐘舵��</view> + <view class="popup-item"> + <view class="dropdown" @click="toggleDropdown()"> + <input type="text" style="width: 270rpx;" v-model="locSts" placeholder="鏇存敼涓�"> + <uni-icons :type="isOpen ? 'top' : 'bottom'" color="#c1c1c1" style="margin-left: 10rpx;"></uni-icons> + <scroll-view scroll-y="ture" class="dropdown-content" v-if="isOpen"> + <view class="dropdown-item" v-for="option in locStss" @click="selected(option)">{{option.title}}</view> + </scroll-view> + </view> + </view> + <view class="btn"> + <button class="btn-left" @click="changeClose()">鍙栨秷</button> + <button class="btn-right" @click="changeCount()" :disabled="changeDis">淇敼</button> + </view> + </view> + </uni-popup> + </view> + + <!-- 搴曢儴鎿嶄綔鎸夐挳 --> + <!-- <view class="buttom"> + <button size="mini" type="primary" @click="changeSts('warn')">鏇存敼搴撲綅鐘舵��</button> + <button size="mini" type="primary" @click="changeStart('warn')" :disabled="changeStartDis">绾犳搴撲綅</button> + </view> --> + </view> +</template> + +<script> + export default { + data() { + return { + baseUrl: '', + token: '', + locNo: '', + barcode: '', + containerDetl: { + locNo: '', + barcode: '', + count: '', + data: [] + }, + locDetl: { + locNo: '', + barcode: '', + count: '', + data: [] + }, + dataList: [], + locDetlShow: true, + isOpen: false, + locSts: '', + locSts2: '', + locStss: [ + {title: 'F.鍦ㄥ簱',val: 'F'}, + {title: 'D.绌烘《/绌烘爤鏉�',val: 'D'}, + {title: 'O.绌哄簱浣�',val: 'O'}, + {title: 'X.绂佺敤',val: 'X'}, + ], + sourceLoc: '', + changeDis: false, + changeStartDis: 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('item', function(data) { + console.log(data); + _this.locNo = data.item.locNo + _this.barcode = data.item.barcode + _this.sourceLoc = data.item.item + console.log(_this.sourceLoc); + _this.getLocDetl(data.item.locNo,data.item.barcode) + }) + }, + methods: { + getLocDetl(locNo,barcode) { + let _this = this + let param = {locNo:locNo,containerCode: barcode} + uni.request({ + url: `${_this.baseUrl}/agvMobile/check/detl/v1`, + header: {'token': uni.getStorageSync('token')}, + data: param, + method: 'POST', + success(res) { + res = res.data + console.log(res); + if (res.code === 200) { + if (res.data.containerCode.length > 0) { + _this.dataList = res.data.containerCode + if (res.data.containerCode[0].locNo) { + _this.containerDetl.locNo = res.data.containerCode[0].locNo + _this.containerDetl.barcode = res.data.containerCode[0].suppCode + _this.containerDetl.count = res.data.containerCode.length + _this.containerDetl.data = res.data.containerCode + } + } + + + if (res.data.locNo.length > 0) { + _this.locDetl.locNo = res.data.locNo[0].locNo + _this.locDetl.barcode = res.data.locNo[0].suppCode + _this.locDetl.count = res.data.locNo.length + _this.locDetl.data = res.data.locNo + } + + + } 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' }) + } + } + }) + }, + goToLocDetl(item) { + let _this = this + if (item.data.length <= 0) { + uni.showToast({ title: '娌℃湁搴撳瓨', icon: "error", position: 'top' }) + return + } + uni.navigateTo({ + url: "./locDetlList2", + success: function(res) { + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 + res.eventChannel.emit('item', { + item: item + }) + }, + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨� + acceptDataFromOpenedPage: function(data) { + _this.getLocDetl(_this.locNo,_this.barcode) + } + }, + }); + }, + toggleDropdown() { + this.isOpen = !this.isOpen; + }, + changeSts() { + this.$refs.chageDetl.open() + }, + selected(option) { + this.locSts = option.title + this.locSts2 = option.val + }, + changeClose() { + this.$refs.chageDetl.close() + }, + changeCount() { + let _this = this + _this.sourceLoc.locSts = this.locSts2 + let barcode = _this.barcode + if (this.locSts2 == 'O') { + barcode = '' + } + let param = { + locNo: _this.sourceLoc.locNo, + locSts: _this.sourceLoc.locSts, + barcode: _this.barcode, + row1: _this.sourceLoc.row1, + bay1: _this.sourceLoc.bay1, + lev1: _this.sourceLoc.lev1, + floor: _this.sourceLoc.floor + } + Object.keys(_this.sourceLoc).forEach(function(key){ + if (_this.sourceLoc[key] == null) { + _this.sourceLoc[key] = '' + } + }) + _this.changeDis = true + uni.request({ + url: `${_this.baseUrl}/agv/locMast/update/auth`, + header: { + 'token': uni.getStorageSync('token'), + 'content-type': 'application/x-www-form-urlencoded' + }, + data: param, + method: 'POST', + success(res) { + res = res.data + _this.changeDis = false + if (res.code === 200) { + uni.showToast({ title: res.msg, icon: "success", position: 'top' }) + _this.$refs.chageDetl.close() + setTimeout(()=> { + uni.navigateBack() + },1000) + } 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.changeDis = false + } + }) + }, + changeStart() { + let _this = this + _this.changeStartDis = true + let param = {locNo:_this.locNo,containerCode: _this.barcode} + uni.request({ + url: `${_this.baseUrl}/agvMobile/update/detl/v1`, + header: { 'token': uni.getStorageSync('token')}, + data: param, + method: 'POST', + success(res) { + res = res.data + _this.changeStartDis = false + if (res.code === 200) { + uni.showToast({ title: res.msg, icon: "success", position: 'top' }) + _this.$refs.chageDetl.close() + setTimeout(()=> { + uni.navigateBack() + },1000) + } 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.changeStartDis = false + } + }) + } + } + } +</script> + +<style> + @import url('../../../static/css/common/order.css'); + .locSts-D { + color: #FFF; + background-color: #daad25; + } + .locSts-O { + color: #FFF; + background-color: #55aaff; + } + .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: #e2231a; + 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/checkLocDetl/locDetlList2.vue b/pages/phyz/checkLocDetl/locDetlList2.vue new file mode 100644 index 0000000..fa489ba --- /dev/null +++ b/pages/phyz/checkLocDetl/locDetlList2.vue @@ -0,0 +1,301 @@ +<template> + <view> + <view style="padding: 16rpx 32rpx;font-size: 20px;font-weight: bold;"> + <view>褰撳墠搴撲綅鍙凤細{{locNo}}</view> + <view>褰撳墠璐ф灦鐮侊細{{barcode}}</view> + </view> + <view class="list list-font-color" :class="locDetl.color" v-for="(locDetl,index) in dataList" :key="index"> + <view class="list-left"> + <view>閿�鍞鍗曞彿锛歿{locDetl.threeCode}}</view> + <view>涓昏鍗曞彿锛歿{locDetl.orderNo}}</view> + <view>鍟嗗搧缂栫爜锛歿{locDetl.matnr}}</view> + <view>鍟嗗搧鍚嶇О锛歿{locDetl.maktx}}</view> + <view>宸ュ簭锛歿{locDetl.processSts$}}</view> + <view>搴撳瓨锛歿{locDetl.count}}</view> + </view> + <!-- <view class="list-right" @click="chageDetl(index)"> + <uni-icons type="settings" size="25" color="#fff"></uni-icons> + </view> --> + </view> + <!-- <view style="height: 100rpx;display: flex;align-items: center;justify-content: center;" @click="add()"> + <uni-icons type="folder-add" size="25" color="#000" style="padding-right: 20rpx;"></uni-icons> 娣诲姞鐗╂枡 + </view> --> + + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="chageDetl" type="dialog"> + <view class="popup"> + <!-- 鏍囬 --> + <view class="title">鍟嗗搧淇℃伅</view> + <view class="popup-item"> + <view style="width: 70px;">璁㈠崟鍙�</view> + <view style="margin-left: 20rpx;border-bottom: 1px solid #d8d8d8;"> <input type="text" v-model="orderNo"> </view> + </view> + <view class="popup-item"> + <view style="width: 70px;">閿�鍞崟鍙�</view> + <view style="margin-left: 20rpx;border-bottom: 1px solid #d8d8d8;"> <input type="text" v-model="threeCode"> </view> + </view> + <view class="popup-item"> + <view style="width: 70px;">宸ュ簭</view> + <uni-combox style="height: 20px;" :candidates="processSts$List" placeholder="璇烽�夋嫨宸ュ簭" v-model="processSts$"></uni-combox> + </view> + <view class="popup-item"> + <uni-number-box :value="count" :step='1' :max="9999999" color="#747474" @change="changeValue" /> + </view> + <view class="btn"> + <view class="btn-left" @click="remove()">绉婚櫎</view> + <view class="btn-right" @click="changeCount()">淇敼</view> + </view> + </view> + </uni-popup> + </view> + <!-- 搴曢儴鎿嶄綔鎸夐挳 --> + <!-- <view class="buttom"> + <button size="mini" type="primary" @click="adjust('warn')">璋冩暣搴撳瓨</button> + </view> --> + </view> +</template> + +<script> + export default { + data() { + return { + baseUrl: '', + token: '', + dataList: [], + count: '', + index: 0, + locNo: '', + barcode: '', + orderNo: '', + threeCode: '', + processSts$: '', + processSts$List: ['寰呭姞宸�','宸插姞宸�','鏃犻渶鍔犲伐'] + } + }, + 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('item', function(data) { + console.log(data); + _this.locNo = data.item.locNo + _this.barcode = data.item.barcode + for (let k of data.item.data) { + k['count'] = k.anfme + } + _this.dataList = data.item.data + }) + }, + methods: { + add() { + let _this = this + uni.navigateTo({ + url: "../mat/mat", + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨� + acceptDataFromOpenedPage: function(data) { + console.log(data.data); + setTimeout(()=> { + _this.findMat(data.data) + },100) + } + }, + }); + }, + findMat(mat) { + let _this = this + uni.navigateTo({ + url: "../mat/matSelected", + success: function(res) { + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 + res.eventChannel.emit('item', { + item: mat + }) + }, + events: { + matList: function(data) { + data.data.suppCode = _this.barcode + _this.checkMat(data.data) + }, + }, + }); + }, + 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.threeCode == this.dataList[j].threeCode) { + sameItem = true + } + } + // 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿 鏂板姞鍒楄〃 + if (mat.threeCode != this.dataList[i].threeCode) { + this.$forceUpdate() // 寮哄埗鍒锋柊 + if (sameItem) { + add = false + } else { + add = true + } + + } else { + // 鐩稿悓鐗╂枡鐩稿悓鎵瑰彿 鏁伴噺绱姞 + this.dataList[i].count += mat.count + this.$forceUpdate() // 寮哄埗鍒锋柊 + add = false + } + } + } + if (add) { + this.dataList.unshift(mat) + } + }, + chageDetl(index) { + this.index = index + this.count = this.dataList[index].count + this.threeCode = this.dataList[index].threeCode + this.orderNo = this.dataList[index].orderNo + this.processSts$ = this.dataList[index].processSts$ + this.$refs.chageDetl.open() + }, + // 淇敼鏁伴噺 + changeCount() { + this.dataList[this.index].count = this.count + this.dataList[this.index].threeCode = this.threeCode + this.dataList[this.index].orderNo = this.orderNo + this.dataList[this.index].processSts$ = this.processSts$ + switch(this.processSts$) { + case '寰呭姞宸�': + this.dataList[this.index].processSts = 1 + break; + case '宸插姞宸�': + this.dataList[this.index].processSts = 2 + break; + case '鏃犻渶鍔犲伐': + this.dataList[this.index].processSts = 3 + break; + } + this.$forceUpdate() // 寮哄埗鍒锋柊 + this.$refs.chageDetl.close() + }, + // 绉婚櫎鐗╂枡 + remove() { + this.dataList.splice(this.index, 1) + this.$refs.chageDetl.close() + }, + adjust() { + let _this = this + let param = { + locNo: _this.locNo, + list: _this.dataList + } + uni.request({ + url: `${_this.baseUrl}/agv/locDdetl/adjust/start`, + header: {'token': uni.getStorageSync('token')}, + data: param, + method: 'POST', + success(res) { + res = res.data + if (res.code == 200) { + uni.showToast({ title: res.msg, icon: "success", position: 'top' }) + _this.$refs.chageDetl.close() + _this.getOpenerEventChannel().emit('acceptDataFromOpenedPage', {data: this.mat}); + setTimeout(()=> { + uni.navigateBack() + },1000) + } 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' }) + } + } + }) + }, + changeValue(value) { + this.count = value + }, + } + } +</script> + +<style> + @import url('../../../static/css/common/order.css'); + .list-font-color { + color: #fff; + background-color: #2299ff; + } + .order-sts-start { + background-color: #3eb689; + } + .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: #e2231a; + border-right: 1px solid #DCDFE6; + } + .btn-right { + display: flex; + flex: 1; + justify-content: center; + align-items: center; + color: #409EFF; + } +</style> -- Gitblit v1.9.1