首页 > 其他分享 >记录使用Layui中一些常用的api

记录使用Layui中一些常用的api

时间:2023-04-25 12:12:44浏览次数:37  
标签:记录 Layui title li api let dataField txt data

获取当前操作行数据
var cols = [
    [
      {
          title: '操作',
          toolbar: '#option',
          align: 'center',
          height: 80,
          width: 120,
          fixed: 'right'
      }
    ]
]
<script type="text/html" id="option">
  <div style="padding-top:5px">
      <button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-submit lay-filter="Detail">
          <i class="layui-icon layui-icon-template"></i>详情
      </button>
  </div>
</script>

form.on('submit(detail)', function (data) {// 点击详情
    let tableData = layui.table.getData('table');// 这里的table是table元素上绑定的lay-filter
    let tableIndex = $(data.elem).parents('tr').data('index');
    let dataField = tableData[tableIndex];
    dataField.OptionTitle = '详情';
    initAddDetail(dataField);
    return false;
});
实现这种效果


一、每行功能按钮一样

// 1.定义模板
<script type="text/html" id="option">
    <div style="padding-top:5px">
        <div id="moreContainer">
          <button type="button" class="layui-btn layui-btn-primary layui-btn-xs More">
            <i class="layui-icon layui-icon-down layui-font-12"></i>'更多'
          </button>
        </div>
    </div>
</script>

// 引入dropdown
let dropdown = layui.dropdown;
// dropdown初始化

// 刷新列表
function reloadTable(where) {
    dropdown.render({
        elem: '.More'//
        , trigger: 'hover'// 鼠标移入触发
        , data: dropdownData
        , click: function (data, othis) {// 更多下面的功能按钮点击触发
            let tableData = layui.table.getData('table');
            let tableIndex = this.elem.parents('tr').data('index');
            let dataField = tableData[tableIndex];
            initOrderDetail(dataField.OrderId);//渲染订单详情页
        }
    });
    tbl.reload({
        url: '/WorkOrder/GetRecords'
        , where: where
        , page: { curr: 1 }
        , limit: 50
    });
}

二、每行功能按钮不一样

// 1.引入dropdown
let dropdown = layui.dropdown;

// 2.定义table,并且在done里面调用[更多功能按钮初始化]
var tbl = table.render({
  elem: '#table'
  , page: true
  , limits: [10,50, 100, 150, 200, 500, 1000]
  , autoSort: false
  , cols: cols
  , done: function (res, curr, count) {
      if (where.WorkOrderQueryType == 'ExportQueryData') {
          where.page = 1;
          where.limit = 50000;
          location.href = "/WorkOrder/ExportQueryData";
          resetRefresh();
      }
      $('#AllCount').text(res.AllCount);
      $('#DraftCount').text(res.DraftCount);
      $('#ReplyCount').text(res.ReplyCount);
      $('#ReplyedCount').text(res.ReplyedCount);
      $('#HandlingCount').text(res.HandlingCount);
      $('#ClosuredCount').text(res.ClosuredCount);
      $('#ClosureFailCount').text(res.ClosureFailCount);
      $('#ClosureSuccessCount').text(res.ClosureSuccessCount);
      $('#ClosureUnknownCount').text(res.ClosureUnknownCount);
      $('#CanceledCount').text(res.CanceledCount);
      initMoreOption(res.data);
  }
});

// dropdown初始化

// 刷新列表
function reloadTable(where) {
    initMore();// 注意要在获取数据之前
    tbl.reload({
        url: '/WorkOrder/GetRecords'
        , where: where
        , page: { curr: 1 }
        , limit: 50
    });
}

// 初始化更多(注意要在获取数据之前)
function initMore() {
    var moreContainer = $('#moreContainer');
    if (typeof moreContainer != 'undefined') {
        $('#moreContainer').remove();
        $('#option').find('div[id=moreContainer]').remove();
    }

    moreContainer = $([
        , '<div id="moreContainer">'
        , '<div style="padding-top:5px">'
        , '<button type="button" class="layui-btn layui-btn-primary layui-btn-xs More">'
        , '<i class="layui-icon layui-icon-down layui-font-12"></i>'
        , '更多'
        , '</button>'
        , '</div>'
        , '</div>'
    ].join(''));
    $('#option').append(moreContainer)
}

