refactor(wms): 替换钢卷卡片为表格展示并优化布局

将多个视图中的钢卷卡片组件替换为KLPTable表格组件,统一展示钢卷信息
添加浮动层配置显示详细字段,优化操作按钮布局
调整页面列宽比例,简化操作记录卡片样式
This commit is contained in:
2026-04-24 14:39:16 +08:00
parent 7803c38c27
commit a17969e5e2
3 changed files with 248 additions and 36 deletions

View File

@@ -45,12 +45,49 @@
</el-form> </el-form>
<!-- 物料卡片列表 --> <!-- 物料卡片列表 -->
<div v-loading="materialLoading" class="card-grid-container"> <div v-loading="materialLoading">
<div v-if="materialCoilList.length === 0" class="empty-state"> <!-- <div v-if="materialCoilList.length === 0" class="empty-state">
<i class="el-icon-box"></i> <i class="el-icon-box"></i>
<p>暂无待领物料</p> <p>暂无待领物料</p>
</div> </div> -->
<coil-card v-for="(item, index) in materialCoilList" :key="item.coilId || index" :coil="item" <KLPTable :data="materialCoilList" height="calc(100vh - 340px)" :floatLayer="true" :floatLayerConfig="floatLayerConfig">
<el-table-column prop="currentCoilNo" label="当前钢卷号">
<template slot-scope="scope">
<current-coil-no :current-coil-no="scope.row.currentCoilNo" />
</template>
</el-table-column>
<el-table-column prop="enterCoilNo" label="入场钢卷号" show-overflow-tooltip></el-table-column>
<el-table-column prop="supplierCoilNo" label="厂家卷号" show-overflow-tooltip></el-table-column>
<el-table-column prop="warehouseName" label="逻辑库区" show-overflow-tooltip></el-table-column>
<el-table-column prop="specification" label="规格" width="100" show-overflow-tooltip></el-table-column>
<el-table-column prop="netWeight" label="净重" width="100" show-overflow-tooltip></el-table-column>
<el-table-column prop="action" label="操作" width="400">
<template slot-scope="scope">
<el-button v-loading="buttonLoading" style="margin-left: 0px; padding: 4px !important;" type="default"
size="mini" icon="el-icon-view" @click="handlePreviewLabel(scope.row)" title="预览标签">预览</el-button>
<el-button v-loading="buttonLoading" style="margin-left: 0px; padding: 4px !important;" type="default"
size="mini" icon="el-icon-printer" @click="handlePrintLabel(scope.row)" title="打印标签">打印</el-button>
<el-button type="warning" icon="el-icon-time" size="mini" @click="handleTrace(scope.row)"
:loading="scope.row.picking" class="action-btn">追溯</el-button>
<el-button type="primary" icon="el-icon-check" size="mini" @click="handleCorrectMaterial(scope.row)"
:loading="scope.row.picking" class="action-btn">修正</el-button>
<el-button type="danger" icon="el-icon-delete" size="mini" @click="hanleDeleteMaterial(scope.row)"
:loading="scope.row.picking" class="action-btn">删除</el-button>
<el-button v-if="scope.row.dataType == 1 && scope.row.status == 0"
type="success" icon="el-icon-refresh"
size="mini" @click="handleRestoreMaterial(scope.row)" :loading="scope.row.cancelling"
class="action-btn">回滚</el-button>
<el-button v-if="scope.row.dataType == 10 && scope.row.status == 0"
type="success" icon="el-icon-refresh"
size="mini" @click="handleForceInMaterial(scope.row)" :loading="scope.row.cancelling"
class="action-btn">强制入库</el-button>
</template>
</el-table-column>
</KLPTable>
<!-- <coil-card v-for="(item, index) in materialCoilList" :key="item.coilId || index" :coil="item"
:card-style="getBorderStyle(item)"> :card-style="getBorderStyle(item)">
<template slot="header"> <template slot="header">
<el-tag type="info" size="small" class="coil-no-tag" :style="getBorderStyle(item)">{{ <el-tag type="info" size="small" class="coil-no-tag" :style="getBorderStyle(item)">{{
@@ -98,7 +135,7 @@
<el-button type="danger" icon="el-icon-delete" size="mini" @click="hanleDeleteMaterial(item)" <el-button type="danger" icon="el-icon-delete" size="mini" @click="hanleDeleteMaterial(item)"
:loading="item.picking" class="action-btn">删除</el-button> :loading="item.picking" class="action-btn">删除</el-button>
</template> </template>
</coil-card> </coil-card> -->
</div> </div>
<!-- 分页 --> <!-- 分页 -->
@@ -294,7 +331,7 @@ export default {
name: 'DoPage', name: 'DoPage',
dicts: ['action_type', 'coil_abnormal_code', 'coil_abnormal_position', 'coil_abnormal_degree', 'coil_quality_status', 'coil_business_purpose'], dicts: ['action_type', 'coil_abnormal_code', 'coil_abnormal_position', 'coil_abnormal_degree', 'coil_quality_status', 'coil_business_purpose'],
props: { props: {
label: { label: {
type: String, type: String,
default: () => '酸连轧工序' default: () => '酸连轧工序'
}, },
@@ -448,6 +485,40 @@ export default {
correctVisible: false, correctVisible: false,
buttonLoading: false, buttonLoading: false,
userList: [], userList: [],
floatLayerConfig: {
columns: [
{ label: '入场钢卷号', prop: 'enterCoilNo' },
{ label: '当前钢卷号', prop: 'currentCoilNo' },
{ label: '厂家卷号', prop: 'supplierCoilNo' },
{ label: '逻辑库位', prop: 'warehouseName' },
{ label: '实际库位', prop: 'actualWarehouseName' },
{ label: '物料类型', prop: 'materialType' },
{ label: '班组', prop: 'team' },
{ label: '净重', prop: 'netWeight' },
{ label: '毛重', prop: 'grossWeight' },
{ label: '备注', prop: 'remark' },
{ label: '创建人', prop: 'createBy' },
{ label: '创建时间', prop: 'createTime' },
{ label: '更新人', prop: 'updateBy' },
{ label: '更新时间', prop: 'updateTime' },
{ label: '质量状态', prop: 'qualityStatus' },
{ label: '原料材质', prop: 'packingStatus' },
{ label: '切边要求', prop: 'edgeRequirement' },
{ label: '包装要求', prop: 'packagingRequirement' },
{ label: '物料名称', prop: 'itemName' },
{ label: '材质', prop: 'material' },
{ label: '规格', prop: 'specification' },
{ label: '镀层质量', prop: 'zincLayer' },
{ label: '厂家', prop: 'manufacturer' },
{ label: '调制度', prop: 'temperGrade' },
{ label: '镀层种类', prop: 'coatingType' },
{ label: '实测长度(m)', prop: 'actualLength' },
{ label: '实测宽度(m)', prop: 'actualWidth' },
{ label: '实测厚度(m)', prop: 'actualThickness' },
{ label: '钢卷表面处理', prop: 'coilSurfaceTreatment' },
],
title: '详细信息'
},
} }
}, },
computed: { computed: {

View File

@@ -36,8 +36,46 @@
</div> </div>
<!-- 钢卷信息卡片 --> <!-- 钢卷信息卡片 -->
<div v-loading="materialLoading" class="coil-info-container"> <div v-loading="materialLoading">
<div v-if="materialCoilList.length === 0" class="empty-state"> <KLPTable :data="materialCoilList" height="calc(100vh - 340px)" :floatLayer="true"
:floatLayerConfig="floatLayerConfig">
<el-table-column prop="currentCoilNo" label="当前钢卷号">
<template slot-scope="scope">
<current-coil-no :current-coil-no="scope.row.currentCoilNo" />
</template>
</el-table-column>
<el-table-column prop="enterCoilNo" label="入场钢卷号" show-overflow-tooltip></el-table-column>
<el-table-column prop="supplierCoilNo" label="厂家卷号" show-overflow-tooltip></el-table-column>
<el-table-column prop="warehouseName" label="逻辑库区" show-overflow-tooltip></el-table-column>
<el-table-column prop="specification" label="规格" width="100" show-overflow-tooltip></el-table-column>
<el-table-column prop="netWeight" label="净重" width="100" show-overflow-tooltip></el-table-column>
<el-table-column prop="action" label="操作" width="400">
<template slot-scope="scope">
<el-button v-loading="buttonLoading" style="margin-left: 0px; padding: 4px !important;" type="default"
size="mini" icon="el-icon-view" @click="handlePreviewLabel(scope.row)" title="预览标签">预览</el-button>
<el-button v-loading="buttonLoading" style="margin-left: 0px; padding: 4px !important;" type="default"
size="mini" icon="el-icon-printer" @click="handlePrintLabel(scope.row)" title="打印标签">打印</el-button>
<el-button type="warning" icon="el-icon-time" size="mini" @click="handleTrace(scope.row)"
:loading="scope.row.picking" class="action-btn">追溯</el-button>
<el-button type="primary" icon="el-icon-check" size="mini" @click="handleCorrectMaterial(scope.row)"
:loading="scope.row.picking" class="action-btn">修正</el-button>
<el-button type="danger" icon="el-icon-delete" size="mini" @click="hanleDeleteMaterial(scope.row)"
:loading="scope.row.picking" class="action-btn">删除</el-button>
<el-button v-if="scope.row.dataType == 1 && scope.row.status == 0"
type="success" icon="el-icon-refresh"
size="mini" @click="handleRestoreMaterial(scope.row)" :loading="scope.row.cancelling"
class="action-btn">回滚</el-button>
<el-button v-if="scope.row.dataType == 10 && scope.row.status == 0"
type="success" icon="el-icon-refresh"
size="mini" @click="handleForceInMaterial(scope.row)" :loading="scope.row.cancelling"
class="action-btn">强制入库</el-button>
</template>
</el-table-column>
</KLPTable>
<!-- <div v-if="materialCoilList.length === 0" class="empty-state">
<i class="el-icon-box"></i> <i class="el-icon-box"></i>
<p>未找到钢卷数据</p> <p>未找到钢卷数据</p>
</div> </div>
@@ -85,7 +123,7 @@
<el-button type="primary" icon="el-icon-check" size="mini" @click="handleCorrectMaterial(item)" <el-button type="primary" icon="el-icon-check" size="mini" @click="handleCorrectMaterial(item)"
:loading="item.picking" class="action-btn">修正</el-button> :loading="item.picking" class="action-btn">修正</el-button>
</template> </template>
</coil-card> </coil-card> -->
</div> </div>
</div> </div>
@@ -131,7 +169,8 @@
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="操作类型" align="center" prop="actionType" width="160"> <el-table-column label="操作类型" align="center" prop="actionType" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<el-select @change="handleStatusChange(scope.row)" v-model="scope.row.actionType" placeholder="请选择操作类型" clearable filterable> <el-select @change="handleStatusChange(scope.row)" v-model="scope.row.actionType" placeholder="请选择操作类型"
clearable filterable>
<el-option label="入库/收货操作" :value="401" /> <el-option label="入库/收货操作" :value="401" />
<el-option label="发货操作" :value="402" /> <el-option label="发货操作" :value="402" />
<el-option label="移库操作" :value="403" /> <el-option label="移库操作" :value="403" />
@@ -421,6 +460,41 @@ export default {
buttonLoading: false, buttonLoading: false,
userList: [], userList: [],
floatLayerConfig: {
columns: [
{ label: '入场钢卷号', prop: 'enterCoilNo' },
{ label: '当前钢卷号', prop: 'currentCoilNo' },
{ label: '厂家卷号', prop: 'supplierCoilNo' },
{ label: '逻辑库位', prop: 'warehouseName' },
{ label: '实际库位', prop: 'actualWarehouseName' },
{ label: '物料类型', prop: 'materialType' },
{ label: '班组', prop: 'team' },
{ label: '净重', prop: 'netWeight' },
{ label: '毛重', prop: 'grossWeight' },
{ label: '备注', prop: 'remark' },
{ label: '创建人', prop: 'createBy' },
{ label: '创建时间', prop: 'createTime' },
{ label: '更新人', prop: 'updateBy' },
{ label: '更新时间', prop: 'updateTime' },
{ label: '质量状态', prop: 'qualityStatus' },
{ label: '原料材质', prop: 'packingStatus' },
{ label: '切边要求', prop: 'edgeRequirement' },
{ label: '包装要求', prop: 'packagingRequirement' },
{ label: '物料名称', prop: 'itemName' },
{ label: '材质', prop: 'material' },
{ label: '规格', prop: 'specification' },
{ label: '镀层质量', prop: 'zincLayer' },
{ label: '厂家', prop: 'manufacturer' },
{ label: '调制度', prop: 'temperGrade' },
{ label: '镀层种类', prop: 'coatingType' },
{ label: '实测长度(m)', prop: 'actualLength' },
{ label: '实测宽度(m)', prop: 'actualWidth' },
{ label: '实测厚度(m)', prop: 'actualThickness' },
{ label: '钢卷表面处理', prop: 'coilSurfaceTreatment' },
],
title: '详细信息'
},
// 操作记录相关 // 操作记录相关
actionDialogVisible: false, actionDialogVisible: false,
actionLoading: false, actionLoading: false,

View File

@@ -2,7 +2,7 @@
<div class="app-container acid-do-container"> <div class="app-container acid-do-container">
<el-row :gutter="20"> <el-row :gutter="20">
<!-- 左侧物料列表 --> <!-- 左侧物料列表 -->
<el-col :span="12"> <el-col :span="16">
<div class="section-card material-section"> <div class="section-card material-section">
<div class="section-header"> <div class="section-header">
<!-- 当tab数量多余一个时额外渲染一个el-tab-pane. 当tab切换时切换对应的物料列表 --> <!-- 当tab数量多余一个时额外渲染一个el-tab-pane. 当tab切换时切换对应的物料列表 -->
@@ -31,13 +31,45 @@
</el-form> </el-form>
<!-- 物料卡片列表 --> <!-- 物料卡片列表 -->
<div v-loading="materialLoading" class="card-grid-container"> <div v-loading="materialLoading">
<div v-if="materialCoilList.length === 0" class="empty-state"> <!-- <div v-if="materialCoilList.length === 0" class="empty-state">
<i class="el-icon-box"></i> <i class="el-icon-box"></i>
<p>暂无待领物料</p> <p>暂无待领物料</p>
</div> </div> -->
<coil-card v-for="(item, index) in materialCoilList" :key="item.coilId || index" :coil="item" <KLPTable :data="materialCoilList" height="calc(100vh - 340px)" :floatLayer="true" :floatLayerConfig="floatLayerConfig">
<el-table-column prop="currentCoilNo" label="当前钢卷号">
<template slot-scope="scope">
<current-coil-no :current-coil-no="scope.row.currentCoilNo" />
</template>
</el-table-column>
<el-table-column prop="enterCoilNo" label="入场钢卷号" show-overflow-tooltip></el-table-column>
<el-table-column prop="supplierCoilNo" label="厂家卷号" show-overflow-tooltip></el-table-column>
<el-table-column prop="specification" label="规格" width="100" show-overflow-tooltip></el-table-column>
<el-table-column prop="netWeight" label="净重" width="100" show-overflow-tooltip></el-table-column>
<el-table-column prop="action" label="操作" width="320">
<template slot-scope="scope">
<el-button v-loading="buttonLoading" style="margin-left: 0px; padding: 4px !important;" type="default"
size="mini" icon="el-icon-view" @click="handlePreviewLabel(scope.row)" title="预览标签">预览</el-button>
<!-- <i class="el-icon-view param-icon" @click="handlePreviewLabel(scope.row)" title="查看标签"></i> -->
<el-button v-loading="buttonLoading" style="margin-left: 0px; padding: 4px !important;" type="default"
size="mini" icon="el-icon-printer" @click="handlePrintLabel(scope.row)" title="打印标签">打印</el-button>
<el-button v-if="useSpecialSplit" :style="splitButtonStyle" icon="el-icon-scissors" size="mini"
@click="handleStartSplit(scope.row)" :loading="buttonLoading" class="action-btn">加工</el-button>
<el-button v-else type="primary" icon="el-icon-check" size="mini" @click="handlePickMaterial(scope.row)"
:loading="buttonLoading" class="action-btn">领料</el-button>
<el-button type="danger" icon="el-icon-alarm-clock" :plain="scope.row.abnormalCount == 0" size="mini"
@click="handleAddAbnormal(scope.row)" :loading="buttonLoading" class="action-btn">
缺陷明细
<span v-if="scope.row.abnormalCount > 0">({{ scope.row.abnormalCount }})</span>
</el-button>
</template>
</el-table-column>
</KLPTable>
<!-- <coil-card v-for="(item, index) in materialCoilList" :key="item.coilId || index" :coil="item"
:card-style="{ border: item.abnormalCount > 0 ? '1px solid red' : ' 1px solid #e4e7ed' }"> :card-style="{ border: item.abnormalCount > 0 ? '1px solid red' : ' 1px solid #e4e7ed' }">
<template slot="header"> <template slot="header">
<i class="el-icon-view param-icon" @click="handlePreviewLabel(item)" title="查看标签"></i> <i class="el-icon-view param-icon" @click="handlePreviewLabel(item)" title="查看标签"></i>
@@ -55,7 +87,7 @@
<span v-if="item.abnormalCount > 0">({{ item.abnormalCount }})</span> <span v-if="item.abnormalCount > 0">({{ item.abnormalCount }})</span>
</el-button> </el-button>
</template> </template>
</coil-card> </coil-card> -->
</div> </div>
<!-- 分页 --> <!-- 分页 -->
@@ -65,7 +97,7 @@
</el-col> </el-col>
<!-- 右侧:待操作列表 --> <!-- 右侧:待操作列表 -->
<el-col :span="12"> <el-col :span="8">
<div class="section-card action-section" v-if="useSpecialSplit" style="margin-bottom: 20px;" <div class="section-card action-section" v-if="useSpecialSplit" style="margin-bottom: 20px;"
v-loading="stepSpilt.loading"> v-loading="stepSpilt.loading">
<div class="section-header "> <div class="section-header ">
@@ -74,9 +106,10 @@
</div> </div>
<div v-if="stepSpilt.list.length > 0" style="display: flex; align-items: center; gap: 10px; flex-wrap: wrap;"> <div v-if="stepSpilt.list.length > 0" style="display: flex; align-items: center; gap: 10px; flex-wrap: wrap;">
<div v-for="(item, index) in stepSpilt.list" :key="item.coilId || index" <div v-for="(item, index) in stepSpilt.list" :key="item.coilId || index"
style="width: 18rem; background-color: #ffffff; border-bottom-left-radius: 0.5rem; border-bottom-right-radius: 0.5rem; border-top: 4px solid #2bf; padding-left: 1rem; padding-right: 1rem; padding-top: 1.25rem; padding-bottom: 1.25rem; display: flex; flex-direction: column; justify-content: space-around; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);"> style="width: 13rem; background-color: #ffffff; border-bottom-left-radius: 0.5rem; border-bottom-right-radius: 0.5rem; border-top: 4px solid #2bf; padding-left: 1rem; padding-right: 1rem; padding-top: 1.25rem; padding-bottom: 1.25rem; display: flex; flex-direction: column; justify-content: space-around; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);">
<p <p
style="font-size: 1.125rem; line-height: 1.75rem; font-weight: 700; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';"> style="font-size: 1.125rem; line-height: 1.75rem; font-weight: 700; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';">
<svg-icon icon-class="coil" style="width: 1.5rem; height: 1.5rem;"></svg-icon>
{{ item.currentCoilNo || 'N/A' }} {{ item.currentCoilNo || 'N/A' }}
</p> </p>
<div style="padding-top: 0.75rem; padding-bottom: 0.75rem;"> <div style="padding-top: 0.75rem; padding-bottom: 0.75rem;">
@@ -128,7 +161,7 @@
</p> </p>
</div> </div>
<div style="display: flex; justify-content: space-between;"> <div style="display: flex; justify-content: space-between;">
<svg-icon icon-class="coil" style="width: 1.5rem; height: 1.5rem;"></svg-icon>
<div style="font-size: 0.875rem; line-height: 1.25rem; display: flex; gap: 0.5rem;"> <div style="font-size: 0.875rem; line-height: 1.25rem; display: flex; gap: 0.5rem;">
<el-button type="primary" size="mini" @click="handleContinueSplit(item)" <el-button type="primary" size="mini" @click="handleContinueSplit(item)"
style="min-width: 80px; padding: 5px 15px;"> style="min-width: 80px; padding: 5px 15px;">
@@ -151,11 +184,14 @@
<div class="section-card action-section"> <div class="section-card action-section">
<div class="section-header"> <div class="section-header">
<h3 class="section-title">{{ label }}操作记录</h3> <h3 class="section-title">{{ label }}操作记录</h3>
<el-button size="mini" icon="el-icon-refresh" @click="getPendingAction">刷新</el-button> <div>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleActionQuery">搜索</el-button>
<el-button size="mini" icon="el-icon-refresh" @click="getPendingAction">刷新</el-button>
</div>
</div> </div>
<!-- 搜索栏 --> <!-- 搜索栏 -->
<el-form :model="actionQueryParams" ref="actionQueryForm" size="small" :inline="true" class="query-form"> <el-form :model="actionQueryParams" ref="actionQueryForm" size="small" :inline="true">
<el-form-item label="钢卷号" prop="currentCoilNo"> <el-form-item label="钢卷号" prop="currentCoilNo">
<el-input v-model="actionQueryParams.currentCoilNo" placeholder="请输入钢卷号" clearable <el-input v-model="actionQueryParams.currentCoilNo" placeholder="请输入钢卷号" clearable
@keyup.enter.native="handleActionQuery" style="width: 150px;" /> @keyup.enter.native="handleActionQuery" style="width: 150px;" />
@@ -168,14 +204,10 @@
<el-option label="已取消" :value="3" /> <el-option label="已取消" :value="3" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleActionQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetActionQuery">重置</el-button>
</el-form-item>
</el-form> </el-form>
<!-- 待操作卡片列表 --> <!-- 待操作卡片列表 -->
<div v-if="!useSpecialSplit" v-loading="actionLoading" class="card-grid-container"> <div v-loading="actionLoading" class="card-grid-container">
<div v-if="pendingActionList.length === 0" class="empty-state"> <div v-if="pendingActionList.length === 0" class="empty-state">
<i class="el-icon-document"></i> <i class="el-icon-document"></i>
<p>暂无待操作任务</p> <p>暂无待操作任务</p>
@@ -198,13 +230,13 @@
<div class="card-body"> <div class="card-body">
<div class="info-list"> <div class="info-list">
<div class="info-item"> <!-- <div class="info-item">
<span class="info-label">来源:</span> <span class="info-label">来源:</span>
<span class="info-value"> <span class="info-value">
<el-tag v-if="item.sourceType === 'scan'" type="success" size="mini">扫码</el-tag> <el-tag v-if="item.sourceType === 'scan'" type="success" size="mini">扫码</el-tag>
<el-tag v-else type="info" size="mini">手动</el-tag> <el-tag v-else type="info" size="mini">手动</el-tag>
</span> </span>
</div> </div> -->
<div class="info-item"> <div class="info-item">
<span class="info-label">创建人:</span> <span class="info-label">创建人:</span>
<span class="info-value">{{ item.createBy || '—' }}</span> <span class="info-value">{{ item.createBy || '—' }}</span>
@@ -214,13 +246,13 @@
<span class="info-value">{{ item.operatorName || '—' }}</span> <span class="info-value">{{ item.operatorName || '—' }}</span>
</div> </div>
<div class="info-item"> <div class="info-item">
<span class="info-label">扫码时间:</span> <span class="info-label">创建时间:</span>
<span class="info-value">{{ parseTime(item.scanTime, '{m}-{d} {h}:{i}') || '—' }}</span> <span class="info-value">{{ parseTime(item.createTime, '{m}-{d} {h}:{i}') || '—' }}</span>
</div> </div>
<div class="info-item"> <!-- <div class="info-item">
<span class="info-label">完成时间:</span> <span class="info-label">完成时间:</span>
<span class="info-value">{{ parseTime(item.completeTime, '{m}-{d} {h}:{i}') || '—' }}</span> <span class="info-value">{{ parseTime(item.completeTime, '{m}-{d} {h}:{i}') || '—' }}</span>
</div> </div> -->
</div> </div>
</div> </div>
@@ -248,7 +280,7 @@
</div> </div>
</div> </div>
<el-table v-else :data="pendingActionList"> <!-- <el-table v-else :data="pendingActionList">
<el-table-column label="钢卷号" prop="currentCoilNo"></el-table-column> <el-table-column label="钢卷号" prop="currentCoilNo"></el-table-column>
<el-table-column label="操作状态" prop="actionStatus"> <el-table-column label="操作状态" prop="actionStatus">
<template slot-scope="scope"> <template slot-scope="scope">
@@ -267,7 +299,7 @@
size="mini" @click="handleDeleteAction(scope.row)" class="action-btn">删除</el-button> size="mini" @click="handleDeleteAction(scope.row)" class="action-btn">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table> -->
<!-- 分页 --> <!-- 分页 -->
<pagination v-show="actionTotal > 0" :total="actionTotal" :page.sync="actionQueryParams.pageNum" <pagination v-show="actionTotal > 0" :total="actionTotal" :page.sync="actionQueryParams.pageNum"
@@ -352,6 +384,41 @@ export default {
type: '2' type: '2'
}, },
floatLayerConfig: {
columns: [
{ label: '入场钢卷号', prop: 'enterCoilNo' },
{ label: '当前钢卷号', prop: 'currentCoilNo' },
{ label: '厂家卷号', prop: 'supplierCoilNo' },
{ label: '逻辑库位', prop: 'warehouseName' },
{ label: '实际库位', prop: 'actualWarehouseName' },
{ label: '物料类型', prop: 'materialType' },
{ label: '班组', prop: 'team' },
{ label: '净重', prop: 'netWeight' },
{ label: '毛重', prop: 'grossWeight' },
{ label: '备注', prop: 'remark' },
{ label: '创建人', prop: 'createBy' },
{ label: '创建时间', prop: 'createTime' },
{ label: '更新人', prop: 'updateBy' },
{ label: '更新时间', prop: 'updateTime' },
{ label: '质量状态', prop: 'qualityStatus' },
{ label: '原料材质', prop: 'packingStatus' },
{ label: '切边要求', prop: 'edgeRequirement' },
{ label: '包装要求', prop: 'packagingRequirement' },
{ label: '物料名称', prop: 'itemName' },
{ label: '材质', prop: 'material' },
{ label: '规格', prop: 'specification' },
{ label: '镀层质量', prop: 'zincLayer' },
{ label: '厂家', prop: 'manufacturer' },
{ label: '调制度', prop: 'temperGrade' },
{ label: '镀层种类', prop: 'coatingType' },
{ label: '实测长度(m)', prop: 'actualLength' },
{ label: '实测宽度(m)', prop: 'actualWidth' },
{ label: '实测厚度(m)', prop: 'actualThickness' },
{ label: '钢卷表面处理', prop: 'coilSurfaceTreatment' },
],
title: '详细信息'
},
// 待操作列表相关 // 待操作列表相关
actionLoading: false, actionLoading: false,
pendingActionList: [], pendingActionList: [],
@@ -425,7 +492,7 @@ export default {
border: '1px solid #2bf', border: '1px solid #2bf',
color: '#fff' color: '#fff'
} }
} }
// 各个修复工序,使用工序的代表色 + 粉色的渐变来标识 // 各个修复工序,使用工序的代表色 + 粉色的渐变来标识
// 酸轧修复工序 // 酸轧修复工序
else if (this.acidRollingActionType == 520) { else if (this.acidRollingActionType == 520) {
@@ -928,7 +995,7 @@ export default {
// 卡片网格容器 // 卡片网格容器
.card-grid-container { .card-grid-container {
display: grid; display: grid;
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(2, 1fr);
gap: 8px; gap: 8px;
max-height: calc(100vh - 320px); max-height: calc(100vh - 320px);
overflow-y: auto; overflow-y: auto;