愿你天天开心 9 місяців тому
батько
коміт
dc0d925ab1

+ 3 - 1
src/api/kenowledge/index.ts

@@ -15,7 +15,9 @@ export const fetchReports = (params: QueryParams): AxiosPromise<FetchReportsResp
       publishDate: params.publishDate,  // 发布日期范围(可选)
       subject: params.subject,  // 关键字(可选)
       sortBy: params.sortBy, // 排序字段
-      sortOrder: params.sortOrder  // 排序方式
+      sortOrder: params.sortOrder, // 排序方式
+      query: params.query,
+      publishDateRange: params.publishDateRange,
     }
   });
 };

+ 2 - 0
src/api/kenowledge/types.ts

@@ -10,6 +10,8 @@ export interface QueryParams {
   subject?: string;
   sortBy: string;
   sortOrder: string;
+  query: string;
+  publishDateRange?: string;
 }
 
 // 定义报告项的类型

+ 29 - 0
src/types/components.d.ts

@@ -16,40 +16,69 @@ declare module 'vue' {
     CompanyMap: typeof import('./../components/Map/company-map.vue')['default']
     DictTag: typeof import('./../components/DictTag/index.vue')['default']
     Editor: typeof import('./../components/Editor/index.vue')['default']
+    ElAnchor: typeof import('element-plus/es')['ElAnchor']
+    ElAnchorLink: typeof import('element-plus/es')['ElAnchorLink']
+    ElAutocomplete: typeof import('element-plus/es')['ElAutocomplete']
+    ElBadge: typeof import('element-plus/es')['ElBadge']
+    ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
+    ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
     ElButton: typeof import('element-plus/es')['ElButton']
     ElCard: typeof import('element-plus/es')['ElCard']
     ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
     ElCol: typeof import('element-plus/es')['ElCol']
+    ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
     ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
+    ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
+    ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem']
     ElDialog: typeof import('element-plus/es')['ElDialog']
     ElDivider: typeof import('element-plus/es')['ElDivider']
+    ElDrawer: typeof import('element-plus/es')['ElDrawer']
+    ElDropdown: typeof import('element-plus/es')['ElDropdown']
+    ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
+    ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
+    ElEmpty: typeof import('element-plus/es')['ElEmpty']
     ElForm: typeof import('element-plus/es')['ElForm']
     ElFormItem: typeof import('element-plus/es')['ElFormItem']
     ElIcon: typeof import('element-plus/es')['ElIcon']
+    ElImage: typeof import('element-plus/es')['ElImage']
     ElInput: typeof import('element-plus/es')['ElInput']
     ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
     ElLink: typeof import('element-plus/es')['ElLink']
+    ElMenu: typeof import('element-plus/es')['ElMenu']
+    ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
     ElOption: typeof import('element-plus/es')['ElOption']
+    ElPagination: typeof import('element-plus/es')['ElPagination']
+    ElPopover: typeof import('element-plus/es')['ElPopover']
+    ElProgress: typeof import('element-plus/es')['ElProgress']
     ElRadio: typeof import('element-plus/es')['ElRadio']
     ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElRow: typeof import('element-plus/es')['ElRow']
+    ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
     ElSelect: typeof import('element-plus/es')['ElSelect']
     ElStep: typeof import('element-plus/es')['ElStep']
     ElSteps: typeof import('element-plus/es')['ElSteps']
+    ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
     ElSwitch: typeof import('element-plus/es')['ElSwitch']
     ElTable: typeof import('element-plus/es')['ElTable']
     ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
     ElTabPane: typeof import('element-plus/es')['ElTabPane']
     ElTabs: typeof import('element-plus/es')['ElTabs']
     ElTag: typeof import('element-plus/es')['ElTag']
+    ElText: typeof import('element-plus/es')['ElText']
     ElTimeline: typeof import('element-plus/es')['ElTimeline']
     ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
     ElTooltip: typeof import('element-plus/es')['ElTooltip']
+    ElTree: typeof import('element-plus/es')['ElTree']
+    ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
+    ElUpload: typeof import('element-plus/es')['ElUpload']
     FileUpload: typeof import('./../components/FileUpload/index.vue')['default']
     Hamburger: typeof import('./../components/Hamburger/index.vue')['default']
     HeaderSearch: typeof import('./../components/HeaderSearch/index.vue')['default']
     IconSelect: typeof import('./../components/IconSelect/index.vue')['default']
+    IEpCaretBottom: typeof import('~icons/ep/caret-bottom')['default']
+    IEpCaretTop: typeof import('~icons/ep/caret-top')['default']
+    IEpUploadFilled: typeof import('~icons/ep/upload-filled')['default']
     IFrame: typeof import('./../components/iFrame/index.vue')['default']
     ImagePreview: typeof import('./../components/ImagePreview/index.vue')['default']
     ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default']

+ 26 - 3
src/views/knowledge/knowledge-management/index.vue

@@ -25,7 +25,7 @@
             ></el-date-picker>
           </el-form-item>
           <el-form-item>
-            <el-input v-model="queryParams.subject" placeholder="请输入报告的关键词/主题词" clearable
+            <el-input v-model="queryParams.query" placeholder="请输入报告的名称" clearable
                       @keyup.enter="handleQuery"/>
           </el-form-item>
           <el-form-item>
@@ -155,7 +155,9 @@ let proxy = getCurrentInstance()?.proxy;
 const { mm_event_type } = toRefs<any>(proxy?.useDict('mm_event_type'));
 const chunkUploadRef = ref(null);
 
+// 这是是查询条件
 const queryParams = reactive<QueryParams>({
+  query: "",
   pageNum: 1,
   pageSize: 10,
   eventType: '',
@@ -163,6 +165,7 @@ const queryParams = reactive<QueryParams>({
   subject: '',
   sortBy: 'publishDate',
   sortOrder: 'desc',
+  publishDateRange: ''
 });
  // 表单数据
 const form = reactive<AddReportParams>({
@@ -196,9 +199,27 @@ const dialog = reactive({
 const getList = async () => {
   loading.value = true;
   try {
-    const response = await fetchReports(queryParams);
+    // 这里格式化日期范围参数
+    // 将-分割转换为/分割
+
+    const [startDate, endDate] = queryParams.publishDate;
+    const formattedStartDate = startDate ? startDate.replace(/-/g, '/') : '';
+    const formattedEndDate = endDate ? endDate.replace(/-/g, '/') : '';
+    console.log('startDate:', startDate, 'endDate:', endDate);
+    const publishDateRange = formattedStartDate && formattedEndDate ? `${formattedStartDate}-${formattedEndDate}` : '';
+    console.log('publishDateRange:', publishDateRange);
+
+
+    // 构建新的请求参数对象
+    const requestParams = {
+      ...queryParams,
+      publishDateRange, // 添加新的日期范围参数
+      publishDate: undefined, // 移除原来的 publishDate 参数
+    };
+
+    const response = await fetchReports(requestParams);
+
     if (response && response.code === 200) {
-      // 去掉日期字符串中的 'T'
       demoList.value = response.data.map((item: ReportItem) => {
         return {
           ...item,
@@ -221,6 +242,8 @@ const getList = async () => {
 };
 
 
+
+
 const handleQuery = () => {
   queryParams.pageNum = 1;
   getList();