Bladeren bron

主从表绑定字段调整

zhuth 7 jaren geleden
bovenliggende
commit
53973c3daa

+ 1 - 1
frontend/saas-web/app/util/FormUtil.js

@@ -135,7 +135,7 @@ Ext.define('saas.util.FormUtil', {
                         grid.add10EmptyRow();
                     });
                     if(code){
-                        viewModel.set('form.' + form._codeField,code);
+                        viewModel.set(form._codeField,code);
                     }
                 }
             }).catch(function() {

+ 1 - 0
frontend/saas-web/app/view/core/dbfind/DbfindTrigger.js

@@ -77,6 +77,7 @@ Ext.define('saas.view.core.dbfind.DbfindTrigger', {
                     params: {
                         keyword:dbCondition
                     },
+                    method: 'GET',
                     success: function(response, opts) {
                         data = Ext.decode(response.responseText);
                         data = data.data.list;

+ 31 - 20
frontend/saas-web/app/view/core/form/FormPanel.js

@@ -53,7 +53,7 @@ Ext.define('saas.view.core.form.FormPanel', {
                     xtype: 'tbtext',
                     bind: {
                         html: '<span class="x-tb x-no">NO. </span>' +
-                            '<span class="x-tb x-code">{base.codeEditable ? "" : form.' + me._codeField + '}</span>'
+                            '<span class="x-tb x-code">{base.codeEditable ? "" : ' + me._codeField + '}</span>'
                     }
                 }, {
                     xtype: 'textfield',
@@ -63,7 +63,7 @@ Ext.define('saas.view.core.form.FormPanel', {
                     cls: 'x-codeeditor',
                     hidden: true,
                     bind: {
-                        value: '{form.' + me._codeField + '}',
+                        value: '{' + me._codeField + '}',
                         hidden: '{!base.codeEditable}'
                     },
                     listeners: {
@@ -93,7 +93,7 @@ Ext.define('saas.view.core.form.FormPanel', {
                     cls: 'x-audited',
                     hidden: true,
                     bind: {
-                        hidden: '{!(form.' + me._statusCodeField + ' == "AUDITED")}'
+                        hidden: '{!(' + me._statusCodeField + ' == "AUDITED")}'
                     }
                 }, {
                     xtype: 'button',
@@ -146,21 +146,21 @@ Ext.define('saas.view.core.form.FormPanel', {
             statusCodeField = me._statusCodeField,
             viewModel = me.getViewModel();
 
-        viewModel.set('form.' + codeField, '');
-        viewModel.set('form.createTime', new Date());
-        viewModel.set('form.updateTime', new Date());
+        viewModel.set(codeField, '');
+        viewModel.set('createTime', new Date());
+        viewModel.set('updateTime', new Date());
 
         if (statusCodeField) {
             var o = {};
             o['auditBtnText'] = {
-                bind: '{form.' + statusCodeField + '}',
+                bind: '{' + statusCodeField + '}',
                 get: function(value) {
-                    viewModel.set('form.' + statusField, value == 'AUDITED' ? '已审核' : '未审核');
+                    viewModel.set(statusField, value == 'AUDITED' ? '已审核' : '未审核');
                     return value == 'AUDITED' ? '反审核' : '审核'
                 }
             };
             viewModel.setFormulas(o);
-            viewModel.set('form.' + statusCodeField, "UNAUDITED");
+            viewModel.set(statusCodeField, "UNAUDITED");
         } else {
             viewModel.set('auditBtnText', "审核");
         }
@@ -179,11 +179,17 @@ Ext.define('saas.view.core.form.FormPanel', {
         var me = this,
             viewModel = me.getViewModel(),
             allData = viewModel.getData(),
-            formData = allData['form'],
+            bindFields = allData.base.bindFields,
             detailCount = me.detailCount,
-            data = {
-                main: formData,
-            };
+            formData = {};
+
+        Ext.Array.each(bindFields, function(field) {
+            formData[field] = allData[field];
+        });
+
+        var data = {
+            main: formData,
+        };
 
         for (var i = 0; i < detailCount; i++) {
             var detail = allData['detail' + i],
@@ -202,7 +208,7 @@ Ext.define('saas.view.core.form.FormPanel', {
             viewModel = me.getViewModel(),
             viewData = viewModel.getData();
 
-        viewModel.set('form', main);
+        viewModel.setData(main);
 
         for (var i = 0; i < detailCount; i++) {
             var detailData = formData['detail' + i] || [],
@@ -220,7 +226,8 @@ Ext.define('saas.view.core.form.FormPanel', {
      */
     setBindFields: function (items) {
         var me = this,
-            viewModel = me.getViewModel();
+            viewModel = me.getViewModel(),
+            bindFields = ['id', me._codeField, me._statusCodeField, me._statusField];
 
         Ext.Array.each(items, function (item) {
             var xtype = item.xtype,
@@ -238,20 +245,24 @@ Ext.define('saas.view.core.form.FormPanel', {
                 if (bind) {
                     if (!Ext.isString(bind)) {
                         Ext.apply(bind, {
-                            value: '{form.' + name + '}'
+                            value: '{' + name + '}'
                         });
                     } else {
-                        item.bind = '{form.' + name + '}';
+                        item.bind = '{' + name + '}';
                     }
                 } else {
-                    item.bind = '{form.' + name + '}';
+                    item.bind = '{' + name + '}';
                 }
                 // 设置默认值
                 if (defaultValue) {
-                    viewModel.set('form.' + name, defaultValue);
+                    viewModel.set(name, defaultValue);
+                }
+                if(!Ext.Array.contains(bindFields, name)) {
+                    bindFields.push(name);
                 }
             }
-
+            
         });
+        viewModel.set('base.bindFields', bindFields);
     },
 });

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

@@ -114,13 +114,13 @@ Ext.define('saas.view.core.form.FormPanelController', {
         .then(function(res) {
             var localJson = new Ext.decode(res.responseText);
             if(localJson.success){
-                Ext.Msg.alert('提示','保存成功');
+                Ext.toast('提示','保存成功');
                 form.initId = localJson.data.id;
                 form.FormUtil.loadData(form);
             }
         })
         .catch(function() {
-            Ext.Msg.alert('提示','保存失败');
+            Ext.toast('提示','保存失败');
         });
     },
 
@@ -132,11 +132,11 @@ Ext.define('saas.view.core.form.FormPanelController', {
         modelData = viewModel.getData();
         
         if(form.getForm().wasDirty==false){
-            Ext.Msg.alert('提示','未修改数据,请修改后保存');
+            Ext.toast('提示','未修改数据,请修改后保存');
             return false;
         }
         if(form.getForm().wasValid==false){
-            Ext.Msg.alert('提示','表单校验有误,请检查');
+            Ext.toast('提示','表单校验有误,请检查');
             return false;
         }
         //form里面数据
@@ -184,14 +184,14 @@ Ext.define('saas.view.core.form.FormPanelController', {
         .then(function(res) {
             var localJson = new Ext.decode(res.responseText);
             if(localJson.success){
-                Ext.Msg.alert('提示','审核成功');
+                Ext.toast('提示','审核成功');
                 form.initId = localJson.data.id;
                 form.FormUtil.loadData(form);
                 viewModel.set('base.editable', false);
             }
         })
         .catch(function() {
-            Ext.Msg.alert('提示','审核失败');
+            Ext.toast('提示','审核失败');
         });
     },
     unAudit: function() {

+ 3 - 4
frontend/saas-web/app/view/core/form/FormPanelModel.js

@@ -3,10 +3,9 @@ Ext.define('saas.view.core.form.FormPanelModel', {
     alias: 'viewmodel.core-form-formpanel',
 
     data: {
-        form: {
-            id: 0
-        },
+        id: 0,
         base: {
+            bindFields: [], // 绑定字段
             editable: true, // 单据是否可编辑
             codeEditable: false, // 单据编号是否可编辑
         },
@@ -16,7 +15,7 @@ Ext.define('saas.view.core.form.FormPanelModel', {
 
     formulas:{
         deleteHidden:{
-            bind:'{form.id}',
+            bind:'{id}',
             get:function(value){
                 return !value;
             }

+ 3 - 3
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -256,14 +256,14 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
                     async:false
                 })
                 .then(function() {
-                    Ext.Msg.alert('提示','操作成功');
+                    Ext.toast('提示','操作成功');
                 })
                 .catch(function(response) {
-                    Ext.Msg.alert('提示','操作失败');
+                    Ext.toast('提示','操作失败');
                 });
                 me.getStore().loadPage(1);
         }else{
-            Ext.Msg.alert('提示','请勾选至少一条明细。');
+            Ext.toast('提示','请勾选至少一条明细。');
         }
     },
     /**