+
-
-
+
+
-
-
-
-
-
+
+
+
+ -
+
+
+
{{ item.name }}
+
+
+ 新增
+
+
+
+
+
+ -
+
+
+
+
+ 课程目标{{ i + 1 }}
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+ {{ obj.content }}
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/src/views/course/CourseObjectives111.vue b/src/views/course/CourseObjectives111.vue
new file mode 100644
index 0000000..8d3b391
--- /dev/null
+++ b/src/views/course/CourseObjectives111.vue
@@ -0,0 +1,476 @@
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
{{ item.specific }}
+
+
+ 新增
+
+
+
+
+
+ -
+
+
+
+ 课程目标{{ i+1 }}
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+ {{ obj.introduce }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/course/basicCourseInformation.vue b/src/views/course/basicCourseInformation.vue
index e374323..34de863 100644
--- a/src/views/course/basicCourseInformation.vue
+++ b/src/views/course/basicCourseInformation.vue
@@ -2,20 +2,18 @@
import { ref, onMounted } from 'vue'
// import axios from 'axios'
import courseEdit from './components/courseEdit.vue'
-import { Plus, Search } from '@element-plus/icons-vue'
+import { Plus } from '@element-plus/icons-vue'
import {
getCourseListApi,
deleteCourseApi,
- getCourseObjectApi,
getTeacherListApi,
} from '../../api/user/crouse'
import { ElMessageBox, ElMessage } from 'element-plus'
// import router from '@/router'
-import { useRouter, useRoute } from 'vue-router'
+import { useRouter } from 'vue-router'
const router = useRouter()
// const route = useRoute()
// console.log(route)
-
// import { client } from '@/utils/alioss.js'
// 课程列表
const courseList = ref([])
@@ -163,12 +161,15 @@ const CloseCouresNameChangeEvent = () => {
-
-
+
@@ -190,22 +191,19 @@ const CloseCouresNameChangeEvent = () => {
-
搜索
重置
-
- -
+
-
-
{{ course_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 资源简介
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
diff --git a/src/views/courseResources/index.vue b/src/views/courseResources/index.vue
index 6b1c643..c26680f 100644
--- a/src/views/courseResources/index.vue
+++ b/src/views/courseResources/index.vue
@@ -7,14 +7,14 @@ import pdf from '@/assets/icons/pdf (1).png'
import test from '@/assets/icons/文件.png'
import audio from '@/assets/icons/音频1.png'
+import { ElMessageBox, ElMessage } from 'element-plus'
import { ref } from 'vue'
-//默认抽屉隐藏
-const visibleDramwer = ref(false)
-//定义一个selectedOption属性,用于存储当前选中的值
-const selectedOption = ref('')
-import { getpptResourceListService } from '@/api/user/resource.js'
-import { DelpptResourceListService } from '@/api/user/resource.js'
+import { LearningRecordsControllerService } from '../../../generated/services/LearningRecordsControllerService'
+import { CourseResourceControllerService } from '../../../generated/services/CourseResourceControllerService'
+
+import resourceAdd from './componse/resourceAdd.vue'
+
const total = ref(0)
const pptresourceList = ref([])
const loading = ref(false)
@@ -27,7 +27,11 @@ const params = ref({
//获取资源列表
const getpptresourceList = async () => {
loading.value = true
- const res = await getpptResourceListService(params.value)
+ const res = await CourseResourceControllerService.getAllUsingGet1(
+ params.value.pagenum,
+ params.value.pagesize,
+ params.value.type,
+ )
pptresourceList.value = res.data.records
console.log(res)
//获取资源列表
@@ -59,81 +63,49 @@ const onCurrentChange = (page) => {
//删除资源 -通过ID进行删除
const onDeleteResource = async (ids) => {
+ console.log(111111111111111)
await ElMessageBox.confirm('你确认删除该条浏览信息吗?', '温馨提示', {
type: 'warning',
confirmButtonText: '确认',
cancelButtonText: '取消',
})
- await DelpptResourceListService(ids)
- // console.log(ids)
+ console.log(ids)
+ await CourseResourceControllerService.deleteRecordsUsingDelete1(ids)
ElMessage({ type: 'success', message: '删除成功' })
getpptresourceList()
}
-//上传文件
-import tool from '@/utils/oss.js'
-const FileList = ref([])
-const upload = async (option) => {
- const res = await tool.oss.upload(option.file)
- console.log(22, res)
- console.log(res.name)
- const url = 'https://wenyu132.oss-cn-beijing.aliyuncs.com/' + res.name
- console.log(url)
+
+const param = ref({
+ coursesId: '',
+ userId: '1',
+ open: '1',
+ download: '0',
+ content: '',
+ address: '/portal',
+ type: '4',
+})
+//点击生成浏览记录
+const generateRecords = async (rescource) => {
+ param.value.content = rescource.img
+ param.value.coursesId = rescource.id.toString()
+ await LearningRecordsControllerService.saveRecordsUsingPost1(param.value)
+ // console.log(param)
+}
+
+const resourceAddRef = ref()
+//添加资源
+const onAddResource = () => {
+ resourceAddRef.value.open({})
+}
+//编辑资源
+const onEditResource = (row) => {
+ resourceAddRef.value.open(row)
}
-
添加资源
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 点击上传
-
-
- 只能上传jpg/png文件,且不超过500kb
-
-
-
-
-
-
- 取消
- 确定
-
-
-
+
添加资源
@@ -155,7 +127,7 @@ const upload = async (option) => {
-
+
@@ -165,13 +137,13 @@ const upload = async (option) => {
-
-
+
@@ -179,7 +151,7 @@ const upload = async (option) => {
文件
-
+
@@ -201,14 +173,14 @@ const upload = async (option) => {
>
-
+
-
+
-
+
@@ -235,6 +207,11 @@ const upload = async (option) => {
style="margin-top: 20px; justify-content: flex-end"
/>
+
+
diff --git a/vite.config.ts.timestamp-1718268044772-4deaaf3aeef01.mjs b/vite.config.ts.timestamp-1718268044772-4deaaf3aeef01.mjs
new file mode 100644
index 0000000..91a14a7
--- /dev/null
+++ b/vite.config.ts.timestamp-1718268044772-4deaaf3aeef01.mjs
@@ -0,0 +1,40 @@
+// vite.config.ts
+import vue from "file:///D:/aaa/teaching/Teaching_integration_platform_admin_template/node_modules/.pnpm/@vitejs+plugin-vue@5.0.4_vite@5.1.4_vue@3.4.19/node_modules/@vitejs/plugin-vue/dist/index.mjs";
+import path from "path";
+import { viteMockServe } from "file:///D:/aaa/teaching/Teaching_integration_platform_admin_template/node_modules/.pnpm/vite-plugin-mock@3.0.1_esbuild@0.19.12_mockjs@1.1.0_vite@5.1.4/node_modules/vite-plugin-mock/dist/index.mjs";
+import { createSvgIconsPlugin } from "file:///D:/aaa/teaching/Teaching_integration_platform_admin_template/node_modules/.pnpm/vite-plugin-svg-icons@2.0.1_vite@5.1.4/node_modules/vite-plugin-svg-icons/dist/index.mjs";
+var vite_config_default = ({ command }) => {
+ return {
+ plugins: [
+ vue(),
+ viteMockServe({
+ enable: command === "serve"
+ }),
+ createSvgIconsPlugin({
+ // Specify the icon folder to be cached
+ iconDirs: [path.resolve(process.cwd(), "src/assets/icons")],
+ // Specify symbolId format
+ symbolId: "icon-[dir]-[name]"
+ })
+ ],
+ resolve: {
+ alias: {
+ "@": path.resolve("./src")
+ // 相对路径别名配置,使用 @ 代替 src
+ }
+ },
+ // 配置scss
+ css: {
+ preprocessorOptions: {
+ scss: {
+ javascriptEnabled: true,
+ additionalData: '@import "./src/styles/variable.scss";'
+ }
+ }
+ }
+ };
+};
+export {
+ vite_config_default as default
+};
+//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxhYWFcXFxcdGVhY2hpbmdcXFxcVGVhY2hpbmdfaW50ZWdyYXRpb25fcGxhdGZvcm1fYWRtaW5fdGVtcGxhdGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXGFhYVxcXFx0ZWFjaGluZ1xcXFxUZWFjaGluZ19pbnRlZ3JhdGlvbl9wbGF0Zm9ybV9hZG1pbl90ZW1wbGF0ZVxcXFx2aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovYWFhL3RlYWNoaW5nL1RlYWNoaW5nX2ludGVncmF0aW9uX3BsYXRmb3JtX2FkbWluX3RlbXBsYXRlL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAndml0ZSdcclxuaW1wb3J0IHZ1ZSBmcm9tICdAdml0ZWpzL3BsdWdpbi12dWUnXHJcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnXHJcbi8vIFx1NUJGQ1x1NTE2NW1vY2tcdTYzRDJcdTRFRjZcclxuaW1wb3J0IHsgdml0ZU1vY2tTZXJ2ZSB9IGZyb20gJ3ZpdGUtcGx1Z2luLW1vY2snXHJcbi8vIFx1NUJGQ1x1NTE2NXN2Z1x1OTE0RFx1N0Y2RVx1NjNEMlx1NEVGNlxyXG5pbXBvcnQgeyBjcmVhdGVTdmdJY29uc1BsdWdpbiB9IGZyb20gJ3ZpdGUtcGx1Z2luLXN2Zy1pY29ucydcclxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cclxuZXhwb3J0IGRlZmF1bHQgKHsgY29tbWFuZCB9OiBhbnkpID0+IHtcclxuICByZXR1cm4ge1xyXG4gICAgcGx1Z2luczogW1xyXG4gICAgICB2dWUoKSxcclxuICAgICAgdml0ZU1vY2tTZXJ2ZSh7XHJcbiAgICAgICAgZW5hYmxlOiBjb21tYW5kID09PSAnc2VydmUnLFxyXG4gICAgICB9KSxcclxuICAgICAgY3JlYXRlU3ZnSWNvbnNQbHVnaW4oe1xyXG4gICAgICAgIC8vIFNwZWNpZnkgdGhlIGljb24gZm9sZGVyIHRvIGJlIGNhY2hlZFxyXG4gICAgICAgIGljb25EaXJzOiBbcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksICdzcmMvYXNzZXRzL2ljb25zJyldLFxyXG4gICAgICAgIC8vIFNwZWNpZnkgc3ltYm9sSWQgZm9ybWF0XHJcbiAgICAgICAgc3ltYm9sSWQ6ICdpY29uLVtkaXJdLVtuYW1lXScsXHJcbiAgICAgIH0pLFxyXG4gICAgXSxcclxuICAgIHJlc29sdmU6IHtcclxuICAgICAgYWxpYXM6IHtcclxuICAgICAgICAnQCc6IHBhdGgucmVzb2x2ZSgnLi9zcmMnKSwgLy8gXHU3NkY4XHU1QkY5XHU4REVGXHU1Rjg0XHU1MjJCXHU1NDBEXHU5MTREXHU3RjZFXHVGRjBDXHU0RjdGXHU3NTI4IEAgXHU0RUUzXHU2NkZGIHNyY1xyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIC8vIFx1OTE0RFx1N0Y2RXNjc3NcclxuICAgIGNzczoge1xyXG4gICAgICBwcmVwcm9jZXNzb3JPcHRpb25zOiB7XHJcbiAgICAgICAgc2Nzczoge1xyXG4gICAgICAgICAgamF2YXNjcmlwdEVuYWJsZWQ6IHRydWUsXHJcbiAgICAgICAgICBhZGRpdGlvbmFsRGF0YTogJ0BpbXBvcnQgXCIuL3NyYy9zdHlsZXMvdmFyaWFibGUuc2Nzc1wiOycsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfVxyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxPQUFPLFNBQVM7QUFDaEIsT0FBTyxVQUFVO0FBRWpCLFNBQVMscUJBQXFCO0FBRTlCLFNBQVMsNEJBQTRCO0FBRXJDLElBQU8sc0JBQVEsQ0FBQyxFQUFFLFFBQVEsTUFBVztBQUNuQyxTQUFPO0FBQUEsSUFDTCxTQUFTO0FBQUEsTUFDUCxJQUFJO0FBQUEsTUFDSixjQUFjO0FBQUEsUUFDWixRQUFRLFlBQVk7QUFBQSxNQUN0QixDQUFDO0FBQUEsTUFDRCxxQkFBcUI7QUFBQTtBQUFBLFFBRW5CLFVBQVUsQ0FBQyxLQUFLLFFBQVEsUUFBUSxJQUFJLEdBQUcsa0JBQWtCLENBQUM7QUFBQTtBQUFBLFFBRTFELFVBQVU7QUFBQSxNQUNaLENBQUM7QUFBQSxJQUNIO0FBQUEsSUFDQSxTQUFTO0FBQUEsTUFDUCxPQUFPO0FBQUEsUUFDTCxLQUFLLEtBQUssUUFBUSxPQUFPO0FBQUE7QUFBQSxNQUMzQjtBQUFBLElBQ0Y7QUFBQTtBQUFBLElBRUEsS0FBSztBQUFBLE1BQ0gscUJBQXFCO0FBQUEsUUFDbkIsTUFBTTtBQUFBLFVBQ0osbUJBQW1CO0FBQUEsVUFDbkIsZ0JBQWdCO0FBQUEsUUFDbEI7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K