From 92ff846fb659c62037a32b1d8c15eae9df9d9b54 Mon Sep 17 00:00:00 2001
From: zenglf <18502938215@163.com>
Date: 星期一, 18 九月 2023 13:24:30 +0800
Subject: [PATCH] Merge branch 'develop' of http://117.34.109.166:18448/r/vue_mdc_430

---
 src/components/jeecg/JVxeTable/components/JVxeTable.js |   86 +++++++++++++++++++++++++-----------------
 1 files changed, 51 insertions(+), 35 deletions(-)

diff --git a/src/components/jeecg/JVxeTable/components/JVxeTable.js b/src/components/jeecg/JVxeTable/components/JVxeTable.js
index c1a1859..dd2e1fb 100644
--- a/src/components/jeecg/JVxeTable/components/JVxeTable.js
+++ b/src/components/jeecg/JVxeTable/components/JVxeTable.js
@@ -107,9 +107,9 @@
       // caseId锛岃〃鏍煎敮涓�鏍囪瘑
       caseId: `_j-vxe-${randomString(8)}_`,
       // 鍐呯疆columns
-      _innerColumns: [],
+      innerColumns: [],
       // 鍐呯疆 EditRules
-      _innerEditRules: [],
+      innerEditRules: [],
       // 璁板綍婊氬姩鏉′綅缃�
       scroll: {top: 0, left: 0},
       // 褰撳墠鏄惁姝e湪婊氬姩
@@ -156,14 +156,14 @@
       excludeCode:[],
       // 鑱斿姩涓嬫媺閫夐」锛堢敤浜庨殧绂讳笉鍚岀殑涓嬫媺閫夐」锛�
       // 鍐呴儴鑱斿姩閰嶇疆锛宮ap
-      _innerLinkageConfig: null,
+      innerLinkageConfig: null,
     }
   },
   computed: {
 
     // vxe 鏈�缁� columns
     vxeColumns() {
-      this._innerColumns.forEach(column => {
+      this.innerColumns.forEach(column => {
         let renderOptions = {
           caseId: this.caseId,
           bordered: this.bordered,
@@ -184,11 +184,11 @@
           }
         }
         // 澶勭悊鑱斿姩鍒楋紝鑱斿姩鍒楀彧鑳戒綔鐢ㄤ簬 select 缁勪欢
-        if (column.$type === JVXETypes.select && this._innerLinkageConfig != null) {
+        if (column.$type === JVXETypes.select && this.innerLinkageConfig != null) {
           // 鍒ゆ柇褰撳墠鍒楁槸鍚︽槸鑱斿姩鍒�
-          if (this._innerLinkageConfig.has(column.key)) {
+          if (this.innerLinkageConfig.has(column.key)) {
             renderOptions.linkage = {
-              config: this._innerLinkageConfig.get(column.key),
+              config: this.innerLinkageConfig.get(column.key),
               getLinkageOptionsSibling: this.getLinkageOptionsSibling,
               getLinkageOptionsAsync: this.getLinkageOptionsAsync,
               linkageSelectChange: this.linkageSelectChange,
@@ -224,11 +224,11 @@
         }
         // update--end--autor:lvdandan-----date:20201211------for:JT-118 銆恛nline銆� 鏃ユ湡銆佹椂闂存帶浠堕暱搴﹁緝灏�
       })
-      return this._innerColumns
+      return this.innerColumns
     },
     // vxe 鏈�缁� editRules
     vxeEditRules() {
-      return Object.assign({}, this.editRules, this._innerEditRules)
+      return Object.assign({}, this.editRules, this.innerEditRules)
     },
     // vxe 鏈�缁� props
     vxeProps() {
@@ -302,8 +302,8 @@
             this.$set(data, this.dragSortKey, idx + 1)
           }
           // 澶勭悊鑱斿姩鍥炴樉鏁版嵁
-          if (this._innerLinkageConfig != null) {
-            for (let configItem of this._innerLinkageConfig.values()) {
+          if (this.innerLinkageConfig != null) {
+            for (let configItem of this.innerLinkageConfig.values()) {
               this.autoSetLinkageOptionsByData(data, '', configItem, 0)
             }
           }
@@ -341,8 +341,8 @@
       handler(columns) {
         //鑾峰彇涓嶉渶瑕佹樉绀哄垪
         this.loadExcludeCode()
-        let _innerColumns = []
-        let _innerEditRules = {}
+        let innerColumns = []
+        let innerEditRules = {}
         let {rowNumber, rowSelection, rowExpand, dragSort} = this
         let expandColumn, seqColumn, checkboxColumn, radioColumn, dragSortColumn
         if (Array.isArray(columns)) {
@@ -422,7 +422,7 @@
                     rules.push(Object.assign({}, rule, replace))
                   }
                 }
-                _innerEditRules[col.key] = rules
+                innerEditRules[col.key] = rules
               }
               // 澶勭悊缁熻鍒�
               // sum = 姹傚拰銆乤verage = 骞冲潎鍊�
@@ -435,7 +435,7 @@
                   }
                 })
               }
-              _innerColumns.push(col)
+              innerColumns.push(col)
             }
           })
         }
