From 04839b0c8660e2ba4228a743edf8f784e2470d6c Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 19 二月 2025 09:21:12 +0800
Subject: [PATCH] #
---
pages/phyz/stationManage/stationDetl.vue | 1231 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 1,220 insertions(+), 11 deletions(-)
diff --git a/pages/phyz/stationManage/stationDetl.vue b/pages/phyz/stationManage/stationDetl.vue
index 7cfd868..01a5687 100644
--- a/pages/phyz/stationManage/stationDetl.vue
+++ b/pages/phyz/stationManage/stationDetl.vue
@@ -1,25 +1,326 @@
<template>
<view>
<!-- 绔欑偣璇︽儏 -->
- <view class="station" :class="station.style" >
- <view class="station-title">{{station.devNo}}</view>
+ <view class="station" :class="station.style" v-if="station">
+ <view class="mt-flex">
+ <view class="station-title" style="flex: 1;">{{station.devNo}}</view>
+ <view><button size="mini" :loading="reload.loading" @click="reloadStation()">{{reload.loadingText}}</button></view>
+ </view>
<view>绔欑偣绫诲瀷锛歿{station.locType1$}}鍖�</view>
<view>璐ф灦鍓嶄袱浣嶏細{{station.locType2$}}</view>
<view>绔欑偣鐘舵�侊細{{station.locSts$}}</view>
- <view>璐ф灦鐮侊細{{station.barcode}}</view>
+ <view class="mt-flex">
+ <view class="station-barcode" style="flex: 1">璐ф灦鐮侊細<text>{{station.barcode ? station.barcode : '--'}}</text></view>
+ <view v-if="station.barcode && station.locSts == 'F'">
+ <!-- <button size="mini" type="warn" @click="unbind()">瑙i櫎缁戝畾</button> -->
+ </view>
+ </view>
+ </view>
+
+
+ <!-- 宸ヤ綔妗� -->
+ <view class="wrkMast" v-if="wrkMast">
+ <view class="wrkMast-wrkNo">
+ <view style="flex:5">宸ヤ綔鍙�: {{wrkMast.wrkNo}}</view>
+ <view style="flex:3;text-align: right;">{{wrkMast.ioTitle}}</view>
+ </view>
+ <view>宸ヤ綔绫诲瀷: {{wrkMast.ioType$}}</view>
+ <view>宸ヤ綔鐘舵��: {{wrkMast.wrkSts$}}</view>
+ <view>婧愬簱浣�: {{wrkMast.sourceLocNo}}</view>
+ <view>璐ф灦鐮�: {{wrkMast.barcode}}</view>
+ <view v-if="wrkMast.ioType == 111">鐩爣妤煎眰: {{wrkMast.crnNo}}</view>
+ </view>
+
+ <!-- 鏄庣粏 -->
+ <view class="wrkDetls" v-if="wrkDetls.length > 0">
+ <view style="font-weight: bold;">宸ヤ綔鏄庣粏</view>
+ <view class="wrkDetl" v-for="wrkDetl in wrkDetls">
+ <view>鍟嗗搧鍚嶇О:{{wrkDetl.maktx}}</view>
+ <view>鍟嗗搧缂栫爜:{{wrkDetl.matnr}}</view>
+ <view>閿�鍞鍗曞彿:{{wrkDetl.threeCode ? wrkDetl.threeCode : ' --'}}</view>
+ <view>鑷敱椤�:{{wrkDetl.deadTime ? wrkDetl.deadTime : ' --'}}</view>
+ <view>浣滀笟鏁伴噺:{{wrkDetl.anfme}}</view>
+ </view>
+ </view>
+
+
+ <!-- 缁勬墭鏄庣粏 -->
+ <view class="waitPakins" v-if="waitPakins.length > 0">
+ <view style="font-weight: bold;">缁勬墭鏄庣粏</view>
+ <view class="waitPakin" v-for="waitPakin in waitPakins">
+ <view>鍟嗗搧鍚嶇О:{{waitPakin.maktx}}</view>
+ <view>鍟嗗搧缂栫爜:{{waitPakin.matnr}}</view>
+ <view>璁㈠崟缂栧彿:{{waitPakin.orderNo}}</view>
+ <view>閿�鍞鍗曞彿:{{waitPakin.threeCode ? waitPakin.threeCode : ' --'}}</view>
+ <view>鑷敱椤�:{{waitPakin.deadTime ? waitPakin.deadTime : ' --'}}</view>
+ <view>鐘舵��:{{waitPakin.ioStatus$}}</view>
+ <view>鍏ュ簱鏁伴噺:{{waitPakin.anfme}}</view>
+
+ </view>
+ </view>
+
+ <view style="height: 140rpx;"></view>
+
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="emptyPakin" 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">
+ <button class="btn-left" @click="emptyPakinClose">鍙栨秷</button>
+ <button class="btn-right" @click="emptyPakinConfirm()" :disabled="emptyPakinDis">绌烘灦鍏ュ簱</button>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="doBack" 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">
+ <button class="btn-left" @click="doBackClose">鍙栨秷</button>
+ <button class="btn-right" @click="doBackConfirm()" :disabled="doBackDis">閫�搴�</button>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="doContainerMoveOut" 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">
+ <button class="btn-left" @click="containerMoveOutClose">鍙栨秷</button>
+ <button class="btn-right" @click="containerMoveOut()" :disabled="containerMoveOutDis">纭鍑哄簱</button>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="doContainerMoveOut2" 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">
+ <button class="btn-left" @click="containerMoveOutClose">鍙栨秷</button>
+ <button class="btn-right" @click="containerMoveOut2()" :disabled="containerMoveOut2Dis">纭绂诲満</button>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="doPickIn" 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">
+ <button class="btn-left" @click="pickInClose">鍙栨秷</button>
+ <button class="btn-right" @click="pickIn()" :disabled="pickInDis">纭鎷f枡</button>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="emptyOut" type="dialog">
+ <view class="popup">
+ <!-- 鏍囬 -->
+ <view class="title">璇烽�夋嫨璐ф灦绫诲瀷</view>
+ <view class="popup-item">
+ <view class="dropdown" @click="toggleDropdown()">
+ <input type="text" style="width: 650rpx;" v-model="containerType" 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 selects" @click="selected(option)">{{option}}</view>
+ </scroll-view>
+ </view>
+ </view>
+ <view class="btn">
+ <button class="btn-left" @click="emptyOutClose">鍙栨秷</button>
+ <button class="btn-right" @click="emptyOutConfirm()" :disabled="emptyOutDis">鍑哄簱</button>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="allocationIn" 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">
+ <button class="btn-left" @click="allocationInClose">鍙栨秷</button>
+ <button class="btn-right" @click="allocationInConfirm()" :disabled="allocationInDis">纭杩涘満</button>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="allocationOut" 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="allocationOutClose">鍙栨秷</view>
+ <view class="btn-right" @click="allocationOutConfirm()" :disabled="allocationOutDis">纭绂诲満</view>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="empIn" 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">
+ <button class="btn-left" @click="empInClose">鍙栨秷</button>
+ <button class="btn-right" @click="empInConfirm()" :disabled="empInDis">纭杩涘満</button>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="empOut" 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">
+ <button class="btn-left" @click="empOutClose">鍙栨秷</button>
+ <button class="btn-right" @click="empOutConfirm()" :disabled="empOutDis">纭绂诲満</button>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+
+ <!-- 寮圭獥 -->
+ <view>
+ <uni-popup ref="process" 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">
+ <button class="btn-left" @click="processedClose">鍙栨秷</button>
+ <button class="btn-right" @click="processedConfirm()" :disabled="processedDis">鍔犲伐瀹屾垚</button>
+ </view>
+ </view>
+ </uni-popup>
+ </view>
+
+ <!-- 搴曢儴鎿嶄綔鎸夐挳 -->
+ <view class="buttom">
+ <button size="mini" :disabled="dis" type="warn" @click="doBack()" v-if="btnType == 'out' || btnType == 'pick'">閫�搴搟{sec}}</button>
+ <!-- <button size="mini" type="primary" @click="handBack()" v-if="btnType == 'handBack'">杞墜鍔�</button> -->
+ <!-- <button size="mini" type="warn" @click="doBack()" v-if="btnType == 'out' || btnType == 'pick'">閫�搴�</button> -->
+ <button size="mini" type="primary" @click="emptyPakin()" v-if="btnType == 'emptyPakin'">绌烘澘鍏ュ簱</button>
+ <button size="mini" type="primary" @click="emptyOut()" v-if="btnType == 'emptyPakin'">鍛煎彨绌烘澘</button>
+ <!-- <button size="mini" type="primary" @click="doContainerMoveOut2()" v-if="btnType == 'out'">璐ф灦绂诲満</button> -->
+ <button size="mini" type="primary" @click="doContainerMoveOut()" v-if="btnType == 'out'">纭鍑哄簱</button>
+ <button size="mini" type="primary" @click="doPickIn()" v-if="btnType == 'pick'">宸叉嫞鏂欏洖搴�</button>
+ <button size="mini" type="primary" @click="doPickIn2()" v-if="btnType == 'pick'">鍐嶆鎷f枡</button>
+ <button size="mini" type="primary" @click="startPakin()" v-if="btnType == 'start'">鍚姩鍏ュ簱</button>
+ <button size="mini" type="primary" @click="allocationOut()" v-if="btnType == 'allocationOut'">璋冩嫧绂诲満</button>
+ <button size="mini" type="primary" @click="allocationIn()" v-if="btnType == 'allocationIn'">璋冩嫧杩涘満</button>
+ <button size="mini" type="primary" @click="empOut()" v-if="btnType == 'empOut'">绌烘灦绂诲満</button>
+ <button size="mini" type="primary" @click="empIn()" v-if="btnType == 'empIn'">绌烘灦杩涘満</button>
+ <button size="mini" type="primary" @click="processed()" v-if="btnType == 'processed'">宸插姞宸ュ洖搴�</button>
</view>
</view>
</template>
<script>
+ import utils from '@/pages/phyz/utils/utils.js'
export default {
data() {
return {
+ baseUrl: '',
+ token: '',
station: null,
-
+ reload: {
+ loading: false,
+ loadingText: '鏇存柊鐘舵��'
+ },
+ btnType: 'emptyPakin',
+ barcode: '',
+ containerType: '',
+ selects: [],
+ option: '',
+ isOpen: false,
+ wrkMast: '',
+ wrkDetls: [],
+ waitPakins: [],
+ dis: true,
+ sec: '',
+ emptyPakinDis: false,
+ containerMoveOutDis: false,
+ containerMoveOut2Dis: false,
+ pickInDis: false,
+ emptyOutDis: false,
+ allocationInDis: false,
+ allocationOutDis:false,
+ empInDis: false,
+ empOutDis: false,
+ doBackDis: false,
+ processedDis: false
}
},
- onLoad() {
+ onShow() {
let _this = this
this.baseUrl = uni.getStorageSync('baseUrl');
this.token = uni.getStorageSync('token');
@@ -27,25 +328,796 @@
const eventChannel = this.getOpenerEventChannel();
// 鐩戝惉acceptDataFromOpenerPage浜嬩欢锛岃幏鍙栦笂涓�椤甸潰閫氳繃eventChannel浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
eventChannel.on('item', function(data) {
- console.log(data);
_this.station = data.item
+ _this.reloadStation()
})
+ setInterval(()=> {
+ let k = utils.checkSec()
+ // console.log(k);
+ if (k == 180) {
+ this.dis = false
+ this.sec = ''
+ } else {
+ this.dis = true
+ this.sec = k + "绉掑悗閲嶈瘯"
+ }
+ },1000)
+
+
},
methods: {
+ // 鏇存柊绔欑偣
+ reloadStation() {
+ let _this = this
+ _this.reload.loading = true
+ _this.reload.loadingText = '鏇存柊涓�...'
+ uni.request({
+ url: `${_this.baseUrl}/agv/basDevp/list/auth`,
+ header: {'token': uni.getStorageSync('token')},
+ data: { curr: 1, limit: 1000, dev_no: _this.station.devNo },
+ method: 'GET',
+ success(res) {
+ res = res.data
+ if (res.code === 200) {
+ if (res.data.records[0].locSts == 'O') {
+ if (res.data.records[0].devNo.substring(0, 2) == "DB") {
+ if (res.data.records[0].floor != 1) {
+ _this.btnType = 'allocationIn'
+ } else {
+ _this.btnType = 'empIn'
+ }
+ } else {
+ _this.btnType = 'emptyPakin'
+ }
+ } else if (res.data.records[0].locSts == 'F') {
+ _this.btnType = 'pakin'
+ } else {
+ _this.btnType = 'working'
+ }
+
+ setTimeout(()=>{
+ for (let k of res.data.records) {
+ if (k.locSts != 'O') {
+ k['style'] = 'station-wrk'
+ } else {
+ k['style'] = 'station-nowrk'
+ }
+ }
+ _this.station = res.data.records[0]
+ _this.reload.loading = false
+ _this.reload.loadingText = '鏇存柊鐘舵��'
+ _this.getContainerType()
+ },500)
+ _this.getWrkMast(res.data.records[0].barcode)
+ uni.showToast({ title: '鏇存柊鎴愬姛锛�', icon: "none", position: 'top' })
+ } 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' })
+ }
+ }
+ })
+ },
+ // 绔欑偣瑙g粦
+ unbind() {
+ let _this = this
+ let data = {param: JSON.stringify(_this.station)}
+ uni.request({
+ url: `${_this.baseUrl}/agv/basDevp/unbind/auth`,
+ header: {
+ 'token': uni.getStorageSync('token'),
+ 'content-type': 'application/x-www-form-urlencoded'
+ },
+ data: data,
+ method: 'POST',
+ success(res) {
+ res = res.data
+ if (res.code === 200) {
+ _this.reloadStation()
+ } 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' })
+ }
+ }
+ })
+ },
+ // 绌烘澘鍏ュ簱纭
+ emptyPakin() {
+ this.$refs.emptyPakin.open()
+ },
+ emptyPakinClose() {
+ this.$refs.emptyPakin.close()
+ this.emptyPakinDis = false
+ },
+ emptyPakinConfirm() {
+ let _this = this;
+ this.barcode = this.barcode.replace(/\s+/g, '')
+ _this.emptyPakinDis = true
+ if (this.barcode.length != 6) {
+ _this.emptyPakinDis = false
+ uni.showToast({ title: '璐ф灦鏉$爜寮傚父', icon: "error", position: 'top' })
+ return
+ }
+ let params = []
+ let param = { devNo: this.station.devNo, containerCode: this.barcode, }
+ params.push(param)
+ this.emptyPakinClose()
+ uni.request({
+ url: `${_this.baseUrl}/agvMobile/pakin/empty/auth`,
+ data: { pad: params },
+ method: 'POST',
+ header: { 'token': uni.getStorageSync('token') },
+ success(res) {
+ var res = res.data
+ _this.emptyPakinDis = false
+ if (res.code === 200) {
+ setTimeout(()=> {
+ _this.barcode = ''
+ _this.reloadStation()
+ },1000)
+ uni.showToast({ title: '鍚姩鍏ュ簱', icon: "success", position: 'top' })
+ } 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' })
+ }
+ setTimeout(()=> {
+
+ },100)
+ },
+ fail(res) {
+ _this.emptyPakinDis = false
+ }
+ });
+ },
+ emptyOut() {
+ this.$refs.emptyOut.open()
+ },
+ emptyOutClose() {
+ this.$refs.emptyOut.close()
+ },
+ emptyOutConfirm() {
+ this.emptyOutClose()
+ this.emptyOutDis = true
+ let _this = this;
+ let params = []
+ let param = { devNo: this.station.devNo, containerType: this.containerType, }
+ params.push(param)
+ uni.request({
+ url: `${_this.baseUrl}/agvMobile/pakout/empty/auth`,
+ data: { pad: params },
+ method: 'POST',
+ header: { 'token': uni.getStorageSync('token') },
+ success(res) {
+ var res = res.data
+ _this.emptyOutDis = false
+ if (res.code === 200) {
+ setTimeout(()=> {
+ _this.containerType = ''
+ _this.reloadStation()
+ },1000)
+ uni.showToast({ title: '鍛煎彨鎴愬姛', icon: "success", position: 'top' })
+ } 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.emptyOutDis = false
+ }
+ });
+ },
+ getContainerType() {
+ let _this = this
+ uni.request({
+ url: `${_this.baseUrl}/agvMobile/pakout/empty/container/selector/auth`,
+ header: {'token': uni.getStorageSync('token')},
+ data: JSON.stringify({devNo: _this.station.devNo}),
+ method: 'POST',
+ success(res) {
+ res = res.data
+ if (res.code === 200) {
+ _this.selects = res.data
+ } 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' })
+ }
+ }
+ })
+ },
+ // 寮�鍚� / 鍏抽棴涓嬫媺妗�
+ toggleDropdown() {
+ this.isOpen = !this.isOpen
+ },
+ // 閫夋嫨璐ф灦绫诲瀷
+ selected(option) {
+ this.containerType = option
+ },
+ // 鏌ヨ宸ヤ綔妗�
+ getWrkMast(barcode) {
+ let _this = this
+ uni.request({
+ url: `${_this.baseUrl}/agv/wrkMast/list/auth`,
+ header: {'token': uni.getStorageSync('token')},
+ data: {
+ curr: 1,
+ limit: 1000,
+ condition: _this.station.devNo
+ },
+ method: 'GET',
+ success(res) {
+ res = res.data
+ if (res.code === 200 && res.data.records.length > 0) {
+ let mast = null
+ for (let wrkMast of res.data.records) {
+ if (wrkMast.ioType == 1) {
+ wrkMast['ioTitle'] = '鍏ュ簱'
+ } else if (wrkMast.ioType == 10) {
+ wrkMast['ioTitle'] = '绌烘澘鍏ュ簱'
+ } else if (wrkMast.ioType == 53) {
+ wrkMast['ioTitle'] = '鎷f枡鍥炲簱'
+ } else if (wrkMast.ioType == 101) {
+ wrkMast['ioTitle'] = '鍏ㄦ澘鍑哄簱'
+ _this.btnType = 'out'
+ } else if (wrkMast.ioType == 103) {
+ wrkMast['ioTitle'] = '鎷f枡鍑哄簱'
+ _this.btnType = 'pick'
+ } else if (wrkMast.ioType == 107) {
+ wrkMast['ioTitle'] = '鍔犲伐鍑哄簱'
+ _this.btnType = 'processed'
+ } else if (wrkMast.ioType == 109) {
+ wrkMast['ioTitle'] = '鑷姩鍥炴祦'
+ _this.btnType = 'handBack'
+ } else if (wrkMast.ioType == 110) {
+ wrkMast['ioTitle'] = '绌烘澘鍑哄簱'
+ } else if (wrkMast.ioType == 111) {
+ wrkMast['ioTitle'] = '璋冩嫧鍑哄簱'
+ _this.btnType = 'allocationOut'
+ } else if (wrkMast.ioType == 112) {
+ wrkMast['ioTitle'] = '璋冩嫧鍏ュ簱'
+ _this.btnType = 'null'
+ } else if (wrkMast.ioType == 113) {
+ if (wrkMast.wrkSts == 212) {
+ wrkMast['ioTitle'] = '璐ф灦鍥炴祦'
+ _this.btnType = 'empOut'
+ }
+ }
+ if (wrkMast.barcode == barcode) {
+ mast = wrkMast
+ }
+ }
+
+ _this.wrkMast = mast
+ _this.getWrkDetl(mast.wrkNo)
+ } else if (res.code === 200 && res.data.records.length == 0) {
+ _this.wrkMast = null
+ _this.wrkDetls = []
+ if (_this.station.barcode != '') {
+ _this.getWaitPakin(_this.station.barcode)
+ }
+ } 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' })
+ }
+ }
+ })
+ },
+ // 鑾峰彇宸ヤ綔鏄庣粏
+ getWrkDetl(wrkNo) {
+ let _this = this
+ uni.request({
+ url: `${_this.baseUrl}/agv/wrkDetl/list/auth`,
+ header: {'token': uni.getStorageSync('token')},
+ data: {
+ curr: 1,
+ limit: 1000,
+ wrk_no: wrkNo
+ },
+ method: 'GET',
+ success(res) {
+ res = res.data
+ if (res.code === 200) {
+ _this.wrkDetls = 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' })
+ }
+ }
+ })
+ },
+ // 鑾峰彇缁勬墭妗�
+ getWaitPakin(barcode) {
+ let _this = this
+ uni.request({
+ url: `${_this.baseUrl}/agv/waitPakin/list/auth`,
+ header: {'token': uni.getStorageSync('token')},
+ data: {
+ curr: 1,
+ limit: 1000,
+ supp_code: barcode
+ },
+ method: 'GET',
+ success(res) {
+ res = res.data
+ if (res.code === 200) {
+ _this.waitPakins = res.data.records
+ _this.btnType = 'start'
+ } 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' })
+ }
+ }
+ })
+ },
+ // 鍏ㄦ澘鍑哄簱 纭鍑哄簱
+ doContainerMoveOut() {
+ this.$refs.doContainerMoveOut.open()
+ },
+ containerMoveOutClose() {
+ this.$refs.doContainerMoveOut.close()
+ },
+ containerMoveOut() {
+ this.containerMoveOutDis = true
+ let _this = this
+ let devNo = {devNo:[this.station.devNo],barcode: _this.barcode}
+ uni.request({
+ url: `${_this.baseUrl}/agv/basDevp/visualized/container/moveOut`,
+ header: { 'token': uni.getStorageSync('token')},
+ data: JSON.stringify(devNo),
+ method: 'POST',
+ success(res) {
+ res = res.data
+ _this.containerMoveOutDis = false
+ if (res.code === 200) {
+ _this.$refs.doContainerMoveOut.close()
+ setTimeout(()=> {
+ _this.barcode = ''
+ _this.reloadStation()
+ },1000)
+ uni.showToast({ title: '纭瀹屾垚', icon: "success", position: 'top' })
+ } 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.containerMoveOutDis = false
+ }
+ })
+ },
+
+ // 鍏ㄦ澘鍑哄簱 瀹瑰櫒绂诲満
+ doContainerMoveOut2() {
+ this.$refs.doContainerMoveOut2.open()
+ },
+ containerMoveOutClose() {
+ this.$refs.doContainerMoveOut2.close()
+ },
+ containerMoveOut2() {
+ this.containerMoveOut2Dis = true
+ let _this = this
+ let devNo = {devNo:[this.station.devNo],barcode: _this.barcode}
+ uni.request({
+ url: `${_this.baseUrl}/agv/basDevp/visualized/container/moveOut2`,
+ header: { 'token': uni.getStorageSync('token')},
+ data: JSON.stringify(devNo),
+ method: 'POST',
+ success(res) {
+ res = res.data
+ _this.containerMoveOut2Dis = false
+ if (res.code === 200) {
+ _this.$refs.doContainerMoveOut2.close()
+ setTimeout(()=> {
+ _this.barcode = ''
+ _this.reloadStation()
+ },1000)
+ uni.showToast({ title: '绂诲満瀹屾垚', icon: "success", position: 'top' })
+ } 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.containerMoveOut2Dis = false
+ }
+ })
+ },
+ // 鍐嶆鎷f枡
+ doPickIn2() {
+ let _this = this
+ let item = this.wrkMast
+ uni.navigateTo({
+ url: './pickAgain',
+ success(res) {
+ res.eventChannel.emit('item', {
+ item: item,
+ wrkDetls: _this.wrkDetls,
+ })
+ },
+ events: {
+ acceptDataFromOpenedPage: function(data) {
+ _this.reloadStation()
+ }
+ }
+ })
+ },
+ // 鎷f枡鍑哄簱 纭鍚庡洖搴�
+ doPickIn() {
+ this.$refs.doPickIn.open()
+ },
+ pickInClose() {
+ this.$refs.doPickIn.close()
+ },
+ pickIn() {
+ this.pickInDis = true
+ let _this = this
+ uni.request({
+ url: `${_this.baseUrl}/agv/basDevp/visualized/container/pickIn`,
+ header: { 'token': uni.getStorageSync('token')},
+ data: {devNo: _this.station.devNo,barcode: _this.barcode},
+ method: 'POST',
+ success(res) {
+ _this.pickInDis = false
+ res = res.data
+ if (res.code === 200) {
+ _this.$refs.doPickIn.close()
+ _this.barcode = ''
+ _this.reloadStation()
+ } 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.pickInDis = false
+ }
+ })
+ },
+ // 鍚姩鍏ュ簱
+ startPakin(type) {
+ let that = this
+ let params = []
+ let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
+ params.push(param)
+ uni.request({
+ url: that.baseUrl + '/agvMobile/pakin/empty/auth',
+ data: {pad: params},
+ method: 'POST',
+ header: {'token': uni.getStorageSync('token')},
+ success(result) {
+ var res = result.data
+ if (res.code === 200) {
+ setTimeout(()=> {
+ _this.barcode = ''
+ _this.reloadStation()
+ },1000)
+ uni.showToast({ title: '鍚姩鍏ュ簱', icon: "success", position: 'top' })
+ } 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' })
+ }
+ },
+
+ });
+ },
+ allocationOut() {
+ this.$refs.allocationOut.open()
+ },
+ allocationOutClose() {
+ this.$refs.allocationOut.close()
+ },
+ // 璋冩嫧绂诲満
+ allocationOutConfirm() {
+ let that = this
+ let params = []
+ let param = { devNo: this.station.devNo, barcode: this.barcode, }
+ params.push(param)
+ uni.request({
+ url: that.baseUrl + '/agvMobile/hand/control/allocationOut',
+ header: {'token': uni.getStorageSync('token')},
+ data: param,
+ method: 'POST',
+ success(result) {
+ var res = result.data
+ if (res.code === 200) {
+ that.$refs.allocationOut.close()
+ setTimeout(()=> {
+ that.barcode = ''
+ that.reloadStation()
+ },1000)
+ uni.showToast({ title: '绂诲満鎴愬姛', icon: "success", position: 'top' })
+ } 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' })
+ }
+ },
+ });
+ },
+ // 绌烘灦绂诲満
+ empOut() {
+ this.$refs.empOut.open()
+ },
+ empOutClose() {
+ this.$refs.empOut.close()
+ },
+ empOutConfirm() {
+ this.empOutDis = true
+ let that = this
+ let params = []
+ let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
+ params.push(param)
+ uni.request({
+ url: that.baseUrl + '/agvMobile/hand/control/empOut',
+ header: {'token': uni.getStorageSync('token')},
+ data: {devNo: that.station.devNo,barcode: that.barcode},
+ method: 'POST',
+ success(result) {
+ var res = result.data
+ that.$refs.empOut.close()
+ that.empOutDis = false
+ if (res.code === 200) {
+ setTimeout(()=> {
+ that.barcode = ''
+ that.reloadStation()
+ },1000)
+ uni.showToast({ title: '绂诲満鎴愬姛', icon: "success", position: 'top' })
+ } 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) {
+ that.empOutDis = false
+ }
+ });
+ },
+ allocationIn() {
+ this.$refs.allocationIn.open()
+ },
+ allocationInClose() {
+ this.$refs.allocationIn.close()
+ },
+ allocationInConfirm() {
+ this.allocationInDis = true
+ let that = this
+ let params = []
+ let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
+ params.push(param)
+ uni.request({
+ url: that.baseUrl + '/agvMobile/hand/control/allocationIn',
+ header: {'token': uni.getStorageSync('token')},
+ data: {devNo: that.station.devNo, barcode: that.barcode},
+ method: 'POST',
+ success(result) {
+ that.allocationInDis = false
+ var res = result.data
+ if (res.code === 200) {
+ that.$refs.allocationIn.close()
+ setTimeout(()=> {
+ that.barcode = ''
+ that.reloadStation()
+ },1000)
+ uni.showToast({ title: '杩涘満鎴愬姛', icon: "success", position: 'top' })
+ } 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) {
+ that.allocationInDis = false
+ }
+ });
+ },
+ empIn() {
+ this.$refs.empIn.open()
+ },
+ empInClose() {
+ this.$refs.empIn.close()
+ },
+ empInConfirm() {
+ this.empInDis = true
+ let that = this
+ let params = []
+ let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
+ params.push(param)
+ uni.request({
+ url: that.baseUrl + '/agvMobile/hand/control/empIn',
+ header: {'token': uni.getStorageSync('token')},
+ data: {devNo: that.station.devNo, barcode: that.barcode},
+ method: 'POST',
+ success(result) {
+ that.empInDis = false
+ var res = result.data
+ if (res.code === 200) {
+ that.$refs.empIn.close()
+ setTimeout(()=> {
+ that.barcode = ''
+ that.reloadStation()
+ },1000)
+ uni.showToast({ title: '杩涘満鎴愬姛', icon: "success", position: 'top' })
+ } 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) {
+ that.empInDis = false
+ }
+ });
+ },
+ doBack() {
+ this.$refs.doBack.open()
+ },
+ doBackClose() {
+ this.$refs.doBack.close()
+ },
+ doBackConfirm() {
+ this.doBackDis = true
+ let that = this
+ let params = []
+ let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
+ params.push(param)
+ uni.request({
+ url: that.baseUrl + '/agvMobile/hand/control/doBack',
+ header: {'token': uni.getStorageSync('token')},
+ data: {devNo: that.station.devNo, barcode: that.barcode},
+ method: 'POST',
+ success(result) {
+ that.doBackDis = false
+ var res = result.data
+ if (res.code === 200) {
+ that.$refs.doBack.close()
+ utils.startStop()
+ setTimeout(()=> {
+ that.barcode = ''
+ that.reloadStation()
+ },1000)
+ uni.showToast({ title: '閫�搴撲换鍔$敵璇锋垚鍔�', icon: "success", position: 'top' })
+ } 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) {
+ that.doBackDis = false
+ }
+ });
+ },
+ processed() {
+ let _this = this
+ uni.navigateTo({
+ url: './confirmProcessed',
+ success(res) {
+ res.eventChannel.emit('item', {
+ item: _this.wrkDetls
+ })
+ },
+ // events: {
+ // acceptDataFromOpenedPage: function(data) {
+ // _this.getOrderDetlList(this.searchValue1,10)
+ // }
+ // }
+ })
+ },
+ // processed() {
+ // this.$refs.process.open()
+ // },
+ processedClose() {
+ this.$refs.process.close()
+ },
+ processedConfirm() {
+ this.processedDis = true
+ let that = this
+ let params = []
+ let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
+ params.push(param)
+ uni.request({
+ url: that.baseUrl + '/agvMobile/hand/control/processed',
+ header: {'token': uni.getStorageSync('token')},
+ data: {devNo: that.station.devNo, barcode: that.barcode},
+ method: 'POST',
+ success(result) {
+ that.processedDis = false
+ var res = result.data
+ if (res.code === 200) {
+ that.$refs.process.close()
+ utils.startStop()
+ setTimeout(()=> {
+ that.barcode = ''
+ that.reloadStation()
+ },1000)
+ uni.showToast({ title: '鎿嶄綔鎴愬姛', icon: "success", position: 'top' })
+ } 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) {
+ that.processedDis = false
+ }
+ });
+ },
+ handBack() {
+ let that = this
+ let params = []
+ let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
+ params.push(param)
+ uni.request({
+ url: that.baseUrl + '/agvMobile/hand/control/handBack',
+ header: {'token': uni.getStorageSync('token')},
+ data: {devNo: that.station.devNo, barcode: that.barcode},
+ method: 'POST',
+ success(result) {
+ var res = result.data
+ if (res.code === 200) {
+ setTimeout(()=> {
+ that.reloadStation()
+ },1000)
+ uni.showToast({ title: '杞崲鎴愬姛', icon: "success", position: 'top' })
+ } 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' })
+ }
+ }
+ });
+ }
}
}
</script>
<style>
+ @import url('../../../static/css/common/order.css');
+
+ .station {
+ font-size: 15px;
+ padding: 18rpx;
+ }
.station-title {
- font-size: 32px;
+ font-size: 28px;
+ font-weight: bold;
+ padding: 18rpx 0;
+ }
+ .station-barcode {
+ font-size: 24px;
font-weight: bold;
padding: 24rpx 0;
- }
- .station {
- font-size: 18px;
- padding: 24rpx;
}
.station-wrk {
background-color: #ff7356;
@@ -55,4 +1127,141 @@
background-color: #3eb689;
color: #fff;
}
+
+
+ .wrkMast {
+ background-color: #0083ff;
+ color: #fff;
+ margin-top: 10rpx;
+ font-size: 18px;
+ padding: 24rpx;
+ }
+ .wrkMast-wrkNo {
+ font-size: 30px;
+ font-weight: bold;
+ padding: 24rpx 0;
+ display: flex;
+ }
+
+ .wrkDetls {
+ background-color: #2299ff;
+ color: #fff;
+ margin-top: 10rpx;
+ font-size: 18px;
+ padding: 24rpx;
+ }
+ .wrkDetl {
+ padding: 16rpx 0;
+ border-bottom: 1px solid #FFF;
+ }
+ .wrkDetl:last-child {
+ border-bottom: none;
+ }
+
+ .waitPakins {
+ background-color: #c494ed;
+ color: #fff;
+ margin-top: 10rpx;
+ font-size: 18px;
+ padding: 24rpx;
+ }
+ .waitPakin {
+ padding: 16rpx 0;
+ border-bottom: 1px solid #FFF;
+ }
+ .waitPakin:last-child {
+ border-bottom: none;
+ }
+
+
+ .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;
+ }
+
+ .dropdown {
+ position: relative;
+ display: flex;
+ width: 93%;
+ align-items: center;
+ padding: 0rpx 20rpx;
+ }
+ .dropdown-content {
+ position: absolute;
+ top: calc(100% + 15rpx);
+ left: 0;
+ width: calc(100% - 20rpx);
+ max-height: 300rpx;
+ background-color: #fff;
+ box-shadow: 0 0px 6px rgba(0, 0, 0, 0.3);
+ border-radius: 8rpx;
+ z-index: 10;
+ }
+ .dropdown-item {
+ padding: 12rpx;
+ line-height: 1.2;
+ font-size: 22px;
+ color: #3a3a3a;
+ }
</style>
--
Gitblit v1.9.1