|
@ -61,7 +61,7 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="选择对象" prop="paramName"> |
|
|
<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-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-option v-for="item in sendObjOptions" :key="item.value" :label="item.label" :value="item.value" /> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
@ -97,7 +97,7 @@ export default { |
|
|
sendVisible: false, |
|
|
sendVisible: false, |
|
|
delVisible: false, |
|
|
delVisible: false, |
|
|
sendForm: { |
|
|
sendForm: { |
|
|
msgType: '1', |
|
|
|
|
|
|
|
|
msgType: 1, |
|
|
notification: '', |
|
|
notification: '', |
|
|
pushObj: '用户', |
|
|
pushObj: '用户', |
|
|
sendObj: ['全选'] |
|
|
sendObj: ['全选'] |
|
@ -105,26 +105,25 @@ export default { |
|
|
pushObj: '用户', |
|
|
pushObj: '用户', |
|
|
checked: '', |
|
|
checked: '', |
|
|
msgTypeOptions: [ |
|
|
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: [ |
|
|
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: [ |
|
|
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: [], |
|
|
selectOptions: [], |
|
|
showTags: true, |
|
|
showTags: true, |
|
@ -157,14 +156,6 @@ export default { |
|
|
getData() { |
|
|
getData() { |
|
|
this.tableData = data1.rows |
|
|
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) { |
|
|
clickRowHandler(row) { |
|
|
// this.$refs.table.clearSelection() |
|
|
// this.$refs.table.clearSelection() |
|
|
this.$refs.table.toggleRowSelection(row) // 单选选中 |
|
|
this.$refs.table.toggleRowSelection(row) // 单选选中 |
|
@ -223,38 +214,50 @@ export default { |
|
|
// // console.log(this.sendForm.sendObj) |
|
|
// // console.log(this.sendForm.sendObj) |
|
|
// }, |
|
|
// }, |
|
|
// el-select 选中值发生变化时触发,val为目前选中的值 |
|
|
// el-select 选中值发生变化时触发,val为目前选中的值 |
|
|
|
|
|
|
|
|
|
|
|
// 默认全选 |
|
|
|
|
|
defaultSelAll() { |
|
|
|
|
|
this.selectOptions = this.sendObjOptions.map(item => { return item.value }) |
|
|
|
|
|
this.showTags = true |
|
|
|
|
|
}, |
|
|
changeSelect(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('全选') |
|
|
|
|
|
this.showTags = true |
|
|
|
|
|
this.$refs.selectBox.$el.querySelector('.el-input__inner').style.height = '34px' |
|
|
|
|
|
} else if (val.includes('全选') && val.length - 1 < this.sendObjOptions.length) { |
|
|
|
|
|
// 当前选中得值是其他项,未全部选完时 |
|
|
|
|
|
|
|
|
if (val[val.length - 1] === 0) { |
|
|
|
|
|
this.defaultSelAll() |
|
|
|
|
|
} else { |
|
|
|
|
|
this.selectOptions = this.selectOptions.filter(item => item !== 0) |
|
|
this.showTags = false |
|
|
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) { |
|
|
pushObjChange(val) { |
|
|
if (val) { |
|
|
if (val) { |
|
|