@@ -445,7 +445,7 @@
           if (seqColumn) {
             col = Object.assign(col, seqColumn, {type: 'seq'})
           }
-          _innerColumns.unshift(col)
+          innerColumns.unshift(col)
         }
         // 鍒ゆ柇鏄惁寮�鍚簡鍙�夋嫨琛�
         if (rowSelection) {
@@ -462,7 +462,7 @@
           if (this.rowSelectionType === 'checkbox' && checkboxColumn) {
             col = Object.assign(col, checkboxColumn, {type: 'checkbox'})
           }
-          _innerColumns.unshift(col)
+          innerColumns.unshift(col)
         }
         // 鏄惁鍙睍寮�琛�
         if (rowExpand) {
@@ -474,7 +474,7 @@
           if (expandColumn) {
             col = Object.assign(col, expandColumn, {type: 'expand'})
           }
-          _innerColumns.unshift(col)
+          innerColumns.unshift(col)
         }
         // 鏄惁鍙嫋鍔ㄦ帓搴�
         if (dragSort) {
@@ -486,11 +486,11 @@
           if (dragSortColumn) {
             col = Object.assign(col, dragSortColumn, {type: JVXETypes.rowDragSort})
           }
-          _innerColumns.unshift(col)
+          innerColumns.unshift(col)
         }
 
-        this._innerColumns = _innerColumns
-        this._innerEditRules = _innerEditRules
+        this.innerColumns = innerColumns
+        this.innerEditRules = innerEditRules
       }
     },
     // watch linkageConfig
@@ -501,7 +501,7 @@
         if (Array.isArray(this.linkageConfig) && this.linkageConfig.length > 0) {
           // 鑾峰彇鑱斿姩鐨刱ey椤哄簭
           let getLcKeys = (key, arr) => {
-            let col = this._innerColumns.find(col => col.key === key)
+            let col = this.innerColumns.find(col => col.key === key)
             if (col) {
               arr.push(col.key)
               if (col.linkageKey) {
@@ -520,9 +520,9 @@
             }
             keys.forEach(k => configMap.set(k, configItem))
           })
-          this._innerLinkageConfig = configMap
+          this.innerLinkageConfig = configMap
         } else {
-          this._innerLinkageConfig = null
+          this.innerLinkageConfig = null
         }
       }
     },
@@ -715,7 +715,12 @@
     resetScrollTop(top) {
       this.scrollTo(null, (top == null || top === '') ? this.scroll.top : top)
     },
