作者 xudada

危险品手机适配出入库

import axios from 'axios'
let baseServiceURL = 'wms-server-warehouse'
//危险品入库
export const dangerousImp = params => { return axios.get(`${baseServiceURL}/wms/newinventroyrecord/dangerousImport`, { params: params }); };
//危险品出库
export const dangerousExt = params => { return axios.get(`${baseServiceURL}/wms/newinventroyrecord/dangerousExt`, { params: params }); };
//预配信息查询
export const checkPre = params => { return axios.get(`${baseServiceURL}/wms/newinventroyrecord/checkPre`, { params: params }); };
... ...
... ... @@ -127,6 +127,8 @@ import area from './views/deploy/area.vue'
import seller from './views/deploy/seller.vue'
import classification from './views/deploy/classification.vue'
import subscribe from './views/deploy/subscribe.vue'
import DangerousImport from './views/deploy/dangerImport.vue'
import DangerousExt from './views/deploy/dangerExt.vue'
... ... @@ -590,6 +592,8 @@ let routes = [
{path:'/seller',component:seller,name:'商品管理'},
{path:'/classification',component:classification,name:'分类监管申请'},
{path:'/subscribe',component:subscribe,name:'分类监管查询'},
{path:'/DangerousImport',component:DangerousImport,name:'危险品入库'},
{path:'/DangerousExt',component:DangerousExt,name:'危险品出库'},
]
},
{
... ...
<template>
<el-container class="form-container">
<el-header>
<h1>危险品出库</h1>
</el-header>
<el-main>
<el-card class="form-card">
<el-form :label-position="labelPosition" :model="form" ref="form" label-width="100px" :rules="rules">
<el-form-item label="运单号" prop="waybill">
<el-input class="form-input" v-model="form.waybill" placeholder="请输入运单号" clearable @blur="handleBlur"></el-input>
</el-form-item>
<el-form-item label="件数" prop="pcs">
<el-input class="form-input" type="number" v-model="form.pcs" placeholder="请输入件数" clearable></el-input>
</el-form-item>
<el-form-item label="重量 (kg)" prop="weight">
<el-input class="form-input" type="number" v-model="form.weight" placeholder="请输入重量" clearable></el-input>
</el-form-item>
<el-form-item label="危险品" prop="hazardous">
<el-select class="form-input" v-model="form.hazardous" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm" class="submit-button">危险品出库</el-button>
</el-form-item>
</el-form>
</el-card>
</el-main>
</el-container>
</template>
<script>
import {selectNewInventroys} from '../../api/consigner/station'
import {dangerousExt,} from '../../api/consigner/dangerous'
export default {
data() {
return {
options: [
{
value: "3481",
label: '一般危险品'
}, {
value: "3091",
label: '锂电池'
}
],
labelPosition:'left',
form: {
waybill: '',
pcs: null,
weight: null,
hazardous: '3481'
},
queryInfo: {
waybill:'',
billfhl:'',
locationno:'',
// 当前页数
pageNum: 1,
// 每页大小
pageSize: 10,
starttime:'',
endtime:'',
remark2:''
},
rules: {
waybill: [
{ required: true, message: '运单号不能为空', trigger: 'blur' }
],
pcs: [
{ required: true, message: '件数不能为空', trigger: 'blur' }
],
weight: [
{ required: true, message: '重量不能为空', trigger: 'blur' }
],
hazardous: [
{ required: true, message: '请选择是否为危险品', trigger: 'change' }
]
}
};
},
methods: {
submitForm() {
this.$refs.form.validate((valid) => {
if (valid) {
dangerousExt(this.form).then((response) => {
const res = response.data
if (res.code !== '200') {
return this.$message.error(res.msg)
}
this.$message.success(res.msg);
this.$refs.form.resetFields();
}).catch(error => {
// 关闭加载
this.$message.error(error.toString())
})
} else {
return false;
}
});
},
handleBlur() {
// 在这里处理失去焦点事件
if(this.form.waybill!==null && this.form.waybill!==''){
this.queryInfo.waybill=this.form.waybill;
selectNewInventroys(this.queryInfo).then((response) => {
const res = response.data
if (res.code !== '200') {
return this.$message.error('剩余库调取失败')
}
if(res.data.list!==null){
this.form.pcs=res.data.list[0].pcs;
this.form.weight=res.data.list[0].weight;
this.form.hazardous=res.data.list[0].remark3;
}
this.$message.success('库存调取成功')
}).catch(error => {
// 关闭加载
this.$message.error(error.toString())
})
}
// 你可以在这里执行其他操作,比如验证输入或发送请求等
}
}
};
</script>
<style scoped>
.form-container {
background-color: #f5f5f5;
padding: 20px;
min-height: 100vh;
}
.el-header {
text-align: center;
margin-bottom: 20px;
color: #333;
}
.form-card {
background-color: #ffffff;
border-radius: 8px;
padding: 20px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.form-input {
width: 100%; /* 设置宽度为100% */
}
.submit-button {
width: 100%;
}
.el-form-item {
margin-bottom: 15px;
}
@media (max-width: 600px) {
.form-container {
padding: 10px;
}
}
</style>
... ...
<template>
<el-container class="form-container">
<el-header>
<h1>危险品入库</h1>
</el-header>
<el-main>
<el-card class="form-card">
<el-form :label-position="labelPosition" :model="form" ref="form" label-width="100px" :rules="rules">
<el-form-item label="运单号" prop="waybill">
<el-input class="form-input" v-model="form.waybill" placeholder="请输入运单号" clearable @blur="handleBlur"></el-input>
</el-form-item>
<el-form-item label="件数" prop="pcs">
<el-input class="form-input" type="number" v-model="form.pcs" placeholder="请输入件数" clearable></el-input>
</el-form-item>
<el-form-item label="重量 (kg)" prop="weight">
<el-input class="form-input" type="number" v-model="form.weight" placeholder="请输入重量" clearable></el-input>
</el-form-item>
<el-form-item label="危险品" prop="hazardous">
<el-select class="form-input" v-model="form.hazardous" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="success" @click="submitForm" class="submit-button">危险品入库</el-button>
</el-form-item>
</el-form>
</el-card>
</el-main>
</el-container>
</template>
<script>
import {dangerousImp,checkPre} from '../../api/consigner/dangerous'
import axios from 'axios';
export default {
data() {
return {
responseData: null,
options: [
{
value: "3481",
label: '一般危险品'
}, {
value: "3091",
label: '锂电池'
}
],
labelPosition:'left',
form: {
waybill: '',
pcs: null,
weight: null,
hazardous: '3481'
},
rules: {
waybill: [
{ required: true, message: '运单号不能为空', trigger: 'blur' }
],
pcs: [
{ required: true, message: '件数不能为空', trigger: 'blur' }
],
weight: [
{ required: true, message: '重量不能为空', trigger: 'blur' }
],
hazardous: [
{ required: true, message: '请选择是否为危险品', trigger: 'change' }
]
}
};
},
methods: {
submitForm() {
this.$refs.form.validate((valid) => {
if (valid) {
dangerousImp(this.form).then((response) => {
const res = response.data
if (res.code !== '200') {
return this.$message.error(res.msg)
}
this.$message.success(res.msg);
this.$refs.form.resetFields();
}).catch(error => {
// 关闭加载
this.$message.error(error.toString())
})
} else {
return false;
}
});
},
handleBlur() {
if(this.form.waybill!==null && this.form.waybill!==''){
checkPre({waybill:this.form.waybill}).then((response) => {
const res = response.data
if (res.code !== '200') {
return this.$message.error(res.msg)
}
this.$message.success(res.msg);
this.form.pcs=res.data.pcs;
this.form.weight=res.data.weight;
}).catch(error => {
// 关闭加载
this.$message.error(error.toString())
})
}
}
},
};
</script>
<style scoped>
.form-container {
background-color: #f5f5f5;
padding: 20px;
min-height: 100vh;
}
.el-header {
text-align: center;
margin-bottom: 20px;
color: #333;
}
.form-card {
background-color: #ffffff;
border-radius: 8px;
padding: 20px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.form-input {
width: 100%; /* 设置宽度为100% */
}
.submit-button {
width: 100%;
}
.el-form-item {
margin-bottom: 15px;
}
@media (max-width: 600px) {
.form-container {
padding: 10px;
}
}
</style>
... ...