From 6ef14a5112e7eae881c2f79042dfd024045e67d3 Mon Sep 17 00:00:00 2001 From: "davila.erdianita.1005" Date: Mon, 21 Jul 2025 10:14:27 +0700 Subject: [PATCH] halaman dipisah --- .../TipePengguna/TableViewPermission copy.vue | 159 +++++ .../TipePengguna/TableViewPermission.vue | 359 ++++++---- .../Setting/ViewPermission/CrudCardList.vue | 108 +-- .../ViewPermission/CrudCardListLama.vue | 209 ++++++ components/Setting/ViewPermission/Form.vue | 2 +- .../Setting/TipePengguna/FormRole copy.vue | 129 ++++ .../apps/Setting/TipePengguna/FormRole.vue | 256 +++++++ .../apps/Setting/TipePengguna/FormRole2.vue | 192 ++++++ .../Setting/TipePengguna/ViewPermission.vue | 153 +++++ .../TipePengguna/element/checkboxElement.vue | 94 +++ .../TipePengguna/element/selectElement.vue | 23 + .../Setting/TipePengguna/element/table.vue | 102 +++ .../Setting/TipePengguna/element/table2.vue | 63 ++ .../full/vertical-sidebar/sidebarItem.ts | 2 +- components/widgets2/cards/SettingCards.vue | 59 ++ components/widgets2/cards/UserCards.vue | 14 +- composable/index.ts | 105 ++- composable/indexLama.ts | 26 + data/dummy/keuangan.type_user.json | 650 ++++++++++++++++++ data/dummy/rolePage.ts | 136 ++++ data/dummy/rolePage1.ts | 256 +++++++ nuxt.config.ts | 3 +- pages/apps/Setting/TipePengguna/create.vue | 40 ++ pages/apps/Setting/TipePengguna/update.vue | 39 ++ .../Setting/TipePengguna/view.vue} | 8 +- store/apps/Setting/setting.ts | 121 +++- types/setting/setting.d.ts | 14 + utils/convertCurrency.ts | 12 + 28 files changed, 3103 insertions(+), 231 deletions(-) create mode 100644 components/Setting/TipePengguna/TableViewPermission copy.vue create mode 100644 components/Setting/ViewPermission/CrudCardListLama.vue create mode 100644 components/apps/Setting/TipePengguna/FormRole copy.vue create mode 100644 components/apps/Setting/TipePengguna/FormRole.vue create mode 100644 components/apps/Setting/TipePengguna/FormRole2.vue create mode 100644 components/apps/Setting/TipePengguna/ViewPermission.vue create mode 100644 components/apps/Setting/TipePengguna/element/checkboxElement.vue create mode 100644 components/apps/Setting/TipePengguna/element/selectElement.vue create mode 100644 components/apps/Setting/TipePengguna/element/table.vue create mode 100644 components/apps/Setting/TipePengguna/element/table2.vue create mode 100644 components/widgets2/cards/SettingCards.vue create mode 100644 composable/indexLama.ts create mode 100644 data/dummy/rolePage.ts create mode 100644 data/dummy/rolePage1.ts create mode 100644 pages/apps/Setting/TipePengguna/create.vue create mode 100644 pages/apps/Setting/TipePengguna/update.vue rename pages/{Setting/TipePengguna/index.vue => apps/Setting/TipePengguna/view.vue} (81%) create mode 100644 types/setting/setting.d.ts create mode 100644 utils/convertCurrency.ts diff --git a/components/Setting/TipePengguna/TableViewPermission copy.vue b/components/Setting/TipePengguna/TableViewPermission copy.vue new file mode 100644 index 0000000..075b4d9 --- /dev/null +++ b/components/Setting/TipePengguna/TableViewPermission copy.vue @@ -0,0 +1,159 @@ + + + + + \ No newline at end of file diff --git a/components/Setting/TipePengguna/TableViewPermission.vue b/components/Setting/TipePengguna/TableViewPermission.vue index 075b4d9..4bd4b9b 100644 --- a/components/Setting/TipePengguna/TableViewPermission.vue +++ b/components/Setting/TipePengguna/TableViewPermission.vue @@ -1,159 +1,216 @@ - - - \ No newline at end of file diff --git a/components/Setting/ViewPermission/CrudCardList.vue b/components/Setting/ViewPermission/CrudCardList.vue index c97d235..035f0d2 100644 --- a/components/Setting/ViewPermission/CrudCardList.vue +++ b/components/Setting/ViewPermission/CrudCardList.vue @@ -10,14 +10,30 @@ import "vue3-toastify/dist/index.css"; import Form from "@/components/Setting/ViewPermission/Form.vue"; import { Icon } from "@iconify/vue"; import { useSettingStore } from "~/store/apps/Setting/setting"; -import { toastAlert } from "@/composable/index"; +import useRole from "@/composable/index"; + +const { + datas: { dialog, dialogDelete,getData}, + method: { + formTitle, + typeForm, + deleteItem, + deleteConfirm, + toastAlert, + openDeleteDialog, + openFormDialog, + findRole, + paginated + }, +} = useRole(); + const store = useSettingStore(); -const dialog = ref(false); -const dialogDelete = ref(false); +// const getData = ref([]); +let page = ref(0); +const limit = ref(5); + const editedIndex = ref(-1); -const editedItem = ref({}); -const defaultItem = ref({}); const permissionCategories = [ { @@ -34,16 +50,6 @@ const permissionCategories = [ }, ]; -const formTitle = computed(() => { - return editedIndex.value === -1 ? "New Item" : "Edit Item"; -}); -const typeForm = computed(() => { - return editedIndex.value === -1 ? "create" : "edit"; -}); - -const getData: any = computed(() => { - return data; -}); const searchValue = ref(""); const filteredCards = computed(() => { @@ -53,44 +59,50 @@ const filteredCards = computed(() => { .includes(searchValue.value.toLowerCase()); }); }); -const findData = (item: string) => { - return permissionCategories.find((data) => data.value === item); -}; function editItem(item: any) { - editedIndex.value = filteredCards.value.indexOf(item); + editedIndex.value = getData.value.indexOf(item); store.getTypeUser(item); - dialog.value = true; - console.log("ini dialog:", dialog.value); + openFormDialog(true); } -function deleteItem(item: any) { - editedIndex.value = filteredCards.value.indexOf(item); - dialogDelete.value = true; +function onDelete(item: any) { + editedIndex.value = getData.value.indexOf(item); + openDeleteDialog(true); } -function deleteItemConfirm() { - filteredCards.value.splice(editedIndex.value, 1); - closeDelete(); - - toastAlert("Berhasil hapus data!", "success"); -} - -function closeDelete() { - dialogDelete.value = false; -} function saveData(data: object) { //proses simpan data edit if (editedIndex.value > -1) { - Object.assign(filteredCards.value[editedIndex.value], data.data); + Object.assign(getData.value[editedIndex.value], data.data); toastAlert("Berhasil ubah data!", "success"); //proses simpan data create } else { - filteredCards.value.push(data.data); + getData.value.push(data.data); toastAlert("Berhasil simpan data!", "success"); } - dialog.value = false; + openFormDialog(false); } + +// function paginated(i:any) { +// let skip = page.value * limit.value; +// const roles = data.filter((i,index:number)=>index >= skip && index < skip + limit.value); +// // const roles = await $fetch(`/api/roles/get?skip=${skip}`); +// console.log("roles:",roles) +// if (roles && roles.length > 0) { +// getData.value.push(...roles); +// console.log("getData.value:",getData.value) +// page.value++; +// } +// console.log("paginated", page.value); +// } + + +onBeforeMount(() => { + paginated(data) + // paginated() + // getData.value = data; +}); @@ -181,12 +193,12 @@ function saveData(data: object) { @@ -196,10 +208,18 @@ function saveData(data: object) { >Are you sure you want to delete this item? diff --git a/components/Setting/ViewPermission/CrudCardListLama.vue b/components/Setting/ViewPermission/CrudCardListLama.vue new file mode 100644 index 0000000..a87e36b --- /dev/null +++ b/components/Setting/ViewPermission/CrudCardListLama.vue @@ -0,0 +1,209 @@ + + + diff --git a/components/Setting/ViewPermission/Form.vue b/components/Setting/ViewPermission/Form.vue index 11014b0..a1d21fe 100644 --- a/components/Setting/ViewPermission/Form.vue +++ b/components/Setting/ViewPermission/Form.vue @@ -67,7 +67,7 @@ onBeforeMount(() => {