zoukankan      html  css  js  c++  java
  • 部门前台框架一些可重用的代码

        最近几天在维护设备管理模块下的一个前台页面时,觉得部分代码逻辑有些混乱,其实一些重复的代码可以抽取出来封在一个函数里.一些校验的工作具有普遍性,也可以把这部分抽取出来.比如"灰"掉多个grid控件的操作按钮和复位,比如"灰"掉表单的所有控件和复位.

      //抽取可重用的代码,复位
                var _reset = {
                    ms_grid: function (state) {
                        var _temp;
                        for (var i = 0; i < obj_frame.children.length; i++) {
                            _temp = obj_frame.children[i];
                            if (_temp.type === "grid" || _temp.type === "editGrid") {
                                for (var p in _temp.tbar) {
                                    if (_temp.tbar[p].text) {
                                        var bt = _temp.getButton(_temp.tbar[p].text);
                                        bt.toggle(true, true);
                                        state && bt[state]();
                                    }
                                }
                            }
                        }
                    },
                    ms_form: function (state) {
                        var _temp;
                        for (var i = 0; i < obj_frame.children.length; i++) {
                            _temp = obj_frame.children[i];
                            if (_temp.type === "form") {
                                for (var p in _temp.layout[0].items) {
                                    _temp.layout[0].items[p].name && $(_temp.layout[0].items[p].name)[state]();
                                }
                            }
                        }
                    },
                    ms_query: function () {
                        var _temp = true;
                        var _arr = [obj_date, obj_class, obj_post];
                        for (var i = 0; i < _arr.length; i++) {
                            if (_arr[i].getValue && _arr[i].getValue() === "") _temp = false;
                        }
                        if (_temp) {
                            Sail.postData("http://www.cnblogs.com/../DataMap?funcname=listMaintainmanchangerec&sysFlag=1", {
                                maintainmanchangerecRecdate: obj_date.getValue(),
                                maintainmanchangerecPost: obj_post.getValue(),
                                workteam: obj_class.getValue()
                            }, function (flag, getData) {
                                if (flag == "true") {
                                    if (getData.dataset.totalRecords == '0') {
                                        $('责任维修').setData('', '');
                                        $('交接人').setData('', '');
                                        return;
                                    }
                                    var retMap = getData.dataset.maintainmanchangerecvo;
                                    if (retMap.dutyman) {
                                        $('责任维修').setData(retMap.dutyman, retMap.dutymanName);
                                    } else {
                                        $('责任维修').setData('', '');
                                    }
                                    if (retMap.transferman) {
                                        $('交接人').setData(retMap.transferman, retMap.transfermanName);
                                    } else {
                                        $('交接人').setData('', '');
                                    }
                                }
                                else {
                                    Ext.Msg.alert("警告!", getData.dataset.response.content);
                                }
                            });
                        }
                    }
                };
    

      根据业务要求还可以扩展出许多有趣的功能哦!

    看看下面什么调用吧:

             obj_class.on('aftersetvalue', function (combox, record, text, value) {
                    _reset.ms_query();
                });
    
                obj_post.on('aftersetvalue', function (combox, record, text, value) {
                    _reset.ms_query();
                });
    
                obj_date.on('aftersetvalue', function (combox, record, text, value) {
                    _reset.ms_query();
                });
    
                obj_form.addButtonHandler('重置', function () {
                    _reset.ms_form("enable");
                    _reset.ms_grid("disable");
                });
  • 相关阅读:
    go案例:客户管理系统流程 mvc模式 分层设计
    珠峰2016,第9期 vue.js 笔记部份
    前后端分离电商,业务逻辑部份
    'Specifying a namespace in include() without providing an app_name '报错解决
    vue2.0 前端框架
    vue项目实战
    电商网前后端分离数据表设计部份
    djang2.1教育平台02
    django框架开发流程
    测试的艺术:测试用例的设计
  • 原文地址:https://www.cnblogs.com/ms_config/p/1689038.html
Copyright © 2011-2022 走看看