js 前端知识小记

1.时间相关知识

            //获取当前日期(毫秒)
            var nowDate = (new Date()).getTime();

           //日期格式化获取毫秒 date=2019-12-25

         Ext.Date.parse(date, "Y-m-d").getTime();

2.相关计算

//相加

a= Number(b) + Number(c);

//保留两位小数

a.toFixed(2);

3.Ajax请求

setrewardRatio:function(assureType,overMonth,executeRate){
        var me =this;
        Ext.Ajax.request({
            url : 'liquidateRewardConfController/findRatioByParams.do',
            params : {
                assureMeansType : assureType,
                monthValue : overMonth,
                ratio : executeRate,
            },
            success : function(response,opts) {        
                var obj=Ext.decode(response.responseText);
                me.rewardRatioField.setValue(obj.rewardRatio);
            },
            failure : function(response,opts) {
                return false;
            }
        });
    }


            $.ajax({  
                    url :'liquidateController/saveLiquidate.do',        
                    type : "POST",  
                    datatype:"json",  
                    data : data,  
                    success : function(data, stats) {  
                        //校验主键是否一致,一致抛出异常
                        var resultFlag = data.resultFlag;
                        if("fail"==resultFlag){
                            Ext.toastWarn(data.msg);
                            myMask.hide();
                        }else{
                            Ext.toastInfo('操作成功');
                            me.isSave=true;
                            myMask.hide();
                            me.hide();
                        }
                        return false;
                    },  
                    error : function(data) {  
                        Ext.toastWarn('保存失败!');
                        myMask.hide();
                        return false;
                    }  
            });  

4.一些常用的控件

//借据编号
        me.iouCodeWidget=Ext.create('app.bad.liquidate.iouCodeView.LoanInfoDetail',{
            fieldLabel: "借据编号",
            name: "iouCode", 
            labelAlign: "right",
            labelWidth: 110,
            allowBlank : false,
            iouCode: me.iouCode,
            readOnly : true
        });

Ext.define('app.bad.liquidate.iouCodeView.LoanInfoDetail', {
    extend : 'Ext.form.FieldContainer', 
    layout: "hbox", 
    labelName:null, 
    name:null,
    iouCode : null,
    /**
     * 
     * 初始化组件
     */
    initComponent : function() {
        var me = this;
        me.textField=Ext.create('Ext.form.field.Text',{
                anchor: "100%",
                readOnly:true,
                flex: 1, 
                fieldLabel: me.labelName,
                name:me.name,
                labelAlign: "right",
                bodyStyle : 'padding : 0px;margin:0px;',
                labelWidth: me.labelWidth
        }); 
        me.items = [ 
                     me.textField,
                       Ext.create('Ext.Button', {
                          text: '查看',
//                          renderTo: Ext.getBody(),
                          handler: function() {
                              me.toviewDetail();
                          }
                       })
                 ];
 
        this.callParent(arguments);
    },
    /**
     * 初始化表单
     */
    toviewDetail : function() {
        var me = this;
        var iouCode =me.textField.getValue();
        if(!iouCode){
            Ext.toastWarn('借据编号不能为空!');
            return false;
        }
        if(!me.loanViewWindow){
            me.loanViewWindow = Ext.create('app.bad.loan.LoanViewWindow',{
                isHiddenNextBtn:true
            });
        }
        me.loanViewWindow.displayLoanByIouCode(iouCode);
    },
    
    setValue:function(v){
        var me =this;
        if(v){
            me.textField.setValue(v);    
        }
    },
    getValue:function(){
        var me =this;
        return me.textField.getValue();    
    },
 
    /**
     * 获取值
     * id,text
     */
    getRecord:function(){
        var me =this;
        return me.record;
    }
});
 

    //设置数据
    loadRecord:function(selectRecord){
        var me =this;
        me.reSetForm();
        if(selectRecord){
            var data = Ext.create('Ext.data.Model', selectRecord.data);
            me.editForm.getForm().loadRecord(data);
        }
        
    },

 

    //清空数据
    reSetForm:function(){
        var me =this;
        me.editForm.getForm().resetToNull();
    },

