Browse Source

代码提交

hy 7 years ago
parent
commit
1b7bbc097a

+ 9 - 3
frontend/saas-web/app/view/core/dbfind/DbfindTrigger.js

@@ -14,7 +14,7 @@ Ext.define('saas.view.core.dbfind.DbfindTrigger', {
         var me = this;
         this.displayField='display';	   
 		this.valueField='value';
-		this.queryMode='local';
+        this.queryMode='local';
 		if(me.value){
 			me.store=Ext.create('Ext.data.Store', {
 				   fields: ['display','value'],
@@ -23,7 +23,7 @@ Ext.define('saas.view.core.dbfind.DbfindTrigger', {
 					   'value':me.value
 				   }]
 			});
-		}
+        }
         this.callParent();
     },
     //输入值之后进行模糊查询
@@ -121,7 +121,7 @@ Ext.define('saas.view.core.dbfind.DbfindTrigger', {
             constrain: true,
             closable: true,
             layout:'fit',
-            renderTo:belong=='form'?f.ownerCt.getEl():f.column.ownerCt.ownerCt.ownerCt.getEl(),
+            renderTo:Ext.getCmp('main-tab-panel').getActiveTab().getEl(),
             items:[{
                 xtype:'dbfindgridpanel',
                 configUrl: f.configUrl,
@@ -164,6 +164,12 @@ Ext.define('saas.view.core.dbfind.DbfindTrigger', {
                 }
             }
         }
+    },
+
+    getValue: function(f) {
+        var me = this,val = me.rawToValue(me.processRawValue(me.getRawValue()));
+        me.value = val;
+        return val;
     }
 
 });

+ 32 - 0
frontend/saas-web/app/view/core/form/DateField.js

@@ -0,0 +1,32 @@
+Ext.define('saas.view.core.form.DateField', {
+    extend: 'Ext.form.field.Date',
+    alias: 'widget.datetimefield',
+
+    setValue: function(v) {
+        var me = this,
+            utilDate = Ext.Date,
+            rawDate;
+        me.lastValue = me.rawDateText;
+        me.lastDate = me.rawDate;
+        if (Ext.isDate(v)) {
+            rawDate = me.rawDate = v;
+            me.rawDateText = me.formatDate(v);
+        } else {
+            rawDate = me.rawDate = me.rawToValue(v);
+            me.rawDateText = me.formatDate(v);
+            if (rawDate === v) {
+                if(v&&v.indexOf('.')>-1&&v.indexOf('T')>-1){
+                     v = v.substring(0,v.indexOf('T'));
+                    rawDate = null;
+                }else{
+                    rawDate = me.rawDate = null;
+                    me.rawDateText = '';
+                }     
+            }
+        }
+        if (rawDate && !utilDate.formatContainsHourInfo(me.format)) {
+            me.rawDate = utilDate.clearTime(rawDate, true);
+        }
+        me.callParent(arguments);
+    }
+});

+ 8 - 1
frontend/saas-web/app/view/core/form/FormPanel.js

