import SaveForm from '@/components/save-form' import Pagination from '@/components/pagination' import { DataTableColumn, NButton, NDataTable, NDatePicker, NDescriptions, NDescriptionsItem, NFormItem, NInput, NModal, NSelect, NSpace, NTag, useDialog, useMessage } from 'naive-ui' import { defineComponent, onMounted, reactive, ref, provide } from 'vue' import { fetchKnowledgeList, fetchDelKnowledge, knowledgePointStatus } from '../api' import { knowledgeTypeData, lessonType } from '../knowledgeTypeData' import KnowledgeModel from './component/knowledgeModel' import { useRoute, useRouter } from 'vue-router' import { filterTimes, getTimes } from '@/utils/dateUtil' export default defineComponent({ name: 'knowledge-manage', setup() { const router = useRouter() const route = useRoute() const state = reactive({ loading: false, pagination: { page: 1, rows: 10, pageTotal: 0 }, dataList: [] as any, visiableKnowledge: false, modalType: 'add', materail: null as any }) const searchForm = reactive({ keyword: null as any, time: null, courseTypeCode: null, operatorId: null, enableFlag: null }) const dialog = useDialog() const message = useMessage() // 获取知识点列表 const knowledge = reactive({ list: [] as any, index: -1 }) const getList = async () => { try { state.loading = true const { time, ...resset } = searchForm const { data } = await fetchKnowledgeList({ ...resset, ...filterTimes(time, ['startUpdateTime', 'endUpdateTime']), page: state.pagination.page, rows: state.pagination.rows }) state.loading = false state.pagination.pageTotal = Number(data.total) state.dataList = data.rows || [] } catch { state.loading = false } } onMounted(() => { console.log(route.query) if (route.query.keyword) { searchForm.keyword = route.query.keyword } getList() }) // 打开详情 const openDetail = (row: any) => { router.push({ path: '/knowledgeDetail', query: { id: row.id, name: row.name, courseTypeCode: row.courseTypeCode } }) } const columns = (): DataTableColumn[] => { return [ { title: '知识点', key: 'id', render: (row: any) => (