物料库存

This commit is contained in:
2024-02-22 17:43:32 +08:00
parent f2c4e803c4
commit 1003f2f798
22 changed files with 209 additions and 1711 deletions

View File

@@ -379,7 +379,7 @@ uni-button:after {
.item-status {
font-size: 26rpx;
color: #fff;
line-height: 14px;
line-height: 30rpx;
padding: 6rpx 1rpx;
background-color: #fff;
border-radius: 10rpx;
@@ -405,6 +405,12 @@ uni-button:after {
height: 1rpx;
background-color: #b8b8ba;
}
.item-line-2 {
width: 1rpx;
height: 30rpx;
background-color: #000;
margin: 0 14rpx;
}
/** 提交栏 **/
.submit-bar {
@@ -453,6 +459,17 @@ uni-button:after {
background-color: #ff6a00;
border-radius: 10rpx;
}
.submit-button_c {
font-size: 34rpx;
line-height: 88rpx;
color: #ff6a00;
text-align: center;
letter-spacing: 1rpx;
padding: 0;
background-color: #fff;
border: 1px solid #ff6a00;
border-radius: 10rpx;
}
.submit-more {
width: 20%;
font-size: 34rpx;

View File

@@ -40,6 +40,14 @@
}
}
,{
"path" : "pages/modules/mater-inventory",
"style" :
{
"navigationStyle": "custom"
}
}
],
"globalStyle": {
// "pageOrientation": "landscape",

View File

@@ -34,7 +34,7 @@
menuList: [
{id: '1', name: '人工排产', icon: 'RF01', path: '/pages/modules/man-paichan'},
{id: '2', name: '涂线板', icon: 'RF02', path: '/pages/modules/wire-board'},
{id: '3', name: '物料库存', icon: 'RF03', path: '/pages/manage/man-group-disk'}
{id: '3', name: '物料库存', icon: 'RF03', path: '/pages/modules/mater-inventory'}
]
};
},

View File

