현금영수증 리스트

This commit is contained in:
focp212@naver.com
2025-10-21 16:21:57 +09:00
parent 81d977b97d
commit 841a9d8542
44 changed files with 1208 additions and 717 deletions

View File

@@ -1,11 +1,12 @@
import { RefObject } from "react";
export interface MenuItem {
menuId?: string;
parent?: string;
menuId?: number;
parent?: number;
menuName: string;
menuIcon?: string;
path?: string;
menuNameEng?: string;
iconFilePath?: string;
programPath?: string;
subMenu?: Array<MenuItem>
};

View File

@@ -8,13 +8,13 @@ import { PATHS } from '@/shared/constants/paths';
import { MenuItem } from '../model/types';
export interface MenuCategoryProps {
menuId?: string;
menuId?: number;
menuIcon?: string;
menuName?: string;
subMenu?: Array<MenuItem>;
setMenuOn?: (menuOn: boolean) => void;
editMode?: boolean;
setChangeMenuId: (menuId?: string) => void;
setChangeMenuId: (menuIdChecked?: string) => void;
buttonRefs: RefObject<Array<HTMLDivElement>>;
itemIndex: number;
};
@@ -34,7 +34,7 @@ export const MenuCategory = ({
const location = useLocation();
const [favoriteItems, setFavoriteItems] = useState<Array<UserFavorite>>([]);
const [menuIds, setMenuIds] = useState<Array<string | undefined>>([]);
const [menuIds, setMenuIds] = useState<Array<number | undefined>>([]);
const onClickToNavigate = (path?: string) => {
if(!!path && !!setMenuOn && !editMode){
@@ -45,9 +45,11 @@ export const MenuCategory = ({
const favoriteSetting = (
checked: boolean,
title?: string,
path?: string,
menuId?: string
menuId?: number,
menuName?: string,
menuNameEng?: string,
iconFilePath?: string,
programPath?: string,
) => {
let userFavorite = useStore.getState().UserStore.userFavorite;
let randomNum = Math.floor(Math.random() * 3) + 1;
@@ -55,10 +57,11 @@ export const MenuCategory = ({
userFavorite = [
...userFavorite,
{
title: title,
img: `${IMAGE_ROOT}/ico_menu_0${randomNum}.svg`,
path: path,
menuId: menuId
menuId: menuId,
menuName: menuName,
menuNameEng: menuNameEng,
iconFilePath: `${IMAGE_ROOT}/ico_menu_0${randomNum}.svg`,
programPath: programPath
}
];
}
@@ -78,7 +81,7 @@ export const MenuCategory = ({
const callFavoiteItems = () => {
let userFavorite = useStore.getState().UserStore.userFavorite;
setFavoriteItems(userFavorite);
let newArr: Array<string | undefined> = userFavorite.map((value, index) => {
let newArr: Array<number | undefined> = userFavorite.map((value, index) => {
return value.menuId;
});
setMenuIds(newArr);
@@ -88,15 +91,22 @@ export const MenuCategory = ({
callFavoiteItems();
}, []);
useEffect(() => {
if(menuIds.length > 0) {
// callShortcutSave();
}
}, [menuIds]);
const getMenuItems = () => {
let rs = [];
if(subMenu){
for(let i=0;i<subMenu.length;i++){
if(!!editMode){
if(!!editMode && subMenu[i] && subMenu[i]?.menuId){
rs.push(
<li
key={ `menu-item-key-${menuId}-${i}` }
onClick={ () => onClickToNavigate(subMenu[i]?.path) }
onClick={ () => onClickToNavigate(subMenu[i]?.programPath) }
>
<span>{ subMenu[i]?.menuName }</span>
<div className="check_box_scrap">
@@ -107,9 +117,11 @@ export const MenuCategory = ({
checked={ menuIds.includes(subMenu[i]?.menuId)? true: false }
onChange={ (e) => favoriteSetting(
e.target.checked,
subMenu[i]?.menuName,
subMenu[i]?.path,
subMenu[i]?.menuId
subMenu[i]?.menuId,
subMenu[i]?.menuName,
subMenu[i]?.menuNameEng,
subMenu[i]?.iconFilePath,
subMenu[i]?.programPath,
)}
/>
<label
@@ -124,7 +136,7 @@ export const MenuCategory = ({
rs.push(
<li
key={ `menu-item-key-${i}` }
onClick={ () => onClickToNavigate(subMenu[i]?.path) }
onClick={ () => onClickToNavigate(subMenu[i]?.programPath) }
>{ subMenu[i]?.menuName }</li>
);
}