main
biubiubiu 5 months ago
parent ad6cf3895f
commit bb48ef1db0

21461
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -19,6 +19,7 @@
"nprogress": "0.2.0",
"svg-sprite-loader": "^6.0.11",
"vue": "^2.6.14",
"vue-pdf": "^4.3.0",
"vue-router": "^3.5.1",
"vue-seamless-scroll": "^1.1.23",
"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";
// 小池集成

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

@ -1,25 +1,13 @@
<template>
<!-- 中日程分析 -->
<div class="midSchedule-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.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="monthPlan-container">
<div class="monthPlan-box">
<div class="left-box">
<div class="border-out">
<div class="border-inner">
<!-- 线标分析-折线图 -->
<div class="left-top-box">
<div class="left-top-title">中日程汇总表</div>
<div class="left-top-title">月度计划汇总表</div>
<table class="table-sum">
<tr>
<td class="table-sum-title">图纸数量</td>
@ -75,7 +63,7 @@
<div class="border-out">
<div class="border-inner">
<!-- 柱状图 -->
<div class="right-top-title">中日程数据分析</div>
<div class="right-top-title">月度计划数据分析</div>
<el-row class="row">
<el-col :span="12">
<div id="DrawingBar" class="drawingBar"></div>
@ -99,7 +87,7 @@
<div class="border-out">
<div class="border-inner">
<!-- 饼图 -->
<div class="right-bottom-title">中日程数据分析</div>
<div class="right-bottom-title">月度计划数据分析</div>
<el-row class="row">
<el-col :span="6">
<div id="DrawingPie" class="drawingPie"></div>
@ -122,14 +110,11 @@
</div>
</template>
<script>
import { qfxqTable } from "@/api/midSchedule";
import { qfxqTable } from "@/api/monthPlan";
export default {
name: "MidSchedule",
name: "MonthPlan",
data() {
return {
formData: {
year: 2024,
},
tableSumList: [],
tableSumObj: {},
xbjhList: [],
@ -151,17 +136,11 @@ export default {
};
},
mounted() {
this.queryBtn();
},
methods: {
//
queryBtn() {
this.qfxqTable();
},
methods: {
qfxqTable() {
qfxqTable({
nf: this.formData.year,
}).then((res) => {
qfxqTable().then((res) => {
this.tableSumObj = res.data;
this.DrawingBar();
this.ForwardDemandBar();
@ -839,15 +818,14 @@ export default {
</script>
<style scoped lang="scss">
.midSchedule-container {
margin-top: 10px;
.monthPlan-container {
margin-top: 2%;
padding-left: 5px;
padding-right: 5px;
transition: opacity 1003s;
.midSchedule-box {
.monthPlan-box {
display: flex;
align-items: stretch;
height: calc(100vh - 105px);
height: calc(100vh - 85px);
.left-box {
width: 35%;
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 {
border-radius: 10px;
background: rgba(0, 0, 0, 0.3);
background: #fff;
-webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5);
}
::-webkit-scrollbar-corner {

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

Loading…
Cancel
Save