initBtns:function(){
        var me=this;
        if(!me.buttons){
            me.buttons=[];
        }
        me.saveBtn = Ext.create('Ext.button.Button', {
            text : '保存',
            iconCls : 'fa fa-save',
            handler : function(){
                  me.doSave();
              }
        });

        me.closeBtn = Ext.create('Ext.button.Button', {
            text : '关闭',
            iconCls : 'fa fa-close',
            handler : function(){
                  me.hide();
              }
        });
       me.buttons=[me.saveBtn,me.closeBtn];
    },

            //选择控件
            me.isCollateralHandleField = Ext.create('Ext.form.field.Checkbox', {
                anchor : "100%",
                fieldLabel : "抵押物是否处置",
                labelAlign : "right",
                labelWidth : 130,
                name : "isCollateralHandle"
            });

            //文本容器
            me.liquidateMsgField = Ext.create('Ext.form.field.TextArea', {
                anchor : "100%",
                fieldLabel : "清收信息",
                labelAlign : "right",
                labelWidth : 110,
                width : 400,
                allowBlank : true,
                name : "liquidateMsg"
            });

//数据字典

            me.liquidateWayField=Ext.create('app.system.systemDict.widget.SystemDictComboBox',{
                name : 'liquidateWay',
                fieldLabel : '清收方式',
                labelAlign : 'right',
                labelWidth : 90,
                codeType : 'liquidateWay'

            });

//日期

            me.liquidateTimeField=Ext.create('Ext.form.field.Date',{
                 anchor: "100%",
                 name:"liquidateTime",
                 fieldLabel: "清收日期",
                 format:"Y-m-d",
                 labelAlign:"right",
                 labelWidth:110,
                 namefield:true,
                 submitFormat:"Y-m-d"
            });

//数值

            me.backAssessAmountField=Ext.create('Ext.form.field.Number',{
                anchor: "100%",
                fieldLabel: "收回评估费",
                labelAlign: "right",
                labelWidth: 110,
                negativeText:"输入金额不能小于0",
                allowBlank : true,
                minValue:0,
                name:"backAssessAmount"
        });

//隐藏id

            me.belongingBrField=Ext.create('Ext.form.field.Hidden',{
                anchor: "100%",
                fieldLabel: "所属机构",
                labelAlign: "right",
                labelWidth: 110,
                name: "belongingBr"
        });

//页面模块组合

        me.editForm = Ext.create('app.system.common.CommonFormPanel', {
            autoScroll : true,
            bodyStyle : 'padding:8px;',
            items: [fieldSet,
                     Ext.create('Ext.form.FieldSet', {
                        layout : 'anchor',
                        title:'奖励人员',
                        bodyStyle : 'margin:6px;',
                        border:true,
                        items: [me.liquidateRewardGridPanel]
                    }) ,
                    me.attachmentMainFieldSet,perfectSet ,me.ideaForm]
        });

 

    //切换数据:1上一条,2下一条
    changeRecord:function(changeFlag){
        var me =this;
        //上一条
        if(changeFlag==1){
            me.liquidateGrid.selectPriorRecord();
        }
        //下一条
        else if(changeFlag==2){
            me.liquidateGrid.selectNextRecord();
        }
        //获取数据
        var selectRecords = me.liquidateGrid?me.liquidateGrid.getSelection():null;
        if(selectRecords && selectRecords.length<=0){
            Ext.toastWarn('请选择要查看的记录!');
            return false;
        }
        //加载数据
        me.loadRecord(selectRecords[0]);
    }

    /**
     * 
     * 初始化组件
     */
    initComponent : function() {
        var me = this;
        me.initForm();
        this.callParent(arguments);
    },

//判断Ext.data.Store数据是否重复

方式1

checkIsRepeat:function(){
            var me = this;
            var fristIndexNo = 1;
            var fristId = "";
            var isRepeat = false;
            Ext.each(me.store.getRange(),function(record){
                fristId = record.get("empeId");
                var otherId = null;
                var secondIndexNo = 1;
                Ext.each(me.store.getRange(),function(secondRecord){
                    if(Number(secondIndexNo) > Number(fristIndexNo)){
                        otherId = secondRecord.get("empeId");
                    }
                    //判断是否重复
                     if(fristId == otherId){
                         isRepeat = true;
                     }
                     secondIndexNo = secondIndexNo + 1;
                })
             fristIndexNo = fristIndexNo + 1;
            });
            return isRepeat;
        }

