fix:后端其他菜单的国际化

This commit is contained in:
PZ688 2025-02-28 18:06:48 +08:00
parent 6ca4ef7405
commit f4f1c5c4e6
16 changed files with 129 additions and 69 deletions

View File

@ -72,5 +72,10 @@
"更新日志": "Aktualisierungen", "更新日志": "Aktualisierungen",
"微信支付": "WeChat-Zahlung", "微信支付": "WeChat-Zahlung",
"框架教程": "Framework-Anleitung", "框架教程": "Framework-Anleitung",
"行政区划": "Verwaltungseinheiten" "行政区划": "Verwaltungseinheiten",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"Abrufen Sie Informationen zur Rückerstattung",
"获取支付订单详情(本地库)":"Erhalten Sie Details zum Zahlungsauftrag (Lokale Bibliothek)",
"获取支付订单详情(微信接口)":"Erhalten Sie Details zum Zahlungsauftrag (WeChat-Schnittstelle)",
"退款申请":"Rückerstattung beantragen"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "Update Logs", "更新日志": "Update Logs",
"微信支付": "WeChat Pay", "微信支付": "WeChat Pay",
"框架教程": "Framework Tutorial", "框架教程": "Framework Tutorial",
"行政区划": "Administrative Divisions" "行政区划": "Administrative Divisions",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"Query Refund Info",
"获取支付订单详情(本地库)":"Get Payment Order Details(Local Library)",
"获取支付订单详情(微信接口)":"Get Payment Order Details(WeChat Interface)",
"退款申请":"Refund Application"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "Actualizaciones", "更新日志": "Actualizaciones",
"微信支付": "WeChat Pago", "微信支付": "WeChat Pago",
"框架教程": "Tutorial Framework", "框架教程": "Tutorial Framework",
"行政区划": "Unidades Administrativas" "行政区划": "Unidades Administrativas",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"Consultar Información de Reembolso",
"获取支付订单详情(本地库)":"Obtener Detalles del Pedido de Pago (Biblioteca Local)",
"获取支付订单详情(微信接口)":"Obtener Detalles del Pedido de Pago (Interfaz de WeChat)",
"退款申请":"Solicitud de Reembolso"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "Päivityslokit", "更新日志": "Päivityslokit",
"微信支付": "WeChat-maksu", "微信支付": "WeChat-maksu",
"框架教程": "Runko-opas", "框架教程": "Runko-opas",
"行政区划": "Hallituksen alueet" "行政区划": "Hallituksen alueet",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"Hae palautusmaksun tiedot",
"获取支付订单详情(本地库)":"Hae maksujärjestelmän tiedot (paikallinen kirjasto)",
"获取支付订单详情(微信接口)":"Hae maksujärjestelmän tiedot (WeChat-liittymä)",
"退款申请":"Palautusmaksun soveltaminen"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "Mise à jour", "更新日志": "Mise à jour",
"微信支付": "WeChat Pay", "微信支付": "WeChat Pay",
"框架教程": "Framework Tutorial", "框架教程": "Framework Tutorial",
"行政区划": "Unités Administratives" "行政区划": "Unités Administratives",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"Consultation des informations de remboursement",
"获取支付订单详情(本地库)":"Obtenir les détails de la commande de paiement (bibliothèque locale)",
"获取支付订单详情(微信接口)":"Obtenir les détails de la commande de paiement (interface WeChat)",
"退款申请":"Demande de remboursement"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "Aggiornamenti", "更新日志": "Aggiornamenti",
"微信支付": "WeChat Pagamento", "微信支付": "WeChat Pagamento",
"框架教程": "Guida al Framework", "框架教程": "Guida al Framework",
"行政区划": "Unità Amministrative" "行政区划": "Unità Amministrative",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"Consultazione delle informazioni sul rimborso",
"获取支付订单详情(本地库)":"Ottenere i dettagli dell'ordine di pagamento (libreria locale)",
"获取支付订单详情(微信接口)":"Ottenere i dettagli dell'ordine di pagamento (interfaccia WeChat)",
"退款申请":"Richiesta di rimborso"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "更新ログ", "更新日志": "更新ログ",
"微信支付": "WeChat Pay", "微信支付": "WeChat Pay",
"框架教程": "フレームワークチュートリアル", "框架教程": "フレームワークチュートリアル",
"行政区划": "行政区划" "行政区划": "行政区划",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"退款信息を確認する",
"获取支付订单详情(本地库)":"ローカルライブラリの支払い注文詳細を取得する",
"获取支付订单详情(微信接口)":"WeChatインターフェースの支払い注文詳細を取得する",
"退款申请":"返品申請"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "업데이트 로그", "更新日志": "업데이트 로그",
"微信支付": "WeChat 결제", "微信支付": "WeChat 결제",
"框架教程": "프레임워크 튜토리얼", "框架教程": "프레임워크 튜토리얼",
"行政区划": "관리 지역" "行政区划": "관리 지역",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"환불 정보 조회",
"获取支付订单详情(本地库)":"로컬 라이브러리의 결제 주문 세부 정보 가져오기",
"获取支付订单详情(微信接口)":"WeChat 인터페이스의 결제 주문 세부 정보 가져오기",
"退款申请":"환불 신청"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "Oppdateringer", "更新日志": "Oppdateringer",
"微信支付": "WeChat-betaling", "微信支付": "WeChat-betaling",
"框架教程": "Framverksopplæring", "框架教程": "Framverksopplæring",
"行政区划": "Administrative enheter" "行政区划": "Administrative enheter",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"Søk etter informasjon om tilbakebetaling",
"获取支付订单详情(本地库)":"Hent detaljer om betalingsordre (lokal bibliotek)",
"获取支付订单详情(微信接口)":"Hent detaljer om betalingsordre (WeChat-grensesnitt)",
"退款申请":"Anmodning om tilbakebetaling"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "Aktualizacje", "更新日志": "Aktualizacje",
"微信支付": "WeChat płatność", "微信支付": "WeChat płatność",
"框架教程": "Kurs frameworku", "框架教程": "Kurs frameworku",
"行政区划": "Administrative jednostki" "行政区划": "Administrative jednostki",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"Sprawdź informacje o zwrocie",
"获取支付订单详情(本地库)":"Pobierz szczegóły zamówienia płatności (lokalna biblioteka)",
"获取支付订单详情(微信接口)":"Pobierz szczegóły zamówienia płatności (interfejs WeChat)",
"退款申请":"Wniosek o zwrot"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "Atualizações", "更新日志": "Atualizações",
"微信支付": "WeChat Pagamento", "微信支付": "WeChat Pagamento",
"框架教程": "Tutorial Framework", "框架教程": "Tutorial Framework",
"行政区划": "Unidades Administrativas" "行政区划": "Unidades Administrativas",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"Consultar Informações de Reembolso",
"获取支付订单详情(本地库)":"Obter Detalhes do Pedido de Pagamento (Biblioteca Local)",
"获取支付订单详情(微信接口)":"Obter Detalhes do Pedido de Pagamento (Interface WeChat)",
"退款申请":"Solicitação de Reembolso"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "Обновления", "更新日志": "Обновления",
"微信支付": "WeChat-платеж", "微信支付": "WeChat-платеж",
"框架教程": "Руководство по фреймворку", "框架教程": "Руководство по фреймворку",
"行政区划": "Административные единицы" "行政区划": "Административные единицы",
"微信支付下单Native":"WeChat Pay Native",
"查询退款信息":"Проверка информации о возврате",
"获取支付订单详情(本地库)":"Получение деталей заказа оплаты (локальная библиотека)",
"获取支付订单详情(微信接口)":"Получение деталей заказа оплаты (интерфейс WeChat)",
"退款申请":"Запрос на возврат"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "更新日志", "更新日志": "更新日志",
"微信支付": "微信支付", "微信支付": "微信支付",
"框架教程": "框架教程", "框架教程": "框架教程",
"行政区划": "行政区划" "行政区划": "行政区划",
"微信支付下单Native":"微信支付下单Native",
"查询退款信息":"查询退款信息",
"获取支付订单详情(本地库)":"获取支付订单详情(本地库)",
"获取支付订单详情(微信接口)":"获取支付订单详情(微信接口)",
"退款申请":"退款申请"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "更新日志", "更新日志": "更新日志",
"微信支付": "微信支付", "微信支付": "微信支付",
"框架教程": "框架教程", "框架教程": "框架教程",
"行政区划": "行政區劃" "行政区划": "行政區劃",
"微信支付下单Native":"微信支付下單Native",
"查询退款信息":"查詢退款信息",
"获取支付订单详情(本地库)":"獲取支付訂單詳情(本地庫)",
"获取支付订单详情(微信接口)":"獲取支付訂單詳情(微信接口)",
"退款申请":"退款申請"
} }

View File

@ -72,5 +72,10 @@
"更新日志": "更新日志", "更新日志": "更新日志",
"微信支付": "微信支付", "微信支付": "微信支付",
"框架教程": "框架教程", "框架教程": "框架教程",
"行政区划": "行政區劃" "行政区划": "行政區劃",
"微信支付下单Native":"微信支付下單Native",
"查询退款信息":"查詢退款信息",
"获取支付订单详情(本地库)":"獲取支付訂單詳情(本地庫)",
"获取支付订单详情(微信接口)":"獲取支付訂單詳情(微信接口)",
"退款申请":"退款申請"
} }

View File

@ -4,13 +4,13 @@
<el-form :model="state.queryParams" ref="queryForm" :show-message="false" :inlineMessage="true" label-width="auto" style="flex: 1 1 0%"> <el-form :model="state.queryParams" ref="queryForm" :show-message="false" :inlineMessage="true" label-width="auto" style="flex: 1 1 0%">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col class="mb5" :xs="24" :sm="12" :md="8" :lg="6" :xl="6"> <el-col class="mb5" :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<el-form-item label="角色名称" prop="name"> <el-form-item :label="$t('message.list.roleName')" prop="name">
<el-input v-model="state.queryParams.name" placeholder="角色名称" clearable @keyup.enter.native="handleQuery(true)" /> <el-input v-model="state.queryParams.name" :placeholder="$t('message.list.roleName')" clearable @keyup.enter.native="handleQuery(true)" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col class="mb5" :xs="24" :sm="12" :md="8" :lg="6" :xl="6"> <el-col class="mb5" :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
<el-form-item label="角色编码" prop="code"> <el-form-item :label="$t('message.list.roleCode')" prop="code">
<el-input v-model="state.queryParams.code" placeholder="角色编码" clearable @keyup.enter.native="handleQuery(true)" /> <el-input v-model="state.queryParams.code" :placeholder="$t('message.list.roleCode')" clearable @keyup.enter.native="handleQuery(true)" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -21,8 +21,8 @@
<el-row> <el-row>
<el-col> <el-col>
<el-button-group> <el-button-group>
<el-button type="primary" icon="ele-Search" @click="handleQuery(true)" v-auth="'sysRole/page'"> 查询 </el-button> <el-button type="primary" icon="ele-Search" @click="handleQuery(true)" v-auth="'sysRole/page'"> {{ $t('message.list.query') }} </el-button>
<el-button icon="ele-Refresh" @click="resetQuery"> 重置 </el-button> <el-button icon="ele-Refresh" @click="resetQuery"> {{ $t('message.list.reset') }} </el-button>
</el-button-group> </el-button-group>
</el-col> </el-col>
</el-row> </el-row>
@ -31,38 +31,37 @@
<el-card class="full-table" shadow="hover" style="margin-top: 5px"> <el-card class="full-table" shadow="hover" style="margin-top: 5px">
<vxe-grid ref="xGrid" class="xGrid-style" v-bind="options" v-on="gridEvents"> <vxe-grid ref="xGrid" class="xGrid-style" v-bind="options" v-on="gridEvents">
<template #toolbar_buttons> <template #toolbar_buttons>
<el-button type="primary" icon="ele-Plus" @click="handleAdd" v-auth="'sysRole/add'"> 新增 </el-button> <el-button type="primary" icon="ele-Plus" @click="handleAdd" v-auth="'sysRole/add'"> {{ $t('message.list.add') }} </el-button>
</template> </template>
<template #toolbar_tools></template> <template #toolbar_tools></template>
<template #empty> <template #empty>
<el-empty :image-size="200" /> <el-empty :image-size="200" />
</template> </template>
<template #row_dataScope="{ row }"> <template #row_dataScope="{ row }">
<el-tag v-if="row.dataScope === 1">全部数据</el-tag> <el-tag v-if="row.dataScope === 1">{{ $t('message.list.allData') }}</el-tag>
<el-tag v-else-if="row.dataScope === 2">本部门及以下数据</el-tag> <el-tag v-else-if="row.dataScope === 2">{{ $t('message.list.deptAndBelowData') }}</el-tag>
<el-tag v-else-if="row.dataScope === 3">本部门数据</el-tag> <el-tag v-else-if="row.dataScope === 3">{{ $t('message.list.deptData') }}</el-tag>
<el-tag v-else-if="row.dataScope === 4">仅本人数据</el-tag> <el-tag v-else-if="row.dataScope === 4">{{ $t('message.list.personalData') }}</el-tag>
<el-tag v-else-if="row.dataScope === 5">自定义数据</el-tag> <el-tag v-else-if="row.dataScope === 5">{{ $t('message.list.customData') }}</el-tag>
</template> </template>
<template #row_status="{ row }"> <template #row_status="{ row }">
<el-tag v-if="row.status === 1" type="success">启用</el-tag> <el-tag v-if="row.status === 1" type="success">{{ $t('message.list.enable') }}</el-tag>
<el-tag v-else type="danger">禁用</el-tag> <el-tag v-else type="danger">{{ $t('message.list.disable') }}</el-tag>
</template> </template>
<template #row_record="{ row }"> <template #row_record="{ row }">
<ModifyRecord :data="row" /> <ModifyRecord :data="row" />
</template> </template>
<template #row_buttons="{ row }"> <template #row_buttons="{ row }">
<el-tooltip content="编辑" placement="top"> <el-tooltip :content="$t('message.list.edit')" placement="top">
<el-button icon="ele-Edit" size="small" text type="primary" @click="handleEdit(row)" v-auth="'sysRole/update'"></el-button> <el-button icon="ele-Edit" size="small" text type="primary" @click="handleEdit(row)" v-auth="'sysRole/update'"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="删除" placement="top"> <el-tooltip :content="$t('message.list.delete')" placement="top">
<el-button icon="ele-Delete" size="small" text type="danger" @click="handleDelete(row)" v-auth="'sysRole/delete'"></el-button> <el-button icon="ele-Delete" size="small" text type="danger" @click="handleDelete(row)" v-auth="'sysRole/delete'"></el-button>
</el-tooltip> </el-tooltip>
<el-button icon="ele-Menu" size="small" text type="primary" @click="openGrantMenu(row)" v-auth="'sysRole/grantMenu'">授权菜单</el-button> <el-button icon="ele-Menu" size="small" text type="primary" @click="openGrantMenu(row)" v-auth="'sysRole/grantMenu'">{{ $t('message.list.authMenu') }}</el-button>
<el-button icon="ele-OfficeBuilding" size="small" text type="primary" @click="openGrantData(row)" v-auth="'sysRole/grantDataScope'">授权数据</el-button> <el-button icon="ele-OfficeBuilding" size="small" text type="primary" @click="openGrantData(row)" v-auth="'sysRole/grantDataScope'">{{ $t('message.list.authData') }}</el-button>
<el-button icon="ele-Grid" size="small" text type="primary" @click="openGrantTable(row)" v-auth="'sysRole/grantTable'">字段黑名单</el-button> <el-button icon="ele-Grid" size="small" text type="primary" @click="openGrantTable(row)" v-auth="'sysRole/grantTable'">{{ $t('message.list.fieldBlacklist') }}</el-button>
<el-button icon="ele-Link" size="small" text type="primary" @click="openGrantApi(row)" v-auth="'sysRole/grantApi'"> 接口黑名单 </el-button> <el-button icon="ele-Link" size="small" text type="primary" @click="openGrantApi(row)" v-auth="'sysRole/grantApi'">{{ $t('message.list.apiBlacklist') }}</el-button>
<el-button icon="ele-User" size="small" text type="primary" @click="openGrantUser(row)" v-auth="'sysRole/grantApi'"> 授权账号 </el-button>
</template> </template>
</vxe-grid> </vxe-grid>
</el-card> </el-card>
@ -72,7 +71,6 @@
<GrantTable ref="grantTableRef" /> <GrantTable ref="grantTableRef" />
<GrantData ref="grantDataRef" @handleQuery="handleQuery" /> <GrantData ref="grantDataRef" @handleQuery="handleQuery" />
<GrantApi ref="grantApiRef" /> <GrantApi ref="grantApiRef" />
<GrantUser v-model:visible="state.grantUserVisible" @change="closeGrantUser" />
</div> </div>
</template> </template>
@ -82,13 +80,13 @@ import { ElMessageBox, ElMessage } from 'element-plus';
import { VxeGridInstance, VxeGridListeners, VxeGridPropTypes } from 'vxe-table'; import { VxeGridInstance, VxeGridListeners, VxeGridPropTypes } from 'vxe-table';
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook'; import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
import { Local } from '/@/utils/storage'; import { Local } from '/@/utils/storage';
import { useI18n } from 'vue-i18n';
import EditRole from '/@/views/system/role/component/editRole.vue'; import EditRole from '/@/views/system/role/component/editRole.vue';
import GrantMenu from '/@/views/system/role/component/grantMenu.vue'; import GrantMenu from '/@/views/system/role/component/grantMenu.vue';
import GrantTable from '/@/views/system/role/component/grantTable.vue'; import GrantTable from '/@/views/system/role/component/grantTable.vue';
import GrantData from '/@/views/system/role/component/grantData.vue'; import GrantData from '/@/views/system/role/component/grantData.vue';
import GrantApi from '/@/views/system/role/component/grantApi.vue'; import GrantApi from '/@/views/system/role/component/grantApi.vue';
import GrantUser from '/@/components/selector/userSelectorDialog.vue';
import ModifyRecord from '/@/components/table/modifyRecord.vue'; import ModifyRecord from '/@/components/table/modifyRecord.vue';
import { getAPI } from '/@/utils/axios-utils'; import { getAPI } from '/@/utils/axios-utils';
@ -112,28 +110,28 @@ const state = reactive({
}, },
visible: false, visible: false,
title: '', title: '',
grantUserVisible: false, //
roleRow: {} as any, //
}); });
const i18n = useI18n();
// //
const localPageParamKey = 'localPageParam:sysRole'; const localPageParamKey = 'localPageParam:sysRole';
// //
const options = useVxeTable<PageRoleOutput>( const options = useVxeTable<PageRoleOutput>(
{ {
id: 'sysRole', id: 'sysRole',
name: '角色', name: i18n.t('message.list.role'),
columns: [ columns: [
// { type: 'checkbox', width: 40, fixed: 'left' }, // { type: 'checkbox', width: 40, fixed: 'left' },
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' }, { field: 'seq', type: 'seq', title: i18n.t('message.list.seq'), width: 60, fixed: 'left' },
{ field: 'name', title: '角色名称', minWidth: 150, showOverflow: 'tooltip' }, { field: 'name', title: i18n.t('message.list.roleName'), minWidth: 150, showOverflow: 'tooltip' },
{ field: 'code', title: '角色编码', minWidth: 150, showOverflow: 'tooltip' }, { field: 'code', title: i18n.t('message.list.roleCode'), minWidth: 150, showOverflow: 'tooltip' },
{ field: 'dataScope', title: '数据范围', minWidth: 150, showOverflow: 'tooltip', slots: { default: 'row_dataScope' } }, { field: 'dataScope', title: i18n.t('message.list.dataScope'), minWidth: 150, showOverflow: 'tooltip', slots: { default: 'row_dataScope' } },
{ field: 'tenantName', title: '租户名称', minWidth: 180, showOverflow: 'tooltip' }, { field: 'tenantName', title: i18n.t('message.list.tenantName'), minWidth: 180, showOverflow: 'tooltip' },
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' }, { field: 'orderNo', title: i18n.t('message.list.orderNo'), width: 80, showOverflow: 'tooltip' },
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } }, { field: 'status', title: i18n.t('message.list.status'), width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } }, { field: 'record', title: i18n.t('message.list.record'), width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
{ field: 'buttons', title: '操作', fixed: 'right', width: 520, showOverflow: true, slots: { default: 'row_buttons' } }, { field: 'buttons', title: i18n.t('message.list.operation'), fixed: 'right', width: 440, showOverflow: true, slots: { default: 'row_buttons' } },
], ],
}, },
// vxeGrid()vxe-table // vxeGrid()vxe-table
@ -176,27 +174,27 @@ const resetQuery = async () => {
// //
const handleAdd = () => { const handleAdd = () => {
state.title = '添加角色'; state.title = i18n.t('message.list.addRole');
editRoleRef.value?.openDialog({ id: undefined, status: 1, orderNo: 100 }); editRoleRef.value?.openDialog({ id: undefined, status: 1, orderNo: 100 });
}; };
// //
const handleEdit = async (row: any) => { const handleEdit = async (row: any) => {
state.title = '编辑角色'; state.title = i18n.t('message.list.editRole');
editRoleRef.value?.openDialog(row); editRoleRef.value?.openDialog(row);
}; };
// //
const handleDelete = (row: any) => { const handleDelete = (row: any) => {
ElMessageBox.confirm(`确定删角色:【${row.name}】?`, '提示', { ElMessageBox.confirm(i18n.t('message.list.confirmDeleteRole', { roleName: row.name }), i18n.t('message.list.hint'), {
confirmButtonText: '确定', confirmButtonText: i18n.t('message.list.confirmButtonText'),
cancelButtonText: '取消', cancelButtonText: i18n.t('message.list.cancelButtonText'),
type: 'warning', type: 'warning',
}) })
.then(async () => { .then(async () => {
await getAPI(SysRoleApi).apiSysRoleDeletePost({ id: row.id }); await getAPI(SysRoleApi).apiSysRoleDeletePost({ id: row.id });
await handleQuery(); await handleQuery();
ElMessage.success('删除成功'); ElMessage.success(i18n.t('message.list.successDelete'));
}) })
.catch(() => {}); .catch(() => {});
}; };
@ -234,17 +232,4 @@ const openGrantData = (row: any) => {
const openGrantApi = (row: any) => { const openGrantApi = (row: any) => {
grantApiRef.value?.openDrawer(row); grantApiRef.value?.openDrawer(row);
}; };
//
const openGrantUser = (row: any) => {
state.roleRow = row;
state.grantUserVisible = true;
};
//
const closeGrantUser = (data: any) => {
var userIds = data.map((u: any) => u.id);
getAPI(SysRoleApi).apiSysRoleGrantUserPost({ id: state.roleRow.id, userIdList: userIds });
state.grantUserVisible = false;
};
</script> </script>