feat: 支持主列表选择每页条数 (#242)
This commit is contained in:
@@ -28,7 +28,9 @@ func (h *Handler) InnerCodeList(c *gin.Context) {
|
||||
}
|
||||
status := strings.TrimSpace(c.Query("status"))
|
||||
keyword := strings.TrimSpace(c.Query("q"))
|
||||
result, err := service.ListInnerCodePage(h.db, businessDate, status, keyword, service.ParsePage(c.Query("page")))
|
||||
pageSize := service.ParsePageSize(c.Query("page_size"))
|
||||
result, err := service.ListInnerCodePageWithPageSize(h.db, businessDate, status, keyword,
|
||||
service.ParsePage(c.Query("page")), pageSize)
|
||||
if err != nil {
|
||||
fail(c, http.StatusInternalServerError, "读取档口入库码列表失败,请稍后刷新重试。")
|
||||
return
|
||||
@@ -41,17 +43,18 @@ func (h *Handler) InnerCodeList(c *gin.Context) {
|
||||
query.Set("q", keyword)
|
||||
}
|
||||
c.HTML(http.StatusOK, "inner_code/list", page(c, "inner-codes", "档口入库码", gin.H{
|
||||
"BusinessDate": businessDate,
|
||||
"StatusFilter": result.Status,
|
||||
"Keyword": keyword,
|
||||
"StatusOptions": service.InnerCodeStatusOptions(),
|
||||
"Rows": result.Rows,
|
||||
"HasAny": result.Counts.Total > 0,
|
||||
"IsFiltered": result.IsFiltered,
|
||||
"CurrentPage": result.Page,
|
||||
"Message": strings.TrimSpace(c.Query("message")),
|
||||
"Status": service.InnerCodeStatusMessage(result),
|
||||
"Pagination": service.NewPaginationView(result.Page, result.TotalPages, query.Encode()),
|
||||
"BusinessDate": businessDate,
|
||||
"StatusFilter": result.Status,
|
||||
"Keyword": keyword,
|
||||
"StatusOptions": service.InnerCodeStatusOptions(),
|
||||
"Rows": result.Rows,
|
||||
"HasAny": result.Counts.Total > 0,
|
||||
"IsFiltered": result.IsFiltered,
|
||||
"CurrentPage": result.Page,
|
||||
"CurrentPageSize": pageSize,
|
||||
"Message": strings.TrimSpace(c.Query("message")),
|
||||
"Status": service.InnerCodeStatusMessage(result),
|
||||
"Pagination": service.NewPaginationView(result.Page, pageSize, result.TotalPages, query.Encode()),
|
||||
}))
|
||||
}
|
||||
|
||||
@@ -141,8 +144,8 @@ func (h *Handler) InnerCodeMatch(c *gin.Context) {
|
||||
h.innerCodeRedirect(c, businessDate, status, keyword, pageNumber, "请先勾选要匹配的记录。")
|
||||
return
|
||||
}
|
||||
if len(ids) > service.PageSize {
|
||||
h.innerCodeRedirect(c, businessDate, status, keyword, pageNumber, "一次最多匹配当前页 20 条记录,请刷新后重新勾选。")
|
||||
if len(ids) > service.InnerCodeRemoteBatchLimit {
|
||||
h.innerCodeRedirect(c, businessDate, status, keyword, pageNumber, "一次最多匹配 20 条记录,请减少勾选后重试。")
|
||||
return
|
||||
}
|
||||
cfg, err := config.Load()
|
||||
@@ -272,6 +275,7 @@ func (h *Handler) innerCodeSybClient() (*syb.Client, string) {
|
||||
|
||||
func (h *Handler) innerCodeRedirect(c *gin.Context, businessDate, status, keyword string, pageNumber int, message string) {
|
||||
values := url.Values{"date": {businessDate}, "page": {strconv.Itoa(pageNumber)}, "message": {message}}
|
||||
values.Set("page_size", strconv.Itoa(service.ParsePageSize(c.PostForm("page_size"))))
|
||||
if strings.TrimSpace(status) != "" {
|
||||
values.Set("status", strings.TrimSpace(status))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user