diff --git a/src/views/products/Detail.jsx b/src/views/products/Detail.jsx
index 9c64a08..b2507d4 100644
--- a/src/views/products/Detail.jsx
+++ b/src/views/products/Detail.jsx
@@ -8,6 +8,7 @@ import { useProductsTypes } from '@/hooks/useProductsSets';
import Extras from './Detail/Extras';
import { groupBy } from '@/utils/commons';
import { useParams } from 'react-router-dom';
+import useProductsStore from '@/stores/Products/Index';
import { useHTLanguageSets } from '@/hooks/useHTLanguageSets';
import { useDefaultLgc } from '@/i18n/LanguageSwitcher';
import BatchImportPrice from './Detail/BatchImportPrice1';
@@ -37,6 +38,7 @@ function Detail() {
const HTLanguageSets = useHTLanguageSets();
const { Search } = Input;
+ const [editingProduct, setEditingProduct] = useProductsStore((state) => [state.editingProduct, state.setEditingProduct]);
const [expandedKeys, setExpandedKeys] = useState([]);
const [searchValue, setSearchValue] = useState('');
@@ -51,49 +53,49 @@ function Detail() {
const productProject = {
"6": [],
"B": [
- { code: "code", name: t('products:Code') },
- { code: "city_name", name: t('products:City') },
- { code: "km", name: t('products:KM') },
- { code: "remarks", name: t('products:Remarks') }
+ { code: "code", name: t('products:Code'), nameKey: 'products:Code' },
+ { code: "city_name", name: t('products:City'), nameKey: 'products:City' },
+ { code: "km", name: t('products:KM'), nameKey: 'products:KM' },
+ { code: "remarks", name: t('products:Remarks'), nameKey: 'products:Remarks' }
],
"J": [
- { code: "code", name: t('products:Code') },
- { code: "city_name", name: t('products:City') },
- { code: "recommends_rate", name: t('products:recommendationRate') },
- { code: "duration", name: t('products:Duration') },
- { code: "dept_name", name: t('products:Dept') },
- { code: "display_to_c", name: t('products:DisplayToC') },
- { code: "remarks", name: t('products:Remarks') },
+ { code: "code", name: t('products:Code'), nameKey: 'products:Code' },
+ { code: "city_name", name: t('products:City'), nameKey: 'products:City' },
+ { code: "recommends_rate", name: t('products:recommendationRate'), nameKey: 'products:recommendationRate' },
+ { code: "duration", name: t('products:Duration'), nameKey: 'products:Duration' },
+ { code: "dept_name", name: t('products:Dept'), nameKey: 'products:Dept' },
+ { code: "display_to_c", name: t('products:DisplayToC'), nameKey: 'products:DisplayToC' },
+ { code: "remarks", name: t('products:Remarks'), nameKey: 'products:Remarks' },
],
"Q": [
- { code: "code", name: t('products:Code') },
- { code: "city_name", name: t('products:City') },
- { code: "recommends_rate", name: t('products:recommendationRate') },
- { code: "duration", name: t('products:Duration') },
- { code: "dept_name", name: t('products:Dept') },
- { code: "display_to_c", name: t('products:DisplayToC') },
- { code: "remarks", name: t('products:Remarks') },
+ { code: "code", name: t('products:Code'), nameKey: 'products:Code' },
+ { code: "city_name", name: t('products:City'), nameKey: 'products:City' },
+ { code: "recommends_rate", name: t('products:recommendationRate'), nameKey: 'products:recommendationRate' },
+ { code: "duration", name: t('products:Duration'), nameKey: 'products:Duration' },
+ { code: "dept_name", name: t('products:Dept'), nameKey: 'products:Dept' },
+ { code: "display_to_c", name: t('products:DisplayToC'), nameKey: 'products:DisplayToC' },
+ { code: "remarks", name: t('products:Remarks'), nameKey: 'products:Remarks' },
],
"D": [
- { code: "code", name: t('products:Code') },
- { code: "city_name", name: t('products:City') },
- { code: "recommends_rate", name: t('products:recommendationRate') },
- { code: "duration", name: t('products:Duration') },
- { code: "dept_name", name: t('products:Dept') },
- { code: "display_to_c", name: t('products:DisplayToC') },
- { code: "remarks", name: t('products:Remarks') },
+ { code: "code", name: t('products:Code'), nameKey: 'products:Code' },
+ { code: "city_name", name: t('products:City'), nameKey: 'products:City' },
+ { code: "recommends_rate", name: t('products:recommendationRate'), nameKey: 'products:recommendationRate' },
+ { code: "duration", name: t('products:Duration'), nameKey: 'products:Duration' },
+ { code: "dept_name", name: t('products:Dept'), nameKey: 'products:Dept' },
+ { code: "display_to_c", name: t('products:DisplayToC'), nameKey: 'products:DisplayToC' },
+ { code: "remarks", name: t('products:Remarks'), nameKey: 'products:Remarks' },
],
"7": [
- { code: "code", name: t('products:Code') },
- { code: "city_name", name: t('products:City') },
- { code: "recommends_rate", name: t('products:recommendationRate') },
- { code: "duration", name: t('products:Duration') },
- { code: "open_weekdays", name: t('products:OpenWeekdays') },
- { code: "remarks", name: t('products:Remarks') },
+ { code: "code", name: t('products:Code'), nameKey: 'products:Code' },
+ { code: "city_name", name: t('products:City'), nameKey: 'products:City' },
+ { code: "recommends_rate", name: t('products:recommendationRate'), nameKey: 'products:recommendationRate' },
+ { code: "duration", name: t('products:Duration'), nameKey: 'products:Duration' },
+ { code: "open_weekdays", name: t('products:OpenWeekdays'), nameKey: 'products:OpenWeekdays' },
+ { code: "remarks", name: t('products:Remarks'), nameKey: 'products:Remarks' },
],
"R": [
- { code: "code", name: t('products:Code') },
- { code: "city_name", name: t('products:City') },
+ { code: "code", name: t('products:Code'), nameKey: 'products:Code' },
+ { code: "city_name", name: t('products:City'), nameKey: 'products:City' },
]
}
const [selectedCategory, setSelectedCategory] = useState(productProject.B);
@@ -125,10 +127,12 @@ function Detail() {
children: (productsData[type.value] || []).map(product => ({
title: product.info.title,
key: `${type.value}-${product.info.id}`,
+ _raw: product,
}))
}));
};
+
const treeData = generateTreeData(productsTypes, groupedProducts);
setTreeData(treeData);
setProductsData(groupedProducts);
@@ -311,7 +315,7 @@ function Detail() {
const handleBatchImportOK = () => {
console.log("quotation",quotation)
console.log('Batch Import Data:', batchImportData);
-
+
// 创建一个新的数据副本,删除 tag 和 validPeriod 属性
const tempBatchImportData = batchImportData.map(item => {
@@ -440,8 +444,10 @@ const handleBatchImportOK = () => {
const editable = isEditing(record);
return editable ? (
- handleSave(record.id)} style={{ marginRight: 8 }}>{t('Save')}
- {t('Cancel')}
+ {/* handleSave(record.id)} style={{ marginRight: 8 }}>{t('Save')} */}
+
+
+ {/* {t('Cancel')} */}
) : (
@@ -534,6 +540,8 @@ const handleBatchImportOK = () => {
setSelectedCategory(productProject[fatherKey])
console.log("remainderLanguage",remainderLanguage)
+ setEditingProduct(node._raw);
+
let initialQuotationData = null;
let infoData = null;
let lgcDetailsData = null;
@@ -594,8 +602,8 @@ const handleBatchImportOK = () => {
return (
-
-
+
+
{
+ {/* */}
-
+ {/* */}
{t('products:supplierQuotation')}
- {
-
-
-
-
+
+
+
+
+ {/* */}
+
+ {/* */}
-
-
-
@@ -730,7 +738,7 @@ const handleBatchImportOK = () => {
)}
-
+
{
batchImportPriceVisible && (