| | |
| | | <!-- 来源数据弹窗 --> |
| | | <el-dialog v-model="sourceDataDialogVisible" |
| | | title="来源数据" |
| | | width="1200px"> |
| | | width="1200px" |
| | | custom-class="source-data-dialog"> |
| | | <div v-if="sourceRowData" |
| | | class="applyno-summary1"> |
| | | <div class="summary-item"> |
| | |
| | | name: "领料", |
| | | type: "text", |
| | | color: "#5EC7AB", |
| | | showHide: row => !row.endOrder, |
| | | showHide: row => !row.endOrder && !row.returned, |
| | | clickFun: row => { |
| | | openMaterialDialog(row); |
| | | }, |
| | |
| | | name: "补料", |
| | | type: "text", |
| | | color: "#5EC7AB", |
| | | showHide: row => !row.endOrder, |
| | | showHide: row => !row.endOrder && !row.returned, |
| | | clickFun: row => { |
| | | openMaterialSupplementDialog(row); |
| | | }, |
| | |
| | | if (!Number.isFinite(n)) return 0; |
| | | if (n <= 0) return 0; |
| | | if (n >= 100) return 100; |
| | | return Math.round(n); |
| | | return parseFloat(n.toFixed(2)); |
| | | }; |
| | | |
| | | // 30/50/80/100 分段颜色:红/橙/蓝/绿 |
| | |
| | | |
| | | const openBindRouteDialog = async (row, type) => { |
| | | bindForm.orderId = row.id; |
| | | bindForm.routeId = type === "add" ? null : row.processRouteCode; |
| | | bindForm.routeId = type === "add" ? null : row.technologyRoutingId; |
| | | bindRouteDialogVisible.value = true; |
| | | routeOptions.value = []; |
| | | if (!row.productModelId) { |
| | |
| | | bomNo: row.bomNo || "", |
| | | description: data.description || "", |
| | | quantity: row.quantity || 0, |
| | | technologyRoutingId: data.technologyRoutingId, |
| | | orderId, |
| | | type: "order", |
| | | editable: !row.endOrder, |
| | |
| | | }) |
| | | .then(() => { |
| | | proxy.download( |
| | | "/productOrder/export", |
| | | "/productionOrder/export", |
| | | { ...searchForm.value }, |
| | | "生产订单.xlsx" |
| | | "生产订单数据.xlsx" |
| | | ); |
| | | }) |
| | | .catch(() => { |
| | |
| | | text-shadow: 0 1px 2px rgba(64, 158, 255, 0.2); |
| | | } |
| | | |
| | | .source-data-dialog { |
| | | display: flex; |
| | | flex-direction: column; |
| | | max-height: 80vh; |
| | | |
| | | .el-dialog__body { |
| | | overflow-y: auto; |
| | | flex: 1; |
| | | } |
| | | } |
| | | |
| | | .source-table-container { |
| | | margin-top: 20px; |
| | | } |
| | |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 16px; |
| | | max-height: 500px; |
| | | overflow-y: auto; |
| | | padding: 10px; |
| | | background-color: #f5f7fa; |
| | | border-radius: 4px; |