416fbc94 by renchao@pashanhoo.com

style:单选多选

1 parent 7c53e556
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-11-16 14:11:46
* @LastEditTime: 2024-01-17 13:32:55
-->
<template>
<!-- 主体权利信息查询 -->
......@@ -39,7 +39,7 @@
<!-- 表格 -->
<div class="from-clues-content loadingtext">
<lb-table ref="table" @row-click="handleRowClick" :page-size="pageData.pageSize" :calcHeight="300"
:current-page.sync="pageData.currentPage" :total="tableData.total" @size-change="handleSizeChange" @select="select"
:current-page.sync="pageData.currentPage" :total="tableData.total" @size-change="handleSizeChange"
@p-current-change="handleCurrentChange" @selection-change="handleSelectionChange" :column="tableData.columns"
:data="tableData.data">
</lb-table>
......@@ -67,6 +67,7 @@
},
data () {
return {
radioVal: '',
loading: false,
queryForm: defaultParameters.defaultParameters(),
tableData: {
......@@ -79,6 +80,28 @@
},
mounted () {
sendThis(this);
if (this.sqywInfo.sqywdylx == "1") {
this.tableData.columns = [{
label: '选择',
width: '50px',
render: (h, scope) => {
return (
<div class="orgColumn">
<el-radio onChange={() => { this.handleChange(scope.row) }} v-model={this.radioVal} label={scope.row.bdcdyid}>
&ensp;
</el-radio>
</div>
)
}
}].concat(datas.columns())
} else {
this.tableData.columns =
[{
type: 'selection',
label: '全选',
width: '50'
}].concat(datas.columns())
}
},
methods: {
/**
......@@ -151,21 +174,9 @@
this.bdcdysz = val;
}
},
/**
* @description: select
* @param {*} selection
* @param {*} row
* @author: renchao
*/
select (selection, row) {
if (this.sqywInfo.sqywdylx == "1") {
// 清除 所有勾选项
this.$refs.table.clearSelection()
// 当表格数据都没有被勾选的时候 就返回
// 主要用于将当前勾选的表格状态清除
if (selection.length == 0) return
this.$refs.table.toggleRowSelection(row, true);
}
handleChange () {
let arr = this.tableData.data.filter(item => item.bdcdyid == this.radioVal)
this.bdcdysz = arr
},
/**
* @description: handleRowClick
......@@ -174,26 +185,12 @@
*/
handleRowClick (row) {
// 如果状态是1,那就是单选
let refs = 'table';
if (this.sqywInfo.sqywdylx == "1") {
const bdcdysz = this.bdcdysz
this.$refs.table.clearSelection()
if (bdcdysz.length == 1) {
bdcdysz.forEach(item => {
// 判断 如果当前的一行被勾选, 再次点击的时候就会取消选中
if (item == row) {
this.$refs.table.toggleRowSelection(row, false);
}
// 不然就让当前的一行勾选
else {
this.$refs.table.toggleRowSelection(row, true);
}
})
}
else {
this.$refs.table.toggleRowSelection(row, true);
}
this.bdcdysz = [row]
this.radioVal = row.bdcdyid
} else {
this.$refs.table.toggleRowSelection(row);
this.$refs[refs].toggleRowSelection(row)
}
},
/**
......
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2024-01-17 10:02:13
* @LastEditTime: 2024-01-17 13:31:22
*/
import filter from '@/utils/filter.js'
let vm = null
......@@ -15,10 +15,10 @@ class data extends filter {
}
columns () {
return [
{
type: 'selection',
selectable: this.selected
},
// {
// type: 'selection',
// selectable: this.selected
// },
{
label: '序号',
type: 'index',
......