From 0a50c9a0fa8fe33f5b9c2b79cb8a06031b1b13fb Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期一, 30 三月 2026 14:44:40 +0800
Subject: [PATCH] 下发增加传参productMaterialId、修正不属于砌块的强度问题
---
src/views/productionPlan/productionPlan/index.vue | 195 +++++++-----------------------------------------
1 files changed, 28 insertions(+), 167 deletions(-)
diff --git a/src/views/productionPlan/productionPlan/index.vue b/src/views/productionPlan/productionPlan/index.vue
index 30e1a3c..06e26c4 100644
--- a/src/views/productionPlan/productionPlan/index.vue
+++ b/src/views/productionPlan/productionPlan/index.vue
@@ -107,6 +107,12 @@
:selectable="isSelectable"
@selection-change="handleSelectionChange"
@pagination="pagination">
+ <template #quantity="{ row }">
+ {{ row.quantity || '-' }}<span style="color:rgb(63, 95, 211)"> 鍧�</span>
+ </template>
+ <template #volume="{ row }">
+ {{ row.volume || '-' }}<span style="color:rgba(12, 46, 40, 0.76)"> 鏂�</span>
+ </template>
</PIMTable>
</div>
<!-- 鍚堝苟涓嬪彂寮圭獥 -->
@@ -178,73 +184,6 @@
<el-button @click="isShowNewModal = false">鍙栨秷</el-button>
<el-button type="primary"
@click="handleMergeSubmit">纭畾涓嬪彂</el-button>
- </span>
- </template>
- </el-dialog>
- <!-- 杩借釜杩涘害寮圭獥 -->
- <el-dialog v-model="showTrackProgressDialog"
- destroy-on-close
- :title="`杩借釜杩涘害 - ${trackProgressForm.materialCode || ''}`"
- width="600px">
- <el-form :model="trackProgressForm"
- label-width="120px">
- <el-form-item label="鐗╂枡缂栫爜">
- <el-input v-model="trackProgressForm.materialCode"
- disabled />
- </el-form-item>
- <el-form-item label="褰撳墠鐘舵��">
- <el-select v-model="trackProgressForm.currentStatus"
- placeholder="璇烽�夋嫨鐘舵��">
- <el-option label="寰呭鐞�"
- value="pending" />
- <el-option label="杩涜涓�"
- value="processing" />
- <el-option label="宸插畬鎴�"
- value="completed" />
- </el-select>
- </el-form-item>
- <el-form-item label="瀹屾垚杩涘害">
- <el-progress :percentage="trackProgressForm.completionRate"
- :status="trackProgressForm.completionRate === 100 ? 'success' : ''" />
- </el-form-item>
- <el-form-item label="杩涘害璇︽儏">
- <el-table :data="trackProgressForm.progressDetails"
- border
- style="width: 100%">
- <el-table-column prop="step"
- label="姝ラ"
- align="center"
- width="100" />
- <el-table-column prop="status"
- label="鐘舵��"
- align="center"
- width="100">
- <template #default="scope">
- <el-tag :type="scope.row.status === 'completed' ? 'success' : scope.row.status === 'processing' ? 'warning' : 'info'">
- {{ scope.row.status === 'completed' ? '宸插畬鎴�' : scope.row.status === 'processing' ? '杩涜涓�' : '寰呭紑濮�' }}
- </el-tag>
- </template>
- </el-table-column>
- <el-table-column prop="startTime"
- label="寮�濮嬫椂闂�"
- align="center"
- width="180" />
- <el-table-column prop="endTime"
- label="缁撴潫鏃堕棿"
- align="center"
- width="180" />
- </el-table>
- </el-form-item>
- <el-form-item label="澶囨敞">
- <el-input v-model="trackProgressForm.remark"
- type="textarea" />
- </el-form-item>
- </el-form>
- <template #footer>
- <span class="dialog-footer">
- <el-button @click="showTrackProgressDialog = false">鍏抽棴</el-button>
- <el-button type="primary"
- @click="handleUpdateProgress">鏇存柊杩涘害</el-button>
</span>
</template>
</el-dialog>
@@ -388,6 +327,7 @@
import ImportDialog from "@/components/Dialog/ImportDialog.vue";
import { getToken } from "@/utils/auth";
import { useDict } from "@/utils/dict";
+ import { useRouter } from "vue-router";
import {
productionPlanListPage,
loadProdData,
@@ -405,6 +345,7 @@
} from "@/api/basicData/newProduct.js";
const { proxy } = getCurrentInstance();
+ const router = useRouter();
const tableColumn = ref([
{
@@ -459,14 +400,18 @@
{
label: "鍧楁暟",
prop: "quantity",
- formatData: cell => (cell ? `${cell}鍧梎 : ""),
+ align: "right",
+ dataType: "slot",
+ slot: "quantity",
},
{
label: "鏂规暟",
prop: "volume",
width: "150px",
+ align: "right",
+ dataType: "slot",
+ slot: "volume",
className: "volume-cell",
- formatData: cell => (cell ? `${cell}鏂筦 : ""),
},
{
label: "涓嬪彂鐘舵��",
@@ -611,6 +556,7 @@
mergeForm.totalAssignedQuantity =
(Number(row.volume) - Number(row.assignedQuantity)).toFixed(4) || 0;
mergeForm.planCompleteTime = row.planCompleteTime || "";
+ mergeForm.productMaterialId = row.productMaterialId || "";
mergeForm.strength = row.strength || "";
sumAssignedQuantity.value = mergeForm.totalAssignedQuantity;
// 鎵撳紑寮圭獥
@@ -654,17 +600,7 @@
totalAssignedQuantity: 0,
planCompleteTime: "",
strength: "",
- });
-
- // 杩借釜杩涘害寮圭獥鎺у埗
- const showTrackProgressDialog = ref(false);
- // 杩借釜杩涘害琛ㄥ崟鏁版嵁
- const trackProgressForm = reactive({
- materialCode: "",
- currentStatus: "",
- completionRate: 0,
- progressDetails: [],
- remark: "",
+ productMaterialId: "",
});
// 瀵煎叆鐩稿叧
@@ -734,21 +670,13 @@
// 澶勭悊杩借釜杩涘害鎸夐挳鐐瑰嚮
const handleTrackProgress = row => {
- // 璁剧疆琛ㄥ崟鏁版嵁
- trackProgressForm.materialCode = row.materialCode;
- trackProgressForm.currentStatus = row.status;
-
- // 鐢熸垚妯℃嫙杩涘害鏁版嵁
- trackProgressForm.progressDetails = generateProgressDetails(row.status);
-
- // 璁$畻瀹屾垚鐜�
- trackProgressForm.completionRate = calculateCompletionRate(
- trackProgressForm.progressDetails
- );
- trackProgressForm.remark = "";
-
- // 鎵撳紑寮圭獥
- showTrackProgressDialog.value = true;
+ // 璺宠浆鍒拌拷韪繘搴﹂〉闈�
+ router.push({
+ path: "/productionPlan/trackProgress",
+ query: {
+ applyNo: encodeURIComponent(row.applyNo),
+ },
+ });
};
const onBlur = value => {
// 闄愬埗鍥涗綅灏忔暟
@@ -832,77 +760,6 @@
}
}
}
- };
-
- // 鐢熸垚妯℃嫙杩涘害璇︽儏鏁版嵁
- const generateProgressDetails = status => {
- const details = [
- {
- step: "璁″垝纭",
- status: "completed",
- startTime: "2026-03-01 09:00:00",
- endTime: "2026-03-01 10:00:00",
- },
- {
- step: "鐗╂枡鍑嗗",
- status:
- status === "completed"
- ? "completed"
- : status === "processing"
- ? "completed"
- : "pending",
- startTime:
- status === "completed" || status === "processing"
- ? "2026-03-01 10:30:00"
- : "",
- endTime:
- status === "completed" || status === "processing"
- ? "2026-03-02 16:00:00"
- : "",
- },
- {
- step: "鐢熶骇鍔犲伐",
- status:
- status === "completed"
- ? "completed"
- : status === "processing"
- ? "processing"
- : "pending",
- startTime:
- status === "completed" || status === "processing"
- ? "2026-03-03 08:00:00"
- : "",
- endTime: status === "completed" ? "2026-03-08 17:00:00" : "",
- },
- {
- step: "璐ㄩ噺妫�楠�",
- status: status === "completed" ? "completed" : "pending",
- startTime: status === "completed" ? "2026-03-09 09:00:00" : "",
- endTime: status === "completed" ? "2026-03-09 15:00:00" : "",
- },
- {
- step: "鍏ュ簱",
- status: status === "completed" ? "completed" : "pending",
- startTime: status === "completed" ? "2026-03-10 10:00:00" : "",
- endTime: status === "completed" ? "2026-03-10 11:00:00" : "",
- },
- ];
- return details;
- };
-
- // 璁$畻瀹屾垚鐜�
- const calculateCompletionRate = details => {
- const completedSteps = details.filter(
- step => step.status === "completed"
- ).length;
- return Math.round((completedSteps / details.length) * 100);
- };
-
- // 澶勭悊杩涘害鏇存柊
- const handleUpdateProgress = () => {
- // 杩欓噷鍙互娣诲姞鏇存柊杩涘害鐨勯�昏緫
- ElMessage.success("杩涘害鏇存柊鎴愬姛");
- showTrackProgressDialog.value = false;
};
const data = reactive({
@@ -1066,7 +923,7 @@
sum +
(row.volume == null
? 0
- : (Number(row.volume) - Number(row.assignedQuantity)).toFixed(4))
+ : Number(Number(row.volume) - Number(row.assignedQuantity).toFixed(4)))
);
}, 0);
sumAssignedQuantity.value = totalAssignedQuantity;
@@ -1080,6 +937,7 @@
mergeForm.height = firstRow.height || 0;
mergeForm.totalAssignedQuantity = totalAssignedQuantity;
mergeForm.planCompleteTime = firstRow.planCompleteTime || "";
+ mergeForm.productMaterialId = firstRow.productMaterialId || "";
mergeForm.strength = firstStrength;
mergeForm.ids = selectedRows.value.map(row => row.id);
@@ -1098,6 +956,9 @@
ElMessage.error("鐮屽潡浜у搧鐨勫己搴︿负蹇呭~椤�");
return;
}
+ if (mergeForm.productName != "鐮屽潡") {
+ mergeForm.strength = "";
+ }
console.log(sumAssignedQuantity.value, "sumAssignedQuantity");
// 璁$畻褰撳墠閫変腑琛岀殑鎬绘柟鏁�
const totalVolume = selectedRows.value.reduce((sum, row) => {
--
Gitblit v1.9.3