Browse Source

Merge branch 'feature/v3.3.8_wky' of qmx/qfw into feature/v3.3.8

wangkaiyue 2 years ago
parent
commit
4add8f554c

+ 26 - 9
core/src/qfw/manage/menu.go

@@ -22,7 +22,7 @@ type menu struct {
 	deleteCache xweb.Mapper `xweb:"/manage/delMenuCache"` //清除缓存
 }
 
-const menuCahceKey = "jyMenuCache"
+const menuCacheKey = "jyMenuCache"
 
 func (m *menu) Menu() error {
 	return m.Render("/manage/menu/list.html")
@@ -30,7 +30,7 @@ func (m *menu) Menu() error {
 
 func (m *menu) DeleteCache() {
 	m.ServeJson(map[string]interface{}{
-		"status": redis.Del("other", menuCahceKey),
+		"status": redis.Del("other", menuCacheKey),
 	})
 }
 
@@ -51,7 +51,7 @@ func (m *menu) MenuDelete() error {
 		res["success"] = mongodb.DelById("jy_topMenu", _id)
 	}
 	//清首页缓存
-	redis.Del("other", menuCahceKey)
+	redis.Del("other", menuCacheKey)
 	m.ServeJson(&res)
 	return nil
 }
@@ -61,8 +61,25 @@ func (m *menu) MenuSave() error {
 	sort, _ := m.GetInteger("i_sort")
 	show, _ := m.GetInteger("s_show")
 	date := time.Now().Unix()
-	siteVal := m.GetString("site")
-	positionVal := m.GetString("position")
+
+	var topMenu, bottomLink []int
+
+	if arr := strings.Split(m.GetString("topMenu"), ","); len(arr) > 0 {
+		for _, v := range arr {
+			topMenu = append(topMenu, util.IntAll(v))
+		}
+	} else {
+		topMenu = []int{0}
+	}
+
+	if arr := strings.Split(m.GetString("bottomLink"), ","); len(arr) > 0 {
+		for _, v := range arr {
+			bottomLink = append(bottomLink, util.IntAll(v))
+		}
+	} else {
+		bottomLink = []int{0}
+	}
+
 	doc := map[string]interface{}{
 		"title":        m.GetString("s_title"),
 		"link":         m.GetString("link"),
@@ -70,8 +87,8 @@ func (m *menu) MenuSave() error {
 		"attr":         m.GetString("attr"),
 		"style":        m.GetString("style"),
 		"flex":         m.GetString("flex"),
-		"site":         strings.Split(siteVal, ","),
-		"position":     strings.Split(positionVal, ","),
+		"top_menu":     topMenu,
+		"bottom_link":  bottomLink,
 		"i_sort":       sort,
 		"i_status":     show,
 		"l_modifydate": date,
@@ -98,7 +115,7 @@ func (m *menu) MenuSave() error {
 		ok = mongodb.Save("jy_topMenu", doc) != ""
 	}
 	//清除菜单缓存
-	redis.Del("other", menuCahceKey)
+	redis.Del("other", menuCacheKey)
 	res["flag"] = ok
 	res["msg"] = "保存成功"
 	m.ServeJson(&res)
@@ -116,7 +133,7 @@ func (m *menu) MenuList() error {
 			currentPage, _ := m.GetInteger("currentPage")
 			res := map[string]interface{}{}
 			res["totalRows"] = mongodb.Count("jy_topMenu", nil)
-			data := *mongodb.Find("jy_topMenu", nil, `{"i_sort":1,"l_createdate":1}`, `{"title":1,"i_status":1,"i_sort":1,"l_createdate":1,"l_modifydate":1,"position":1,"site":1}`, false, (currentPage-1)*size, size)
+			data := *mongodb.Find("jy_topMenu", nil, `{"i_sort":1,"l_createdate":1}`, `{"title":1,"i_status":1,"i_sort":1,"l_createdate":1,"l_modifydate":1,"top_menu":1,"bottom_link":1}`, false, (currentPage-1)*size, size)
 			for _, v := range data {
 				data_c := v["l_createdate"]
 				v["l_createdate"] = util.FormatDateWithObj(&data_c, util.Date_Full_Layout)

+ 21 - 18
core/src/web/templates/manage/menu/add.html

@@ -60,24 +60,27 @@ background-color:#FFFFFF;
                             </div>
                         </div>
                         <div class="form-group" style="display: flex;align-items: center;">
-                            <label  class="col-sm-2 control-label" for="name">站点:</label>
+                            <label  class="col-sm-2 control-label" for="name">顶部菜单:</label>
                             <div class="col-sm-2">
-                                <input type="checkbox" name="site" value="main"> 剑鱼标讯官网
+                                <input type="checkbox" name="topMenu" value="0"> 剑鱼主站
                             </div>
                             <div class="col-sm-2">
-                                <input type="checkbox" name="site" value="brand"> 品牌网站
+                                <input type="checkbox" name="topMenu" value="1"> 品牌网站
                             </div>
                             <div class="col-sm-2">
-                                <input type="checkbox" name="site" value="info"> 行业资讯
+                                <input type="checkbox" name="topMenu" value="2"> 行业资讯
                             </div>
                         </div>
                         <div class="form-group" style="display: flex;align-items: center;">
-                            <label  class="col-sm-2 control-label" for="name">位置:</label>
+                            <label  class="col-sm-2 control-label" for="name">底部菜单:</label>
                             <div class="col-sm-2">
-                                <input type="checkbox" name="position" value="header"> 顶部菜单栏
+                                <input type="checkbox" name="bottomLink" value="0"> 剑鱼主站
                             </div>
                             <div class="col-sm-2">
-                                <input type="checkbox" name="position" value="footer"> 底部链接
+                                <input type="checkbox" name="bottomLink" value="1"> 品牌网站
+                            </div>
+                            <div class="col-sm-2">
+                                <input type="checkbox" name="bottomLink" value="2"> 行业资讯
                             </div>
                         </div>
                         <div class="form-group" style="display: flex;align-items: center;">
@@ -182,21 +185,21 @@ $(function(){
                 $("[value='noTag']").attr("checked","checked");
         }
 
-        if (obj["position"]){
-            for (let i = 0; i < obj["position"].length; i++) {
-                $("input[value='"+obj["position"][i]+"']").attr("checked","checked");
+        if (obj["top_menu"]){
+            for (let i = 0; i < obj["top_menu"].length; i++) {
+                $("input[name='topMenu'][value='"+obj["top_menu"][i]+"']").attr("checked","checked");
+                $("input[name='topMenu'][value='0']").attr("checked","checked");
             }
         }else {
-            $("input[value='header']").attr("checked","checked");
-            $("input[value='footer']").attr("checked","checked");
+            $("input[name='topMenu'][value='0']").attr("checked","checked");
         }
 
-        if (obj["site"]){
-            for (let i = 0; i < obj["site"].length; i++) {
-                $("input[value='"+obj["site"][i]+"']").attr("checked","checked");
+        if (obj["bottom_link"]){
+            for (let i = 0; i < obj["bottom_link"].length; i++) {
+                $("input[name='bottomLink'][value='"+obj["bottom_link"][i]+"']").attr("checked","checked");
             }
         }else {
-            $("[value='main']").attr("checked","checked");
+            $("input[name='bottomLink'][value='0']").attr("checked","checked");
         }
 
 		$(obj["child"]).each(function(i,ad){
@@ -444,8 +447,8 @@ function savead(){
     param["style"]=$("[name='style']").val();
     param["attr"]=$("[name='attr']").val();
     param["flex"]=$("[name='flex']:checked").val();
-    param["site"]=getCheckBox("site");
-    param["position"]=getCheckBox("position");
+    param["topMenu"]=getCheckBox("topMenu");
+    param["bottomLink"]=getCheckBox("bottomLink");
 	param["a_son"]=sy.jsonToString(sonad);
 	if(_id){
 		param["_id"]=_id;

+ 22 - 18
core/src/web/templates/manage/menu/list.html

@@ -90,24 +90,24 @@ border-bottom:1px dashed #999999;
                     }
                 },
                 {
-                    title: "站点"
+                    title: "顶部菜单"
                     , field: "site",
                     callback: function (ct, cd, val, k, m) {
-                        if (!ct["site"]||ct["site"].length===0) {
-                            return "剑鱼标讯官网"
+                        if (!ct["top_menu"]||ct["top_menu"].length===0) {
+                            return "剑鱼主站"
                         }
                         let showValue = []
-                        for (let i = 0; i < ct["site"].length; i++) {
-                            switch (ct["site"][i]) {
-                                case "main":{
-                                    showValue.push("剑鱼标讯官网")
+                        for (let i = 0; i < ct["top_menu"].length; i++) {
+                            switch (ct["top_menu"][i]) {
+                                case 0:{
+                                    showValue.push("剑鱼主站")
                                     break
                                 }
-                                case "brand":{
+                                case 1:{
                                     showValue.push("品牌网站")
                                     break
                                 }
-                                case "info":{
+                                case 2:{
                                     showValue.push("行业资讯")
                                     break
                                 }
@@ -117,21 +117,25 @@ border-bottom:1px dashed #999999;
                     }
                 },
                 {
-                    title: "位置"
+                    title: "底部链接"
                     , field: "position",
                     callback: function (ct, cd, val, k, m) {
-                        if (!ct["position"]) {
-                            return "顶部菜单栏,底部链接"
+                        if (!ct["bottom_link"]) {
+                            return "剑鱼主站"
                         }
                         let showValue = []
-                        for (let i = 0; i < ct["position"].length; i++) {
-                            switch (ct["position"][i]) {
-                                case "header":{
-                                    showValue.push("顶部菜单栏")
+                        for (let i = 0; i < ct["bottom_link"].length; i++) {
+                            switch (ct["bottom_link"][i]) {
+                                case 0:{
+                                    showValue.push("剑鱼主站")
                                     break
                                 }
-                                case "footer":{
-                                    showValue.push("底部链接")
+                                case 1:{
+                                    showValue.push("品牌网站")
+                                    break
+                                }
+                                case 2:{
+                                    showValue.push("行业资讯")
                                     break
                                 }
                             }