Ext小总结
window.allOrderListXlyView_orderFunc_consumeXLY = function(recordId,orders_id,orderNO){
Ext.getCmp('allOrderListXlyView').fireEvent('expensecalendar',recordId,orders_id,orderNO);
}
2.去defind.js页面添加弹出页面以及弹出的控制层
var consumeXLYView_id_order = 'consumeXLYView_order';
var consumeXLYView_order = 'App.view.order.allOrderXly.consumeXLYView';
var consumeXLYController_order = 'App.controller.order.allOrderXly.consumeXLYController';
3.在弹出view时注意
extend:'Ext.window.Window',
initComponent:function(){
Ext.apply(this,{
width:450,
height:450,
autoShow:true,
modal:true,
animCollapse : true,
animateTarget : Ext.getBody(),
layout:'fit',
items:[{
xtype:'form',
margin:'10 10 10 10',
scrollable:true,
items:[
{
xtype:'displayfield',fieldLabel:'消费订单号',name:'orderNO',width:150,labelWidth:80
},{
xtype:'fieldcontainer',
width:'100%',name:'refundNumContainer',
//hidden:true,
items:[{
xtype:'displayfield',fieldLabel:'电子码',name:'codeField',width:150,labelWidth:60
},{
xtype:'fieldcontainer',layout:{type:'hbox',align:'middle'},width:'100%',
items:[
{
xtype:'numberfield',fieldLabel:'退款数量',minValue:'1',name:'count',width:150,labelWidth:60,value:'1',
allowBlank:false,blankText:'退款数量不能为空'
},{
xtype:'tbtext',text:'',name:'refundAbleTbtext'
},
]
}]
},
{
xtype:'displayfield',fieldLabel:'产品名称',name:'printName',width:150,labelWidth:60
},
{
xtype:'displayfield',fieldLabel:'已消费数量',name:'consumeNum',width:150,labelWidth:80
},
]
}],
buttons:[{
text:'取消',
cls:'btn btn-danger',
handler:function(o){
o.up('window').close();
}
},{
text:'提交',
name:'btnOk',
cls:'btn btn-success'
}]
});
this.callParent(arguments);
}
});
extend:'Ext.app.Controller',
views:[consumeXLYView_order],
init:function(){
var currentObjView = null;
var refundApplyCodeIds = [];
this.control({
'#consumeXLYView_order':{
'afterrender':function(o){
currentObjView = o;
Ext.Ajax.request({
url:__APP__+'/XlyOrders/listOrdersConsumeCodes',
params:{
orders_id:o.orderId
},
timeout:60000,
success:function(response,opts){
var text=Ext.decode(response.responseText);
if(text.success==false){
o.close();
Ext.MessageBox.alert('提示',text.msg);
}else {
var code = text.lists;
if(code.length>0)refundApplyCodeIds = code;
//console.log(code.length);
if(code.length==1){
o.down('fieldcontainer[name=refundNumContainer]').show();
o.down('displayfield[name=codeField]').setValue(code[0].code);
o.down('displayfield[name=orderNO]').setValue(o.orderNO);
var refundAbleNum = code[0].canRefundNum;
var printName = code[0].printName;
//console.log(printName);
o.down('numberfield[name=num]').setMaxValue(refundAbleNum);
o.down('displayfield[name=printName]').setValue(printName);
o.down('tbtext[name=refundAbleTbtext]').setText('(可退款数量'+refundAbleNum+')');
}else if(code.length>1){
o.down('numberfield[name=num]').disable();
o.down('fieldcontainer[name=refundCodeContainer]').show();
o.down('displayfield[name=orderNO]').setValue(o.orderNO);
Ext.Array.each(code,function(mv){
o.down('fieldcontainer[name=refundCodeContainer]').down('checkboxgroup').insert(0,{
boxLabel:mv.code, name:'codes', checkboxInputId:mv.id,submitValue:false
});
});
}
}
},
failure: function(response, opts) {
o.close();
Ext.MessageBox.alert('服务器出错',response.status);
}
});
}
},
'#consumeXLYView_order checkbox[name=selectAll]':{
'change':function(o,newValue,oldValue){
var checkboxgroup = Ext.ComponentQuery.query('fieldcontainer[name=refundCodeContainer] checkbox[name=codes]');
Ext.Array.each(checkboxgroup,function(mv){
mv.setValue(newValue);
});
}
},
'#consumeXLYView_order button[name=btnOk]':{
click:function(o){
//var checkboxs = Ext.ComponentQuery.query('numberfield[name=num]');
//var codeStr = [];
//Ext.Array.each(checkboxs,function(mv){
// if(mv.getValue()==true)codeStr.push(mv.checkboxInputId);
//});
//var code_id = codeStr.join(',');
//if(refundApplyCodeIds.length==1)code_id = refundApplyCodeIds[0].id;
o.up('window').down('form').submit({
waitMsg:'提交中...',
clientValidation: true,
submitEmptyText:false,
url: __APP__+"/index.php/XlyOrders/consumeOrder", //提交后调整页面的路径也相当于地址
params:{
order_id:currentObjView.orderId
},
success: function(form, action){
o.up('window').close();
Ext.getStore('order.allOrderXly.allOrderListStore').loadPage(1);
Ext.toast({
html: action.result.msg,
title: '提示',
width: 400,
align: 't'
});
},
failure: function(form, action) {
switch (action.failureType) {
case Ext.form.action.Action.CLIENT_INVALID:
Ext.Msg.alert('退款失败', '无效输入');
break;
case Ext.form.action.Action.CONNECT_FAILURE:
Ext.Msg.alert('退款失败', '联网失败');
break;
case Ext.form.action.Action.SERVER_INVALID:
Ext.Msg.alert('退款失败', action.result.msg);
}
}
});
}
}
});
}
});
Ext小总结的更多相关文章
- 【python018--函数参数】
1.形参和实参 >>> def MyFirstFunction(name): '函数定义过程中的name是叫形参' #因为Ta只是一个形式,表示占据一个参数位置 p ...
- 【翻译】要理解Ext JS 5小工具
原版的:Understanding Widgets in Ext JS 5 在Ext JS 5,引入了新的"widgetcolumn",支持在网格的单元格中放置组件. 同一时候,还 ...
- 【翻译】了解Ext JS 5的小部件
原文:Understanding Widgets in Ext JS 5 在Ext JS 5,引入了新的"widgetcolumn",支持在网格的单元格中放置组件.同时,还在Ext ...
- Extjs 项目中常用的小技巧,也许你用得着(5)--设置 Ext.data.Store 传参的请求方式
1.extjs 给怎么给panel设背景色 设置bodyStyle:'background:#ffc;padding:10px;', var resultsPanel = Ext.create('Ex ...
- Ext JS - 问答
Ext JS - 问答 在下面你将可以找到关于Ext JS 的最常见问题的答复.如果没有找到您所需的答复,请访问 Ext JS 论坛或者提交一个支持申请. 如果你确信你的问题可以对本页有补充,请让我们 ...
- 编辑 Ext 表格(二)——— 编辑表格元素
一.编辑单元格 Ext 中通过配置表格的属性 plugins 来设置表格是否可编辑, 表格的配置具体如下: var gridTable = Ext.create('Ext.grid.Panel', { ...
- 编辑 Ext 表格(一)——— 动态添加删除行列
一.动态增删行 在 ext 表格中,动态添加行主要和表格绑定的 store 有关, 通过对 store 数据集进行添加或删除,就能实现表格行的动态添加删除. (1) 动态添加表格的行 gridS ...
- extjs 学习小窍门
一.从form中获取field的三个方法: 1.Ext.getCmp('id'); 2.FormPanel.getForm().findField('id/name'); 3.Ext.get('id/ ...
- Ext JS 4 新特性2:配置项属性(config)之一
Ext JS 4 新特征2:配置项属性config 最新版本的Ext JS 4.2的另外一个伟大的新特征就是增加了configuration配置项属性,当我们在创建一个新类的时候,经常性的要设置某某属 ...
随机推荐
- ADO.NET 中的新增功能
ADO.NET 中的新增功能: .NET Framework (current version) 以下是 .NET Framework 4.5 中 ADO.NET 的新增功能. SqlClient D ...
- 图标字体(IconFont)制作
图标字体(IconFont)介绍 图标字体(IconFont)现在越来越被广泛使用,大大提高了网页的多样化,解决了视网膜屏幕失真的问题. 据说微软从IE4开始支持的这个私有方法(@font-face) ...
- 弹出页面遮罩层,以及web端和移动端阻止遮罩层的滑动。
最近项目遇到了遮罩层的一些问题,总结一下: 弹出遮罩层 遮罩层弹出有非常多的方法,这里只写出本人用的代码,使用jq操作dom的方法进行实现的. <style>.box{position:a ...
- 你所不知的 CSS ::before 和 ::after 伪元素用法
CSS 有两个说不上常用的伪类 :before 和 :after,偶尔会被人用来添加些自定义格式什么的,但是它们的功用不仅于此.前几天发现了 Creative Link Effects 这个非常有意思 ...
- 网站部署 HTTPS 中需要做的事情
这篇文章首发于我的个人网站:听说 - https://tasaid.com/,建议在我的个人网站阅读,拥有更好的阅读体验. 这篇文章与 博客园 和 Segmentfault 共享. 前端开发QQ群:3 ...
- 关于举办 2015年 Autodesk 助力云应用项目开发活动通知
各位尊敬的Autodesk 合作伙伴,大家好! 相信您在过去的一年里应该对Autodesk最新的云服务技术有所了解,您是不是曾经闪现过一些很好的想法,却由于不确定是否真实可行,或担心没有技术支持来帮助 ...
- IOS开发基础知识--碎片27
1:iOS中的round/ceil/floorf extern float ceilf(float); extern double ceil(double); extern long double c ...
- PHP设计模式 迭代器模式
迭代器模式,在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素.相比于传统的编程模式,迭代器模式可以隐藏遍历元素所需要的操作. AllHacl.php <?php namespace Ba ...
- AtomicInteger源码注释
AtomicInteger源码 在java.util.concurrent.atomic包下提供了大量的原子类,这里以AtomicInteger源码为例,添加了一些注释,个人理解,供参考: 其中比较重 ...
- SQL Server自动化运维系列——关于数据收集(多服务器数据收集和性能监控)
需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...