|
|
@@ -121,142 +121,142 @@
|
|
|
</el-table>
|
|
|
</el-card>
|
|
|
|
|
|
- <el-card class="table-card">
|
|
|
- <el-table :data="semiProductList" stripe style="width: 100%">
|
|
|
- <el-table-column type="selection" width="55" />
|
|
|
- <el-table-column prop="code" label="编码" width="120" fixed />
|
|
|
- <el-table-column prop="name" label="半成品名称" width="200" />
|
|
|
- <el-table-column label="类别" width="120">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-tag>{{ getCategoryText(scope.row.category) }}</el-tag>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="quantity" label="库存数量" width="100" sortable />
|
|
|
- <el-table-column prop="safeStock" label="安全库存" width="100" />
|
|
|
- <el-table-column label="状态" width="100">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-tag :type="getStatusType(scope.row.status)">
|
|
|
- {{ getStatusText(scope.row.status) }}
|
|
|
- </el-tag>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="可用于组装" width="150">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-popover placement="top" :width="300" trigger="hover">
|
|
|
- <template slot="reference">
|
|
|
- <el-tag type="info" style="cursor: pointer;">
|
|
|
- {{ scope.row.usedForProducts.length }} 种成品
|
|
|
- </el-tag>
|
|
|
- </template>
|
|
|
- <div>
|
|
|
- <p style="font-weight: bold; margin-bottom: 8px;">可组装成品</p>
|
|
|
- <el-tag
|
|
|
- v-for="product in scope.row.usedForProducts"
|
|
|
- :key="product"
|
|
|
- size="small"
|
|
|
- style="margin: 2px 4px;"
|
|
|
- >
|
|
|
- {{ product }}
|
|
|
- </el-tag>
|
|
|
- </div>
|
|
|
- </el-popover>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="supplier" label="供应商" width="150" />
|
|
|
- <el-table-column prop="leadTime" label="采购周期" width="100">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{ scope.row.leadTime }} 天
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="unitPrice" label="单价(元)" width="100" />
|
|
|
- <el-table-column prop="totalValue" label="库存价值(元)" width="120" sortable />
|
|
|
- <el-table-column label="操作" width="240" fixed="right">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button type="primary" size="small" @click="handleDetail(scope.row)">详情</el-button>
|
|
|
- <el-button type="success" size="small" @click="handleEdit(scope.row)">编辑</el-button>
|
|
|
- <el-button type="warning" size="small" @click="handleAssemble(scope.row)">组装</el-button>
|
|
|
- <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+<!-- <el-card class="table-card">-->
|
|
|
+<!-- <el-table :data="semiProductList" stripe style="width: 100%">-->
|
|
|
+<!-- <el-table-column type="selection" width="55" />-->
|
|
|
+<!-- <el-table-column prop="code" label="编码" width="120" fixed />-->
|
|
|
+<!-- <el-table-column prop="name" label="半成品名称" width="200" />-->
|
|
|
+<!-- <el-table-column label="类别" width="120">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- <el-tag>{{ getCategoryText(scope.row.category) }}</el-tag>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column prop="quantity" label="库存数量" width="100" sortable />-->
|
|
|
+<!-- <el-table-column prop="safeStock" label="安全库存" width="100" />-->
|
|
|
+<!-- <el-table-column label="状态" width="100">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- <el-tag :type="getStatusType(scope.row.status)">-->
|
|
|
+<!-- {{ getStatusText(scope.row.status) }}-->
|
|
|
+<!-- </el-tag>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column label="可用于组装" width="150">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- <el-popover placement="top" :width="300" trigger="hover">-->
|
|
|
+<!-- <template slot="reference">-->
|
|
|
+<!-- <el-tag type="info" style="cursor: pointer;">-->
|
|
|
+<!-- {{ scope.row.usedForProducts.length }} 种成品-->
|
|
|
+<!-- </el-tag>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- <div>-->
|
|
|
+<!-- <p style="font-weight: bold; margin-bottom: 8px;">可组装成品</p>-->
|
|
|
+<!-- <el-tag-->
|
|
|
+<!-- v-for="product in scope.row.usedForProducts"-->
|
|
|
+<!-- :key="product"-->
|
|
|
+<!-- size="small"-->
|
|
|
+<!-- style="margin: 2px 4px;"-->
|
|
|
+<!-- >-->
|
|
|
+<!-- {{ product }}-->
|
|
|
+<!-- </el-tag>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </el-popover>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column prop="supplier" label="供应商" width="150" />-->
|
|
|
+<!-- <el-table-column prop="leadTime" label="采购周期" width="100">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- {{ scope.row.leadTime }} 天-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column prop="unitPrice" label="单价(元)" width="100" />-->
|
|
|
+<!-- <el-table-column prop="totalValue" label="库存价值(元)" width="120" sortable />-->
|
|
|
+<!-- <el-table-column label="操作" width="240" fixed="right">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- <el-button type="primary" size="small" @click="handleDetail(scope.row)">详情</el-button>-->
|
|
|
+<!-- <el-button type="success" size="small" @click="handleEdit(scope.row)">编辑</el-button>-->
|
|
|
+<!-- <el-button type="warning" size="small" @click="handleAssemble(scope.row)">组装</el-button>-->
|
|
|
+<!-- <el-button type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- </el-table>-->
|
|
|
|
|
|
- <el-pagination
|
|
|
- :current-page="currentPage"
|
|
|
- :page-size="pageSize"
|
|
|
- :total="totalItems"
|
|
|
- :page-sizes="[10, 20, 50, 100]"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- style="margin-top: 20px; justify-content: flex-end;"
|
|
|
- />
|
|
|
- </el-card>
|
|
|
+<!-- <el-pagination-->
|
|
|
+<!-- :current-page="currentPage"-->
|
|
|
+<!-- :page-size="pageSize"-->
|
|
|
+<!-- :total="totalItems"-->
|
|
|
+<!-- :page-sizes="[10, 20, 50, 100]"-->
|
|
|
+<!-- layout="total, sizes, prev, pager, next, jumper"-->
|
|
|
+<!-- style="margin-top: 20px; justify-content: flex-end;"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-card>-->
|
|
|
|
|
|
- <el-row :gutter="20" class="charts-row">
|
|
|
- <el-col :span="12">
|
|
|
- <el-card>
|
|
|
- <template slot="header">
|
|
|
- <span>半成品库存分布</span>
|
|
|
- </template>
|
|
|
- <div ref="stockDistributionChart" class="chart" />
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-card>
|
|
|
- <template slot="header">
|
|
|
- <span>半成品使用趋势</span>
|
|
|
- </template>
|
|
|
- <div ref="usageTrendChart" class="chart" />
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+<!-- <el-row :gutter="20" class="charts-row">-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+<!-- <el-card>-->
|
|
|
+<!-- <template slot="header">-->
|
|
|
+<!-- <span>半成品库存分布</span>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- <div ref="stockDistributionChart" class="chart" />-->
|
|
|
+<!-- </el-card>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+<!-- <el-card>-->
|
|
|
+<!-- <template slot="header">-->
|
|
|
+<!-- <span>半成品使用趋势</span>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- <div ref="usageTrendChart" class="chart" />-->
|
|
|
+<!-- </el-card>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
|
|
|
- <el-card class="bom-card">
|
|
|
- <template slot="header">
|
|
|
- <div class="card-header">
|
|
|
- <span>半成品BOM关系图</span>
|
|
|
- <el-select
|
|
|
- v-model="selectedBomProduct"
|
|
|
- placeholder="选择成品查看BOM"
|
|
|
- style="width: 250px;"
|
|
|
- >
|
|
|
- <el-option label="智能手表 Pro X1" value="watch" />
|
|
|
- <el-option label="无线耳机 Elite" value="earphone" />
|
|
|
- <el-option label="智能音箱" value="speaker" />
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <div ref="bomRelationChart" class="chart" style="height: 400px;"></div>
|
|
|
- </el-card>
|
|
|
+<!-- <el-card class="bom-card">-->
|
|
|
+<!-- <template slot="header">-->
|
|
|
+<!-- <div class="card-header">-->
|
|
|
+<!-- <span>半成品BOM关系图</span>-->
|
|
|
+<!-- <el-select-->
|
|
|
+<!-- v-model="selectedBomProduct"-->
|
|
|
+<!-- placeholder="选择成品查看BOM"-->
|
|
|
+<!-- style="width: 250px;"-->
|
|
|
+<!-- >-->
|
|
|
+<!-- <el-option label="智能手表 Pro X1" value="watch" />-->
|
|
|
+<!-- <el-option label="无线耳机 Elite" value="earphone" />-->
|
|
|
+<!-- <el-option label="智能音箱" value="speaker" />-->
|
|
|
+<!-- </el-select>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- <div ref="bomRelationChart" class="chart" style="height: 400px;"></div>-->
|
|
|
+<!-- </el-card>-->
|
|
|
|
|
|
- <el-card class="turnover-card">
|
|
|
- <template slot="header">
|
|
|
- <span>半成品周转效率分析</span>
|
|
|
- </template>
|
|
|
- <el-table :data="turnoverAnalysis" stripe>
|
|
|
- <el-table-column prop="name" label="半成品名称" width="200" />
|
|
|
- <el-table-column prop="avgTurnover" label="平均周转天数" width="150" sortable>
|
|
|
- <template slot-scope="scope">
|
|
|
- <span :style="{ color: getTurnoverColor(scope.row.avgTurnover) }">
|
|
|
- {{ scope.row.avgTurnover }} 天
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="usageRate" label="使用率" width="120" sortable>
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-progress :percentage="scope.row.usageRate" :color="getProgressColor(scope.row.usageRate)" />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="monthlyConsumption" label="月消耗量" width="120" />
|
|
|
- <el-table-column prop="reorderPoint" label="再订货点" width="120" />
|
|
|
- <el-table-column label="库存状态" width="120">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-tag :type="getStockStatusType(scope.row.stockStatus)">
|
|
|
- {{ scope.row.stockStatus }}
|
|
|
- </el-tag>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="suggestion" label="优化建议" min-width="250" />
|
|
|
- </el-table>
|
|
|
- </el-card>
|
|
|
+<!-- <el-card class="turnover-card">-->
|
|
|
+<!-- <template slot="header">-->
|
|
|
+<!-- <span>半成品周转效率分析</span>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- <el-table :data="turnoverAnalysis" stripe>-->
|
|
|
+<!-- <el-table-column prop="name" label="半成品名称" width="200" />-->
|
|
|
+<!-- <el-table-column prop="avgTurnover" label="平均周转天数" width="150" sortable>-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- <span :style="{ color: getTurnoverColor(scope.row.avgTurnover) }">-->
|
|
|
+<!-- {{ scope.row.avgTurnover }} 天-->
|
|
|
+<!-- </span>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column prop="usageRate" label="使用率" width="120" sortable>-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- <el-progress :percentage="scope.row.usageRate" :color="getProgressColor(scope.row.usageRate)" />-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column prop="monthlyConsumption" label="月消耗量" width="120" />-->
|
|
|
+<!-- <el-table-column prop="reorderPoint" label="再订货点" width="120" />-->
|
|
|
+<!-- <el-table-column label="库存状态" width="120">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- <el-tag :type="getStockStatusType(scope.row.stockStatus)">-->
|
|
|
+<!-- {{ scope.row.stockStatus }}-->
|
|
|
+<!-- </el-tag>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column prop="suggestion" label="优化建议" min-width="250" />-->
|
|
|
+<!-- </el-table>-->
|
|
|
+<!-- </el-card>-->
|
|
|
</div>
|
|
|
</template>
|
|
|
|