From 570924b5d6e7cc2a9a555af92e31969b6785e652 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=96=87=E5=B3=B0?= Date: Thu, 2 Apr 2026 21:29:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=20=E6=9F=A5=20=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/my_work/routers/apiSchedule.go | 33 ++++++++++++++++--- .../ops_vue_js/src/views/scheduleView.vue | 2 ++ 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/backend/my_work/routers/apiSchedule.go b/backend/my_work/routers/apiSchedule.go index f79fb0c..bec6531 100644 --- a/backend/my_work/routers/apiSchedule.go +++ b/backend/my_work/routers/apiSchedule.go @@ -4,7 +4,6 @@ package routers import ( "encoding/json" - "fmt" "ops/models" "time" @@ -73,17 +72,41 @@ func ApiScheduleInit() { func ApiSchedule(r *gin.RouterGroup) { r.POST("/getevents", func(ctx *gin.Context) { - data, _ := SeparateData(ctx) - //fmt.Println(cookieval, data) + data, cookie := SeparateData(ctx) + user, er := AuthenticationAuthorityFromCookie(cookie) + var from fromGetEvents if err := mapstructure.Decode(data, &from); err == nil { //fmt.Println(from) //从数据库获取相关数据 var list []TabSchedule models.DB.Where("start_date <= ? AND end_date >= ?", from.End, from.Start).Where("deleted_at IS NULL").Find(&list) - fmt.Println(list) + var relist []map[string]interface{} + for _, item := range list { + data, _ := json.Marshal(item) + var temp map[string]interface{} + json.Unmarshal(data, &temp) + // 加自定义字段 + if er == nil { + //已登录 进一步判断编辑权限 + temp["edit"] = false + if item.UserID == user.ID || item.UserID == 1 { + temp["edit"] = true + } + user_group_find := models.TabUserGroupBinds_{} + if models.DB.Where("user_id = ? AND group_id = ?", user.ID, userGroup.ID).Limit(1).Find(&user_group_find).Error == nil { //是应用管理员 + temp["edit"] = true + } + } else { + temp["edit"] = false + } + + relist = append(relist, temp) + + } + //ReturnJson(ctx, "ApiOK", list) - ReturnJson(ctx, "apiOK", gin.H{"list": list}) + ReturnJson(ctx, "apiOK", gin.H{"list": relist}) } else { ReturnJson(ctx, "jsonErr", nil) diff --git a/frontend/ops_vue_js/src/views/scheduleView.vue b/frontend/ops_vue_js/src/views/scheduleView.vue index 7ff5f35..3ffc86f 100644 --- a/frontend/ops_vue_js/src/views/scheduleView.vue +++ b/frontend/ops_vue_js/src/views/scheduleView.vue @@ -388,7 +388,9 @@ const getEvents = () => { start: item.StartDate, // 开始日期 end: DateUtils.toCalendarEnd(item.EndDate), // 结束日期 backgroundColor: item.BgColor, // 背景色 + borderColor: item.BgColor, // 边框色(一般和背景一样) allDay: true, // 全天事件 + editable:item.edit, }); });