质量报表导出,隐藏功能实现,仓库dialog弹窗点击屏幕外关闭修复

This commit is contained in:
2024-05-20 15:09:56 +08:00
parent cd0fb947ad
commit ad2c842997
12 changed files with 540 additions and 583 deletions

View File

@@ -34,8 +34,9 @@
</el-form-item> </el-form-item>
<el-form-item label=" "> <el-form-item label=" ">
<el-button size="mini" type="primary" icon="el-icon-search" @click="getList">搜索</el-button> <el-button size="mini" type="primary" icon="el-icon-search" @click="getList">搜索</el-button>
<el-button size="mini" type="warning" @click="exportDataEvent">EXCEL导出</el-button> <el-button size="mini" type="warning" @click="exportAllDataEvent(false)">日生产报表导出</el-button>
<el-button size="mini" type="success" @click="exportAllDataEvent">导出全部记录</el-button> <el-button size="mini" type="success" @click="exportAllDataEvent(true)">缺陷详情导出</el-button>
<!-- <el-button size="mini" type="success" @click="exportDataEvent">缺陷详情导出</el-button> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@@ -254,6 +255,9 @@
// { row: 0, col: 10, rowspan: 3, colspan: 0 }, // { row: 0, col: 10, rowspan: 3, colspan: 0 },
// { row: 0, col: 11, rowspan: 3, colspan: 0 }, // { row: 0, col: 11, rowspan: 3, colspan: 0 },
], ],
hiddenCells: [],
// 列表对照表
tableCellDict: [],
// 右键菜单 // 右键菜单
tableMenu: { tableMenu: {
header: { header: {
@@ -289,19 +293,16 @@
mergeTable(num) { mergeTable(num) {
this.mergeCells = [] this.mergeCells = []
for (let i = 0; i < this.QualityStatisticsTable.length; i = i + num) { for (let i = 0; i < this.QualityStatisticsTable.length; i = i + num) {
this.mergeCells.push({ row: i, col: 0, rowspan: num, colspan: 0 }) let count = 13 - this.hiddenCells.length;
this.mergeCells.push({ row: i, col: 1, rowspan: num, colspan: 0 }) for (let j = 0; j < count; j++) {
this.mergeCells.push({ row: i, col: 2, rowspan: num, colspan: 0 }) this.mergeCells.push({ row: i, col: j, rowspan: num, colspan: 0 })
this.mergeCells.push({ row: i, col: 3, rowspan: num, colspan: 0 }) }
this.mergeCells.push({ row: i, col: 4, rowspan: num, colspan: 0 }) // if(this.hiddenCells.includes('工单号')){
this.mergeCells.push({ row: i, col: 5, rowspan: num, colspan: 0 })
this.mergeCells.push({ row: i, col: 6, rowspan: num, colspan: 0 }) // }
this.mergeCells.push({ row: i, col: 7, rowspan: num, colspan: 0 }) // this.mergeCells.push({ row: i, col: 10, rowspan: num, colspan: 0 })
this.mergeCells.push({ row: i, col: 8, rowspan: num, colspan: 0 }) // this.mergeCells.push({ row: i, col: 11, rowspan: num, colspan: 0 })
this.mergeCells.push({ row: i, col: 9, rowspan: num, colspan: 0 }) // this.mergeCells.push({ row: i, col: 12, rowspan: num, colspan: 0 })
this.mergeCells.push({ row: i, col: 10, rowspan: num, colspan: 0 })
this.mergeCells.push({ row: i, col: 11, rowspan: num, colspan: 0 })
this.mergeCells.push({ row: i, col: 12, rowspan: num, colspan: 0 })
} }
}, },
@@ -386,11 +387,11 @@
this.$refs.xTable.openExport() this.$refs.xTable.openExport()
}, },
// 导出全部数据 // 导出全部数据
exportAllDataEvent() { exportAllDataEvent(isShowDetail = false) {
let data = { ...this.search, ...this.pagination }; let data = { ...this.search, ...this.pagination };
data.type = this.search.reportType + 1; data.type = this.search.reportType + 1;
data.isShowDetail = false; data.isShowDetail = isShowDetail;
let fileName = this.reportType_options[this.search.reportType].label + '.xlsx'; let fileName = this.reportType_options[this.search.reportType].label + (isShowDetail ? '-缺陷详情' : '-日生产报表') + '.xlsx';
downloadStatisticsTableExcel(data).then(res => { downloadStatisticsTableExcel(data).then(res => {
console.log(res); console.log(res);
let blobURL = URL.createObjectURL(res.data) let blobURL = URL.createObjectURL(res.data)
@@ -428,10 +429,10 @@
const $table = this.$refs.xTable const $table = this.$refs.xTable
switch (menu.code) { switch (menu.code) {
case 'hideColumn': case 'hideColumn':
$table.hideColumn(column) this.hideColumn(column);
break break
case 'showAllColumn': case 'showAllColumn':
$table.resetColumn() this.resetColumn()
break break
case 'remove': case 'remove':
this.removeData(row) this.removeData(row)
@@ -441,6 +442,28 @@
break break
} }
}, },
// 隐藏列
hideColumn(column) {
const $table = this.$refs.xTable;
$table.hideColumn(column);
this.hiddenCells.push(column.title);
this.resetMergeTable();
},
// 取消所有隐藏列
resetColumn() {
const $table = this.$refs.xTable;
this.hiddenCells = [];
$table.resetColumn();
this.resetMergeTable();
},
resetMergeTable(){
if(this.search.reportType === 3){
this.mergeTable(2);
}else{
this.mergeTable(3);
}
},
// 删除数据 // 删除数据
removeData(row) { removeData(row) {
this.$confirm('此操作将永久删除该条记录, 是否继续?', '提示', { this.$confirm('此操作将永久删除该条记录, 是否继续?', '提示', {

View File

@@ -85,7 +85,7 @@
<pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改毛坯库存表对话框 --> <!-- 添加或修改毛坯库存表对话框 -->
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open"> <el-dialog :title="title" :lock-scroll="false" :visible.sync="open" :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth"> <el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :lg="12"> <el-col :lg="12">

View File

@@ -64,7 +64,7 @@
<pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改盘点记录对话框 --> <!-- 添加或修改盘点记录对话框 -->
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open" > <el-dialog :title="title" :lock-scroll="false" :visible.sync="open" :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth"> <el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth">
<el-row :gutter="20"> <el-row :gutter="20">

View File

@@ -112,7 +112,7 @@
/> />
<!-- 添加或修改客户信息对话框 --> <!-- 添加或修改客户信息对话框 -->
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open"> <el-dialog :title="title" :lock-scroll="false" :visible.sync="open" :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth"> <el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :lg="12"> <el-col :lg="12">

View File

@@ -85,7 +85,7 @@
/> />
<!-- 二级菜单区 --> <!-- 二级菜单区 -->
<el-dialog :title="first_level.title" :lock-scroll="false" :visible.sync="first_level.open" width="1200px" :show-close="false"> <el-dialog :title="first_level.title" :lock-scroll="false" :visible.sync="first_level.open" width="1200px" :show-close="false" :close-on-click-modal="false">
<!-- 工具区 --> <!-- 工具区 -->
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">

View File

@@ -66,7 +66,7 @@
<pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改仓库操作日志对话框 --> <!-- 添加或修改仓库操作日志对话框 -->
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open"> <el-dialog :title="title" :lock-scroll="false" :visible.sync="open" :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth"> <el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :lg="12"> <el-col :lg="12">

File diff suppressed because it is too large Load Diff

View File

@@ -85,7 +85,7 @@
<pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改出货单对话框 --> <!-- 添加或修改出货单对话框 -->
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open"> <el-dialog :title="title" :lock-scroll="false" :visible.sync="open" :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth" size="mini"> <el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth" size="mini">
<!-- 时间信息 --> <!-- 时间信息 -->
<el-row :gutter="10"> <el-row :gutter="10">

View File

@@ -1,7 +1,7 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="仓库数据总看板" name="1"><TAB1 v-if="activeName === '1'"></TAB1></el-tab-pane> <!-- <el-tab-pane label="仓库数据总看板" name="1"><TAB1 v-if="activeName === '1'"></TAB1></el-tab-pane> -->
<el-tab-pane label="入库记录根据批次号" name="2"><TAB2 v-if="activeName === '2'"></TAB2></el-tab-pane> <el-tab-pane label="入库记录根据批次号" name="2"><TAB2 v-if="activeName === '2'"></TAB2></el-tab-pane>
<el-tab-pane label="入库记录根据零件号" name="3"><TAB3 v-if="activeName === '3'"></TAB3></el-tab-pane> <el-tab-pane label="入库记录根据零件号" name="3"><TAB3 v-if="activeName === '3'"></TAB3></el-tab-pane>
<el-tab-pane label="出库记录根据批次号" name="4"><TAB4 v-if="activeName === '4'"></TAB4></el-tab-pane> <el-tab-pane label="出库记录根据批次号" name="4"><TAB4 v-if="activeName === '4'"></TAB4></el-tab-pane>

View File

@@ -197,6 +197,7 @@
if (fkOutOrderId === "" || fkOutOrderId === null) { if (fkOutOrderId === "" || fkOutOrderId === null) {
this.$confirm("工单号未填写,是否继续?继续则执行无工单号出库!", "操作提醒").then(() => { this.$confirm("工单号未填写,是否继续?继续则执行无工单号出库!", "操作提醒").then(() => {
this.doSelectOut(); this.doSelectOut();
this.getList();
}).catch(() => { }).catch(() => {
return; return;
}) })

View File

@@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<el-dialog v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" title="库存记录" width="70%"> <el-dialog v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" title="库存记录" width="70%" :close-on-click-modal="false">
<el-form ref="elForm" inline :model="queryParams" :rules="rules" size="medium" :label-width="labelWidth"> <el-form ref="elForm" inline :model="queryParams" :rules="rules" size="medium" :label-width="labelWidth">
<el-form-item label="类别" prop="type"> <el-form-item label="类别" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择类别"> <el-select v-model="queryParams.type" placeholder="请选择类别">

View File

@@ -83,7 +83,7 @@
<pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改拼箱/拆箱待打标签记录表对话框 --> <!-- 添加或修改拼箱/拆箱待打标签记录表对话框 -->
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open"> <el-dialog :title="title" :lock-scroll="false" :visible.sync="open" :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth"> <el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :lg="12"> <el-col :lg="12">