Commit 2270d256 authored by dragondean@qq.com's avatar dragondean@qq.com
parents 9efd7e6c 71b11129
import request from '@/utils/request'
// 创建入仓货物详情
export function createOrderWarehouseIn(data) {
return request({
url: '/depository/order-warehouse-in/create',
method: 'post',
data: data
})
}
// 更新入仓货物详情
export function updateOrderWarehouseIn(data) {
return request({
url: '/depository/order-warehouse-in/update',
method: 'put',
data: data
})
}
// 删除入仓货物详情
export function deleteOrderWarehouseIn(id) {
return request({
url: '/depository/order-warehouse-in/delete?id=' + id,
method: 'delete'
})
}
// 获得入仓货物详情
export function getOrderWarehouseIn(id) {
return request({
url: '/depository/order-warehouse-in/get?id=' + id,
method: 'get'
})
}
// 获得入仓货物详情分页
export function getOrderWarehouseInPage(query) {
return request({
url: '/depository/order-warehouse-in/page',
method: 'get',
params: query
})
}
// 导出入仓货物详情 Excel
export function exportOrderWarehouseInExcel(query) {
return request({
url: '/depository/order-warehouse-in/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}
import request from '@/utils/request'
// 创建订单异常
export function createOrderException(data) {
return request({
url: '/ecw/order-exception/create',
method: 'post',
data: data
})
}
// 更新订单异常
export function updateOrderException(data) {
return request({
url: '/ecw/order-exception/update',
method: 'put',
data: data
})
}
// 删除订单异常
export function deleteOrderException(id) {
return request({
url: '/ecw/order-exception/delete?id=' + id,
method: 'delete'
})
}
// 获得订单异常
export function getOrderException(id) {
return request({
url: '/ecw/order-exception/get?id=' + id,
method: 'get'
})
}
// 获得订单异常分页
export function getOrderExceptionPage(query) {
return request({
url: '/ecw/order-exception/page',
method: 'get',
params: query
})
}
// 导出订单异常 Excel
export function exportOrderExceptionExcel(query) {
return request({
url: '/ecw/order-exception/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}
...@@ -298,17 +298,10 @@ export const constantRoutes = [ ...@@ -298,17 +298,10 @@ export const constantRoutes = [
}, */ }, */
{ {
path: 'shippingSea/:boxId(\\d+)', path: 'shippingSea/:boxId(\\d+)',
component: (resolve) => import('@/views/ecw/box/shipping/shippingSea'), component: (resolve) => import('@/views/ecw/box/shippingSea/shippingSea'),
props: true, props: true,
name: 'shippingSea', name: 'shippingSea',
meta: {title: '海运出货操作', icon: '', activeMenu: '/shipment/boxSea'} meta: {title: '海运出货操作', icon: '', activeMenu: '/shipment/boxSea'}
},
{
path: 'shippingSea/preinstall/:boxId(\\d+)',
component: (resolve) => import('@/views/ecw/box/shipping/preinstall'),
props: true,
name: 'preinstall',
meta: {title: '出货安排(预装)', icon: '', activeMenu: '/shipment/boxSea'}
} }
] ]
}, },
......
...@@ -140,6 +140,9 @@ export const DICT_TYPE = { ...@@ -140,6 +140,9 @@ export const DICT_TYPE = {
DRAWEE: 'drawee', // 付款人 DRAWEE: 'drawee', // 付款人
ORDER_STATUS: 'order_status',//订单状态 ORDER_STATUS: 'order_status',//订单状态
BEGINTIME_TYPE_ENDTIME: 'begintime_type_endtime',//订单日期筛选类别 BEGINTIME_TYPE_ENDTIME: 'begintime_type_endtime',//订单日期筛选类别
ORDER_ERROR_TYPE:'order_error_type',//订单异常类型
ORDER_EXCEPTION_STATUS:'order_exception_status',//异常订单状态
ECASH_INIT:'ecash_init',//e-cash
} }
/** /**
......
<template> <template>
<div> <div>
<el-form ref="agentForm" :rules="rules" :model="agent" label-width="120px"> <el-form ref="agentForm" :model="agentObj" label-width="120px">
<el-form-item label="代理商Agent"> <el-form-item label="代理商Agent">
<el-select v-model="agent.agent" placeholder="请选择代理商"> <el-select v-model="agentObj.agent" placeholder="请选择代理商">
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="onSubmit">提交</el-button> <el-button type="primary" @click="onSubmit">保存</el-button>
<el-button @click="cancel">保存</el-button> <el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
</el-row> </el-row>
</div> </div>
</template> </template>
<script> <script>
/**
* agent
*/
export default { export default {
name: "agent", name: "agent",
data() { data() {
return { return {
agent: {}, // agent对象
agentObj: {},
}; };
}, },
methods: { methods: {
/** 提交 */
onSubmit() { onSubmit() {
this.$refs["agentForm"].validate((valid) => { this.$refs["agentForm"].validate((valid) => {
if (valid) { if (valid) {
...@@ -29,6 +35,7 @@ export default { ...@@ -29,6 +35,7 @@ export default {
} }
}); });
}, },
/** 取消 */
cancel() { cancel() {
this.$emit("closeDialog"); this.$emit("closeDialog");
}, },
......
<template>
<div>
<el-form ref="arrivalForm" :rules="rules" :model="arrivalObj" label-width="120px">
<el-form-item label="预计到港时间">{{arrivalObj.expectedTime}}</el-form-item>
<el-form-item label="实际到港时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="arrivalObj.actualTime"></el-date-picker>
</el-form-item>
<el-form-item label="确认到港" prop="confirmTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="arrivalObj.confirmTime">
</el-date-picker>
<p class="message-area" v-show="showMsg">请确认是否有异常,如有异常请进行异常登记</p>
</el-form-item>
<el-form-item label="卸港时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="arrivalObj.dischargeTime"></el-date-picker>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary">保存</el-button>
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="exceptionReg" :disabled="!showMsg">异常登记</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" title="票异常" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<regError @closeDialog="dialogVisible = false" />
</el-dialog>
</div>
</template>
<script>
import regError from "./regError";
import dayjs from "dayjs";
/**
* 到港
*/
export default {
name: "arrival",
components: {
regError,
},
data() {
return {
// 到港对象
arrivalObj: {
expectedTime: "2022-07-18",
},
// 校验
rules: {
actualTime: [{ required: true, message: "必填", trigger: "change" }],
},
// 弹窗配置
dialogVisible: false,
// 提示消息
showMsg: false,
};
},
watch: {
// 预计到港时间
"arrivalObj.expectedTime"(val) {
this.compareDate(val, this.arrivalObj.confirmTime);
},
// 确认到港时间
"arrivalObj.confirmTime"(val) {
this.compareDate(this.arrivalObj.expectedTime, val);
},
},
methods: {
// 时间比较
compareDate(expectedTime, confirmTime) {
this.showMsg = false;
let date1 = null,
date2 = null;
if (expectedTime) date1 = dayjs(expectedTime);
if (confirmTime) date2 = dayjs(confirmTime);
if (date1 && date2) {
const days = date2.date() - date1.date();
if (days > 5) {
this.showMsg = true;
}
}
},
// 异常登记
exceptionReg() {
this.dialogVisible = true;
},
/** 提交 */
onSubmit() {
this.$refs["arrivalForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss" scoped>
.message-area {
margin: 0;
color: red;
}
</style>
<template>
<div>
<el-form ref="bargeForm" :model="bargeObj" label-width="80px">
<el-form-item label="驳船">
<el-radio-group v-model="bargeObj.status">
<el-radio v-for="item in bargeStatus" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
<div v-show="bargeObj.status === '2'">
<el-row>
<el-col :span="12">
<el-form-item label="驳船预计开船时间" label-width="130px">
<el-date-picker type="date" placeholder="请选择日期" v-model="bargeObj.expectedTime"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="通知人" label-width="80px">
<el-select v-model="bargeObj.feedTimePerson" placeholder="请选择通知人">
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="驳船实际开船时间" label-width="130px">
<el-date-picker type="date" placeholder="请选择日期" v-model="bargeObj.actualTime"></el-date-picker>
</el-form-item>
</div>
</el-form>
<el-row class="operate-button">
<el-button type="primary">保存</el-button>
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
</el-row>
</div>
</template>
<script>
/**
* 驳船
*/
export default {
name: "barge",
data() {
return {
// 驳船对象
bargeObj: {},
// 驳船
bargeStatus: [
{
value: "1",
label: "无驳船",
},
{
value: "2",
label: "有驳船",
},
],
};
},
methods: {
/** 提交 */
onSubmit() {
this.$refs["bargeForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss" scoped>
</style>
<template>
<div>
<el-form ref="blCopyForm" :model="blCopyObj" label-width="120px">
<el-form-item label="提单Copy">
<el-upload action="" :file-list="blCopyObj.fileList">
<el-button size="small" type="primary">选择文件</el-button>
</el-upload>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit">保存</el-button>
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
</el-row>
</div>
</template>
<script>
/**
* 提单copy
*/
export default {
name: "blCopy",
data() {
return {
// 提单copy对象
blCopyObj: {
fileList: [],
},
};
},
methods: {
/** 提交 */
onSubmit() {
this.$refs["blCopyForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss" scoped>
</style>
<template> <template>
<div> <div>
<el-form ref="bookingForm" :rules="rules" :model="booking" label-width="140px" class="booking-form"> <el-form ref="bookingForm" :rules="rules" :model="booking" label-width="140px">
<el-form-item label="SO NO"> <el-form-item label="SO NO">
<el-input v-model="booking.soNo"></el-input> <el-input v-model="booking.soNo" placeholder="请输入SO NO"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="船公司类型"> <el-form-item label="船公司类型">
<el-select v-model="booking.type" placeholder="请选择船公司类型"> <el-select v-model="booking.type" placeholder="请选择船公司类型">
...@@ -34,12 +34,12 @@ ...@@ -34,12 +34,12 @@
</el-form-item> </el-form-item>
<el-row> <el-row>
<el-col span="12"> <el-col :span="12">
<el-form-item label="预计开船时间" prop="time"> <el-form-item label="预计开船时间" prop="time">
<el-date-picker type="date" placeholder="请选择日期" v-model="booking.departureTime"></el-date-picker> <el-date-picker type="date" placeholder="请选择日期" v-model="booking.departureTime"></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="12"> <el-col :span="12">
<el-form-item label="通知人" label-width="80px"> <el-form-item label="通知人" label-width="80px">
<el-select v-model="booking.feedTimePerson" placeholder="请选择通知人"> <el-select v-model="booking.feedTimePerson" placeholder="请选择通知人">
</el-select> </el-select>
...@@ -48,12 +48,12 @@ ...@@ -48,12 +48,12 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col span="12"> <el-col :span="12">
<el-form-item label="预计提单补料时间"> <el-form-item label="预计提单补料时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="booking.feedTime"></el-date-picker> <el-date-picker type="date" placeholder="请选择日期" v-model="booking.feedTime"></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="12"> <el-col :span="12">
<el-form-item label="通知人" label-width="80px"> <el-form-item label="通知人" label-width="80px">
<el-select v-model="booking.feedTimePerson" placeholder="请选择通知人"> <el-select v-model="booking.feedTimePerson" placeholder="请选择通知人">
</el-select> </el-select>
...@@ -62,12 +62,12 @@ ...@@ -62,12 +62,12 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col span="12"> <el-col :span="12">
<el-form-item label="预计报关时间"> <el-form-item label="预计报关时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="booking.declarationTime"></el-date-picker> <el-date-picker type="date" placeholder="请选择日期" v-model="booking.declarationTime"></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="12"> <el-col :span="12">
<el-form-item label="通知人" label-width="80px"> <el-form-item label="通知人" label-width="80px">
<el-select v-model="booking.feedTimePerson" placeholder="请选择通知人"> <el-select v-model="booking.feedTimePerson" placeholder="请选择通知人">
</el-select> </el-select>
...@@ -76,12 +76,12 @@ ...@@ -76,12 +76,12 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col span="12"> <el-col :span="12">
<el-form-item label="预计截关时间"> <el-form-item label="预计截关时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="booking.cutOffTime"></el-date-picker> <el-date-picker type="date" placeholder="请选择日期" v-model="booking.cutOffTime"></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col span="12"> <el-col :span="12">
<el-form-item label="通知人" label-width="80px"> <el-form-item label="通知人" label-width="80px">
<el-select v-model="booking.feedTimePerson" placeholder="请选择通知人"> <el-select v-model="booking.feedTimePerson" placeholder="请选择通知人">
</el-select> </el-select>
...@@ -92,25 +92,32 @@ ...@@ -92,25 +92,32 @@
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="onSubmit">提交</el-button> <el-button type="primary" @click="onSubmit">提交</el-button>
<el-button @click="cancel">取消</el-button> <el-button @click="cancel">关闭</el-button>
</el-row> </el-row>
</div> </div>
</template> </template>
<script> <script>
/**
* 订舱
*/
export default { export default {
name: "booking", name: "booking",
data() { data() {
return { return {
// 船公司类型
types: ["PIL", "MSK", "CMA", "COSCO", "ZIM", "ONE", "OOCL", "MSC", "HPL"], types: ["PIL", "MSK", "CMA", "COSCO", "ZIM", "ONE", "OOCL", "MSC", "HPL"],
// 订舱对象
booking: {}, booking: {},
// 校验
rules: { rules: {
time: [{ required: true, message: "请选择时间", trigger: "change" }], time: [{ required: true, message: "必填", trigger: "change" }],
}, },
}; };
}, },
methods: { methods: {
/** 提交 */
onSubmit() { onSubmit() {
this.$refs["bookingForm"].validate((valid) => { this.$refs["bookingForm"].validate((valid) => {
if (valid) { if (valid) {
...@@ -118,6 +125,7 @@ export default { ...@@ -118,6 +125,7 @@ export default {
} }
}); });
}, },
/** 取消 */
cancel() { cancel() {
this.$emit("closeDialog"); this.$emit("closeDialog");
}, },
......
<template>
<div>
<el-form ref="cabinetForm" :rules="rules" :model="cabinet" label-width="80px">
<el-form-item label="到仓时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="cabinet.arrivalTime"></el-date-picker>
</el-form-item>
<el-form-item label="仓库">
<el-select v-model="cabinet.warehouse" placeholder="请选择仓库">
</el-select>
</el-form-item>
<el-form-item label="装柜时间" prop="time">
<el-date-picker type="date" placeholder="请选择日期" v-model="cabinet.cabinetTime"></el-date-picker>
</el-form-item>
<el-form-item label="出仓时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="cabinet.outTime"></el-date-picker>
</el-form-item>
<el-form-item label="装柜图片">
<el-upload action="" :limit="1" :file-list="cabinet.fileList">
<el-button size="small" type="primary">选择文件</el-button>
</el-upload>
</el-form-item>
</el-form>
<!-- 开始装柜 -->
<el-dialog title="开始装柜" :visible.sync="dialogVisible" fullscreen :modal-append-to-body=false append-to-body destroy-on-close>
<startPacking />
</el-dialog>
<!-- 操作 -->
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit">保存</el-button>
<el-button type="success">封柜</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="danger" @click="startCabinet">开始装柜</el-button>
</el-row>
</div>
</template>
<script>
import startPacking from "./startPacking.vue";
/**
* 装柜
*/
export default {
name: "cabinet",
components: { startPacking },
props: {
boxId: String,
},
data() {
return {
// 弹窗
dialogVisible: false,
// 装柜对象
cabinet: {
fileList: [],
},
// 校验
rules: {
time: [{ required: true, message: "请选择时间", trigger: "change" }],
},
};
},
methods: {
/** 提交 */
onSubmit() {
this.$refs["cabinetForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
/** 开始装柜 */
startCabinet() {
this.dialogVisible = true;
},
},
};
</script>
<style lang="scss" scoped>
</style>
<template>
<div class="supplementOrder">
<el-card>
<!-- 内容区 -->
<el-row class="content-area">
<!-- 左侧 -->
<el-col :span="6" class="left-area">
<el-row>
<el-button type="primary">新增</el-button>
<el-button type="primary">删除</el-button>
</el-row>
<el-row v-for="item in testData" :key="item.key" class="title-info">
<div>
<p>{{item.title}}</p>
</div>
<div>
<p>111</p>
<p>111</p>
<p>111</p>
<div>
<i class="el-icon-delete"></i>
</div>
</div>
</el-row>
</el-col>
<!-- 右侧 -->
<el-col :span="18" class="right-area">
<el-row class="right-title">
<div>货物筛选</div>
<div>当前装柜:第一部分</div>
<div>可预装方数:111m³,重量:22KG</div>
</el-row>
<!-- 搜索工作栏 -->
<el-row>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="始发地">111</el-form-item>
<el-form-item label="目的地" prop="destination">
<el-select v-model="queryParams.destination" placeholder="请选择目的地">
</el-select>
</el-form-item>
<el-form-item label="订单号" prop="orderNo">
<el-input v-model="queryParams.orderNo" placeholder="请输入订单号" clearable />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search">搜索</el-button>
</el-form-item>
</el-form>
</el-row>
<!-- 表格 -->
<el-row>
<el-row class="table-title">
<div>EC1111111</div>
<div>发往:xxxxxxxxxx</div>
<div>我司全代</div>
<div>入仓时间:1111111</div>
<div>
<div>[全部预装]</div>
<div>[收起]</div>
</div>
</el-row>
<el-table v-loading="loading" :data="listData">
<el-table-column label="序号" type="index" width="50" />
<el-table-column label="订单号" align="center" prop="selfNo" />
<el-table-column label="货物信息" align="center" prop="cubNo" />
<el-table-column label="计划箱数" align="center" prop="cabinetId" />
<el-table-column label="实装箱数" align="center" prop="transportType" />
<el-table-column label="体积" align="center" prop="squareNumber" />
<el-table-column label="重量" align="center" prop="weight" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="primary" size="small">预装</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<!-- 分页 -->
<el-pagination background layout="prev, pager, next" :total="1000"></el-pagination>
</el-col>
</el-row>
</el-card>
<el-row>
<el-col :span="6" class="totle-info">
<div>
<p>总计:</p>
<p>111</p>
</div>
<div>
<p>容量:</p>
<p>111</p>
</div>
</el-col>
</el-row>
<el-row class="button-area">
<el-button type="primary">完成</el-button>
</el-row>
</div>
</template>
<script>
/**
* 补单
*/
export default {
name: "supplementOrder",
data() {
return {
// loading
loading: false,
// 二维码/条码编号
cabinetNo: "",
// 表格数据
listData: [
{
selfNo: "111aaa",
cubNo: "11111111111111111111111111",
},
{
selfNo: "111aaa",
cubNo: "11111111111111111111111111",
},
],
// 左侧数据
testData: [
{
key: 1,
title: "第一部分",
},
{
key: 2,
title: "第二部分",
},
],
// 查询参数
queryParams: {},
};
},
methods: {},
};
</script>
<style lang="scss" scoped>
.supplementOrder {
p {
margin: 0;
}
.content-area {
display: flex;
.left-area {
border-right: 3px solid #e6ebf5;
padding-right: 10px;
.title-info {
margin-top: 10px;
height: auto;
> div:first-child {
font-size: 16px;
background-color: #f2f2f2;
line-height: 30px;
text-align: center;
}
> :last-child {
display: flex;
align-items: center;
> p {
margin-right: 10px;
color: #4f9cdd;
}
> div {
flex: 1;
text-align: right;
> i {
cursor: pointer;
color: red;
}
}
}
}
}
.right-area {
padding-left: 10px;
.right-title {
display: flex;
align-items: center;
margin-bottom: 10px;
font-size: 16px;
> div:first-child {
font-size: 18px;
}
> div:first-child + div {
margin-left: 20px;
}
> div:last-child {
flex: 1;
text-align: right;
font-size: 18px;
color: red;
}
}
.table-title {
display: flex;
line-height: 30px;
background-color: #4f9cdd;
color: #fff;
> div {
margin-left: 10px;
}
> div:last-child {
flex: 1;
display: flex;
justify-content: flex-end;
> div {
margin-right: 10px;
}
}
}
.el-pagination {
margin-top: 10px;
padding: 0;
text-align: right;
}
}
}
.totle-info {
font-size: 20px;
margin-top: 15px;
> div {
display: flex;
margin-bottom: 5px;
}
}
.button-area {
text-align: center;
}
}
</style>
<template>
<div>
<el-form ref="cDocForm" :model="cDocObj" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="出单方式">
<el-select v-model="cDocObj.method" placeholder="请选择出单方式">
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="电放时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="cDocObj.dischargeTime"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="寄送时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="cDocObj.deliveryTime"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="快递单号">
<el-input v-model="cDocObj.courierNumber" placeholder="请输入快递单号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="电放凭证附件">
<el-upload action="" :file-list="cDocObj.fileList">
<el-button size="small" type="primary">选择文件</el-button>
</el-upload>
</el-form-item>
<el-form-item label="agent list">
<el-radio-group v-model="cDocObj.agent">
<el-radio v-for="item in status" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-date-picker type="date" placeholder="请选择日期" v-model="cDocObj.agenTime"></el-date-picker>
</el-form-item>
<el-form-item>
<el-upload action="" :file-list="cDocObj.agentFileList">
<el-button size="small" type="primary">选择文件</el-button>
</el-upload>
</el-form-item>
<el-form-item label="soncap">
<el-radio-group v-model="cDocObj.soncap">
<el-radio v-for="item in status" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-date-picker type="date" placeholder="请选择日期" v-model="cDocObj.soncapTime"></el-date-picker>
</el-form-item>
<el-form-item>
<el-upload action="" :file-list="cDocObj.soncapFileList">
<el-button size="small" type="primary">选择文件</el-button>
</el-upload>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit">保存</el-button>
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
</el-row>
</div>
</template>
<script>
/**
* 清关文件
*/
export default {
name: "clrDocument",
data() {
return {
// 清关文件对象
cDocObj: {
fileList: [],
},
// 出单方式
method: [
{
value: "1",
label: "正本",
},
{
value: "2",
label: "电放",
},
],
// 选项
status: [
{
value: "1",
label: "无需",
},
{
value: "2",
label: "已做",
},
],
};
},
methods: {
/** 提交 */
onSubmit() {
this.$refs["cDocForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss" scoped>
</style>
<template>
<div>
<el-form ref="cusClearanceForm" :rules="rules" :model="cusClearanceObj" label-width="120px">
<el-form-item label="清关代理">{{cusClearanceObj.agent}}</el-form-item>
<el-form-item label="预计清关时间" prop="expectedTime">
<el-date-picker type="date" placeholder="请选择日期" v-model="cusClearanceObj.expectedTime"></el-date-picker>
</el-form-item>
<el-form-item label="清关时间" prop="confirmTime">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="cusClearanceObj.confirmTime"></el-date-picker>
<p class="message-area" v-show="showMsg">清关时间与预计时间不符,如有异常请登记</p>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary">保存</el-button>
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="exceptionReg" :disabled="!showMsg">异常登记</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" title="票异常" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<regError @closeDialog="dialogVisible = false" />
</el-dialog>
</div>
</template>
<script>
import regError from "./regError";
import dayjs from "dayjs";
/**
* 清关
*/
export default {
name: "cusClearance",
components: {
regError,
},
data() {
return {
// 清关对象
cusClearanceObj: {
agent: "test111",
},
// 校验
rules: {
expectedTime: [{ required: true, message: "必填", trigger: "change" }],
confirmTime: [{ required: true, message: "必填", trigger: "change" }],
},
// 弹窗配置
dialogVisible: false,
// 提示消息
showMsg: false,
};
},
watch: {
// 预计清关时间
"cusClearanceObj.expectedTime"(val) {
this.compareDate(val, this.cusClearanceObj.confirmTime);
},
// 清关时间
"cusClearanceObj.confirmTime"(val) {
this.compareDate(this.cusClearanceObj.expectedTime, val);
},
},
methods: {
// 时间比较
compareDate(expectedTime, confirmTime) {
this.showMsg = false;
let date1 = null,
date2 = null;
if (expectedTime) date1 = dayjs(expectedTime);
if (confirmTime) date2 = dayjs(confirmTime);
if (date1 && date2 && date2 !== date1) {
this.showMsg = true;
}
},
// 异常登记
exceptionReg() {
this.dialogVisible = true;
},
/** 提交 */
onSubmit() {
this.$refs["cusClearanceForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss" scoped>
.message-area {
margin: 0;
color: red;
}
</style>
<template>
<div>
<el-form ref="cusDeclarationForm" :rules="rules" :model="cusDeclaration" label-width="120px">
<el-form-item label="单证要求">我司全代 <el-button type="primary" style="margin-left:10px;" @click="downloadVGM">VGM声明</el-button>
</el-form-item>
<el-form-item label="柜重" prop="cabinetWeight">
<el-input v-model="cusDeclaration.cabinetWeight" placeholder="请输入柜重" clearable />
</el-form-item>
<el-form-item label="货重" prop="cargoWeight">
<el-input v-model="cusDeclaration.cargoWeight" placeholder="请输入货重" clearable />
</el-form-item>
<el-form-item label="VGM重量(柜重+货重)">
<el-input v-model="cusDeclaration.vgmWeight" placeholder="请输入VGM重量" clearable />
</el-form-item>
<el-form-item label="报关方式" prop="method">
<el-select v-model="cusDeclaration.method" placeholder="请选择报关方式">
<el-option v-for="item in methods" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="正常报关订单">
</el-form-item>
<el-form-item label="报关公司名称">
<el-select v-model="cusDeclaration.companyName" placeholder="请选择报关公司名称">
</el-select>
</el-form-item>
<el-form-item label="截关时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="cusDeclaration.cutTime"></el-date-picker>
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="cusDeclaration.status">
<el-radio v-for="item in status" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
<!-- 查验 -->
<div v-show="cusDeclaration.status === '3'">
<el-form-item label="查验">
<el-radio-group v-model="cusDeclaration.check">
<el-radio v-for="item in checkItems" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
</div>
<!-- 退场 -->
<div v-show="cusDeclaration.check === '1' || cusDeclaration.check === '2'">
<el-form-item label="查验时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="cusDeclaration.checkTime"></el-date-picker>
</el-form-item>
<el-form-item label="查验前图片">
<el-upload action="" :limit="1" :file-list="cusDeclaration.checkFile">
<el-button size="small" type="primary">选择文件</el-button>
</el-upload>
</el-form-item>
<el-form-item label="新封条">
<el-input v-model="cusDeclaration.newSeal" placeholder="请输入新封条" clearable />
</el-form-item>
</div>
<!-- 放行 -->
<el-form-item label="放行时间" v-show="cusDeclaration.status === '2' || cusDeclaration.check === '2'">
<el-date-picker type="date" placeholder="请选择日期" v-model="cusDeclaration.releaseTime"></el-date-picker>
</el-form-item>
<el-form-item label="装箱单">
<el-button type="primary">下载装箱单</el-button>
</el-form-item>
<el-form-item label="报关单">
<el-button type="primary">下载所有报关单</el-button>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary">保存</el-button>
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="extraCost">额外费用</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog custom-class="shipping-dialog customsClearance" :title="dialogConfig.title" :visible.sync="dialogConfig.dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<el-row>
<el-row>
<el-form label-width="100px">
<el-form-item label="订单号" class="two-element">
<el-input v-model="orderNo" placeholder="请输入订单号" clearable />
<el-button type="primary" icon="el-icon-search"></el-button>
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-table :data="[{}]">
<el-table-column label="订单号" align="center" prop="selfNo" />
<el-table-column label="报关费用" align="center" prop="orderFees">
<template slot-scope="scope">
<el-input v-model="scope.row.orderFees" placeholder="请输入内容" />
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="primary" size="small">确定</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row class="cost-title">
<div>额外费用订单</div>
<div>
<el-button size="small">重置</el-button>
</div>
</el-row>
<el-row>
<el-table :data="[{}]">
<el-table-column type="selection" width="55" />
<el-table-column label="订单号" align="center" prop="selfNo" />
<el-table-column label="报关费用" align="center" prop="customsFees">
<template slot-scope="scope">
<el-input v-model="scope.row.customsFees" placeholder="请输入内容" />
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="primary" size="small">修改</el-button>
<el-button size="small">重置</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
</el-row>
</el-dialog>
</div>
</template>
<script>
/**
* 报关
*/
export default {
name: "cusDeclaration",
data() {
return {
// 报关方式
methods: [
{
value: "1",
label: "整柜买单报关",
},
{
value: "2",
label: "整柜正常报关",
},
{
value: "3",
label: "买单报关+正常报关",
},
],
// 状态
status: [
{
value: "1",
label: "报关中",
},
{
value: "2",
label: "放行",
},
{
value: "3",
label: "查验",
},
],
// check
checkItems: [
{
value: "1",
label: "退场",
},
{
value: "2",
label: "部分退场",
},
{
value: "3",
label: "查验后放行",
},
],
// 报关对象
cusDeclaration: {},
// 校验
rules: {
cabinetWeight: [{ required: true, message: "必填", trigger: "change" }],
cargoWeight: [{ required: true, message: "必填", trigger: "change" }],
method: [{ required: true, message: "必填", trigger: "change" }],
},
// 弹窗配置
dialogConfig: {
title: "",
dialogVisible: false,
},
// 订单号
orderNo: "",
};
},
watch: {
"cusDeclaration.status"(val) {
if (val !== "3") {
this.$set(this.cusDeclaration, "check", "");
}
},
},
methods: {
/** 提交 */
onSubmit() {
this.$refs["cusDeclarationForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
// 下载VGM
downloadVGM() {
window.open(
"http://pdatest.groupage.cn//apivue/boxTrack/vgmExport?token=930b11a41d9ca06f306d157f336a5dcb&id=1752"
);
},
// 额外费用
extraCost() {
this.$set(this.dialogConfig, "title", "自编号");
this.$set(this.dialogConfig, "dialogVisible", true);
},
},
};
</script>
<style lang="scss">
.customsClearance {
.cost-title {
display: flex;
align-items: center;
margin: 20px 0;
border-left: 5px solid gray;
> div:first-child {
margin-left: 10px;
}
> div:last-child {
flex: 1;
text-align: right;
}
}
}
</style>
<template>
<div class="app-departure">
<el-form ref="departureForm" :rules="rules" :model="departureObj" label-width="120px">
<el-form-item label="预计开船时间">
</el-form-item>
<el-form-item label="实际开船时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="departureObj.actualTime"></el-date-picker>
<p class="message-area">订单状态与短信通知,将到指定时间更新与发送</p>
<p class="message-area" v-show="showMsg">实际开船实际与预计时间不符</p>
</el-form-item>
<el-form-item label="预期到港时间" prop="arrivalTime">
<el-date-picker type="date" placeholder="请选择日期" v-model="departureObj.arrivalTime">
</el-date-picker>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary">保存</el-button>
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="primary" @click="exceptionReg" :disabled="!showMsg">异常登记</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" title="票异常" :visible.sync="dialogVisible" width="700px" :modal-append-to-body=false append-to-body destroy-on-close>
<regError @closeDialog="dialogVisible = false" />
</el-dialog>
</div>
</template>
<script>
import regError from "./regError";
/**
* 起运
*/
export default {
name: "departure",
components: { regError },
data() {
return {
// 起运对象
departureObj: {},
// 校验
rules: {
arrivalTime: [{ required: true, message: "必填", trigger: "change" }],
},
// 弹窗配置
dialogVisible: false,
// 提示消息
showMsg: false,
};
},
watch: {
// 实际开船时间
"departureObj.actualTime"(val) {
this.compareDate(val, this.departureObj.arrivalTime);
},
// 预计到港时间
"departureObj.arrivalTime"(val) {
this.compareDate(this.departureObj.actualTime, val);
},
},
methods: {
// 时间比较
compareDate(actualTime, arrivalTime) {
this.showMsg = false;
let date1 = null,
date2 = null;
if (actualTime) date1 = new Date(actualTime);
if (arrivalTime) date2 = new Date(arrivalTime);
if (date1 && date2 && date1 > date2) {
this.showMsg = true;
}
},
// 异常登记
exceptionReg() {
this.dialogVisible = true;
},
/** 提交 */
onSubmit() {
this.$refs["departureForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss" scoped>
.app-departure {
.message-area {
margin: 0;
color: red;
}
}
</style>
<template> <template>
<div class="app-container preinstall"> <div class="preinstall">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
...@@ -215,6 +215,9 @@ ...@@ -215,6 +215,9 @@
import { DICT_TYPE } from "@/utils/dict"; import { DICT_TYPE } from "@/utils/dict";
import { getWarehouseList } from "@/api/ecw/warehouse"; import { getWarehouseList } from "@/api/ecw/warehouse";
/**
* 预装
*/
export default { export default {
name: "preinstall", name: "preinstall",
components: {}, components: {},
...@@ -248,21 +251,22 @@ export default { ...@@ -248,21 +251,22 @@ export default {
operatorData: { operatorData: {
operator: null, operator: null,
}, },
// 校验
rules: { rules: {
operator: [ operator: [
{ required: true, message: "请选择目的地操作员", trigger: "change" }, { required: true, message: "必填", trigger: "change" },
], ],
}, },
}; };
}, },
computed: { computed: {
// 始发地 /** 始发地 */
exportWarehouseList() { exportWarehouseList() {
return this.warehouseList.filter( return this.warehouseList.filter(
(item) => item.tradeType == "2" || item.type == "3" (item) => item.tradeType == "2" || item.type == "3"
); );
}, },
// 目的地 /** 目的地 */
importWarehouseList() { importWarehouseList() {
return this.warehouseList.filter( return this.warehouseList.filter(
(item) => item.tradeType == "1" || item.type == "3" (item) => item.tradeType == "1" || item.type == "3"
...@@ -270,6 +274,7 @@ export default { ...@@ -270,6 +274,7 @@ export default {
}, },
}, },
created() { created() {
// 查询仓库数据
getWarehouseList().then((res) => (this.warehouseList = res.data)); getWarehouseList().then((res) => (this.warehouseList = res.data));
// this.getList(); // this.getList();
}, },
......
<template>
<div>
<el-form ref="errorForm" :model="errorObj" label-width="140px">
<el-form-item label="操作步骤">
<el-select v-model="errorObj.step" placeholder="请选择操作步骤">
</el-select>
</el-form-item>
<el-form-item label="票异常">
<el-select v-model="errorObj.ticketError" placeholder="请选择票异常">
</el-select>
</el-form-item>
<el-form-item label="异常情况">
<el-input v-model="errorObj.description" type="textarea" rows="2" placeholder="请输入异常情况"></el-input>
</el-form-item>
<el-form-item label="异常时间" prop="arrivalTime" class="two-element">
<el-date-picker type="date" placeholder="请选择日期" v-model="errorObj.errorStart"></el-date-picker>
<el-date-picker type="date" placeholder="请选择日期" v-model="errorObj.errorend"></el-date-picker>
</el-form-item>
<el-form-item label="是否更新订单状态">
<el-radio-group v-model="errorObj.updateOrder">
<el-radio v-for="item in status" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="中文内容">
<el-input v-model="errorObj.chContent" type="textarea" rows="2" placeholder="请输入中文内容"></el-input>
</el-form-item>
<el-form-item label="英文内容">
<el-input v-model="errorObj.enContent" type="textarea" rows="2" placeholder="请输入英文内容"></el-input>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="$emit('closeDialog')">关闭</el-button>
</el-row>
</div>
</template>
<script>
/**
* 异常登记
*/
export default {
name: "regError",
data() {
return {
// 异常对象
errorObj: {},
// 是否更新订单动态
status: [
{
value: "1",
label: "",
},
{
value: "2",
label: "",
},
],
};
},
watch: {},
methods: {
/** 提交 */
onSubmit() {
this.$refs["errorForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
},
};
</script>
<style lang="scss" scoped>
</style>
<template>
<div>
<el-form ref="shipForm" :model="shipObj" label-width="80px">
<el-form-item label="状态">
<el-radio-group v-model="shipObj.status">
<el-radio v-for="item in status" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="配船时间" v-show="shipObj.status === '2'">
<el-date-picker type="date" placeholder="请选择日期" v-model="shipObj.shipTime"></el-date-picker>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary">保存</el-button>
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
</el-row>
</div>
</template>
<script>
/**
* 配船
*/
export default {
name: "ship",
data() {
return {
// 配船对象
shipObj: {},
// 状态
status: [
{
value: "1",
label: "免配",
},
{
value: "2",
label: "已配",
},
],
};
},
methods: {
/** 提交 */
onSubmit() {
this.$refs["shipForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss" scoped>
</style>
<template>
<div>
<el-form ref="subMaterialForm" :model="subMaterialObj" label-width="140px">
<el-form-item label="代理商AGENT">
<el-select v-model="subMaterialObj.agent" placeholder="请选择供应商">
</el-select>
</el-form-item>
<el-form-item label="提单号M/BL NO." class="two-element">
<el-input v-model="subMaterialObj.billNo" placeholder="请输入提单号"></el-input>
<el-button type="primary">提单确认邮件</el-button>
</el-form-item>
<el-form-item label="SO NO.">
<el-input v-model="subMaterialObj.soNo" placeholder="请输入SO NO"></el-input>
</el-form-item>
<el-form-item label="装货港">
<el-select v-model="subMaterialObj.loadingPort" placeholder="请选择装货港">
</el-select>
</el-form-item>
<el-form-item label="目的港">
<el-select v-model="subMaterialObj.destination" placeholder="请选择目的港">
</el-select>
</el-form-item>
<el-form-item label="船公司">
<el-select v-model="subMaterialObj.shippingCompany" placeholder="请选择船公司">
</el-select>
</el-form-item>
<el-form-item label="托运人">
<el-select v-model="subMaterialObj.shipper" placeholder="请选择托运人">
</el-select>
</el-form-item>
<el-form-item label="收货人">
<el-select v-model="subMaterialObj.consignee" placeholder="请选择收货人">
</el-select>
</el-form-item>
<el-form-item label="通知方">
<el-select v-model="subMaterialObj.notifyParty" placeholder="请选择通知方">
</el-select>
</el-form-item>
<el-form-item label="Mark & No.">
<el-input v-model="subMaterialObj.markNo"></el-input>
</el-form-item>
<el-form-item label="包装数量与单位" class="two-element">
<el-input v-model="subMaterialObj.quantity" placeholder="请输入包装数量"></el-input>
<el-select v-model="subMaterialObj.unit" placeholder="请选择单位">
</el-select>
</el-form-item>
<el-form-item label="毛重(KGS)">
<el-input v-model="subMaterialObj.grossWeight" placeholder="请输入毛重(KGS)"></el-input>
</el-form-item>
<el-form-item label="立方数(CBM)">
<el-input v-model="subMaterialObj.mesaurement" placeholder="请输入立方数(CBM)"></el-input>
</el-form-item>
<el-form-item label="货物描述">
<el-input v-model="subMaterialObj.description" placeholder="请输入货物描述"></el-input>
</el-form-item>
<el-form-item label="柜号/封条">
<el-input v-model="subMaterialObj.container" placeholder="请输入柜号/封条"></el-input>
</el-form-item>
<el-form-item label="柜型">
111
</el-form-item>
<el-form-item label="出单方式">
<el-radio-group v-model="subMaterialObj.billingMethod">
<el-radio v-for="item in method" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="subMaterialObj.remark" type="textarea" rows="2" placeholder="请输入备注"></el-input>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary">保存</el-button>
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
</el-row>
</div>
</template>
<script>
/**
* 提单补料
*/
export default {
name: "subMaterial",
data() {
return {
// 提单补料对象
subMaterialObj: {
markNo: "N/M",
},
// 出单方式
method: [
{
value: "1",
label: "正本",
},
{
value: "2",
label: "电放",
},
],
};
},
methods: {
/** 提交 */
onSubmit() {
this.$refs["subMaterialForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss">
</style>
...@@ -15,33 +15,38 @@ ...@@ -15,33 +15,38 @@
<el-date-picker type="date" placeholder="请选择日期" v-model="trailer.trailerTime"></el-date-picker> <el-date-picker type="date" placeholder="请选择日期" v-model="trailer.trailerTime"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="车牌"> <el-form-item label="车牌">
<el-input v-model="trailer.licensePlate"></el-input> <el-input v-model="trailer.licensePlate" placeholder="请输入车牌"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="司机"> <el-form-item label="司机">
<el-input v-model="trailer.driver"></el-input> <el-input v-model="trailer.driver" placeholder="请输入司机"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="司机联系方式"> <el-form-item label="司机联系方式">
<el-input v-model="trailer.telephone"></el-input> <el-input v-model="trailer.telephone" placeholder="请输入司机联系方式"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="货柜号"> <el-form-item label="货柜号">
<el-input v-model="trailer.containerNumber"></el-input> <el-input v-model="trailer.containerNumber" placeholder="请输入货柜号"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="封条"> <el-form-item label="封条">
<el-input v-model="trailer.seal"></el-input> <el-input v-model="trailer.seal" placeholder="请输入封条"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="onSubmit">提交</el-button> <el-button type="primary" @click="onSubmit">保存</el-button>
<el-button @click="cancel">取消</el-button> <el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
</el-row> </el-row>
</div> </div>
</template> </template>
<script> <script>
/**
* 拖车
*/
export default { export default {
name: "trailer", name: "trailer",
data() { data() {
return { return {
// 状态
status: [ status: [
{ {
value: "1", value: "1",
...@@ -56,13 +61,16 @@ export default { ...@@ -56,13 +61,16 @@ export default {
label: "已还柜", label: "已还柜",
}, },
], ],
// 拖车对象
trailer: {}, trailer: {},
// 校验
rules: { rules: {
time: [{ required: true, message: "请选择时间", trigger: "change" }], time: [{ required: true, message: "必填", trigger: "change" }],
}, },
}; };
}, },
methods: { methods: {
/** 提交 */
onSubmit() { onSubmit() {
this.$refs["trailerForm"].validate((valid) => { this.$refs["trailerForm"].validate((valid) => {
if (valid) { if (valid) {
...@@ -70,6 +78,7 @@ export default { ...@@ -70,6 +78,7 @@ export default {
} }
}); });
}, },
/** 取消 */
cancel() { cancel() {
this.$emit("closeDialog"); this.$emit("closeDialog");
}, },
......
<template>
<div>
<el-form ref="unloadingForm" :model="unloadingObj" label-width="100px">
<el-form-item label="网点">
<el-select v-model="unloadingObj.outlets" placeholder="请选择网点">
</el-select>
</el-form-item>
<el-form-item label="到仓时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="unloadingObj.warehouseTime"></el-date-picker>
</el-form-item>
<el-form-item label="卸柜时间">
<el-date-picker type="datetime" placeholder="请选择日期" v-model="unloadingObj.unloadingTime"></el-date-picker>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="primary">保存</el-button>
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="danger" @click="startUnloading">开始卸柜</el-button>
</el-row>
<!-- 开始卸柜 -->
<el-dialog title="开始卸柜" :visible.sync="dialogVisible" fullscreen :modal-append-to-body=false append-to-body destroy-on-close>
<startUnloading />
</el-dialog>
</div>
</template>
<script>
import startUnloading from "./startUnloading.vue";
/**
* 卸柜
*/
export default {
name: "unloading",
components: { startUnloading },
data() {
return {
// 清关对象
unloadingObj: {
agent: "test111",
},
// 弹窗状态
dialogVisible: false,
};
},
watch: {},
methods: {
/** 提交 */
onSubmit() {
this.$refs["unloadingForm"].validate((valid) => {
if (valid) {
// TODO 判断是否已经卸柜
this.$message.warning("请先通过卸柜审批");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
// 开始卸柜
startUnloading() {
this.dialogVisible = true;
},
},
};
</script>
<style lang="scss" scoped>
</style>
<template>
<div class="app-startUnloading">
<!-- 自编号 -->
<el-row class="number-area">
<p class="label-font">自编号:</p>
<p class="label-font">CNG2510</p>
<el-input v-model="labelNo" placeholder="请输入标签号"></el-input>
<div>
<el-button>批量输入</el-button>
<el-button>一键卸柜</el-button>
</div>
</el-row>
<!-- 当前部分 -->
<el-row class="number-area">
<p class="label-font">当前部分:</p>
<el-select v-model="currPart" placeholder="请选择当前部分">
</el-select>
<p>
<span>13箱</span>
<span>10.83m3</span>
<span>210kg</span>
</p>
</el-row>
<!-- 表格 -->
<el-row>
<el-table v-loading="loading" :data="list">
<el-table-column label="序号" type="index" width="50" />
<!-- <el-table-column label="订单号" align="center" prop="selfNo">
<template slot-scope="scope">
<a href="javascript:void(0);" class="order-href" @click="orderClick(scope.row)">{{ scope.row.selfNo }}</a>
</template>
</el-table-column> -->
<el-table-column label="订单号" align="center" prop="cubNo" />
<el-table-column label="商品信息" align="center" prop="cubNo" />
<el-table-column label="实装箱数" align="center" prop="cabinetId" />
<el-table-column label="卸柜箱数" align="center" prop="transportType" />
<el-table-column label="清关状态" align="center" prop="squareNumber" />
<el-table-column label="体积" align="center" prop="weight" />
<el-table-column label="重量" align="center" prop="weight" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="danger" size="small" @click="openError">异常</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<!-- 总计 -->
<el-row>
<div>
<p>
<span>总计:</span>
<span>33箱子</span>
<span>10.83m3</span>
<span>210kg</span>
</p>
</div>
<div>
<p>
<span>已卸:</span>
<span>16</span>
</p>
</div>
</el-row>
<el-row>
<el-button type="success">卸柜完成</el-button>
</el-row>
<!-- 对话框 -->
<el-dialog custom-class="shipping-dialog" title="异常" :visible.sync="dialogVisible" width="500px" :modal-append-to-body=false append-to-body destroy-on-close>
<unloadingError @closeDialog="dialogVisible = false" />
</el-dialog>
</div>
</template>
<script>
import unloadingError from "./unloadingError.vue";
/**
* 开始卸柜
*/
export default {
name: "startUnloading",
components: { unloadingError },
data() {
return {
// 标签号
labelNo: "",
// 当前部分
currPart: "",
// loading
loading: false,
// 表格数据
list: [{}],
// 弹窗配置
dialogVisible: false,
};
},
watch: {},
methods: {
/** 提交 */
onSubmit() {
this.$refs["unloadingForm"].validate((valid) => {
if (valid) {
// TODO 判断是否已经卸柜
this.$message.warning("请先通过卸柜审批");
}
});
},
/** 取消 */
cancel() {
this.$emit("closeDialog");
},
// 打开异常
openError() {
this.dialogVisible = true;
},
},
};
</script>
<style lang="scss" scoped>
.app-startUnloading {
p {
margin: 0;
> span {
margin-right: 5px;
}
}
.el-row {
margin-bottom: 15px;
}
.label-font {
font-size: 16px;
font-weight: bolder;
}
.number-area {
display: flex;
align-items: center;
> * {
margin-right: 10px;
}
> .el-input {
width: 200px;
}
}
}
</style>
<template>
<div>
<el-form ref="errorForm" :model="errorObj" label-width="100px">
<el-form-item label="异常">
<el-radio-group v-model="errorObj.errorStatus">
</el-radio-group>
</el-form-item>
<el-form-item label="品名">
<el-select v-model="errorObj.goodName" placeholder="请选择品名">
</el-select>
</el-form-item>
<el-form-item label="件数">
<el-input-number v-model="errorObj.pieces" controls-position="right" :min="1"></el-input-number>
</el-form-item>
<el-form-item label="异常详情">
<el-input v-model="errorObj.details" type="textarea" rows="2" placeholder="请输入异常详情"></el-input>
</el-form-item>
</el-form>
<el-row class="operate-button">
<el-button type="success" @click="onSubmit">提交</el-button>
<el-button @click="$emit('closeDialog')">关闭</el-button>
</el-row>
</div>
</template>
<script>
/**
* 卸柜异常
*/
export default {
name: "unloadingError",
data() {
return {
// 异常对象
errorObj: {},
};
},
methods: {
/** 提交 */
onSubmit() {
this.$refs["errorForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
},
};
</script>
<style lang="scss" scoped>
</style>
<template> <template>
<div> <div>
<!-- 海运流程图 -->
<el-scrollbar :vertical="true" style="width: 100%;" viewClass="shipping-chart"> <el-scrollbar :vertical="true" style="width: 100%;" viewClass="shipping-chart">
<div v-for="(nodes,index) in chartData['sea']" :key="index" class="chart-nodes"> <div v-for="(nodes,index) in chartData['sea']" :key="index" class="chart-nodes">
<div> <div class="node-area">
<div v-for="node in nodes" :key="node.title" @click="nodeClick(node)" class="node-div"> <div v-for="node in nodes" :key="node.title" @click="nodeClick(node)" class="node-div">
<template v-if="!node.unNode"> <template v-if="!node.unNode">
<img :src="node.imgSrc" alt=""> <img :src="node.imgSrc" alt="">
<p>{{node.title}}</p> <p>{{node.title}}</p>
</template> </template>
<template v-else-if="node.unNode"> <template v-else-if="node.unNode">
<el-button type="primary" @click="nodeClick(node)">AGENT</el-button> <el-button type="primary" @click="nodeClick(node)" style="width:100px;">{{node.title}}</el-button>
</template> </template>
</div> </div>
</div> </div>
<div class="chart-arrow" v-if="index !== (chartData['sea'].length-1)"> <div class="arrow-area" v-if="index !== (chartData['sea'].length-1)">
<img src="@/assets/images/shipping/jt-start.png" alt=""> <img src="@/assets/images/shipping/jt-start.png" alt="">
</div> </div>
</div> </div>
</el-scrollbar> </el-scrollbar>
<el-dialog :title="dialogConfig.title" :visible.sync="dialogConfig.dialogVisible" :width="dialogConfig.width" destroy-on-close>
<booking @closeDialog="closeDialog" v-if="dialogConfig.type === 'booking'" /> <!-- 弹窗 -->
<trailer @closeDialog="closeDialog" v-if="dialogConfig.type === 'trailer'" /> <el-dialog custom-class="shipping-dialog" :title="dialogConfig.title" :visible.sync="dialogConfig.dialogVisible" :width="dialogConfig.width" :fullscreen="dialogConfig.fullscreen" :close-on-click-modal=false :modal-append-to-body=false append-to-body destroy-on-close>
<preinstall v-if="dialogConfig.type === 'preinstall'" /> <component v-bind:is="currentComponent" @closeDialog="closeDialog"></component>
<agentWidget @closeDialog="closeDialog" v-if="dialogConfig.type === 'agent'" />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import booking from "./booking"; import bookingWidget from "./nodePage/booking.vue";
import trailer from "./trailer"; import trailerWidget from "./nodePage/trailer.vue";
import preinstall from "./preinstall"; import preinstallWidget from "./nodePage/preinstall.vue";
import agentWidget from "./agent"; import agentWidget from "./nodePage/agent.vue";
import cabinetWidget from "./nodePage/cabinet/index.vue";
import cusDeclarationWidget from "./nodePage/cusDeclaration.vue";
import shipWidget from "./nodePage/ship.vue";
import subMaterialWidget from "./nodePage/subMaterial.vue";
import bargeWidget from "./nodePage/barge.vue";
import departureWidget from "./nodePage/departure.vue";
import blCopyWidget from "./nodePage/blCopy.vue";
import clrDocumentWidget from "./nodePage/clrDocument.vue";
import arrivalWidget from "./nodePage/arrival.vue";
import cusClearanceWidget from "./nodePage/cusClearance.vue";
import unloadingWidget from "./nodePage/unloading/index.vue";
/**
* 海运流程图
*/
export default { export default {
name: "shippingChart", name: "shippingChart",
components: { booking, trailer, preinstall, agentWidget }, components: {
bookingWidget,
trailerWidget,
preinstallWidget,
agentWidget,
cabinetWidget,
cusDeclarationWidget,
shipWidget,
subMaterialWidget,
bargeWidget,
departureWidget,
blCopyWidget,
clrDocumentWidget,
arrivalWidget,
cusClearanceWidget,
unloadingWidget,
},
props: { props: {
shippingType: String, shippingType: String,
boxId: String, boxId: String,
}, },
data() { data() {
return { return {
// 弹窗配置
dialogConfig: { dialogConfig: {
dialogVisible: false, dialogVisible: false,
title: "", title: "",
width: "30%", width: "",
type: "", fullscreen: false,
}, },
// 流程图节点
chartData: { chartData: {
sea: [ sea: [
[ [
...@@ -72,7 +103,7 @@ export default { ...@@ -72,7 +103,7 @@ export default {
{ {
unNode: true, unNode: true,
type: "agent", type: "agent",
title: "代理商设置", title: "AGENT",
}, },
], ],
[ [
...@@ -86,7 +117,7 @@ export default { ...@@ -86,7 +117,7 @@ export default {
{ {
title: "报关", title: "报关",
imgSrc: require("@/assets/images/shipping/bg-start.png"), imgSrc: require("@/assets/images/shipping/bg-start.png"),
type: "customsDeclaration", type: "cusDeclaration",
}, },
{ {
title: "配船", title: "配船",
...@@ -114,10 +145,20 @@ export default { ...@@ -114,10 +145,20 @@ export default {
}, },
], ],
[ [
{ /* {
title: "清关文件", title: "清关文件",
imgSrc: require("@/assets/images/shipping/qg-start.png"), imgSrc: require("@/assets/images/shipping/qg-start.png"),
type: "clearanceDocument", type: "clearanceDocument",
}, */
{
unNode: true,
type: "blCopy",
title: "提单Copy",
},
{
unNode: true,
type: "clrDocument",
title: "清关文件",
}, },
], ],
[ [
...@@ -131,7 +172,7 @@ export default { ...@@ -131,7 +172,7 @@ export default {
{ {
title: "清关", title: "清关",
imgSrc: require("@/assets/images/shipping/qg-start.png"), imgSrc: require("@/assets/images/shipping/qg-start.png"),
type: "customsClearance", type: "cusClearance",
}, },
], ],
[ [
...@@ -150,33 +191,41 @@ export default { ...@@ -150,33 +191,41 @@ export default {
], ],
], ],
}, },
// 当前组件
currentComponent: "",
}; };
}, },
methods: { methods: {
/** 关闭弹窗 */
closeDialog() { closeDialog() {
this.$set(this.dialogConfig, "dialogVisible", false); this.$set(this.dialogConfig, "dialogVisible", false);
}, },
setCommonAttr(node) { /** 节点点击 */
this.$set(this.dialogConfig, "dialogVisible", true);
this.$set(this.dialogConfig, "title", node.title);
this.$set(this.dialogConfig, "type", node.type);
},
nodeClick(node) { nodeClick(node) {
console.log(node); this.currentComponent = `${node.type}Widget`;
this.$set(this.dialogConfig, "width", "500px");
this.$set(this.dialogConfig, "title", node.title);
this.$set(this.dialogConfig, "fullscreen", false);
switch (node.type) { switch (node.type) {
// 订舱
case "booking": case "booking":
this.$set(this.dialogConfig, "width", "40%"); // 驳船
this.setCommonAttr(node); case "barge":
// 清关文件
case "clrDocument":
this.$set(this.dialogConfig, "width", "700px");
break; break;
case "trailer": // AGENT
case "agent": case "agent":
this.$set(this.dialogConfig, "width", "25%"); this.$set(this.dialogConfig, "title", "代理商设置");
this.setCommonAttr(node);
break; break;
// 预装
case "preinstall": case "preinstall":
this.$router.push(`/boxSea/shippingSea/preinstall/${this.boxId}`); this.$set(this.dialogConfig, "fullscreen", true);
this.$set(this.dialogConfig, "title", "出货安排(预装)");
break; break;
} }
this.$set(this.dialogConfig, "dialogVisible", true);
}, },
}, },
}; };
...@@ -192,18 +241,24 @@ export default { ...@@ -192,18 +241,24 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
.node-div { .node-area {
margin-top: 10px; display: flex;
cursor: pointer; flex-direction: column;
p { align-items: center;
margin-top: -10px;
margin-bottom: 0px; .node-div {
text-align: center; margin-top: 10px;
cursor: pointer;
p {
margin-top: -10px;
margin-bottom: 0px;
text-align: center;
}
} }
} }
} .arrow-area {
.chart-arrow { margin: 0 10px;
margin: 0 10px; }
} }
} }
</style> </style>
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
<div style="display: flex; justify-content: space-between;align-items: flex-end;"> <div style="display: flex; justify-content: space-between;align-items: flex-end;">
<h2>海运出货操作</h2> <h2>海运出货操作</h2>
</div> </div>
<!-- 信息 -->
<el-card style="margin-top: 15px"> <el-card style="margin-top: 15px">
<el-descriptions :column="5" border> <el-descriptions :column="5" border>
<el-descriptions-item label="自编号"></el-descriptions-item> <el-descriptions-item label="自编号"></el-descriptions-item>
...@@ -15,6 +17,7 @@ ...@@ -15,6 +17,7 @@
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<!-- 海运流程图 -->
<div class="shipping-flow"> <div class="shipping-flow">
<shippingChart :boxId="boxId" /> <shippingChart :boxId="boxId" />
</div> </div>
...@@ -24,8 +27,10 @@ ...@@ -24,8 +27,10 @@
</template> </template>
<script> <script>
import shippingChart from "./shippingChart"; import shippingChart from "../shippingSea/seaProcess";
/**
* 海运操作主页面
*/
export default { export default {
name: "shippingSea", name: "shippingSea",
components: { components: {
...@@ -40,7 +45,10 @@ export default { ...@@ -40,7 +45,10 @@ export default {
<style lang="scss"> <style lang="scss">
.shipping-flow { .shipping-flow {
margin-top: 5px; margin-top: 5px;
// 页面内元素弹框form控件宽度设置 }
// 海运操作统一弹窗样式
.shipping-dialog {
// 页面内元素弹窗form控件宽度设置
.el-form-item__content { .el-form-item__content {
> div { > div {
width: 100%; width: 100%;
...@@ -49,5 +57,13 @@ export default { ...@@ -49,5 +57,13 @@ export default {
.operate-button { .operate-button {
text-align: center; text-align: center;
} }
.two-element{
.el-form-item__content {
display: flex;
> :last-child {
margin-left: 10px;
}
}
}
} }
</style> </style>
This diff is collapsed.
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
<el-table-column label="箱数" align="center" prop="sumNum" /> <el-table-column label="箱数" align="center" prop="sumNum" />
<el-table-column label="体积/重量" align="center" prop="sumVolume"> <el-table-column label="体积/重量" align="center" prop="sumVolume">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.sumVolume/scope.row.sumWeight}} {{scope.row.sumVolume+'/'+scope.row.sumWeight}}
</template> </template>
</el-table-column> </el-table-column>
...@@ -212,9 +212,9 @@ ...@@ -212,9 +212,9 @@
import {getTradeCityList} from '@/api/ecw/region' import {getTradeCityList} from '@/api/ecw/region'
export default { export default {
name: "CreatCollection", name: "CreatCollection",
components: { components: {
CustomerSelector CustomerSelector
}, },
data() { data() {
return { return {
loadings: false, loadings: false,
......
...@@ -10,14 +10,14 @@ ...@@ -10,14 +10,14 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-card v-show="showSearch"> <el-card v-show="showSearch">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="80px" class="card"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="80px" class="card">
<el-row :column="4" > <el-row>
<el-form-item label="始发城市:"> <el-form-item label="始发城市:">
<el-select v-model="queryParams.departureId" placeholder="请选择始发"> <el-select v-model="queryParams.departureId" placeholder="请选择始发城市">
<el-option v-for="item in expoerCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in expoerCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="目的城市:"> <el-form-item label="目的城市:">
<el-select v-model="queryParams.objectiveId" placeholder="请选择始发地"> <el-select v-model="queryParams.objectiveId" placeholder="请选择目的城市">
<el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="queryParams.control" /> <dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="queryParams.control" />
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row :column="4" > <el-row>
<el-form-item label="订单状态:"> <el-form-item label="订单状态:">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.control" /> <dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.control" />
</el-form-item> </el-form-item>
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入品名" clearable @keyup.enter.native="handleQuery"/> <el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入品名" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row :column="4" > <el-row>
<el-form-item label="提单号:" > <el-form-item label="提单号:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入提单号" clearable @keyup.enter.native="handleQuery"/> <el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入提单号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
...@@ -52,11 +52,14 @@ ...@@ -52,11 +52,14 @@
<el-form-item label="费用类型:" > <el-form-item label="费用类型:" >
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.feeType"></dict-selector> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.feeType"></dict-selector>
</el-form-item> </el-form-item>
<el-form-item label="发货人:" > <el-form-item label="发货人:" prop="consignorId">
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入发货人" clearable @keyup.enter.native="handleQuery"/> <customer-selector v-model="queryParams.consignorId" @change="consignor = $event" />
</el-form-item> </el-form-item>
</el-row> <!-- <el-form-item label="发货人:" >
<el-row :column="4" > <el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入发货人" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> -->
</el-row>
<el-row>
<el-form-item label="收货人:" > <el-form-item label="收货人:" >
<el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入收货人" clearable @keyup.enter.native="handleQuery"/> <el-input style="max-width: 188px;" v-model="queryParams.orderNo" placeholder="请输入收货人" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
...@@ -121,11 +124,12 @@ ...@@ -121,11 +124,12 @@
</template> </template>
<script> <script>
import { userList } from "@/api/system/user" import { userList } from "@/api/system/user"
import {DICT_TYPE} from '@/utils/dict' import {DICT_TYPE} from '@/utils/dict'
import CustomerSelector from '@/components/CustomerSelector' import CustomerSelector from '@/components/CustomerSelector'
import {getTradeCityList} from '@/api/ecw/region' import {getTradeCityList} from '@/api/ecw/region'
export default {
export default {
name: "Receivable", name: "Receivable",
components: { components: {
CustomerSelector CustomerSelector
......
...@@ -251,7 +251,7 @@ ...@@ -251,7 +251,7 @@
import {getOffer,deleteOffer} from '@/api/ecw/offer' import {getOffer,deleteOffer} from '@/api/ecw/offer'
import {getProductAttrList} from '@/api/ecw/productAttr' import {getProductAttrList} from '@/api/ecw/productAttr'
import {getCustomerList,getCustomer} from '@/api/ecw/customer' import {getCustomerList,getCustomer} from '@/api/ecw/customer'
import {getChannelLists,getChannel} from '@/api/ecw/channel' import {getChannelList,getChannel} from '@/api/ecw/channel'
import {openedRouterList as getOpenedRouterList} from '@/api/ecw/warehouse' import {openedRouterList as getOpenedRouterList} from '@/api/ecw/warehouse'
export default { export default {
name: "detail", name: "detail",
...@@ -289,7 +289,7 @@ ...@@ -289,7 +289,7 @@
that.list = response.data; that.list = response.data;
that.list.transportRespVOList.forEach((item)=>{ that.list.transportRespVOList.forEach((item)=>{
if(item.channelIds){ if(item.channelIds){
getChannelLists({ids:item.channelIds}).then(res=>{ getChannelList({ids:item.channelIds}).then(res=>{
item.channelData = res.data item.channelData = res.data
}) })
} }
......
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-row>
<el-form-item >
<el-select v-model="queryParams.beginCreateTime" style="width: 172px;">
<el-option label="入仓时间" value="0"/>
<el-option label="处理时间" value="1"/>
</el-select>
<el-date-picker
v-model="queryParams.date"
type="datetimerange"
style="margin-left: 10px;"
range-separator="到"
start-placeholder="请选择日期"
end-placeholder="请选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="始发地:">
<el-select v-model="queryParams.startWarehouseId" placeholder="请选择始发地">
<el-option v-for="item in expoerCityList" :label="item.titleZh" :value="item.id" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的地:" >
<el-select v-model="queryParams.destWarehouseId" placeholder="请选择目的地">
<el-option v-for="item in importCityList" :label="item.titleZh" :value="item.id" :key="item.id" ></el-option>
</el-select>
</el-form-item>
<el-form-item label="运输方式:" >
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="控货:">
<dict-selector :type="DICT_TYPE.INFRA_BOOLEAN_STRING" v-model="queryParams.control" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="异常状态:">
<dict-selector :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" v-model="queryParams.orderExceptionStatus" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="异常类型" prop="orderExceptionType">
<dict-selector :type="DICT_TYPE.ORDER_ERROR_TYPE" v-model="queryParams.orderExceptionType" @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="订单号" prop="orderNumber">
<el-input v-model="queryParams.orderNumber" placeholder="请输入订单号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="发货人:" prop="consignorId">
<customer-selector v-model="queryParams.consignorId" @change="consignor = $event" />
</el-form-item>
<el-form-item label="唛头:" prop="marks">
<el-input v-model="queryParams.marks" placeholder="请输入唛头" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="品名:" prop="orderExceptionAmount">
<el-input v-model="queryParams.orderExceptionAmount" placeholder="请输入品名" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="备案:">
<dict-selector :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" v-model="queryParams.productRecord" @keyup.enter.native="handleQuery"/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="跟进业务">
<el-select v-model="queryParams.followUpSalesmanId" placeholder="请选择跟进业务">
<el-option v-for="item in creatorData" :key="item.id" :label="item.nickname" :value="item.id"/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
</el-form-item>
</el-row>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" border :data="list">
<el-table-column label="序号" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="订单号" align="center" prop="orderNumber" />
<el-table-column label="唛头" align="center" prop="marks" />
<el-table-column label="总箱数/入仓箱数" align="center" >
<template slot-scope="scope">
<span>{{scope.row.sumNum+'/'+scope.row.sumNum}}</span>
</template>
</el-table-column>
<el-table-column label="体积/重量" align="center">
<template slot-scope="scope">
<span>{{scope.row.sumVolume+"/"+scope.row.sumWeight}}</span>
</template>
</el-table-column>
<el-table-column label="运输方式/目的地" align="center">
<template slot-scope="scope">
<span><dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="scope.row.transportId"></dict-tag>
{{'/'+importCityName(scope.row.logisticsInfoDto.destWarehouseId)}}</span>
</template>
</el-table-column>
<el-table-column label="控货" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.control" />
</template>
</el-table-column>
<el-table-column label="订单状态" align="center" prop="orderExceptionAmount" >
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="异常状态" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" :value="scope.row.orderExceptionStatus" />
</template>
</el-table-column>
<el-table-column label="异常类型" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" :value="scope.row.orderExceptionType" />
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" >处理</el-button>
<el-button size="mini" type="text" icon="el-icon-share">查看</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
</div>
</template>
<script>
import {getOrderExceptionPage} from "@/api/ecw/orderException"
import {getTradeCityList} from '@/api/ecw/region'
import {DICT_TYPE} from '@/utils/dict'
import { userList } from "@/api/system/user"
import CustomerSelector from '@/components/CustomerSelector'
export default {
name: "Exception",
components: {
CustomerSelector
},
data() {
return {
// 遮罩层
loading: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 订单异常列表
list: [],
dateRangeCreateTime: [],
creatorData:[],
// 查询参数
queryParams: {
pageNo: 1,
pageSize: 10,
orderId: null,
orderNumber: null,
orderExceptionType: null,
orderExceptionRemark: null,
orderExceptionAmount: null,
orderExceptionAttr: null,
orderExceptionStatus: null,
},
tradeCityList:[],
};
},
created() {
this.getList();
getTradeCityList().then(res => this.tradeCityList = res.data)
userList('salesman').then(res =>this.creatorData = res.data)
},
computed:{
expoerCityList(){
return this.tradeCityList.filter(item => item.type == 2)
},
importCityList(){
return this.tradeCityList.filter(item => item.type == 1)
}
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams}
// 执行查询
getOrderExceptionPage(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
importCityName(id){
return this.tradeCityList.filter(item => item.id == id)
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRangeCreateTime = [];
this.handleQuery();
},
}
}
</script>
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-card>
<div slot="header" class="card-title">报价单详情</div>
<el-descriptions :column="4">
<el-descriptions-item label="唛头">
{{orderData.marks?orderData.marks:''}}
</el-descriptions-item>
<el-descriptions-item label="已到箱数/总箱数">
{{orderData.sumNum?orderData.sumNum:0+'/'+orderData.sumNum?orderData.sumNum:0}}
</el-descriptions-item>
<el-descriptions-item label="订单状态">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="orderData.status" />
</el-descriptions-item>
<el-descriptions-item label="送货日期">
{{orderData.date?orderData.date:''}}
</el-descriptions-item>
<el-descriptions-item label="运输方式">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" />
</el-descriptions-item>
<el-descriptions-item label="始发地">
{{importCityName(orderData.startWarehouseId)}}
</el-descriptions-item>
<el-descriptions-item label="目的地">
{{importCityName(orderData.startWarehouseId)}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
<el-descriptions-item label="发货人">
{{orderData.consignorVO?orderData.consignorVO.name||'':''}}
</el-descriptions-item>
<el-descriptions-item label="发货公司">
{{orderData.consignorVO?orderData.consignorVO.company||'':''}}
</el-descriptions-item>
<el-descriptions-item label="发货电话">
{{orderData.consignorVO?orderData.consignorVO.phone||'':''}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
<el-descriptions-item label="收货人">
{{orderData.consigneeVO?orderData.consigneeVO.name||'':''}}
</el-descriptions-item>
<el-descriptions-item label="收货公司">
{{orderData.consigneeVO?orderData.consigneeVO.company||'':''}}
</el-descriptions-item>
<el-descriptions-item label="收货电话">
{{orderData.consigneeVO?orderData.consigneeVO.phone||'':''}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="card">
<!-- 列表 -->
<div slot="header" class="card-title">问题详情</div>
<el-table v-loading="loading" border :data="list">
<el-table-column label="序号" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="异常类型" align="center" >
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" :value="scope.row.orderExceptionType" />
</template>
</el-table-column>
<el-table-column label="异常描述" align="center">
<template slot-scope="scope">
<span>{{scope.row.orderExceptionRemark}}</span>
</template>
</el-table-column>
<el-table-column label="金额" align="center" scope="orderExceptionAmount" />
<el-table-column label="异常状态" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_EXCEPTION_STATUS" :value="scope.row.orderExceptionStatus" />
</template>
</el-table-column>
<el-table-column label="附件" align="center">
<template slot-scope="scope">
<span>{{scope.row.orderExceptionRemark}}</span>
</template>
</el-table-column>
<el-table-column label="处理人" align="center" prop="orderExceptionAmount" />
<el-table-column label="处理时间" align="center" prop='orderExceptionTime' />
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" >处理</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
</el-card>
</div>
</template>
<script>
import {getOrderExceptionPage} from "@/api/ecw/orderException"
import {getTradeCityList} from '@/api/ecw/region'
import {DICT_TYPE} from '@/utils/dict'
export default {
name: "Pending",
components: {
},
data() {
return {
// 遮罩层
loading: false,
// 总条数
total: 0,
// 显示搜索条件
showSearch: true,
orderData:{},
// 订单异常列表
list: [],
tradeCityList:[],
queryParams: {
page: 1,
rows: 10,
orderExceptionStatus: 0,
},
};
},
created() {
this.getList();
getTradeCityList().then(res => this.tradeCityList = res.data)
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
// 执行查询
getOrderExceptionPage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.orderData = response.data
this.loading = false;
});
},
importCityName(id){
var arr = this.tradeCityList.filter(item => item.id == id)
return arr.length>0?arr[0].titleZh:''
},
}
}
</script>
<style>
.card-title{
font-size: 18px;
font-weight: bold;
margin-top: 10px;
}
.card{
margin-top: 20px;
}
</style>
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-card>
<div slot="header" class="card-title">合单申请-{{orderData.orderSn||''}}</div>
<el-descriptions :column="4">
<el-descriptions-item label="唛头">
{{orderData.marks?orderData.marks:''}}
</el-descriptions-item>
<el-descriptions-item label="已到箱数/总箱数">
{{orderData.sumNum?orderData.sumNum:0+'/'+orderData.totalNum?orderData.totalNum:0}}
</el-descriptions-item>
<el-descriptions-item label="订单状态">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="orderData.status" />
</el-descriptions-item>
<el-descriptions-item label="送货日期">
{{orderData.date?orderData.date:''}}
</el-descriptions-item>
<el-descriptions-item label="运输方式">
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="orderData.transportId" />
</el-descriptions-item>
<el-descriptions-item label="出货渠道">
{{orderData.channelName||'/'}}
</el-descriptions-item>
<el-descriptions-item label="始发地">
{{importCityName(orderData.startWarehouseId)}}
</el-descriptions-item>
<el-descriptions-item label="目的地">
{{importCityName(orderData.startWarehouseId)}}
</el-descriptions-item>
<el-descriptions-item label="发货人姓名">
{{orderData.consignorVO?orderData.consignorVO.name||'':''}}
</el-descriptions-item>
<el-descriptions-item label="发货公司">
{{orderData.consignorVO?orderData.consignorVO.company||'':''}}
</el-descriptions-item>
<el-descriptions-item label="发货电话">
{{orderData.consignorVO?orderData.consignorVO.phone||'':''}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4">
<el-descriptions-item label="收货人姓名">
{{orderData.consigneeVO?orderData.consigneeVO.name||'':''}}
</el-descriptions-item>
<el-descriptions-item label="收货公司">
{{orderData.consigneeVO?orderData.consigneeVO.company||'':''}}
</el-descriptions-item>
<el-descriptions-item label="收货电话">
{{orderData.consigneeVO?orderData.consigneeVO.phone||'':''}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="card">
<!-- 列表 -->
<div slot="header" class="card-title">已合单订单</div>
<el-table v-loading="loading" border :data="list">
<el-table-column label="序号" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="订单号" align="center" scope="orderSn" />
<el-table-column label="唛头" align="center" scope="marks" />
<el-table-column label="始发地" align="center">
<template slot-scope="scope">
<span>{{importCityName(scope.row.startWarehouseId)}}</span>
</template>
</el-table-column>
<el-table-column label="入仓货物属性" align="center">
<template slot-scope="scope">
<span>合计:</span>
<span>{{scope.row.totalNum+''+scope.row.volume+''+scope.row.weight+'kg'}}</span>
</template>
</el-table-column>
<el-table-column label="入仓时间" align="center" prop='createTime' />
<el-table-column label="状态" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
</el-table>
</el-card>
<el-card class="card">
<!-- 列表 -->
<div slot="header" class="card-title">待合单订单</div>
<el-table border :data="singleData" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column label="序号" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="订单号" align="center" scope="orderSn" />
<el-table-column label="唛头" align="center" scope="marks" />
<el-table-column label="始发地" align="center">
<template slot-scope="scope">
<span>{{importCityName(scope.row.startWarehouseId)}}</span>
</template>
</el-table-column>
<el-table-column label="入仓货物属性" align="center">
<template slot-scope="scope">
<span>合计:</span>
<span>{{scope.row.totalNum+''+scope.row.volume+''+scope.row.weight+'kg'}}</span>
</template>
</el-table-column>
<el-table-column label="入仓时间" align="center" prop='createTime' />
<el-table-column label="状态" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
</el-table>
<el-row v-if="singleData.length>0">
<el-checkbox v-model="checked">需要仓库打包</el-checkbox>
</el-row>
</el-card>
<div slot="footer" class="card">
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button plain type="primary" @click="submitForm">取消</el-button>
</div>
</div>
</template>
<script>
import {getOrderExceptionPage} from "@/api/ecw/orderException"
import {getTradeCityList} from '@/api/ecw/region'
import {DICT_TYPE} from '@/utils/dict'
import {getChannel} from '@/api/ecw/channel'
export default {
name: "SingleApply",
components: {
},
data() {
return {
checked:false,
orderData:{},
// 订单异常列表
list: [],
singleData:[],
tradeCityList:[],
multipleSelection:[],
loading:false
};
},
created() {
// this.getList();
getTradeCityList().then(res => this.tradeCityList = res.data)
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
// 执行查询
getOrderExceptionPage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.orderData = response.data
this.loading = false;
});
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
importCityName(id){
var arr = this.tradeCityList.filter(item => item.id == id)
return arr.length>0?arr[0].titleZh:''
},
getChannelName(){
getChannel(this.orderData.channelId).then(res=>{
this.orderData.channelName = res.data.nameZh
})
},
submitForm(){
}
}
}
</script>
<style>
.card-title{
font-size: 18px;
font-weight: bold;
margin-top: 10px;
}
.card{
margin-top: 20px;
}
</style>
This diff is collapsed.
...@@ -4,10 +4,55 @@ ...@@ -4,10 +4,55 @@
<el-dialog <el-dialog
title="入仓-货物入仓" title="入仓-货物入仓"
:visible.sync="opened" :visible.sync="opened"
width="600px" width="960px"
:before-close="handleClose()" :before-close="handleClose()"
> >
{{ id }} <el-descriptions border :column="2">
<el-descriptions-item label="中文品名"></el-descriptions-item>
<el-descriptions-item label="英文品名"></el-descriptions-item>
<el-descriptions-item label="品牌"></el-descriptions-item>
<el-descriptions-item label="是否备案"></el-descriptions-item>
<el-descriptions-item label="填单参数"></el-descriptions-item>
</el-descriptions>
<el-form ref="form" :model="form" label-width="80px" style="margin-top: 20px">
<el-form-item label="材质">
<dict-selector :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" v-model="form.material"></dict-selector>
</el-form-item>
<el-form-item label="入仓时间">
<el-date-picker v-model="form.time" type="datetime" placeholder="请选择入仓时间"></el-date-picker>
</el-form-item>
</el-form>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>入仓记录</span>
<el-button style="float: right;margin-left: 15px" size="mini" type="primary" icon="el-icon-minus" circle></el-button>
<el-button style="float: right" size="mini" type="primary" icon="el-icon-plus" circle></el-button>
</div>
<el-table
:data="[]"
style="width: 100%">
<el-table-column label="箱数">
</el-table-column>
<el-table-column label="包装类型">
</el-table-column>
<el-table-column label="长(cm)">
</el-table-column>
<el-table-column label="款(cm)">
</el-table-column>
<el-table-column label="高(cm)">
</el-table-column>
<el-table-column label="体积(m³)">
</el-table-column>
<el-table-column label="重量(Kg)">
</el-table-column>
<el-table-column label="数量">
</el-table-column>
<el-table-column label="快递单号">
</el-table-column>
</el-table>
</el-card>
<span slot="footer"> <span slot="footer">
<el-button @click="opened = false">关 闭</el-button> <el-button @click="opened = false">关 闭</el-button>
<el-button type="primary" @click="opened = false">提 交</el-button> <el-button type="primary" @click="opened = false">提 交</el-button>
...@@ -17,9 +62,17 @@ ...@@ -17,9 +62,17 @@
</template> </template>
<script> <script>
import {getOrderWarehouseIn} from "@/api/ depository/orderWarehouseIn"
import dictSelector from "@/components/DictSelector"
import {DICT_TYPE} from "@/utils/dict"
export default { export default {
name: 'editDialog', name: 'editDialog',
components: {
dictSelector
},
props: { props: {
visible: { visible: {
type: Boolean, type: Boolean,
...@@ -33,7 +86,13 @@ export default { ...@@ -33,7 +86,13 @@ export default {
data() { data() {
return { return {
opened: false, DICT_TYPE,
opened: true,
form: {
material: undefined,
time: 0
},
orderItem: {}
}; };
}, },
...@@ -41,6 +100,11 @@ export default { ...@@ -41,6 +100,11 @@ export default {
visible(val) { visible(val) {
if (val) { if (val) {
this.opened = true this.opened = true
if (this.id) {
getOrderWarehouseIn(this.id).then(r => {
this.orderItem = r.data
})
}
} else { } else {
} }
}, },
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
prop="address" prop="address"
label="操作"> label="操作">
<template v-slot="{row}"> <template v-slot="{row}">
<el-button size="mini" type="text" @click="handleWarehousing(row.id)">入仓</el-button> <el-button size="mini" type="text" @click="handleWarehousing(row.prodId)">入仓</el-button>
<el-button size="mini" type="text">追加</el-button> <el-button size="mini" type="text">追加</el-button>
<el-button size="mini" type="text">退仓</el-button> <el-button size="mini" type="text">退仓</el-button>
</template> </template>
......
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