CN-1062 fix:左侧filter,type有半选的category,点击disable 报错;内置数据选择框需要禁用;左侧去掉一些勾选的,右侧删除一个,勾选又自动勾上了,但是右侧列表没变化;

This commit is contained in:
hyx
2023-06-08 17:17:41 +08:00
parent 6b0bb332db
commit 0d10a06522
5 changed files with 28 additions and 5 deletions

View File

@@ -13,6 +13,7 @@
:resizable="false"
align="center"
type="selection"
:selectable="selectable"
width="55">
</el-table-column>
<el-table-column

View File

@@ -5,12 +5,12 @@
<div class="card-title">
<div class="card-title-name" :title="data.name">{{data.name}}</div>
<div class="card-title-more">
<span v-show="!isSelectedStatus && data.showMore"><i class="cn-icon cn-icon-more-dark" @mouseenter="mouseenterMore(data)" test-id="mouseenter-dark"></i></span>
<span v-show="!isSelectedStatus && data.showMore && data.isBuiltIn !== 1"><i class="cn-icon cn-icon-more-dark" @mouseenter="mouseenterMore(data)" test-id="mouseenter-dark"></i></span>
<div class="card-operate" v-show="!isSelectedStatus && data.moreOptions" @mouseleave="mouseleaveMore(data)">
<div class="card-title-more-edit" @click="edit(data.knowledgeId)" >{{$t('overall.edit')}}</div>
<div class="card-title-more-delete" @click="del(data)" >{{$t('overall.delete')}}</div>
</div>
<el-checkbox @click.stop="" @change="(val) => {checkboxStatusChange(val,data)}" style="position: absolute;right: -12px;" v-if="isSelectedStatus" :key="data.knowledgeId" :label="data"><br></el-checkbox>
<el-checkbox @click.stop="" :disabled="data.isBuiltIn === 1" @change="(val) => {checkboxStatusChange(val,data)}" style="position: absolute;right: -12px;" v-if="isSelectedStatus" :key="data.knowledgeId" :label="data"><br></el-checkbox>
</div>
</div>

View File

@@ -109,6 +109,9 @@ export default {
})
}
},
init () {
this.isInit = true
},
changeStatus (status, id) {
if (!this.isInit) {
patch(api.knowledgeBaseEnable, { list: [{ knowledgeId: id, status: status }] }).then(response => {
@@ -126,6 +129,13 @@ export default {
})
}
},
selectable (row, rowIndex) {
if (row.isBuiltIn === 1) {
return false
} else {
return true
}
},
tableOperation ([command, row]) {
switch (command) {
default:

View File

@@ -253,6 +253,8 @@ export default {
this.$refs.knowledgeFilter.reloadFilter()
this.secondBatchDeleteObjs = []
this.batchDeleteObjs = []
delete this.searchLabel.category
delete this.searchLabel.source
this.getTableData()
} else {
this.$message.error(response.data.message)
@@ -347,6 +349,8 @@ export default {
this.batchDeleteObjs = []
this.secondBatchDeleteObjs = []
this.listMode = mode
// this.$refs.dataTable.init()
// this.$refs.dataTableCard.init()
const { query } = this.$route
const newUrl = urlParamsHandler(window.location.href, query, { listMode: mode })
overwriteUrl(newUrl)
@@ -362,6 +366,8 @@ export default {
if (response.data.code === 200) {
this.delFlag = true
this.$message({ duration: 2000, type: 'success', message: this.$t('tip.deleteSuccess') })
delete this.searchLabel.category
delete this.searchLabel.source
this.getTableData()
} else {
this.$message.error(response.data.message)

View File

@@ -121,18 +121,20 @@ export default {
},
handleCheckedItemChange (data, checkinfo) {
let typeCheckedNodes = []
let typeHalfCheckedNodes = []
if (this.$refs.knowledgeTreeTypeFilter) {
if (this.$refs.knowledgeTreeTypeFilter instanceof Array) {
typeCheckedNodes = this.$refs.knowledgeTreeTypeFilter[0].getCheckedNodes()
typeHalfCheckedNodes = this.$refs.knowledgeTreeTypeFilter[0].getHalfCheckedNodes()
} else {
typeCheckedNodes = this.$refs.knowledgeTreeTypeFilter.getCheckedNodes()
typeHalfCheckedNodes = this.$refs.knowledgeTreeTypeFilter.getHalfCheckedNodes()
}
const categoryIds = []
typeCheckedNodes.forEach(item => {
categoryIds.push(item.id)
})
this.defaultCheckedCategory = categoryIds
const typeHalfCheckedNodes = checkinfo.halfCheckedNodes
typeCheckedNodes = typeCheckedNodes.concat(typeHalfCheckedNodes)
}
let statusCheckedNodes = []
@@ -214,8 +216,12 @@ export default {
this.initStatusData()
const self = this
this.$nextTick(() => {
self.$refs.knowledgeTreeTypeFilter.setCheckedKeys(this.defaultCheckedCategory)
self.$refs.knowledgeTreeStatusFilter.setCheckedKeys(this.defaultCheckedStatus)
if (self.$refs.knowledgeTreeTypeFilter) {
self.$refs.knowledgeTreeTypeFilter.setCheckedKeys(this.defaultCheckedCategory)
}
if (self.$refs.knowledgeTreeStatusFilter) {
self.$refs.knowledgeTreeStatusFilter.setCheckedKeys(this.defaultCheckedStatus)
}
})
})
},