refactor(wms/coil): 统一排产单表格展示样式并优化页面布局
This commit is contained in:
@@ -13,6 +13,47 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 最近排产单 -->
|
||||
<div class="plan-sheet-container">
|
||||
<div v-if="planSheetList.length > 0" class="plan-sheet-section">
|
||||
<el-descriptions :column="1" border :title="'最近排产单(' + planSheetLineName + ')'" size="small" />
|
||||
<el-tabs v-model="activePlanSheetId" type="card" size="mini">
|
||||
<el-tab-pane v-for="sheet in planSheetList" :key="sheet.planSheetId" :name="sheet.planSheetId"
|
||||
:label="sheet.planCode || ('排产单' + sheet.planSheetId)" />
|
||||
</el-tabs>
|
||||
<el-table v-loading="planSheetLoading" :data="activePlanSheetDetails" border stripe size="mini"
|
||||
max-height="300">
|
||||
<el-table-column type="index" label="序号" width="50" />
|
||||
<el-table-column label="订单信息" header-align="center">
|
||||
<el-table-column prop="contractCode" label="合同号" width="140" show-overflow-tooltip />
|
||||
<el-table-column prop="customerName" label="客户" width="120" show-overflow-tooltip />
|
||||
<el-table-column prop="salesman" label="业务员" width="100" show-overflow-tooltip />
|
||||
</el-table-column>
|
||||
<el-table-column label="成品信息" header-align="center">
|
||||
<el-table-column prop="productName" label="成品名称" width="140" show-overflow-tooltip />
|
||||
<el-table-column prop="productMaterial" label="材质" width="100" />
|
||||
<el-table-column prop="coatingG" label="镀层g" width="80" />
|
||||
<el-table-column prop="productWidth" label="成品宽度" width="100" />
|
||||
<el-table-column prop="rollingThick" label="轧制厚度" width="100" />
|
||||
<el-table-column prop="markCoatThick" label="标丝厚度" width="100" />
|
||||
<el-table-column prop="tonSteelLengthRange" label="长度区间(m)" width="120" />
|
||||
<el-table-column prop="planQty" label="数量" width="80" />
|
||||
<el-table-column prop="planWeight" label="重量" width="100" />
|
||||
<el-table-column prop="surfaceTreatment" label="表面处理" width="110" show-overflow-tooltip />
|
||||
<el-table-column prop="widthReq" label="切边要求" width="110" show-overflow-tooltip />
|
||||
<el-table-column prop="productPackaging" label="包装要求" width="100" show-overflow-tooltip />
|
||||
<el-table-column prop="productEdgeReq" label="宽度要求" width="100" show-overflow-tooltip />
|
||||
<el-table-column prop="usageReq" label="用途" width="100" show-overflow-tooltip />
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" width="140" show-overflow-tooltip />
|
||||
</el-table>
|
||||
</div>
|
||||
<div v-else-if="planSheetLineName && !planSheetLoading" class="plan-sheet-section">
|
||||
<el-descriptions :column="1" border :title="'最近排产单(' + planSheetLineName + ')'" size="small" />
|
||||
<el-empty description="今天暂无排产单" :image-size="60" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 流程图区域 -->
|
||||
<div class="flow-container">
|
||||
<!-- 左侧:源卷列表 -->
|
||||
@@ -90,39 +131,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 今日排产单 -->
|
||||
<div v-if="planSheetList.length > 0" class="plan-sheet-section">
|
||||
<el-descriptions :column="1" border :title="'最近排产单(' + planSheetLineName + ')'" size="small" />
|
||||
<el-tabs v-model="activePlanSheetId" type="card" size="mini">
|
||||
<el-tab-pane v-for="sheet in planSheetList" :key="sheet.planSheetId"
|
||||
:name="sheet.planSheetId"
|
||||
:label="sheet.planCode || ('排产单' + sheet.planSheetId)" />
|
||||
</el-tabs>
|
||||
<el-table v-loading="planSheetLoading" :data="activePlanSheetDetails" border stripe size="mini" max-height="300">
|
||||
<el-table-column type="index" label="#" width="40" />
|
||||
<el-table-column prop="bizSeqNo" label="序号" width="55" />
|
||||
<el-table-column label="订单信息">
|
||||
<el-table-column prop="orderCode" label="订单号" width="130" show-overflow-tooltip />
|
||||
<el-table-column prop="contractCode" label="合同号" width="130" show-overflow-tooltip />
|
||||
<el-table-column prop="customerName" label="客户" width="100" show-overflow-tooltip />
|
||||
<el-table-column prop="salesman" label="业务员" width="80" show-overflow-tooltip />
|
||||
</el-table-column>
|
||||
<el-table-column label="成品信息">
|
||||
<el-table-column prop="productName" label="成品名称" width="130" show-overflow-tooltip />
|
||||
<el-table-column prop="productMaterial" label="材质" width="80" />
|
||||
<el-table-column prop="coatingG" label="镀层g" width="70" />
|
||||
<el-table-column prop="productWidth" label="宽度" width="80" />
|
||||
<el-table-column prop="rollingThick" label="轧厚" width="80" />
|
||||
<el-table-column prop="planQty" label="数量" width="65" />
|
||||
<el-table-column prop="planWeight" label="重量" width="80" />
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" width="100" show-overflow-tooltip />
|
||||
</el-table>
|
||||
</div>
|
||||
<div v-else-if="planSheetLineName && !planSheetLoading" class="plan-sheet-section">
|
||||
<el-descriptions :column="1" border :title="'最近排产单(' + planSheetLineName + ')'" size="small" />
|
||||
<el-empty description="今天暂无排产单" :image-size="60" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 右侧:目标卷信息 -->
|
||||
@@ -1031,7 +1039,7 @@ export default {
|
||||
|
||||
<style scoped lang="scss">
|
||||
.merge-coil-container {
|
||||
padding: 20px;
|
||||
padding: 12px;
|
||||
background: #f5f7fa;
|
||||
min-height: calc(100vh - 84px);
|
||||
}
|
||||
@@ -1042,8 +1050,8 @@ export default {
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background: #fff;
|
||||
padding: 16px 20px;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 16px;
|
||||
margin-bottom: 12px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
@@ -1065,12 +1073,12 @@ export default {
|
||||
/* 流程图容器 */
|
||||
.flow-container {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
gap: 12px;
|
||||
background: #fff;
|
||||
padding: 20px;
|
||||
padding: 12px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
||||
min-height: 600px;
|
||||
min-height: 500px;
|
||||
}
|
||||
|
||||
.flow-left {
|
||||
@@ -1096,8 +1104,8 @@ export default {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #303133;
|
||||
margin-bottom: 16px;
|
||||
padding-left: 12px;
|
||||
margin-bottom: 10px;
|
||||
padding-left: 10px;
|
||||
border-left: 4px solid #0066cc;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@@ -1106,10 +1114,10 @@ export default {
|
||||
|
||||
/* 源卷列表 */
|
||||
.source-list {
|
||||
max-height: 500px;
|
||||
max-height: calc(100vh - 280px);
|
||||
overflow-y: auto;
|
||||
padding-right: 10px;
|
||||
margin-bottom: 20px;
|
||||
margin-bottom: 0;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
@@ -1125,7 +1133,7 @@ export default {
|
||||
background: #fff;
|
||||
border: 1px solid #e4e7ed;
|
||||
border-radius: 8px;
|
||||
margin-bottom: 10px;
|
||||
margin-bottom: 8px;
|
||||
transition: all 0.3s;
|
||||
overflow: hidden;
|
||||
|
||||
@@ -1136,7 +1144,7 @@ export default {
|
||||
}
|
||||
|
||||
.source-coil-header {
|
||||
padding: 10px 14px;
|
||||
padding: 8px 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
@@ -1144,8 +1152,8 @@ export default {
|
||||
}
|
||||
|
||||
.source-number {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
border-radius: 50%;
|
||||
background: #0066cc;
|
||||
color: #fff;
|
||||
@@ -1172,7 +1180,7 @@ export default {
|
||||
}
|
||||
|
||||
.source-coil-body {
|
||||
padding: 10px 14px;
|
||||
padding: 8px 12px;
|
||||
|
||||
&:empty {
|
||||
text-align: center;
|
||||
@@ -1259,7 +1267,7 @@ export default {
|
||||
|
||||
.detail-label {
|
||||
color: #909399;
|
||||
min-width: 80px;
|
||||
min-width: 72px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
@@ -1339,29 +1347,29 @@ export default {
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 4px 12px rgba(0, 102, 204, 0.15);
|
||||
margin-bottom: 20px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.target-coil-header {
|
||||
background: #0066cc;
|
||||
color: #fff;
|
||||
padding: 16px 20px;
|
||||
padding: 10px 14px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
font-size: 16px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.target-coil-body {
|
||||
padding: 20px;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
/* 双列表单布局 */
|
||||
.form-row {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
margin-bottom: 12px;
|
||||
gap: 10px;
|
||||
margin-bottom: 10px;
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
@@ -1527,7 +1535,26 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
/* 排产单区域 */
|
||||
.plan-sheet-container {
|
||||
background: #fff;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
||||
padding: 12px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.plan-sheet-section {
|
||||
margin-top: 16px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
// 减少表单项间距
|
||||
::v-deep .el-form-item {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
::v-deep .el-form-item--small .el-form-item__content,
|
||||
::v-deep .el-form-item--small .el-form-item__label {
|
||||
line-height: 32px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -12,6 +12,47 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 最近排产单 -->
|
||||
<div class="plan-sheet-container">
|
||||
<div v-if="planSheetList.length > 0" class="plan-sheet-section">
|
||||
<el-descriptions :column="1" border title="最近排产单(酸轧线)" size="small" />
|
||||
<el-tabs v-model="activePlanSheetId" type="card" size="mini">
|
||||
<el-tab-pane v-for="sheet in planSheetList" :key="sheet.planSheetId" :name="sheet.planSheetId"
|
||||
:label="sheet.planCode || ('排产单' + sheet.planSheetId)" />
|
||||
</el-tabs>
|
||||
<el-table v-loading="planSheetLoading" :data="activePlanSheetDetails" border stripe size="mini"
|
||||
max-height="300">
|
||||
<el-table-column type="index" label="序号" width="50" />
|
||||
<el-table-column label="订单信息" header-align="center">
|
||||
<el-table-column prop="contractCode" label="合同号" width="140" show-overflow-tooltip />
|
||||
<el-table-column prop="customerName" label="客户" width="120" show-overflow-tooltip />
|
||||
<el-table-column prop="salesman" label="业务员" width="100" show-overflow-tooltip />
|
||||
</el-table-column>
|
||||
<el-table-column label="成品信息" header-align="center">
|
||||
<el-table-column prop="productName" label="成品名称" width="140" show-overflow-tooltip />
|
||||
<el-table-column prop="productMaterial" label="材质" width="100" />
|
||||
<el-table-column prop="coatingG" label="镀层g" width="80" />
|
||||
<el-table-column prop="productWidth" label="成品宽度" width="100" />
|
||||
<el-table-column prop="rollingThick" label="轧制厚度" width="100" />
|
||||
<el-table-column prop="markCoatThick" label="标丝厚度" width="100" />
|
||||
<el-table-column prop="tonSteelLengthRange" label="长度区间(m)" width="120" />
|
||||
<el-table-column prop="planQty" label="数量" width="80" />
|
||||
<el-table-column prop="planWeight" label="重量" width="100" />
|
||||
<el-table-column prop="surfaceTreatment" label="表面处理" width="110" show-overflow-tooltip />
|
||||
<el-table-column prop="widthReq" label="切边要求" width="110" show-overflow-tooltip />
|
||||
<el-table-column prop="productPackaging" label="包装要求" width="100" show-overflow-tooltip />
|
||||
<el-table-column prop="productEdgeReq" label="宽度要求" width="100" show-overflow-tooltip />
|
||||
<el-table-column prop="usageReq" label="用途" width="100" show-overflow-tooltip />
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" width="140" show-overflow-tooltip />
|
||||
</el-table>
|
||||
</div>
|
||||
<div v-else-if="!planSheetLoading" class="plan-sheet-section">
|
||||
<el-descriptions :column="1" border title="最近排产单(酸轧线)" size="small" />
|
||||
<el-empty description="今天暂无排产单" :image-size="60" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 流程图区域 -->
|
||||
<div class="flow-container">
|
||||
<!-- 左侧:母卷信息 + 排产信息 -->
|
||||
@@ -84,39 +125,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 今日排产单 -->
|
||||
<div v-if="planSheetList.length > 0" class="plan-sheet-section">
|
||||
<el-descriptions :column="1" border title="最近排产单(酸轧线)" size="small" />
|
||||
<el-tabs v-model="activePlanSheetId" type="card" size="mini">
|
||||
<el-tab-pane v-for="sheet in planSheetList" :key="sheet.planSheetId"
|
||||
:name="sheet.planSheetId"
|
||||
:label="sheet.planCode || ('排产单' + sheet.planSheetId)" />
|
||||
</el-tabs>
|
||||
<el-table v-loading="planSheetLoading" :data="activePlanSheetDetails" border stripe size="mini" max-height="300">
|
||||
<el-table-column type="index" label="#" width="40" />
|
||||
<el-table-column prop="bizSeqNo" label="序号" width="55" />
|
||||
<el-table-column label="订单信息">
|
||||
<el-table-column prop="orderCode" label="订单号" width="130" show-overflow-tooltip />
|
||||
<el-table-column prop="contractCode" label="合同号" width="130" show-overflow-tooltip />
|
||||
<el-table-column prop="customerName" label="客户" width="100" show-overflow-tooltip />
|
||||
<el-table-column prop="salesman" label="业务员" width="80" show-overflow-tooltip />
|
||||
</el-table-column>
|
||||
<el-table-column label="成品信息">
|
||||
<el-table-column prop="productName" label="成品名称" width="130" show-overflow-tooltip />
|
||||
<el-table-column prop="productMaterial" label="材质" width="80" />
|
||||
<el-table-column prop="coatingG" label="镀层g" width="70" />
|
||||
<el-table-column prop="productWidth" label="宽度" width="80" />
|
||||
<el-table-column prop="rollingThick" label="轧厚" width="80" />
|
||||
<el-table-column prop="planQty" label="数量" width="65" />
|
||||
<el-table-column prop="planWeight" label="重量" width="80" />
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" width="100" show-overflow-tooltip />
|
||||
</el-table>
|
||||
</div>
|
||||
<div v-else-if="!planSheetLoading" class="plan-sheet-section">
|
||||
<el-descriptions :column="1" border title="最近排产单(酸轧线)" size="small" />
|
||||
<el-empty description="今天暂无排产单" :image-size="60" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 右侧:子卷列表 -->
|
||||
@@ -139,7 +147,7 @@
|
||||
class="btn-remove"></el-button>
|
||||
</div>
|
||||
<div class="sub-coil-body">
|
||||
<el-form size="small" label-width="90px">
|
||||
<el-form size="small" label-width="80px">
|
||||
<div class="form-row">
|
||||
<el-form-item label="卷号" required class="form-item-half">
|
||||
<el-input v-model="item.currentCoilNo" placeholder="输入子卷卷号" :disabled="readonly"></el-input>
|
||||
@@ -178,7 +186,8 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="切边要求" prop="trimmingRequirement" class="form-item-half">
|
||||
<el-select v-model="item.trimmingRequirement" placeholder="请选择" style="width: 100%" :disabled="readonly">
|
||||
<el-select v-model="item.trimmingRequirement" placeholder="请选择" style="width: 100%"
|
||||
:disabled="readonly">
|
||||
<el-option label="净边料" value="净边料" />
|
||||
<el-option label="毛边料" value="毛边料" />
|
||||
</el-select>
|
||||
@@ -190,7 +199,8 @@
|
||||
<el-input v-model="item.packingStatus" placeholder="请输入原料材质" :disabled="readonly" />
|
||||
</el-form-item>
|
||||
<el-form-item label="包装要求" prop="packagingRequirement" class="form-item-half">
|
||||
<el-select v-model="item.packagingRequirement" placeholder="请选择" style="width: 100%" :disabled="readonly">
|
||||
<el-select v-model="item.packagingRequirement" placeholder="请选择" style="width: 100%"
|
||||
:disabled="readonly">
|
||||
<el-option label="裸包" value="裸包" />
|
||||
<el-option label="普包" value="普包" />
|
||||
<el-option label="简包" value="简包" />
|
||||
@@ -216,14 +226,14 @@
|
||||
|
||||
<div class="form-row">
|
||||
<el-form-item label="长度(m)" class="form-item-half">
|
||||
<el-input-number :controls="false" v-model="item.length" placeholder="请输入长度"
|
||||
:step="0.01" :disabled="readonly">
|
||||
<el-input-number :controls="false" v-model="item.length" placeholder="请输入长度" :step="0.01"
|
||||
:disabled="readonly">
|
||||
<template slot="append">米</template>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="实测长度(m)" prop="actualLength" class="form-item-half">
|
||||
<el-input-number :controls="false" v-model="item.actualLength" placeholder="实测长度"
|
||||
:step="0.01" :disabled="readonly">
|
||||
<el-input-number :controls="false" v-model="item.actualLength" placeholder="实测长度" :step="0.01"
|
||||
:disabled="readonly">
|
||||
<template slot="append">m</template>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
@@ -231,14 +241,14 @@
|
||||
|
||||
<div class="form-row">
|
||||
<el-form-item label="实测厚度(mm)" prop="actualThickness" class="form-item-half">
|
||||
<el-input-number :controls="false" v-model="item.actualThickness" placeholder="实测厚度"
|
||||
:step="0.01" :disabled="readonly">
|
||||
<el-input-number :controls="false" v-model="item.actualThickness" placeholder="实测厚度" :step="0.01"
|
||||
:disabled="readonly">
|
||||
<template slot="append">mm</template>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="实测宽度(mm)" prop="actualWidth" class="form-item-half">
|
||||
<el-input-number :controls="false" v-model="item.actualWidth" placeholder="实测宽度"
|
||||
:step="0.01" :disabled="readonly">
|
||||
<el-input-number :controls="false" v-model="item.actualWidth" placeholder="实测宽度" :step="0.01"
|
||||
:disabled="readonly">
|
||||
<template slot="append">mm</template>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
@@ -961,7 +971,7 @@ export default {
|
||||
|
||||
<style scoped lang="scss">
|
||||
.split-coil-container {
|
||||
padding: 20px;
|
||||
padding: 12px;
|
||||
background: #f5f7fa;
|
||||
min-height: calc(100vh - 84px);
|
||||
}
|
||||
@@ -972,8 +982,8 @@ export default {
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background: #fff;
|
||||
padding: 16px 20px;
|
||||
margin-bottom: 20px;
|
||||
padding: 10px 16px;
|
||||
margin-bottom: 12px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
@@ -995,16 +1005,16 @@ export default {
|
||||
/* 流程图容器 */
|
||||
.flow-container {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
gap: 12px;
|
||||
background: #fff;
|
||||
padding: 20px;
|
||||
padding: 12px;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
||||
min-height: 600px;
|
||||
min-height: 500px;
|
||||
}
|
||||
|
||||
.flow-left {
|
||||
flex: 0 0 340px;
|
||||
flex: 0 0 320px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
@@ -1017,8 +1027,8 @@ export default {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #303133;
|
||||
margin-bottom: 16px;
|
||||
padding-left: 12px;
|
||||
margin-bottom: 10px;
|
||||
padding-left: 10px;
|
||||
border-left: 4px solid #0066cc;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
@@ -1045,24 +1055,24 @@ export default {
|
||||
.coil-header {
|
||||
background: #0066cc;
|
||||
color: #fff;
|
||||
padding: 16px 20px;
|
||||
padding: 10px 14px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
|
||||
i {
|
||||
font-size: 20px;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.coil-title {
|
||||
flex: 1;
|
||||
font-size: 16px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
.coil-body {
|
||||
padding: 20px;
|
||||
padding: 12px;
|
||||
|
||||
&.two-col {
|
||||
display: grid;
|
||||
@@ -1074,7 +1084,7 @@ export default {
|
||||
.coil-info-row {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 12px;
|
||||
margin-bottom: 8px;
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
@@ -1082,8 +1092,8 @@ export default {
|
||||
|
||||
.label {
|
||||
color: #909399;
|
||||
font-size: 14px;
|
||||
min-width: 100px;
|
||||
font-size: 13px;
|
||||
min-width: 90px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
@@ -1146,9 +1156,9 @@ export default {
|
||||
|
||||
/* 子卷列表 */
|
||||
.split-list {
|
||||
max-height: 500px;
|
||||
max-height: calc(100vh - 280px);
|
||||
overflow-y: auto;
|
||||
margin-bottom: 20px;
|
||||
margin-bottom: 0;
|
||||
padding-right: 10px;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
@@ -1165,7 +1175,7 @@ export default {
|
||||
background: #fff;
|
||||
border: 1px solid #e4e7ed;
|
||||
border-radius: 8px;
|
||||
margin-bottom: 16px;
|
||||
margin-bottom: 10px;
|
||||
transition: all 0.3s;
|
||||
|
||||
&:hover {
|
||||
@@ -1176,7 +1186,7 @@ export default {
|
||||
|
||||
.sub-coil-header {
|
||||
background: #f5f7fa;
|
||||
padding: 12px 16px;
|
||||
padding: 8px 12px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
@@ -1184,11 +1194,11 @@ export default {
|
||||
}
|
||||
|
||||
.sub-coil-number {
|
||||
font-size: 16px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
color: #0066cc;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
border-radius: 50%;
|
||||
background: #ecf5ff;
|
||||
display: flex;
|
||||
@@ -1206,76 +1216,13 @@ export default {
|
||||
}
|
||||
|
||||
.sub-coil-body {
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
/* 汇总卡片 */
|
||||
.summary-card {
|
||||
background: #ecf5ff;
|
||||
border: 1px solid #d9ecff;
|
||||
border-radius: 8px;
|
||||
padding: 16px 20px;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
.summary-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.summary-label {
|
||||
font-size: 13px;
|
||||
color: #606266;
|
||||
}
|
||||
|
||||
.summary-value {
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
color: #0066cc;
|
||||
|
||||
&.error {
|
||||
color: #f56c6c;
|
||||
}
|
||||
}
|
||||
|
||||
// 优化按钮文字颜色
|
||||
// 实心primary按钮:白色文字
|
||||
::v-deep .el-button--primary.el-button--small:not(.is-plain) {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
// plain按钮和text按钮:蓝色文字
|
||||
::v-deep .el-button--primary.el-button--small.is-plain,
|
||||
::v-deep .el-button--text {
|
||||
color: #409eff;
|
||||
|
||||
&:hover {
|
||||
color: #66b1ff;
|
||||
}
|
||||
}
|
||||
|
||||
// 修复数字输入框的上下箭头溢出
|
||||
.sub-coil-body {
|
||||
::v-deep input[type="number"] {
|
||||
appearance: textfield;
|
||||
-moz-appearance: textfield;
|
||||
|
||||
&::-webkit-outer-spin-button,
|
||||
&::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
appearance: none;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
/* 双列表单布局 */
|
||||
.form-row {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
gap: 10px;
|
||||
margin-bottom: 0;
|
||||
|
||||
&:last-child {
|
||||
@@ -1293,8 +1240,26 @@ export default {
|
||||
}
|
||||
|
||||
/* 排产单区域 */
|
||||
.plan-sheet-container {
|
||||
background: #fff;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
||||
padding: 12px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.plan-sheet-section {
|
||||
margin-top: 16px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
// 减少表单项间距
|
||||
::v-deep .el-form-item {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
::v-deep .el-form-item--small .el-form-item__content,
|
||||
::v-deep .el-form-item--small .el-form-item__label {
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
// 异常信息样式
|
||||
|
||||
@@ -16,30 +16,34 @@
|
||||
<span><i class="el-icon-s-order"></i> {{ currentLineName }}排产计划</span>
|
||||
</div>
|
||||
<el-tabs v-model="activePlanSheetId" type="card" size="mini">
|
||||
<el-tab-pane v-for="sheet in planSheetList" :key="sheet.planSheetId"
|
||||
:name="sheet.planSheetId"
|
||||
<el-tab-pane v-for="sheet in planSheetList" :key="sheet.planSheetId" :name="sheet.planSheetId"
|
||||
:label="sheet.planCode || ('排产单' + sheet.planSheetId)" />
|
||||
</el-tabs>
|
||||
<div style="overflow-x: auto;">
|
||||
<el-table :data="activePlanSheetDetails" size="small" max-height="300" stripe border>
|
||||
<el-table-column label="订单号" prop="orderCode" width="160" />
|
||||
<el-table-column label="合同号" prop="contractCode" width="160" />
|
||||
<el-table-column label="客户" prop="customerName" width="100" />
|
||||
<el-table-column label="业务员" prop="salesman" width="80" />
|
||||
<el-table-column label="成品名称" prop="productName" width="120" />
|
||||
<el-table-column label="成品材质" prop="productMaterial" width="100" />
|
||||
<el-table-column label="成品镀层" prop="coatingG" width="90" />
|
||||
<el-table-column label="成品宽度" prop="productWidth" width="90" />
|
||||
<el-table-column label="轧制厚度" prop="rollingThick" width="90" />
|
||||
<el-table-column label="标签厚度" prop="markCoatThick" width="90" />
|
||||
<el-table-column label="吨钢长度区间" prop="tonSteelLengthRange" width="120" />
|
||||
<el-table-column label="数量" prop="planQty" width="70" />
|
||||
<el-table-column label="重量" prop="planWeight" width="90" />
|
||||
<el-table-column label="表面处理" prop="surfaceTreatment" width="100" />
|
||||
<el-table-column label="切边要求" prop="widthReq" width="90" />
|
||||
<el-table-column label="包装要求" prop="productPackaging" width="90" />
|
||||
<el-table-column label="宽度要求" prop="productEdgeReq" width="90" />
|
||||
<el-table-column label="用途" prop="usageReq" width="100" />
|
||||
<el-table-column type="index" label="序号" width="50" />
|
||||
<el-table-column label="订单信息" header-align="center">
|
||||
<el-table-column prop="contractCode" label="合同号" width="140" show-overflow-tooltip />
|
||||
<el-table-column prop="customerName" label="客户" width="120" show-overflow-tooltip />
|
||||
<el-table-column prop="salesman" label="业务员" width="100" show-overflow-tooltip />
|
||||
</el-table-column>
|
||||
<el-table-column label="成品信息" header-align="center">
|
||||
<el-table-column prop="productName" label="成品名称" width="140" show-overflow-tooltip />
|
||||
<el-table-column prop="productMaterial" label="材质" width="100" />
|
||||
<el-table-column prop="coatingG" label="镀层g" width="80" />
|
||||
<el-table-column prop="productWidth" label="成品宽度" width="100" />
|
||||
<el-table-column prop="rollingThick" label="轧制厚度" width="100" />
|
||||
<el-table-column prop="markCoatThick" label="标丝厚度" width="100" />
|
||||
<el-table-column prop="tonSteelLengthRange" label="长度区间(m)" width="120" />
|
||||
<el-table-column prop="planQty" label="数量" width="80" />
|
||||
<el-table-column prop="planWeight" label="重量" width="100" />
|
||||
<el-table-column prop="surfaceTreatment" label="表面处理" width="110" show-overflow-tooltip />
|
||||
<el-table-column prop="widthReq" label="切边要求" width="110" show-overflow-tooltip />
|
||||
<el-table-column prop="productPackaging" label="包装要求" width="100" show-overflow-tooltip />
|
||||
<el-table-column prop="productEdgeReq" label="宽度要求" width="100" show-overflow-tooltip />
|
||||
<el-table-column prop="usageReq" label="用途" width="100" show-overflow-tooltip />
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" width="140" show-overflow-tooltip />
|
||||
</el-table>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -68,7 +72,8 @@
|
||||
<div v-if="matchedSpec" style="margin-bottom:10px">
|
||||
<el-tag type="success" size="small">
|
||||
<i class="el-icon-s-order" style="margin-right:4px" />
|
||||
已匹配规程:{{ matchedSpec.specCode }}{{ matchedSpec.specName ? ' - ' + matchedSpec.specName : '' }} / {{ matchedSpec.versionCode }}
|
||||
已匹配规程:{{ matchedSpec.specCode }}{{ matchedSpec.specName ? ' - ' + matchedSpec.specName : '' }} / {{
|
||||
matchedSpec.versionCode }}
|
||||
</el-tag>
|
||||
</div>
|
||||
<el-form ref="updateForm" :model="updateForm" :rules="rules" label-width="86px" size="small">
|
||||
@@ -596,15 +601,15 @@ export default {
|
||||
methods: {
|
||||
/** 双机架计划/道次快捷写入 */
|
||||
applyDrFill(data) {
|
||||
if (data.outThick != null) this.$set(this.updateForm, 'actualThickness', parseFloat(data.outThick))
|
||||
if (data.inMatWidth != null) this.$set(this.updateForm, 'actualWidth', parseFloat(data.inMatWidth))
|
||||
if (data.outThick != null) this.$set(this.updateForm, 'actualThickness', parseFloat(data.outThick))
|
||||
if (data.inMatWidth != null) this.$set(this.updateForm, 'actualWidth', parseFloat(data.inMatWidth))
|
||||
if (data.inMatWeight != null) {
|
||||
this.$set(this.updateForm, 'netWeight', parseFloat(data.inMatWeight))
|
||||
this.$set(this.updateForm, 'netWeight', parseFloat(data.inMatWeight))
|
||||
this.$set(this.updateForm, 'grossWeight', parseFloat(data.inMatWeight))
|
||||
}
|
||||
if (data.inMatLength != null) {
|
||||
this.$set(this.updateForm, 'actualLength', parseFloat(data.inMatLength))
|
||||
this.$set(this.updateForm, 'length', parseFloat(data.inMatLength))
|
||||
this.$set(this.updateForm, 'length', parseFloat(data.inMatLength))
|
||||
}
|
||||
},
|
||||
|
||||
@@ -630,7 +635,7 @@ export default {
|
||||
specification: data.exit_thick ? `${data.exit_thick}*${data.exit_width}` : '',
|
||||
material: data.grade,
|
||||
}
|
||||
|
||||
|
||||
this.itemSelectorQueryParams = query
|
||||
|
||||
// 包装要求
|
||||
@@ -654,7 +659,7 @@ export default {
|
||||
this.$set(this.updateForm, 'versionId', v.versionId)
|
||||
this.matchedSpec = v
|
||||
}
|
||||
}).catch(() => {})
|
||||
}).catch(() => { })
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user