方式2 在保存的时候监听页面窗口

        me.saveBtn = Ext.create('Ext.button.Button', {
            text : '保存',
            iconCls : 'fa fa-save',
            handler : function(){
                //验证字段
                if(!me.editForm.getForm().isValid()){
                    Ext.toastWarn('带*号为必填项或者输入数值为负数,请确认!');
                    return false;
                };
                var obj=me.editForm.getValues();
                obj.stageName=me.stageCodeField.getRawValue();
                if(me.type==2){
                    me.fireEvent("afterEdit",obj);
                }else{
                    me.fireEvent("afterDoSave",obj);
                }
//                me.hide();
              }
        });

//添加
        addLitigationStage:function() {
            var me = this;
            if (!me.liquidatePersonEditWindow) {
                me.litigationStageEditWindow = Ext.create('app.bad.litigation.defaultStage.LitigationStageEditWindow', {
                            listeners : {
                                //添加新增的
                                "hide" : function(win) {
                                    // 如果保存过则刷新页面
                                    if (win.isSave) {
                                        me.reLoad();
                                    }
                                },
                                "afterDoSave" : function(value) {
                                    if(me.isTheSameOrderNum(value)){
                                        Ext.toastWarn('序号不能重复!');
                                        me.litigationStageEditWindow.show();
                                        return ;
                                    }
                                    me.litigationStageEditWindow.hide();
                                    me.store.add(value);
                                    me.store.sort('orderNum','ASC');
                                }
                            }
                        });
            }
            me.litigationStageEditWindow.reSetForm();
            me.litigationStageEditWindow.addLitigationStageConfig(me);
        },
        //修改
        editLitigationStage:function() {
            var me = this;
            var selectRecords = this.getSelection();
            if(selectRecords && selectRecords.length<=0){
                Ext.toastWarn('请选择要查看的记录!');
                return false;
            }
            if(selectRecords && selectRecords.length>=2){
                Ext.toastWarn('请选择一条记录进行查看!');
                return false;
            }
            if (!me.stageEditWindow) {
                me.stageEditWindow = Ext.create('app.bad.litigation.defaultStage.LitigationStageEditWindow', {
                            listeners : {
                                "afterEdit":function(value){
                                //先移除原来修改前数据
                                var oldData =    me.getSelection();
                                if(oldData[0].data.orderNum != value.orderNum && me.isTheSameOrderNum(value)){
                                    Ext.toastWarn('序号不能重复!');
                                    me.stageEditWindow.show();
                                    return;
                                }
                                me.stageEditWindow.hide();
                                me.store.remove(oldData[0]);
                                me.store.add(value);
                                me.store.sort('orderNum','ASC');
                                },
                                "hide" : function(win) {
                                    // 如果保存过则刷新页面
                                    if (win.isSave) {
                                        me.reLoad();
                                    }
                                }
                            }
                        });
            }
            me.stageEditWindow.reSetForm();
            me.stageEditWindow.editLitigationStage(me);
        },

        //判断节点编码有没有重复
        isTheSameOrderNum:function(data){
            var me = this;
            for(var i=0;i<me.store.getData().items.length;i++){
                if(me.store.getData().items[i].data.orderNum == data.orderNum){
                    return true;
                }
            }
            return false;
        }
          

 

 

 

//验证

CheckInput.prototype = {

    is_email : function(){

        return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(this.get_value()) ? true false;

    },

    is_not_null : function(){

        return !this.get_value() ? true false;

    },

    is_intnumber : function(){

        return /^[1-9][0-9]*$/.test(this.get_value()) ? true false;

    },

    is_age : function(){

        var val = parseFloat(this.get_value());

        return val >= 0 && val <= 150 ? true false;

    },

    is_phone_number : function(){

        return /^[1-9][8,3,5][0-9]{9}$/.test(this.get_value()) ? true false;

    },

    is_number : function(){

        /*匹配正整数或正小数*/

        return /(^0\.[0-9]*$)|(^[1-9][0-9]*\.[0-9]*$)/.test(this.get_value()) ? true false;

    },

    is_month : function(){

        return /^(0?[1-9]|1[0-2])$/.test(this.get_value()) ? true false;

    },

    is_day : function(){

        return /^((0?[1-9])|((1|2)[0-9])|30|31)$/.test(this.get_value()) ? true false;

    },

    is_vaicode : function(){

        /*六位数字验证码*/

        return /^[0-9]{6}$/.test(this.get_value()) ? true false;

    },

    is_idcart : function(){

        return /^\d{15}|\d{18}$/.test(this.get_value()) ? true false;

    }

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值