-
+    clearAllData() {
+      let {xTable} = this.$refs.vxe.$refs
+        // issues/2784
+        // 鍏堟竻绌烘墍鏈夋暟鎹�
+        xTable.loadData([])
+    },
     /**
      * 鍔犺浇鏂版暟鎹紝鍜� loadData 涓嶅悓鐨勬槸锛岀敤璇ユ柟娉曞姞杞界殑鏁版嵁閮芥槸鐩稿綋浜庣偣鏂板鎸夐挳鏂板鐨勬暟鎹��
      * 閫傜敤浜庝笉鏄暟鎹簱閲屾煡鍑烘潵鐨勬病鏈塱d鐨勪复鏃舵暟鎹�
@@ -734,8 +739,8 @@
             this.$set(data, this.dragSortKey, idx + 1)
           }
           // 澶勭悊鑱斿姩鍥炴樉鏁版嵁
-          if (this._innerLinkageConfig != null) {
-            for (let configItem of this._innerLinkageConfig.values()) {
+          if (this.innerLinkageConfig != null) {
+            for (let configItem of this.innerLinkageConfig.values()) {
               this.autoSetLinkageOptionsByData(data, '', configItem, 0)
             }
           }
@@ -763,6 +768,8 @@
         console.warn(`JVxeTable.setValues锛氬繀椤讳紶閫掓暟缁刞)
         return
       }
+      // 鏄惁鏇存柊浜嗘暟鎹�
+      let updated = false
       values.forEach((item, idx) => {
         let {rowKey, values: record} = item
         let {row} = this.getIfRowById(rowKey)
@@ -775,6 +782,7 @@
             let oldValue = row[colKey]
             let newValue = record[colKey]
             if (newValue !== oldValue) {
+              updated = true
               this.$set(row, colKey, newValue)
               // 瑙﹀彂 valueChange 浜嬩欢
               this.trigger('valueChange', {
@@ -791,6 +799,14 @@
           }
         })
       })
+      // 銆恑ssues/3828銆戞暟鎹洿鏂板悗锛岄噸鏂拌绠楃粺璁″垪
+      if (updated && this.statistics.has) {
+        this.$nextTick(async () => {
+          let {xTable} = this.$refs.vxe.$refs;
+          await xTable.updateCache(true);
+          await xTable.updateData();
+        });
+      }
     },
 
     /** 鑾峰彇鎵�鏈夌殑鏁版嵁锛屽寘鎷瑅alues銆乨eleteIds */
@@ -869,9 +885,9 @@
      * @param isOnlJs 鏄惁鏄痮nlineJS澧炲己瑙﹀彂鐨�
      * @return
      */
-    async addRows(rows = {}, isOnlJs) {
+  /*   async addRows(rows = {}, isOnlJs) {
       return this._addOrInsert(rows, -1, 'added', isOnlJs)
-    },
+    }, */
 
     /**
      * 娣诲姞涓�琛屾垨澶氳
@@ -1242,10 +1258,10 @@
           record[col.key] = createValue({row: record, column, $table: xTable})
         }
         // update-begin--author:sunjianlei---date:20210819------for: 澶勭悊鑱斿姩鍒楋紝鑱斿姩鍒楀彧鑳戒綔鐢ㄤ簬 select 缁勪欢
-        if (col.$type === JVXETypes.select && this._innerLinkageConfig != null) {
+        if (col.$type === JVXETypes.select && this.innerLinkageConfig != null) {
           // 鍒ゆ柇褰撳墠鍒楁槸鍚︽槸鑱斿姩鍒�
-          if (this._innerLinkageConfig.has(col.key)) {
-            let configItem = this._innerLinkageConfig.get(col.key)
+          if (this.innerLinkageConfig.has(col.key)) {
+            let configItem = this.innerLinkageConfig.get(col.key)
             this.getLinkageOptionsAsync(configItem, '')
           }
         }
@@ -1402,11 +1418,11 @@
   {title: '缃戝潃', value: 'url', pattern: /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/},
   {title: '鐢靛瓙閭欢', value: 'e', pattern: /^([\w]+\.*)([\w]+)@[\w]+\.\w{3}(\.\w{2}|)$/},
   {title: '鎵嬫満鍙风爜', value: 'm', pattern: /^1[3456789]\d{9}$/},
-  {title: '閭斂缂栫爜', value: 'p', pattern: /^[1-9]\d{5}$/},
+  {title: '閭斂缂栫爜', value: 'p', pattern: /^[0-9]{6}$/},
   {title: '瀛楁瘝', value: 's', pattern: /^[A-Z|a-z]+$/},
   {title: '鏁板瓧', value: 'n', pattern: /^-?\d+(\.?\d+|\d?)$/},
   {title: '鏁存暟', value: 'z', pattern: /^-?\d+$/},
-  {title: '閲戦', value: 'money', pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/},
+  {title: '閲戦', value: 'money', pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,5}))$/},
 ]
 
 /** 鏃х増handler杞负鏂扮増Validator */
@@ -1442,4 +1458,4 @@
     }
   }
   return Promise.resolve()
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3