From b3a1fe145608a8b333fba8dcb68e2a25683c2ca8 Mon Sep 17 00:00:00 2001 From: kevin Date: Tue, 15 Jul 2025 19:58:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91=E4=BB=93=E5=BA=93=E5=BA=94?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gin_ops/routers/api_warehouses.go | 207 +++++++++----------- gin_ops/templates/sign-in-01.html | 11 +- gin_ops/templates/sign-up.html | 6 +- gin_ops/templates/warehouses.html | 101 +++++----- gin_ops/templates/warehouses_show_item.html | 75 ++++--- 5 files changed, 216 insertions(+), 184 deletions(-) diff --git a/gin_ops/routers/api_warehouses.go b/gin_ops/routers/api_warehouses.go index f38136e..7fc05bc 100644 --- a/gin_ops/routers/api_warehouses.go +++ b/gin_ops/routers/api_warehouses.go @@ -1,10 +1,11 @@ package routers import ( + "fmt" "saas/models" - "strconv" "github.com/gin-gonic/gin" + "github.com/mitchellh/mapstructure" ) // 定义接收JSON数据的结构体 @@ -20,159 +21,147 @@ type Add_item_json struct { } func V1_warehouses_api(r *gin.RouterGroup) { - var err_code = Error_code["api_ok"] - var err_msg string r.POST("/create", func(ctx *gin.Context) { - err_msg = "warehouses_api_err" - err_code = Error_code[err_msg] + //先判断是否已经登录 //获取中间件处理的结果 - is_login, _ := ctx.Get("is_login") + + user_info, is_login := ctx.Get("user_info") if is_login == true { - user_info, _ := ctx.Get("user_info") //转换传进来的数据 var jsonData map[string]interface{} - if err := ctx.ShouldBindJSON(&jsonData); err == nil { - //fmt.Println(jsonData) - if jsonData["warehouses_name"].(string) != "" { - warehouses_data := models.Warehouse{ - Name: jsonData["warehouses_name"].(string), - Info: jsonData["warehouses_info"].(string), - CreatorID: user_info.(*models.User_info).UserID, - Capacity: 0, - UsedCapacity: 0, - Location: "local", - } - models.DB.Create(&warehouses_data) // 传入指针 - //fmt.Println(dberr.Error) - err_msg = "api_ok" - err_code = Error_code[err_msg] + data, is_have_data := ctx.Get("data") + if is_have_data { + if err := mapstructure.Decode(data, &jsonData); err == nil { + //fmt.Println(jsonData) + if jsonData["warehouses_name"].(string) != "" { + warehouses_data := models.Warehouse{ + Name: jsonData["warehouses_name"].(string), + Info: jsonData["warehouses_info"].(string), + CreatorID: user_info.(*models.User_info).UserID, + Capacity: 0, + UsedCapacity: 0, + Location: "local", + } + models.DB.Create(&warehouses_data) // 传入指针 + //fmt.Println(dberr.Error) + Return_json(ctx, "api_ok", nil) + + } else { + Return_json(ctx, "warehouses_name_err", nil) + + } } else { - err_msg = "warehouses_name_err" - err_code = Error_code[err_msg] + Return_json(ctx, "json_error", nil) + } } else { - err_msg = "json_error" - err_code = Error_code[err_msg] + Return_json(ctx, "json_error", nil) } } else { //fmt.Println("no loged") - err_msg = "user_no_sign" - err_code = Error_code[err_msg] - } + Return_json(ctx, "user_no_sign", nil) - ctx.JSON(200, map[string]interface{}{ - "api": "ok", - "err_code": err_code, - "err_msg": err_msg, - }) + } }) r.POST("/add_item", func(ctx *gin.Context) { - err_msg = "warehouses_api_err" - err_code = Error_code[err_msg] + //先判断是否已经登录 //获取中间件处理的结果 - is_login, _ := ctx.Get("is_login") + user_info_, is_login := ctx.Get("user_info") + if is_login == true { + user_info := user_info_.(*models.User_info) - //转换传进来的数据 - var item Add_item_json - if err := ctx.ShouldBindJSON(&item); err == nil { - //先判断是否有权限 + data, is_have_data := ctx.Get("data") + if is_have_data { + //转换传进来的数据 + var item Add_item_json + if err := mapstructure.Decode(data, &item); err == nil { + //先判断是否有权限 - //(还没弄) + //(还没弄) - //后插入数据 - user_info_, _ := ctx.Get("user_info") - user_info := user_info_.(*models.User_info) - var add_item_temp models.WarehouseItem - add_item_temp.CreatedByID = user_info.UserID - add_item_temp.WarehouseID = item.WarehouseID - add_item_temp.Name = item.Name - add_item_temp.SerialNumber = item.SN - add_item_temp.Description = item.Info - add_item_temp.Destiny = item.Who - add_item_temp.Quantity = item.Int - add_item_temp.ItemValue = int(item.Consts * 100) - //插入一条数据 - models.DB.Create(&add_item_temp) - //更新仓库信息 - var seach_wh models.Warehouse - seach_wh.ID = item.WarehouseID - var out_wh models.Warehouse - models.DB.Where(&seach_wh).First(&out_wh) - out_wh.UsedCapacity += 1 - models.DB.Where(&seach_wh).Updates(&out_wh) + //后插入数据 - err_msg = "api_ok" - err_code = Error_code[err_msg] + var add_item_temp models.WarehouseItem + add_item_temp.CreatedByID = user_info.UserID + add_item_temp.WarehouseID = item.WarehouseID + add_item_temp.Name = item.Name + add_item_temp.SerialNumber = item.SN + add_item_temp.Description = item.Info + add_item_temp.Destiny = item.Who + add_item_temp.Quantity = item.Int + add_item_temp.ItemValue = int(item.Consts * 100) + + fmt.Println(data) + // //插入一条数据 + // models.DB.Create(&add_item_temp) + // //更新仓库信息 + // var seach_wh models.Warehouse + // seach_wh.ID = item.WarehouseID + // var out_wh models.Warehouse + // models.DB.Where(&seach_wh).First(&out_wh) + // out_wh.UsedCapacity += 1 + // models.DB.Where(&seach_wh).Updates(&out_wh) + + Return_json(ctx, "api_ok", nil) + + } else { + Return_json(ctx, "json_error", nil) + + } } else { - err_msg = "json_error" - err_code = Error_code[err_msg] + Return_json(ctx, "json_error", nil) } } else { //fmt.Println("no loged") - err_msg = "user_no_sign" - err_code = Error_code[err_msg] - } + Return_json(ctx, "user_no_sign", nil) - ctx.JSON(200, map[string]interface{}{ - "api": "ok", - "err_code": err_code, - "err_msg": err_msg, - }) + } }) r.GET("/get_items/:wh_id", func(ctx *gin.Context) { - err_msg = "warehouses_api_err" - err_code = Error_code[err_msg] - var seachf []models.WarehouseItem - //先判断是否已经登录 - //获取中间件处理的结果 - is_login, _ := ctx.Get("is_login") - if is_login == true { - id := ctx.Param("wh_id") - id_int, err := strconv.ParseInt(id, 10, 0) - if err == nil { - if id_int > 0 { - seachf = models.Warehouse_get_items_from_whid(uint(id_int)) - //fmt.Println(seachf) + // var seachf []models.WarehouseItem + // //先判断是否已经登录 + // //获取中间件处理的结果 + // is_login, _ := ctx.Get("is_login") + // if is_login == true { + // id := ctx.Param("wh_id") + // id_int, err := strconv.ParseInt(id, 10, 0) + // if err == nil { + // if id_int > 0 { - err_msg = "api_ok" - err_code = Error_code[err_msg] + // seachf = models.Warehouse_get_items_from_whid(uint(id_int)) + // //fmt.Println(seachf) + // Return_json(ctx, "api_ok", nil) - } else { - err_msg = "warehouses_id_err" - err_code = Error_code[err_msg] - } + // } else { + // Return_json(ctx, "warehouses_id_err", nil) - } else { - err_msg = "warehouses_id_err" - err_code = Error_code[err_msg] - } + // } - } else { - //fmt.Println("no loged") - err_msg = "user_no_sign" - err_code = Error_code[err_msg] - } + // } else { + // Return_json(ctx, "warehouses_id_err", nil) + + // } + + // } else { + // //fmt.Println("no loged") + // Return_json(ctx, "user_no_sign", nil) + + // } - ctx.JSON(200, map[string]interface{}{ - "api": "ok", - "err_code": err_code, - "err_msg": err_msg, - "data": seachf, - }) }) } diff --git a/gin_ops/templates/sign-in-01.html b/gin_ops/templates/sign-in-01.html index 404bcab..f3bd85e 100644 --- a/gin_ops/templates/sign-in-01.html +++ b/gin_ops/templates/sign-in-01.html @@ -165,11 +165,12 @@ if (c.statusCode == 200) { if (c.data.err_code == 0) { //save_json("cookie", c.data.return.cookie) - banner_alert('success', "登录成功",950) - save_json("user_info", c.data.return.user_info) - setTimeout(() => { - location.href = '/' - }, 1000); + save_json("user_info", c.data.return.user_info) + banner_alert('success', "登录成功",1000,()=>{ + location.href = '/' + }) + + } else { banner_alert('warning', "账号或密码不正确",3000) } diff --git a/gin_ops/templates/sign-up.html b/gin_ops/templates/sign-up.html index ed615e8..f7d4c2f 100644 --- a/gin_ops/templates/sign-up.html +++ b/gin_ops/templates/sign-up.html @@ -228,10 +228,10 @@ switch (c.data.err_code) { case 0: - banner_alert('success', "注册成功", 950) - setTimeout(() => { + banner_alert('success', "注册成功", 1000,()=>{ location.href = '/sign-in' - }, 1000); + }) + break; case 1: banner_alert('warning', "用户名已存在", 1000) diff --git a/gin_ops/templates/warehouses.html b/gin_ops/templates/warehouses.html index a31ae49..528e962 100644 --- a/gin_ops/templates/warehouses.html +++ b/gin_ops/templates/warehouses.html @@ -87,7 +87,8 @@ {{.UsedCapacity}} - + @@ -136,7 +137,7 @@ {{range .page_range}} -
  • {{.page}}
  • +
  • {{.page}}
  • {{end}}
  • @@ -176,18 +177,7 @@