fsLayui介紹(layui插件)

fsLayui 是一個基於layui的快速開發插件,支持數據表格增刪改查操做,提供通用的組件,經過配置html實現數據請求,減小前端js重複開發的工做。
GitHub下載 碼雲下載
測試環境地址: http://fslayui.itcto.cn

爲何要使用fsLayui?

傳統的開發通常須要實現增刪改查功能,每一個功能都須要對應一個html頁面和js綁定操做。
每一個操做都須要綁定事件操做,那麼每一個頁面都須要javascript代碼來實現,對於通常業務不是特別強的後臺系統來講,每一個頁面展現基本差很少,只是請求的url地址不一致。

新增demo

<form class="layui-form" action="">
  <div class="layui-form-item">
    <label class="layui-form-label">輸入框</label>
    <div class="layui-input-block">
      <input type="text" name="title" required  lay-verify="required" placeholder="請輸入標題" autocomplete="off" class="layui-input">
    </div>
  </div>
  <div class="layui-form-item">
    <label class="layui-form-label">密碼框</label>
    <div class="layui-input-inline">
      <input type="password" name="password" required lay-verify="required" placeholder="請輸入密碼" autocomplete="off" class="layui-input">
    </div>
    <div class="layui-form-mid layui-word-aux">輔助文字</div>
  </div>
  <div class="layui-form-item">
    <label class="layui-form-label">選擇框</label>
    <div class="layui-input-block">
      <select name="city" lay-verify="required">
        <option value=""></option>
        <option value="0">北京</option>
        <option value="1">上海</option>
        <option value="2">廣州</option>
        <option value="3">深圳</option>
        <option value="4">杭州</option>
      </select>
    </div>
  </div>
  <div class="layui-form-item">
    <label class="layui-form-label">複選框</label>
    <div class="layui-input-block">
      <input type="checkbox" name="like[write]" title="寫做">
      <input type="checkbox" name="like[read]" title="閱讀" checked>
      <input type="checkbox" name="like[dai]" title="發呆">
    </div>
  </div>
  <div class="layui-form-item">
    <label class="layui-form-label">開關</label>
    <div class="layui-input-block">
      <input type="checkbox" name="switch" lay-skin="switch">
    </div>
  </div>
  <div class="layui-form-item">
    <label class="layui-form-label">單選框</label>
    <div class="layui-input-block">
      <input type="radio" name="sex" value="男" title="男">
      <input type="radio" name="sex" value="女" title="女" checked>
    </div>
  </div>
  <div class="layui-form-item layui-form-text">
    <label class="layui-form-label">文本域</label>
    <div class="layui-input-block">
      <textarea name="desc" placeholder="請輸入內容" class="layui-textarea"></textarea>
    </div>
  </div>
  <div class="layui-form-item">
    <div class="layui-input-block">
      <button class="layui-btn" lay-submit lay-filter="formDemo">當即提交</button>
      <button type="reset" class="layui-btn layui-btn-primary">重置</button>
    </div>
  </div>
</form>
layui.use('form', function(){
  var form = layui.form;

  //監聽提交
  form.on('submit(formDemo)', function(data){
    layer.msg(JSON.stringify(data.field));
    return false;
  });
});

fsLayui解決的問題?

經過引入 fsLayui js文件,快速開發datagrid增刪改查操做。

支持功能

  • 簡單數據表格增刪改查
  • 樹+數據表格(樹基於ztree實現,點擊左邊樹,刷新右邊表格數據)
  • 多數據表格(同一頁面多個數據表格操做)
  • tab表格(tab切換表格)
  • 複雜表格增刪改查
  • 聯動表格增刪改查
  • 聯動下拉框(省市區級聯等)
  • 數據表格轉義(例如:表格某個字段須要須要把代碼填充中文名稱)
  • 文件上傳功能
  • layedit編輯器
  • 數據字典功能

新增demo

