This commit is contained in:
2025-07-31 09:41:17 +08:00
parent 1939e4efa6
commit b96685546a
6 changed files with 239 additions and 44 deletions

View File

@@ -41,20 +41,20 @@
return { return {
userName: '', userName: '',
menuList: [ menuList: [
{title: '解包', path: 'RF10', sonTree: [{title: '解包上料', path: '/pages/zw/jb-up-mater'}, {title: '解包下料', path: '/pages/zw/jb-lower-mater'}, {title: '料桶入库', path: '/pages/zw/materbox-instore'}, {title: '解包退料', path: '/pages/zw/jb-return-mater'}]}, {title: '解包', path: 'RF03', sonTree: [{title: '解包上料', path: '/pages/zw/jb-up-mater'}, {title: '解包下料', path: '/pages/zw/jb-lower-mater'}, {title: '料桶入库', path: '/pages/zw/materbox-instore'}, {title: '解包退料', path: '/pages/zw/jb-return-mater'}]},
{title: '预装管理', path: 'RF04', sonTree: [{title: '物料组盘', path: '/pages/entry/mater-group'}, {title: '货架绑定', path: '/pages/outbound/shelf-bind'}]}, // {title: '预装管理', path: 'RF04', sonTree: [{title: '物料组盘', path: '/pages/entry/mater-group'}, {title: '货架绑定', path: '/pages/outbound/shelf-bind'}]},
{title: '产线管理', path: 'RF07', sonTree: [{title: '产线叫料', path: '/pages/outbound/line-callmater'}, {title: '线边仓出库', path: '/pages/outbound/mater-outstore'}, {title: '出库确认', path: '/pages/outbound/out-store-confirm'}]}, // {title: '产线管理', path: 'RF07', sonTree: [{title: '产线叫料', path: '/pages/outbound/line-callmater'}, {title: '线边仓出库', path: '/pages/outbound/mater-outstore'}, {title: '出库确认', path: '/pages/outbound/out-store-confirm'}]},
{title: '入库管理', path: 'RF01', sonTree: [{title: '物料组盘', path: '/pages/entry/mater-group'}, {title: '组盘入库', path: '/pages/entry/groupplate-instore'}, {title: '货架绑定', path: '/pages/outbound/shelf-bind'}, {title: '拣选余料回库', path: '/pages/entry/pick-yl-return-store'}, {title: '空载具入库', path: '/pages/entry/empty-vehicle-instore'}]}, // {title: '入库管理', path: 'RF01', sonTree: [{title: '物料组盘', path: '/pages/entry/mater-group'}, {title: '组盘入库', path: '/pages/entry/groupplate-instore'}, {title: '货架绑定', path: '/pages/outbound/shelf-bind'}, {title: '拣选余料回库', path: '/pages/entry/pick-yl-return-store'}, {title: '空载具入库', path: '/pages/entry/empty-vehicle-instore'}]},
{title: '出库管理', path: 'RF02', sonTree: [{title: '线边仓出库', path: '/pages/outbound/mater-outstore'}, {title: '产线叫料', path: '/pages/outbound/line-callmater'}, {title: '出库确认', path: '/pages/outbound/out-store-confirm'}, {title: '产线转运', path: '/pages/outbound/line-transfer'}, {title: '空载具出库', path: '/pages/outbound/empty-vehicle-outstore'}, {title: 'CTU载具出库', path: '/pages/outbound/ctu-vehicle-outstore'}]}, // {title: '出库管理', path: 'RF02', sonTree: [{title: '线边仓出库', path: '/pages/outbound/mater-outstore'}, {title: '产线叫料', path: '/pages/outbound/line-callmater'}, {title: '出库确认', path: '/pages/outbound/out-store-confirm'}, {title: '产线转运', path: '/pages/outbound/line-transfer'}, {title: '空载具出库', path: '/pages/outbound/empty-vehicle-outstore'}, {title: 'CTU载具出库', path: '/pages/outbound/ctu-vehicle-outstore'}]},
// {title: '入库管理', path: 'RF01', sonTree: [{title: '组盘入库', path: '/pages/entry/groupplate-instore'}, {title: '拣选余料回库', path: '/pages/entry/pick-yl-return-store'}, {title: '空载具入库', path: '/pages/entry/empty-vehicle-instore'}]}, // {title: '入库管理', path: 'RF01', sonTree: [{title: '组盘入库', path: '/pages/entry/groupplate-instore'}, {title: '拣选余料回库', path: '/pages/entry/pick-yl-return-store'}, {title: '空载具入库', path: '/pages/entry/empty-vehicle-instore'}]},
// {title: '出库管理', path: 'RF02', sonTree: [{title: '产线转运', path: '/pages/outbound/line-transfer'}, {title: '空载具出库', path: '/pages/outbound/empty-vehicle-outstore'}, {title: 'CTU载具出库', path: '/pages/outbound/ctu-vehicle-outstore'}]} // {title: '出库管理', path: 'RF02', sonTree: [{title: '产线转运', path: '/pages/outbound/line-transfer'}, {title: '空载具出库', path: '/pages/outbound/empty-vehicle-outstore'}, {title: 'CTU载具出库', path: '/pages/outbound/ctu-vehicle-outstore'}]}
// {title: '入库管理', path: 'RF01', sonTree: [{title: '物料组盘入库', path: '/pages/entry/mater-group-to-store'}, {title: '合格证入库', path: '/pages/entry/qualified-to-store'}, {title: '单据入库', path: '/pages/entry/bill-to-store'}, {title: '盘点入库', path: '/pages/entry/check-to-store'}, {title: '空托盘入库', path: '/pages/entry/empty-tray-to-store'}]}, {title: '入库管理', path: 'RF01', sonTree: [{title: '物料组盘入库', path: '/pages/entry/mater-group-to-store'}, {title: '合格证入库', path: '/pages/entry/qualified-to-store'}, {title: '单据入库', path: '/pages/entry/bill-to-store'}, {title: '盘点入库', path: '/pages/entry/check-to-store'}, {title: '空托盘入库', path: '/pages/entry/empty-tray-to-store'}]},
// {title: '出库管理', path: 'RF02', sonTree: [{title: '空托盘出库', path: '/pages/outbound/tray-out-store'}, {title: '出库确认', path: '/pages/outbound/out-store-confirm'}, {title: '单据出库', path: '/pages/outbound/bill-list'}, {title: '盘点出库', path: '/pages/outbound/stock-out-store'}, {title: '物料出库', path: '/pages/outbound/mater-outstore'}, {title: '货架绑定', path: '/pages/outbound/shelf-bind'}, {title: '产线转运', path: '/pages/outbound/line-transfer'}, {title: '空载具出库', path: '/pages/outbound/empty-vehicle-outstore'}, {title: 'CTU载具出库', path: '/pages/outbound/ctu-vehicle-outstore'}]} {title: '出库管理', path: 'RF02', sonTree: [{title: '空托盘出库', path: '/pages/outbound/tray-out-store'}, {title: '出库确认', path: '/pages/outbound/out-store-confirm'}, {title: '单据出库', path: '/pages/outbound/bill-list'}, {title: '盘点出库', path: '/pages/outbound/stock-out-store'}, {title: '物料出库', path: '/pages/outbound/mater-outstore'}, {title: '货架绑定', path: '/pages/outbound/shelf-bind'}, {title: '产线转运', path: '/pages/outbound/line-transfer'}, {title: '空载具出库', path: '/pages/outbound/empty-vehicle-outstore'}, {title: 'CTU载具出库', path: '/pages/outbound/ctu-vehicle-outstore'}]},
// {title: '拣选管理', path: 'RF04', sonTree: [{title: '拣选作业', path: '/pages/pick/pick-task'}]}, {title: '拣选管理', path: 'RF04', sonTree: [{title: '拣选作业', path: '/pages/pick/pick-task'}]},
// {title: '设备操控', path: 'RF07', sonTree: [{title: '切换出入库模式', path: '/pages/mode/switch-in-out'}, {title: '拣选工位启停模式', path: '/pages/mode/pick'}, {title: '下发输送线运动命令', path: '/pages/mode/command'}]}, {title: '设备操控', path: 'RF07', sonTree: [{title: '切换出入库模式', path: '/pages/mode/switch-in-out'}, {title: '拣选工位启停模式', path: '/pages/mode/pick'}, {title: '下发输送线运动命令', path: '/pages/mode/command'}]},
// {title: '产线叫料', path: 'RF10', sonTree: [{title: '二楼生产出库', path: '/pages/outbound/produce-out-store-2nd'}, {title: '二楼取货确认', path: '/pages/outbound/pick-confirm-2nd'}, {title: '二楼货架绑定', path: '/pages/outbound/shelf-bind-2nd'}]}, {title: '产线叫料', path: 'RF10', sonTree: [{title: '二楼生产出库', path: '/pages/outbound/produce-out-store-2nd'}, {title: '二楼取货确认', path: '/pages/outbound/pick-confirm-2nd'}, {title: '二楼货架绑定', path: '/pages/outbound/shelf-bind-2nd'}]},
// {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,

View File

@@ -21,12 +21,14 @@
</view> </view>
</view> </view>
<view class="zd-row border-bottom"> <view class="zd-row border-bottom">
<view class="zd-col-7"> <view class="zd-col-6">
<span class="filter_label">物料重量</span> <span class="filter_label">物料重量</span>
</view> </view>
<view class="zd-col-17"> <view class="zd-col-12">
<!-- <search-box v-model="code" @handleChange="handleChange1" @handleDel="handleDel1" /> -->
<input type="text" class="filter_input" v-model="val3"> <input type="text" class="filter_input" v-model="val3">
</view> </view>
<button class="mini-btn" type="primary" size="mini" @tap="toSearch">获取重量</button>
</view> </view>
<view class="zd-row border-bottom"> <view class="zd-row border-bottom">
<view class="zd-col-7"> <view class="zd-col-7">
@@ -78,8 +80,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" @tap="seachList">查询工单</button> <button class="zd-col-11 button-primary" @tap="seachList">查询工单</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !dataList.length}" @tap="_callMaterialConfirm">确认下料</button> <button class="zd-col-11 button-primary" :class="{'button-info': !dataList.length}" @tap="_callMaterialConfirm">确认下料</button>
</view> </view>
</view> </view>
</template> </template>
@@ -103,6 +105,8 @@
id: '', id: '',
code: '', code: '',
val1: '', val1: '',
val2: '',
val3: '',
dataList: [], dataList: [],
pkId: '', pkId: '',
pkObj: {}, pkObj: {},

View File

@@ -62,8 +62,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" @tap="seachList">查询工单</button> <button class="zd-col-11 button-primary" @tap="seachList">查询工单</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !dataList.length}" @tap="_callMaterialConfirm">确认下料</button> <button class="zd-col-11 button-primary" :class="{'button-info': !dataList.length}" @tap="_callMaterialConfirm">确认下料</button>
</view> </view>
</view> </view>
</template> </template>

View File

@@ -37,15 +37,15 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr v-for="(e, i) in dataList" :key="i" @tap="toChek(e)" :class="{'checked': pkId === e.group_id}"> <tr v-for="(e, i) in dataList" :key="i" @tap="toChek(e)" :class="{'checked': pkId === e.workorder_id}">
<td>{{e.material_name}}</td> <td>{{e.workorder_code}}</td>
<td>{{e.qty}}</td>
<td>{{e.material_code}}</td> <td>{{e.material_code}}</td>
<td>{{e.pcsn}}</td> <td>{{e.material_name}}</td>
<td>{{e.struct_code}}</td> <td>{{e.workorder_status}}</td>
<td>{{e.qty_unit_name}}</td> <td>{{e.operator}}</td>
<td>{{e.material_spec}}</td> <td>{{e.create_name}}</td>
<td>{{e.material_spec}}</td> <td>{{e.plan_qty}}</td>
<td>{{e.real_qty}}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -54,8 +54,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" @tap="seachList">查询工单</button> <button class="zd-col-11 button-primary" @tap="seachList">查询工单</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !dataList.length}" @tap="_callMaterialConfirm">开工</button> <button class="zd-col-11 button-primary" :class="{'button-info': !index2 || !pkId}" @tap="_callMaterial">开工</button>
</view> </view>
</view> </view>
</template> </template>
@@ -63,7 +63,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 {getRegion, linegetMaterialDtl, callMaterialConfirm} from '@/utils/getData3.js' import {regionList, pointList, getOrderList, callMaterial} from '@/utils/getData4.js'
export default { export default {
components: { components: {
NavBar, NavBar,
@@ -99,12 +99,12 @@
this.id = options.id this.id = options.id
}, },
created () { created () {
this._getRegion() this._regionList()
}, },
methods: { methods: {
async _getRegion () { async _regionList () {
try { try {
let res = await getRegion('YZHJ') let res = await regionList()
if (res) { if (res) {
this.options = res this.options = res
} else { } else {
@@ -114,20 +114,33 @@
this.options = [] this.options = []
} }
}, },
async _pointList (e) {
try {
let res = await pointList(e)
if (res) {
this.options2 = res
} else {
this.options2 =[]
}
} catch (e) {
this.options2 = []
}
},
selectChange (e) { selectChange (e) {
this.index = e this.index = e
this._pointList(e)
}, },
selectChange2 (e) { selectChange2 (e) {
this.index = e this.index2 = e
}, },
seachList () { seachList () {
this.dataList = [] this.dataList = []
this.pageNum = 1 this.pageNum = 1
this.pkId = '' this.pkId = ''
this._linegetMaterialDtl() this._getOrderList()
}, },
async _linegetMaterialDtl () { async _getOrderList () {
let res = await linegetMaterialDtl(this.index) let res = await getOrderList(this.index2, '1')
if (res.code === '200') { if (res.code === '200') {
this.dataList = res.data this.dataList = res.data
// this.totalCount = res.totalElements // this.totalCount = res.totalElements
@@ -149,24 +162,28 @@
this.status = 'loading' this.status = 'loading'
setTimeout(() => { setTimeout(() => {
this.pageNum++ this.pageNum++
this._linegetMaterialDtl() this._getOrderList()
}, 1000) }, 1000)
} else { //停止加载 } else { //停止加载
this.status = 'noMore' this.status = 'noMore'
} }
}, },
toChek (e) { toChek (e) {
this.pkId = this.pkId === e.group_id ? '' : e.group_id this.pkId = this.pkId === e.workorder_id ? '' : e.workorder_id
this.pkObj = this.pkId === e.group_id ? e : {} this.pkObj = this.pkId === e.workorder_id ? e : {}
}, },
async _callMaterialConfirm () { clearUp () {
this.pkId = ''
this.pkObj = {}
},
async _callMaterial () {
this.disabled = true this.disabled = true
if (!this.dataList.length) { if (!index2 || !pkId) {
this.disabled = false this.disabled = false
return return
} }
try { try {
let res = await callMaterialConfirm(this.index, this.pkObj) let res = await callMaterial(this.pkId, this.index2, this.index)
if (res.code === '200') { if (res.code === '200') {
uni.showToast({ uni.showToast({
title: res.message, title: res.message,

View File

@@ -27,8 +27,8 @@
</view> </view>
</view> </view>
<view class="zd-row submit-bar"> <view class="zd-row submit-bar">
<button class="zd-col-8 button-primary" :class="{'button-info': !val1 || !val2}" :disabled="disabled" @tap="_bindOrUnbind('1')">检查站点</button> <button class="zd-col-11 button-primary" :class="{'button-info': !val1 || !val2}" :disabled="disabled" @tap="_bindOrUnbind('1')">检查站点</button>
<button class="zd-col-8 button-primary" :class="{'button-info': !val1 || !val2}" :disabled="disabled" @tap="_bindOrUnbind('0')">确认放置</button> <button class="zd-col-11 button-primary" :class="{'button-info': !val1 || !val2}" :disabled="disabled" @tap="_bindOrUnbind('0')">确认放置</button>
</view> </view>
</view> </view>
</template> </template>

174
utils/getData4.js Normal file
View File

@@ -0,0 +1,174 @@
import request from './request.js'
// 版本更新测试
export const pdaUpdate = () => request({
url:'api/pda/iosOut/update'
})
// export const pdaUpdate = () => {
// let res = {
// versionName: '1.0.1',
// url: 'https://mp-e979e0eb-882b-42b3-a4a1-923ad08ea194.cdn.bspapp.com/cloudstorage/f72ec59f-7b25-487d-a034-fead1b6654c6.apk'
// }
// return res
// }
// 登录
export const handLogin = (user, password) => request({
url:'mobile/auth/login',
data: {
username: user,
password: password
}
})
// 公共接口
// 仓库列表/区域列表
export const getSect = (scode, page, size) => request({
url:'api/pda/iosIn/getSect',
data: {stor_code: scode, page: page, size: size}
})
// 区域列表
export const getRegion = (region, page, size) => request({
url:'api/pda/iosIn/getRegion',
data: {region: region, page: page, size: size}
})
// 获取物料列表
export const getMaterialList = (search, page, size) => request({
url:'api/pda/iosIn/getMaterialList',
data: {search: search, page: page, size: size}
})
// 入库管理
// 物料组盘确认
export const groupPlate = (mid, pcsn, qty, vcode, ecode) => request({
url:'api/pda/iosIn/groupPlate',
data: {material_id: mid, pcsn: pcsn, qty: qty, vehicle_code: vcode, ext_code: ecode}
})
// 组盘入库确认
export const confirmIn = (vcode, sitecode, sid) => request({
url:'api/pda/iosIn/confirmIn',
data: {vehicle_code: vcode, site_code: sitecode, sect_id: sid}
})
// 空载具入库确认
export const emptyconfirmIn = (vcode, sitecode, sid, isempty, type) => request({
url:'api/pda/iosIn/confirmIn',
data: {vehicle_code: vcode, site_code: sitecode, sect_id: sid, is_empty_vehicle: isempty, material_id: type}
})
// 组盘入库获取物料明细
export const getVehicleMaterial = (search) => request({
url:'api/pda/iosIn/getVehicleMaterial',
data: {search: search}
})
// 拣选余料回库查询
export const getReturnMaterial = (search) => request({
url:'api/pda/iosIn/getReturnMaterial',
data: {search: search}
})
// 拣选余料回库确认
export const confirmReturnMaterial = (sid, obj) => request({
url:'api/pda/iosIn/confirmReturnMaterial',
data: {sect_id: sid, obj: obj}
})
// 出库管理
// 线边仓出库获取物料库存
export const getMaterialDtl = (sid, search) => request({
url:'api/pda/iosOut/getMaterialDtl',
data: {sect_id: sid, search: search}
})
// 线边仓出库确认
export const materialConfirm = (sid, siteCode, obj) => request({
url:'api/pda/iosOut/materialConfirm',
data: {sect_id: sid, siteCode: siteCode, obj: obj}
})
// 产线叫料获取物料库存
export const linegetMaterialDtl = (rcode, search) => request({
url:'api/pda/iosOut/getMaterialDtl',
data: {region_code: rcode, search: search}
})
// 产线叫料确认
export const callMaterialConfirm = (rcode, siteCode, obj) => request({
url:'api/pda/iosOut/callMaterialConfirm',
data: {region_code: rcode, siteCode: siteCode, obj: obj}
})
// 出库确认获取物料明细
export const iosOutgetVehicleMaterial = (search) => request({
url:'api/pda/iosOut/getVehicleMaterial',
data: {search: search}
})
// 出库确认
export const confirm = (gid, scode, type) => request({
url:'api/pda/iosOut/confirm',
data: {group_id: gid, storagevehicle_code: scode, type: type}
})
// 货架绑定/解绑
export const bindOrUnbind = (siteCode, shelfCode, mode) => request({
url:'api/pda/iosOut/bindOrUnbind',
data: {siteCode: siteCode, shelfCode: shelfCode, mode: mode}
})
// 转运确认
export const transferConfirm = (scode, siteCode, rcode) => request({
url:'api/pda/iosOut/transferConfirm',
data: {storagevehicle_code: scode, siteCode: siteCode, region_code: rcode}
})
// 空载具/CTU出库确认
export const vehicleOutConfirm = (sid, siteCode, qty) => request({
url:'api/pda/iosOut/vehicleOutConfirm',
data: {sect_id: sid, siteCode: siteCode, qty: qty}
})
// 中坞
// 公用
// 获取设备区域下拉框
export const regionList = () => request({
url:'api/pda/schPoint/regionList',
data: {}
})
// 获取设备下拉框数组
export const pointList = () => request({
url:'api/pda/schPoint/pointList',
data: {}
})
// 解包上料
// 获取工单表格数据
export const getOrderList = (pcode, flag) => request({
url:'api/pda/jb/getOrderList',
data: {point_code: pcode, flag: flag}
})
// 开工
export const callMaterial = (wid, pcode, area) => request({
url:'api/pda/jb/callMaterial',
data: {workorder_id: wid, point_code: pcode, area: area}
})
// 解包下料
// 获取重量
export const getWeight = (pcode, wid) => request({
url:'api/pda/jb/getWeight',
data: {point_code: pcode, workorder_id: wid}
})
// 下料
export const downMaterial = (wid, area, weight, pcode, tcode, lcode) => request({
url:'api/pda/jb/downMaterial',
data: {workorder_id: wid, area: area, weight: weight, point_code: pcode, tp_code: tcode, lt_code: lcode}
})
// 料桶入库
// 检测站点
export const checkStruct = (pcode) => request({
url:'api/pda/jb/checkStruct',
data: {point_code: pcode}
})
// 确认放置
export const confirmSet = (pcode, vcode) => request({
url:'api/pda/jb/confirmSet',
data: {point_code: pcode, vehicle_code: vcode}
})
// 解包退料
// 解包退料
export const jbReturnMaterial = (area, pcode, wid) => request({
url:'api/pda/jb/jbReturnMaterial',
data: {area: area, point_code: pcode, workorder_id: wid}
})