瀏覽代碼

新增

pull/12/head
‘937886381’ 4 月之前
父節點
當前提交
1b8f2522c1
共有 11 個檔案被更改,包括 752 行新增184 行删除
  1. +1
    -1
      .env.dev
  2. +32
    -0
      src/api/cost/index.js
  3. +15
    -0
      src/api/energy/index.js
  4. +32
    -0
      src/api/greenest/index.js
  5. +16
    -8
      src/views/cost/index.vue
  6. +8
    -4
      src/views/energy/index.vue
  7. +10
    -8
      src/views/greenest/index.vue
  8. +1
    -2
      src/views/produce/data/index.vue
  9. +206
    -141
      src/views/produce/target/add-or-updata.vue
  10. +365
    -0
      src/views/produce/target/detail-or-updata.vue
  11. +66
    -20
      src/views/produce/target/index.vue

+ 1
- 1
.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
- 0
src/api/cost/index.js 查看文件

@@ -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
- 0
src/api/energy/index.js 查看文件

@@ -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
- 0
src/api/greenest/index.js 查看文件

@@ -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
})
}

+ 16
- 8
src/views/cost/index.vue 查看文件

@@ -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


+ 8
- 4
src/views/energy/index.vue 查看文件

@@ -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


+ 10
- 8
src/views/greenest/index.vue 查看文件

@@ -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
- 2
src/views/produce/data/index.vue 查看文件

@@ -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" />


+ 206
- 141
src/views/produce/target/add-or-updata.vue 查看文件

@@ -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;
}


+ 365
- 0
src/views/produce/target/detail-or-updata.vue 查看文件

@@ -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>

+ 66
- 20
src/views/produce/target/index.vue 查看文件

@@ -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 = "详情";


Loading…
取消
儲存