parent
ea8a9ca58e
commit
e358a99a63
@ -0,0 +1,255 @@
|
||||
<template>
|
||||
<div>
|
||||
<lx-header
|
||||
icon="md-apps"
|
||||
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
|
||||
text="文章内容"
|
||||
>
|
||||
<div slot="content"></div>
|
||||
<slot>
|
||||
<div class="selects">
|
||||
<div>
|
||||
<span style="padding: 0 6px; word-break: keep-all"> 关键字 </span>
|
||||
<Input
|
||||
v-model="select.keyword"
|
||||
placeholder="请输入关键字"
|
||||
style="width: 180px"
|
||||
clearable
|
||||
></Input>
|
||||
</div>
|
||||
<div v-show="!sysInfo">
|
||||
<span style="padding: 0 6px; word-break: keep-all"> 项目 </span>
|
||||
<Select v-model="select.activity_list_id" style="width:200px" @on-change="changeActivity">
|
||||
<Option v-for="item in listActivity" :value="item.id" :key="item.id">{{ item.name }}</Option>
|
||||
</Select>
|
||||
</div>
|
||||
<Button
|
||||
v-show="!sysInfo"
|
||||
style="margin-left: 10px"
|
||||
type="primary"
|
||||
@click="select = { page: 1, keyword: '',activity_list_id:'' }"
|
||||
>重置
|
||||
</Button>
|
||||
<Button style="margin-left: 10px" type="primary" @click="doSearch"
|
||||
>查询</Button
|
||||
>
|
||||
<Button
|
||||
style="margin-left: 10px"
|
||||
type="primary"
|
||||
@click="
|
||||
$refs['addArticle'].setForm(['activity_list_id'],[select.activity_list_id||'']),
|
||||
$refs['addArticle'].setType('add'),
|
||||
$refs['addArticle'].setList(listActivity),
|
||||
$refs['addArticle'].show()
|
||||
"
|
||||
>新增</Button
|
||||
>
|
||||
</div>
|
||||
</slot>
|
||||
</lx-header>
|
||||
|
||||
<xy-table
|
||||
:list="list"
|
||||
:total="total"
|
||||
:table-item="table"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
@pageIndexChange="pageChange"
|
||||
>
|
||||
<template v-slot:btns>
|
||||
<template>
|
||||
<el-table-column label="操作" width="260" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<Poptip confirm transfer title="确认删除?" @on-ok="deleteitem(row)">
|
||||
<Button size="small" type="error">删除</Button>
|
||||
</Poptip>
|
||||
<Button
|
||||
size="small"
|
||||
type="primary"
|
||||
style="margin-left: 4px"
|
||||
@click="
|
||||
$refs['addArticle'].setForm(['activity_list_id'],[row.activity_list_id]);
|
||||
$refs['addArticle'].setId(row.id);
|
||||
$refs['addArticle'].setType('editor');
|
||||
$refs['addArticle'].setList(listActivity)
|
||||
$refs['addArticle'].show();
|
||||
"
|
||||
>编辑</Button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</template>
|
||||
</xy-table>
|
||||
<addArticle ref="addArticle" @refresh="load"></addArticle>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { index, destroy, show } from "@/api/index";
|
||||
import { index as activityIndex } from "@/api/activity/index";
|
||||
import addArticle from "@/views/book/components/addArticle.vue";
|
||||
export default {
|
||||
components: {
|
||||
addArticle,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
select: {
|
||||
page: 1,
|
||||
page_size: 10,
|
||||
with_relations: ['image'],
|
||||
table_name: "map_point_image_articles",
|
||||
activity_list_id: '',
|
||||
keyword:'',
|
||||
filter: [],
|
||||
sort_type:'ASC',
|
||||
sort_name:'sort'
|
||||
},
|
||||
sysInfo:false,
|
||||
listActivity: [],
|
||||
typeList:[{id:1,value:'反法西斯战争胜利80周年'},{id:2,value:'文心书房'}],
|
||||
|
||||
total: 0,
|
||||
list: [],
|
||||
table: [
|
||||
{
|
||||
prop: "title",
|
||||
label: "名称",
|
||||
minWidth: 220,
|
||||
align: "left",
|
||||
},
|
||||
{
|
||||
prop: "type",
|
||||
label: "类型",
|
||||
minWidth: 220,
|
||||
align: "left",
|
||||
customFn: (row) => {
|
||||
return(
|
||||
this.typeList.map(item=>{
|
||||
if(item.id==row.type){
|
||||
return (<div>{item.value}</div>)
|
||||
}
|
||||
})
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
prop: "img",
|
||||
label: "图片",
|
||||
minWidth: 200,
|
||||
align: "center",
|
||||
customFn: (row) => {
|
||||
return ( <div><img src={row.image?.url} style = 'width:180px;' /> </div>
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
prop: "created_at",
|
||||
label: "创建信息",
|
||||
width: 190,
|
||||
formatter: (v1, v2, value) => {
|
||||
return this.$moment(value).format("YYYY-MM-DD HH:mm:ss");
|
||||
},
|
||||
},
|
||||
{
|
||||
prop: "updated_at",
|
||||
label: "更新时间",
|
||||
align: "left",
|
||||
width: 190,
|
||||
formatter: (v1, v2, value) => {
|
||||
return this.$moment(value).format("YYYY-MM-DD HH:mm:ss");
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
async loadActivity() {
|
||||
const res = await activityIndex({
|
||||
page: 1,
|
||||
page_size: 999,
|
||||
});
|
||||
this.listActivity = res.data;
|
||||
},
|
||||
doSearch() {
|
||||
this.select.page = 1;
|
||||
this.load();
|
||||
},
|
||||
|
||||
pageSizeChange(e) {
|
||||
this.select.page_size = e;
|
||||
this.select.page = 1;
|
||||
this.load();
|
||||
},
|
||||
async load() {
|
||||
if(!this.select.activity_list_id){
|
||||
this.$message({
|
||||
type:'warning',
|
||||
message:'请先选择项目'
|
||||
})
|
||||
return
|
||||
}
|
||||
const res = await index({
|
||||
...this.select,
|
||||
filter:[
|
||||
{
|
||||
key:'title',
|
||||
op:'like',
|
||||
value:this.select.keyword
|
||||
}
|
||||
]
|
||||
});
|
||||
this.total = res.total;
|
||||
this.list = res.data;
|
||||
},
|
||||
changeActivity(e){
|
||||
if(e){
|
||||
this.select.activity_list_id = e
|
||||
this.load()
|
||||
}
|
||||
},
|
||||
deleteitem(row) {
|
||||
destroy({
|
||||
id: row.id,
|
||||
activity_list_id: row.activity_list_id,
|
||||
table_name: this.select.table_name
|
||||
}).then((res) => {
|
||||
this.load();
|
||||
this.$Message.success("操作成功");
|
||||
});
|
||||
},
|
||||
pageChange(e) {
|
||||
this.select.page = e;
|
||||
this.load();
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
let that = this;
|
||||
let sysInfo = sessionStorage.getItem('sys_info')
|
||||
if (sysInfo && sysInfo != "") {
|
||||
let _sys = JSON.parse(sysInfo);
|
||||
if(_sys.tag!='h5'){
|
||||
that.select.activity_list_id = _sys.id;
|
||||
that.sysInfo=_sys;
|
||||
}
|
||||
}
|
||||
this.load();
|
||||
},
|
||||
created() {
|
||||
let type = parseInt(this.$route.path.split("_")[1] || 0);
|
||||
this.type = this.select.is_auth = type;
|
||||
this.loadActivity()
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.selects {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
& > div {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,254 @@
|
||||
<template>
|
||||
<div>
|
||||
<lx-header
|
||||
icon="md-apps"
|
||||
style="margin-bottom: 10px; border: 0px; margin-top: 15px"
|
||||
text="视频内容"
|
||||
>
|
||||
<div slot="content"></div>
|
||||
<slot>
|
||||
<div class="selects">
|
||||
<div>
|
||||
<span style="padding: 0 6px; word-break: keep-all"> 关键字 </span>
|
||||
<Input
|
||||
v-model="select.keyword"
|
||||
placeholder="请输入关键字"
|
||||
style="width: 180px"
|
||||
clearable
|
||||
></Input>
|
||||
</div>
|
||||
<div v-show="!sysInfo">
|
||||
<span style="padding: 0 6px; word-break: keep-all"> 项目 </span>
|
||||
<Select v-model="select.activity_list_id" style="width:200px" @on-change="changeActivity">
|
||||
<Option v-for="item in listActivity" :value="item.id" :key="item.id">{{ item.name }}</Option>
|
||||
</Select>
|
||||
</div>
|
||||
<Button
|
||||
v-show="!sysInfo"
|
||||
style="margin-left: 10px"
|
||||
type="primary"
|
||||
@click="select = { page: 1, keyword: '',activity_list_id:'' }"
|
||||
>重置
|
||||
</Button>
|
||||
<Button style="margin-left: 10px" type="primary" @click="doSearch"
|
||||
>查询</Button
|
||||
>
|
||||
<Button
|
||||
style="margin-left: 10px"
|
||||
type="primary"
|
||||
@click="
|
||||
$refs['addVideo'].setForm(['activity_list_id'],[select.activity_list_id||'']),
|
||||
$refs['addVideo'].setType('add'),
|
||||
$refs['addVideo'].setList(listActivity),
|
||||
$refs['addVideo'].show()
|
||||
"
|
||||
>新增</Button
|
||||
>
|
||||
</div>
|
||||
</slot>
|
||||
</lx-header>
|
||||
|
||||
<xy-table
|
||||
:list="list"
|
||||
:total="total"
|
||||
:table-item="table"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
@pageIndexChange="pageChange"
|
||||
>
|
||||
<template v-slot:btns>
|
||||
<template>
|
||||
<el-table-column label="操作" width="260" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<Poptip confirm transfer title="确认删除?" @on-ok="deleteitem(row)">
|
||||
<Button size="small" type="error">删除</Button>
|
||||
</Poptip>
|
||||
<Button
|
||||
size="small"
|
||||
type="primary"
|
||||
style="margin-left: 4px"
|
||||
@click="
|
||||
$refs['addVideo'].setForm(['activity_list_id'],[row.activity_list_id]);
|
||||
$refs['addVideo'].setId(row.id);
|
||||
$refs['addVideo'].setType('editor');
|
||||
$refs['addVideo'].setList(listActivity)
|
||||
$refs['addVideo'].show();
|
||||
"
|
||||
>编辑</Button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</template>
|
||||
</xy-table>
|
||||
<addVideo ref="addVideo" @refresh="load"></addVideo>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { index, destroy, show } from "@/api/index";
|
||||
import { index as activityIndex } from "@/api/activity/index";
|
||||
import addVideo from "@/views/book/components/addVideo.vue";
|
||||
export default {
|
||||
components: {
|
||||
addVideo,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
select: {
|
||||
page: 1,
|
||||
page_size: 10,
|
||||
with_relations: ['video','image'],
|
||||
table_name: "map_point_videos",
|
||||
activity_list_id: '',
|
||||
keyword:'',
|
||||
filter: [],
|
||||
sort_type:'ASC',
|
||||
sort_name:'sort'
|
||||
},
|
||||
sysInfo:false,
|
||||
listActivity: [],
|
||||
total: 0,
|
||||
list: [],
|
||||
typeList:[{id:1,value:'反法西斯战争胜利80周年'},{id:2,value:'文心书房'}],
|
||||
table: [
|
||||
{
|
||||
prop: "title",
|
||||
label: "名称",
|
||||
minWidth: 220,
|
||||
align: "left",
|
||||
},
|
||||
{
|
||||
prop: "type",
|
||||
label: "类型",
|
||||
minWidth: 220,
|
||||
align: "left",
|
||||
customFn: (row) => {
|
||||
return(
|
||||
this.typeList.map(item=>{
|
||||
if(item.id==row.type){
|
||||
return (<div>{item.value}</div>)
|
||||
}
|
||||
})
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
prop: "img",
|
||||
label: "图片",
|
||||
minWidth: 200,
|
||||
align: "center",
|
||||
customFn: (row) => {
|
||||
return ( <div><img src={row.image?.url} style = 'width:180px;' /> </div>
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
prop: "created_at",
|
||||
label: "创建信息",
|
||||
width: 190,
|
||||
formatter: (v1, v2, value) => {
|
||||
return this.$moment(value).format("YYYY-MM-DD HH:mm:ss");
|
||||
},
|
||||
},
|
||||
{
|
||||
prop: "updated_at",
|
||||
label: "更新时间",
|
||||
align: "left",
|
||||
width: 190,
|
||||
formatter: (v1, v2, value) => {
|
||||
return this.$moment(value).format("YYYY-MM-DD HH:mm:ss");
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
async loadActivity() {
|
||||
const res = await activityIndex({
|
||||
page: 1,
|
||||
page_size: 999,
|
||||
});
|
||||
this.listActivity = res.data;
|
||||
},
|
||||
doSearch() {
|
||||
this.select.page = 1;
|
||||
this.load();
|
||||
},
|
||||
|
||||
pageSizeChange(e) {
|
||||
this.select.page_size = e;
|
||||
this.select.page = 1;
|
||||
this.load();
|
||||
},
|
||||
async load() {
|
||||
if(!this.select.activity_list_id){
|
||||
this.$message({
|
||||
type:'warning',
|
||||
message:'请先选择项目'
|
||||
})
|
||||
return
|
||||
}
|
||||
const res = await index({
|
||||
...this.select,
|
||||
filter:[
|
||||
{
|
||||
key:'title',
|
||||
op:'like',
|
||||
value:this.select.keyword
|
||||
}
|
||||
]
|
||||
});
|
||||
this.total = res.total;
|
||||
this.list = res.data;
|
||||
},
|
||||
changeActivity(e){
|
||||
if(e){
|
||||
this.select.activity_list_id = e
|
||||
this.load()
|
||||
}
|
||||
},
|
||||
deleteitem(row) {
|
||||
destroy({
|
||||
id: row.id,
|
||||
activity_list_id: row.activity_list_id,
|
||||
table_name: this.select.table_name
|
||||
}).then((res) => {
|
||||
this.load();
|
||||
this.$Message.success("操作成功");
|
||||
});
|
||||
},
|
||||
pageChange(e) {
|
||||
this.select.page = e;
|
||||
this.load();
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
let that = this;
|
||||
let sysInfo = sessionStorage.getItem('sys_info')
|
||||
if (sysInfo && sysInfo != "") {
|
||||
let _sys = JSON.parse(sysInfo);
|
||||
if(_sys.tag!='h5'){
|
||||
that.select.activity_list_id = _sys.id;
|
||||
that.sysInfo=_sys;
|
||||
}
|
||||
}
|
||||
this.load();
|
||||
},
|
||||
created() {
|
||||
let type = parseInt(this.$route.path.split("_")[1] || 0);
|
||||
this.type = this.select.is_auth = type;
|
||||
this.loadActivity()
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.selects {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
& > div {
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Loading…
Reference in new issue