Commit b0663d15 authored by huhaiiqng's avatar huhaiiqng

海运操作开发

parent e700931c
src/assets/images/shipping/bc-start.png

3.14 KB | W: | H:

src/assets/images/shipping/bc-start.png

1.88 KB | W: | H:

src/assets/images/shipping/bc-start.png
src/assets/images/shipping/bc-start.png
src/assets/images/shipping/bc-start.png
src/assets/images/shipping/bc-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/bg-start.png

2.98 KB | W: | H:

src/assets/images/shipping/bg-start.png

1.81 KB | W: | H:

src/assets/images/shipping/bg-start.png
src/assets/images/shipping/bg-start.png
src/assets/images/shipping/bg-start.png
src/assets/images/shipping/bg-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/dc-start.png

2.58 KB | W: | H:

src/assets/images/shipping/dc-start.png

1.55 KB | W: | H:

src/assets/images/shipping/dc-start.png
src/assets/images/shipping/dc-start.png
src/assets/images/shipping/dc-start.png
src/assets/images/shipping/dc-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/dg-start.png

2.86 KB | W: | H:

src/assets/images/shipping/dg-start.png

1.81 KB | W: | H:

src/assets/images/shipping/dg-start.png
src/assets/images/shipping/dg-start.png
src/assets/images/shipping/dg-start.png
src/assets/images/shipping/dg-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/pc-start.png

3.08 KB | W: | H:

src/assets/images/shipping/pc-start.png

1.92 KB | W: | H:

src/assets/images/shipping/pc-start.png
src/assets/images/shipping/pc-start.png
src/assets/images/shipping/pc-start.png
src/assets/images/shipping/pc-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/qg-start.png

2.27 KB | W: | H:

src/assets/images/shipping/qg-start.png

1.31 KB | W: | H:

src/assets/images/shipping/qg-start.png
src/assets/images/shipping/qg-start.png
src/assets/images/shipping/qg-start.png
src/assets/images/shipping/qg-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/qy-start.png

2.74 KB | W: | H:

src/assets/images/shipping/qy-start.png

1.71 KB | W: | H:

src/assets/images/shipping/qy-start.png
src/assets/images/shipping/qy-start.png
src/assets/images/shipping/qy-start.png
src/assets/images/shipping/qy-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/tc-start.png

2.81 KB | W: | H:

src/assets/images/shipping/tc-start.png

1.81 KB | W: | H:

src/assets/images/shipping/tc-start.png
src/assets/images/shipping/tc-start.png
src/assets/images/shipping/tc-start.png
src/assets/images/shipping/tc-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/xg-start.png

3.01 KB | W: | H:

src/assets/images/shipping/xg-start.png

1.86 KB | W: | H:

src/assets/images/shipping/xg-start.png
src/assets/images/shipping/xg-start.png
src/assets/images/shipping/xg-start.png
src/assets/images/shipping/xg-start.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/images/shipping/yz-start.png

2.94 KB | W: | H:

src/assets/images/shipping/yz-start.png

1.81 KB | W: | H:

