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
;
}
}