Commit 278089e7 authored by wangtp's avatar wangtp

文件更新

parent 111333f7
<@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
<@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
<@ms.html5>
<@ms.nav title="静态化"></@ms.nav>
<@ms.panel>
<p class="alert alert-info" role="alert">
<span class="glyphicon glyphicon-pushpin text-lef "></span>
<a class="alert-link text-lef" style="margin-left: 12px;">
更新主页,如果系统存在引导页面可以手动修改主页位置文件名,default.html引导页面index.html主页。
</a><br/>
<span class="glyphicon glyphicon-pushpin text-lef "></span>
<a class="alert-link text-lef" style="margin-left: 12px;">
更新栏目列表,推荐使用指定栏目更新。系统提示“更新中...”请不要刷新页面或点击其他菜单。
</a><br/>
<span class="glyphicon glyphicon-pushpin text-lef "></span>
<a class="alert-link text-lef" style="margin-left: 12px;">
根据时间与栏目类型生成文章
</a>
</p>
<@ms.form name="generateIndex">
<@ms.formRow label="选择主页模板" width="300">
<select class="form-control" id="select_id"></select>
<input type="hidden" name="url"/>
</@ms.formRow>
<@ms.text id="position" label="选择主页位置 " width="300" value="index" placeholder="输入主页位置" name="position" help="注:主页位置htm文件名一般为index.html或default.html"/>
<div class="form-group ms-form-group"><div class="col-sm-2"></div><div class="col-sm-9 ms-from-group-input ms-form-input">
<@shiro.hasPermission name="cms:generate:index">
<@ms.button class="btn btn-primary" id="updateIndex" value="生成主页" />
<@ms.panelNavBtnSave title="" id="viewIndex" value="预览主页" />
</@shiro.hasPermission>
</div>
</div>
</@ms.form>
<!--选择更新的栏目-->
<@ms.form name="generateColumn">
<@ms.formRow label="选择要生成栏目" width="300">
<#if list?has_content>
<@ms.treeInput treeId="inputTree" json="${list?default('')}" jsonId="categoryId" jsonPid="categoryCategoryId" jsonName="categoryTitle" buttonText="选择更新的栏目" addNodesName="所有栏目" inputName="columnId" showIcon="true" expandAll="true" />
<#else>
<@ms.treeInput treeId="errorTree" buttonText="暂无数据" />
</#if>
</@ms.formRow>
<div class="form-group ms-form-group"><div class="col-sm-2"></div><div class="col-sm-9 ms-from-group-input ms-form-input">
<@shiro.hasPermission name="cms:generate:column">
<@ms.button class="btn btn-primary" id="updateColumn" value="生成栏目" />
</@shiro.hasPermission>
</div></div>
</@ms.form>
<@ms.form name="generateArticle">
<@ms.formRow label="文章栏目" width="300">
<#if list?has_content>
<@ms.treeInput treeId="inputTreee" json="${list?default('')}" jsonId="categoryId" jsonPid="categoryCategoryId" jsonName="categoryTitle" addNodesName="所有栏目" buttonText="选择更新的栏目" inputName="articleId" showIcon="true" expandAll="true" />
<#else>
<@ms.treeInput treeId="errorTree" buttonText="暂无数据" />
</#if>
</@ms.formRow>
<@ms.date name="dateTime" label="指定时间" single=true readonly="readonly" width="300" value="${now?string('yyyy-MM-dd')}" validation={"required":"true", "data-bv-notempty-message":"必填项目"} placeholder="点击该框选择时间段" />
<div class="form-group ms-form-group"><div class="col-sm-2"></div><div class="col-sm-9 ms-from-group-input ms-form-input">
<@shiro.hasPermission name="cms:generate:article">
<@ms.button class="btn btn-primary" id="updateArticle" value="生成文章" />
</@shiro.hasPermission>
</div></div>
</@ms.form>
</@ms.panel>
</@ms.html5>
<!--点击进行按钮提交-->
<script>
$(function(){
var URL="${managerPath}/template/queryTemplateFileForColumn.do";
var DATA = "";
$(this).request({url:URL,data:DATA,type:"json",method:"get",func:function(msg) {
if(msg.length==0){
$("#select_id").append("<option value='' >暂无文件</option>")
}
for(var i = 0;i<msg.length;i++){
$("#select_id").append("<option value="+msg[i]+">"+msg[i]+"</option>");
//如果存在index.html
if(msg[i]=="index.html" || msg[i]=="index.htm"){
$("#select_id").find("option[value='"+msg[i]+"']").attr("selected",true);
}
}
}});
})
//点击一键更新主页时,进行主页更新
$("#updateIndex").click(function(){
//选择的主页模板名称和主页位置
var url = $("#select_id").val();
var position =$("input[name='position']").val();
//封装ajax请求参数
var URL="${managerPath}/cms/generate//generateIndex.do";
var DATA = "url="+url+"&position="+position;
$(this).html("更新中..").attr("disabled", "disabled");
$(this).request({url:URL,data:DATA,type:"json",method:"post",func:function(msg) {
$("#updateIndex").html("更新主页").removeAttr("disabled");
if(msg.result){
<@ms.notify msg="更新成功" type="success"/>
}else{
$('.ms-notifications').offset({top:43}).notify({
type:'warning',
message: { text:msg.resultMsg }
}).show();
}
$("#updateIndex").html("更新主页")
}});
});
//点击预览时,进行预览
$("#viewIndex").click(function(){
var position =$("input[name='position']").val();
window.open("${managerPath}/cms/generate/"+position+"/viewIndex.do");
});
</script>
<!--点击生成栏目按钮-->
<script>
$("#updateColumn").click(function() {
var columnId = 0;
if($("input[name='columnId']").val() !="" && $("input[name='columnId']").val().length>0){
columnId = $("input[name='columnId']").val();
}
var URL="${managerPath}/cms/generate/"+columnId+"/genernateColumn.do";
$(this).html("更新中..").attr("disabled", "disabled");
$(this).request({url:URL,data:columnId,type:"json",method:"post",func:function(msg) {
$("#updateColumn").html("更新栏目").removeAttr("disabled");
//回调处理方式
if(msg.result){
<@ms.notify msg="更新成功" type="success"/>
}else{
$('.ms-notifications').offset({top:43}).notify({
type:'warning',
message: { text:msg.resultMsg }
}).show();
}
}});
});
</script>
<!--点击生成文章按钮-->
<script>
$("#updateArticle").click(function() {
var articleId = 0;
if($("input[name='articleId']").val() !="" ){
articleId = $("input[name='articleId']").val();
}
var URL="${managerPath}/cms/generate/" + articleId + "/generateArticle.do";
var DATA = "dateTime=" + $("input[name='dateTime']").val();
$(this).html("更新中..").attr("disabled", "disabled");
$(this).request({url:URL,data:DATA,type:"json",method:"post",func:function(msg) {
$("#updateArticle").html("更新文档").removeAttr("disabled");
//回调处理方式
if(msg.result){
<@ms.notify msg="更新成功" type="success"/>
}else{
$('.ms-notifications').offset({top:43}).notify({
type:'warning',
message: { text:msg.resultMsg }
}).show();
}
}});
});
</script>
<!DOCTYPE html>
<html lang="zh">
<head>
<title>${app.appName}</title>
<#include "/include/head-file.ftl"/>
<script src="${base}/static/plugins/jquery/3.2.1/jquery.min.js"></script>
<script src="${base}/static/plugins/jquery.cookie/1.4.1/jquery.cookie.min.js"></script>
<link rel="stylesheet" href="${base}/static/ms-admin/4.7.0/css/login.css">
</head>
<body>
<div id="login" class="login">
<el-container class="ms-admin-login-container">
<el-main class="ms-admin-login-main">
<div class="ms-admin-login-warp" @keydown.13='checkLogin'>
<img style="height: 360px" :src="ms.base+'/static/ms-admin/4.7.0/images/login-slogn.png'">
<el-form :model="loginForm" status-icon :rules="loginFormRule" style="height: 360px" ref="loginForm" label-width="100px" class="ms-admin-login-form">
<el-alert
style="margin-bottom: 10px;"
title="演示版部分删除功能已去除"
type="warning"
center
:closable="false"
show-icon>
</el-alert>
<h1>
<span>账户登录 / </span>User login</h1>
<el-form-item class="ms-admin-form-item" prop="managerName">
<el-input type="text" placeholder='用户名/admin' v-model="loginForm.managerName" ></el-input>
</el-form-item>
<el-form-item class="ms-admin-form-item" prop="managerPassword">
<el-input type="password" placeholder='密码/123456' v-model="loginForm.managerPassword"></el-input>
</el-form-item>
<el-form-item class="ms-admin-form-item ms-admin-form-item-code" prop="rand_code">
<el-input type="text" placeholder='验证码' v-model="loginForm.rand_code" autocomplete="off"></el-input>
<img :src="verifCode" class="code-img" @click="code" />
<p>
<span>看不清?</span>
<span @click="code">换一张</span>
</p>
</el-form-item>
<el-form-item class="ms-admin-form-item ms-admin-form-item-checkout">
<el-checkbox v-model="rememberPass">记住密码</el-checkbox>
</el-form-item>
<el-form-item class="ms-admin-form-item">
<el-button type="primary" @click="checkLogin" class="ms-admin-login-btn">登录</el-button>
</el-form-item>
</el-form>
</div>
</el-main>
</el-container>
</div>
</body>
</html>
<script>
var loginVue = new Vue({
el: '#login',
data: {
loginForm: {
managerName: 'admin',
managerPassword: "123456",
rand_code: ''
},
verifCode: ms.manager + "/code?t=" + new Date().getTime(),
rememberPass: '',
loginFormRule: {
managerName: [{
required: true,
message: '请输入用户名',
trigger: 'blur'
},
{
min: 1,
max: 30,
message: '长度在 1 到 30 个字符',
trigger: 'blur'
}
],
managerPassword: [{
required: true,
message: '请输入密码',
trigger: 'blur'
},
{
min: 1,
max: 30,
message: '长度在 1 到 30 个字符',
trigger: 'blur'
}
],
rand_code: [{
required: true,
message: '请填写验证码',
trigger: 'blur'
},
{
min: 1,
max: 4,
message: '长度在1 到 4 个字符',
trigger: 'blur'
}
],
}
},
methods: {
// 登录
checkLogin: function() {
var that = this;
this.$refs['loginForm'].validate((valid) => {
if(valid) {
ms.http.post(ms.manager + "/checkLogin.do", that.loginForm).then(function(data) {
if(data.result) {
if(that.rememberPass) {
$.cookie('managerName',that.loginForm.managerName, { expires: 365 });
$.cookie('managerPassword',that.loginForm.managerPassword, { expires: 365 });
} else {
$.cookie('managerName',"");
$.cookie('managerPassword',"");
}
that.$notify({
title: '成功',
message: '登录成功',
type: 'success'
});
location.href = ms.manager + "/index.do";
} else {
that.$notify({
title: '失败',
message: data.resultMsg,
type: 'warning'
});
that.code();
}
}, (err) => {
that.$message.error(data.resultMsg);
})
}
});
},
code: function() {
this.verifCode = ms.web + "/code?t=" + new Date().getTime();
},
},
mounted: function() {
this.verifCode = ms.web + "/code?t=" + new Date().getTime();
if($.cookie('managerName')){
this.loginForm.managerName = $.cookie('managerName');
this.loginForm.managerPassword = $.cookie('managerPassword');
}
if (top.location != self.location){
top.location = self.location;
}
}
})
</script>
\ No newline at end of file
<!--主界面-->
<!DOCTYPE html>
<html lang="en">
<head>
<title>铭飞CMS</title>
<meta content="IE=edge" http-equiv="X-UA-Compatible" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<style>
body{ height: 100%;}
</style>
</head>
<body>
<div style="
text-align: center;
color: #555;
background: #FCFCFC;
height: 300px;
padding-top: 200px;
vertical-align: middle;
"><h2>欢迎使用铭飞产品</h2><p>技术交流加群:①242805203 ②231212174(满) ③221335098(满) 或到<a href="http://ms.mingsoft.net/mbbs/main.do" target="_blank" style="
text-decoration: none;
">官方论坛进行技术交流</a></p></div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录</title>
<#include "/include/head-file.ftl"/>
<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
<link rel="stylesheet" href="${base}/static/css/login.css">
</head>
<body>
<div id="app">
<el-container>
<el-header class="ms-header" height="100px">
<img src="${base}/static/images/logo.png">
<p>铭飞科技</p>
<em></em>
<span>欢迎登录</span>
</el-header>
<el-main class="ms-body">
<div class="ms-login">
<div class="ms-login-tab">
<span @click="loginActive='1'" :class="{'active':loginActive=='1'}">账号登录</span>
<em></em>
<span @click="loginActive='2'" :class="{'active':loginActive=='2'}">扫码登录</span>
</div>
<!--账号登录-->
<el-form ref="form" :model="form" :rules="loginFormRule" label-width="0px" v-if="loginActive=='1'">
<el-form-item prop="username">
<el-input type="text" v-model="form.username" placeholder="用户名">
<template slot="append">@qq.com</template>
</el-input>
</el-form-item>
<el-form-item prop="password">
<el-input type="password" v-model="form.password" placeholder="密码"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" width="100%" @click="login()" class="ms-login-but">登录</el-button>
</el-form-item>
</el-form>
<!--扫码登录-->
<div v-show="loginActive=='2'" class="ms-login-code" id="login_container">
<img src="${base}/static/images/code.png"/>
<span>请使用微信扫码二维码登录</span>
<a>" 铭飞MS平台 "</a>
</div>
<!--扫码登录成功-->
<div v-if="loginActive=='3'" class="ms-login-code-success">
<img class="phone" src="${base}/static/images/phone.png" />
<img class="success" src="${base}/static/images/success.png" />
<span>扫码成功!</span>
<span>请在手机上确认登录</span>
<a @click="loginActive='2'">返回二维码</a>
</div>
</div>
</el-main>
<el-footer class="ms-footer">
<div>
<span>关于我们</span>
<em></em>
<span>发展历程</span>
<em></em>
<span>联系我们</span>
</div>
<div>
版权所有 ©铭飞科技有限公司2012-2019 保留一切权利。
</div>
</el-footer>
</el-container>
</div>
</body>
</html>
<script>
new Vue({
el: "#app",
data: {
form: {
username: "",
password: "",
},
loginActive: "1", //登录方式选中
loginFormRule: {
username: [{
required: true,
message: '请输入用户名',
trigger: 'change'
}, ],
password: [{
required: true,
message: '请输入密码',
trigger: 'change'
}, ], //表单验证
}
},
methods: {
//点击登录
login: function() {
var that = this;
//调用表单验证
this.$refs.form.validate(function(valid) {
if(valid) {
//验证成功
var people = {
username : that.form.username + "@qq.com",
password : that.form.password
}
ms.http.post(ms.base + "/sso/login.do", people)
.then(function(json) {
if(json.result){
window.location.href=decodeURIComponent(ms.util.getParameter("backurl"));
}else{
alert("登陆失败,\n1、账号或密码错\n2、或账号没有设置密码,请先扫描登陆后设置密码后重试");
}
}), function(err) {
console.log(err)
}
} else {
//验证失败
}
});
}
},
mounted: function(){
var obj = new WxLogin({
id:"login_container",
appid: "wx8c96aa3db4611395",
scope: "snsapi_login",
redirect_uri: "http%3A%2F%2Fms.mingsoft.net%2Fsso%2Fweixin.do%3Fbackurl%3D"+decodeURIComponent(ms.util.getParameter("backurl")),
state:"",
style: "black",
href: ""
});
}
})
</script>
\ No newline at end of file
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