| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- Ext.QuickTips.init();
- Ext.define('erp.controller.scm.product.AutoGetNum', {
- extend: 'Ext.app.Controller',
- FormUtil: Ext.create('erp.util.FormUtil'),
- BaseUtil: Ext.create('erp.util.BaseUtil'),
- views:[
- 'scm.product.ProductKindTree','scm.product.AutoGetNum'
- ],
- init:function(){
- var me = this;
- me.lastSelected = null;
- me.lastCode = '';
- me.codeisnull = true;
- this.control({
- 'prodkindtree': {
- itemmousedown: function(selModel, record){
- me.loadTab(selModel, record);
- me.lastSelected = record;
- },
- itemdblclick: function(view, record){
- me.lastSelected = record;
- var btn = Ext.getCmp('confirm');
- btn.fireEvent('click', btn);
- }
- },
- 'button[name=code]': {
- afterrender: function(btn) {
- btn.hide();
- //允许在新物料申请的时候按物料类型生成料号
- me.BaseUtil.getSetting(parent.window.caller, 'getCodeByKind', function(bool) {
- if(bool) {
- btn.show();
- }
- });
- if(type=='FeePlease!YZSYSQ' && status=='COMMITED'){
- btn.show();
- }
- },
- click: function(btn){
- if(me.lastSelected != null){
- if(me.lastSelected.isLeaf() || me.lastSelected.childNodes.length == 0){
- Ext.Ajax.request({
- url : basePath + me.getUrl(),
- params:
- {id: me.lastSelected.data['id'],
- table:me.lastCode
- },
- method : 'post',
- callback : function(options,success,response){
- var localJson = new Ext.decode(response.responseText);
- if(localJson.exceptionInfo){
- showError(localJson.exceptionInfo);
- }
- if(localJson.success){
- Ext.getCmp('auto_code').setValue(me.lastCode + localJson.number);
- me.codeisnull = false;
- if(!me.codeisnull){
- var f = parent.Ext.ComponentQuery.query('autocodetrigger');
- if(f){
- if(me.lastSelected != null){
- var s = me.lastSelected.getPath('text', ';').split(';'),
- arr = new Array();
- Ext.each(s, function(){
- if(this != '' && this != 'root') {
- arr.push(String(this));
- }
- });
- var val = Ext.getCmp('auto_code').value;
- f[0]=parent.Ext.getCmp(trigger);
- f[0].setValue(val);
- f[0].fireEvent('aftertrigger', f[0], val, arr, me.lastSelected);
- }
- }
- parent.Ext.getCmp('win').close();
- } else {
- showError("物料编号还没有生成!");
- }
- }
- }
- });
- } else {
- showError("[" + me.lastSelected.data['text'] + "]下面还有详细种类!");
- }
- } else {
- showError("请选择种类!");
- }
- }
- },
- 'button[name=confirm]':{
- afterrender: function(btn) {
- if(type=='FeePlease!YZSYSQ' && status=='COMMITED'){
- btn.hide();
- }
- },
- click:function(){
- var f = parent.Ext.ComponentQuery.query('autocodetrigger');
- if(f){
- if(me.lastSelected != null){
- var s = me.lastSelected.getPath('text', ';').split(';'),
- arr = new Array();
- Ext.each(s, function(){
- if(this != '' && this != 'root') {
- arr.push(this);
- }
- });
- parent.Ext.getCmp('win').close();
- f[0].fireEvent('aftertrigger', f[0], null, arr, me.lastSelected);
- }
- }
-
- }
- },
- 'button[name=close]': {
- click: function(){
- parent.Ext.getCmp('win').close();
- }
- }
- });
- },
- loadTab: function(selModel, record){
- var me = this;
- var tree = Ext.getCmp('tree-panel');
- var parentId='';
- if (record.get('leaf')) {
- parentId=record.data['parentId'];
- } else {
- if(record.isExpanded() && record.childNodes.length > 0){//是根节点,且已展开
- record.collapse(true,true);//收拢
- } else {//未展开
- //看是否加载了其children
- if(record.childNodes.length == 0){
- //从后台加载
- tree.setLoading(true, tree.body);
- Ext.Ajax.request({//拿到tree数据
- url : basePath + tree.getUrl(),
- params: {
- parentid: record.data['id'],
- allKind:this.allKind
- },
- async: false,
- callback : function(options,success,response){
- tree.setLoading(false);
- var res = new Ext.decode(response.responseText);
- if(res.tree){
- record.appendChild(res.tree);
- record.expand(false,true);//展开
- } else if(res.exceptionInfo){
- showError(res.exceptionInfo);
- }
- }
- });
- } else {
- record.expand(false,true);//展开
- }
- }
- }
- tree.getExpandedItems(record);
- Ext.each(tree.expandedNodes, function(){
- if(!this.data['leaf'] && this.data['parentId']==parentId )
- this.collapse(true,true);
- });
- me.lastCode = '';
- var choose = new Array();
- tree.getExpandedItems(record);
- Ext.each(tree.expandedNodes, function(){
- me.lastCode += this.data['qtip'];
- choose.push(this.data['text']);
- });
- var c = Ext.getCmp('choose');
- c.show();
- c.update({nodes: choose});
- Ext.getCmp('auto_code').setValue(me.lastCode);
- me.codeisnull = true;
- },
- getUrl: function(){
- type = type || 'Product';
- var url = 'scm/product/getProductKindNum.action';
- switch (type) {
- case 'Vendor':
- url = 'scm/purchase/getVendorKindNum.action';break;
- case 'Customer':
- url = 'scm/sale/getCustomerKindNum.action';break;
- case 'FeePlease!YZSYSQ':
- url = 'oa/fee/getContractTypeNum.action?';break;
- }
- return url;
- },
- getSetting : function(type, fn) {
- Ext.Ajax.request({
- url : basePath + 'common/getFieldData.action',
- async: false,
- params: {
- caller: 'Setting',
- field: 'se_value',
- condition: 'se_what=\'' + type + '\''
- },
- method : 'post',
- callback : function(opt, s, res){
- var r = new Ext.decode(res.responseText);
- if(r.exceptionInfo){
- showError(r.exceptionInfo);return;
- } else if(r.success && r.data){
- fn.call(null, r.data == 'true');
- }
- }
- });
- }
- });
|