main
biubiubiu 5 months ago
parent ad6cf3895f
commit bb48ef1db0

16785
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -19,6 +19,7 @@
"nprogress": "0.2.0", "nprogress": "0.2.0",
"svg-sprite-loader": "^6.0.11", "svg-sprite-loader": "^6.0.11",
"vue": "^2.6.14", "vue": "^2.6.14",
"vue-pdf": "^4.3.0",
"vue-router": "^3.5.1", "vue-router": "^3.5.1",
"vue-seamless-scroll": "^1.1.23", "vue-seamless-scroll": "^1.1.23",
"vuex": "^3.6.2" "vuex": "^3.6.2"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 18 KiB

@ -1,84 +0,0 @@
import request from "@/utils/request";
// 首页
//获取商品列表
export function goodsPage(params) {
return request({
url: "manage/trade/goodsPage.htm",
method: "post",
data: params,
});
}
// 获取品种列表
export function breadlist(params) {
return request({
url: "manage/trade/breadlist.htm",
method: "get",
params,
});
}
// 获取使用分类
export function uselist(params) {
return request({
url: "manage/trade/uselist.htm",
method: "get",
params,
});
}
// 获取节日列表
export function festivalList(params) {
return request({
url: "manage/trade/festivalList.htm",
method: "get",
params,
});
}
// 加入外贸清单
export function tradeSampleSave(params) {
return request({
url: "manage/trade/tradeShopSave.htm",
method: "post",
data: params,
});
}
// 加入外贸清单(校验商品是否存在)
export function tradeShopSaveCheck(params) {
return request({
url: "manage/trade/tradeShopSaveCheck.htm",
method: "post",
data: params,
});
}
//获取外贸清单数量
export function tradeShopList(params) {
return request({
url: "manage/trade/tradeShopList.htm",
method: "post",
data: params,
});
}
// 获取年份
export function yearList(params) {
return request({
url: "manage/trade/yearList.htm",
method: "get",
params,
});
}
// 批量加入外贸清单
export function yearLtradeShopListSaveByIdsist(params) {
return request({
url: "manage/trade/tradeShopListSaveByIds.htm",
method: "post",
data:params,
});
}

@ -0,0 +1,2 @@
import request from "@/utils/request";
// 小池集成

@ -7,4 +7,13 @@ export function kbanXbjh(params) {
method: "get", method: "get",
params, params,
}); });
} }
// 甘特图
export function xbgtt(params) {
return request({
url: "/kban/xbgtt",
method: "get",
params,
});
}

