公司EXT 温习
公司EXT 复习
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %> <%@ include file="/common/taglibs.jsp"%> <html> <head> <title>tmStore.title</title> <%@ include file="/common/headext.jsp" %> <script type="text/javascript" src="<c:url value='/scripts/ext-dwr-proxy.js'/>"></script> <script type="text/javascript" src="<c:url value='/scripts/ext-dwr-tree.js'/>"></script> <script type="text/javascript" src="<c:url value='/dwr-tlcom/interface/tmStoreManager.js'/>"></script> <script type="text/javascript" src="<c:url value='/dwr-tlcom/interface/cmOrgManager.js'/>"></script> <script type="text/javascript" src="<c:url value='/dwr-tlcom/interface/cmOrgExManager.js'/>"></script> <script type="text/javascript" src="<c:url value='/scripts/common/cmOrgCommon.js'/>"></script> <script type="text/javascript" src="<c:url value='/scripts/common/cmExOrgCommon.js'/>"></script> <script type="text/javascript" src="<c:url value='/scripts/DWRSubmitAndLoad.js'/>"></script> <script type="text/javascript" src="<c:url value='/scripts/condition.js'/>"></script> <script type="text/javascript" src="<c:url value='/scripts/ext-ex.js'/>"></script> </head> <body> <jsp:include page="/common/header.jsp"/> <jsp:include page="/common/footer.jsp"/> </body> </html> <script type="text/javascript"> tmStore = function(){ } var loginExOrgUuid = '<c:out value="${requestScope.loginExOrgUuid}"/>';//行政组织树的根节点Id---uuid var loginOrgCd = '<c:out value="${requestScope.loginOrgCd}"/>';//获取登入时候的OrgCd var orgPName= '<c:out value="${requestScope.orgPName}"/>';//获取登入时候的OrgCd的名称 var loginOrgUuid= '<c:out value="${requestScope.loginOrgUuid}"/>';//组织树的根节点Id---uuid tmStore.addOrEditOrDel=1;// cmLeafPosition.addOrEditOrDel为1时代表执行添加事件为2时代表执行编辑事件为3时代表执行删除事件 tmStore.doInit = function(){ Ext.QuickTips.init(); tmStore.initToolbar(); tmStore.initListTree(); tmStore.initDetailForm(); //tmStore.initSearchForm(); tmStore.start(); var viewport = new Ext.Viewport({ layout:'border', items:[ {region:'north',layout:'fit',margins: '5 5 5 5',border:true,height:tmStore.toolbar.height,items:tmStore.toolbar}, tmStore.tmStoreTree, {region:'center',title: '仓库信息维护明细',bodyStyle:"padding:10px", width: 200,border:true,margins:'0 5 5 0',layout:'fit',items:tmStore.detailForm } ] }); tmStore.detailForm.selectFirstItem(); } tmStore.initToolbar = function(){ var toolbar = tmStore.toolbar=new Ext.HsToolbar({ toolbarType:"smallIco", title:'仓库信息维护' }); //查询 // var searchBtn = tmStore.searchBtn = new Ext.Toolbar.Button({ // id:'searchBtn', // text: '<fmt:message key="button.search"/>', // iconCls: 'icon-search-big', //scale: 'large', // iconAlign: 'top', // handler:tmStore.onSearch // }); //toolbar.add(searchBtn); //toolbar.addSeparator(); //添加 var addBtn = tmStore.addBtn = new Ext.Toolbar.Button({ id:'addBtn', text: '<fmt:message key="button.add"/>', iconCls: 'icon-add-big', scale: 'large', iconAlign: 'top', handler:function(){ tmStore.addBtn.setDisabled(true); Ext.getCmp('editBtn').setDisabled(true); Ext.getCmp('delBtn').setDisabled(true); Ext.getCmp('cancelBtn').setDisabled(false); tmStore.onNew(); } }) toolbar.add(addBtn); toolbar.addSeparator(); var editBtn=tmStore.editBtn=new Ext.Toolbar.Button({ id:'editBtn', text: '编辑', iconCls: 'icon-edit-big', scale: 'large', iconAlign: 'top', handler:function(){ tmStore.addOrEditOrDel=2;// cmLeafPosition.addOrEdit为2时代表执行编辑事件 Ext.getCmp('editBtn').setDisabled(true); Ext.getCmp('detailForm').setDisabled(false); Ext.getCmp('saveBtn').setDisabled(false); Ext.getCmp('addBtn').setDisabled(true); Ext.getCmp('delBtn').setDisabled(true); Ext.getCmp('cancelBtn').setDisabled(false); } }) toolbar.add(editBtn); toolbar.addSeparator(); var saveBtn = tmStore.saveBtn = new Ext.Toolbar.Button({ id:'saveBtn', text: '<fmt:message key="button.save"/>', iconCls: 'icon-save-big', scale: 'large', iconAlign: 'top', handler:tmStore.onSave }); toolbar.add(saveBtn); toolbar.addSeparator(); var delBtn = tmStore.delBtn = new Ext.Toolbar.Button({ text: '<fmt:message key="button.delete"/>', iconCls: 'icon-delete-big', id:'delBtn', scale: 'large', iconAlign: 'top', handler:tmStore.onDelete }) toolbar.add(delBtn); toolbar.addSeparator(); var cancelBtn = tmStore.cancelBtn = new Ext.Toolbar.Button({ id:'cancelBtn', text: '<fmt:message key="button.cancel"/>', iconCls: 'icon-cancel-big', scale: 'large', iconAlign: 'top', handler:function(){ tmStore.start(); tmStore.addBtn.setDisabled(false); } }); toolbar.add(cancelBtn); toolbar.addSeparator(); toolbar.add( tmStore.reloadBtn =new Ext.Toolbar.Button({ text: '<fmt:message key="button.reload"/>', iconCls: 'icon-reload-big', scale: 'large', iconAlign: 'top', handler: function() { window.location = '<c:url value="tmStores.do"/>'; } }) ); } tmStore.initListTree = function(){ //左边的树 var tmStoreTree =tmStore.tmStoreTree =new Ext.tree.TreePanel({ id:'tmStoreTree', region:'west', title:'仓库信息维护', width: 300, margins:'0 5 5 5', layout:'fit', border:true, autoScroll: true, animate: false, enableDD: false, containerScroll: false, rootVisible: true, root: { nodeType: 'async', id: loginOrgUuid, text: orgPName, href: '', hrefTarget: '' }, tbar: [{ text: '<fmt:message key="tree.btn.expandAll"/>', iconCls: 'icon-expand-all', scope: this, handler: function(){ tmStoreTree.expandAll(); } }, { text: '<fmt:message key="tree.btn.collapseAll"/>', iconCls: 'icon-collapse-all', scope: this, handler: function(){ tmStoreTree.collapseAll(); } }] , loader: new Ext.tree.DWRTreeLoader({ dwrCall: tmStoreManager.getTreeNodes }) }); tmStoreTree.root.expand(); tmStore.tmStoreTree.on('click',function(node,e){ var quip=""; //判断点击的节点是不是根节点,是根节点没有quip if(node.text!=tmStore.rootText){ quip=node.attributes.qtip; } var record=tmStore.id= node.id; var text=tmStore.nodeText=node.text; var params = []; var exOrgName; //当点击不是仓库节点的时候 form 和一些按钮设置不可以用 if(node.attributes.orgLevel!=null){ tmStore.start(); } else{ //根据点击节点的id 来显示 父级节点的名字 var parentNode = node.parentNode; //根据点击节点的id 来显示行政树的名字 DWREngine.setAsync(false); tmStoreManager.getExOrgName(record,function(value){ exOrgName=value; }); params.push(record); DWREngine.setAsync(true); tmStore.loadForm(params,parentNode.text,exOrgName); Ext.getCmp('detailForm').setDisabled(true); Ext.getCmp('delBtn').setDisabled(false); Ext.getCmp('editBtn').setDisabled(false); Ext.getCmp('saveBtn').setDisabled(true); Ext.getCmp('addBtn').setDisabled(false); } }); tmStore.rootText=tmStoreTree.getRootNode().text; } //树的刷新 tmStore.reloadNavNode = function() { var tree=Ext.getCmp("tmStoreTree"); if(tmStore.addOrEditOrDel==3) { var node= tree.getNodeById(tmStore.id); var parentNode = node.parentNode; parentNode.reload(); parentNode.expand(); }else if(tmStore.addOrEditOrDel==1){ var node= tree.getNodeById(tmStore.nodeId); node.reload(); node.expand(); }else if(tmStore.addOrEditOrDel==2){ //如果是编辑时候判断是否有变动所属组织单位有变动了就要刷新两点,如果没有变动只要刷新编辑节点的父节点 if(tmStore.id!=tmStore.nodeId&&tmStore.nodeId!=null){ //变动后的组织树的节点 var node1= tree.getNodeById(tmStore.nodeId); node1.reload(); node1.expand(); tmStore.nodeId=null; } var node= tree.getNodeById(tmStore.id); var parentNode = node.parentNode; parentNode.reload(); parentNode.expand(); } } tmStore.initDetailForm = function(){ var data=[["0", "自有"], ["1", "租凭"]]; var store=tmStore.store=new Ext.data.SimpleStore({ fields: ['storeVest', 'displayText'], data: data }); var formPanel = tmStore.detailForm = new Ext.form.HsFormPanel({ id:'detailForm', labelAlign: 'top', height:600, autoScroll:true, collapsible: false, split: true, layout:'tableform', layoutConfig : { columns :2 }, items:[ {xtype:'textfield',id:'storeCd',name: 'storeCd',fieldLabel: '仓库编码',allowBlank:false,maxLength:32,anchor:'60%'}, {xtype:'textfield',id:'storeName',name: 'storeName',fieldLabel: '仓库名称',allowBlank:false,maxLength:64,anchor:'60%'}, {xtype:'textfield',id:'storeArea',name: 'storeArea',fieldLabel: '仓库面积',regex:/^[0-9]\d*|0$/, regexText:'用正数组成',maxLength:24,anchor:'60%'}, {xtype:'textfield',id:'storeAddr',name: 'storeAddr',fieldLabel: '地址',maxLength:255,anchor:'60%'}, {xtype:'combo',id:'storeVest',name:'storeVest',store:tmStore.store,fieldLabel: '仓库归属',valueField: 'storeVest', displayField: 'displayText', emptyText: '请选择', triggerAction: 'all',mode: 'local',allowBlank:false,editable: false,anchor:'60%'}, {xtype:'hstextfield',id:'f_orgCd',name: 'f_orgCd',fieldLabel: '所属组织单位',onTriggerClick:showOrgCdWinTree,allowBlank:false,editable: false,anchor:'60%'}, {xtype:'hstextfield',id:'f_exOrgCd',name: 'f_exOrgCd',fieldLabel: '所属行政单位',onTriggerClick:showExOrgCdTree,editable: false,anchor:'60%'}, {xtype:'hidden',id:'orgCd',name: 'orgCd',anchor:'60%'},//用来当中间转换 {xtype:'textarea',colspan:2,id:'remark',name: 'remark',fieldLabel: '备注信息',maxLength:255,anchor:'60%'}, {xtype:'hidden',id:'exOrgCd',name: 'exOrgCd',anchor:'60%'},//用来当中间转换 {xtype:'hidden',id:'storeId',name: 'storeId',anchor:'60%'} ] }); } function showOrgCdWinTree(){ if(!tmStore.orgCdWin){ tmStore.orgCdWin = new Ext.Window({ // title:'业务树', layout:'fit', width:350, height:400, closeAction: 'hide', plain: true, animate:true, modal: true, //业务树 items:getCmOrgTreePanel(function(node){ var quip=tmStore.nodeQuip=node.attributes.qtip; var id=tmStore.nodeId=node.id; tmStore.nodeText=node.text; tmStore.orgCd=node.attributes.qtip; }), buttons:[{ text:'确定', handler:function(){ if(tmStore.nodeQuip!=null){ Ext.getCmp('orgCd').setValue(tmStore.nodeQuip); Ext.getCmp('f_orgCd').setValue(tmStore.nodeText); tmStore.orgCdWin.hide(); }else{ Ext.msgext.msg("", $('msgDiv').innerHTML, "messageWarning", '请选择你添加的仓库所在的组织单位'); } } },{ text:'取消', handler:function(){ tmStore.nodeId=null; tmStore.orgCdWin.hide(); } } ] }) } tmStore.orgCdWin.show(); }; function showExOrgCdTree(){ if(!tmStore.exOrgCdWin){ tmStore.exOrgCdWin = new Ext.Window({ // title:'行政树', layout:'fit', width:350, height:400, closeAction: 'hide', plain: true, animate:true, modal: true, //行政树 items:cmExOrgTreePanel(loginExOrgUuid,orgPName,function(node){ var quip=tmStore.cmExOrgTreeNodeQuip=node.attributes.qtip; var text=tmStore.cmExOrgTreeNodeText=node.text; var id=node.id; }), buttons:[{ text:'确定', handler:function(){ if(tmStore.cmExOrgTreeNodeQuip!=null){ Ext.getCmp('exOrgCd').setValue(tmStore.cmExOrgTreeNodeQuip); Ext.getCmp('f_exOrgCd').setValue(tmStore.cmExOrgTreeNodeText); tmStore.exOrgCdWin.hide(); }else{ Ext.msgext.msg("", $('msgDiv').innerHTML, "messageWarning", '请选择你添加的仓库所在的行政单位'); } } },{ text:'取消', handler:function(){ tmStore.exOrgCdWin.hide(); } } ] }) } tmStore.exOrgCdWin.show(); }; tmStore.conditions = []; tmStore.onSearch = function(){ if(!tmStore.listGridSearchWin){ tmStore.listGridSearchWin = new Ext.Window({ title: '<fmt:message key="search.info"/>', width: 600, animate:true, modal:true, closeAction:'hide', autoHeight:true, plain:true, buttonAlign:'left', items:[tmStore.searchForm], buttons: ['->',{ text: '<fmt:message key="button.search"/>', handler:function(){ tmStore.conditions.length = 0; buildCondition(tmStore.searchForm,tmStore.conditions); tmStore.listGrid.onSearch(tmStore.conditions); tmStore.listGridSearchWin.hide(); } },{ text: '<fmt:message key="button.reset"/>', handler: function(){ tmStore.searchForm.reset(); } },{ text: '<fmt:message key="button.cancel"/>', handler: function(){ tmStore.listGridSearchWin.hide(); } }] }); } tmStore.listGridSearchWin.show(); } tmStore.initSearchForm=function() { var sf =tmStore.searchForm= new Ext.form.HsFormPanel({ layout:'tableform', labelAlign: 'top', monitorResize:true, layoutConfig : { columns :2 }, items:[ {xtype:'textfield',fieldLabel: '仓库编码',id: 's_storeCd',name: 's_storeCd',condition:{col:'storeCd',operator:'like',type:'String'},anchor:'90%'}, {xtype:'textfield',fieldLabel: '仓库名称',id: 's_storeName',name: 's_storeName',condition:{col:'storeName',operator:'like',type:'String'},anchor:'90%'}, {xtype:'textfield',fieldLabel: 'storeVest',id: 's_storeVest',name: 's_storeVest',condition:{col:'storeVest',operator:'like',type:'String'},anchor:'90%'}, {xtype:'hstextfield',id:'s_orgCd',name: 's_orgCd',fieldLabel: '所属组织单位',onTriggerClick:showtmStoreTree,anchor:'90%'}, {xtype:'textfield',fieldLabel: 'exOrgCd',id: 's_exOrgCd',name: 's_exOrgCd',condition:{col:'exOrgCd',operator:'like',type:'String'},anchor:'90%'} ] }); } tmStore.start = function(){ tmStore.detailForm.getForm().reset(); Ext.getCmp('addBtn').setDisabled(false); Ext.getCmp('detailForm').setDisabled(true); Ext.getCmp('editBtn').setDisabled(true); Ext.getCmp('saveBtn').setDisabled(true); Ext.getCmp('delBtn').setDisabled(true); Ext.getCmp('cancelBtn').setDisabled(true); Ext.getCmp('f_orgCd').setDisabled(true); }; tmStore.onNew = function(){ tmStore.addOrEditOrDel=1;// tmStore.addOrEditOrDel为1时代表执行添加事件 Ext.getCmp('saveBtn').setDisabled(false); tmStore.detailForm.getForm().reset(); tmStore.detailForm.setDisabled(false); }; tmStore.onSave = function(){ Ext.MessageBox.wait('<fmt:message key="button.save.waitmsg"/>'); if(!tmStore.detailForm.getForm().isValid()){ Ext.MessageBox.hide(); Ext.msgext.msg("", $('msgDiv').innerHTML, "messageWarning", '<fmt:message key="form.validate.false"/>'); return ''; } var tmStoreDetail = tmStore.detailForm.getForm().getValues(); dwr.engine.beginBatch(); tmStoreManager.saveTmStoreByDwr(tmStoreDetail,function(value){ Ext.MessageBox.hide(); tmStore.detailForm.getForm().setValues(value); tmStore.reloadNavNode();//树的刷新 Ext.msgext.msg("", $('msgDiv').innerHTML, "messageSuccess", '<fmt:message key="save.succeed"/>'); tmStore.start(); }); dwr.engine.endBatch({errorHandler:function(errorString, exception) { Ext.MessageBox.hide(); Ext.msgext.msg("", $('msgDiv').innerHTML, "messageError", '<fmt:message key="save.error"/>'); } }); }; tmStore.onDelete = function(){ tmStore.addOrEditOrDel=3;// cmLeafPosition.addOrEdit为3时代表执行删除事件 var tmStoreId=tmStore.id;//点击时候节点的id if(!tmStoreId.length>0){ Ext.msgext.msg("", $('msgDiv').innerHTML, "messageWarning", '<fmt:message key="button.delete.confirm.msg3"/>'); return false; } Ext.MessageBox.confirm('', '你确定要删除'+tmStore.nodeText+'这条记录吗?', function(btn, text) { if (btn == 'yes'){ Ext.MessageBox.wait('<fmt:message key="button.save.waitmsg"/>'); dwr.engine.beginBatch(); tmStoreManager.removeTmStore(tmStoreId,function(){ Ext.MessageBox.hide(); tmStore.detailForm.getForm().reset(); tmStore.reloadNavNode();//树的刷新 Ext.msgext.msg("", $('msgDiv').innerHTML, "messageSuccess", '<fmt:message key="delete.succeed"/>'); tmStore.start(); }); dwr.engine.endBatch({errorHandler:function(errorString, exception) { Ext.MessageBox.hide(); Ext.msgext.msg("", $('msgDiv').innerHTML, "messageError", '<fmt:message key="delete.error"/>'); }}); } } ); } tmStore.loadForm = function (params,value,exOrgName){ tmStore.detailForm.getForm().doAction("dwrload", { dwrFunction:tmStoreManager.getTmStore, dwrArgs:params, waitMsg : '<fmt:message key="loadData.waitmsg"/>', success : function(){ Ext.getCmp('f_orgCd').setValue(value); Ext.getCmp('f_exOrgCd').setValue(exOrgName); }, failure : function(form, action) { Ext.msgext.msg("", $('msgDiv').innerHTML, "messageError", '<fmt:message key="loadData.error"/>'); } }); } Ext.onReady(function(){ tmStore.doInit(); }); </script>