欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
思路:是将查出来的数据重新排序(主要是唯一ID及其数据位置调整)后台设置序号。只支持单选代码如何:
 
**// 第一步**
 
var data_tr;
 
//触发单选框选择
 
table.on('radio()', function(obj){ //test 是 table 标签对应的 lay-filter 属性
 
    data_tr = $(this);
 
});
 
**// 上移**
 
function uptr() {
 
    // 拿到列表集合
 
    var datas = layui.table.cache["list"];
 
    // 拿到选中的数据
 
    var checkStatus = table.checkStatus('list'), data = checkStatus.data;
 
    if (typeof (data[0]) == "undefined") {
 
        layer.msg("请选择一条要移动的数据");
 
    } else {
 
        var tr = $(data_tr).parent().parent().parent();
 
        debugger
 
        if ($(tr).prev().html() == null) {
 
            layer.msg("已经是最顶部了");
 
            return;
 
        }else{
 
            // 未上移前,记录本行和下一行的数据
 
            var tem = datas[tr.index()];
 
            var tem2 = datas[tr.prev().index()];
 
            // 将本身插入到目标tr之前
 
            $(tr).insertBefore($(tr).prev());
 
            // 上移之后,数据交换
 
            datas[tr.index()] = tem;
 
            datas[tr.next().index()] = tem2;
 
        }
 
    }
 
}
 
**// 上移最顶**
 
function upTop() {
 
    var datas = layui.table.cache["list"];
 
    var checkStatus = table.checkStatus('list'), data = checkStatus.data;
 
    if (typeof (data[0]) == "undefined") {
 
        layer.msg("请选择一条要移动的数据");
 
    } else {
 
        var tr = $(data_tr).parent().parent().parent();
 
        if ($(tr).prev().html() == null) {
 
            layer.msg("已经是最顶部了");
 
            return;
 
        }else{
 
            // 将数据渲染到最前一条
 
            $(tr).insertBefore($(tr).siblings(":first"));
 
            // 删除选中这条的数据   $(tr).attr("data-index")拿到选中这条数据的序号
 
            datas.splice($(tr).attr("data-index"), 1);
 
            // 数组中的前面插入
 
            datas.unshift(data[0]);
 
        }
 
    }
 
}
 
**// 下移**
 
function downtr() {
 
    var datas = layui.table.cache["list"];
 
    var checkStatus = table.checkStatus('list'), data = checkStatus.data;
 
    if (typeof (data[0]) == "undefined") {
 
        layer.msg("请选择一条要移动的数据");
 
    } else {
 
        var tr = $(data_tr).parent().parent().parent();
 
        debugger
 
        if ($(tr).next().html() == null) {
 
            layer.msg("已经是最底部了");
 
            return;
 
        }else{
 
            // 记录本行和下一行的数据
 
            var tem = datas[tr.index()];
 
            var tem2 = datas[tr.next().index()];
 
            // 将本身插入到目标tr的后面
 
            $(tr).insertAfter($(tr).next());
 
            // 交换数据
 
            datas[tr.index()] = tem;
 
            datas[tr.prev().index()] = tem2;
 
        }
 
    }
 
}
 
**// 下移最底**
 
function downBottom() {
 
    var datas = layui.table.cache["list"];
 
    var checkStatus = table.checkStatus('list'), data = checkStatus.data;
 
    debugger;
 
    if (typeof (data[0]) == "undefined") {
 
        layer.msg("请选择一条要移动的数据");
 
    } else {
 
        var tr = $(data_tr).parent().parent().parent();
 
        debugger
 
        if ($(tr).next().html() == null) {
 
            layer.msg("已经是最底部了");
 
            return;
 
        }else{
 
            // 将数据渲染到最后一条
 
            $(tr).insertAfter($(tr).siblings(":last"));
 
            datas.splice($(tr).attr("data-index"), 1);
 
            // 在数组末尾处按顺序添加
 
            datas.push(data[0]);
 
        }
 
    }
 
}
 
**// 最后调取修改接口**
 
function updateSortData() {
 
    debugger
 
    var instanceGUIDs = "";
 
    var data = layui.table.cache["list"];
 
    if(data.length > 1){
 
        for (var i = 0; i < data.length; i++) {
 
            instanceGUIDs += data[i].instanceGUID + ",";
 
        }
 
    }
 
    $.post("/spring/office/todo/saveTodoSort", {
 
        ids : instanceGUIDs,
 
        userGUID : userGUID
 
    }, function(data) {
 
        if (data) {
 
            $.newuiAlert('排序成功!');
 
            // tableInit();
 
        }else {
 
            $.newuiAlert('排序失败!');
 
        }
 
    });
 
**// 实现**
 
  @Autowired
 
    private JdbcTemplate jdbcTemplate;
 
    @RequestMapping("/saveTodoSort")
 
    public @ResponseBody boolean saveTodoSort(HttpServletRequest request) {
 
        String userGUID = request.getParameter("userGUID");
 
        String ids = request.getParameter("ids");
 
        boolean isSuccess = false;
 
        try {
 
            if (StringUtils.isNotBlank(userGUID) && StringUtils.isNotBlank(ids)) {
 
                String[] instanceGUIDs = ids.split(",");
 
                List<Object[]> batchParams = new ArrayList<Object[]>(instanceGUIDs.length);
 
                String sql = "update OFFICE_WorkflowInstanceActors set STAR_LEVEL=? where  WORKFLOWINSTANCE_GUID=? and PERSON_GUID=? and ACTORS_CLASSIFY=?";
 
                for (int i = 0; i < instanceGUIDs.length; i++) {
 
                    batchParams.add(new Object[] { (instanceGUIDs.length - i), instanceGUIDs[i], userGUID, 1 });
 
                }
 
                jdbcTemplate.batchUpdate(sql, batchParams);
 
                isSuccess = true;
 
            }
 
        } catch (Exception ex) {
 
            ex.printStackTrace();
 
        }
 
        return isSuccess;
 
    }

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64264.shtml