From 400c10d3fa3df6853e6c3c30d9db200085422ceb Mon Sep 17 00:00:00 2001 From: liuz <1298214330@qq.com> Date: Mon, 13 Jun 2022 09:34:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=97=E6=8B=96=E6=8B=BDBU?= =?UTF-8?q?G?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/element-ui/crud/sortable.html | 2 ++ lib/avue.js | 16 ++++++++-------- packages/element-ui/crud/column-default.vue | 5 ++++- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/examples/element-ui/crud/sortable.html b/examples/element-ui/crud/sortable.html index d10c3cccd..ca764e78d 100644 --- a/examples/element-ui/crud/sortable.html +++ b/examples/element-ui/crud/sortable.html @@ -65,6 +65,8 @@ align: 'center', // sortable: true, columnSort: true, + selection: true, + index: true, rowSort: true, menuAlign: 'center', column: [ diff --git a/lib/avue.js b/lib/avue.js index e0cef55a1..3a90c46d9 100644 --- a/lib/avue.js +++ b/lib/avue.js @@ -470,7 +470,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var coun /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_create__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/create */ \"./src/core/create.js\");\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./config.js */ \"./packages/element-ui/crud/config.js\");\n/* harmony import */ var core_packages__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/packages */ \"./src/core/packages.js\");\n/* harmony import */ var core_locale__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core/locale */ \"./src/core/locale.js\");\n/* harmony import */ var common_directive_permission__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! common/directive/permission */ \"./packages/core/directive/permission.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(core_create__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n name: \"crud\",\n data: function data() {\n return {\n config: _config_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n };\n },\n mixins: [core_locale__WEBPACK_IMPORTED_MODULE_3__[\"default\"]],\n inject: [\"crud\"],\n methods: {\n indexMethod: function indexMethod(index) {\n return index + 1 + ((this.crud.page.currentPage || 1) - 1) * (this.crud.page.pageSize || 10);\n },\n setSort: function setSort() {\n this.rowDrop();\n this.columnDrop();\n },\n rowDrop: function rowDrop() {\n var _this = this;\n\n var el = this.crud.$refs.table.$el.querySelectorAll(this.config.dropRowClass)[0];\n this.crud.tableDrop('row', el, function (evt) {\n var oldIndex = evt.oldIndex;\n var newIndex = evt.newIndex;\n\n var targetRow = _this.crud.list.splice(oldIndex, 1)[0];\n\n _this.crud.list.splice(newIndex, 0, targetRow);\n\n _this.crud.$emit('sortable-change', oldIndex, newIndex);\n\n _this.crud.refreshTable(function () {\n return _this.rowDrop();\n });\n });\n },\n columnDrop: function columnDrop() {\n var _this2 = this;\n\n var el = this.crud.$refs.table.$el.querySelector(this.config.dropColClass);\n this.crud.tableDrop('column', el, function (evt) {\n _this2.crud.headerSort(evt.oldIndex, evt.newIndex);\n\n _this2.columnDrop();\n });\n }\n }\n}));\n\n//# sourceURL=webpack://AVUE/./packages/element-ui/crud/column-default.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_create__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/create */ \"./src/core/create.js\");\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./config.js */ \"./packages/element-ui/crud/config.js\");\n/* harmony import */ var core_packages__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/packages */ \"./src/core/packages.js\");\n/* harmony import */ var core_locale__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core/locale */ \"./src/core/locale.js\");\n/* harmony import */ var common_directive_permission__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! common/directive/permission */ \"./packages/core/directive/permission.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Object(core_create__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n name: \"crud\",\n data: function data() {\n return {\n config: _config_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]\n };\n },\n mixins: [core_locale__WEBPACK_IMPORTED_MODULE_3__[\"default\"]],\n inject: [\"crud\"],\n methods: {\n indexMethod: function indexMethod(index) {\n return index + 1 + ((this.crud.page.currentPage || 1) - 1) * (this.crud.page.pageSize || 10);\n },\n setSort: function setSort() {\n this.rowDrop();\n this.columnDrop();\n },\n rowDrop: function rowDrop() {\n var _this = this;\n\n var el = this.crud.$refs.table.$el.querySelectorAll(this.config.dropRowClass)[0];\n this.crud.tableDrop('row', el, function (evt) {\n var oldIndex = evt.oldIndex;\n var newIndex = evt.newIndex;\n\n var targetRow = _this.crud.list.splice(oldIndex, 1)[0];\n\n _this.crud.list.splice(newIndex, 0, targetRow);\n\n _this.crud.$emit('sortable-change', oldIndex, newIndex);\n\n _this.crud.refreshTable(function () {\n return _this.rowDrop();\n });\n });\n },\n columnDrop: function columnDrop() {\n var _this2 = this;\n\n var el = this.crud.$refs.table.$el.querySelector(this.config.dropColClass);\n var noIndexCount = 0; // 删除不需要的下标,因为option设置了selection,index等导致列拖拽失败,就是index错误导致的。\n\n if (this.crud.tableOption.selection) {\n noIndexCount += 1;\n }\n\n if (this.crud.tableOption.index) {\n noIndexCount += 1;\n }\n\n this.crud.tableDrop('column', el, function (evt) {\n _this2.crud.headerSort(evt.oldIndex - noIndexCount, evt.newIndex - noIndexCount);\n\n _this2.columnDrop();\n });\n }\n }\n}));\n\n//# sourceURL=webpack://AVUE/./packages/element-ui/crud/column-default.vue?./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options"); /***/ }), @@ -1466,9 +1466,9 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ }), -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./packages/element-ui/crud/column-default.vue?vue&type=template&id=a94e304a&": +/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./packages/element-ui/crud/column-default.vue?vue&type=template&id=02312786&": /*!******************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/element-ui/crud/column-default.vue?vue&type=template&id=a94e304a& ***! + !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/element-ui/crud/column-default.vue?vue&type=template&id=02312786& ***! \******************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -3274,7 +3274,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _column_default_vue_vue_type_template_id_a94e304a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./column-default.vue?vue&type=template&id=a94e304a& */ \"./packages/element-ui/crud/column-default.vue?vue&type=template&id=a94e304a&\");\n/* harmony import */ var _column_default_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./column-default.vue?vue&type=script&lang=js& */ \"./packages/element-ui/crud/column-default.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _column_default_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _column_default_vue_vue_type_template_id_a94e304a___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _column_default_vue_vue_type_template_id_a94e304a___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://AVUE/./packages/element-ui/crud/column-default.vue?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _column_default_vue_vue_type_template_id_02312786___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./column-default.vue?vue&type=template&id=02312786& */ \"./packages/element-ui/crud/column-default.vue?vue&type=template&id=02312786&\");\n/* harmony import */ var _column_default_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./column-default.vue?vue&type=script&lang=js& */ \"./packages/element-ui/crud/column-default.vue?vue&type=script&lang=js&\");\n/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ \"./node_modules/vue-loader/lib/runtime/componentNormalizer.js\");\n\n\n\n\n\n/* normalize component */\n\nvar component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _column_default_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _column_default_vue_vue_type_template_id_02312786___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _column_default_vue_vue_type_template_id_02312786___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null\n \n)\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);\n\n//# sourceURL=webpack://AVUE/./packages/element-ui/crud/column-default.vue?"); /***/ }), @@ -3290,15 +3290,15 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod /***/ }), -/***/ "./packages/element-ui/crud/column-default.vue?vue&type=template&id=a94e304a&": +/***/ "./packages/element-ui/crud/column-default.vue?vue&type=template&id=02312786&": /*!************************************************************************************!*\ - !*** ./packages/element-ui/crud/column-default.vue?vue&type=template&id=a94e304a& ***! + !*** ./packages/element-ui/crud/column-default.vue?vue&type=template&id=02312786& ***! \************************************************************************************/ /*! exports provided: render, staticRenderFns */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_column_default_vue_vue_type_template_id_a94e304a___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./column-default.vue?vue&type=template&id=a94e304a& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./packages/element-ui/crud/column-default.vue?vue&type=template&id=a94e304a&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_column_default_vue_vue_type_template_id_a94e304a___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_column_default_vue_vue_type_template_id_a94e304a___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack://AVUE/./packages/element-ui/crud/column-default.vue?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_column_default_vue_vue_type_template_id_02312786___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./column-default.vue?vue&type=template&id=02312786& */ \"./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./packages/element-ui/crud/column-default.vue?vue&type=template&id=02312786&\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_column_default_vue_vue_type_template_id_02312786___WEBPACK_IMPORTED_MODULE_0__[\"render\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_column_default_vue_vue_type_template_id_02312786___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"]; });\n\n\n\n//# sourceURL=webpack://AVUE/./packages/element-ui/crud/column-default.vue?"); /***/ }), @@ -5505,7 +5505,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("module.exports = __webpack_require__(/*! /Users/smallwei/Desktop/avue/avue2.0/avue/src/index.js */\"./src/index.js\");\n\n\n//# sourceURL=webpack://AVUE/multi_./src/index.js?"); +eval("module.exports = __webpack_require__(/*! C:\\Users\\12982\\Desktop\\新建文件夹\\avue\\src\\index.js */\"./src/index.js\");\n\n\n//# sourceURL=webpack://AVUE/multi_./src/index.js?"); /***/ }), diff --git a/packages/element-ui/crud/column-default.vue b/packages/element-ui/crud/column-default.vue index 22cbec321..19a5b64a1 100644 --- a/packages/element-ui/crud/column-default.vue +++ b/packages/element-ui/crud/column-default.vue @@ -79,8 +79,11 @@ export default create({ }, columnDrop () { let el = this.crud.$refs.table.$el.querySelector(this.config.dropColClass); + let noIndexCount = 0; // 删除不需要的下标,因为option设置了selection,index等导致列拖拽失败,就是index错误导致的。 + if(this.crud.tableOption.selection){ noIndexCount+=1 } + if(this.crud.tableOption.index){ noIndexCount+=1 } this.crud.tableDrop('column', el, evt => { - this.crud.headerSort(evt.oldIndex, evt.newIndex) + this.crud.headerSort(evt.oldIndex - noIndexCount, evt.newIndex - noIndexCount ) this.columnDrop() }) }, -- Gitee