@ -0,0 +1,12 @@
import request from "@/utils/request";
// 查看pdf
// 1.获取所有船只及批次
export function getProject(params) {
return request({
url: "/kban/getProject",
method: "get",
params,
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 KiB

@ -0,0 +1,193 @@
<template>
<!-- 小池集成分析 -->
<div class="integration-container">
<!-- 筛选 -->
<div class="formData-box">
<el-form ref="form" :model="formData" label-width="90px">
<el-form-item label="请选择垮位" size="mini">
<el-select v-model="formData.kw" placeholder="">
<el-option label="四垮" :value="4"></el-option>
<el-option label="五垮" :value="5"></el-option>
<el-option label="六垮" :value="6"></el-option>
</el-select>
</el-form-item>
</el-form>
<div class="query-btn" @click="queryBtn"></div>
</div>
<div class="integration-box">
<div class="border-out">
<div class="border-inner">
<div class="integration-flex">
<div class="left-box">
<div class="nr-box"></div>
<div
class="device-left-box"
v-for="(item, index) in deviceLeftList"
:key="index"
>
<div class="pop-left">
<dv-border-box-9 class="datav-border">
<div class="status-text">设备状态 使用</div>
<div class="">加高套料图号 GHDLGFT</div>
</dv-border-box-9>
</div>
<img :src="item.img" alt="" />
</div>
</div>
<div class="right-box">
<div
class="device-right-box"
v-for="(item, index) in deviceRightList"
:key="index"
>
<div class="pop-left">
<!-- <dv-border-box-8 style="width: 200px;height: 100px;">dv-border-box-8</dv-border-box-8> -->
<dv-border-box-9 class="datav-border">
<div class="status-text">设备状态 使用</div>
<div class="">加高套料图号 GHDLGFT</div>
</dv-border-box-9>
</div>
<img :src="item.img" alt="" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import {} from "@/api/integration";
export default {
name: "Integration",
data() {
return {
formData: {
kw: 4,
},
deviceLeftList: [
{
img: require("@/assets/image/xc1.png"),
},
{
img: require("@/assets/image/xc1.png"),
},
],
deviceRightList: [
{
img: require("@/assets/image/xc2.png"),
},
{
img: require("@/assets/image/xc2.png"),
},
{
img: require("@/assets/image/xc2.png"),
},
{
img: require("@/assets/image/xc2.png"),
},
],
};
},
created() {
this.queryBtn();
},
methods: {
//
queryBtn() {},
},
};
</script>
<style scoped lang="scss">
.integration-container {
margin-top: 10px;
padding-left: 5px;
padding-right: 5px;
.integration-box {
display: flex;
align-items: stretch;
height: calc(100vh - 105px);
.integration-flex {
height: 100%;
display: flex;
.left-box {
width: 50%;
height: 100%;
padding: 0 2% 0 1%;
.nr-box {
width: 100%;
height: 50%;
}
.device-left-box {
height: 25%;
line-height: 25%;
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
.pop-left {
color: #fff;
font-size: 16px;
.datav-border {
padding: 30px 0 30px 30px;
.status-text {
margin-bottom: 20px;
}
}
}
img {
width: 60%;
}
}
// background-color: red;
}
.right-box {
width: 50%;
height: 100%;
padding: 0 2% 0 2%;
.device-right-box {
height: 25%;
line-height: 25%;
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
.pop-left {
color: #fff;
font-size: 16px;
.datav-border {
padding: 30px 0 30px 30px;
.status-text {
margin-bottom: 20px;
}
}
}
img {
width: 60%;
}
}
}
}
}
.border-out {
width: 100%;
height: 100%;
border-radius: 10px;
border: 1px #0174f5 solid;
padding: 1px;
box-sizing: border-box;
}
.border-inner {
width: 100%;
height: 100%;
box-sizing: border-box;
border: 2px solid #016ae0;
border-radius: 10px;
}
.border-inner {
background-color: rgba(2, 8, 23, 0.1);
}
}
</style>

@ -49,7 +49,7 @@
</div> </div>
</template> </template>
<script> <script>
import { kbanXbjh } from "@/api/lineTableAnalysis"; import { kbanXbjh, xbgtt } from "@/api/lineTableAnalysis";
export default { export default {
name: "LineTableAnalysis", name: "LineTableAnalysis",
data() { data() {
@ -79,6 +79,11 @@ export default {
this.queryBtn(); this.queryBtn();
}, },
methods: { methods: {
//
queryBtn() {
this.kbanXbjh();
this.xbgtt();
},
kbanXbjh() { kbanXbjh() {
kbanXbjh({ kbanXbjh({
nf: this.formData.year, nf: this.formData.year,
@ -93,14 +98,16 @@ export default {
this.TableLine(); this.TableLine();
// 线 // 线
this.TableBar(); this.TableBar();
});
},
xbgtt() {
xbgtt({
nf: this.formData.year,
}).then((res) => {
// //
this.ShipBar(); this.ShipBar();
}); });
}, },
//
queryBtn() {
this.kbanXbjh();
},
TableLine() { TableLine() {
var myChart = this.$echarts.init(document.getElementById("TableLine")); var myChart = this.$echarts.init(document.getElementById("TableLine"));
var option = { var option = {

@ -1,25 +1,13 @@
<template> <template>
<!-- 中日程分析 --> <!-- 月度计划分析 -->
<div class="midSchedule-container"> <div class="monthPlan-container">
<!-- 筛选 --> <div class="monthPlan-box">
<div class="formData-box">
<el-form ref="form" :model="formData" label-width="90px">
<el-form-item label="请选择年份" size="mini">
<el-select v-model="formData.year" placeholder="">
<el-option label="2024" :value="2024"></el-option>
<el-option label="2025" :value="2025"></el-option>
</el-select>
</el-form-item>
</el-form>
<div class="query-btn" @click="queryBtn"></div>
</div>
<div class="midSchedule-box">
<div class="left-box"> <div class="left-box">
<div class="border-out"> <div class="border-out">
<div class="border-inner"> <div class="border-inner">
<!-- 线标分析-折线图 --> <!-- 线标分析-折线图 -->
<div class="left-top-box"> <div class="left-top-box">
<div class="left-top-title">中日程汇总表</div> <div class="left-top-title">月度计划汇总表</div>
<table class="table-sum"> <table class="table-sum">
<tr> <tr>
<td class="table-sum-title">图纸数量</td> <td class="table-sum-title">图纸数量</td>
@ -75,7 +63,7 @@
<div class="border-out"> <div class="border-out">
<div class="border-inner"> <div class="border-inner">
<!-- 柱状图 --> <!-- 柱状图 -->
<div class="right-top-title">中日程数据分析</div> <div class="right-top-title">月度计划数据分析</div>
<el-row class="row"> <el-row class="row">
<el-col :span="12"> <el-col :span="12">
<div id="DrawingBar" class="drawingBar"></div> <div id="DrawingBar" class="drawingBar"></div>
@ -99,7 +87,7 @@
<div class="border-out"> <div class="border-out">
<div class="border-inner"> <div class="border-inner">
<!-- 饼图 --> <!-- 饼图 -->
<div class="right-bottom-title">中日程数据分析</div> <div class="right-bottom-title">月度计划数据分析</div>
<el-row class="row"> <el-row class="row">
<el-col :span="6"> <el-col :span="6">
<div id="DrawingPie" class="drawingPie"></div> <div id="DrawingPie" class="drawingPie"></div>
@ -122,14 +110,11 @@
</div> </div>
</template> </template>
<script> <script>
import { qfxqTable } from "@/api/midSchedule"; import { qfxqTable } from "@/api/monthPlan";
export default { export default {
name: "MidSchedule", name: "MonthPlan",
data() { data() {
return { return {
formData: {
year: 2024,
},
tableSumList: [], tableSumList: [],
tableSumObj: {}, tableSumObj: {},
xbjhList: [], xbjhList: [],
@ -151,17 +136,11 @@ export default {
}; };
}, },
mounted() { mounted() {
this.queryBtn(); this.qfxqTable();
}, },
methods: { methods: {
//
queryBtn() {
this.qfxqTable();
},
qfxqTable() { qfxqTable() {
qfxqTable({ qfxqTable().then((res) => {
nf: this.formData.year,
}).then((res) => {
this.tableSumObj = res.data; this.tableSumObj = res.data;
this.DrawingBar(); this.DrawingBar();
this.ForwardDemandBar(); this.ForwardDemandBar();
@ -839,15 +818,14 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.midSchedule-container { .monthPlan-container {
margin-top: 10px; margin-top: 2%;
padding-left: 5px; padding-left: 5px;
padding-right: 5px; padding-right: 5px;
transition: opacity 1003s; .monthPlan-box {
.midSchedule-box {
display: flex; display: flex;
align-items: stretch; align-items: stretch;
height: calc(100vh - 105px); height: calc(100vh - 85px);
.left-box { .left-box {
width: 35%; width: 35%;
height: 100%; height: 100%;

@ -0,0 +1,125 @@
<template>
<!-- 查看pdf -->
<div class="viewpdf-container">
<!-- 筛选 -->
<div class="formData-box">
<el-select v-model="formData.dcCh" size="mini" placeholder="请选择船号">
<el-option
v-for="(item, index) in dcChOptions"
:key="index"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select v-model="formData.dcPl" size="mini" placeholder="请选择批次">
<el-option
v-for="(item, index) in dcPlOptions"
:key="index"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select v-model="formData.kw" size="mini" placeholder="请选择套料图">
<el-option label="四垮" :value="4"></el-option>
<el-option label="五垮" :value="5"></el-option>
<el-option label="六垮" :value="6"></el-option>
</el-select>
<div class="query-btn" @click="queryBtn"></div>
</div>
<div class="viewpdf-box">
<div class="border-out">
<div class="border-inner">
<div class="viewpdf-flex">
<div class="left-box">
<div></div>
</div>
<div class="right-box"></div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { getProject } from "@/api/viewPDF";
// import pdf from 'vue-pdf'
export default {
name: "ViewPDF",
// components:{
// pdf
// },
data() {
return {
formData: {
dcCh: "",
dcPl: "",
},
dcChOptions: [],
dcPlOptions: [],
};
},
mounted() {
this.queryBtn();
},
methods: {
//
queryBtn() {
this.getProject();
},
getProject() {
getProject({
nf: this.formData.year,
}).then((res) => {});
},
},
};
</script>
<style scoped lang="scss">
.viewpdf-container {
margin-top: 10px;
padding-left: 5px;
padding-right: 5px;
.formData-box {
width: 450px !important;
margin-bottom: 18px;
}
.viewpdf-box {
display: flex;
align-items: stretch;
height: calc(100vh - 105px);
.viewpdf-flex {
display: flex;
}
.left-box {
}
.right-box {
}
}
.box-top {
margin-top: 5px;
}
.border-out {
width: 100%;
height: 100%;
border-radius: 10px;
border: 1px #0174f5 solid;
padding: 1px;
box-sizing: border-box;
}
.border-inner {
width: 100%;
height: 100%;
box-sizing: border-box;
border: 2px solid #016ae0;
border-radius: 10px;
}
.border-inner {
background-color: rgba(2, 8, 23, 0.1);
}
}
</style>

@ -88,7 +88,7 @@
} }
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
border-radius: 10px; border-radius: 10px;
background: rgba(0, 0, 0, 0.3); background: #fff;
-webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5); -webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5);
} }
::-webkit-scrollbar-corner { ::-webkit-scrollbar-corner {

@ -40,14 +40,14 @@
</transition> </transition>
<transition name="fade"> <transition name="fade">
<div v-if="leftActiveIndex == 2"> <div v-if="leftActiveIndex == 2">
<!-- 中日程分析 --> <!-- 前方需求分析 -->
<mid-schedule /> <forward-demand />
</div> </div>
</transition> </transition>
<transition name="fade"> <transition name="fade">
<div v-if="rightActiveIndex == 0"> <div v-if="rightActiveIndex == 0">
<!-- 前方需求分析 --> <!-- 月度计划分析 -->
<forward-demand /> <month-plan />
</div> </div>
</transition> </transition>
<transition name="fade"> <transition name="fade">
@ -56,23 +56,39 @@
<amphi-position /> <amphi-position />
</div> </div>
</transition> </transition>
<transition name="fade">
<div v-if="rightActiveIndex == 2">
<!-- 小池集成分析 -->
<integration />
</div>
</transition>
<transition name="fade">
<div v-if="rightActiveIndex == 3">
<!-- 查看pdf -->
<view-PDF />
</div>
</transition>
</div> </div>
</template> </template>
<script> <script>
import RealTimeMonitor from "@/components/RealTimeMonitor"; import RealTimeMonitor from "@/components/RealTimeMonitor";
import LineTableAnalysis from "@/components/LineTableAnalysis"; import LineTableAnalysis from "@/components/LineTableAnalysis";
import MidSchedule from "@/components/MidSchedule";
import ForwardDemand from "@/components/ForwardDemand"; import ForwardDemand from "@/components/ForwardDemand";
import MonthPlan from "@/components/MonthPlan";
import AmphiPosition from "@/components/AmphiPosition"; import AmphiPosition from "@/components/AmphiPosition";
import Integration from "@/components/Integration";
import ViewPDF from "@/components/ViewPDF";
export default { export default {
name: "Home", name: "Home",
components: { components: {
RealTimeMonitor, RealTimeMonitor,
LineTableAnalysis, LineTableAnalysis,
MidSchedule,
ForwardDemand, ForwardDemand,
MonthPlan,
AmphiPosition, AmphiPosition,
Integration,
ViewPDF
}, },
data() { data() {
return { return {
@ -87,13 +103,13 @@ export default {
}, },
{ {
id: 3, id: 3,
name: "中日程分析", name: "前方需求分析",
}, },
], //tabs ], //tabs
headerRightList: [ headerRightList: [
{ {
id: 4, id: 4,
name: "前方需求分析", name: "月度计划分析",
}, },
{ {
id: 5, id: 5,
@ -103,6 +119,10 @@ export default {
id: 6, id: 6,
name: "小池集成", name: "小池集成",
}, },
{
id:7,
name:"查看PDF"
}
], //tabs ], //tabs
leftActiveIndex: 0, leftActiveIndex: 0,
rightActiveIndex: 99, rightActiveIndex: 99,

Loading…
Cancel
Save