// 初始化更过操作按钮
function initMoreOption(data) {
    dropdownData = [];
    var record = data[0];
    if (typeof record != 'undefined') {
        dropdownData.push({ title: '复制新增' });
        dropdownData.push({ title: '取消' });
        dropdownData.push({ title: '日志' });
        dropdownData.push({ title: '售后信息' });
        dropdownData.push({ title: '转指派' });
        dropdown.render({
            elem: '.More'
            , trigger: 'hover'
            , data: dropdownData
            , ready: function (elemPanel, elem) {
                let lis = elemPanel.find('li');
                let tableData = layui.table.getData('table');
                let tableIndex = this.elem.parents('tr').data('index');
                let dataField = tableData[tableIndex];
                // 所有功能按钮先隐藏
                for (var i = 0; i < lis.length; i++) {
                    let li = lis[i];
                    $(li).hide();
                }
                // 遍历所有功能按钮,按需求展示
                for (var i = 0; i < lis.length; i++) {
                    let li = lis[i];
                    let txt = li.innerText;
                    if (dataField.StatusStr == null) {
                        if (txt == '售后信息' || txt == '日志') {
                            $(li).show();
                        }
                    }
                    if (dataField.StatusStr == '草稿') {
                        if (txt == '售后信息' || txt == '日志') {
                            $(li).show();
                        }
                        if (txt == '复制新增' && dataField.CopyAction) {
                            $(li).show();
                        }
                    }
                    if (dataField.StatusStr == '待回复' || dataField.StatusStr == '已回复' || dataField.StatusStr == '售后处理中') {
                        if (txt == '售后信息' || txt == '日志') {
                            $(li).show();
                        }
                        if (txt == '转指派' && dataField.TurnReplyAction) {
                            $(li).show();
                        }
                        if (txt == '复制新增' && dataField.CopyAction) {
                            $(li).show();
                        }
                        if (txt == '取消' && dataField.CancelAction) {
                            $(li).show();
                        }
                    }
                    if (dataField.StatusStr == '已结案') {
                        if (txt == '售后信息' || txt == '日志') {
                            $(li).show();
                        }
                        if (txt == '复制新增' && dataField.CopyAction) {
                            $(li).show();
                        }
                    }
                    if (dataField.StatusStr == '已结案未解决') {
                        if (txt == '售后信息' || txt == '日志') {
                            $(li).show();
                        }
                        if (txt == '复制新增' && dataField.CopyAction) {
                            $(li).show();
                        }
                    }
                    if (dataField.StatusStr == '已结案已解决') {
                        if (txt == '售后信息' || txt == '日志') {
                            $(li).show();
                        }
                        if (txt == '复制新增' && dataField.CopyAction) {
                            $(li).show();
                        }
                    }
                    if (dataField.StatusStr == '已结案未知') {
                        if (txt == '售后信息' || txt == '日志') {
                            $(li).show();
                        }
                        if (txt == '复制新增' && dataField.CopyAction) {
                            $(li).show();
                        }
                    }
                    if (dataField.StatusStr == '已取消') {
                        if (txt == '售后信息' || txt == '日志') {
                            $(li).show();
                        }
                    }

                }
            }
            , click: function (data, othis) {
                let tableData = layui.table.getData('table');
                let tableIndex = this.elem.parents('tr').data('index');
                let dataField = tableData[tableIndex];

                dataField.OptionTitle = data.title;
                if (data.title == '订单详情') {
                    initOrderDetail(dataField.OrderId);
                } else if (data.title == '复制新增') {
                    initAddDetail(dataField);
                } else if (data.title == '日志') {
                    showLog(dataField.Id);
                } else if (data.title == '详情') {
                    initAddDetail(dataField);
                } else if (data.title == '编辑') {
                    initAddDetail(dataField);
                } else if (data.title == '回复') {
                    initReply(dataField.Id, data.title);
                } else if (data.title == '售后信息') {
                    initAfterSale(dataField.OrderId);
                } else if (data.title == '取消') {
                    initCancel(dataField.Id, dataField.Version);
                } else if (data.title == '转指派') {
                    initReply(dataField.Id, data.title);
                }
            }
        });
    }
}

