From ed04c24eb35a16c122e4c32b2cc703b5c385760f Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期三, 01 四月 2020 09:52:49 +0800 Subject: [PATCH] 代码生成列支持拖动排序 --- ruoyi-ui/package.json | 1 + ruoyi-ui/src/views/tool/gen/editTable.vue | 15 ++++++++++++++- ruoyi-ui/src/assets/styles/ruoyi.scss | 7 +++++++ 3 files changed, 22 insertions(+), 1 deletions(-) diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index 923126c..62c2bdd 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -54,6 +54,7 @@ "nprogress": "0.2.0", "path-to-regexp": "2.4.0", "screenfull": "4.2.0", + "sortablejs": "1.8.4", "vue": "2.6.10", "vue-count-to": "1.0.13", "vue-quill-editor": "3.0.6", diff --git a/ruoyi-ui/src/assets/styles/ruoyi.scss b/ruoyi-ui/src/assets/styles/ruoyi.scss index 77307e5..42d90a6 100644 --- a/ruoyi-ui/src/assets/styles/ruoyi.scss +++ b/ruoyi-ui/src/assets/styles/ruoyi.scss @@ -187,4 +187,11 @@ border-radius: 50%; box-shadow: 0 0 4px #ccc; overflow: hidden; +} + +/* 拖拽列样式 */ +.sortable-ghost{ + opacity: .8; + color: #fff!important; + background: #42b983!important; } \ No newline at end of file diff --git a/ruoyi-ui/src/views/tool/gen/editTable.vue b/ruoyi-ui/src/views/tool/gen/editTable.vue index cf76a27..6f95081 100644 --- a/ruoyi-ui/src/views/tool/gen/editTable.vue +++ b/ruoyi-ui/src/views/tool/gen/editTable.vue @@ -5,7 +5,7 @@ <basic-info-form ref="basicInfo" :info="info" /> </el-tab-pane> <el-tab-pane label="字段信息" name="cloum"> - <el-table :data="cloumns" :max-height="tableHeight"> + <el-table ref="dragTable" :data="cloumns" row-key="columnId" :max-height="tableHeight"> <el-table-column label="序号" type="index" min-width="5%" /> <el-table-column label="字段列名" @@ -126,6 +126,7 @@ import { optionselect as getDictOptionselect } from "@/api/system/dict/type"; import basicInfoForm from "./basicInfoForm"; import genInfoForm from "./genInfoForm"; +import Sortable from 'sortablejs' export default { name: "GenEdit", components: { @@ -198,6 +199,18 @@ this.$store.dispatch("tagsView/delView", this.$route); this.$router.push({ path: "/tool/gen", query: { t: Date.now()}}) } + }, + mounted() { + const el = this.$refs.dragTable.$el.querySelectorAll(".el-table__body-wrapper > table > tbody")[0]; + const sortable = Sortable.create(el, { + onEnd: evt => { + const targetRow = this.cloumns.splice(evt.oldIndex, 1)[0]; + this.cloumns.splice(evt.newIndex, 0, targetRow); + for (let index in this.cloumns) { + this.cloumns[index].sort = parseInt(index) + 1; + } + } + }); } }; </script> -- Gitblit v1.9.2