@@ -14,6 +14,7 @@ Ext.define('saas.view.core.form.FormPanel', {
     _idField: '',
 
     //基础属性
+    initId: 0,
     layout: 'column',
     autoScroll: true,
     border: 1,
@@ -47,13 +48,15 @@ Ext.define('saas.view.core.form.FormPanel', {
                 if(res.success) {
                     viewModel = me.getViewModel();
                     viewModel.data = res.data.main;
-                    viewModel.data.detailGridField = res.data.items;
                     viewModel._data = res.data.main;
+                    viewModel.data.detailGridField = res.data.items;                   
                     viewModel._data.detailGridField = res.data.items;
                 }
             })
             .catch(function(response) {
             });
+        }else if(me.initId==0){
+            me.getViewModel().setData({detailGridField:[{},{},{},{},{},{},{},{},{},{}]})
         }
 
         Ext.apply(me, {
@@ -76,6 +79,10 @@ Ext.define('saas.view.core.form.FormPanel', {
                     xtype: 'button',
                     text: '保存',
                     handler: 'save'
+                }, {
+                    xtype: 'button',
+                    text: '删除',
+                    handler: 'delete'
                 }, {
                     xtype: 'button',
                     text: '审核',

+ 122 - 3
frontend/saas-web/app/view/core/form/FormPanelController.js

@@ -4,8 +4,127 @@ Ext.define('saas.view.core.form.FormPanelController', {
 
     FormUtil: Ext.create('saas.util.FormUtil'),
 
-    add: Ext.emptyFn,
-    save: Ext.emptyFn,
-    audit: Ext.emptyFn,
+    add: function(btn){
+        var form = btn.ownerCt.ownerCt;
+        var mainTab = Ext.getCmp('main-tab-panel');
+        var title = '新增' + btn.ownerCt.ownerCt._title;
+        var id = form.xtype + '_add';
+        existingItem = mainTab.down('[id=' + id + ']');
 
+        lastView = mainTab.getActiveTab();
+
+        if (!existingItem) {
+            var form = {
+                id,
+                title,
+                xtype:form.xtype
+            };
+            mainTab.setActiveTab(mainTab.add(form));
+        }
+    },
+    delete: Ext.emptyFn,
+    save:function(btn){
+        var form = btn.ownerCt.ownerCt;
+        if(form.getForm().wasDirty==false){
+            Ext.Msg.alert('提示','未修改数据,请修改后保存');
+            return false;
+        }
+        if(form.getForm().wasValid==false){
+            Ext.Msg.alert('提示','表单校验有误,请检查');
+            return false;
+        }
+        //form里面数据
+        var formData = form.viewModel.data;
+        var gridData = [];
+        var newGridData = [];
+        if(formData.detailGridField){
+            gridData = formData.detailGridField;
+        }
+        var grid = form.query('detailGridField')[0];
+        var updRecords = grid.store.getUpdatedRecords();
+        if(updRecords.length>0){
+            Ext.each(updRecords, function(rec){
+                Ext.each(gridData, function(data,index){
+                    if(data.id==rec.id){
+                        if(data.id.indexOf('extMode')>-1){
+                            data.id = '';
+                            data[form._detnoColumn] = index + 1;
+                        }
+                        newGridData.push(data);
+                    }
+                });
+            });
+        }   
+        var params = {
+            main:formData,
+            items:newGridData
+        }
+        Ext.Ajax.request({
+            url: 'http://192.168.253.58:8800/purchase/form',
+            params: JSON.stringify(params),
+            method: 'POST',
+            headers: {
+                'Access-Control-Allow-Origin': '*',
+                "Content-Type": 'application/json;charset=UTF-8' 
+            },
+            success: function (response, opts) {
+                //解析参数
+                Ext.Msg.alert('提示','保存成功');
+            },
+            failure: function (response, opts) {
+                //失败
+                Ext.Msg.alert('提示','保存失败');
+            }
+        });
+    },
+    audit: function(btn){
+        var form = btn.ownerCt.ownerCt;
+        if(form.getForm().wasValid==false){
+            Ext.Msg.alert('提示','表单校验有误,请检查');
+            return false;
+        }
+        //form里面数据
+        var formData = form.viewModel.data;
+        var gridData = [];
+        var newGridData = [];
+        if(formData.detailGridField){
+            gridData = formData.detailGridField;
+        }
+        var grid = form.query('detailGridField')[0];
+        var updRecords = grid.store.getUpdatedRecords();
+        if(updRecords.length>0){
+            Ext.each(updRecords, function(rec){
+                Ext.each(gridData, function(data,index){
+                    if(data.id==rec.id){
+                        if(data.id.indexOf('extMode')>-1){
+                            data.id = '';
+                            data[form._detnoColumn] = index + 1;
+                        }
+                        newGridData.push(data);
+                    }
+                });
+            });
+        }   
+        var params = {
+            main:formData,
+            items:newGridData
+        }
+        Ext.Ajax.request({
+            url: 'http://192.168.253.58:8800/purchase/audit',
+            params: JSON.stringify(params),
+            method: 'POST',
+            headers: {
+                'Access-Control-Allow-Origin': '*',
+                "Content-Type": 'application/json;charset=UTF-8' 
+            },
+            success: function (response, opts) {
+                //解析参数
+                Ext.Msg.alert('提示','审核成功');
+            },
+            failure: function (response, opts) {
+                //失败
+                Ext.Msg.alert('提示','审核失败');
+            }
+        });
+    }
 });

+ 0 - 5
frontend/saas-web/app/view/core/form/field/DetailGridField.js

@@ -54,11 +54,6 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
     },
 
     listeners: {
-        afterrender: function(grid) {
-            if(grid.store.count()==0){
-                grid.add10EmptyRow();
-            }
-        },
         itemClick: function(tableView, record, item, index, e, eOpts) {
             var grid = tableView.up('grid'),
                 store = grid.store,

+ 4 - 0
frontend/saas-web/app/view/main/Main.scss

@@ -106,3 +106,7 @@ $treelist-nav-ui: (
 .x-html-editor-input {
     border: 1px solid #ccc;
 }
+
+.x-formpanel-btn-orange {
+    background:#b36c1b !important;
+}

+ 0 - 49
frontend/saas-web/app/view/test/order/FormController.js

@@ -32,53 +32,6 @@ Ext.define('saas.view.test.order.FormController', {
         });
 
     },
-    save:function(btn){
-        var form = btn.ownerCt.ownerCt;
-        if(form.getForm().wasDirty==false){
-            Ext.Msg.alert('提示','未修改数据,请修改后保存');
-            return false;
-        }
-        if(form.getForm().wasValid==false){
-            Ext.Msg.alert('提示','表单校验有误,请检查');
-            return false;
-        }
-        //form里面数据
-        Ext.each(form.items.items, function(item){
-            if(item.xtype == 'numberfield'){
-                //number类型赋默认值,不然sql无法执行
-                if(item.value == null || item.value == ''){
-                    item.setValue(0);
-                }
-            }
-        });
-        var r = form.getValues();
-        var keys = Ext.Object.getKeys(r), f;
-        var reg = /[!@#$%^&*()'":,\/?]|[\t|\n|\r]/g;
-        Ext.each(keys, function(k){
-            r[k] = r[k].trim().replace(reg, '');           	
-        });
-        var formData = {
-            main:r,
-            items:[{}]          
-        };
-        var params = {};
-        params.formData = formData;   
-        Ext.Ajax.request({
-            url: 'http://192.168.253.58:8800/purchase/form',
-            params: JSON.stringify(params),
-            method: 'POST',
-            headers: {
-                'Access-Control-Allow-Origin': '*',
-                "Content-Type": 'application/json;charset=UTF-8' 
-            },
-            success: function (response, opts) {
-                debugger
-            },
-            failure: function (response, opts) {
-                debugger
-            }
-        });
-    },
     addCombo:function(){
         var combo=this.ownerCmp;
         Ext.create('Ext.window.Window',{
@@ -103,6 +56,4 @@ Ext.define('saas.view.test.order.FormController', {
         }).show();
 
     }
-
-
 });

+ 4 - 2
frontend/saas-web/app/view/test/order/FormPanel.js

@@ -5,10 +5,12 @@ Ext.define('saas.view.test.order.FormPanel', {
     controller: 'test-order-formcontroller',
     viewModel: 'test-order-formmodel',
     
+    _title:'采购单',
     _codeField: 'puCode',
     _statusField: 'puStatuscode',
-    _idField: 'puId',
-    initId : 11,
+    _idField: 'id',
+    _detnoColumn:  'pdDetno',
+    initId:0,
 
     toolBtns: [{
         xtype: 'button',