23 Commits

Author SHA1 Message Date
4332113e3b Merge pull request 'projects/mescc/zhp' (#79) from projects/mescc/zhp into projects/mescc/develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #79
2024-07-01 20:34:09 +08:00
‘937886381’
53ba98b01a Merge branch 'projects/mescc/develop' into projects/mescc/zhp 2024-07-01 15:28:12 +08:00
‘937886381’
23cf4aaa1e 修改bug 2024-07-01 15:27:49 +08:00
81a110ba45 Merge pull request 'projects/mescc/zhp' (#78) from projects/mescc/zhp into projects/mescc/develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #78
2024-07-01 14:58:13 +08:00
‘937886381’
a249e88530 修改bug 2024-07-01 14:40:09 +08:00
‘937886381’
2128538199 Merge branch 'projects/mescc/develop' into projects/mescc/zhp 2024-07-01 13:50:06 +08:00
‘937886381’
052d0704fd 修改bug 2024-07-01 13:49:30 +08:00
749b9c6576 Merge pull request 'projects/mescc/zhp' (#77) from projects/mescc/zhp into projects/mescc/develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #77
2024-07-01 12:10:22 +08:00
‘937886381’
3f942111b0 Merge branch 'projects/mescc/develop' into projects/mescc/zhp 2024-07-01 11:52:14 +08:00
‘937886381’
716c88dfc4 修改bug 2024-07-01 11:51:44 +08:00
ec0a99b5fb Merge pull request 'projects/mescc/zhp' (#76) from projects/mescc/zhp into projects/mescc/develop
Some checks are pending
continuous-integration/drone/push Build is pending
Reviewed-on: #76
2024-06-28 16:35:08 +08:00
‘937886381’
384527d6db Merge branch 'projects/mescc/develop' into projects/mescc/zhp 2024-06-28 16:32:12 +08:00
‘937886381’
26cf9a6ce4 修改 2024-06-28 16:30:52 +08:00
5ba0b62ae6 Merge pull request 'projects/mescc/zhp' (#75) from projects/mescc/zhp into projects/mescc/develop
Some checks are pending
continuous-integration/drone/push Build is pending
Reviewed-on: #75
2024-06-28 16:12:04 +08:00
‘937886381’
5ac5da1bf5 修改 2024-06-28 16:03:42 +08:00
‘937886381’
99f5f978d4 修改 2024-06-28 15:35:28 +08:00
‘937886381’
04af70f416 修改bug 2024-06-28 14:55:12 +08:00
‘937886381’
242e42a56a Merge branch 'projects/mescc/develop' into projects/mescc/zhp 2024-06-28 14:42:26 +08:00
‘937886381’
2ab541d4c1 修改bug 2024-06-28 14:41:50 +08:00
95d530e5f1 Merge pull request 'projects/mescc/zhp' (#74) from projects/mescc/zhp into projects/mescc/develop
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #74
2024-06-28 13:22:49 +08:00
‘937886381’
83b9867c2a Merge branch 'projects/mescc/develop' into projects/mescc/zhp 2024-06-28 13:16:07 +08:00
‘937886381’
7b8f4cac21 修改bug 2024-06-28 13:15:43 +08:00
7886d5ad5a Merge pull request 'projects/mescc/zjl' (#73) from projects/mescc/zjl into projects/mescc/develop
Some checks are pending
continuous-integration/drone/push Build is pending
Reviewed-on: #73
2024-06-28 11:10:40 +08:00
24 changed files with 348 additions and 275 deletions

View File

@@ -92,7 +92,7 @@ const actions = {
/** 初始化首页数据 */ /** 初始化首页数据 */
async initHome({ commit }) { async initHome({ commit }) {
const dataArr = await getHomeInfo(); const dataArr = await getHomeInfo();
console.log('dataArr', dataArr); // console.log('dataArr', dataArr);
let preData = dataArr.previousProdOutputOutDO let preData = dataArr.previousProdOutputOutDO
let preFtoData = dataArr.previousProdOutputFtoDO let preFtoData = dataArr.previousProdOutputFtoDO
// const targetArr = await getHomeInfo(); // const targetArr = await getHomeInfo();
@@ -127,7 +127,7 @@ const actions = {
// const payload = handler(factoryData) // const payload = handler(factoryData)
// commit("SET_COPILOT_INFO", { type, payload }); // commit("SET_COPILOT_INFO", { type, payload });
// } else { // } else {
console.log('factoryList',factoryList) // console.log('factoryList',factoryList)
let factoryData = factoryList.prodOutputOutDO ? factoryList.prodOutputOutDO : factoryList.prodOutputRateDO let factoryData = factoryList.prodOutputOutDO ? factoryList.prodOutputOutDO : factoryList.prodOutputRateDO
let preData = factoryList.previousProdOutputOutDO ? factoryList.previousProdOutputOutDO : factoryList.previousProdOutputRateDO let preData = factoryList.previousProdOutputOutDO ? factoryList.previousProdOutputOutDO : factoryList.previousProdOutputRateDO
let preFtoData = factoryList.previousProdOutputFtoDO ? factoryList.previousProdOutputFtoDO : [] let preFtoData = factoryList.previousProdOutputFtoDO ? factoryList.previousProdOutputFtoDO : []
@@ -289,7 +289,7 @@ function splitCurrentAndPreviousB(factoryListResponse) {
} }
function splitCurrentAndPreviousA(factoryListResponse, targetListResponse, prodOutputFtoListRes,preData,preFtoData) { function splitCurrentAndPreviousA(factoryListResponse, targetListResponse, prodOutputFtoListRes,preData,preFtoData) {
console.log('工厂',preData); // console.log('工厂',preData);
// 初始数据 // 初始数据
const { chipOeeRate, transformRate, chipRate, stdRate } = initA(); const { chipOeeRate, transformRate, chipRate, stdRate } = initA();
@@ -346,7 +346,7 @@ function splitCurrentAndPreviousA(factoryListResponse, targetListResponse, prodO
if (preData) { if (preData) {
for (const factory of preData) { for (const factory of preData) {
const fId = getPreFactoryId(factory) const fId = getPreFactoryId(factory)
console.log('factory',factory.previousYearOee); // console.log('factory',factory.previousYearOee);
// chipInvest.previous[fId] = factory.previousYearInputNumber; // chipInvest.previous[fId] = factory.previousYearInputNumber;
// chipOeeRate.current[fId] = factory.oee; // chipOeeRate.current[fId] = factory.oee;
if (factory.previousGlassType === 0) { if (factory.previousGlassType === 0) {
@@ -400,7 +400,7 @@ function splitCurrentAndPreviousA(factoryListResponse, targetListResponse, prodO
_t.current[fId] = factory.yieldRate ; _t.current[fId] = factory.yieldRate ;
// _t.previous[fId] = factory.previousYearYieldRate ; // _t.previous[fId] = factory.previousYearYieldRate ;
} }
console.log('chipOeeRate',stdRate); // console.log('chipOeeRate',stdRate);
// console.log('chipOeeRate',chipOeeRate); // console.log('chipOeeRate',chipOeeRate);
return { return {
chipOeeRate, chipOeeRate,
@@ -412,12 +412,12 @@ function splitCurrentAndPreviousA(factoryListResponse, targetListResponse, prodO
} }
function splitCurrentAndPrevious(factoryListResponse, targetListResponse, prodOutputFtoListRes,preData,preFtoData) { function splitCurrentAndPrevious(factoryListResponse, targetListResponse, prodOutputFtoListRes,preData,preFtoData) {
console.log('prodOutputFtoListRes',preFtoData); // console.log('prodOutputFtoListRes',preFtoData);
// 初始数据 // 初始数据
const { chipInvest, ftoInvest, chipOutput, stdOutput, bipvOutput } = init() const { chipInvest, ftoInvest, chipOutput, stdOutput, bipvOutput } = init()
if (prodOutputFtoListRes.length !== 0 ) { if (prodOutputFtoListRes.length !== 0 ) {
for (const factory of prodOutputFtoListRes) { for (const factory of prodOutputFtoListRes) {
console.log(factory); // console.log(factory);
const fId = getFactoryId(factory); const fId = getFactoryId(factory);
// const preFId = getPreFactoryId(factory); // const preFId = getPreFactoryId(factory);
// if (fId) { // if (fId) {
@@ -430,7 +430,7 @@ function splitCurrentAndPrevious(factoryListResponse, targetListResponse, prodOu
} }
if (preFtoData) { if (preFtoData) {
for (const factory of preFtoData) { for (const factory of preFtoData) {
console.log(factory); // console.log(factory);
const fId = getPreFactoryId(factory); const fId = getPreFactoryId(factory);
// const preFId = getPreFactoryId(factory); // const preFId = getPreFactoryId(factory);
// if (fId) { // if (fId) {
@@ -463,7 +463,7 @@ function splitCurrentAndPrevious(factoryListResponse, targetListResponse, prodOu
if (factoryListResponse) { if (factoryListResponse) {
for (const factory of factoryListResponse) { for (const factory of factoryListResponse) {
const fId = getFactoryId(factory); const fId = getFactoryId(factory);
console.log('factory.inputNumber', factory, fId); // console.log('factory.inputNumber', factory, fId);
if (factory.glassType === 0) { if (factory.glassType === 0) {
chipInvest.current[fId] = factory.inputNumber chipInvest.current[fId] = factory.inputNumber
} }
@@ -484,7 +484,7 @@ function splitCurrentAndPrevious(factoryListResponse, targetListResponse, prodOu
const _t = [chipOutput, stdOutput, bipvOutput][factory.glassType]; const _t = [chipOutput, stdOutput, bipvOutput][factory.glassType];
_t.current[fId] = factory.outputNumber; _t.current[fId] = factory.outputNumber;
} }
console.log('chipInvest',ftoInvest); // console.log('chipInvest',ftoInvest);
return { return {
chipInvest, chipInvest,
// ftoInvest, // ftoInvest,

View File

@@ -8,9 +8,7 @@
<template> <template>
<div class="copilot-container"> <div class="copilot-container">
<!-- refresh btn --> <!-- refresh btn -->
<button <button v-if="0" style="
v-if="0"
style="
appearance: none; appearance: none;
outline: none; outline: none;
border: none; border: none;
@@ -20,22 +18,11 @@
position: absolute; position: absolute;
top: 8px; top: 8px;
right: 8px; right: 8px;
" " @click="$emit('refresh')">
@click="$emit('refresh')" <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
> style="width: 24px; height: 24px">
<svg <path stroke-linecap="round" stroke-linejoin="round"
xmlns="http://www.w3.org/2000/svg" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" />
fill="none"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
style="width: 24px; height: 24px"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"
/>
</svg> </svg>
</button> </button>
<!-- decoration --> <!-- decoration -->
@@ -44,19 +31,13 @@
<div v-if="side == 'left'" class="corner bl"></div> <div v-if="side == 'left'" class="corner bl"></div>
<div v-if="side == 'right'" class="corner br"></div> <div v-if="side == 'right'" class="corner br"></div>
<!-- content --> <!-- content -->
<div <div class="container-head" :class="[side == 'left' ? 'gradient-to-right' : 'gradient-to-left']">
class="container-head" <Icon style="margin-left: 16px;" :icon="icon"></Icon>
:class="[side == 'left' ? 'gradient-to-right' : 'gradient-to-left']"
>
<Icon :icon="icon"></Icon>
<h2 class="container-title">{{ title }}</h2> <h2 class="container-title">{{ title }}</h2>
</div> </div>
<div <div class="container-body" :class="[
class="container-body"
:class="[
side == 'left' ? 'body-gradient-to-right' : 'body-gradient-to-left', side == 'left' ? 'body-gradient-to-right' : 'body-gradient-to-left',
]" ]">
>
<slot /> <slot />
</div> </div>
</div> </div>

View File

@@ -12,7 +12,7 @@
<div class="page-title">{{ companyName }}</div> <div class="page-title">{{ companyName }}</div>
<section class="menu2"> <section class="menu2">
<div class="btn-group"> <div class="btn-group">
<el-tooltip class="item" effect="dark" content="导出" placement="top"> <el-tooltip v-if="showPeriod" class="item" effect="dark" content="导出" placement="top">
<button type="button" class="export-btn" @click="handleExport" /> <button type="button" class="export-btn" @click="handleExport" />
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" :content="isFullscreen === false ? '退出全屏' : '全屏'" placement="top"> <el-tooltip class="item" effect="dark" :content="isFullscreen === false ? '退出全屏' : '全屏'" placement="top">
@@ -48,10 +48,20 @@ export default {
type: String, type: String,
}, },
}, },
watch: {
period(val) {
if (val != 1) {
this.showPeriod = true
} else {
this.showPeriod = false
}
}
},
data() { data() {
return { return {
isFullscreen: false, isFullscreen: false,
content:'全屏', content: '全屏',
showPeriod:false,
dataList: [ dataList: [
{ id: 1, name: "日" }, { id: 1, name: "日" },
{ id: 2, name: "周" }, { id: 2, name: "周" },
@@ -63,7 +73,8 @@ export default {
computed: {}, computed: {},
methods: { methods: {
handleExport() { handleExport() {
if (this.period != 1) { // if (this.period != 1) {
this.showPeriod = true
exportFactoryDataExcel({ exportFactoryDataExcel({
factoryId: this.companyId, factoryId: this.companyId,
timeSelection: this.period === 1 ? 0 : this.period === 2 ? 1 : this.period === 3 ? 2 : 3, timeSelection: this.period === 1 ? 0 : this.period === 2 ? 1 : this.period === 3 ? 2 : 3,
@@ -72,12 +83,9 @@ export default {
this.$download.excel(response, `${this.companyName}生产数据.xls`); this.$download.excel(response, `${this.companyName}生产数据.xls`);
// this.exportLoading = false; // this.exportLoading = false;
}).catch(() => { }); }).catch(() => { });
} else { // } else {
this.$message({ // this.showPeriod = false
type: 'warning', // }
message: '为日的情况下没有导出功能',
})
}
}, },
toggleFullScreen() { toggleFullScreen() {

View File

@@ -8,9 +8,7 @@
<template> <template>
<div class="copilot-container"> <div class="copilot-container">
<!-- refresh btn --> <!-- refresh btn -->
<button <button v-if="false" style="
v-if="false"
style="
appearance: none; appearance: none;
outline: none; outline: none;
border: none; border: none;
@@ -20,22 +18,11 @@
position: absolute; position: absolute;
top: 8px; top: 8px;
right: 8px; right: 8px;
" " @click="$emit('refresh')">
@click="$emit('refresh')" <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
> style="width: 24px; height: 24px">
<svg <path stroke-linecap="round" stroke-linejoin="round"
xmlns="http://www.w3.org/2000/svg" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" />
fill="none"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
style="width: 24px; height: 24px"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"
/>
</svg> </svg>
</button> </button>
<!-- decoration --> <!-- decoration -->
@@ -44,19 +31,13 @@
<div class="corner bl"></div> <div class="corner bl"></div>
<div class="corner br"></div> <div class="corner br"></div>
<!-- content --> <!-- content -->
<div <div class="container-head" :class="[side == 'left' ? 'gradient-to-right' : 'gradient-to-left']">
class="container-head" <Icon style="margin-left: 16px;" :icon="icon"></Icon>
:class="[side == 'left' ? 'gradient-to-right' : 'gradient-to-left']"
>
<Icon :icon="icon"></Icon>
<h2 class="container-title">{{ title }}</h2> <h2 class="container-title">{{ title }}</h2>
</div> </div>
<div <div class="container-body" :class="[
class="container-body"
:class="[
side == 'left' ? 'body-gradient-to-right' : 'body-gradient-to-left', side == 'left' ? 'body-gradient-to-right' : 'body-gradient-to-left',
]" ]">
>
<slot /> <slot />
</div> </div>
</div> </div>

View File

@@ -8,9 +8,7 @@
<template> <template>
<div class="copilot-container"> <div class="copilot-container">
<!-- refresh btn --> <!-- refresh btn -->
<button <button v-if="false" style="
v-if="false"
style="
appearance: none; appearance: none;
outline: none; outline: none;
border: none; border: none;
@@ -20,22 +18,11 @@
position: absolute; position: absolute;
top: 8px; top: 8px;
right: 8px; right: 8px;
" " @click="$emit('refresh')">
@click="$emit('refresh')" <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
> style="width: 24px; height: 24px">
<svg <path stroke-linecap="round" stroke-linejoin="round"
xmlns="http://www.w3.org/2000/svg" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" />
fill="none"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
style="width: 24px; height: 24px"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"
/>
</svg> </svg>
</button> </button>
<!-- decoration --> <!-- decoration -->
@@ -44,19 +31,13 @@
<div class="corner bl"></div> <div class="corner bl"></div>
<div class="corner br"></div> <div class="corner br"></div>
<!-- content --> <!-- content -->
<div <div class="container-head" :class="[side == 'left' ? 'gradient-to-right' : 'gradient-to-left']">
class="container-head" <Icon style="margin-left: 16px;" :icon="icon"></Icon>
:class="[side == 'left' ? 'gradient-to-right' : 'gradient-to-left']"
>
<Icon :icon="icon"></Icon>
<h2 class="container-title">{{ title }}</h2> <h2 class="container-title">{{ title }}</h2>
</div> </div>
<div <div class="container-body" :class="[
class="container-body"
:class="[
side == 'left' ? 'body-gradient-to-right' : 'body-gradient-to-left', side == 'left' ? 'body-gradient-to-right' : 'body-gradient-to-left',
]" ]">
>
<slot /> <slot />
</div> </div>
</div> </div>

View File

@@ -1,7 +1,7 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2024-05-07 10:04:53 * @Date: 2024-05-07 10:04:53
* @LastEditTime: 2024-06-05 09:45:47 * @LastEditTime: 2024-07-01 12:27:45
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
@@ -102,12 +102,12 @@ export default {
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 16px; gap: 20px;
} }
.flex { .flex {
display: flex; display: flex;
gap: 16px; gap: 20px;
flex: 1; flex: 1;
} }

View File

@@ -23,12 +23,12 @@ export default ({
textAlign: "center", textAlign: "center",
textStyle: { textStyle: {
fontWeight: 600, fontWeight: 600,
fontSize: 26, fontSize: 36,
color: "#fffd", color: "#fffd",
}, },
subtext: `\u2002${yesterday + '日良率'}\u2002`, subtext: `\u2002${yesterday + '日良率'}\u2002`,
subtextStyle: { subtextStyle: {
fontSize: 14, fontSize: 16,
fontWeight: 100, fontWeight: 100,
color: "#fffd", color: "#fffd",
align: "right", align: "right",

View File

@@ -15,9 +15,7 @@
<template> <template>
<div class="copilot-container"> <div class="copilot-container">
<!-- refresh btn --> <!-- refresh btn -->
<button <button v-if="false" style="
v-if="false"
style="
appearance: none; appearance: none;
outline: none; outline: none;
border: none; border: none;
@@ -27,22 +25,11 @@
position: absolute; position: absolute;
top: 8px; top: 8px;
right: 8px; right: 8px;
" " @click="$emit('refresh')">
@click="$emit('refresh')" <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"
> style="width: 24px; height: 24px">
<svg <path stroke-linecap="round" stroke-linejoin="round"
xmlns="http://www.w3.org/2000/svg" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99" />
fill="none"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
style="width: 24px; height: 24px"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"
/>
</svg> </svg>
</button> </button>
<!-- decoration --> <!-- decoration -->
@@ -51,19 +38,13 @@
<div class="corner bl"></div> <div class="corner bl"></div>
<div class="corner br"></div> <div class="corner br"></div>
<!-- content --> <!-- content -->
<div <div class="container-head" :class="[side == 'left' ? 'gradient-to-right' : 'gradient-to-left']">
class="container-head" <Icon style="margin-left: 16px;" :icon="icon"></Icon>
:class="[side == 'left' ? 'gradient-to-right' : 'gradient-to-left']"
>
<Icon :icon="icon"></Icon>
<h2 class="container-title">{{ title }}</h2> <h2 class="container-title">{{ title }}</h2>
</div> </div>
<div <div class="container-body" :class="[
class="container-body"
:class="[
side == 'left' ? 'body-gradient-to-right' : 'body-gradient-to-left', side == 'left' ? 'body-gradient-to-right' : 'body-gradient-to-left',
]" ]">
>
<slot /> <slot />
</div> </div>
</div> </div>

View File

@@ -17,12 +17,12 @@ export default ({
tooltip: {}, tooltip: {},
title: { title: {
text: titleValue, text: titleValue,
left: "48%", left: "48.5%",
top: "37%", top: "37%",
textAlign: "center", textAlign: "center",
textStyle: { textStyle: {
fontWeight: 600, fontWeight: 600,
fontSize: 20, fontSize: 26,
color: "#fffd", color: "#fffd",
}, },
subtext: `\u2002${subtitle}\u2002`, subtext: `\u2002${subtitle}\u2002`,

View File

@@ -1,16 +1,10 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2024-04-28 13:42:51 * @Date: 2024-04-28 13:42:51
* @LastEditTime: 2024-05-31 16:11:06 * @LastEditTime: 2024-06-27 16:30:58
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
<!--
filename: fto.vue
author: liubin
date: 2024-04-10 08:59:28
description:
-->
<template> <template>
<left-chart-base <left-chart-base

View File

@@ -12,7 +12,7 @@
v-for="item in legend" v-for="item in legend"
:key="item.label" :key="item.label"
class="legend-item" class="legend-item"
:style="{ fontSize: isFullscreen ? '0.58vw' : '0.54vw' }" :style="{ fontSize: isFullscreen ? '0.72vw' : '0.7vw' }"
>{{ item.label }}</span >{{ item.label }}</span
> >
</div> </div>
@@ -65,7 +65,36 @@ export default {
top: "15%", top: "15%",
containLabel: true, containLabel: true,
}, },
tooltip: {}, tooltip: {
trigger: "axis",
axisPointer: {
// type: "cross",
crossStyle: {
color: "rgba(237,237,237,0.5)",
},
},
// backgroundColor: '#000000',
// textStyle: {
// color: '#ffff'
// }
formatter: params => {
// console.log(params);
// 获取xAxis data中的数据
let dataStr = `<div><p style="font-weight:bold;margin:0 8px 15px;">${params[0].name}</p></div>`
params.forEach(item => {
let color = item.color.colorStops ? item.color.colorStops[0].color : ''
console.log(item.color, color);
dataStr += `<div>
<div style="margin: 0 8px;">
<span style="display:inline-block;margin-right:5px;width:10px;height:10px;background-color:${item.color.colorStops[0].color};"></span>
<span>${item.seriesName}</span>
<span style="float:right;color:#000000;margin-left:20px;">${item.data}</span>
</div>
</div>`
})
return dataStr
}
},
xAxis: { xAxis: {
axisTick: { axisTick: {
show: false, show: false,
@@ -77,15 +106,16 @@ export default {
}, },
axisLabel: { axisLabel: {
color: "#fff", color: "#fff",
fontSize: 12, fontSize: 14,
}, },
data: this.xAxis, data: this.xAxis,
}, },
yAxis: { yAxis: {
name: "单位/片", name: "单位/片",
position:'left',
nameTextStyle: { nameTextStyle: {
color: "#fff", color: "#fff",
fontSize: 12, fontSize: 14,
align:'right' align:'right'
}, },
axisTick: { axisTick: {
@@ -93,7 +123,7 @@ export default {
}, },
axisLabel: { axisLabel: {
color: "#fff", color: "#fff",
fontSize: 12, fontSize: 14,
}, },
axisLine: { axisLine: {
show: true, show: true,
@@ -118,7 +148,7 @@ export default {
position: 'top', //在上方显示 position: 'top', //在上方显示
textStyle: { //数值样式 textStyle: { //数值样式
color: '#DFF1FE', color: '#DFF1FE',
fontSize: 12 fontSize: 14
} }
}, },
itemStyle: { itemStyle: {
@@ -162,7 +192,7 @@ export default {
position: 'top', //在上方显示 position: 'top', //在上方显示
textStyle: { //数值样式 textStyle: { //数值样式
color: '#DFF1FE', color: '#DFF1FE',
fontSize: 12 fontSize: 14
} }
}, },
itemStyle: { itemStyle: {
@@ -201,9 +231,9 @@ export default {
this.actualOptions.series.map((item) => { this.actualOptions.series.map((item) => {
item.barWidth = val ? 18 : 12; item.barWidth = val ? 18 : 12;
}); });
this.actualOptions.xAxis.axisLabel.fontSize = val ? 18 : 12; this.actualOptions.xAxis.axisLabel.fontSize = val ? 18 : 14;
this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 12; this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 14;
this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 12; this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 14;
this.initOptions(this.actualOptions); this.initOptions(this.actualOptions);
}, },
series(val) { series(val) {

View File

@@ -1,7 +1,7 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2024-04-28 13:42:51 * @Date: 2024-04-28 13:42:51
* @LastEditTime: 2024-06-21 15:02:27 * @LastEditTime: 2024-06-28 09:28:56
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
@@ -19,7 +19,7 @@
v-for="item in legend" v-for="item in legend"
:key="item.label" :key="item.label"
class="legend-item" class="legend-item"
:style="{ fontSize: isFullscreen ? '0.58vw' : '0.54vw' }" :style="{ fontSize: isFullscreen ? '0.72vw' : '0.7vw' }"
>{{ item.label }}</span >{{ item.label }}</span
> >
</div> </div>
@@ -71,7 +71,31 @@ export default {
top: "18%", top: "18%",
containLabel: true, containLabel: true,
}, },
tooltip: {}, tooltip: {
trigger: "axis",
axisPointer: {
// type: "cross",
crossStyle: {
color: "rgba(237,237,237,0.5)",
},
},
formatter: params => {
// 获取xAxis data中的数据
let dataStr = `<div><p style="font-weight:bold;margin:0 8px 15px;">${params[0].name}</p></div>`
params.forEach(item => {
let color = Object.prototype.toString.call(item.color) == "[object String]" ? item.color : item.color.colorStops ? item.color.colorStops[0].color : ''
console.log(item.color, color);
dataStr += `<div>
<div style="margin: 0 8px;">
<span style="display:inline-block;margin-right:5px;width:10px;height:10px;background-color:${color};"></span>
<span>${item.seriesName}</span>
<span style="float:right;color:#000000;margin-left:20px;">${item.data}</span>
</div>
</div>`
})
return dataStr
}
},
xAxis: { xAxis: {
axisTick: { axisTick: {
show: false, show: false,
@@ -83,15 +107,16 @@ export default {
}, },
axisLabel: { axisLabel: {
color: "#fff", color: "#fff",
fontSize: 12, fontSize: 14,
}, },
data: this.xAxis, data: this.xAxis,
}, },
yAxis: { yAxis: {
name: "单位/片", name: "单位/片",
position: 'left',
nameTextStyle: { nameTextStyle: {
color: "#fff", color: "#fff",
fontSize: 12, fontSize: 14,
align: 'right' align: 'right'
}, },
axisTick: { axisTick: {
@@ -99,7 +124,7 @@ export default {
}, },
axisLabel: { axisLabel: {
color: "#fff", color: "#fff",
fontSize: 12, fontSize: 14,
}, },
axisLine: { axisLine: {
show: true, show: true,
@@ -227,9 +252,9 @@ export default {
this.actualOptions.series.map((item) => { this.actualOptions.series.map((item) => {
item.barWidth = val ? 18 : 12; item.barWidth = val ? 18 : 12;
}); });
this.actualOptions.xAxis.axisLabel.fontSize = val ? 18 : 12; this.actualOptions.xAxis.axisLabel.fontSize = val ? 18 : 14;
this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 12; this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 14;
this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 12; this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 14;
this.initOptions(this.actualOptions); this.initOptions(this.actualOptions);
}, },
series(val) { series(val) {

View File

@@ -83,7 +83,7 @@ export default {
// backdrop-filter: blur(2px); // backdrop-filter: blur(2px);
// border-radius: 4px; // border-radius: 4px;
transform: translate(-50%, -100%); transform: translate(-50%, -100%);
box-shadow: inset 0 0 12px 2px #fff3; // box-shadow: inset 0 0 12px 2px #fff3;
background: url(../../../assets/images/homeindex/info.png) no-repeat 0 0 / 100% 100%; background: url(../../../assets/images/homeindex/info.png) no-repeat 0 0 / 100% 100%;
// background: radial-gradient(circle farthest-corner at bottom center,rgba(255,239,162,.7) 10%, #021842 30%); // background: radial-gradient(circle farthest-corner at bottom center,rgba(255,239,162,.7) 10%, #021842 30%);
// 在这里设置一个总的字体大小 不失为一个好的选择 // 在这里设置一个总的字体大小 不失为一个好的选择

View File

@@ -38,7 +38,7 @@
class="container-head" class="container-head"
:class="[side == 'left' ? 'gradient-to-right' : 'gradient-to-left']" :class="[side == 'left' ? 'gradient-to-right' : 'gradient-to-left']"
> >
<Icon :icon="icon"></Icon> <Icon style="margin-left: 16px;" :icon="icon"></Icon>
<h2 class="container-title">{{ title }}</h2> <h2 class="container-title">{{ title }}</h2>
</div> </div>
<div <div
@@ -105,7 +105,7 @@ export default {
.container-head { .container-head {
// height: 40px; // height: 40px;
height: 3.8vh; height:4vh;
padding: 8px; padding: 8px;
display: flex; display: flex;
align-items: center; align-items: center;

View File

@@ -1,7 +1,7 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2024-06-20 16:13:36 * @Date: 2024-06-20 16:13:36
* @LastEditTime: 2024-06-27 09:51:43 * @LastEditTime: 2024-06-28 14:54:33
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
@@ -36,7 +36,7 @@ export default {
color: [], color: [],
// color: ["#8EF0AB", "#63BDFF", "#288AFF"], // color: ["#8EF0AB", "#63BDFF", "#288AFF"],
grid: { grid: {
left: 20, left: 50,
right: 0, right: 0,
bottom: 31, bottom: 31,
top: 30, top: 30,
@@ -51,7 +51,7 @@ export default {
}, },
}, },
formatter: function (params) { formatter: function (params) {
console.log('params', params.data) // console.log('params', params.data)
var res = `<span style='color:rgba(0,0,0,0.8)'>${params[0].axisValueLabel}</span>`; var res = `<span style='color:rgba(0,0,0,0.8)'>${params[0].axisValueLabel}</span>`;
for (var i = 0, l = params.length; i < l; i++) { for (var i = 0, l = params.length; i < l; i++) {
res += res +=
@@ -173,8 +173,12 @@ export default {
}, },
// gridLeft(val) { // gridLeft(val) {
// console.log(val) // if (val === false) {
// this.option.grid.left = 100
// } else {
// this.option.grid.left = -80
// }
// this.canvasReset()
// }, // },
type() { type() {
this.canvasReset(); this.canvasReset();
@@ -200,11 +204,7 @@ export default {
}, },
getMes() { getMes() {
console.log(this.gridLeft) console.log(this.gridLeft)
if (this.gridLeft === false) {
this.option.grid.left = 20
} else {
this.option.grid.left = -80
}
// console.log('222222', this.chartMsg); // console.log('222222', this.chartMsg);
if (this.myChart) { if (this.myChart) {
this.myChart.dispose(); this.myChart.dispose();
@@ -213,12 +213,17 @@ export default {
this.myChart = echarts.init(chartDom); this.myChart = echarts.init(chartDom);
this.option.color = this.chartMsg.color; this.option.color = this.chartMsg.color;
this.option.xAxis.data = this.chartMsg.xData this.option.xAxis.data = this.chartMsg.xData
if (this.gridLeft === false) {
this.option.grid.left = 50
} else {
this.option.grid.left = -80
}
// this.option.yAxis.name = this.chartMsg.yName; // this.option.yAxis.name = this.chartMsg.yName;
// this.option.yAxis.axisLabel = this.chartMsg.yAxisLabel; // this.option.yAxis.axisLabel = this.chartMsg.yAxisLabel;
this.option.series = this.chartMsg.series; this.option.series = this.chartMsg.series;
this.option.yAxis = this.chartMsg.yAxis; this.option.yAxis = this.chartMsg.yAxis;
console.log(this.option.grid);
this.myChart.setOption(this.option); this.myChart.setOption(this.option);
}, },
}, },

View File

@@ -1,7 +1,7 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2024-06-20 16:13:52 * @Date: 2024-06-20 16:13:52
* @LastEditTime: 2024-06-27 09:55:02 * @LastEditTime: 2024-06-28 13:45:53
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->

View File

@@ -1,7 +1,7 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2024-06-21 09:05:14 * @Date: 2024-06-21 09:05:14
* @LastEditTime: 2024-06-27 10:59:40 * @LastEditTime: 2024-06-28 15:53:14
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
@@ -55,34 +55,32 @@ export default {
let arr = [] let arr = []
var res = ``; var res = ``;
// for (var i = 0, l = params.length; i < l; i++) { // for (var i = 0, l = params.length; i < l; i++) {
console.log() // console.log()
if (params[0].axisValue === 'FTO投入' || params[0].axisValue === '芯片产量' || params[0].axisValue === '标准组件产量') { if (params[0].axisValue === 'FTO投入' || params[0].axisValue === '芯片产量' || params[0].axisValue === '标准组件产量' || params[0].axisValue === '芯片总功率' || params[0].axisValue === '标准组件总功率') {
res += res +=
"<br/>" + `<span style='display:inline-block;margin-right:4px;width:10px;height:10px;background-color:${params[0].color}'></span>` +
`<span style='display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:${params[0].color}'></span>` +
`<span style='display:inline-block;width:150px;color:rgba(0,0,0,0.8);font-size:14px;'>${params[0].axisValueLabel}</span>` + `<span style='display:inline-block;width:150px;color:rgba(0,0,0,0.8);font-size:14px;'>${params[0].axisValueLabel}</span>` +
`<span style='color:rgba(0,0,0,0.48);font-size:14px;'>${params[0].name === "综合良率" `<span style='color:rgba(0,0,0,0.48);font-size:14px;'>${params[0].name === "综合良率"
? (params[0].value ? params[0].value.toFixed(2) : 0.0) + "%" ? (params[0].value ? params[0].value.toFixed(2) : 0.0) + "%"
: params[0].name === "转化效率" : params[0].name === "转化效率"
? (params[0].value ? params[0].value.toFixed(2) : 0.0) + "%" ? (params[0].value ? params[0].value.toFixed(2) : 0.0) + "%"
: params[i].seriesName.search('总功率') != -1 : params[0].seriesName.search('总功率') != -1
? (params[i].value ? params[i].value : 0) + "MW" ? (params[0].value ? params[0].value : 0) + "MW"
: (params[i].value ? params[i].value : 0) + "片" : (params[0].value ? params[0].value : 0) + "片"
}</span>`; }</span>`;
// } // }
} }
if (params[1].axisValue === '综合良率' || params[1].axisValue === '转化效率') { if (params[1].axisValue === '综合良率' || params[1].axisValue === '转化效率') {
res += res +=
"<br/>" + `<span style='display:inline-block;margin-right:4px;width:10px;height:10px;background-color:${params[1].color}'></span>` +
`<span style='display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:${params[1].color}'></span>` +
`<span style='display:inline-block;width:150px;color:rgba(0,0,0,0.8);font-size:14px;'>${params[1].axisValueLabel}</span>` + `<span style='display:inline-block;width:150px;color:rgba(0,0,0,0.8);font-size:14px;'>${params[1].axisValueLabel}</span>` +
`<span style='color:rgba(0,0,0,0.48);font-size:14px;'>${params[1].name === "综合良率" `<span style='color:rgba(0,0,0,0.48);font-size:14px;'>${params[1].name === "综合良率"
? (params[1].value ? params[1].value.toFixed(2) : 0.0) + "%" ? (params[1].value ? params[1].value.toFixed(2) : 0.0) + "%"
: params[1].name === "转化效率" : params[1].name === "转化效率"
? (params[1].value ? params[1].value.toFixed(2) : 0.0) + "%" ? (params[1].value ? params[1].value.toFixed(2) : 0.0) + "%"
: params[i].seriesName.search('总功率') != -1 : params[1].seriesName.search('总功率') != -1
? (params[i].value ? params[i].value : 0) + "MW" ? (params[1].value ? params[1].value : 0) + "MW"
: (params[i].value ? params[i].value : 0) + "片" : (params[1].value ? params[1].value : 0) + "片"
}</span>`; }</span>`;
} }
return res; return res;

View File

@@ -1,7 +1,7 @@
<!-- <!--
* @Author: zhp * @Author: zhp
* @Date: 2024-04-15 10:49:13 * @Date: 2024-04-15 10:49:13
* @LastEditTime: 2024-06-25 08:39:48 * @LastEditTime: 2024-07-01 14:43:42
* @LastEditors: zhp * @LastEditors: zhp
* @Description: * @Description:
--> -->
@@ -14,7 +14,7 @@
<div class="app-container" style="margin-top: 8px;flex-grow: 1; height: auto;"> <div class="app-container" style="margin-top: 8px;flex-grow: 1; height: auto;">
<el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip"> <el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip">
<el-form-item label="时间维度" prop="type"> <el-form-item label="时间维度" prop="type">
<el-select size="small" clearable v-model="listQuery.type" placeholder="请选择"> <el-select size="small" clearable v-model="listQuery.type" placeholder="请选择" @change="handleChange">
<el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
@@ -207,6 +207,13 @@ export default {
this.getDataList() this.getDataList()
}, },
methods: { methods: {
handleChange() {
this.listQuery.reportTime = []
this.listQuery.end = null
this.listQuery.start = null
this.listQuery.startDate = null
this.listQuery.endDate = null
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) { objectSpanMethod({ row, column, rowIndex, columnIndex }) {
let spanOneArr = [], concatOne = 0; let spanOneArr = [], concatOne = 0;
// let spanTwoArr = [], concatTwo = 0; // let spanTwoArr = [], concatTwo = 0;
@@ -319,6 +326,10 @@ export default {
} }
}, },
async getDataList() { async getDataList() {
console.log(this.listQuery.type);
if (this.listQuery.type == null) {
return this.$message('请选择时间维度')
}
if (!this.listQuery.startDate && !this.listQuery.endDate) { if (!this.listQuery.startDate && !this.listQuery.endDate) {
return this.$message('请选择起止时间') return this.$message('请选择起止时间')
} }
@@ -464,29 +475,31 @@ export default {
// dataArr[1].factory = item.factory === 1 ? '邯郸' : '瑞昌' // dataArr[1].factory = item.factory === 1 ? '邯郸' : '瑞昌'
// dataArr[2].factory = item.factory === 1 ? '邯郸' : '瑞昌' // dataArr[2].factory = item.factory === 1 ? '邯郸' : '瑞昌'
// dataArr[3].factory = item.factory === 1 ? '邯郸' : '瑞昌' // dataArr[3].factory = item.factory === 1 ? '邯郸' : '瑞昌'
dataArr[1]['' + m + ''] = item.chipYield dataArr[1]['' + m + ''] = item.chipInput
dataArr[2]['' + m + ''] = item.chipAveragePower dataArr[2]['' + m + ''] = item.chipYield
dataArr[4]['' + m + ''] = item.chipTotalPower dataArr[3]['' + m + ''] = item.chipYieldRate
dataArr[5]['' + m + ''] = item.chipCssMarriageRate dataArr[4]['' + m + ''] = item.chipAveragePower
dataArr[6]['' + m + ''] = item.chipOee dataArr[5]['' + m + ''] = item.chipTotalPower
dataArr[7]['' + m + ''] = item.chipCapacityUtilizationRate dataArr[6]['' + m + ''] = item.chipCssMarriageRate
dataArr[8]['' + m + ''] = item.chipAnnualAverageProduction dataArr[7]['' + m + ''] = item.chipOee
dataArr[9]['' + m + ''] = item.chipBom dataArr[8]['' + m + ''] = item.chipCapacityUtilizationRate
dataArr[10]['' + m + ''] = item.componentYield dataArr[9]['' + m + ''] = item.chipAnnualAverageProduction
dataArr[11]['' + m + ''] = item.componentAveragePower dataArr[10]['' + m + ''] = item.chipBom
dataArr[12]['' + m + ''] = item.componentYieldRate dataArr[11]['' + m + ''] = item.componentYield
dataArr[13]['' + m + ''] = item.componentTotalPower dataArr[12]['' + m + ''] = item.componentAveragePower
dataArr[14]['' + m + ''] = item.componentOee dataArr[13]['' + m + ''] = item.componentYieldRate
dataArr[15]['' + m + ''] = item.componentCapacityUtilizationRate dataArr[14]['' + m + ''] = item.componentTotalPower
dataArr[16]['' + m + ''] = item.componentAnnualAverageProduction dataArr[15]['' + m + ''] = item.componentOee
dataArr[17]['' + m + ''] = item.componentBom dataArr[16]['' + m + ''] = item.componentCapacityUtilizationRate
dataArr[18]['' + m + ''] = item.bipvChipUsage dataArr[17]['' + m + ''] = item.componentAnnualAverageProduction
dataArr[19]['' + m + ''] = item.bipvProductOutput dataArr[18]['' + m + ''] = item.componentBom
dataArr[20]['' + m + ''] = item.bipvChipUtilizationRate dataArr[19]['' + m + ''] = item.bipvChipUsage
dataArr[21]['' + m + ''] = item.bipvAnnualAverageProduction dataArr[20]['' + m + ''] = item.bipvProductOutput
dataArr[22]['' + m + ''] = item.bipvOeeMaterialCost dataArr[21]['' + m + ''] = item.bipvChipUtilizationRate
dataArr[23]['' + m + ''] = item.bipvInsideMaterialCost dataArr[22]['' + m + ''] = item.bipvAnnualAverageProduction
dataArr[24]['' + m + ''] = item.bipvComprehensiveMaterialCost dataArr[23]['' + m + ''] = item.bipvOeeMaterialCost
dataArr[24]['' + m + ''] = item.bipvInsideMaterialCost
dataArr[25]['' + m + ''] = item.bipvComprehensiveMaterialCost
// }) // })
// ele.titleValue // ele.titleValue

View File

@@ -7,7 +7,7 @@
<div class="search"> <div class="search">
<el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip"> <el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip">
<el-form-item label="时间维度" prop="date"> <el-form-item label="时间维度" prop="date">
<el-select size="small" clearable v-model="listQuery.date" placeholder="请选择"> <el-select size="small" clearable v-model="listQuery.date" placeholder="请选择" @change="handleChange">
<el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
@@ -247,7 +247,7 @@ export default {
yAxis: [ yAxis: [
{ {
type: "value", type: "value",
name: "单位/", name: "单位/MW",
// min: function (value) {//取最小值向下取整为最小刻度 // min: function (value) {//取最小值向下取整为最小刻度
// return 0 // return 0
// }, // },
@@ -290,7 +290,7 @@ export default {
barWidth: 20, barWidth: 20,
label: { label: {
show: true, show: true,
position: [-50, -16], position: [-20, -16],
color: "#68C483", color: "#68C483",
formatter: function (params) { formatter: function (params) {
return params.value.toFixed(2) return params.value.toFixed(2)
@@ -402,6 +402,13 @@ export default {
this.getDataList() this.getDataList()
}, },
methods: { methods: {
handleChange(val) {
this.listQuery.reportTime = []
this.listQuery.end = null
this.listQuery.start = null
this.listQuery.endTime = null
this.listQuery.beginTime = null
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) { objectSpanMethod({ row, column, rowIndex, columnIndex }) {
let spanOneArr = [], concatOne = 0; let spanOneArr = [], concatOne = 0;
// let spanTwoArr = [], concatTwo = 0; // let spanTwoArr = [], concatTwo = 0;
@@ -522,6 +529,9 @@ export default {
this.chartMsgYearTarget.series[0].data = [] this.chartMsgYearTarget.series[0].data = []
this.chartMsgYearTarget.series[1].data = [] this.chartMsgYearTarget.series[1].data = []
this.title = '' this.title = ''
if (this.listQuery.date == null) {
return this.$message('请选择时间维度')
}
if (!this.listQuery.beginTime && !this.listQuery.endTime) { if (!this.listQuery.beginTime && !this.listQuery.endTime) {
return this.$message('请选择起止时间') return this.$message('请选择起止时间')
} }
@@ -561,26 +571,26 @@ export default {
}) })
}) })
if (res.data[0].list.length != 0) { if (res.data[0].list.length != 0) {
this.chartMsg.xData.push(res.data[0].list[0].reportTimep + '目标') this.chartMsg.xData.push(res.data[0].list[res.data[0].list.length - 1].reportTimep + '目标')
if (this.listQuery.date === 0 || this.listQuery.date === 1 || this.listQuery.date === 2) { if (this.listQuery.date === 0 || this.listQuery.date === 1 || this.listQuery.date === 2) {
this.otherProps.push({ this.otherProps.push({
label: res.data[0].list[0].reportTimep + '目标', label: res.data[0].list[res.data[0].list.length - 1].reportTimep + '目标',
prop: 'dayData' prop: 'dayData'
}) })
dataArr[0]['dayData'] = res.data[0].list[0].chipTarget dataArr[0]['dayData'] = res.data[0].list[res.data[0].list.length - 1].chipTarget
dataArr[1]['dayData'] = res.data[0].list[0].standTarget dataArr[1]['dayData'] = res.data[0].list[res.data[0].list.length - 1].standTarget
dataArr[2]['dayData'] = res.data[0].list[0].conversionEfficiencyTarget dataArr[2]['dayData'] = res.data[0].list[res.data[0].list.length - 1].conversionEfficiencyTarget
} }
if (this.listQuery.date === 2 || this.listQuery.date === 3) { if (this.listQuery.date === 2 || this.listQuery.date === 3) {
this.otherProps.push({ this.otherProps.push({
label: res.data[0].yearTarget.targetTime, label: res.data[0].yearTarget.targetTime + '年目标',
prop: 'yearData' prop: 'yearData'
}) })
dataArr[0]['yearData'] = res.data[0].yearTarget.chipTotalPower dataArr[0]['yearData'] = res.data[0].yearTarget.chipTotalPower
dataArr[1]['yearData'] = res.data[0].yearTarget.componentTotalPower dataArr[1]['yearData'] = res.data[0].yearTarget.componentTotalPower
dataArr[2]['yearData'] = res.data[0].yearTarget.componentConversionEfficiency dataArr[2]['yearData'] = res.data[0].yearTarget.componentConversionEfficiency
} }
res.data.forEach((ele, index) => { res.data.reverse().forEach((ele, index) => {
// let i = index + 1 // let i = index + 1
// let m = 'value' + i // let m = 'value' + i
ele.list.forEach((item, index) => { ele.list.forEach((item, index) => {
@@ -600,7 +610,7 @@ export default {
// }) // })
}) })
}) })
this.title = res.data[0].yearTarget.targetTime ? res.data[0].yearTarget.targetTime + '目标值' : '' this.title = res.data[0].yearTarget.targetTime ? res.data[0].yearTarget.targetTime + '目标值' : ''
this.chartMsgYearTarget.series[0].data = [ this.chartMsgYearTarget.series[0].data = [
{ {
value: res.data[0].yearTarget.chipTotalPower, value: res.data[0].yearTarget.chipTotalPower,
@@ -667,6 +677,18 @@ export default {
}) })
} }
} }
this.chartMsg.series[0].data.push({
name: '芯片总功率',
value: dataArr[0]['dayData'] === 0 ? null : dataArr[0]['dayData']
})
this.chartMsg.series[1].data.push({
name: '标准组件总功率',
value: dataArr[1]['dayData'] === 0 ? null : dataArr[1]['dayData']
})
this.chartMsg.series[2].data.push({
name: '转化效率',
value: dataArr[2]['dayData'] === 0 ? null : dataArr[2]['dayData']
})
} else { } else {
this.chartMsgYearTarget.series[0].data = [] this.chartMsgYearTarget.series[0].data = []
this.chartMsgYearTarget.series[1].data = [] this.chartMsgYearTarget.series[1].data = []

View File

@@ -5,7 +5,7 @@
<div class="search"> <div class="search">
<el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip"> <el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip">
<el-form-item label="时间维度" prop="type"> <el-form-item label="时间维度" prop="type">
<el-select size="small" clearable v-model="listQuery.type" placeholder="请选择"> <el-select size="small" clearable v-model="listQuery.type" placeholder="请选择" @change="handleChange">
<el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
@@ -226,6 +226,7 @@ export default {
show: true, show: true,
type: "value", type: "value",
name: "单位/MW", name: "单位/MW",
position:'left',
// splitNumber: 4, // splitNumber: 4,
nameTextStyle: { nameTextStyle: {
fontSize: 12, fontSize: 12,
@@ -240,10 +241,11 @@ export default {
chartMsg: { chartMsg: {
color: ["#8EF0AB", "#288AFF"], color: ["#8EF0AB", "#288AFF"],
xData: [], xData: [],
yName: "单位/MW", // yName: "单位/MW",
yAxis:{ yAxis:{
type: "value", type: "value",
name: "单位/MW", name: "单位/MW",
// splitNumber: 4, // splitNumber: 4,
nameTextStyle: { nameTextStyle: {
fontSize: 12, fontSize: 12,
@@ -369,6 +371,13 @@ export default {
this.getDataList() this.getDataList()
}, },
methods: { methods: {
handleChange() {
this.listQuery.reportTime = []
this.listQuery.end = null
this.listQuery.start = null
this.listQuery.startDate = null
this.listQuery.endDate = null
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) { objectSpanMethod({ row, column, rowIndex, columnIndex }) {
let spanOneArr = [], concatOne = 0; let spanOneArr = [], concatOne = 0;
// let spanTwoArr = [], concatTwo = 0; // let spanTwoArr = [], concatTwo = 0;
@@ -491,6 +500,9 @@ export default {
this.chartMsgYearTarget.series[0].data = [] this.chartMsgYearTarget.series[0].data = []
this.chartMsgYearTarget.series[1].data = [] this.chartMsgYearTarget.series[1].data = []
console.log(this.listQuery); console.log(this.listQuery);
if (this.listQuery.type == null) {
return this.$message('请选择时间维度')
}
if (!this.listQuery.startDate && !this.listQuery.endDate) { if (!this.listQuery.startDate && !this.listQuery.endDate) {
return this.$message('请选择起止时间') return this.$message('请选择起止时间')
} }
@@ -511,7 +523,7 @@ export default {
let i = index + 1 let i = index + 1
let m = 'value' + i let m = 'value' + i
ele.productionSituationPowerDataVOList.forEach((item) => { ele.productionSituationPowerDataVOList.forEach((item) => {
maxData.push(item.chipTotalPower, item.componentTotalPower) // maxData.push(item.chipTotalPower, item.componentTotalPower)
this.dataArr[0]['' + m + ''] = item.chipTotalPower this.dataArr[0]['' + m + ''] = item.chipTotalPower
// this.dataArr[3].factory = item.factory == 1 ? '邯郸' : '瑞昌' // this.dataArr[3].factory = item.factory == 1 ? '邯郸' : '瑞昌'
this.dataArr[1]['' + m + ''] = item.componentTotalPower this.dataArr[1]['' + m + ''] = item.componentTotalPower
@@ -523,10 +535,23 @@ export default {
// props: 'value' + index + 1, // props: 'value' + index + 1,
// }) // })
}) })
this.chartMsg.yAxis.max = Math.ceil(Math.max(...maxData) / 100) * 100 if (this.listQuery.type === 2) {
this.chartMsgTarget.yAxis.max = Math.ceil(Math.max(...maxData) / 100) * 100 res.data.list.slice(0, res.data.list.length - 1).forEach((ele, index) => {
this.chartMsg.yAxis.min = Math.ceil(Math.min(...maxData) / 100) * 100 ele.productionSituationPowerDataVOList.forEach((item) => {
this.chartMsgTarget.yAxis.min = Math.ceil(Math.min(...maxData) / 100) * 100 maxData.push(item.chipTotalPower, item.componentTotalPower)
})
})
} else {
res.data.list.forEach((ele, index) => {
ele.productionSituationPowerDataVOList.forEach((item) => {
maxData.push(item.chipTotalPower, item.componentTotalPower)
})
})
}
this.chartMsg.yAxis.max = Math.ceil(Math.max(...maxData))
this.chartMsgTarget.yAxis.max = Math.ceil(Math.max(...maxData))
this.chartMsg.yAxis.min = Math.ceil(Math.min(...maxData) )
this.chartMsgTarget.yAxis.min = Math.ceil(Math.min(...maxData))
this.chartMsg.yAxis.interval = (this.chartMsg.yAxis.max - this.chartMsg.yAxis.min) / 4 this.chartMsg.yAxis.interval = (this.chartMsg.yAxis.max - this.chartMsg.yAxis.min) / 4
this.chartMsgTarget.yAxis.interval = (this.chartMsgTarget.yAxis.max - this.chartMsgTarget.yAxis.min) / 4 this.chartMsgTarget.yAxis.interval = (this.chartMsgTarget.yAxis.max - this.chartMsgTarget.yAxis.min) / 4
if (this.listQuery.type === 2) { if (this.listQuery.type === 2) {
@@ -550,7 +575,7 @@ export default {
}) })
}) })
}) })
this.chartMsgTarget.xData.push(res.data.list[res.data.list.length - 2].titleValue) this.chartMsgTarget.xData.push(res.data.list[res.data.list.length - 2].titleValue.slice(0, res.data.list[res.data.list.length - 2].titleValue.length - 3))
// this.chartMsgTarget.series = [{ // this.chartMsgTarget.series = [{
// name: "FTO投入", // name: "FTO投入",
// data: [ // data: [
@@ -718,7 +743,7 @@ export default {
}) })
}) })
}) })
this.chartMsgTarget.xData.push(res.data.list[res.data.list.length - 1].titleValue) this.chartMsgTarget.xData.push(res.data.list[res.data.list.length - 1].titleValue.slice(0, res.data.list[res.data.list.length - 1].titleValue.length - 3))
// this.chartMsgTarget.series = [{ // this.chartMsgTarget.series = [{
// name: "FTO投入", // name: "FTO投入",
// data: [ // data: [

View File

@@ -448,7 +448,7 @@ export default {
this.tableData = val this.tableData = val
}, },
currentMenu(val) { currentMenu(val) {
console.log(val) // console.log(val)
if (val === '瑞昌') { if (val === '瑞昌') {
this.legendList = [ this.legendList = [
{ id: 1, name: "FTO投入", type: 1, color: "#8EF0AB" }, { id: 1, name: "FTO投入", type: 1, color: "#8EF0AB" },
@@ -499,6 +499,8 @@ export default {
this.listQuery.reportTime = [] this.listQuery.reportTime = []
this.listQuery.end = null this.listQuery.end = null
this.listQuery.start = null this.listQuery.start = null
this.listQuery.startDate = null
this.listQuery.endDate = null
}, },
objectSpanMethod({ row, column, rowIndex, columnIndex }) { objectSpanMethod({ row, column, rowIndex, columnIndex }) {
let spanOneArr = [], concatOne = 0; let spanOneArr = [], concatOne = 0;
@@ -552,12 +554,12 @@ export default {
onValueChange(picker, k) { // 选中近k周后触发的操作 onValueChange(picker, k) { // 选中近k周后触发的操作
// console.log(this.listQuery.reportTime[0], this.listQuery.reportTime[1]) // console.log(this.listQuery.reportTime[0], this.listQuery.reportTime[1])
if (this.listQuery.start && this.listQuery.end) { if (this.listQuery.start && this.listQuery.end) {
console.log(this.listQuery.reportTime) // console.log(this.listQuery.reportTime)
this.date1 = moment(this.listQuery.start.getTime() - 24 * 60 * 60 * 1000).format('YYYY-MM-DD HH:mm:ss') this.date1 = moment(this.listQuery.start.getTime() - 24 * 60 * 60 * 1000).format('YYYY-MM-DD HH:mm:ss')
this.date2 = moment(this.listQuery.end.getTime() + 5 * 24 * 60 * 60 * 1000).format('YYYY-MM-DD HH:mm:ss') this.date2 = moment(this.listQuery.end.getTime() + 5 * 24 * 60 * 60 * 1000).format('YYYY-MM-DD HH:mm:ss')
const numDays = (new Date(this.date2).getTime() - new Date(this.date1).getTime()) / (24 * 3600 * 1000); const numDays = (new Date(this.date2).getTime() - new Date(this.date1).getTime()) / (24 * 3600 * 1000);
if (numDays > 168) { if (numDays > 168) {
console.log(numDays) // console.log(numDays)
this.$message({ this.$message({
message: '周范围不能超过24周', message: '周范围不能超过24周',
type: 'warning' type: 'warning'
@@ -576,7 +578,7 @@ export default {
if (this.listQuery.reportTime) { if (this.listQuery.reportTime) {
// this.createStartDate = moment(new Date(this.listQuery.reportTime[0]), 'yyyy-MM-dd hh:mm:ss'); // this.createStartDate = moment(new Date(this.listQuery.reportTime[0]), 'yyyy-MM-dd hh:mm:ss');
// this.createEndDate = moment(new Date(this.listQuery.reportTime[1]), 'yyyy-MM-dd hh:mm:ss'); // this.createEndDate = moment(new Date(this.listQuery.reportTime[1]), 'yyyy-MM-dd hh:mm:ss');
console.log(this.listQuery.reportTime[1]) // console.log(this.listQuery.reportTime[1])
const numDays = (this.listQuery.reportTime[1] - this.listQuery.reportTime[0]) / (24 * 3600 * 1000); const numDays = (this.listQuery.reportTime[1] - this.listQuery.reportTime[0]) / (24 * 3600 * 1000);
if (numDays > 30) { if (numDays > 30) {
this.$message({ this.$message({
@@ -629,7 +631,10 @@ export default {
if (this.chartMsgYearTarget.series[3]) { if (this.chartMsgYearTarget.series[3]) {
this.chartMsgYearTarget.series[3].data = [] this.chartMsgYearTarget.series[3].data = []
} }
console.log(this.listQuery); // console.log(this.listQuery);
if (this.listQuery.type == null) {
return this.$message('请选择时间维度')
}
if (!this.listQuery.startDate && !this.listQuery.endDate) { if (!this.listQuery.startDate && !this.listQuery.endDate) {
return this.$message('请选择起止时间') return this.$message('请选择起止时间')
} }
@@ -650,7 +655,7 @@ export default {
let i = index + 1 let i = index + 1
let m = 'value' + i let m = 'value' + i
ele.productionSituationDataVOList.forEach((item) => { ele.productionSituationDataVOList.forEach((item) => {
maxData.push(item.ftoInput, item.chipYield, item.componentYield) // maxData.push(item.ftoInput, item.chipYield, item.componentYield)
this.dataArr[0]['' + m + ''] = item.ftoInput this.dataArr[0]['' + m + ''] = item.ftoInput
// this.dataArr[3].factory = item.factory == 1 ? '邯郸' : '瑞昌' // this.dataArr[3].factory = item.factory == 1 ? '邯郸' : '瑞昌'
this.dataArr[1]['' + m + ''] = item.chipYield this.dataArr[1]['' + m + ''] = item.chipYield
@@ -661,26 +666,39 @@ export default {
this.dataArr[3]['' + m + ''] = item.bipvProductOutput this.dataArr[3]['' + m + ''] = item.bipvProductOutput
} }
}) })
this.chartMsg.yAxis.max = Math.ceil(Math.max(...maxData) / 100) * 100
this.chartMsgTarget.yAxis.max = Math.ceil(Math.max(...maxData) / 100) * 100
this.chartMsg.yAxis.min = Math.ceil(Math.min(...maxData) / 100) * 100
this.chartMsgTarget.yAxis.min = Math.ceil(Math.min(...maxData) / 100) * 100
this.chartMsg.yAxis.interval = (this.chartMsg.yAxis.max - this.chartMsg.yAxis.min) / 4
this.chartMsgTarget.yAxis.interval = (this.chartMsgTarget.yAxis.max - this.chartMsgTarget.yAxis.min) / 4
// ele.titleValue // ele.titleValue
// .push({ // .push({
// label: ele.titleValue, // label: ele.titleValue,
// props: 'value' + index + 1, // props: 'value' + index + 1,
// }) // })
}) })
if (this.listQuery.type === 2) {
res.data.list.slice(0, res.data.list.length - 1).forEach((ele, index) => {
ele.productionSituationDataVOList.forEach((item) => {
maxData.push(item.ftoInput, item.chipYield, item.componentYield)
})
})
} else {
res.data.list.forEach((ele, index) => {
ele.productionSituationDataVOList.forEach((item) => {
maxData.push(item.ftoInput, item.chipYield, item.componentYield)
})
})
}
this.chartMsg.yAxis.max = Math.ceil(Math.max(...maxData))
this.chartMsgTarget.yAxis.max = Math.ceil(Math.max(...maxData))
this.chartMsg.yAxis.min = Math.ceil(Math.min(...maxData))
this.chartMsgTarget.yAxis.min = Math.ceil(Math.min(...maxData))
this.chartMsg.yAxis.interval = (this.chartMsg.yAxis.max - this.chartMsg.yAxis.min) / 4
this.chartMsgTarget.yAxis.interval = (this.chartMsgTarget.yAxis.max - this.chartMsgTarget.yAxis.min) / 4
if (this.listQuery.type === 2) { if (this.listQuery.type === 2) {
if (res.data.list.length === 3) { if (res.data.list.length === 3) {
this.gridLeft = false this.gridLeft = false
} else { } else {
this.gridLeft = true this.gridLeft = true
} }
console.log(res.data.list.length); // console.log(res.data.list.length);
// res.data.list.forEach((ele) => { // res.data.list.forEach((ele) => {
res.data.list.slice(0, res.data.list.length - 3).forEach((ele, index) => { res.data.list.slice(0, res.data.list.length - 3).forEach((ele, index) => {
// let i = index + 1 // let i = index + 1
@@ -706,7 +724,7 @@ export default {
} }
}) })
}) })
this.chartMsgTarget.xData.push(res.data.list[res.data.list.length - 2].titleValue) this.chartMsgTarget.xData.push(res.data.list[res.data.list.length - 2].titleValue.slice(0, res.data.list[res.data.list.length - 2].titleValue.length - 3))
// this.chartMsgTarget.series = [{ // this.chartMsgTarget.series = [{
// name: "FTO投入", // name: "FTO投入",
// data: [ // data: [
@@ -734,7 +752,7 @@ export default {
let targetObj = {} let targetObj = {}
let obj = {} let obj = {}
res.data.list.slice(res.data.list.length - 3, res.data.list.length - 1).forEach((ele, index) => { res.data.list.slice(res.data.list.length - 3, res.data.list.length - 1).forEach((ele, index) => {
console.log("ele",ele.titleValue); // console.log("ele",ele.titleValue);
// let i = index + 1 // let i = index + 1
// this.chartMsgTarget.xData.push(ele.titleValue) // this.chartMsgTarget.xData.push(ele.titleValue)
if (ele.titleValue.search('完成') == -1) { if (ele.titleValue.search('完成') == -1) {
@@ -744,7 +762,7 @@ export default {
targetObj.componentYield = item.componentYield targetObj.componentYield = item.componentYield
targetObj.bipvProductOutput = this.currentMenu == '瑞昌' ? null : item.bipvProductOutput targetObj.bipvProductOutput = this.currentMenu == '瑞昌' ? null : item.bipvProductOutput
}) })
console.log("fto",ele.titleValue,fto); // console.log("fto",ele.titleValue,fto);
} else { } else {
ele.productionSituationDataVOList.forEach((item) => { ele.productionSituationDataVOList.forEach((item) => {
obj.ftoInput = item.ftoInput obj.ftoInput = item.ftoInput
@@ -924,7 +942,7 @@ export default {
},) },)
// } // }
this.chartMsgTarget.series = [...fto, ...chip, ...std, ...bipv] this.chartMsgTarget.series = [...fto, ...chip, ...std, ...bipv]
console.log('arr', this.chartMsgTarget.series) // console.log('arr', this.chartMsgTarget.series)
// arr.forEach((ele) => { // arr.forEach((ele) => {
// }) // })
@@ -986,8 +1004,8 @@ export default {
} }
}) })
}) })
console.log(this.chartMsg.series[0]); // console.log(this.chartMsg.series[0]);
this.chartMsgTarget.xData.push(res.data.list[res.data.list.length - 1].titleValue) this.chartMsgTarget.xData.push(res.data.list[res.data.list.length - 1].titleValue.slice(0, res.data.list[res.data.list.length - 1].titleValue.length - 3))
// this.chartMsgTarget.series = [{ // this.chartMsgTarget.series = [{
// name: "FTO投入", // name: "FTO投入",
// data: [ // data: [
@@ -1015,7 +1033,7 @@ export default {
let targetObj = {} let targetObj = {}
let obj = {} let obj = {}
res.data.list.slice(res.data.list.length - 2, res.data.list.length).forEach((ele, index) => { res.data.list.slice(res.data.list.length - 2, res.data.list.length).forEach((ele, index) => {
console.log("ele", ele.titleValue); // console.log("ele", ele.titleValue);
// let i = index + 1 // let i = index + 1
// this.chartMsgTarget.xData.push(ele.titleValue) // this.chartMsgTarget.xData.push(ele.titleValue)
ele.productionSituationDataVOList.forEach((item) => { ele.productionSituationDataVOList.forEach((item) => {
@@ -1024,7 +1042,7 @@ export default {
targetObj.chipYield = item.chipYield targetObj.chipYield = item.chipYield
targetObj.componentYield = item.componentYield targetObj.componentYield = item.componentYield
targetObj.bipvProductOutput = this.currentMenu == '瑞昌' ? null : item.bipvProductOutput targetObj.bipvProductOutput = this.currentMenu == '瑞昌' ? null : item.bipvProductOutput
console.log("fto", ele.titleValue, fto); // console.log("fto", ele.titleValue, fto);
} else { } else {
obj.ftoInput = item.ftoInput obj.ftoInput = item.ftoInput

View File

@@ -7,7 +7,7 @@
<div class="search"> <div class="search">
<el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip"> <el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip">
<el-form-item label="时间维度" prop="type"> <el-form-item label="时间维度" prop="type">
<el-select size="small" clearable v-model="listQuery.type" placeholder="请选择"> <el-select size="small" clearable v-model="listQuery.type" placeholder="请选择" @change="handleChange">
<el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
@@ -107,6 +107,7 @@ export default {
otherProps: [], otherProps: [],
start: undefined, start: undefined,
end: undefined, end: undefined,
currentMenu:'邯郸',
title: '', title: '',
showTable:false, showTable:false,
listQuery: { listQuery: {
@@ -422,6 +423,13 @@ export default {
this.getDataList() this.getDataList()
}, },
methods: { methods: {
handleChange() {
this.listQuery.reportTime = []
this.listQuery.end = null
this.listQuery.start = null
this.listQuery.endTime = null
this.listQuery.beginTime = null
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) { objectSpanMethod({ row, column, rowIndex, columnIndex }) {
let spanOneArr = [], concatOne = 0; let spanOneArr = [], concatOne = 0;
// let spanTwoArr = [], concatTwo = 0; // let spanTwoArr = [], concatTwo = 0;
@@ -543,6 +551,9 @@ export default {
this.chartMsgYearTarget.xData = [] this.chartMsgYearTarget.xData = []
this.chartMsgYearTarget.series[0].data = [] this.chartMsgYearTarget.series[0].data = []
this.chartMsgYearTarget.series[1].data = [] this.chartMsgYearTarget.series[1].data = []
if (this.listQuery.type == null) {
return this.$message('请选择时间维度')
}
if (!this.listQuery.startDate && !this.listQuery.endDate) { if (!this.listQuery.startDate && !this.listQuery.endDate) {
return this.$message('请选择起止时间') return this.$message('请选择起止时间')
} }