diff --git a/src/hooks/useUniqueField.ts b/src/hooks/useUniqueField.ts deleted file mode 100644 index f16afde..0000000 --- a/src/hooks/useUniqueField.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Ref, ref, watchEffect } from "vue" - -const useUniqueField = (items: Ref, field: Ref | string) => { - const isUnique = ref(true) - const errorMessage = ref("") - - watchEffect(() => { - try { - const seen = new Set() - isUnique.value = true - errorMessage.value = "" - - // 处理非响应式的字段名 - const fieldKey = typeof field === "object" ? field.value : field - - for (const item of items.value) { - const value = item[fieldKey as keyof T] - - // 处理 undefined/null 的特殊情况 - const key = value === null ? "NULL" : value === undefined ? "UNDEFINED" : value - - if (seen.has(key)) { - isUnique.value = false - errorMessage.value = `字段 "${String(fieldKey)}" 存在重复值` - break - } - seen.add(key) - } - } catch (error: any) { - errorMessage.value = `验证失败: ${error.message}` - } - }) - - return { isUnique, errorMessage } -} - -export default useUniqueField diff --git a/src/views/supermarketerp/supermarketSpu/components/auxiliary-code.vue b/src/views/supermarketerp/supermarketSpu/components/auxiliary-code.vue index 74dd8f4..16db13a 100644 --- a/src/views/supermarketerp/supermarketSpu/components/auxiliary-code.vue +++ b/src/views/supermarketerp/supermarketSpu/components/auxiliary-code.vue @@ -130,11 +130,6 @@ const computedSmErpUnitEntityList = computed(() => props.smErpUnitEntityList?.fi // 包装单位下拉选择变化 const handleUnitIdChange = (unitId: string, rowIndex: number) => { - nextTick(() => { - if (!isFieldUnique(auxiliaryCodeList.value, "unit")) { - useMessage().error("包装单位重复") - } - }) ;(auxiliaryCodeList.value[rowIndex] as any).unit = computedSmErpUnitEntityList.value?.find((item: rowVU) => item.id == unitId)?.unit } @@ -149,19 +144,6 @@ const removeSelectRowEvent = () => { } } -// 判断辅助条码是否重复 -const isFieldUnique = (arr: any[], field: string) => { - const seen = new Set() - for (const item of arr) { - const value = item[field] - if (seen.has(value)) { - return false - } - seen.add(value) - } - return true -} - // 校验可编辑表格 成功返回 true 失败返回 false // const editableTableValidate = async () => { // // 全量校验 diff --git a/src/views/supermarketerp/supermarketSpu/form.vue b/src/views/supermarketerp/supermarketSpu/form.vue index 22a8966..b06d4b1 100644 --- a/src/views/supermarketerp/supermarketSpu/form.vue +++ b/src/views/supermarketerp/supermarketSpu/form.vue @@ -224,7 +224,7 @@ const usePackageUnitList = () => { item.retailPrice = storePrice(item.retailPrice) if (item.isNew) { item.id = "" - // delete item.isNew + delete item.isNew } return item })