更新
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: Do not edit
|
||||
* @Date: 2023-08-29 14:59:29
|
||||
* @LastEditTime: 2025-01-15 10:24:05
|
||||
* @LastEditTime: 2025-02-25 14:26:04
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@@ -65,69 +65,81 @@ import { getGroupTeamPage } from '@/api/base/groupTeam';
|
||||
import * as XLSX from 'xlsx';
|
||||
import FileSaver from 'file-saver';
|
||||
import baseTableS from './baseTable.vue';
|
||||
import { parseTime } from '@/utils/ruoyi';
|
||||
import { parseTime } from '@/filter/code-filter';
|
||||
|
||||
const tableProps = [
|
||||
{
|
||||
prop: 'reportType',
|
||||
label: '报表类型',
|
||||
fixed: true
|
||||
},
|
||||
{
|
||||
prop: 'reportStartTime',
|
||||
prop: 'reportName',
|
||||
label: '日期',
|
||||
filter: (val) => (val ? parseTime(val, '{y}-{m}-{d}') : '-'),
|
||||
width: 130,
|
||||
width: 180,
|
||||
fixed: true
|
||||
},
|
||||
{
|
||||
prop: 'factoryName',
|
||||
label: '工厂',
|
||||
fixed: true
|
||||
},
|
||||
{
|
||||
prop: 'teamName',
|
||||
label: '班组',
|
||||
fixed: true
|
||||
},
|
||||
|
||||
{
|
||||
prop: 'inputN',
|
||||
label: '投入',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
prop: 'inputNum',
|
||||
label: '投入数量/片',
|
||||
width:100
|
||||
},
|
||||
{
|
||||
prop: 'inputArea',
|
||||
label: '投入面积/m²',
|
||||
width:100
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
prop: 'outputN',
|
||||
label: '产出',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
prop: 'outputNum',
|
||||
label: '产出数量/片',
|
||||
width:100
|
||||
},
|
||||
{
|
||||
prop: 'outputArea',
|
||||
label: '产出面积/㎡',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:100
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
prop: 'lossN',
|
||||
label: '不良',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
prop: 'lossNum',
|
||||
label: '不良数量/片',
|
||||
width:100
|
||||
},
|
||||
{
|
||||
prop: 'lossArea',
|
||||
label: '不良面积/㎡',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:100
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -135,123 +147,148 @@ const tableProps = [
|
||||
prop: 'lossRatio',
|
||||
label: '不良率/%',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:100
|
||||
},
|
||||
{
|
||||
prop: 'outputRatio',
|
||||
label: '投入产出率/%',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:110
|
||||
},
|
||||
{
|
||||
prop: 'processingRatio',
|
||||
label: '加工成品率/%',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:110
|
||||
},
|
||||
{
|
||||
prop: 'lossD',
|
||||
label: '不良详情',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
prop: 'original',
|
||||
label: '原片',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
prop: 'originalLossNum',
|
||||
label: '原片不良/片',
|
||||
width:100
|
||||
},
|
||||
{
|
||||
prop: 'originalLossArea',
|
||||
label: '原片不良/㎡',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:100
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
prop: 'edge',
|
||||
label: '磨边',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
prop: 'edgeLossNum',
|
||||
label: '磨边不良/片',
|
||||
width:100
|
||||
},
|
||||
{
|
||||
prop: 'edgeLossArea',
|
||||
label: '磨边不良/㎡',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:100
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
prop: 'drill',
|
||||
label: '打孔',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
prop: 'drillLossNum',
|
||||
label: '打孔不良/片',
|
||||
width:100
|
||||
},
|
||||
{
|
||||
prop: 'drillLossArea',
|
||||
label: '打孔不良/㎡',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:100
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
prop: 'coating',
|
||||
label: '镀膜',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
prop: 'coatingLossNum',
|
||||
label: '镀膜不良/片',
|
||||
width:100
|
||||
},
|
||||
{
|
||||
prop: 'coatingLossArea',
|
||||
label: '镀膜不良/㎡',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:100
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
prop: 'silk',
|
||||
label: '丝印',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
prop: 'silkLossNum',
|
||||
label: '丝印不良/片',
|
||||
width:100
|
||||
},
|
||||
{
|
||||
prop: 'silkLossArea',
|
||||
label: '丝印不良/㎡',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:100
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
prop: 'tempering',
|
||||
label: '钢化',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
prop: 'temperingLossNum',
|
||||
label: '钢化不良/片',
|
||||
width:100
|
||||
},
|
||||
{
|
||||
prop: 'temperingLossArea',
|
||||
label: '钢化不良/㎡',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:100
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
prop: 'packing',
|
||||
label: '包装',
|
||||
align: 'center',
|
||||
children: [
|
||||
{
|
||||
prop: 'packingLossNum',
|
||||
label: '包装不良/片',
|
||||
width:100
|
||||
},
|
||||
{
|
||||
prop: 'packingLossArea',
|
||||
label: '包装不良/㎡',
|
||||
filter: (val) => (val != null ? val.toFixed(2) : '-'),
|
||||
width:100
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -270,6 +307,7 @@ export default {
|
||||
getDataListURL: getTeamReportPage,
|
||||
},
|
||||
listQuery: {
|
||||
reportType: 1,
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
total: 1,
|
||||
@@ -291,7 +329,12 @@ export default {
|
||||
label: '工厂',
|
||||
selectOptions: [],
|
||||
param: 'factoryId',
|
||||
onchange: true,
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
label: '班组',
|
||||
selectOptions: [],
|
||||
param: 'teamId',
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
@@ -314,20 +357,15 @@ export default {
|
||||
name: '年',
|
||||
},
|
||||
],
|
||||
defaultSelect: 1,
|
||||
param: 'reportType',
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
label: '班组',
|
||||
selectOptions: [],
|
||||
param: 'teamId',
|
||||
},
|
||||
{
|
||||
type: 'datePicker',
|
||||
label: '报表开始时间',
|
||||
label: '时间范围',
|
||||
dateType: 'daterange',
|
||||
format: 'yyyy-MM-dd',
|
||||
valueFormat: 'yyyy-MM-dd HH:mm:ss',
|
||||
valueFormat: 'timestamp',
|
||||
rangeSeparator: '-',
|
||||
startPlaceholder: '开始时间',
|
||||
endPlaceholder: '结束时间',
|
||||
@@ -364,15 +402,9 @@ export default {
|
||||
// 设置为23:59:59
|
||||
const end = new Date(yesterday.getTime());
|
||||
end.setHours(23, 59, 59, 59);
|
||||
this.listQuery.reportStartTime = [
|
||||
parseTime(yesterday, '{y}-{m}-{d} {h}:{i}:{s}'),
|
||||
parseTime(end, '{y}-{m}-{d} {h}:{i}:{s}'),
|
||||
];
|
||||
this.listQuery.reportStartTime = [yesterday.getTime(),end.getTime()];
|
||||
this.$nextTick(() => {
|
||||
this.$refs.searchBarForm.formInline.timeVal = [
|
||||
parseTime(yesterday, '{y}-{m}-{d} {h}:{i}:{s}'),
|
||||
parseTime(end, '{y}-{m}-{d} {h}:{i}:{s}'),
|
||||
];
|
||||
this.$refs.searchBarForm.formInline.timeVal = [yesterday.getTime(),end.getTime()];
|
||||
});
|
||||
this.getDataList();
|
||||
this.getPdLineList();
|
||||
@@ -389,6 +421,7 @@ export default {
|
||||
tables.removeChild(tables.querySelector('.el-table__fixed-right'));
|
||||
}
|
||||
let exportTable = XLSX.utils.table_to_book(tables);
|
||||
exportTable.Sheets.Sheet1.A1.v = '序号' //导出表格第一列表头为序号
|
||||
|
||||
var exportTableOut = XLSX.write(exportTable, {
|
||||
bookType: 'xlsx',
|
||||
@@ -414,7 +447,7 @@ export default {
|
||||
pageNo: 1,
|
||||
};
|
||||
getGroupTeamPage(params).then((res) => {
|
||||
this.formConfig[2].selectOptions = res.data.list || [];
|
||||
this.formConfig[1].selectOptions = res.data.list || [];
|
||||
});
|
||||
getFactoryPage(params).then((res) => {
|
||||
this.formConfig[0].selectOptions = res.data.list || [];
|
||||
@@ -445,11 +478,11 @@ export default {
|
||||
this.dataListLoading = true;
|
||||
const arr = ['日', '周', '月', '年'];
|
||||
this.urlOptions.getDataListURL(this.listQuery).then((response) => {
|
||||
if(!response.data.list){
|
||||
this.showData = []
|
||||
this.dataListLoading = false;
|
||||
return
|
||||
}
|
||||
if (!response.data.list) {
|
||||
this.showData = [];
|
||||
this.dataListLoading = false;
|
||||
return;
|
||||
}
|
||||
this.tableData = response.data?.list.map((item, index) => {
|
||||
item.reportType = arr[item.reportType - 1];
|
||||
item.originalLossNum = item.original?.lossNum;
|
||||
@@ -475,13 +508,16 @@ export default {
|
||||
},
|
||||
handleClick(val) {
|
||||
this.addOrUpdateVisible = true;
|
||||
const time = val.data.reportName?val.data.reportName:'- '
|
||||
const teamName = val.data.teamName?val.data.teamName:'- '
|
||||
const teamLeader = val.data.teamLeader?val.data.teamLeader:'- '
|
||||
this.addOrEditTitle =
|
||||
'时间:' +
|
||||
val.data?.reportName +
|
||||
'时间:' +
|
||||
time +
|
||||
' 班组:' +
|
||||
val.data?.teamName +
|
||||
teamName +
|
||||
' 组长:' +
|
||||
val.data?.teamLeader +
|
||||
teamLeader +
|
||||
' 详情';
|
||||
this.$nextTick(() => {
|
||||
this.$refs.grDetail.init(val.data.id);
|
||||
|
||||
Reference in New Issue
Block a user