projects/mescc/zhp #12
2
.env.dev
2
.env.dev
@ -5,7 +5,7 @@ ENV = 'development'
|
||||
VUE_APP_TITLE = 芋道管理系统
|
||||
|
||||
# 芋道管理系统/开发环境
|
||||
VUE_APP_BASE_API = 'http://192.168.0.30:48080'
|
||||
VUE_APP_BASE_API = 'http://glass.kszny.picaiba.com'
|
||||
|
||||
# 路由懒加载
|
||||
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
||||
|
32
src/api/cost/index.js
Normal file
32
src/api/cost/index.js
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @Author: zhp
|
||||
* @Date: 2024-04-26 14:53:45
|
||||
* @LastEditTime: 2024-04-26 15:01:12
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询部门列表
|
||||
export function getOrderList(data) {
|
||||
return request({
|
||||
url: 'ip/prod-order/prodOrderList',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
export function getCostPage(data) {
|
||||
return request({
|
||||
url: 'ip/cost/costPage',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function getCostList(data) {
|
||||
return request({
|
||||
url: 'ip/cost/costList',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
15
src/api/energy/index.js
Normal file
15
src/api/energy/index.js
Normal file
@ -0,0 +1,15 @@
|
||||
/*
|
||||
* @Author: zhp
|
||||
* @Date: 2024-04-28 09:28:12
|
||||
* @LastEditTime: 2024-04-28 09:43:40
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
export function getEnergyPage(data) {
|
||||
return request({
|
||||
url: 'ip/energy/page',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
32
src/api/greenest/index.js
Normal file
32
src/api/greenest/index.js
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @Author: zhp
|
||||
* @Date: 2024-04-26 14:53:45
|
||||
* @LastEditTime: 2024-04-26 15:09:10
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询部门列表
|
||||
export function getOrderList(data) {
|
||||
return request({
|
||||
url: 'ip/prod-order/prodOrderList',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
export function getEpPage(data) {
|
||||
return request({
|
||||
url: 'ip/environment-protection/environmentPage',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
export function getCostList(data) {
|
||||
return request({
|
||||
url: 'ip/cost/costList',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-04-15 10:49:13
|
||||
* @LastEditTime: 2024-04-17 16:14:51
|
||||
* @LastEditTime: 2024-04-26 15:06:28
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -36,7 +36,7 @@
|
||||
|
||||
<script>
|
||||
// import { parseTime } from '../../core/mixins/code-filter';
|
||||
// import { getGlassPage, exportGlasscExcel } from '@/api/report/glass';
|
||||
import { getOrderList, getCostPage } from '@/api/cost/index';
|
||||
// import inputTable from './inputTable.vue';
|
||||
import lineChart from './lineChart';
|
||||
import moment from 'moment'
|
||||
@ -47,8 +47,8 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
listQuery: {
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
current: 1,
|
||||
size: 10,
|
||||
factoryId: null,
|
||||
total: 0,
|
||||
type: null,
|
||||
@ -230,7 +230,7 @@ export default {
|
||||
mounted() {
|
||||
this.getDict()
|
||||
// this.getCurrentYearFirst()
|
||||
// this.getDataList()
|
||||
this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
buttonClick() {
|
||||
@ -264,10 +264,14 @@ export default {
|
||||
}
|
||||
},
|
||||
async getDict() {
|
||||
this.$refs.lineChart.initChart()
|
||||
// this.$refs.lineChart.initChart()
|
||||
// 产线列表
|
||||
// const res = await getCorePLList();
|
||||
// this.proLineList = res.data;
|
||||
const res = await getOrderList({
|
||||
current:1,
|
||||
size:999,
|
||||
});
|
||||
console.log(res)
|
||||
this.mainFormConfig[0].selectOptions = res.data;
|
||||
},
|
||||
// 获取数据列表
|
||||
multipliedByHundred(str) {
|
||||
@ -293,6 +297,10 @@ export default {
|
||||
|
||||
},
|
||||
async getDataList() {
|
||||
const res = await getCostPage({
|
||||
current: 1,
|
||||
size: 999,
|
||||
});
|
||||
},
|
||||
add0(m) {
|
||||
return m < 10 ? '0' + m : m
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-04-15 10:49:13
|
||||
* @LastEditTime: 2024-04-17 16:14:31
|
||||
* @LastEditTime: 2024-04-28 10:19:11
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,7 +9,7 @@
|
||||
<div style="display: flex; flex-direction: column; min-height: calc(100vh - 96px - 31px)">
|
||||
<div class="app-container" style="padding: 16px 24px 0;height: auto; flex-grow: 1;">
|
||||
<div style="background: #fff; height: 70px; width:100%">
|
||||
<ButtonNav :menus="['水', '电', '气']" :button-mode="true" @change="currentMenu = $event">
|
||||
<ButtonNav :menus="['水', '电', '气']" :button-mode="true" @change="handleChange">
|
||||
</ButtonNav>
|
||||
</div>
|
||||
<el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip">
|
||||
@ -94,7 +94,7 @@
|
||||
|
||||
<script>
|
||||
// import { parseTime } from '../../core/mixins/code-filter';
|
||||
// import { getGlassPage, exportGlasscExcel } from '@/api/report/glass';
|
||||
import { getEnergyPage } from '@/api/energy';
|
||||
// import inputTable from './inputTable.vue';
|
||||
import lineChart from './lineChart';
|
||||
import moment from 'moment'
|
||||
@ -303,9 +303,12 @@ export default {
|
||||
mounted() {
|
||||
this.getDict()
|
||||
// this.getCurrentYearFirst()
|
||||
// this.getDataList()
|
||||
this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
handleChange(e) {
|
||||
console.log(e);
|
||||
},
|
||||
buttonClick() {
|
||||
|
||||
},
|
||||
@ -461,6 +464,7 @@ export default {
|
||||
|
||||
},
|
||||
async getDataList() {
|
||||
const res = await getEnergyPage(this.listQuery)
|
||||
},
|
||||
add0(m) {
|
||||
return m < 10 ? '0' + m : m
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-04-15 10:49:13
|
||||
* @LastEditTime: 2024-04-17 16:14:01
|
||||
* @LastEditTime: 2024-04-26 15:18:15
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -72,7 +72,7 @@
|
||||
|
||||
<script>
|
||||
// import { parseTime } from '../../core/mixins/code-filter';
|
||||
// import { getGlassPage, exportGlasscExcel } from '@/api/report/glass';
|
||||
import { getEpPage } from '@/api/greenest/index';
|
||||
// import inputTable from './inputTable.vue';
|
||||
import lineChart from './lineChart';
|
||||
import moment from 'moment'
|
||||
@ -83,11 +83,11 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
listQuery: {
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
factoryId: null,
|
||||
total: 0,
|
||||
type: null,
|
||||
current: 1,
|
||||
size: 999,
|
||||
// factoryId: null,
|
||||
// total: 0,
|
||||
// type: null,
|
||||
// reportType: 2,
|
||||
reportTime: []
|
||||
},
|
||||
@ -199,7 +199,7 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
this.getDict()
|
||||
// this.getCurrentYearFirst()
|
||||
this.getCurrentYearFirst()
|
||||
// this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
@ -264,6 +264,8 @@ export default {
|
||||
|
||||
},
|
||||
async getDataList() {
|
||||
const res = getEpPage(this.listQuery)
|
||||
console.log(res)
|
||||
},
|
||||
add0(m) {
|
||||
return m < 10 ? '0' + m : m
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-04-15 10:49:13
|
||||
* @LastEditTime: 2024-04-17 16:13:47
|
||||
* @LastEditTime: 2024-04-17 16:32:43
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -76,7 +76,6 @@
|
||||
<!-- <el-col :span="12">
|
||||
<line-chart :id=" 'second' " class="yearChart" ref="lineChart" style="height: 40vh;width: 100%"></line-chart>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</div>
|
||||
<div class="app-container" style="margin-top: 18px;flex-grow: 1; height: auto; padding: 16px;">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
|
@ -1,154 +1,202 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-11-06 15:15:30
|
||||
* @LastEditTime: 2024-04-17 15:37:39
|
||||
* @Date: 2024-04-17 16:31:51
|
||||
* @LastEditTime: 2024-04-17 17:01:14
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-drawer class="drawer" :visible.sync="visible" size="50%">
|
||||
<small-title slot="title" :no-padding="true">
|
||||
{{ '碲化镉工厂生产数据详情' }}
|
||||
{{ '新增' }}
|
||||
</small-title>
|
||||
<div class="detailBox">
|
||||
<el-row :gutter="24">
|
||||
<el-form ref="form" :model="dataForm" label-width="80px" label-position="top">
|
||||
<el-row :gutter="24" style="padding: 0 32px;">
|
||||
<el-col :span="8">
|
||||
<p class="title">工厂名称</p>
|
||||
<p class="text">{{ }}</p>
|
||||
<el-form-item label="工厂名称" prop="factoryId">
|
||||
<el-select v-model="dataForm.factoryId" placeholder="请选择工厂名称" multiple="true" clearable>
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<p class="title">时间维度</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
<el-form-item label="工厂名称" prop="factoryId">
|
||||
<el-select v-model="dataForm.factoryId" placeholder="请选择工厂名称" multiple="true" clearable>
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<p class="title">时间</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="工厂名称" prop="factoryId">
|
||||
<el-select v-model="dataForm.factoryId" placeholder="请选择工厂名称" multiple="true" clearable>
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-divider></el-divider>
|
||||
<small-title style=" margin: 0;padding: 26px 32px 24px;margin-bottom: 22px;" :no-padding="false">
|
||||
{{ '芯片' }}
|
||||
</small-title>
|
||||
<el-row :gutter="24">
|
||||
<el-row :gutter="24" style="padding: 0 32px;">
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片产量</p>
|
||||
<p class="text">{{ }}</p>
|
||||
<el-form-item label="芯片产量" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片产量"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片良率</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
<el-form-item label="芯片良率" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片良率"></el-input>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片良率</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="芯片BOM" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片BOM"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片总功率</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="芯片总功率" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片总功率"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-row :gutter="24" style="padding: 0 32px;">
|
||||
<el-col :span="6">
|
||||
<p class="title">FTO投入量</p>
|
||||
<p class="text">{{ }}</p>
|
||||
<el-form-item label="FTO投入量" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入FTO投入量"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">CSS稼动率</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
<el-form-item label="CSS稼动率" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入CSS稼动率"></el-input>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片段OEE</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="芯片段OEE" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片段OEE"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片平均功率</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="芯片平均功率" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片平均功率"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-row :gutter="24" style="padding: 0 32px;">
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片人均产量</p>
|
||||
<p class="text">{{ }}</p>
|
||||
<el-form-item label="芯片人均产量" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片人均产量"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片产能利用率</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
<el-form-item label="芯片人均产量" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片人均产量"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-divider></el-divider>
|
||||
<small-title style=" margin: 0;padding: 26px 32px 24px;margin-bottom: 22px;" :no-padding="false">
|
||||
{{ '标准组件' }}
|
||||
</small-title>
|
||||
<el-row :gutter="24">
|
||||
<el-row :gutter="24" style="padding: 0 32px;">
|
||||
<el-col :span="6">
|
||||
<p class="title">封装BOM</p>
|
||||
<p class="text">{{ }}</p>
|
||||
<el-form-item label="封装BOM" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入封装BOM"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">封装线OEE</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
<el-form-item label="封装线OEE" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入封装线OEE"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">标准组件良率</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="标准组件良率" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入标准组件良率"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">标准组件产量</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="标准组件良率" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入标准组件良率"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-row :gutter="24" style="padding: 0 32px;">
|
||||
<el-col :span="6">
|
||||
<p class="title">标准组件总功率</p>
|
||||
<p class="text">{{ }}</p>
|
||||
<el-form-item label="标准组件总功率" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入标准组件总功率"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">封装产能利用率</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
<el-form-item label="标准组件总功率" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入标准组件总功率"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">标准组件人均产量</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="标准组件人均产量" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入标准组件人均产量"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">标准组件人均产量</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="标准组件平均功率" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入标准组件平均功率"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-divider></el-divider>
|
||||
|
||||
<small-title style=" margin: 0;padding: 26px 32px 24px;margin-bottom: 22px;" :no-padding="false">
|
||||
{{ 'BIPV产品' }}
|
||||
</small-title>
|
||||
<el-row :gutter="24">
|
||||
<el-row :gutter="24" style="padding: 0 32px;">
|
||||
<el-col :span="6">
|
||||
<p class="title">产品产量</p>
|
||||
<p class="text">{{ }}</p>
|
||||
<el-form-item label="产品产量" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入产品产量"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">人均产量</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
<el-form-item label="人均产量" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入人均产量"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片使用量</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="芯片使用量" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片使用量"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片使用量</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="芯片利用率" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片利用率"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-row :gutter="24" style="padding: 0 32px;">
|
||||
<el-col :span="6">
|
||||
<p class="title">内部材料成本</p>
|
||||
<p class="text">{{ }}</p>
|
||||
<el-form-item label="内部材料成本" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入内部材料成本"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">内部材料成本</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
<el-form-item label="OEM及委外材料成本" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入OEM及委外材料成本"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">内部材料成本</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
<el-form-item label="综合材料成本" prop="factoryId">
|
||||
<el-input v-model="dataForm.factoryId" placeholder="请输入综合材料成本"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<el-button @click="cancelForm">取 消</el-button>
|
||||
<el-button type="primary" @click="handleClose()">确 定</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
|
||||
@ -191,6 +239,7 @@ export default {
|
||||
name: '自动',
|
||||
}
|
||||
],
|
||||
factoryList:[],
|
||||
sectionList: [],
|
||||
visible: false,
|
||||
dataForm: {
|
||||
@ -325,6 +374,22 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.footer {
|
||||
position: absolute;
|
||||
bottom: 1%;
|
||||
right: 2%;
|
||||
}
|
||||
.drawer-footer {
|
||||
width: 100%;
|
||||
margin-top: 50px;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 50px;
|
||||
text-align: left;
|
||||
background: #fff;
|
||||
}
|
||||
.el-divider--horizontal{
|
||||
margin: 0;
|
||||
}
|
||||
.drawer >>> .el-drawer {
|
||||
border-radius: 8px 0 0 8px;
|
||||
}
|
||||
|
365
src/views/produce/target/detail-or-updata.vue
Normal file
365
src/views/produce/target/detail-or-updata.vue
Normal file
@ -0,0 +1,365 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-11-06 15:15:30
|
||||
* @LastEditTime: 2024-04-17 16:40:01
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-drawer class="drawer" :visible.sync="visible" size="50%">
|
||||
<small-title slot="title" :no-padding="true">
|
||||
{{ '碲化镉工厂生产数据详情' }}
|
||||
</small-title>
|
||||
<div class="detailBox">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<p class="title">工厂名称</p>
|
||||
<p class="text">{{ }}</p>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<p class="title">时间维度</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<p class="title">时间</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-divider></el-divider>
|
||||
<small-title style=" margin: 0;padding: 26px 32px 24px;margin-bottom: 22px;" :no-padding="false">
|
||||
{{ '芯片' }}
|
||||
</small-title>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片产量</p>
|
||||
<p class="text">{{ }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片良率</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片良率</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片总功率</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6">
|
||||
<p class="title">FTO投入量</p>
|
||||
<p class="text">{{ }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">CSS稼动率</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片段OEE</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片平均功率</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片人均产量</p>
|
||||
<p class="text">{{ }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片产能利用率</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<small-title style=" margin: 0;padding: 26px 32px 24px;margin-bottom: 22px;" :no-padding="false">
|
||||
{{ '标准组件' }}
|
||||
</small-title>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6">
|
||||
<p class="title">封装BOM</p>
|
||||
<p class="text">{{ }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">封装线OEE</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">标准组件良率</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">标准组件产量</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6">
|
||||
<p class="title">标准组件总功率</p>
|
||||
<p class="text">{{ }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">封装产能利用率</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">标准组件人均产量</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">标准组件人均产量</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<small-title style=" margin: 0;padding: 26px 32px 24px;margin-bottom: 22px;" :no-padding="false">
|
||||
{{ 'BIPV产品' }}
|
||||
</small-title>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6">
|
||||
<p class="title">产品产量</p>
|
||||
<p class="text">{{ }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">人均产量</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片使用量</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">芯片使用量</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="6">
|
||||
<p class="title">内部材料成本</p>
|
||||
<p class="text">{{ }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">内部材料成本</p>
|
||||
<p class="text">{{ dataForm.code }}</p>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<p class="title">内部材料成本</p>
|
||||
<p class="text">{{ dataForm.productName }}</p>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-drawer>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import basicAdd from './basic-add';
|
||||
// import {
|
||||
// createQualityScrapLog, updateQualityScrapLog, getQualityScrapLog, getWorkOrderList,
|
||||
// getTeamList, getDetList, getLineList
|
||||
// } from "@/api/base/qualityScrapLog";
|
||||
// import { getList, } from "@/api/base/qualityScrapType";
|
||||
import SmallTitle from './SmallTitle';
|
||||
export default {
|
||||
components: {
|
||||
SmallTitle,
|
||||
},
|
||||
// mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
isGetCode: false,
|
||||
// codeURL: getCode,
|
||||
// createURL: createQualityScrapLog,
|
||||
// updateURL: updateQualityScrapLog,
|
||||
// infoURL: getQualityScrapLog,
|
||||
},
|
||||
lineList: [],
|
||||
typeList: [],
|
||||
workOrderList: [],
|
||||
detList: [],
|
||||
teamList: [],
|
||||
sourceList: [
|
||||
{
|
||||
id: 1,
|
||||
name: '手动',
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '自动',
|
||||
}
|
||||
],
|
||||
sectionList: [],
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: undefined,
|
||||
logTime: undefined,
|
||||
source: 1,
|
||||
detId: undefined,
|
||||
workOrderId: null,
|
||||
teamId: undefined,
|
||||
num: undefined,
|
||||
lineId: undefined,
|
||||
description: undefined,
|
||||
// description: undefined,
|
||||
remark: undefined,
|
||||
},
|
||||
// materialList: [],
|
||||
dataRule: {
|
||||
// materialId: [{ required: true, message: "", trigger: "blur" }],
|
||||
workOrderId: [{ required: true, message: "工单号不能为空", trigger: "change" }],
|
||||
num: [{ required: true, message: "数量不能为空", trigger: "blur" }],
|
||||
detId: [{ required: true, message: "报废原因不能为空", trigger: "change" }],
|
||||
|
||||
logTime: [{ required: true, message: "报废时间不能为空", trigger: "change" }],
|
||||
}
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getDict()
|
||||
console.log('我看看', this.dataForm)
|
||||
// this.getCurrentTime()
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
this.visible = true
|
||||
},
|
||||
// getCurrentTime() {
|
||||
// // new Date().Format("yyyy-MM-dd HH:mm:ss")
|
||||
// this.dataForm.logTime = new Date()
|
||||
// // this.dataForm.logTime = year + "-" + month + "-" + day;
|
||||
// console.log(this.dataForm.logTime);
|
||||
// },
|
||||
async getDict() {
|
||||
// // 物料列表
|
||||
// const res = await getList()
|
||||
// this.typeList = res.data
|
||||
// getWorkOrderList().then((res) => {
|
||||
// console.log(res);
|
||||
// // console.log(response);
|
||||
// this.workOrderList = res.data.map((item) => {
|
||||
// return {
|
||||
// name: item.name,
|
||||
// id: item.id
|
||||
// }
|
||||
// })
|
||||
// // console.log(this.formConfig[0].selectOptions);
|
||||
// // this.listQuery.total = response.data.total;
|
||||
// })
|
||||
// getLineList().then((res) => {
|
||||
// console.log(res);
|
||||
// // console.log(response);
|
||||
// this.lineList = res.data.map((item) => {
|
||||
// return {
|
||||
// name: item.name,
|
||||
// id: item.id
|
||||
// }
|
||||
// })
|
||||
// // console.log(this.formConfig[0].selectOptions);
|
||||
// // this.listQuery.total = response.data.total;
|
||||
// })
|
||||
// getDetList().then((res) => {
|
||||
// console.log(res);
|
||||
// // console.log(response);
|
||||
// this.detList = res.data.map((item) => {
|
||||
// return {
|
||||
// name: item.content,
|
||||
// id: item.id
|
||||
// }
|
||||
// })
|
||||
// // console.log(this.formConfig[0].selectOptions);
|
||||
// // this.listQuery.total = response.data.total;
|
||||
// })
|
||||
// getTeamList().then((res) => {
|
||||
// console.log(res);
|
||||
// // console.log(response);
|
||||
// this.teamList = res.data.map((item) => {
|
||||
// return {
|
||||
// name: item.name,
|
||||
// id: item.id
|
||||
// }
|
||||
// })
|
||||
// // console.log(this.formConfig[0].selectOptions);
|
||||
// // this.listQuery.total = response.data.total;
|
||||
// })
|
||||
// },
|
||||
// async getWorksectionById(lineId) {
|
||||
// if (lineId) {
|
||||
// const { code, data } = await this.$axios({
|
||||
// url: '/base/core-workshop-section/listByParentId',
|
||||
// method: 'get',
|
||||
// params: {
|
||||
// id: lineId,
|
||||
// },
|
||||
// });
|
||||
// if (code == 0) {
|
||||
// console.log(data)
|
||||
// this.sectionList = data.map((item) => {
|
||||
// return {
|
||||
// name: item.name,
|
||||
// id: item.id,
|
||||
// };
|
||||
// });
|
||||
// }
|
||||
// } else {
|
||||
// this.$axios({
|
||||
// url: '/base/core-workshop-section/listAll',
|
||||
// method: 'get',
|
||||
// // params: {
|
||||
// // id: lineId,
|
||||
// // },
|
||||
// }).then((res) => {
|
||||
// // console.log(data)
|
||||
// this.sectionList = res.data.map((item) => {
|
||||
// return {
|
||||
// name: item.name,
|
||||
// id: item.id,
|
||||
// };
|
||||
// });
|
||||
// })
|
||||
// }
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.drawer >>> .el-drawer {
|
||||
border-radius: 8px 0 0 8px;
|
||||
}
|
||||
|
||||
.drawer >>> .el-form-item__label {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.drawer >>> .el-drawer__header {
|
||||
margin: 0;
|
||||
padding: 32px 32px 24px;
|
||||
border-bottom: 1px solid #dcdfe6;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.detailBox p {
|
||||
margin: 0;
|
||||
padding: 0 32px;
|
||||
}
|
||||
.detailBox .title {
|
||||
/* width: 56px; */
|
||||
/* height: 14px; */
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
line-height: 16px;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
text-transform: none;
|
||||
}
|
||||
.detailBox .text {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: rgba(102,102,102,0.75);
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
</style>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-04-15 10:49:13
|
||||
* @LastEditTime: 2024-04-17 16:12:20
|
||||
* @LastEditTime: 2024-04-17 16:37:35
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -77,7 +77,8 @@
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" label="操作" :width="120" fixed="right"
|
||||
:method-list="tableBtn" @clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<add-or-update v-if="detailOrUpdateVisible" ref="detailOrUpdate" @refreshDataList="successSubmit" />
|
||||
<detail-or-update v-if="detailOrUpdateVisible" ref="detailOrUpdate" @refreshDataList="successSubmit" />
|
||||
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="successSubmit" />
|
||||
|
||||
<!-- <el-row :gutter="24"> -->
|
||||
<!-- <el-col :span="12" v-for="item in dataList" :key="item.id"> -->
|
||||
@ -86,7 +87,7 @@
|
||||
<!-- <el-col :span="12">
|
||||
<line-chart :id=" 'second' " class="yearChart" ref="lineChart" style="height: 40vh;width: 100%"></line-chart>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- <inputTable :date="date" :data="tableData" :time="[startTimeStamp, endTimeStamp]" :sum="all"
|
||||
@ -107,12 +108,14 @@ import lineChart from './lineChart';
|
||||
import moment from 'moment'
|
||||
import ButtonNav from '@/components/ButtonNav'
|
||||
import basicPage from '@/mixins/basic-page'
|
||||
import AddOrUpdate from './add-or-updata';
|
||||
import detailOrUpdate from './detail-or-updata';
|
||||
import addOrUpdate from './add-or-updata';
|
||||
|
||||
|
||||
// import FileSaver from 'file-saver'
|
||||
// import * as XLSX from 'xlsx'
|
||||
export default {
|
||||
components: { lineChart, ButtonNav, AddOrUpdate },
|
||||
components: { lineChart, ButtonNav, detailOrUpdate,addOrUpdate },
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
return {
|
||||
@ -125,7 +128,8 @@ export default {
|
||||
// reportType: 2,
|
||||
reportTime: []
|
||||
},
|
||||
detailOrUpdateVisible:false,
|
||||
detailOrUpdateVisible: false,
|
||||
addOrUpdateVisible:false,
|
||||
date1: undefined,
|
||||
date2: undefined,
|
||||
tableBtn: [
|
||||
@ -133,10 +137,14 @@ export default {
|
||||
type: 'detail',
|
||||
btnName: '详情',
|
||||
},
|
||||
// {
|
||||
// type: 'delete',
|
||||
// btnName: '删除',
|
||||
// },
|
||||
{
|
||||
type: 'edit',
|
||||
btnName: '修改',
|
||||
},
|
||||
{
|
||||
type: 'delete',
|
||||
btnName: '删除',
|
||||
},
|
||||
].filter((v) => v),
|
||||
typeList: [
|
||||
{
|
||||
@ -297,33 +305,58 @@ export default {
|
||||
// width: 180,
|
||||
// filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'),
|
||||
// },
|
||||
{
|
||||
prop: 'userName',
|
||||
label: '日期',
|
||||
},
|
||||
|
||||
{
|
||||
prop: 'nickName',
|
||||
label: '工厂名称',
|
||||
},
|
||||
{
|
||||
prop: 'userName',
|
||||
label: '目标时间',
|
||||
},
|
||||
{
|
||||
prop: 'type',
|
||||
label: '玻璃类型',
|
||||
label: '提交时间',
|
||||
},
|
||||
{
|
||||
prop: 'inNum',
|
||||
label: '投入数量',
|
||||
label: '钼电极投入量(片)',
|
||||
},
|
||||
{
|
||||
prop: 'putNum',
|
||||
label: '产出数量',
|
||||
label: '芯片产量(片)',
|
||||
},
|
||||
{
|
||||
prop: 'goodNum',
|
||||
label: '良品数量',
|
||||
label: '芯片平均功率(W)',
|
||||
},
|
||||
{
|
||||
prop: 'goodYelid',
|
||||
label: '良品率%',
|
||||
label: '芯片良率(%)',
|
||||
},
|
||||
{
|
||||
prop: 'goodYelid',
|
||||
label: '芯片总功率(KW)',
|
||||
},
|
||||
{
|
||||
prop: 'goodYelid',
|
||||
label: 'PID6稼动率(%)',
|
||||
},
|
||||
{
|
||||
prop: 'goodYelid',
|
||||
label: '芯片段OEE(%)',
|
||||
},
|
||||
{
|
||||
prop: 'goodYelid',
|
||||
label: '芯片产能利用率(%)',
|
||||
},
|
||||
{
|
||||
prop: 'goodYelid',
|
||||
label: '芯片人均产量(片/人)',
|
||||
},
|
||||
{
|
||||
prop: 'goodYelid',
|
||||
label: '芯片BOM',
|
||||
},
|
||||
],
|
||||
timeSelect:'month',
|
||||
@ -366,6 +399,19 @@ export default {
|
||||
// this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
handleClick(val) {
|
||||
if (val.type === "edit") {
|
||||
this.addOrUpdateVisible = true;
|
||||
// this.addOrEditTitle = "编辑";
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.data.id);
|
||||
});
|
||||
} else if (val.type === "delete") {
|
||||
this.deleteHandle(val.data.id, val.data.name, val.data._pageIndex)
|
||||
} else {
|
||||
this.otherMethods(val)
|
||||
}
|
||||
},
|
||||
otherMethods(val) {
|
||||
this.detailOrUpdateVisible = true;
|
||||
this.addOrEditTitle = "详情";
|
||||
|
Loading…
Reference in New Issue
Block a user