标签:记录,Layui,title,li,api,let,dataField,txt,data
From: https://www.cnblogs.com/BOSET/p/17352219.html

相关文章

  • [ahk]获取文华财经全自动运行模组信号记录
    #Persistent#SingleInstanceForceDetectHiddenWindows,OnControl:="SysListView323"WinTitle:="全自动运行模组ahk_class#32770"WinText:="List1"ControlClick,Button26,%WinTitle% ControlGet,......
  • DDP运行报错(单卡无错):ERROR:torch.distributed.elastic.multiprocessing.api:failed (e
    使用DDP时出现错误,但是单卡跑无错误。错误记录如下:RuntimeError:Expectedtohavefinishedreductionintheprioriterationbeforestartinganewone.Thiserrorindicatesthatyourmodulehasparametersthatwerenotusedinproducingloss.Youcanenableunu......
  • mysql记录耗时的sql
    author:skatetime:2012/02/17mysql记录耗时的sqlmysql可以把耗时的sql或未使用索引的sql都记录在slowlog里,供优化分析使用。1.mysql慢查询日志启用:mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢?mysql......
  • 十大 API 平台网站分享(包括常用的API 大全整理)
    一、AWSAPIGateway是亚马逊云服务中的API管理平台,可以快速创建、发布和管理API,并提供可扩展的后端服务。 二、GoogleCloudEndpoints是GoogleCloudPlatform中的API管理平台,支持多种编程语言,可以轻松地创建、部署和管理API。 三、MicrosoftAzureAPIManagement......
  • 淘宝API接口对接(商品详情,评论,按图搜图,订单列表)代码封装,可高并发
    淘宝OpenAPI(Openapplicationprogramminginterface)是一套REST方式的开放应用程序编程接口。淘宝网根据自己提供的电子商务基础服务,抽象并做成一系列的API接口。通过这些接口,可以让外部用户能够通过程序的方式访问淘宝网的数据和平台。淘宝OpenAPI是淘宝开放平台的重要组成......
  • 记录一次springBoot+hibernate+JPA+swagger2+链接人大金仓的项目demo
    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.spring......
  • GIT 学习记录
    gitinit--bare git初始化服务器仓库gitinit 初始化本地仓库gitadd. 本地仓库添加gitcommit-m"firstversion" 本地仓库首次提交===本地仓库关联服务器远程仓库===gitremoteaddoriginhttps://github.com/xxxx/frp.git或者gitremoteaddoriginname@192......
  • 获取表中每个类型最新一条记录【Postgresql】
    每条数据的编号:row_number()分组排序:over(partitionby分组的字段orderby排序的字段)num=1:对分组后的数据获取第一条,也就是最新一条SELECT*FROM(SELECTROW_NUMBER()over(PARTITIONBYidORDERBYtimeDESC)ASnum,*FROMmonitordatawheretime>'2023-04-259:0......
  • AI 相关术语了解记录
    RLFH(ReinforcementLearningfromHumanFeedback)  从人类反馈中学习的强化学习#训练过程Collecthumanfeedback收集人类反馈 Trainrewardmodel训练奖励模型RM RewardModel奖励模型 TrainpolicywithPPO  训练策略模型PolicyGradient RL,策略梯度......
  • 建个随笔记录版本
    因式分解模拟器2.0*修复了两个式子前后互换位置无法识别的错误*增加了正确答案存在时间*整体难度下调*修改了难度的选择部分,更加简洁*增加了很多注释https://files.cnblogs.com/files/blogs/777644/%E5%9B%A0%E5%BC%8F%E5%88%86%E8%A7%A3%E6%A8%A1%E6%8B%9F%E5%99%A82.0.zip?t=1......