From 3ebd5fca130c2f9a5a4afc3dce185acff752b941 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 23 一月 2026 15:01:49 +0800
Subject: [PATCH] fix: 移除最外层的添加和删除按钮,只能子级持有
---
src/views/productionManagement/productStructure/Detail/index.vue | 39 ++++++++++++++-------------------------
1 files changed, 14 insertions(+), 25 deletions(-)
diff --git a/src/views/productionManagement/productStructure/Detail/index.vue b/src/views/productionManagement/productStructure/Detail/index.vue
index cdb32ae..4dfedab 100644
--- a/src/views/productionManagement/productStructure/Detail/index.vue
+++ b/src/views/productionManagement/productStructure/Detail/index.vue
@@ -2,10 +2,6 @@
<div class="app-container">
<PageHeader content="浜у搧缁撴瀯璇︽儏">
<template #right-button>
- <el-button v-if="dataValue.isEdit && !isOrderPage"
- type="primary"
- @click="addItem">娣诲姞
- </el-button>
<el-button v-if="!dataValue.isEdit && !isOrderPage"
type="primary"
@click="dataValue.isEdit = true">缂栬緫
@@ -127,7 +123,7 @@
fixed="right"
width="200">
<template #default="{ row, $index }">
- <el-button v-if="dataValue.isEdit"
+ <el-button v-if="dataValue.isEdit && !dataValue.dataList.some(item => (item as any).tempId === row.tempId)"
type="danger"
text
@click="removeItem(row.tempId)">鍒犻櫎
@@ -267,13 +263,21 @@
}
const productData = row[0];
- // 鏍¢獙锛氫笉鑳藉湪鏈�澶栧眰閫夋嫨璺熷綋鍓嶄骇鍝佷竴鏍风殑浜у搧
- const isTopLevel = dataValue.dataList.some(item => item.tempId === dataValue.currentRowName);
+ // 鏈�澶栧眰缁勪欢涓紝涓庡綋鍓嶄骇鍝佺浉鍚岀殑浜у搧鍙兘鏈変竴涓�
+ const isTopLevel = dataValue.dataList.some(item => (item as any).tempId === dataValue.currentRowName);
if (isTopLevel) {
if (productData.productName === tableData[0].productName &&
productData.model === tableData[0].model) {
- ElMessage.warning("涓嶈兘鍦ㄦ渶澶栧眰閫夋嫨璺熷綋鍓嶄骇鍝佷竴鏍风殑浜у搧");
- return;
+ // 鏌ユ壘鏄惁宸茬粡鏈夊叾浠栭《灞傝宸茬粡鏄繖涓骇鍝�
+ const hasOther = dataValue.dataList.some(item =>
+ (item as any).tempId !== dataValue.currentRowName &&
+ (item as any).productName === tableData[0].productName &&
+ (item as any).model === tableData[0].model
+ );
+ if (hasOther) {
+ ElMessage.warning("鏈�澶栧眰鍜屽綋鍓嶄骇鍝佷竴鏍风殑涓�绾у彧鑳芥湁涓�涓�");
+ return;
+ }
}
}
// dataValue.dataList[dataValue.currentRowIndex].productName =
@@ -386,22 +390,7 @@
}
};
- const addItem = () => {
- dataValue.dataList.push({
- productName: "",
- productId: "",
- model: undefined,
- productModelId: undefined,
- processId: "",
- processName: "",
- unitQuantity: 0,
- demandedQuantity: 0,
- unit: "",
- children: [],
- tempId: new Date().getTime(),
- });
- };
- const removeItem = tempId => {
+ const removeItem = (tempId:string) => {
// 鍏堝皾璇曚粠椤跺眰鍒犻櫎
const topIndex = dataValue.dataList.findIndex(item => item.tempId === tempId);
if (topIndex !== -1) {
--
Gitblit v1.9.3