{"_id":"dynamic-table-vue2-element","_rev":"45-3eed4c475f9bbc00257c94baf515ac74","name":"dynamic-table-vue2-element","dist-tags":{"latest":"1.8.10"},"versions":{"1.0.0":{"name":"dynamic-table-vue2-element","version":"1.0.0","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.0.0","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"3a24b7d49ae6a6eaae04a685a973f6fd11e5beec","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.0.0.tgz","fileCount":6,"integrity":"sha512-Dbv/S6Q88T0sgTuPSvMmHMD+GI2FbW7DlE0J8pdZWhIX01nGUszFhctqTAxN6kF7FTxhhMIe3WoHm9NS/lBCXQ==","signatures":[{"sig":"MEQCIGdqPcXIiBYSQlfHAS+H7z6jVShFSFUb38Uqb5xIirC+AiAb3kftepVLERljaGEJvFMYvMmYlFslmz+/wysYR53UyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":324672},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"91caf587faaa27c9ed798e1b3aaf7c618bf72e5f","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"11.17.0","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"26.5.0","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^4.62.2","cssnano":"^8.0.2","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^8.0.1","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^8.0.2","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^7.1.0","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^29.0.3","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.0.0_1784372336599_0.8439603121907555","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"dynamic-table-vue2-element","version":"1.0.1","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.0.1","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"6269b8075ac919b26fc48cec0a7be4fc42a9c985","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.0.1.tgz","fileCount":7,"integrity":"sha512-aUc4b3QmRSclVQpq82+j3w63HiC1vFmEHMsYsktba1yGu5PQfTU0k4iV3ONM5MVNbaXN+r62bmKCl2xG7otoHg==","signatures":[{"sig":"MEUCIDnicM3EvFQN0+YKcAD57scnWNsWBO5FdEG80F9hRPMKAiEAlXa/gouYEMUmAOLguvbBgNaML3C7KPuQCS6zO+URGNs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":375570},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"91caf587faaa27c9ed798e1b3aaf7c618bf72e5f","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"11.17.0","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"26.5.0","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^4.62.2","cssnano":"^8.0.2","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^8.0.1","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^8.0.2","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^7.1.0","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^29.0.3","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.0.1_1784377384668_0.12275365185473763","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"dynamic-table-vue2-element","version":"1.0.2","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.0.2","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"b654f418840e648f41da708c374257828e0a3953","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.0.2.tgz","fileCount":7,"integrity":"sha512-np+/PlLd7m6g2g7WxfIxqdYb2qcVLbd/G/+mcPQaM2iOsYamPsNQXgZI/xfu9GkmHXwjGVjHi/dTZjIdpy1Jeg==","signatures":[{"sig":"MEYCIQDJNhYWXjTHFojHQXj1XlJWCJQA8al2jONQEf1R3HnHwQIhAOccw67pg66cwu49Ctdz5E6a/BpemDZ4MOa3t/Wwrbne","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378795},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"527bef17247e81a8b26ef18b04b507387405632d","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"11.17.0","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"26.5.0","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^4.62.2","cssnano":"^8.0.2","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^8.0.1","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^8.0.2","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^7.1.0","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^29.0.3","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.0.2_1784384807958_0.2617586884358736","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"dynamic-table-vue2-element","version":"1.0.3","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.0.3","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"f354aca10426969b73a54ffce6cfa9c19c266c1a","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.0.3.tgz","fileCount":7,"integrity":"sha512-u41I0FAk6ZW3rNizJZEv2LkmiThe9PTx3CCSKLEyAvczBib7x3tDVn4KIv8+55G+HmghoFcLZmKdsutJlMdlLg==","signatures":[{"sig":"MEQCIHSFu2HY0njiAuTiZA1j5pmeqJveeqPSpkghDQYX65bhAiBM7BaPScPBTkFbwuIQ54n+LRaL6Rrpe9Gez4pJjsI6Xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":388469},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"527bef17247e81a8b26ef18b04b507387405632d","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"11.17.0","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"26.5.0","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^4.62.2","cssnano":"^8.0.2","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^8.0.1","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^8.0.2","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^7.1.0","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^29.0.3","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.0.3_1784385702303_0.8935922808132719","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"dynamic-table-vue2-element","version":"1.1.0","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.1.0","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"1f5ba650e500c2634d06db251d53bfc2632857d7","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.1.0.tgz","fileCount":7,"integrity":"sha512-kXPrLw1tVi3r7ZkPCAEWHnGVzSpVKZdJXqqBN00A/nBf2wyGvJ41iQFgcKd/bl9gBrqZrIIlOThzNhtG0VurhA==","signatures":[{"sig":"MEQCICz577Soa8A/1hNE8EZM7jAVuSgvkSK8mtQZM4TbN8Z/AiBU1QT4Zfi041UZBruqKIwV9NSq2vgZts5QzHW+bfwTvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":439211},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"d8b4e13c1295e8335dd7fec4bd1d97f566fa7947","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^4.62.2","cssnano":"^8.0.2","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^8.0.1","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^8.0.2","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^7.1.0","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^29.0.3","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.1.0_1784396112472_0.0632849713700756","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"dynamic-table-vue2-element","version":"1.1.1","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.1.1","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"0f54f0769bd13fae7186eeb2d46c9a9895762d1b","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.1.1.tgz","fileCount":5,"integrity":"sha512-AFlf92bDfj5oRicyM7Zymb9+3F4XoyZC10H6+vow9D+r73sLwkmAMxmenzlJMVuJNaNwsbaqgkkaXqvsQImlUg==","signatures":[{"sig":"MEUCIGKmrMIPw1tPg8kIPOgjXgWnHZDzKqC08UN5/i8bXEkGAiEAnfgZxbqri/NQeXeaqFqLlxf9eDgjY6sbmYfFa73JuUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211456},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"ecd56ed36c5c4737a8c2f3472bdabd80c28d9e32","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^4.62.2","cssnano":"^8.0.2","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^8.0.1","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^8.0.2","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^7.1.0","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^29.0.3","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.1.1_1784438234263_0.9392885236014068","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"dynamic-table-vue2-element","version":"1.1.3","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.1.3","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"9402a7d52dc772d4db2133b719bcbb3442a044fc","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.1.3.tgz","fileCount":5,"integrity":"sha512-ya5hqWIL+KU8nPw/Dk96zPrraSBDNgcmqZxDdfZFGsWO/vX2Wmhh4mfXiFW1Dv+vRx+da4+BHZgGkpdFx3hEtw==","signatures":[{"sig":"MEYCIQDKaoSPT8tH8oWOKuiRM/EKSY3+4Q3Qphu9Yi2GO9W7AAIhAOAtpU3ALNIe/ZEoR8ZMdzryijYjBh9s3+XmeyLSF3s2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212849},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"60100f28eb3f1ff28e46130f8956dcb92ff212cc","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^4.62.2","cssnano":"^8.0.2","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^8.0.1","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^8.0.2","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^7.1.0","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^29.0.3","@rollup/plugin-node-resolve":"^16.0.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.1.3_1784440176401_0.9827141864168008","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"dynamic-table-vue2-element","version":"1.1.4","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.1.4","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"15787a0312eb644ae3f084b1dd00ab93726e3e37","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.1.4.tgz","fileCount":5,"integrity":"sha512-9ehxT+dECq90k1+FpLN7vsWNsVxURsLJ9frUbibh59xc8BqDcE7yTst+zmnQDdcOqqhVk12DKUZBNwaRN63cMA==","signatures":[{"sig":"MEUCIQDkdEjdaDn897H4vN4r9tY58lKgHYzDSC6u2agaOV3hhAIgSDf3Z5fDmobJP6/CxWaUR2+tYkexp7ZHV6vHh8roLOk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201835},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"6e2710524ab212f1b94ee2c22ae46fee96e771a0","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"8.19.4","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"16.20.2","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.1.4_1784441914269_0.09614389714038007","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"dynamic-table-vue2-element","version":"1.1.5","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.1.5","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"e62a4340458b1007c1c46364cfc0239a54d2caf8","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.1.5.tgz","fileCount":5,"integrity":"sha512-XTXAioOnk1YgPjYfkt+U4fzTtyUKDweXv6Ld2h0kdTVAZeIgkqW4mb6UlktZLuCWP2P0ycU9kDCHuiC7zFpxKQ==","signatures":[{"sig":"MEYCIQC24v8F6inH2dV6a28s/ayKpTjPuThKjOoqIUZbZLG85gIhAPEKrpXzvbrqM6zaSb2c8IO3JGSr3FsNZ2wNXyq3Ed1v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201709},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"8d0a5525bad57311571f3203af9a6cf686ba38dc","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"8.19.4","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"16.20.2","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.1.5_1784453411171_0.10901994675793492","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"dynamic-table-vue2-element","version":"1.1.6","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.1.6","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"a47885e79b1bcb3f395b135162a02c382455aee2","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.1.6.tgz","fileCount":5,"integrity":"sha512-T6JTW/CIh8aRohrbBE35imBWe8GtkuRUaj2MSWr0vQM3TBChS6jny9RQijOz+MuzMq3uYDd8J8ZGNM8sRQK7zw==","signatures":[{"sig":"MEYCIQCe4EscLH4iXxN5TT5dyQkeR5GYsZJ0HcJT+j+EmfPkCwIhAPoylfbC+GRcpZsKQUXBcusY2AsHJU3IRKu5kM3oSJZX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206727},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"003037525e82360b6bc9f602fb7f93c42cf61a3d","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"8.19.4","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"16.20.2","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.1.6_1784455071185_0.47704087111723315","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"dynamic-table-vue2-element","version":"1.1.7","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.1.7","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"855471e1a799e690cf57bc34a6cb86a9d0181460","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.1.7.tgz","fileCount":5,"integrity":"sha512-BcQo/lKPWl76473ITBY6W6t6ToEHPt/nmjjMzZLvCzzBagWf26m1FjS7lODIYXyo18rt4VlTMbhP4NJCxnAWWA==","signatures":[{"sig":"MEUCIQDdHGkZirW+QXjcJVW6vehc+n6U8p+A7h0FDB0m7b5qOwIgK48L+tW1OoUlr122lctP/v+E7Y6v3aoaDn/JHpW4lbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":207527},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"1a3d18f33fa9b346b83af82245f5c1d06cf06447","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"8.19.4","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"16.20.2","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.1.7_1784464707972_0.9139993140498588","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"dynamic-table-vue2-element","version":"1.1.8","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.1.8","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"b79005b549aadebfe38c7e692e5ced19d3e91b03","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.1.8.tgz","fileCount":5,"integrity":"sha512-ITInl1hF92Kj9uU86l96f+V/MH4tkzOX+EkaK/EXDKXZpAUckKPR9MZrpc55RNjmrmq7+nG+sTaZ5xkPN5oDWQ==","signatures":[{"sig":"MEQCIFe/EWQbxZZG2u2/vDEGulFBCSr3JOO/Ysaf8rB/6OXcAiA3kwMqXCa/WfYP8WouWaJkduAqfM4FjPq+1PloGoYTZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208543},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"6e130e57f7a2b717ad594aa08dab4a804b236a40","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.1.8_1784692342554_0.31084184548160554","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"dynamic-table-vue2-element","version":"1.1.9","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.1.9","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"ac34607446fe75526360bbeef33f8e433986a887","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.1.9.tgz","fileCount":5,"integrity":"sha512-mMjKJzHOKHT2FlxBWUhDKigeBMAt114sGKgAINUt96fNJWWd07mg6XFtVKDbkDbOWBp6Fbc8RkwXoOr/ddOpXw==","signatures":[{"sig":"MEQCIHwM/alUcT6qZDGsd2uWrWVdOO0XI+Z+GnwKB41C5u6eAiAR1tpeuI6110AN8DuXczWpT0QcMJTLPMVtgUG8KSY2Kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208218},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"424adb09e37eb422350be0b62744fd86de18bd23","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.1.9_1784697989257_0.021993432741349794","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"dynamic-table-vue2-element","version":"1.1.10","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.1.10","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"545c59e2f082920d1e6734f3dad00e5c3559076b","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.1.10.tgz","fileCount":5,"integrity":"sha512-KVsjK5Y82jZDaVkMzvIZf8qxsCQxWg2IWUXe+FuguMCFfq5hdFKXOb4nv7530CWRWDQ0N4bMMfVOG66BAmwxUw==","signatures":[{"sig":"MEYCIQC8QVLSK3KQdpQ+9uT4STXOxdfEMspIwOkrRY/R8302RgIhAIF2qZWA9gjN0XR4UUTysWv1gn9BFPDwZV9TwuhMlPXa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":208763},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"9029f14ffff37d0b724133aebaf4bf459120e254","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.1.10_1784699526915_0.8201981853808828","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"dynamic-table-vue2-element","version":"1.2.0","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.2.0","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"b6abc609a301003e424ed44c3e9c70991c877cfe","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.2.0.tgz","fileCount":5,"integrity":"sha512-IrSlO3nP6bD8nQjTF2gd4x7Apc54snJbhVjnAqFBCjcwxNiEOLB8epgjFn5euO/9+btJV9arLPiQfEwWIJu5nw==","signatures":[{"sig":"MEYCIQCk9u+SctbYvXT7Lur8Ro3hDxrGtYbRS+NtsTR1P2AZ6AIhAPZJzB3w2HnO0ak7Mok/Z2aS9cOPLNLrFgZGHCP3+VkP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216142},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"9029f14ffff37d0b724133aebaf4bf459120e254","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.2.0_1784709112138_0.5173749758154962","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"dynamic-table-vue2-element","version":"1.2.1","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.2.1","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"58b724c5044239aaa206bcef7797a225e24c379e","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.2.1.tgz","fileCount":5,"integrity":"sha512-U/LTlHYWRKWt/N9ttOD54PX2CwFyvafAmxDgKGrdYjWR9irTnakivVKNIP2kQ8rF62nrrBbSK0zMfyy1XVD5Eg==","signatures":[{"sig":"MEYCIQCpnqd5o320T8D52PPqQ569mnMY6WGvEPRXXNaDkOznlwIhAKVwYMGIo4ppPuNfaH9/d4zrBjj44kruODRwgcrmKsfR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236858},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"4d0af07d37a9a3694ac2ddf65295ab1d533c3c93","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.2.1_1784783001837_0.21556878002390611","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"dynamic-table-vue2-element","version":"1.2.3","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.2.3","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"c8db0d5ff2df26319755f57db51c6fe2900263e8","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.2.3.tgz","fileCount":5,"integrity":"sha512-QMaiNK1ixglo7Ye0K2g5qik3Tgn68Xaw6YHjlDky34EhRbXT9PxDjximIWx6YJypmE0WXBTzx6vtcnL/cWvUmA==","signatures":[{"sig":"MEQCIBNsPMmwlSOPXmJc7gBnTsA/T2cGfF8cejK+tCs5BhMOAiAj2VUNJ1ZrzGvtyGILIM2D6PQyYB9FlbpSjptcNWbWGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250918},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"307a117e55f4013bf163249208cd4229c19ac007","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.2.3_1785383402284_0.13107029974874806","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"dynamic-table-vue2-element","version":"1.2.4","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.2.4","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"af13baea3ee6105c812a5e63ba6c9d4e97d9d714","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.2.4.tgz","fileCount":5,"integrity":"sha512-y7L8DY47PFHt7TLv+jTgfg9mmmvIUKDA51fZx2gopJQ6GzBXAKDKkplqwkABb19mMJ+vw6EHelVpWDpyv6kCbA==","signatures":[{"sig":"MEQCHzt8IyjnXFeefiVihopQqJSuvzjmcLBW0IWNBaZ+NNwCIQCPS1+nnJsAzoT2hvBdufC/LjpDGGruGTjfGfHvM4NL6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250450},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"f710a3c08b23458704ab6ad763581360621cb599","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.2.4_1785384444639_0.43574853052266205","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"dynamic-table-vue2-element","version":"1.2.5","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.2.5","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"ad92f713be09f069af4b3bdd26571c83a455bd59","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.2.5.tgz","fileCount":5,"integrity":"sha512-0TQQasncZAk1UvSO7NhbhtEYar4uz5jE/NTi6RPxJcGUy3LbKR+uRgUwUKsv/0lKM6ybTAWC5bEcri++ekouhQ==","signatures":[{"sig":"MEYCIQD/DMSuUcUVucINlb5U8DYsurATYT/LqBoce+58xU3EDwIhAMpOAvrOJWY+ZbFmpyukaUTL7OYI4C+LIpBVUQWboLxy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256761},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"4999cb4f45b4be46755fbd2e458222874de22463","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.2.5_1785406904901_0.9282515672389844","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"dynamic-table-vue2-element","version":"1.2.6","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.2.6","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"2c7f10a788785a857b5a968acc44f9dd81934e28","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.2.6.tgz","fileCount":5,"integrity":"sha512-CT5TwsoLyyhGNrbwzkypGwSG+8lyOs9NWvAPuJCMriuTfZDpQ5X/9o8X/IFmO44dwBif6N7PpYdgnTMWTv0kXA==","signatures":[{"sig":"MEUCICR7gbGds6ucywsBt4YwGV+iLA3RTAPkH06jTR6+itQBAiEAsmt2oBf4DWF4P/nL56ipQrFs0aLibiCmtrgAbHjZBQE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":259783},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"dd5d2798def905e0748087570af53d8963fad9f3","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.2.6_1785742492405_0.49112509488743017","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"dynamic-table-vue2-element","version":"1.2.7","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.2.7","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"60c9eb099ce02dd1d2d384c65e5e36f8696dd6c3","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.2.7.tgz","fileCount":5,"integrity":"sha512-+hnlyC9Zmd5dkI/z3YV+y2ghQBaOQ+ZllWw2bRh1oYAmGddJCWDsbOWGv2IaYmz7zWntc8AxzwEdQmZ1/fu6YA==","signatures":[{"sig":"MEUCIF8giuwuGSc3tN44y4DRmAI/rPqkazJIfulOSzpt7LEjAiEA5zRrwVzC8MBX024LpHS6BsxVS1JZzicqLnZpmZ/5rQQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256161},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"51dae1a87f38be3808d1931e9b3a65288bafb79f","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.2.7_1785743836278_0.441670814362775","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"dynamic-table-vue2-element","version":"1.2.8","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.2.8","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"06df848e3de52706cfb05bf14bf634f0b6db8db6","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.2.8.tgz","fileCount":5,"integrity":"sha512-8eNWN5lO8SnE35XBXj9g9aUwo55qtxnDb7LPSmQqs9Wm21lSSKl2nUDnZqJk+2l+/xUVDTCcj5BUDucNJdQnOQ==","signatures":[{"sig":"MEUCIC1Cp9dzsOCNaML3QwoA7HvRxzI299TqSrrOSMeLDPKVAiEAvwBCYgRUpam0e5U+dbRRt6NIUbiJxgDsvmIN0EqyDsk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256713},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"7959d010f96c638ed70b12d27b95dff9a4d282ec","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.2.8_1785811148635_0.5118038016838631","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"dynamic-table-vue2-element","version":"1.2.9","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.2.9","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"4be3f7e8c28fa6c3ecaae3d716b800c8759a8703","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.2.9.tgz","fileCount":5,"integrity":"sha512-M00Gr38HiFA7wGZPVzv+yCHs6uInCLpheuiB9uwfi98QTRrUvPcdv3t2v53ekOg/aOGbgiKxMncu2Hb2kIPh6g==","signatures":[{"sig":"MEQCIHZCY5rrNaMGiF8QQC3aHyzFN7yM9Wpr/0tDIvVATS2NAiASQfDxrUIiQSbATn7F9b96JQBxikMwgRX/5q9+7IC93w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256585},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"0674203c8c6933c3199f31cf33fc74def94f1f22","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.2.9_1785811561133_0.5896646857221841","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"dynamic-table-vue2-element","version":"1.3.2","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.3.2","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"26c72575ca9f8be9224b5b46a3b8fc026fb126e2","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.3.2.tgz","fileCount":5,"integrity":"sha512-hLH6VmIYI/OiIKNd92HaozBdIHK2sDFH3COrPVxWIlQmJfxxsMEJT1GoLVK8FQfgj1cyQRb1wCt5v5JFVvIeUg==","signatures":[{"sig":"MEUCIQDQ6UgmXVyvUgU7S4fTPkUnQEppn+m/8mCXjLEBVdNeuwIgNtrjKaeQboomXHgXG9Mqv9gcA4R6KGQZA0Io1dr8hl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270293},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"cdff285add2d23e388d0787db10084ca41924361","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.3.2_1785828560558_0.397082999345969","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"dynamic-table-vue2-element","version":"1.3.3","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.3.3","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"83cb5e040310049a3b48be9f68911b5bc22462b7","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.3.3.tgz","fileCount":5,"integrity":"sha512-TxURWGoXkU6Il3Q5f+ZFJ/HfPrfev7DvBDrI1eJxwQocHj0hrzX7Ds9zKYMykv2nUECX0tO8cn3b8un+3Od2yA==","signatures":[{"sig":"MEYCIQDTtFhoXyJ2BE04JOCGvVDKoPnK/tc37Hte5+kliR8NdgIhAI5bVt8VIii+joXpwdzpfDimuDPOY8NBAxyO+sr2VtE2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266094},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"5873fa001d2e14f42be1c6f7b5b51f40bb4559ac","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.3.3_1785829401375_0.25601115044003864","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"dynamic-table-vue2-element","version":"1.3.4","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.3.4","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"dc336c97546635a57614b10936d401af89f52cbe","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.3.4.tgz","fileCount":5,"integrity":"sha512-D2VaDpAfbZb5gmxju6/H/f+w+SqjoqWWWxQDRo/IoY43uJBGpYtAPPrqpRSnmApe9hjq/yqGz3O7gaAJ17vH6Q==","signatures":[{"sig":"MEUCIQCEqY89vjW8T33Wv66/E21UZqGw+tRqZmPOoMu4nHMVogIgbeNNMglv8kJo4Te3J9+0uMhafzPPsMf9n2Ev2EAwRbQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266080},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"d1af8cef4739499d1ef42ce9a249c1e816ede287","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.3.4_1785999053376_0.8711485102675405","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"dynamic-table-vue2-element","version":"1.4.0","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.4.0","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"87c7afce5fcd33594716b53a38a4db5b2be7fd0e","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.4.0.tgz","fileCount":5,"integrity":"sha512-TReXPVNyNHIBx0jZ0DMJZO237VwgTbRvvAPQSNUGrnuBfSG0N9HpiapzovhHOpeZ4ByZ8YUSIWDqD5BsBWbW2w==","signatures":[{"sig":"MEUCIGjjxJKSLizEwA0QgQKD7NjjXjSVeRYllMrbAf9Ysq/lAiEAkA4V0nBG/3g41Oi8B3463NptVfsyQgZ/rZkIW75odCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288560},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"77d9573ed269c6b06e585c3f5ba9257772a8544a","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.4.0_1786080058130_0.13529132828793777","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"dynamic-table-vue2-element","version":"1.4.2","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.4.2","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"ca0f1ab4645314722a3ac72868a266fdd5bb4a83","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.4.2.tgz","fileCount":5,"integrity":"sha512-9NWOIkley0bEW5SqMCtUvCA3IIHT9YloH0j57eau4K7USq5zMQy5fSNoVHMr4sXtDjqzqVp0m5G82giiikyT1Q==","signatures":[{"sig":"MEUCIC/8uDvWU1MPLSYxXgQSZO/Ej9k2rFRndnuyFoLcydXhAiEA+PsU+g78Ab2DzAAshUeZQgId/Y4lT5U75uIL0bCc2OA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288380},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"d3f082fa9c3f780c38673e535983098c35a475a3","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.4.2_1786334738833_0.012138116665773246","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"dynamic-table-vue2-element","version":"1.5.0","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.5.0","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"3a7cf92eff233173e62eb3c9324b60a75045812b","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.5.0.tgz","fileCount":5,"integrity":"sha512-nUPrJlDsWhv4A45+ftXQv4QsKvw0WwOW1iPz0QaG3rToAK6p7A/o8ExiLDllX3Ru0Tl5UQj0Zc3k8Xocq22s/A==","signatures":[{"sig":"MEUCIAswwo1PBJbGVsnWsVlWzoskyYuEw3UKjMhr6S4z+z6WAiEAobHL+2g0gzLmogdWX7Pa4oqWs0l0eofSSsKObNiHMBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295847},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"dd8f4aed482f569b63f12affa8825786c0266205","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.5.0_1786454812116_0.7102809319998378","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"dynamic-table-vue2-element","version":"1.5.1","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.5.1","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"88aeb7f681496b4aeaba1280beb9e46457cf3193","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.5.1.tgz","fileCount":5,"integrity":"sha512-reYvi4pE8/Dj9YDmeshjjjgxEoUAb9F/EOUJGuHqSpbSOPMYUvi5e/X6IePjtEd0iBRD6DJax0nbGWqbINnwCA==","signatures":[{"sig":"MEUCIQD65FpOvQT9gBpS5iu24+MRjWR4B1btjo285Cs9wgqP/AIgVxal7c07SAC2gMNQZcHM01rm+revtdliSvBZ5UBOqDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295899},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"ad6dfcf0ac26973c843e2bcfbe7b9b32e22e270f","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.5.1_1786454968595_0.27687307209972456","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"dynamic-table-vue2-element","version":"1.5.2","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.5.2","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"6afcac168ad6ee80f4e24809e8d21312f8ac6620","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.5.2.tgz","fileCount":5,"integrity":"sha512-2q5BHBF0SLpe5qT0FHEwf3Ydv41p7A7GDw03gNWvxzsS7suWCpQ/PCW47nZIP7wIPnMdt+MUn4357r2PeDPz1g==","signatures":[{"sig":"MEUCIQCxHWuCsNFWf7J8qyLCqaw9CBVxKz/2xvCYnTUXFhzr2gIgeGvxKi9X6VZA3OGnFzq3GTC6wf8ZMDjH5l2gp6jQ3zM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297785},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"e5940d350734e67b931264d47f6751e86e58b04f","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.5.2_1786510957546_0.3990130514325474","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"dynamic-table-vue2-element","version":"1.5.3","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.5.3","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"1dc30d9e78aa0cd35f465737453fea235cf0525e","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.5.3.tgz","fileCount":5,"integrity":"sha512-AMVBvVFO4tKnK5i9G6mK2pz/x9ocGYOO6OfLnA7QGz2T6mFDv2ybqAULEusMycjOQlCpZ6un+R6ytisJUL283w==","signatures":[{"sig":"MEQCIHsnEUdPvh/YxGfIrsPSMYlL3WrOeWhJmpEBxJ3vXiB9AiAfNdW0KXFLNC552M3xx2Qi7E7f8JNx4/r/EN5NaYb2UA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298419},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"566c8f621f19b0effec70f34b015310c251f3a04","scripts":{"build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.5.3_1786551731534_0.7306977060412714","host":"s3://npm-registry-packages-npm-production"}},"1.5.4":{"name":"dynamic-table-vue2-element","version":"1.5.4","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.5.4","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"b4c53678a02073e6859a0c72130e51e4aae93b3a","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.5.4.tgz","fileCount":5,"integrity":"sha512-KXGm9wJsK5yAba5tqu3Cs7JKM9Fbl06IuItV2fBgNbVQf45Hf5UsrZa5MzPrcT8r9WMXs/aB5Ng3TcCPq2vP/g==","signatures":[{"sig":"MEQCIBC/8RJCNldlEzEfBlfeGZlX4z8iAPrRlI70NprPVxX1AiAhUUjIDV5rE5CiWvkvjlDjJEx/1tVSLlcVtt/Xi6KTyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":302596},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"f2084edc2751a6a58cf5f7a5b98f8452182e3e45","scripts":{"push":"npm publish ","build":"vue-cli-service build","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.5.4_1787041798360_0.1179451800016551","host":"s3://npm-registry-packages-npm-production"}},"1.5.5":{"name":"dynamic-table-vue2-element","version":"1.5.5","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.5.5","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"7e7a8c369e6d4b925587c386ec664d60764159b8","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.5.5.tgz","fileCount":5,"integrity":"sha512-sOP12RRZUe+6WxtiLwQDyOB0VjLk6bVG9G7gyma9WFDoHg2WAvungGUtRTGwIloPYpN/x4fJd58mEhjFM2j+1w==","signatures":[{"sig":"MEUCIA0911YpNNGTMFuGl9h7nSmSq6VD0yVoUbh5JB4ka0CGAiEAofAqfveHViIC5MJaW2ahPPHbnW87DG5wlL8mgPRno3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301796},"main":"lib/dynamic-table.umd.js","module":"lib/dynamic-table.esm.js","gitHead":"f03e1a52224278104b576641c437c69477d5b748","scripts":{"push":"npm publish ","build":"vue-cli-service build","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.5.5_1787232955500_0.4651657271085836","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"dynamic-table-vue2-element","version":"1.8.0","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.8.0","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"4bcb8725872dcaaa8555689c7ecbdb77ae5f21ae","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.8.0.tgz","fileCount":6,"integrity":"sha512-OrAMQBDMx1Iuq0FtV9Pkv/D3XhUjRrrJ7Uub3EtLj6s8kQuBbHJVV89QWiS6OE1X3m4kXB75C4ZCDOS54Dr3cQ==","signatures":[{"sig":"MEUCIQC+R+L3c/VYnelilJuK18z5+6jeqidySY+qxfVtwtrSIQIgefgpsdO+myeoKmVm+dH/CzJIBUkHrG6tTP7nsQALu1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":370042},"main":"lib/dynamic-table.umd.js","types":"types/index.d.ts","module":"lib/dynamic-table.esm.js","gitHead":"6e1687fa13da88d14ce51d6eb400046fe7a0fe80","scripts":{"push":"npm publish ","test":"node --test tests/*.test.mjs","build":"vue-cli-service build","check":"npm test && npm run build:lib","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c","prepublishOnly":"npm test && npm run build:lib:prod"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.8.0_1787985821749_0.1483975315432835","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"dynamic-table-vue2-element","version":"1.8.1","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.8.1","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"499664891f271be94fadfc020d160338ccca635d","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.8.1.tgz","fileCount":6,"integrity":"sha512-X+r6lbLaVoR9+lUUEAOBmTzKyzFcXODujld1tY5b4BNJsheSwY8+IvdGJmTZZfgWiNf0TpghUiZP7KDTGRT0vw==","signatures":[{"sig":"MEQCIGk6Gi0qK8Tit2FHF7YNDjHuOk8yxh7+3Kst/zszbM5EAiBisZzM0tOzgFns7Eb5qSCTMMvmD/j5utT1nnW6oWYeew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378153},"main":"lib/dynamic-table.umd.js","types":"types/index.d.ts","module":"lib/dynamic-table.esm.js","gitHead":"d5b6fa659209eaab9fe1ff996dee70d3ec726703","scripts":{"push":"npm publish ","test":"node --test tests/*.test.mjs","build":"vue-cli-service build","check":"npm test && npm run build:lib","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c","prepublishOnly":"npm test && npm run build:lib:prod"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.8.1_1788143938157_0.26946631815106903","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"dynamic-table-vue2-element","version":"1.8.2","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.8.2","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"b1f8fc2ab2e2e3ffa4cc9b908c60a67ec86a0fc6","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.8.2.tgz","fileCount":6,"integrity":"sha512-F8oNOqON5fOlb5IVUomNeNMlSyKv59MsUPmMCly6JX3byIfXmtLWOJCuXcmMW/4aH7UagGHdFR2VHVifP5yrxQ==","signatures":[{"sig":"MEUCIACAz1ljrZyYce7z3GKAAH4Id13fstDEGAa5/hcjdVDzAiEA+Gqa/M6p/tsgNzMoFJx6mLPm4X9vT6rG+HJtqpYOxac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378639},"main":"lib/dynamic-table.umd.js","types":"types/index.d.ts","module":"lib/dynamic-table.esm.js","gitHead":"4d7b123ad3d4143dfea253decb0a77ddaad3bf61","scripts":{"push":"npm publish ","test":"node --test tests/*.test.mjs","build":"vue-cli-service build","check":"npm test && npm run build:lib","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c","prepublishOnly":"npm test && npm run build:lib:prod"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.8.2_1788156969306_0.6884913351287181","host":"s3://npm-registry-packages-npm-production"}},"1.8.3":{"name":"dynamic-table-vue2-element","version":"1.8.3","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.8.3","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"183f90935c24c88ae3e0ce6e92935f0f69ffd99b","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.8.3.tgz","fileCount":6,"integrity":"sha512-KAxbmQfsWkQuSz5oB6vGKOprDnMp82gO3jR6I+CtrMW3HH+0oSTUwLB//EwbVdWSm5V27eDOVPevV7Y4BpgkQQ==","signatures":[{"sig":"MEUCIQDFQpdSlQtD136ikY/UK1ATDLdJO0bXab8hPP5aV2GOngIgboKMR5/eNwJFUattyBnIf6+AbMtM5QevghczQ61OUG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":378553},"main":"lib/dynamic-table.umd.js","types":"types/index.d.ts","module":"lib/dynamic-table.esm.js","gitHead":"4b31b9094cdac4458f4482333d0f6fc333e8ad69","scripts":{"push":"npm publish ","test":"node --test tests/*.test.mjs","build":"vue-cli-service build","check":"npm test && npm run build:lib","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c","prepublishOnly":"npm test && npm run build:lib:prod"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.8.3_1788158226400_0.8998782868735209","host":"s3://npm-registry-packages-npm-production"}},"1.8.4":{"name":"dynamic-table-vue2-element","version":"1.8.4","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.8.4","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"1cb031f3dda0c3f88231be7f4089c83f54674ebf","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.8.4.tgz","fileCount":6,"integrity":"sha512-rTt9U6ral2retXZIlxmTXf/h0rd1UN6mpgm0NrZml4R67R75GF8QqUbdTzocF2sWKkQ3Ue4fSBYV3pZAd5T1uw==","signatures":[{"sig":"MEYCIQCU2IXqoMJI0m5TVL4Vk0NofFQ/wtPqlCAQ+1bGvMfdeQIhAMZdLg42HrApyCa3gUDjd7DtiKi6IODlZCW3/PC7dxBE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379117},"main":"lib/dynamic-table.umd.js","types":"types/index.d.ts","module":"lib/dynamic-table.esm.js","gitHead":"b0892cb4eff497a2638304abbb6eac2d3bba6494","scripts":{"push":"npm publish ","test":"node --test tests/*.test.mjs","build":"vue-cli-service build","check":"npm test && npm run build:lib","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c","prepublishOnly":"npm test && npm run build:lib:prod"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.8.4_1788159228009_0.04119519458108756","host":"s3://npm-registry-packages-npm-production"}},"1.8.5":{"name":"dynamic-table-vue2-element","version":"1.8.5","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.8.5","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"56d70787dd74f10755a6909f3193af6a98e09ce9","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.8.5.tgz","fileCount":6,"integrity":"sha512-coF9GFtJugViTsRlMk/5o4b9Ypi+7am4uiuC7ATES+lq7uLPghgHYfja//3em5n89CwMogVCNpQ8dHWno7p8XQ==","signatures":[{"sig":"MEYCIQCNjO4kNNKjhQ5m2NVIDFz43+6EEr16E82Tl0NM0t9WGAIhAMLogYtekNMSazaEeXzUflH6v4MPsgJQa0pyhirCKsZp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":379092},"main":"lib/dynamic-table.umd.js","types":"types/index.d.ts","module":"lib/dynamic-table.esm.js","gitHead":"ba2540c7f55af760d6b718df9945d3e87520bc8e","scripts":{"push":"npm publish ","test":"node --test tests/*.test.mjs","build":"vue-cli-service build","check":"npm test && npm run build:lib","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c","prepublishOnly":"npm test && npm run build:lib:prod"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.8.5_1788161860138_0.3726246813931986","host":"s3://npm-registry-packages-npm-production"}},"1.8.6":{"name":"dynamic-table-vue2-element","version":"1.8.6","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.8.6","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"1a4326118846562f9be1d2f624423a8af89891c7","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.8.6.tgz","fileCount":6,"integrity":"sha512-Es8FZLgvKJAfOMs2qfrDNBRzdaHvxwcZbXK+MoSqa7h02pTSvkln4V5iDtRz51CfPLnir/w72L4BiMFzLYpJmw==","signatures":[{"sig":"MEUCIQDgVtQJ+s136HTHEOx2YmLn/dEue7JqM2clqx98Knz85gIgc9dsnD4zoF9NeB/NLKn4YszfsLPcqITEQtgsfkOR37o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380764},"main":"lib/dynamic-table.umd.js","types":"types/index.d.ts","module":"lib/dynamic-table.esm.js","gitHead":"68628de3996ed5f90b1126b2e42490f5e3831332","scripts":{"push":"npm publish ","test":"node --test tests/*.test.mjs","build":"vue-cli-service build","check":"npm test && npm run build:lib","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c","prepublishOnly":"npm test && npm run build:lib:prod"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.8.6_1788268053223_0.8360440739208372","host":"s3://npm-registry-packages-npm-production"}},"1.8.7":{"name":"dynamic-table-vue2-element","version":"1.8.7","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.8.7","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"70bcfdd9d00a40e0cd44939f9f2f3c6c965e2e5e","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.8.7.tgz","fileCount":6,"integrity":"sha512-HIp1cTzc1CssXzob40+rwiKcVpG8R1Z2m/PtVGCji/DPAe8bMaqC0Fo2cRLObNQIK3BXc9xIih2A42fH84pX9A==","signatures":[{"sig":"MEUCIQDgvXFaKxMqlniyyMAnmH06cyY1FEgUfxc2X6VliWx1OQIgUnbRerQq5hCD8EGjmKq5q7GHhm6K9h3ndoEkPsfZUcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCtZtUlSY8UqOKkGRIkKjVPxLf/6/6TGQ6AHUT6FWUaTwIgNDgarFsrytmHWom53dafpd9slUxhrqrFftWStBy7ccs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":381688},"main":"lib/dynamic-table.umd.js","types":"types/index.d.ts","module":"lib/dynamic-table.esm.js","gitHead":"68628de3996ed5f90b1126b2e42490f5e3831332","scripts":{"push":"npm publish ","test":"node --test tests/*.test.mjs","build":"vue-cli-service build","check":"npm test && npm run build:lib","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c","prepublishOnly":"npm test && npm run build:lib:prod"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.8.7_1789099464998_0.2868826685270407","host":"s3://npm-registry-packages-npm-production"}},"1.8.8":{"name":"dynamic-table-vue2-element","version":"1.8.8","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.8.8","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"d02b940e32db3e90687144f544216d3f8f4f9aea","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.8.8.tgz","fileCount":6,"integrity":"sha512-Zz6iXt0k/2AS0gUAp3IB/wWHdjStU/LrHDAil5F/0MfSrVuHo8eP7TA3Y5kDETbk5QiFaPcUWTXeCBDGCtScTA==","signatures":[{"sig":"MEUCIBCoSaigWXQg4pLIusI5+Q6aquG7A0dogO61RiinOJ2uAiEAgGyDp3AIvKeRw0lDPMkPUGdpmRfb5dihDaqC7aZC6wM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEZk9IwymhvGuM3nq6HZ6u2lm/ZC7gywe8UO5C5ytIotAiAPrMd1lhpq27JVx6Cw/bQhtlMp1iVCqidO5d+Ixq672g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":387378},"main":"lib/dynamic-table.umd.js","types":"types/index.d.ts","module":"lib/dynamic-table.esm.js","gitHead":"af9761b5613c79b2f000c4f7dd93a96d5cb583cb","scripts":{"push":"npm publish ","test":"node --test tests/*.test.mjs","build":"vue-cli-service build","check":"npm test && npm run build:lib","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c","prepublishOnly":"npm test && npm run build:lib:prod"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.8.8_1789441777447_0.06826450704322373","host":"s3://npm-registry-packages-npm-production"}},"1.8.9":{"name":"dynamic-table-vue2-element","version":"1.8.9","keywords":["vue2","element-ui","dynamic-table","table-config"],"license":"MIT","_id":"dynamic-table-vue2-element@1.8.9","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"dist":{"shasum":"1027032130c5889ed815f1999d7fabd67b1da406","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.8.9.tgz","fileCount":6,"integrity":"sha512-Vs0uruDZ15fNxI7dmWmCXHfvPzAXt1y/CJejMPVBf6xCpaVy+AsKKlFIuPYv4h0DFwVnCKntc4BSDjbdAUPLoQ==","signatures":[{"sig":"MEUCIQDEII8GnuUAPZQ6fKBvGqMo+aPQaoPQS0wc4yDZbY+RfwIgGXkcpYOrf5xgfRZTbObO1JdG53jQgpSxR/fN1p0quSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA5aI+WHUOXS31QOZb3mCW9iv+BXk/21fyX8yByw6CSfAiAlV3k/058ZR449T53zg5JslljX+2tBsX1yiJYWFpHF5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":422653},"main":"lib/dynamic-table.umd.js","types":"types/index.d.ts","module":"lib/dynamic-table.esm.js","gitHead":"7ee5e054e74b5e74fae2123229f004522007a4b3","scripts":{"push":"npm publish ","test":"node --test tests/*.test.mjs","build":"vue-cli-service build","check":"npm test && npm run build:lib","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c","prepublishOnly":"npm test && npm run build:lib:prod"},"_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"tmp":"tmp/dynamic-table-vue2-element_1.8.9_1789444880220_0.34251007457082094","host":"s3://npm-registry-packages-npm-production"}},"1.8.10":{"_id":"dynamic-table-vue2-element@1.8.10","dist":{"shasum":"3438d70235737c1807ff83a0dacb13117259ba6e","tarball":"https://registry.npmjs.org/dynamic-table-vue2-element/-/dynamic-table-vue2-element-1.8.10.tgz","fileCount":6,"integrity":"sha512-jeiUkbqOwlWQcPMjAsfvLZJ+5CDKyxE+teXuYbpJULPgGUijZ/QXjdrJ5GdOAABAEeFfIqPRbg7o7qIq6umwZA==","signatures":[{"sig":"MEUCIQCZRp88N9JNeQt0j19hovAKHZzpxxKgdk/YdWrmCmE1ggIgN+ldahQpvjr47mQlOr4Eea7NfwJRdsFelwC3N6YqryE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDDoKEhuUSj+s6NM/EMDtKSksFaWlGp+vnLES35PHRfcgIgC8iJFpP5ZkV+1HVZnO93EGUaAM2J9Jbt1DmG71a2l4E="}],"unpackedSize":425841},"main":"lib/dynamic-table.umd.js","name":"dynamic-table-vue2-element","types":"types/index.d.ts","module":"lib/dynamic-table.esm.js","gitHead":"7ee5e054e74b5e74fae2123229f004522007a4b3","license":"MIT","scripts":{"push":"npm publish ","test":"node --test tests/*.test.mjs","build":"vue-cli-service build","check":"npm test && npm run build:lib","login":"npm login ","serve":"vue-cli-service serve","build:lib":"rollup -c","build:npm":"npm run build:lib:prod","build:lib:prod":"NODE_ENV=production rollup -c","prepublishOnly":"npm test && npm run build:lib:prod"},"version":"1.8.10","_npmUser":{"name":"dazongguan","email":"3157861148@qq.com"},"keywords":["vue2","element-ui","dynamic-table","table-config"],"_npmVersion":"10.9.8","description":"基于 Vue2 + Element UI 的动态配置表格组件","directories":{},"maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"_nodeVersion":"22.23.1","dependencies":{},"publishConfig":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.7.16","axios":"^1.7.2","rollup":"^3.29.5","cssnano":"^6.0.1","element-ui":"^2.15.14","sortablejs":"^1.15.2","vue-router":"^3.6.5","@babel/core":"^7.24.0","autoprefixer":"^10.5.4","vuedraggable":"^2.24.3","@vue/cli-service":"^5.0.8","@babel/preset-env":"^7.24.0","rollup-plugin-vue":"^5.1.9","@rollup/plugin-babel":"^6.0.4","rollup-plugin-postcss":"^4.0.2","vue-template-compiler":"^2.7.16","@rollup/plugin-commonjs":"^25.0.7","@rollup/plugin-node-resolve":"^15.2.3"},"peerDependencies":{"vue":"^2.6.0","element-ui":"^2.15.0","vuedraggable":"^2.24.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dynamic-table-vue2-element_1.8.10_1789627020442_0.05187739854191853"}}},"time":{"created":"2026-07-18T10:58:56.551Z","modified":"2026-09-17T06:37:00.728Z","1.0.0":"2026-07-18T10:58:56.723Z","1.0.1":"2026-07-18T12:23:04.803Z","1.0.2":"2026-07-18T14:26:48.108Z","1.0.3":"2026-07-18T14:41:42.502Z","1.1.0":"2026-07-18T17:35:12.613Z","1.1.1":"2026-07-19T05:17:14.387Z","1.1.3":"2026-07-19T05:49:36.552Z","1.1.4":"2026-07-19T06:18:34.416Z","1.1.5":"2026-07-19T09:30:11.309Z","1.1.6":"2026-07-19T09:57:51.327Z","1.1.7":"2026-07-19T12:38:28.128Z","1.1.8":"2026-07-22T03:52:22.699Z","1.1.9":"2026-07-22T05:26:29.484Z","1.1.10":"2026-07-22T05:52:07.086Z","1.2.0":"2026-07-22T08:31:52.274Z","1.2.1":"2026-07-23T05:03:21.966Z","1.2.3":"2026-07-30T03:50:02.465Z","1.2.4":"2026-07-30T04:07:24.788Z","1.2.5":"2026-07-30T10:21:45.045Z","1.2.6":"2026-08-03T07:34:52.551Z","1.2.7":"2026-08-03T07:57:16.416Z","1.2.8":"2026-08-04T02:39:08.816Z","1.2.9":"2026-08-04T02:46:01.295Z","1.3.2":"2026-08-04T07:29:20.878Z","1.3.3":"2026-08-04T07:43:21.512Z","1.3.4":"2026-08-06T06:50:53.534Z","1.4.0":"2026-08-07T05:20:58.274Z","1.4.2":"2026-08-10T04:05:39.157Z","1.5.0":"2026-08-11T13:26:52.341Z","1.5.1":"2026-08-11T13:29:28.742Z","1.5.2":"2026-08-12T05:02:37.688Z","1.5.3":"2026-08-12T16:22:11.688Z","1.5.4":"2026-08-18T08:29:58.563Z","1.5.5":"2026-08-20T13:35:55.658Z","1.8.0":"2026-08-29T06:43:41.920Z","1.8.1":"2026-08-31T02:38:58.313Z","1.8.2":"2026-08-31T06:16:09.491Z","1.8.3":"2026-08-31T06:37:06.524Z","1.8.4":"2026-08-31T06:53:48.134Z","1.8.5":"2026-08-31T07:37:40.344Z","1.8.6":"2026-09-01T13:07:33.409Z","1.8.7":"2026-09-11T04:04:25.135Z","1.8.8":"2026-09-15T03:09:37.564Z","1.8.9":"2026-09-15T04:01:20.362Z","1.8.10":"2026-09-17T06:37:00.564Z"},"license":"MIT","keywords":["vue2","element-ui","dynamic-table","table-config"],"description":"基于 Vue2 + Element UI 的动态配置表格组件","maintainers":[{"name":"dazongguan","email":"3157861148@qq.com"}],"readme":"# dynamic-table-vue2-element\n\n基于 Vue2 + Element UI 的动态配置表格组件，支持动态列配置、冻结列（左右可选）、筛选、排序、分页、筛选方案保存、金额格式化、可配置操作列等功能。\n\n## 安装\n\n```bash\nnpm install dynamic-table-vue2-element\n```\n\n### 前置依赖\n\n确保项目中已安装以下依赖：\n\n```bash\nnpm install vue@^2.6.0 element-ui@^2.15.0 vuedraggable@^2.24.0\n```\n\n## 引入\n\n### 全局注册\n\n```js\nimport Vue from 'vue'\nimport ElementUI from 'element-ui'\nimport 'element-ui/lib/theme-chalk/index.css'\nimport DynamicTable from 'dynamic-table-vue2-element'\nimport 'dynamic-table-vue2-element/lib/dynamic-table.css'\n\nVue.use(ElementUI)\nVue.use(DynamicTable)\n```\n\n### 按需引入\n\n```js\nimport DynamicTable from 'dynamic-table-vue2-element'\nimport 'dynamic-table-vue2-element/lib/dynamic-table.css'\n\nexport default {\n  components: { DynamicTable }\n}\n```\n\n> 组件包还具名导出了 `useTableConfig`、`useFilter` 两个内部 mixin（组件本身已集成，一般无需单独引入），供有定制需求的场景复用。\n\n## 基础用法\n\n```vue\n<template>\n  <dynamic-table\n    menu-id=\"M001\"\n    :field-meta-list=\"fieldMetaList\"\n    :fetch-data-fn=\"fetchDataFn\"\n    :export-data-fn=\"exportDataFn\"\n    export-file-name=\"用户数据\"\n    :load-config-fn=\"loadConfigFn\"\n    :save-config-fn=\"saveConfigFn\"\n    row-key=\"id\"\n    @selection-change=\"handleSelectionChange\"\n    @row-action=\"handleRowAction\"\n  >\n    <template #toolbar-left>\n      <el-button type=\"primary\" icon=\"el-icon-plus\" size=\"small\">新增</el-button>\n    </template>\n\n    <template #column-status=\"{ row }\">\n      <el-tag :type=\"row.status === 1 ? 'success' : 'danger'\" size=\"mini\">\n        {{ row.status === 1 ? '启用' : '禁用' }}\n      </el-tag>\n    </template>\n  </dynamic-table>\n</template>\n\n<script>\nimport { fetchUserList, exportUserList, getTableConfig, saveTableConfig } from '@/api/table'\n\nexport default {\n  data() {\n    return {\n      fieldMetaList: [\n        { fieldKey: '__selection', fieldLabel: '选择框', fieldType: 'selection', width: 50 },\n        { fieldKey: '__index', fieldLabel: '序号', fieldType: 'index', width: 50 },\n        { fieldKey: 'username', fieldLabel: '用户名', fieldType: 'string', filterable: true, sortable: true, width: 120, align: 'left' },\n        { fieldKey: 'age', fieldLabel: '年龄', fieldType: 'number', filterable: true, sortable: true, width: 80, align: 'center' },\n        { fieldKey: 'status', fieldLabel: '状态', fieldType: 'enum', filterable: true, sortable: true, filterMultiple: false, width: 100, align: 'center',\n          enumValues: [{ label: '启用', value: 1 }, { label: '禁用', value: 0 }]\n        },\n        { fieldKey: 'birthday', fieldLabel: '生日', fieldType: 'date', filterable: true, sortable: true, width: 120, align: 'center' },\n        { fieldKey: 'salary', fieldLabel: '薪资', fieldType: 'currency', filterable: true, sortable: true, width: 130, align: 'right' },\n        { fieldKey: 'department', fieldLabel: '部门', fieldType: 'string', filterable: true, sortable: true, width: 120, align: 'center',\n          enumValues: { '001': '技术部', '002': '市场部', '003': '人事部' }\n        },\n        { fieldKey: 'createTime', fieldLabel: '创建时间', fieldType: 'date', filterable: true, sortable: true, width: 170, align: 'center' },\n        { fieldKey: '__actions', fieldLabel: '操作', fieldType: 'actions', width: 150, actions: [\n          { label: '查看', action: 'view', icon: 'el-icon-view' },\n          { label: '编辑', action: 'edit', type: 'primary', icon: 'el-icon-edit' },\n          { label: '删除', action: 'delete', type: 'danger', icon: 'el-icon-delete' }\n        ]}\n      ]\n    }\n  },\n  methods: {\n    fetchDataFn(params) {\n      return fetchUserList(params)\n    },\n    exportDataFn(params) {\n      return exportUserList(params)\n    },\n    loadConfigFn(menuId) {\n      return getTableConfig(menuId)\n    },\n    saveConfigFn(config) {\n      return saveTableConfig(config)\n    },\n    handleSelectionChange(selection) {\n      console.log('选中行:', selection)\n    },\n    handleRowAction({ action, row }) {\n      if (action === 'view') console.log('查看:', row)\n      if (action === 'edit') console.log('编辑:', row)\n      if (action === 'delete') console.log('删除:', row)\n    }\n  }\n}\n</script>\n```\n\n## API\n\n### 协议与兼容原则（必读）\n\n以下规则以组件实际传给回调函数的参数为准，页面和后端不要再各自推断或重新组装协议：\n\n1. **分页参数默认使用 `page`、`pageSize`。** 新接口应直接接收这两个默认字段。已有接口无需为了接入组件而改造：如果后端已经使用 `pageNum` 或其他字段名，通过 `pageParamName`、`pageSizeParamName` 配置组件即可。配置后，该名称就是组件实际输出的协议，后端必须按该名称接收。\n2. **`fetchDataFn` 应原样透传组件参数。** 不要在页面内把 `page` 改成 `pageNum`，也不要把 `filters` 再包一层；参数名适配应通过组件 Props 完成。\n3. **筛选结构必须按字段类型处理。** 文本/数值使用 `{ operator, value }`，区间使用 `{ range }`，单个日期或未转换的单月使用 `{ value }`，枚举和布尔使用标量或数组。后端不能把 `{ value }` 当作无效格式。\n4. **操作符语义不可混用。** `eq` 是精确等于，`contains` 才是包含；文本字段只是默认选择 `contains`，不代表 `eq` 也按模糊查询处理。\n5. **全量导出默认使用组件内置 `exportDataFn`。** 组件负责提交当前可见导出字段、字段顺序、合并后的筛选条件和排序条件，后端负责查询全部匹配数据并生成文件。业务可以通过 `toolbar-left` 另行实现特殊导出，但不要把它描述成组件默认导出协议。\n6. **业务逻辑只读取公开方法。** 业务按钮需要使用当前筛选条件时调用 `this.$refs.dynamicTable.getFilters()`；不要直接访问 `filterValues`、`columnSearchValues` 等内部状态，因为公开方法才会返回筛选面板、表头搜索和万能筛选合并后的最终请求条件。\n\n> “后端服从组件协议”指后端接收组件**最终输出**的字段名。默认输出是 `page/pageSize`；已有接口通过 Props 配置后可以继续使用原字段名，不要求存量接口改名。\n\n### Props\n\n| 参数 | 类型 | 必填 | 默认值 | 说明 |\n|------|------|------|--------|------|\n| menuId | String | 是 | - | 菜单ID，用于配置隔离 |\n| fieldMetaList | Array | 是 | - | 字段元数据列表，定义表格列（含选择框、序号、操作列等特殊列） |\n| fetchDataFn | Function | 是 | - | 数据查询函数，接收 params 参数，返回 Promise `{ list, total }` |\n| dataResponseAdapter | Function | 否 | null | 自定义列表响应转换函数，将接口响应转换为 `{ list, total }` |\n| exportDataFn | Function | 否 | null | 后端导出函数；接收当前字段、筛选和排序配置，返回 `Blob`、`{ blob, fileName }`、Axios Blob 响应或 `{ downloadUrl, fileName }` |\n| dataErrorHandler | Function | 否 | null | 分页查询失败后的统一错误处理函数；失败时列表保留上一次成功查询的数据 |\n| exportFileName | String | 否 | '表格数据' | 导出接口未返回文件名时使用的默认文件名 |\n| loadConfigFn | Function | 否 | null | 加载配置函数，接收 menuId，返回 Promise 配置对象 |\n| saveConfigFn | Function | 否 | null | 保存配置函数，接收 config 对象，返回 Promise |\n| configResponseAdapter | Function | 否 | null | 自定义配置响应转换函数，将接口响应转换为配置对象或 `null` |\n| configErrorHandler | Function | 否 | null | 配置加载失败后的统一错误处理函数 |\n| rowKey | String | 否 | 'id' | 行数据唯一标识字段 |\n| reserveSelection | Boolean | 否 | false | 是否跨分页保留勾选；开启时必须保证 `rowKey` 全局唯一 |\n| border | Boolean | 否 | true | 是否显示边框 |\n| stripe | Boolean | 否 | true | 是否斑马纹 |\n| tableHeight | String/Number | 否 | undefined | 固定表格高度，不设置则自适应（flex 布局） |\n| maxHeight | String/Number | 否 | undefined | 表格最大高度，作为 `tableHeight` 或自适应高度的上限，超出后表格内部滚动 |\n| showPagination | Boolean | 否 | true | 是否显示分页 |\n| pageSizes | Array | 否 | [10,50,100,500] | 每页条数选项；当前页面初始展示条数取其中最小值。配置界面允许 1～2000，后端允许的最大值应与业务传入的选项一致 |\n| pageSizeParamName | String | 否 | 'pageSize' | 组件传给 `fetchDataFn` 的分页大小字段名；已有后端字段不同时在此适配 |\n| pageParamName | String | 否 | 'page' | 组件传给 `fetchDataFn` 的页码字段名；已有后端使用 `pageNum` 时配置为 `pageNum` |\n| queryDebounceDelay | Number | 否 | 300 | 点击查询的防抖等待时间（毫秒）；连续触发时只执行最后一次查询 |\n| headerAlign | String | 否 | 'center' | 表头对齐方式，默认居中 |\n| actionColumnWidth | String/Number | 否 | 150 | 操作列默认宽度 |\n| defaultFilterValues | Object | 否 | {} | 筛选条件默认值 |\n| filterCacheKey | String | 否 | '' | 筛选缓存 key，优先于 menuId |\n| cacheFilters | Boolean | 否 | true | 是否将筛选条件缓存到浏览器 |\n| filterPopperAppendToBody | Boolean | 否 | true | 筛选弹层是否挂载到 body |\n| defaultVisibleFields | Array | 否 | [] | 默认展示的列字段，不传则全部展示 |\n| defaultFilterFields | Array | 否 | [] | 默认展示的筛选项字段（筛选条件项的初始化值），需为 `filterable` 的字段；用户保存过筛选配置后以用户配置为准 |\n| showSummary | Boolean | 否 | false | 是否显示合计行 |\n| showUniversalFilter | Boolean | 否 | true | 是否显示万能筛选 |\n| defaultParameterValues | Object | 否 | {} | 自定义参数的默认值；与 `parameter-config` 插槽配合使用，用户已保存的同名参数优先 |\n\n### fieldMetaList 字段定义\n\n#### 数据列\n\n| 属性 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| fieldKey | String | 是 | 字段唯一标识 |\n| fieldLabel | String | 是 | 字段显示名称 |\n| fieldType | String | 是 | 字段类型：`string` / `number` / `enum` / `date` / `boolean` / `currency` |\n| filterable | Boolean | 否 | 是否可筛选 |\n| sortable | Boolean | 否 | 是否可排序 |\n| width | Number | 否 | 列最小宽度（使用 min-width，自动扩展填满容器） |\n| minWidth | Number | 否 | 列最小宽度，仅在 `width` 未设置时生效（兜底值） |\n| formatter | Function | 否 | 单元格展示格式化函数 `(value) => string`，在类型格式化之后执行 |\n| exportable | Boolean | 否 | 是否允许导出，默认为 `true` |\n| exportFieldKey | String | 否 | 后端导出使用的字段标识；未配置时与 `fieldKey` 相同 |\n| exportFieldLabel | String | 否 | 导出列名；未配置时使用 `fieldLabel` |\n| exportFormat | String | 否 | 传给后端的导出格式标识，例如日期或金额格式 |\n| align | String | 否 | 对齐方式：`left` / `center` / `right` |\n| enumValues | Array/Object | 否 | 枚举值，支持数组 `[{ label, value }]` 或 Map `{ '001': '技术部' }` |\n| loadEnumOptions | Function | 否 | 枚举选项懒加载函数，首次打开下拉框时调用，接收 `{ fieldKey, keyword, selectedValues, signal }`；返回格式见下文 |\n| enumRemote | Boolean | 否 | 默认 `false`；配合 `loadEnumOptions` 使用，开启后在“过滤”框输入内容会以 300ms 防抖重新请求远程选项 |\n| filterMultiple | Boolean | 否 | 枚举下拉是否允许多选，默认 `true`；设为 `false` 时筛选面板、表头筛选和万能筛选均为单选 |\n| frozenPosition | String | 否 | 冻结方向提示：`'left'` / `'right'`；列是否冻结仍由表格配置及已保存的 `frozenFields` 决定 |\n| dateFilterType | String | 否 | 日期筛选类型：`daterange`（默认）/ `monthrange` / `month` / `date` |\n| monthToDateRange | Boolean | 否 | 默认 `false`；当 `dateFilterType: 'month'` 时，设为 `true` 会将所选月份转换为当月月初至月末的 `{ range }` |\n| dateFormat | String | 否 | 日期展示格式：`yyyy-MM-dd`（默认）/ `yyyy-MM` / `yyyy-MM-dd HH:mm:ss` |\n\n字段元数据当前**不支持** Element UI 风格的 `fixed`、`visible`、`showOverflowTooltip` 作为逐列控制项：\n\n- 初始显示列使用组件 Prop `defaultVisibleFields`；用户调整后的显示状态由表格配置保存。\n- 冻结列通过“表格配置”设置并保存；`frozenPosition` 只用于表达冻结方向，不等同于 `fixed`。\n- 数据列统一启用内容溢出提示，当前不提供逐列关闭或开启的 `showOverflowTooltip`。\n\n迁移旧页面时应删除这些无效字段，避免使用者误以为配置已经生效。\n\n#### 特殊列\n\n特殊列（选择框、序号、操作列）通过 `fieldType` 统一管理，在 `fieldMetaList` 中声明即可，支持显隐、排序、宽度调整和冻结配置。\n\n| fieldType | fieldKey（推荐） | 说明 | 额外属性 |\n|-----------|------------------|------|----------|\n| `selection` | `__selection` | 选择框列，触发 `selection-change` 事件 | `width`：列宽，默认 50 |\n| `index` | `__index` | 序号列，显示行号 | `width`：列宽，默认 50 |\n| `actions` | `__actions` | 操作列，通过 `actions` 属性配置按钮 | `actions`：按钮数组，`width`：列宽，默认使用 `actionColumnWidth` prop |\n\n**actions 按钮配置**：\n\n```js\n{ fieldKey: '__actions', fieldLabel: '操作', fieldType: 'actions', width: 150, actions: [\n  { label: '查看', action: 'view', icon: 'el-icon-view' },\n  { label: '编辑', action: 'edit', type: 'primary', icon: 'el-icon-edit' },\n  { label: '删除', action: 'delete', type: 'danger', icon: 'el-icon-delete' }\n]}\n```\n\n| 属性 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| label | String | 是 | 按钮文字 |\n| action | String | 是 | 操作标识，用于 `row-action` 事件回调中区分 |\n| type | String | 否 | 按钮类型，默认 `text`。可选 `primary`/`success`/`warning`/`danger`/`info`/`text` 等 |\n| icon | String | 否 | 按钮图标，如 `el-icon-edit`、`el-icon-delete` |\n| style | Object | 否 | 按钮自定义样式 |\n| visible | Boolean/Function | 否 | true | 是否显示该按钮，传函数 `(row) => boolean` 可按行动态控制 |\n| disabled | Boolean/Function | 否 | false | 是否禁用该按钮，传函数 `(row) => boolean` 可按行动态控制 |\n\n> 特殊列的 `fieldKey` 推荐使用 `__selection`、`__index`、`__actions` 前缀，组件内部通过 `fieldType` 识别。不声明对应 `fieldType` 的特殊列则不会显示。\n\n### fieldType 说明\n\n| 类型 | 说明 |\n|------|------|\n| selection | 选择框列，支持多选，触发 `selection-change` 事件 |\n| index | 序号列，自动显示行号（从1开始） |\n| actions | 操作列，通过 `actions` 属性配置按钮，触发 `row-action` 事件 |\n| string | 文本，筛选时为操作符下拉+输入框，默认\"包含\" |\n| number | 数值，筛选时为操作符下拉+输入框，默认\"等于\" |\n| currency | 金额，自动千分位格式化并保留两位小数，筛选同 number |\n| enum | 枚举，筛选时为过滤输入框+下拉选择；默认多选（含全选），配置 `filterMultiple: false` 后为单选。支持静态 `enumValues` 或懒加载 `loadEnumOptions`；两者都未配置时才退化为字符串输入框 |\n| date | 日期，筛选类型由 `dateFilterType` 控制，展示格式由 `dateFormat` 控制 |\n| boolean | 布尔，筛选时为是/否下拉 |\n\n### enumValues 格式\n\n支持两种格式：\n\n```js\n// 数组格式\nenumValues: [{ label: '启用', value: 1 }, { label: '禁用', value: 0 }]\n\n// Map 格式（key 为实际值，value 为显示名称）\nenumValues: { '001': '技术部', '002': '市场部', '003': '人事部' }\n```\n\n非 enum 类型字段配置了 enumValues 后，筛选面板和表头搜索也会自动使用下拉选择，列展示会自动做编码→名称映射。\n\n多选下拉框再次打开时，会按“全选 → 已选项 → 其他选项”的顺序展示，已选项按照用户的选择顺序置顶。为避免连续选择时列表跳动，该顺序只在每次打开下拉框时确定一次；下拉框保持打开期间不会因为继续勾选而重新排序。输入过滤关键词后以匹配结果顺序为准，不强行插入不匹配的已选项。单选下拉框始终保持原始选项顺序。\n\n### 枚举下拉懒加载\n\n当枚举数据量较大或必须从接口获取时，配置 `loadEnumOptions`。用户点击下拉框后，面板会立即打开并在内部显示“正在加载选项...”；加载成功后展示选项。首次成功加载的结果会在筛选面板、表头搜索和万能筛选之间共享并缓存，加载失败时下拉框会提示失败，关闭后重新打开即可重试。\n\n```js\nconst fieldMetaList = [\n  {\n    fieldKey: 'departmentId',\n    fieldLabel: '部门',\n    fieldType: 'enum',\n    filterable: true,\n    filterMultiple: false,\n    async loadEnumOptions({ keyword, selectedValues, signal }) {\n      const response = await queryDepartments({ keyword, selectedValues }, { signal })\n      return response.data.map(item => ({\n        label: item.departmentName,\n        value: item.departmentId\n      }))\n    }\n  }\n]\n```\n\n加载函数支持以下返回格式：\n\n```js\n[{ label: '技术部', value: '001' }]\n{ '001': '技术部', '002': '市场部' }\n{ list: [{ label: '技术部', value: '001' }] }\n{ data: [{ label: '技术部', value: '001' }] }\n```\n\n需要根据关键词请求服务端时设置 `enumRemote: true`。组件会把过滤框内容作为 `keyword` 传入，并自动进行 300ms 防抖；新请求发出时会取消该字段尚未结束的旧请求：\n\n```js\n{\n  fieldKey: 'userId',\n  fieldLabel: '用户',\n  fieldType: 'enum',\n  filterable: true,\n  enumRemote: true,\n  loadEnumOptions: ({ keyword, selectedValues, signal }) =>\n    searchUsers({ keyword, selectedValues }, { signal }).then(response =>\n      response.data.list.map(user => ({ label: user.name, value: user.id }))\n    )\n}\n```\n\n`selectedValues` 是当前入口已经选中的值数组。远程接口按关键词查询时，建议同时返回这些值对应的选项，组件也会缓存已经加载过的已选项，避免新搜索结果替换后丢失名称。`signal` 是可选的 `AbortSignal`，建议传给 Axios/fetch 以取消过期请求；不使用取消能力时可以忽略它。业务数据发生变化后，可以清除缓存并重新加载：\n\n```js\nawait this.$refs.dynamicTable.reloadEnumOptions('departmentId')\n```\n\n不传字段名会重新加载所有配置了 `loadEnumOptions` 的字段。加载成功触发 `enum-options-loaded`，参数为 `{ fieldKey, options }`；失败触发 `enum-load-error`，参数为 `{ fieldKey, error }`。\n\n### 日期筛选格式\n\n| dateFilterType | 控件 | 请求值 |\n|----------------|------|--------|\n| `daterange` | 开始日期、结束日期 | `{ range: ['2024-01-01', '2024-01-31'] }` |\n| `monthrange` | 开始月份、结束月份 | `{ range: ['2024-01-01', '2024-03-31'] }` |\n| `month` | 单个月份 | 默认 `{ value: '2024-02' }` |\n| `month` + `monthToDateRange: true` | 单个月份 | `{ range: ['2024-02-01', '2024-02-29'] }` |\n| `date` | 单个日期 | `{ value: '2024-02-15' }` |\n\n筛选面板、表头筛选、万能筛选和筛选缓存使用相同结构。字段筛选类型发生变化时，组件会按当前结构校验缓存；不兼容的字段缓存会自动忽略。\n\n### 操作列\n\n- 通过 `fieldMetaList` 中 `fieldType: 'actions'` 的项配置操作按钮\n- `actions` 数组中每个按钮通过 `action` 标识区分，点击触发 `@row-action` 事件\n- 操作列默认不冻结，可在配置抽屉中设置冻结方向\n- 操作列支持显隐、排序、宽度调整，与其他列统一管理\n\n### Events\n\n| 事件名 | 参数 | 说明 |\n|--------|------|------|\n| selection-change | selection | 选中行变化时触发 |\n| row-action | { action, row } | 操作列按钮点击时触发，action 为 rowActions 中配置的标识 |\n| config-saved | config | 配置保存时触发，仅在未提供 `saveConfigFn` 时触发（无后端模式），config 为完整配置对象 |\n| config-error | error | 配置加载失败时触发；组件会使用默认展示，但阻止保存以免覆盖服务端配置 |\n| config-save-error | error | 配置保存失败时触发 |\n| config-save-blocked | error | 配置加载失败后尝试保存时触发 |\n| parameter-change | values | 自定义参数加载、保存或还原默认值后触发，参数为完整的自定义参数对象 |\n| enum-options-loaded | { fieldKey, options } | 懒加载枚举选项成功后触发 |\n| enum-load-error | { fieldKey, error } | 懒加载枚举选项失败后触发；下拉框中同时显示失败提示 |\n| export-success | result | 导出文件成功后触发 |\n| export-error | error | 导出失败后触发 |\n| data-error | error | 分页查询失败后触发 |\n\n### Slots\n\n| 插槽名 | 作用域参数 | 说明 |\n|--------|-----------|------|\n| toolbar-left | - | 工具栏左侧按钮区域 |\n| column-{fieldKey} | { row, value } | 自定义列内容渲染 |\n| actions | { row } | 自定义操作列内容，覆盖默认的操作按钮渲染 |\n| loading | - | 自定义数据加载状态 |\n| empty | - | 自定义空数据状态 |\n| error | { error, retry } | 自定义加载失败状态，`retry` 可重新请求 |\n| parameter-config | { values, setValue } | 在“参数配置”页签中增加自定义控件；`values` 为当前编辑副本，推荐通过 `setValue(key, value)` 更新 |\n\n### 实例方法\n\n通过表格组件 `ref` 可调用：`refresh()`、`retry()`、`resetFilters()`、`getFilters()`、`getExportFields()`、`getTableConfig()`、`getParameterValues()`、`loadEnumOptions(fieldKey, options)`、`reloadEnumOptions(fieldKey)`、`getSelection()`、`clearSelection()`、`toggleRowSelection(row, selected)`、`doLayout()` 和 `getElTable()`。\n\n### 扩展参数配置\n\n使用 `parameter-config` 插槽可以在“表格配置 → 参数配置”中加入业务参数。参数在用户点击“保存”后写入配置的 `settings.parameterValues`，并通过 `parameter-change` 通知使用方：\n\n```vue\n<dynamic-table\n  ref=\"dynamicTable\"\n  :default-parameter-values=\"{ dense: false, rowLimit: 100 }\"\n  @parameter-change=\"handleParameterChange\"\n>\n  <template slot=\"parameter-config\" slot-scope=\"{ values, setValue }\">\n    <div class=\"config-switch-row\">\n      <span>紧凑模式</span>\n      <el-switch\n        :value=\"values.dense\"\n        @input=\"setValue('dense', $event)\"\n      />\n    </div>\n  </template>\n</dynamic-table>\n```\n\n自定义参数必须是可 JSON 序列化的数据。组件只负责展示编辑入口和持久化，参数的业务效果由使用方在 `parameter-change` 中实现；也可以随时调用 `getParameterValues()` 获取当前生效值。\n\n`getFilters()` 返回的就是下一次列表查询和组件内置导出使用的合并筛选条件。同步、批量处理、业务导出等按钮如果需要沿用表格当前条件，应这样读取：\n\n```js\nhandleSync() {\n  const filters = this.$refs.dynamicTable\n    ? this.$refs.dynamicTable.getFilters()\n    : {}\n  return syncData({ filters })\n}\n```\n\n不要读取 `this.$refs.dynamicTable.filterValues`、`columnSearchValues` 或 `lastCustomFilterValues`。这些是组件内部的分段状态，单独读取任何一项都可能与当前列表的实际筛选条件不一致，后续版本也不保证其结构稳定。\n\n### fetchDataFn 参数格式\n\n```js\n{\n  page: 1,\n  pageSize: 10,\n  filters: {          // 筛选面板 + 表头搜索的合并条件\n    username: { operator: 'contains', value: '张' },  // 字符串：操作符+值\n    status: 1,                                          // 单选枚举：标量（多选枚举仍为数组）\n    age: { operator: 'eq', value: 25 },                 // 数值：操作符+值\n    salary: { operator: 'gte', value: 5000 },           // 金额：操作符+值\n    birthday: { range: ['2024-01-01', '2024-12-31'] },      // 日期范围\n    periodDate: { range: ['2024-02-01', '2024-02-29'] }, // 单月转日期范围\n    isActive: true                                       // 布尔：直接传值\n  },\n  sortBy: 'createTime',\n  sortOrder: 'descending'\n}\n```\n\n上例使用组件默认分页字段。如果已有后端接收 `pageNum`，页面只需配置参数名：\n\n```vue\n<dynamic-table\n  page-param-name=\"pageNum\"\n  page-size-param-name=\"pageSize\"\n  :fetch-data-fn=\"fetchDataFn\"\n/>\n```\n\n此时 `fetchDataFn` 收到的是 `{ pageNum, pageSize, filters, sortBy, sortOrder }`。已有接口不需要改字段名；`fetchDataFn` 仍然直接把 `params` 交给接口，不做二次转换。新接口未配置上述 Props 时，应按默认的 `page/pageSize` 接收。\n\n`fetchDataFn` 的第二个参数为请求上下文，可将 `signal` 交给 Axios 或 Fetch，以便组件在翻页、快速筛选、切换菜单和销毁时取消旧请求：\n\n```js\nfetchDataFn(params, { signal }) {\n  return axios.post('/api/table/data', params, { signal })\n}\n```\n\n单个月份转换为日期范围：\n\n```js\n{\n  fieldKey: 'periodDate',\n  fieldLabel: '所属月份',\n  fieldType: 'date',\n  dateFilterType: 'month',\n  monthToDateRange: true,\n  filterable: true\n}\n```\n\n#### 筛选操作符说明\n\n| 操作符值 | 含义 | 适用类型 |\n|----------|------|----------|\n| eq | 等于 | string, number, currency |\n| neq | 不等于 | string, number, currency |\n| contains | 包含 | string |\n| in | 多个（按逗号/顿号/斜杠拆分） | string |\n| notContains | 不包含 | string |\n| startsWith | 开头是 | string |\n| endsWith | 结尾是 | string |\n| gt | 大于 | number, currency |\n| lt | 小于 | number, currency |\n| gte | 大于等于 | number, currency |\n| lte | 小于等于 | number, currency |\n\n> 字符串类型默认操作符为 `contains`，数值/金额类型默认操作符为 `eq`。`in` 操作符会将输入值按英文逗号 `,`、中文逗号 `，`、中文顿号 `、`、斜杠 `/` 拆分为数组传递到后端。\n\n这里的“默认”只表示控件初次选择的操作符，不会改变操作符本身的含义：\n\n- `{ operator: 'eq', value: '张' }`：只匹配值等于“张”的记录。\n- `{ operator: 'contains', value: '张' }`：匹配值中包含“张”的记录。\n\n后端必须按 `operator` 分支处理，不能把所有字符串条件统一解释为精确匹配或统一解释为模糊匹配。\n\n### fetchDataFn 返回格式\n\n```js\n{\n  list: [],    // 当前页数据\n  total: 100   // 总条数\n}\n```\n\n组件默认兼容直接返回、Axios `{ data }` 包装以及常见的 `{ code, data }` 包装。如接口字段不是 `list`、`total`，可使用：\n\n```vue\n<dynamic-table :data-response-adapter=\"res => ({ list: res.data.records, total: res.data.count })\" />\n```\n\n### 后端导出\n\n传入 `exportDataFn` 后，“表格配置”左侧会显示纯下载图标。组件只提交点击时的当前可见数据字段、字段顺序、筛选条件和排序条件，不提交 `page`、`pageSize`：\n\n点击下载图标后会提示“将根据表头配置进行导出，是否确认？”。确认后才调用 `exportDataFn`，取消或关闭弹窗不会发起导出请求。\n\n```js\nexportDataFn({ menuId, fields, filters, sortBy, sortOrder }) {\n  return axios.post('/api/table/export', {\n    menuId,\n    fields,\n    filters,\n    sortBy,\n    sortOrder\n  }, { responseType: 'blob' })\n}\n```\n\n`exportDataFn` 收到的参数示例：\n\n```js\n{\n  menuId: 'M001',\n  fields: [\n    { fieldKey: 'username', exportFieldKey: 'user_name', fieldLabel: '用户名', fieldType: 'string', exportFormat: '' },\n    { fieldKey: 'status', fieldLabel: '状态', fieldType: 'enum' }\n  ],\n  filters: {\n    status: 1,\n    createTime: { range: ['2024-01-01', '2024-12-31'] }\n  },\n  sortBy: 'createTime',\n  sortOrder: 'descending'\n}\n```\n\n说明：\n\n- `fields` 按当前表格展示顺序传递。\n- 隐藏字段以及选择框、序号、操作列不会导出。\n- `exportable: false` 的字段不会导出；后端优先使用 `exportFieldKey` 识别导出字段。\n- 展示格式函数不能序列化给后端；服务端应根据 `exportFieldKey`、`fieldType` 和 `exportFormat` 完成格式化。\n- 导出条件包含筛选面板、表头搜索和万能筛选的合并结果。\n- 服务端负责查询全部匹配数据并生成文件；组件不会循环查询分页接口。\n- 支持直接返回 `Blob`、`{ blob, fileName }`、Axios Blob 响应或 `{ downloadUrl, fileName }`。\n- Axios 模式必须配置 `responseType: 'blob'`。\n\n这是组件的默认全量导出方式，接入方通常只需要实现 `exportDataFn`。如果某个页面存在完全不同的业务导出（例如导出勾选记录、导出固定模板），可以在 `toolbar-left` 中自行增加按钮；该按钮的参数和交互由业务页面负责，不会替代或改变 `exportDataFn` 的协议。为避免出现两个含义相同的导出入口，同一页面不要同时配置内置全量导出和同功能的自定义按钮。\n\n### loadConfigFn 返回格式\n\n```js\n{\n  version: 2,\n  menuId: 'M001',\n\n  visibleFields: '[\"username\",\"age\",\"status\"]',       // JSON 字符串\n  frozenFields: '[\"username\"]',\n  frozenPositions: '{\"username\":\"left\",\"balance\":\"right\"}',\n  columnWidths: '{\"username\":120,\"age\":80}',           // 列宽配置\n  filterFields: '[\"username\",\"status\"]',\n  columnOrder: '[\"username\",\"age\",\"status\"]',\n  filterSchemes: '[{\"name\":\"方案1\",\"filterValues\":{}}]',\n  settings: '{\"pageSizes\":[10,50,100,500],\"showSummary\":true,\"showUniversalFilter\":true,\"parameterValues\":{\"dense\":false}}',\n  pageSizes: '[10,50,100,500]'                          // 兼容旧版后端的冗余字段（可选）\n}\n```\n\n`version: 2` 将分页选项、功能开关和自定义参数独立存入 `settings`。组件仍兼容旧配置：保存在 `columnWidths` 的 `__pageSizes`、`__showSummary`、`__showUniversalFilter`，以及 v1.1.x 顶层 `pageSizes` 字段，读取后自动迁移，后续保存即写为 version 2。为避免后端字段白名单丢弃 `settings` 导致分页参数丢失，保存时除 `settings.pageSizes` 外还会同步写入顶层 `pageSizes`（读取时 `settings` 优先）。\n\n配置接口同样兼容直接对象、Axios 和 `{ code, data }` 包装。若接口结构不同，可通过 `configResponseAdapter` 转换。配置加载异常会触发 `config-error`，且在重新加载成功前阻止保存；连续保存会按顺序执行，避免旧请求晚返回覆盖新配置。\n\n### saveConfigFn 接收格式\n\n与 loadConfigFn 返回格式一致。\n\n## 功能说明\n\n### 表头配置\n- 勾选展示列，拖拽调整顺序\n- 每列可配置宽度，最小值 50\n- 两个冻结按钮（◀左 / ▶右），点击激活，再次点击取消，左右互斥\n- 选择框列（`selection`）、序号列（`index`）、操作列（`actions`）也支持显隐、排序、冻结配置和宽度调整\n- 冻结位置和列宽持久化保存\n\n### 金额类型\n- `fieldType: 'currency'` 自动千分位格式化，保留两位小数\n- 如 `50000` 显示为 `50,000.00`\n- 筛选和表头搜索同 number 类型\n\n### 操作列\n- 通过 `fieldMetaList` 中 `fieldType: 'actions'` 配置操作按钮，无需手写 slot\n- 点击触发 `@row-action` 事件，通过 `action` 标识区分操作类型\n- 操作列默认不冻结，可在配置抽屉中设置冻结方向\n\n### 编码映射\n- `enumValues` 支持数组格式和 Map 格式\n- 非 enum 字段配置 `enumValues` 后，列展示自动做编码→名称映射\n- 筛选面板和表头搜索自动使用下拉选择替代输入框\n\n### 表头对齐\n- `headerAlign` 属性控制表头默认对齐方式，默认 `'center'`\n- 各列仍可通过 `align` 单独设置数据对齐方式\n\n### 筛选配置\n- 勾选需要作为筛选项的字段，拖拽调整顺序\n- 筛选面板根据字段类型自动生成对应控件\n- 字符串/数值/金额类型：操作符下拉 + 值输入框\n- 枚举类型：过滤输入框 + 下拉选择；默认多选（含全选，选项 > 1 时显示），`filterMultiple: false` 时单选\n- 日期类型：由 `dateFilterType` 控制筛选格式（`daterange`/`monthrange`/`month`/`date`）\n- 布尔类型：是/否下拉\n- 日期、月份区间和开启 `monthToDateRange` 的单月筛选统一使用 `{ range: [开始日期, 结束日期] }`\n- 筛选区域超过3行自动出现滚动条\n- 筛选条件默认缓存到浏览器 localStorage，可通过 `cacheFilters` 属性控制\n- 重置按钮同时清除筛选面板条件、表头搜索条件、排序和浏览器缓存\n\n### 默认筛选项\n\n通过 `defaultFilterFields` 属性可指定页面**首次加载时默认展示**的筛选项字段（对应配置抽屉\"筛选配置\"中勾选的结果，即内部 `filterFields` 的初始化值）：\n\n```vue\n<dynamic-table\n  menu-id=\"M001\"\n  :field-meta-list=\"fieldMetaList\"\n  :fetch-data-fn=\"fetchDataFn\"\n  :default-filter-fields=\"['username', 'status', 'createTime']\"\n/>\n```\n\n说明：\n\n- 该属性只作为筛选项的**初始化值**，仅在没有用户已保存配置时生效。\n- 传值需为 `fieldMetaList` 中 `filterable: true` 的字段，无效或重复的字段会被自动过滤，顺序按传入顺序展示。\n- 用户通过\"表格配置 → 筛选配置\"调整并保存后，一律以用户保存的配置为准（即使保存为空数组，也会按用户的选择不展示任何筛选项）。\n- 点击\"还原默认\"后，筛选项会恢复为该属性定义的默认值。\n- 不传该属性时保持原行为：默认不展示任何筛选项。\n\n### 万能筛选\n- 筛选面板底部左侧提供带“万能筛选”标题的万能筛选区域，可动态选择任意字段进行筛选\n- “常用方案”位于“保存筛选”按钮左侧，与查询、重置操作集中显示在右侧\n- 已输入或已选择值的筛选项会显示蓝色边框、浅蓝背景和高亮标题，清空后自动恢复默认样式\n- 筛选项标题宽度为 80px，超出时显示省略号，鼠标移入后通过 Tooltip 立即显示完整名称；下载图标悬停显示“导出”\n- 选择字段后自动根据字段类型渲染对应筛选控件\n- 可通过 `showUniversalFilter` 属性或在配置抽屉中控制显隐\n\n### 合计行\n- 设置 `showSummary` 属性开启合计行\n- 当前页数据由组件求和，名称显示为“当前页合计”\n- 合计标签显示在第一个非金额/数字类型的可见数据列\n- 可在配置抽屉的\"参数配置\" tab 中开关合计行\n\n### 动态属性与缓存兼容\n\n- `menuId` 变化时自动重新加载对应配置、筛选缓存和分页数据。\n- `fieldMetaList` 变化时自动删除失效字段配置并追加新字段，随后重新布局和查询。\n- 未保存用户配置时，`defaultVisibleFields`、`defaultFilterFields` 和 `pageSizes` 的变化会即时生效。\n- 字段筛选类型与旧缓存结构不匹配时，该字段旧缓存会被忽略，无需用户手动清除。\n\n### 筛选方案\n- 最多保存5个常用筛选方案\n- 支持修改方案名称（点击名称或编辑图标）\n- 使用方案后修改筛选值，保存时提示覆盖或新建\n- 重置按钮同时清除筛选面板条件、表头搜索条件和排序\n\n### 跨页选择\n\n- 设置 `reserveSelection` 后，组件除使用 Element UI 的保留选择外，还会按 `rowKey` 独立保存选中数据。\n- 翻页或表格配置导致表格重建时会自动恢复当前页勾选，`getSelection()` 返回全部已保留行。\n- `rowKey` 必须在整个数据集内唯一；调用 `clearSelection()` 可清除全部跨页选择。\n\n### 还原默认配置\n- 配置抽屉底部提供\"还原默认\"按钮\n- 点击后二次确认，确认后将所有配置还原为初始化状态\n- 还原内容包括：表头显隐/顺序/冻结/列宽、筛选方案；筛选字段配置还原为 `defaultFilterFields` 属性定义的默认筛选项（未传该属性则为空）\n- 同时清除浏览器中当前菜单的本地缓存\n- 还原后立即生效，表格自动刷新\n\n### 表头搜索\n- 点击表头名称弹出下拉菜单，支持排序和搜索\n- 排序三态切换：升序 → 降序 → 无\n- 字符串/数值/金额类型搜索支持操作符选择\n- 枚举类型搜索：过滤输入框 + 下拉选择 + 搜索确认按钮；默认多选，`filterMultiple: false` 时单选\n- 日期类型搜索由 `dateFilterType` 控制选择器格式\n- 表头搜索条件与筛选面板条件合并后一起传给 fetchDataFn\n\n### 自适应高度\n- 不设置 `tableHeight` 时，表格使用 flex 布局自适应填满容器\n- 筛选区域展开/收起后自动重新分配空间\n- 支持 keep-alive 缓存页面，激活时自动重新布局\n\n### 列宽自适应\n- 数据列使用 `min-width`，列不会小于配置宽度\n- 当所有列宽之和小于容器宽度时，列自动按比例扩展填满\n- 当所有列宽之和超过容器宽度时，正常横向滚动\n\n### 分页\n- 固定在表格底部，不随数据高度变化\n- 可在配置抽屉的“参数配置” tab 中自定义分页条数选项，当前页面初始展示条数始终取已选选项中的最小值\n- 默认已选条数为 10/50/100/500；支持预设条数快选（10/20/50/100/200/500/1000/2000），也可手动输入 1～2000 的自定义条数\n- 清空用户保存的分页选项时，会回退到 `pageSizes` Prop；不会固定回退为 1。未传 `pageSizes` 时回退到默认的 10/50/100/500，并取 10 作为当前条数\n- 后端分页上限必须与页面实际提供的 `pageSizes` 一致。如果后端最多只允许 500，页面就不应提供 1000/2000；若页面允许选择 2000，后端也必须正确接收 2000，不能静默截断后仍返回不匹配的分页结果\n- 分页字段默认是 `page/pageSize`。存量接口可用 `pageParamName/pageSizeParamName` 保留原字段名，配置后的字段名就是后端必须接收的协议\n\n## 后端接口设计\n\n### 1. 保存配置接口\n\n**请求方式**：`POST /api/table/config`\n\n**请求参数**：\n\n```json\n{\n  \"version\": 2,\n  \"menuId\": \"M001\",\n\n  \"visibleFields\": \"[\\\"username\\\",\\\"age\\\",\\\"status\\\"]\",\n  \"frozenFields\": \"[\\\"username\\\"]\",\n  \"frozenPositions\": \"{\\\"username\\\":\\\"left\\\"}\",\n  \"columnWidths\": \"{\\\"username\\\":120,\\\"age\\\":80}\",\n  \"filterFields\": \"[\\\"username\\\",\\\"status\\\"]\",\n  \"columnOrder\": \"[\\\"username\\\",\\\"age\\\",\\\"status\\\"]\",\n  \"filterSchemes\": \"[{\\\"name\\\":\\\"方案1\\\",\\\"filterValues\\\":{\\\"username\\\":{\\\"operator\\\":\\\"contains\\\",\\\"value\\\":\\\"张\\\"}}}]\",\n  \"settings\": \"{\\\"pageSizes\\\":[10,50,100,500],\\\"showSummary\\\":true,\\\"showUniversalFilter\\\":true}\"\n}\n```\n\n**响应格式**：\n\n```json\n{\n  \"code\": 200,\n  \"message\": \"success\",\n  \"data\": null\n}\n```\n\n**设计要点**：\n- 以 `menuId` 作为配置标识，`userId` 由后端从登录态（Token/Session）中获取，前端不传递\n- 同一用户同一菜单只保存一份配置\n- 所有数组/对象字段以 JSON 字符串存储，后端无需解析，直接存取即可\n- `columnWidths` 存储用户自定义的列宽，key 为 fieldKey，value 为像素值\n- `filterSchemes` 中的 `filterValues` 结构与 `fetchDataFn` 的 `filters` 参数一致\n- 建议使用 `INSERT ... ON DUPLICATE KEY UPDATE` 或 `UPSERT` 语义实现保存\n\n**数据库表设计参考**：\n\n```sql\nCREATE TABLE t_table_config (\n  id BIGINT PRIMARY KEY AUTO_INCREMENT,\n  menu_id VARCHAR(64) NOT NULL COMMENT '菜单ID',\n  user_id VARCHAR(64) NOT NULL COMMENT '用户ID，后端从登录态获取',\n  config_version INT NOT NULL DEFAULT 2 COMMENT '配置结构版本',\n  visible_fields TEXT COMMENT '可见字段JSON',\n  frozen_fields TEXT COMMENT '冻结字段JSON',\n  frozen_positions TEXT COMMENT '冻结位置JSON',\n  column_widths TEXT COMMENT '列宽配置JSON',\n  filter_fields TEXT COMMENT '筛选字段JSON',\n  column_order TEXT COMMENT '列顺序JSON',\n  filter_schemes TEXT COMMENT '筛选方案JSON',\n  settings TEXT COMMENT '分页选项及功能开关JSON',\n  created_time DATETIME DEFAULT CURRENT_TIMESTAMP,\n  updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n  UNIQUE KEY uk_menu_user (menu_id, user_id)\n);\n```\n\n### 2. 查询配置接口\n\n**请求方式**：`GET /api/table/config/{menuId}`\n\n**响应格式**：\n\n```json\n{\n  \"code\": 200,\n  \"message\": \"success\",\n  \"data\": {\n    \"version\": 2,\n    \"menuId\": \"M001\",\n    \"visibleFields\": \"[\\\"username\\\",\\\"age\\\",\\\"status\\\"]\",\n    \"frozenFields\": \"[\\\"username\\\"]\",\n    \"frozenPositions\": \"{\\\"username\\\":\\\"left\\\"}\",\n    \"columnWidths\": \"{\\\"username\\\":120,\\\"age\\\":80}\",\n    \"filterFields\": \"[\\\"username\\\",\\\"status\\\"]\",\n    \"columnOrder\": \"[\\\"username\\\",\\\"age\\\",\\\"status\\\"]\",\n    \"filterSchemes\": \"[{\\\"name\\\":\\\"方案1\\\",\\\"filterValues\\\":{}}]\",\n    \"settings\": \"{\\\"pageSizes\\\":[10,50,100,500],\\\"showSummary\\\":true,\\\"showUniversalFilter\\\":true}\"\n  }\n}\n```\n\n**设计要点**：\n- 无配置时返回 `null` 或空对象，组件会使用默认配置\n- 返回的 JSON 字符串由前端解析，后端无需处理\n\n### 3. 列表数据查询接口\n\n**请求方式**：`POST /api/table/data`\n\n**请求参数**：\n\n```json\n{\n  \"page\": 1,\n  \"pageSize\": 10,\n  \"filters\": {\n    \"username\": { \"operator\": \"contains\", \"value\": \"张\" },\n    \"status\": 1,\n    \"age\": { \"operator\": \"gte\", \"value\": 20 },\n    \"salary\": { \"operator\": \"lte\", \"value\": 50000 },\n    \"birthday\": { \"range\": [\"2024-01-01\", \"2024-12-31\"] },\n    \"isActive\": true\n  },\n  \"sortBy\": \"createTime\",\n  \"sortOrder\": \"descending\"\n}\n```\n\n**响应格式**：\n\n```json\n{\n  \"code\": 200,\n  \"message\": \"success\",\n  \"data\": {\n    \"list\": [\n      { \"id\": 1, \"username\": \"张三\", \"age\": 25, \"status\": 1, \"birthday\": \"2024-01-15\", \"salary\": 8000, \"isActive\": true, \"createTime\": \"2024-06-01 10:00:00\" }\n    ],\n    \"total\": 100\n  }\n}\n```\n\n**后端筛选条件处理逻辑**：\n\n| 字段类型 | filters 结构 | 后端处理方式 |\n|----------|-------------|-------------|\n| string | `{ operator, value }` | 根据 operator 拼接 SQL：`eq` → `=`, `neq` → `!=`, `contains` → `LIKE %val%`, `notContains` → `NOT LIKE %val%`, `startsWith` → `LIKE val%`, `endsWith` → `LIKE %val`, `in` → `IN (val1, val2, ...)` |\n| number/currency | `{ operator, value }` | 根据 operator 拼接 SQL：`eq` → `=`, `neq` → `!=`, `gt` → `>`, `lt` → `<`, `gte` → `>=`, `lte` → `<=` |\n| enum（单选） | `value` | `= value` |\n| enum（多选） | `[value1, value2]` | `IN (value1, value2)` |\n| date（日期/月份区间或单月转区间） | `{ range: [start, end] }` | 使用 `range[0]`、`range[1]` 进行区间查询 |\n| date（单个日期或未转换的单月） | `{ value }` | 使用 `value` 进行等值查询；单月值格式为 `yyyy-MM` |\n| boolean | `true/false` | `= true` 或 `= false` |\n\n**设计要点**：\n- `filters` 中的 key 为 `fieldKey`，后端需映射为实际数据库字段名\n- `daterange`、`monthrange` 以及 `monthToDateRange: true` 的单月筛选使用 `{ range }`；`date` 和默认单月筛选使用 `{ value }`，后端必须同时支持这两种日期结构\n- 枚举单选值为标量，使用等值查询；多选值为数组，使用 `IN` 查询\n- 排序字段 `sortBy` 需映射为数据库字段名，`sortOrder` 为 `ascending` / `descending`\n- 建议对 `filters` 中的值做 SQL 注入防护（参数化查询）\n\n**后端公共方法封装建议**：\n\n由于每个列表页面的筛选处理逻辑高度一致，建议封装公共方法，避免每个页面重复编写。核心思路：**通过反射获取分页查询对象的字段，根据字段类型自动构建查询条件**。\n\n**1. 操作符枚举定义**\n\n```java\npublic enum FilterOperator {\n    EQ(\"eq\", \"=\"),\n    NEQ(\"neq\", \"!=\"),\n    CONTAINS(\"contains\", \"LIKE\"),\n    NOT_CONTAINS(\"notContains\", \"NOT LIKE\"),\n    STARTS_WITH(\"startsWith\", \"LIKE\"),\n    ENDS_WITH(\"endsWith\", \"LIKE\"),\n    IN(\"in\", \"IN\"),\n    GT(\"gt\", \">\"),\n    LT(\"lt\", \"<\"),\n    GTE(\"gte\", \">=\"),\n    LTE(\"lte\", \"<=\");\n\n    private final String code;\n    private final String sql;\n    // getter, fromCode(String code) 静态方法\n}\n```\n\n**2. 公共筛选方法**\n\n```java\n/**\n * 通用筛选条件构建器\n * 通过反射获取分页对象的所有字段，根据 filters 参数自动构建 QueryWrapper 条件\n *\n * @param wrapper   MyBatis-Plus QueryWrapper\n * @param filters   前端传入的 filters 对象\n * @param clazz     分页查询对象的 Class（字段名即 fieldKey，通过 @TableField 映射数据库列名）\n */\npublic static <T> void buildFilters(QueryWrapper<T> wrapper, Map<String, Object> filters, Class<T> clazz) {\n    if (filters == null || filters.isEmpty()) return;\n\n    for (Map.Entry<String, Object> entry : filters.entrySet()) {\n        String fieldKey = entry.getKey();\n        Object value = entry.getValue();\n\n        // 通过反射获取字段，确定字段类型\n        Field field = ReflectionUtils.findField(clazz, fieldKey);\n        if (field == null) continue;\n\n        Class<?> fieldType = field.getType();\n        String column = getColumnName(field); // 获取 @TableField 注解的列名，无注解则驼峰转下划线\n\n        if (value instanceof Map) {\n            // 对象筛选：{ operator, value }、{ range: [start, end] } 或 { value }\n            Map<String, Object> filterMap = (Map<String, Object>) value;\n            if (filterMap.containsKey(\"operator\")) {\n                String operatorCode = (String) filterMap.get(\"operator\");\n                Object filterValue = filterMap.get(\"value\");\n                FilterOperator op = FilterOperator.fromCode(operatorCode);\n                if (op == null) continue;\n                applyOperator(wrapper, column, op, filterValue, fieldType);\n            } else if (filterMap.containsKey(\"range\")) {\n                // 日期范围\n                List<?> range = (List<?>) filterMap.get(\"range\");\n                if (range.size() == 2) {\n                    wrapper.between(column, range.get(0), range.get(1));\n                }\n            } else if (filterMap.containsKey(\"value\")) {\n                // 单个日期或未转换的单月\n                Object singleValue = filterMap.get(\"value\");\n                if (singleValue != null && !singleValue.toString().isEmpty()) {\n                    wrapper.eq(column, singleValue);\n                }\n            }\n        } else if (value instanceof List) {\n            // 枚举多选\n            List<?> values = (List<?>) value;\n            if (!values.isEmpty()) {\n                wrapper.in(column, values);\n            }\n        } else if (value instanceof Boolean) {\n            wrapper.eq(column, value);\n        } else if (value instanceof String || value instanceof Number) {\n            // 枚举单选等标量筛选\n            wrapper.eq(column, value);\n        }\n    }\n}\n\n/**\n * 根据操作符类型应用查询条件\n */\nprivate static void applyOperator(QueryWrapper<?> wrapper, String column, FilterOperator op, Object value, Class<?> fieldType) {\n    if (value == null || value.toString().isEmpty()) return;\n    String strVal = value.toString();\n\n    switch (op) {\n        case EQ:       wrapper.eq(column, strVal); break;\n        case NEQ:      wrapper.ne(column, strVal); break;\n        case CONTAINS: wrapper.like(column, strVal); break;\n        case NOT_CONTAINS: wrapper.notLike(column, strVal); break;\n        case STARTS_WITH: wrapper.likeRight(column, strVal); break;\n        case ENDS_WITH: wrapper.likeLeft(column, strVal); break;\n        case IN:\n            if (value instanceof List) {\n                wrapper.in(column, (List<?>) value);\n            }\n            break;\n        case GT:       wrapper.gt(column, strVal); break;\n        case LT:       wrapper.lt(column, strVal); break;\n        case GTE:      wrapper.ge(column, strVal); break;\n        case LTE:      wrapper.le(column, strVal); break;\n    }\n}\n```\n\n**3. 使用示例**\n\n```java\n@PostMapping(\"/data\")\npublic Result<PageResult<UserVO>> listUsers(@RequestBody PageRequest params) {\n    QueryWrapper<User> wrapper = new QueryWrapper<>();\n    // 一行代码完成所有筛选条件构建\n    FilterHelper.buildFilters(wrapper, params.getFilters(), User.class);\n    // 排序\n    if (params.getSortBy() != null) {\n        wrapper.orderBy(true, \"descending\".equals(params.getSortOrder()),\n            getColumnName(User.class, params.getSortBy()));\n    }\n    Page<User> page = userService.page(new Page<>(params.getPage(), params.getPageSize()), wrapper);\n    return Result.success(PageResult.of(page, UserVO.class));\n}\n```\n\n**设计要点**：\n- 操作符枚举统一管理，前端 `operator` 值与后端枚举 `code` 一一对应\n- 通过反射自动识别字段类型，无需每个页面手写 if-else\n- 公共方法 `buildFilters` 可在所有列表接口复用，新增页面零代码\n- `@TableField` 注解自动映射 fieldKey → 数据库列名，支持驼峰转下划线\n\n### 4. 全量导出接口\n\n**请求方式**：`POST /api/table/export`\n\n导出接口不接收分页参数。后端必须对 `fields` 和排序字段进行白名单校验，并使用当前筛选条件查询全部匹配数据。\n\n**请求参数**：\n\n```json\n{\n  \"menuId\": \"M001\",\n  \"fields\": [\n    { \"fieldKey\": \"username\", \"fieldLabel\": \"用户名\", \"fieldType\": \"string\" },\n    { \"fieldKey\": \"status\", \"fieldLabel\": \"状态\", \"fieldType\": \"enum\" },\n    { \"fieldKey\": \"createTime\", \"fieldLabel\": \"创建时间\", \"fieldType\": \"date\" }\n  ],\n  \"filters\": {\n    \"status\": 1,\n    \"createTime\": { \"range\": [\"2024-01-01\", \"2024-12-31\"] }\n  },\n  \"sortBy\": \"createTime\",\n  \"sortOrder\": \"descending\"\n}\n```\n\n**同步文件响应**：\n\n```http\nContent-Type: text/csv; charset=utf-8\nContent-Disposition: attachment; filename*=UTF-8''users.csv\n```\n\n前端应使用 `responseType: 'blob'`。组件会优先读取 `Content-Disposition` 文件名；读取不到时使用 `exportFileName`。\n\n后端也可以返回已生成文件的地址：\n\n```json\n{\n  \"downloadUrl\": \"/api/table/export/download/abc123\",\n  \"fileName\": \"用户数据.xlsx\"\n}\n```\n\n大数据量场景建议使用流式 CSV 或异步导出任务，避免在前端循环请求分页数据，也避免在服务端一次性将全部数据保存在内存中。\n\n## 开发与发布检查\n\n组件包包含 `types/index.d.ts`，TypeScript 项目可直接获得字段元数据、查询参数、导出参数及实例方法类型。\n\n```bash\nnpm test              # 运行纯函数单元测试\nnpm run check         # 单元测试 + 组件库构建\nnpm run build         # 示例应用生产构建\n```\n\n执行 `npm publish` 前会自动运行测试和生产模式组件库构建。\n","readmeFilename":"README.md"}