<!DOCTYPE html>
<html>
  <head>
    <meta content="text/html;charset=UTF-8"/>
    <title>fsLayuiPlugin</title>
    <meta name="keywords" content="fsLayuiPlugin,layui,layuiPlugin,layui插件" />
    <meta name="description" content="fsLayuiPlugin,layui,layuiPlugin,layui插件" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <meta http-equiv ="Pragma" content = "no-cache"/>
    <meta http-equiv="Cache-Control" content="no cache" />
    <meta http-equiv="Expires" content="0" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="format-detection" content="telephone=no"/>
    <link rel="stylesheet" type="text/css" href="/plugins/layui/css/layui.css" media="all"/>
    <link rel="stylesheet" type="text/css" href="/css/fs.css" media="all"/>
    <script type="text/javascript" src="/plugins/layui/layui.js"></script>
    <script type="text/javascript" src="/plugins/jquery/jquery.min.js"></script>
    <script type="text/javascript" src="/plugins/frame/js/fsDict.js?v=1.4.1"></script>
    <script type="text/javascript" src="/plugins/frame/js/fs.js?v=1.4.1"></script>
    <script type="text/javascript" src="/plugins/frame/js/frame.js?v=1.4.1"></script>
  </head>
  <body class="layui-layout-body">
    <div class="layui-fluid">
      <form class="layui-form">
        <div class="layui-form-item">
          <label class="layui-form-label">名稱</label>
          <div class="layui-input-block">
            <input type="text" name="name" required="" lay-verType="tips" lay-verify="required" placeholder="請輸入名稱" autocomplete="off" class="layui-input"/>
          </div>
        </div>
        <div class="layui-form-item">
          <label class="layui-form-label">類型</label>
          <div class="layui-input-block">
            <input type="checkbox" name="type" title="寫做" value="write">
            <input type="checkbox" name="type" title="閱讀" value="read">
            <input type="checkbox" name="type" title="發呆" value="dai">
          </div>
        </div>
        <div class="layui-form-item">
          <label class="layui-form-label">性別</label>
          <div class="layui-input-inline">
            <input type="radio" name="sex" value="男" title="男" checked="checked">
            <input type="radio" name="sex" value="女" title="女">
          </div>
          <label class="layui-form-label">狀態</label>
          <div class="layui-input-inline">
            <input type="checkbox" name="state" lay-skin="switch" lay-text="開啓|關閉" value="1" checked>
          </div>
        </div>
        <div class="layui-form-item">
          <label class="layui-form-label">城市</label>
          <div class="layui-input-inline">
            <select name="city" lay-verify="required"  lay-verType="tips" class="fsSelect" dict="city" addNull="1">
            </select>
          </div>
          <label class="layui-form-label">建立時間</label>
          <div class="layui-input-inline">
            <input type="text" name="createdTime" autocomplete="off" class="layui-input fsDate" dateType="datetime" />
          </div>
        </div>

        <div class="layui-form-item">
          <label class="layui-form-label">省份</label>
          <div class="layui-input-inline" style="width: 100px;">
            <select id="area2222222" name="area1" lay-filter="xxxxxx1" class="fsSelect" dict="area1" addNull="1" childrenSelectId="xxxxxx2">
            </select>
          </div>
          <label class="layui-form-label">城市</label>
          <div class="layui-input-inline" style="width: 100px;">
            <select id="xxxxxx2" name="area2" lay-filter="xxxxxx2" class="fsSelect" isLoad="0" dict="area2" addNull="1" childrenSelectId="xxxxxx3">
            </select>
          </div>
          <label class="layui-form-label">區</label>
          <div class="layui-input-inline" style="width: 100px;">
            <select id="xxxxxx3" name="area3" class="fsSelect" isLoad="0" dict="area3" addNull="1">
            </select>
          </div>
        </div>

        <div class="layui-form-item layui-form-text">
          <label class="layui-form-label">附件</label>
          <div class="layui-input-inline">
            <input type="text" id="filePath" name="filePath" autocomplete="off" disabled="disabled" class="layui-input"/>
          </div>
          <div class="layui-input-inline">
            <button type="button"  class="layui-btn" function="upload" fileElem="#filePath" fileAccept="file" fileExts="" fileSize="1024" inputs="type:test">上傳圖片</button>
          </div>
        </div>
        <div class="layui-form-item layui-form-text">
          <label class="layui-form-label">描述</label>
          <div class="layui-input-block">
            <textarea id="description" name="description" placeholder="請輸入描述" class="fsLayedit" height="80"></textarea>
          </div>
        </div>
        <hr/>
        <div class="layui-form-item" style="text-align: center;">
          <button class="layui-btn" lay-submit="" lay-filter="save" url="/fsbus/1001">新增</button>
          <button type="button" class="layui-btn layui-btn-primary" function="close">關閉</button>
        </div>
      </form>
    </div>
  </body>
</html>

效果圖

數據表格

新增
樹+數據表格

多數據表格

聯動表格

本文首發於個人博客: ITCTO技術博客
相關文章
相關標籤/搜索