diff --git a/src/api/calendars/index.js b/src/api/calendars/index.js new file mode 100644 index 0000000..1f5b054 --- /dev/null +++ b/src/api/calendars/index.js @@ -0,0 +1,60 @@ +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/calendars/index", + params, + paramsSerializer: customParamsSerializer, + isLoading + }) +} + +export function show(params, isLoading = true) { + return request({ + method: "get", + url: "/api/admin/calendars/show", + params, + isLoading + }) +} + + +export function save(data) { + return request({ + method: "post", + url: "/api/admin/calendars/save", + data + }) +} + +export function destroy(params) { + return request({ + method: "get", + url: "/api/admin/calendars/destroy", + params + }) +} + + + diff --git a/src/views/calendar/components/addCalendar.vue b/src/views/calendar/components/addCalendar.vue new file mode 100644 index 0000000..3a4315a --- /dev/null +++ b/src/views/calendar/components/addCalendar.vue @@ -0,0 +1,321 @@ + + + + + diff --git a/src/views/calendar/index.vue b/src/views/calendar/index.vue index 39303f0..637e572 100644 --- a/src/views/calendar/index.vue +++ b/src/views/calendar/index.vue @@ -25,7 +25,7 @@ @click="fetchData">拉取并关联 新建日历事件 + @click="openCreateModal('add')">新建日历事件
@@ -55,75 +55,14 @@ style="margin-left:8px;">到期后:{{ expireText(ev.expire) }}
- 编辑 + 编辑
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 取消 - 保存 -
-
- - -
- {{ eventDetail.title }} - {{ typeText(eventDetail.className) }} -
- {{ eventDetail.start | formatDateTime }} ~ - {{ eventDetail.end | formatDateTime }} -
-
{{ eventDetail.location }}
-
{{ eventDetail.teacher }}
-
{{ eventDetail.description }}
-
- 到期后:{{ expireText(eventDetail.expire) }} -
-
-
- 关闭 -
-
+ @@ -177,8 +116,15 @@ teacher: '创业导师团', description: '创新创业实战训练' }] - }; - export default { + }; + import addCalendar from "./components/addCalendar.vue" + import { + index + } from "@/api/calendars/index.js" + export default { + components:{ + addCalendar + }, data() { return { dataType: 'course', @@ -213,15 +159,29 @@ const evDate = new Date(ev.start); return evDate.getMonth() === month && evDate.getFullYear() === year; }); + }, + selectMonth(){ + console.log(this.calendarDate) + const now = this.calendarDate instanceof Date ? this.calendarDate : new Date(this.calendarDate); + const month = now.getMonth()+1<10?'0'+(now.getMonth()+1):now.getMonth()+1; + const year = now.getFullYear(); + return year+'-'+month; } }, watch: { dataType: 'onTypeChange' }, created() { - this.onTypeChange(); + this.onTypeChange(); + this.getList() }, - methods: { + methods: { + async getList(){ + const res = await index({ + month:this.selectMonth + }) + }, + onTypeChange() { this.dataList = mockData[this.dataType] || []; this.dataId = ''; @@ -252,20 +212,12 @@ }); } }, - openCreateModal() { - this.modalTitle = '新建事件'; - this.modalForm = { - type: 'course', - title: '', - start: '', - end: '', - location: '', - teacher: '', - description: '', - expire: 'none' - }; - this.editingIndex = null; - this.modalVisible = true; + openCreateModal(type,id) { + if(id){ + this.$refs.addCalendar.id = id + } + this.$refs.addCalendar.type = type + this.$refs.addCalendar.isShow = true }, saveEvent() { if (!this.modalForm.title || !this.modalForm.start || !this.modalForm.end) { diff --git a/src/views/survey/index.vue b/src/views/survey/index.vue index f0b25e1..668f48a 100644 --- a/src/views/survey/index.vue +++ b/src/views/survey/index.vue @@ -209,7 +209,34 @@ }, viewResults(survey) { - this.resultsSurveyData = survey; + this.resultsSurveyData = { + id: 1, + title: '问卷1', + description: '请对本次智能制造专题课程进行评价和反馈', + status: 'published', + type: 'feedback', + bindType: 'course', + bindCourse: '2025产业加速营 | 智能制造专题', + createTime: '2025-06-01 10:00', + deadline: '2025-06-10 23:59', + responses: 1, + questions: 6, + avgScore: 4.6, + questions: [ + { + id: 101, + type: 'single', + title: '单选框', + options: ['单选1', '单选2',] + }, + // { + // id: 102, + // type: 'rate', + // title: '请为本次课程打分', + // rateMax: 5 + // } + ] + }; this.resultsDialogVisible = true; }, previewSurvey(survey) {