common.js 8.79 KB
let dtree = null;

//按钮初始化
function btnButton(_fn, _disabledArray = []){
   var html=`
   <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="fa fa-floppy-o" aria-hidden="true"></i>
                        保存</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="glyphicon glyphicon-send" aria-hidden="true"></i>
                        发送</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="glyphicon glyphicon-retweet" aria-hidden="true"></i>
                        退件</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="fa fa-arrow-left" aria-hidden="true"></i>
                        回退</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="fa fa-arrow-left" aria-hidden="true"></i>
                        退回</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="glyphicon glyphicon-indent-left" aria-hidden="true"></i>
                        改派</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="glyphicon glyphicon-duplicate" aria-hidden="true"></i>
                        项目复制</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="glyphicon glyphicon-list-alt" aria-hidden="true"></i>
                        流程日志</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="fa fa-random" aria-hidden="true"></i>
                        操作记录</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="fa fa-tree" aria-hidden="true"></i>
                        项目树</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="glyphicon glyphicon-retweet" aria-hidden="true"></i>
                        项目全阶段</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="glyphicon glyphicon-gift"></i>
                        相关资料</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="fa fa-comments" aria-hidden="true"></i>
                        上会</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="fa fa-trash-o" aria-hidden="true"></i>
                        删除</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="fa fa-play-circle-o" aria-hidden="true"></i>
                        续办</button>
                    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm review-page-header-btn">
                        <i class="glyphicon glyphicon-export" aria-hidden="true"></i>
                        取回</button>
   `;
   $('.header').html(html);
   _disabledArray.forEach(item => {
       $(".header .review-page-header-btn").eq(item).addClass('review-page-header-btn').attr('disabled', true);
   });
   $(".header").on('click', '.review-page-header-btn', function () {
       if (typeof _fn === 'function') {
           let $this = $(this);
           let _index = $this.index();
           _fn.call(this, _index);
       }
   });
}

// 树形初始化
function dTreeInit(_id, _initData, _fn, _optFn) {
    if (dtree == null) {
        layui.extend({
            dtree:'/frontweb/libs/layui_ext/dtree/dtree'
        }).use(['dtree'],function(){
            dtree = layui.dtree;
        });
    }
    layui.use(['element','tree', 'util','layer'], function () {
        let element = layui.element,
            tree = layui.tree,
            layer = layui.layer,
            util = layui.util;

        let DemoTree = dtree.render({
            elem: `#${ _id }`,
            iconfontStyle:[{fnode:{  //一级节点
                    node:{  //非叶子节点
                        open:"dtree-icon-xiangxia1",  //节点展开
                        close:"dtree-icon-xiangyou"  //节点关闭
                    },
                    leaf:"dtree-icon-null"  //叶子节点
                },
                snode:{  //二级节点
                    node:{  //非叶子节点
                        open:"dtree-icon-null top-icon",  //节点展开
                        close:"dtree-icon-weibiaoti5"  //节点关闭
                    },
                    leaf:"dtree-icon-null top-icon-bottom"  //叶子节点
                },
            }],
            toolbar:true,
            toolbarWay:"follow", // "contextmenu":右键菜单(默认),"fixed":"固定在节点后","follow":"跟随节点动态呈现"
            skin: "zdy",
            toolbarShow: [],
            toolbarFun:{
                loadToolbarBefore: function(buttons, param, $div){
                    buttons.addToolbar = "<a title='下载文件' data-id=" + param.nodeId + " data-node='download' class='dtree-optbtn' style='padding-left: 5px;'><i class='dtreefont'><img src='/frontweb/image/projecttask/download.png'></img></a>";  // 取消新增功能
                    if (param.leaf) {
                        // 叶节点
                        buttons.addToolbar = "<a title='预览文件' data-id=" + param.nodeId + " data-node='view' class='dtree-optbtn' style='padding-left: 5px;'><i class='dtreefont'><img src='/frontweb/image/projecttask/view.png'></img></a>" + "<a  title='下载文件' data-id=" + param.nodeId + " data-node='download' class='dtree-optbtn' style='padding-left: 5px;'><i class='dtreefont'><img src='/frontweb/image/projecttask/download.png'></img></a>" + "<a  title='删除文件' data-id=" + param.nodeId + " data-node='delete' class='dtree-optbtn' style='padding-left: 5px;'><i class='dtreefont'><img src='/frontweb/image/projecttask/delete.png'></img></a>";
                    }
                    return buttons; // 将按钮对象返回
                },
            },
            data: _initData,
            done: function (res, $ul, first) {
                var param = dtree.getNowParam(DemoTree);
                if (typeof _optFn === 'function') {
                    $('.dtree').on('click', '.dtree-optbtn', function (e) {
                        if (e.stopPropagation) {
                            e.stopPropagation()
                        } else {
                            e.cancelBubble = true;
                        }
                        _optFn.call(this, dtree.getParam(`${ _id }`, $(this).data('id')), $(this).data('node'));
                    })
                }
            }
        });

        // 绑定节点点击
        dtree.on(`node('${ _id }')` ,function(obj, e){
            if (typeof _fn === 'function') {
                _fn.call(this, obj.param)
            }
        });

        return DemoTree;
    });
}

// 获取url参数
function getUrlParams () {
    let _urlParam = location.href.split('?')[1];
    let _urlObj = new Object();
    if (_urlParam) {
        let _urlParamArray = _urlParam.split('&');
        _urlParamArray.forEach(item => {
            let itemArray = item.split('=');
            _urlObj[itemArray[0]] = itemArray[1];
        });
    }
    return _urlObj;
}

// postDataToServe
function postDataToServe (_url, _data, _fn, _async) {
    if (!_url) {
        layer.msg('请选择正确url!');
        return false;
    }
    $.ajax({
        type: "POST",
        async: _async ? true : false,
        dataType: 'json',
        contentType: "application/json",
        url:`${ CONF_NEWGHSC_SERVERURL }${ _url }`,
        data: JSON.stringify(_data),
        // headers:{"token":$.cookie('ftoken')},
        success:function (res) {
            if (res.code == 200 && res.data) {
                if (typeof _fn === 'function') {
                    _fn.call(this, res.data, res);
                }
            }
        },
        error:function (){
            layer.msg('请求错误,请联系管理员!');
        }
    });
}