diff --git a/src/pages/settings/user/manage-position/blocks/AddDialog.tsx b/src/pages/settings/user/manage-position/blocks/AddDialog.tsx index a0ea607..da73584 100644 --- a/src/pages/settings/user/manage-position/blocks/AddDialog.tsx +++ b/src/pages/settings/user/manage-position/blocks/AddDialog.tsx @@ -18,6 +18,7 @@ import { useCallApi } from '@/hooks'; import { Checkbox } from '@/components/ui/checkbox'; import { doSaveLogActivity } from '@/actions/GlobalActions'; import { set } from 'date-fns'; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; const API_URL = apiConfig.service_dashboard; @@ -61,7 +62,8 @@ const MenuItemComponent: React.FC<{ }; const initialState = { - name: '' + name: '', + status_balance: '', }; const AddDialog = () => { @@ -86,13 +88,15 @@ const AddDialog = () => { const [isSubmitting, setIsSubmitting] = useState(false); const resetForm = () => { - setFormField(() => ({ name: '' })); + setFormField(initialState); setErrors(() => ({})); setSelectMenus([]); }; const validateForm = () => { - const requiredFields = [{ key: 'name', label: 'Position Name' }]; + const requiredFields = [ + { key: 'name', label: 'Position Name' }, + { key: 'status_balance', label: 'Status Balance' }]; const newErrors: Record = {}; let isValid = true; requiredFields.forEach(({ key, label }) => { @@ -128,7 +132,8 @@ const AddDialog = () => { const response = await PostData(`${API_URL}/user_role/create`, { name: formField.name, roles: selectMenus, - status: 'Y' + status: 'Y', + status_balance: formField.status_balance }); if (response?.status) { @@ -203,6 +208,33 @@ const AddDialog = () => { +
+
+ +
+ + {errors.status && ( + {errors.status} + )} +
+
+
{menus.map((menu) => ( diff --git a/src/pages/settings/user/manage-position/blocks/EditDialog.tsx b/src/pages/settings/user/manage-position/blocks/EditDialog.tsx index 0bcc443..8b5093c 100644 --- a/src/pages/settings/user/manage-position/blocks/EditDialog.tsx +++ b/src/pages/settings/user/manage-position/blocks/EditDialog.tsx @@ -79,11 +79,15 @@ const EditDialog = () => { const [selectMenus, setSelectMenus] = useState([]); const [formField, setFormField] = useState({ name: '', - status: '' + status: '', + status_balance: '' }); const [errors, setErrors] = useState>({}); const validateForm = () => { - const requiredFields = [{ key: 'name', label: 'Position Name' }]; + const requiredFields = [ + { key: 'name', label: 'Position Name' }, + { key: 'status_balance', label: 'Status Balance' } + ]; const newErrors: Record = {}; let isValid = true; requiredFields.forEach(({ key, label }) => { @@ -131,7 +135,8 @@ const EditDialog = () => { const response = await PutData(`${API_URL}/user_role/update/${selectedPosition.id}`, { name: formField.name, roles: selectMenus, - status: formField.status + status: formField.status, + status_balance: formField.status_balance }); if (response?.status) { @@ -236,6 +241,26 @@ const EditDialog = () => {
+
+
+ + +
+ +
+
+
{menus.map((menu) => (