支持源页面可拖曳

This commit is contained in:
haiyangcui
2020-09-09 17:34:23 +02:00
parent f154f44772
commit 3151b33a23
3 changed files with 38 additions and 8 deletions

View File

@@ -14,10 +14,16 @@
<div class="zy-table">
<div class="tBody zy-scroll">
<ul>
<li v-show="sites.length === 0">无数据</li>
<li v-for="(i, j) in sites" :key="j">
<span class="name">{{i.name}}</span>
</li>
<draggable v-model="sites" @change="listUpdatedEvent">
<transition-group>
<li v-for="(i, j) in sites" :key="j">
<span class="name">{{i.name}}</span>
<span class="operate">
<span class="btn" @click.stop="removeEvent(i)">删除</span>
</span>
</li>
</transition-group>
</draggable>
</ul>
</div>
</div>
@@ -28,15 +34,18 @@
<script>
import { mapMutations } from 'vuex'
import { sites } from '../lib/dexie'
import draggable from 'vuedraggable'
export default {
name: 'editSites',
data () {
this.$message.success('In editSites data')
return {
show: false,
sites: []
}
},
components: {
draggable
},
computed: {
view: {
get () {
@@ -64,6 +73,24 @@ export default {
sites.all().then(res => {
this.sites = res
})
},
removeEvent (e) {
sites.remove(e.id).then(res => {
this.getSites()
}).catch(err => {
this.$message.warning('删除源失败, 错误信息: ' + err)
})
},
listUpdatedEvent () {
sites.clear().then(res1 => {
// 重新排序
var id = 1
this.sites.forEach(element => {
element.id = id
sites.add(element)
id += 1
})
})
}
},
created () {

View File

@@ -408,7 +408,7 @@ export default {
result.filePaths.forEach(file => {
var str = fs.readFileSync(file)
const json = JSON.parse(str)
sites.add(json).then(e => {
sites.bulkAdd(json).then(e => {
this.getSites()
this.d.site = json[0].key
setting.update(this.d).then(res => {
@@ -430,7 +430,7 @@ export default {
},
resetSites () {
sites.clear()
sites.add(defaultSites).then(e => {
sites.bulkAdd(defaultSites).then(e => {
this.getSites()
this.d.site = defaultSites[0].key
setting.update(this.d).then(res => {

View File

@@ -7,10 +7,13 @@ export default {
async clear () {
return await sites.clear()
},
async add (doc) {
async bulkAdd (doc) {
return await sites.bulkAdd(doc)
},
async find (doc) {
return await sites.get(doc)
},
async add (doc) {
return await sites.add(doc)
}
}