panel和datagrid的结合和分离

在工作中我们经常会遇到,一个页面号多功能,这样我们把前端页面分开写可能会显得更加的清楚明了。下面是我写的一个页面因为在页面中要显示sidemenu的不同树下的每一个datagrid页面给,为了看起来比较方便直接:我才用了一下的方法:

(1).这是html的代码
<div class="easyui-layout" data-options="fit:true">
  <div data-options="region:'west',split:true" style="width:200px;">
<div id="side_menu">
</div>
  </div>
  <div data-options="region:'center',iconCls:'icon-ok'">
  <div id="system_url" class="easyui-panel" style="height:100%;">
  </div>
  </div>
   </div>

(2).这是js的代码,当sidemenu中onSelect触发的时候通过panel的href去访问后端的view写好的路由,进一步相当于插入在<div id="system_url" class="easyui-panel" style="height:100%;"></div>
中插入一个写有datagrid的,相当与把每一个sidemenu的跟目录分了模块
  $("#side_menu").sidemenu({
  data: side_data,
  onSelect: function(item){
  $('#system_url').panel({
  fit: true,
  border: false,
  href: '/system/' + model_name+ '/' + dlg_add + '/' + dlg_edit + '/' + datagrid_name + '/' + code_class
  })
   }
   });

(3).这是后端python的view视图代码:这里我只写了一个if,还要判断其他的sidemenu下跟目录的,我是一个根目录写了一个html
  @app.route('/system/<model_name>/<dlg_add>/<dlg_edit>/<datagrid_name>/<code_class>', methods=['GET', 'POST'])
  def system_url(model_name, dlg_add, dlg_edit, datagrid_name, code_class):
  code_node = ['category_code', 'name_code', 'status_code', 'variety_code', 'norm_code', 'standard_code', 'manufacturer_code' ]
  if (model_name in code_node):
   return render_template('./pages/sysmgr/code_html.html',
model_name = model_name,
dlg_add = dlg_add,
dlg_edit = dlg_edit,
datagrid_name = datagrid_name,
code_class = code_class,)
(4).在code_html.html中的格式:相当于把<div id="code_detail"></div> 插入到了<div id="system_url" class="easyui-panel" style="height:100%;"></div>中
  <div id="code_detail"></div>
  <script type="text/javascript">
  </script>
posted @ 2020-03-31 15:33  零泥尘  阅读(284)  评论(0编辑  收藏  举报