src/assets/images/shipping/yz-start.png
src/assets/images/shipping/yz-start.png
src/assets/images/shipping/yz-start.png
src/assets/images/shipping/yz-start.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -284,24 +284,24 @@ export const constantRoutes = [ ...@@ -284,24 +284,24 @@ export const constantRoutes = [
] ]
}, },
{ {
path: '/box', path: '/boxSea',
component: Layout, component: Layout,
hidden: true, hidden: true,
redirect: 'noredirect', redirect: 'noredirect',
children: [ children: [
{ /* {
path: 'query/:boxId(\\d+)', path: 'query/:boxId(\\d+)',
component: (resolve) => import('@/views/ecw/box/query'), component: (resolve) => import('@/views/ecw/box/query'),
props: true, props: true,
name: 'boxQuery', name: 'boxQuery',
meta: {title: '出货详情', icon: '', activeMenu: '/shipment/box'} meta: {title: '出货详情', icon: '', activeMenu: '/shipment/box'}
}, }, */
{ {
path: 'shippingSea/:boxId(\\d+)', path: 'shippingSea/:boxId(\\d+)',
component: (resolve) => import('@/views/ecw/box/shipping/shippingSea'), component: (resolve) => import('@/views/ecw/box/shipping/shippingSea'),
props: true, props: true,
name: 'shippingSea', name: 'shippingSea',
meta: {title: '海运出货操作', icon: '', activeMenu: '/shipment/box'} meta: {title: '海运出货操作', icon: '', activeMenu: '/shipment/boxSea'}
} }
] ]
}, },
......
...@@ -351,7 +351,6 @@ ...@@ -351,7 +351,6 @@
}, },
/** 查看按钮操作 */ /** 查看按钮操作 */
handleCommand(row, command) { handleCommand(row, command) {
console.log(row, command)
switch (command) { switch (command) {
case 'sea': case 'sea':
this.$router.push('/box/shippingSea/' + row.id) this.$router.push('/box/shippingSea/' + row.id)
......
...@@ -381,10 +381,9 @@ ...@@ -381,10 +381,9 @@
}, },
/** 查看按钮操作 */ /** 查看按钮操作 */
handleCommand(row, command) { handleCommand(row, command) {
console.log(row, command)
switch (command) { switch (command) {
case 'sea': case 'sea':
this.$router.push('/box/shippingSea/' + row.id) this.$router.push('/boxSea/shippingSea/' + row.id)
break; break;
case 'edit': case 'edit':
......
...@@ -392,7 +392,6 @@ ...@@ -392,7 +392,6 @@
}, },
/** 查看按钮操作 */ /** 查看按钮操作 */
handleCommand(row, command) { handleCommand(row, command) {
console.log(row, command)
switch (command) { switch (command) {
case 'sea': case 'sea':
this.$router.push('/box/shippingSea/' + row.id) this.$router.push('/box/shippingSea/' + row.id)
......
<template>
<el-form ref="bookingForm" :rules="rules" :model="booking" label-width="120px" class="booking-form">
<el-form-item label="SO NO">
<el-input v-model="booking.soNo"></el-input>
</el-form-item>
<el-form-item label="船公司类型">
<el-select v-model="booking.type" placeholder="请选择船公司类型">
<el-option v-for="type in types" :key="type" :label="type" :value="type"></el-option>
</el-select>
</el-form-item>
<el-form-item label="驳船港">
<el-select v-model="booking.bargePort" placeholder="请选择驳船港">
<el-option v-for="type in types" :key="type" :label="type" :value="type"></el-option>
</el-select>
</el-form-item>
<el-form-item label="大船港">
<el-select v-model="booking.bigShipPort" placeholder="请选择大船港">
<el-option v-for="type in types" :key="type" :label="type" :value="type"></el-option>
</el-select>
</el-form-item>
<el-form-item label="目的港">
<el-select v-model="booking.destination" placeholder="请选择目的港">
<el-option v-for="type in types" :key="type" :label="type" :value="type"></el-option>
</el-select>
</el-form-item>
<el-form-item label="订舱公司">
<el-select v-model="booking.bookingCompany" placeholder="请选择订舱公司">
<el-option v-for="type in types" :key="type" :label="type" :value="type"></el-option>
</el-select>
</el-form-item>
<el-form-item label="预计驳船时间" prop="time">
<el-date-picker type="date" placeholder="请选择日期" v-model="booking.bargeTime"></el-date-picker>
</el-form-item>
<el-form-item label="预计开船时间" prop="time">
<el-date-picker type="date" placeholder="请选择日期" v-model="booking.departureTime"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">提交</el-button>
<el-button @click="cancel">取消</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
name: "booking",
data() {
return {
types: ["PIL", "MSK", "CMA", "COSCO", "ZIM", "ONE", "OOCL", "MSC", "HPL"],
booking: {},
rules: {
time: [{ required: true, message: "请选择时间", trigger: "change" }],
},
};
},
methods: {
onSubmit() {
this.$refs["bookingForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss">
.booking-form {
.el-form-item__content {
> div {
width: 100%;
}
}
}
</style>
<template> <template>
<el-scrollbar :vertical="true"> <div>
<section class="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>
<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">
<img :src="node.imgSrc" alt=""> <img :src="node.imgSrc" alt="">
<p>{{node.title}}</p> <p>{{node.title}}</p>
</template>
<template v-else-if="node.unNode">
<el-button type="primary">AGENT</el-button>
</template>
</div> </div>
</div> </div>
<div class="chart-arrow" v-if="index !== (chartData['sea'].length-1)"> <div class="chart-arrow" v-if="index !== (chartData['sea'].length-1)">
<p>箭头</p> <img src="@/assets/images/shipping/jt-start.png" alt="">
</div> </div>
</div> </div>
</section>
</el-scrollbar> </el-scrollbar>
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" destroy-on-close>
<booking @closeDialog="closeDialog" v-if="type === 'booking'" />
<trailer @closeDialog="closeDialog" v-if="type === 'trailer'" />
</el-dialog>
</div>
</template> </template>
<script> <script>
import booking from "./booking";
import trailer from "./trailer";
export default { export default {
name: "flowChart", name: "flowChart",
components: { booking, trailer },
props: { props: {
shippingType: String, shippingType: String,
}, },
data() { data() {
return { return {
dialogVisible: false,
title: "",
type: "",
chartData: { chartData: {
sea: [ sea: [
[ [
...@@ -44,6 +61,10 @@ export default { ...@@ -44,6 +61,10 @@ export default {
imgSrc: require("@/assets/images/shipping/tc-start.png"), imgSrc: require("@/assets/images/shipping/tc-start.png"),
type: "trailer", type: "trailer",
}, },
{
unNode: true,
agent: true,
},
], ],
[ [
{ {
...@@ -116,7 +137,6 @@ export default { ...@@ -116,7 +137,6 @@ export default {
title: "结算", title: "结算",
imgSrc: require("@/assets/images/shipping/js-start.png"), imgSrc: require("@/assets/images/shipping/js-start.png"),
type: "settlement", type: "settlement",
isEnd: true,
}, },
], ],
], ],
...@@ -124,30 +144,46 @@ export default { ...@@ -124,30 +144,46 @@ export default {
}; };
}, },
methods: { methods: {
closeDialog() {
this.dialogVisible = false;
},
nodeClick(node) { nodeClick(node) {
console.log(node); console.log(node);
switch (node.type) {
case "booking":
case "trailer":
this.dialogVisible = true;
this.title = node.title;
this.type = node.type;
break;
}
}, },
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss">
.shipping-chart { .shipping-chart {
width: max-content;
display: flex; display: flex;
justify-content: center; justify-content: center;
margin: 10px;
.chart-nodes { .chart-nodes {
p {
margin: 0;
text-align: center;
}
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
.node-div { .node-div {
margin-top: 10px;
cursor: pointer; cursor: pointer;
p {
margin-top: -10px;
margin-bottom: 0px;
text-align: center;
}
} }
} }
.chart-arrow { .chart-arrow {
// margin: -15px 10px 0px 10px;
margin: 0 10px; margin: 0 10px;
} }
} }
......
...@@ -39,6 +39,6 @@ export default { ...@@ -39,6 +39,6 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.shipping-flow { .shipping-flow {
margin-top: 15px; margin-top: 5px;
} }
</style> </style>
<template>
<el-form ref="trailerForm" :rules="rules" :model="trailer" label-width="120px" class="trailer-form">
<el-form-item label="状态">
<el-select v-model="trailer.status" placeholder="请选择状态">
<el-option v-for="item in status" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="拖车公司">
<el-select v-model="trailer.trailerCompany" placeholder="请选择拖车公司">
<el-option v-for="item in status" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="拖车时间" prop="time">
<el-date-picker type="date" placeholder="请选择日期" v-model="trailer.trailerTime"></el-date-picker>
</el-form-item>
<el-form-item label="车牌">
<el-input v-model="trailer.licensePlate"></el-input>
</el-form-item>
<el-form-item label="司机">
<el-input v-model="trailer.driver"></el-input>
</el-form-item>
<el-form-item label="司机联系方式">
<el-input v-model="trailer.telephone"></el-input>
</el-form-item>
<el-form-item label="货柜号">
<el-input v-model="trailer.containerNumber"></el-input>
</el-form-item>
<el-form-item label="封条">
<el-input v-model="trailer.seal"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">提交</el-button>
<el-button @click="cancel">取消</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
name: "trailer",
data() {
return {
status: [
{
value: "1",
label: "已派车,待提柜",
},
{
value: "2",
label: "已提柜,待还柜",
},
{
value: "3",
label: "已还柜",
},
],
trailer: {},
rules: {
time: [{ required: true, message: "请选择时间", trigger: "change" }],
},
};
},
methods: {
onSubmit() {
this.$refs["trailerForm"].validate((valid) => {
if (valid) {
alert("submit!");
}
});
},
cancel() {
this.$emit("closeDialog");
},
},
};
</script>
<style lang="scss">
.trailer-form {
.el-form-item__content {
> div {
width: 100%;
}
}
}
</style>
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