[update] 修改bug87995

This commit is contained in:
lideqin
2024-08-02 09:38:37 +08:00
parent 1788fcc928
commit 35512dbb0d
4 changed files with 63 additions and 10 deletions
@@ -56,7 +56,7 @@
</div>
<a-table
:columns="columns"
:rowKey="record => {return record.standardNumber + '|' + record.standardName}"
:rowKey="record => {return isValueHaveName ? record.standardNumber + '|' + record.standardName : record.standardNumber}"
:scroll="{x: 900}"
:data-source="dataList"
:pagination="ipagination"
@@ -152,6 +152,12 @@ export default {
type: Boolean,
required: false,
default: false
},
// 是否value要有标准名称
isValueHaveName: {
type: Boolean,
required: false,
default: false
}
},
data () {
@@ -330,23 +336,46 @@ export default {
if (this.type === 'checkbox') {
if (selectedRowKeys.length > this.selectedRowList.length) {
// 说明是增加了数据
for (const rowIndex in selectedRows) {
if (!this.selectedRowList.find(item => (item.standardNumber + '|' + item.standardName) === (selectedRows[rowIndex].standardNumber + '|' + selectedRows[rowIndex].standardName))) {
// 不存在,追加
this.selectedRowList.push(selectedRows[rowIndex])
if (this.isValueHaveName) {
// value里面要带标准名称
for (const rowIndex in selectedRows) {
if (!this.selectedRowList.find(item => (item.standardNumber + '|' + item.standardName) === (selectedRows[rowIndex].standardNumber + '|' + selectedRows[rowIndex].standardName))) {
// 不存在,追加
this.selectedRowList.push(selectedRows[rowIndex])
}
}
} else {
// value不带标准名称
for (const rowIndex in selectedRows) {
if (!this.selectedRowList.find(item => item.standardNumber === selectedRows[rowIndex].standardNumber)) {
// 不存在,追加
this.selectedRowList.push(selectedRows[rowIndex])
}
}
}
} else {
// 说明是删除了数据
if (selectedRowKeys && selectedRowKeys.length > 0) {
// 没有选中数据,说明这一页没有选中数据了
for (let i = 0; i < this.selectedRowList.length; i++) {
if (!selectedRowKeys.find(item => item === this.selectedRowList[i].standardNumber + '|' + this.selectedRowList[i].standardName)) {
// 表格选中中没有找到这一条数据,说明已经被删了
this.selectedRowList.splice(i, 1)
i--
if (this.isValueHaveName) {
// value里面要带标准名称
for (let i = 0; i < this.selectedRowList.length; i++) {
if (!selectedRowKeys.find(item => item === this.selectedRowList[i].standardNumber + '|' + this.selectedRowList[i].standardName)) {
// 表格选中中没有找到这一条数据,说明已经被删了
this.selectedRowList.splice(i, 1)
i--
}
}
} else {
for (let i = 0; i < this.selectedRowList.length; i++) {
if (!selectedRowKeys.find(item => item === this.selectedRowList[i].standardNumber)) {
// 表格选中中没有找到这一条数据,说明已经被删了
this.selectedRowList.splice(i, 1)
i--
}
}
}
} else {
this.selectedRowList = []
}