Merge remote-tracking branch 'origin/main' into main

This commit is contained in:
xiaocp2009 2025-09-16 09:20:51 +08:00
commit c2d3e70bb6
8 changed files with 73 additions and 87 deletions

View File

@ -1261,8 +1261,6 @@ const {
return (
<div class="flex-center gap-8px">
{editBtn()}
{divider()}
{deleteBtn()}
</div>
);
}
@ -1338,22 +1336,22 @@ function handleExport() {
v-model:columns="columnChecks"
:disabled-delete="checkedRowKeys.length === 0"
:loading="loading"
:show-add="hasAuth('report:performanceM:add')"
:show-delete="hasAuth('report:performanceM:remove')"
:show-add="false"
:show-delete="false"
:show-export="hasAuth('report:performanceM:export')"
@add="handleAdd"
@delete="handleBatchDelete"
@export="handleExport"
@refresh="getData"
>
<template #after>
<NButton v-if="hasAuth('report:performanceM:import')" size="small" ghost @click="handleImport">
<template #icon>
<SvgIcon local-icon="upload-rounded"/>
</template>
{{ $t('common.import') }}
</NButton>
</template>
<!-- <template #after>-->
<!-- <NButton v-if="hasAuth('report:performanceM:import')" size="small" ghost @click="handleImport">-->
<!-- <template #icon>-->
<!-- <SvgIcon local-icon="upload-rounded"/>-->
<!-- </template>-->
<!-- {{ $t('common.import') }}-->
<!-- </NButton>-->
<!-- </template>-->
</TableHeaderOperation>
</template>

View File

@ -1261,8 +1261,6 @@ const {
return (
<div class="flex-center gap-8px">
{editBtn()}
{divider()}
{deleteBtn()}
</div>
);
}
@ -1338,22 +1336,22 @@ function handleExport() {
v-model:columns="columnChecks"
:disabled-delete="checkedRowKeys.length === 0"
:loading="loading"
:show-add="hasAuth('report:performanceQ:add')"
:show-delete="hasAuth('report:performanceQ:remove')"
:show-add="false"
:show-delete="false"
:show-export="hasAuth('report:performanceQ:export')"
@add="handleAdd"
@delete="handleBatchDelete"
@export="handleExport"
@refresh="getData"
>
<template #after>
<NButton v-if="hasAuth('report:performanceQ:import')" size="small" ghost @click="handleImport">
<template #icon>
<SvgIcon local-icon="upload-rounded"/>
</template>
{{ $t('common.import') }}
</NButton>
</template>
<!-- <template #after>-->
<!-- <NButton v-if="hasAuth('report:performanceQ:import')" size="small" ghost @click="handleImport">-->
<!-- <template #icon>-->
<!-- <SvgIcon local-icon="upload-rounded"/>-->
<!-- </template>-->
<!-- {{ $t('common.import') }}-->
<!-- </NButton>-->
<!-- </template>-->
</TableHeaderOperation>
</template>

View File

@ -1261,8 +1261,6 @@ const {
return (
<div class="flex-center gap-8px">
{editBtn()}
{divider()}
{deleteBtn()}
</div>
);
}
@ -1338,22 +1336,22 @@ function handleExport() {
v-model:columns="columnChecks"
:disabled-delete="checkedRowKeys.length === 0"
:loading="loading"
:show-add="hasAuth('report:performanceY:add')"
:show-delete="hasAuth('report:performanceY:remove')"
:show-add="false"
:show-delete="false"
:show-export="hasAuth('report:performanceY:export')"
@add="handleAdd"
@delete="handleBatchDelete"
@export="handleExport"
@refresh="getData"
>
<template #after>
<NButton v-if="hasAuth('report:performanceY:import')" size="small" ghost @click="handleImport">
<template #icon>
<SvgIcon local-icon="upload-rounded"/>
</template>
{{ $t('common.import') }}
</NButton>
</template>
<!-- <template #after>-->
<!-- <NButton v-if="hasAuth('report:performanceY:import')" size="small" ghost @click="handleImport">-->
<!-- <template #icon>-->
<!-- <SvgIcon local-icon="upload-rounded"/>-->
<!-- </template>-->
<!-- {{ $t('common.import') }}-->
<!-- </NButton>-->
<!-- </template>-->
</TableHeaderOperation>
</template>

View File

@ -216,8 +216,6 @@ const {
return (
<div class="flex-center gap-8px">
{editBtn()}
{divider()}
{deleteBtn()}
</div>
);
}
@ -293,22 +291,22 @@ function handleExport() {
v-model:columns="columnChecks"
:disabled-delete="checkedRowKeys.length === 0"
:loading="loading"
:show-add="hasAuth('report:pricingSummaryM:add')"
:show-delete="hasAuth('report:pricingSummaryM:remove')"
:show-add="false"
:show-delete="false"
:show-export="hasAuth('report:pricingSummaryM:export')"
@add="handleAdd"
@delete="handleBatchDelete"
@export="handleExport"
@refresh="getData"
>
<template #after>
<NButton v-if="hasAuth('report:pricingSummaryM:import')" size="small" ghost @click="handleImport">
<template #icon>
<SvgIcon local-icon="upload-rounded"/>
</template>
{{ $t('common.import') }}
</NButton>
</template>
<!-- <template #after>-->
<!-- <NButton v-if="hasAuth('report:pricingSummaryM:import')" size="small" ghost @click="handleImport">-->
<!-- <template #icon>-->
<!-- <SvgIcon local-icon="upload-rounded"/>-->
<!-- </template>-->
<!-- {{ $t('common.import') }}-->
<!-- </NButton>-->
<!-- </template>-->
</TableHeaderOperation>
</template>

View File

@ -216,8 +216,6 @@ const {
return (
<div class="flex-center gap-8px">
{editBtn()}
{divider()}
{deleteBtn()}
</div>
);
}
@ -293,22 +291,22 @@ function handleExport() {
v-model:columns="columnChecks"
:disabled-delete="checkedRowKeys.length === 0"
:loading="loading"
:show-add="hasAuth('report:pricingSummaryQ:add')"
:show-delete="hasAuth('report:pricingSummaryQ:remove')"
:show-add="false"
:show-delete="false"
:show-export="hasAuth('report:pricingSummaryQ:export')"
@add="handleAdd"
@delete="handleBatchDelete"
@export="handleExport"
@refresh="getData"
>
<template #after>
<NButton v-if="hasAuth('report:pricingSummaryQ:import')" size="small" ghost @click="handleImport">
<template #icon>
<SvgIcon local-icon="upload-rounded"/>
</template>
{{ $t('common.import') }}
</NButton>
</template>
<!-- <template #after>-->
<!-- <NButton v-if="hasAuth('report:pricingSummaryQ:import')" size="small" ghost @click="handleImport">-->
<!-- <template #icon>-->
<!-- <SvgIcon local-icon="upload-rounded"/>-->
<!-- </template>-->
<!-- {{ $t('common.import') }}-->
<!-- </NButton>-->
<!-- </template>-->
</TableHeaderOperation>
</template>

View File

@ -216,8 +216,6 @@ const {
return (
<div class="flex-center gap-8px">
{editBtn()}
{divider()}
{deleteBtn()}
</div>
);
}
@ -293,22 +291,22 @@ function handleExport() {
v-model:columns="columnChecks"
:disabled-delete="checkedRowKeys.length === 0"
:loading="loading"
:show-add="hasAuth('report:pricingSummaryY:add')"
:show-delete="hasAuth('report:pricingSummaryY:remove')"
:show-add="false"
:show-delete="false"
:show-export="hasAuth('report:pricingSummaryY:export')"
@add="handleAdd"
@delete="handleBatchDelete"
@export="handleExport"
@refresh="getData"
>
<template #after>
<NButton v-if="hasAuth('report:pricingSummaryY:import')" size="small" ghost @click="handleImport">
<template #icon>
<SvgIcon local-icon="upload-rounded"/>
</template>
{{ $t('common.import') }}
</NButton>
</template>
<!-- <template #after>-->
<!-- <NButton v-if="hasAuth('report:pricingSummaryY:import')" size="small" ghost @click="handleImport">-->
<!-- <template #icon>-->
<!-- <SvgIcon local-icon="upload-rounded"/>-->
<!-- </template>-->
<!-- {{ $t('common.import') }}-->
<!-- </NButton>-->
<!-- </template>-->
</TableHeaderOperation>
</template>

View File

@ -225,8 +225,6 @@ const {
return (
<div class="flex-center gap-8px">
{editBtn()}
{divider()}
{deleteBtn()}
</div>
);
}
@ -302,22 +300,22 @@ function handleExport() {
v-model:columns="columnChecks"
:disabled-delete="checkedRowKeys.length === 0"
:loading="loading"
:show-add="hasAuth('report:validInvalid:add')"
:show-delete="hasAuth('report:validInvalid:remove')"
:show-add="false"
:show-delete="false"
:show-export="hasAuth('report:validInvalid:export')"
@add="handleAdd"
@delete="handleBatchDelete"
@export="handleExport"
@refresh="getData"
>
<template #after>
<NButton v-if="hasAuth('report:validInvalid:import')" size="small" ghost @click="handleImport">
<template #icon>
<SvgIcon local-icon="upload-rounded"/>
</template>
{{ $t('common.import') }}
</NButton>
</template>
<!-- <template #after>-->
<!-- <NButton v-if="hasAuth('report:validInvalid:import')" size="small" ghost @click="handleImport">-->
<!-- <template #icon>-->
<!-- <SvgIcon local-icon="upload-rounded"/>-->
<!-- </template>-->
<!-- {{ $t('common.import') }}-->
<!-- </NButton>-->
<!-- </template>-->
</TableHeaderOperation>
</template>

View File

@ -518,10 +518,10 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
*/
private void insertUserPost(SysUserBo user, boolean clear) {
Long[] posts = user.getPostIds();
if (posts.length >1) {
throw new ServiceException("用户" + user.getUserName() + "不能添加多个岗位");
}
if (ArrayUtil.isNotEmpty(posts)) {
if (posts.length >1) {
throw new ServiceException("用户" + user.getUserName() + "不能添加多个岗位");
}
if (clear) {
// 删除用户与岗位关联
userPostMapper.delete(new LambdaQueryWrapper<SysUserPost>().eq(SysUserPost::getUserId, user.getUserId()));