diff --git a/api/handler/admin/chat_role_handler.go b/api/handler/admin/chat_role_handler.go
index 163f04a2..f7c5ba1a 100644
--- a/api/handler/admin/chat_role_handler.go
+++ b/api/handler/admin/chat_role_handler.go
@@ -98,6 +98,26 @@ func (h *ChatRoleHandler) Sort(c *gin.Context) {
resp.SUCCESS(c)
}
+func (h *ChatRoleHandler) Set(c *gin.Context) {
+ var data struct {
+ Id uint `json:"id"`
+ Filed string `json:"filed"`
+ Value interface{} `json:"value"`
+ }
+
+ if err := c.ShouldBindJSON(&data); err != nil {
+ resp.ERROR(c, types.InvalidArgs)
+ return
+ }
+
+ res := h.db.Model(&model.ChatRole{}).Where("id = ?", data.Id).Update(data.Filed, data.Value)
+ if res.Error != nil {
+ resp.ERROR(c, "更新数据库失败!")
+ return
+ }
+ resp.SUCCESS(c)
+}
+
func (h *ChatRoleHandler) Remove(c *gin.Context) {
id := h.GetInt(c, "id", 0)
if id <= 0 {
diff --git a/api/main.go b/api/main.go
index 1d944390..94d9040a 100644
--- a/api/main.go
+++ b/api/main.go
@@ -276,6 +276,7 @@ func main() {
group.GET("list", h.List)
group.POST("save", h.Save)
group.POST("sort", h.Sort)
+ group.POST("set", h.Set)
group.GET("remove", h.Remove)
}),
fx.Invoke(func(s *core.AppServer, h *admin.RewardHandler) {
diff --git a/web/src/views/admin/RoleList.vue b/web/src/views/admin/RoleList.vue
index b7dc800f..50992985 100644
--- a/web/src/views/admin/RoleList.vue
+++ b/web/src/views/admin/RoleList.vue
@@ -23,8 +23,7 @@
- 启用
- 禁用
+
@@ -201,21 +200,11 @@ onMounted(() => {
})
})
-const editSort = function (event, row) {
- event.stopPropagation()
- editRow.value.id = row.id
- editRow.value.sort = row.sort
-}
-const updateSort = function (row) {
- if (row.sort === editRow.value.sort) {
- editRow.value.id = 0
- return
- }
-
- httpPost('/api/admin/role/sort', {"id": row.id, "sort": row.sort}).then(() => {
- editRow.value.id = 0
- }).catch(() => {
- ElMessage.error("更新失败!")
+const roleSet = (filed, row) => {
+ httpPost('/api/admin/role/set', {id: row.id, filed: filed, value: row[filed]}).then(() => {
+ ElMessage.success("操作成功!")
+ }).catch(e => {
+ ElMessage.error("操作失败:" + e.message)
})
}