mirror of
https://github.com/m-xlsea/ruoyi-plus-soybean.git
synced 2025-09-24 07:49:47 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@ -3,7 +3,6 @@ import { NDivider } from 'naive-ui';
|
||||
import { fetchBatchDeleteNotice, fetchGetNoticeList } from '@/service/api/system/notice';
|
||||
import { useAppStore } from '@/store/modules/app';
|
||||
import { useAuth } from '@/hooks/business/auth';
|
||||
import { useDownload } from '@/hooks/business/download';
|
||||
import { useTable, useTableOperate } from '@/hooks/common/table';
|
||||
import { useDict } from '@/hooks/business/dict';
|
||||
import { $t } from '@/locales';
|
||||
@ -19,7 +18,6 @@ defineOptions({
|
||||
useDict('sys_notice_type');
|
||||
useDict('sys_normal_disable');
|
||||
const appStore = useAppStore();
|
||||
const { download } = useDownload();
|
||||
const { hasAuth } = useAuth();
|
||||
|
||||
const {
|
||||
@ -160,10 +158,6 @@ async function handleDelete(noticeId: CommonType.IdType) {
|
||||
async function edit(noticeId: CommonType.IdType) {
|
||||
handleEdit('noticeId', noticeId);
|
||||
}
|
||||
|
||||
async function handleExport() {
|
||||
download('/system/notice/export', searchParams, `通知公告_${new Date().getTime()}.xlsx`);
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@ -177,10 +171,9 @@ async function handleExport() {
|
||||
:loading="loading"
|
||||
:show-add="hasAuth('system:notice:add')"
|
||||
:show-delete="hasAuth('system:notice:remove')"
|
||||
:show-export="hasAuth('system:notice:export')"
|
||||
:show-export="false"
|
||||
@add="handleAdd"
|
||||
@delete="handleBatchDelete"
|
||||
@export="handleExport"
|
||||
@refresh="getData"
|
||||
/>
|
||||
</template>
|
||||
|
@ -56,14 +56,15 @@ function createDefaultModel(): Model {
|
||||
packageName: '',
|
||||
menuIds: [],
|
||||
remark: '',
|
||||
menuCheckStrictly: null
|
||||
menuCheckStrictly: true
|
||||
};
|
||||
}
|
||||
|
||||
type RuleKey = Extract<keyof Model, 'packageId'>;
|
||||
type RuleKey = Extract<keyof Model, 'packageId' | 'packageName'>;
|
||||
|
||||
const rules: Record<RuleKey, App.Global.FormRule> = {
|
||||
packageId: createRequiredRule('租户套餐id不能为空')
|
||||
packageId: createRequiredRule('租户套餐id不能为空'),
|
||||
packageName: createRequiredRule('租户套餐名称不能为空')
|
||||
};
|
||||
|
||||
async function handleUpdateModelWhenEdit() {
|
||||
@ -78,7 +79,7 @@ async function handleUpdateModelWhenEdit() {
|
||||
|
||||
if (props.operateType === 'edit' && props.rowData) {
|
||||
startMenuLoading();
|
||||
Object.assign(model, props.rowData);
|
||||
Object.assign(model, { ...props.rowData, menuIds: [] });
|
||||
const { data, error } = await fetchGetTenantPackageMenuTreeSelect(model.packageId!);
|
||||
if (error) return;
|
||||
model.menuIds = data.checkedKeys;
|
||||
@ -94,15 +95,14 @@ function closeDrawer() {
|
||||
async function handleSubmit() {
|
||||
await validate();
|
||||
|
||||
const { packageId, packageName, menuIds, remark, menuCheckStrictly } = model;
|
||||
// request
|
||||
if (props.operateType === 'add') {
|
||||
const { packageName, menuIds, remark, menuCheckStrictly } = model;
|
||||
const { error } = await fetchCreateTenantPackage({ packageName, menuIds, remark, menuCheckStrictly });
|
||||
if (error) return;
|
||||
}
|
||||
|
||||
if (props.operateType === 'edit') {
|
||||
const { packageId, packageName, menuIds, remark, menuCheckStrictly } = model;
|
||||
const { error } = await fetchUpdateTenantPackage({
|
||||
packageId,
|
||||
packageName,
|
||||
@ -144,7 +144,7 @@ watch(visible, () => {
|
||||
/>
|
||||
</NFormItem>
|
||||
<NFormItem label="备注" path="remark">
|
||||
<NInput v-model:value="model.remark" placeholder="请输入备注" />
|
||||
<NInput v-model:value="model.remark" placeholder="请输入备注" type="textarea" />
|
||||
</NFormItem>
|
||||
</NForm>
|
||||
<template #footer>
|
||||
|
@ -7,6 +7,7 @@ import { useAppStore } from '@/store/modules/app';
|
||||
import { useTable, useTableOperate } from '@/hooks/common/table';
|
||||
import { useDict } from '@/hooks/business/dict';
|
||||
import { useAuth } from '@/hooks/business/auth';
|
||||
import { useDownload } from '@/hooks/business/download';
|
||||
import ButtonIcon from '@/components/custom/button-icon.vue';
|
||||
import { $t } from '@/locales';
|
||||
import StatusSwitch from '@/components/custom/status-switch.vue';
|
||||
@ -22,6 +23,7 @@ useDict('sys_user_sex');
|
||||
|
||||
const { hasAuth } = useAuth();
|
||||
const appStore = useAppStore();
|
||||
const { download } = useDownload();
|
||||
|
||||
const { bool: importVisible, setTrue: openImportModal } = useBoolean();
|
||||
|
||||
@ -236,6 +238,10 @@ async function handleStatusChange(
|
||||
getData();
|
||||
}
|
||||
}
|
||||
|
||||
function handleExport() {
|
||||
download('/system/user/export', searchParams, `用户列表_${new Date().getTime()}.xlsx`);
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@ -283,6 +289,7 @@ async function handleStatusChange(
|
||||
:show-export="hasAuth('system:user:export')"
|
||||
@add="handleAdd"
|
||||
@delete="handleBatchDelete"
|
||||
@export="handleExport"
|
||||
@refresh="getData"
|
||||
>
|
||||
<template #after>
|
||||
|
Reference in New Issue
Block a user