Browse Source

核销单币别汇率逻辑

zhuth 7 years ago
parent
commit
6e66eab79e

+ 6 - 1
frontend/saas-web/app/view/core/dbfind/ConDbfindTrigger.js

@@ -22,12 +22,15 @@ Ext.define('saas.view.core.form.field.ConDbfindTrigger', {
         dbType = me.dbType,
         dbfinds = me.dbfinds,
         name0 = dbfinds[0].to,
-        name1 = dbfinds[1].to;
+        name1 = dbfinds[1].to,
+        fieldLabel = me.fieldLabel;
 
         Ext.apply(me, {
             items: [Ext.Object.merge({
                 xtype: dbType,
                 name: name0,
+                fieldLabel: fieldLabel,
+                hideLabel: true,
                 allowBlank: allowBlank,
                 msgTarget: 'none',
                 bind: {
@@ -38,6 +41,8 @@ Ext.define('saas.view.core.form.field.ConDbfindTrigger', {
             }, me.mainFieldConfig), Ext.Object.merge({
                 xtype: 'textfield',
                 name: name1,
+                fieldLabel: fieldLabel,
+                hideLabel: true,
                 allowBlank: allowBlank,
                 readOnly: true,
                 defaultReadOnly: true,

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

@@ -264,13 +264,27 @@ Ext.define('saas.view.core.form.FormPanel', {
     addItems: function (items) {
         let me = this;
         me.setBindFields(items);
-        let formItems = me.add(items);
+        let addItems = me.add(items);
+        let formItems = [];
+        
+        for(let i = 0; i < addItems.length; i++) {
+            let item = addItems[i];
+
+            if(item.getXTypes().split('/').indexOf('condbfindtrigger') != -1) {
+                let confields = item.items.items;
+                formItems.push(confields[0]);
+                formItems.push(confields[1]);
+            }else {
+                formItems.push(item); 
+            }
+        }
         let codeField = me.getForm().findField(me._codeField);
         if(codeField && !Ext.Array.findBy(formItems, function(i) {
             return i.name == me._codeField;
         })) {
             formItems.push(codeField);
         }
+
         me.formItems = formItems;
         return formItems;
     },

+ 75 - 66
frontend/saas-web/app/view/money/verification/FormPanel.js

@@ -48,7 +48,7 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 items = FormUtil.initItems(items);
                 items = FormUtil.applyCusMainItemConfig(items, cfg);
                 items = FormUtil.applyCusDetailItemConfig(items, cfg);
-                
+
                 me.configItems = items;
 
                 items = FormUtil.applyDefaultItems(me, items);
@@ -180,11 +180,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         xtype: 'numbercolumn',
                         dataIndex: "vd_amount",
                         width: 110,
-                        renderer: function(v, m, r) {
+                        renderer: function (v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function(v, d, f, m) {
+                        summaryRenderer: function (v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -193,11 +193,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         dataIndex: "sl_yamount",
                         width: 120,
                         ignore: true,
-                        renderer: function(v, m, r) {
+                        renderer: function (v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function(v, d, f, m) {
+                        summaryRenderer: function (v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -206,11 +206,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         dataIndex: "sl_namount",
                         width: 120,
                         ignore: true,
-                        renderer: function(v, m, r) {
+                        renderer: function (v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function(v, d, f, m) {
+                        summaryRenderer: function (v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -223,11 +223,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             decimalPrecision: 2
                         },
                         allowBlank: false,
-                        renderer: function(v, m, r) {
+                        renderer: function (v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function(v, d, f, m) {
+                        summaryRenderer: function (v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -324,11 +324,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         xtype: 'numbercolumn',
                         dataIndex: "vcd_amount",
                         width: 110,
-                        renderer: function(v, m, r) {
+                        renderer: function (v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function(v, d, f, m) {
+                        summaryRenderer: function (v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -337,11 +337,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         dataIndex: "sl_yamount",
                         width: 120,
                         ignore: true,
-                        renderer: function(v, m, r) {
+                        renderer: function (v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function(v, d, f, m) {
+                        summaryRenderer: function (v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -350,11 +350,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         dataIndex: "sl_namount",
                         width: 120,
                         ignore: true,
-                        renderer: function(v, m, r) {
+                        renderer: function (v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function(v, d, f, m) {
+                        summaryRenderer: function (v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -367,11 +367,11 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             xtype: "numberfield",
                             decimalPrecision: 2
                         },
-                        renderer: function(v, m, r) {
+                        renderer: function (v, m, r) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         },
                         summaryType: 'sum',
-                        summaryRenderer: function(v, d, f, m) {
+                        summaryRenderer: function (v, d, f, m) {
                             return saas.util.BaseUtil.numberFormat(v, 2, true);
                         }
                     }, {
@@ -531,13 +531,15 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         allowBlank: false,
                         dbType: 'currencyDbfindTrigger',
                         dbfinds: [{
-                            from: 'cr_name', to: 'vc_currency'
+                            from: 'cr_name',
+                            to: 'vc_currency'
                         }, {
-                            from: 'cr_rate', to: 'vc_rate'
+                            from: 'cr_rate',
+                            to: 'vc_rate'
                         }],
-                        listeners: {
-                            change: 'clearDetails'
-                        },
+                        // listeners: {
+                        //     change: 'clearDetails'
+                        // },
                         supFieldConfig: {
                             xtype: 'numberfield',
                             readOnly: false,
@@ -545,7 +547,7 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             decimalPrecision: 6,
                             vtype: 'positiveNumber'
                         },
-                    },{
+                    }, {
                         xtype: 'hidden',
                         name: 'vc_amount1',
                         thousandSeparator: ',',
@@ -585,19 +587,21 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         defaultValue: new Date(),
                         allowBlank: false,
                         name: 'vc_date'
-                    },  {
+                    }, {
                         xtype: 'condbfindtrigger',
                         fieldLabel: '币别汇率',
                         allowBlank: false,
                         dbType: 'currencyDbfindTrigger',
                         dbfinds: [{
-                            from: 'cr_name', to: 'vc_currency'
+                            from: 'cr_name',
+                            to: 'vc_currency'
                         }, {
-                            from: 'cr_rate', to: 'vc_rate'
+                            from: 'cr_rate',
+                            to: 'vc_rate'
                         }],
-                        listeners: {
-                            change: 'clearDetails'
-                        },
+                        // listeners: {
+                        //     change: 'clearDetails'
+                        // },
                         supFieldConfig: {
                             xtype: 'numberfield',
                             readOnly: false,
@@ -605,7 +609,7 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             decimalPrecision: 6,
                             vtype: 'positiveNumber'
                         },
-                    },{
+                    }, {
                         xtype: 'hidden',
                         name: 'vc_amount1',
                         thousandSeparator: ',',
@@ -666,8 +670,7 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         }, {
                             from: 've_name',
                             to: 'vc_vendname'
-                        }
-                        ],
+                        }],
                     }, {
                         fieldLabel: '日期',
                         xtype: 'datefield',
@@ -675,26 +678,28 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         allowBlank: false,
                         name: 'vc_date'
                     }, {
-                            xtype: 'condbfindtrigger',
-                            fieldLabel: '币别汇率',
-                            allowBlank: false,
-                            dbType: 'currencyDbfindTrigger',
-                            dbfinds: [{
-                                from: 'cr_name', to: 'vc_currency'
-                            }, {
-                                from: 'cr_rate', to: 'vc_rate'
-                            }],
-                            listeners: {
-                                change: 'clearDetails'
-                            },
-                            supFieldConfig: {
-                                xtype: 'numberfield',
-                                readOnly: false,
-                                defaultReadOnly: false,
-                                decimalPrecision: 6,
-                                vtype: 'positiveNumber'
-                            },
-                        },{
+                        xtype: 'condbfindtrigger',
+                        fieldLabel: '币别汇率',
+                        allowBlank: false,
+                        dbType: 'currencyDbfindTrigger',
+                        dbfinds: [{
+                            from: 'cr_name',
+                            to: 'vc_currency'
+                        }, {
+                            from: 'cr_rate',
+                            to: 'vc_rate'
+                        }],
+                        // listeners: {
+                        //     change: 'clearDetails'
+                        // },
+                        supFieldConfig: {
+                            xtype: 'numberfield',
+                            readOnly: false,
+                            defaultReadOnly: false,
+                            decimalPrecision: 6,
+                            vtype: 'positiveNumber'
+                        },
+                    }, {
                         xtype: 'hidden',
                         name: 'vc_amount1',
                         thousandSeparator: ',',
@@ -750,19 +755,21 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         defaultValue: new Date(),
                         allowBlank: false,
                         name: 'vc_date'
-                    },  {
+                    }, {
                         xtype: 'condbfindtrigger',
                         fieldLabel: '币别汇率',
                         allowBlank: false,
                         dbType: 'currencyDbfindTrigger',
                         dbfinds: [{
-                            from: 'cr_name', to: 'vc_currency'
+                            from: 'cr_name',
+                            to: 'vc_currency'
                         }, {
-                            from: 'cr_rate', to: 'vc_rate'
+                            from: 'cr_rate',
+                            to: 'vc_rate'
                         }],
-                        listeners: {
-                            change: 'clearDetails'
-                        },
+                        // listeners: {
+                        //     change: 'clearDetails'
+                        // },
                         supFieldConfig: {
                             xtype: 'numberfield',
                             readOnly: false,
@@ -770,7 +777,7 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             decimalPrecision: 6,
                             vtype: 'positiveNumber'
                         },
-                    },{
+                    }, {
                         xtype: 'hidden',
                         name: 'vc_amount1',
                         thousandSeparator: ',',
@@ -826,19 +833,21 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         defaultValue: new Date(),
                         allowBlank: false,
                         name: 'vc_date'
-                    },  {
+                    }, {
                         xtype: 'condbfindtrigger',
                         fieldLabel: '币别汇率',
                         allowBlank: false,
                         dbType: 'currencyDbfindTrigger',
                         dbfinds: [{
-                            from: 'cr_name', to: 'vc_currency'
+                            from: 'cr_name',
+                            to: 'vc_currency'
                         }, {
-                            from: 'cr_rate', to: 'vc_rate'
+                            from: 'cr_rate',
+                            to: 'vc_rate'
                         }],
-                        listeners: {
-                            change: 'clearDetails'
-                        },
+                        // listeners: {
+                        //     change: 'clearDetails'
+                        // },
                         supFieldConfig: {
                             xtype: 'numberfield',
                             readOnly: false,
@@ -846,7 +855,7 @@ Ext.define('saas.view.money.verification.FormPanel', {
                             decimalPrecision: 6,
                             vtype: 'positiveNumber'
                         },
-                    },{
+                    }, {
                         xtype: 'hidden',
                         name: 'vc_amount1',
                         thousandSeparator: ',',

+ 2 - 1
frontend/saas-web/app/view/money/verification/FormPanelController.js

@@ -211,9 +211,10 @@ Ext.define('saas.view.money.verification.FormPanelController', {
 
         arr.map(function(a) {
             var fieldName = a.replace(/[{|}]/g, '');
-            var fieldLabel = Ext.Array.findBy(formItems, function(f) {
+            var field = Ext.Array.findBy(formItems, function(f) {
                 return f.name == fieldName;
             });
+            var fieldLabel = field.fieldLabel || field.name;
             var fieldValue = viewModel.get(fieldName);
             fields[fieldName] = fieldValue;