Commit 39d5e8ab authored by tianbj's avatar tianbj

链接

parent 4c05f02b
<@ms.html5>
<@ms.nav title="文章列表"></@ms.nav>
<@ms.searchForm name="searchForm" action="">
<#if articleTypeList?has_content>
<@ms.select label="文章属性" default="全部" value="a" name="articleType" id="forumSelect" list=articleTypeList listValue="dictLabel" listKey="dictValue" value="${articleType?default('')}"/>
<#else>
<@ms.select label="文章属性" name="articleType" id="forumSelect" value="" list=["默认属性"] />
</#if>
<@ms.text label="文章标题" name="basicTitle" value="" title="请输入文章标题" placeholder="请输入文章标题" />
<@ms.searchFormButton>
<@ms.queryButton id="submitSearch" />
</@ms.searchFormButton>
</@ms.searchForm>
<div id="toolbar">
<@ms.panelNavBtnGroup>
<@shiro.hasPermission name="article:save"><@ms.panelNavBtnAdd title=""/></@shiro.hasPermission>
<@shiro.hasPermission name="article:del"><@ms.panelNavBtnDel title=""/></@shiro.hasPermission>
</@ms.panelNavBtnGroup>
</div>
<@ms.panel>
<table id="articleListTable"
data-show-refresh="true"
data-show-columns="true"
data-show-export="true"
data-method="post"
data-detail-formatter="detailFormatter"
data-pagination="true"
data-page-size="10"
data-side-pagination="server">
</table>
</@ms.panel>
</@ms.html5>
<!--删除限时文章-->
<@ms.modal modalName="delete" title="删除文章">
<@ms.modalBody>
确定要删除所选的文章吗?
</@ms.modalBody>
<@ms.modalButton>
<@ms.button class="btn btn-danger rightDelete" value="确定"/>
</@ms.modalButton>
</@ms.modal>
<script>
$(function(){
var search = $("form[name='searchForm']").serializeJSON();
var articleType = search.articleType;
$("#articleListTable").bootstrapTable({
url:"${managerPath}/cms/article/${categoryId}/list.do?articleTypeStr="+articleType,
contentType : "application/x-www-form-urlencoded",
queryParamsType : "undefined",
toolbar: "#toolbar",
columns: [{ checkbox: true}, {
field: 'column.categoryTitle',
title: '栏目名',
width: 90,
align: 'left'
},{
field: 'basicTitle',
title: '文章标题',
formatter: function (value, row, index){
<@shiro.hasPermission name="article:update">
var url='${managerPath}/cms/article/'+row.articleID+"/edit.do";
return "<a href="+url+" target='_self' >"+value+"</a>";
</@shiro.hasPermission>
<@shiro.lacksPermission name="article:update">
return value;
</@shiro.lacksPermission>
}
}, {
field: 'articleAuthor',
title: '作者',
width: 100
}, {
field: 'basicSort',
title: '排序',
align: 'center',
width: 50
}, {
field: 'basicHit',
title: '点击',
align: 'center',
width: 50
}, {
field: 'basicDateTime',
title: '发布时间',
align: 'center',
width: 150
}]
});
//查询文章标题
$("#submitSearch").click(function(){
var search = $("form[name='searchForm']").serializeJSON();
var params = $('#articleListTable').bootstrapTable('getOptions');
params.queryParams = function(params) {
$.extend(params,search);
return params;
}
$("#articleListTable").bootstrapTable('refresh', {query:$("form[name='searchForm']").serializeJSON()});
});
//添加文章
$("#addButton").click(function(){
if(${isParent}==true){
<@ms.notify msg="不能选择父级栏目" />
return false;
}
location.href = "${managerPath}/cms/article/add.do?categoryId=${categoryId?default(0)}&modelId=${Session.model_id_session?default(0)}&categoryTitle=${categoryTitle?default('')}";
});
//点击重置按钮
$(".reset").click(function(){
$("input[name=basicTitle]").val("");
})
//多选删除
$("#delButton").click(function(){
//获取勾选的所在行的所有数据
var rows = $("#articleListTable").bootstrapTable("getSelections");
if(rows!=""){
//弹出modal窗体
$(".delete").modal();
}else{
<@ms.notify msg="请选择文章!" type="warning"/>
}
});
//删除多个文章
$(".rightDelete").click(function(){
var rows = $("#articleListTable").bootstrapTable("getSelections");
if(rows!=""){
$.ajax({
url:"${managerPath}/cms/article/delete.do",
type:'post',
dataType:'json',
data:JSON.stringify(rows),
contentType:'application/json',
success:function(msg) {
if (msg.result) {
<@ms.notify msg="删除成功!" type="success"/>
location.reload();
} else {
<@ms.notify msg="删除失败" type="fail"/>
}
}
});
}else{
<@ms.notify msg="请选择文章!" type="warning"/>
}
});
});
</script>
<!DOCTYPE html>
<html lang="zh">
<head>
<#include "/include/macro.ftl"/>
<#include "/include/meta.ftl"/>
</head>
<body class="over-hide">
<@ms.content>
<@ms.contentMenu>
<!-- 树形模块菜单开始 -->
<#if listColumn?has_content>
<@ms.tree treeId="inputTree" json="${listColumn?default('')}" addNodesName="全部" jsonId="categoryId" jsonPid="categoryCategoryId" jsonName="categoryTitle" showIcon="true" expandAll="true" getZtreeId="getZtreeId(event,treeId,treeNode);" />
<#else>
<@ms.nodata content="暂无栏目"/>
</#if>
<!-- 树形模块菜单结束 -->
</@ms.contentMenu>
<@ms.contentBody width="85%" style="overflow-y: hidden;">
<@ms.contentPanel style="margin:0;padding:0;overflow-y: hidden;">
<iframe src="${managerPath}/cms/article/0/main.do" style="width:100%;maring:0;padding:0;border:none;height:100%;background-image: url(${skin_manager_loadding}); background-repeat: no-repeat; background-position: center;" id="listFrame" target="listFrame" ></iframe>
</@ms.contentPanel>
</@ms.contentBody>
</@ms.content>
<script>
//树形结点
function getZtreeId(event,treeId,treeNode){
if (treeNode.columnType==1) {
//父级栏目为true,子级栏目为false
var isParent = false;
if(treeNode.isParent == true){
isParent = true;
}
$("#listFrame").attr("src","${managerPath}/cms/article/"+treeNode.categoryId+"/main.do?isParent="+isParent+"&categoryTitle="+encodeURIComponent(treeNode.categoryTitle));
} else if(treeNode.columnType==2){
//判断该单篇栏目是否存在文章
$.ajax({
type: "POST",
url: "${managerPath}/cms/article/"+treeNode.categoryId+"/queryColumnArticle.do",
dataType:"json",
success: function(msg){
if (msg.result) {
$("#listFrame").attr("src","${managerPath}/cms/article/add.do?categoryId="+treeNode.categoryId+"&categoryTitle="+encodeURIComponent(treeNode.categoryTitle));
} else {
//如果该单篇栏目下存在文章则跳转到文章编辑页
$("#listFrame").attr("src","${managerPath}/cms/article/"+treeNode.categoryId+"/edit.do?categoryId="+treeNode.categoryId+"&categoryTitle="+encodeURIComponent(treeNode.categoryTitle));
}
},
});
} else if(treeNode.columnType=="" || treeNode.columnType == undefined){
$("#listFrame").attr("src","${managerPath}/cms/article/0/main.do");
}
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -37,7 +37,7 @@
</el-table-column>
<el-table-column label="链接地址" align="left" prop="categoryPath" show-overflow-tooltip>
<template slot-scope="scope">
{{"{ms:global.url/}"+scope.row.categoryPath+"/index.html"}}
<span style="cursor: pointer" class="copyBtn" :data-clipboard-text="'{ms:global.url/}'+scope.row.categoryPath+'/index.html'" @click="copyUrl">{{"{ms:global.url/}"+scope.row.categoryPath+"/index.html"}}</span>
</template>
</el-table-column>
<el-table-column label="列表地址" align="left" prop="categoryListUrl" show-overflow-tooltip>
......@@ -138,6 +138,14 @@ var indexVue = new Vue({
}
}, 500);
},
copyUrl: function(){
var clipboard = new ClipboardJS('.copyBtn');
var self = this;
clipboard.on('success', function (e) {
self.$message.success('链接数据已保存到剪切板');
clipboard.destroy();
});
},
//分类列表选中
handleSelectionChange:function(val){
this.selectionList = val;
......
<@shiro.hasPermission name="cms:column:save"><@ms.addButton id="addColumnBtn"/></@shiro.hasPermission>
<@shiro.hasPermission name="cms:column:del"><@ms.delButton id="delColumnBtn"/></@shiro.hasPermission>
\ No newline at end of file
<@shiro.hasPermission name="cms:column:update">
var url = "${managerPath}/${model?default("")}/column/"+row.categoryId+"/edit.do?modelId=${Session.model_id_session?default(0)}&modelTitle=${Session.model_title_session?default('')}";
return "<a href=" +url+ " target='_self'>" + value + "</a>";
</@shiro.hasPermission>
<@shiro.lacksPermission name="cms:column:update">
return value;
</@shiro.lacksPermission>
\ No newline at end of file
......@@ -11,7 +11,7 @@
<!--左侧-->
<el-container class="index-menu">
<div class="left-tree">
<el-scrollbar class="ms-scrollbar" style="height: 100vh;">
<el-scrollbar style="height: 100vh;">
<el-tree :indent="5" v-loading="loading" highlight-current :expand-on-click-node="false" default-expand-all :empty-text="emptyText" :data="treeData" :props="defaultProps" @node-click="handleNodeClick" style="padding: 10px;height: 100%;"></el-tree>
</el-scrollbar>
</div>
......
This diff is collapsed.
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