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" :resizable="false"
align="center" align="center"
type="selection" type="selection"
:selectable="selectable"
width="55"> width="55">
</el-table-column> </el-table-column>
<el-table-column <el-table-column

View File

@@ -5,12 +5,12 @@
<div class="card-title"> <div class="card-title">
<div class="card-title-name" :title="data.name">{{data.name}}</div> <div class="card-title-name" :title="data.name">{{data.name}}</div>
<div class="card-title-more"> <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-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-edit" @click="edit(data.knowledgeId)" >{{$t('overall.edit')}}</div>
<div class="card-title-more-delete" @click="del(data)" >{{$t('overall.delete')}}</div> <div class="card-title-more-delete" @click="del(data)" >{{$t('overall.delete')}}</div>
</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>
</div> </div>

View File

@@ -109,6 +109,9 @@ export default {
}) })
} }
}, },
init () {
this.isInit = true
},
changeStatus (status, id) { changeStatus (status, id) {
if (!this.isInit) { if (!this.isInit) {
patch(api.knowledgeBaseEnable, { list: [{ knowledgeId: id, status: status }] }).then(response => { 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]) { tableOperation ([command, row]) {
switch (command) { switch (command) {
default: default:

View File

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

View File

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