@@ -1,77 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="呼叫满料"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper grid-wraper">
<view class="slide_new">
<table>
<thead>
<tr>
<th>起点</th>
<th>终点</th>
<th>任务状态</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i">
<td>{{e.point_name1}}</td>
<td>{{e.point_name2}}</td>
<td>{{e.task_status}}</td>
<td>{{e.remark}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" @tap="_callingMaterialTaskShow">刷新</button>
<button class="submit-button" :disabled="disabled" @tap="toSure">呼叫满料</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import {callingMaterialTaskShow, callingMaterialTask} from '@/utils/getData1.js'
export default {
components: {
NavBar
},
data() {
return {
dataList: [],
disabled: false
};
},
created () {
this._callingMaterialTaskShow()
},
methods: {
/** grid查询 */
async _callingMaterialTaskShow () {
let res = await callingMaterialTaskShow()
this.dataList = [...res]
},
/** 呼叫满料 */
async toSure () {
this.disabled = true
try {
let res = await callingMaterialTask()
this.disabled = false
this._callingMaterialTaskShow()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled = false
}
}
}
}
</script>
<style lang="stylus">
</style>

View File

@@ -1,77 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="呼叫木盘"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper grid-wraper">
<view class="slide_new">
<table>
<thead>
<tr>
<th>起点</th>
<th>终点</th>
<th>任务状态</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i">
<td>{{e.point_name1}}</td>
<td>{{e.point_name2}}</td>
<td>{{e.task_status}}</td>
<td>{{e.remark}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" @tap="_callingWoodenPalletTaskShow">刷新</button>
<button class="submit-button" :disabled="disabled" @tap="toSure">呼叫木盘</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import {callingWoodenPalletTaskShow, callingWoodenPalletTask} from '@/utils/getData1.js'
export default {
components: {
NavBar
},
data() {
return {
dataList: [],
disabled: false
};
},
created () {
this._callingWoodenPalletTaskShow()
},
methods: {
/** grid查询 */
async _callingWoodenPalletTaskShow () {
let res = await callingWoodenPalletTaskShow()
this.dataList = [...res]
},
/** 呼叫木盘 */
async toSure () {
this.disabled = true
try {
let res = await callingWoodenPalletTask()
this.disabled = false
this._callingWoodenPalletTaskShow()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled = false
}
}
}
}
</script>
<style lang="stylus">
</style>

View File

@@ -1,77 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="空盘入库"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper grid-wraper">
<view class="slide_new">
<table>
<thead>
<tr>
<th>起点</th>
<th>终点</th>
<th>任务状态</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i">
<td>{{e.point_name1}}</td>
<td>{{e.point_name2}}</td>
<td>{{e.task_status}}</td>
<td>{{e.remark}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" @tap="_emptyDiskIntoStorageShow">刷新</button>
<button class="submit-button" :disabled="disabled" @tap="toSure">空盘入库</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import {emptyDiskIntoStorageShow, emptyDiskIntoStorageTask} from '@/utils/getData1.js'
export default {
components: {
NavBar
},
data() {
return {
dataList: [],
disabled: false
};
},
created () {
this._emptyDiskIntoStorageShow()
},
methods: {
/** grid查询 */
async _emptyDiskIntoStorageShow () {
let res = await emptyDiskIntoStorageShow()
this.dataList = [...res]
},
/** 空盘入库 */
async toSure () {
this.disabled = true
try {
let res = await emptyDiskIntoStorageTask()
this.disabled = false
this._emptyDiskIntoStorageShow()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled = false
}
}
}
}
</script>
<style lang="stylus">
</style>

View File

@@ -1,124 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="设备点检"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label">设备号</view>
<view class="filter_input_wraper">
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
</view>
</view>
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">状态</span>
</view>
<view class="filter_input_wraper">
<uni-data-select v-model="index2" :localdata="options2" @change="selectChange2"></uni-data-select>
</view>
</view>
<view class="filter_item filter_item_1">
<view class="filter_label">备注</view>
<view class="filter_input_wraper filter_input_wraper_1">
<textarea class="filter_textarea" v-model="remark"></textarea>
</view>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !index1 || !index2}" :disabled="disabled1" @tap="toSure">确认</button>
<button class="submit-button" @tap="toCancle">取消</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import {deviceInfo, deviceStatus, deviceCheckVerify} from '@/utils/getData2.js'
export default {
components: {
NavBar,
SearchBox
},
data() {
return {
options1: [],
index1: '',
options2: [],
index2: '',
remark: '',
disabled1: false
};
},
created () {
this._deviceInfo()
this._deviceStatus()
},
methods: {
/** 选择器 */
selectChange1(e) {
this.index1 = e
},
selectChange2(e) {
this.index2 = e
},
/** 获取设备下拉框 */
async _deviceInfo () {
let res = await deviceInfo()
this.options1 = [...res]
},
/** 获取设备状态下拉框 */
async _deviceStatus () {
let res = await deviceStatus()
this.options2 = [...res]
},
/** 确定 */
async toSure () {
this.disabled1 = true
if (!this.index1) {
uni.showToast({
title: '设备号不能为空',
icon: 'none'
})
this.disabled1 = false
return
}
if (!this.index2) {
uni.showToast({
title: '状态不能为空',
icon: 'none'
})
this.disabled1 = false
return
}
try {
let userName = this.$store.getters.userInfo !== '' ? JSON.parse(this.$store.getters.userInfo).username : ''
let res = await deviceCheckVerify(this.index1, userName,this.remark, this.index2)
this.disabled1 = false
this.index1 = ''
this.index2 = ''
this.remark = ''
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled1 = false
}
},
toCancle () {
this.disabled1 = false
this.index1 = ''
this.index2 = ''
this.remark = ''
}
}
}
</script>
<style lang="stylus" scoped>
.filter_item_1, .filter_input_wraper_1
align-items: flex-start
height 210rpx
</style>

View File

@@ -1,115 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="设备操作"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label">设备号</view>
<view class="filter_input_wraper">
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
</view>
</view>
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">动作</span>
</view>
<view class="filter_input_wraper">
<uni-data-select v-model="index2" :localdata="options2" @change="selectChange2"></uni-data-select>
</view>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !index1 || !index2}" :disabled="disabled1" @tap="toSure">确认</button>
<button class="submit-button" @tap="toCancle">取消</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import {deviceInfo, deviceStatus, deviceCheckVerify} from '@/utils/getData2.js'
export default {
components: {
NavBar,
SearchBox
},
data() {
return {
options1: [],
index1: '',
options2: [],
index2: '',
disabled1: false
};
},
created () {
this._deviceInfo()
this._deviceStatus()
},
methods: {
/** 选择器 */
selectChange1(e) {
this.index1 = e
},
selectChange2(e) {
this.index2 = e
},
/** 获取设备下拉框 */
async _deviceInfo () {
let res = await deviceInfo()
this.options1 = [...res]
},
/** 获取设备状态下拉框 */
async _deviceStatus () {
let res = await deviceStatus()
this.options2 = [...res]
},
/** 确定 */
async toSure () {
this.disabled1 = true
if (!this.index1) {
uni.showToast({
title: '设备号不能为空',
icon: 'none'
})
this.disabled1 = false
return
}
if (!this.index2) {
uni.showToast({
title: '状态不能为空',
icon: 'none'
})
this.disabled1 = false
return
}
try {
let userName = this.$store.getters.userInfo !== '' ? JSON.parse(this.$store.getters.userInfo).username : ''
let res = await deviceCheckVerify(this.index1, userName, this.index2)
this.disabled1 = false
this.index1 = ''
this.index2 = ''
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled1 = false
}
},
toCancle () {
this.disabled1 = false
this.index1 = ''
this.index2 = ''
}
}
}
</script>
<style lang="stylus" scoped>
.filter_item_1, .filter_input_wraper_1
align-items: flex-start
height 210rpx
</style>

View File

@@ -1,102 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="强制静置"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label">静置时间</view>
<view class="filter_input_wraper">
<input type="text" class="filter_input" v-model="val1">
</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>
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i" @tap="toCheck(e)" :class="{'checked': e.group_id === pkId}">
<td>{{e.point_code}}</td>
<td>{{e.device_code}}</td>
<td>{{e.standing_time}}</td>
<td>{{e.timeDifferenceMinutes}}</td>
<td>{{e.estimatedCompletionTimeString}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" @tap="_forcedRestingShow">刷新</button>
<button class="submit-button" :class="{'btn-disabled': !val1 || !pkId}" :disabled="disabled" @tap="toSure">确认</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import {forcedRestingShow, forcedRestingSubmit} from '@/utils/getData2.js'
import {dateTimeFtt} from '@/utils/utils.js'
export default {
components: {
NavBar
},
data() {
return {
val1: '',
dataList: [],
pkId: '',
pkObj: {},
disabled: false
};
},
created () {
this._forcedRestingShow()
},
methods: {
/** grid查询 */
async _forcedRestingShow () {
let res = await forcedRestingShow()
this.dataList = [...res]
},
/** 确认 */
async toSure () {
this.disabled = true
if (!this.val1 || !this.pkId) {
this.disabled = false
return
}
try {
let res = await forcedRestingSubmit(this.val1, this.pkId)
this.disabled = false
this.pkId = ''
this.pkObj = {}
this.val1 = ''
this._forcedRestingShow()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled = false
}
},
toCheck (e) {
this.pkId = this.pkId === e.group_id ? '' : e.group_id
this.pkObj = this.pkId === e.group_id ? e : {}
}
}
}
</script>
<style lang="stylus">
</style>

View File

@@ -1,92 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="混碾搬运"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">载具编码</span>
</view>
<view class="filter_input_wraper">
<search-box v-model="val1" />
</view>
</view>
<view class="filter_item">
<view class="filter_label">混碾位置</view>
<view class="filter_input_wraper">
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
</view>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !val1 || !index1}" :disabled="disabled1" @tap="toSure">确认</button>
<button class="submit-button" @tap="toCancle">取消</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import {getBlendingCode, sendTask} from '@/utils/getData1.js'
export default {
components: {
NavBar,
SearchBox
},
data() {
return {
val1: '',
options1: [],
index1: '',
disabled1: false
};
},
created () {
this._getBlendingCode()
},
methods: {
/** 选择器 */
selectChange1(e) {
this.index1 = e
},
/** 下拉框-混碾位置 */
async _getBlendingCode () {
let res = await getBlendingCode()
this.options1 = [...res]
},
/** 确定 */
async toSure () {
this.disabled1 = true
if (!this.val1 || !this.index1) {
this.disabled1 = false
return
}
try {
let res = await sendTask(this.val1, this.index1)
this.disabled1 = false
this.val1 = ''
this.index1 = ''
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled1 = false
}
},
toCancle () {
this.disabled1 = false
this.val1 = ''
this.index1 = ''
}
}
}
</script>
<style lang="stylus" scoped>
.filter_item_1, .filter_input_wraper_1
align-items: flex-start
height 210rpx
</style>

View File

@@ -1,89 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="混碾操作"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper grid-wraper">
<view class="slide_new">
<table>
<thead>
<tr>
<th>压机编号</th>
<th>泥料号</th>
<th>工单号</th>
<th>是否上料</th>
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i" @tap="toCheck(e)" :class="{'checked': e.record_id === pkId}">
<td>{{e.device_code}}</td>
<td>{{e.material_id}}</td>
<td>{{e.workorder_id}}</td>
<td>{{e.is_finish}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" @tap="_mixRequestInfo">刷新</button>
<button class="submit-button" :disabled="disabled" @tap="toSure">删除</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import {mixRequestInfo, mixDeleteInfo} from '@/utils/getData2.js'
export default {
components: {
NavBar
},
data() {
return {
dataList: [],
pkId: '',
pkObj: {},
disabled: false
};
},
created () {
this._mixRequestInfo()
},
methods: {
/** grid查询 */
async _mixRequestInfo () {
let res = await mixRequestInfo()
this.dataList = [...res]
},
/** 删除 */
async toSure () {
this.disabled = true
if (!this.pkId) {
this.disabled = false
return
}
try {
let res = await mixDeleteInfo(this.pkObj)
this.disabled = false
this.pkId = ''
this.pkObj = {}
this._mixRequestInfo()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled = false
}
},
toCheck (e) {
this.pkId = this.pkId === e.record_id ? '' : e.record_id
this.pkObj = this.pkId === e.record_id ? e : {}
}
}
}
</script>
<style lang="stylus">
</style>

View File

@@ -1,134 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="人工组盘"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">载具编码</span>
</view>
<view class="filter_input_wraper">
<search-box v-model="val1" />
</view>
</view>
<view class="filter_item">
<view class="filter_label">载具类型</view>
<view class="filter_input_wraper">
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
</view>
</view>
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">点位编码</span>
</view>
<view class="filter_input_wraper">
<zxz-uni-data-select v-model="index2" filterable :localdata="options2" @inputChange="inputChange" @change="change"></zxz-uni-data-select>
</view>
</view>
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">物料重量</span>
</view>
<view class="filter_input_wraper">
<input type="number" class="filter_input" v-model="val2">
</view>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !index1 || !index2}" :disabled="disabled1" @tap="toSure">确认</button>
<button class="submit-button" @tap="toCancle">取消</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import {getPressCode, getVehicleType, groupmanual} from '@/utils/getData1.js'
export default {
components: {
NavBar,
SearchBox
},
data() {
return {
val1: '',
val2: '',
options1: [],
index1: '',
options2: [],
index2: '',
disabled1: false
};
},
created () {
this._getPressCode()
this._getVehicleType()
},
methods: {
change(e) {
// console.log('e:', e);
},
inputChange(e) {
// console.log(e);
},
/** 选择器 */
selectChange1(e) {
this.index1 = e
},
// selectChange2(e) {
// this.index2 = e
// },
/** 获取载具类型下拉框 */
async _getVehicleType () {
let res = await getVehicleType()
this.options1 = [...res]
},
/** 获取点位编码下拉框 */
async _getPressCode () {
let res = await getPressCode()
this.options2 = [...res]
},
/** 确定 */
async toSure () {
this.disabled1 = true
if (!this.index1) {
this.disabled1 = false
return
}
if (!this.index2) {
this.disabled1 = false
return
}
try {
let res = await groupmanual(this.val1, this.index1, this.index2, this.val2)
this.disabled1 = false
this.val1 = ''
this.val2 = ''
this.index1 = ''
this.index2 = ''
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled1 = false
}
},
toCancle () {
this.disabled1 = false
this.val1 = ''
this.val2 = ''
this.index1 = ''
this.index2 = ''
}
}
}
</script>
<style lang="stylus" scoped>
.filter_item_1, .filter_input_wraper_1
align-items: flex-start
height 210rpx
</style>

View File

@@ -0,0 +1,113 @@
<template>
<view class="zd_container">
<nav-bar title="物料库存"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label">物料</view>
<view class="filter_input_wraper">
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
</view>
</view>
</view>
<view class="item-wrapper">
<view class="item-wrap" v-for="(e, i) in dataList" :key="i">
<view class="zd-row jcflexstart mgb10">
<view class="item-font-1 item-font-5">{{e.material_code}}</view>
<view class="item-line-2"></view>
<view class="item-font-1 item-font-6">{{e.material_name}}</view>
</view>
<view class="zd-row jcflexstart">
<view class="item-font-1 item-font-6">点位:</view>
<view class="item-font-1">{{e.point_code}}{{e.point_name}}</view>
</view>
<view class="zd-row">
<view class="zd-col-20 zd-row jcflexstart">
<view class="item-font-4">设备:</view>
<view class="item-font-4">{{e.vehicle_code}}</view>
</view>
<view class="zd-col-4 item-status" :class="'item-status-' + e.vehicle_type">{{textState(e.vehicle_type)}}</view>
</view>
</view>
</view>
</view>
<view class="zd-row submit-bar_new">
<button class="zd-col-7 submit-button_c" @tap="toClear">清空</button>
<button class="zd-col-15 submit-button_new" @tap="_getInventoryMaterialInfo">查询</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import {materialList, getInventoryMaterialInfo} from '@/utils/getData2.js'
export default {
components: {
NavBar
},
data() {
return {
dataList: [],
disabled: false,
options1: [],
index1: '',
pkId: ''
};
},
created () {
this._materialList()
},
methods: {
textState (e) {
switch (e) {
case '1':
return '普涂'
break
case '2':
return '连涂'
break
default:
return ''
break
}
},
selectChange1 (e) {
this.index1 = e
},
/** 下拉框查询 */
async _materialList () {
let res = await materialList()
this.options1 = [...res]
},
async _getInventoryMaterialInfo () {
let res = await getInventoryMaterialInfo(this.index1)
this.dataList = [...res]
},
toClear () {
this.index1 = ''
this.dataList = []
}
}
}
</script>
<style lang="stylus">
.item-font-5
color #2b87ff
font-weight bold
.item-font-6
color #000
.item-font-4
color #323232
.item-status
border-top-left-radius: 15rpx
border-bottom-left-radius: 0
border-top-right-radius: 0
border-bottom-right-radius: 15rpx
.item-status-1
background-color: #f3ccb5;
color: #ff5e00;
.item-status-2
background-color: #96f3b8;
color: #36744c;
</style>

View File

@@ -1,111 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="包装入库"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label">托盘编码</view>
<view class="filter_input_wraper">
<search-box v-model="val1" />
</view>
</view>
<view class="filter_item">
<view class="filter_label">物料数量</view>
<view class="filter_input_wraper">
<input type="number" class="filter_input" v-model="val2">
</view>
</view>
<view class="filter_item">
<view class="filter_label">剩余数量</view>
<view class="filter_input_wraper">
<input type="number" class="filter_input" v-model="val3">
</view>
</view>
</view>
<view class="zd_wrapper grid-wraper">
<view class="slide_new">
<table>
<thead>
<tr>
<th>起点1</th>
<th>终点1</th>
<th>起点2</th>
<th>终点2</th>
<th>任务状态</th>
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i">
<td>{{e.point_name1}}</td>
<td>{{e.point_name2}}</td>
<td>{{e.point_name3}}</td>
<td>{{e.point_name4}}</td>
<td>{{e.task_status}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" @tap="_manualSortingPackingTaskShow">刷新</button>
<button class="submit-button" :class="{'btn-disabled': !val1 || !val2}" :disabled="disabled" @tap="toSure">确认</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import {manualSortingPackingTaskShow, manualSortingPackingTask} from '@/utils/getData2.js'
export default {
components: {
NavBar,
SearchBox
},
data() {
return {
val1: '',
val2: '',
val3: '0',
dataList: [],
disabled: false
};
},
created () {
this._manualSortingPackingTaskShow()
},
methods: {
/** grid查询 */
async _manualSortingPackingTaskShow () {
let res = await manualSortingPackingTaskShow()
this.dataList = [...res]
},
/** 确认 */
async toSure () {
this.disabled = true
if (!this.val1 || !this.val2) {
this.disabled = false
return
}
try {
let res = await manualSortingPackingTask(this.val1, this.val2, this.val3)
this.disabled = false
this.val1 = ''
this.val2 = ''
this.val3 = '0'
this._manualSortingPackingTaskShow()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled = false
}
}
}
}
</script>
<style lang="stylus">
</style>

View File

@@ -1,76 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="托盘绑定"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label">木托盘编码</view>
<view class="filter_input_wraper">
<search-box v-model="val1" />
</view>
</view>
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">钢托盘编码</span>
</view>
<view class="filter_input_wraper">
<search-box v-model="val2" />
</view>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !val1 || !val2}" :disabled="disabled" @tap="toSure">确认</button>
<button class="submit-button" @tap="toCancle">清空</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import {manualSortingBindingVehicle} from '@/utils/getData2.js'
export default {
components: {
NavBar,
SearchBox
},
data() {
return {
val1: '',
val2: '',
disabled: false
};
},
methods: {
/** 确定 */
async toSure () {
this.disabled = true
if (!this.val1 || !this.val2) {
this.disabled = false
return
}
try {
let res = await manualSortingBindingVehicle(this.val2, this.val1)
this.disabled = false
this.val1 = ''
this.val2 = ''
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled = false
}
},
toCancle () {
this.disabled = false
this.val1 = ''
this.val2 = ''
}
}
}
</script>
<style lang="stylus" scoped>
</style>

View File

@@ -1,110 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="压机搬运"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">载具编码</span>
</view>
<view class="filter_input_wraper">
<search-box v-model="val1" />
</view>
</view>
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">搬运起点</span>
</view>
<view class="filter_input_wraper">
<zxz-uni-data-select v-model="index2" filterable :localdata="options2" @inputChange="inputChange" @change="change"></zxz-uni-data-select>
</view>
</view>
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">砖块数量</span>
</view>
<view class="filter_input_wraper">
<input type="number" class="filter_input" v-model="val2">
</view>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !index2}" :disabled="disabled1" @tap="toSure">确认</button>
<button class="submit-button" @tap="toCancle">取消</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import {pressPointList, pressTask} from '@/utils/getData1.js'
export default {
components: {
NavBar,
SearchBox
},
data() {
return {
val1: '',
val2: '',
options2: [],
index2: '',
disabled1: false
};
},
created () {
this._pressPointList()
},
methods: {
change(e) {
// console.log('e:', e);
},
inputChange(e) {
// console.log(e);
},
// selectChange2(e) {
// this.index2 = e
// },
/** 获取下拉框 */
async _pressPointList () {
let res = await pressPointList()
this.options2 = [...res]
},
/** 确定 */
async toSure () {
this.disabled1 = true
if (!this.index2) {
this.disabled1 = false
return
}
try {
let res = await pressTask(this.index2, this.val1, this.val2)
this.disabled1 = false
this.val1 = ''
this.val2 = ''
this.index2 = ''
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled1 = false
}
},
toCancle () {
this.disabled1 = false
this.val1 = ''
this.val2 = ''
this.index2 = ''
}
}
}
</script>
<style lang="stylus" scoped>
.filter_item_1, .filter_input_wraper_1
align-items: flex-start
height 210rpx
</style>

