Sfoglia il codice sorgente

菜单管理添加/编辑

locky 4 anni fa
parent
commit
d813ad444f
3 ha cambiato i file con 29 aggiunte e 1 eliminazioni
  1. 12 1
      AdminController/MenuController.py
  2. 1 0
      Model/models.py
  3. 16 0
      Service/CommonService.py

+ 12 - 1
AdminController/MenuController.py

@@ -52,6 +52,8 @@ class MenuView(View):
             userID = tko.userID
             if operation == 'getList':
                 return self.getList(userID, request_dict, response)
+            if operation == 'doEdit':
+                return self.doEdit(userID, request_dict, response)
             else:
                 return response.json(404)
 
@@ -122,4 +124,13 @@ class MenuView(View):
                     )
                     self.menulist(menu_qs,menulist['children'])
 
-        return list
+        return list
+
+    def doEdit(self, userID, request_dict, response):
+        print('request_dict: ', request_dict)
+        data_dict = CommonService.request_dict_to_dict(request_dict)
+        if data_dict['isEdit']:
+            MenuModel.objects.filter(name=data_dict['name']).update(**data_dict)
+        else:
+            MenuModel.objects.create(**data_dict)
+        return response.json(0)

+ 1 - 0
Model/models.py

@@ -85,6 +85,7 @@ class MenuModel(models.Model):
     path = models.CharField(max_length=100, default='',verbose_name='路径')
     component = models.CharField(max_length=100, default='', verbose_name='vue文件路径') #所谓的vue 组件
     hidden = models.BooleanField(blank=True, default=False, verbose_name=u'是否隐藏')
+    alwaysShow = models.BooleanField(blank=True, default=False, verbose_name=u'始终显示当前节点')
     levelHidden = models.BooleanField(blank=True, default=False, verbose_name=u'是否隐藏一级路由')
     title = models.CharField(max_length=50, default='',verbose_name='标题')
     icon = models.CharField(max_length=50, default='',verbose_name='图标名')

+ 16 - 0
Service/CommonService.py

@@ -36,6 +36,22 @@ class CommonService:
         sqlDict = dict(zip(["datas"], [sqlList]))
         return sqlDict
 
+    # 格式化query_set转dict
+    @staticmethod
+    def request_dict_to_dict(request_dict):
+        key_list = []
+        value_list = []
+        for k, v in request_dict.items():
+            key_list.append(k[k.index('[')+1:k.index(']')] if 'meta' in k else k)
+            if v == 'true':
+                v = True
+            elif v == 'false':
+                v = False
+            value_list.append(v)
+        data_dict = dict(zip(key_list, value_list))
+        print(data_dict)
+        return data_dict
+
     # 获取文件大小
     @staticmethod
     def get_file_size(file_path='', suffix_type='', decimal_point=0):