From 060a2abc3364b6a98e41f3bd6fdf2e2a7789db89 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期六, 24 一月 2026 14:23:35 +0800
Subject: [PATCH] #
---
pages/AGV/StartInTask.vue | 175 +++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 105 insertions(+), 70 deletions(-)
diff --git a/pages/AGV/StartInTask.vue b/pages/AGV/StartInTask.vue
index 3214c5b..5ad4e34 100644
--- a/pages/AGV/StartInTask.vue
+++ b/pages/AGV/StartInTask.vue
@@ -1,17 +1,27 @@
<template>
<view class="has-foot">
<form>
- <view class="cu-form-group ">
- <view class="title">鎺ラ┏绔�</view>
- <input placeholder="璇锋壂鎻忔帴椹崇珯鏉$爜" v-model="barcode" ></input>
- <text class='cuIcon-search text-blue' @click="search"></text>
- </view>
+ <view class="cu-form-group margin-top">
+ <view class="title">鎺ラ┏绔欑偣</view>
+ <input placeholder="璇锋壂鎻忔帴椹崇珯鐐规潯鐮�" v-model="agvStation" ></input>
+ <!-- <text class='cuIcon-search text-blue' @click="search"></text> -->
+ </view>
+ <view class="cu-form-group">
+ <view class="title">瀹瑰櫒鍙�</view>
+ <input placeholder="璇锋壂鎻忓鍣ㄧ紪鐮�" v-model="barcode" @input="search"></input>
+ <!-- <text class='cuIcon-search text-blue' @click="search"></text> -->
+ </view>
+<!-- <view class="flex solid-bottom padding-sm justify-between">
+ <view class="text-blue margin-left">瀹瑰櫒鐮�:{{container}}</view>
+ </view> -->
+ <view class="cu-form-group">
+ <view class="title">鐩爣搴撳尯</view>
+ <view style="width: 75%;">
+ <uni-data-select style="min-width: 50%; max-width: 100%;" v-model="whAreaId" :localdata="range"
+ placement="bottom" @change="selChange"></uni-data-select>
+ </view>
+ </view>
</form>
- <view class="flex solid-bottom padding-sm justify-between">
- <view class="text-blue">瀹瑰櫒鐮�:{{container}}</view>
-
- </view>
-
<view class="cu-list det menu sm-border padding">
@@ -38,19 +48,9 @@
<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>
- </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.batch}}</text>
@@ -72,31 +72,11 @@
<view class="cu-bar btn-group foot">
- <button class="cu-btn text-blue line-blue shadow" @click="clear">娓呯┖</button>
- <button class="cu-btn bg-blue shadow-blur" @click="confirm">瑙g粦</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>
</view>
- <uni-popup ref="popup" class="cu-popup">
- <view class="popup-content">
- <view class="head">
- <text>鎺ㄨ崘</text>
- <text class='cuIcon-close text-red close' @click="close"></text>
- </view>
-
- <div class="body">
- <view class="cu-list grid col-3 no-border">
- <view class="item" v-for="el in range">
- <view class="cu-btn round sm" :class="[el===curCode?'bg-blue':'line-blue']"
- @click="itemChange(el)">{{el}}</view>
- </view>
- </view>
- </div>
-
- <view class="cu-bar btn-group ">
- <button class="cu-btn bg-blue shadow-blur" @click="popupSubmit">鎻愪氦</button>
- </view>
- </view>
- </uni-popup>
+
</view>
</template>
@@ -120,32 +100,59 @@
container: '',
list: [],
range: [],
- curCode: ''
+ curCode: '',
+ whAreaId:'',
+ repeatClick: false,
+ buttonPermissions: [] ,// 鎸夐挳鏉冮檺鍒楄〃
+ agvStation:''
+
}
},
computed: {
...mapState('user', ['dynamicFields']),
},
- mounted() {},
- methods: {
+ mounted() {
+ // this.getRece()
+ // this.whAreaId = uni.getStorageSync('whAreaId')
+
+ // 鑾峰彇鎸夐挳鏉冮檺
+ this.buttonPermissions = uni.getStorageSync('buttonPermissions') || [];
+ console.log('褰撳墠椤甸潰鎸夐挳鏉冮檺:', this.buttonPermissions);
+ },
+ methods: {
+ hasButtonPermission(route) {
+ return this.buttonPermissions.includes(route);
+ },
+ selChange(val) {
+ uni.setStorageSync('whAreaId', val)
+ },
async search() {
- let that = this
- const {
- code,
- data,
- msg
- } = await request('/staBind/list', {
- sta: this.barcode
- })
- if (code === 200) {
- if(data.list.length >0){
- that.container = data.barcode
- that.list = data.list
- }
+ if (this.barcode === '' || this.barcode === null) {
+ uni.showToast({
+ title: '瀹瑰櫒鐮佷负绌�',
+ icon: 'none',
+ position: 'top'
+ })
+ return
+ }
+ const { code, data, msg } = await request(
+ '/asnOrderItem/container',
+ {
+ barcode: this.barcode
+ }
+ )
+ 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",
+ icon: 'none',
+ position: 'top'
})
}
},
@@ -176,24 +183,41 @@
},
async confirm() {
- if(this.barcode === '' || this.barcode ===null){
+ if(this.agvStation === '' || this.agvStation ===null){
uni.showToast({
- title: "鎺ラ┏绔欑爜涓嶈兘涓虹┖",
+ title: "鎺ラ┏绔欑偣涓嶈兘涓虹┖",
icon: "none",
})
return ;
}
+ if(this.barcode === '' || this.barcode ===null){
+ uni.showToast({
+ title: "瀹瑰櫒鍙蜂笉鑳戒负绌�",
+ icon: "none",
+ })
+ return ;
+ }
+ if(this.whAreaId === '' || this.whAreaId ===null){
+ uni.showToast({
+ title: "鐩爣搴撳尯涓嶈兘涓虹┖",
+ icon: "none",
+ })
+ return ;
+ }
+ this.repeatClick = true
const {
code,
data,
msg
- } = await request('/AGV/staUnBind',{
- sta: this.barcode
+ } = await request('/AGV/task/start',{
+ staNo: this.agvStation,
+ area: this.whAreaId,
+ barcode:this.barcode
}
)
if (code === 200) {
uni.showToast({
- title: '瑙g粦鎴愬姛'
+ title: '鍚姩鎴愬姛'
})
this.clear()
} else {
@@ -202,11 +226,22 @@
icon: "none",
})
}
-
-
-
+ 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.warehouseId$ + "-- " + item.name
+ }));
+ }
+ },
}
}
</script>
--
Gitblit v1.9.1