修改采购ui

This commit is contained in:
2025-11-19 12:54:44 +08:00
parent ecea954d52
commit 7d0492a545
9 changed files with 1169 additions and 566 deletions

View File

@@ -1,25 +1,25 @@
<template>
<div class="erp-requirement-page">
<el-card shadow="never" class="panel-card">
<div slot="header" class="panel-header">
<section class="surface-panel">
<header class="surface-header">
<span>采购需求分析</span>
<div class="panel-actions">
<div class="surface-actions">
<el-switch v-model="persistResult" active-text="写入建议表" inactive-text="仅计算" />
<el-button type="primary" size="mini" @click="handleAnalyze" :loading="loading">执行分析</el-button>
<el-button type="primary" size="small" @click="handleAnalyze" :loading="loading">执行分析</el-button>
</div>
</div>
</header>
<el-table :data="mappingRows" border size="small" class="mapping-table">
<el-table-column label="产品ID" width="180">
<el-table-column label="产品ID">
<template slot-scope="scope">
<el-input v-model="scope.row.productId" placeholder="产品ID" />
</template>
</el-table-column>
<el-table-column label="原料ID" width="180">
<el-table-column label="原料ID">
<template slot-scope="scope">
<el-input v-model="scope.row.rawMaterialId" placeholder="原料ID" />
</template>
</el-table-column>
<el-table-column label="转换率" width="160">
<el-table-column label="转换率">
<template slot-scope="scope">
<el-input-number v-model="scope.row.conversionRate" :min="0" :max="1" :step="0.01" />
</template>
@@ -40,19 +40,19 @@
show-summary
:summary-method="summaryMethod"
>
<el-table-column label="产品" width="220">
<el-table-column label="产品">
<template slot-scope="scope">
<div class="title">{{ scope.row.productName || '-' }}</div>
<div class="cell-sub">ID: {{ scope.row.productId || '-' }}</div>
</template>
</el-table-column>
<el-table-column prop="specification" label="规格" width="160" />
<el-table-column prop="salesDemand" label="销售需求(吨)" width="140" />
<el-table-column prop="productStockWeight" label="成品库存(吨)" width="140" />
<el-table-column prop="rawStockConverted" label="原料折算(吨)" width="140" />
<el-table-column prop="inTransitConverted" label="在途折算(吨)" width="140" />
<el-table-column prop="pendingConverted" label="待下达折算(吨)" width="140" />
<el-table-column prop="suggestedPurchase" label="建议采购(吨)" width="160">
<el-table-column prop="specification" label="规格" />
<el-table-column prop="salesDemand" label="销售需求(吨)" />
<el-table-column prop="productStockWeight" label="成品库存(吨)" />
<el-table-column prop="rawStockConverted" label="原料折算(吨)" />
<el-table-column prop="inTransitConverted" label="在途折算(吨)" />
<el-table-column prop="pendingConverted" label="待下达折算(吨)" />
<el-table-column prop="suggestedPurchase" label="建议采购(吨)">
<template slot-scope="scope">
<span :class="scope.row.suggestedPurchase > 0 ? 'highlight' : ''">
{{ scope.row.suggestedPurchase }}
@@ -60,23 +60,23 @@
</template>
</el-table-column>
</el-table>
</el-card>
</section>
<el-card shadow="never" class="panel-card">
<div slot="header" class="panel-header">
<section class="surface-panel">
<header class="surface-header">
<span>原料折算详情</span>
</div>
</header>
<el-table :data="rawDetailData" size="small" border height="320">
<el-table-column prop="productName" label="产品" width="200" />
<el-table-column prop="rawMaterialName" label="原料" width="200" />
<el-table-column prop="conversionRate" label="转换率" width="120" />
<el-table-column prop="stockWeight" label="库存重量" width="120" />
<el-table-column prop="stockCoilCount" label="库存卷数" width="120" />
<el-table-column prop="convertedStock" label="折算库存" width="120" />
<el-table-column prop="convertedInTransit" label="折算在途" width="120" />
<el-table-column prop="convertedPending" label="折算待下达" width="120" />
<el-table-column prop="productName" label="产品" />
<el-table-column prop="rawMaterialName" label="原料" />
<el-table-column prop="conversionRate" label="转换率" />
<el-table-column prop="stockWeight" label="库存重量" />
<el-table-column prop="stockCoilCount" label="库存卷数" />
<el-table-column prop="convertedStock" label="折算库存" />
<el-table-column prop="convertedInTransit" label="折算在途" />
<el-table-column prop="convertedPending" label="折算待下达" />
</el-table>
</el-card>
</section>
</div>
</template>
@@ -161,21 +161,26 @@ export default {
<style lang="scss" scoped>
.erp-requirement-page {
padding: 16px;
background: #eef1f3;
min-height: 100%;
display: flex;
flex-direction: column;
gap: 16px;
}
.panel-card {
margin-bottom: 18px;
border: 1px solid #d0d5d8;
.surface-panel {
background: #fff;
border: 1px solid #d6dce1;
border-radius: 4px;
padding: 16px;
}
.panel-header {
.surface-header {
display: flex;
justify-content: space-between;
align-items: center;
font-weight: 600;
color: #1f2d3d;
margin-bottom: 12px;
}
.panel-actions {
.surface-actions {
display: flex;
align-items: center;
gap: 12px;