TTaskDesign.js 9.04 KB
layui.config({
    base: "/js/"
}).use(['form', 'I18nPage', 'element', 'vue', 'layer', 'laydate', 'jquery', 'table', 'hhweb', 'utils', 'Universal'], function () {
    var form = layui.form,
        //layer = layui.layer,
        layer = (top == undefined || top.layer === undefined) ? layui.layer : top.layer,
        element = layui.element,
        laydate = layui.laydate,
        $ = layui.jquery,
        table = layui.table,
        hhweb = layui.hhweb,
        Universal = layui.Universal,
        I18nPage = layui.I18nPage;

    var thiswin = (top == undefined) ? window : top.window;
    var AreaName = 'task';
    var TableName = 'TTaskDesign';

    var MessageContainer = {};
    I18nPage.GetI18nMessage({
        Type: "PM",
        Code: "TTaskDesign",
        Container: MessageContainer,
    });

    var cols_arr = I18nPage.GetI18nTable(
        {
            TableNo: AreaName + "-" + TableName,
            TableName: TableName,
            Qel: "#qFields",
            Eel: "#eFields",
        }
    );

    var vm = new Vue({
        el: '#modifyForm'
    });

    var vmq = new Vue({
        el: '#panelSearch',
        data: {
        }
    });

    hhweb.Config = {

    };
    hhweb.InitUIClass();

    var mainList = {
        Render: function () {
            mainList.Table = table.render({
                elem: '#mainList'
                , url: "/" + AreaName + "/" + TableName + "/Load"
                , method: "post"
                , page: true //开启分页
                , cols: hhweb.ColumnSetting('mainList', cols_arr)
                , id: 'mainList'
                , limit: 20
                , limits: [20, 50, 100, 200, 500, 1000]
                , defaultToolbar: ['filter']
                , toolbar: '#toolbarTable'
                , height: 'full-1'
                , cellMinWidth: 80
                , size: 'sm'
                , done: function (res) { }
            });

            return mainList.Table;
        },
        Load: function () {
            if (mainList.Table == undefined) {
                mainList.Table = this.Render();
                return;
            }
            table.reload('mainList', {});
        }
    };

    //编辑
    var EditInfo = function (tabledata) {
        data = tabledata;
        vm.$set('$data', data);
        //表单修改时填充需修改的数据
        var list = {};
        $('.ClearSelector_' + TableName).each(function () {
            var selDom = ($(this));
            if ($(selDom)[0].name.search("q") == -1) {
                list[$(selDom)[0].name] = data[$(selDom)[0].name] + "";
            }
        });
        //表单修改时填充需修改的数据
        form.val('modifyForm', list);
    };

    //添加(编辑)对话框
    var editDlg = function () {
        var show = function (data) {
            layer.open({
                type: 2,
                area: ['100%', '100%'], //宽高
                maxmin: false,
                title: false,
                closeBtn: false,
                //btnAlign: 'c',
                content: '/task/TTaskDesign/design?id=' + data.Id,
                btn: [MessageContainer.SaveBtn, MessageContainer.CloseBtn],
                yes: function (index, layero) {
                    var iframeWin = thiswin[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
                    iframeWin.submit();

                    //layer.close(index);
                    table.reload('mainList', {});
                },
                btn2: function (index) {
                    layer.close(index);
                    table.reload('mainList', {});
                },
                cancel: function (index) {
                    layer.close(index);
                    table.reload('mainList', {});
                },
                success: function (layero, index) {
                    layer.full(index);
                }
            });
        }
        return {
            add: function () { //弹出添加
                update = false;
                show({
                    Id: ''
                });
            },
            update: function (data) { //弹出编辑框
                update = true;
                show(data);
            }
        };
    }();

    var selfbtn = {
        //自定义按钮
        btnDel: function () {      //批量删除
            var checkStatus = table.checkStatus('mainList')
                , data = checkStatus.data;

            if (checkStatus.data.length > 0) {
                layer.confirm(MessageContainer.DeleteMsg, { icon: 3 }, function (index) {
                    $.ajax({
                        url: "/" + AreaName + "/" + TableName + "/DelByIds",
                        type: "post",
                        data: { ids: data.map(function (e) { return e.Id; }) },
                        dataType: "json",
                        success: function (result) {
                            if (result.Code == 200 && result.Status) {
                                layer.msg(MessageContainer.SuccessMsg, { icon: 6, shade: 0.4, time: 1000 });
                                layer.close(index);
                                mainList.Load();//重载TABLE
                            }
                            else {
                                layer.alert(result.Message, { icon: 5, shadeClose: true, title: MessageContainer.ErrorInfo });
                            }
                        },
                        error: function (XMLHttpRequest, textStatus, errorThrown) {
                            layer.alert(errorThrown, { icon: 2, shadeClose: true, title: MessageContainer.ErrorInfo });
                        }
                    });
                });
            }
            else
                layer.alert(MessageContainer.SelectSome, { icon: 5, shadeClose: true, title: MessageContainer.ErrorInfo });
        }
        , btnAdd: function () {  //添加
            editDlg.add();
        }
        , btnSelfEdit: function () {  //编辑
            var checkStatus = table.checkStatus('mainList')
                , data = checkStatus.data;
            if (data.length != 1) {
                layer.msg(MessageContainer.SelectOne);
                return;
            }
            editDlg.update(data[0]);
        }
        , btnAddTaskGroup: function () {  //添加任务群组
            layer.open({
                title: MessageContainer.GroupTitle,
                type: 2,
                area: ['820px', '480px'],
                content: "/task/TTaskGroup/index",
                shadeClose: true,
                success: function (layero, index) {

                },
                end: function () {
                    Universal.BindSelector(vml, selector);
                }
            });
        }
        , btnAddTaskType: function () {  //添加任务类型
            layer.open({
                title: MessageContainer.TypeTitle,
                type: 2,
                area: ['820px', '480px'],
                content: "/task/TTaskType/index",
                shadeClose: true,
                success: function (layero, index) {

                },
                end: function () {
                    Universal.BindSelector(vml, selector);
                }
            });
        }
    };

    var selector = {

    };

    $.ajax({
        type: 'POST',
        url: '/task/TTaskGroup/GetTaskGroup',
        data: null,
        dataType: 'json',
        success: function (data) {
            $("[name='qGroupname']").html($("<option>"));
            $.each(data.data, function (key, value) {
                var option = $("<option>").val(value.Groupname).text(value.Groupname);
                $("[name='qGroupname']").append(option);
            });
            form.render('select');

            //实现下拉联动,一级下拉监听
            form.on('select(qGroupname)', function (data) {
                vmq.$set('Groupname', data.value);
                vmq.$set('Typename', null);

                $.ajax({
                    type: 'POST',
                    url: '/task/TTaskType/Load',
                    data: {
                        entity: { 'Groupname': data.value }
                    },
                    dataType: 'json',
                    success: function (data) {
                        $("[name='qTypename']").html($("<option>"));
                        $.each(data.data, function (key, value) {
                            var option = $("<option>").val(value.Typename).text(value.Typename);
                            $("[name='qTypename']").append(option);
                        });
                        form.render('select');

                        //监听二级下拉事件
                        form.on('select(qTypename)', function (data) {
                            vmq.$set('Typename', data.value);
                        });
                    }
                });
            });
        }
    });

    var vml = new Array({
        vm: vm,
        vmq: vmq,
    });

    Universal.BindSelector(vml, selector);
    Universal.mmain(AreaName, TableName, vm, vmq, EditInfo, selfbtn, mainList);
});