fix: 导出功能为全量,行头文字多语言翻译

This commit is contained in:
TsMask
2024-04-19 17:21:33 +08:00
parent 0c45cbd195
commit e05c2a6a51
15 changed files with 358 additions and 216 deletions

View File

@@ -241,14 +241,21 @@ func (s *SysDictDataController) DictType(c *gin.Context) {
func (s *SysDictDataController) Export(c *gin.Context) {
language := ctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制
querys := ctx.BodyJSONMap(c)
data := s.sysDictDataService.SelectDictDataPage(querys)
if data["total"].(int64) == 0 {
// querys := ctx.BodyJSONMap(c)
// data := s.sysDictDataService.SelectDictDataPage(querys)
// if data["total"].(int64) == 0 {
// // 导出数据记录为空
// c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty")))
// return
// }
// rows := data["rows"].([]model.SysDictData)
rows := s.sysDictDataService.SelectDictDataList(model.SysDictData{})
if len(rows) <= 0 {
// 导出数据记录为空
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty")))
return
}
rows := data["rows"].([]model.SysDictData)
// 闭包函数处理多语言
converI18n := func(language string, arr *[]model.SysDictData) {
@@ -267,11 +274,10 @@ func (s *SysDictDataController) Export(c *gin.Context) {
// 第一行表头标题
headerCells := map[string]string{
"A1": i18n.TKey(language, "dictData.export.code"),
"B1": i18n.TKey(language, "dictData.export.sort"),
"C1": i18n.TKey(language, "dictData.export.label"),
"D1": i18n.TKey(language, "dictData.export.value"),
"E1": i18n.TKey(language, "dictData.export.type"),
"F1": i18n.TKey(language, "dictData.export.status"),
"B1": i18n.TKey(language, "dictData.export.label"),
"C1": i18n.TKey(language, "dictData.export.value"),
"D1": i18n.TKey(language, "dictData.export.sort"),
"E1": i18n.TKey(language, "dictData.export.status"),
}
// 从第二行开始的数据
dataCells := make([]map[string]any, 0)
@@ -283,11 +289,10 @@ func (s *SysDictDataController) Export(c *gin.Context) {
}
dataCells = append(dataCells, map[string]any{
"A" + idx: row.DictCode,
"B" + idx: row.DictSort,
"C" + idx: row.DictLabel,
"D" + idx: row.DictValue,
"E" + idx: row.DictType,
"F" + idx: statusValue,
"B" + idx: row.DictLabel,
"C" + idx: row.DictValue,
"D" + idx: row.DictSort,
"E" + idx: statusValue,
})
}