View File

@@ -1,142 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="货架盘点"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label">库位编码</view>
<view class="filter_input_wraper">
<input type="text" placeholder="输入货架号码" class="filter_input" v-model="val1">
</view>
</view>
<view class="filter_item">
<view class="filter_label_wraper">
<span class="filter_label">库位状态</span>
</view>
<view class="filter_input_wraper">
<uni-data-select v-model="index" :localdata="options" @change="selectChange"></uni-data-select>
</view>
</view>
<view v-show="index === '2' || index === '3'" class="filter_item">
<view class="filter_label">托盘编码</view>
<view class="filter_input_wraper">
<input type="text" class="filter_input" v-model="val2">
</view>
</view>
<view v-show="index === '3'" class="filter_item">
<view class="filter_label">砖块数量</view>
<view class="filter_input_wraper">
<input type="number" class="filter_input" v-model="val3">
</view>
</view>
<view v-show="index === '3'" class="filter_item">
<view class="filter_label">物料编码</view>
<view class="filter_input_wraper">
<input type="text" class="filter_input" v-model="val4">
</view>
</view>
</view>
<view v-show="index === '3'" class="zd_wrapper grid-wraper">
<view class="slide_new">
<table>
<thead>
<tr>
<th>物料编码</th>
<th>物料名称</th>
<th>物料规格</th>
<th>物料型号</th>
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i" @tap="toCheck(e)" :class="{'checked': e.material_id === pkId}">
<td>{{e.material_code}}</td>
<td>{{e.material_name}}</td>
<td>{{e.material_spec}}</td>
<td>{{e.material_model}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" @tap="_shelfMaterialQuery">查询</button>
<button class="submit-button" :class="{'btn-disabled': !val1 || !index || (index === '2' && !val2) || (index === '3' && (!val2 || !val3 || !pkId))}" :disabled="disabled" @tap="toSure">确认</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import {shelfMaterialQuery, shelfUpdateData} from '@/utils/getData2.js'
import {dateTimeFtt} from '@/utils/utils.js'
export default {
components: {
NavBar
},
data() {
return {
val1: '',
index: '',
options: [{value: '1', text: '空位'}, {value: '2', text: '空盘'}, {value: '3', text: '有料'}],
val2: '',
val3: '',
val4: '',
dataList: [],
pkId: '',
disabled: false
};
},
methods: {
selectChange(e) {
this.index = e
},
/** grid查询 */
async _shelfMaterialQuery () {
let res = await shelfMaterialQuery(this.val4)
this.dataList = [...res]
},
/** 确认 */
async toSure () {
this.disabled = true
if (!this.val1 || !this.index || (this.index === '2' && !this.val2) || (this.index === '3' && (!this.val2 || !this.val3 || !this.pkId))) {
this.disabled = false
return
}
try {
let vcode = ''
let qty = ''
let id = ''
if (this.index === '2') {
vcode = this.val2
}
if (this.index === '3') {
vcode = this.val2
qty = this.val3
id = this.pkId
}
let res = await shelfUpdateData(this.val1, this.index, vcode, qty, id)
this.disabled = false
this.pkId = ''
this.val1 = ''
this.index = ''
this.val2 = ''
this.val3 = ''
this.val4 = ''
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled = false
}
},
toCheck (e) {
this.pkId = this.pkId === e.material_id ? '' : e.material_id
}
}
}
</script>
<style lang="stylus">
</style>

View File

@@ -1,123 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="分拣排产"></nav-bar>
<view class="zd_content">
<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>
<th>实际量</th>
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i" @tap="toCheck(e)" :class="{'checked': e.workorder_code === pkId}">
<td>{{e.workorder_code}}</td>
<td>{{e.material_code}}</td>
<td>{{e.material_name}}</td>
<td>{{e.workorder_status}}</td>
<td>{{e.operator}}</td>
<td>{{e.create_name}}</td>
<td><input type="number" class="sin_input" v-model="e.plan_qty"></td>
<td>{{e.real_qty}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled1" @tap="toSure1">开工</button>
<button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled2" @tap="toSure2">完工</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import {manualSortingOrders, manualSortingProductionScheduling, manualSortingProductionComplete} from '@/utils/getData2.js'
export default {
components: {
NavBar,
SearchBox
},
data() {
return {
dataList: [],
pkId: '',
pkObj: {},
disabled1: false,
disabled2: false
};
},
created () {
this._manualSortingOrders()
},
methods: {
/** grid查询 */
async _manualSortingOrders () {
let res = await manualSortingOrders()
this.dataList = [...res]
},
toCheck (e) {
this.pkId = this.pkId === e.workorder_code ? '' : e.workorder_code
this.pkObj = this.pkId === e.workorder_code ? e : {}
},
/** 开工 */
async toSure1 () {
this.disabled1 = true
if (!this.pkId) {
this.disabled1 = false
return
}
try {
let userName = this.$store.getters.userInfo !== '' ? JSON.parse(this.$store.getters.userInfo).username : ''
let res = await manualSortingProductionScheduling(this.pkId, userName)
this.disabled1 = false
this.pkId = ''
this.pkObj = {}
this._manualSortingOrders()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled1 = false
}
},
/** 完工 */
async toSure2 () {
this.disabled2 = true
if (!this.pkId) {
this.disabled2 = false
return
}
try {
let userName = this.$store.getters.userInfo !== '' ? JSON.parse(this.$store.getters.userInfo).username : ''
let res = await manualSortingProductionComplete(this.pkId, userName)
this.disabled2 = false
this.pkId = ''
this.pkObj = {}
this._manualSortingOrders()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled2 = false
}
}
}
}
</script>
<style lang="stylus">
</style>

View File

@@ -1,101 +0,0 @@
<template>
<view class="zd_container">
<nav-bar title="剩料入库"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="filter_item">
<view class="filter_label">托盘编码</view>
<view class="filter_input_wraper">
<search-box v-model="val1" />
</view>
</view>
<view class="filter_item">
<view class="filter_label">物料数量</view>
<view class="filter_input_wraper">
<input type="number" class="filter_input" v-model="val2">
</view>
</view>
</view>
<view class="zd_wrapper grid-wraper">
<view class="slide_new">
<table>
<thead>
<tr>
<th>起点</th>
<th>终点</th>
<th>任务状态</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr v-for="(e, i) in dataList" :key="i">
<td>{{e.point_name1}}</td>
<td>{{e.point_name2}}</td>
<td>{{e.task_status}}</td>
<td>{{e.remark}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" @tap="_forcedRestingShow">刷新</button>
<button class="submit-button" :class="{'btn-disabled': !val1 || !val2}" :disabled="disabled" @tap="toSure">确认</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import {callingResidueMaterialTaskShow, callingResidueMaterialTask} from '@/utils/getData2.js'
export default {
components: {
NavBar,
SearchBox
},
data() {
return {
val1: '',
val2: '',
dataList: [],
disabled: false
};
},
created () {
this._callingResidueMaterialTaskShow()
},
methods: {
/** grid查询 */
async _callingResidueMaterialTaskShow () {
let res = await callingResidueMaterialTaskShow()
this.dataList = [...res]
},
/** 确认 */
async toSure () {
this.disabled = true
if (!this.val1 || !this.val2) {
this.disabled = false
return
}
try {
let res = await callingResidueMaterialTask(this.val1, this.val2)
this.disabled = false
this.val1 = ''
this.val2 = ''
this._callingResidueMaterialTaskShow()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled = false
}
}
}
}
</script>
<style lang="stylus">
</style>

View File

@@ -39,9 +39,9 @@
</view>
</view>
<view class="zd-row submit-bar_new">
<button class="zd-col-6 submit-button_new" @tap="toClear">清空</button>
<button class="zd-col-8 submit-button_new" @tap="_coatedWireIntoStorageTaskShow">刷新</button>
<button class="zd-col-8 submit-button_new" :class="{'btn-disabled': !val1 || !val2}" :disabled="disabled" @tap="_coatedWireIntoStorageTask">确认</button>
<button class="zd-col-5 submit-button_c" @tap="toClear">清空</button>
<button class="zd-col-5 submit-button_c" @tap="_coatedWireIntoStorageTaskShow">刷新</button>
<button class="zd-col-13 submit-button_new" :class="{'btn-disabled': !val1 || !val2}" :disabled="disabled" @tap="_coatedWireIntoStorageTask">确认</button>
</view>
</view>
</template>

View File

@@ -1,99 +1 @@
import request from './request.js'
/**
* 人工组盘
*/
// 点位编码
export const getPressCode = () => request({
url:'api/pda/group/getPressCode',
data: {}
})
// 获取载具类型
export const getVehicleType = () => request({
url:'api/pda/group/getVehicleType',
data: {}
})
// 人工组盘-确认
export const groupmanual = (vcode, vtype, pcode, weight) => request({
url:'api/pda/group/manual',
data: {
vehicle_code: vcode,
vehicle_type: vtype,
point_code: pcode,
material_weight: weight
}
})
/**
* 混碾搬运
*/
// 获取混碾机数据
export const getBlendingCode = () => request({
url:'api/pda/move/getBlendingCode',
data: {}
})
// 确认
export const sendTask = (vcode, spcode) => request({
url:'api/pda/move/sendTask',
data: {
vehicle_code: vcode,
start_point_code: spcode,
}
})
/**
* 人工分拣
*/
// 呼叫木盘
// 呼叫木盘刷新
export const callingWoodenPalletTaskShow = () => request({
url:'api/pda/manualSorting/callingWoodenPalletTaskShow',
data: {}
})
// 呼叫木盘任务
export const callingWoodenPalletTask = () => request({
url:'api/pda/manualSorting/callingWoodenPalletTask',
data: {}
})
// 呼叫满料
// 呼叫满料刷新
export const callingMaterialTaskShow = () => request({
url:'api/pda/manualSorting/callingMaterialTaskShow',
data: {}
})
// 呼叫满料确认
export const callingMaterialTask = () => request({
url:'/api/pda/manualSorting/callingMaterialTask',
data: {}
})
// 空盘入库
// 空盘入库刷新
export const emptyDiskIntoStorageShow = () => request({
url:'api/pda/manualSorting/emptyDiskIntoStorageShow',
data: {}
})
// 空盘入库确认
export const emptyDiskIntoStorageTask = () => request({
url:'api/pda/manualSorting/emptyDiskIntoStorageTask',
data: {}
})
// 压机搬运
// 压机叫料
export const pressTask = (dcode, vcode, qty, id) => request({
url:'api/pda/pressSendMaterial/pressTask',
data: {
device_code: dcode,
vehicle_code: vcode,
qty: qty,
user_id: id
}
})
// 搬运起点
export const pressPointList = () => request({
url:'api/pda/pressSendMaterial/pressPointList',
data: {}
})

View File

@@ -26,55 +26,55 @@ export const handLogin = (user, password) => request({
* 人工排产
*/
// 工单
// export const manualSortingOrders = () => request({
// url:'api/pda/manualSorting/orders',
// data: {}
// })
export const manualSortingOrders = () => {
let res = [
{
"workorder_code": "231117001",
"material_code": "ZJB",
"material_name": "正极板",
"workorder_status": "1",
"operator": null,
"create_name": "管理员",
"plan_qty": "1111",
"real_qty": "0"
},
{
"workorder_code": "231128002",
"material_code": "FJB",
"material_name": "负极板",
"workorder_status": "3",
"operator": null,
"create_name": "管理员",
"plan_qty": "2222",
"real_qty": "0"
},
{
"workorder_code": "231128003",
"material_code": "BFJB",
"material_name": "边负极板",
"workorder_status": "4",
"operator": 'admin',
"create_name": "管理员",
"plan_qty": "1111",
"real_qty": "0"
},
{
"workorder_code": "231212003",
"material_code": "BFJB",
"material_name": "边负极板",
"workorder_status": "1",
"operator": null,
"create_name": "管理员",
"plan_qty": "8989767",
"real_qty": "0"
}
]
return res
}
export const manualSortingOrders = () => request({
url:'api/pda/manualSorting/orders',
data: {}
})
// export const manualSortingOrders = () => {
// let res = [
// {
// "workorder_code": "231117001",
// "material_code": "ZJB",
// "material_name": "正极板",
// "workorder_status": "1",
// "operator": null,
// "create_name": "管理员",
// "plan_qty": "1111",
// "real_qty": "0"
// },
// {
// "workorder_code": "231128002",
// "material_code": "FJB",
// "material_name": "负极板",
// "workorder_status": "3",
// "operator": null,
// "create_name": "管理员",
// "plan_qty": "2222",
// "real_qty": "0"
// },
// {
// "workorder_code": "231128003",
// "material_code": "BFJB",
// "material_name": "边负极板",
// "workorder_status": "4",
// "operator": 'admin',
// "create_name": "管理员",
// "plan_qty": "1111",
// "real_qty": "0"
// },
// {
// "workorder_code": "231212003",
// "material_code": "BFJB",
// "material_name": "边负极板",
// "workorder_status": "1",
// "operator": null,
// "create_name": "管理员",
// "plan_qty": "8989767",
// "real_qty": "0"
// }
// ]
// return res
// }
// 开工
export const productionScheduling = (code, user) => request({
url:'api/pda/manualSorting/productionScheduling',
@@ -96,14 +96,14 @@ export const productionComplete = (code, user) => request({
* 涂板线
*/
// 数据
// export const coatedWireIntoStorageTaskShow = () => request({
// url:'api/pda/manualSorting/coatedWireIntoStorageTaskShow',
// data: {}
// })
export const coatedWireIntoStorageTaskShow = () => {
let res = [{"point_name1":"普涂线01对接位01","point_name2":'普涂线01对接位01',"point_name3":'普涂线01对接位01',"point_name4":'普涂线01对接位01',"task_status":"1","remark":"普涂线01对接位01"}, {"point_name1":"普涂线01对接位01","point_name2":'普涂线01对接位01',"point_name3":'普涂线01对接位01',"point_name4":'普涂线01对接位01',"task_status":"2","remark":"普涂线01对接位01"}, {"point_name1":"普涂线01对接位01","point_name2":'普涂线01对接位01',"point_name3":'普涂线01对接位01',"point_name4":'普涂线01对接位01',"task_status":"3","remark":"普涂线01对接位01"}, {"point_name1":"普涂线01对接位01","point_name2":'普涂线01对接位01',"point_name3":'普涂线01对接位01',"point_name4":'普涂线01对接位01',"task_status":"4","remark":"普涂线01对接位01"}]
return res
}
export const coatedWireIntoStorageTaskShow = () => request({
url:'api/pda/manualSorting/coatedWireIntoStorageTaskShow',
data: {}
})
// export const coatedWireIntoStorageTaskShow = () => {
// let res = [{"point_name1":"普涂线01对接位01","point_name2":'普涂线01对接位01',"point_name3":'普涂线01对接位01',"point_name4":'普涂线01对接位01',"task_status":"1","remark":"普涂线01对接位01"}, {"point_name1":"普涂线01对接位01","point_name2":'普涂线01对接位01',"point_name3":'普涂线01对接位01',"point_name4":'普涂线01对接位01',"task_status":"2","remark":"普涂线01对接位01"}, {"point_name1":"普涂线01对接位01","point_name2":'普涂线01对接位01',"point_name3":'普涂线01对接位01',"point_name4":'普涂线01对接位01',"task_status":"3","remark":"普涂线01对接位01"}, {"point_name1":"普涂线01对接位01","point_name2":'普涂线01对接位01',"point_name3":'普涂线01对接位01',"point_name4":'普涂线01对接位01',"task_status":"4","remark":"普涂线01对接位01"}]
// return res
// }
// 入库
export const coatedWireIntoStorageTask = (code, qty) => request({
url:'api/pda/manualSorting/coatedWireIntoStorageTask',
@@ -121,10 +121,18 @@ export const materialList = () => request({
url:'api/pda/materialList',
data: {}
})
// export const materialList = () => {
// let res = [{"value":"BFJB","text":"边负极板"},{"value":"FJB","text":"负极板"},{"value":"ZJB","text":"正极板"}]
// return res
// }
// 根据物料获取库存数据
export const getInventoryMaterialInfo = (code) => request({
url:'api/pda/getInventoryMaterialInfo',
data: {
material_code: code
}
})
})
// export const getInventoryMaterialInfo = (code) => {
// let res = [{"material_code":"FJB","material_name":"负极板","point_code":"01-09-01","point_name":"01排09列01层","vehicle_code":"T202312060006","vehicle_type":"1"}]
// return res
// }