Commit 70a7c6c8 authored by zhoutong's avatar zhoutong

海空联运

parent 8d2b1a46
import request from "@/utils/request";
/**
* 起飞
* 二程起飞
*
* @export
* @param {*} data
......@@ -23,7 +23,7 @@ import request from "@/utils/request";
}
/**
* 到港
* 二程到港
*
* @export
* @param {*} data
......@@ -32,13 +32,13 @@ import request from "@/utils/request";
export function arrivalCreate(data) {
if (data.id) {
return request({
url: "/ecw/box-arrival/update",
url: "/ecw/box-arrival-air/update",
method: "put",
data,
});
}
return request({
url: "/ecw/box-arrival/create",
url: "/ecw/box-arrival-air/create",
method: "post",
data,
});
......
<template>
<div class="shippingSea-dialog">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="运输方式" prop="transportType">
<el-radio-group v-model="form.transportType">
<el-radio v-for="dict in transportTypes" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="出货渠道" prop="shippingChannelId">
<el-select v-model="form.shippingChannelId" placeholder="请选择出货渠道">
<el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId" :key="item.channelId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="柜型" prop="cabinetId">
<el-select v-model="form.cabinetId" placeholder="请选择柜型">
<el-option v-for="item in cabinetList" :label="item.name" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="始发地" prop="startWarehouseId">
<el-select v-model="form.startWarehouseId" placeholder="请选择始发地">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseId">
<el-select v-model="form.destWarehouseId" placeholder="请选择目的地">
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</div>
</template>
<script>
import { createbox, updatebox } from "@/api/ecw/box";
import { getChannelList } from '@/api/ecw/channel'
export default {
name: "editForm",
inheritAttrs: false,
props: {
transportTypes: Array,
warehouseList: Array,
cabinetList: Array,
shipmentObj: Object,
},
created() {
this.form = { ...this.shipmentObj };
this.getChannelList()
},
data() {
return {
// 表单参数
form: { transportType: '4' },
channelList: [],
// 表单校验
rules: {
shippingChannelId: [
{ required: true, message: '出货渠道不能为空', trigger: 'blur' }
],
cabinetId: [
{ required: true, message: '柜型不能为空', trigger: 'blur' }
],
startWarehouseId: [
{ required: true, message: '始发地不能为空', trigger: 'blur' }
],
destWarehouseId: [
{ required: true, message: '目的地不能为空', trigger: 'blur' }
]
}
};
},
methods: {
getChannelList() {
getChannelList().then((res) => (this.channelList = res.data))
},
/** 提交按钮 */
submitForm() {
this.$refs['form'].validate((valid) => {
if (!valid) {
return
}
this.form.transportType = 4
// 修改的提交
if (this.form.id != null) {
updatebox(this.form).then((response) => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
return
}
// 添加的提交
createbox(this.form).then((response) => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
})
},
/** 取消按钮 */
cancel() {
this.$emit("closeDialog");
},
},
computed: {
exportWarehouseList() {
return this.warehouseList.filter(
(item) => item.tradeType == "2" || item.type == "3"
);
},
importWarehouseList() {
return this.warehouseList.filter(
(item) => item.tradeType == "1" || item.type == "3"
);
},
},
};
</script>
<style lang="scss">
// 海运操作统一弹窗样式
.shippingSea-dialog {
// 页面内元素弹窗form控件宽度设置
.el-form-item__content {
> div:not(.el-input-number) {
width: 100%;
}
}
.operate-button {
text-align: center;
}
.two-element-formItem {
display: flex;
> :last-child {
width: 100%;
margin-left: 10px;
}
}
.two-element {
.el-form-item__content {
display: flex;
> :last-child {
margin-left: 10px;
}
}
}
}
</style>
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="自编号" prop="selfNo">
<el-input v-model="queryParams.selfNo" placeholder="请输入自编号" clearable @keyup.enter.native="handleQuery"/>
<el-input
v-model="queryParams.selfNo"
placeholder="请输入自编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="柜号" prop="cubNo">
<el-input v-model="queryParams.cubNo" placeholder="请输入柜号" clearable @keyup.enter.native="handleQuery"/>
<el-input
v-model="queryParams.cubNo"
placeholder="请输入柜号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="柜型" prop="cabinetId">
<el-select v-model="queryParams.cabinetId" placeholder="请选择柜型">
<el-option v-for="item in cabinetList" :label="item.name" :value="item.name" :key="item.id"></el-option>
<el-option
v-for="item in cabinetList"
:label="item.name"
:value="item.name"
:key="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="始发地" prop="startWarehouseId">
<el-select v-model="queryParams.startWarehouseId" placeholder="请选择始发地">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-select
v-model="queryParams.startWarehouseId"
placeholder="请选择始发地"
>
<el-option
v-for="item in exportWarehouseList"
:label="item.titleZh"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseId">
<el-select v-model="queryParams.destWarehouseId" placeholder="请选择目的地">
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
<el-select
v-model="queryParams.destWarehouseId"
placeholder="请选择目的地"
>
<el-option
v-for="item in importWarehouseList"
:label="item.titleZh"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="" prop="date">
<el-select v-model="queryParams.dateType" placeholder="请选择时间类型" clearable size="small">
<el-option v-for="item in dateTypes" :key="item.value" :label="item.label" :value="item.value" />
<el-select
v-model="queryParams.dateType"
placeholder="请选择时间类型"
clearable
size="small"
>
<el-option
v-for="item in dateTypes"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="">
<el-date-picker v-model="queryParams.dateRangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"/>
<el-date-picker
v-model="queryParams.dateRangeCreateTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
/>
</el-form-item>
<el-form-item label="状态" prop="boxStatus">
<el-select v-model="queryParams.boxStatus" placeholder="请选择状态" clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)"
:key="dict.value" :label="dict.label" :value="dict.value"/>
<el-select
v-model="queryParams.boxStatus"
placeholder="请选择状态"
clearable
size="small"
>
<el-option
v-for="dict in this.getDictDatas(DICT_TYPE.BOX_SHIPMENT_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
......@@ -56,23 +119,38 @@
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['shipment:box:create']">出货安排
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['shipment:box:create']"
>出货安排
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
:loading="exportLoading"
v-hasPermi="['shipment:box:export']">导出
v-hasPermi="['shipment:box:export']"
>导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="自编号" align="center" prop="selfNo"/>
<el-table-column label="柜号" align="center" prop="cubNo"/>
<el-table-column label="自编号" align="center" prop="selfNo" />
<el-table-column label="柜号" align="center" prop="cubNo" />
<el-table-column label="柜型" align="center" prop="cabinetId">
<template slot-scope="scope">
<span>{{ getCabinetName(scope.row.cabinetId) }}</span>
......@@ -80,7 +158,10 @@
</el-table-column>
<el-table-column label="运输方式" align="center" prop="transportType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportType"/>
<dict-tag
:type="DICT_TYPE.ECW_TRANSPORT_TYPE"
:value="scope.row.transportType"
/>
</template>
</el-table-column>
......@@ -90,25 +171,36 @@
</template>
</el-table-column>
<el-table-column label="方数(预装/已装)" align="center" prop="squareNumber">
<template slot-scope="{row}">
{{row.boxStatistics.volume}}/{{row.boxStatistics.loadVolume}}
<el-table-column
label="方数(预装/已装)"
align="center"
prop="squareNumber"
>
<template slot-scope="{ row }">
{{ row.boxStatistics.volume }}/{{ row.boxStatistics.loadVolume }}
</template>
</el-table-column>
<el-table-column label="重量(预装/已装)" align="center" prop="weight">
<template slot-scope="{row}">
{{row.boxStatistics.weight}}/{{row.boxStatistics.loadWeight}}
<template slot-scope="{ row }">
{{ row.boxStatistics.weight }}/{{ row.boxStatistics.loadWeight }}
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="shipmentStatusText" />
<el-table-column label="日期" align="center" prop="createTime" width="180">
<el-table-column
label="日期"
align="center"
prop="createTime"
width="180"
>
<template slot-scope="scope">
<span>{{ new Date(scope.row.createTime).format('yyyy-MM-dd hh:mm:ss') }}</span>
<span>{{
new Date(scope.row.createTime).format('yyyy-MM-dd hh:mm:ss')
}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope">
<!-- <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)"
v-hasPermi="['shipment:box:query']">查看</el-button>
......@@ -116,89 +208,123 @@
v-hasPermi="['shipment:box:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['shipment:box:delete']">删除</el-button> -->
<el-dropdown trigger="click" @command="(command)=>handleCommand(scope.row, command)">
<el-dropdown
trigger="click"
@command="(command) => handleCommand(scope.row, command)"
style="marginRight:10px;"
>
<el-button type="primary">
操作<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="edit">编辑</el-dropdown-item>
<el-dropdown-item command="seaAir">操作-海空联运</el-dropdown-item>
<el-dropdown-item command="seaAir"
>操作-海空联运</el-dropdown-item
>
<el-dropdown-item command="error">异常登记</el-dropdown-item>
<el-dropdown-item command="cost">费用登记</el-dropdown-item>
<el-dropdown-item command="delete">删除</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click">
<el-button type="primary">
下载<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="">预装单</el-dropdown-item>
<el-dropdown-item command="">已装单</el-dropdown-item>
<el-dropdown-item command="">应收汇总表</el-dropdown-item>
<el-dropdown-item command="">agent list</el-dropdown-item>
<el-dropdown-item command="">son cap</el-dropdown-item>
<el-dropdown-item command="">提货单</el-dropdown-item>
<el-dropdown-item command="">提单Copy</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNo"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="运输方式" prop="transportType">
<el-radio-group v-model="form.transportType">
<el-radio v-for="dict in transportTypes" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="出货渠道" prop="shippingChannelId">
<el-select v-model="form.shippingChannelId" placeholder="请选择出货渠道">
<el-option v-for="item in channelList" :label="item.nameZh" :value="item.channelId" :key="item.channelId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="柜型" prop="cabinetId">
<el-select v-model="form.cabinetId" placeholder="请选择柜型">
<el-option v-for="item in cabinetList" :label="item.name" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="始发地" prop="startWarehouseId">
<el-select v-model="form.startWarehouseId" placeholder="请选择始发地">
<el-option v-for="item in exportWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地" prop="destWarehouseId">
<el-select v-model="form.destWarehouseId" placeholder="请选择目的地">
<el-option v-for="item in importWarehouseList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
<el-dialog
:title="dialogCfg.title"
:visible.sync="dialogCfg.open"
:width="dialogCfg.width"
:fullscreen="dialogCfg.fullscreen"
append-to-body
class="shippingSea-dialog"
>
<template
v-if="
dialogCfg.dialogType === 'edit' || dialogCfg.dialogType === 'add'
"
>
<editForm
v-if="dialogCfg.open"
@closeDialog="closeDialog"
:shipmentObj="currRow"
:warehouseList="warehouseList"
:transportTypes="transportTypes"
:cabinetList="cabinetList"
/>
</template>
<template v-if="dialogCfg.dialogType === 'cost'">
<costForm
v-if="dialogCfg.open"
@closeDialog="closeDialog"
:shipmentObj="currRow"
/>
</template>
<template v-if="dialogCfg.dialogType === 'error'">
<regError
v-if="dialogCfg.open"
@closeDialog="closeDialog"
:shipmentObj="currRow"
/>
</template>
</el-dialog>
</div>
</template>
<script>
import {createbox, updatebox, deletebox, getbox, getboxPage, exportboxExcel} from "@/api/ecw/box";
import {getCabinetPage} from "@/api/ecw/cabinet";
import { getChannelList } from '@/api/ecw/channel';
import { getWarehouseList } from "@/api/ecw/warehouse"
export default {
name: "box",
components: {},
import {
deletebox,
getbox,
getboxPage,
exportboxExcel
} from '@/api/ecw/box'
import { getCabinetPage } from '@/api/ecw/cabinet'
import { getChannelList } from '@/api/ecw/channel'
import { getWarehouseList } from '@/api/ecw/warehouse'
import costForm from './costForm.vue'
import regError from './regError.vue'
import editForm from './editSeaAirForm.vue'
export default {
name: 'box',
components: {
costForm,
regError,
editForm
},
data() {
return {
dateTypes:[
{value:'1', label:'预装时间'},
{value:'2', label:'装柜时间'},
{value:'3', label:'起运时间'},
{value:'4', label:'到港时间'},
{value:'5', label:'清关时间'},
{value:'6', label:'提货时间'},
dateTypes: [
{ value: '1', label: '预装时间' },
{ value: '2', label: '装柜时间' },
{ value: '3', label: '起运时间' },
{ value: '4', label: '到港时间' },
{ value: '5', label: '清关时间' },
{ value: '6', label: '提货时间' }
],
// 遮罩层
loading: true,
// 导出遮罩层
......@@ -210,9 +336,19 @@
// 出货列表
list: [],
// 弹出层标题
title: '',
// 是否显示弹出层
open: false,
dialogCfg: {
title: "",
dialogType: "",
width: "600px",
// 是否显示弹出层
open: false,
fullscreen: false,
},
// 当前行
currRow: {},
dateRangeCreateTime: [],
// 查询参数
queryParams: {
......@@ -225,37 +361,31 @@
boxStatus: null,
startWarehouseId: null,
destWarehouseId: null,
transportType: null,
transportType: null
},
cabinetList:[],
channelList:[],
cabinetList: [],
channelList: [],
warehouseList: [],
// 表单参数
form: {transportType:"4"},
// 表单校验
rules: {
shippingChannelId: [{ required: true, message: "出货渠道不能为空", trigger: "blur" }],
cabinetId: [{ required: true, message: "柜型不能为空", trigger: "blur" }],
startWarehouseId: [{ required: true, message: "始发地不能为空", trigger: "blur" }],
destWarehouseId: [{ required: true, message: "目的地不能为空", trigger: "blur" }],
}
};
},
computed: {
exportWarehouseList() {
return this.warehouseList.filter(item => item.tradeType == '2' || item.type == '3')
return this.warehouseList.filter(
(item) => item.tradeType == '2' || item.type == '3'
)
},
importWarehouseList() {
return this.warehouseList.filter(item => item.tradeType == '1' || item.type == '3')
return this.warehouseList.filter(
(item) => item.tradeType == '1' || item.type == '3'
)
},
getCabinetName() {
return cabinetId => {
return (cabinetId) => {
for (let index in this.cabinetList) {
let cabinetItem = this.cabinetList[index];
let cabinetItem = this.cabinetList[index]
if (cabinetItem.id == cabinetId) {
return cabinetItem.name;
return cabinetItem.name
}
}
return '/'
......@@ -263,53 +393,51 @@
},
getShipChannelName() {
return shippingChannelId => {
return (shippingChannelId) => {
for (let index in this.channelList) {
let channelItem = this.channelList[index];
let channelItem = this.channelList[index]
if (channelItem.channelId == shippingChannelId) {
return channelItem.nameZh;
return channelItem.nameZh
}
}
return '/'
}
}
},
created() {
this.transportTypes = this.getDictDatas(
this.DICT_TYPE.ECW_TRANSPORT_TYPE
).filter((item) => item.value == "4");
getWarehouseList().then(res => this.warehouseList = res.data);
getCabinetPage(null).then(response => {
this.cabinetList = response.data.list;
});
this.getList();
this.getChannelList();
).filter((item) => item.value == '4')
getWarehouseList().then((res) => (this.warehouseList = res.data))
getCabinetPage(null).then((response) => {
this.cabinetList = response.data.list
})
this.getList()
this.getChannelList()
},
methods: {
getChannelList(){
getChannelList().then(res => this.channelList = res.data)
getChannelList() {
getChannelList().then((res) => (this.channelList = res.data))
},
/** 查询列表 */
getList() {
this.loading = true;
this.loading = true
// 处理查询参数
let params = {...this.queryParams};
params.transportType = 4;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
let params = { ...this.queryParams }
params.transportType = 4
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime')
// 执行查询
getboxPage(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
getboxPage(params).then((response) => {
this.list = response.data.list
this.total = response.data.total
this.loading = false
})
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
this.open = false
this.reset()
},
/** 表单重置 */
reset() {
......@@ -318,107 +446,113 @@
cabinetId: undefined,
startWarehouseId: undefined,
destWarehouseId: undefined,
transportType: "4",
};
this.resetForm("form");
transportType: '4'
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
this.queryParams.pageNo = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.dateRangeCreateTime = [];
this.resetForm("queryForm");
this.handleQuery();
this.dateRangeCreateTime = []
this.resetForm('queryForm')
this.handleQuery()
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加出货";
this.$set(this.dialogCfg, "title", "添加出货");
this.$set(this.dialogCfg, "dialogType", "add");
this.$set(this.dialogCfg, "width", "600px");
this.$set(this.dialogCfg, "fullscreen", false);
this.$set(this.dialogCfg, "open", true);
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getbox(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改出货";
getbox(id).then((response) => {
this.currRow = response.data;
this.$set(this.dialogCfg, "title", "修改出货");
this.$set(this.dialogCfg, "dialogType", "edit");
this.$set(this.dialogCfg, "width", "600px");
this.$set(this.dialogCfg, "open", true);
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
this.form.transportType = 4;
// 修改的提交
if (this.form.id != null) {
updatebox(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
/* 关闭弹窗 */
closeDialog(type) {
this.$set(this.dialogCfg, "open", false);
if (type === "add" || type === "edit") {
this.getList();
});
return;
}
// 添加的提交
createbox(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除出货编号为"' + id + '"的数据项?').then(function () {
return deletebox(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
});
const id = row.id
this.$modal
.confirm('是否确认删除出货编号为"' + id + '"的数据项?')
.then(function () {
return deletebox(id)
})
.then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
})
.catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
// 处理查询参数
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
let params = { ...this.queryParams }
params.pageNo = undefined
params.pageSize = undefined
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime')
// 执行导出
this.$modal.confirm('是否确认导出所有出货数据项?').then(() => {
this.exportLoading = true;
return exportboxExcel(params);
}).then(response => {
this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false;
}).catch(() => {
});
this.$modal
.confirm('是否确认导出所有出货数据项?')
.then(() => {
this.exportLoading = true
return exportboxExcel(params)
})
.then((response) => {
this.$download.excel(response, '${table.classComment}.xls')
this.exportLoading = false
})
.catch(() => {})
},
/** 查看按钮操作 */
handleCommand(row, command) {
this.$set(this.dialogCfg, "fullscreen", false);
switch (command) {
case 'seaAir':
this.$router.push('/boxSeaAir/shippingSeaAir/' + row.id)
break;
break
case 'edit':
this.handleUpdate(row);
break;
this.handleUpdate(row)
break
case 'delete':
this.handleDelete(row);
break;
this.handleDelete(row)
break
case 'cost':
this.$set(this.dialogCfg, 'title', '费用登记')
break
case 'error':
this.$set(this.dialogCfg, 'title', '异常登记')
break
}
if (["editLadingBill", "cost", "error"].includes(command)) {
this.currRow = row;
this.$set(this.dialogCfg, "dialogType", command);
this.$set(this.dialogCfg, "width", "600px");
this.$set(this.dialogCfg, "open", true);
}
}
},
}
};
}
</script>
<template>
<div>
<el-form ref="twoWayArrivalForm" :rules="rules" :model="twoWayArrivalObj" label-width="120px">
<el-form-item label="实际到港时间" prop="apRealTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="twoWayArrivalObj.apRealTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="确认到港时间" prop="apConfirmTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="twoWayArrivalObj.apConfirmTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
<el-form-item label="卸港时间" prop="apUnloadPortTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="twoWayArrivalObj.apUnloadPortTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
<el-form-item label="实际到港时间" prop="actTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="twoWayArrivalObj.actTime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item>
</el-form>
......@@ -46,9 +40,7 @@ export default {
twoWayArrivalObj: {},
// 校验
rules: {
actHeadTime: [{ required: true, message: "必填", trigger: "blur" }],
estHeadTime: [{ required: true, message: "必填", trigger: "blur" }],
estSecondTime: [{ required: true, message: "必填", trigger: "blur" }],
actTime: [{ required: true, message: "必填", trigger: "blur" }]
},
// 弹窗配置
dialogVisible: false,
......@@ -59,9 +51,7 @@ export default {
created() {
const voName = this.$attrs.currNode.voName;
let oldData = { ...this.$attrs.shipmentObj[voName] };
oldData = formatDateStr(oldData, ["apConfirmTime"], "YYYY-MM-DD HH:mm:ss");
oldData = formatDateStr(oldData, ["apRealTime"], "YYYY-MM-DD HH:mm:ss");
oldData = formatDateStr(oldData, ["apUnloadPortTime"], "YYYY-MM-DD HH:mm:ss");
oldData = formatDateStr(oldData, ["actTime"], "YYYY-MM-DD HH:mm:ss");
this.twoWayArrivalObj = oldData;
},
watch: {
......
......@@ -789,7 +789,7 @@ function seaBaseData() {
/**
* 清关状态:131、未清关;132、已清关
*/
voName: "arrivalInfo",
voName: "airArrivalInfo",
keyName: "sapStatus",
status: {
start: [151],
......@@ -1172,6 +1172,38 @@ function getColmnMapping() {
key: "operator",
},
],
takeOffInfo: [
{
title: "预计头程时间",
key: "estHeadTime",
type: "datetime",
},
{
title: "实际头程时间",
key: "actHeadTime",
type: "datetime",
},
{
title: "预计二程时间",
key: "estSecondTime",
type: "date",
},
{
title: "业务员",
key: "operator",
},
],
airArrivalInfo: [
{
title: "实际到港时间",
key: "actTime",
type: "datetime",
},
{
title: "业务员",
key: "operator",
},
],
cabinetUnloadInfo: [
{
title: "到仓时间",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment