chore: 修改代码,列表头部插槽方式添加按钮

This commit is contained in:
AN 2025-04-24 22:22:11 +08:00
parent e381db8ba7
commit f446ac4387
7 changed files with 100 additions and 99 deletions

View File

@ -62,7 +62,7 @@ public class VelocityUtils {
velocityContext.put("BusinessName", StringUtils.capitalize(genTable.getBusinessName())); velocityContext.put("BusinessName", StringUtils.capitalize(genTable.getBusinessName()));
velocityContext.put("businessName", genTable.getBusinessName()); velocityContext.put("businessName", genTable.getBusinessName());
velocityContext.put("business_name", StrUtil.toUnderlineCase(genTable.getBusinessName())); velocityContext.put("business_name", StrUtil.toUnderlineCase(genTable.getBusinessName()));
velocityContext.put("business-name", StrUtil.toUnderlineCase(genTable.getBusinessName())); velocityContext.put("business-name", StrUtil.toSymbolCase(genTable.getBusinessName(),'-'));
velocityContext.put("businessname", StrUtil.toSymbolCase(genTable.getBusinessName(), ' ')); velocityContext.put("businessname", StrUtil.toSymbolCase(genTable.getBusinessName(), ' '));
velocityContext.put("basePackage", getPackagePrefix(packageName)); velocityContext.put("basePackage", getPackagePrefix(packageName));
velocityContext.put("packageName", packageName); velocityContext.put("packageName", packageName);

View File

@ -10,7 +10,7 @@ interface Props {
value?: string[] | number[] | string | number; value?: string[] | number[] | string | number;
dictCode?: string; dictCode?: string;
immediate?: boolean; immediate?: boolean;
dictData?: Api.System.DictData[]; dictData?: Api.System.DictData;
[key: string]: any; [key: string]: any;
} }
@ -25,7 +25,7 @@ const attrs = useAttrs() as TagProps;
const dictTagData = computed<Api.System.DictData[]>(() => { const dictTagData = computed<Api.System.DictData[]>(() => {
if (props.dictData) { if (props.dictData) {
return props.dictData; return [props.dictData];
} }
// props.value 0 // props.value 0
if (props.dictCode && isNotNull(props.value)) { if (props.dictCode && isNotNull(props.value)) {
@ -42,7 +42,7 @@ const dictTagData = computed<Api.System.DictData[]>(() => {
<NTag <NTag
v-for="item in dictTagData" v-for="item in dictTagData"
:key="item.dictValue" :key="item.dictValue"
class="mb-2 mr-2" class="m-1"
:class="[item.cssClass]" :class="[item.cssClass]"
:type="item.listClass" :type="item.listClass"
v-bind="attrs" v-bind="attrs"

View File

@ -163,30 +163,29 @@ async function handleCleanOperLog() {
<OperLogSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getDataByPage" /> <OperLogSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getDataByPage" />
<NCard title="操作日志列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper"> <NCard title="操作日志列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper">
<template #header-extra> <template #header-extra>
<NSpace> <TableHeaderOperation
<NPopconfirm v-if="hasAuth('monitor:operlog:remove')" @positive-click="() => handleCleanOperLog()"> v-model:columns="columnChecks"
<template #trigger> :disabled-delete="checkedRowKeys.length === 0"
<NButton type="warning" ghost size="small"> :loading="loading"
<template #icon> :show-add="false"
<icon-ic-round-delete class="text-icon" /> :show-delete="hasAuth('monitor:operlog:remove')"
</template> :show-export="hasAuth('monitor:operlog:export')"
清空 @delete="handleBatchDelete"
</NButton> @export="handleExport"
</template> @refresh="getData"
确认清空操作日志 >
</NPopconfirm> <template #prefix>
<TableHeaderOperation <NButton
v-model:columns="columnChecks" v-if="hasAuth('monitor:operlog:remove')"
:disabled-delete="checkedRowKeys.length === 0" type="warning"
:loading="loading" ghost
:show-add="false" size="small"
:show-delete="hasAuth('monitor:operlog:remove')" @click="handleCleanOperLog"
:show-export="hasAuth('monitor:operlog:export')" >
@delete="handleBatchDelete" 清空
@export="handleExport" </NButton>
@refresh="getData" </template>
/> </TableHeaderOperation>
</NSpace>
</template> </template>
<NDataTable <NDataTable
v-model:checked-row-keys="checkedRowKeys" v-model:checked-row-keys="checkedRowKeys"

View File

@ -183,23 +183,30 @@ async function handleRefreshCache() {
<ConfigSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getDataByPage" /> <ConfigSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getDataByPage" />
<NCard title="参数配置列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper"> <NCard title="参数配置列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper">
<template #header-extra> <template #header-extra>
<NSpace> <TableHeaderOperation
<NButton v-if="hasAuth('system:config:remove')" type="warning" ghost size="small" @click="handleRefreshCache"> v-model:columns="columnChecks"
刷新缓存 :disabled-delete="checkedRowKeys.length === 0"
</NButton> :loading="loading"
<TableHeaderOperation :show-add="hasAuth('system:config:add')"
v-model:columns="columnChecks" :show-delete="hasAuth('system:config:remove')"
:disabled-delete="checkedRowKeys.length === 0" :show-export="hasAuth('system:config:export')"
:loading="loading" @add="handleAdd"
:show-add="hasAuth('system:config:add')" @delete="handleBatchDelete"
:show-delete="hasAuth('system:config:remove')" @export="handleExport"
:show-export="hasAuth('system:config:export')" @refresh="getData"
@add="handleAdd" >
@delete="handleBatchDelete" <template #prefix>
@export="handleExport" <NButton
@refresh="getData" v-if="hasAuth('system:config:remove')"
/> type="warning"
</NSpace> ghost
size="small"
@click="handleRefreshCache"
>
刷新缓存
</NButton>
</template>
</TableHeaderOperation>
</template> </template>
<NDataTable <NDataTable
v-model:checked-row-keys="checkedRowKeys" v-model:checked-row-keys="checkedRowKeys"

View File

@ -156,18 +156,19 @@ async function addInRow(row: TableDataWithIndex<Api.System.Dept>) {
<DeptSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getData" /> <DeptSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getData" />
<NCard title="部门列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper"> <NCard title="部门列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper">
<template #header-extra> <template #header-extra>
<div class="flex items-center gap-8px"> <TableHeaderOperation
<NButton size="small" @click="expandAll">展开</NButton> v-model:columns="columnChecks"
<NButton size="small" @click="collapseAll">收起</NButton> :loading="loading"
<TableHeaderOperation :show-add="hasAuth('system:dept:add')"
v-model:columns="columnChecks" :show-delete="false"
:loading="loading" @add="handleAdd"
:show-add="hasAuth('system:dept:add')" @refresh="getData"
:show-delete="false" >
@add="handleAdd" <template #prefix>
@refresh="getData" <NButton size="small" @click="expandAll">展开</NButton>
/> <NButton size="small" @click="collapseAll">收起</NButton>
</div> </template>
</TableHeaderOperation>
</template> </template>
<NDataTable <NDataTable
:columns="columns" :columns="columns"

View File

@ -184,23 +184,24 @@ async function handleRefreshCache() {
<DictTypeSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getDataByPage" /> <DictTypeSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getDataByPage" />
<NCard title="字典类型列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper"> <NCard title="字典类型列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper">
<template #header-extra> <template #header-extra>
<NSpace> <TableHeaderOperation
<NButton v-if="hasAuth('system:dict:remove')" type="warning" ghost size="small" @click="handleRefreshCache"> v-model:columns="columnChecks"
刷新缓存 :disabled-delete="checkedRowKeys.length === 0"
</NButton> :loading="loading"
<TableHeaderOperation :show-add="hasAuth('system:dict:add')"
v-model:columns="columnChecks" :show-delete="hasAuth('system:dict:remove')"
:disabled-delete="checkedRowKeys.length === 0" :show-export="hasAuth('system:dict:export')"
:loading="loading" @add="handleAdd"
:show-add="hasAuth('system:dict:add')" @delete="handleBatchDelete"
:show-delete="hasAuth('system:dict:remove')" @export="handleExport"
:show-export="hasAuth('system:dict:export')" @refresh="getData"
@add="handleAdd" >
@delete="handleBatchDelete" <template #prefix>
@export="handleExport" <NButton v-if="hasAuth('system:dict:remove')" type="warning" ghost size="small" @click="handleRefreshCache">
@refresh="getData" 刷新缓存
/> </NButton>
</NSpace> </template>
</TableHeaderOperation>
</template> </template>
<NDataTable <NDataTable
v-model:checked-row-keys="checkedRowKeys" v-model:checked-row-keys="checkedRowKeys"

View File

@ -201,31 +201,24 @@ async function handleExport() {
<TenantSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getDataByPage" /> <TenantSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getDataByPage" />
<NCard title="租户列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper"> <NCard title="租户列表" :bordered="false" size="small" class="sm:flex-1-hidden card-wrapper">
<template #header-extra> <template #header-extra>
<NSpace> <TableHeaderOperation
<NPopconfirm v-if="isSuperAdmin" @positive-click="() => handleSyncTenantDict()"> v-model:columns="columnChecks"
<template #trigger> :disabled-delete="checkedRowKeys.length === 0"
<NButton size="small"> :loading="loading"
<template #icon> :show-add="hasAuth('system:tenant:add')"
<icon-material-symbols:sync-rounded /> :show-delete="hasAuth('system:tenant:delete')"
</template> :show-export="hasAuth('system:tenant:export')"
同步租户字典 @add="handleAdd"
</NButton> @delete="handleBatchDelete"
</template> @export="handleExport"
确认同步租户字典 @refresh="getData"
</NPopconfirm> >
<TableHeaderOperation <template #prefix>
v-model:columns="columnChecks" <NButton v-if="isSuperAdmin" type="warning" ghost size="small" @click="handleSyncTenantDict">
:disabled-delete="checkedRowKeys.length === 0" 同步租户字典
:loading="loading" </NButton>
:show-add="hasAuth('system:tenant:add')" </template>
:show-delete="hasAuth('system:tenant:delete')" </TableHeaderOperation>
:show-export="hasAuth('system:tenant:export')"
@add="handleAdd"
@delete="handleBatchDelete"
@export="handleExport"
@refresh="getData"
/>
</NSpace>
</template> </template>
<NDataTable <NDataTable
v-model:checked-row-keys="checkedRowKeys" v-model:checked-row-keys="checkedRowKeys"