Browse Source

选择器全选bug

master
x_ying 3 years ago
parent
commit
e98a588c6a
  1. 39
      src/views/archivesManage/archivesCheck/module/addCheck.vue
  2. 113
      src/views/system/notifyManage/index.vue

39
src/views/archivesManage/archivesCheck/module/addCheck.vue

@ -27,6 +27,8 @@
filterable
clearable
placeholder="请选择"
:collapse-tags="showTags"
@change="selectChange"
>
<el-option
v-for="item in category"
@ -68,10 +70,10 @@ var menus = [
id: 1,
label: '父区域',
children: [
{
id: 100,
label: '子区域1',
children: [
// {
// id: 100,
// label: '1',
// children: [
{
id: 1000,
label: '设备1.1'
@ -112,8 +114,8 @@ var menus = [
}
]
}
]
}
// ]
// }
]
export default {
components: { Treeselect },
@ -128,13 +130,15 @@ export default {
defaultProps: { children: 'children', label: 'label' },
nodeKey: 'id',
defaultCheckedKeys: [],
categoryValue: ['选项1'],
categoryValue: [0, 1, 2, 3],
category: [
{ value: '选项1', label: '全部' },
{ value: '选项2', label: '档号' },
{ value: '选项3', label: '题名' },
{ value: '选项4', label: '位置' }
]
{ value: 0, label: '全部' },
{ value: 1, label: '档号' },
{ value: 2, label: '题名' },
{ value: 3, label: '位置' }
],
showTags: true
}
},
@ -144,6 +148,17 @@ export default {
},
handleSave() {
this.addFormVisible = false
},
//
selectChange(val) {
console.log(val)
if (val[val.length - 1] === 0) {
this.categoryValue = [0, 1, 2, 3]
this.showTags = true
} else {
this.categoryValue = this.categoryValue.filter(item => item !== 0)
this.showTags = false
}
}
}

113
src/views/system/notifyManage/index.vue

@ -61,7 +61,7 @@
</el-form-item>
<el-form-item label="选择对象" prop="paramName">
<el-select ref="selectBox" v-model="selectOptions" multiple :collapse-tags="showTags" clearable placeholder="请选择" style="width:315px" @change="changeSelect">
<el-option key="全选" label="全选" value="全选" />
<!-- <el-option key="全选" label="全选" value="全选" /> -->
<el-option v-for="item in sendObjOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
@ -97,7 +97,7 @@ export default {
sendVisible: false,
delVisible: false,
sendForm: {
msgType: '1',
msgType: 1,
notification: '',
pushObj: '用户',
sendObj: ['全选']
@ -105,26 +105,25 @@ export default {
pushObj: '用户',
checked: '',
msgTypeOptions: [
{ value: '1', label: '系统通知' },
{ value: '2', label: '报警消息', disabled: true },
{ value: '3', label: '借还消息', disabled: true },
{ value: '4', label: '下载消息', disabled: true }
{ value: 1, label: '系统通知' },
{ value: 2, label: '报警消息', disabled: true },
{ value: 3, label: '借还消息', disabled: true },
{ value: 4, label: '下载消息', disabled: true }
],
personOptions: [
{ value: '1', label: '张三' },
{ value: '2', label: '李四' },
{ value: '3', label: '王五' },
{ value: '4', label: '张三' },
{ value: '5', label: '李四' },
{ value: '6', label: '王五' },
{ value: '7', label: '张三' },
{ value: '8', label: '李四' },
{ value: '9', label: '王五' }
{ value: 0, label: '全部用户' },
{ value: 1, label: '张三' },
{ value: 2, label: '李四' },
{ value: 3, label: '王五' },
{ value: 4, label: '张三' },
{ value: 5, label: '李四' },
{ value: 6, label: '王五' }
],
devOptions: [
{ value: '1', label: '设备1' },
{ value: '2', label: '设备2' },
{ value: '3', label: '设备3' }
{ value: 0, label: '全部设备' },
{ value: 1, label: '设备1' },
{ value: 2, label: '设备2' },
{ value: 3, label: '设备3' }
],
selectOptions: [],
showTags: true,
@ -157,14 +156,6 @@ export default {
getData() {
this.tableData = data1.rows
},
//
defaultSelAll() {
let arr = null
arr = this.sendObjOptions.map(item => { return item.value })
this.selectOptions = ['全选', ...arr]
console.log(this.selectOptions)
this.showTags = true
},
clickRowHandler(row) {
// this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(row) //
@ -223,38 +214,50 @@ export default {
// // console.log(this.sendForm.sendObj)
// },
// el-select val
changeSelect(val) {
//
var endSelectVal = val[val.length - 1]
// showTags collapse-tags
if (!val.includes('全选') && val.length === this.sendObjOptions.length) {
//
this.showTags = true
val.unshift('全选')
this.$refs.selectBox.$el.querySelector('.el-input__inner').style.height = '34px'
} else if (val.includes('全选') && val.length === 1) {
//
this.showTags = true
this.sendObjOptions.map(item => {
val.push(item.value)
})
} else if (val.includes('全选') && val.length - 1 < this.sendObjOptions.length && endSelectVal === '全选') {
//
val = []
this.sendObjOptions.map(item => {
val.push(item.value)
})
val.unshift('全选')
//
defaultSelAll() {
this.selectOptions = this.sendObjOptions.map(item => { return item.value })
this.showTags = true
this.$refs.selectBox.$el.querySelector('.el-input__inner').style.height = '34px'
} else if (val.includes('全选') && val.length - 1 < this.sendObjOptions.length) {
//
},
changeSelect(val) {
if (val[val.length - 1] === 0) {
this.defaultSelAll()
} else {
this.selectOptions = this.selectOptions.filter(item => item !== 0)
this.showTags = false
val = val.filter(item => {
return item !== '全选'
})
}
this.selectOptions = val // select
//
// var endSelectVal = val[val.length - 1]
// // showTags collapse-tags
// if (!val.includes('') && val.length === this.sendObjOptions.length) {
// //
// this.showTags = true
// val.unshift('')
// this.$refs.selectBox.$el.querySelector('.el-input__inner').style.height = '34px'
// } else if (val.includes('') && val.length === 1) {
// //
// this.showTags = true
// this.sendObjOptions.map(item => {
// val.push(item.value)
// })
// } else if (val.includes('') && val.length - 1 < this.sendObjOptions.length && endSelectVal === '') {
// //
// val = []
// this.sendObjOptions.map(item => {
// val.push(item.value)
// })
// val.unshift('')
// this.showTags = true
// this.$refs.selectBox.$el.querySelector('.el-input__inner').style.height = '34px'
// } else if (val.includes('') && val.length - 1 < this.sendObjOptions.length) {
// //
// this.showTags = false
// val = val.filter(item => {
// return item !== ''
// })
// }
// this.selectOptions = val // select
},
pushObjChange(val) {
if (val) {

Loading…
Cancel
Save