Merge remote-tracking branch 'origin/0.8.X' into 0.8.X
This commit is contained in:
@@ -48,6 +48,10 @@ import KLPTable from '@/components/KLPUI/KLPTable/index.vue'
|
|||||||
import MemoInput from '@/components/MemoInput/index.vue'
|
import MemoInput from '@/components/MemoInput/index.vue'
|
||||||
import CurrentCoilNo from '@/components/KLPService/Renderer/CurrentCoilNo.vue'
|
import CurrentCoilNo from '@/components/KLPService/Renderer/CurrentCoilNo.vue'
|
||||||
|
|
||||||
|
// 初始化所有列
|
||||||
|
import { initAllColumns } from '@/views/wms/report/js/column.js'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 全局方法挂载
|
// 全局方法挂载
|
||||||
Vue.prototype.getDicts = getDicts
|
Vue.prototype.getDicts = getDicts
|
||||||
@@ -83,6 +87,9 @@ Vue.use(VueKonva);
|
|||||||
Vue.use(dashboardBigPlugin)
|
Vue.use(dashboardBigPlugin)
|
||||||
DictData.install()
|
DictData.install()
|
||||||
|
|
||||||
|
// 初始化所有列
|
||||||
|
initAllColumns()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If you don't want to use mock-server
|
* If you don't want to use mock-server
|
||||||
* you want to use MockJs for mock api
|
* you want to use MockJs for mock api
|
||||||
|
|||||||
86
klp-ui/src/views/wms/report/components/coilTable/index.vue
Normal file
86
klp-ui/src/views/wms/report/components/coilTable/index.vue
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
<template>
|
||||||
|
<div class="coil-table">
|
||||||
|
<!-- 其他props -->
|
||||||
|
<el-table :data="tableData" style="width: 100%" height="calc(100vh - 320px)" border>
|
||||||
|
<el-table-column v-for="column in columns" :key="column.prop" :prop="column.prop" :label="column.title" :width="column.width" :align="column.align">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<!-- 特殊 prop 渲染逻辑 -->
|
||||||
|
<template v-if="column.prop === 'enterCoilNo'">
|
||||||
|
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="column.prop === 'currentCoilNo'">
|
||||||
|
<current-coil-no :current-coil-no="scope.row.currentCoilNo"></current-coil-no>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="column.prop === 'itemId'">
|
||||||
|
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
||||||
|
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
||||||
|
</template>
|
||||||
|
<template v-else-if="column.prop === 'status'">
|
||||||
|
{{ scope.row.status === 0 ? '在库' : '已出库' }}
|
||||||
|
</template>
|
||||||
|
<!-- 默认渲染 -->
|
||||||
|
<template v-else>
|
||||||
|
{{ scope.row[column.prop] }}
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-pagination
|
||||||
|
v-if="showPagination"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="total"
|
||||||
|
:page-size.sync="pageSize"
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import ProductInfo from "@/components/KLPService/Renderer/ProductInfo";
|
||||||
|
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
|
||||||
|
import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'CoilTable',
|
||||||
|
components: {
|
||||||
|
ProductInfo,
|
||||||
|
RawMaterialInfo,
|
||||||
|
CoilNo,
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
columns: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 1000,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
// 内部实现前端分页逻辑
|
||||||
|
tableData() {
|
||||||
|
return this.data.slice((this.pageNum - 1) * this.pageSize, this.pageNum * this.pageSize)
|
||||||
|
},
|
||||||
|
// 计算总页数
|
||||||
|
totalPage() {
|
||||||
|
return Math.ceil(this.data.length / this.pageSize)
|
||||||
|
},
|
||||||
|
// 计算总条数
|
||||||
|
total() {
|
||||||
|
return this.data.length
|
||||||
|
},
|
||||||
|
// 是否展示分页组件
|
||||||
|
showPagination() {
|
||||||
|
return this.totalPage > 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
275
klp-ui/src/views/wms/report/components/setting/columns.vue
Normal file
275
klp-ui/src/views/wms/report/components/setting/columns.vue
Normal file
@@ -0,0 +1,275 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-table :data="displayColumns" style="width: 100%" border row-key="prop" height="400">
|
||||||
|
<el-table-column label="操作" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" @click="moveUp(scope.$index)" :disabled="scope.$index === 0 || scope.row._isEmpty">上移</el-button>
|
||||||
|
<el-button size="mini" @click="moveDown(scope.$index)"
|
||||||
|
:disabled="scope.$index === displayColumns.length - 1 || scope.row._isEmpty">下移</el-button>
|
||||||
|
<el-button size="mini" type="danger" @click="removeColumn(scope.$index)" :disabled="scope.row._isEmpty">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="prop" label="字段名称">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-select v-model="scope.row.prop" filterable @change="(value) => propChange(value, scope.row)" size="small">
|
||||||
|
<el-option v-for="item in optionalProps" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="title" label="表头名称">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.title" @blur="saveColumns" size="small" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="width" label="宽度(不填则均分剩余宽度)">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.width" @blur="saveColumns" size="small" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="align" label="对齐方式">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-select v-model="scope.row.align" @change="saveColumns" size="small">
|
||||||
|
<el-option label="左对齐" value="left" />
|
||||||
|
<el-option label="居中" value="center" />
|
||||||
|
<el-option label="右对齐" value="right" />
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "ColumnsSetting",
|
||||||
|
props: {
|
||||||
|
// 拼接key
|
||||||
|
reportType: {
|
||||||
|
type: String,
|
||||||
|
default: 'coil-report-loss',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
storageKey: 'preference-tableColumns',
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: "入场钢卷号",
|
||||||
|
prop: "enterCoilNo",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "当前钢卷号",
|
||||||
|
prop: "currentCoilNo",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "操作完成时间",
|
||||||
|
prop: "actionCompleteTime",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "生产开始时间",
|
||||||
|
prop: "productionStartTime",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "生产结束时间",
|
||||||
|
prop: "productionEndTime",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "逻辑库区",
|
||||||
|
prop: "warehouseName",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "产品类型",
|
||||||
|
prop: "itemId",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "宽度",
|
||||||
|
prop: "computedWidth",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "厚度",
|
||||||
|
prop: "computedThickness",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "重量",
|
||||||
|
prop: "netWeight",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "长度",
|
||||||
|
prop: "length",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "生产线速度",
|
||||||
|
prop: "productionSpeed",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "备注",
|
||||||
|
prop: "remark",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
// 可选的prop
|
||||||
|
optionalProps: [
|
||||||
|
{ label: '入场钢卷号', value: 'enterCoilNo' },
|
||||||
|
{ label: '当前钢卷号', value: 'currentCoilNo' },
|
||||||
|
{ label: '逻辑库区', value: 'warehouseName' },
|
||||||
|
{ label: '实际库区', value: 'actualWarehouseName' },
|
||||||
|
{ label: '产品类型', value: 'itemId' },
|
||||||
|
{ label: '品名', value: 'itemName' },
|
||||||
|
{ label: '宽度', value: 'computedWidth' },
|
||||||
|
{ label: '厚度', value: 'computedThickness' },
|
||||||
|
{ label: '规格', value: 'specification' },
|
||||||
|
{ label: '材质', value: 'material' },
|
||||||
|
{ label: '厂家', value: 'manufacturer' },
|
||||||
|
{ label: '表面处理', value: 'surfaceTreatmentDesc' },
|
||||||
|
{ label: '镀层质量', value: 'zincLayer' },
|
||||||
|
{ label: '长度', value: 'length' },
|
||||||
|
{ label: '毛重', value: 'grossWeight' },
|
||||||
|
{ label: '净重', value: 'netWeight' },
|
||||||
|
{ label: '创建时间', value: 'createTime' },
|
||||||
|
{ label: '创建人', value: 'createBy' },
|
||||||
|
{ label: '更新时间', value: 'updateTime' },
|
||||||
|
{ label: '更新人', value: 'updateByName' },
|
||||||
|
{ label: '备注', value: 'remark' },
|
||||||
|
{ label: '生产开始时间', value: 'productionStartTime' },
|
||||||
|
{ label: '生产结束时间', value: 'productionEndTime' },
|
||||||
|
{ label: '生产耗时', value: 'productionDuration' },
|
||||||
|
{ label: '出库状态', value: 'status' },
|
||||||
|
{ label: '操作完成时间', value: 'actionCompleteTime' },
|
||||||
|
{ label: "生产线速度", value: "productionSpeed" },
|
||||||
|
{ label: '发货绑定车牌号', value: 'bindLicensePlate' },
|
||||||
|
{ label: '发货绑定目标客户', value: 'bindConsigneeUnit' },
|
||||||
|
{ label: '发货绑定单位', value: 'bindSenderUnit' },
|
||||||
|
{ label: '发货绑定负责人', value: 'bindPrincipal' },
|
||||||
|
{ label: '发货时间', value: 'exportTime' },
|
||||||
|
],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
reportType: {
|
||||||
|
handler(newVal, oldVal) {
|
||||||
|
this.loadColumns()
|
||||||
|
},
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
// 完整的storageKey
|
||||||
|
completeStorageKey() {
|
||||||
|
return this.storageKey + '-' + this.reportType
|
||||||
|
},
|
||||||
|
// 显示的列数据
|
||||||
|
displayColumns() {
|
||||||
|
// 复制原始列数据
|
||||||
|
const displayData = [...this.columns]
|
||||||
|
// 添加一个空行
|
||||||
|
displayData.push({
|
||||||
|
title: "",
|
||||||
|
prop: "",
|
||||||
|
width: "100",
|
||||||
|
align: "center",
|
||||||
|
_isEmpty: true
|
||||||
|
})
|
||||||
|
return displayData
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.loadColumns()
|
||||||
|
// this.$nextTick(() => {
|
||||||
|
// this.initDragSort()
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
moveUp(index) {
|
||||||
|
if (index > 0 && !this.displayColumns[index]._isEmpty) {
|
||||||
|
const temp = this.columns[index]
|
||||||
|
this.columns.splice(index, 1)
|
||||||
|
this.columns.splice(index - 1, 0, temp)
|
||||||
|
this.saveColumns()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
moveDown(index) {
|
||||||
|
if (index < this.columns.length - 1 && !this.displayColumns[index]._isEmpty) {
|
||||||
|
const temp = this.columns[index]
|
||||||
|
this.columns.splice(index, 1)
|
||||||
|
this.columns.splice(index + 1, 0, temp)
|
||||||
|
this.saveColumns()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
removeColumn(index) {
|
||||||
|
if (!this.displayColumns[index]._isEmpty) {
|
||||||
|
this.columns.splice(index, 1)
|
||||||
|
this.saveColumns()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
saveColumns() {
|
||||||
|
// 只存储非空行
|
||||||
|
const nonEmptyColumns = this.columns.filter(col => col.prop && col.title)
|
||||||
|
localStorage.setItem(this.completeStorageKey, JSON.stringify(nonEmptyColumns))
|
||||||
|
},
|
||||||
|
propChange(propValue, row) {
|
||||||
|
// 查找对应的label
|
||||||
|
const item = this.optionalProps.find(item => item.value === propValue)
|
||||||
|
if (item) {
|
||||||
|
row.title = item.label
|
||||||
|
} else {
|
||||||
|
row.title = propValue
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果是空行且已经填写了prop,则添加到实际列中
|
||||||
|
if (row._isEmpty && propValue) {
|
||||||
|
const newColumn = {
|
||||||
|
title: row.title,
|
||||||
|
prop: row.prop,
|
||||||
|
width: row.width,
|
||||||
|
align: row.align
|
||||||
|
}
|
||||||
|
this.columns.push(newColumn)
|
||||||
|
this.saveColumns()
|
||||||
|
} else {
|
||||||
|
this.saveColumns()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
loadColumns() {
|
||||||
|
const savedColumns = localStorage.getItem(this.completeStorageKey)
|
||||||
|
if (savedColumns) {
|
||||||
|
this.columns = JSON.parse(savedColumns)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.el-table {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-table__row {
|
||||||
|
cursor: move;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -41,6 +41,7 @@
|
|||||||
<el-form-item prop="endTime">
|
<el-form-item prop="endTime">
|
||||||
<el-button type="primary" @click="getList">查询</el-button>
|
<el-button type="primary" @click="getList">查询</el-button>
|
||||||
<el-button type="primary" @click="exportData">导出</el-button>
|
<el-button type="primary" @click="exportData">导出</el-button>
|
||||||
|
<el-button type="primary" @click="settingVisible = true">列设置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -53,57 +54,14 @@
|
|||||||
|
|
||||||
<el-descriptions title="明细信息" :column="3" border>
|
<el-descriptions title="明细信息" :column="3" border>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-table :data="list" border height="calc(100vh - 320px)">
|
<coil-table :columns="deliveryColumns" :data="list"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<!-- <el-table-column label="逻辑库位" align="center" prop="warehouseName" /> -->
|
|
||||||
<!-- <el-table-column label="实际库区" align="center" prop="actualWarehouseName" /> -->
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70"/>
|
|
||||||
<el-table-column label="重量(吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度(米)" align="center" prop="length" />
|
|
||||||
<!-- <el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip /> -->
|
|
||||||
<el-table-column label="发货时间" align="center" prop="exportTime" />
|
|
||||||
<!-- <el-table-column label="出库状态" align="center" prop="status">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.status === 0 ? '在库' : '已出库' }}
|
|
||||||
</template>
|
|
||||||
</el-table-column> -->
|
|
||||||
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
<el-dialog title="列设置" :visible.sync="settingVisible" width="50%">
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
<el-radio-group v-model="activeColumnConfig">
|
||||||
<el-table-column label="车牌号" align="center" prop="bindLicensePlate" />
|
<el-radio-button label="coil-report-delivery">发货明细配置</el-radio-button>
|
||||||
<el-table-column label="目标客户" align="center" prop="bindConsigneeUnit" />
|
</el-radio-group>
|
||||||
<el-table-column label="发货单位" align="center" prop="bindSenderUnit" />
|
<columns-setting :reportType="activeColumnConfig"></columns-setting>
|
||||||
<el-table-column label="负责人" align="center" prop="bindPrincipal">
|
</el-dialog>
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-popover trigger="hover" width="200">
|
|
||||||
<template slot="reference">
|
|
||||||
<span style="color: #409eff;">{{ scope.row.bindPrincipal }}</span>
|
|
||||||
</template>
|
|
||||||
<el-descriptions :column="2">
|
|
||||||
<el-descriptions-item label="负责人">{{ scope.row.bindPrincipal }}</el-descriptions-item>
|
|
||||||
<el-descriptions-item label="手机号">{{ scope.row.bindPrincipalPhone }}</el-descriptions-item>
|
|
||||||
</el-descriptions>
|
|
||||||
</el-popover>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -115,6 +73,8 @@ import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
|
|||||||
import MemoInput from "@/components/MemoInput";
|
import MemoInput from "@/components/MemoInput";
|
||||||
import MutiSelect from "@/components/MutiSelect";
|
import MutiSelect from "@/components/MutiSelect";
|
||||||
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
||||||
|
import ColumnsSetting from "@/views/wms/report/components/setting/columns.vue";
|
||||||
|
import CoilTable from "@/views/wms/report/components/coilTable/index.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@@ -123,7 +83,9 @@ export default {
|
|||||||
CoilNo,
|
CoilNo,
|
||||||
MemoInput,
|
MemoInput,
|
||||||
MutiSelect,
|
MutiSelect,
|
||||||
WarehouseSelect
|
WarehouseSelect,
|
||||||
|
ColumnsSetting,
|
||||||
|
CoilTable,
|
||||||
},
|
},
|
||||||
dicts: ['product_coil_status', 'coil_material', 'coil_itemname', 'coil_manufacturer'],
|
dicts: ['product_coil_status', 'coil_material', 'coil_itemname', 'coil_manufacturer'],
|
||||||
data() {
|
data() {
|
||||||
@@ -149,6 +111,8 @@ export default {
|
|||||||
const startTime = `${yesYear}-${yesMonth}-${yesDay} 07:00:00`
|
const startTime = `${yesYear}-${yesMonth}-${yesDay} 07:00:00`
|
||||||
const endTime = `${nowYear}-${nowMonth}-${nowDay} 07:00:00`
|
const endTime = `${nowYear}-${nowMonth}-${nowDay} 07:00:00`
|
||||||
return {
|
return {
|
||||||
|
activeColumnConfig: 'coil-report-delivery',
|
||||||
|
settingVisible: false,
|
||||||
list: [],
|
list: [],
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@@ -168,6 +132,8 @@ export default {
|
|||||||
includeBindInfo: true,
|
includeBindInfo: true,
|
||||||
},
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
|
|
||||||
|
deliveryColumns: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -184,6 +150,14 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 加载列设置
|
||||||
|
loadColumns() {
|
||||||
|
this.deliveryColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-delivery') || '[]') || []
|
||||||
|
},
|
||||||
|
// 统一查询入口
|
||||||
|
handleQuery() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
listCoilWithIds({
|
listCoilWithIds({
|
||||||
@@ -212,6 +186,7 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getList()
|
this.getList()
|
||||||
|
this.loadColumns()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
293
klp-ui/src/views/wms/report/js/column.js
Normal file
293
klp-ui/src/views/wms/report/js/column.js
Normal file
@@ -0,0 +1,293 @@
|
|||||||
|
const defaultColumns = {
|
||||||
|
// 消耗报表明细表格
|
||||||
|
"coil-report-loss": [
|
||||||
|
{
|
||||||
|
title: "入场钢卷号",
|
||||||
|
prop: "enterCoilNo",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "当前钢卷号",
|
||||||
|
prop: "currentCoilNo",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "操作完成时间",
|
||||||
|
prop: "actionCompleteTime",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "生产开始时间",
|
||||||
|
prop: "productionStartTime",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "生产结束时间",
|
||||||
|
prop: "productionEndTime",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "逻辑库区",
|
||||||
|
prop: "warehouseName",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "产品类型",
|
||||||
|
prop: "itemId",
|
||||||
|
width: "150",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "宽度",
|
||||||
|
prop: "computedWidth",
|
||||||
|
width: "70",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "厚度",
|
||||||
|
prop: "computedThickness",
|
||||||
|
width: "70",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "重量",
|
||||||
|
prop: "netWeight",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "长度",
|
||||||
|
prop: "length",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "生产线速度",
|
||||||
|
prop: "productionSpeed",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "备注",
|
||||||
|
prop: "remark",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
// 产出报表明细表格
|
||||||
|
"coil-report-output": [
|
||||||
|
{
|
||||||
|
title: "入场钢卷号",
|
||||||
|
prop: "enterCoilNo",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "当前钢卷号",
|
||||||
|
prop: "currentCoilNo",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "生产时间",
|
||||||
|
prop: "createTime",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "逻辑库区",
|
||||||
|
prop: "warehouseName",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "产品类型",
|
||||||
|
prop: "itemId",
|
||||||
|
width: "150",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "宽度",
|
||||||
|
prop: "computedWidth",
|
||||||
|
width: "70",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "厚度",
|
||||||
|
prop: "computedThickness",
|
||||||
|
width: "70",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "重量",
|
||||||
|
prop: "netWeight",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "长度",
|
||||||
|
prop: "length",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "在库状态",
|
||||||
|
prop: "status",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
// 收货明细表格
|
||||||
|
"coil-report-receive": [
|
||||||
|
{
|
||||||
|
title: "入场钢卷号",
|
||||||
|
prop: "enterCoilNo",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "当前钢卷号",
|
||||||
|
prop: "currentCoilNo",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "生产时间",
|
||||||
|
prop: "createTime",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "逻辑库区",
|
||||||
|
prop: "warehouseName",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "产品类型",
|
||||||
|
prop: "itemId",
|
||||||
|
width: "150",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "宽度",
|
||||||
|
prop: "computedWidth",
|
||||||
|
width: "70",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "厚度",
|
||||||
|
prop: "computedThickness",
|
||||||
|
width: "70",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "重量",
|
||||||
|
prop: "netWeight",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "长度",
|
||||||
|
prop: "length",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "在库状态",
|
||||||
|
prop: "status",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "更新人",
|
||||||
|
prop: "updateByName",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "更新时间",
|
||||||
|
prop: "updateTime",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
// 发货明细表格
|
||||||
|
"coil-report-delivery": [
|
||||||
|
{
|
||||||
|
title: "入场钢卷号",
|
||||||
|
prop: "enterCoilNo",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "当前钢卷号",
|
||||||
|
prop: "currentCoilNo",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "逻辑库区",
|
||||||
|
prop: "warehouseName",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "产品类型",
|
||||||
|
prop: "itemId",
|
||||||
|
width: "150",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "宽度",
|
||||||
|
prop: "computedWidth",
|
||||||
|
width: "70",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "厚度",
|
||||||
|
prop: "computedThickness",
|
||||||
|
width: "70",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "重量",
|
||||||
|
prop: "netWeight",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "长度",
|
||||||
|
prop: "length",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "在库状态",
|
||||||
|
prop: "status",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "发货时间",
|
||||||
|
prop: "exportTime",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "发货绑定车牌号",
|
||||||
|
prop: "bindLicensePlate",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "发货绑定目标客户",
|
||||||
|
prop: "bindConsigneeUnit",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "发货绑定单位",
|
||||||
|
prop: "bindSenderUnit",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "发货绑定负责人",
|
||||||
|
prop: "bindPrincipal",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
export const initColumns = (key) => {
|
||||||
|
// 如果没有存储,初始化默认列
|
||||||
|
if (!localStorage.getItem('preference-tableColumns-' + key)) {
|
||||||
|
localStorage.setItem('preference-tableColumns-' + key, JSON.stringify(defaultColumns[key]))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const resetColumns = (key) => {
|
||||||
|
localStorage.removeItem('preference-tableColumns-' + key)
|
||||||
|
initColumns(key)
|
||||||
|
}
|
||||||
|
|
||||||
|
export const initAllColumns = () => {
|
||||||
|
Object.keys(defaultColumns).forEach(key => initColumns(key))
|
||||||
|
}
|
||||||
|
|
||||||
|
export const resetAllColumns = () => {
|
||||||
|
Object.keys(defaultColumns).forEach(key => resetColumns(key))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -38,6 +38,7 @@
|
|||||||
<el-button type="primary" @click="getList">查询</el-button>
|
<el-button type="primary" @click="getList">查询</el-button>
|
||||||
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
||||||
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
||||||
|
<el-button type="primary" @click="settingVisible = true">列设置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -66,72 +67,20 @@
|
|||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-tabs v-model="activeTab">
|
<el-tabs v-model="activeTab">
|
||||||
<el-tab-pane label="投入钢卷" name="loss">
|
<el-tab-pane label="投入钢卷" name="loss">
|
||||||
<el-table :data="lossList" border height="calc(100vh - 320px)">
|
<coil-table :data="lossList" :columns="lossColumns" :loading="loading" height="calc(100vh - 360px)" />
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<!-- <el-table-column label="实际库区" align="center" prop="actualWarehouseName" /> -->
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="产出钢卷" name="output">
|
<el-tab-pane label="产出钢卷" name="output">
|
||||||
<el-table :data="outList" border height="calc(100vh - 320px)">
|
<coil-table :data="outList" :columns="outputColumns" :loading="loading" height="calc(100vh - 360px)" />
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<el-table-column label="实际库区" align="center" prop="actualWarehouseName" />
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="出库状态" align="center" prop="status">
|
|
||||||
<!-- 0在库,1已出库 -->
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.status === 0 ? '在库' : '已出库' }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
|
<el-dialog title="列设置" :visible.sync="settingVisible" width="50%">
|
||||||
|
<el-radio-group v-model="activeColumnConfig">
|
||||||
|
<el-radio-button label="coil-report-loss">投入明细配置</el-radio-button>
|
||||||
|
<el-radio-button label="coil-report-output">产出明细配置</el-radio-button>
|
||||||
|
</el-radio-group>
|
||||||
|
<columns-setting :reportType="activeColumnConfig"></columns-setting>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -146,6 +95,8 @@ import ProductInfo from "@/components/KLPService/Renderer/ProductInfo";
|
|||||||
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
|
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
|
||||||
import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
|
import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
|
||||||
import { calcSummary } from "@/views/wms/report/js/calc";
|
import { calcSummary } from "@/views/wms/report/js/calc";
|
||||||
|
import CoilTable from "@/views/wms/report/components/coilTable";
|
||||||
|
import ColumnsSetting from "@/views/wms/report/components/setting/columns";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MergeTemplate',
|
name: 'MergeTemplate',
|
||||||
@@ -161,6 +112,8 @@ export default {
|
|||||||
ProductInfo,
|
ProductInfo,
|
||||||
RawMaterialInfo,
|
RawMaterialInfo,
|
||||||
CoilNo,
|
CoilNo,
|
||||||
|
CoilTable,
|
||||||
|
ColumnsSetting
|
||||||
},
|
},
|
||||||
dicts: ['product_coil_status', 'coil_material', 'coil_itemname', 'coil_manufacturer'],
|
dicts: ['product_coil_status', 'coil_material', 'coil_itemname', 'coil_manufacturer'],
|
||||||
data() {
|
data() {
|
||||||
@@ -214,6 +167,8 @@ export default {
|
|||||||
lossList: [],
|
lossList: [],
|
||||||
outList: [],
|
outList: [],
|
||||||
activeTab: 'loss',
|
activeTab: 'loss',
|
||||||
|
activeColumnConfig: 'coil-report-loss',
|
||||||
|
settingVisible: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
queryParams: {
|
queryParams: {
|
||||||
startTime: start,
|
startTime: start,
|
||||||
@@ -227,7 +182,9 @@ export default {
|
|||||||
itemManufacturer: '',
|
itemManufacturer: '',
|
||||||
pageSize: 9999,
|
pageSize: 9999,
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
}
|
},
|
||||||
|
lossColumns: [],
|
||||||
|
outputColumns: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -237,6 +194,7 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.handleQuery()
|
this.handleQuery()
|
||||||
|
this.loadColumns()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
@@ -310,6 +268,11 @@ export default {
|
|||||||
coilIds: this.lossList.map(item => item.coilId).join(',')
|
coilIds: this.lossList.map(item => item.coilId).join(',')
|
||||||
}, `materialCoil_${new Date().getTime()}.xlsx`)
|
}, `materialCoil_${new Date().getTime()}.xlsx`)
|
||||||
},
|
},
|
||||||
|
// 加载列设置
|
||||||
|
loadColumns() {
|
||||||
|
this.lossColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-loss') || '[]') || []
|
||||||
|
this.outputColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-output') || '[]') || []
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -48,6 +48,7 @@
|
|||||||
<el-form-item prop="endTime">
|
<el-form-item prop="endTime">
|
||||||
<el-button type="primary" @click="getList">查询</el-button>
|
<el-button type="primary" @click="getList">查询</el-button>
|
||||||
<el-button type="primary" @click="exportData">导出</el-button>
|
<el-button type="primary" @click="exportData">导出</el-button>
|
||||||
|
<el-button type="primary" @click="settingVisible = true">列设置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -60,40 +61,14 @@
|
|||||||
|
|
||||||
<el-descriptions title="明细信息" :column="3" border>
|
<el-descriptions title="明细信息" :column="3" border>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-table :data="list" border height="calc(100vh - 320px)">
|
<coil-table :columns="receiveColumns" :data="list"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
<el-dialog title="列设置" :visible.sync="settingVisible" width="50%">
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
<el-radio-group v-model="activeColumnConfig">
|
||||||
</template>
|
<el-radio-button label="coil-report-receive">收货明细配置</el-radio-button>
|
||||||
</el-table-column>
|
</el-radio-group>
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
<columns-setting :reportType="activeColumnConfig"></columns-setting>
|
||||||
<template slot-scope="scope">
|
</el-dialog>
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<el-table-column label="实际库区" align="center" prop="actualWarehouseName" />
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70"/>
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="出库状态" align="center" prop="status">
|
|
||||||
<!-- 0在库,1已出库 -->
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.status === 0 ? '在库' : '已出库' }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -109,6 +84,8 @@ import MemoInput from "@/components/MemoInput";
|
|||||||
import MutiSelect from "@/components/MutiSelect";
|
import MutiSelect from "@/components/MutiSelect";
|
||||||
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
||||||
import { listDeliveryPlan } from '@/api/wms/deliveryPlan'
|
import { listDeliveryPlan } from '@/api/wms/deliveryPlan'
|
||||||
|
import ColumnsSetting from "@/views/wms/report/components/setting/columns.vue";
|
||||||
|
import CoilTable from "@/views/wms/report/components/coilTable/index.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@@ -118,6 +95,8 @@ export default {
|
|||||||
MemoInput,
|
MemoInput,
|
||||||
MutiSelect,
|
MutiSelect,
|
||||||
WarehouseSelect,
|
WarehouseSelect,
|
||||||
|
ColumnsSetting,
|
||||||
|
CoilTable,
|
||||||
},
|
},
|
||||||
dicts: ['product_coil_status', 'coil_material', 'coil_itemname', 'coil_manufacturer'],
|
dicts: ['product_coil_status', 'coil_material', 'coil_itemname', 'coil_manufacturer'],
|
||||||
data() {
|
data() {
|
||||||
@@ -143,6 +122,8 @@ export default {
|
|||||||
const startTime = `${yesYear}-${yesMonth}-${yesDay} 07:00:00`
|
const startTime = `${yesYear}-${yesMonth}-${yesDay} 07:00:00`
|
||||||
const endTime = `${nowYear}-${nowMonth}-${nowDay} 07:00:00`
|
const endTime = `${nowYear}-${nowMonth}-${nowDay} 07:00:00`
|
||||||
return {
|
return {
|
||||||
|
activeColumnConfig: 'coil-report-receive',
|
||||||
|
settingVisible: false,
|
||||||
list: [],
|
list: [],
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@@ -162,6 +143,8 @@ export default {
|
|||||||
},
|
},
|
||||||
planList: [],
|
planList: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
|
|
||||||
|
receiveColumns: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -178,6 +161,14 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 加载列设置
|
||||||
|
loadColumns() {
|
||||||
|
this.receiveColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-receive') || '[]') || []
|
||||||
|
},
|
||||||
|
// 统一查询入口
|
||||||
|
handleQuery() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
remoteMethod(query) {
|
remoteMethod(query) {
|
||||||
listDeliveryPlan({ planName: query, pageNum: 1, pageSize: 5, planType: 1 }).then(res => {
|
listDeliveryPlan({ planName: query, pageNum: 1, pageSize: 5, planType: 1 }).then(res => {
|
||||||
this.planList = res.rows
|
this.planList = res.rows
|
||||||
@@ -233,6 +224,7 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.getList()
|
this.getList()
|
||||||
this.remoteMethod('')
|
this.remoteMethod('')
|
||||||
|
this.loadColumns()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -39,6 +39,7 @@
|
|||||||
<el-button type="primary" @click="handleQuery">查询</el-button> <!-- 统一改为handleQuery -->
|
<el-button type="primary" @click="handleQuery">查询</el-button> <!-- 统一改为handleQuery -->
|
||||||
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
||||||
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
||||||
|
<el-button type="primary" @click="settingVisible = true">列设置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -73,73 +74,20 @@
|
|||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-tabs v-model="activeTab">
|
<el-tabs v-model="activeTab">
|
||||||
<el-tab-pane label="投入钢卷" name="loss">
|
<el-tab-pane label="投入钢卷" name="loss">
|
||||||
<el-table :data="lossList" border height="calc(100vh - 320px)">
|
<coil-table :columns="lossColumns" :data="lossList"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<!-- <el-table-column label="实际库区" align="center" prop="actualWarehouseName" /> -->
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="产出钢卷" name="output">
|
<el-tab-pane label="产出钢卷" name="output">
|
||||||
<el-table :data="list" border height="calc(100vh - 320px)">
|
<coil-table :columns="outputColumns" :data="list"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<el-table-column label="实际库区" align="center" prop="actualWarehouseName" />
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="出库状态" align="center" prop="status">
|
|
||||||
<!-- 0在库,1已出库 -->
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.status === 0 ? '在库' : '已出库' }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
|
<el-dialog title="列设置" :visible.sync="settingVisible" width="50%">
|
||||||
|
<el-radio-group v-model="activeColumnConfig">
|
||||||
|
<el-radio-button label="coil-report-loss">投入明细配置</el-radio-button>
|
||||||
|
<el-radio-button label="coil-report-output">产出明细配置</el-radio-button>
|
||||||
|
</el-radio-group>
|
||||||
|
<columns-setting :reportType="activeColumnConfig"></columns-setting>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -155,6 +103,8 @@ import MemoInput from "@/components/MemoInput";
|
|||||||
import MutiSelect from "@/components/MutiSelect";
|
import MutiSelect from "@/components/MutiSelect";
|
||||||
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
||||||
import { calcSummary, calcAbSummary } from "@/views/wms/report/js/calc";
|
import { calcSummary, calcAbSummary } from "@/views/wms/report/js/calc";
|
||||||
|
import ColumnsSetting from "@/views/wms/report/components/setting/columns.vue";
|
||||||
|
import CoilTable from "@/views/wms/report/components/coilTable/index.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DayTemplate',
|
name: 'DayTemplate',
|
||||||
@@ -165,6 +115,8 @@ export default {
|
|||||||
MemoInput,
|
MemoInput,
|
||||||
MutiSelect,
|
MutiSelect,
|
||||||
WarehouseSelect,
|
WarehouseSelect,
|
||||||
|
ColumnsSetting,
|
||||||
|
CoilTable,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
actionTypes: {
|
actionTypes: {
|
||||||
@@ -205,6 +157,8 @@ export default {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
activeTab: 'loss',
|
activeTab: 'loss',
|
||||||
|
activeColumnConfig: 'coil-report-loss',
|
||||||
|
settingVisible: false,
|
||||||
list: [],
|
list: [],
|
||||||
lossList: [],
|
lossList: [],
|
||||||
queryParams: {
|
queryParams: {
|
||||||
@@ -233,7 +187,10 @@ export default {
|
|||||||
'2019583429955104769',
|
'2019583429955104769',
|
||||||
'2019583137616310273',
|
'2019583137616310273',
|
||||||
],
|
],
|
||||||
getDayTimeRange // 挂载时间范围生成函数
|
getDayTimeRange, // 挂载时间范围生成函数
|
||||||
|
|
||||||
|
lossColumns: [],
|
||||||
|
outputColumns: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -255,6 +212,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 加载列设置
|
||||||
|
loadColumns() {
|
||||||
|
this.lossColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-loss') || '[]') || []
|
||||||
|
this.outputColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-output') || '[]') || []
|
||||||
|
},
|
||||||
// 日期变更处理:更新开始/结束时间
|
// 日期变更处理:更新开始/结束时间
|
||||||
handleDateChange(date) {
|
handleDateChange(date) {
|
||||||
if (!date) return
|
if (!date) return
|
||||||
@@ -372,6 +334,7 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.getList()
|
this.getList()
|
||||||
this.getLossList()
|
this.getLossList()
|
||||||
|
this.loadColumns()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -47,6 +47,7 @@
|
|||||||
<el-form-item prop="endTime">
|
<el-form-item prop="endTime">
|
||||||
<el-button type="primary" @click="getList">查询</el-button>
|
<el-button type="primary" @click="getList">查询</el-button>
|
||||||
<el-button type="primary" @click="exportData">导出</el-button>
|
<el-button type="primary" @click="exportData">导出</el-button>
|
||||||
|
<el-button type="primary" @click="settingVisible = true">列设置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -59,39 +60,14 @@
|
|||||||
|
|
||||||
<el-descriptions title="明细信息" :column="3" border>
|
<el-descriptions title="明细信息" :column="3" border>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-table :data="list" border height="calc(100vh - 320px)">
|
<coil-table :columns="lossColumns" :data="list"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
<el-dialog title="列设置" :visible.sync="settingVisible" width="50%">
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
<el-radio-group v-model="activeColumnConfig">
|
||||||
</template>
|
<el-radio-button label="coil-report-loss">消耗明细配置</el-radio-button>
|
||||||
</el-table-column>
|
</el-radio-group>
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
<columns-setting :reportType="activeColumnConfig"></columns-setting>
|
||||||
<template slot-scope="scope">
|
</el-dialog>
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<!-- <el-table-column label="实际库区" align="center" prop="actualWarehouseName" /> -->
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70"/>
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<!-- <el-table-column label="出库状态" align="center" prop="status">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.status === 0 ? '在库' : '已出库' }}
|
|
||||||
</template>
|
|
||||||
</el-table-column> -->
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -107,6 +83,8 @@ import MemoInput from "@/components/MemoInput";
|
|||||||
import MutiSelect from "@/components/MutiSelect";
|
import MutiSelect from "@/components/MutiSelect";
|
||||||
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
||||||
import { listDeliveryPlan } from '@/api/wms/deliveryPlan'
|
import { listDeliveryPlan } from '@/api/wms/deliveryPlan'
|
||||||
|
import ColumnsSetting from "@/views/wms/report/components/setting/columns.vue";
|
||||||
|
import CoilTable from "@/views/wms/report/components/coilTable/index.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'LossTemplate',
|
name: 'LossTemplate',
|
||||||
@@ -117,6 +95,8 @@ export default {
|
|||||||
MemoInput,
|
MemoInput,
|
||||||
MutiSelect,
|
MutiSelect,
|
||||||
WarehouseSelect,
|
WarehouseSelect,
|
||||||
|
ColumnsSetting,
|
||||||
|
CoilTable,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
actionTypes: {
|
actionTypes: {
|
||||||
@@ -152,6 +132,8 @@ export default {
|
|||||||
const startTime = `${yesYear}-${yesMonth}-${yesDay} 07:00:00`
|
const startTime = `${yesYear}-${yesMonth}-${yesDay} 07:00:00`
|
||||||
const endTime = `${nowYear}-${nowMonth}-${nowDay} 07:00:00`
|
const endTime = `${nowYear}-${nowMonth}-${nowDay} 07:00:00`
|
||||||
return {
|
return {
|
||||||
|
activeColumnConfig: 'coil-report-loss',
|
||||||
|
settingVisible: false,
|
||||||
list: [],
|
list: [],
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@@ -171,6 +153,8 @@ export default {
|
|||||||
},
|
},
|
||||||
planList: [],
|
planList: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
|
|
||||||
|
lossColumns: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -187,6 +171,14 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 加载列设置
|
||||||
|
loadColumns() {
|
||||||
|
this.lossColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-loss') || '[]') || []
|
||||||
|
},
|
||||||
|
// 统一查询入口
|
||||||
|
handleQuery() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
remoteMethod(query) {
|
remoteMethod(query) {
|
||||||
listDeliveryPlan({ planName: query, pageNum: 1, pageSize: 5, planType: 1 }).then(res => {
|
listDeliveryPlan({ planName: query, pageNum: 1, pageSize: 5, planType: 1 }).then(res => {
|
||||||
this.planList = res.rows
|
this.planList = res.rows
|
||||||
@@ -207,8 +199,8 @@ export default {
|
|||||||
})
|
})
|
||||||
}))
|
}))
|
||||||
const actions = resultList.flatMap(item => item.rows)
|
const actions = resultList.flatMap(item => item.rows)
|
||||||
const coilIds = actions.map(item => item.coilId).join(',')
|
const actionIds = actions.map(item => item.actionId).join(',')
|
||||||
if (!coilIds) {
|
if (!actionIds) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: '暂无数据',
|
message: '暂无数据',
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
@@ -217,15 +209,26 @@ export default {
|
|||||||
this.loading = false
|
this.loading = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
// const coilIds = actions.map(item => item.coilId).join(',')
|
||||||
|
// if (!coilIds) {
|
||||||
|
// this.$message({
|
||||||
|
// message: '暂无数据',
|
||||||
|
// type: 'warning',
|
||||||
|
// })
|
||||||
|
// this.list = []
|
||||||
|
// this.loading = false
|
||||||
|
// return
|
||||||
|
// }
|
||||||
listCoilWithIds({
|
listCoilWithIds({
|
||||||
...this.queryParams,
|
...this.queryParams,
|
||||||
byCreateTimeStart: undefined,
|
byCreateTimeStart: undefined,
|
||||||
byCreateTimeEnd: undefined,
|
byCreateTimeEnd: undefined,
|
||||||
coilIds: coilIds,
|
actionIds: actionIds,
|
||||||
|
// coilIds: coilIds,
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
this.list = res.rows.map(item => {
|
this.list = res.rows.map(item => {
|
||||||
// 计算宽度和厚度,将规格按照*分割,*前的是厚度,*后的是宽度
|
// 计算宽度和厚度,将规格按照*分割,*前的是厚度,*后的是宽度
|
||||||
const [thickness, width] = item.specification.split('*')
|
const [thickness, width] = item.specification?.split('*') || [undefined, undefined]
|
||||||
return {
|
return {
|
||||||
...item,
|
...item,
|
||||||
computedThickness: parseFloat(thickness),
|
computedThickness: parseFloat(thickness),
|
||||||
@@ -245,6 +248,7 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.getList()
|
this.getList()
|
||||||
this.remoteMethod('')
|
this.remoteMethod('')
|
||||||
|
this.loadColumns()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
<el-button type="primary" @click="getList">查询</el-button>
|
<el-button type="primary" @click="getList">查询</el-button>
|
||||||
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
||||||
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
||||||
|
<el-button type="primary" @click="settingVisible = true">列设置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -66,72 +67,20 @@
|
|||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-tabs v-model="activeTab">
|
<el-tabs v-model="activeTab">
|
||||||
<el-tab-pane label="投入钢卷" name="loss">
|
<el-tab-pane label="投入钢卷" name="loss">
|
||||||
<el-table :data="lossList" border height="calc(100vh - 320px)">
|
<coil-table :data="lossList" :columns="lossColumns" :loading="loading" height="calc(100vh - 360px)" />
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<!-- <el-table-column label="实际库区" align="center" prop="actualWarehouseName" /> -->
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="产出钢卷" name="output">
|
<el-tab-pane label="产出钢卷" name="output">
|
||||||
<el-table :data="outList" border height="calc(100vh - 320px)">
|
<coil-table :data="outList" :columns="outputColumns" :loading="loading" height="calc(100vh - 360px)" />
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<el-table-column label="实际库区" align="center" prop="actualWarehouseName" />
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="出库状态" align="center" prop="status">
|
|
||||||
<!-- 0在库,1已出库 -->
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.status === 0 ? '在库' : '已出库' }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
|
<el-dialog title="列设置" :visible.sync="settingVisible" width="50%">
|
||||||
|
<el-radio-group v-model="activeColumnConfig">
|
||||||
|
<el-radio-button label="coil-report-loss">投入明细配置</el-radio-button>
|
||||||
|
<el-radio-button label="coil-report-output">产出明细配置</el-radio-button>
|
||||||
|
</el-radio-group>
|
||||||
|
<columns-setting :reportType="activeColumnConfig"></columns-setting>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -146,6 +95,8 @@ import ProductInfo from "@/components/KLPService/Renderer/ProductInfo";
|
|||||||
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
|
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
|
||||||
import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
|
import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
|
||||||
import { calcSummary } from "@/views/wms/report/js/calc";
|
import { calcSummary } from "@/views/wms/report/js/calc";
|
||||||
|
import CoilTable from "@/views/wms/report/components/coilTable";
|
||||||
|
import ColumnsSetting from "@/views/wms/report/components/setting/columns";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MergeTemplate',
|
name: 'MergeTemplate',
|
||||||
@@ -161,6 +112,8 @@ export default {
|
|||||||
ProductInfo,
|
ProductInfo,
|
||||||
RawMaterialInfo,
|
RawMaterialInfo,
|
||||||
CoilNo,
|
CoilNo,
|
||||||
|
CoilTable,
|
||||||
|
ColumnsSetting
|
||||||
},
|
},
|
||||||
dicts: ['product_coil_status', 'coil_material', 'coil_itemname', 'coil_manufacturer'],
|
dicts: ['product_coil_status', 'coil_material', 'coil_itemname', 'coil_manufacturer'],
|
||||||
data() {
|
data() {
|
||||||
@@ -214,6 +167,8 @@ export default {
|
|||||||
lossList: [],
|
lossList: [],
|
||||||
outList: [],
|
outList: [],
|
||||||
activeTab: 'loss',
|
activeTab: 'loss',
|
||||||
|
activeColumnConfig: 'coil-report-loss',
|
||||||
|
settingVisible: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
queryParams: {
|
queryParams: {
|
||||||
startTime: start,
|
startTime: start,
|
||||||
@@ -227,7 +182,9 @@ export default {
|
|||||||
itemManufacturer: '',
|
itemManufacturer: '',
|
||||||
pageSize: 9999,
|
pageSize: 9999,
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
}
|
},
|
||||||
|
lossColumns: [],
|
||||||
|
outColumns: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -237,6 +194,7 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.handleQuery()
|
this.handleQuery()
|
||||||
|
this.loadColumns()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
@@ -302,6 +260,11 @@ export default {
|
|||||||
coilIds: this.lossList.map(item => item.coilId).join(',')
|
coilIds: this.lossList.map(item => item.coilId).join(',')
|
||||||
}, `materialCoil_${new Date().getTime()}.xlsx`)
|
}, `materialCoil_${new Date().getTime()}.xlsx`)
|
||||||
},
|
},
|
||||||
|
// 加载列设置
|
||||||
|
loadColumns() {
|
||||||
|
this.lossColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-loss') || '[]') || []
|
||||||
|
this.outputColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-output') || '[]') || []
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -39,6 +39,7 @@
|
|||||||
<el-button type="primary" @click="handleQuery">查询</el-button>
|
<el-button type="primary" @click="handleQuery">查询</el-button>
|
||||||
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
||||||
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
||||||
|
<el-button type="primary" @click="settingVisible = true">列设置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -73,73 +74,20 @@
|
|||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-tabs v-model="activeTab">
|
<el-tabs v-model="activeTab">
|
||||||
<el-tab-pane label="投入钢卷" name="loss">
|
<el-tab-pane label="投入钢卷" name="loss">
|
||||||
<el-table :data="lossList" border height="calc(100vh - 320px)">
|
<coil-table :columns="lossColumns" :data="lossList"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<!-- <el-table-column label="实际库区" align="center" prop="actualWarehouseName" /> -->
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="产出钢卷" name="output">
|
<el-tab-pane label="产出钢卷" name="output">
|
||||||
<el-table :data="list" border height="calc(100vh - 320px)">
|
<coil-table :columns="outputColumns" :data="list"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<el-table-column label="实际库区" align="center" prop="actualWarehouseName" />
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="出库状态" align="center" prop="status">
|
|
||||||
<!-- 0在库,1已出库 -->
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.status === 0 ? '在库' : '已出库' }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
|
<el-dialog title="列设置" :visible.sync="settingVisible" width="50%">
|
||||||
|
<el-radio-group v-model="activeColumnConfig">
|
||||||
|
<el-radio-button label="coil-report-loss">投入明细配置</el-radio-button>
|
||||||
|
<el-radio-button label="coil-report-output">产出明细配置</el-radio-button>
|
||||||
|
</el-radio-group>
|
||||||
|
<columns-setting :reportType="activeColumnConfig"></columns-setting>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -155,6 +103,8 @@ import MemoInput from "@/components/MemoInput";
|
|||||||
import MutiSelect from "@/components/MutiSelect";
|
import MutiSelect from "@/components/MutiSelect";
|
||||||
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
||||||
import { calcSummary, calcAbSummary } from "@/views/wms/report/js/calc";
|
import { calcSummary, calcAbSummary } from "@/views/wms/report/js/calc";
|
||||||
|
import ColumnsSetting from "@/views/wms/report/components/setting/columns.vue";
|
||||||
|
import CoilTable from "@/views/wms/report/components/coilTable/index.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MonthTemplate',
|
name: 'MonthTemplate',
|
||||||
@@ -165,6 +115,8 @@ export default {
|
|||||||
MemoInput,
|
MemoInput,
|
||||||
MutiSelect,
|
MutiSelect,
|
||||||
WarehouseSelect,
|
WarehouseSelect,
|
||||||
|
ColumnsSetting,
|
||||||
|
CoilTable,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
actionTypes: {
|
actionTypes: {
|
||||||
@@ -235,6 +187,8 @@ export default {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
activeTab: 'loss',
|
activeTab: 'loss',
|
||||||
|
activeColumnConfig: 'coil-report-loss',
|
||||||
|
settingVisible: false,
|
||||||
list: [],
|
list: [],
|
||||||
lossList: [],
|
lossList: [],
|
||||||
queryParams: {
|
queryParams: {
|
||||||
@@ -263,7 +217,10 @@ export default {
|
|||||||
'2019583429955104769',
|
'2019583429955104769',
|
||||||
'2019583137616310273',
|
'2019583137616310273',
|
||||||
],
|
],
|
||||||
getDayTimeRange // 挂载时间范围生成函数
|
getDayTimeRange, // 挂载时间范围生成函数
|
||||||
|
|
||||||
|
lossColumns: [],
|
||||||
|
outputColumns: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -285,6 +242,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 加载列设置
|
||||||
|
loadColumns() {
|
||||||
|
this.lossColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-loss') || '[]') || []
|
||||||
|
this.outputColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-output') || '[]') || []
|
||||||
|
},
|
||||||
// 日期变更处理:更新开始/结束时间
|
// 日期变更处理:更新开始/结束时间
|
||||||
handleDateChange(date) {
|
handleDateChange(date) {
|
||||||
if (!date) return
|
if (!date) return
|
||||||
@@ -402,6 +364,7 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.getList()
|
this.getList()
|
||||||
this.getLossList()
|
this.getLossList()
|
||||||
|
this.loadColumns()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -44,6 +44,7 @@
|
|||||||
<el-form-item prop="endTime">
|
<el-form-item prop="endTime">
|
||||||
<el-button type="primary" @click="getList">查询</el-button>
|
<el-button type="primary" @click="getList">查询</el-button>
|
||||||
<el-button type="primary" @click="exportData">导出</el-button>
|
<el-button type="primary" @click="exportData">导出</el-button>
|
||||||
|
<el-button type="primary" @click="settingVisible = true">列设置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -56,40 +57,14 @@
|
|||||||
|
|
||||||
<el-descriptions title="明细信息" :column="3" border>
|
<el-descriptions title="明细信息" :column="3" border>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-table :data="list" border height="calc(100vh - 320px)">
|
<coil-table :columns="outputColumns" :data="list"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
<el-dialog title="列设置" :visible.sync="settingVisible" width="50%">
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
<el-radio-group v-model="activeColumnConfig">
|
||||||
</template>
|
<el-radio-button label="coil-report-output">产出明细配置</el-radio-button>
|
||||||
</el-table-column>
|
</el-radio-group>
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
<columns-setting :reportType="activeColumnConfig"></columns-setting>
|
||||||
<template slot-scope="scope">
|
</el-dialog>
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<el-table-column label="实际库区" align="center" prop="actualWarehouseName" />
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="出库状态" align="center" prop="status">
|
|
||||||
<!-- 0在库,1已出库 -->
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.status === 0 ? '在库' : '已出库' }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -101,7 +76,8 @@ import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue";
|
|||||||
import MemoInput from "@/components/MemoInput";
|
import MemoInput from "@/components/MemoInput";
|
||||||
import MutiSelect from "@/components/MutiSelect";
|
import MutiSelect from "@/components/MutiSelect";
|
||||||
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
||||||
|
import ColumnsSetting from "@/views/wms/report/components/setting/columns.vue";
|
||||||
|
import CoilTable from "@/views/wms/report/components/coilTable/index.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'OutTemplate',
|
name: 'OutTemplate',
|
||||||
@@ -112,6 +88,8 @@ export default {
|
|||||||
MemoInput,
|
MemoInput,
|
||||||
MutiSelect,
|
MutiSelect,
|
||||||
WarehouseSelect,
|
WarehouseSelect,
|
||||||
|
ColumnsSetting,
|
||||||
|
CoilTable,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
baseQueryParams: {
|
baseQueryParams: {
|
||||||
@@ -147,6 +125,8 @@ export default {
|
|||||||
const startTime = `${yesYear}-${yesMonth}-${yesDay} 07:00:00`
|
const startTime = `${yesYear}-${yesMonth}-${yesDay} 07:00:00`
|
||||||
const endTime = `${nowYear}-${nowMonth}-${nowDay} 07:00:00`
|
const endTime = `${nowYear}-${nowMonth}-${nowDay} 07:00:00`
|
||||||
return {
|
return {
|
||||||
|
activeColumnConfig: 'coil-report-output',
|
||||||
|
settingVisible: false,
|
||||||
list: [],
|
list: [],
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@@ -173,6 +153,8 @@ export default {
|
|||||||
'2019583429955104769',
|
'2019583429955104769',
|
||||||
'2019583137616310273',
|
'2019583137616310273',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
outputColumns: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -200,6 +182,14 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 加载列设置
|
||||||
|
loadColumns() {
|
||||||
|
this.outputColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-output') || '[]') || []
|
||||||
|
},
|
||||||
|
// 统一查询入口
|
||||||
|
handleQuery() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
Promise.all([
|
Promise.all([
|
||||||
@@ -242,6 +232,10 @@ export default {
|
|||||||
}, `materialCoil_${new Date().getTime()}.xlsx`)
|
}, `materialCoil_${new Date().getTime()}.xlsx`)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getList()
|
||||||
|
this.loadColumns()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@
|
|||||||
<el-button type="primary" @click="handleQuery">查询</el-button>
|
<el-button type="primary" @click="handleQuery">查询</el-button>
|
||||||
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
||||||
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
||||||
|
<el-button type="primary" @click="settingVisible = true">列设置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -85,71 +86,20 @@
|
|||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-tabs v-model="activeTab">
|
<el-tabs v-model="activeTab">
|
||||||
<el-tab-pane label="投入钢卷" name="loss">
|
<el-tab-pane label="投入钢卷" name="loss">
|
||||||
<el-table :data="lossList" border height="calc(100vh - 320px)">
|
<coil-table :columns="lossColumns" :data="lossList"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="产出钢卷" name="output">
|
<el-tab-pane label="产出钢卷" name="output">
|
||||||
<el-table :data="list" border height="calc(100vh - 320px)">
|
<coil-table :columns="outputColumns" :data="list"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="班组" align="center" prop="team" />
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<el-table-column label="实际库区" align="center" prop="actualWarehouseName" />
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="出库状态" align="center" prop="status">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.status === 0 ? '在库' : '已出库' }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
|
<el-dialog title="列设置" :visible.sync="settingVisible" width="50%">
|
||||||
|
<el-radio-group v-model="activeColumnConfig">
|
||||||
|
<el-radio-button label="coil-report-loss">投入明细配置</el-radio-button>
|
||||||
|
<el-radio-button label="coil-report-output">产出明细配置</el-radio-button>
|
||||||
|
</el-radio-group>
|
||||||
|
<columns-setting :reportType="activeColumnConfig"></columns-setting>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -163,6 +113,8 @@ import MemoInput from "@/components/MemoInput";
|
|||||||
import MutiSelect from "@/components/MutiSelect";
|
import MutiSelect from "@/components/MutiSelect";
|
||||||
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
||||||
import { calcSummary, calcAbSummary, calcTeamSummary } from "@/views/wms/report/js/calc";
|
import { calcSummary, calcAbSummary, calcTeamSummary } from "@/views/wms/report/js/calc";
|
||||||
|
import ColumnsSetting from "@/views/wms/report/components/setting/columns.vue";
|
||||||
|
import CoilTable from "@/views/wms/report/components/coilTable/index.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'TeamTemplate',
|
name: 'TeamTemplate',
|
||||||
@@ -172,7 +124,9 @@ export default {
|
|||||||
CoilNo,
|
CoilNo,
|
||||||
MemoInput,
|
MemoInput,
|
||||||
MutiSelect,
|
MutiSelect,
|
||||||
WarehouseSelect
|
WarehouseSelect,
|
||||||
|
ColumnsSetting,
|
||||||
|
CoilTable,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
actionTypes: {
|
actionTypes: {
|
||||||
@@ -209,6 +163,8 @@ export default {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
activeTab: 'loss',
|
activeTab: 'loss',
|
||||||
|
activeColumnConfig: 'coil-report-loss',
|
||||||
|
settingVisible: false,
|
||||||
list: [],
|
list: [],
|
||||||
lossList: [],
|
lossList: [],
|
||||||
queryParams: {
|
queryParams: {
|
||||||
@@ -238,7 +194,10 @@ export default {
|
|||||||
'2019583429955104769',
|
'2019583429955104769',
|
||||||
'2019583137616310273'
|
'2019583137616310273'
|
||||||
],
|
],
|
||||||
getDayTimeRange
|
getDayTimeRange,
|
||||||
|
|
||||||
|
lossColumns: [],
|
||||||
|
outputColumns: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -277,6 +236,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 加载列设置
|
||||||
|
loadColumns() {
|
||||||
|
this.lossColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-loss') || '[]') || []
|
||||||
|
this.outputColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-output') || '[]') || []
|
||||||
|
},
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.getLossList();
|
this.getLossList();
|
||||||
@@ -386,6 +350,7 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.getLossList();
|
this.getLossList();
|
||||||
|
this.loadColumns();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -39,6 +39,7 @@
|
|||||||
<el-button type="primary" @click="handleQuery">查询</el-button>
|
<el-button type="primary" @click="handleQuery">查询</el-button>
|
||||||
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
<el-button type="primary" @click="exportData">导出产出钢卷</el-button>
|
||||||
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
<el-button type="primary" @click="exportLossData">导出消耗钢卷</el-button>
|
||||||
|
<el-button type="primary" @click="settingVisible = true">列设置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -73,73 +74,20 @@
|
|||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-tabs v-model="activeTab">
|
<el-tabs v-model="activeTab">
|
||||||
<el-tab-pane label="投入钢卷" name="loss">
|
<el-tab-pane label="投入钢卷" name="loss">
|
||||||
<el-table :data="lossList" border height="calc(100vh - 320px)">
|
<coil-table :columns="lossColumns" :data="lossList"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<!-- <el-table-column label="实际库区" align="center" prop="actualWarehouseName" /> -->
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="产出钢卷" name="output">
|
<el-tab-pane label="产出钢卷" name="output">
|
||||||
<el-table :data="list" border height="calc(100vh - 320px)">
|
<coil-table :columns="outputColumns" :data="list"></coil-table>
|
||||||
<el-table-column label="入场钢卷号" align="center" prop="enterCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.enterCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="当前钢卷号" align="center" prop="currentCoilNo">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<coil-no :coil-no="scope.row.currentCoilNo"></coil-no>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
||||||
<el-table-column label="逻辑库位" align="center" prop="warehouseName" />
|
|
||||||
<el-table-column label="实际库区" align="center" prop="actualWarehouseName" />
|
|
||||||
<el-table-column label="产品类型" align="center" width="150">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<ProductInfo v-if="scope.row.itemType == 'product'" :product="scope.row.product" />
|
|
||||||
<RawMaterialInfo v-else-if="scope.row.itemType === 'raw_material'" :material="scope.row.rawMaterial" />
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="宽度(米)" align="center" prop="computedWidth" width="70" />
|
|
||||||
<el-table-column label="厚度(米)" align="center" prop="computedThickness" width="70" />
|
|
||||||
<el-table-column label="重量 (吨)" align="center" prop="netWeight" />
|
|
||||||
<el-table-column label="长度 (米)" align="center" prop="length" />
|
|
||||||
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
|
|
||||||
<el-table-column label="出库状态" align="center" prop="status">
|
|
||||||
<!-- 0在库,1已出库 -->
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.status === 0 ? '在库' : '已出库' }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="更新人" align="center" prop="updateByName" />
|
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
|
<el-dialog title="列设置" :visible.sync="settingVisible" width="50%">
|
||||||
|
<el-radio-group v-model="activeColumnConfig">
|
||||||
|
<el-radio-button label="coil-report-loss">投入明细配置</el-radio-button>
|
||||||
|
<el-radio-button label="coil-report-output">产出明细配置</el-radio-button>
|
||||||
|
</el-radio-group>
|
||||||
|
<columns-setting :reportType="activeColumnConfig"></columns-setting>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -155,6 +103,8 @@ import MemoInput from "@/components/MemoInput";
|
|||||||
import MutiSelect from "@/components/MutiSelect";
|
import MutiSelect from "@/components/MutiSelect";
|
||||||
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
import WarehouseSelect from "@/components/KLPService/WarehouseSelect";
|
||||||
import { calcSummary, calcAbSummary } from "@/views/wms/report/js/calc";
|
import { calcSummary, calcAbSummary } from "@/views/wms/report/js/calc";
|
||||||
|
import ColumnsSetting from "@/views/wms/report/components/setting/columns.vue";
|
||||||
|
import CoilTable from "@/views/wms/report/components/coilTable/index.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'YearTemplate',
|
name: 'YearTemplate',
|
||||||
@@ -165,6 +115,8 @@ export default {
|
|||||||
MemoInput,
|
MemoInput,
|
||||||
MutiSelect,
|
MutiSelect,
|
||||||
WarehouseSelect,
|
WarehouseSelect,
|
||||||
|
ColumnsSetting,
|
||||||
|
CoilTable,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
actionTypes: {
|
actionTypes: {
|
||||||
@@ -214,6 +166,8 @@ export default {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
activeTab: 'loss',
|
activeTab: 'loss',
|
||||||
|
activeColumnConfig: 'coil-report-loss',
|
||||||
|
settingVisible: false,
|
||||||
list: [],
|
list: [],
|
||||||
lossList: [],
|
lossList: [],
|
||||||
queryParams: {
|
queryParams: {
|
||||||
@@ -242,7 +196,10 @@ export default {
|
|||||||
'2019583429955104769',
|
'2019583429955104769',
|
||||||
'2019583137616310273',
|
'2019583137616310273',
|
||||||
],
|
],
|
||||||
getDayTimeRange // 挂载时间范围生成函数
|
getDayTimeRange, // 挂载时间范围生成函数
|
||||||
|
|
||||||
|
lossColumns: [],
|
||||||
|
outputColumns: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -264,6 +221,11 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 加载列设置
|
||||||
|
loadColumns() {
|
||||||
|
this.lossColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-loss') || '[]') || []
|
||||||
|
this.outputColumns = JSON.parse(localStorage.getItem('preference-tableColumns-coil-report-output') || '[]') || []
|
||||||
|
},
|
||||||
// 日期变更处理:更新开始/结束时间
|
// 日期变更处理:更新开始/结束时间
|
||||||
handleDateChange(date) {
|
handleDateChange(date) {
|
||||||
if (!date) return
|
if (!date) return
|
||||||
@@ -381,6 +343,7 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.getList()
|
this.getList()
|
||||||
this.getLossList()
|
this.getLossList()
|
||||||
|
this.loadColumns()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user