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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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