Compare commits
No commits in common. "c77130603e4b456a7ff9ecfab6164784792c7b50" and "44283a049b2ed84322adc4109710e6e51cfa7a64" have entirely different histories.
c77130603e
...
44283a049b
6
.env.dev
6
.env.dev
@ -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-04 08:56:35
|
# @LastEditTime: 2024-06-03 08:50:41
|
||||||
# @LastEditors: DY
|
# @LastEditors: DY
|
||||||
# @Description:
|
# @Description:
|
||||||
###
|
###
|
||||||
@ -13,11 +13,11 @@ VUE_APP_TITLE = 芋道管理系统
|
|||||||
|
|
||||||
# 芋道管理系统/开发环境
|
# 芋道管理系统/开发环境
|
||||||
# VUE_APP_BASE_API = 'http://192.168.1.70:30307'
|
# VUE_APP_BASE_API = 'http://192.168.1.70:30307'
|
||||||
VUE_APP_BASE_API = 'http://glass.kszny.picaiba.com'
|
# VUE_APP_BASE_API = 'http://glass.kszny.picaiba.com'
|
||||||
# sara
|
# sara
|
||||||
# VUE_APP_BASE_API = 'http://192.168.1.63:48080'
|
# VUE_APP_BASE_API = 'http://192.168.1.63:48080'
|
||||||
# 张一丁
|
# 张一丁
|
||||||
# VUE_APP_BASE_API = 'http://192.168.4.139:48080'
|
VUE_APP_BASE_API = 'http://192.168.4.139:48080'
|
||||||
|
|
||||||
# 路由懒加载
|
# 路由懒加载
|
||||||
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-05-07 08:54:59
|
* @Date: 2024-05-07 08:54:59
|
||||||
* @LastEditTime: 2024-06-03 14:25:02
|
* @LastEditTime: 2024-05-31 15:08:27
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
@ -50,11 +50,3 @@ export function exportExcel(data) {
|
|||||||
responseType: 'blob'
|
responseType: 'blob'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得工单数据概览
|
|
||||||
export function getOverView(){
|
|
||||||
return request({
|
|
||||||
url: '/ip/prod-work-order/getOverView',
|
|
||||||
method: 'get'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
@ -4,16 +4,16 @@ function __resizeHandler(entries) {
|
|||||||
console.log(entries)
|
console.log(entries)
|
||||||
for (const entry of entries) {
|
for (const entry of entries) {
|
||||||
if (entry.contentBoxSize) {
|
if (entry.contentBoxSize) {
|
||||||
const contentBoxSize = Array.isArray(entry.contentBoxSize)
|
// const contentBoxSize = Array.isArray(entry.contentBoxSize)
|
||||||
? entry.contentBoxSize[0]
|
// ? entry.contentBoxSize[0]
|
||||||
: entry.contentBoxSize;
|
// : entry.contentBoxSize;
|
||||||
this.chart_mixin_chartInstance.resize({
|
// this.chart_mixin_chartInstance.resize({
|
||||||
width:
|
// width:
|
||||||
contentBoxSize.inlineSize < this.MIN_WIDTH
|
// contentBoxSize.inlineSize < this.MIN_WIDTH
|
||||||
? this.MIN_WIDTH
|
// ? this.MIN_WIDTH
|
||||||
: contentBoxSize.inlineSize,
|
// : contentBoxSize.inlineSize,
|
||||||
height: contentBoxSize.blockSize,
|
// height: contentBoxSize.blockSize,
|
||||||
});
|
// });
|
||||||
} else {
|
} else {
|
||||||
// manipulate contentRect
|
// manipulate contentRect
|
||||||
this.chart_mixin_chartInstance.resize({
|
this.chart_mixin_chartInstance.resize({
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-05-07 10:25:10
|
* @Date: 2024-05-07 10:25:10
|
||||||
* @LastEditTime: 2024-06-03 16:40:45
|
* @LastEditTime: 2024-05-31 16:38:29
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<!-- <div class="order"> -->
|
<!-- <div class="order"> -->
|
||||||
<div class="std-rate" style="width: 100%">
|
<div class="std-rate" style="width: 100%; overflow: hidden scroll; height: 400px">
|
||||||
<!-- <div class="span-2">
|
<!-- <div class="span-2">
|
||||||
<StdRateItem :period="period" :city="cities[5]" />
|
<StdRateItem :period="period" :city="cities[5]" />
|
||||||
</div> -->
|
</div> -->
|
||||||
@ -106,12 +106,12 @@ export default {
|
|||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.std-rate {
|
.std-rate {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 16px;
|
// gap: 1px;
|
||||||
// flex: 1 1 auto;
|
// flex: 1 1 auto;
|
||||||
flex-direction: column;
|
|
||||||
// display: -webkit-box;
|
// display: -webkit-box;
|
||||||
// flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
// align-items: center;
|
align-items: center;
|
||||||
// grid-template-columns: repeat(2, 1fr);
|
// grid-template-columns: repeat(2, 1fr);
|
||||||
// grid-template-rows: repeat(4, 1fr);
|
// grid-template-rows: repeat(4, 1fr);
|
||||||
}
|
}
|
||||||
@ -120,10 +120,10 @@ export default {
|
|||||||
}
|
}
|
||||||
.flex-item{
|
.flex-item{
|
||||||
// flex: 1 1 auto;
|
// flex: 1 1 auto;
|
||||||
// width: 50%;
|
width: 50%;
|
||||||
}
|
}
|
||||||
.span-2 {
|
.span-2 {
|
||||||
flex: 1 1 auto;
|
// flex: 1 1 auto;
|
||||||
// flex-basis: 100%;
|
flex-basis: 100%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-05-07 13:22:43
|
* @Date: 2024-05-07 13:22:43
|
||||||
* @LastEditTime: 2024-06-03 16:13:52
|
* @LastEditTime: 2024-05-31 15:55:00
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -11,7 +11,7 @@
|
|||||||
<span v-for="(item,index) in legend" :key="index" class="legend-item"
|
<span v-for="(item,index) in legend" :key="index" class="legend-item"
|
||||||
:style="{ fontSize: isFullscreen ? '0.58vw' : '0.54vw' }">{{ item.label }}</span>
|
:style="{ fontSize: isFullscreen ? '0.58vw' : '0.54vw' }">{{ item.label }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div ref="oeeChart" style="height:94%;width:100%"></div>
|
<div ref="oeeChart" style="height:100%;width:100%"></div>
|
||||||
</chart-container>
|
</chart-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ import ChartContainer from "../../../../components/ChartContainer.vue";
|
|||||||
import { debounce } from "@/utils/debounce";
|
import { debounce } from "@/utils/debounce";
|
||||||
import * as echarts from "echarts";
|
import * as echarts from "echarts";
|
||||||
export default {
|
export default {
|
||||||
name: "barChartBaseoee",
|
name: "BarChartBase",
|
||||||
components: {
|
components: {
|
||||||
ChartContainer,
|
ChartContainer,
|
||||||
},
|
},
|
||||||
@ -220,30 +220,30 @@ export default {
|
|||||||
this.canvasReset()
|
this.canvasReset()
|
||||||
},
|
},
|
||||||
/** 全屏状态切换时,对柱子粗细和字体大小进行相应调整 */
|
/** 全屏状态切换时,对柱子粗细和字体大小进行相应调整 */
|
||||||
isFullscreen(val) {
|
// isFullscreen(val) {
|
||||||
// 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 : 12;
|
||||||
// this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 12;
|
// this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 12;
|
||||||
// this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 12;
|
// this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 12;
|
||||||
// if (val === false && this.isOpen === true) {
|
// // if (val === false && this.isOpen === true) {
|
||||||
// console.log(val)
|
// // console.log(val)
|
||||||
// this.width = 97 + '%'
|
// // this.width = 97 + '%'
|
||||||
// this.canvasReset()
|
// // this.canvasReset()
|
||||||
// } else if (val === false && this.isOpen === false) {
|
// // } else if (val === false && this.isOpen === false) {
|
||||||
// this.width = 100 + '%'
|
// // this.width = 100 + '%'
|
||||||
// this.canvasReset()
|
// // this.canvasReset()
|
||||||
// }
|
// // }
|
||||||
// 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 : 12;
|
||||||
// this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 12;
|
// // this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 12;
|
||||||
// this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 12;
|
// // this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 12;
|
||||||
this.initChart(this.actualOptions)
|
// this.initChart(this.actualOptions)
|
||||||
this.canvasReset()
|
// this.canvasReset()
|
||||||
},
|
// },
|
||||||
series(val) {
|
series(val) {
|
||||||
if (!val) {
|
if (!val) {
|
||||||
this.initChart(this.options);
|
this.initChart(this.options);
|
||||||
@ -268,11 +268,11 @@ export default {
|
|||||||
// this.isFullscreen = screenfull.isFullscreen;
|
// this.isFullscreen = screenfull.isFullscreen;
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
if (screenfull.isEnabled) {
|
// if (screenfull.isEnabled) {
|
||||||
screenfull.on("change", () => {
|
// screenfull.on("change", () => {
|
||||||
this.isFullscreen = screenfull.isFullscreen;
|
// this.isFullscreen = screenfull.isFullscreen;
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
this.actualOptions = this.options
|
this.actualOptions = this.options
|
||||||
this.canvasReset();
|
this.canvasReset();
|
||||||
window.addEventListener("resize", this.canvasReset);
|
window.addEventListener("resize", this.canvasReset);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-05-23 15:50:44
|
* @Date: 2024-05-23 15:50:44
|
||||||
* @LastEditTime: 2024-06-03 16:14:03
|
* @LastEditTime: 2024-05-31 15:54:41
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -11,7 +11,7 @@
|
|||||||
<span v-for="(item,index) in legend" :key="index" class="legend-item"
|
<span v-for="(item,index) in legend" :key="index" class="legend-item"
|
||||||
:style="{ fontSize: isFullscreen ? '0.58vw' : '0.54vw' }">{{ item.label }}</span>
|
:style="{ fontSize: isFullscreen ? '0.58vw' : '0.54vw' }">{{ item.label }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div ref="oeeChart" style="height:94%;width:100%"></div>
|
<div ref="oeeChart" style="height:100%;width:100%"></div>
|
||||||
</chart-container>
|
</chart-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -22,7 +22,7 @@ import ChartContainer from "../../../../components/ChartContainer.vue";
|
|||||||
import { debounce } from "@/utils/debounce";
|
import { debounce } from "@/utils/debounce";
|
||||||
import * as echarts from "echarts";
|
import * as echarts from "echarts";
|
||||||
export default {
|
export default {
|
||||||
name: "barChartBaseoee",
|
name: "BarChartBase",
|
||||||
components: {
|
components: {
|
||||||
ChartContainer,
|
ChartContainer,
|
||||||
},
|
},
|
||||||
@ -221,12 +221,12 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 全屏状态切换时,对柱子粗细和字体大小进行相应调整 */
|
/** 全屏状态切换时,对柱子粗细和字体大小进行相应调整 */
|
||||||
isFullscreen(val) {
|
isFullscreen(val) {
|
||||||
// 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 : 12;
|
||||||
// this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 12;
|
this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 12;
|
||||||
// this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 12;
|
this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 12;
|
||||||
// if (val === false && this.isOpen === true) {
|
// if (val === false && this.isOpen === true) {
|
||||||
// console.log(val)
|
// console.log(val)
|
||||||
// this.width = 97 + '%'
|
// this.width = 97 + '%'
|
||||||
@ -241,8 +241,8 @@ export default {
|
|||||||
// this.actualOptions.xAxis.axisLabel.fontSize = val ? 18 : 12;
|
// this.actualOptions.xAxis.axisLabel.fontSize = val ? 18 : 12;
|
||||||
// this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 12;
|
// this.actualOptions.yAxis.axisLabel.fontSize = val ? 18 : 12;
|
||||||
// this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 12;
|
// this.actualOptions.yAxis.nameTextStyle.fontSize = val ? 18 : 12;
|
||||||
this.initChart(this.actualOptions)
|
// this.initChart(this.actualOptions)
|
||||||
this.canvasReset()
|
// this.canvasReset()
|
||||||
},
|
},
|
||||||
series(val) {
|
series(val) {
|
||||||
if (!val) {
|
if (!val) {
|
||||||
@ -267,11 +267,11 @@ export default {
|
|||||||
// this.isFullscreen = screenfull.isFullscreen;
|
// this.isFullscreen = screenfull.isFullscreen;
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
if (screenfull.isEnabled) {
|
// if (screenfull.isEnabled) {
|
||||||
screenfull.on("change", () => {
|
// screenfull.on("change", () => {
|
||||||
this.isFullscreen = screenfull.isFullscreen;
|
// this.isFullscreen = screenfull.isFullscreen;
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
this.actualOptions = this.options
|
this.actualOptions = this.options
|
||||||
this.canvasReset();
|
this.canvasReset();
|
||||||
window.addEventListener("resize", this.canvasReset);
|
window.addEventListener("resize", this.canvasReset);
|
||||||
|
@ -270,7 +270,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
// justify-content: center;
|
justify-content: center;
|
||||||
gap: 3px;
|
gap: 3px;
|
||||||
backdrop-filter: blur(24px);
|
backdrop-filter: blur(24px);
|
||||||
.cities {
|
.cities {
|
||||||
@ -283,7 +283,6 @@ export default {
|
|||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
padding: 0 15%;
|
padding: 0 15%;
|
||||||
/* margin: 10%; */
|
/* margin: 10%; */
|
||||||
height: 16vh;
|
|
||||||
/* min-width: 300px; */
|
/* min-width: 300px; */
|
||||||
align-self: stretch;
|
align-self: stretch;
|
||||||
}
|
}
|
||||||
|
@ -1,31 +1,25 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-05-07 10:04:53
|
* @Date: 2024-05-07 10:04:53
|
||||||
* @LastEditTime: 2024-06-03 16:08:27
|
* @LastEditTime: 2024-05-31 13:19:34
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="efficiency-copilot">
|
<div class="efficiency-copilot">
|
||||||
<section class="top flex">
|
<Container title="芯片良率" icon="chip2">
|
||||||
<Container title="芯片良率" icon="chip2">
|
<ChipRate :period="period" :than="than" />
|
||||||
<ChipRate :period="period" :than="than" />
|
</Container>
|
||||||
</Container>
|
<Container title="标准组件良率" icon="std">
|
||||||
<Container title="标准组件良率" icon="std">
|
<StdRate :period="period" :than="than" />
|
||||||
<StdRate :period="period" :than="than" />
|
</Container>
|
||||||
</Container>
|
<Container title="芯片OEE" icon="chip">
|
||||||
</section>
|
<ChipOee :chipOeeRate="chipOeeRate" :period="period" :than="than" />
|
||||||
<section class="bottom flex">
|
</Container>
|
||||||
<Container title="芯片OEE" icon="chip">
|
<Container title="转化效率" icon="cube">
|
||||||
<ChipOee :chipOeeRate="chipOeeRate" :period="period" :than="than" />
|
<TransformRate :transformRate="transformRate" :period="period" :than="than" />
|
||||||
</Container>
|
</Container>
|
||||||
<Container title="转化效率" icon="cube">
|
|
||||||
<TransformRate :transformRate="transformRate" :period="period" :than="than" />
|
|
||||||
</Container>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -37,7 +31,7 @@ import StdRateVue from "./components/StdRate.vue";
|
|||||||
import TransformRateVue from "./components/TransformRate.vue";
|
import TransformRateVue from "./components/TransformRate.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "efficiencyCopilot",
|
name: "EfficiencyCopilot",
|
||||||
components: {
|
components: {
|
||||||
Container,
|
Container,
|
||||||
ChipOee: ChipOeeVue,
|
ChipOee: ChipOeeVue,
|
||||||
@ -94,30 +88,7 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.efficiency-copilot {
|
|
||||||
flex: 1;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
gap: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex {
|
|
||||||
display: flex;
|
|
||||||
gap: 16px;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.top > div,
|
|
||||||
.bottom > div {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<!-- <style scoped>
|
|
||||||
|
|
||||||
.efficiency-copilot {
|
.efficiency-copilot {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
display: grid;
|
display: grid;
|
||||||
@ -129,4 +100,4 @@ export default {
|
|||||||
.efficiency-copilot > div {
|
.efficiency-copilot > div {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
</style> -->
|
</style>
|
||||||
|
@ -22,7 +22,7 @@ export default ({
|
|||||||
textAlign: "center",
|
textAlign: "center",
|
||||||
textStyle: {
|
textStyle: {
|
||||||
fontWeight: 600,
|
fontWeight: 600,
|
||||||
fontSize: 26,
|
fontSize: 32,
|
||||||
color: "#fffd",
|
color: "#fffd",
|
||||||
},
|
},
|
||||||
subtext: `\u2002${subtitle}\u2002`,
|
subtext: `\u2002${subtitle}\u2002`,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-05-20 16:04:18
|
* @Date: 2024-05-20 16:04:18
|
||||||
* @LastEditTime: 2024-06-03 15:45:58
|
* @LastEditTime: 2024-05-31 13:16:26
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -95,14 +95,13 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
|
|
||||||
.copilot-layout {
|
.copilot-layout {
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
background: url(../../assets/images/copilot-bg.png) 0 0 / 100% 100% no-repeat;
|
background: url(../../assets/images/copilot-bg.png) 0 0 / 100% 100% no-repeat;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: -16px;
|
left: -16px;
|
||||||
/* top: -8px; */
|
/* top: -8px; */
|
||||||
height: calc(100% + 30px);
|
height: calc(100% + 240px);
|
||||||
width: calc(100% + 30px);
|
width: calc(100% + 30px);
|
||||||
z-index: 1001;
|
z-index: 1001;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
@ -111,12 +110,12 @@ export default {
|
|||||||
gap: 8px;
|
gap: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* .produce{
|
.produce{
|
||||||
height: calc(100% + 38px);
|
height: calc(100% + 38px);
|
||||||
} */
|
}
|
||||||
/* .other { */
|
.other {
|
||||||
/* height: calc(100% + 240px); */
|
/* height: calc(100% + 240px); */
|
||||||
/* } */
|
}
|
||||||
.copilot-footer {
|
.copilot-footer {
|
||||||
/** position: absolute;
|
/** position: absolute;
|
||||||
bottom: 10px; **/
|
bottom: 10px; **/
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-05-20 13:32:59
|
* @Date: 2024-05-20 13:32:59
|
||||||
* @LastEditTime: 2024-06-03 16:26:24
|
* @LastEditTime: 2024-05-31 15:05:20
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -151,7 +151,7 @@ export default {
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
let titleValue =
|
let titleValue =
|
||||||
vt[1] != null && (vt[2] !== 0 && vt[2] !== undefined)
|
vt[1] != null && vt[2] !== 0
|
||||||
? this.formatNumber((vt[1] / vt[2] * 100)) + '%'
|
? this.formatNumber((vt[1] / vt[2] * 100)) + '%'
|
||||||
: (vt[1] != 0 && vt[1] != null) && vt[2] == 0
|
: (vt[1] != 0 && vt[1] != null) && vt[2] == 0
|
||||||
? "100%" : '0%',
|
? "100%" : '0%',
|
||||||
|
@ -1,10 +1,17 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-05-30 16:00:50
|
* @Date: 2024-05-30 16:00:50
|
||||||
* @LastEditTime: 2024-06-03 16:26:03
|
* @LastEditTime: 2024-05-31 16:15:51
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
|
<!--
|
||||||
|
filename: DoubleRingWrapper.vue
|
||||||
|
author: liubin
|
||||||
|
date: 2024-04-17 09:55:12
|
||||||
|
description:
|
||||||
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="double-ring-wrapper">
|
<div class="double-ring-wrapper">
|
||||||
<template>
|
<template>
|
||||||
|
@ -22,7 +22,7 @@ export default ({
|
|||||||
textAlign: "center",
|
textAlign: "center",
|
||||||
textStyle: {
|
textStyle: {
|
||||||
fontWeight: 600,
|
fontWeight: 600,
|
||||||
fontSize: 20,
|
fontSize: 32,
|
||||||
color: "#fffd",
|
color: "#fffd",
|
||||||
},
|
},
|
||||||
subtext: `\u2002${subtitle}\u2002`,
|
subtext: `\u2002${subtitle}\u2002`,
|
||||||
@ -38,7 +38,7 @@ export default ({
|
|||||||
{
|
{
|
||||||
type: "pie",
|
type: "pie",
|
||||||
name: "当前目标",
|
name: "当前目标",
|
||||||
radius: ["80%", "90%"],
|
radius: ["70%", "85%"],
|
||||||
center: ["45%", "52%"],
|
center: ["45%", "52%"],
|
||||||
emptyCircleStyle: {
|
emptyCircleStyle: {
|
||||||
color: "#042c5f33",
|
color: "#042c5f33",
|
||||||
@ -47,7 +47,7 @@ export default ({
|
|||||||
// 数据 series
|
// 数据 series
|
||||||
{
|
{
|
||||||
type: "pie",
|
type: "pie",
|
||||||
radius: ["80%", "90%"],
|
radius: ["70%", "85%"],
|
||||||
center: ["45%", "52%"],
|
center: ["45%", "52%"],
|
||||||
avoidLabelOvervlap: false,
|
avoidLabelOvervlap: false,
|
||||||
label: {
|
label: {
|
||||||
@ -92,7 +92,7 @@ export default ({
|
|||||||
// 数据 series2 - 2023累计
|
// 数据 series2 - 2023累计
|
||||||
{
|
{
|
||||||
type: "pie",
|
type: "pie",
|
||||||
radius: ["70%", "80%"],
|
radius: ["55%", "70%"],
|
||||||
center: ["45%", "52%"],
|
center: ["45%", "52%"],
|
||||||
avoidLabelOvervlap: false,
|
avoidLabelOvervlap: false,
|
||||||
label: {
|
label: {
|
||||||
|
@ -1,10 +1,16 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-04-28 13:42:51
|
* @Date: 2024-04-28 13:42:51
|
||||||
* @LastEditTime: 2024-06-03 08:55:42
|
* @LastEditTime: 2024-05-31 16:14:09
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
|
<!--
|
||||||
|
filename: Bipv.vue
|
||||||
|
author: liubin
|
||||||
|
date: 2024-04-10 15:39:54
|
||||||
|
description:
|
||||||
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<right-chart-base
|
<right-chart-base
|
||||||
@ -25,7 +31,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
const year = new Date().getFullYear();
|
const year = new Date().getFullYear();
|
||||||
// 城市数组的顺序必须是固定的
|
// 城市数组的顺序必须是固定的
|
||||||
const cities = [ "邯郸",
|
const cities = ["瑞昌", "邯郸",
|
||||||
// "株洲", "佳木斯", "成都", "凯盛", "蚌埠"
|
// "株洲", "佳木斯", "成都", "凯盛", "蚌埠"
|
||||||
|
|
||||||
];
|
];
|
||||||
@ -74,15 +80,15 @@ export default {
|
|||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
name: `${new Date().getFullYear()}年目标值`,
|
name: `${new Date().getFullYear()}年目标值`,
|
||||||
data: bipvOutput.target.splice(0, 1),
|
data: bipvOutput.target,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: `${new Date().getFullYear() - 1}年`,
|
name: `${new Date().getFullYear() - 1}年`,
|
||||||
data: bipvOutput.previous.splice(0, 1)
|
data: bipvOutput.previous,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: `${new Date().getFullYear()}年`,
|
name: `${new Date().getFullYear()}年`,
|
||||||
data: bipvOutput.current.splice(0, 1),
|
data: bipvOutput.current,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
|
@ -111,16 +111,18 @@ export default {
|
|||||||
name: '', // this.series[0].name,
|
name: '', // this.series[0].name,
|
||||||
type: "bar",
|
type: "bar",
|
||||||
barWidth: 12,
|
barWidth: 12,
|
||||||
label: {
|
|
||||||
show: true, //开启显示
|
|
||||||
position: 'top', //在上方显示
|
|
||||||
textStyle: { //数值样式
|
|
||||||
color: '#DFF1FE',
|
|
||||||
fontSize: 16
|
|
||||||
}
|
|
||||||
},
|
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
borderRadius: [10, 10, 0, 0],
|
borderRadius: [10, 10, 0, 0],
|
||||||
|
normal: {
|
||||||
|
label: {
|
||||||
|
show: true, //开启显示
|
||||||
|
position: 'top', //在上方显示
|
||||||
|
textStyle: { //数值样式
|
||||||
|
color: '#DFF1FE',
|
||||||
|
fontSize: 16
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
color: {
|
color: {
|
||||||
type: "linear",
|
type: "linear",
|
||||||
x: 0,
|
x: 0,
|
||||||
@ -154,19 +156,8 @@ export default {
|
|||||||
name: '', // this.series[1].name,
|
name: '', // this.series[1].name,
|
||||||
type: "bar",
|
type: "bar",
|
||||||
barWidth: 12,
|
barWidth: 12,
|
||||||
label: {
|
|
||||||
show: true, //开启显示
|
|
||||||
position: 'top', //在上方显示
|
|
||||||
textStyle: { //数值样式
|
|
||||||
color: '#DFF1FE',
|
|
||||||
fontSize: 16
|
|
||||||
}
|
|
||||||
},
|
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
borderRadius: [10, 10, 0, 0],
|
borderRadius: [10, 10, 0, 0],
|
||||||
// normal: {
|
|
||||||
|
|
||||||
// },
|
|
||||||
color: {
|
color: {
|
||||||
type: "linear",
|
type: "linear",
|
||||||
x: 0,
|
x: 0,
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
<div id="map-container">
|
<div id="map-container">
|
||||||
<!-- <div v-if="visible" class="cdLine"></div> -->
|
<!-- <div v-if="visible" class="cdLine"></div> -->
|
||||||
<!-- <div v-if="visible" class="zzLine"></div> -->
|
<!-- <div v-if="visible" class="zzLine"></div> -->
|
||||||
<!-- <div v-if="visible" class="rcLine"></div> -->
|
<div v-if="visible" class="rcLine"></div>
|
||||||
<!-- <div v-if="visible" class="rcLineTwo"></div> -->
|
<div v-if="visible" class="rcLineTwo"></div>
|
||||||
<div v-if="visible" class="hdLine"></div>
|
<div v-if="visible" class="hdLine"></div>
|
||||||
<div v-if="visible" class="hdLineTwo"></div>
|
<div v-if="visible" class="hdLineTwo"></div>
|
||||||
<!-- <div v-if="visible" class="ksLine"></div> -->
|
<!-- <div v-if="visible" class="ksLine"></div> -->
|
||||||
@ -39,12 +39,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<company-info v-if="visible" :info="info" :position="rcHintPosition" />
|
<company-info v-if="visible" :info="info" :position="rcHintPosition" />
|
||||||
<!-- <ks-company-info v-if="visible" :info="ksInfo" :position="ksHintPosition" /> -->
|
<ks-company-info v-if="visible" :info="ksInfo" :position="ksHintPosition" />
|
||||||
<!-- <jms-company-info v-if="visible" :info="jmsInfo" :position="jmsHintPosition" /> -->
|
<jms-company-info v-if="visible" :info="jmsInfo" :position="jmsHintPosition" />
|
||||||
<hd-company-info v-if="visible" :info="hdInfo" :position="hdHintPosition" />
|
<hd-company-info v-if="visible" :info="hdInfo" :position="hdHintPosition" />
|
||||||
<!-- <bb-company-info v-if="visible" :info="bbInfo" :position="bbHintPosition" /> -->
|
<bb-company-info v-if="visible" :info="bbInfo" :position="bbHintPosition" />
|
||||||
<!-- <cd-company-info v-if="visible" :info="cdInfo" :position="cdHintPosition" /> -->
|
<cd-company-info v-if="visible" :info="cdInfo" :position="cdHintPosition" />
|
||||||
<!-- <zz-company-info v-if="visible" :info="zzInfo" :position="zzHintPosition" /> -->
|
<zz-company-info v-if="visible" :info="zzInfo" :position="zzHintPosition" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -69,17 +69,13 @@ const LOCATIONS = [
|
|||||||
// 蚌埠2
|
// 蚌埠2
|
||||||
// { x: 61, y: 53, tx: 39, ty: 68, path: 'factoryData/ksIndex' },
|
// { x: 61, y: 53, tx: 39, ty: 68, path: 'factoryData/ksIndex' },
|
||||||
// 江西 瑞昌
|
// 江西 瑞昌
|
||||||
{ x: 60, y: 58, tx: 68, ty: 52,lx:61,ly:61.5,ltx:68.8,lty:52, path: 'factoryData/factory-data' },
|
{ x: 60, y: 58, tx: 68, ty: 52, path: 'factoryData/factory-data' },
|
||||||
// 湖南 株洲
|
// 湖南 株洲
|
||||||
// { x: 56, y: 60, tx: 60, ty: 95, path: 'factoryData/zzIndex' },
|
// { x: 56, y: 60, tx: 60, ty: 95, path: 'factoryData/zzIndex' },
|
||||||
// 邯郸
|
// 邯郸
|
||||||
{ x: 58, y: 45, tx: 47, ty: 34, lx: 58.7, ly: 34, ltx: 53, lty: 34, path: 'factoryData/hdIndex' },
|
{ x: 58, y: 45, tx: 47, ty: 34, path: 'factoryData/hdIndex' },
|
||||||
];
|
];
|
||||||
// rcLine.style.left = `66.8%`;
|
|
||||||
// rcLine.style.top = `52%`;
|
|
||||||
// rcLineTwo.className = "rcLineTwo";
|
|
||||||
// rcLineTwo.style.left = `58.7%`;
|
|
||||||
// rcLineTwo.style.top = `34%`;
|
|
||||||
export default {
|
export default {
|
||||||
name: "Index",
|
name: "Index",
|
||||||
components: {
|
components: {
|
||||||
@ -251,17 +247,7 @@ export default {
|
|||||||
// templateInfo.items[3].value = this.homeStore.stdOutput.current[5];
|
// templateInfo.items[3].value = this.homeStore.stdOutput.current[5];
|
||||||
// this.ksInfo = templateInfo;
|
// this.ksInfo = templateInfo;
|
||||||
// }
|
// }
|
||||||
(position === LOCATIONS[0]) {
|
(position === LOCATIONS[0]) {
|
||||||
const rcLine = document.createElement("div");
|
|
||||||
const rcLineTwo = document.createElement("div");
|
|
||||||
rcLine.className = "rcLine";
|
|
||||||
rcLine.style.left = `${position.lx}%`;
|
|
||||||
rcLine.style.top = `${position.ly}%`;
|
|
||||||
rcLineTwo.className = "rcLineTwo";
|
|
||||||
rcLineTwo.style.left = `${position.ltx}%`;
|
|
||||||
rcLineTwo.style.top = `${position.lty}%`;
|
|
||||||
document.getElementById("map-container").appendChild(rcLine);
|
|
||||||
document.getElementById("map-container").appendChild(rcLineTwo);
|
|
||||||
this.rcHintPosition = position;
|
this.rcHintPosition = position;
|
||||||
templateInfo.companyName = "瑞昌中建材";
|
templateInfo.companyName = "瑞昌中建材";
|
||||||
templateInfo.items[0].value = this.homeStore.ftoInvest?.current[0];
|
templateInfo.items[0].value = this.homeStore.ftoInvest?.current[0];
|
||||||
@ -278,16 +264,6 @@ export default {
|
|||||||
// templateInfo.items[3].value = this.homeStore.stdOutput.current[2];
|
// templateInfo.items[3].value = this.homeStore.stdOutput.current[2];
|
||||||
// this.zzInfo = templateInfo;
|
// this.zzInfo = templateInfo;
|
||||||
} else if (position === LOCATIONS[1]) {
|
} else if (position === LOCATIONS[1]) {
|
||||||
const hdLine = document.createElement("div");
|
|
||||||
const hdLineTwo = document.createElement("div");
|
|
||||||
hdLine.className = "hdLine";
|
|
||||||
hdLine.style.left = `${position.lx}%`;
|
|
||||||
hdLine.style.top = `${position.ly}%`;
|
|
||||||
hdLineTwo.className = "hdLineTwo";
|
|
||||||
hdLineTwo.style.left = `${position.ltx}%`;
|
|
||||||
hdLineTwo.style.top = `${position.lty}%`;
|
|
||||||
document.getElementById("map-container").appendChild(hdLine);
|
|
||||||
document.getElementById("map-container").appendChild(hdLineTwo);
|
|
||||||
this.hdHintPosition = position;
|
this.hdHintPosition = position;
|
||||||
templateInfo.companyName = "邯郸中建材";
|
templateInfo.companyName = "邯郸中建材";
|
||||||
templateInfo.items[0].value = this.homeStore.ftoInvest?.current[1];
|
templateInfo.items[0].value = this.homeStore.ftoInvest?.current[1];
|
||||||
@ -374,22 +350,22 @@ export default {
|
|||||||
.rcLine {
|
.rcLine {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
/* left: 61%; */
|
left: 61%;
|
||||||
width: 7.9vw;
|
width: 100px;
|
||||||
/* top: 61.5%; */
|
top: 61.5%;
|
||||||
/* x: 60, y: 58, */
|
/* x: 60, y: 58, */
|
||||||
height: 1px;
|
height: 1px;
|
||||||
border: 2px dashed #FFCF00;
|
border: 2px dashed #FFCF00;
|
||||||
}
|
}
|
||||||
|
|
||||||
.rcLineTwo {
|
.rcLineTwo {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
/* left: 66.8%; */
|
left: 66.8%;
|
||||||
width: 1px;
|
width: 1px;
|
||||||
/* top: 52%; */
|
top: 52%;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
/* // x: 60, y: 58, */
|
/* // x: 60, y: 58, */
|
||||||
height: 5vw;
|
height: 90px;
|
||||||
border: 2px dashed #FFCF00;
|
border: 2px dashed #FFCF00;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -400,13 +376,13 @@ export default {
|
|||||||
top: 34%;
|
top: 34%;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
/* // x: 60, y: 58, */
|
/* // x: 60, y: 58, */
|
||||||
height: 6vw;
|
height: 100px;
|
||||||
border: 2px dashed #FFCF00;
|
border: 2px dashed #FFCF00;
|
||||||
}
|
}
|
||||||
.hdLineTwo {
|
.hdLineTwo {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 53%;
|
left: 53%;
|
||||||
width: 5vw;
|
width: 90px;
|
||||||
top: 34%;
|
top: 34%;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
/* // x: 60, y: 58, */
|
/* // x: 60, y: 58, */
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-11-06 15:15:30
|
* @Date: 2023-11-06 15:15:30
|
||||||
* @LastEditTime: 2024-06-03 15:42:47
|
* @LastEditTime: 2024-05-22 15:29:18
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -18,11 +18,11 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<p class="title">时间维度</p>
|
<p class="title">时间维度</p>
|
||||||
<p class="text">{{ ['日', '周', '月', '年'][dataForm.targetType] }}</p>
|
<p class="text">{{ dataForm.targetType === 0 ? '月' : '年' }}</p>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<p class="title">时间</p>
|
<p class="title">时间</p>
|
||||||
<p class="text">{{ dataForm.targetTime}}</p>
|
<p class="text">{{ dataForm.targetType === 1 ? dataForm.targetYear + '年' : dataForm.targetYear + '年' + dataForm.targetMonth + '月'}}</p>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-divider></el-divider>
|
<el-divider></el-divider>
|
||||||
@ -371,8 +371,5 @@ export default {
|
|||||||
color: rgba(102,102,102,0.75);
|
color: rgba(102,102,102,0.75);
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
}
|
}
|
||||||
.detailBox {
|
|
||||||
width: 98%;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-04-15 10:49:13
|
* @Date: 2024-04-15 10:49:13
|
||||||
* @LastEditTime: 2024-06-03 16:02:56
|
* @LastEditTime: 2024-05-31 16:41:12
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div style="display: flex; flex-direction: column; min-height: calc(100vh - 96px - 32px)">
|
<div style="display: flex; flex-direction: column; min-height: calc(100vh - 96px - 31px)">
|
||||||
<ButtonNav v-show="false" :menus="['碲化镉工厂', '铜铟镓硒工厂']" :button-mode="true" @change="changeFactory" style="margin-top: -10px">
|
<ButtonNav v-show="false" :menus="['碲化镉工厂', '铜铟镓硒工厂']" :button-mode="true" @change="changeFactory" style="margin-top: -10px">
|
||||||
</ButtonNav>
|
</ButtonNav>
|
||||||
<div class="app-container" style="height: auto; flex-grow: 1;">
|
<div class="app-container" style="padding: 16px 24px 0;height: auto; flex-grow: 1;">
|
||||||
<el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip">
|
<el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip">
|
||||||
<el-form-item v-if="facType === 0" label="工厂名称" prop="factorys">
|
<el-form-item v-if="facType === 0" label="工厂名称" prop="factorys">
|
||||||
<el-select size="small" v-model="listQuery.factorys" placeholder="请选择工厂名称" multiple clearable>
|
<el-select size="small" v-model="listQuery.factorys" placeholder="请选择工厂名称" multiple clearable>
|
||||||
@ -42,9 +42,9 @@
|
|||||||
<el-date-picker size="small" clearable v-model="end" type="week" format="yyyy 第 WW 周" placeholder="选择周"
|
<el-date-picker size="small" clearable v-model="end" type="week" format="yyyy 第 WW 周" placeholder="选择周"
|
||||||
style="width: 180px" @change="onValueChange">
|
style="width: 180px" @change="onValueChange">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
<!-- <span v-if="start && end" style="margin-left: 10px">
|
<span v-if="start && end" style="margin-left: 10px">
|
||||||
{{ date1 }} 至 {{ date2 }},共 {{ weekNum }} 周
|
{{ date1 }} 至 {{ date2 }},共 {{ weekNum }} 周
|
||||||
</span> -->
|
</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-show="listQuery.date === 3" label="时间值" prop="reportTime">
|
<el-form-item v-show="listQuery.date === 3" label="时间值" prop="reportTime">
|
||||||
<el-date-picker size="small" v-model="listQuery.reportTime" type="monthrange" value-format="yyyyMM" range-separator="至" start-placeholder="开始月份"
|
<el-date-picker size="small" v-model="listQuery.reportTime" type="monthrange" value-format="yyyyMM" range-separator="至" start-placeholder="开始月份"
|
||||||
@ -173,7 +173,7 @@ export default {
|
|||||||
current: 1,
|
current: 1,
|
||||||
factorys: null,
|
factorys: null,
|
||||||
total: 0,
|
total: 0,
|
||||||
date: 3,
|
date: 1,
|
||||||
beginTime: undefined,
|
beginTime: undefined,
|
||||||
endTime: undefined,
|
endTime: undefined,
|
||||||
reportTime: []
|
reportTime: []
|
||||||
@ -450,12 +450,13 @@ export default {
|
|||||||
})
|
})
|
||||||
this.upload.url = process.env.VUE_APP_BASE_API + '/admin-api/ip/prod-target/to-target-import-excel'
|
this.upload.url = process.env.VUE_APP_BASE_API + '/admin-api/ip/prod-target/to-target-import-excel'
|
||||||
}
|
}
|
||||||
|
console.log(112, this.tableProps)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
mounted() {
|
||||||
const currentMonth = new Date()
|
// this.getDict()
|
||||||
this.listQuery.reportTime = [moment(currentMonth).format('yyyyMM'), moment(currentMonth).format('yyyyMM')]
|
// this.getCurrentYearFirst()
|
||||||
this.changeTime()
|
this.getDataList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleImport() {
|
handleImport() {
|
||||||
@ -467,6 +468,42 @@ export default {
|
|||||||
handleFileUploadProgress(event, file, fileList) {
|
handleFileUploadProgress(event, file, fileList) {
|
||||||
this.upload.isUploading = true;
|
this.upload.isUploading = true;
|
||||||
},
|
},
|
||||||
|
// 文件上传成功处理
|
||||||
|
// handleFileSuccess(param, type) {
|
||||||
|
// console.log('带的', param.file)
|
||||||
|
// const formData = new FormData()
|
||||||
|
// formData.append('multipartFile', param.file)
|
||||||
|
// console.log('送送', param)
|
||||||
|
// importDiTarget(formData).then(res => {
|
||||||
|
// console.log(res)
|
||||||
|
// if (res.code !== 0) {
|
||||||
|
// this.$modal.msgError(response.msg)
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// this.upload.open = false;
|
||||||
|
// this.upload.isUploading = false;
|
||||||
|
// this.$refs.upload.clearFiles();
|
||||||
|
// }).catch(() => {
|
||||||
|
// this.upload.open = false
|
||||||
|
// this.upload.isUploading = false
|
||||||
|
// })
|
||||||
|
// // 拼接提示语
|
||||||
|
// // let data = response.data;
|
||||||
|
// // let text = '创建成功数量:' + data.createUsernames.length;
|
||||||
|
// // for (const username of data.createUsernames) {
|
||||||
|
// // text += '<br /> ' + username;
|
||||||
|
// // }
|
||||||
|
// // text += '<br />更新成功数量:' + data.updateUsernames.length;
|
||||||
|
// // for (const username of data.updateUsernames) {
|
||||||
|
// // text += '<br /> ' + username;
|
||||||
|
// // }
|
||||||
|
// // text += '<br />更新失败数量:' + Object.keys(data.failureUsernames).length;
|
||||||
|
// // for (const username in data.failureUsernames) {
|
||||||
|
// // text += '<br /> ' + username + ':' + data.failureUsernames[username];
|
||||||
|
// // }
|
||||||
|
// this.$message.success('导入成功!');
|
||||||
|
// this.getDataList();
|
||||||
|
// },
|
||||||
// 文件上传成功处理
|
// 文件上传成功处理
|
||||||
handleFileSuccess(response, file, fileList) {
|
handleFileSuccess(response, file, fileList) {
|
||||||
if (response.code !== 0) {
|
if (response.code !== 0) {
|
||||||
@ -492,6 +529,11 @@ export default {
|
|||||||
changeFactory($event) {
|
changeFactory($event) {
|
||||||
this.currentMenu = $event
|
this.currentMenu = $event
|
||||||
this.facType = this.currentMenu === '碲化镉工厂' ? 0 : 1
|
this.facType = this.currentMenu === '碲化镉工厂' ? 0 : 1
|
||||||
|
// if (this.facType === 0) {
|
||||||
|
// this.upload.url = process.env.VUE_APP_BASE_API + '/admin-api/ip/prod-target/di-target-import-excel'
|
||||||
|
// } else {
|
||||||
|
// this.upload.url = process.env.VUE_APP_BASE_API + '/admin-api/ip/prod-target/to-target-import-excel'
|
||||||
|
// }
|
||||||
this.getDataList()
|
this.getDataList()
|
||||||
},
|
},
|
||||||
handleClick(val) {
|
handleClick(val) {
|
||||||
@ -502,6 +544,7 @@ export default {
|
|||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
});
|
});
|
||||||
} else if (val.type === "delete") {
|
} else if (val.type === "delete") {
|
||||||
|
console.log('啊啊', val)
|
||||||
this.deleteHandle(val.data.id, val.data.factory, val.data._pageIndex)
|
this.deleteHandle(val.data.id, val.data.factory, val.data._pageIndex)
|
||||||
} else {
|
} else {
|
||||||
this.otherMethods(val)
|
this.otherMethods(val)
|
||||||
@ -557,10 +600,6 @@ export default {
|
|||||||
this.listQuery.endTime = Number(this.end)
|
this.listQuery.endTime = Number(this.end)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!this.start && !this.end) {
|
|
||||||
this.listQuery.beginTime = undefined
|
|
||||||
this.listQuery.endTime = undefined
|
|
||||||
}
|
|
||||||
// console.log(e);
|
// console.log(e);
|
||||||
},
|
},
|
||||||
changeTime() {
|
changeTime() {
|
||||||
@ -576,9 +615,6 @@ export default {
|
|||||||
this.listQuery.beginTime = Number(this.listQuery.reportTime[0])
|
this.listQuery.beginTime = Number(this.listQuery.reportTime[0])
|
||||||
this.listQuery.endTime = Number(this.listQuery.reportTime[1])
|
this.listQuery.endTime = Number(this.listQuery.reportTime[1])
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
this.listQuery.beginTime = undefined
|
|
||||||
this.listQuery.endTime = undefined
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onValueChange(picker, k) { // 选中近k周后触发的操作
|
onValueChange(picker, k) { // 选中近k周后触发的操作
|
||||||
@ -597,10 +633,6 @@ export default {
|
|||||||
this.listQuery.endTime = Number(moment(this.end.getTime()).format('YYYYWW'))
|
this.listQuery.endTime = Number(moment(this.end.getTime()).format('YYYYWW'))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!this.start && !this.end) {
|
|
||||||
this.listQuery.beginTime = undefined
|
|
||||||
this.listQuery.endTime = undefined
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
changeDayTime() {
|
changeDayTime() {
|
||||||
if (this.listQuery.reportTime) {
|
if (this.listQuery.reportTime) {
|
||||||
@ -615,12 +647,44 @@ export default {
|
|||||||
this.listQuery.beginTime = Number(this.listQuery.reportTime[0])
|
this.listQuery.beginTime = Number(this.listQuery.reportTime[0])
|
||||||
this.listQuery.endTime = Number(this.listQuery.reportTime[1])
|
this.listQuery.endTime = Number(this.listQuery.reportTime[1])
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
this.listQuery.beginTime = undefined
|
|
||||||
this.listQuery.endTime = undefined
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// 获取数据列表
|
||||||
|
multipliedByHundred(str) {
|
||||||
|
console.log(str);
|
||||||
|
// console.log(str)
|
||||||
|
if ( str != 0) {
|
||||||
|
let floatVal = parseFloat(str);
|
||||||
|
if (isNaN(floatVal)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
floatVal = Math.round(str * 10000) / 100;
|
||||||
|
let strVal = floatVal.toString();
|
||||||
|
let searchVal = strVal.indexOf('.');
|
||||||
|
if (searchVal < 0) {
|
||||||
|
searchVal = strVal.length;
|
||||||
|
strVal += '.';
|
||||||
|
}
|
||||||
|
while (strVal.length <= searchVal + 2) {
|
||||||
|
strVal += '0';
|
||||||
|
}
|
||||||
|
return parseFloat(strVal);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
async getDataList() {
|
async getDataList() {
|
||||||
|
// if (this.listQuery.date === 3) {
|
||||||
|
// if (this.listQuery.reportTime?.length > 0) {
|
||||||
|
// this.listQuery.beginTime = this.listQuery.reportTime[0] ? Number(this.listQuery.reportTime[0]) : undefined
|
||||||
|
// this.listQuery.endTime = this.listQuery.reportTime[1] ? this.listQuery.reportTime[1] : undefined
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// if (this.listQuery.date === 4) {
|
||||||
|
// if (this.listQuery.reportTime?.length > 0) {
|
||||||
|
// this.listQuery.beginTime = this.start ? this.start : undefined
|
||||||
|
// this.listQuery.endTime = this.end ? this.end : undefined
|
||||||
|
// }
|
||||||
|
// }
|
||||||
if (this.currentMenu === '碲化镉工厂') {
|
if (this.currentMenu === '碲化镉工厂') {
|
||||||
await prodTargetDiPage(this.listQuery).then(res => {
|
await prodTargetDiPage(this.listQuery).then(res => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-11-06 15:15:30
|
* @Date: 2023-11-06 15:15:30
|
||||||
* @LastEditTime: 2024-06-03 10:17:33
|
* @LastEditTime: 2024-05-31 16:13:22
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -134,29 +134,14 @@ export default {
|
|||||||
exportDetail() {
|
exportDetail() {
|
||||||
// 导出
|
// 导出
|
||||||
const pdf = new jsPDF('l', 'pt', 'a4');
|
const pdf = new jsPDF('l', 'pt', 'a4');
|
||||||
|
|
||||||
const canvas = document.createElement('canvas')
|
|
||||||
|
|
||||||
const element = this.$refs['detail'];
|
|
||||||
const width = pdf.internal.pageSize.getWidth()
|
|
||||||
const height = pdf.internal.pageSize.getHeight()
|
|
||||||
|
|
||||||
canvas.width = width * 2
|
|
||||||
canvas.height = height * 2
|
|
||||||
|
|
||||||
canvas.style.width = width + 'px'
|
|
||||||
canvas.style.height = height + 'px'
|
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
// scale: 2,
|
scale: 2
|
||||||
dpi: 300,
|
|
||||||
canvas: canvas,
|
|
||||||
useCORS: true
|
|
||||||
};
|
};
|
||||||
|
const element = this.$refs['detail'];
|
||||||
|
|
||||||
html2canvas(element, options).then((canvas) => {
|
html2canvas(element, options).then((canvas) => {
|
||||||
const imgData = canvas.toDataURL('image/png', 1.0);
|
const imgData = canvas.toDataURL('image/png');
|
||||||
pdf.addImage(imgData, 'PNG', 0, 0, width, height);
|
pdf.addImage(imgData, 'PNG', 0, 0, pdf.internal.pageSize.getWidth(), pdf.internal.pageSize.getHeight());
|
||||||
pdf.save(this.dataForm.workOrderNumber + '详情.pdf');
|
pdf.save(this.dataForm.workOrderNumber + '详情.pdf');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -1,25 +1,16 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-04-15 10:49:13
|
* @Date: 2024-04-15 10:49:13
|
||||||
* @LastEditTime: 2024-06-03 15:15:18
|
* @LastEditTime: 2024-05-31 17:13:56
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div style="display: flex; flex-direction: column; min-height: calc(100vh - 96px - 35px)">
|
<div style="display: flex; flex-direction: column; min-height: calc(100vh - 96px - 31px)">
|
||||||
<div class="app-container" style="margin-top: 8px; padding: 0 16px; height: auto; font-size: 20px; text-align: center;">
|
<div class="app-container" style="margin-top: 8px;padding: 16px; height: auto;">
|
||||||
<p style="margin-bottom: 0">数据概览</p>
|
|
||||||
<div class="view">
|
|
||||||
<div v-for="(item, index) in data" :key="index">
|
|
||||||
<p style="color: rgb(194,128,255)">{{ item }}</p>
|
|
||||||
<p>{{ index }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="app-container" style="margin-top: 8px; height: auto;">
|
|
||||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||||
</div>
|
</div>
|
||||||
<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; padding: 16px;">
|
||||||
<search-bar :formConfigs="formConfig2" ref="searchBarForm" style="margin-bottom: 0" />
|
<search-bar :formConfigs="formConfig2" ref="searchBarForm" style="margin-bottom: 0" />
|
||||||
<base-table :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize"
|
<base-table :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize"
|
||||||
:table-data="tableData">
|
:table-data="tableData">
|
||||||
@ -39,7 +30,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
// import { parseTime } from '../../core/mixins/code-filter';
|
// import { parseTime } from '../../core/mixins/code-filter';
|
||||||
import { getWorkOrderPage, exportExcel, getOverView } from '@/api/produceData/order';
|
import { getWorkOrderPage, exportExcel } from '@/api/produceData/order';
|
||||||
// import inputTable from './inputTable.vue';
|
// import inputTable from './inputTable.vue';
|
||||||
import lineChart from './lineChart';
|
import lineChart from './lineChart';
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
@ -226,8 +217,7 @@ export default {
|
|||||||
],
|
],
|
||||||
tableData: [],
|
tableData: [],
|
||||||
xAxis: [],
|
xAxis: [],
|
||||||
lineData: {},
|
lineData: {}
|
||||||
data: {}
|
|
||||||
// proLineList: [],
|
// proLineList: [],
|
||||||
// all: {}
|
// all: {}
|
||||||
};
|
};
|
||||||
@ -238,16 +228,7 @@ export default {
|
|||||||
this.listQuery.time = [moment(sevenDaysAgo).format('yyyy-MM-DD'), moment(today).format('yyyy-MM-DD')]
|
this.listQuery.time = [moment(sevenDaysAgo).format('yyyy-MM-DD'), moment(today).format('yyyy-MM-DD')]
|
||||||
this.formConfig[2].defaultSelect = this.listQuery.time
|
this.formConfig[2].defaultSelect = this.listQuery.time
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
this.getOverView()
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
getOverView() {
|
|
||||||
getOverView().then(res => {
|
|
||||||
this.data = res.data
|
|
||||||
console.log('aa', res.data)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
otherMethods(val) {
|
otherMethods(val) {
|
||||||
this.detailOrUpdateVisible = true;
|
this.detailOrUpdateVisible = true;
|
||||||
// this.addOrEditTitle = "详情";
|
// this.addOrEditTitle = "详情";
|
||||||
@ -318,12 +299,6 @@ export default {
|
|||||||
/* padding-bottom: 10px; */
|
/* padding-bottom: 10px; */
|
||||||
/* } */
|
/* } */
|
||||||
/* .blueTi */
|
/* .blueTi */
|
||||||
.view {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
.blueTip::before{
|
.blueTip::before{
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
content: '';
|
content: '';
|
||||||
|
Loading…
Reference in New Issue
Block a user