Merge pull request 'zjl' (#3) from zjl into master
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #3
This commit is contained in:
commit
6237b3a8f3
@ -5,4 +5,4 @@ ENV = 'development'
|
||||
# 这里修改成api服务器地址
|
||||
VUE_APP_BASE_API = '/api'
|
||||
VUE_APP_VIEW_PIC = 'http://tft.mes.picaiba.com/api/common/attachment/downloadFile?type=0&attachmentId='
|
||||
VUE_APP_REPORT_DESIGN_URL = 'http://hfxny.mes.picaiba.com/ureport/designer'
|
||||
VUE_APP_REPORT_DESIGN_URL = 'http://tft.mes.picaiba.com/ureport/designer'
|
@ -5,4 +5,4 @@ ENV = 'production'
|
||||
# 这里修改成api服务器地址
|
||||
VUE_APP_BASE_API = '/api'
|
||||
VUE_APP_VIEW_PIC = 'http://tft.mes.picaiba.com/api/common/attachment/downloadFile?type=0&attachmentId='
|
||||
VUE_APP_REPORT_DESIGN_URL = 'http://hfxny.mes.picaiba.com/ureport/designer'
|
||||
VUE_APP_REPORT_DESIGN_URL = 'http://tft.mes.picaiba.com/ureport/designer'
|
@ -16,6 +16,13 @@ export function performanceAnalysisPlan(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
export function performanceUpdatePlan(data) {
|
||||
return request({
|
||||
url: '/equipment/PerformanceAnalysis/updatePlan',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 托盘指标分析
|
||||
export function palletIndicatorAnalysisPage(data) {
|
||||
return request({
|
||||
@ -24,9 +31,7 @@ export function palletIndicatorAnalysisPage(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 托盘指标分析
|
||||
export function palletIndicatorAnalysisType(data) {
|
||||
export function palletIndicatorGetType(data) {
|
||||
return request({
|
||||
url: '/equipment/PalletIndicatorAnalysis/getType',
|
||||
method: 'post',
|
||||
|
@ -3,7 +3,6 @@
|
||||
<el-form-item label="用户名" prop="account">
|
||||
<el-input
|
||||
v-model="form.account"
|
||||
onkeyup="value=value.replace(/[\W]/g,'')"
|
||||
placeholder="只能输入字母或数字,不可输入汉字"
|
||||
:disabled="isEdit"
|
||||
></el-input>
|
||||
@ -109,6 +108,7 @@ export default {
|
||||
submitForm() {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.form.account = this.form.account.replace(/[\W]/g, '')
|
||||
if (this.isEdit) {
|
||||
//编辑
|
||||
accountUpdate({ ...this.form }).then((res) => {
|
||||
|
@ -8,10 +8,7 @@ export default {
|
||||
name: 'ReportDesign',
|
||||
data() {
|
||||
return {
|
||||
// url: ''
|
||||
// url: process.env.VUE_APP_REPORT_DESIGN_URL
|
||||
// url: 'http://hfxny.mes.picaiba.com/ureport/designer'
|
||||
url: 'http://tft.mes.picaiba.com/ureport/designer'
|
||||
url: process.env.VUE_APP_REPORT_DESIGN_URL
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
@ -12,6 +12,7 @@
|
||||
:table-props="tableProps"
|
||||
:table-data="tableData"
|
||||
:max-height="tableH"
|
||||
:row-class-name="tableRowClassName"
|
||||
>
|
||||
<method-btn
|
||||
v-if="tableBtn.length"
|
||||
@ -297,6 +298,12 @@ export default {
|
||||
})
|
||||
}
|
||||
},
|
||||
tableRowClassName({ row }) {
|
||||
if (row.flag && row.flag > 0) {
|
||||
return 'danger-row'
|
||||
}
|
||||
return ''
|
||||
},
|
||||
handleCancel() {
|
||||
this.$refs.inAndOutManagementAdd.formClear()
|
||||
this.addAndEdit = ''
|
||||
|
@ -14,6 +14,15 @@ import resize from '@/utils/chartMixins/resize'
|
||||
export default {
|
||||
name: 'deviceOeeLine',
|
||||
mixins: [resize],
|
||||
props: {
|
||||
chartMsg: {
|
||||
type: Array,
|
||||
required: true,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
chartDom: '',
|
||||
@ -22,15 +31,48 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.chartDom = document.getElementById('main')
|
||||
this.chart = echarts.init(this.chartDom)
|
||||
this.$nextTick(() => {
|
||||
this.getChart()
|
||||
})
|
||||
window.addEventListener('resize', () => {
|
||||
this.chartHeight = tableHeight(214) / 2 - 35
|
||||
})
|
||||
},
|
||||
watch: {
|
||||
chartMsg: function () {
|
||||
this.getChart()
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (!this.chart) {
|
||||
return
|
||||
}
|
||||
this.chart.dispose()
|
||||
this.chart = null
|
||||
},
|
||||
methods: {
|
||||
getChart() {
|
||||
if (
|
||||
this.chart !== null &&
|
||||
this.chart !== '' &&
|
||||
this.chart !== undefined
|
||||
) {
|
||||
this.chart.dispose() // 页面多次刷新会出现警告,Dom已经初始化了一个实例,这是销毁实例
|
||||
}
|
||||
this.chartDom = document.getElementById('main')
|
||||
this.chart = echarts.init(this.chartDom)
|
||||
let dateList = []
|
||||
let activationList = []
|
||||
let performanceList = []
|
||||
let failurePercentList = []
|
||||
let combinedEfficiencyList = []
|
||||
for (let i = 0; i < this.chartMsg.length; i++) {
|
||||
dateList.push(new Date(this.chartMsg[i].date).getDate())
|
||||
activationList.push(this.chartMsg[i].activation)
|
||||
performanceList.push(this.chartMsg[i].performance)
|
||||
failurePercentList.push(this.chartMsg[i].failurePercent)
|
||||
combinedEfficiencyList.push(this.chartMsg[i].combinedEfficiency)
|
||||
}
|
||||
var option = {
|
||||
color: ['#5B8FF9', '#5AD8A6', '#5D7092', '#F6BD16'],
|
||||
tooltip: {
|
||||
@ -49,7 +91,7 @@ export default {
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: ['1', '2', '3', '4', '5', '6', '7']
|
||||
data: dateList
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
@ -59,25 +101,25 @@ export default {
|
||||
name: '时间开动率',
|
||||
type: 'line',
|
||||
stack: 'Total',
|
||||
data: [120, 132, 101, 134, 90, 230, 210]
|
||||
data: activationList
|
||||
},
|
||||
{
|
||||
name: '性能开动率',
|
||||
type: 'line',
|
||||
stack: 'Total',
|
||||
data: [220, 182, 191, 234, 290, 330, 310]
|
||||
data: performanceList
|
||||
},
|
||||
{
|
||||
name: '设备故障率',
|
||||
type: 'line',
|
||||
stack: 'Total',
|
||||
data: [150, 232, 201, 154, 190, 330, 410]
|
||||
data: failurePercentList
|
||||
},
|
||||
{
|
||||
name: '综合效率',
|
||||
type: 'line',
|
||||
stack: 'Total',
|
||||
data: [320, 332, 301, 334, 390, 330, 320]
|
||||
data: combinedEfficiencyList
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,98 +1,168 @@
|
||||
<template>
|
||||
<el-form ref="form" :rules="rules" label-width="110px" :model="form">
|
||||
<el-form ref="form" label-width="110px" :model="form">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="1月" prop="a">
|
||||
<el-input v-model="form.a" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="1月" prop="january">
|
||||
<el-input-number
|
||||
v-model="form.january"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="2月" prop="b">
|
||||
<el-input v-model="form.b" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="2月" prop="february">
|
||||
<el-input-number
|
||||
v-model="form.february"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="3月" prop="c">
|
||||
<el-input v-model="form.c" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="3月" prop="march">
|
||||
<el-input-number
|
||||
v-model="form.march"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="4月" prop="d">
|
||||
<el-input v-model="form.d" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="4月" prop="april">
|
||||
<el-input-number
|
||||
v-model="form.april"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="5月" prop="e">
|
||||
<el-input v-model="form.e" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="5月" prop="may">
|
||||
<el-input-number
|
||||
v-model="form.may"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="6月" prop="f">
|
||||
<el-input v-model="form.f" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="6月" prop="june">
|
||||
<el-input-number
|
||||
v-model="form.june"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="7月" prop="g">
|
||||
<el-input v-model="form.g" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="7月" prop="july">
|
||||
<el-input-number
|
||||
v-model="form.july"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="8月" prop="h">
|
||||
<el-input v-model="form.h" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="8月" prop="august">
|
||||
<el-input-number
|
||||
v-model="form.august"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="9月" prop="i">
|
||||
<el-input v-model="form.i" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="9月" prop="september">
|
||||
<el-input-number
|
||||
v-model="form.september"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="10月" prop="j">
|
||||
<el-input v-model="form.j" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="10月" prop="october">
|
||||
<el-input-number
|
||||
v-model="form.october"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="11月" prop="k">
|
||||
<el-input v-model="form.k" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="11月" prop="november">
|
||||
<el-input-number
|
||||
v-model="form.november"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="12月" prop="l">
|
||||
<el-input v-model="form.l" placeholder="请输入计划产能"></el-input>
|
||||
<el-form-item label="12月" prop="december">
|
||||
<el-input-number
|
||||
v-model="form.december"
|
||||
:min="0"
|
||||
style="width: 300px"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
performanceAnalysisPlan,
|
||||
performanceUpdatePlan
|
||||
} from '@/api/deviceManagement'
|
||||
export default {
|
||||
name: 'productPowerEdit',
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
a: '',
|
||||
b: '',
|
||||
c: '',
|
||||
d: '',
|
||||
e: '',
|
||||
f: '',
|
||||
g: '',
|
||||
h: '',
|
||||
i: '',
|
||||
j: '',
|
||||
k: '',
|
||||
l: ''
|
||||
form: {}
|
||||
}
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
init(param) {
|
||||
let date = new Date(param.timePosition)
|
||||
let year = date.getFullYear()
|
||||
performanceAnalysisPlan({
|
||||
name: param.name,
|
||||
year: year
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
if (res.code === 0 && !!res.data) {
|
||||
this.form = res.data
|
||||
}
|
||||
})
|
||||
},
|
||||
submitForm() {
|
||||
performanceUpdatePlan({ ...this.form }).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500
|
||||
})
|
||||
this.$emit('successSubmit')
|
||||
}
|
||||
})
|
||||
},
|
||||
formClear() {
|
||||
this.$refs.form.resetFields()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ import { tableHeight } from '@/utils/index'
|
||||
import palletLevelChart from './../components/palletLevelChart.vue'
|
||||
import {
|
||||
palletIndicatorAnalysisPage,
|
||||
palletIndicatorAnalysisType
|
||||
palletIndicatorGetType
|
||||
} from '@/api/deviceManagement'
|
||||
import { timeFormatter } from '@/utils'
|
||||
const tableProps = [
|
||||
@ -159,7 +159,8 @@ export default {
|
||||
],
|
||||
listQuery: {
|
||||
current: 1,
|
||||
size: 20
|
||||
size: 20,
|
||||
palletId: ''
|
||||
},
|
||||
total: 0,
|
||||
tableProps,
|
||||
@ -200,7 +201,7 @@ export default {
|
||||
},
|
||||
getLevel() {
|
||||
// 需要修改ID
|
||||
palletIndicatorAnalysisType({ id: 1 }).then((res) => {
|
||||
palletIndicatorGetType({ id: 1 }).then((res) => {
|
||||
this.tableData2 = []
|
||||
if (res.code === 0) {
|
||||
const data = res.data
|
||||
|
@ -5,10 +5,12 @@
|
||||
<div class="left-box">
|
||||
<el-tree
|
||||
:data="treeData"
|
||||
node-key="id"
|
||||
node-key="name"
|
||||
:props="defaultTime"
|
||||
default-expand-all
|
||||
:highlight-current="true"
|
||||
@node-click="clickDevice"
|
||||
ref="deviceTree"
|
||||
>
|
||||
</el-tree>
|
||||
</div>
|
||||
@ -38,7 +40,7 @@
|
||||
<el-col :span="6">
|
||||
<div class="top-right">
|
||||
<div>
|
||||
<span class="title">xx单元计划产能</span>
|
||||
<span class="title">{{ unitName }}单元计划产能</span>
|
||||
<svg-icon
|
||||
icon-class="device_edit"
|
||||
class="icon-style"
|
||||
@ -69,7 +71,7 @@
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="24">
|
||||
<div class="right-bottom">
|
||||
<device-oee-line />
|
||||
<device-oee-line ref="oeeLine" :chartMsg="tableData" />
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -83,13 +85,13 @@
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
>
|
||||
<product-power-edit ref="product-power" @successSubmit="successSubmit" />
|
||||
<product-power-edit ref="productPower" @successSubmit="successSubmit" />
|
||||
</base-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getTreeData } from '@/api/app'
|
||||
import { tableHeight } from '@/utils/index'
|
||||
import { tableHeight, timeFormatter } from '@/utils/index'
|
||||
import {
|
||||
performanceAnalysisGet,
|
||||
performanceAnalysisPlan
|
||||
@ -98,64 +100,65 @@ import productPowerEdit from './../components/productPowerEdit.vue'
|
||||
import deviceOeeLine from './../components/deviceOeeLine.vue'
|
||||
const tableProps = [
|
||||
{
|
||||
prop: 'startTime',
|
||||
prop: 'date',
|
||||
label: '时间',
|
||||
minWidth: 90
|
||||
minWidth: 160,
|
||||
filter: timeFormatter
|
||||
},
|
||||
{
|
||||
prop: 'endTime',
|
||||
prop: 'operationHours',
|
||||
label: '开动时长(h)',
|
||||
minWidth: 100
|
||||
},
|
||||
{
|
||||
prop: 'inputNum',
|
||||
prop: 'loadHours',
|
||||
label: '负荷时长(h)',
|
||||
minWidth: 100
|
||||
},
|
||||
{
|
||||
prop: 'outputNum7',
|
||||
prop: 'actualCapacity',
|
||||
label: '实际产能',
|
||||
minWidth: 90
|
||||
},
|
||||
{
|
||||
prop: 'lossesNum6',
|
||||
prop: 'planCountDay',
|
||||
label: '设计产能',
|
||||
minWidth: 90
|
||||
},
|
||||
{
|
||||
prop: 'lossesNum5',
|
||||
prop: 'activation',
|
||||
label: '时间开动率',
|
||||
minWidth: 100
|
||||
},
|
||||
{
|
||||
prop: 'lossesNum4',
|
||||
prop: 'performance',
|
||||
label: '性能开动率',
|
||||
minWidth: 100
|
||||
},
|
||||
{
|
||||
prop: 'lossesNum3',
|
||||
prop: 'combinedEfficiency',
|
||||
label: '综合效率OEE',
|
||||
minWidth: 110
|
||||
},
|
||||
{
|
||||
prop: 'lossesNum2',
|
||||
prop: 'failureHours',
|
||||
label: '故障时长',
|
||||
minWidth: 90
|
||||
},
|
||||
{
|
||||
prop: 'lossesNum1',
|
||||
prop: 'failurePercent',
|
||||
label: '设备故障率',
|
||||
minWidth: 100
|
||||
}
|
||||
]
|
||||
const tableProps2 = [
|
||||
{
|
||||
prop: 'startTime',
|
||||
prop: 'month',
|
||||
label: '月份',
|
||||
width: 50
|
||||
width: 60
|
||||
},
|
||||
{
|
||||
prop: 'endTime',
|
||||
prop: 'value',
|
||||
label: '设计产能',
|
||||
minWidth: 80
|
||||
}
|
||||
@ -169,6 +172,7 @@ export default {
|
||||
children: 'children',
|
||||
label: 'name'
|
||||
},
|
||||
unitName: '',
|
||||
chooseMonth: '',
|
||||
formConfig: [
|
||||
{
|
||||
@ -178,7 +182,8 @@ export default {
|
||||
format: 'yyyy-MM',
|
||||
valueFormat: 'yyyy-MM',
|
||||
placeholder: '月份选择',
|
||||
param: 'testTime',
|
||||
param: 'timePosition',
|
||||
defaultSelect: '',
|
||||
width: 200
|
||||
},
|
||||
{
|
||||
@ -190,7 +195,9 @@ export default {
|
||||
],
|
||||
listQuery: {
|
||||
current: 1,
|
||||
size: 500
|
||||
size: 500,
|
||||
timePosition: '',
|
||||
name: ''
|
||||
},
|
||||
tableProps,
|
||||
tableData: [],
|
||||
@ -206,61 +213,106 @@ export default {
|
||||
window.addEventListener('resize', () => {
|
||||
this.tableH = tableHeight(214) / 2 - 75
|
||||
})
|
||||
this.setDefaultVal()
|
||||
this.getTree()
|
||||
this.getList()
|
||||
for (let i = 0; i < 30; i++) {
|
||||
let obj = {}
|
||||
obj.startTime = i
|
||||
this.tableData.push(obj)
|
||||
}
|
||||
let arr = []
|
||||
for (let i = 1; i < 13; i++) {
|
||||
let obj = {}
|
||||
obj.endTime = i
|
||||
arr.push(obj)
|
||||
}
|
||||
this.tableData2 = arr.slice(0, 6)
|
||||
this.tableData3 = arr.slice(6, 12)
|
||||
},
|
||||
methods: {
|
||||
setDefaultVal() {
|
||||
let date = new Date()
|
||||
let year = date.getFullYear()
|
||||
let month =
|
||||
date.getMonth() + 1 < 10
|
||||
? '0' + (date.getMonth() + 1)
|
||||
: date.getMonth() + 1
|
||||
this.formConfig[0].defaultSelect = year + '-' + month
|
||||
this.listQuery.timePosition = year + '-' + month
|
||||
},
|
||||
getTree() {
|
||||
getTreeData().then((res) => {
|
||||
this.treeData = res.data
|
||||
this.unitName = res.data[0].children[0].name
|
||||
this.listQuery.name = this.unitName
|
||||
setTimeout(() => {
|
||||
this.$refs.deviceTree.setCurrentKey(this.unitName)
|
||||
}, 100)
|
||||
this.getList()
|
||||
this.getPlan()
|
||||
})
|
||||
},
|
||||
getList() {
|
||||
// 获取设备OEE
|
||||
performanceAnalysisGet({ ...this.listQuery }).then((res) => {
|
||||
console.log(res)
|
||||
if (res.code === 0) {
|
||||
this.tableData = res.data
|
||||
}
|
||||
})
|
||||
this.$refs.oeeLine.getChart()
|
||||
},
|
||||
buttonClick(val) {
|
||||
console.log(val)
|
||||
if (val.btnName === 'search') {
|
||||
this.listQuery.timePosition = val.timePosition
|
||||
this.getList()
|
||||
this.getPlan()
|
||||
}
|
||||
},
|
||||
getPlan() {
|
||||
// 获取计划产能
|
||||
performanceAnalysisPlan({ name: '精切磨边', year: '2022' }).then(
|
||||
let date = new Date(this.listQuery.timePosition)
|
||||
let year = date.getFullYear()
|
||||
performanceAnalysisPlan({ name: this.unitName, year: year }).then(
|
||||
(res) => {
|
||||
console.log(res)
|
||||
if (res.code === 0 && !!res.data) {
|
||||
let obj = res.data
|
||||
let arr = [
|
||||
{ month: '1月', value: '', type: 'january' },
|
||||
{ month: '2月', value: '', type: 'february' },
|
||||
{ month: '3月', value: '', type: 'march' },
|
||||
{ month: '4月', value: '', type: 'april' },
|
||||
{ month: '5月', value: '', type: 'may' },
|
||||
{ month: '6月', value: '', type: 'june' },
|
||||
{ month: '7月', value: '', type: 'july' },
|
||||
{ month: '8月', value: '', type: 'august' },
|
||||
{ month: '9月', value: '', type: 'september' },
|
||||
{ month: '10月', value: '', type: 'october' },
|
||||
{ month: '11月', value: '', type: 'november' },
|
||||
{ month: '12月', value: '', type: 'december' }
|
||||
]
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
arr[i].value = obj[arr[i].type]
|
||||
}
|
||||
this.tableData2 = arr.slice(0, 6)
|
||||
this.tableData3 = arr.slice(6, 12)
|
||||
}
|
||||
}
|
||||
)
|
||||
},
|
||||
clickDevice(val) {
|
||||
console.log(val)
|
||||
if (!val.children) {
|
||||
console.log(val.children)
|
||||
if (val.children && val.parent) {
|
||||
// 单元
|
||||
this.listQuery.name = val.name
|
||||
this.unitName = val.name
|
||||
this.getList()
|
||||
this.getPlan()
|
||||
}
|
||||
},
|
||||
editPower() {
|
||||
this.centervisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.productPower.init(this.listQuery)
|
||||
})
|
||||
},
|
||||
handleCancel() {
|
||||
this.$refs.productPower.formClear()
|
||||
this.centervisible = false
|
||||
},
|
||||
handleConfirm() {
|
||||
this.centervisible = false
|
||||
this.$refs.productPower.submitForm()
|
||||
},
|
||||
successSubmit() {}
|
||||
successSubmit() {
|
||||
this.handleCancel()
|
||||
this.getPlan()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -268,7 +320,11 @@ export default {
|
||||
.main-box {
|
||||
width: 100%;
|
||||
padding: 0px 6px 0 16px;
|
||||
.left-box,
|
||||
.left-box {
|
||||
padding-top: 16px;
|
||||
border-radius: 8px;
|
||||
background-color: #fff;
|
||||
}
|
||||
.top-left,
|
||||
.top-right,
|
||||
.right-bottom {
|
||||
|
@ -14,7 +14,7 @@
|
||||
import * as echarts from 'echarts'
|
||||
import { tableHeight } from '@/utils/index'
|
||||
import resize from '@/utils/chartMixins/resize'
|
||||
import { getProcessFull } from '@/api/qualityManagement'
|
||||
// import { getProcessFull } from '@/api/qualityManagement'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: 'particleLineChart',
|
||||
@ -49,13 +49,9 @@ export default {
|
||||
chartDom: '',
|
||||
chart: '',
|
||||
chartHeight: tableHeight(320),
|
||||
listQuery: {
|
||||
size: 1000,
|
||||
current: 1,
|
||||
checkOutTime: '',
|
||||
maxLine: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.chartDom = document.getElementById('particleLineChart')
|
||||
@ -63,15 +59,15 @@ export default {
|
||||
window.addEventListener('resize', () => {
|
||||
this.chartHeight = tableHeight(320)
|
||||
})
|
||||
this.formConfig[0].defaultSelect = moment().format('YYYY-MM-DDTHH:mm:ss')
|
||||
this.formConfig[0].defaultSelect = moment().format('YYYY-MM-DD HH:mm:ss')
|
||||
this.getMsg()
|
||||
},
|
||||
methods: {
|
||||
buttonClick(val) {
|
||||
console.log(val)
|
||||
if (val.btnName === 'search') {
|
||||
this.listQuery.checkOutTime = val.checkOutTime
|
||||
this.listQuery.maxLine = val.maxLine
|
||||
this.checkOutTime = val.checkOutTime
|
||||
this.maxLine = val.maxLine
|
||||
this.getMsg()
|
||||
}
|
||||
},
|
||||
@ -83,18 +79,14 @@ export default {
|
||||
let xlList = []
|
||||
let sumList = []
|
||||
let msg = {}
|
||||
getProcessFull({ ...this.listQuery }).then((res) => {
|
||||
console.log(res)
|
||||
if (res.code === 0 && res.data.length > 0) {
|
||||
res.data.map((item) => {
|
||||
console.log(item)
|
||||
time.push(moment(item.hour).format('MM-DD HH:mm:ss'))
|
||||
sList.push(item.s)
|
||||
mList.push(item.m)
|
||||
lList.push(item.l)
|
||||
xlList.push(item.xl)
|
||||
sumList.push(item.sum)
|
||||
})
|
||||
for (let i = 0; i < 100; i++) {
|
||||
time.push(moment().add(1, 'days').format('YYYY-MM-DD HH:mm:ss'))
|
||||
sList.push(Math.floor(Math.random() * 80 + 10))
|
||||
mList.push(Math.floor(Math.random() * 80 + 20))
|
||||
lList.push(Math.floor(Math.random() * 80 + 30))
|
||||
xlList.push(Math.floor(Math.random() * 80 + 40))
|
||||
sumList.push(sList[i] + mList[i] + lList[i] + xlList[i])
|
||||
}
|
||||
msg.time = time
|
||||
msg.sList = sList
|
||||
msg.mList = mList
|
||||
@ -102,10 +94,29 @@ export default {
|
||||
msg.xlList = xlList
|
||||
msg.sumList = sumList
|
||||
this.getChart(msg)
|
||||
}
|
||||
})
|
||||
// getProcessFull({ checkOutTime: this.checkOutTime }).then((res) => {
|
||||
// console.log(res)
|
||||
// if (res.code === 0 && res.data.length > 0) {
|
||||
// res.data.map((item) => {
|
||||
// console.log(item)
|
||||
// time.push(moment(item.hour).format('MM-DD HH:mm:ss'))
|
||||
// sList.push(item.s)
|
||||
// mList.push(item.m)
|
||||
// lList.push(item.l)
|
||||
// xlList.push(item.xl)
|
||||
// sumList.push(item.sum)
|
||||
// })
|
||||
// msg.time = time
|
||||
// msg.sList = sList
|
||||
// msg.mList = mList
|
||||
// msg.lList = lList
|
||||
// msg.xlList = xlList
|
||||
// msg.sumList = sumList
|
||||
// this.getChart(msg)
|
||||
// }
|
||||
// })
|
||||
},
|
||||
getChart(msg) {
|
||||
getChart1(msg) {
|
||||
var option = {
|
||||
color: ['#5AD8A6', '#5B8FF9', '#5D7092', '#F6BD16', '#E8684A'],
|
||||
title: {
|
||||
@ -141,7 +152,7 @@ export default {
|
||||
Symbol: 'none',
|
||||
label: {
|
||||
position: 'end',
|
||||
formatter: '合格线\n' + this.listQuery.maxLine
|
||||
formatter: '合格线\n' + this.maxLine
|
||||
},
|
||||
data: [
|
||||
{
|
||||
@ -150,7 +161,7 @@ export default {
|
||||
type: 'dashed',
|
||||
color: '#0B58FF'
|
||||
},
|
||||
yAxis: this.listQuery.maxLine
|
||||
yAxis: this.maxLine
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -178,6 +189,57 @@ export default {
|
||||
]
|
||||
}
|
||||
|
||||
option && this.chart.setOption(option)
|
||||
},
|
||||
getChart(msg) {
|
||||
console.log(msg)
|
||||
var option = {
|
||||
title: {
|
||||
text: 'Beijing AQI',
|
||||
left: '1%'
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
grid: {
|
||||
left: '5%',
|
||||
right: '15%',
|
||||
bottom: '10%'
|
||||
},
|
||||
xAxis: msg.time,
|
||||
yAxis: {},
|
||||
toolbox: {
|
||||
right: 10,
|
||||
feature: {
|
||||
dataZoom: {
|
||||
yAxisIndex: 'none'
|
||||
},
|
||||
restore: {},
|
||||
saveAsImage: {}
|
||||
}
|
||||
},
|
||||
dataZoom: [
|
||||
{
|
||||
startValue: '2014-06-01'
|
||||
},
|
||||
{
|
||||
type: 'inside'
|
||||
}
|
||||
],
|
||||
visualMap: {
|
||||
top: 50,
|
||||
right: 10,
|
||||
outOfRange: {
|
||||
color: '#999'
|
||||
}
|
||||
},
|
||||
series: {
|
||||
name: 'Beijing AQI',
|
||||
type: 'line',
|
||||
data: msg.sList
|
||||
}
|
||||
}
|
||||
|
||||
option && this.chart.setOption(option)
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ module.exports = defineConfig({
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://tft.mes.picaiba.com/api',
|
||||
// target: 'http://192.168.1.94:8080/api',
|
||||
// target: 'http://192.168.1.22:8080/api',
|
||||
ws: true,
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
|
Loading…
Reference in New Issue
Block a user