@@ -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 | |||
@@ -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 | |||
}) | |||
} |
@@ -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 | |||
}) | |||
} |
@@ -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-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> | |||
<el-form ref="form" :model="dataForm" label-width="80px" label-position="top"> | |||
<el-row :gutter="24" style="padding: 0 32px;"> | |||
<el-col :span="8"> | |||
<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"> | |||
<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"> | |||
<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" style="padding: 0 32px;"> | |||
<el-col :span="6"> | |||
<el-form-item label="芯片产量" prop="factoryId"> | |||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片产量"></el-input> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="6"> | |||
<el-form-item label="芯片良率" prop="factoryId"> | |||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片良率"></el-input> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="6"> | |||
<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"> | |||
<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" style="padding: 0 32px;"> | |||
<el-col :span="6"> | |||
<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"> | |||
<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"> | |||
<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"> | |||
<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" style="padding: 0 32px;"> | |||
<el-col :span="6"> | |||
<el-form-item label="芯片人均产量" prop="factoryId"> | |||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片人均产量"></el-input> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="6"> | |||
<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" style="padding: 0 32px;"> | |||
<el-col :span="6"> | |||
<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"> | |||
<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"> | |||
<el-form-item label="标准组件良率" prop="factoryId"> | |||
<el-input v-model="dataForm.factoryId" placeholder="请输入标准组件良率"></el-input> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="6"> | |||
<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" style="padding: 0 32px;"> | |||
<el-col :span="6"> | |||
<el-form-item label="标准组件总功率" prop="factoryId"> | |||
<el-input v-model="dataForm.factoryId" placeholder="请输入标准组件总功率"></el-input> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="6"> | |||
<el-form-item label="标准组件总功率" prop="factoryId"> | |||
<el-input v-model="dataForm.factoryId" placeholder="请输入标准组件总功率"></el-input> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="6"> | |||
<el-form-item label="标准组件人均产量" prop="factoryId"> | |||
<el-input v-model="dataForm.factoryId" placeholder="请输入标准组件人均产量"></el-input> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="6"> | |||
<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" style="padding: 0 32px;"> | |||
<el-col :span="6"> | |||
<el-form-item label="产品产量" prop="factoryId"> | |||
<el-input v-model="dataForm.factoryId" placeholder="请输入产品产量"></el-input> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="6"> | |||
<el-form-item label="人均产量" prop="factoryId"> | |||
<el-input v-model="dataForm.factoryId" placeholder="请输入人均产量"></el-input> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="6"> | |||
<el-form-item label="芯片使用量" prop="factoryId"> | |||
<el-input v-model="dataForm.factoryId" placeholder="请输入芯片使用量"></el-input> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="6"> | |||
<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" style="padding: 0 32px;"> | |||
<el-col :span="6"> | |||
<el-form-item label="内部材料成本" prop="factoryId"> | |||
<el-input v-model="dataForm.factoryId" placeholder="请输入内部材料成本"></el-input> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="6"> | |||
<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"> | |||
<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; | |||
} | |||
@@ -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,18 +128,23 @@ export default { | |||
// reportType: 2, | |||
reportTime: [] | |||
}, | |||
detailOrUpdateVisible:false, | |||
detailOrUpdateVisible: false, | |||
addOrUpdateVisible:false, | |||
date1: undefined, | |||
date2: undefined, | |||
tableBtn: [ | |||
{ | |||
{ | |||
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: '芯片良率(%)', | |||
}, | |||
{ | |||
prop: 'goodYelid', | |||
label: '芯片总功率(KW)', | |||
}, | |||
{ | |||
prop: 'goodYelid', | |||
label: 'PID6稼动率(%)', | |||
}, | |||
{ | |||
prop: 'goodYelid', | |||
label: '芯片段OEE(%)', | |||
}, | |||
{ | |||
prop: 'goodYelid', | |||
label: '芯片产能利用率(%)', | |||
}, | |||
{ | |||
prop: 'goodYelid', | |||
label: '芯片人均产量(片/人)', | |||
}, | |||
{ | |||
prop: 'goodYelid', | |||
label: '良品率%', | |||
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 = "详情"; | |||