⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 role.js

📁 anewssystem新闻发布系统集成使用了spring hibernate freemarker EXTJS等开源框架 可以作为学习参考
💻 JS
📖 第 1 页 / 共 2 页
字号:
        toggleHandler: doSave
    }, '-', {
        pressed: true,
        enableToggle:true,
        text: '删除',
        cls: '',
        toggleHandler: doDel
    }, '-', {
        pressed: true,
        enableToggle:true,
        text: '资源配置',
        cls: '',
        toggleHandler: doAuth
    });
    var gridHead = grid.getView().getHeaderPanel(true);
    var tb = new Ext.Toolbar(gridHead);
    filterButton = new Ext.Toolbar.MenuButton({
        cls: 'x-btn-text-icon',
        text: '请选择',
        tooltip: '请选择...',
        menu: {items: [
            new Ext.menu.CheckItem({ text: '名称', value: 'name', checked: true, group: 'filter', checkHandler: onItemCheck })
        ]},
        minWidth: 105
    });
    tb.add(filterButton);
    // 过滤器
    var filter = Ext.get(tb.addDom({
        tag: 'input',
        type: 'text',
        size: '30',
        value: '',
        style: 'background: #F0F0F9;'
    }).el);
    // 回车键
    filter.on('keypress', function(e) {
        if(e.getKey() == e.ENTER && this.getValue().length > 0) {
            ds.load({params:{start:0, limit:myPageSize}});
        }
    });
    // 空格键
    filter.on('keyup', function(e) {
        if(e.getKey() == e.BACKSPACE && this.getValue().length === 0) {
            ds.load({params:{start:0, limit:myPageSize}});
        }
    });
    // 更新选择按钮
    function onItemCheck(item, checked) {
        if(checked) {
            filterButton.setText(item.text + ':');
        }
    }
    dsRole.on('beforeload', function() {
        //表格加载前的动作!
    });
    // 为表格加载数据
    dsRole.load({params:{start:0, limit:myPageSize}});
    function toggleDetails(btn, pressed){
        cmRole.getColumnById('name').renderer = pressed ? renderNamePlain : renderName;
        grid.getView().refresh();
    }
    // 新建对话框
    function createNewDialog(dialogName) {
        var thisDialog = new Ext.LayoutDialog(dialogName, {
            modal:false,
            autoTabs:true,
            proxyDrag:true,
            resizable:true,
            width: 650,
            height: 500,
            shadow:true,
            center: {
                autoScroll: true,
                tabPosition: 'top',
                closeOnTab: true,
                alwaysShowTabs: false
            }
        });
        thisDialog.addKeyListener(27, thisDialog.hide, thisDialog);
        thisDialog.addButton('关闭', function() {thisDialog.hide();});

        return thisDialog;
    };
    //----------------------Begin----------------添加表单动作(提交)
    function doAdd(){
        var aAddInstanceDlg;
        if (!aAddInstanceDlg) {
            aAddInstanceDlg = createNewDialog("a-addInstance-dlg");
            aAddInstanceDlg.addButton('重置', resetForm, aAddInstanceDlg);
            aAddInstanceDlg.addButton('保存', function() {
                // 提交
                if (form_instance_create.isValid()) {
                    form_instance_create.submit({
                        waitMsg:'数据提交中.....',
                        reset: false,
                        failure: function(form_instance_create, action) {
                            var info =
                            Ext.MessageBox.alert('Error Message', action.result.errorInfo);
                        },
                        success: function(form_instance_create, action) {
                            Ext.MessageBox.alert('Confirm', action.result.info);
                            aAddInstanceDlg.hide();
                            dsRole.load({params:{start:0, limit:myPageSize}});
                        }
                    });
                }else{
                    Ext.MessageBox.alert('Errors', '输入的数据有误,请重新输入!');
                }
            });
            var layout = aAddInstanceDlg.getLayout();
            layout.beginUpdate();
            layout.add('center', new Ext.ContentPanel('a-addInstance-inner', {title: 'create account'}));
            layout.endUpdate();
            aAddInstanceDlg.show();
        };
    }
    //End-----------------------------------------------
    //----------------------Begin----------------修改表单动作(提交)
    function doSave(){
        var aAddInstanceDlg;
        if (!aAddInstanceDlg) {
            var m = grid.getSelections();
            if(m.length!=1){
                Ext.MessageBox.alert('Error', '只允许选择单行纪录进行修改!');
                return;
            }
            id_show.setValue(m[0].get("id"));
            name_show.setValue(m[0].get("name"));
            descn_show.setValue(m[0].get("descn"));
            aAddInstanceDlg = createNewDialog("a-updateInstance-dlg");
            aAddInstanceDlg.addButton('重置', resetForm, aAddInstanceDlg);
            aAddInstanceDlg.addButton('保存', function() {
                // 提交
                if (form_instance_update.isValid()) {
                    form_instance_update.submit({
                        waitMsg:'数据提交中.....',
                        reset: false,
                        failure: function(form_instance_update, action) {
                            alert(action.result);
                            var info =
                            Ext.MessageBox.alert('提示信息', action.result.errorInfo);
                        },
                        success: function(form_instance_update, action) {
                            Ext.MessageBox.alert('Confirm', action.result.info);
                            aAddInstanceDlg.hide();
                            dsRole.load({params:{start:0, limit:myPageSize}});
                        }
                    });
                }else{
                    Ext.MessageBox.alert('提示', '输入的数据有误,请重新输入!');
                }
            });
            var layout = aAddInstanceDlg.getLayout();
            layout.beginUpdate();
            layout.add('center', new Ext.ContentPanel('a-updateInstance-inner', {title: '角色更新'}));
            layout.endUpdate();
            aAddInstanceDlg.show();
        };
    }
    function doAuth(){
        var m = grid.getSelections();
        if(m.length<=0){
            Ext.MessageBox.alert('提示', '请选择需要配置的角色!');
            return;
        }
        dsResc.load({params:{start:0, limit:myPageSize,id:m[0].get('id')}});
        var aAddInstanceDlg = createNewDialog("userAuthRole-dlg");
        var layout = aAddInstanceDlg.getLayout();
        layout.beginUpdate();
        layout.add('center', new Ext.ContentPanel('userAuthRole-inner', {title: '角色授权'}));
        layout.endUpdate();
        aAddInstanceDlg.show();
    }
    // 删除按钮方法
    function doDel(){
        var m = grid.getSelections();
        if(m.length > 0) {
            Ext.MessageBox.confirm('提示', '确定要删除吗?' , doDel2);
        } else {
            Ext.MessageBox.alert('提示', '请选择要删除的数据行!');
        }
    }
    // 删除回调方法
    function doDel2(btn) {
        if(btn=='yes'){
            var m = grid.getSelections();
            var roleid =new Array();
            for(var i = 0, len = m.length; i < len; i++){
                m[i].get("id");
                roleid[i]=m[i].get("id");
                dsRole.remove(m[i]);//从表格中删除
            }
            Ext.Ajax.request({
                url:'remove.htm?id='+roleid,
                success:function(){
                    Ext.MessageBox.alert('提示', '删除成功!');
                    dsRole.load({params:{start:0, limit:myPageSize}});
                },
                failure:function(){Ext.MessageBox.alert('提示', '删除失败!');}
            });
        }else{
            return;
        }
    }
    // 提交数据校验功能
    Ext.form.Field.prototype.msgTarget = 'side';
    Ext.form.Field.prototype.height = 20;
    Ext.form.Field.prototype.fieldClass = 'text-field-default';
    Ext.form.Field.prototype.focusClass = 'text-field-focus';
    Ext.form.Field.prototype.invalidClass = 'text-field-invalid';
    // 新建表单
    var name_tf = new Ext.form.TextField({
        fieldLabel: '角色名称',
        name: 'name',
        allowBlank:false
    });
    var descn_tf = new Ext.form.TextField({
        fieldLabel: '角色描述',
        name: 'descn',
        allowBlank:true
    });
    var form_instance_create = new Ext.form.Form({
        labelAlign: 'right',
        url:'insert.htm'
    })
    form_instance_create.column({width: 430, labelWidth:120, style:'margin-left:8px;margin-top:8px'});
    form_instance_create.fieldset({
        id:'addresc', legend:'添加角色----请填写数据:'},
        name_tf,
        descn_tf
    );
    form_instance_create.applyIfToFields({width:255});
    form_instance_create.render('a-addInstance-form');
    form_instance_create.end();
    resetForm = function() {
        name_tf.setValue('');
        descn_tf.setValue('');
    };
    // 更新表单
    var id_show = new Ext.form.TextField({
        // labelStyle: 'display: none',
        inputType: 'hidden',
        name: 'id',
        readOnly: true,
        allowBlank:false,
        labelStyle:'display: none'
    });
    var name_show = new Ext.form.TextField({
        fieldLabel: '角色名称',
        name: 'name',
        allowBlank:false
    });
    var descn_show = new Ext.form.TextField({
        fieldLabel: '角色描述',
        name: 'descn',
        allowBlank:true
    });
    var form_instance_update = new Ext.form.Form({
        labelAlign: 'right',
        url:'update.htm'
    });
    form_instance_update.column({width: 430, labelWidth:120, style:'margin-left:8px;margin-top:8px'});
    form_instance_update.fieldset({
        id:'updateResc', legend:'更新角色----请填写数据:'},
        name_show,
        descn_show,
        id_show
    );
    form_instance_update.applyIfToFields({width:255});
    form_instance_update.render('a-updateInstance-form');
    form_instance_update.end();
});

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -