[前端-公告管理]增加仅显示可见公告功能,统一数据获取方法

This commit is contained in:
sxw 2015-08-08 08:39:37 +08:00
parent 43238072ae
commit a03b8af79d
3 changed files with 31 additions and 72 deletions

58
.gitignore vendored
View File

@ -1,58 +0,0 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
# C extensions
*.so
# Distribution / packaging
.Python
env/
bin/
build/
develop-eggs/
dist/
eggs/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.cache
nosetests.xml
coverage.xml
# Translations
*.mo
# Mr Developer
.mr.developer.cfg
.project
.pydevproject
# Rope
.ropeproject
.idea/
# Django stuff:
*.log
*.pot
# Sphinx documentation
docs/_build/
# Back up file
*~
#db file
db.db
#vim cache
*swp
*swo
#redis dump
*.rdb
#*.out
db.sqlite3
.DS_Store
log/
release/

View File

@ -12,6 +12,18 @@ require(["jquery", "avalon", "csrf", "bs_alert", "editor", "validation"], functi
next_page: 0, // 之后的页数
page: 1, // 当前页数
isEditing: 0, // 正在编辑的公告的ID 为零说明未在编辑
page_count: 1,
visableOnly : false,
showOrHide : "仅显示可见",
announcementVisible : true,
changeHiddenState : function () {
if (vm.visableOnly == false)
vm.showOrHide = "显示全部";
else
vm.showOrHide = "仅显示可见";
vm.visableOnly =! vm.visableOnly;
getPageData(vm.page);
},
getState: function (el) { //获取公告当前状态,显示
if (el.visible)
return "可见";
@ -42,8 +54,7 @@ require(["jquery", "avalon", "csrf", "bs_alert", "editor", "validation"], functi
if (!editAnnouncementEditor) //初始化编辑器
editAnnouncementEditor = editor("#editAnnouncementEditor");
editAnnouncementEditor.setValue(el.content);
if (el.visible == false)
$("#hidden").attr("checked", true);
vm.announcementVisible=el.visible;
if (vm.isEditing == el.id)
vm.isEditing = 0;
else
@ -54,17 +65,15 @@ require(["jquery", "avalon", "csrf", "bs_alert", "editor", "validation"], functi
vm.isEditing = 0;
},
submitChange: function () { // 处理编辑公告提交事件,顺便验证字段为空
var title = $("#newTitle").val(), content = editAnnouncementEditor.getValue(), visible = true;
if ($("#hidden").attr("checked") == true)
visible = false;
var title = $("#newTitle").val(), content = editAnnouncementEditor.getValue();
if (title != "") {
if (content != "") {
$.ajax({ //发送修改公告请求
beforeSend: csrfHeader,
url: "/api/edit_announcements/",
url: "/api/announcements/",
dataType: "json",
method: "post",
data: {id: vm.isEditing, title: title, content: content, visible: visible},
method: "put",
data: {id: vm.isEditing, title: title, content: content, visible: vm.announcementVisible},
success: function (data) {
if (!data.code) {
bs_alert("修改成功");
@ -91,14 +100,18 @@ require(["jquery", "avalon", "csrf", "bs_alert", "editor", "validation"], functi
vm.isEditing = 0;
//Ajax get数据
function getPageData(page) {
var visible = '';
if (vm.visableOnly == true)
visible = "&visible=true";
$.ajax({
beforeSend: csrfHeader,
url: "/api/announcements/?paging=true&page=" + page + "&page_size=10",
url: "/api/announcements/?paging=true&page=" + page + "&page_size=10"+visible,
dataType: "json",
method: "get",
success: function (data) {
if (!data.code) {
vm.announcement = data.data.results;
vm.page_count = data.data.total_page;
vm.previous_page = data.data.previous_page;
vm.next_page = data.data.next_page;
}

View File

@ -1,4 +1,4 @@
<style> </style>
<style></style>
<div ms-controller="announcement" class="col-md-9">
<h1>Announcement</h1>
@ -24,8 +24,12 @@
</td>
</tr>
</table>
<div class="form-group">
<button class="btn btn-info" ms-click="changeHiddenState()">{{showOrHide}}</button>
</div>
<div class="text-right">
页数:{{page}}/{{page+next_page}}
页数:{{page}}/{{page_count}}&nbsp;&nbsp;
<botton ms-attr-class="getBtnClass(0)" ms-click="getPrevious">上一页</botton>
<botton ms-attr-class="getBtnClass(1)" ms-click="getNext">下一页</botton>
</div>
@ -40,11 +44,11 @@
<textarea id="editAnnouncementEditor"></textarea>
</div>
<div class="form-group">
<label>隐藏</label>
<input type="checkbox" id="hidden">
<label>显示 <input ms-duplex-checked="announcementVisible" type="checkbox"/></label>
</div>
<div class="form-group">
<button ms-click="submitChange()" class="btn btn-primary">提交</button>&nbsp;&nbsp;
<button ms-click="submitChange()" class="btn btn-primary">提交</button>
&nbsp;&nbsp;
<button ms-click="disEdit()" class="btn btn-danger">取消</button>
</div>
</div>