|
|
@@ -1,128 +1,11 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <DefaultHeaderPage>
|
|
|
- <template #after>
|
|
|
- <q-btn
|
|
|
- color="primary"
|
|
|
- padding="8px 8px"
|
|
|
- :label="$t('common.actions.add')"
|
|
|
- icon="mdi-plus"
|
|
|
- class="q-mt-md"
|
|
|
- @click="onAddItem"
|
|
|
- />
|
|
|
- </template>
|
|
|
- </DefaultHeaderPage>
|
|
|
- <div>
|
|
|
- <DefaultTable
|
|
|
- ref="tableRef"
|
|
|
- :columns="columns"
|
|
|
- :api-call="getUsers"
|
|
|
- :delete-function="deleteUser"
|
|
|
- :show-columns-select="false"
|
|
|
- :title="
|
|
|
- $t('common.terms.list') +
|
|
|
- ' ' +
|
|
|
- $t('common.ui.table.of') +
|
|
|
- ' ' +
|
|
|
- $t('user.plural')
|
|
|
- "
|
|
|
- >
|
|
|
- <template #body-cell-actions="{ row }">
|
|
|
- <q-btn
|
|
|
- outline
|
|
|
- style="width: 36px"
|
|
|
- class="q-ml-auto q-mr-sm"
|
|
|
- @click.prevent.stop="onRowClick(row)"
|
|
|
- >
|
|
|
- <q-icon name="mdi-file-edit-outline" />
|
|
|
- </q-btn>
|
|
|
- </template>
|
|
|
- </DefaultTable>
|
|
|
- </div>
|
|
|
+ <DefaultHeaderPage title="Usuários" show-filter-icon />
|
|
|
+
|
|
|
+ <div></div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { defineAsyncComponent, useTemplateRef } from "vue";
|
|
|
-import { useQuasar } from "quasar";
|
|
|
-import { useI18n } from "vue-i18n";
|
|
|
-import { permissionStore } from "src/stores/permission";
|
|
|
-import { getUsers, deleteUser } from "src/api/user";
|
|
|
-
|
|
|
-import DefaultTable from "src/components/defaults/DefaultTable.vue";
|
|
|
import DefaultHeaderPage from "src/components/layout/DefaultHeaderPage.vue";
|
|
|
-
|
|
|
-const AddEditUserDialog = defineAsyncComponent(
|
|
|
- () => import("src/pages/users/components/AddEditUserDialog.vue"),
|
|
|
-);
|
|
|
-
|
|
|
-const permission_store = permissionStore();
|
|
|
-const $q = useQuasar();
|
|
|
-const { t } = useI18n();
|
|
|
-const tableRef = useTemplateRef("tableRef");
|
|
|
-
|
|
|
-const columns = [
|
|
|
- {
|
|
|
- name: "name",
|
|
|
- label: t("common.terms.name"),
|
|
|
- field: "name",
|
|
|
- align: "left",
|
|
|
- required: true,
|
|
|
- sortable: true,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "email",
|
|
|
- label: "Email",
|
|
|
- field: "email",
|
|
|
- align: "left",
|
|
|
- sortable: true,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "actions",
|
|
|
- label: t("common.terms.actions"),
|
|
|
- align: "left",
|
|
|
- required: true,
|
|
|
- },
|
|
|
-];
|
|
|
-
|
|
|
-const onRowClick = (row) => {
|
|
|
- if (permission_store.getAccess("config.user", "view") === false) {
|
|
|
- $q.notify({
|
|
|
- type: "negative",
|
|
|
- message: t("validation.permissions.view"),
|
|
|
- });
|
|
|
- return;
|
|
|
- }
|
|
|
- $q.dialog({
|
|
|
- component: AddEditUserDialog,
|
|
|
- componentProps: {
|
|
|
- user: row,
|
|
|
- title: () => t("common.actions.edit") + " " + t("user.singular"),
|
|
|
- },
|
|
|
- }).onOk(async (success) => {
|
|
|
- if (success) {
|
|
|
- tableRef.value.refresh();
|
|
|
- }
|
|
|
- });
|
|
|
-};
|
|
|
-
|
|
|
-const onAddItem = () => {
|
|
|
- if (permission_store.getAccess("config.user", "add") === false) {
|
|
|
- $q.notify({
|
|
|
- type: "negative",
|
|
|
- message: t("validation.permissions.add"),
|
|
|
- });
|
|
|
- return;
|
|
|
- }
|
|
|
- $q.dialog({
|
|
|
- component: AddEditUserDialog,
|
|
|
- componentProps: {
|
|
|
- title: () => t("common.actions.add") + " " + t("user.singular"),
|
|
|
- },
|
|
|
- }).onOk(async (success) => {
|
|
|
- if (success) {
|
|
|
- tableRef.value.refresh();
|
|
|
- }
|
|
|
- });
|
|
|
-};
|
|
|
</script>
|