Commit b361dc6b authored by 徐一鸣's avatar 徐一鸣

开发文档接口调试

parent e7ec996a
<template>
<div class="side_nav_bar">
<div class="side_nav_bar apaas_scroll">
<h3 class="side_nav_bar_title" @click="titleAction">
<img :src="titleIcon" width="20" style="margin-right: 10px;" />
<span v-text="title"></span>
</h3>
<ul class="side_nav_bar_list">
<!-- active-class="current" -->
<template v-for="(nav, index) in navList">
<li v-if="nav.children && nav.children.length" :key="'nav_' + index">
<a class="text_clip toggle_bar" @click.prevent="toggleNav(nav)">
{{ nav.name }}
<i
:class="nav.open ? 'el-icon-arrow-down' : 'el-icon-arrow-right'"
></i>
</a>
<ul class="second_list" v-show="nav.open">
<li v-for="(v, i) in nav.children" :key="'nav_' + index + 'v_' + i">
<router-link
class="text_clip"
:class="{ current: $route.path.indexOf(v.path) > -1 }"
:to="v.path"
>
{{ v.name }}
</router-link>
</li>
</ul>
</li>
<li v-else-if="nav.disabled" :key="'nav_' + index">
<a class="disabled text_clip">
{{ nav.name }}
</a>
</li>
<li v-else :key="'nav_' + index">
<router-link
tag="li"
v-for="(nav, index) in navList"
class="text_clip"
:class="{ current: $route.path.indexOf(nav.path) > -1 }"
:key="'nav' + index"
:to="nav.path"
>
<span v-text="nav.name"></span>
{{ nav.name }}
</router-link>
</li>
</template>
</ul>
</div>
</template>
......@@ -41,8 +68,8 @@ export default {
},
imgSrc: {
type: String,
default: "tool_fuwu"
}
default: "tool_fuwu",
},
},
methods: {
titleAction() {
......@@ -50,6 +77,9 @@ export default {
this.$router.push(this.titlePath);
}
},
toggleNav(nav) {
this.$set(nav, "open", !nav.open);
},
},
};
</script>
......@@ -57,6 +87,8 @@ export default {
<style scoped>
.side_nav_bar {
background-color: #0d1847;
overflow-x: hidden;
overflow-y: auto;
}
.side_nav_bar_title {
height: 40px;
......@@ -73,16 +105,48 @@ export default {
font-size: 16px;
color: #c3caf8;
}
.side_nav_bar_list > li {
.side_nav_bar_list > li > a {
display: block;
padding: 12px 10px 12px 42px;
border-left: 5px solid #0d1847;
font-size: 14px;
font-weight: bold;
line-height: 24px;
color: #6573ae;
color: #e6ebfe;
text-decoration: none;
cursor: pointer;
user-select: none;
}
.side_nav_bar_list > li > a.disabled {
opacity: 0.5;
cursor: not-allowed;
}
.side_nav_bar_list > li > a:hover,
.side_nav_bar_list > li > a.current {
border-left: 5px solid #e56600;
background-color: #182665;
color: #e6ebfe;
}
.toggle_bar {
padding-right: 30px !important;
position: relative;
}
.toggle_bar > i {
position: absolute;
top: 16px;
right: 8px;
}
.second_list > li > a {
display: block;
padding: 12px 10px 12px 56px;
border-left: 5px solid #0d1847;
font-size: 14px;
line-height: 24px;
color: #6573ae;
text-decoration: none;
}
.side_nav_bar_list > li:hover,
.side_nav_bar_list > li.current {
.second_list > li > a:hover,
.second_list > li > a.current {
border-left: 5px solid #e56600;
background-color: #182665;
color: #e6ebfe;
......
......@@ -9,43 +9,77 @@
开发文档
</el-breadcrumb-item>
<el-breadcrumb-item>
文档编辑
文档编辑 - {{ title }}
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="editpage">
<wang-e v-model="editstr"></wang-e>
<div class="apaas_button" style="overflow:hidden;padding-top:30px;border-top:1px solid #e3e5ef;box-sizing:border-box;">
<el-button style="float:right;margin:0 30px;" type="primary" >保存</el-button>
<el-button style="float:right" >取消</el-button>
<wang-e v-model="content"></wang-e>
<div class="apaas_button">
<el-button type="defalut" size="mini" @click="cancelAction">
取消
</el-button>
<el-button type="primary" size="mini" @click="submitAction">
保存
</el-button>
</div>
</div>
</div>
</template>
<script>
import wangE from '@/components/wangE'
import wangE from "@/components/wangE";
export default {
data() {
return {
editstr:'',
title: "",
content: "",
};
},
components:{
wangE
},
computed: {
components: {
wangE,
},
created() {
if (this.$route.params.id) {
// 请求详情
this.$http
.get("/apaas/support/document/get", {
params: {
id: this.$route.params.id,
},
})
.then(({ data }) => {
if (data.success === 1) {
this.title = data.data.title;
this.content = data.data.content;
}
});
}
},
methods: {
cancelAction() {
this.$router.push("/technical_support/doc_manage");
},
submitAction() {
this.$http
.put("/apaas/support/document/put", {
id: parseFloat(this.$route.params.id),
content: this.content,
})
.then(({ data }) => {
if (data.success === 1) {
this.$message.success("保存成功");
this.$router.push("/technical_support/doc_manage")
} else {
// error
this.$message.error(data.errMsg || "保存失败");
}
})
.catch((error) => {
console.log(error);
this.$message.error("保存失败");
});
},
},
methods: {},
};
</script>
......@@ -60,17 +94,25 @@ export default {
background-color: #fff;
border-radius: 10px;
}
.editpage{
.editpage {
background-color: #fff;
height: calc(100% - 45px);
margin-bottom: 20px;
box-shadow: 0px 3px 6px 0px
#f4f7fc;
box-shadow: 0px 3px 6px 0px #f4f7fc;
border-radius: 12px;
}
.editpage .wangeditor_class{
.editpage .wangeditor_class {
height: calc(100% - 100px);
padding: 0 20px;
box-sizing: border-box;
}
.apaas_button {
border-top: 1px solid #e3e5ef;
box-sizing: border-box;
text-align: right;
padding-top: 30px;
}
.apaas_button .el-button + .el-button {
margin-right: 30px;
}
</style>
This diff is collapsed.
......@@ -5,10 +5,10 @@
imgSrc="tool_ic_kaifawendang"
:nav-list="navList"
:title-path="navList[0] && navList[0].path"
style="width: 200px;"
style="width: 250px;"
></side-nav-bar>
<div class="main_container">
<router-view />
<router-view :key="$route.params.type + $route.params.id" />
</div>
</div>
</template>
......@@ -23,28 +23,41 @@ export default {
data: () => ({
navList: [],
}),
watch: {
/* watch: {
"$route.fullPath"(path) {
this.initNavList();
},
},
}, */
methods: {
initNavList() {
this.$api.general.getNowMenu({ teamName: "APAAS3" }).then((response) => {
if (response.data.success == 1) {
let arr = response.data.data[0].Child;
this.$api.general.getNowMenu({ teamName: "APAAS3" }).then(({ data }) => {
if (data.success == 1) {
let menu = data.data[0].Child;
let nav = [];
let activePath = "";
for (let i = 0; i < arr.length; i++) {
let first = arr[i];
for (let i = 0; i < menu.length; i++) {
let first = menu[i];
if (first.visit_url == "/technical_support") {
for (let j = 0; j < first.Child.length; j++) {
let second = first.Child[j];
if (second.visit_url == "/technical_support/doc") {
this.navList = second.Child.map((item) => ({
let paths = [
"/technical_support/doc/introductory",
"/technical_support/doc/notice",
"/technical_support/doc/trem",
"/technical_support/doc/standard",
"/technical_support/doc/guide",
"/technical_support/doc/api",
"/technical_support/doc/questions",
];
nav = second.Child.map((item, index) => ({
name: item.menu_name,
path: item.visit_url,
style: paths.indexOf(item.visit_url),
}));
break;
}
......@@ -52,6 +65,44 @@ export default {
break;
}
}
Promise.all(
nav.map((item, index) => {
return this.$http.get("/apaas/support/document/menus", {
params: { style: item.style },
});
})
).then((responses) => {
responses.forEach(({ data }, index) => {
let list = data.data || [];
let children = list.map((v) => ({
name: v.title,
path: nav[index].path + "/" + v.id,
}));
if (children.length === 0) {
this.$set(nav[index], "disabled", true);
} else {
if (activePath === "") {
activePath = children[0].path;
}
this.$set(nav[index], "path", children[0].path);
if (children.length > 1) {
this.$set(nav[index], "children", children);
this.$set(nav[index], "open", true);
}
}
});
this.navList = nav;
if (activePath && this.$route.params.id === undefined) {
this.$router.push(activePath);
} else {
this.$message.error("您尚未创建任何文档");
}
});
}
});
},
......
......@@ -147,17 +147,16 @@ export default new Router({
{
path: "/technical_support",
name: "technicalSupport",
redirect: "/technical_support/doc/",
redirect: "/technical_support/doc",
component: () => import("@/pages/technical-support/index"),
children: [
{
path: "/technical_support/doc/",
path: "/technical_support/doc",
name: "technicalSupportDoc",
redirect: "/technical_support/doc/introductory",
component: () => import("@/pages/technical-support/doc/index"),
children: [
{
path: "/technical_support/doc/:type",
path: "/technical_support/doc/:type/:id",
name: "technicalSupportDocDetail",
component: () =>
import("@/pages/technical-support/doc/detail"),
......@@ -165,7 +164,7 @@ export default new Router({
],
}, // 开发文档
{
path: "/technical_support/doc_manage/",
path: "/technical_support/doc_manage",
name: "technicalSupportDoc",
redirect: "/technical_support/doc_manage/list",
component: () => import("@/pages/technical-support/doc-manage/index"),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment