城阳车管所项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

705 lines
15 KiB

<html xmlns="http://www.w3.org/1999/html">
<head>
<title>静态化</title>
<#include "../../include/head-file.ftl">
<style>
[v-cloak]{
display: none;
}
</style>
</head>
<body class="custom-body">
<div id="app" v-cloak>
<div class="class-1" >
<el-alert style="line-height: 22px;padding: 20px;"
title=""
type="success"
:closable="false"
show-icon>
更新主页,如果系统存在引导页面可以手动修改主页位置文件名,default.html引导页面index.html主页。<br/>
更新栏目列表,推荐使用指定栏目更新。系统提示“更新中”请不要刷新页面或点击其他菜单。<br/>
根据时间与栏目类型生成文章
</el-alert>
</div>
<el-form ref="form" label-width="100px" size="mini">
<div class="class-2" >
<div class="class-3" >
<div class="class-4" >
<el-form-item label="主题模板">
<el-select v-model="template"
:filterable="true"
:clearable="false"
placeholder="请选择主题模板">
<el-option v-for='item in templateOptions' :key="item" :value="item"
:label="item"></el-option>
</el-select>
</el-form-item>
</div>
<div class="class-7" >
<el-form-item>
<template slot='label'>主页位置
<el-popover slot="label" placement="top-start" title="提示" width="200" trigger="hover" content="主页位置htm文件名一般为index.html或default.html">
<i class="el-icon-question" slot="reference"></i>
</el-popover>
</template>
<el-input v-model="position"
:disabled="false"
:style="{width: '100%'}"
:clearable="true"
placeholder="请输入主页位置">
</el-input>
</el-form-item>
</div>
<div class="class-10" >
<el-form-item>
<el-button type="primary" @click="updataIndex" :loading="homeLoading">{{homeLoading?'更新中':'生成主页'}}</el-button>
<el-button plain @click="viewIndex">预览主页</el-button>
</el-form-item>
</div>
</div>
<div class="class-13" >
<div class="class-14" >
<el-form-item label="文章栏目">
<tree-select v-model="contentSection"
:props="{value: 'id',label: 'categoryTitle',children: 'children'}"
:options="treeList" :style="{width:'100%'}"
placeholder="请选择文章栏目">
</tree-select>
</el-form-item>
</div>
<div class="class-17" >
<el-form-item>
<template slot='label'>指定时间
<el-popover slot="label" placement="top-start" title="提示" width="200" trigger="hover" content="指定时间需要小于生成文章的发布时间">
<i class="el-icon-question" slot="reference"></i>
</el-popover>
</template>
<el-date-picker
v-model="time"
placeholder="请选择指定时间"
start-placeholder=""
end-placeholder=""
:readonly="false"
:disabled="false"
:editable="false"
:clearable="false"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:style="{width:'100%'}"
type="date">
</el-date-picker>
</el-form-item>
</div>
<div class="class-20" >
<el-form-item>
<el-button type="primary" @click="updateArticle" :loading="articleLoading">{{articleLoading?'更新中':'生成文章'}}</el-button>
</el-form-item>
</div>
</div>
<div class="class-23" >
<div class="class-24" >
<el-form-item label="生成栏目">
<tree-select v-model="section"
:props="{value: 'id',label: 'categoryTitle',children: 'children'}"
:options="treeList" :style="{width:'100%'}"
placeholder="请选择文章栏目">
</tree-select>
</el-form-item>
</div>
<div class="class-30" >
<el-form-item>
<el-button type="primary" @click="updateColumn" :loading="columnLoading">{{columnLoading?'更新中':'生成栏目'}}</el-button>
</el-form-item>
</div>
</div>
</div>
</el-form>
</div>
</body>
</html>
<script>
var app = new Vue({
el: '#app',
watch:{
},
data: {
homeLoading:false,
articleLoading:false,
columnLoading:false,
template:'index.htm',//主题模板
templateOptions:[],
position:'index', //位置
contentSection:'0', //文章栏目
section:'0', //栏目
time:ms.util.date.fmt(new Date(),"yyyy-MM-dd"),
treeList:[{
id:'0',
categoryTitle:'顶级栏目',
children:[],
}],
},
methods: {
//更新主页
updataIndex(){
var that = this;
if(!that.position || that.position == ''){
this.$notify({ title: '请输入主页位置!', type: 'warning' });
return;
}
that.homeLoading = true;
ms.http.post(ms.manager+'/cms/generate//generateIndex.do', {url:that.template,position:that.position}).then(function (data) {
if(data.result){
that.$notify({ title: '更新成功!', type: 'success' });
}else {
that.$notify({ title: '更新失败!',message: "错误", type: 'error' });
}
}).catch(function (err) {
that.$notify({ title: '更新失败!',message: err, type: 'error' });
console.log(err);
}).finally(()=>{
that.homeLoading = false;
});
},
//预览主页
viewIndex(){
if(!this.position || this.position == ''){
this.$notify({ title: '请输入主页位置!', type: 'warning' });
return;
}
window.open(ms.manager+"/cms/generate/"+this.position+"/viewIndex.do");
},
//更新栏目
updateColumn(){
var that = this;
that.columnLoading = true;
ms.http.get(ms.manager+'/cms/generate/'+(that.section?that.section:0)+'/genernateColumn.do').then(function (data) {
if(data.result){
that.$notify({ title: '更新成功!', type: 'success' });
}
}).catch(function (err) {
that.$notify({ title: '更新失败!',message: err, type: 'error' });
console.log(err);
}).finally(()=>{
that.columnLoading = false;
});
},
//生成文章栏目
updateArticle(){
var that = this;
that.articleLoading = true;
ms.http.post(ms.manager+'/cms/generate/'+(that.contentSection?that.contentSection:0)+'/generateArticle.do', {dateTime:that.time}).then(function (data) {
if(data.result){
that.$notify({ title: '更新成功!', type: 'success' });
}
}).catch(function (err) {
that.$notify({ title: '更新失败!',message: err, type: 'error' });
console.log(err);
}).finally(()=>{
that.articleLoading = false;
});
},
//获取主题模板数据源
templateOptionsGet() {
var that = this;
ms.http.get(ms.manager+'/template/queryTemplateFileForColumn.do', {pageSize:99999}).then(function (data) {
that.templateOptions = data.data;
}).catch(function (err) {
console.log(err);
});
},
getTree(){
var that = this;
ms.http.get(ms.manager+"/cms/category/list.do",{pageSize:9999}).then(function(res){
if(res.result){
//res.data.rows.push({id:0,categoryId: null,categoryTitle:'顶级栏目管理'});
that.treeList[0].children = ms.util.treeData(res.data.rows,'id','categoryId','children');
}
}).catch(function(err){
console.log(err);
});
},
},
created(){
this.getTree();
this.templateOptionsGet();
}
})
</script>
<style>
input{
width: 100%!important;
}
.class-1
{
color:#333333;
outline:none;
outline-offset:-1px;
max-width:100%;
background-color:#FFFFFF;
flex-direction:row;
display:flex;
animation-duration:1s;
width:100%;
background-repeat:no-repeat;
padding: 14px;
}
.class-2
{
color:#333333;
outline:none;
outline-offset:-1px;
height:500px;
max-width:100%;
flex-direction:row;
display:flex;
animation-duration:1s;
width:100%;
background-repeat:no-repeat;
}
.class-3
{
color:#333333;
padding:20px;
outline:none;
outline-offset:-1px;
height:200px;
max-width:100%;
background-color:#FFFFFF;
flex-direction:column;
display:flex;
justify-content:end;
margin: 12px 6px 12px 12px;
animation-duration:1s;
width:100%;
padding-left:20px;
background-repeat:no-repeat;
}
.class-4
{
color:#333333;
outline:none;
outline-offset:-1px;
max-width:100%;
align-items:center;
flex-direction:row;
display:flex;
animation-duration:1s;
background-repeat:no-repeat;
}
.class-5
{
color:#333333;
word-wrap:break-word;
display:inline-block;
animation-duration:1s;
font-size:14px;
line-height:1.4;
}
.class-6
{
border-color:#EEEEEE;
color:#606266;
padding-right:15px;
box-sizing:boredr-box;
outline:none;
border-width:1px;
border-style:solid;
height:40px;
margin-left:20px;
animation-duration:1s;
background:none;
width:320px;
font-size:12px;
line-height:40px;
padding-left:15px;
}
.class-7
{
border-color:#EEEEEE;
color:#333333;
outline:none;
outline-offset:-1px;
border-width:1px;
border-style:none;
max-width:100%;
align-items:center;
flex-direction:row;
display:flex;
animation-duration:1s;
background-repeat:no-repeat;
}
.class-8
{
color:#333333;
word-wrap:break-word;
display:inline-block;
animation-duration:1s;
font-size:14px;
line-height:1.4;
}
.class-9
{
border-color:#EEEEEE;
color:#606266;
padding-right:15px;
box-sizing:boredr-box;
outline:none;
border-width:1px;
border-style:solid;
height:40px;
margin-left:20px;
animation-duration:1s;
background:none;
width:320px;
font-size:12px;
line-height:40px;
padding-left:15px;
}
.class-10
{
border-color:#EEEEEE;
color:#333333;
outline:none;
outline-offset:-1px;
border-width:1px;
border-style:none;
max-width:100%;
align-items:center;
flex-direction:row;
display:flex;
animation-duration:1s;
background-repeat:no-repeat;
}
.class-11
{
cursor:pointer;
color:#ffffff;
box-sizing:border-box;
height:34px;
background-color:#0099ff;
text-align:center;
display:inline-block;
animation-duration:1s;
border-radius:4px;
width:98px;
line-height:34px;
font-size:14px;
}
.class-12
{
cursor:pointer;
border-color:#0099FF;
color:#0099FF;
box-sizing:border-box;
border-width:1px;
border-style:solid;
height:34px;
background-color:#FFFFFF;
text-align:center;
display:inline-block;
margin-left:10px;
animation-duration:1s;
border-radius:4px;
width:98px;
line-height:34px;
font-size:14px;
}
.class-13
{
color:#333333;
padding:20px;
outline:none;
outline-offset:-1px;
height:200px;
max-width:100%;
background-color:#FFFFFF;
flex-direction:column;
display:flex;
justify-content:end;
margin: 12px 6px;
animation-duration:1s;
width:100%;
padding-left:20px;
background-repeat:no-repeat;
}
.class-14
{
color:#333333;
outline:none;
outline-offset:-1px;
max-width:100%;
align-items:center;
flex-direction:row;
display:flex;
animation-duration:1s;
background-repeat:no-repeat;
}
.class-15
{
color:#333333;
word-wrap:break-word;
display:inline-block;
animation-duration:1s;
font-size:14px;
line-height:1.4;
}
.class-16
{
border-color:#EEEEEE;
color:#606266;
padding-right:15px;
box-sizing:boredr-box;
outline:none;
border-width:1px;
border-style:solid;
height:40px;
margin-left:20px;
animation-duration:1s;
background:none;
width:320px;
font-size:12px;
line-height:40px;
padding-left:15px;
}
.class-17
{
border-color:#EEEEEE;
color:#333333;
outline:none;
outline-offset:-1px;
border-width:1px;
border-style:none;
max-width:100%;
align-items:center;
flex-direction:row;
display:flex;
animation-duration:1s;
background-repeat:no-repeat;
}
.class-18
{
color:#333333;
word-wrap:break-word;
display:inline-block;
animation-duration:1s;
font-size:14px;
line-height:1.4;
}
.class-19
{
border-color:#EEEEEE;
color:#606266;
padding-right:15px;
box-sizing:boredr-box;
outline:none;
border-width:1px;
border-style:solid;
height:40px;
margin-left:20px;
animation-duration:1s;
background:none;
width:320px;
font-size:12px;
line-height:40px;
padding-left:15px;
}
.class-20
{
color:#333333;
outline:none;
outline-offset:-1px;
max-width:100%;
align-items:center;
flex-direction:row;
display:flex;
animation-duration:1s;
background-repeat:no-repeat;
}
.class-21
{
cursor:pointer;
color:#ffffff;
box-sizing:border-box;
height:34px;
background-color:#0099ff;
text-align:center;
display:inline-block;
animation-duration:1s;
border-radius:4px;
width:98px;
line-height:34px;
font-size:14px;
}
.class-22
{
cursor:pointer;
border-color:#0099FF;
color:#0099FF;
box-sizing:border-box;
border-width:1px;
border-style:solid;
height:34px;
background-color:#FFFFFF;
text-align:center;
display:inline-block;
margin-left:10px;
animation-duration:1s;
border-radius:4px;
width:98px;
line-height:34px;
font-size:14px;
}
.class-23
{
color:#333333;
padding:20px;
outline:none;
outline-offset:-1px;
height:200px;
max-width:100%;
background-color:#FFFFFF;
flex-direction:column;
display:flex;
justify-content:end;
margin: 12px 12px 12px 6px;
animation-duration:1s;
width:100%;
padding-left:20px;
background-repeat:no-repeat;
}
.class-24
{
color:#333333;
outline:none;
outline-offset:-1px;
max-width:100%;
align-items:center;
flex-direction:row;
display:flex;
animation-duration:1s;
background-repeat:no-repeat;
}
.class-25
{
color:#333333;
word-wrap:break-word;
display:inline-block;
animation-duration:1s;
font-size:14px;
line-height:1.4;
}
.class-26
{
border-color:#EEEEEE;
color:#606266;
padding-right:15px;
box-sizing:boredr-box;
outline:none;
border-width:1px;
border-style:solid;
height:40px;
margin-left:20px;
animation-duration:1s;
background:none;
width:320px;
font-size:12px;
line-height:40px;
padding-left:15px;
}
.class-27
{
border-color:#EEEEEE;
color:#333333;
outline:none;
outline-offset:-1px;
border-width:1px;
border-style:none;
max-width:100%;
align-items:center;
flex-direction:row;
display:flex;
animation-duration:1s;
background-repeat:no-repeat;
}
.class-28
{
color:#333333;
word-wrap:break-word;
display:inline-block;
animation-duration:1s;
font-size:14px;
line-height:1.4;
}
.class-29
{
border-color:#EEEEEE;
color:#606266;
padding-right:15px;
box-sizing:boredr-box;
outline:none;
border-width:1px;
border-style:solid;
height:40px;
margin-left:20px;
animation-duration:1s;
background:none;
width:320px;
font-size:12px;
line-height:40px;
padding-left:15px;
}
.class-30
{
color:#333333;
outline:none;
outline-offset:-1px;
max-width:100%;
align-items:center;
flex-direction:row;
display:flex;
animation-duration:1s;
background-repeat:no-repeat;
}
.class-31
{
cursor:pointer;
color:#ffffff;
box-sizing:border-box;
height:34px;
background-color:#0099ff;
text-align:center;
display:inline-block;
animation-duration:1s;
border-radius:4px;
width:98px;
line-height:34px;
font-size:14px;
}
.class-32
{
cursor:pointer;
border-color:#0099FF;
color:#0099FF;
box-sizing:border-box;
border-width:1px;
border-style:solid;
height:34px;
background-color:#FFFFFF;
text-align:center;
display:inline-block;
margin-left:10px;
animation-duration:1s;
border-radius:4px;
width:98px;
line-height:34px;
font-size:14px;
}
.el-select,
.el-input,
.el-form-item,
.el-date-editor{
width: 100%;
}
</style>