Commit 21461c06 authored by Xuguangxing's avatar Xuguangxing

feat: 新增导航选择是否展示导航

parent 41d868a3
......@@ -17,6 +17,35 @@ function addOrEditUrlParams (url, paramName, replaceWith) {
}
return url;
};
function deleteUrlParams(url, ref) {
let str = "";
if (url.indexOf('?') != -1) {
str = url.substr(url.indexOf('?') + 1);
} else {
return url;
}
let arr = [];
let returnurl = "";
let setparam = "";
if (str.indexOf('&') != -1) {
arr = str.split('&');
for (let i in arr) {
if (arr[i].split('=')[0] != ref) {
returnurl = returnurl + arr[i].split('=')[0] + "=" + arr[i].split('=')[1] + "&";
}
}
return url.substr(0, url.indexOf('?')) + "?" + returnurl.substr(0, returnurl.length - 1);
} else {
arr = str.split('=');
if (arr[0] == ref) {
return url.substr(0, url.indexOf('?'));
} else {
return url;
}
}
}
export default class ArticeService extends Service {
private context: Context;
constructor(ctx: Context) {
......@@ -99,8 +128,13 @@ export default class ArticeService extends Service {
for (let i = 0; i < navigatorData.length; i++) {
if(navigatorData[i].pageType == 2) {
let url = navigatorData[i].pageUrl;
url = addOrEditUrlParams(url, 'navId', id);
url = addOrEditUrlParams(url, 'index', i);
if (navigatorData[i].carryNav) {
url = deleteUrlParams(url, 'navId');
url = deleteUrlParams(url, 'index');
} else {
url = addOrEditUrlParams(url, 'navId', id);
url = addOrEditUrlParams(url, 'index', i);
}
navigatorData[i].pageUrl = url;
}
}
......@@ -118,7 +152,7 @@ export default class ArticeService extends Service {
const navigatorData = JSON.parse(res.dataValues.navigatorData);
// 更新保存数据的链接,pageType为2的要进行更新
for (let i = 0; i < navigatorData.length; i++) {
if(navigatorData[i].pageType == 2) {
if(navigatorData[i].pageType == 2 && navigatorData[i].carryNav) {
navigatorData[i].pageUrl += `&navId=${id}&index=${i}`;
}
}
......
......@@ -81,6 +81,10 @@
<span><i>*</i>选择页面</span>
<Button @click="clickSelectPageButton(index)">选择</Button>
</div>
<div class="navigator-list-item_content" v-if="item.pageType == 2">
<span>是否展示导航</span>
<Checkbox v-model="item.carryNav" />
</div>
<div class="navigator-list-item_content">
<span></span>
<span class="select" v-if="item.pageName && item.pageUrl">
......@@ -197,7 +201,8 @@ export default {
selectIcon: '',
pageType: '',
pageUrl: '',
pageName: ''
pageName: '',
carryNav: true, // 是否携带导航
},
selectPageIndex: -1, // 选择页面 config索引
showSelectPageModal: false,
......
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