This commit is contained in:
2025-08-07 16:49:08 +08:00
parent 72657f9a69
commit 5effcd61b3
4 changed files with 106 additions and 175 deletions

View File

@@ -1,12 +1,12 @@
<template> <template>
<view class="zd_container"> <view class="zd_container">
<!-- 任务管理 --> <!-- 空载具出库 -->
<nav-bar :title="title"></nav-bar> <nav-bar :title="title"></nav-bar>
<view class="zd_content"> <view class="zd_content">
<view class="zd_wrapper"> <view class="zd_wrapper">
<view class="zd-row border-bottom"> <view class="zd-row border-bottom">
<view class="zd-col-7"> <view class="zd-col-7">
<span class="filter_label">任务类型</span> <span class="filter_label">起点区域</span>
</view> </view>
<view class="zd-col-24 filter_select"> <view class="zd-col-24 filter_select">
<uni-data-select v-model="index" :localdata="options" @change="selectChange"></uni-data-select> <uni-data-select v-model="index" :localdata="options" @change="selectChange"></uni-data-select>
@@ -14,50 +14,33 @@
</view> </view>
<view class="zd-row border-bottom"> <view class="zd-row border-bottom">
<view class="zd-col-7"> <view class="zd-col-7">
<span class="filter_label">载具编码</span> <span class="filter_label">起点</span>
</view>
<view class="zd-col-17">
<input type="text" class="filter_input" v-model="val1">
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">终点区域</span>
</view> </view>
<view class="zd-col-24 filter_select"> <view class="zd-col-24 filter_select">
<search-box <uni-data-select v-model="index2" :localdata="options2" @change="selectChange2"></uni-data-select>
v-model="val1" </view>
/> </view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">终点</span>
</view>
<view class="zd-col-17">
<input type="text" class="filter_input" v-model="val2">
</view> </view>
</view> </view>
</view> </view>
<view class="zd_wrapper grid-wraper">
<view class="slide_new">
<table>
<thead>
<tr>
<th>任务类型</th>
<th>任务编码</th>
<th>载具编码</th>
<th>状态</th>
<th>起点</th>
<th>终点</th>
<th>创建时间</th>
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i" @click="toCheck(e)" :class="{'checked': e.task_code === pkId}">
<td>{{e.task_type}}</td>
<td>{{e.task_code}}</td>
<td>{{e.vehicle_code}}</td>
<td>{{e.status}}</td>
<td>{{e.point_code1}}</td>
<td>{{e.point_code2}}</td>
<td>{{e.create_time}}</td>
</tr>
</tbody>
</table>
</view>
</view>
<uni-load-more color="#007AFF" iconType="circle" :status="status" :icon-size="14" :content-text="contentText" v-if="dataList.length > 0"/>
</view> </view>
<view class="zd-row submit-bar"> <view class="zd-row submit-bar">
<button class="zd-col-6 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="toSure('80')">完成</button> <button class="zd-col-6 button-default" @tap="clearUp">清空</button>
<button class="zd-col-6 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="toSure('80')">强制完成</button> <button class="zd-col-16 button-primary" :class="{'button-info': !val1 || !val2 || !index || !index2}" :disabled="disabled" @tap="_vehicleOutConfirm">确认</button>
<button class="zd-col-6 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="toSure('90')">取消</button>
<button class="zd-col-5 button-primary" @tap="searchList">查询</button>
</view> </view>
</view> </view>
</template> </template>
@@ -65,7 +48,7 @@
<script> <script>
import NavBar from '@/components/NavBar.vue' import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue' import SearchBox from '@/components/SearchBox.vue'
import {getStatusEnum, schBaseTask, saveCheckTask} from '@/utils/getData2.js' import {getSect, getRegion, vehicleOutConfirm} from '@/utils/getData3.js'
export default { export default {
components: { components: {
NavBar, NavBar,
@@ -74,99 +57,81 @@
data() { data() {
return { return {
title: '', title: '',
val1: '',
val2: '',
// options: [{text:'堆叠托盘', value:'11111111'},{text:'料箱',value: '22222222'},{text:'白色EPH',value: '33333333'}],
options: [], options: [],
index: '', index: '',
val1: '', options2: [],
dataList: [], index2: '',
pkId: '',
reload: false,
status: 'more',
contentText: {
contentdown: '查看更多',
contentrefresh: '加载中',
contentnomore: '没有更多'
},
totalCount: 0,
pageNum: 1,
pageSize: 10,
disabled: false disabled: false
}; };
}, },
onLoad (options) { onLoad (options) {
this.title = options.title this.title = options.title
this._getStatusEnum() },
created () {
this._getSect()
}, },
methods: { methods: {
async _getStatusEnum () { async _getSect () {
let res = await getStatusEnum() try {
this.options = [...res] let res = await getSect()
this.options.map(el => { if (res) {
this.$set(el, 'text', el.label) this.options = res
}) } else {
this.options =[]
}
} catch (e) {
this.options = []
}
}, },
selectChange (e) { selectChange (e) {
this.index = e this.index = e
}, },
searchList () { async _getRegion () {
this.dataList = [] try {
this.pageNum = 1 let res = await getRegion()
this._schBaseTask() if (res) {
}, this.options2 = res
async _schBaseTask () {
let res = await schBaseTask(this.pageNum + '', this.pageSize + '', this.index, this.val1)
if (res.code === '200') {
this.totalCount = res.totalElements
if (res.totalElements > 0) {
const dataMap = res.content
this.dataList = this.reload ? dataMap : this.dataList.concat(dataMap)
this.reload = false
} else { } else {
this.dataList = [] this.options2 =[]
}
if (this.totalCount == this.dataList.length) {
this.reload = false
this.status = 'noMore'
} }
} catch (e) {
this.options2 = []
} }
}, },
onReachBottom () { selectChange2 (e) {
if (this.totalCount > this.dataList.length) { this.index2 = e
this.status = 'loading'
setTimeout(() => {
this.pageNum++
this._schBaseTask()
}, 1000)
} else { //停止加载
this.status = 'noMore'
}
}, },
toCheck (e) { clearUp () {
this.pkId = e.e.task_code === this.pkId ? '' : e.task_code this.val1 = ''
this.val2 = ''
this.index = ''
this.index2 = ''
this.disabled = false
}, },
async toSure (status) { async _vehicleOutConfirm () {
this.disabled = true this.disabled = true
if (!this.pkId) { if (!val1 || !val2 || !index || !index2) {
this.disabled = false this.disabled = false
return return
} }
try { try {
let res = await saveCheckTask(this.pkId, status) let res = await vehicleOutConfirm(this.index, this.val1)
if (res.code === '200') { if (res.code === '200') {
this.index = ''
this.val1 = ''
this.dataList = []
this.pkId = ''
uni.showToast({ uni.showToast({
title: res.desc, title: res.message,
icon: 'none' icon: 'none'
}) })
this.clearUp()
} else { } else {
uni.showToast({ uni.showToast({
title: res.desc, title: res.message,
icon: 'none' icon: 'none'
}) })
}
this.disabled = false this.disabled = false
}
} catch (e) { } catch (e) {
this.disabled = false this.disabled = false
} }
@@ -174,3 +139,7 @@
} }
} }
</script> </script>
<style lang="stylus">
</style>

View File

@@ -1,20 +1,12 @@
<template> <template>
<view class="zd_container"> <view class="zd_container">
<!-- 任务管理 --> <!-- 人工取货 -->
<nav-bar :title="title"></nav-bar> <nav-bar :title="title"></nav-bar>
<view class="zd_content"> <view class="zd_content">
<view class="zd_wrapper"> <view class="zd_wrapper">
<view class="zd-row border-bottom"> <view class="zd-row border-bottom">
<view class="zd-col-7"> <view class="zd-col-7">
<span class="filter_label">任务类型</span> <span class="filter_label">点位</span>
</view>
<view class="zd-col-24 filter_select">
<uni-data-select v-model="index" :localdata="options" @change="selectChange"></uni-data-select>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">载具编码</span>
</view> </view>
<view class="zd-col-24 filter_select"> <view class="zd-col-24 filter_select">
<search-box <search-box
@@ -28,17 +20,19 @@
<table> <table>
<thead> <thead>
<tr> <tr>
<th>任务类型</th> <th>载具号</th>
<th>任务编码</th>
<th>载具编码</th>
<th>状态</th>
<th>起点</th> <th>起点</th>
<th>终点</th> <th>终点</th>
<th>创建时间</th> <th>状态</th>
<th>作业号</th>
<th>作业类型</th>
<th>设备号</th>
<th>当前步骤</th>
<th>异常信息</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr v-for="(e, i) in dataList" :key="i" @click="toCheck(e)" :class="{'checked': e.task_code === pkId}"> <tr v-for="(e, i) in dataList" :key="i">
<td>{{e.task_type}}</td> <td>{{e.task_type}}</td>
<td>{{e.task_code}}</td> <td>{{e.task_code}}</td>
<td>{{e.vehicle_code}}</td> <td>{{e.vehicle_code}}</td>
@@ -46,6 +40,8 @@
<td>{{e.point_code1}}</td> <td>{{e.point_code1}}</td>
<td>{{e.point_code2}}</td> <td>{{e.point_code2}}</td>
<td>{{e.create_time}}</td> <td>{{e.create_time}}</td>
<td>{{e.create_time}}</td>
<td>{{e.create_time}}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -54,10 +50,8 @@
<uni-load-more color="#007AFF" iconType="circle" :status="status" :icon-size="14" :content-text="contentText" v-if="dataList.length > 0"/> <uni-load-more color="#007AFF" iconType="circle" :status="status" :icon-size="14" :content-text="contentText" v-if="dataList.length > 0"/>
</view> </view>
<view class="zd-row submit-bar"> <view class="zd-row submit-bar">
<button class="zd-col-6 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="toSure('80')">完成</button> <button class="zd-col-6 button-default" @tap="clearUp">清空</button>
<button class="zd-col-6 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="toSure('80')">强制完成</button> <button class="zd-col-7 button-primary" :class="{'button-info': !dataList.length}" :disabled="disabled" @tap="toSure('80')">确认取货</button>
<button class="zd-col-6 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="toSure('90')">取消</button>
<button class="zd-col-5 button-primary" @tap="searchList">查询</button>
</view> </view>
</view> </view>
</template> </template>
@@ -65,7 +59,7 @@
<script> <script>
import NavBar from '@/components/NavBar.vue' import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue' import SearchBox from '@/components/SearchBox.vue'
import {getStatusEnum, schBaseTask, saveCheckTask} from '@/utils/getData2.js' import {schBaseTask, saveCheckTask} from '@/utils/getData2.js'
export default { export default {
components: { components: {
NavBar, NavBar,
@@ -74,11 +68,8 @@
data() { data() {
return { return {
title: '', title: '',
options: [],
index: '',
val1: '', val1: '',
dataList: [], dataList: [],
pkId: '',
reload: false, reload: false,
status: 'more', status: 'more',
contentText: { contentText: {
@@ -94,18 +85,12 @@
}, },
onLoad (options) { onLoad (options) {
this.title = options.title this.title = options.title
this._getStatusEnum()
}, },
methods: { methods: {
async _getStatusEnum () { clearUp () {
let res = await getStatusEnum() this.val1 = ''
this.options = [...res] this.dataList = []
this.options.map(el => { this.disabled = false
this.$set(el, 'text', el.label)
})
},
selectChange (e) {
this.index = e
}, },
searchList () { searchList () {
this.dataList = [] this.dataList = []
@@ -113,7 +98,7 @@
this._schBaseTask() this._schBaseTask()
}, },
async _schBaseTask () { async _schBaseTask () {
let res = await schBaseTask(this.pageNum + '', this.pageSize + '', this.index, this.val1) let res = await schBaseTask(this.pageNum + '', this.pageSize + '', this.val1)
if (res.code === '200') { if (res.code === '200') {
this.totalCount = res.totalElements this.totalCount = res.totalElements
if (res.totalElements > 0) { if (res.totalElements > 0) {
@@ -140,22 +125,17 @@
this.status = 'noMore' this.status = 'noMore'
} }
}, },
toCheck (e) {
this.pkId = e.e.task_code === this.pkId ? '' : e.task_code
},
async toSure (status) { async toSure (status) {
this.disabled = true this.disabled = true
if (!this.pkId) { if (!this.dataList.length) {
this.disabled = false this.disabled = false
return return
} }
try { try {
let res = await saveCheckTask(this.pkId, status) let res = await saveCheckTask(this.dataList)
if (res.code === '200') { if (res.code === '200') {
this.index = ''
this.val1 = '' this.val1 = ''
this.dataList = [] this.dataList = []
this.pkId = ''
uni.showToast({ uni.showToast({
title: res.desc, title: res.desc,
icon: 'none' icon: 'none'

View File

@@ -4,14 +4,6 @@
<nav-bar :title="title"></nav-bar> <nav-bar :title="title"></nav-bar>
<view class="zd_content"> <view class="zd_content">
<view class="zd_wrapper"> <view class="zd_wrapper">
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">任务类型</span>
</view>
<view class="zd-col-24 filter_select">
<uni-data-select v-model="index" :localdata="options" @change="selectChange"></uni-data-select>
</view>
</view>
<view class="zd-row border-bottom"> <view class="zd-row border-bottom">
<view class="zd-col-7"> <view class="zd-col-7">
<span class="filter_label">载具编码</span> <span class="filter_label">载具编码</span>
@@ -28,13 +20,15 @@
<table> <table>
<thead> <thead>
<tr> <tr>
<th>任务类型</th> <th>载具号</th>
<th>任务编码</th>
<th>载具编码</th>
<th>状态</th>
<th>起点</th> <th>起点</th>
<th>终点</th> <th>终点</th>
<th>创建时间</th> <th>状态</th>
<th>作业号</th>
<th>作业类型</th>
<th>设备号</th>
<th>当前步骤</th>
<th>异常信息</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -46,6 +40,8 @@
<td>{{e.point_code1}}</td> <td>{{e.point_code1}}</td>
<td>{{e.point_code2}}</td> <td>{{e.point_code2}}</td>
<td>{{e.create_time}}</td> <td>{{e.create_time}}</td>
<td>{{e.create_time}}</td>
<td>{{e.create_time}}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -54,10 +50,9 @@
<uni-load-more color="#007AFF" iconType="circle" :status="status" :icon-size="14" :content-text="contentText" v-if="dataList.length > 0"/> <uni-load-more color="#007AFF" iconType="circle" :status="status" :icon-size="14" :content-text="contentText" v-if="dataList.length > 0"/>
</view> </view>
<view class="zd-row submit-bar"> <view class="zd-row submit-bar">
<button class="zd-col-6 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="toSure('80')">完成</button> <button class="zd-col-7 button-primary" @tap="searchList">查询</button>
<button class="zd-col-6 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="toSure('80')">强制完成</button> <button class="zd-col-7 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="toSure('80')">完成</button>
<button class="zd-col-6 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="toSure('90')">取消</button> <button class="zd-col-7 button-primary" :class="{'button-info': !pkId}" :disabled="disabled" @tap="toSure('80')">强制完成</button>
<button class="zd-col-5 button-primary" @tap="searchList">查询</button>
</view> </view>
</view> </view>
</template> </template>
@@ -65,7 +60,7 @@
<script> <script>
import NavBar from '@/components/NavBar.vue' import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue' import SearchBox from '@/components/SearchBox.vue'
import {getStatusEnum, schBaseTask, saveCheckTask} from '@/utils/getData2.js' import {schBaseTask, saveCheckTask} from '@/utils/getData2.js'
export default { export default {
components: { components: {
NavBar, NavBar,
@@ -74,8 +69,6 @@
data() { data() {
return { return {
title: '', title: '',
options: [],
index: '',
val1: '', val1: '',
dataList: [], dataList: [],
pkId: '', pkId: '',
@@ -94,19 +87,8 @@
}, },
onLoad (options) { onLoad (options) {
this.title = options.title this.title = options.title
this._getStatusEnum()
}, },
methods: { methods: {
async _getStatusEnum () {
let res = await getStatusEnum()
this.options = [...res]
this.options.map(el => {
this.$set(el, 'text', el.label)
})
},
selectChange (e) {
this.index = e
},
searchList () { searchList () {
this.dataList = [] this.dataList = []
this.pageNum = 1 this.pageNum = 1

View File

@@ -56,7 +56,7 @@
// {title: '转运管理', path: 'RF09', sonTree: [{title: '托盘转运', path: '/pages/transfer/tray-transfer'}]}, // {title: '转运管理', path: 'RF09', sonTree: [{title: '托盘转运', path: '/pages/transfer/tray-transfer'}]},
// {title: '叫料搬运', path: 'RF11', sonTree: [{title: '叫料搬运', path: '/pages/carry/call-carry'}]} // {title: '叫料搬运', path: 'RF11', sonTree: [{title: '叫料搬运', path: '/pages/carry/call-carry'}]}
], ],
menu: [{title: '叫料搬运', path: 'RF11', sonTree: [{title: '叫料搬运', path: '/pages/carry/call-carry'}]}], // menu: [{title: '叫料搬运', path: 'RF11', sonTree: [{title: '叫料搬运', path: '/pages/carry/call-carry'}]}],
show: false, show: false,
secM: [], secM: [],
icon: '', icon: '',