Преглед изворни кода

TrucklaneDetail add shop branches

master
Tommy\2Fi-Staff пре 3 недеља
родитељ
комит
8c7aa31cdf
4 измењених фајлова са 27 додато и 4 уклоњено
  1. +1
    -2
      src/components/CreateItem/CreateItem.tsx
  2. +22
    -2
      src/components/Shop/TruckLaneDetail.tsx
  3. +3
    -0
      src/i18n/en/common.json
  4. +1
    -0
      src/i18n/zh/common.json

+ 1
- 2
src/components/CreateItem/CreateItem.tsx Прегледај датотеку

@@ -159,9 +159,8 @@ const CreateItem: React.FC<Props> = ({
console.log(qcCheck); console.log(qcCheck);
// return // return
// do api // do api
console.log("asdad");
const responseI = await saveItem(data); const responseI = await saveItem(data);
console.log("asdad");
const responseQ = await saveItemQcChecks(qcCheck); const responseQ = await saveItemQcChecks(qcCheck);
if (responseI && responseQ) { if (responseI && responseQ) {
if (!Boolean(responseI.id)) { if (!Boolean(responseI.id)) {


+ 22
- 2
src/components/Shop/TruckLaneDetail.tsx Прегледај датотеку

@@ -69,6 +69,7 @@ const TruckLaneDetail: React.FC = () => {
const [uniqueRemarks, setUniqueRemarks] = useState<string[]>([]); const [uniqueRemarks, setUniqueRemarks] = useState<string[]>([]);
const [uniqueShopCodes, setUniqueShopCodes] = useState<string[]>([]); const [uniqueShopCodes, setUniqueShopCodes] = useState<string[]>([]);
const [uniqueShopNames, setUniqueShopNames] = useState<string[]>([]); const [uniqueShopNames, setUniqueShopNames] = useState<string[]>([]);
const [shopNameByCodeMap, setShopNameByCodeMap] = useState<Map<string, string>>(new Map());
const [addShopDialogOpen, setAddShopDialogOpen] = useState<boolean>(false); const [addShopDialogOpen, setAddShopDialogOpen] = useState<boolean>(false);
const [newShop, setNewShop] = useState({ const [newShop, setNewShop] = useState({
shopName: "", shopName: "",
@@ -86,11 +87,12 @@ const TruckLaneDetail: React.FC = () => {
useEffect(() => { useEffect(() => {
const fetchAutocompleteData = async () => { const fetchAutocompleteData = async () => {
try { try {
const [shopData, remarks, codes, names] = await Promise.all([
const [shopData, remarks, codes, names, allShopsFromShopTable] = await Promise.all([
findAllUniqueShopNamesAndCodesFromTrucksClient() as Promise<Array<{ name: string; code: string }>>, findAllUniqueShopNamesAndCodesFromTrucksClient() as Promise<Array<{ name: string; code: string }>>,
findAllUniqueRemarksFromTrucksClient() as Promise<string[]>, findAllUniqueRemarksFromTrucksClient() as Promise<string[]>,
findAllUniqueShopCodesFromTrucksClient() as Promise<string[]>, findAllUniqueShopCodesFromTrucksClient() as Promise<string[]>,
findAllUniqueShopNamesFromTrucksClient() as Promise<string[]>, findAllUniqueShopNamesFromTrucksClient() as Promise<string[]>,
fetchAllShopsClient() as Promise<ShopAndTruck[]>,
]); ]);


// Convert to Shop format (id will be 0 since we don't have shop IDs from truck table) // Convert to Shop format (id will be 0 since we don't have shop IDs from truck table)
@@ -105,6 +107,15 @@ const TruckLaneDetail: React.FC = () => {
setUniqueRemarks(remarks || []); setUniqueRemarks(remarks || []);
setUniqueShopCodes(codes || []); setUniqueShopCodes(codes || []);
setUniqueShopNames(names || []); setUniqueShopNames(names || []);

// Create lookup map: shopCode -> shopName from shop table
const shopNameMap = new Map<string, string>();
(allShopsFromShopTable || []).forEach((shop) => {
if (shop.code) {
shopNameMap.set(String(shop.code).trim().toLowerCase(), String(shop.name || "").trim());
}
});
setShopNameByCodeMap(shopNameMap);
} catch (err) { } catch (err) {
console.error("Failed to load autocomplete data:", err); console.error("Failed to load autocomplete data:", err);
} }
@@ -700,6 +711,7 @@ const TruckLaneDetail: React.FC = () => {
<TableHead> <TableHead>
<TableRow> <TableRow>
<TableCell>{t("Shop Name")}</TableCell> <TableCell>{t("Shop Name")}</TableCell>
<TableCell>{t("Shop Branch")}</TableCell>
<TableCell>{t("Shop Code")}</TableCell> <TableCell>{t("Shop Code")}</TableCell>
<TableCell>{t("Remark")}</TableCell> <TableCell>{t("Remark")}</TableCell>
<TableCell>{t("Loading Sequence")}</TableCell> <TableCell>{t("Loading Sequence")}</TableCell>
@@ -709,7 +721,7 @@ const TruckLaneDetail: React.FC = () => {
<TableBody> <TableBody>
{shopsData.length === 0 ? ( {shopsData.length === 0 ? (
<TableRow> <TableRow>
<TableCell colSpan={5} align="center">
<TableCell colSpan={6} align="center">
<Typography variant="body2" color="text.secondary"> <Typography variant="body2" color="text.secondary">
{t("No shops found using this truck lane")} {t("No shops found using this truck lane")}
</Typography> </Typography>
@@ -719,6 +731,14 @@ const TruckLaneDetail: React.FC = () => {
shopsData.map((shop, index) => ( shopsData.map((shop, index) => (
<TableRow key={shop.id ?? `shop-${index}`}> <TableRow key={shop.id ?? `shop-${index}`}>
<TableCell> <TableCell>
{/* Shop Name from shop table (read-only, looked up by shop code) */}
{(() => {
const shopCode = String(shop.code || "").trim().toLowerCase();
return shopNameByCodeMap.get(shopCode) || "-";
})()}
</TableCell>
<TableCell>
{/* Shop Branch from truck table (editable) */}
{editingRowIndex === index ? ( {editingRowIndex === index ? (
<Autocomplete <Autocomplete
freeSolo freeSolo


+ 3
- 0
src/i18n/en/common.json Прегледај датотеку

@@ -26,6 +26,9 @@
"Shop added to truck lane successfully": "Shop added to truck lane successfully", "Shop added to truck lane successfully": "Shop added to truck lane successfully",
"Failed to create shop in truck lane": "Failed to create shop in truck lane", "Failed to create shop in truck lane": "Failed to create shop in truck lane",
"Add Shop": "Add Shop", "Add Shop": "Add Shop",
"Shop Name": "Shop Name",
"Shop Branch": "Shop Branch",
"Shop Code": "Shop Code",
"Search or select shop name": "Search or select shop name", "Search or select shop name": "Search or select shop name",
"Search or select shop code": "Search or select shop code", "Search or select shop code": "Search or select shop code",
"Search or select remark": "Search or select remark", "Search or select remark": "Search or select remark",


+ 1
- 0
src/i18n/zh/common.json Прегледај датотеку

@@ -317,6 +317,7 @@
"ShopAndTruck": "店鋪路線管理", "ShopAndTruck": "店鋪路線管理",
"Shop Information": "店鋪資訊", "Shop Information": "店鋪資訊",
"Shop Name": "店鋪名稱", "Shop Name": "店鋪名稱",
"Shop Branch": "店鋪分店",
"Shop Code": "店鋪編號", "Shop Code": "店鋪編號",
"Truck Lane": "卡車路線", "Truck Lane": "卡車路線",
"Truck Lane Detail": "卡車路線詳情", "Truck Lane Detail": "卡車路線詳情",


Loading…
Откажи
Сачувај