Browse Source

字段设置全选

集成Redis
安虹睿 2 years ago
parent
commit
9adcc3c8e0
  1. 91
      fe/PC/src/components/rowDrop/index.vue

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

@ -8,6 +8,13 @@
<div class="test_wrapper" @dragover="dragover($event)"> <div class="test_wrapper" @dragover="dragover($event)">
<div class="text" >字段设置</div> <div class="text" >字段设置</div>
<el-divider></el-divider> <el-divider></el-divider>
<!-- 全选 -->
<div class="allSelectContent" @click="redioAllChange()">
<i class="el-icon-success icon" v-if="allSeletType == 'allSelect'"></i>
<i class="el-icon-remove icon" v-if="allSeletType == 'hasSelect'"></i>
<i class="el-icon-success icon" v-if="allSeletType == 'NoSelect'" style="color:#999" ></i>
全选
</div>
<transition-group class="transition-wrapper" name="sort"> <transition-group class="transition-wrapper" name="sort">
<div <div
v-for="(item,index) in dataList" v-for="(item,index) in dataList"
@ -25,12 +32,6 @@
@click="rediochange(index)" @click="rediochange(index)"
:icon-class="dataList[index].isture ? 'show' : 'hide'" :icon-class="dataList[index].isture ? 'show' : 'hide'"
/> />
<!-- <svg-icon v-if="!dataList[index].isture" @change="rediochange" icon-class="hide" /> -->
<!-- <el-checkbox
v-model="dataList[index].isture"
@change="rediochange"
:data="checked"
></el-checkbox> -->
<div class="lable">{{ item.label }}</div> <div class="lable">{{ item.label }}</div>
</div> </div>
</transition-group> </transition-group>
@ -53,13 +54,12 @@ export default {
}, },
data() { data() {
return { return {
visibleclose:true,
visibleon:false,
name: null, name: null,
oldData: null, oldData: null,
newData: null, newData: null,
// checked: false,
dataList: [], dataList: [],
// allSelect hasSelect NoSelect
allSeletType:'NoSelect',
} }
}, },
props: { props: {
@ -78,6 +78,7 @@ export default {
}, },
mounted() { mounted() {
this.formatData(this.tableColumns) this.formatData(this.tableColumns)
this.initSelectSta()
}, },
methods: { methods: {
reset() { reset() {
@ -93,6 +94,7 @@ export default {
item.isture = true item.isture = true
}) })
this.dataList = _resetCol this.dataList = _resetCol
this.initSelectSta()
this.$emit('radio',_resetCol) this.$emit('radio',_resetCol)
this.close() this.close()
}).catch(() => { }).catch(() => {
@ -102,12 +104,6 @@ export default {
close() { close() {
this.$emit('closeRowDrop') this.$emit('closeRowDrop')
}, },
// save () {
// this.$emit('closeRowDrop')
// this.$emit('radio',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))
@ -117,32 +113,12 @@ export default {
} }
}) })
}, },
//
handleEdit(index, row) {
console.log(index, row);
},
save () { save () {
this.$forceUpdate() 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) {
this.dataList = JSON.parse(JSON.stringify(val))
this.dataList.forEach(item => {
if (item.isture == undefined) {
item.isture = true
}
})
},
//
handleEdit(index, row) {
console.log(index, row);
},
handleDelete(index, row) {
console.log(index, row);
},
dragstart(value) { dragstart(value) {
this.oldData = value this.oldData = value
}, },
@ -169,21 +145,33 @@ export default {
dragover(e) { dragover(e) {
e.preventDefault() e.preventDefault()
}, },
// // item
//
visclose(){
this.visibleclose = false
this.visibleon = true
},
//
vison(){
this.visibleclose = true
this.visibleon = false
},
rediochange(index){ rediochange(index){
this.dataList[index].isture = !this.dataList[index].isture this.dataList[index].isture = !this.dataList[index].isture
this.initSelectSta()
this.save() this.save()
},
//
initSelectSta(){
let _num = 0
this.dataList.forEach(item=>{
if(item.isture){
_num ++
} }
})
if(_num == 0){this.allSeletType = 'NoSelect'}
if(_num == this.dataList.length){this.allSeletType = 'allSelect'}
if(_num > 0 && _num != this.dataList.length){this.allSeletType = 'hasSelect'}
},
//
redioAllChange(){
let isSelectAll = !(this.allSeletType == 'allSelect')
this.allSeletType = isSelectAll ? 'allSelect' : 'NoSelect';
this.dataList.forEach(item=>{
return item.isture = isSelectAll
})
this.save()
},
} }
} }
</script> </script>
@ -225,6 +213,17 @@ $paddingSize:20px;
font-weight: bold; font-weight: bold;
padding: $paddingSize 0 0 $paddingSize; padding: $paddingSize 0 0 $paddingSize;
} }
.allSelectContent{
user-select: none;
cursor: pointer;
padding:0 0 10px $paddingSize;
.icon{
font-size:18px;
vertical-align: middle;
color: #409EFF;
margin-right: 5px;
}
}
.buttonsBox{ .buttonsBox{
text-align: center; text-align: center;
margin: 0; margin: 0;

Loading…
Cancel
Save