瀏覽代碼

feat(other): 添加event事件模块

Yi 2 年之前
父節點
當前提交
1eb2d64259

+ 3 - 0
.vscode/settings.json

@@ -0,0 +1,3 @@
+{
+  "i18n-ally.localesPaths": ["src/locales", "src/locales/lang"]
+}

+ 0 - 1
src/router/modules/background.ts

@@ -1,4 +1,3 @@
-// @ts-ignore
 const dashboard: AuthRoute.Route = {
   name: 'background',
   path: '/background',

+ 27 - 0
src/service/api/event.adapter.ts

@@ -0,0 +1,27 @@
+export function adapterOfFetchFieldList(data: ApiBackground.Field[] | null): BackgroundField.Field[] {
+  if (!data) return [];
+
+  return data.map((item, index) => {
+    const user: BackgroundField.Field = {
+      index: index + 1,
+      key: item.id,
+      ...item
+    };
+
+    return user;
+  });
+}
+
+export function adapterOfFetchEventList(data: ApiBackground.Event[] | null): BackgroundEvent.Event[] {
+  if (!data) return [];
+
+  return data.map((item, index) => {
+    const user: BackgroundEvent.Event = {
+      index: index + 1,
+      key: item.id,
+      ...item
+    };
+
+    return user;
+  });
+}

+ 14 - 0
src/service/api/event.ts

@@ -0,0 +1,14 @@
+import { adapter } from '@/utils';
+import { adapterOfFetchEventList, adapterOfFetchFieldList } from '@/service/api/event.adapter';
+import { backgroundRequest } from '../request';
+
+/** 获取用户列表 */
+export const fetchFieldList = async () => {
+  const data = await backgroundRequest.post<ApiBackground.Field[] | null>('/kpt/field/search');
+  return adapter(adapterOfFetchFieldList, data);
+};
+
+export const fetchEventList = async () => {
+  const data = await backgroundRequest.post<ApiBackground.Event[] | null>('/kpt/event/search');
+  return adapter(adapterOfFetchEventList, data);
+};

+ 2 - 0
src/service/request/index.ts

@@ -8,3 +8,5 @@ const isHttpProxy = import.meta.env.VITE_HTTP_PROXY === 'Y';
 export const request = createRequest({ baseURL: isHttpProxy ? proxyPattern : url });
 
 export const mockRequest = createRequest({ baseURL: '/mock' });
+
+export const backgroundRequest = createRequest({ baseURL: '/api/v1' });

+ 2 - 2
src/typings/business.d.ts

@@ -49,7 +49,7 @@ declare namespace BackgroundField {
     /** 序号 */
     index: number;
     /** 表格的key(id) */
-    key: string;
+    key: number;
   }
 
   /**
@@ -83,7 +83,7 @@ declare namespace BackgroundEvent {
     /** 序号 */
     index: number;
     /** 表格的key(id) */
-    key: string;
+    key: number;
   }
 
   /**

+ 1 - 1
src/typings/event.d.ts

@@ -11,7 +11,7 @@ declare namespace ApiBackground {
      * 1:是
      * 2: 否
      */
