diff --git a/.env.production b/.env.production index 93b0b95..a78180a 100644 --- a/.env.production +++ b/.env.production @@ -3,8 +3,12 @@ ENV = 'production' # base api -VUE_APP_BASE_API=https://wx.sstbc.com/ -VUE_APP_UPLOAD_API=https://wx.sstbc.com/api/admin/upload-file + +# VUE_APP_BASE_API=https://wx.sstbc.com/ +# VUE_APP_UPLOAD_API=https://wx.sstbc.com/api/admin/upload-file + +VUE_APP_BASE_API='' +VUE_APP_UPLOAD_API='/api/admin/upload-file' VUE_APP_PRO_API =https://www.sstbc.com diff --git a/src/api/sign/index.js b/src/api/sign/index.js new file mode 100644 index 0000000..7df5626 --- /dev/null +++ b/src/api/sign/index.js @@ -0,0 +1,55 @@ +import request from "@/utils/request"; +function customParamsSerializer(params) { + let result = ''; + for (let key in params) { + if (params.hasOwnProperty(key)) { + if (Array.isArray(params[key])) { + params[key].forEach((item, index) => { + if (item.key) { + result += `${key}[${index}][key]=${item.key}&${key}[${index}][op]=${item.op}&${key}[${index}][value]=${item.value}&`; + + } else { + result += `${key}[${index}]=${item}&` + } + }); + } else { + result += `${key}=${params[key]}&`; + } + } + } + return result.slice(0, -1); +} +export function index(params, isLoading = false) { + return request({ + method: "get", + url: "/api/admin/course-content-check/index", + params, + paramsSerializer: customParamsSerializer, + isLoading + }) +} + +export function show(params, isLoading = true) { + return request({ + method: "get", + url: "/api/admin/course-content-check/show", + params, + isLoading + }) +} + +export function save(data) { + return request({ + method: "post", + url: "/api/admin/course-content-check/save", + data + }) +} + +export function destroy(params) { + return request({ + method: "get", + url: "/api/admin/course-content-check/destroy", + params + }) +} diff --git a/src/mixin/selectMixin.js b/src/mixin/selectMixin.js index 59ae258..b151764 100644 --- a/src/mixin/selectMixin.js +++ b/src/mixin/selectMixin.js @@ -197,4 +197,4 @@ export default { methods: { }, -}; +}; diff --git a/src/views/course/components/editClass.vue b/src/views/course/components/editClass.vue index 57d3eac..c93a5dc 100644 --- a/src/views/course/components/editClass.vue +++ b/src/views/course/components/editClass.vue @@ -78,7 +78,7 @@
- +
diff --git a/src/views/courseQr/components/signList.vue b/src/views/courseQr/components/signList.vue new file mode 100644 index 0000000..ec8f830 --- /dev/null +++ b/src/views/courseQr/components/signList.vue @@ -0,0 +1,392 @@ + + + + + diff --git a/src/views/courseQr/index.vue b/src/views/courseQr/index.vue index c800c6d..b0babb5 100644 --- a/src/views/courseQr/index.vue +++ b/src/views/courseQr/index.vue @@ -95,7 +95,7 @@

- {{ is_arrange === 0 ? selectedCourse.name : selectedCourse.course.name }} + {{ is_arrange === 0 ? (selectedCourse && selectedCourse.name) : (selectedCourse && selectedCourse.course && selectedCourse.course.name) }}

课表信息
- 课程名称:{{ selectedCourse.name }} + 课程名称:{{ selectedCourse && selectedCourse.name }}
- 开始时间:{{ selectedCourse.start_date }} + 开始时间:{{ selectedCourse && selectedCourse.start_date }}
- 结束时间:{{ selectedCourse.end_date }} + 结束时间:{{ selectedCourse && selectedCourse.end_date }}
- 主题:{{ selectedCourse.theme }} + 主题:{{ selectedCourse && selectedCourse.theme }}
- 时间:{{ selectedCourse.date }} - - {{ selectedCourse.period }} + 时间:{{ selectedCourse && selectedCourse.date }} - + {{ selectedCourse && selectedCourse.period }}
- 地点:{{ selectedCourse.address }} + 地点:{{ selectedCourse && selectedCourse.address }}
主讲:{{ - selectedCourse.teacher ? selectedCourse.teacher.name : "" + selectedCourse && selectedCourse.teacher ? selectedCourse.teacher.name : "" }}
- 签到地点:{{ selectedCourse.address_detail || '未设置' }} + 签到地点:{{ selectedCourse && (selectedCourse.address_detail || '未设置') }}
@@ -145,6 +145,13 @@ @click="downloadQR" >下载二维码 + 查看签到记录
@@ -164,6 +171,13 @@
+ @@ -175,12 +189,14 @@ import { } from "@/api/course/courseContent.js"; import editClass from "@/views/course/components/editClass.vue"; import addCourse from "@/views/course/components/addCourse.vue"; +import signList from "@/views/courseQr/components/signList.vue"; import { index as teacherIndex } from "@/api/info/teachers.js"; export default { name: "CourseQr", components: { editClass, addCourse, + signList, }, data() { return { @@ -272,6 +288,8 @@ export default { this.course_id = ""; this.course_date = ""; this.courseContentList = []; + this.selectedCourse = null; + this.qrImgUrl = ""; this.getCourse(e); }, async getCourse() { @@ -281,13 +299,17 @@ export default { filter: [ { key: "course_status", - op: "eq", - value: 10, + op: "in", + value: '10,20,30', }, { key: "is_arrange", op: "eq", value: this.is_arrange ? this.is_arrange : 0, + },{ + key: "is_virtual", + op: "eq", + value: 0, }, ], }); @@ -370,8 +392,8 @@ export default { const link = document.createElement("a"); link.href = this.qrImgUrl; const fileName = this.is_arrange === 0 - ? `${this.selectedCourse.name}-签到二维码.png` - : `${this.selectedCourse.theme}-签到二维码.png`; + ? `${this.selectedCourse && this.selectedCourse.name}-签到二维码.png` + : `${this.selectedCourse && this.selectedCourse.theme}-签到二维码.png`; link.download = fileName; link.target = "_blank"; link.click(); @@ -418,6 +440,15 @@ export default { } }); }, + + // 显示签到记录 + showSignList() { + if (!this.selectedCourse) { + this.$message.warning('请先选择课程或课表'); + return; + } + this.$refs.signList.show(); + }, }, computed: {}, }; diff --git a/src/views/student/search.vue b/src/views/student/search.vue index a02150b..b2e7cfe 100644 --- a/src/views/student/search.vue +++ b/src/views/student/search.vue @@ -660,4 +660,4 @@ } } - + \ No newline at end of file diff --git a/vue.config.js b/vue.config.js index 0ed7363..90cdd01 100644 --- a/vue.config.js +++ b/vue.config.js @@ -28,6 +28,7 @@ module.exports = { */ publicPath: process.env.ENV === 'staging' ? '/admin' : '/admin', outputDir: '/Users/mac/Documents/朗业/2025/s-苏州科技商学院/wx.sstbc.com/public/admin', + // outputDir: '/Users/mac/Documents/朗业/2024/s-苏州科技商学院/wx.sstbc.com/public/admin', assetsDir: 'static', css: { loaderOptions: { // 向 CSS 相关的 loader 传递选项 @@ -63,7 +64,7 @@ module.exports = { pathRewrite: { ['^' + process.env.VUE_APP_PRO_API]: process.env.VUE_APP_PRO_API } - }, + } } }, configureWebpack: {