optimize: 优化代码质量

This commit is contained in:
xlsea 2025-04-23 16:02:41 +08:00
parent 8b237b3f61
commit d4487dc638
42 changed files with 100 additions and 108 deletions

View File

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import type { TagProps } from 'naive-ui';
import { useAttrs } from 'vue'; import { useAttrs } from 'vue';
import type { TagProps } from 'naive-ui';
import { isNotNull } from '@/utils/common'; import { isNotNull } from '@/utils/common';
defineOptions({ defineOptions({

View File

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, useAttrs } from 'vue';
import type { ButtonProps, PopoverPlacement } from 'naive-ui'; import type { ButtonProps, PopoverPlacement } from 'naive-ui';
import { twMerge } from 'tailwind-merge'; import { twMerge } from 'tailwind-merge';
import { computed, useAttrs } from 'vue';
defineOptions({ defineOptions({
name: 'ButtonIcon', name: 'ButtonIcon',

View File

@ -1,10 +1,10 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { ref, useAttrs } from 'vue'; import { ref, useAttrs } from 'vue';
import { useLoading } from '@sa/hooks';
import type { TreeOption, TreeSelectProps } from 'naive-ui'; import type { TreeOption, TreeSelectProps } from 'naive-ui';
import { useLoading } from '@sa/hooks';
import { fetchGetMenuList } from '@/service/api/system'; import { fetchGetMenuList } from '@/service/api/system';
import SvgIcon from '@/components/custom/svg-icon.vue';
import { handleTree } from '@/utils/common'; import { handleTree } from '@/utils/common';
import SvgIcon from '@/components/custom/svg-icon.vue';
defineOptions({ name: 'MenuTreeSelect' }); defineOptions({ name: 'MenuTreeSelect' });

View File

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { useLoading } from '@sa/hooks';
import type { SelectProps } from 'naive-ui';
import { ref, useAttrs, watch } from 'vue'; import { ref, useAttrs, watch } from 'vue';
import type { SelectProps } from 'naive-ui';
import { useLoading } from '@sa/hooks';
import { fetchGetPostSelect } from '@/service/api/system'; import { fetchGetPostSelect } from '@/service/api/system';
defineOptions({ defineOptions({

View File

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { useLoading } from '@sa/hooks';
import type { SelectProps } from 'naive-ui';
import { ref, useAttrs } from 'vue'; import { ref, useAttrs } from 'vue';
import type { SelectProps } from 'naive-ui';
import { useLoading } from '@sa/hooks';
import { fetchGetRoleSelect } from '@/service/api/system'; import { fetchGetRoleSelect } from '@/service/api/system';
defineOptions({ defineOptions({

View File

@ -1,6 +1,6 @@
import { errorCodeRecord } from '@/constants/common';
import { localStg } from '@/utils/storage'; import { localStg } from '@/utils/storage';
import { getServiceBaseURL } from '@/utils/service'; import { getServiceBaseURL } from '@/utils/service';
import { errorCodeRecord } from '@/constants/common';
export function useDownload() { export function useDownload() {
const isHttpProxy = import.meta.env.DEV && import.meta.env.VITE_HTTP_PROXY === 'Y'; const isHttpProxy = import.meta.env.DEV && import.meta.env.VITE_HTTP_PROXY === 'Y';

View File

@ -3,8 +3,8 @@ import type { Ref } from 'vue';
import { jsonClone } from '@sa/utils'; import { jsonClone } from '@sa/utils';
import { useBoolean, useHookTable } from '@sa/hooks'; import { useBoolean, useHookTable } from '@sa/hooks';
import { useAppStore } from '@/store/modules/app'; import { useAppStore } from '@/store/modules/app';
import { $t } from '@/locales';
import { handleTree } from '@/utils/common'; import { handleTree } from '@/utils/common';
import { $t } from '@/locales';
type TableData = NaiveUI.TableData; type TableData = NaiveUI.TableData;
type GetTableData<A extends NaiveUI.TreeTableApiFn> = NaiveUI.GetTreeTableData<A>; type GetTableData<A extends NaiveUI.TreeTableApiFn> = NaiveUI.GetTreeTableData<A>;

View File

@ -1,36 +1,36 @@
import { request } from '@/service/request'; import { request } from '@/service/request';
/** 获取客户端列表 */ /** 获取客户端列表 */
export function fetchGetClientList (params?: Api.System.ClientSearchParams) { export function fetchGetClientList(params?: Api.System.ClientSearchParams) {
return request<Api.System.ClientList>({ return request<Api.System.ClientList>({
url: '/system/client/list', url: '/system/client/list',
method: 'get', method: 'get',
params params
}); });
} }
/** 新增客户端 */ /** 新增客户端 */
export function fetchCreateClient (data: Api.System.ClientOperateParams) { export function fetchCreateClient(data: Api.System.ClientOperateParams) {
return request<boolean>({ return request<boolean>({
url: '/system/client', url: '/system/client',
method: 'post', method: 'post',
data data
}); });
} }
/** 修改客户端 */ /** 修改客户端 */
export function fetchUpdateClient (data: Api.System.ClientOperateParams) { export function fetchUpdateClient(data: Api.System.ClientOperateParams) {
return request<boolean>({ return request<boolean>({
url: '/system/client', url: '/system/client',
method: 'put', method: 'put',
data data
}); });
} }
/** 批量删除客户端 */ /** 批量删除客户端 */
export function fetchBatchDeleteClient (ids: CommonType.IdType[]) { export function fetchBatchDeleteClient(ids: CommonType.IdType[]) {
return request<boolean>({ return request<boolean>({
url: `/system/client/${ids.join(',')}`, url: `/system/client/${ids.join(',')}`,
method: 'delete' method: 'delete'
}); });
} }

View File

@ -1,5 +1,5 @@
import { defineStore } from 'pinia';
import { ref } from 'vue'; import { ref } from 'vue';
import { defineStore } from 'pinia';
export const useDictStore = defineStore('dict', () => { export const useDictStore = defineStore('dict', () => {
const dictData = ref<{ [key: string]: Api.System.DictData[] }>({}); const dictData = ref<{ [key: string]: Api.System.DictData[] }>({});

View File

@ -1,5 +1,5 @@
import { defineStore } from 'pinia';
import { reactive } from 'vue'; import { reactive } from 'vue';
import { defineStore } from 'pinia';
interface NoticeItem { interface NoticeItem {
title?: string; title?: string;

View File

@ -1,5 +1,5 @@
import { useEventSource } from '@vueuse/core';
import { watch } from 'vue'; import { watch } from 'vue';
import { useEventSource } from '@vueuse/core';
import useNoticeStore from '@/store/modules/notice'; import useNoticeStore from '@/store/modules/notice';
import { localStg } from './storage'; import { localStg } from './storage';

View File

@ -2,13 +2,13 @@
import { computed, reactive, ref } from 'vue'; import { computed, reactive, ref } from 'vue';
import type { SelectOption } from 'naive-ui'; import type { SelectOption } from 'naive-ui';
import { useLoading } from '@sa/hooks'; import { useLoading } from '@sa/hooks';
import { $t } from '@/locales';
import { loginModuleRecord } from '@/constants/app'; import { loginModuleRecord } from '@/constants/app';
import { fetchCaptchaCode, fetchTenantList } from '@/service/api';
import { useAuthStore } from '@/store/modules/auth';
import { useRouterPush } from '@/hooks/common/router'; import { useRouterPush } from '@/hooks/common/router';
import { useFormRules, useNaiveForm } from '@/hooks/common/form'; import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { useAuthStore } from '@/store/modules/auth';
import { fetchCaptchaCode, fetchTenantList } from '@/service/api';
import { localStg } from '@/utils/storage'; import { localStg } from '@/utils/storage';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'PwdLogin' name: 'PwdLogin'

View File

@ -1,12 +1,12 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { NButton, NPopconfirm } from 'naive-ui'; import { NButton, NPopconfirm } from 'naive-ui';
import { fetchBatchDeleteClient, fetchGetClientList } from '@/service/api/system/client'; import { fetchBatchDeleteClient, fetchGetClientList } from '@/service/api/system/client';
import { $t } from '@/locales';
import { useAuth } from '@/hooks/business/auth';
import { useAppStore } from '@/store/modules/app'; import { useAppStore } from '@/store/modules/app';
import { useAuth } from '@/hooks/business/auth';
import { useDownload } from '@/hooks/business/download'; import { useDownload } from '@/hooks/business/download';
import { useTable, useTableOperate } from '@/hooks/common/table'; import { useTable, useTableOperate } from '@/hooks/common/table';
import { useDict } from '@/hooks/business/dict'; import { useDict } from '@/hooks/business/dict';
import { $t } from '@/locales';
import DictTag from '@/components/custom/dict-tag.vue'; import DictTag from '@/components/custom/dict-tag.vue';
import ClientOperateDrawer from './modules/client-operate-drawer.vue'; import ClientOperateDrawer from './modules/client-operate-drawer.vue';
import ClientSearch from './modules/client-search.vue'; import ClientSearch from './modules/client-search.vue';

View File

@ -1,8 +1,8 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, reactive, watch } from 'vue'; import { computed, reactive, watch } from 'vue';
import { fetchCreateClient, fetchUpdateClient } from '@/service/api/system/client';
import { useFormRules, useNaiveForm } from '@/hooks/common/form'; import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales'; import { $t } from '@/locales';
import { fetchCreateClient, fetchUpdateClient } from '@/service/api/system/client';
defineOptions({ defineOptions({
name: 'ClientOperateDrawer' name: 'ClientOperateDrawer'
}); });

View File

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { $t } from '@/locales';
import { useNaiveForm } from '@/hooks/common/form'; import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'ClientSearch' name: 'ClientSearch'
}); });

View File

@ -1,12 +1,12 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { NButton, NPopconfirm } from 'naive-ui'; import { NButton, NPopconfirm } from 'naive-ui';
import { fetchBatchDeleteConfig, fetchGetConfigList, fetchRefreshCache } from '@/service/api/system/config'; import { fetchBatchDeleteConfig, fetchGetConfigList, fetchRefreshCache } from '@/service/api/system/config';
import { $t } from '@/locales';
import { useAuth } from '@/hooks/business/auth';
import { useAppStore } from '@/store/modules/app'; import { useAppStore } from '@/store/modules/app';
import { useAuth } from '@/hooks/business/auth';
import { useDownload } from '@/hooks/business/download'; import { useDownload } from '@/hooks/business/download';
import { useTable, useTableOperate } from '@/hooks/common/table'; import { useTable, useTableOperate } from '@/hooks/common/table';
import { useDict } from '@/hooks/business/dict'; import { useDict } from '@/hooks/business/dict';
import { $t } from '@/locales';
import DictTag from '@/components/custom/dict-tag.vue'; import DictTag from '@/components/custom/dict-tag.vue';
import ConfigOperateDrawer from './modules/config-operate-drawer.vue'; import ConfigOperateDrawer from './modules/config-operate-drawer.vue';
import ConfigSearch from './modules/config-search.vue'; import ConfigSearch from './modules/config-search.vue';

View File

@ -1,8 +1,8 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, reactive, watch } from 'vue'; import { computed, reactive, watch } from 'vue';
import { fetchCreateConfig, fetchUpdateConfig } from '@/service/api/system/config';
import { useFormRules, useNaiveForm } from '@/hooks/common/form'; import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales'; import { $t } from '@/locales';
import { fetchCreateConfig, fetchUpdateConfig } from '@/service/api/system/config';
defineOptions({ defineOptions({
name: 'ConfigOperateDrawer' name: 'ConfigOperateDrawer'

View File

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { $t } from '@/locales';
import { useNaiveForm } from '@/hooks/common/form'; import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'ConfigSearch' name: 'ConfigSearch'

View File

@ -3,12 +3,12 @@ import { NButton, NPopconfirm } from 'naive-ui';
import { jsonClone } from '@sa/utils'; import { jsonClone } from '@sa/utils';
import type { TableDataWithIndex } from '@sa/hooks'; import type { TableDataWithIndex } from '@sa/hooks';
import { fetchBatchDeleteDept, fetchGetDeptList } from '@/service/api/system/dept'; import { fetchBatchDeleteDept, fetchGetDeptList } from '@/service/api/system/dept';
import { $t } from '@/locales';
import { useAuth } from '@/hooks/business/auth';
import { useAppStore } from '@/store/modules/app'; import { useAppStore } from '@/store/modules/app';
import { useAuth } from '@/hooks/business/auth';
import { useTreeTable, useTreeTableOperate } from '@/hooks/common/tree-table'; import { useTreeTable, useTreeTableOperate } from '@/hooks/common/tree-table';
import DictTag from '@/components/custom/dict-tag.vue';
import { useDict } from '@/hooks/business/dict'; import { useDict } from '@/hooks/business/dict';
import DictTag from '@/components/custom/dict-tag.vue';
import { $t } from '@/locales';
import DeptOperateDrawer from './modules/dept-operate-drawer.vue'; import DeptOperateDrawer from './modules/dept-operate-drawer.vue';
import DeptSearch from './modules/dept-search.vue'; import DeptSearch from './modules/dept-search.vue';

View File

@ -2,11 +2,11 @@
import { computed, reactive, ref, watch } from 'vue'; import { computed, reactive, ref, watch } from 'vue';
import { NInputNumber } from 'naive-ui'; import { NInputNumber } from 'naive-ui';
import { useLoading } from '@sa/hooks'; import { useLoading } from '@sa/hooks';
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
import { fetchCreateDept, fetchGetDeptList, fetchGetExcludeDeptList, fetchUpdateDept } from '@/service/api/system/dept'; import { fetchCreateDept, fetchGetDeptList, fetchGetExcludeDeptList, fetchUpdateDept } from '@/service/api/system/dept';
import { fetchGetDeptUserList } from '@/service/api/system/user'; import { fetchGetDeptUserList } from '@/service/api/system/user';
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { handleTree } from '@/utils/common'; import { handleTree } from '@/utils/common';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'DeptOperateDrawer' name: 'DeptOperateDrawer'

View File

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { $t } from '@/locales';
import { useNaiveForm } from '@/hooks/common/form'; import { useNaiveForm } from '@/hooks/common/form';
import { useDict } from '@/hooks/business/dict'; import { useDict } from '@/hooks/business/dict';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'DeptSearch' name: 'DeptSearch'
}); });

View File

@ -1,16 +1,15 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { NButton, NPopconfirm } from 'naive-ui'; import { NButton, NPopconfirm } from 'naive-ui';
import { fetchBatchDeleteDictData, fetchGetDictDataList } from '@/service/api/system/dict-data'; import { fetchBatchDeleteDictData, fetchGetDictDataList } from '@/service/api/system/dict-data';
import { $t } from '@/locales';
import { useAuth } from '@/hooks/business/auth';
import { useAppStore } from '@/store/modules/app'; import { useAppStore } from '@/store/modules/app';
import { useAuth } from '@/hooks/business/auth';
import { useDownload } from '@/hooks/business/download'; import { useDownload } from '@/hooks/business/download';
import { useTable, useTableOperate } from '@/hooks/common/table'; import { useTable, useTableOperate } from '@/hooks/common/table';
import { $t } from '@/locales';
import DictTag from '@/components/custom/dict-tag.vue'; import DictTag from '@/components/custom/dict-tag.vue';
import { emitter } from '../mitt'; import { emitter } from '../mitt';
import DictDataOperateDrawer from './modules/dict-data-operate-drawer.vue'; import DictDataOperateDrawer from './modules/dict-data-operate-drawer.vue';
import DictDataSearch from './modules/dict-data-search.vue'; import DictDataSearch from './modules/dict-data-search.vue';
import { ref } from 'vue';
defineOptions({ defineOptions({
name: 'DictDataList' name: 'DictDataList'
}); });
@ -174,14 +173,11 @@ emitter.on('rowClick', async (value: string) => {
await getDataByPage(); await getDataByPage();
}); });
/** /** 自定义重置方法重置dictLabel不重置dictType */
* 自定义重置方法重置dictLabel不重置dictType
*/
async function handleReset() { async function handleReset() {
searchParams.dictLabel = null; searchParams.dictLabel = null;
await getDataByPage(); await getDataByPage();
} }
</script> </script>
<template> <template>
@ -201,6 +197,7 @@ async function handleReset() {
@delete="handleBatchDelete" @delete="handleBatchDelete"
@export="handleExport" @export="handleExport"
@refresh="getData" @refresh="getData"
@reset="resetSearchParams"
/> />
</template> </template>
<NDataTable <NDataTable

View File

@ -1,9 +1,9 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, h, reactive, watch } from 'vue'; import { computed, h, reactive, watch } from 'vue';
import { NTag } from 'naive-ui';
import { fetchCreateDictData, fetchUpdateDictData } from '@/service/api/system/dict-data';
import { useFormRules, useNaiveForm } from '@/hooks/common/form'; import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales'; import { $t } from '@/locales';
import { fetchCreateDictData, fetchUpdateDictData } from '@/service/api/system/dict-data';
import { NTag } from 'naive-ui';
defineOptions({ defineOptions({
name: 'DictDataOperateDrawer' name: 'DictDataOperateDrawer'
@ -51,7 +51,7 @@ const listClassOptions = [
{ label: 'warning', value: 'warning' }, { label: 'warning', value: 'warning' },
{ label: 'error', value: 'error' }, { label: 'error', value: 'error' },
{ label: 'default', value: 'default' } { label: 'default', value: 'default' }
] ];
function createDefaultModel(): Model { function createDefaultModel(): Model {
return { return {
@ -134,13 +134,9 @@ watch(visible, () => {
}); });
function renderTagLabel(option: { label: string; value: string }) { function renderTagLabel(option: { label: string; value: string }) {
return h( return h('div', { class: 'flex items-center gap-2' }, [
'div', h(NTag, { type: option.value as any }, { default: () => option.label })
{ class: 'flex items-center gap-2' }, ]);
[
h(NTag, {type: option.value as any,}, { default: () => option.label })
]
);
} }
</script> </script>

View File

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { $t } from '@/locales';
import { useNaiveForm } from '@/hooks/common/form'; import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'DictDataSearch' name: 'DictDataSearch'

View File

@ -1,6 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { onUnmounted } from 'vue'; import { onUnmounted } from 'vue';
import DictTypeList from './type/index.vue'; import DictTypeList from './type/index.vue';
import DictDataList from './data/index.vue'; import DictDataList from './data/index.vue';
import { emitter } from './mitt'; import { emitter } from './mitt';
@ -9,7 +8,7 @@ onUnmounted(() => emitter.off('rowClick'));
</script> </script>
<template> <template>
<div class="h-full flex flex-col md:flex-row gap-16px"> <div class="h-full flex flex-col gap-16px md:flex-row">
<DictTypeList class="w-full md:w-1/2" /> <DictTypeList class="w-full md:w-1/2" />
<DictDataList class="w-full md:w-1/2" /> <DictDataList class="w-full md:w-1/2" />
</div> </div>

View File

@ -1,13 +1,13 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { NButton, NPopconfirm } from 'naive-ui';
import { ref } from 'vue'; import { ref } from 'vue';
import { NButton, NPopconfirm } from 'naive-ui';
import type { TableDataWithIndex } from '@sa/hooks'; import type { TableDataWithIndex } from '@sa/hooks';
import { fetchBatchDeleteDictType, fetchGetDictTypeList, fetchRefreshCache } from '@/service/api/system/dict'; import { fetchBatchDeleteDictType, fetchGetDictTypeList, fetchRefreshCache } from '@/service/api/system/dict';
import { $t } from '@/locales';
import { useAuth } from '@/hooks/business/auth';
import { useAppStore } from '@/store/modules/app'; import { useAppStore } from '@/store/modules/app';
import { useAuth } from '@/hooks/business/auth';
import { useDownload } from '@/hooks/business/download'; import { useDownload } from '@/hooks/business/download';
import { useTable, useTableOperate } from '@/hooks/common/table'; import { useTable, useTableOperate } from '@/hooks/common/table';
import { $t } from '@/locales';
import { emitter } from '../mitt'; import { emitter } from '../mitt';
import DictTypeOperateDrawer from './modules/dict-type-operate-drawer.vue'; import DictTypeOperateDrawer from './modules/dict-type-operate-drawer.vue';
import DictTypeSearch from './modules/dict-type-search.vue'; import DictTypeSearch from './modules/dict-type-search.vue';

View File

@ -1,8 +1,8 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, reactive, watch } from 'vue'; import { computed, reactive, watch } from 'vue';
import { fetchCreateDictType, fetchUpdateDictType } from '@/service/api/system/dict';
import { useFormRules, useNaiveForm } from '@/hooks/common/form'; import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales'; import { $t } from '@/locales';
import { fetchCreateDictType, fetchUpdateDictType } from '@/service/api/system/dict';
defineOptions({ defineOptions({
name: 'DictTypeOperateDrawer' name: 'DictTypeOperateDrawer'

View File

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { $t } from '@/locales';
import { useNaiveForm } from '@/hooks/common/form'; import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'DictTypeSearch' name: 'DictTypeSearch'

View File

@ -1,17 +1,17 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { ref } from 'vue'; import { ref } from 'vue';
import { useBoolean, useLoading } from '@sa/hooks';
import type { DataTableColumns, TreeInst, TreeOption } from 'naive-ui'; import type { DataTableColumns, TreeInst, TreeOption } from 'naive-ui';
import { NButton, NIcon, NInput, NPopconfirm, NTooltip } from 'naive-ui'; import { NButton, NIcon, NInput, NPopconfirm, NTooltip } from 'naive-ui';
import { useBoolean, useLoading } from '@sa/hooks';
import { menuIsFrameRecord, menuTypeRecord } from '@/constants/business';
import { fetchDeleteMenu, fetchGetMenuList } from '@/service/api/system'; import { fetchDeleteMenu, fetchGetMenuList } from '@/service/api/system';
import { useAppStore } from '@/store/modules/app'; import { useAppStore } from '@/store/modules/app';
import { menuIsFrameRecord, menuTypeRecord } from '@/constants/business';
import { $t } from '@/locales';
import { useDict } from '@/hooks/business/dict'; import { useDict } from '@/hooks/business/dict';
import { handleTree } from '@/utils/common';
import { $t } from '@/locales';
import SvgIcon from '@/components/custom/svg-icon.vue'; import SvgIcon from '@/components/custom/svg-icon.vue';
import DictTag from '@/components/custom/dict-tag.vue'; import DictTag from '@/components/custom/dict-tag.vue';
import ButtonIcon from '@/components/custom/button-icon.vue'; import ButtonIcon from '@/components/custom/button-icon.vue';
import { handleTree } from '@/utils/common';
import MenuOperateDrawer from './modules/menu-operate-drawer.vue'; import MenuOperateDrawer from './modules/menu-operate-drawer.vue';
useDict('sys_show_hide'); useDict('sys_show_hide');
useDict('sys_normal_disable'); useDict('sys_normal_disable');

View File

@ -1,13 +1,13 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { computed, reactive, ref, watch } from 'vue'; import { computed, reactive, ref, watch } from 'vue';
import type { SelectOption } from 'naive-ui'; import type { SelectOption } from 'naive-ui';
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
import { fetchCreateMenu, fetchUpdateMenu } from '@/service/api/system';
import { menuIconTypeOptions, menuIsFrameOptions, menuTypeOptions } from '@/constants/business'; import { menuIconTypeOptions, menuIsFrameOptions, menuTypeOptions } from '@/constants/business';
import SvgIcon from '@/components/custom/svg-icon.vue'; import { fetchCreateMenu, fetchUpdateMenu } from '@/service/api/system';
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { getLocalMenuIcons } from '@/utils/icon'; import { getLocalMenuIcons } from '@/utils/icon';
import { humpToLine, isNotNull } from '@/utils/common'; import { humpToLine, isNotNull } from '@/utils/common';
import { $t } from '@/locales';
import SvgIcon from '@/components/custom/svg-icon.vue';
defineOptions({ defineOptions({
name: 'MenuOperateDrawer' name: 'MenuOperateDrawer'

View File

@ -1,12 +1,12 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { NButton, NPopconfirm } from 'naive-ui'; import { NButton, NPopconfirm } from 'naive-ui';
import { $t } from '@/locales';
import { fetchBatchDeleteNotice, fetchGetNoticeList } from '@/service/api/system/notice'; import { fetchBatchDeleteNotice, fetchGetNoticeList } from '@/service/api/system/notice';
import { useAuth } from '@/hooks/business/auth';
import { useAppStore } from '@/store/modules/app'; import { useAppStore } from '@/store/modules/app';
import { useAuth } from '@/hooks/business/auth';
import { useDownload } from '@/hooks/business/download'; import { useDownload } from '@/hooks/business/download';
import { useTable, useTableOperate } from '@/hooks/common/table'; import { useTable, useTableOperate } from '@/hooks/common/table';
import { useDict } from '@/hooks/business/dict'; import { useDict } from '@/hooks/business/dict';
import { $t } from '@/locales';
import DictTag from '@/components/custom/dict-tag.vue'; import DictTag from '@/components/custom/dict-tag.vue';
import NoticeOperateDrawer from './modules/notice-operate-drawer.vue'; import NoticeOperateDrawer from './modules/notice-operate-drawer.vue';
import NoticeSearch from './modules/notice-search.vue'; import NoticeSearch from './modules/notice-search.vue';

View File

@ -1,8 +1,8 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, reactive, watch } from 'vue'; import { computed, reactive, watch } from 'vue';
import { fetchCreateNotice, fetchUpdateNotice } from '@/service/api/system/notice';
import { useFormRules, useNaiveForm } from '@/hooks/common/form'; import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales'; import { $t } from '@/locales';
import { fetchCreateNotice, fetchUpdateNotice } from '@/service/api/system/notice';
defineOptions({ defineOptions({
name: 'NoticeOperateDrawer' name: 'NoticeOperateDrawer'
}); });

View File

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { $t } from '@/locales';
import { useNaiveForm } from '@/hooks/common/form'; import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'NoticeSearch' name: 'NoticeSearch'
}); });

View File

@ -1,16 +1,16 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { ref } from 'vue';
import { NButton, NPopconfirm } from 'naive-ui'; import { NButton, NPopconfirm } from 'naive-ui';
import { useLoading } from '@sa/hooks'; import { useLoading } from '@sa/hooks';
import { ref } from 'vue';
import { fetchBatchDeletePost, fetchGetPostList } from '@/service/api/system/post'; import { fetchBatchDeletePost, fetchGetPostList } from '@/service/api/system/post';
import { fetchGetDeptTree } from '@/service/api/system'; import { fetchGetDeptTree } from '@/service/api/system';
import { $t } from '@/locales';
import { useAuth } from '@/hooks/business/auth';
import { useAppStore } from '@/store/modules/app'; import { useAppStore } from '@/store/modules/app';
import { useAuth } from '@/hooks/business/auth';
import { useDownload } from '@/hooks/business/download'; import { useDownload } from '@/hooks/business/download';
import { useTable, useTableOperate } from '@/hooks/common/table'; import { useTable, useTableOperate } from '@/hooks/common/table';
import DictTag from '@/components/custom/dict-tag.vue';
import { useDict } from '@/hooks/business/dict'; import { useDict } from '@/hooks/business/dict';
import DictTag from '@/components/custom/dict-tag.vue';
import { $t } from '@/locales';
import PostOperateDrawer from './modules/post-operate-drawer.vue'; import PostOperateDrawer from './modules/post-operate-drawer.vue';
import PostSearch from './modules/post-search.vue'; import PostSearch from './modules/post-search.vue';

View File

@ -1,9 +1,9 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, reactive, watch } from 'vue'; import { computed, reactive, watch } from 'vue';
import { useLoading } from '@sa/hooks'; import { useLoading } from '@sa/hooks';
import { fetchCreatePost, fetchUpdatePost } from '@/service/api/system/post';
import { useFormRules, useNaiveForm } from '@/hooks/common/form'; import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales'; import { $t } from '@/locales';
import { fetchCreatePost, fetchUpdatePost } from '@/service/api/system/post';
defineOptions({ defineOptions({
name: 'PostOperateDrawer' name: 'PostOperateDrawer'
}); });

View File

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { $t } from '@/locales';
import { useNaiveForm } from '@/hooks/common/form'; import { useNaiveForm } from '@/hooks/common/form';
import { useDict } from '@/hooks/business/dict'; import { useDict } from '@/hooks/business/dict';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'PostSearch' name: 'PostSearch'
}); });

View File

@ -1,15 +1,15 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { NButton, NPopconfirm } from 'naive-ui';
import { computed } from 'vue'; import { computed } from 'vue';
import { NButton, NPopconfirm } from 'naive-ui';
import { fetchBatchDeleteTenant, fetchGetTenantList, fetchSyncTenantDict } from '@/service/api/system/tenant'; import { fetchBatchDeleteTenant, fetchGetTenantList, fetchSyncTenantDict } from '@/service/api/system/tenant';
import { $t } from '@/locales';
import { useAuth } from '@/hooks/business/auth';
import { useAppStore } from '@/store/modules/app'; import { useAppStore } from '@/store/modules/app';
import { useAuthStore } from '@/store/modules/auth'; import { useAuthStore } from '@/store/modules/auth';
import { useAuth } from '@/hooks/business/auth';
import { useTable, useTableOperate } from '@/hooks/common/table'; import { useTable, useTableOperate } from '@/hooks/common/table';
import DictTag from '@/components/custom/dict-tag.vue';
import { useDownload } from '@/hooks/business/download'; import { useDownload } from '@/hooks/business/download';
import { useDict } from '@/hooks/business/dict'; import { useDict } from '@/hooks/business/dict';
import DictTag from '@/components/custom/dict-tag.vue';
import { $t } from '@/locales';
import TenantOperateDrawer from './modules/tenant-operate-drawer.vue'; import TenantOperateDrawer from './modules/tenant-operate-drawer.vue';
import TenantSearch from './modules/tenant-search.vue'; import TenantSearch from './modules/tenant-search.vue';

View File

@ -1,10 +1,10 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, reactive, ref, watch } from 'vue'; import { computed, reactive, ref, watch } from 'vue';
import { useLoading } from '@sa/hooks'; import { useLoading } from '@sa/hooks';
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
import { fetchCreateTenant, fetchUpdateTenant } from '@/service/api/system/tenant'; import { fetchCreateTenant, fetchUpdateTenant } from '@/service/api/system/tenant';
import { fetchGetTenantPackageSelectList } from '@/service/api/system/tenant-package'; import { fetchGetTenantPackageSelectList } from '@/service/api/system/tenant-package';
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'TenantOperateDrawer' name: 'TenantOperateDrawer'

View File

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { $t } from '@/locales';
import { useNaiveForm } from '@/hooks/common/form'; import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'TenantSearch' name: 'TenantSearch'

View File

@ -1,13 +1,13 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { NButton, NPopconfirm } from 'naive-ui';
import { ref } from 'vue'; import { ref } from 'vue';
import { NButton, NPopconfirm } from 'naive-ui';
import { useLoading } from '@sa/hooks'; import { useLoading } from '@sa/hooks';
import { fetchBatchDeleteUser, fetchGetDeptTree, fetchGetUserList } from '@/service/api/system'; import { fetchBatchDeleteUser, fetchGetDeptTree, fetchGetUserList } from '@/service/api/system';
import { $t } from '@/locales';
import { useAppStore } from '@/store/modules/app'; import { useAppStore } from '@/store/modules/app';
import { useTable, useTableOperate } from '@/hooks/common/table'; import { useTable, useTableOperate } from '@/hooks/common/table';
import DictTag from '@/components/custom/dict-tag.vue';
import { useDict } from '@/hooks/business/dict'; import { useDict } from '@/hooks/business/dict';
import DictTag from '@/components/custom/dict-tag.vue';
import { $t } from '@/locales';
import UserOperateDrawer from './modules/user-operate-drawer.vue'; import UserOperateDrawer from './modules/user-operate-drawer.vue';
import UserSearch from './modules/user-search.vue'; import UserSearch from './modules/user-search.vue';

View File

@ -1,9 +1,9 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed, reactive, watch } from 'vue'; import { computed, reactive, watch } from 'vue';
import { useLoading } from '@sa/hooks'; import { useLoading } from '@sa/hooks';
import { fetchCreateUser, fetchGetUserInfo, fetchUpdateUser } from '@/service/api/system';
import { useFormRules, useNaiveForm } from '@/hooks/common/form'; import { useFormRules, useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales'; import { $t } from '@/locales';
import { fetchCreateUser, fetchGetUserInfo, fetchUpdateUser } from '@/service/api/system';
defineOptions({ defineOptions({
name: 'UserOperateDrawer' name: 'UserOperateDrawer'

View File

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref } from 'vue'; import { ref } from 'vue';
import { $t } from '@/locales';
import { useNaiveForm } from '@/hooks/common/form'; import { useNaiveForm } from '@/hooks/common/form';
import { $t } from '@/locales';
defineOptions({ defineOptions({
name: 'UserSearch' name: 'UserSearch'