parent
ffcd5e5198
commit
7728ae9397
@ -0,0 +1,180 @@
|
||||
<!--
|
||||
* @Description: 期刊
|
||||
* @version: v1
|
||||
* @Author: zhangjiabao
|
||||
* @Date: 2024-01-19 23:29:58
|
||||
-->
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="card-header clearfix">
|
||||
<span class="card-header-text">期刊发布</span>
|
||||
<el-button
|
||||
style="float: right; margin-top: -5px;"
|
||||
type="primary"
|
||||
icon="el-icon-circle-check"
|
||||
size="small"
|
||||
@click="save"
|
||||
>保存期刊</el-button
|
||||
>
|
||||
</div>
|
||||
<ArticleModify
|
||||
style="margin-left: -200px;"
|
||||
ref="modifyDialog"
|
||||
:data="data"
|
||||
:remoteTagList="remoteData.tags"
|
||||
:publisher="[]"
|
||||
></ArticleModify>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import articleApi from "@/api/article";
|
||||
import tagApi from "@/api/tag";
|
||||
import ArticleModify from "./articleModify.vue";
|
||||
|
||||
export default {
|
||||
name: "ArticlePublish",
|
||||
data() {
|
||||
return {
|
||||
remoteData: { tags: [] },
|
||||
data: {
|
||||
id: null,
|
||||
title: null,
|
||||
tag: [],
|
||||
journalNo: null,
|
||||
userId: null,
|
||||
image: null,
|
||||
songs: [],
|
||||
size: 0,
|
||||
content: "",
|
||||
duration: 0
|
||||
}
|
||||
};
|
||||
},
|
||||
components: {
|
||||
ArticleModify
|
||||
},
|
||||
filters: {},
|
||||
created() {
|
||||
this.fetchSuperFilterTags();
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 高级筛选tag
|
||||
*/
|
||||
fetchSuperFilterTags() {
|
||||
tagApi.queryHierarchical().then(res => {
|
||||
let newList = [];
|
||||
for (let index in res.data) {
|
||||
let item = res.data[index];
|
||||
let newItem = { value: item.id, label: item.nameCh, children: [] };
|
||||
for (let childrenIndex in item.children) {
|
||||
let childrenItem = item.children[childrenIndex];
|
||||
newItem.children.push({
|
||||
value: childrenItem.id,
|
||||
label: childrenItem.nameCh
|
||||
});
|
||||
}
|
||||
newList.push(newItem);
|
||||
}
|
||||
this.remoteData.tags = newList;
|
||||
});
|
||||
},
|
||||
save() {
|
||||
this.$refs.modifyDialog.$refs.modifyDialogForm.validate(valid => {
|
||||
if (valid) {
|
||||
let orgData = this.$refs.modifyDialog.data;
|
||||
let param = {
|
||||
id: orgData["id"],
|
||||
content: orgData["content"],
|
||||
image: orgData["image"],
|
||||
journalNo: orgData["journalNo"],
|
||||
songs: [],
|
||||
tag: orgData["tag"],
|
||||
title: orgData["title"],
|
||||
userId: orgData["userId"]
|
||||
};
|
||||
let newMusicIdList = [];
|
||||
if (orgData.songs) {
|
||||
for (let i in orgData.songs) {
|
||||
newMusicIdList.push(orgData.songs[i].id);
|
||||
}
|
||||
}
|
||||
param.songs = newMusicIdList;
|
||||
console.log(param);
|
||||
|
||||
// 新增
|
||||
articleApi.add(param).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.data = {
|
||||
id: null,
|
||||
title: null,
|
||||
tag: [],
|
||||
journalNo: null,
|
||||
userId: null,
|
||||
image: null,
|
||||
songs: [],
|
||||
size: 0,
|
||||
content: "",
|
||||
duration: 0
|
||||
};
|
||||
this.$refs.modifyDialog.selectTag = [];
|
||||
|
||||
this.$message.success(res.message);
|
||||
} else {
|
||||
this.$message.error(res.message);
|
||||
}
|
||||
});
|
||||
console.log("新增");
|
||||
return;
|
||||
} else {
|
||||
this.$message.error("请完善表单相关信息!");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
display: table;
|
||||
content: "";
|
||||
}
|
||||
.clearfix:after {
|
||||
clear: both;
|
||||
}
|
||||
.card-header {
|
||||
height: 23px;
|
||||
}
|
||||
.app-container {
|
||||
font-family: "Microsoft YaHei Bold", "Microsoft YaHei Regular",
|
||||
"Microsoft YaHei", sans-serif;
|
||||
}
|
||||
.card-header-text {
|
||||
font-family: "Microsoft YaHei Bold", "Microsoft YaHei Regular",
|
||||
"Microsoft YaHei", sans-serif;
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
font-size: 16px;
|
||||
text-align: left;
|
||||
line-height: 20px;
|
||||
letter-spacing: normal;
|
||||
color: #333333;
|
||||
}
|
||||
.box-card {
|
||||
min-height: 300px;
|
||||
height: calc(100vh - 140px);
|
||||
border-radius: 10px;
|
||||
.el-card__header {
|
||||
background-color: rgba(249, 249, 249, 1);
|
||||
}
|
||||
.el-card__body {
|
||||
overflow: auto;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
Reference in new issue