wanggang 2 years ago
parent
commit
bebe950fae
  1. 127
      fe/PC/src/components/rowDrop/index.vue
  2. 1
      fe/PC/src/components/tablePagination/index.vue
  3. 16
      fe/PC/src/components/umyTable/index.vue
  4. 54
      fe/PC/src/mixins/mixins.js

127
fe/PC/src/components/rowDrop/index.vue

@ -102,74 +102,69 @@
close() { close() {
this.$emit('closeRowDrop') this.$emit('closeRowDrop')
}, },
// save () { save () {
// this.$emit('closeRowDrop') this.$forceUpdate()
// this.$emit('radio',this.dataList) this.$emit('radio',this.dataList)
// // + // +
// localStorage.setItem(this.$store.getters.name.userName + '_' + this.$route.name, JSON.stringify(this.dataList)) localStorage.setItem(this.$store.getters.name.userName + '_' + this.$route.name, JSON.stringify(this.dataList))
// }, },
// //
formatData (val) { formatData (val) {
this.dataList = JSON.parse(JSON.stringify(val)) this.dataList = JSON.parse(JSON.stringify(val))
this.dataList.forEach(item => { this.dataList.forEach(item => {
if (item.isture == undefined) { if (item.isture == undefined) {
item.isture = true item.isture = true
}
})
},
//
handleEdit(index, row) {
console.log(index, row);
},
handleDelete(index, row) {
console.log(index, row);
},
dragstart(value) {
this.oldData = value
},
//
dragenter(value, e) {
this.newData = value
e.preventDefault()
},
//
dragend(value, e) {
if (this.oldData !== this.newData) {
let oldIndex = this.dataList.indexOf(this.oldData)
let newIndex = this.dataList.indexOf(this.newData)
let newItems = [...this.dataList]
//
newItems.splice(oldIndex, 1)
//
newItems.splice(newIndex, 0, this.oldData)
this.dataList = [...newItems]
this.$emit('radio',this.dataList)
} }
}, })
// },
dragover(e) { //
e.preventDefault() handleEdit(index, row) {
}, console.log(index, row);
// },
// handleDelete(index, row) {
visclose(){ console.log(index, row);
this.visibleclose = false },
this.visibleon = true dragstart(value) {
}, this.oldData = value
// },
vison(){ //
this.visibleclose = true dragenter(value, e) {
this.visibleon = false this.newData = value
}, e.preventDefault()
rediochange(index){ },
this.dataList[index].isture = !this.dataList[index].isture //
this.$forceUpdate() dragend(value, e) {
// this.checked = !this.checked if (this.oldData !== this.newData) {
this.$emit('radio',this.dataList) let oldIndex = this.dataList.indexOf(this.oldData)
// + let newIndex = this.dataList.indexOf(this.newData)
localStorage.setItem(this.$store.getters.name.userName + '_' + this.$route.name, JSON.stringify(this.dataList)) let newItems = [...this.dataList]
//
newItems.splice(oldIndex, 1)
//
newItems.splice(newIndex, 0, this.oldData)
this.dataList = [...newItems]
this.save()
} }
},
//
dragover(e) {
e.preventDefault()
},
//
//
visclose(){
this.visibleclose = false
this.visibleon = true
},
//
vison(){
this.visibleclose = true
this.visibleon = false
},
rediochange(index){
this.dataList[index].isture = !this.dataList[index].isture
this.save()
}
} }
} }
</script> </script>

1
fe/PC/src/components/tablePagination/index.vue

@ -51,6 +51,7 @@
@inlineDialog="inlineDialog" @inlineDialog="inlineDialog"
@buttonOperationClick="buttonOperationClick" @buttonOperationClick="buttonOperationClick"
:tableBorder="true" :tableBorder="true"
:firstFixed="true"
> >
<template> <template>
<slot></slot> <slot></slot>

16
fe/PC/src/components/umyTable/index.vue

