Merge remote-tracking branch 'origin/0.8.X' into 0.8.X

This commit is contained in:
2025-12-17 17:15:10 +08:00
3 changed files with 157 additions and 24 deletions

View File

@@ -15,7 +15,7 @@
</slot>
</div>
<el-dialog title="选择钢卷" :visible.sync="dialogVisible" width="900px" :close-on-click-modal="false"
<el-dialog title="选择钢卷" :visible.sync="dialogVisible" :width="dialogWidth" :close-on-click-modal="false"
@close="handleClose" append-to-body>
<!-- 搜索区域 -->
<el-form v-if="!rangeMode" :inline="true" :model="queryParams" class="search-form">
@@ -46,14 +46,15 @@
<!-- 数据表格 -->
<el-table v-loading="loading" :data="coilList" @row-click="handleRowClick" highlight-current-row height="400px"
style="width: 100%">
<el-table-column label="卷号" align="center" prop="currentCoilNo" :show-overflow-tooltip="true" />
<el-table-column label="存储位置" align="center" prop="actualWarehouseName" width="120" :show-overflow-tooltip="true" />
<el-table-column label="物料" align="center" prop="itemName" width="100" />
<el-table-column label="规格" align="center" prop="specification" width="100" />
<el-table-column label="材质" align="center" prop="material" width="100" />
<el-table-column label="厂家" align="center" prop="manufacturer" width="100" />
<el-table-column label="重量(t)" align="center" prop="netWeight" width="100" />
<el-table-column label="库区" align="center" prop="warehouseName" width="120" :show-overflow-tooltip="true" />
<!-- 自定义列 -->
<el-table-column
v-for="column in renderColumns"
:label="column.label"
:align="column.align"
:prop="column.prop"
:width="column.width"
:show-overflow-tooltip="column.showOverflowTooltip"
/>
</el-table>
<!-- 分页 -->
@@ -85,6 +86,10 @@ export default {
type: Boolean,
default: false
},
dialogWidth: {
type: String,
default: '900px'
},
// 过滤条件(可以预设一些查询条件)
filters: {
type: Object,
@@ -116,6 +121,11 @@ export default {
rangeData: {
type: Array,
default: () => []
},
// 自定义钢卷列的配置
coilColumn: {
type: Array,
default: () => []
}
},
data() {
@@ -134,7 +144,59 @@ export default {
grade: null,
selectType: 'raw_material',
dataType: 1 // 只查询当前数据,不查询历史数据
}
},
columns: [
{
label: '卷号',
align: 'center',
prop: 'currentCoilNo',
showOverflowTooltip: true
},
{
label: '存储位置',
align: 'center',
prop: 'actualWarehouseName',
width: '120',
showOverflowTooltip: true
},
{
label: '物料',
align: 'center',
prop: 'itemName',
width: '100'
},
{
label: '规格',
align: 'center',
prop: 'specification',
width: '100'
},
{
label: '材质',
align: 'center',
prop: 'material',
width: '100'
},
{
label: '厂家',
align: 'center',
prop: 'manufacturer',
width: '100'
},
{
label: '重量(t)',
align: 'center',
prop: 'netWeight',
width: '100'
},
{
label: '库区',
align: 'center',
prop: 'warehouseName',
width: '120',
showOverflowTooltip: true
},
]
};
},
computed: {
@@ -157,6 +219,10 @@ export default {
this.$emit('update:visible', val);
}
}
},
renderColumns() {
// 如果有自定义列配置,使用它;否则使用默认列
return this.coilColumn.length > 0 ? this.coilColumn : this.columns;
}
},
watch: {

View File

@@ -200,8 +200,8 @@ export default {
this.form = {
...this.form,
productName: coil.itemName,
edgeType: coil.surfaceTreatmentDesc,
packaging: coil.packagingId,
edgeType: coil.edgeRequirement,
packaging: coil.packagingRequirement,
rawMaterialFactory: coil.manufacturer,
coilNo: coil.currentCoilNo,
specification: coil.specification,

View File

@@ -27,7 +27,7 @@
<el-row :gutter="10">
<!-- 左侧发货计划列表 - 新增left-col类 -->
<el-col :span="5" class="left-col">
<el-col :span="4" class="left-col">
<!-- 卡片容器 - 新增left-card-container类 -->
<el-row :gutter="10" v-loading="loading" class="left-card-container">
<el-col :span="24" v-for="(row, index) in deliveryPlanList" :key="row.planId">
@@ -61,7 +61,7 @@
</el-col>
<!-- 右侧钢卷列表 - 新增right-col类 -->
<el-col :span="19" v-loading="rightLoading" class="right-col">
<el-col :span="20" v-loading="rightLoading" class="right-col">
<!-- 选中的钢卷表格为空时的提示 -->
<div v-if="!currentPlan.planId" class="empty-tip">
<el-empty description="请先选择发货计划" />
@@ -76,27 +76,36 @@
<el-descriptions title="配卷">
</el-descriptions>
<coil-selector ref="coilSelector" placeholder="请选择钢卷添加至计划" @change="handleCoilChange"
:filters="coilFilters"></coil-selector>
:filters="coilFilters" :coil-column="coilColumn" dialog-width="1200px"></coil-selector>
<div v-if="selectedCoilList.length > 0 && currentPlan.planId">
<el-table :data="selectedCoilList" border highlight-current-row style="width: 100%" max-height="400px">
<el-table-column type="index" width="50" align="center" label="序号" />
<!-- <el-table-column type="index" width="50" align="center" label="序号" /> -->
<!-- { label: '质量状态', prop: 'qualityStatus' },
{ label: '打包状态', prop: 'packingStatus' },
// 对应edgeType
{ label: '切边要求', prop: 'edgeRequirement' },
// 对应packaging
{ label: '包装要求', prop: 'packagingRequirement' }, -->
<el-table-column label="卷号" align="center" prop="coilDetail.currentCoilNo"
:show-overflow-tooltip="true" />
<el-table-column label="质量状态" align="center" prop="coilDetail.qualityStatus" />
<el-table-column label="打包状态" align="center" prop="coilDetail.packingStatus" />
<el-table-column label="切边要求" align="center" prop="coilDetail.edgeRequirement" />
<el-table-column label="包装要求" align="center" prop="coilDetail.packagingRequirement" />
<el-table-column label="存储位置" align="center" prop="coilDetail.actualWarehouseName" width="120"
:show-overflow-tooltip="true" />
<el-table-column label="物料" align="center" prop="coilDetail.itemName" width="100" />
<el-table-column label="规格" align="center" prop="coilDetail.specification" width="100" />
<el-table-column label="材质" align="center" prop="coilDetail.material" />
<el-table-column label="厂家" align="center" prop="coilDetail.manufacturer" />
<el-table-column label="重量(t)" align="center" prop="coilDetail.netWeight" width="100" />
<!-- <el-table-column label="重量(t)" align="center" prop="coilDetail.netWeight" width="100" /> -->
<el-table-column label="库区" align="center" prop="coilDetail.warehouseName" width="120"
:show-overflow-tooltip="true" />
<el-table-column label="操作时间" align="center" prop="createTime"
:show-overflow-tooltip="true"><template slot-scope="scope">
{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
</template></el-table-column>
<el-table-column label="操作人" align="center" prop="createBy" width="120"
:show-overflow-tooltip="true" />
<el-table-column label="操作时间" align="center" prop="createTime" :show-overflow-tooltip="true"><template
slot-scope="scope">
{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
</template></el-table-column>
<el-table-column label="操作人" align="center" prop="createBy" width="80" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button type="danger" size="small" @click.stop="handleDeleteCoil(scope.row)">删除</el-button>
@@ -197,7 +206,65 @@ export default {
status: 0,
materialType: '成品',
selectType: 'product'
}
},
coilColumn: [
{
label: '卷号',
align: 'center',
prop: 'currentCoilNo',
showOverflowTooltip: true
},
{ label: '质量状态', prop: 'qualityStatus' },
{ label: '打包状态', prop: 'packingStatus' },
// 对应edgeType
{ label: '切边要求', prop: 'edgeRequirement' },
// 对应packaging
{ label: '包装要求', prop: 'packagingRequirement' },
{
label: '存储位置',
align: 'center',
prop: 'actualWarehouseName',
width: '120',
showOverflowTooltip: true
},
{
label: '物料',
align: 'center',
prop: 'itemName',
width: '100'
},
{
label: '规格',
align: 'center',
prop: 'specification',
width: '100'
},
{
label: '材质',
align: 'center',
prop: 'material',
width: '100'
},
{
label: '厂家',
align: 'center',
prop: 'manufacturer',
width: '100'
},
{
label: '重量(t)',
align: 'center',
prop: 'netWeight',
width: '100'
},
{
label: '库区',
align: 'center',
prop: 'warehouseName',
width: '120',
showOverflowTooltip: true
},
]
};
},
created() {