作者 小范

新增转运申请界面

import axios from 'axios'
import http from "../http";
let baseUrl = 'wlpt-nmms-manage/trans/dom'
export const getList = params => { return http.get(`${baseUrl}`, params);};
export const remove = params => { return http.del(`${baseUrl}`, params); };
export const add = params => { return http.post(`${baseUrl}`,params)};
export const edit = params => { return http.put(`${baseUrl}`,params)};
... ...
... ... @@ -106,6 +106,8 @@ import Way from './views/nav3/Way.vue'
//朱总让做的网页在线客服
import Webdialog from './views/bus/Webdialog.vue'
//国际转运
import Transport from './views/nav4/Transport.vue'
... ... @@ -388,6 +390,8 @@ let routes = [
children:[
{path:'/consigner',component:Consigner,name:'发货人管理'},
{path:'/consignee',component:Consignee,name:'收货人管理'},
{path:'/transport',component:Transport,name:'转运申请'},
]
},
// {
... ...
<template>
<el-container style="height: 550px;overflow:auto;">
<el-main>
<el-row>
<el-col :span="24">
<div class="grid-content content">查询申请信息</div>
</el-col>
</el-row>
<!-- 搜索区域-->
<el-row>
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-col :span="6">
<el-form-item label="航班号">
<el-input size="small" style="width: 120px" v-model="formInline.originFlightno" placeholder="请输入航班号"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="航班日期">
<el-date-picker size="small" type="date" placeholder="选择日期" v-model="formInline.originFlightdate" style="width: 120px;"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="主单号">
<el-input size="small" style="width: 140px" v-model="formInline.originMasterwaybill" placeholder="请输入主单号"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item>
<el-button size="small" type="primary" @click="transList">查询</el-button>
</el-form-item>
</el-col>
</el-form>
</el-row>
<!-- 表单区域-->
<el-row>
<el-col :span="24">
<div class="grid-content content">国际转运明细</div>
</el-col>
</el-row>
<el-row>
<el-table
:data="tableData"
border size="small"
style="width: 100%">
<el-table-column
fixed
prop="originMasterwaybill"
label="运单号"
width="150">
</el-table-column>
<el-table-column
prop="originHousewaybill"
label="分单号"
width="120">
</el-table-column>
<el-table-column
prop="originFlightno"
label="航班号"
width="120">
</el-table-column>
<el-table-column
prop="piece"
label="运单件数"
width="120">
</el-table-column>
<el-table-column
prop="weight"
label="运单重量"
width="300">
</el-table-column>
<el-table-column
prop="goodsdesen"
label="货物品名"
width="120">
</el-table-column>
<el-table-column
prop="transFlightno"
label="转运航班号"
width="120">
</el-table-column>
<el-table-column
prop="transitType"
label="转运类型"
width="300">
</el-table-column>
<el-table-column
prop="status"
label="状态"
width="120">
</el-table-column>
<el-table-column
prop=""
label="放行信息"
width="120">
</el-table-column>
<el-table-column
fixed="right"
label="审核"
width="250">
<template slot-scope="scope">
<el-button style="margin-left: 10px" @click="handleClick(scope.row)" type="primary" size="mini">确认</el-button>
<el-button type="danger" size="mini" @click="trans_remove(scope.$index,scope.row)">删除</el-button>
<el-button style="margin-top: 10px" type="success" size="mini" @click="trans_toEditDialog(scope.$index,scope.row)">编辑</el-button>
<el-button type="info" size="mini" @click="dialogFormVisible = true">驳回</el-button>
<el-button style="margin-top: 10px" type="warning" size="mini" @click="dialogTableVisible = true">审核明细</el-button>
</template>
</el-table-column>
</el-table>
<!--分页区域-->
<div class="block">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageNum"
:page-sizes="[10, 20, 30, 40]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
<el-button style="margin-top: 20px" type="primary" size="small" @click="trans_toAddDialog">新增国际转运舱单申请</el-button>
</el-row>
<!-- 新增、修改 弹框-->
<el-row>
<el-dialog :title="dialogMap[dialogStatus]" :visible.sync="trans_dialog.addDialog" @close="trans_addDialogClosed"
style="margin-top: -50px" text-align="center" width="80%"
>
<el-form :inline="true" :model="form" class="demo-form-inline" ref="form" style="margin-top: -20px">
<el-row>
<el-col :span="24">
<div class="grid-content content">国际舱单信息</div>
</el-col>
</el-row>
<el-col :span="6">
<el-form-item label="航班号" prop="originFlightno">
<el-input size="small" v-model="form.originFlightno" style="width: 140px" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="航班日期" prop="originFlightdate">
<el-date-picker size="small" type="date" placeholder="选择日期" style="width: 140px" v-model="form.originFlightdate" ></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="主单号" prop="originMasterwaybill">
<el-input size="small" v-model="form.originMasterwaybill" style="width: 140px" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="分单号" prop="originHousewaybill">
<el-input size="small" v-model="form.originHousewaybill" style="width: 140px" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-row>
<el-col :span="24">
<div class="grid-content content">国内舱单信息</div>
</el-col>
</el-row>
<el-col :span="6">
<el-form-item label="航班号" prop="transFlightno">
<el-input size="small" v-model="form.transFlightno" style="width: 140px" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="航班日期" prop="transFlightdate">
<el-date-picker size="small" type="date" placeholder="选择日期" style="width: 140px" v-model="form.transFlightdate" ></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="主单号" prop="transMasterwaybill">
<el-input size="small" v-model="form.transMasterwaybill" style="width: 140px" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="分单号" prop="transHousewaybill">
<el-input size="small" v-model="form.transHousewaybill" style="width: 140px" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-row>
<el-col :span="24">
<div class="grid-content content">运单信息</div>
</el-col>
</el-row>
<el-col :span="6">
<el-form-item label="品名" prop="goodsdesen">
<el-input size="small" v-model="form.goodsdesen" style="width: 140px" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="件数" prop="piece">
<el-input size="small" v-model="form.piece" style="width: 140px" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="重量" prop="weight">
<el-input size="small" v-model="form.weight" style="width: 140px" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-form-item label="包装类型" prop="pack">
<el-select v-model="form.pack" size="small" placeholder="" style="width: 140px">
<el-option label="木质" value="1"></el-option>
<el-option label="铁质" value="2"></el-option>
<el-option label="玻璃" value="3"></el-option>
</el-select>
</el-form-item>
<el-col :span="6">
<el-form-item label="出发地" prop="originStation">
<el-input size="small" v-model="form.originStation" style="width: 140px" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="目的地" prop="destinationStation">
<el-input size="small" v-model="form.destinationStation" style="width: 140px" placeholder=""></el-input>
</el-form-item>
</el-col>
<el-row>
<el-col :span="24">
<div class="grid-content content">转运类型</div>
</el-col>
</el-row>
<el-col :span="6">
<el-form-item label="" prop="transitType">
<el-radio style="margin-left: 30px" v-model="form.transitType" label="imp" value="1">进口</el-radio>
<el-radio v-model="form.transitType" label="exp" value="2">出口</el-radio>
</el-form-item>
</el-col>
<el-row>
<el-col :span="24">
<el-form-item>
<el-button type="primary" size="small" style="margin-left: 700px;width: 100px" @click="dialogStatus==='create'?trans_add():trans_edit()" >提交</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
</el-row>
<!-- 审核明细弹框-->
<el-row>
<el-dialog title="审核明细" :visible.sync="dialogTableVisible">
<el-table :data="gridData">
<el-table-column property="date" label="审核时间" width="150"></el-table-column>
<el-table-column property="name" label="审核人员" width="200"></el-table-column>
<el-table-column property="address" label="放行信息"></el-table-column>
<el-table-column property="address" label="驳回原因"></el-table-column>
</el-table>
</el-dialog>
</el-row>
<!-- 驳回原因弹框-->
<el-row>
<el-dialog title="驳回原因" :visible.sync="dialogFormVisible">
<el-form :model="form">
<el-input
type="textarea"
:rows="2"
placeholder="请输入内容"
v-model="textarea">
</el-input>
</el-form>
</el-dialog>
</el-row>
</el-main>
</el-container>
</template>
<script>
import { getList, remove, add, edit} from '../../api/consigner/transport';
export default {
name: "Transport",
data() {
return {
formInline: {
originFlightno: '',
originFlightdate: '',
originMasterwaybill: '',
},
total:0,
pageNum: 1,
pageSize: 10000,
tableData:[],
gridData:[],
dialogMap: {
update: '编辑',
create: '新增',
},
dialogStatus: 'create',
trans_dialog: {
// 添加对话框
addDialog: false,
// 编辑对话框
editDialog: false,
},
dialogTableVisible: false,
dialogFormVisible: false,
textarea:'',
form:{
userName:'ASD',
originFlightno:'',
originFlightdate:'',
originMasterwaybill :'',
originHousewaybill:'',
transFlightno :'',
transFlightdate :'',
transMasterwaybill:'',
transHousewaybill :'',
goodsdesen :'',
piece :'',
weight :'',
pack :'',
originStation:'',
destinationStation:'',
transitType:'',
}
}
},
methods: {
handleSizeChange(val) {
this.pageSize=val;
this.transList();
},
handleCurrentChange(val) {
this.pageNum=val;
this.transList();
},
// 获取消息标签列表
transList() {
let _this = this;
getList(this.formInline).then((response) => {
let res = response.data;
if (res.code !== '200') {
return _this.$message.error('获取消息收发记录,失败!');
}
// 获取列表数据
_this.tableData = res.data.list;
// 获取列表的总记录数
_this.total = res.data.total;
_this.$message.success('获取消息收发记录,成功!');
}).catch(error => {
// 关闭加载
_this.$message.error(error.toString());
});
},
//删除
trans_remove(index,row){
// 弹框询问是否删除?
this.$confirm('此操作永久删除该消息收发记录, 是否继续?', '警告', {
confirmButtonText: '确定删除',
cancelButtonText: '取消',
type: 'warning'
}
).then(() => {
remove({id:row.id}).then((response) => {
console.log(row);
let res = response.data;
this.$message.success(res.msg);
this.transList();
}).catch(error => {
this.$message.error(res.msg);
});
}).catch(() => {
});
},
// trans_remove(index, row) {
// // 弹框询问是否删除?
// this.$confirm('此操作永久删除该队列信息, 是否继续?', '警告', {
// confirmButtonText: '确定删除',
// cancelButtonText: '取消',
// type: 'warning'
// }
// ).then(() => {
// remove(row).then((response) => {
// let res = response.data;
// if (res.code !== '200') {
// return this.$message.error(res.msg);
// }
// this.$message.success(res.msg);
// this.transList();
// }).catch(error => {
// this.$message.error(error.toString());
// });
// }).catch(() => {
// });
// },
//打开新增
trans_toAddDialog() {
this.dialogStatus= 'create';
this.trans_dialog.addDialog = true;
},
//新增功能
trans_add() {
// 进行表单的预验证
this.$refs.form.validate(valid => {
// 未通过,表单预校验
if (!valid) return;
add(this.form).then((response) => {
let res = response.data;
// 添加失败
if (res.code !== '200') {
// 关闭加载
return this.$message.error(res.msg);
}
// 添加,成功
this.$message.success(res.msg);
// 隐藏对话框
this.trans_dialog.addDialog = false;
// 刷新列表
this.transList();
}).catch(error => {
this.$message.error(error.toString());
});
})
},
//打开编辑
trans_toEditDialog(index, row) {
this.trans_dialog.addDialog = true;
this.dialogStatus= 'update';
this.$nextTick(() => {
this.form = Object.assign({}, row);
});
},
//编辑功能
trans_edit() {
//进行表单的预验证
this.$refs.form.validate(valid => {
// 未通过,表单预校验
if (!valid) return;
edit(this.form).then((response) => {
let res = response.data;
if (res.code !== '200') {
return this.$message.error(res.msg);
}
this.$message.success(res.msg);
// 隐藏对话框
this.trans_dialog.addDialog = false;
// 刷新列表
this.transList();
}).catch(error => {
this.$message.error(error.toString());
});
})
},
//关闭对话框
trans_addDialogClosed() {
// 重置对话框
this.$refs.form.resetFields();
},
},
mounted() {
this.transList();
},
}
</script>
<style scoped>
</style>
... ...