|
@@ -1,12 +1,14 @@
|
|
|
import { makeAutoObservable } from 'mobx';
|
|
import { makeAutoObservable } from 'mobx';
|
|
|
import { message } from 'antd';
|
|
import { message } from 'antd';
|
|
|
-import { apis } from '@/apis';
|
|
|
|
|
|
|
+import { apis, CreateOrModifyKnowledgeLibApiParams } from '@/apis';
|
|
|
import { State, ReadonlyState, StateAction, KnowledgeLibListStore } from './types';
|
|
import { State, ReadonlyState, StateAction, KnowledgeLibListStore } from './types';
|
|
|
|
|
|
|
|
// 定义状态
|
|
// 定义状态
|
|
|
const stateGenerator = (): ReadonlyState => ({
|
|
const stateGenerator = (): ReadonlyState => ({
|
|
|
listLoading: false,
|
|
listLoading: false,
|
|
|
list: [],
|
|
list: [],
|
|
|
|
|
+ infoModalId: '',
|
|
|
|
|
+ infoModalOpen: false,
|
|
|
page: {
|
|
page: {
|
|
|
pageNumber: 1,
|
|
pageNumber: 1,
|
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
@@ -23,6 +25,12 @@ const stateActionsGenerator = (state: State): StateAction => {
|
|
|
setList: (list) => {
|
|
setList: (list) => {
|
|
|
state.list = list;
|
|
state.list = list;
|
|
|
},
|
|
},
|
|
|
|
|
+ setInfoModalId: (id) => {
|
|
|
|
|
+ state.infoModalId = id;
|
|
|
|
|
+ },
|
|
|
|
|
+ setInfoModalOpen: (open) => {
|
|
|
|
|
+ state.infoModalOpen = open;
|
|
|
|
|
+ },
|
|
|
setPage: (page) => {
|
|
setPage: (page) => {
|
|
|
state.page = page;
|
|
state.page = page;
|
|
|
},
|
|
},
|
|
@@ -55,6 +63,28 @@ const useKnowledgeLibListStore = (): KnowledgeLibListStore => {
|
|
|
actions.setListLoading(false);
|
|
actions.setListLoading(false);
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
+ // 创建知识库
|
|
|
|
|
+ createKnowledgeLib: async (data: CreateOrModifyKnowledgeLibApiParams) => {
|
|
|
|
|
+ try {
|
|
|
|
|
+ await apis.createKnowledgeLib(data);
|
|
|
|
|
+ // 获取知识库列表
|
|
|
|
|
+ await api.fetchKnowledgeLibList();
|
|
|
|
|
+ message.success('创建成功');
|
|
|
|
|
+ } catch (error: any) {
|
|
|
|
|
+ message.error(error.msg);
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ // 修改知识库
|
|
|
|
|
+ modifyKnowledgeLib: async (knowledgeId: string, data: CreateOrModifyKnowledgeLibApiParams) => {
|
|
|
|
|
+ try {
|
|
|
|
|
+ await apis.modifyKnowledgeLib(knowledgeId, data);
|
|
|
|
|
+ // 获取知识库列表
|
|
|
|
|
+ await api.fetchKnowledgeLibList();
|
|
|
|
|
+ message.success('修改成功');
|
|
|
|
|
+ } catch (error: any) {
|
|
|
|
|
+ message.error(error.msg);
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
// 删除知识库
|
|
// 删除知识库
|
|
|
deleteKnowledgeLib: async (knowledgeId: string) => {
|
|
deleteKnowledgeLib: async (knowledgeId: string) => {
|
|
|
try {
|
|
try {
|
|
@@ -79,6 +109,42 @@ const useKnowledgeLibListStore = (): KnowledgeLibListStore => {
|
|
|
await api.fetchKnowledgeLibList();
|
|
await api.fetchKnowledgeLibList();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 点击创建
|
|
|
|
|
+ const onClickCreate: KnowledgeLibListStore['onClickCreate'] = () => {
|
|
|
|
|
+ const initialInfoModalId = stateGenerator().infoModalId;
|
|
|
|
|
+
|
|
|
|
|
+ actions.setInfoModalId(initialInfoModalId);
|
|
|
|
|
+ actions.setInfoModalOpen(true);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 点击修改
|
|
|
|
|
+ const onClickModify: KnowledgeLibListStore['onClickModify'] = (knowledgeId) => {
|
|
|
|
|
+ actions.setInfoModalId(knowledgeId);
|
|
|
|
|
+ actions.setInfoModalOpen(true);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 信息弹出层-点击确定
|
|
|
|
|
+ const infoModalOnClickConfirm: KnowledgeLibListStore['infoModalOnClickConfirm'] = async (knowledgeId, data) => {
|
|
|
|
|
+ const initialInfoModalOpen = stateGenerator().infoModalOpen;
|
|
|
|
|
+
|
|
|
|
|
+ actions.setInfoModalOpen(initialInfoModalOpen);
|
|
|
|
|
+
|
|
|
|
|
+ if (knowledgeId) {
|
|
|
|
|
+ // 修改知识库
|
|
|
|
|
+ await api.modifyKnowledgeLib(knowledgeId, data);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 创建知识库
|
|
|
|
|
+ await api.createKnowledgeLib(data);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 信息弹出层-点击取消
|
|
|
|
|
+ const infoModalOnClickCancel: KnowledgeLibListStore['infoModalOnClickCancel'] = () => {
|
|
|
|
|
+ const initialInfoModalOpen = stateGenerator().infoModalOpen;
|
|
|
|
|
+
|
|
|
|
|
+ actions.setInfoModalOpen(initialInfoModalOpen);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// 点击删除
|
|
// 点击删除
|
|
|
const onClickDelete: KnowledgeLibListStore['onClickDelete'] = async (knowledgeId) => {
|
|
const onClickDelete: KnowledgeLibListStore['onClickDelete'] = async (knowledgeId) => {
|
|
|
// 删除知识库
|
|
// 删除知识库
|
|
@@ -95,16 +161,24 @@ const useKnowledgeLibListStore = (): KnowledgeLibListStore => {
|
|
|
const reset: KnowledgeLibListStore['reset'] = () => {
|
|
const reset: KnowledgeLibListStore['reset'] = () => {
|
|
|
const initialListLoading = stateGenerator().listLoading;
|
|
const initialListLoading = stateGenerator().listLoading;
|
|
|
const initialList = stateGenerator().list;
|
|
const initialList = stateGenerator().list;
|
|
|
|
|
+ const initialInfoModalId = stateGenerator().infoModalId;
|
|
|
|
|
+ const initialInfoModalOpen = stateGenerator().infoModalOpen;
|
|
|
const initialPage = stateGenerator().page;
|
|
const initialPage = stateGenerator().page;
|
|
|
|
|
|
|
|
actions.setListLoading(initialListLoading);
|
|
actions.setListLoading(initialListLoading);
|
|
|
actions.setList(initialList);
|
|
actions.setList(initialList);
|
|
|
|
|
+ actions.setInfoModalId(initialInfoModalId);
|
|
|
|
|
+ actions.setInfoModalOpen(initialInfoModalOpen);
|
|
|
actions.setPage(initialPage);
|
|
actions.setPage(initialPage);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return {
|
|
return {
|
|
|
state,
|
|
state,
|
|
|
onChangePagination,
|
|
onChangePagination,
|
|
|
|
|
+ onClickCreate,
|
|
|
|
|
+ onClickModify,
|
|
|
|
|
+ infoModalOnClickConfirm,
|
|
|
|
|
+ infoModalOnClickCancel,
|
|
|
onClickDelete,
|
|
onClickDelete,
|
|
|
init,
|
|
init,
|
|
|
reset
|
|
reset
|