projects/mesxc-dy #264
4
.env.dev
4
.env.dev
@ -1,7 +1,7 @@
|
|||||||
###
|
###
|
||||||
# @Author: Do not edit
|
# @Author: Do not edit
|
||||||
# @Date: 2023-08-29 09:40:39
|
# @Date: 2023-08-29 09:40:39
|
||||||
# @LastEditTime: 2024-03-22 10:18:20
|
# @LastEditTime: 2024-03-22 10:28:37
|
||||||
# @LastEditors: DY
|
# @LastEditors: DY
|
||||||
# @Description:
|
# @Description:
|
||||||
###
|
###
|
||||||
@ -25,7 +25,7 @@ VUE_APP_BASE_API = 'http://192.168.0.33:48082'
|
|||||||
# VUE_APP_BASE_API = 'http://192.168.1.78:48082'
|
# VUE_APP_BASE_API = 'http://192.168.1.78:48082'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.1.47:48082'
|
# VUE_APP_BASE_API = 'http://192.168.1.47:48082'
|
||||||
# socket地址
|
# socket地址
|
||||||
VUE_APP_Socket_API = 'ws://192.168.0.30:8888'
|
VUE_APP_Socket_API = 'ws://192.168.0.33:48082'
|
||||||
VUE_APP_Socket_Dcs_API = 'ws://10.70.180.10:8081'
|
VUE_APP_Socket_Dcs_API = 'ws://10.70.180.10:8081'
|
||||||
|
|
||||||
# 积木报表指向地址
|
# 积木报表指向地址
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-12-04 14:10:37
|
* @Date: 2023-12-04 14:10:37
|
||||||
* @LastEditTime: 2023-12-14 10:06:03
|
* @LastEditTime: 2024-03-19 15:02:49
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
@ -26,10 +26,11 @@ export function updateQualityInspectionBoxBtn(data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 删除安灯按钮16键对应
|
// 删除安灯按钮16键对应
|
||||||
export function deleteQualityInspectionBoxBtn(id) {
|
export function deleteQualityInspectionBoxBtn(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/base/quality-inspection-box-btn/delete?id=' + id,
|
url: 'base/quality-inspection-box-btn/deleteByLineSection',
|
||||||
method: 'delete'
|
method: 'delete',
|
||||||
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-10-18 09:33:57
|
* @Date: 2023-10-18 09:33:57
|
||||||
* @LastEditTime: 2024-03-15 15:18:09
|
* @LastEditTime: 2024-03-20 15:39:27
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
@ -36,7 +36,7 @@ export function exportEnergyPlcExcel(query) {
|
|||||||
|
|
||||||
export function exportEquipmentTraceabilityExcel(query) {
|
export function exportEquipmentTraceabilityExcel(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/analysis/equipment-analysis/export-excel',
|
url: '/analysis/equipment-analysis/export-efficiency',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: query,
|
params: query,
|
||||||
responseType: 'blob'
|
responseType: 'blob'
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2021-07-19 15:18:30
|
* @Date: 2021-07-19 15:18:30
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @LastEditTime: 2024-03-12 09:34:06
|
* @LastEditTime: 2024-03-21 16:07:39
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -633,7 +633,7 @@ export default {
|
|||||||
this.eqConfig.data = eqArr
|
this.eqConfig.data = eqArr
|
||||||
this.$refs['eqScrollBoard'].updateRows(eqArr)
|
this.$refs['eqScrollBoard'].updateRows(eqArr)
|
||||||
this.$refs.productLineChart.initChart(['D61', 'D62', 'D63', 'D64', 'D65',], [98, 97, 98.7, 98.5, 98.3,], [3134, 2323, 3232, 3233, 2321])
|
this.$refs.productLineChart.initChart(['D61', 'D62', 'D63', 'D64', 'D65',], [98, 97, 98.7, 98.5, 98.3,], [3134, 2323, 3232, 3233, 2321])
|
||||||
this.getList()
|
// this.getList()
|
||||||
this.initWebSocket()
|
this.initWebSocket()
|
||||||
this.SJGInitWebSocket()
|
this.SJGInitWebSocket()
|
||||||
this.getTimes()
|
this.getTimes()
|
||||||
@ -671,52 +671,52 @@ export default {
|
|||||||
// removeEventListener('resize', resizeFun)
|
// removeEventListener('resize', resizeFun)
|
||||||
// },
|
// },
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
// getList() {
|
||||||
this.$axios.get(
|
// // this.$axios.get(
|
||||||
'base/core-production-line/listAll',
|
// // 'base/core-production-line/listAll',
|
||||||
'get',
|
// // 'get',
|
||||||
this.queryParams
|
// // this.queryParams
|
||||||
).then((res) => {
|
// // ).then((res) => {
|
||||||
// console.log('11111', res);
|
// // // console.log('11111', res);
|
||||||
this.productLineList = res.data
|
// // this.productLineList = res.data
|
||||||
})
|
// // })
|
||||||
this.$axios.get(
|
// this.$axios.get(
|
||||||
'base/quality-inspection-record/dayStatistics',
|
// 'base/quality-inspection-record/dayStatistics',
|
||||||
'get',
|
// 'get',
|
||||||
).then((res) => {
|
// ).then((res) => {
|
||||||
// console.log('11111', res);
|
// // console.log('11111', res);
|
||||||
let processArr = qualityMonthList.map((item, index) => [
|
// let processArr = qualityMonthList.map((item, index) => [
|
||||||
// console.log(item)
|
// // console.log(item)
|
||||||
`<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''}
|
// `<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''}
|
||||||
</span>`,
|
// </span>`,
|
||||||
// formatDate(item.planStartTime) || '',
|
// // formatDate(item.planStartTime) || '',
|
||||||
`
|
// `
|
||||||
<span style="color:rgba(255,255,255,0.5)" >${item.productionLineName || ''}
|
// <span style="color:rgba(255,255,255,0.5)" >${item.productionLineName || ''}
|
||||||
</span>`,
|
// </span>`,
|
||||||
`<span style="color:rgba(255,255,255,0.5)">${item.sectionName || ''}</span>`,
|
// `<span style="color:rgba(255,255,255,0.5)">${item.sectionName || ''}</span>`,
|
||||||
`<span style="color:rgba(255,255,255,0.5)">${item.count || ''}</span>`,
|
// `<span style="color:rgba(255,255,255,0.5)">${item.count || ''}</span>`,
|
||||||
`<span style="color:rgba(255,255,255,0.5)">${item.inspectionTypeName || ''}</span>`,
|
// `<span style="color:rgba(255,255,255,0.5)">${item.inspectionTypeName || ''}</span>`,
|
||||||
])
|
// ])
|
||||||
this.processConfig.data = processArr
|
// this.processConfig.data = processArr
|
||||||
this.$refs['processScrollBoard'].updateRows(processArr)
|
// this.$refs['processScrollBoard'].updateRows(processArr)
|
||||||
// if (res.data.length !==0) {
|
// // if (res.data.length !==0) {
|
||||||
// let processArr = res.data.map((item, index) => [
|
// // let processArr = res.data.map((item, index) => [
|
||||||
// // console.log(item)
|
// // // console.log(item)
|
||||||
// `<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''}
|
// // `<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''}
|
||||||
// </span>`,
|
// // </span>`,
|
||||||
// // formatDate(item.planStartTime) || '',
|
// // // formatDate(item.planStartTime) || '',
|
||||||
// `
|
// // `
|
||||||
// <span style="color:rgba(255,255,255,0.5)" >${item.productionLineName || ''}
|
// // <span style="color:rgba(255,255,255,0.5)" >${item.productionLineName || ''}
|
||||||
// </span>`,
|
// // </span>`,
|
||||||
// `<span style="color:rgba(255,255,255,0.5)">${item.sectionName || ''}</span>`,
|
// // `<span style="color:rgba(255,255,255,0.5)">${item.sectionName || ''}</span>`,
|
||||||
// `<span style="color:rgba(255,255,255,0.5)">${item.count || ''}</span>`,
|
// // `<span style="color:rgba(255,255,255,0.5)">${item.count || ''}</span>`,
|
||||||
// `<span style="color:rgba(255,255,255,0.5)">${item.inspectionTypeName || ''}</span>`,
|
// // `<span style="color:rgba(255,255,255,0.5)">${item.inspectionTypeName || ''}</span>`,
|
||||||
// ])
|
// // ])
|
||||||
// this.processConfig.data = processArr
|
// // this.processConfig.data = processArr
|
||||||
// this.$refs['processScrollBoard'].updateRows(processArr)
|
// // this.$refs['processScrollBoard'].updateRows(processArr)
|
||||||
// }
|
// // }
|
||||||
})
|
// })
|
||||||
},
|
// },
|
||||||
getTimes() {
|
getTimes() {
|
||||||
setInterval(this.getTimesInterval, 1000);
|
setInterval(this.getTimesInterval, 1000);
|
||||||
},
|
},
|
||||||
@ -837,24 +837,25 @@ export default {
|
|||||||
this.$refs['eqScrollBoard'].updateRows(eqArr)
|
this.$refs['eqScrollBoard'].updateRows(eqArr)
|
||||||
// console.log(SJGWsData.orderList)
|
// console.log(SJGWsData.orderList)
|
||||||
} else if (this.SJGWsData.type === 'productline') {
|
} else if (this.SJGWsData.type === 'productline') {
|
||||||
|
console.log('aaaaaaaaaaaaaaaaaaa', this.SJGWsData);
|
||||||
// console.log(this.wsData.detData);
|
// console.log(this.wsData.detData);
|
||||||
let nameList = []
|
let nameList = []
|
||||||
let passRateList = []
|
let passRateList = []
|
||||||
let outputNumList = []
|
let outputNumList = []
|
||||||
|
|
||||||
// console.log('2222222222', this.productLineList);
|
// console.log('2222222222', this.productLineList);
|
||||||
this.productLineList.forEach((item) => {
|
// this.productLineList.forEach((item) => {
|
||||||
this.SJGWsData.detData.forEach((ele) => {
|
this.SJGWsData.detData.forEach((ele) => {
|
||||||
if (item.id == ele.productionLineId) {
|
// if (item.id == ele.productionLineId) {
|
||||||
if (item.name.substr(0, 1) == "D") {
|
// if (item.name.substr(0, 1) == "D") {
|
||||||
console.log(ele)
|
// console.log(ele)
|
||||||
nameList.push(item.name)
|
nameList.push(ele.lineName)
|
||||||
outputNumList.push(ele.outputNum)
|
outputNumList.push(ele.outputNum)
|
||||||
passRateList.push(ele.passRate)
|
passRateList.push(ele.passRate)
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
})
|
})
|
||||||
})
|
// })
|
||||||
// progressRateList = EnergyNameList
|
// progressRateList = EnergyNameList
|
||||||
// let EnergyDataList = []
|
// let EnergyDataList = []
|
||||||
// this.SJGWsData.detData.forEach((ele) => {
|
// this.SJGWsData.detData.forEach((ele) => {
|
||||||
@ -864,7 +865,22 @@ export default {
|
|||||||
// console.log(this.EnergyMonitoringNameList)
|
// console.log(this.EnergyMonitoringNameList)
|
||||||
// console.log(this.EnergyMonitoringList)
|
// console.log(this.EnergyMonitoringList)
|
||||||
// this.$nextTick(() => {
|
// this.$nextTick(() => {
|
||||||
this.$refs.productLineChart.initChart(Array.from(new Set(nameList)), passRateList, outputNumList)
|
this.$refs.productLineChart.initChart(nameList, passRateList, outputNumList)
|
||||||
|
} else if (this.SJGInitWebSocket === 'inspection') {
|
||||||
|
let processArr = qualityMonthList.map((item, index) => [
|
||||||
|
// console.log(item)
|
||||||
|
`<span style="color:rgba(255,255,255,0.5)" >${index + 1 || ''}
|
||||||
|
</span>`,
|
||||||
|
// formatDate(item.planStartTime) || '',
|
||||||
|
`
|
||||||
|
<span style="color:rgba(255,255,255,0.5)" >${item.productionLineName || ''}
|
||||||
|
</span>`,
|
||||||
|
`<span style="color:rgba(255,255,255,0.5)">${item.sectionName || ''}</span>`,
|
||||||
|
`<span style="color:rgba(255,255,255,0.5)">${item.count || ''}</span>`,
|
||||||
|
`<span style="color:rgba(255,255,255,0.5)">${item.inspectionTypeName || ''}</span>`,
|
||||||
|
])
|
||||||
|
this.processConfig.data = processArr
|
||||||
|
this.$refs['processScrollBoard'].updateRows(processArr)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 数据发送
|
// 数据发送
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-10-17 16:50:19
|
* @Date: 2023-10-17 16:50:19
|
||||||
* @LastEditTime: 2024-01-22 09:55:32
|
* @LastEditTime: 2024-03-20 08:36:01
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -23,7 +23,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="标签类型" prop="typeId">
|
<el-form-item label="标签类型" prop="typeId">
|
||||||
<el-select v-model="dataForm.typeId" style="width: 100%;" placeholder="请选择打印方式" clearable>
|
<el-select v-model="dataForm.typeId" style="width: 100%;" placeholder="请选择标签类型" clearable>
|
||||||
<el-option v-for="dict in typeList" :key="dict.id" :label="dict.name" :value="dict.id" />
|
<el-option v-for="dict in typeList" :key="dict.id" :label="dict.name" :value="dict.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -30,6 +30,7 @@ import {
|
|||||||
} from '@/api/cost/costEneryAutoReport';
|
} from '@/api/cost/costEneryAutoReport';
|
||||||
import { getEnergyTypeListAll } from '@/api/base/energyType';
|
import { getEnergyTypeListAll } from '@/api/base/energyType';
|
||||||
import { publicFormatter } from '@/utils/dict';
|
import { publicFormatter } from '@/utils/dict';
|
||||||
|
import moment from 'moment';
|
||||||
|
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
@ -135,15 +136,23 @@ export default {
|
|||||||
this.listQuery.pageSize = 10;
|
this.listQuery.pageSize = 10;
|
||||||
this.listQuery.energyTypeId = val.energyTypeId;
|
this.listQuery.energyTypeId = val.energyTypeId;
|
||||||
this.listQuery.searchTime = val.searchTime ? val.searchTime[0] : null;
|
this.listQuery.searchTime = val.searchTime ? val.searchTime[0] : null;
|
||||||
this.listQuery.startTime = val.searchTime ? val.searchTime[0] : null;
|
this.listQuery.startTime = val.searchTime
|
||||||
this.listQuery.endTime = val.searchTime ? val.searchTime[1] : null;
|
? moment(val.searchTime[0]).startOf('day').format('x')
|
||||||
|
: null;
|
||||||
|
this.listQuery.endTime = val.searchTime
|
||||||
|
? moment(val.searchTime[1]).endOf('day').format('x')
|
||||||
|
: null;
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
break;
|
break;
|
||||||
case 'export':
|
case 'export':
|
||||||
const data = {
|
const data = {
|
||||||
energyTypeId:val.energyTypeId,
|
energyTypeId:val.energyTypeId,
|
||||||
startTime : val.searchTime ? val.searchTime[0] : null,
|
startTime : val.searchTime
|
||||||
endTime : val.searchTime ? val.searchTime[1] : null,
|
? moment(val.searchTime[0]).startOf('day').format('x')
|
||||||
|
: null,
|
||||||
|
endTime : val.searchTime
|
||||||
|
? moment(val.searchTime[1]).endOf('day').format('x')
|
||||||
|
: null,
|
||||||
}
|
}
|
||||||
this.handleExport(data);
|
this.handleExport(data);
|
||||||
break;
|
break;
|
||||||
|
@ -111,6 +111,7 @@ export default {
|
|||||||
startPlaceholder: '开始时间',
|
startPlaceholder: '开始时间',
|
||||||
endPlaceholder: '结束时间',
|
endPlaceholder: '结束时间',
|
||||||
param: 'searchTime',
|
param: 'searchTime',
|
||||||
|
defaultSelect: [],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
@ -132,6 +133,14 @@ export default {
|
|||||||
},
|
},
|
||||||
components: {},
|
components: {},
|
||||||
created() {
|
created() {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||||
|
this.formConfig[2].defaultSelect = [start, end];
|
||||||
|
this.listQuery.reportTime = [
|
||||||
|
moment(start).startOf('day').format('x'),
|
||||||
|
moment(end).endOf('day').format('x'),
|
||||||
|
];
|
||||||
getEnergyTypeListAll().then((response) => {
|
getEnergyTypeListAll().then((response) => {
|
||||||
this.formConfig[1].selectOptions = response.data;
|
this.formConfig[1].selectOptions = response.data;
|
||||||
});
|
});
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-08-01 13:52:10
|
* @Date: 2023-08-01 13:52:10
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2024-02-19 09:36:50
|
* @LastEditTime: 2024-03-21 15:59:26
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -44,7 +44,7 @@
|
|||||||
v-for="item in urlOptions.dictList.dict0"
|
v-for="item in urlOptions.dictList.dict0"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
:value="item.value"></el-option>
|
:value="parseInt(item.value)"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -152,8 +152,12 @@ export default {
|
|||||||
case 'export':
|
case 'export':
|
||||||
this.listQuery.materialId = val.materialId;
|
this.listQuery.materialId = val.materialId;
|
||||||
this.listQuery.searchTime = val.searchTime ? val.searchTime[0] : null;
|
this.listQuery.searchTime = val.searchTime ? val.searchTime[0] : null;
|
||||||
this.listQuery.startTime = val.searchTime ? val.searchTime[0] : null;
|
this.listQuery.startTime = val.searchTime
|
||||||
this.listQuery.endTime = val.searchTime ? val.searchTime[1] : null;
|
? moment(val.searchTime[0]).startOf('day').format('x')
|
||||||
|
: null;
|
||||||
|
this.listQuery.endTime = val.searchTime
|
||||||
|
? moment(val.searchTime[1]).endOf('day').format('x')
|
||||||
|
: null;
|
||||||
this.handleExport();
|
this.handleExport();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -110,6 +110,7 @@ export default {
|
|||||||
startPlaceholder: '开始时间',
|
startPlaceholder: '开始时间',
|
||||||
endPlaceholder: '结束时间',
|
endPlaceholder: '结束时间',
|
||||||
param: 'searchTime',
|
param: 'searchTime',
|
||||||
|
defaultSelect: [],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
@ -131,6 +132,14 @@ export default {
|
|||||||
},
|
},
|
||||||
components: {},
|
components: {},
|
||||||
created() {
|
created() {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||||
|
this.formConfig[2].defaultSelect = [start, end];
|
||||||
|
this.listQuery.times = [
|
||||||
|
moment(start).startOf('day').format('x'),
|
||||||
|
moment(end).endOf('day').format('x'),
|
||||||
|
];
|
||||||
getHotMaterialList().then((response) => {
|
getHotMaterialList().then((response) => {
|
||||||
this.formConfig[1].selectOptions = response.data;
|
this.formConfig[1].selectOptions = response.data;
|
||||||
});
|
});
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div id="analysischartLine" style="width: 100%;height: 100%;"></div>
|
||||||
id="analysischartLine"
|
|
||||||
style="width: 100%;height: 100%;"
|
|
||||||
></div>
|
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import * as echarts from 'echarts'
|
import * as echarts from 'echarts'
|
||||||
@ -56,11 +53,10 @@ export default {
|
|||||||
let yData = []
|
let yData = []
|
||||||
for (let j = 0; j < arr.length; j++) {
|
for (let j = 0; j < arr.length; j++) {
|
||||||
for (let k = 0; k < keys.length; k++) {
|
for (let k = 0; k < keys.length; k++) {
|
||||||
if (keys[k].indexOf(arr[j]+'_上年同期') > -1 || keys[k].indexOf(arr[j]+'_能源消耗') > -1) {
|
if (keys[k].indexOf(arr[j] + '_上年同期') > -1 || keys[k].indexOf(arr[j] + '_能源消耗') > -1) {
|
||||||
let obj = {
|
let obj = {
|
||||||
name: '',
|
name: '',
|
||||||
type: 'line',
|
type: 'line',
|
||||||
stack: 'Total',
|
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
obj.name = keys[k]
|
obj.name = keys[k]
|
||||||
@ -71,14 +67,14 @@ export default {
|
|||||||
for (let i = 0; i < this.chartData.length; i++) {
|
for (let i = 0; i < this.chartData.length; i++) {
|
||||||
xData.push(this.chartData[i].time)
|
xData.push(this.chartData[i].time)
|
||||||
for (let p = 0; p < yData.length; p++) {
|
for (let p = 0; p < yData.length; p++) {
|
||||||
yData[p].data.push(this.chartData[i][ yData[p].name])
|
yData[p].data.push(this.chartData[i][yData[p].name])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var option = {
|
var option = {
|
||||||
color:['#FFDC94','#8EF0AB','#63BDFF','#288AFF','#7164FF','#FF6860','#FF9747','#B0EB42','#D680FF','#0043D2'],
|
color: ['#FFDC94', '#8EF0AB', '#63BDFF', '#288AFF', '#7164FF', '#FF6860', '#FF9747', '#B0EB42', '#D680FF', '#0043D2'],
|
||||||
legend: {
|
legend: {
|
||||||
data: keys,
|
data: keys,
|
||||||
right:'1%'
|
right: '1%'
|
||||||
},
|
},
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'axis'
|
trigger: 'axis'
|
||||||
|
@ -2,40 +2,22 @@
|
|||||||
<div class="app-container energyOverlimitLog">
|
<div class="app-container energyOverlimitLog">
|
||||||
|
|
||||||
<!-- 搜索工作栏 -->
|
<!-- 搜索工作栏 -->
|
||||||
<search-bar
|
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||||
:formConfigs="formConfig"
|
|
||||||
ref="searchBarForm"
|
|
||||||
@headBtnClick="buttonClick"
|
|
||||||
/>
|
|
||||||
<el-tabs v-model="activeName" @tab-click="toggleTab">
|
<el-tabs v-model="activeName" @tab-click="toggleTab">
|
||||||
<el-tab-pane label="自动抄表" name="auto"></el-tab-pane>
|
<el-tab-pane label="自动抄表" name="auto"></el-tab-pane>
|
||||||
<el-tab-pane label="手动抄表" name="manual"></el-tab-pane>
|
<el-tab-pane label="手动抄表" name="manual"></el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<div v-if="activeName === 'auto'">
|
<div v-if="activeName === 'auto'">
|
||||||
<base-table
|
<base-table :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-props="tableProps" :table-data="list"
|
||||||
:page="queryParams.pageNo"
|
:max-height="tableH" />
|
||||||
:limit="queryParams.pageSize"
|
|
||||||
:table-props="tableProps"
|
|
||||||
:table-data="list"
|
|
||||||
:max-height="tableH"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="activeName === 'manual'">
|
<div v-if="activeName === 'manual'">
|
||||||
<base-table
|
<base-table :page="queryParams.pageNo" :limit="queryParams.pageSize" :table-props="tableProps2"
|
||||||
:page="queryParams.pageNo"
|
:table-data="list2" :max-height="tableH" />
|
||||||
:limit="queryParams.pageSize"
|
|
||||||
:table-props="tableProps2"
|
|
||||||
:table-data="list2"
|
|
||||||
:max-height="tableH"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<pagination
|
<pagination :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" :total="total"
|
||||||
:page.sync="queryParams.pageNo"
|
@pagination="getList" />
|
||||||
:limit.sync="queryParams.pageSize"
|
|
||||||
:total="total"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -160,8 +142,8 @@ export default {
|
|||||||
method: '1'
|
method: '1'
|
||||||
},
|
},
|
||||||
typeList: [
|
typeList: [
|
||||||
{id: 1, name: '合并'},
|
{ id: 1, name: '合并' },
|
||||||
{id: 2, name: '详细'}
|
{ id: 2, name: '详细' }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -183,7 +165,7 @@ export default {
|
|||||||
getList() {
|
getList() {
|
||||||
getEnergyOverlimitLogPage(this.queryParams).then(response => {
|
getEnergyOverlimitLogPage(this.queryParams).then(response => {
|
||||||
let arr = response.data.list || [];
|
let arr = response.data.list || [];
|
||||||
arr&&arr.map((item) => {
|
arr && arr.map((item) => {
|
||||||
this.typeList.map((i) => {
|
this.typeList.map((i) => {
|
||||||
if (item.type === i.id) {
|
if (item.type === i.id) {
|
||||||
item.type = i.name
|
item.type = i.name
|
||||||
@ -191,15 +173,21 @@ export default {
|
|||||||
})
|
})
|
||||||
if (item.minValue && item.maxValue) {
|
if (item.minValue && item.maxValue) {
|
||||||
item.limitValue = item.minValue + '-' + item.maxValue
|
item.limitValue = item.minValue + '-' + item.maxValue
|
||||||
} else if(item.minValue){
|
} else if (item.minValue) {
|
||||||
item.limitValue = '最小值' + item.minValue
|
item.limitValue = '最小值' + item.minValue
|
||||||
}else if(item.maxValue){
|
} else if (item.maxValue) {
|
||||||
item.limitValue = '最大值' + item.maxValue
|
item.limitValue = '最大值' + item.maxValue
|
||||||
} else {
|
} else {
|
||||||
item.limitValue = ''
|
item.limitValue = ''
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.list = arr
|
if (this.queryParams.method === '1') {
|
||||||
|
this.list = arr
|
||||||
|
this.list2 = []
|
||||||
|
} else {
|
||||||
|
this.list2 = arr
|
||||||
|
this.list1 = []
|
||||||
|
}
|
||||||
this.total = response.data.total;
|
this.total = response.data.total;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -212,7 +200,7 @@ export default {
|
|||||||
toggleTab() {
|
toggleTab() {
|
||||||
if (this.activeName === 'auto') {
|
if (this.activeName === 'auto') {
|
||||||
this.queryParams.method = '1'
|
this.queryParams.method = '1'
|
||||||
}else{
|
} else {
|
||||||
this.queryParams.method = '2'
|
this.queryParams.method = '2'
|
||||||
}
|
}
|
||||||
this.queryParams.pageNo = 1
|
this.queryParams.pageNo = 1
|
||||||
@ -232,21 +220,27 @@ export default {
|
|||||||
height: 2px;
|
height: 2px;
|
||||||
background-color: #e4e7ed;
|
background-color: #e4e7ed;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tabs__nav-wrap::after {
|
.el-tabs__nav-wrap::after {
|
||||||
width: 0;
|
width: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tabs__item {
|
.el-tabs__item {
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tabs__item:hover {
|
.el-tabs__item:hover {
|
||||||
color: rgba(0, 0, 0, 0.85);
|
color: rgba(0, 0, 0, 0.85);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tabs__item.is-active {
|
.el-tabs__item.is-active {
|
||||||
color: rgba(0, 0, 0, 0.85);
|
color: rgba(0, 0, 0, 0.85);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tabs__item {
|
.el-tabs__item {
|
||||||
color: rgba(0, 0, 0, 0.45);
|
color: rgba(0, 0, 0, 0.45);
|
||||||
}
|
}
|
||||||
|
|
||||||
.searchBarBox {
|
.searchBarBox {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
@ -112,7 +112,7 @@ export default class GanttGraph {
|
|||||||
// top: 12 + 128 * this.gridIndex,
|
// top: 12 + 128 * this.gridIndex,
|
||||||
top: 12 + 104 * this.gridIndex,
|
top: 12 + 104 * this.gridIndex,
|
||||||
right: 48,
|
right: 48,
|
||||||
left: 150,
|
left: 183,
|
||||||
height: 56
|
height: 56
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ export default {
|
|||||||
selectOptions: [],
|
selectOptions: [],
|
||||||
param: 'lineId',
|
param: 'lineId',
|
||||||
onchange: true,
|
onchange: true,
|
||||||
filterable: true
|
filterable: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'select',
|
type: 'select',
|
||||||
@ -127,7 +127,7 @@ export default {
|
|||||||
placeholder: '请选择工段',
|
placeholder: '请选择工段',
|
||||||
selectOptions: [],
|
selectOptions: [],
|
||||||
param: 'sectionId',
|
param: 'sectionId',
|
||||||
filterable: true
|
filterable: true,
|
||||||
},
|
},
|
||||||
// 时间段
|
// 时间段
|
||||||
{
|
{
|
||||||
@ -174,20 +174,20 @@ export default {
|
|||||||
// demo: [
|
// demo: [
|
||||||
// [
|
// [
|
||||||
// {
|
// {
|
||||||
// equipmentName: '下片机',
|
// equipmentName: '一大线四区2小线清洗机',
|
||||||
// duration: 30,
|
// duration: 30,
|
||||||
// relativeDuration: 0.6,
|
// relativeDuration: 0.6,
|
||||||
// status: 0,
|
// status: 0,
|
||||||
// startPos: 0,
|
// startPos: 0,
|
||||||
// startTime: 1691568181000,
|
// startTime: 1711073203686,
|
||||||
// },
|
// },
|
||||||
// {
|
// {
|
||||||
// equipmentName: '下片机',
|
// equipmentName: '一大线四区2小线清洗机',
|
||||||
// duration: 20,
|
// duration: 20,
|
||||||
// relativeDuration: 0.4,
|
// relativeDuration: 0.4,
|
||||||
// status: 2,
|
// status: 2,
|
||||||
// startPos: 30,
|
// startPos: 30,
|
||||||
// startTime: 1691569981000
|
// startTime: 1711072203686,
|
||||||
// },
|
// },
|
||||||
// ],
|
// ],
|
||||||
// ],
|
// ],
|
||||||
@ -259,6 +259,10 @@ export default {
|
|||||||
(eq) => eq[0].equipmentId
|
(eq) => eq[0].equipmentId
|
||||||
);
|
);
|
||||||
this.graphList = this.objectToArray(data);
|
this.graphList = this.objectToArray(data);
|
||||||
|
// this.graphList = this.demo.map(item => {
|
||||||
|
// item.key = item[0].equipmentName;
|
||||||
|
// return item;
|
||||||
|
// });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2021-11-18 14:16:25
|
* @Date: 2021-11-18 14:16:25
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @LastEditTime: 2023-12-08 13:59:20
|
* @LastEditTime: 2024-03-20 09:18:30
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -12,49 +12,47 @@
|
|||||||
</small-title>
|
</small-title>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<!-- <div class="visual-part"> -->
|
<!-- <div class="visual-part"> -->
|
||||||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
|
||||||
label-width="100px" label-position="top">
|
label-width="100px" label-position="top">
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="设备名称" prop="equipmentId">
|
<el-form-item label="设备名称" prop="equipmentId">
|
||||||
<el-select v-model="dataForm.equipmentId" filterable :disabled="isdetail" style="width: 100%"
|
<el-select v-model="dataForm.equipmentId" filterable :disabled="isdetail" style="width: 100%"
|
||||||
@change="getCode" placeholder="请选择设备名称">
|
@change="getCode" placeholder="请选择设备名称">
|
||||||
<el-option v-for="dict in equipmentList" :key=" dict.id" :label="dict.name" :value="dict.id" />
|
<el-option v-for="dict in equipmentList" :key=" dict.id" :label="dict.name" :value="dict.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="设备编码" prop="equipmentCode">
|
<el-form-item label="设备编码" prop="equipmentCode">
|
||||||
<el-input v-model="dataForm.equipmentCode" clearable :disabled="isdetail" placeholder="请输入设备编码" />
|
<el-input v-model="dataForm.equipmentCode" clearable :disabled="isdetail" placeholder="请输入设备编码" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="设备Bom编码" prop="code">
|
<el-form-item label="设备Bom编码" prop="code">
|
||||||
<el-input v-model="dataForm.code" clearable :disabled="isdetail" placeholder="请输入设备Bom编码" />
|
<el-input v-model="dataForm.code" clearable :disabled="isdetail" placeholder="请输入设备Bom编码" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="设备物料BOM名称" prop="name">
|
<el-form-item label="设备物料BOM名称" prop="name">
|
||||||
<el-input v-model="dataForm.name" clearable :disabled="isdetail" placeholder="请输入设备物料BOM名称" />
|
<el-input v-model="dataForm.name" clearable :disabled="isdetail" placeholder="请输入设备物料BOM名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="当前状态" prop="enabled">
|
<el-form-item label="当前状态" prop="enabled">
|
||||||
<el-select v-model="dataForm.enabled" filterable :disabled="isdetail" style="width: 100%"
|
<el-switch v-model="dataForm.enabled" :active-value="1" :inactive-value="0">
|
||||||
placeholder="请选择当前状态">
|
</el-switch>
|
||||||
<el-option v-for="dict in enableList" :key=" dict.id" :label="dict.name" :value="dict.id" />
|
</el-form-item>
|
||||||
</el-select>
|
</el-col>
|
||||||
</el-form-item>
|
<el-col :span="8">
|
||||||
</el-col>
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-col :span="8">
|
<el-input v-model="dataForm.remark" :disabled="isdetail" clearable placeholder="请输入备注" />
|
||||||
<el-form-item label="备注" prop="remark">
|
</el-form-item>
|
||||||
<el-input v-model="dataForm.remark" :disabled="isdetail" clearable placeholder="请输入备注" />
|
</el-col>
|
||||||
</el-form-item>
|
</el-row>
|
||||||
</el-col>
|
</el-form>
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
<div class="attr-list" v-if="idAttrShow">
|
<div class="attr-list" v-if="idAttrShow">
|
||||||
<small-title style="margin: 16px 0; padding-left: 8px" :no-padding="true">
|
<small-title style="margin: 16px 0; padding-left: 8px" :no-padding="true">
|
||||||
@ -77,9 +75,9 @@
|
|||||||
:limit.sync="listQuery.pageSize" :page-sizes="[5, 10, 15]" @pagination="getList" />
|
:limit.sync="listQuery.pageSize" :page-sizes="[5, 10, 15]" @pagination="getList" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="drawer-body__footer">
|
<div class="drawer-body__footer">
|
||||||
<el-button style="" @click="goback()">取消</el-button>
|
<el-button style="" @click="goback()">取消</el-button>
|
||||||
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
||||||
</div>
|
</div>
|
||||||
<attr-add v-if="addOrUpdateVisible" ref="addOrUpdate" :product-id="dataForm.id" @refreshDataList="getList" />
|
<attr-add v-if="addOrUpdateVisible" ref="addOrUpdate" :product-id="dataForm.id" @refreshDataList="getList" />
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
|
@ -93,6 +93,7 @@ export default {
|
|||||||
labelField: 'name',
|
labelField: 'name',
|
||||||
valueField: 'id',
|
valueField: 'id',
|
||||||
param: 'equipmentId',
|
param: 'equipmentId',
|
||||||
|
filterable: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'input',
|
type: 'input',
|
||||||
@ -146,6 +147,26 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
deleteHandle(id, name, index) {
|
||||||
|
this.$confirm(`是否确认删除设备物料bom${name}`, "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.urlOptions.deleteURL(id).then(({ data }) => {
|
||||||
|
this.$message({
|
||||||
|
message: "操作成功",
|
||||||
|
type: "success",
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getDataList();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => { });
|
||||||
|
},
|
||||||
getDict() {
|
getDict() {
|
||||||
getEquipmentList().then((res) => {
|
getEquipmentList().then((res) => {
|
||||||
// console.log(res);
|
// console.log(res);
|
||||||
|
@ -2,61 +2,63 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2021-11-18 14:16:25
|
* @Date: 2021-11-18 14:16:25
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @LastEditTime: 2024-03-08 09:14:38
|
* @LastEditTime: 2024-03-22 09:01:30
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-drawer :visible.sync="visible" :show-close="false" :wrapper-closable="false" class="drawer" size="50%">
|
<el-drawer :visible.sync="visible" :show-close="false" :wrapper-closable="true" class="drawer" size="50%">
|
||||||
<small-title slot="title" :no-padding="true">
|
<small-title slot="title" :no-padding="true">
|
||||||
{{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }}
|
{{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }}
|
||||||
</small-title>
|
</small-title>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<!-- <div class="visual-part"> -->
|
<!-- <div class="visual-part"> -->
|
||||||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
|
||||||
label-width="100px" label-position="top">
|
label-width="100px" label-position="top">
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="设备名称" prop="equipmentId">
|
<el-form-item label="设备名称" prop="equipmentId">
|
||||||
<el-select v-model="dataForm.equipmentId" filterable :disabled="isdetail" style="width: 100%"
|
<el-select v-model="dataForm.equipmentId" filterable :disabled="isdetail" style="width: 100%"
|
||||||
@change="getCode" placeholder="请选择设备名称">
|
@change="getCode" placeholder="请选择设备名称">
|
||||||
<el-option v-for="dict in equipmentList" :key=" dict.id" :label="dict.name" :value="dict.id" />
|
<el-option v-for="dict in equipmentList" :key=" dict.id" :label="dict.name" :value="dict.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="设备编码" prop="equipmentCode">
|
<el-form-item label="设备编码" prop="equipmentCode">
|
||||||
<el-input v-model="dataForm.equipmentCode" clearable :disabled="isdetail" placeholder="请输入设备编码" />
|
<el-input v-model="dataForm.equipmentCode" clearable :disabled="isdetail" placeholder="请输入设备编码" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="参数Bom编码" prop="code">
|
<el-form-item label="参数Bom编码" prop="code">
|
||||||
<el-input v-model="dataForm.code" clearable :disabled="isdetail" placeholder="请输入参数Bom编码" />
|
<el-input v-model="dataForm.code" clearable :disabled="isdetail" placeholder="请输入参数Bom编码" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="设备参数BOM名称" prop="name">
|
<el-form-item label="设备参数BOM名称" prop="name">
|
||||||
<el-input v-model="dataForm.name" clearable :disabled="isdetail" placeholder="请输入设备参数BOM名称" />
|
<el-input v-model="dataForm.name" clearable :disabled="isdetail" placeholder="请输入设备参数BOM名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="当前状态" prop="enabled">
|
<el-form-item label="当前状态" prop="enabled">
|
||||||
<!-- <el-switch v-model="dataForm.enabled" :active-value="1" :inactive-value="0" /> -->
|
<!-- <el-switch v-model="dataForm.enabled" :active-value="1" :inactive-value="0" /> -->
|
||||||
<el-select v-model="dataForm.enabled" filterable :disabled="isdetail" style="width: 100%"
|
<!-- <el-select v-model="dataForm.enabled" filterable :disabled="isdetail" style="width: 100%"
|
||||||
placeholder="请选择当前状态">
|
placeholder="请选择当前状态">
|
||||||
<el-option v-for="dict in enableList" :key=" dict.id" :label="dict.name" :value="dict.id" />
|
<el-option v-for="dict in enableList" :key=" dict.id" :label="dict.name" :value="dict.id" />
|
||||||
</el-select>
|
</el-select> -->
|
||||||
</el-form-item>
|
<el-switch v-model="dataForm.enabled" :active-value="1" :inactive-value="0">
|
||||||
</el-col>
|
</el-switch>
|
||||||
<el-col :span="8">
|
</el-form-item>
|
||||||
<el-form-item label="备注" prop="remark">
|
</el-col>
|
||||||
<el-input v-model="dataForm.remark" :disabled="isdetail" clearable placeholder="请输入备注" />
|
<el-col :span="8">
|
||||||
</el-form-item>
|
<el-form-item label="备注" prop="remark">
|
||||||
</el-col>
|
<el-input v-model="dataForm.remark" :disabled="isdetail" clearable placeholder="请输入备注" />
|
||||||
</el-row>
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
<!-- <div v-if="!isdetail" class="drawer-body__footer">
|
<!-- <div v-if="!isdetail" class="drawer-body__footer">
|
||||||
|
|
||||||
@ -83,7 +85,7 @@
|
|||||||
:limit.sync="listQuery.pageSize" :page-sizes="[5, 10, 15]" @pagination="getList" />
|
:limit.sync="listQuery.pageSize" :page-sizes="[5, 10, 15]" @pagination="getList" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="!isdetail" class="drawer-body__footer">
|
<div v-if="!isdetail" class="drawer-body__footer">
|
||||||
<el-button style="" @click="goback()">取消</el-button>
|
<el-button style="" @click="goback()">取消</el-button>
|
||||||
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -93,6 +93,8 @@ export default {
|
|||||||
labelField: 'name',
|
labelField: 'name',
|
||||||
valueField: 'id',
|
valueField: 'id',
|
||||||
param: 'equipmentId',
|
param: 'equipmentId',
|
||||||
|
filterable: true
|
||||||
|
// filter
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'input',
|
type: 'input',
|
||||||
@ -158,6 +160,26 @@ export default {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
deleteHandle(id, name, index) {
|
||||||
|
this.$confirm(`是否确认删除设备参数bom${ name}`, "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.urlOptions.deleteURL(id).then(({ data }) => {
|
||||||
|
this.$message({
|
||||||
|
message: "操作成功",
|
||||||
|
type: "success",
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getDataList();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => { });
|
||||||
|
},
|
||||||
// 获取数据列表
|
// 获取数据列表
|
||||||
getDataList() {
|
getDataList() {
|
||||||
this.dataListLoading = true;
|
this.dataListLoading = true;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
filename: index.vue
|
filename: index.vue
|
||||||
author: liubin
|
author: liubin
|
||||||
date: 2023-10-19 10:03:42
|
date: 2023-10-19 10:03:42
|
||||||
description:
|
description:
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@ -189,7 +189,7 @@ export default {
|
|||||||
input: true,
|
input: true,
|
||||||
label: '工艺编码',
|
label: '工艺编码',
|
||||||
prop: 'code',
|
prop: 'code',
|
||||||
// url: '/base/core-equipment/getCode',
|
url: '/extend/process-flow/getCode',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
@ -166,13 +166,20 @@ export default {
|
|||||||
this.resetForm('form');
|
this.resetForm('form');
|
||||||
},
|
},
|
||||||
deleteHandle(id, name, index, data) {
|
deleteHandle(id, name, index, data) {
|
||||||
|
console.log(data)
|
||||||
|
// const params = new URLSearchParams();
|
||||||
|
// params.append('productionLineId', data.productionLineId)
|
||||||
|
// params.append('sectionId', data.sectionId);
|
||||||
this.$confirm(`确认要删除产线名为${data.productionLineName}的数据项?`, "提示", {
|
this.$confirm(`确认要删除产线名为${data.productionLineName}的数据项?`, "提示", {
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消",
|
cancelButtonText: "取消",
|
||||||
type: "warning",
|
type: "warning",
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.urlOptions.deleteURL(data.id).then(({ data }) => {
|
this.urlOptions.deleteURL({
|
||||||
|
'productionLineId': data.productionLineId,
|
||||||
|
'sectionId': data.sectionId,
|
||||||
|
}).then(({ data }) => {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: "操作成功",
|
||||||
type: "success",
|
type: "success",
|
||||||
|
@ -34,6 +34,7 @@ import basicPage from './basic-page';
|
|||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import addOrUpdate from './dialogForm.vue';
|
import addOrUpdate from './dialogForm.vue';
|
||||||
import ProcessBomList from './ProcessBomList.vue';
|
import ProcessBomList from './ProcessBomList.vue';
|
||||||
|
import row from './row.vue';
|
||||||
export default {
|
export default {
|
||||||
name: 'QualityInspectionBoxBtn',
|
name: 'QualityInspectionBoxBtn',
|
||||||
mixins: [basicPage],
|
mixins: [basicPage],
|
||||||
@ -115,7 +116,8 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'datas',
|
prop: 'datas',
|
||||||
label: '产线及工段',
|
label: '产线及工段',
|
||||||
|
subcomponent: row
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
// 查询参数
|
// 查询参数
|
||||||
@ -168,7 +170,7 @@ export default {
|
|||||||
this.urlOptions.getDataListURL(this.listQuery).then(res => {
|
this.urlOptions.getDataListURL(this.listQuery).then(res => {
|
||||||
this.tableData = res.data.list.map((item) => {
|
this.tableData = res.data.list.map((item) => {
|
||||||
return {
|
return {
|
||||||
datas: item.strList ? item.strList.toString() : null,
|
datas: item.strList || null,
|
||||||
nickName: item.nickName,
|
nickName: item.nickName,
|
||||||
userName: item.userName,
|
userName: item.userName,
|
||||||
userId: item.userId
|
userId: item.userId
|
||||||
|
@ -0,0 +1,46 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zhp
|
||||||
|
* @Date: 2024-03-20 10:01:01
|
||||||
|
* @LastEditTime: 2024-03-20 10:03:39
|
||||||
|
* @LastEditors: zhp
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="tableInner">
|
||||||
|
<div v-for="(item,index) in injectData.datas" :key="index">
|
||||||
|
<span> {{ item }} </span>
|
||||||
|
</div>
|
||||||
|
<!-- <el-input-number v-model="list[itemProp]" @blur="changeInput" :min="0" :max="100000000" style="width: 100%" :controls='false'></el-input-number> -->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'InputArea',
|
||||||
|
props: {
|
||||||
|
injectData: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({})
|
||||||
|
},
|
||||||
|
itemProp: {
|
||||||
|
type: String
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
list: this.injectData
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// changeInput() {
|
||||||
|
// this.$emit('emitData', this.list)
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
// .tableInner .el-input__inner {
|
||||||
|
// border: none;
|
||||||
|
// padding: 0;
|
||||||
|
// height: 33px;
|
||||||
|
// }
|
||||||
|
</style>
|
@ -1,12 +1,12 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-12-08 13:46:17
|
* @Date: 2023-12-08 13:46:17
|
||||||
* @LastEditTime: 2024-03-15 14:54:38
|
* @LastEditTime: 2024-03-21 10:40:52
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-drawer :visible.sync="visible" :show-close="true" :wrapper-closable="false" class="drawer" size="50%">
|
<el-drawer :visible.sync="visible" :show-close="true" :wrapper-closable="true" class="drawer" size="50%">
|
||||||
<small-title slot="title" :no-padding="true" @close="handleClose">
|
<small-title slot="title" :no-padding="true" @close="handleClose">
|
||||||
{{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }}
|
{{ isdetail ? '详情' : !dataForm.id ? '新增' : '编辑' }}
|
||||||
</small-title>
|
</small-title>
|
||||||
@ -114,7 +114,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="原料等级" prop="materialGrade">
|
<el-form-item label="原料等级" prop="materialGrade">
|
||||||
<el-select :disabled="isdetail" v-model="dataForm.materialGrade" placeholder="请选择" style="width: 100%;">
|
<el-select :disabled="isdetail" v-model="dataForm.materialGrade" placeholder="请选择">
|
||||||
<el-option v-for="item in gradeList" :key="item.value" :label="item.label" :value="item.value">
|
<el-option v-for="item in gradeList" :key="item.value" :label="item.label" :value="item.value">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -122,14 +122,14 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input :disabled="isdetail" v-model="dataForm.remark" placeholder="请填写备注" style="width: 100%;">
|
<el-input @input="onInput" :disabled="isdetail" v-model="dataForm.remark" placeholder="请填写备注">
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
<div class="attr-list" v-if="idAttrShow">
|
<!-- <div class="attr-list" v-if="idAttrShow"> -->
|
||||||
<!-- <small-title style="margin: 16px 0; padding-left: 8px" :no-padding="true">
|
<!-- <small-title style="margin: 16px 0; padding-left: 8px" :no-padding="true">
|
||||||
设备物料明细
|
设备物料明细
|
||||||
</small-title>
|
</small-title>
|
||||||
|
|
||||||
@ -147,9 +147,9 @@
|
|||||||
</base-table>
|
</base-table>
|
||||||
<pagination v-show="listQuery.total > 0" :total="listQuery.total" :page.sync="listQuery.pageNo"
|
<pagination v-show="listQuery.total > 0" :total="listQuery.total" :page.sync="listQuery.pageNo"
|
||||||
:limit.sync="listQuery.pageSize" :page-sizes="[5, 10, 15]" @pagination="getList" /> -->
|
:limit.sync="listQuery.pageSize" :page-sizes="[5, 10, 15]" @pagination="getList" /> -->
|
||||||
</div>
|
<!-- </div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="drawer-body__footer">
|
<div v-if="!isdetail" class="drawer-body__footer">
|
||||||
<el-button style="" @click="goback()">取消</el-button>
|
<el-button style="" @click="goback()">取消</el-button>
|
||||||
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
||||||
</div>
|
</div>
|
||||||
@ -237,7 +237,7 @@ export default {
|
|||||||
checkValueList: [],
|
checkValueList: [],
|
||||||
checkResult: '',
|
checkResult: '',
|
||||||
materialGrade: undefined,
|
materialGrade: undefined,
|
||||||
remark:null,
|
remark:undefined,
|
||||||
},
|
},
|
||||||
productAttrList: [],
|
productAttrList: [],
|
||||||
visible: false,
|
visible: false,
|
||||||
@ -257,6 +257,9 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
onInput() {
|
||||||
|
this.$forceUpdate();
|
||||||
|
},
|
||||||
judgeValue(val, minValue, maxValue, index) {
|
judgeValue(val, minValue, maxValue, index) {
|
||||||
if (val >= minValue && val <= maxValue) {
|
if (val >= minValue && val <= maxValue) {
|
||||||
console.log(val)
|
console.log(val)
|
||||||
@ -268,7 +271,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleClose() {
|
handleClose() {
|
||||||
this.ingredientList = undefined
|
this.ingredientList = []
|
||||||
console.log(222222222);
|
console.log(222222222);
|
||||||
},
|
},
|
||||||
dataFormSubmit() {
|
dataFormSubmit() {
|
||||||
@ -454,17 +457,17 @@ export default {
|
|||||||
// });
|
// });
|
||||||
// },
|
// },
|
||||||
init(id, isdetail) {
|
init(id, isdetail) {
|
||||||
this.initData()
|
// this.initData()
|
||||||
this.getDict()
|
this.getDict()
|
||||||
this.ingredientList = []
|
this.ingredientList = []
|
||||||
this.isdetail = isdetail || false;
|
this.isdetail = isdetail || false;
|
||||||
this.dataForm.id = id || undefined;
|
this.dataForm.id = id || undefined;
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
if (id) {
|
// if (id) {
|
||||||
this.idAttrShow = true
|
// this.idAttrShow = true
|
||||||
} else {
|
// } else {
|
||||||
this.idAttrShow = false
|
// this.idAttrShow = false
|
||||||
}
|
// }
|
||||||
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs['dataForm'].resetFields();
|
this.$refs['dataForm'].resetFields();
|
||||||
@ -537,9 +540,9 @@ export default {
|
|||||||
// 获取产品属性列表
|
// 获取产品属性列表
|
||||||
// this.getList();
|
// this.getList();
|
||||||
} else {
|
} else {
|
||||||
if (this.urlOptions.isGetCode) {
|
// if (this.urlOptions.isGetCode) {
|
||||||
this.getCode()
|
// this.getCode()
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -553,12 +556,12 @@ export default {
|
|||||||
this.isdetail = false;
|
this.isdetail = false;
|
||||||
},
|
},
|
||||||
// 新增 / 修改
|
// 新增 / 修改
|
||||||
addNew(id) {
|
// addNew(id) {
|
||||||
this.addOrUpdateVisible = true;
|
// this.addOrUpdateVisible = true;
|
||||||
this.$nextTick(() => {
|
// this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(id,this.dataForm.id);
|
// this.$refs.addOrUpdate.init(id,this.dataForm.id);
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -59,12 +59,18 @@ const tableProps = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'materialGrade',
|
prop: 'materialGrade',
|
||||||
label: '原料等级'
|
label: '原料等级',
|
||||||
|
filter: (val) => val == 1 ? 'A' : val == 2 ? 'B' : 'C',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'checkerName',
|
prop: 'checkerName',
|
||||||
label: '检测人员'
|
label: '检测人员'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
prop: 'checkTime',
|
||||||
|
label: '检测时间',
|
||||||
|
filter: parseTime
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -112,6 +118,20 @@ export default {
|
|||||||
labelField: 'name',
|
labelField: 'name',
|
||||||
valueField: 'id',
|
valueField: 'id',
|
||||||
param: 'materialId',
|
param: 'materialId',
|
||||||
|
filterable: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'datePicker',
|
||||||
|
label: '时间段',
|
||||||
|
dateType: 'daterange',
|
||||||
|
format: 'yyyy-MM-dd HH:mm:ss',
|
||||||
|
valueFormat: "yyyy-MM-dd HH:mm:ss",
|
||||||
|
rangeSeparator: '-',
|
||||||
|
startPlaceholder: '开始时间',
|
||||||
|
endPlaceholder: '结束时间',
|
||||||
|
param: 'checkTime',
|
||||||
|
defaultSelect: [],
|
||||||
|
width: 250
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
@ -159,7 +179,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
deleteHandle(id, name, index, data) {
|
deleteHandle(id, name, index, data) {
|
||||||
this.$confirm(`确认要删除序号为${index}的数据项?`, "提示", {
|
this.$confirm(`确认要删除序号${index}?`, "提示", {
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消",
|
cancelButtonText: "取消",
|
||||||
type: "warning",
|
type: "warning",
|
||||||
@ -189,7 +209,7 @@ export default {
|
|||||||
this.listQuery.pageNo = 1;
|
this.listQuery.pageNo = 1;
|
||||||
this.listQuery.pageSize = 10;
|
this.listQuery.pageSize = 10;
|
||||||
this.listQuery.materialId = val.materialId ? val.materialId : undefined;
|
this.listQuery.materialId = val.materialId ? val.materialId : undefined;
|
||||||
// this.listQuery.typeId = val.typeId ? val.typeId : undefined;
|
this.listQuery.checkTime = val.checkTime ? val.checkTime : undefined;
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
break;
|
break;
|
||||||
case 'reset':
|
case 'reset':
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
<!-- </span> -->
|
<!-- </span> -->
|
||||||
<el-tabs style="margin-top: 10px;" v-model="activeName" type="card" @tab-click="handleClick">
|
<el-tabs style="margin-top: 10px;" v-model="activeName" type="card" @tab-click="handleClick">
|
||||||
<el-tab-pane label="天" name="day">
|
<el-tab-pane label="天" name="day">
|
||||||
<div id="mapDayMain" style="height: 500px;width: 1000px;"></div>
|
<div id="mapDayMain" style="margin-bottom: 30px;height: 500px;width: 1000px;"></div>
|
||||||
<div id="listDayMain" style="height: 500px;width: 1000px;"></div>
|
<div id="listDayMain" style="height: 500px;width: 1000px;"></div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="周" name="week">
|
<el-tab-pane label="周" name="week">
|
||||||
@ -232,18 +232,23 @@ export default {
|
|||||||
var option;
|
var option;
|
||||||
option = {
|
option = {
|
||||||
title: {
|
title: {
|
||||||
text: '各类型缺陷对比图'
|
text: '各类型缺陷对比图',
|
||||||
|
// top:'5px'
|
||||||
},
|
},
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'axis'
|
trigger: 'axis'
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
data: mapLegendData
|
data: mapLegendData,
|
||||||
|
top: "10%",
|
||||||
|
y: 'top',
|
||||||
|
x:'left'
|
||||||
},
|
},
|
||||||
grid: {
|
grid: {
|
||||||
left: '3%',
|
left: '3%',
|
||||||
right: '4%',
|
right: '4%',
|
||||||
bottom: '3%',
|
bottom: '3%',
|
||||||
|
top:'20%',
|
||||||
containLabel: true
|
containLabel: true
|
||||||
},
|
},
|
||||||
// toolbox: {
|
// toolbox: {
|
||||||
@ -299,7 +304,7 @@ export default {
|
|||||||
trigger: 'axis'
|
trigger: 'axis'
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
data: ['缺陷数量', '缺陷率']
|
data: ['缺陷数量', '缺陷率'],
|
||||||
},
|
},
|
||||||
grid: {
|
grid: {
|
||||||
left: '3%',
|
left: '3%',
|
||||||
@ -345,15 +350,15 @@ export default {
|
|||||||
type: 'bar',
|
type: 'bar',
|
||||||
barWidth: '3%',
|
barWidth: '3%',
|
||||||
data: listNumArr,
|
data: listNumArr,
|
||||||
label: {
|
// label: {
|
||||||
show: true, //开启显示
|
// show: true, //开启显示
|
||||||
position: 'top', //在上方显示
|
// position: 'top', //在上方显示
|
||||||
// formatter: '{c}%',//显示百分号
|
// // formatter: '{c}%',//显示百分号
|
||||||
textStyle: { //数值样式
|
// textStyle: { //数值样式
|
||||||
color: 'black',//字体颜色
|
// color: 'black',//字体颜色
|
||||||
fontSize: 20//字体大小
|
// fontSize: 12//字体大小
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '缺陷率',
|
name: '缺陷率',
|
||||||
@ -464,6 +469,7 @@ export default {
|
|||||||
this.queryParams.endTime = val.checkTime ? val.checkTime[1] : undefined
|
this.queryParams.endTime = val.checkTime ? val.checkTime[1] : undefined
|
||||||
|
|
||||||
this.getList()
|
this.getList()
|
||||||
|
this.getData()
|
||||||
}
|
}
|
||||||
console.log(val);
|
console.log(val);
|
||||||
}
|
}
|
||||||
|
@ -101,6 +101,7 @@ export default {
|
|||||||
label: '报废原因',
|
label: '报废原因',
|
||||||
placeholder: '报废原因',
|
placeholder: '报废原因',
|
||||||
param: 'content',
|
param: 'content',
|
||||||
|
// filterable: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'select',
|
type: 'select',
|
||||||
@ -109,6 +110,7 @@ export default {
|
|||||||
labelField: 'name',
|
labelField: 'name',
|
||||||
valueField: 'id',
|
valueField: 'id',
|
||||||
param: 'typeId',
|
param: 'typeId',
|
||||||
|
filterable: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-11-06 15:15:30
|
* @Date: 2023-11-06 15:15:30
|
||||||
* @LastEditTime: 2024-03-15 14:31:10
|
* @LastEditTime: 2024-03-20 09:38:10
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -22,7 +22,8 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="报废时间" prop="logTime">
|
<el-form-item label="报废时间" prop="logTime">
|
||||||
<el-date-picker style="width: 100%;" v-model="dataForm.logTime" type="datetime" value-format="timestamp" placeholder="选择日期">
|
<el-date-picker style="width: 100%;" v-model="dataForm.logTime" type="datetime" value-format="timestamp"
|
||||||
|
placeholder="选择日期">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -51,18 +52,17 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="8">
|
<el-col :span="24">
|
||||||
<el-form-item label="描述" prop="description">
|
<el-form-item label="描述" prop="description">
|
||||||
<el-input v-model="dataForm.description" placeholder="请输入描述" />
|
<el-input v-model="dataForm.description" type="textarea" :rows="4" placeholder="请输入描述" />
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="备注" prop="remark">
|
|
||||||
<el-input v-model="dataForm.remark" placeholder="备注" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="dataForm.remark" placeholder="备注" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-02-28 09:51:25
|
* @Date: 2024-02-28 09:51:25
|
||||||
* @LastEditTime: 2024-03-15 14:34:29
|
* @LastEditTime: 2024-03-20 09:42:46
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
@ -24,10 +24,9 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.dataForm.logTime = this.format(new Date().getTime())
|
|
||||||
console.log(this.dataForm.logTime);
|
console.log(this.dataForm.logTime);
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted() {
|
||||||
},
|
},
|
||||||
// activated() {
|
// activated() {
|
||||||
// },
|
// },
|
||||||
@ -50,7 +49,8 @@ export default {
|
|||||||
this.getArr()
|
this.getArr()
|
||||||
}
|
}
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs["dataForm"].resetFields();
|
this.$refs["dataForm"].resetFields()
|
||||||
|
this.dataForm.logTime = new Date()
|
||||||
if (this.dataForm.id) {
|
if (this.dataForm.id) {
|
||||||
this.urlOptions.infoURL(id).then(response => {
|
this.urlOptions.infoURL(id).then(response => {
|
||||||
console.log(response)
|
console.log(response)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-11-06 15:15:30
|
* @Date: 2023-11-06 15:15:30
|
||||||
* @LastEditTime: 2024-03-15 14:33:12
|
* @LastEditTime: 2024-03-20 09:40:42
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -57,18 +57,17 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="8">
|
<el-col :span="24">
|
||||||
<el-form-item label="描述" prop="description">
|
<el-form-item label="描述" prop="description">
|
||||||
<el-input v-model="dataForm.description" placeholder="请输入描述" disabled />
|
<el-input v-model="dataForm.description" type="textarea" :rows="4" placeholder="请输入描述" />
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="备注" prop="remark">
|
|
||||||
<el-input v-model="dataForm.remark" placeholder="备注" disabled />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="dataForm.remark" placeholder="备注" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ const tableProps = [
|
|||||||
{
|
{
|
||||||
prop: 'detContent',
|
prop: 'detContent',
|
||||||
label: '报废原因'
|
label: '报废原因'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'source',
|
prop: 'source',
|
||||||
label: '来源',
|
label: '来源',
|
||||||
@ -107,15 +107,17 @@ export default {
|
|||||||
labelField: 'name',
|
labelField: 'name',
|
||||||
valueField: 'id',
|
valueField: 'id',
|
||||||
param: 'workOrderId',
|
param: 'workOrderId',
|
||||||
|
filterable: true
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
type: 'select',
|
// type: 'select',
|
||||||
label: '班组',
|
// label: '班组',
|
||||||
selectOptions: [],
|
// selectOptions: [],
|
||||||
labelField: 'name',
|
// labelField: 'name',
|
||||||
valueField: 'id',
|
// valueField: 'id',
|
||||||
param: 'teamId',
|
// param: 'teamId',
|
||||||
},
|
// filterable: true
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
btnName: '查询',
|
btnName: '查询',
|
||||||
@ -214,7 +216,7 @@ export default {
|
|||||||
this.listQuery.pageNo = 1;
|
this.listQuery.pageNo = 1;
|
||||||
this.listQuery.pageSize = 10;
|
this.listQuery.pageSize = 10;
|
||||||
this.listQuery.workOrderId = val.workOrderId ? val.workOrderId : undefined;
|
this.listQuery.workOrderId = val.workOrderId ? val.workOrderId : undefined;
|
||||||
this.listQuery.teamId = val.teamId ? val.teamId : undefined;
|
// this.listQuery.teamId = val.teamId ? val.teamId : undefined;
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
break;
|
break;
|
||||||
case 'reset':
|
case 'reset':
|
||||||
|
@ -17,10 +17,10 @@
|
|||||||
@mouseleave="factoryListOpen = false">
|
@mouseleave="factoryListOpen = false">
|
||||||
{{ currentFactory?.label || '点我选择设备' }}
|
{{ currentFactory?.label || '点我选择设备' }}
|
||||||
<div class="factory-list__wrapper" :class="{ open: factoryListOpen }">
|
<div class="factory-list__wrapper" :class="{ open: factoryListOpen }">
|
||||||
<ul class="factory-list" v-if="sidebarContent.length" @click.prevent="factoryChangeHandler">
|
<ul class="factory-list" v-if="sidebarContent.length" @click.capture="factoryChangeHandler">
|
||||||
<li v-for="fc in sidebarContent" :key="fc.id" :data-value="fc.id" class="factory-list__item"
|
<li v-for="fc in sidebarContent" :key="fc.id" class="factory-list__item"
|
||||||
:class="{ 'is-current': fc.id == currentFactory?.id }">
|
:class="{ 'is-current': fc.id == currentFactory?.id }">
|
||||||
<span>
|
<span :data-value="fc.id">
|
||||||
{{ fc.label }}
|
{{ fc.label }}
|
||||||
</span>
|
</span>
|
||||||
<svg-icon v-if="fc.id == currentFactory?.id" icon-class="Confirm" style="height: 14px; width: 14px" />
|
<svg-icon v-if="fc.id == currentFactory?.id" icon-class="Confirm" style="height: 14px; width: 14px" />
|
||||||
@ -95,12 +95,12 @@ export default {
|
|||||||
factoryListOpen: false,
|
factoryListOpen: false,
|
||||||
currentFactory: null,
|
currentFactory: null,
|
||||||
factoryList: [
|
factoryList: [
|
||||||
{ name: '1', value: 1 },
|
// { name: '1', value: 1 },
|
||||||
{ name: '2', value: 2 },
|
// { name: '2', value: 2 },
|
||||||
{ name: '3', value: 3 },
|
// { name: '3', value: 3 },
|
||||||
{ name: '4', value: 4 },
|
// { name: '4', value: 4 },
|
||||||
{ name: '5', value: 5 },
|
// { name: '5', value: 5 },
|
||||||
{ name: '6', value: 6 },
|
// { name: '6', value: 6 },
|
||||||
],
|
],
|
||||||
sidebarContent: [
|
sidebarContent: [
|
||||||
// {
|
// {
|
||||||
@ -486,14 +486,12 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
async getTree(id) {
|
async getTree(id) {
|
||||||
getTreeData({id:id}).then((res) => {
|
const res = await getTreeData({ id: id })
|
||||||
console.log(res.data);
|
console.log(res.data)
|
||||||
this.sidebarContent = res.data;
|
this.buildTree(res.data);
|
||||||
this.buildTree(res.data);
|
this.sidebarContent = res.data;
|
||||||
console.log('tree', this.sidebarContent);
|
console.log('tree', this.sidebarContent)
|
||||||
// console.log(this.formConfig[0].selectOptions);
|
console.log(this.sidebarContent);
|
||||||
// this.listQuery.total = response.data.total;
|
|
||||||
})
|
|
||||||
// const { data } = await this.$axios('/base/core-factory/getTreeByWorkOrder');
|
// const { data } = await this.$axios('/base/core-factory/getTreeByWorkOrder');
|
||||||
// console.log(data)
|
// console.log(data)
|
||||||
|
|
||||||
@ -504,10 +502,13 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
factoryChangeHandler(event) {
|
factoryChangeHandler(event) {
|
||||||
this.factoryListOpen = false;
|
this.currentFactory =undefined
|
||||||
|
this.factoryListOpen = false
|
||||||
|
console.log(event.target.dataset);
|
||||||
const fcId = event.target.dataset.value;
|
const fcId = event.target.dataset.value;
|
||||||
this.handleSidebarItemClick({ id: fcId, type: '工厂' });
|
this.handleSidebarItemClick({ id: fcId, type: '工厂' });
|
||||||
this.currentFactory = this.sidebarContent.find((item) => item.id == fcId);
|
this.currentFactory = this.sidebarContent.find((item) => item.id == fcId)
|
||||||
|
console.log(this.currentFactory);
|
||||||
},
|
},
|
||||||
|
|
||||||
handleSidebarItemClick({ label, id, type }) {
|
handleSidebarItemClick({ label, id, type }) {
|
||||||
|
@ -6,83 +6,60 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container allow-overflow">
|
<div class="app-container allow-overflow">
|
||||||
<!-- 搜索工作栏 -->
|
<!-- 搜索工作栏 -->
|
||||||
<SearchBar
|
<SearchBar :formConfigs="searchBarFormConfig" ref="search-bar" @headBtnClick="handleSearchBarBtnClick" />
|
||||||
:formConfigs="searchBarFormConfig"
|
|
||||||
ref="search-bar"
|
|
||||||
@headBtnClick="handleSearchBarBtnClick" />
|
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col class="custom-tabs">
|
<el-col class="custom-tabs">
|
||||||
<el-tabs
|
<el-tabs v-model="activeName" :stretch="true" @tab-click="handleTabClick">
|
||||||
v-model="activeName"
|
<el-tab-pane :label="'\u2002数据列表\u2002'" name="table">
|
||||||
:stretch="true"
|
<!-- 列表 -->
|
||||||
@tab-click="handleTabClick">
|
<base-table class="base-table__margin" :table-props="tableProps" :page="1" :limit="10" :max-height="tableH"
|
||||||
<el-tab-pane :label="'\u2002数据列表\u2002'" name="table">
|
:table-data="list" @emitFun="handleEmitFun"></base-table>
|
||||||
<!-- 列表 -->
|
</el-tab-pane>
|
||||||
<base-table
|
<el-tab-pane :label="'\u3000可视化\u3000'" name="graph" style="overflow: inherit">
|
||||||
class="base-table__margin"
|
<div v-if="activeName == 'graph'" class="graph" style="
|
||||||
:table-props="tableProps"
|
|
||||||
:page="1"
|
|
||||||
:limit="10"
|
|
||||||
:table-data="list"
|
|
||||||
@emitFun="handleEmitFun"></base-table>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane
|
|
||||||
:label="'\u3000可视化\u3000'"
|
|
||||||
name="graph"
|
|
||||||
style="overflow: inherit">
|
|
||||||
<div
|
|
||||||
v-if="activeName == 'graph'"
|
|
||||||
class="graph"
|
|
||||||
style="
|
|
||||||
overflow: inherit;
|
overflow: inherit;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
position: relative;
|
position: relative;
|
||||||
">
|
">
|
||||||
<div class="blue-title">各设备加工数量</div>
|
<div class="blue-title">各设备加工数量</div>
|
||||||
<div class="legend">
|
<div class="legend">
|
||||||
<div class="legend-item">
|
<div class="legend-item">
|
||||||
<span class="icon blue"></span>
|
<span class="icon blue"></span>
|
||||||
<span class="text">工作时长</span>
|
<span class="text">工作时长</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="legend-item">
|
<div class="legend-item">
|
||||||
<span class="icon green"></span>
|
<span class="icon green"></span>
|
||||||
<span class="text">停机时长</span>
|
<span class="text">停机时长</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="legend-item">
|
<div class="legend-item">
|
||||||
<span class="icon purple"></span>
|
<span class="icon purple"></span>
|
||||||
<span class="text">故障时长</span>
|
<span class="text">故障时长</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="legend-item">
|
<div class="legend-item">
|
||||||
<span class="icon yellow"></span>
|
<span class="icon yellow"></span>
|
||||||
<span class="text">速度开动率</span>
|
<span class="text">速度开动率</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="graph-grid">
|
<div class="graph-grid">
|
||||||
<div class="bg-grid grid-line">
|
<div class="bg-grid grid-line">
|
||||||
<div
|
<div class="grid-item" v-for="item in list.length" :key="item"></div>
|
||||||
class="grid-item"
|
</div>
|
||||||
v-for="item in list.length"
|
|
||||||
:key="item"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="bg-grid grid-charts">
|
<div class="bg-grid grid-charts">
|
||||||
<pie-chart
|
<pie-chart v-for="item in list" :key="item.id" :value="item" />
|
||||||
v-for="item in list"
|
<!-- <pie-chart v-for="item in 5" :key="item" :value="item" /> -->
|
||||||
:key="item.id"
|
</div>
|
||||||
:value="item" />
|
</div>
|
||||||
<!-- <pie-chart v-for="item in 5" :key="item" :value="item" /> -->
|
</div>
|
||||||
</div>
|
</el-tab-pane>
|
||||||
</div>
|
</el-tabs>
|
||||||
</div>
|
</el-col>
|
||||||
</el-tab-pane>
|
</el-row>
|
||||||
</el-tabs>
|
</div>
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -116,7 +93,8 @@ export default {
|
|||||||
// btnName: '删除',
|
// btnName: '删除',
|
||||||
// }
|
// }
|
||||||
// : undefined,
|
// : undefined,
|
||||||
// ].filter((v) => v),
|
// ].filter((v) => v),
|
||||||
|
tableH: this.tableHeight(260),
|
||||||
tableProps: [
|
tableProps: [
|
||||||
{ prop: 'factoryName', label: '工厂' },
|
{ prop: 'factoryName', label: '工厂' },
|
||||||
{ prop: 'lineName', label: '产线' },
|
{ prop: 'lineName', label: '产线' },
|
||||||
@ -331,7 +309,10 @@ export default {
|
|||||||
list: [],
|
list: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
window.addEventListener('resize', () => {
|
||||||
|
this.tableH = this.tableHeight(260)
|
||||||
|
})
|
||||||
this.getWorkOrder()
|
this.getWorkOrder()
|
||||||
// this.getLine();
|
// this.getLine();
|
||||||
this.getList();
|
this.getList();
|
||||||
|
@ -2,13 +2,14 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-08-01 14:55:51
|
* @Date: 2023-08-01 14:55:51
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @LastEditTime: 2023-12-01 16:41:40
|
* @LastEditTime: 2024-03-21 15:14:04
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||||
<base-table :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize" :table-data="list">
|
<base-table :max-height="tableH" :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize"
|
||||||
|
:table-data="list">
|
||||||
<!-- <method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
<!-- <method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" /> -->
|
@clickBtn="handleClick" /> -->
|
||||||
</base-table>
|
</base-table>
|
||||||
@ -81,6 +82,7 @@ export default {
|
|||||||
// // exportURL: exportPackingExcel,
|
// // exportURL: exportPackingExcel,
|
||||||
// },
|
// },
|
||||||
tableProps,
|
tableProps,
|
||||||
|
tableH: this.tableHeight(260),
|
||||||
tableBtn: [
|
tableBtn: [
|
||||||
this.$auth.hasPermi(`base:packaging-print-log:update`)
|
this.$auth.hasPermi(`base:packaging-print-log:update`)
|
||||||
? {
|
? {
|
||||||
@ -172,6 +174,9 @@ export default {
|
|||||||
// AddOrUpdate,
|
// AddOrUpdate,
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
window.addEventListener('resize', () => {
|
||||||
|
this.tableH = this.tableHeight(260)
|
||||||
|
})
|
||||||
this.getList()
|
this.getList()
|
||||||
this.getDict()
|
this.getDict()
|
||||||
},
|
},
|
||||||
|
@ -2,13 +2,14 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-08-01 14:55:51
|
* @Date: 2023-08-01 14:55:51
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @LastEditTime: 2024-03-01 10:27:29
|
* @LastEditTime: 2024-03-21 15:17:05
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||||
<base-table :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize" :table-data="list">
|
<base-table :max-height="tableH" :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize"
|
||||||
|
:table-data="list">
|
||||||
<!-- <method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
<!-- <method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" /> -->
|
@clickBtn="handleClick" /> -->
|
||||||
</base-table>
|
</base-table>
|
||||||
@ -118,6 +119,7 @@ export default {
|
|||||||
startTime: undefined,
|
startTime: undefined,
|
||||||
endTime:undefined,
|
endTime:undefined,
|
||||||
},
|
},
|
||||||
|
tableH: this.tableHeight(260),
|
||||||
formConfig: [
|
formConfig: [
|
||||||
{
|
{
|
||||||
type: 'select',
|
type: 'select',
|
||||||
@ -125,7 +127,8 @@ export default {
|
|||||||
selectOptions: [],
|
selectOptions: [],
|
||||||
labelField: 'name',
|
labelField: 'name',
|
||||||
valueField: 'name',
|
valueField: 'name',
|
||||||
param: 'workOrderName'
|
param: 'workOrderName',
|
||||||
|
filterable: true
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// type: 'datePicker',
|
// type: 'datePicker',
|
||||||
@ -181,6 +184,9 @@ export default {
|
|||||||
// AddOrUpdate,
|
// AddOrUpdate,
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
window.addEventListener('resize', () => {
|
||||||
|
this.tableH = this.tableHeight(260)
|
||||||
|
})
|
||||||
this.getList()
|
this.getList()
|
||||||
this.getDict()
|
this.getDict()
|
||||||
},
|
},
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-08-01 14:55:51
|
* @Date: 2023-08-01 14:55:51
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @LastEditTime: 2024-03-15 15:22:59
|
* @LastEditTime: 2024-03-20 09:25:40
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -124,7 +124,7 @@ export default {
|
|||||||
label: '时间段',
|
label: '时间段',
|
||||||
dateType: 'daterange',
|
dateType: 'daterange',
|
||||||
format: 'yyyy-MM-dd',
|
format: 'yyyy-MM-dd',
|
||||||
valueFormat: "yyyy-MM-dd",
|
valueFormat: "timestamp",
|
||||||
rangeSeparator: '-',
|
rangeSeparator: '-',
|
||||||
startPlaceholder: '开始时间',
|
startPlaceholder: '开始时间',
|
||||||
endPlaceholder: '结束时间',
|
endPlaceholder: '结束时间',
|
||||||
@ -251,8 +251,8 @@ export default {
|
|||||||
this.listQuery.orderName = val.orderName ? val.orderName :undefined
|
this.listQuery.orderName = val.orderName ? val.orderName :undefined
|
||||||
// this.queryParams.status = val.status
|
// this.queryParams.status = val.status
|
||||||
if (val.timeVal && val.timeVal.length != 0 ) {
|
if (val.timeVal && val.timeVal.length != 0 ) {
|
||||||
this.listQuery.startTime = val.timeVal[0] + ' 00:00:00'
|
this.listQuery.startTime = val.timeVal[0]
|
||||||
this.listQuery.endTime = val.timeVal[1] + ' 23:59:59'
|
this.listQuery.endTime = val.timeVal[1]
|
||||||
} else {
|
} else {
|
||||||
this.listQuery.startTime = undefined
|
this.listQuery.startTime = undefined
|
||||||
this.listQuery.endTime = undefined
|
this.listQuery.endTime = undefined
|
||||||
|
@ -74,14 +74,16 @@ export default {
|
|||||||
multiple: true,
|
multiple: true,
|
||||||
labelField: 'name',
|
labelField: 'name',
|
||||||
valueField: 'id',
|
valueField: 'id',
|
||||||
defaultSelect: []
|
defaultSelect: [],
|
||||||
|
filterable: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 'select',
|
type: 'select',
|
||||||
label: '产品',
|
label: '产品',
|
||||||
placeholder: '请选择产品',
|
placeholder: '请选择产品',
|
||||||
param: 'productionId',
|
param: 'productionId',
|
||||||
selectOptions: [],
|
selectOptions: [],
|
||||||
|
filterable: true
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// type: 'input',
|
// type: 'input',
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2024-01-24 15:15:24
|
* @Date: 2024-01-24 15:15:24
|
||||||
* @LastEditTime: 2024-03-18 16:00:41
|
* @LastEditTime: 2024-03-22 10:14:23
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -82,8 +82,9 @@ export default {
|
|||||||
},
|
},
|
||||||
// 获取数据列表
|
// 获取数据列表
|
||||||
multipliedByHundred(str) {
|
multipliedByHundred(str) {
|
||||||
|
console.log(str);
|
||||||
// console.log(str)
|
// console.log(str)
|
||||||
if (str != 0) {
|
if ( str != 0) {
|
||||||
let floatVal = parseFloat(str);
|
let floatVal = parseFloat(str);
|
||||||
if (isNaN(floatVal)) {
|
if (isNaN(floatVal)) {
|
||||||
return 0;
|
return 0;
|
||||||
@ -116,10 +117,10 @@ export default {
|
|||||||
if (ele.det === false) {
|
if (ele.det === false) {
|
||||||
res.data[index].lineName = '合计'
|
res.data[index].lineName = '合计'
|
||||||
this.remark = res.data[index].remark
|
this.remark = res.data[index].remark
|
||||||
res.data[index].dailyOutputTrend = res.data[index].dailyOutputTrend != 0 ? this.multipliedByHundred(res.data[index].dailyOutputTrend) + '%' : res.data[index].dailyOutputTrend == 0 ? 0 : undefined
|
res.data[index].dailyOutputTrend = res.data[index].dailyOutputTrend && res.data[index].dailyOutputTrend != 0 ? this.multipliedByHundred(res.data[index].dailyOutputTrend) + '%' : res.data[index].dailyOutputTrend == 0 ? 0 : null
|
||||||
res.data[index].originalGlassStatisticsTrend = res.data[index].originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassStatisticsTrend) + '%' : res.data[index].originalGlassStatisticsTrend == 0 ? 0 : undefined
|
res.data[index].originalGlassStatisticsTrend = res.data[index].dailyOutputTrend && res.data[index].originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassStatisticsTrend) + '%' : res.data[index].originalGlassStatisticsTrend == 0 ? 0 : null
|
||||||
res.data[index].actualProductTrend = res.data[index].actualProductTrend != 0 ? this.multipliedByHundred(res.data[index].actualProductTrend) + '%' : res.data[index].actualProductTrend == 0 ? 0 : undefined
|
res.data[index].actualProductTrend = res.data[index].dailyOutputTrend && res.data[index].actualProductTrend != 0 ? this.multipliedByHundred(res.data[index].actualProductTrend) + '%' : res.data[index].actualProductTrend == 0 ? 0 : null
|
||||||
res.data[index].originalGlassPassTrend = res.data[index].originalGlassPassTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassPassTrend) + '%' : res.data[index].originalGlassPassTrend == 0 ? 0 : undefined
|
res.data[index].originalGlassPassTrend = res.data[index].dailyOutputTrend && res.data[index].originalGlassPassTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassPassTrend) + '%' : res.data[index].originalGlassPassTrend == 0 ? 0 : null
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
res.data.forEach(item => {
|
res.data.forEach(item => {
|
||||||
@ -127,10 +128,16 @@ export default {
|
|||||||
if (item.lineId === it.id) {
|
if (item.lineId === it.id) {
|
||||||
console.log(item)
|
console.log(item)
|
||||||
item.lineName = it.name
|
item.lineName = it.name
|
||||||
item.dailyOutputTrend = item.dailyOutputTrend != 0 ? this.multipliedByHundred(item.dailyOutputTrend) + '%' : item.dailyOutputTrend == 0 ? 0 : undefined
|
console.log(item.originalGlassStatisticsTrend);
|
||||||
item.originalGlassStatisticsTrend = item.originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(item.originalGlassStatisticsTrend) + '%' : item.originalGlassStatisticsTrend == 0 ? 0 : undefined
|
// if (!item.dailyOutputTrend) {
|
||||||
item.actualProductTrend = item.actualProductTrend != 0 ? this.multipliedByHundred(item.actualProductTrend) + '%' : item.actualProductTrend == 0 ? 0 : undefined
|
// item.dailyOutputTrend = this.multipliedByHundred(item.dailyOutputTrend) + '%'
|
||||||
item.originalGlassPassTrend = item.originalGlassPassTrend != 0 ? this.multipliedByHundred(item.originalGlassPassTrend) + '%' : item.originalGlassPassTrend == 0 ? 0 : undefined
|
// } else {
|
||||||
|
// item.dailyOutputTrend = null
|
||||||
|
// }
|
||||||
|
item.dailyOutputTrend = item.dailyOutputTrend && item.dailyOutputTrend != 0 ? this.multipliedByHundred(item.dailyOutputTrend) + '%' : item.dailyOutputTrend == 0 ? 0 : null
|
||||||
|
item.originalGlassStatisticsTrend = item.dailyOutputTrend && item.originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(item.originalGlassStatisticsTrend) + '%' : item.originalGlassStatisticsTrend == 0 ? 0 : null
|
||||||
|
item.actualProductTrend = item.dailyOutputTrend && item.actualProductTrend != 0 ? this.multipliedByHundred(item.actualProductTrend) + '%' : item.actualProductTrend == 0 ? 0 : null
|
||||||
|
item.originalGlassPassTrend = item.dailyOutputTrend && item.originalGlassPassTrend != 0 ? this.multipliedByHundred(item.originalGlassPassTrend) + '%' : item.originalGlassPassTrend == 0 ? 0 : null
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -175,11 +182,11 @@ export default {
|
|||||||
// console.log(val.setHours(7, 0, 0))
|
// console.log(val.setHours(7, 0, 0))
|
||||||
// console.log(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000)
|
// console.log(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000)
|
||||||
// let time = this.format(val.setHours(7, 0, 0))
|
// let time = this.format(val.setHours(7, 0, 0))
|
||||||
this.startTimeStamp = this.format(val.setHours(7, 0, 1)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
|
this.endTimeStamp = this.format(val.setHours(7, 0, 0)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
|
||||||
this.endTimeStamp = this.format(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
|
this.startTimeStamp = this.format(val.setHours(7, 0, 1) - 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
|
||||||
// console.log(this.listQuery.reportTime);
|
// console.log(this.listQuery.reportTime);
|
||||||
this.listQuery.reportTime[0] = this.format(val.setHours(7, 0, 1)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
|
this.listQuery.reportTime[1] = this.format(val.setHours(7, 0, 1)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
|
||||||
this.listQuery.reportTime[1] = this.format(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
|
this.listQuery.reportTime[0] = this.format(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
|
||||||
console.log(this.listQuery.reportTime);
|
console.log(this.listQuery.reportTime);
|
||||||
} else {
|
} else {
|
||||||
this.listQuery.reportTime = []
|
this.listQuery.reportTime = []
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: Do not edit
|
* @Author: Do not edit
|
||||||
* @Date: 2023-12-13 14:10:04
|
* @Date: 2023-12-13 14:10:04
|
||||||
* @LastEditTime: 2024-03-18 09:57:30
|
* @LastEditTime: 2024-03-22 09:45:23
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -198,6 +198,8 @@ const cols = [
|
|||||||
this.cols[0].children[2].children[1].label = text2
|
this.cols[0].children[2].children[1].label = text2
|
||||||
this.cols[0].children[3].children[0].label = text1
|
this.cols[0].children[3].children[0].label = text1
|
||||||
this.cols[0].children[3].children[1].label = text2
|
this.cols[0].children[3].children[1].label = text2
|
||||||
|
this.cols[0].children[4].children[0].label = text1
|
||||||
|
this.cols[0].children[4].children[1].label = text2
|
||||||
this.cols[0].children[2].label = text3
|
this.cols[0].children[2].label = text3
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -91,6 +91,8 @@ export default {
|
|||||||
strVal += '0';
|
strVal += '0';
|
||||||
}
|
}
|
||||||
return parseFloat(strVal);
|
return parseFloat(strVal);
|
||||||
|
} else {
|
||||||
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
@ -109,10 +111,10 @@ export default {
|
|||||||
if (ele.det === false) {
|
if (ele.det === false) {
|
||||||
res.data[index].lineName = '合计'
|
res.data[index].lineName = '合计'
|
||||||
this.remark = res.data[index].remark
|
this.remark = res.data[index].remark
|
||||||
res.data[index].dailyOutputTrend = res.data[index].dailyOutputTrend != 0 ? this.multipliedByHundred(res.data[index].dailyOutputTrend) + '%' : res.data[index].dailyOutputTrend == 0 ? 0 : undefined
|
res.data[index].dailyOutputTrend = res.data[index].dailyOutputTrend && res.data[index].dailyOutputTrend != 0 ? this.multipliedByHundred(res.data[index].dailyOutputTrend) + '%' : res.data[index].dailyOutputTrend == 0 ? 0 : null
|
||||||
res.data[index].originalGlassStatisticsTrend = res.data[index].originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassStatisticsTrend) + '%' : res.data[index].originalGlassStatisticsTrend == 0 ? 0 : undefined
|
res.data[index].originalGlassStatisticsTrend = res.data[index].dailyOutputTrend && res.data[index].originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassStatisticsTrend) + '%' : res.data[index].originalGlassStatisticsTrend == 0 ? 0 : null
|
||||||
res.data[index].actualProductTrend = res.data[index].actualProductTrend != 0 ? this.multipliedByHundred(res.data[index].actualProductTrend) + '%' : res.data[index].actualProductTrend == 0 ? 0 : undefined
|
res.data[index].actualProductTrend = res.data[index].dailyOutputTrend && res.data[index].actualProductTrend != 0 ? this.multipliedByHundred(res.data[index].actualProductTrend) + '%' : res.data[index].actualProductTrend == 0 ? 0 : null
|
||||||
res.data[index].originalGlassPassTrend = res.data[index].originalGlassPassTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassPassTrend) + '%' : res.data[index].originalGlassPassTrend == 0 ? 0 : undefined
|
res.data[index].originalGlassPassTrend = res.data[index].dailyOutputTrend && res.data[index].originalGlassPassTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassPassTrend) + '%' : res.data[index].originalGlassPassTrend == 0 ? 0 : null
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
res.data.forEach(item => {
|
res.data.forEach(item => {
|
||||||
@ -120,15 +122,36 @@ export default {
|
|||||||
if (item.lineId === it.id) {
|
if (item.lineId === it.id) {
|
||||||
console.log(item)
|
console.log(item)
|
||||||
item.lineName = it.name
|
item.lineName = it.name
|
||||||
item.dailyOutputTrend = item.dailyOutputTrend != 0 ? this.multipliedByHundred(item.dailyOutputTrend) + '%' : item.dailyOutputTrend == 0 ? 0 : undefined
|
console.log(item.originalGlassStatisticsTrend);
|
||||||
item.originalGlassStatisticsTrend = item.originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(item.originalGlassStatisticsTrend) + '%' : item.originalGlassStatisticsTrend == 0 ? 0 : undefined
|
// if (!item.dailyOutputTrend) {
|
||||||
item.actualProductTrend = item.actualProductTrend != 0 ? this.multipliedByHundred(item.actualProductTrend) + '%' : item.actualProductTrend == 0 ? 0 : undefined
|
// item.dailyOutputTrend = this.multipliedByHundred(item.dailyOutputTrend) + '%'
|
||||||
item.originalGlassPassTrend = item.originalGlassPassTrend != 0 ? this.multipliedByHundred(item.originalGlassPassTrend) + '%' : item.originalGlassPassTrend == 0 ? 0 : undefined
|
// } else {
|
||||||
|
// item.dailyOutputTrend = null
|
||||||
|
// }
|
||||||
|
item.dailyOutputTrend = item.dailyOutputTrend && item.dailyOutputTrend != 0 ? this.multipliedByHundred(item.dailyOutputTrend) + '%' : item.dailyOutputTrend == 0 ? 0 : null
|
||||||
|
item.originalGlassStatisticsTrend = item.dailyOutputTrend && item.originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(item.originalGlassStatisticsTrend) + '%' : item.originalGlassStatisticsTrend == 0 ? 0 : null
|
||||||
|
item.actualProductTrend = item.dailyOutputTrend && item.actualProductTrend != 0 ? this.multipliedByHundred(item.actualProductTrend) + '%' : item.actualProductTrend == 0 ? 0 : null
|
||||||
|
item.originalGlassPassTrend = item.dailyOutputTrend && item.originalGlassPassTrend != 0 ? this.multipliedByHundred(item.originalGlassPassTrend) + '%' : item.originalGlassPassTrend == 0 ? 0 : null
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
this.tableData = res.data
|
this.tableData = res.data
|
||||||
this.listQuery.total = response.data.length;
|
// this.tableData = response.data.filter(item => {
|
||||||
|
// this.proLineList.forEach(it => {
|
||||||
|
// if (item.lineId === it.id) {
|
||||||
|
// item.lineName = it.name
|
||||||
|
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// if (item.det === false) {
|
||||||
|
// this.all = {
|
||||||
|
// id: item.id,
|
||||||
|
// remark: item.remark
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return item.det === true
|
||||||
|
// });
|
||||||
|
this.listQuery.total = res.data.length;
|
||||||
this.dataListLoading = false;
|
this.dataListLoading = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -200,10 +200,10 @@ export default {
|
|||||||
if (ele.det === false) {
|
if (ele.det === false) {
|
||||||
res.data[index].lineName = '合计'
|
res.data[index].lineName = '合计'
|
||||||
this.remark = res.data[index].remark
|
this.remark = res.data[index].remark
|
||||||
res.data[index].dailyOutputTrend = res.data[index].dailyOutputTrend != 0 ? this.multipliedByHundred(res.data[index].dailyOutputTrend) + '%' : res.data[index].dailyOutputTrend == 0 ? 0 : undefined
|
res.data[index].dailyOutputTrend = res.data[index].dailyOutputTrend && res.data[index].dailyOutputTrend != 0 ? this.multipliedByHundred(res.data[index].dailyOutputTrend) + '%' : res.data[index].dailyOutputTrend == 0 ? 0 : null
|
||||||
res.data[index].originalGlassStatisticsTrend = res.data[index].originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassStatisticsTrend) + '%' : res.data[index].originalGlassStatisticsTrend == 0 ? 0 : undefined
|
res.data[index].originalGlassStatisticsTrend = res.data[index].dailyOutputTrend && res.data[index].originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassStatisticsTrend) + '%' : res.data[index].originalGlassStatisticsTrend == 0 ? 0 : null
|
||||||
res.data[index].actualProductTrend = res.data[index].actualProductTrend != 0 ? this.multipliedByHundred(res.data[index].actualProductTrend) + '%' : res.data[index].actualProductTrend == 0 ? 0 : undefined
|
res.data[index].actualProductTrend = res.data[index].dailyOutputTrend && res.data[index].actualProductTrend != 0 ? this.multipliedByHundred(res.data[index].actualProductTrend) + '%' : res.data[index].actualProductTrend == 0 ? 0 : null
|
||||||
res.data[index].originalGlassPassTrend = res.data[index].originalGlassPassTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassPassTrend) + '%' : res.data[index].originalGlassPassTrend == 0 ? 0 : undefined
|
res.data[index].originalGlassPassTrend = res.data[index].dailyOutputTrend && res.data[index].originalGlassPassTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassPassTrend) + '%' : res.data[index].originalGlassPassTrend == 0 ? 0 : null
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
res.data.forEach(item => {
|
res.data.forEach(item => {
|
||||||
@ -211,15 +211,36 @@ export default {
|
|||||||
if (item.lineId === it.id) {
|
if (item.lineId === it.id) {
|
||||||
console.log(item)
|
console.log(item)
|
||||||
item.lineName = it.name
|
item.lineName = it.name
|
||||||
item.dailyOutputTrend = item.dailyOutputTrend != 0 ? this.multipliedByHundred(item.dailyOutputTrend) + '%' : item.dailyOutputTrend == 0 ? 0 : undefined
|
console.log(item.originalGlassStatisticsTrend);
|
||||||
item.originalGlassStatisticsTrend = item.originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(item.originalGlassStatisticsTrend) + '%' : item.originalGlassStatisticsTrend == 0 ? 0 : undefined
|
// if (!item.dailyOutputTrend) {
|
||||||
item.actualProductTrend = item.actualProductTrend != 0 ? this.multipliedByHundred(item.actualProductTrend) + '%' : item.actualProductTrend == 0 ? 0 : undefined
|
// item.dailyOutputTrend = this.multipliedByHundred(item.dailyOutputTrend) + '%'
|
||||||
item.originalGlassPassTrend = item.originalGlassPassTrend != 0 ? this.multipliedByHundred(item.originalGlassPassTrend) + '%' : item.originalGlassPassTrend == 0 ? 0 : undefined
|
// } else {
|
||||||
|
// item.dailyOutputTrend = null
|
||||||
|
// }
|
||||||
|
item.dailyOutputTrend = item.dailyOutputTrend && item.dailyOutputTrend != 0 ? this.multipliedByHundred(item.dailyOutputTrend) + '%' : item.dailyOutputTrend == 0 ? 0 : null
|
||||||
|
item.originalGlassStatisticsTrend = item.dailyOutputTrend && item.originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(item.originalGlassStatisticsTrend) + '%' : item.originalGlassStatisticsTrend == 0 ? 0 : null
|
||||||
|
item.actualProductTrend = item.dailyOutputTrend && item.actualProductTrend != 0 ? this.multipliedByHundred(item.actualProductTrend) + '%' : item.actualProductTrend == 0 ? 0 : null
|
||||||
|
item.originalGlassPassTrend = item.dailyOutputTrend && item.originalGlassPassTrend != 0 ? this.multipliedByHundred(item.originalGlassPassTrend) + '%' : item.originalGlassPassTrend == 0 ? 0 : null
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
this.tableData = res.data
|
this.tableData = res.data
|
||||||
this.listQuery.total = response.data.length;
|
// this.tableData = response.data.filter(item => {
|
||||||
|
// this.proLineList.forEach(it => {
|
||||||
|
// if (item.lineId === it.id) {
|
||||||
|
// item.lineName = it.name
|
||||||
|
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// if (item.det === false) {
|
||||||
|
// this.all = {
|
||||||
|
// id: item.id,
|
||||||
|
// remark: item.remark
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return item.det === true
|
||||||
|
// });
|
||||||
|
this.listQuery.total = res.data.length;
|
||||||
this.dataListLoading = false;
|
this.dataListLoading = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -111,10 +111,10 @@ export default {
|
|||||||
if (ele.det === false) {
|
if (ele.det === false) {
|
||||||
res.data[index].lineName = '合计'
|
res.data[index].lineName = '合计'
|
||||||
this.remark = res.data[index].remark
|
this.remark = res.data[index].remark
|
||||||
res.data[index].dailyOutputTrend = res.data[index].dailyOutputTrend != 0 ? this.multipliedByHundred(res.data[index].dailyOutputTrend) + '%' : res.data[index].dailyOutputTrend == 0 ? 0 : undefined
|
res.data[index].dailyOutputTrend = res.data[index].dailyOutputTrend && res.data[index].dailyOutputTrend != 0 ? this.multipliedByHundred(res.data[index].dailyOutputTrend) + '%' : res.data[index].dailyOutputTrend == 0 ? 0 : null
|
||||||
res.data[index].originalGlassStatisticsTrend = res.data[index].originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassStatisticsTrend) + '%' : res.data[index].originalGlassStatisticsTrend == 0 ? 0 : undefined
|
res.data[index].originalGlassStatisticsTrend = res.data[index].dailyOutputTrend && res.data[index].originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassStatisticsTrend) + '%' : res.data[index].originalGlassStatisticsTrend == 0 ? 0 : null
|
||||||
res.data[index].actualProductTrend = res.data[index].actualProductTrend != 0 ? this.multipliedByHundred(res.data[index].actualProductTrend) + '%' : res.data[index].actualProductTrend == 0 ? 0 : undefined
|
res.data[index].actualProductTrend = res.data[index].dailyOutputTrend && res.data[index].actualProductTrend != 0 ? this.multipliedByHundred(res.data[index].actualProductTrend) + '%' : res.data[index].actualProductTrend == 0 ? 0 : null
|
||||||
res.data[index].originalGlassPassTrend = res.data[index].originalGlassPassTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassPassTrend) + '%' : res.data[index].originalGlassPassTrend == 0 ? 0 : undefined
|
res.data[index].originalGlassPassTrend = res.data[index].dailyOutputTrend && res.data[index].originalGlassPassTrend != 0 ? this.multipliedByHundred(res.data[index].originalGlassPassTrend) + '%' : res.data[index].originalGlassPassTrend == 0 ? 0 : null
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
res.data.forEach(item => {
|
res.data.forEach(item => {
|
||||||
@ -122,15 +122,36 @@ export default {
|
|||||||
if (item.lineId === it.id) {
|
if (item.lineId === it.id) {
|
||||||
console.log(item)
|
console.log(item)
|
||||||
item.lineName = it.name
|
item.lineName = it.name
|
||||||
item.dailyOutputTrend = item.dailyOutputTrend != 0 ? this.multipliedByHundred(item.dailyOutputTrend) + '%' : item.dailyOutputTrend == 0 ? 0 : undefined
|
console.log(item.originalGlassStatisticsTrend);
|
||||||
item.originalGlassStatisticsTrend = item.originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(item.originalGlassStatisticsTrend) + '%' : item.originalGlassStatisticsTrend == 0 ? 0 : undefined
|
// if (!item.dailyOutputTrend) {
|
||||||
item.actualProductTrend = item.actualProductTrend != 0 ? this.multipliedByHundred(item.actualProductTrend) + '%' : item.actualProductTrend == 0 ? 0 : undefined
|
// item.dailyOutputTrend = this.multipliedByHundred(item.dailyOutputTrend) + '%'
|
||||||
item.originalGlassPassTrend = item.originalGlassPassTrend != 0 ? this.multipliedByHundred(item.originalGlassPassTrend) + '%' : item.originalGlassPassTrend == 0 ? 0 : undefined
|
// } else {
|
||||||
|
// item.dailyOutputTrend = null
|
||||||
|
// }
|
||||||
|
item.dailyOutputTrend = item.dailyOutputTrend && item.dailyOutputTrend != 0 ? this.multipliedByHundred(item.dailyOutputTrend) + '%' : item.dailyOutputTrend == 0 ? 0 : null
|
||||||
|
item.originalGlassStatisticsTrend = item.dailyOutputTrend && item.originalGlassStatisticsTrend != 0 ? this.multipliedByHundred(item.originalGlassStatisticsTrend) + '%' : item.originalGlassStatisticsTrend == 0 ? 0 : null
|
||||||
|
item.actualProductTrend = item.dailyOutputTrend && item.actualProductTrend != 0 ? this.multipliedByHundred(item.actualProductTrend) + '%' : item.actualProductTrend == 0 ? 0 : null
|
||||||
|
item.originalGlassPassTrend = item.dailyOutputTrend && item.originalGlassPassTrend != 0 ? this.multipliedByHundred(item.originalGlassPassTrend) + '%' : item.originalGlassPassTrend == 0 ? 0 : null
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
this.tableData = res.data
|
this.tableData = res.data
|
||||||
this.listQuery.total = response.data.length;
|
// this.tableData = response.data.filter(item => {
|
||||||
|
// this.proLineList.forEach(it => {
|
||||||
|
// if (item.lineId === it.id) {
|
||||||
|
// item.lineName = it.name
|
||||||
|
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// if (item.det === false) {
|
||||||
|
// this.all = {
|
||||||
|
// id: item.id,
|
||||||
|
// remark: item.remark
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return item.det === true
|
||||||
|
// });
|
||||||
|
this.listQuery.total = res.data.length;
|
||||||
this.dataListLoading = false;
|
this.dataListLoading = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-12-12 13:45:25
|
* @Date: 2023-12-12 13:45:25
|
||||||
* @LastEditTime: 2024-03-18 15:24:10
|
* @LastEditTime: 2024-03-22 09:36:12
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -49,7 +49,7 @@
|
|||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.inputTrend" :disabled="!disabled"></el-input>
|
<el-input v-if="!disabled" v-model="scope.row.inputTrend" :disabled="!disabled"></el-input>
|
||||||
<span v-else>{{ scope.row.inputTrend ? parseFloat((scope.row.inputTrend * 100).toFixed(2)) + '%' :
|
<span v-else>{{ scope.row.inputTrend ? parseFloat((scope.row.inputTrend * 100).toFixed(2)) + '%' :
|
||||||
undefined}} </span>
|
null}} </span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -73,7 +73,7 @@
|
|||||||
<el-input v-if="!disabled" v-model="scope.row.goodProductTrend" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.goodProductTrend" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
<span v-else>{{ scope.row.goodProductTrend ? parseFloat((scope.row.goodProductTrend * 100).toFixed(2)) +
|
<span v-else>{{ scope.row.goodProductTrend ? parseFloat((scope.row.goodProductTrend * 100).toFixed(2)) +
|
||||||
'%' : undefined }} </span>
|
'%' : null }} </span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -82,8 +82,8 @@
|
|||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.missCheckNow" :disabled="disabled"></el-input>
|
<el-input v-if="!disabled" v-model="scope.row.missCheckNow" :disabled="disabled"></el-input>
|
||||||
<span v-else>{{ scope.row.missCheckNow ? parseFloat((scope.row.missCheckNow *
|
<span v-else>{{ scope.row.missCheckNow ? parseFloat((scope.row.missCheckNow *
|
||||||
100).toFixed(2)) +
|
100).toFixed(2)) +
|
||||||
'%' : undefined }}
|
'%' : null }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -91,8 +91,8 @@
|
|||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.missCheckHis" :disabled="disabled"></el-input>
|
<el-input v-if="!disabled" v-model="scope.row.missCheckHis" :disabled="disabled"></el-input>
|
||||||
<span v-else>{{ scope.row.missCheckHis ? parseFloat((scope.row.missCheckHis *
|
<span v-else>{{ scope.row.missCheckHis ? parseFloat((scope.row.missCheckHis *
|
||||||
100).toFixed(2)) +
|
100).toFixed(2)) +
|
||||||
'%' : undefined }}
|
'%' : null }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -101,8 +101,8 @@
|
|||||||
<el-input v-if="!disabled" v-model="scope.row.missCheckTrend" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.missCheckTrend" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
<span v-else>{{ scope.row.missCheckTrend ? parseFloat((scope.row.missCheckTrend *
|
<span v-else>{{ scope.row.missCheckTrend ? parseFloat((scope.row.missCheckTrend *
|
||||||
100).toFixed(2)) +
|
100).toFixed(2)) +
|
||||||
'%' : undefined }}
|
'%' : null }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -113,8 +113,8 @@
|
|||||||
<el-input v-if="!disabled" v-model="scope.row.goodProductPassNow" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.goodProductPassNow" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
<span v-else>{{ scope.row.goodProductPassNow ? parseFloat((scope.row.goodProductPassNow *
|
<span v-else>{{ scope.row.goodProductPassNow ? parseFloat((scope.row.goodProductPassNow *
|
||||||
100).toFixed(2)) +
|
100).toFixed(2)) +
|
||||||
'%' : undefined }}
|
'%' : null }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -123,8 +123,8 @@
|
|||||||
<el-input v-if="!disabled" v-model="scope.row.goodProductPassHis" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.goodProductPassHis" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
<span v-else>{{ scope.row.goodProductPassHis ? parseFloat((scope.row.goodProductPassHis *
|
<span v-else>{{ scope.row.goodProductPassHis ? parseFloat((scope.row.goodProductPassHis *
|
||||||
100).toFixed(2)) +
|
100).toFixed(2)) +
|
||||||
'%' : undefined }}
|
'%' : null }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -133,8 +133,8 @@
|
|||||||
<el-input v-if="!disabled" v-model="scope.row.goodProductPassTrend" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.goodProductPassTrend" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
<span v-else>{{ scope.row.goodProductPassTrend ? parseFloat((scope.row.goodProductPassTrend *
|
<span v-else>{{ scope.row.goodProductPassTrend ? parseFloat((scope.row.goodProductPassTrend *
|
||||||
100).toFixed(2)) +
|
100).toFixed(2)) +
|
||||||
'%' : undefined }}
|
'%' : null }}
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@ -146,7 +146,7 @@
|
|||||||
<span v-else>{{ remark ? remark : '请输入备注' }} </span>
|
<span v-else>{{ remark ? remark : '请输入备注' }} </span>
|
||||||
</div> -->
|
</div> -->
|
||||||
</el-table>
|
</el-table>
|
||||||
<div style="height: 50px;" class="remark" >
|
<div style="height: 50px;" class="remark">
|
||||||
<el-input placeholder="备注" v-model="remark" :disabled="disabled">
|
<el-input placeholder="备注" v-model="remark" :disabled="disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
</div>
|
||||||
@ -480,8 +480,8 @@ export default {
|
|||||||
// console.log(val.setHours(7, 0, 0))
|
// console.log(val.setHours(7, 0, 0))
|
||||||
// console.log(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000)
|
// console.log(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000)
|
||||||
// let time = this.format(val.setHours(7, 0, 0))
|
// let time = this.format(val.setHours(7, 0, 0))
|
||||||
this.listQuery.reportTime[0] = this.format(val.setHours(7, 0, 1)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
|
this.listQuery.reportTime[1] = this.format(val.setHours(7, 0, 0)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
|
||||||
this.listQuery.reportTime[1] = this.format(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
|
this.listQuery.reportTime[0] = this.format(val.setHours(7, 0, 1) - 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
|
||||||
this.timeTips = this.listQuery.reportTime[0] + ' - ' + this.listQuery.reportTime[1]
|
this.timeTips = this.listQuery.reportTime[0] + ' - ' + this.listQuery.reportTime[1]
|
||||||
// console.log(this.listQuery.reportTime);
|
// console.log(this.listQuery.reportTime);
|
||||||
} else {
|
} else {
|
||||||
@ -510,7 +510,7 @@ export default {
|
|||||||
//返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
|
//返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
|
||||||
new Blob([wbout], { type: "application/octet-stream" }),
|
new Blob([wbout], { type: "application/octet-stream" }),
|
||||||
//设置导出文件名称
|
//设置导出文件名称
|
||||||
"许昌安彩月成品生产汇总.xlsx"
|
"许昌安彩日成品生产汇总.xlsx"
|
||||||
);
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
if (typeof console !== "undefined") console.log(e, wbout);
|
if (typeof console !== "undefined") console.log(e, wbout);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-12-12 13:45:25
|
* @Date: 2023-12-12 13:45:25
|
||||||
* @LastEditTime: 2024-03-18 15:27:53
|
* @LastEditTime: 2024-03-22 09:56:14
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -78,7 +78,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="原片漏检率" align="center">
|
<el-table-column label="原片漏检率" align="center">
|
||||||
<el-table-column prop="missCheckNow" label="今日" align="center">
|
<el-table-column prop="missCheckNow" label="本月" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.missCheckNow" :disabled="disabled"></el-input>
|
<el-input v-if="!disabled" v-model="scope.row.missCheckNow" :disabled="disabled"></el-input>
|
||||||
<span v-else>{{ scope.row.missCheckNow ? parseFloat((scope.row.missCheckNow *
|
<span v-else>{{ scope.row.missCheckNow ? parseFloat((scope.row.missCheckNow *
|
||||||
@ -87,7 +87,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="missCheckHis" label="昨日" align="center">
|
<el-table-column prop="missCheckHis" label="上月" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.missCheckHis" :disabled="disabled"></el-input>
|
<el-input v-if="!disabled" v-model="scope.row.missCheckHis" :disabled="disabled"></el-input>
|
||||||
<span v-else>{{ scope.row.missCheckHis ? parseFloat((scope.row.missCheckHis *
|
<span v-else>{{ scope.row.missCheckHis ? parseFloat((scope.row.missCheckHis *
|
||||||
@ -108,7 +108,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="综合良品率" align="center">
|
<el-table-column label="综合良品率" align="center">
|
||||||
<el-table-column prop="goodProductPassNow" label="今日" align="center">
|
<el-table-column prop="goodProductPassNow" label="本月" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.goodProductPassNow" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.goodProductPassNow" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
@ -118,7 +118,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="goodProductPassHis" label="昨日" align="center">
|
<el-table-column prop="goodProductPassHis" label="上月" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.goodProductPassHis" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.goodProductPassHis" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
@ -128,7 +128,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="goodProductPassTrend" label="增减" align="center">
|
<el-table-column prop="goodProductPassTrend" label="增减" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.goodProductPassTrend" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.goodProductPassTrend" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-12-12 13:45:25
|
* @Date: 2023-12-12 13:45:25
|
||||||
* @LastEditTime: 2024-03-18 15:25:48
|
* @LastEditTime: 2024-03-22 09:47:20
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -81,7 +81,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="原片漏检率" align="center">
|
<el-table-column label="原片漏检率" align="center">
|
||||||
<el-table-column prop="missCheckNow" label="今日" align="center">
|
<el-table-column prop="missCheckNow" label="本周" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.missCheckNow" :disabled="disabled"></el-input>
|
<el-input v-if="!disabled" v-model="scope.row.missCheckNow" :disabled="disabled"></el-input>
|
||||||
<span v-else>{{ scope.row.missCheckNow ? parseFloat((scope.row.missCheckNow *
|
<span v-else>{{ scope.row.missCheckNow ? parseFloat((scope.row.missCheckNow *
|
||||||
@ -90,7 +90,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="missCheckHis" label="昨日" align="center">
|
<el-table-column prop="missCheckHis" label="上周" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.missCheckHis" :disabled="disabled"></el-input>
|
<el-input v-if="!disabled" v-model="scope.row.missCheckHis" :disabled="disabled"></el-input>
|
||||||
<span v-else>{{ scope.row.missCheckHis ? parseFloat((scope.row.missCheckHis *
|
<span v-else>{{ scope.row.missCheckHis ? parseFloat((scope.row.missCheckHis *
|
||||||
@ -111,7 +111,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="综合良品率" align="center">
|
<el-table-column label="综合良品率" align="center">
|
||||||
<el-table-column prop="goodProductPassNow" label="今日" align="center">
|
<el-table-column prop="goodProductPassNow" label="本周" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.goodProductPassNow" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.goodProductPassNow" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
@ -121,7 +121,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="goodProductPassHis" label="昨日" align="center">
|
<el-table-column prop="goodProductPassHis" label="上周" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.goodProductPassHis" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.goodProductPassHis" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-12-12 13:45:25
|
* @Date: 2023-12-12 13:45:25
|
||||||
* @LastEditTime: 2024-03-18 15:25:54
|
* @LastEditTime: 2024-03-22 09:47:09
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -83,7 +83,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="原片漏检率" align="center">
|
<el-table-column label="原片漏检率" align="center">
|
||||||
<el-table-column prop="missCheckNow" label="今日" align="center">
|
<el-table-column prop="missCheckNow" label="今年" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.missCheckNow" :disabled="disabled"></el-input>
|
<el-input v-if="!disabled" v-model="scope.row.missCheckNow" :disabled="disabled"></el-input>
|
||||||
<span v-else>{{ scope.row.missCheckNow ? parseFloat((scope.row.missCheckNow *
|
<span v-else>{{ scope.row.missCheckNow ? parseFloat((scope.row.missCheckNow *
|
||||||
@ -92,7 +92,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="missCheckHis" label="昨日" align="center">
|
<el-table-column prop="missCheckHis" label="去年" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.missCheckHis" :disabled="disabled"></el-input>
|
<el-input v-if="!disabled" v-model="scope.row.missCheckHis" :disabled="disabled"></el-input>
|
||||||
<span v-else>{{ scope.row.missCheckHis ? parseFloat((scope.row.missCheckHis *
|
<span v-else>{{ scope.row.missCheckHis ? parseFloat((scope.row.missCheckHis *
|
||||||
@ -113,7 +113,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="综合良品率" align="center">
|
<el-table-column label="综合良品率" align="center">
|
||||||
<el-table-column prop="goodProductPassNow" label="今日" align="center">
|
<el-table-column prop="goodProductPassNow" label="今年" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.goodProductPassNow" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.goodProductPassNow" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
@ -123,7 +123,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="goodProductPassHis" label="昨日" align="center">
|
<el-table-column prop="goodProductPassHis" label="去年" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input v-if="!disabled" v-model="scope.row.goodProductPassHis" :disabled="!disabled">
|
<el-input v-if="!disabled" v-model="scope.row.goodProductPassHis" :disabled="!disabled">
|
||||||
</el-input>
|
</el-input>
|
||||||
|
@ -24,6 +24,8 @@
|
|||||||
<el-form-item label="部门" prop="departmentId">
|
<el-form-item label="部门" prop="departmentId">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="dataForm.departmentId"
|
v-model="dataForm.departmentId"
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
:placeholder="`请选择部门`">
|
:placeholder="`请选择部门`">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="opt in departmentOptions"
|
v-for="opt in departmentOptions"
|
||||||
@ -167,7 +169,7 @@ export default {
|
|||||||
const workerlist = await this.$axios(
|
const workerlist = await this.$axios(
|
||||||
// '/base/core-worker/listAll'
|
// '/base/core-worker/listAll'
|
||||||
'/base/core-worker/workerList'
|
'/base/core-worker/workerList'
|
||||||
);
|
);
|
||||||
if (workerlist.code == 0) {
|
if (workerlist.code == 0) {
|
||||||
inspectorList = inspectorList.concat(
|
inspectorList = inspectorList.concat(
|
||||||
workerlist.data.map((item) => ({
|
workerlist.data.map((item) => ({
|
||||||
|
@ -155,6 +155,18 @@ export default {
|
|||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '设备不能为空', trigger: 'blur' },
|
{ required: true, message: '设备不能为空', trigger: 'blur' },
|
||||||
],
|
],
|
||||||
|
bind: {
|
||||||
|
clearable: true,
|
||||||
|
filterable: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: true,
|
||||||
|
label: '巡检项目',
|
||||||
|
prop: 'program',
|
||||||
|
rules: [
|
||||||
|
{ required: true, message: '巡检项目不能为空', trigger: 'blur' },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
@ -251,6 +251,10 @@ export default {
|
|||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '设备不能为空', trigger: 'blur' },
|
{ required: true, message: '设备不能为空', trigger: 'blur' },
|
||||||
],
|
],
|
||||||
|
bind: {
|
||||||
|
filterable: true,
|
||||||
|
clearable: true,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
@ -91,7 +91,7 @@ export default {
|
|||||||
tableProps: [
|
tableProps: [
|
||||||
{ prop: 'name', label: '巡检单名称' },
|
{ prop: 'name', label: '巡检单名称' },
|
||||||
{ prop: 'department', label: '部门' },
|
{ prop: 'department', label: '部门' },
|
||||||
{ prop: 'actualCheckTime', label: '巡检时间', filter: parseTime },
|
{ prop: 'planCheckTime', label: '巡检时间', filter: parseTime },
|
||||||
{ prop: 'groupClass', label: '班次' },
|
{ prop: 'groupClass', label: '班次' },
|
||||||
// {
|
// {
|
||||||
// prop: '_detail',
|
// prop: '_detail',
|
||||||
|
@ -109,6 +109,7 @@ export default {
|
|||||||
departmentId: null,
|
departmentId: null,
|
||||||
planCheckTime: null,
|
planCheckTime: null,
|
||||||
confirmTimeLimit: null,
|
confirmTimeLimit: null,
|
||||||
|
checkPeriod: null,
|
||||||
groupClass: null,
|
groupClass: null,
|
||||||
remark: null,
|
remark: null,
|
||||||
// special: true,
|
// special: true,
|
||||||
|
@ -40,37 +40,37 @@
|
|||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="保养计划名称" prop="name">
|
<el-form-item label="保养计划名称" prop="name">
|
||||||
<span>{{ form.name }}</span>
|
<span>{{ form.name || '---' }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="部门" prop="departmentName">
|
<el-form-item label="部门" prop="departmentName">
|
||||||
<span>{{ form.departmentName }}</span>
|
<span>{{ form.departmentName || '---' }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="产线名" prop="lineName">
|
<el-form-item label="产线名" prop="lineName">
|
||||||
<span>{{ form.lineName }}</span>
|
<span>{{ form.lineName || '---' }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="保养频率" prop="maintenancePeriod">
|
<el-form-item label="保养频率" prop="maintenancePeriod">
|
||||||
<span>{{ form.maintenancePeriod }}</span>
|
<span>{{ form.maintenancePeriod || '---' }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="保养时长" prop="maintainDuration">
|
<el-form-item label="保养时长" prop="maintainDuration">
|
||||||
<span>{{ form.maintainDuration }}</span>
|
<span>{{ form.maintainDuration || '---' }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="计划保养人员" prop="maintainer">
|
<el-form-item label="计划保养人员" prop="maintainer">
|
||||||
<span>{{ form.maintainer }}</span>
|
<span>{{ form.maintainer || '---' }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
@ -119,7 +119,7 @@ const btn = {
|
|||||||
render: function (h) {
|
render: function (h) {
|
||||||
return (
|
return (
|
||||||
<el-button type="text" onClick={this.handleClick}>
|
<el-button type="text" onClick={this.handleClick}>
|
||||||
{this.injectData.name}
|
{this.injectData.entryText}
|
||||||
</el-button>
|
</el-button>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
@ -188,7 +188,7 @@ export default {
|
|||||||
{
|
{
|
||||||
prop: 'opt2',
|
prop: 'opt2',
|
||||||
label: '保养内容',
|
label: '保养内容',
|
||||||
name: '详情',
|
entryText: '详情',
|
||||||
subcomponent: btn,
|
subcomponent: btn,
|
||||||
width: 100,
|
width: 100,
|
||||||
},
|
},
|
||||||
@ -386,6 +386,7 @@ export default {
|
|||||||
case '保养内容':
|
case '保养内容':
|
||||||
this.monitorDetailVisible = true;
|
this.monitorDetailVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
console.log('value', value);
|
||||||
this.$refs.monitorDetailDrawer.show(value);
|
this.$refs.monitorDetailDrawer.show(value);
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
@ -188,6 +188,10 @@ export default {
|
|||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '设备不能为空', trigger: 'blur' },
|
{ required: true, message: '设备不能为空', trigger: 'blur' },
|
||||||
],
|
],
|
||||||
|
bind: {
|
||||||
|
filterable: true,
|
||||||
|
clearable: true,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
@ -296,6 +296,8 @@ export default {
|
|||||||
placeholder: '请选择保养计划名称',
|
placeholder: '请选择保养计划名称',
|
||||||
param: 'maintainPlanId',
|
param: 'maintainPlanId',
|
||||||
defaultSelect: null,
|
defaultSelect: null,
|
||||||
|
filterable: true,
|
||||||
|
clearable: true
|
||||||
},
|
},
|
||||||
// 开始结束时间
|
// 开始结束时间
|
||||||
{
|
{
|
||||||
|
@ -269,6 +269,7 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// !this.edit && this.getCode('/base/equipment-maintain-plan/getCode');
|
// !this.edit && this.getCode('/base/equipment-maintain-plan/getCode');
|
||||||
|
// this.getList('code');
|
||||||
this.getList('maintainer');
|
this.getList('maintainer');
|
||||||
this.getList('department');
|
this.getList('department');
|
||||||
this.getList('line');
|
this.getList('line');
|
||||||
@ -328,6 +329,7 @@ export default {
|
|||||||
'/base/core-department/listAll',
|
'/base/core-department/listAll',
|
||||||
'/base/core-worker/workerList',
|
'/base/core-worker/workerList',
|
||||||
// '/base/core-worker/listAll',
|
// '/base/core-worker/listAll',
|
||||||
|
'/base/equipment-maintain-log/getCode',
|
||||||
];
|
];
|
||||||
let res;
|
let res;
|
||||||
switch (source) {
|
switch (source) {
|
||||||
|
@ -381,6 +381,8 @@ export default {
|
|||||||
placeholder: '请选择保养计划名称',
|
placeholder: '请选择保养计划名称',
|
||||||
param: 'maintainPlanId',
|
param: 'maintainPlanId',
|
||||||
defaultSelect: null,
|
defaultSelect: null,
|
||||||
|
clearable: true,
|
||||||
|
filterable: true,
|
||||||
},
|
},
|
||||||
// 开始结束时间
|
// 开始结束时间
|
||||||
{
|
{
|
||||||
@ -669,8 +671,21 @@ export default {
|
|||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
handleAdd() {
|
handleAdd() {
|
||||||
this.reset();
|
this.reset();
|
||||||
this.open = true;
|
this.$axios({
|
||||||
this.title = '添加待确认保养记录';
|
url: '/base/equipment-maintain-log/getCode',
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.form.maintainOrderNumber = res.data;
|
||||||
|
this.open = true;
|
||||||
|
this.title = '添加待确认保养记录';
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
this.$message.error('获取保养单号出错');
|
||||||
|
this.open = true;
|
||||||
|
this.title = '添加待确认保养记录';
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
getConfirmed() {
|
getConfirmed() {
|
||||||
|
@ -9,7 +9,9 @@
|
|||||||
<el-drawer
|
<el-drawer
|
||||||
:visible="visible"
|
:visible="visible"
|
||||||
:show-close="false"
|
:show-close="false"
|
||||||
:wrapper-closable="false"
|
:wrapperClosable="true"
|
||||||
|
:close-on-click-modal="true"
|
||||||
|
:before-close="handleConfirmClose"
|
||||||
class="drawer"
|
class="drawer"
|
||||||
custom-class="mes-drawer"
|
custom-class="mes-drawer"
|
||||||
size="60%"
|
size="60%"
|
||||||
@ -172,6 +174,10 @@ export default {
|
|||||||
rules: [
|
rules: [
|
||||||
{ required: true, message: '设备不能为空', trigger: 'blur' },
|
{ required: true, message: '设备不能为空', trigger: 'blur' },
|
||||||
],
|
],
|
||||||
|
bind: {
|
||||||
|
filterable: true,
|
||||||
|
clearable: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
@ -253,6 +259,33 @@ export default {
|
|||||||
// this.getList('line');
|
// this.getList('line');
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
/** 确认是否关闭 */
|
||||||
|
async handleConfirmClose() {
|
||||||
|
try {
|
||||||
|
if (
|
||||||
|
await this.$confirm(
|
||||||
|
<div style="position: relative; margin-bottom: 26px; overflow: visible;">
|
||||||
|
<h1 style="font-size: 16px; font-weight: bold; color: #000c;">
|
||||||
|
确认要关闭页面吗?
|
||||||
|
</h1>
|
||||||
|
</div>,
|
||||||
|
// <p style="font-size: 14px; color: #0008; position: absolute; top: 24px;">
|
||||||
|
// 确定关闭将不保留编辑内容
|
||||||
|
// </p>
|
||||||
|
{
|
||||||
|
confirmButtonText: '确 定',
|
||||||
|
cancelButtonText: '取 消',
|
||||||
|
type: 'warning',
|
||||||
|
}
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
this.handleConfirm();
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
handleSearchBarBtnClick(btn) {
|
handleSearchBarBtnClick(btn) {
|
||||||
switch (btn.btnName) {
|
switch (btn.btnName) {
|
||||||
case 'search':
|
case 'search':
|
||||||
|
Loading…
Reference in New Issue
Block a user