-    isShow: 0 | 1 | 2 | null;
+    isShow: boolean;
     /**
      * 是否删除
      * 1 是

+ 2 - 2
src/typings/page-route.d.ts

@@ -27,8 +27,8 @@ declare namespace PageRoute {
     | 'auth-demo_permission'
     | 'auth-demo_super'
     | 'background'
-    | 'background_field'
     | 'background_event'
+    | 'background_field'
     | 'component'
     | 'component_button'
     | 'component_card'
@@ -89,8 +89,8 @@ declare namespace PageRoute {
     | 'about'
     | 'auth-demo_permission'
     | 'auth-demo_super'
-    | 'background_field'
     | 'background_event'
+    | 'background_field'
     | 'component_button'
     | 'component_card'
     | 'component_table'

+ 1 - 1
src/views/background/event/components/table-action-modal.vue

@@ -86,7 +86,7 @@ const rules: Record<keyof FormModel, FormItemRule | FormItemRule[]> = {
 function createDefaultFormModel(): FormModel {
   return {
     name: '',
-    isShow: 0,
+    isShow: true,
     remarks: '',
     conditions: ''
   };

+ 10 - 10
src/views/background/event/index.vue

@@ -34,22 +34,22 @@ import { reactive, ref } from 'vue';
 import type { Ref } from 'vue';
 import { NButton, NPopconfirm, NSpace } from 'naive-ui';
 import type { DataTableColumns, PaginationProps } from 'naive-ui';
-import { fetchUserList } from '@/service';
 import { useBoolean, useLoading } from '@/hooks';
+import { fetchEventList } from '@/service/api/event';
 import TableActionModal from './components/table-action-modal.vue';
 import type { ModalType } from './components/table-action-modal.vue';
 
 const { loading, startLoading, endLoading } = useLoading(false);
 const { bool: visible, setTrue: openModal } = useBoolean();
 const eventName = ref('');
-const tableData = ref<UserManagement.User[]>([]);
-function setTableData(data: UserManagement.User[]) {
+const tableData = ref<BackgroundEvent.Event[]>([]);
+function setTableData(data: BackgroundEvent.Event[]) {
   tableData.value = data;
 }
 
 async function getTableData() {
   startLoading();
-  const { data } = await fetchUserList();
+  const { data } = await fetchEventList();
   if (data) {
     setTimeout(() => {
       setTableData(data);
@@ -58,7 +58,7 @@ async function getTableData() {
   }
 }
 
-const columns: Ref<DataTableColumns<UserManagement.User>> = ref([
+const columns: Ref<DataTableColumns<BackgroundEvent.Event>> = ref([
   {
     type: 'selection',
     align: 'center'
@@ -120,7 +120,7 @@ const columns: Ref<DataTableColumns<UserManagement.User>> = ref([
       );
     }
   }
-]) as Ref<DataTableColumns<UserManagement.User>>;
+]) as Ref<DataTableColumns<BackgroundEvent.Event>>;
 
 const modalType = ref<ModalType>('add');
 
@@ -128,9 +128,9 @@ function setModalType(type: ModalType) {
   modalType.value = type;
 }
 
-const editData = ref<UserManagement.User | null>(null);
+const editData = ref<BackgroundEvent.Event | null>(null);
 
-function setEditData(data: UserManagement.User | null) {
+function setEditData(data: BackgroundEvent.Event | null) {
   editData.value = data;
 }
 
@@ -139,7 +139,7 @@ function handleAddTable() {
   setModalType('add');
 }
 
-function handleEditTable(rowId: string) {
+function handleEditTable(rowId: number) {
   const findItem = tableData.value.find(item => item.id === rowId);
   if (findItem) {
     setEditData(findItem);
@@ -148,7 +148,7 @@ function handleEditTable(rowId: string) {
   openModal();
 }
 
-function handleDeleteTable(rowId: string) {
+function handleDeleteTable(rowId: number) {
   window.$message?.info(`点击了删除,rowId为${rowId}`);
 }
 

+ 10 - 10
src/views/background/field/index.vue

@@ -34,22 +34,22 @@ import { reactive, ref } from 'vue';
 import type { Ref } from 'vue';
 import { NButton, NPopconfirm, NSpace } from 'naive-ui';
 import type { DataTableColumns, PaginationProps } from 'naive-ui';
-import { fetchUserList } from '@/service';
 import { useBoolean, useLoading } from '@/hooks';
+import { fetchFieldList } from '@/service/api/event';
 import TableActionModal from './components/table-action-modal.vue';
 import type { ModalType } from './components/table-action-modal.vue';
 
 const { loading, startLoading, endLoading } = useLoading(false);
 const { bool: visible, setTrue: openModal } = useBoolean();
 const fieldName = ref('');
-const tableData = ref<UserManagement.User[]>([]);
-function setTableData(data: UserManagement.User[]) {
+const tableData = ref<BackgroundField.Field[]>([]);
+function setTableData(data: BackgroundField.Field[]) {
   tableData.value = data;
 }
 
 async function getTableData() {
   startLoading();
-  const { data } = await fetchUserList();
+  const { data } = await fetchFieldList();
   if (data) {
     setTimeout(() => {
       setTableData(data);
@@ -58,7 +58,7 @@ async function getTableData() {
   }
 }
 
-const columns: Ref<DataTableColumns<UserManagement.User>> = ref([
+const columns: Ref<DataTableColumns<BackgroundField.Field>> = ref([
   {
     type: 'selection',
     align: 'center'
@@ -118,7 +118,7 @@ const columns: Ref<DataTableColumns<UserManagement.User>> = ref([
       );
     }
   }
-]) as Ref<DataTableColumns<UserManagement.User>>;
+]) as Ref<DataTableColumns<BackgroundField.Field>>;
 
 const modalType = ref<ModalType>('add');
 
@@ -126,9 +126,9 @@ function setModalType(type: ModalType) {
   modalType.value = type;
 }
 
-const editData = ref<UserManagement.User | null>(null);
+const editData = ref<BackgroundField.Field | null>(null);
 
-function setEditData(data: UserManagement.User | null) {
+function setEditData(data: BackgroundField.Field | null) {
   editData.value = data;
 }
 
@@ -137,7 +137,7 @@ function handleAddTable() {
   setModalType('add');
 }
 
-function handleEditTable(rowId: string) {
+function handleEditTable(rowId: number) {
   const findItem = tableData.value.find(item => item.id === rowId);
   if (findItem) {
     setEditData(findItem);
@@ -146,7 +146,7 @@ function handleEditTable(rowId: string) {
   openModal();
 }
 
-function handleDeleteTable(rowId: string) {
+function handleDeleteTable(rowId: number) {
   window.$message?.info(`点击了删除,rowId为${rowId}`);
 }
 

+ 1 - 1
src/views/index.ts

@@ -13,8 +13,8 @@ export const views: Record<
   about: () => import('./about/index.vue'),
   'auth-demo_permission': () => import('./auth-demo/permission/index.vue'),
   'auth-demo_super': () => import('./auth-demo/super/index.vue'),
-  background_field: () => import('./background/field/index.vue'),
   background_event: () => import('./background/event/index.vue'),
+  background_field: () => import('./background/field/index.vue'),
   component_button: () => import('./component/button/index.vue'),
   component_card: () => import('./component/card/index.vue'),
   component_table: () => import('./component/table/index.vue'),