@ -26,7 +26,7 @@
:key="index" :key="index"
:prop="item.showProp ? item.prop + '.' + item.showProp : item.prop" :prop="item.showProp ? item.prop + '.' + item.showProp : item.prop"
:sortable="item.sortable" :sortable="item.sortable"
:fixed="item.fixed" :fixed="setItemFixed(item,index)"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
:width="item.width" :width="item.width"
:align="item.tableAlign" :align="item.tableAlign"
@ -338,6 +338,11 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
// itemfixed
firstFixed: {
type: Boolean,
default: false,
},
propsData: { propsData: {
type: Object, type: Object,
default: () => { default: () => {
@ -479,6 +484,15 @@ export default {
getTableHeight(){ getTableHeight(){
return this.uTableHeight return this.uTableHeight
}, },
setItemFixed(item,index){
let _re = false
if(this.firstFixed){
if(index == 0)_re = true
}else{
_re = item.fixed
}
return _re
},
// inputonkeyup // inputonkeyup
typeNumberOnkeyup(item,value){ typeNumberOnkeyup(item,value){
if(value){ if(value){

54
fe/PC/src/mixins/mixins.js

@ -52,26 +52,56 @@ export const mixins = {
} }
}, },
methods: { methods: {
// 结合默认及缓存中的列表tableColumns数据做初始化
initTableColumns(){ initTableColumns(){
let _local = localStorage.getItem(this.$store.getters.name.userName + '_' + this.$route.name) let _local = localStorage.getItem(this.$store.getters.name.userName + '_' + this.$route.name)
let _list_local = JSON.parse(localStorage.getItem(this.$store.getters.name.userName + '_' + this.$route.name)) let _list_local = JSON.parse(localStorage.getItem(this.$store.getters.name.userName + '_' + this.$route.name))
let _list_defalut = this.$isTableColumns[this.$route.name] let _list_defalut = this.$isTableColumns[this.$route.name]
let _new_list = [] //格式化后的数据 let _new_list = [] //格式化后的数据
// 如果没有缓存则直接为默认值
if(!_local){ if(!_local){
_new_list = _list_defalut
}else{
// 如果默认中已经删除掉的,本地中缓存中也不显示,新增字段,缓存中也显示(默认为眼睛关闭)
_list_defalut.forEach((defalutItem,index) => { _list_defalut.forEach((defalutItem,index) => {
defalutItem.isture = false defalutItem.isture = true
_new_list.push(defalutItem) _new_list.push(defalutItem)
_list_local.forEach(localItem => { })
if(!defalutItem.showProp && defalutItem.prop == localItem.prop){ }
_new_list[index].isture = localItem.isture // 如果有缓存:默认中已经删除掉的,本地中缓存中也不显示,新增字段,缓存中也显示(默认为眼睛关闭)
}else if(defalutItem.showProp && defalutItem.showProp == localItem.showProp){ else{
_new_list[index].isture = localItem.isture // 先处理缓存数据,设置索引
} let _locals = {}
}); _list_local.forEach((localItem,index) => {
}); localItem.itemIndex = index
if(localItem.showProp && typeof localItem.showProp == 'string'){
_locals[localItem.showProp] = localItem
}else{
_locals[localItem.prop] = localItem
}
})
// 将缓存与默认设置合并,索引同步
let _number = 0
_list_defalut.forEach((defalutItem) => {
if(_locals[defalutItem.showProp]){
defalutItem.isture = _locals[defalutItem.showProp].isture
defalutItem.itemIndex = _locals[defalutItem.showProp].itemIndex
}else if(_locals[defalutItem.prop]){
defalutItem.isture = _locals[defalutItem.prop].isture
defalutItem.itemIndex = _locals[defalutItem.prop].itemIndex
}else{
defalutItem.isture = false
defalutItem.itemIndex = _number
}
_number ++
_new_list.push(defalutItem)
})
// 按索引排序
function compare(property) {
return function (a, b) {
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
_new_list.sort(compare("itemIndex"))
} }
return _new_list return _new_list
}, },

Loading…
Cancel
Save