| | |
| | | "portfinder": "^1.0.23", |
| | | "quill": "^1.3.7", |
| | | "script-loader": "^0.7.2", |
| | | "sortablejs": "^1.15.6", |
| | | "v-charts": "^1.19.0", |
| | | "vue": "^2.6.10", |
| | | "vue-axios": "^2.1.2", |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <el-select ref="dragSelect" v-model="selectVal" v-bind="$attrs" class="drag-select" multiple v-on="$listeners" @change="changeHandler"> |
| | | <slot /> |
| | | </el-select> |
| | | </template> |
| | | |
| | | <script> |
| | | import Sortable from 'sortablejs' |
| | | |
| | | export default { |
| | | name: 'DragSelect', |
| | | props: { |
| | | value: { |
| | | type: Array, |
| | | required: true |
| | | } |
| | | }, |
| | | computed: { |
| | | selectVal: { |
| | | get() { |
| | | return [...this.value] |
| | | }, |
| | | set(val) { |
| | | this.$emit('input', [...val]) |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.setSort() |
| | | }, |
| | | methods: { |
| | | setSort() { |
| | | const el = this.$refs.dragSelect.$el.querySelectorAll('.el-select__tags > span')[0] |
| | | this.sortable = Sortable.create(el, { |
| | | ghostClass: 'sortable-ghost', |
| | | setData: function(dataTransfer) { |
| | | dataTransfer.setData('Text', '') |
| | | }, |
| | | onEnd: evt => { |
| | | const targetRow = this.value.splice(evt.oldIndex, 1)[0] |
| | | this.value.splice(evt.newIndex, 0, targetRow) |
| | | } |
| | | }) |
| | | }, |
| | | changeHandler(val){ |
| | | this.$emit('outFileChange',val); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .drag-select { |
| | | ::v-deep { |
| | | .sortable-ghost { |
| | | opacity: .8; |
| | | color: #fff !important; |
| | | background: #42b983 !important; |
| | | } |
| | | |
| | | .el-tag { |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | | |
| | |
| | | width="60%" |
| | | @close="closeDialog" |
| | | > |
| | | <el-form ref="form" size="small" v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px"> |
| | | <el-form ref="form" v-loading="formLoading" :model="form" :rules="rules" label-position="right" label-width="100px" |
| | | size="small"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="åç§°" prop="viName"> |
| | |
| | | |
| | | <el-col :span="24"> |
| | | <el-form-item label="æ¾ç¤ºå段" prop="showLabel"> |
| | | <el-select v-model="form.itemOutFieldList" multiple placeholder="è¯·éæ©" style="width: 100%" |
| | | @change="outFileChange"> |
| | | <el-option |
| | | v-for="(item,index) in form.itemSelectOutFieldList" |
| | | :key="index" |
| | | :label="item.id" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-drag-select v-model="form.itemOutFieldList" multiple placeholder="è¯·éæ©" style="width:100%;" @outFileChange="outFileChange"> |
| | | <el-option v-for="(item,index) in form.itemSelectOutFieldList" :key="index" :label="item.id" |
| | | :value="item.id"/> |
| | | </el-drag-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | |
| | | import basicOption from "@/util/basic-option"; |
| | | import {gridPortalVIDatas, getPortalVIById, getItemDblList, savePortalVI, getObjTypeQTs} from "@/api/UI/formDefine/api"; |
| | | import func from "@/util/func"; |
| | | import ElDragSelect from './DragSelect' |
| | | |
| | | export default { |
| | | name: "tableDialog", |
| | | components: {ElDragSelect}, |
| | | props: { |
| | | TreeNodeRow: { |
| | | type: Object, |
| | |
| | | $cellEdit: true, |
| | | key: item, |
| | | value: '250', |
| | | |
| | | } |
| | | }) |
| | | }, |