|
@@ -28,7 +28,9 @@ func ChartClassifyItemsMakeTree(sysUser *system.Admin, allNode []*data_manage.Ch
|
|
|
button := GetChartClassifyOpButton(sysUser, node.SysUserId, node.HaveOperaAuth)
|
|
|
node.Button = button
|
|
|
node.Disable = true
|
|
|
-
|
|
|
+ if node.Level == level {
|
|
|
+ node.Disable = false
|
|
|
+ }
|
|
|
childs, _ := chartClassifyHaveChild(allNode, node) //判断节点是否有子节点并返回
|
|
|
if len(childs) > 0 {
|
|
|
for _, child := range childs {
|
|
@@ -37,9 +39,10 @@ func ChartClassifyItemsMakeTree(sysUser *system.Admin, allNode []*data_manage.Ch
|
|
|
if child.Level == 6 {
|
|
|
childButton.AddButton = false //第六级的话,默认图表都是没有添加按钮的
|
|
|
}
|
|
|
- if child.Level == level {
|
|
|
- child.Disable = false
|
|
|
- }
|
|
|
+ child.Disable = true
|
|
|
+ //if child.Level == level {
|
|
|
+ // child.Disable = false
|
|
|
+ //}
|
|
|
child.Button = childButton
|
|
|
//node.Children = append(node.Children, child)
|
|
|
}
|
|
@@ -51,13 +54,13 @@ func ChartClassifyItemsMakeTree(sysUser *system.Admin, allNode []*data_manage.Ch
|
|
|
if has {
|
|
|
ChartClassifyItemsMakeTree(sysUser, allNode, v, permissionClassifyIdList, level) //递归添加节点
|
|
|
} else {
|
|
|
- childrenArr := make([]*data_manage.ChartClassifyItems, 0)
|
|
|
- v.Children = childrenArr
|
|
|
+ //childrenArr := make([]*data_manage.ChartClassifyItems, 0)
|
|
|
+ v.Children = nil
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- childrenArr := make([]*data_manage.ChartClassifyItems, 0)
|
|
|
- node.Children = childrenArr
|
|
|
+ //childrenArr := make([]*data_manage.ChartClassifyItems, 0)
|
|
|
+ node.Children = nil
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -966,3 +969,91 @@ func GetChartClassifyParentRecursive(list []*data_manage.ChartClassifyItems, cla
|
|
|
}
|
|
|
return res
|
|
|
}
|
|
|
+
|
|
|
+// 修改图表分类,可以修改父级
|
|
|
+func EditChartClassifyV2(chartClassifyId, praentId, source int, chartClassifyName, lang string) (classifyInfo *data_manage.ChartClassify, err error, errMsg string, isSendEmail bool) {
|
|
|
+ isSendEmail = true
|
|
|
+ errMsg = "保存失败"
|
|
|
+
|
|
|
+ // 获取分类信息
|
|
|
+ classifyInfo, err = data_manage.GetChartClassifyById(chartClassifyId)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if praentId != classifyInfo.ParentId {
|
|
|
+ parentClassifyInfo, err := data_manage.GetChartClassifyById(praentId)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if classifyInfo.Level != parentClassifyInfo.Level - 1 {
|
|
|
+ err = errors.New("父级分类层级异常")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 分类来源校验
|
|
|
+ if classifyInfo.Source != source {
|
|
|
+ errMsg = "图表分类异常"
|
|
|
+ err = errors.New(fmt.Sprintf("图表分类来源异常,修改来源:%d,分类来源:%d", source, classifyInfo.Source))
|
|
|
+ isSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 需要变更的字段
|
|
|
+ updateCols := make([]string, 0)
|
|
|
+
|
|
|
+ if praentId != classifyInfo.ParentId {
|
|
|
+ classifyInfo.ParentId = praentId
|
|
|
+ classifyInfo.ModifyTime = time.Now()
|
|
|
+ updateCols = append(updateCols, "ParentId")
|
|
|
+ }
|
|
|
+
|
|
|
+ // 语言版本校验
|
|
|
+ switch lang {
|
|
|
+ case utils.EnLangVersion:
|
|
|
+ if classifyInfo.ChartClassifyNameEn != chartClassifyName {
|
|
|
+ count, tmpErr := data_manage.GetChartClassifyEnCount(chartClassifyName, classifyInfo.ParentId, source)
|
|
|
+ if tmpErr != nil {
|
|
|
+ errMsg = "判断名称是否已存在失败"
|
|
|
+ err = errors.New("判断名称是否已存在失败,Err:" + tmpErr.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ errMsg = "分类名称已存在,请重新输入"
|
|
|
+ err = errors.New(errMsg)
|
|
|
+ isSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ classifyInfo.ChartClassifyNameEn = chartClassifyName
|
|
|
+ classifyInfo.ModifyTime = time.Now()
|
|
|
+ updateCols = append(updateCols, "ChartClassifyNameEn", "ModifyTime")
|
|
|
+ }
|
|
|
+ default:
|
|
|
+ if classifyInfo.ChartClassifyName != chartClassifyName {
|
|
|
+ count, tmpErr := data_manage.GetChartClassifyCount(chartClassifyName, classifyInfo.ParentId, source)
|
|
|
+ if tmpErr != nil {
|
|
|
+ errMsg = "判断名称是否已存在失败"
|
|
|
+ err = errors.New("判断名称是否已存在失败,Err:" + tmpErr.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ errMsg = "分类名称已存在,请重新输入"
|
|
|
+ err = errors.New(errMsg)
|
|
|
+ isSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ classifyInfo.ChartClassifyName = chartClassifyName
|
|
|
+ classifyInfo.ModifyTime = time.Now()
|
|
|
+ updateCols = append(updateCols, "ChartClassifyName", "ModifyTime")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(updateCols) > 0 {
|
|
|
+ err = classifyInfo.Update(updateCols)
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|