From eea08904d36b4ede047f7f08709da5e9046fbde5 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 19 三月 2026 10:27:12 +0800
Subject: [PATCH] #站点
---
pages/AGV/StartInTask.vue | 503 ++++++++++++++++++++++++++++---------------------------
1 files changed, 255 insertions(+), 248 deletions(-)
diff --git a/pages/AGV/StartInTask.vue b/pages/AGV/StartInTask.vue
index ab88a45..6cadc5a 100644
--- a/pages/AGV/StartInTask.vue
+++ b/pages/AGV/StartInTask.vue
@@ -3,40 +3,53 @@
<form>
<view class="cu-form-group margin-top">
<view class="title">鎺ラ┏绔欑偣</view>
- <input placeholder="璇锋壂鎻忔帴椹崇珯鐐规潯鐮�" v-model="agvStationInput" @input="checkAgvStation"></input>
- <!-- <text class='cuIcon-search text-blue' @click="search"></text> -->
+ <input
+ placeholder="璇锋壂鎻忔帴椹崇珯鐐规潯鐮�"
+ v-model="agvStationInput"
+ @input="checkAgvStation"
+ />
</view>
- <view class="cu-form-group" v-if="agvStationName">
+ <view
+ class="cu-form-group"
+ v-if="agvStationName"
+ >
<view class="title">绔欑偣缂栫爜</view>
- <text >{{agvStationName}}</text>
+ <text>{{ agvStationName }}</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> -->
+ <input
+ placeholder="璇锋壂鎻忓鍣ㄧ紪鐮�"
+ v-model="barcode"
+ @input="search"
+ />
+ </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 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="cu-list det menu sm-border padding">
- <block v-for="(item, index) in list" :key="index">
+ <view class="cu-list det menu sm-border padding">
+ <block
+ v-for="(item, index) in list"
+ :key="index"
+ >
<view class="cu-bar bg-white solid-bottom margin-top-sm">
<view class="action">
<view class="index">
- {{index+1}}
+ {{ index + 1 }}
</view>
<view class="text-blue">
- {{`${item.maktx}`}}
+ {{ `${item.maktx}` }}
</view>
</view>
<!-- <view class="action" >
@@ -49,7 +62,7 @@
<text class="text-black">ASN:</text>
</view>
<view class="action">
- <text class="text-grey ">{{item.asnCode}}</text>
+ <text class="text-grey">{{ item.asnCode }}</text>
</view>
</view>
<view class="cu-item">
@@ -57,274 +70,268 @@
<text class="text-black">鎵规:</text>
</view>
<view class="action">
- <text class="text-grey ">{{item.batch}}</text>
+ <text class="text-grey">{{ item.batch }}</text>
</view>
</view>
-
<view class="cu-item">
<view class="content">
<text class="text-black">鏀惰揣鏁伴噺:</text>
</view>
<view class="action">
- <text class="text-grey ">{{item.anfme}}</text>
+ <text class="text-grey">{{ item.anfme }}</text>
</view>
</view>
-
</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('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>
-
-
-
</view>
</template>
<script>
- import {
- request
- } from '../../common/request.js'
- import {
- mapState,
- mapMutations,
- mapActions,
- mapGetters
- } from 'vuex';
- export default {
- data() {
- return {
- barcode: '',
- areaName: '',
- locCode: '',
- container: '',
- list: [],
- range: [],
- curCode: '',
- whAreaId:'',
- repeatClick: false,
- buttonPermissions: [] ,// 鎸夐挳鏉冮檺鍒楄〃
- agvStationInput: '', // AGV绔欑偣杈撳叆鍊�
- agvStationName: ''
+import { request } from '../../common/request.js'
+import { mapState, mapMutations, mapActions, mapGetters } from 'vuex'
+export default {
+ data() {
+ return {
+ barcode: '',
+ areaName: '',
+ locCode: '',
+ container: '',
+ list: [],
+ range: [],
+ curCode: '',
+ whAreaId: '',
+ repeatClick: false,
+ buttonPermissions: [], // 鎸夐挳鏉冮檺鍒楄〃
+ agvStationInput: '', // AGV绔欑偣杈撳叆鍊�
+ agvStationName: ''
+ }
+ },
+ computed: {
+ ...mapState('user', ['dynamicFields'])
+ },
+ mounted() {
+ // this.getRece()
+ // this.whAreaId = uni.getStorageSync('whAreaId')
+
+ // 鑾峰彇鎸夐挳鏉冮檺
+ 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.stationId
+ } else {
+ uni.showToast({
+ title: msg,
+ icon: 'none',
+ position: 'top'
+ })
+ setTimeout(function () {
+ that.agvStationName = ''
+ that.agvStationInput = ''
+ }, 200)
}
},
- computed: {
- ...mapState('user', ['dynamicFields']),
+ hasButtonPermission(route) {
+ return this.buttonPermissions.includes(route)
},
- mounted() {
- // this.getRece()
- // this.whAreaId = uni.getStorageSync('whAreaId')
-
- // 鑾峰彇鎸夐挳鏉冮檺
- this.buttonPermissions = uni.getStorageSync('buttonPermissions') || [];
- console.log('褰撳墠椤甸潰鎸夐挳鏉冮檺:', this.buttonPermissions);
+ selChange(val) {
+ uni.setStorageSync('whAreaId', val)
},
- 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
+ async search() {
+ if (this.barcode === '' || this.barcode === null) {
+ uni.showToast({
+ title: '瀹瑰櫒鐮佷负绌�',
+ icon: 'none',
+ position: 'top'
})
- if (code === 200) {
- this.agvStationName = data.stationName
- } else {
- uni.showToast({
- title: msg,
- icon: 'none',
- position: 'top'
- })
- setTimeout(function () {
- that.agvStationName = ''
- that.agvStationInput = ''
- }, 200)
+ return
+ }
+ const { code, data, msg } = await request(
+ '/asnOrderItem/container/area',
+ {
+ barcode: this.barcode
}
- },
- hasButtonPermission(route) {
- return this.buttonPermissions.includes(route);
- },
- selChange(val) {
- uni.setStorageSync('whAreaId', val)
- },
- async search() {
- if (this.barcode === '' || this.barcode === null) {
- uni.showToast({
- title: '瀹瑰櫒鐮佷负绌�',
- icon: 'none',
- position: 'top'
- })
- return
- }
- const { code, data, msg } = await request(
- '/asnOrderItem/container/area',
- {
- 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',
- position: 'top'
- })
- }
- },
+ )
+ if (code === 200) {
+ this.range = data.map((item) => ({
+ value: item.id,
+ text: item.name
+ }))
- remove(index) {
- this.list.splice(index, 1);
- },
- clear() {
- this.list = []
-
- this.container = ''
- this.barcode = ''
- },
+ this.whAreaId = this.range[0].value
+ } else {
+ uni.showToast({
+ title: msg,
+ icon: 'none',
+ position: 'top'
+ })
+ }
+ },
- open() {
- this.$refs.popup.open()
- },
+ remove(index) {
+ this.list.splice(index, 1)
+ },
+ clear() {
+ this.list = []
- close() {
- this.$refs.popup.close()
- },
+ this.container = ''
+ this.barcode = ''
+ },
- popupSubmit() {
- this.$refs.popup.close()
- },
- itemChange(el) {
- this.curCode = el
- },
+ open() {
+ this.$refs.popup.open()
+ },
- async confirm() {
- if(this.agvStationName === '' || this.agvStationName ===null){
- uni.showToast({
- 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/task/start',{
- staNo: this.agvStationName,
- area: this.whAreaId,
- barcode:this.barcode
- }
- )
- if (code === 200) {
- uni.showToast({
- title: '鍚姩鎴愬姛'
- })
- this.clear()
- } else {
- uni.showToast({
- title: msg,
- 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
- }));
- }
- },
+ close() {
+ this.$refs.popup.close()
+ },
+
+ popupSubmit() {
+ this.$refs.popup.close()
+ },
+ itemChange(el) {
+ this.curCode = el
+ },
+
+ async confirm() {
+ if (this.agvStationName === '' || this.agvStationName === null) {
+ uni.showToast({
+ 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/task/start', {
+ staNo: this.agvStationInput,
+ area: this.whAreaId,
+ barcode: this.barcode
+ })
+ if (code === 200) {
+ uni.showToast({
+ title: '鍚姩鎴愬姛'
+ })
+ this.clear()
+ } else {
+ uni.showToast({
+ title: msg,
+ 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>
<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;
+}
- }
+.item {
+ position: relative;
+ display: flex;
+ min-height: 80upx;
+ align-items: center;
+}
- .item {
- position: relative;
- display: flex;
- min-height: 80upx;
- align-items: center;
- }
+.uni-file-picker {
+ width: 100%;
+ margin-bottom: 10px;
+}
- .uni-file-picker {
- width: 100%;
- margin-bottom: 10px;
- }
+.uni-select__selector {
+ z-index: 999;
+}
- .uni-select__selector {
- z-index: 999;
- }
+.tj {
+ height: auto;
+ padding: 6px 8px;
+ display: inline-block;
+ border-radius: 6px;
+}
- .tj {
- height: auto;
- padding: 6px 8px;
- display: inline-block;
- border-radius: 6px;
- }
+.item {
+ display: flex;
+ justify-content: center;
+}
- .item {
- display: flex;
- justify-content: center;
- }
-
- .item .cu-btn {
- font-size: 26upx;
- }
-</style>
\ No newline at end of file
+.item .cu-btn {
+ font-size: 26upx;
+}
+</style>
--
Gitblit v1.9.1