parent
0217ffe135
commit
b4d9f25ce9
@ -0,0 +1,50 @@
|
|||||||
|
/*
|
||||||
|
* @Description:
|
||||||
|
* @version: v1
|
||||||
|
* @Author: zhangjiabao
|
||||||
|
* @Date: 2024-01-19 23:38:16
|
||||||
|
*/
|
||||||
|
import request from "@/utils/request";
|
||||||
|
export default {
|
||||||
|
getList(data, page, size) {
|
||||||
|
return request({
|
||||||
|
url: `/luoo-music/cms/journal/search/${page}/${size}`,
|
||||||
|
method: "post",
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 删除
|
||||||
|
* @param {*} id
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
delete(id) {
|
||||||
|
return request({
|
||||||
|
url: `/luoo-music/cms/journal/${id}`,
|
||||||
|
method: "delete"
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 发布
|
||||||
|
* @param {*} id
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
publish(id) {
|
||||||
|
return request({
|
||||||
|
url: `/luoo-music/cms/journal/publish/${id}`,
|
||||||
|
method: "put"
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 更新状态
|
||||||
|
* @param {*} id
|
||||||
|
* @param {*} state
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
updateStatus(id, state) {
|
||||||
|
return request({
|
||||||
|
url: `/luoo-music/cms/journal/publish/${id}?state=${state}`,
|
||||||
|
method: "put"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,136 @@
|
|||||||
|
<!--
|
||||||
|
* @Description:
|
||||||
|
* @version: v1
|
||||||
|
* @Author: zhangjiabao
|
||||||
|
* @Date: 2024-01-20 02:11:55
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-collapse v-model="activeTagGroupNames">
|
||||||
|
<el-collapse-item
|
||||||
|
style="padding-left: 20px;padding-right: 20px;"
|
||||||
|
v-for="group in remoteTagData"
|
||||||
|
:title="group.name"
|
||||||
|
:name="group.name"
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="mini"
|
||||||
|
style="margin-left: 10px;margin-top:2px"
|
||||||
|
@click="tagAllClick(group)"
|
||||||
|
>全部</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
style="margin-left: 10px;margin-top: 2px;"
|
||||||
|
size="mini"
|
||||||
|
v-for="tag in group.tags"
|
||||||
|
@click="tagClick(tag)"
|
||||||
|
>{{ tag.name }}</el-button
|
||||||
|
>
|
||||||
|
</el-collapse-item>
|
||||||
|
</el-collapse>
|
||||||
|
<div style="padding:20px;font-size: 13px;font-weight: 500;">
|
||||||
|
<span style="margin-right: 5px;">已选条件</span>
|
||||||
|
<el-tag
|
||||||
|
:key="tag.id"
|
||||||
|
size="small"
|
||||||
|
v-for="tag in selectTagList"
|
||||||
|
closable
|
||||||
|
:disable-transitions="false"
|
||||||
|
style="margin-right:5px"
|
||||||
|
@close="tagClick(tag)"
|
||||||
|
>
|
||||||
|
{{ tag.name }}
|
||||||
|
</el-tag>
|
||||||
|
<el-button type="text" @click="clearAllClick">清除筛选</el-button>
|
||||||
|
</div>
|
||||||
|
<div style="padding:20px">
|
||||||
|
<el-button
|
||||||
|
icon="el-icon-search"
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
@click="queryClick"
|
||||||
|
>查询</el-button
|
||||||
|
>
|
||||||
|
<el-button icon="el-icon-refresh-left" size="small">重置</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "SuperFilterTagDrawer",
|
||||||
|
props: {
|
||||||
|
remoteTagData: {
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
selectTagList: [],
|
||||||
|
activeTagGroupNames: []
|
||||||
|
};
|
||||||
|
},
|
||||||
|
filters: {},
|
||||||
|
created() {},
|
||||||
|
components: {},
|
||||||
|
mounted() {
|
||||||
|
this.activeTagGroupNames = [];
|
||||||
|
for (let index in this.remoteTagData) {
|
||||||
|
let item = this.remoteTagData[index];
|
||||||
|
this.activeTagGroupNames.push(item.name);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/**
|
||||||
|
* 高级筛选弹窗中tag按钮
|
||||||
|
*/
|
||||||
|
tagAllClick(newTagGroup) {
|
||||||
|
let newTagList = [...this.selectTagList];
|
||||||
|
for (let subTagIndex in newTagGroup.tags) {
|
||||||
|
let newTag = newTagGroup.tags[subTagIndex];
|
||||||
|
let inList = false;
|
||||||
|
for (let index in this.selectTagList) {
|
||||||
|
let item = this.selectTagList[index];
|
||||||
|
if (item.id === newTag.id) {
|
||||||
|
inList = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!inList) {
|
||||||
|
newTagList.push(newTag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.selectTagList = newTagList;
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 高级筛选弹窗中删除按钮
|
||||||
|
*/
|
||||||
|
tagClick(newTag) {
|
||||||
|
let newTagList = [];
|
||||||
|
let deleted = false;
|
||||||
|
for (let index in this.selectTagList) {
|
||||||
|
let item = this.selectTagList[index];
|
||||||
|
if (item.id === newTag.id) {
|
||||||
|
deleted = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
newTagList.push(item);
|
||||||
|
}
|
||||||
|
if (!deleted) {
|
||||||
|
newTagList.push(newTag);
|
||||||
|
}
|
||||||
|
this.selectTagList = newTagList;
|
||||||
|
},
|
||||||
|
clearAllClick() {
|
||||||
|
this.selectTagList = [];
|
||||||
|
},
|
||||||
|
queryClick() {
|
||||||
|
this.$emit("query", this.selectTagList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
Loading…
Reference in new issue