瀏覽代碼

yvan-ext 发布

lizw 3 年之前
父節點
當前提交
d6ffc60161
共有 2 個文件被更改,包括 39 次插入15 次删除
  1. 38 14
      dist/yvan-ext.js
  2. 1 1
      dist/yvan-ext.js.map

+ 38 - 14
dist/yvan-ext.js

@@ -9738,6 +9738,13 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'recast', 'lay-excel', 'xl
             (_b = scope.refs[gridRefName]) === null || _b === void 0 ? void 0 : _b.reload();
         }
     }
+    var keydown_fun_item = _.debounce(function (sender, event, eOpts) {
+        if ([10, 13, 20, 40].includes(event.keyCode)) {
+            // 获取读码器读取的内容,最好不要从 viewModel 中取值,而是从 sender.rawValue 中取值
+            var value = _.trim(sender.rawValue);
+            raiseClick(eOpts.handle);
+        }
+    }, 150);
     var SystemEventFu = /** @class */ (function () {
         function SystemEventFu() {
         }
@@ -9748,16 +9755,28 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'recast', 'lay-excel', 'xl
                 }
                 config.listeners.afterrender = function (sender) {
                     var scope = lookupScope(sender);
-                    $(sender.el.dom).on('keydown', function (e) {
-                        var xtype = Ext.fly(e.target).component.xtype;
-                        if (xtype === 'textfield' && e.keyCode === 13) {
-                            Ext.defer(function () {
-                                raiseClick(scope.refs[btnReferenceName]);
-                            });
-                            e.preventDefault();
-                            e.stopPropagation();
-                            return false;
+                    // $(sender.el.dom).on('keydown', (e) => {
+                    //     const xtype = Ext.fly(e.target).component.xtype
+                    //     if (xtype === 'textfield' && e.keyCode === 13) {
+                    //         Ext.defer(() => {
+                    //             raiseClick(scope.refs[btnReferenceName])
+                    //         })
+                    //         e.preventDefault()
+                    //         e.stopPropagation()
+                    //         return false
+                    //     }
+                    // })
+                    $(sender.el.dom).on('keyup', function (e) {
+                        var tt = Ext.fly(e.target).component;
+                        var xtype = tt === null || tt === void 0 ? void 0 : tt.xtype;
+                        if ((xtype !== 'textfield' && xtype !== 'numberfield') ||
+                            ![10, 13, 20, 40].includes(e.keyCode)) {
+                            return;
                         }
+                        e.preventDefault();
+                        e.stopPropagation();
+                        keydown_fun_item(tt, e, { handle: scope.refs[btnReferenceName] });
+                        return;
                     });
                 };
             };
@@ -11451,7 +11470,8 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'recast', 'lay-excel', 'xl
                             value = '';
                         }
                         var oValue = value;
-                        if (typeof headers[j].renderer === 'function') {
+                        // todo 导出处理字典日期等数据,如果有特殊的单元格渲染也可能出现导出的数据有特殊标记需要特殊处理一下
+                        if (typeof headers[j].renderer === 'function' && (!headers[j].config.formatter)) {
                             try {
                                 value = headers[j].renderer(value);
                                 if (!value && value !== 0) {
@@ -13122,10 +13142,12 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'recast', 'lay-excel', 'xl
                 if ([10, 13, 20, 40].includes(event.keyCode)) {
                     // 获取读码器读取的内容,最好不要从 viewModel 中取值,而是从 sender.rawValue 中取值
                     var value = _.trim(sender.rawValue);
-                    var r = that.fireEvent('scancode', that, value);
-                    if (r) {
+                    var r = that.fireEvent('scancode', that, value, event);
+                    if (r === 'OK') {
                         // 停止事件的默认处理程序,停止事件的冒泡
-                        event.stopEvent();
+                        // event.stopEvent();
+                        event.preventDefault();
+                        event.stopPropagation();
                     }
                 }
             }, 100)
@@ -13774,7 +13796,9 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'recast', 'lay-excel', 'xl
                 this.bindTargert = _.trim(this.bindTargert);
             },
             setBindValue: function (arrValue) {
-                this.lookupViewModel().yvanScope.viewModel.set(this.bindTargert, arrValue);
+                if (this.bindTargert) {
+                    this.lookupViewModel().yvanScope.viewModel.set(this.bindTargert, arrValue);
+                }
             },
             replaceRawInputEvent: function () {
                 var me = this;

File diff suppressed because it is too large
+ 1 - 1
dist/yvan-ext.js.map