refactor(wms): 优化多个页面的样式与功能
1. 调整物料预警页面的逾期天数默认值为60天 2. 钢卷库存页面新增钢卷明细导出按钮和布局优化 3. 异议工单页面调整导出按钮的显示逻辑,移除状态判断 4. 重构异议工单基础信息组件的布局与样式,优化信息展示
This commit is contained in:
@@ -197,7 +197,7 @@ export default {
|
|||||||
total: 0,
|
total: 0,
|
||||||
coilList: [],
|
coilList: [],
|
||||||
statistics: {},
|
statistics: {},
|
||||||
overdueDays: 20,
|
overdueDays: 60,
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 50,
|
pageSize: 50,
|
||||||
|
|||||||
@@ -163,7 +163,10 @@
|
|||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
||||||
<!-- 钢卷明细表格 -->
|
<!-- 钢卷明细表格 -->
|
||||||
<h4 style="margin-top: 20px">钢卷明细</h4>
|
<div style="display: flex; align-items: center; justify-content: space-between; margin-top: 20px">
|
||||||
|
<h4 style="margin: 0">钢卷明细</h4>
|
||||||
|
<el-button type="primary" size="small" icon="el-icon-download" @click="handleExportDetail">导出</el-button>
|
||||||
|
</div>
|
||||||
<el-table :data="dialogList" border stripe max-height="500" style="width: 100%">
|
<el-table :data="dialogList" border stripe max-height="500" style="width: 100%">
|
||||||
<el-table-column prop="enterCoilNo" label="入场钢卷号" align="center" min-width="150" show-overflow-tooltip />
|
<el-table-column prop="enterCoilNo" label="入场钢卷号" align="center" min-width="150" show-overflow-tooltip />
|
||||||
<el-table-column prop="currentCoilNo" label="当前钢卷号" align="center" min-width="150" show-overflow-tooltip />
|
<el-table-column prop="currentCoilNo" label="当前钢卷号" align="center" min-width="150" show-overflow-tooltip />
|
||||||
@@ -518,6 +521,15 @@ export default {
|
|||||||
.finally(() => { this.dialogLoading = false; });
|
.finally(() => { this.dialogLoading = false; });
|
||||||
},
|
},
|
||||||
|
|
||||||
|
handleExportDetail() {
|
||||||
|
if (!this.currentWarehouse) return;
|
||||||
|
this.download('wms/materialCoil/export', {
|
||||||
|
warehouseId: this.currentWarehouse.warehouseId,
|
||||||
|
dataType: 1,
|
||||||
|
status: 0,
|
||||||
|
}, `钢卷明细_${this.currentWarehouse.warehouseName}_${new Date().getTime()}.xlsx`);
|
||||||
|
},
|
||||||
|
|
||||||
// ============ 弹窗数据透视图(班组 × 品质) ============
|
// ============ 弹窗数据透视图(班组 × 品质) ============
|
||||||
getQualityGroup(qs) {
|
getQualityGroup(qs) {
|
||||||
if (!qs) return '未知';
|
if (!qs) return '未知';
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="enabled" class="section-container">
|
<div v-if="enabled" class="section-container">
|
||||||
<div class="detail-section">
|
<div class="complaint-main">
|
||||||
<div class="detail-section-label">Complaint Content · 投诉情况与客户诉求</div>
|
<div class="complaint-label">Complaint Content · 投诉情况与客户诉求</div>
|
||||||
<div class="detail-section-text">{{ data.complaintContent || '-' }}</div>
|
<div class="complaint-body">{{ data.complaintContent || '-' }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="detail-section" v-if="customerInfo">
|
<div class="detail-section" v-if="customerInfo">
|
||||||
@@ -35,29 +35,29 @@
|
|||||||
<div class="detail-section-text">-</div>
|
<div class="detail-section-text">-</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="detail-section">
|
<div class="divider-label">Other Info · 其他信息</div>
|
||||||
<div class="detail-section-label">Downstream User · 下游使用用户</div>
|
|
||||||
<div class="detail-section-text">{{ data.downstreamUserName || '-' }}</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="detail-section">
|
<div class="secondary-grid">
|
||||||
<div class="detail-section-label">Phone · 电话</div>
|
<div class="secondary-item">
|
||||||
<div class="detail-section-text">{{ data.phone || '-' }}</div>
|
<span class="secondary-key">下游使用用户</span>
|
||||||
</div>
|
<span class="secondary-val">{{ data.downstreamUserName || '-' }}</span>
|
||||||
|
</div>
|
||||||
<div class="detail-section">
|
<div class="secondary-item">
|
||||||
<div class="detail-section-label">Project Name · 工程名称</div>
|
<span class="secondary-key">电话</span>
|
||||||
<div class="detail-section-text">{{ data.projectName || '-' }}</div>
|
<span class="secondary-val">{{ data.phone || '-' }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="secondary-item">
|
||||||
<div class="detail-section">
|
<span class="secondary-key">工程名称</span>
|
||||||
<div class="detail-section-label">Project Location · 使用地点</div>
|
<span class="secondary-val">{{ data.projectName || '-' }}</span>
|
||||||
<div class="detail-section-text">{{ data.projectLocation || '-' }}</div>
|
</div>
|
||||||
</div>
|
<div class="secondary-item">
|
||||||
|
<span class="secondary-key">使用地点</span>
|
||||||
<div class="detail-section">
|
<span class="secondary-val">{{ data.projectLocation || '-' }}</span>
|
||||||
<div class="detail-section-label">Product Usage · 产品用途</div>
|
</div>
|
||||||
<div class="detail-section-text">{{ data.productUsage || '-' }}</div>
|
<div class="secondary-item">
|
||||||
|
<span class="secondary-key">产品用途</span>
|
||||||
|
<span class="secondary-val">{{ data.productUsage || '-' }}</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="detail-section" v-if="data.file">
|
<div class="detail-section" v-if="data.file">
|
||||||
@@ -109,6 +109,37 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
.section-container {
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== 投诉情况主体 — 突出显示 ===== */
|
||||||
|
.complaint-main {
|
||||||
|
margin-bottom: 18px;
|
||||||
|
padding: 16px 18px;
|
||||||
|
background: #fff;
|
||||||
|
border: 1px solid #cbd5e1;
|
||||||
|
border-left: 4px solid #1e293b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.complaint-label {
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #475569;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
letter-spacing: 0.4px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.complaint-body {
|
||||||
|
font-size: 15px;
|
||||||
|
color: #1e293b;
|
||||||
|
line-height: 1.8;
|
||||||
|
word-break: break-all;
|
||||||
|
min-height: 60px;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
|
|
||||||
.detail-section {
|
.detail-section {
|
||||||
margin-bottom: 14px;
|
margin-bottom: 14px;
|
||||||
}
|
}
|
||||||
@@ -163,4 +194,45 @@ export default {
|
|||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #1e293b;
|
color: #1e293b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ===== 分隔标签 ===== */
|
||||||
|
.divider-label {
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #94a3b8;
|
||||||
|
letter-spacing: 0.4px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
margin: 16px 0 10px;
|
||||||
|
padding-bottom: 6px;
|
||||||
|
border-bottom: 1px dashed #e2e8f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ===== 次要信息网格 ===== */
|
||||||
|
.secondary-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, 1fr);
|
||||||
|
gap: 8px 16px;
|
||||||
|
padding: 10px 12px;
|
||||||
|
background: #f8fafc;
|
||||||
|
border: 1px solid #e2e8f0;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.secondary-item {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.secondary-key {
|
||||||
|
font-size: 10px;
|
||||||
|
color: #94a3b8;
|
||||||
|
letter-spacing: 0.2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.secondary-val {
|
||||||
|
font-size: 12px;
|
||||||
|
color: #475569;
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
<el-tag v-else-if="item.flowStatus === 4" type="success" size="mini">全部办结</el-tag>
|
<el-tag v-else-if="item.flowStatus === 4" type="success" size="mini">全部办结</el-tag>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-actions">
|
<div class="item-actions">
|
||||||
<el-button v-if="item.flowStatus === 4" size="mini" type="text" icon="el-icon-download"
|
<el-button size="mini" type="text" icon="el-icon-download"
|
||||||
@click.stop="handleExportPdf(item)" title="导出PDF"></el-button>
|
@click.stop="handleExportPdf(item)" title="导出PDF"></el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click.stop="handleUpdate(item)"></el-button>
|
<el-button size="mini" type="text" icon="el-icon-edit" @click.stop="handleUpdate(item)"></el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click.stop="handleDelete(item)"></el-button>
|
<el-button size="mini" type="text" icon="el-icon-delete" @click.stop="handleDelete(item)"></el-button>
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
<HeaderControlSection :complaintNo="currentRow.complaintNo" :flowStatus="currentRow.flowStatus"
|
<HeaderControlSection :complaintNo="currentRow.complaintNo" :flowStatus="currentRow.flowStatus"
|
||||||
:meta="currentRow">
|
:meta="currentRow">
|
||||||
<template #actions>
|
<template #actions>
|
||||||
<el-button v-if="currentRow.flowStatus === 4" size="mini" type="text" icon="el-icon-download"
|
<el-button size="mini" type="text" icon="el-icon-download"
|
||||||
@click="handleExportPdf(currentRow)" title="导出PDF">导出</el-button>
|
@click="handleExportPdf(currentRow)" title="导出PDF">导出</el-button>
|
||||||
<el-button v-if="currentRow.flowStatus === 1" size="mini" type="primary" plain
|
<el-button v-if="currentRow.flowStatus === 1" size="mini" type="primary" plain
|
||||||
icon="el-icon-s-promotion" @click="handleOpinionDispatch">意见下发</el-button>
|
icon="el-icon-s-promotion" @click="handleOpinionDispatch">意见下发</el-button>
|
||||||
|
|||||||
Reference in New Issue
Block a user