修改 js 的命名风格

This commit is contained in:
virusdefender
2015-08-15 13:54:30 +08:00
parent d031f14a68
commit 025335b40a
50 changed files with 1403 additions and 896 deletions

View File

@@ -101,9 +101,6 @@
<li class="list-group-item" id="li-user-user_list">
<a href="#user/user_list">用户列表</a>
</li>
<li class="list-group-item" id="li-user-user_group">
<a href="#user/user_group">用户分组</a>
</li>
<li class="list-group-header">小组管理</li>
<li class="list-group-item" id="li-group-group">
<a href="#group/group">小组列表</a>
@@ -124,8 +121,6 @@
</div>
<script src="/static/js/config.js"></script>
<script src="/static/js/require.js"></script>
<script>

View File

@@ -1,5 +1,5 @@
<div ms-controller="announcement" class="col-md-9">
<h1>Announcement</h1>
<h1>公告管理</h1>
<table class="table table-striped">
<tr>
<th>编号</th>
@@ -8,36 +8,38 @@
<th>更新时间</th>
<th>创建者</th>
<th>状态</th>
<th>操作</th>
<th></th>
</tr>
<tr ms-repeat="announcement">
<td>{{el.id}}</td>
<td>{{el.title}}</td>
<td>{{el.create_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{el.last_update_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{el.created_by.username}}</td>
<td>{{getState(el)}}</td>
<tr ms-repeat="announcementList">
<td>{{ el.id }}</td>
<td>{{ el.title }}</td>
<td>{{ el.create_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{ el.last_update_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{ el.created_by.username }}</td>
<td>{{ getState(el)}}</td>
<td>
<button class="btn-sm btn-info" ms-click="enEdit(el)">编辑</button>
<button class="btn-sm btn-info" ms-click="editAnnouncement(el)">编辑</button>
</td>
</tr>
</table>
<div class="form-group">
<label>仅显示可见 <input ms-duplex-checked="visableOnly" type="checkbox"/></label>
<label>仅显示可见 <input ms-duplex-checked="showVisibleOnly" type="checkbox"/></label>
</div>
<div class="text-right">
页数:{{page}}/{{page_count}}&nbsp;&nbsp;
<button ms-attr-class="getBtnClass(0)" ms-click="getPrevious">上一页</button>
<button ms-attr-class="getBtnClass(1)" ms-click="getNext">下一页</button>
<div class="right">
页数:{{ page }}/{{ totalPage }}&nbsp;&nbsp;
<button ms-attr-class="getBtnClass('pre')" ms-click="getPrevious">上一页</button>
<button ms-attr-class="getBtnClass('next')" ms-click="getNext">下一页</button>
</div>
<div ms-visible="isEditing">
<div ms-visible="editingAnnouncementId">
<h3>编辑公告</h3>
<div class="form-group"><label for="title">标题</label>
<div class="form-group">
<label>标题</label>
<input name="title" type="text" class="form-control" id="newTitle" placeholder="公告标题" value=""></div>
<div class="form-group">
<label>内容</label>
<textarea id="editAnnouncementEditor"></textarea>
<textarea id="edit-announcement-editor"></textarea>
</div>
<div class="form-group">
<label>可见 <input ms-duplex-checked="announcementVisible" type="checkbox"/></label>
@@ -45,17 +47,17 @@
<div class="form-group">
<button ms-click="submitChange()" class="btn btn-primary">提交</button>
&nbsp;&nbsp;
<button ms-click="disEdit()" class="btn btn-danger">取消</button>
<button ms-click="cancelEdit()" class="btn btn-danger">取消</button>
</div>
</div>
<h3>添加公告</h3>
<form id="announcement-form">
<div class="form-group"><label for="title">标题</label>
<div class="form-group"><label>标题</label>
<input name="title" type="text" class="form-control" id="title" placeholder="公告标题"></div>
<div class="form-group">
<label>内容</label>
<textarea id="editor" placeholder="公告内容"></textarea>
<textarea id="create-announcement-editor" placeholder="公告内容"></textarea>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">提交</button>

View File

@@ -75,13 +75,18 @@
<div class="col-md-12">
<label>添加题目</label>
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="add_problem()">添加</a>
<div class="col-md-12">
<label>上传测试用例</label>
<label>选择题号</label><select ms-duplex="problemNo"><option value="-1">未指定</option><option ms-repeat="problems" ms-attr-value="$index+1">{{$index+1}}</option></select>
<div id="uploader">
<div>选择文件</div>
</div>
</div>
<div class="col-md-12">
<label>上传测试用例</label>
<label>选择题号</label><select ms-duplex="problemNo">
<option value="-1">未指定</option>
<option ms-repeat="problems" ms-attr-value="$index+1">{{$index+1}}</option>
</select>
<div id="uploader">
<div>选择文件</div>
</div>
</div>
</div>
<div class="col-md-12">
<div class="problem" ms-repeat-problem="problems">
@@ -89,7 +94,7 @@
<div class="panel-heading">
<span class="panel-title">题目{{$index + 1}} </span>
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="toggle(problem)">
{{getBtnContent(problem)}}
{{ getBtnContent(problem)}}
</a>
<a href="javascript:void(0)" class="btn btn-danger btn-sm" ms-click="del_problem(problem)">
删除
@@ -97,17 +102,19 @@
</div>
<div class="panel-body" ms-visible="problem.visible">
<div class="form-group col-md-12">
<label>题目标题</label>
<input type="text" name="problem_name[]" class="form-control" ms-duplex="problem.title">
<label>题目标题</label>
<input type="text" name="problem_name[]" class="form-control" ms-duplex="problem.title">
</div>
<div class="form-group col-md-12">
<label>题目描述</label>
<textarea ms-attr-id="problem-{{ problem.id }}-description" placeholder="这里输入内容"
ms-duplex="problem.description"></textarea>
<small ms-visible="problem.description==''" style="color:red">请填写题目描述</small>
</div>
<div class="form-group col-md-12">
<label>题目描述</label>
<textarea ms-attr-id="problem-{{ problem.id }}-description" placeholder="这里输入内容" ms-duplex="problem.description"></textarea>
<small ms-visible="problem.description==''" style="color:red">请填写题目描述</small>
</div>
<div class="form-group col-md-12">
<label>提示</label>
<textarea ms-attr-id="problem-{{ problem.id }}-hint" placeholder="这里输入内容" ms-duplex="problem.hint"></textarea>
<textarea ms-attr-id="problem-{{ problem.id }}-hint" placeholder="这里输入内容"
ms-duplex="problem.hint"></textarea>
</div>
<div class="col-md-3 form-group">
<label>cpu</label>
@@ -119,19 +126,24 @@
</div>
<div class="col-md-3 form-group">
<label>难度</label>
<input type="number" name="difficulty[]" class="form-control" ms-duplex="problem.difficulty">
<input type="number" name="difficulty[]" class="form-control"
ms-duplex="problem.difficulty">
</div>
<div class="col-md-12">
<label>样例</label>
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="add_sample(problem)">添加</a>
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
ms-click="add_sample(problem)">添加</a>
<div class="sample">
<div class="panel panel-default sample-panel" ms-repeat-sample="problem.samples">
<div class="panel-heading">
<span class="panel-title">样例{{$index + 1}}</span>
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="toggle(sample)">
{{getBtnContent(sample)}}
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
ms-click="toggle(sample)">
{{ getBtnContent(sample)}}
</a>
<a href="javascript:void(0)" class="btn btn-danger btn-sm" ms-click="del_sample(problem, sample)">
<a href="javascript:void(0)" class="btn btn-danger btn-sm"
ms-click="del_sample(problem, sample)">
删除
</a>
</div>
@@ -167,8 +179,8 @@
</tr>
<tr ms-repeat="problem.testCaseList">
<td>{{$index}}</td>
<td>{{el.input}}</td>
<td>{{el.output}}</td>
<td>{{ el.input }}</td>
<td>{{ el.output }}</td>
</tr>
</table>
</div>

View File

@@ -1,14 +1,14 @@
<div ms-controller="group" class="col-md-9">
<h1>小组管理</h1>
<div class="text-right">
<div class="right">
<form class="form-inline" onsubmit="return false;">
<div class="form-group-sm">
<label>搜索</label>
<input class="form-control" placeholder="请输入关键词" ms-duplex="keyword">
<input type="submit" value="搜索" class="btn btn-primary" ms-click="getPage(1)">
<input type="submit" value="搜索" class="btn btn-primary" ms-click="search()">
</div>
</form>
<br>
</div>
<table class="table table-striped">
<tr>
@@ -20,10 +20,10 @@
<th>设置</th>
<th></th>
</tr>
<tr ms-repeat="group_list">
<td>{{el.id}}</td>
<td>{{el.name}}</td>
<td>{{el.create_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<tr ms-repeat="groupList">
<td>{{ el.id }}</td>
<td>{{ el.name }}</td>
<td>{{ el.create_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{ el.members_number }}</td>
<td>{{ getGroupSettingString(el.join_group_setting) }}</td>
@@ -33,10 +33,10 @@
</tr>
</table>
<div class="text-right">
页数:{{page}}/{{page_count}}&nbsp;&nbsp;
<button ms-attr-class="getBtnClass(0)" ms-click="getPrevious">上一页</button>
<button ms-attr-class="getBtnClass(1)" ms-click="getNext">下一页</button>
<div class="right">
页数:{{ page }}/{{ totalPage }}&nbsp;&nbsp;
<button ms-attr-class="getBtnClass('pre')" ms-click="getPrevious">上一页</button>
<button ms-attr-class="getBtnClass('next')" ms-click="getNext">下一页</button>
</div>
</div>

View File

@@ -1,4 +1,4 @@
<div ms-controller="group_detail" class="col-md-9">
<div ms-controller="groupDetail" class="col-md-9">
<h1>小组成员管理</h1>
<table class="table table-striped">
<tr>
@@ -8,7 +8,7 @@
<th>加入时间</th>
<th></th>
</tr>
<tr ms-repeat="member_list">
<tr ms-repeat="memberList">
<td>{{ el.user.id }}</td>
<td>{{ el.user.username }}</td>
<td>{{ el.user.real_name }}</td>
@@ -21,9 +21,9 @@
</table>
<div class="text-right">
页数:{{ page }}/{{ page_count }}&nbsp;&nbsp;
<button ms-attr-class="getBtnClass(0)" ms-click="getPrevious">上一页</button>
<button ms-attr-class="getBtnClass(1)" ms-click="getNext">下一页</button>
页数:{{ page }}/{{ totalPage }}&nbsp;&nbsp;
<button ms-attr-class="getBtnClass('pre')" ms-click="getPrevious">上一页</button>
<button ms-attr-class="getBtnClass('next')" ms-click="getNext">下一页</button>
</div>
<h1>修改小组信息</h1>
@@ -42,9 +42,9 @@
<div class="form-group">
<label>加入小组设置</label>
<input type="radio" name="join_group_setting" value="0" ms-duplex-string="checked_setting">允许任何人加入
<input type="radio" name="join_group_setting" value="1" ms-duplex-string="checked_setting">提交请求后管理员审核
<input type="radio" name="join_group_setting" value="2" ms-duplex-string="checked_setting">不允许任何人加入
<input type="radio" name="join_group_setting" value="0" ms-duplex-string="checkedSetting">允许任何人加入
<input type="radio" name="join_group_setting" value="1" ms-duplex-string="checkedSetting">提交请求后管理员审核
<input type="radio" name="join_group_setting" value="2" ms-duplex-string="checkedSetting">不允许任何人加入
</div>
<button class="btn btn-primary" type="submit">提交</button>
@@ -52,4 +52,4 @@
</form>
</div>
<script src="/static/js/app/admin/group/group_detail.js"></script>
<script src="/static/js/app/admin/group/groupDetail.js"></script>

View File

@@ -1,31 +1,31 @@
<div ms-controller="request_list" class="col-md-9">
<div ms-controller="requestList" class="col-md-9">
<h1>加入小组请求管理</h1>
<table class="table table-striped">
<tr>
<th>创建时间</th>
<th>用户</th>
<th>小组</th>
<th>用户</th>
<th>附加消息</th>
<th></th>
</tr>
<tr ms-repeat="request_list">
<td>{{el.create_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<tr ms-repeat="requestList">
<td>{{ el.create_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{ el.group.name }}</td>
<td>{{ el.user.username }}</td>
<td>{{ el.message }}</td>
<td>
<button class="btn-sm btn-success" ms-click="processRequest(el.id, true)">同意</button>
<button class="btn-sm btn-danger" ms-click="processRequest(el.id, false)">拒绝</button>
<button class="btn-sm btn-success" ms-click="processRequest(el, true)">同意</button>
<button class="btn-sm btn-danger" ms-click="processRequest(el, false)">拒绝</button>
</td>
</tr>
</table>
<div class="text-right">
页数:{{page}}/{{page_count}}&nbsp;&nbsp;
<button ms-attr-class="getBtnClass(0)" ms-click="getPrevious">上一页</button>
<button ms-attr-class="getBtnClass(1)" ms-click="getNext">下一页</button>
页数:{{ page }}/{{ totalPage }}&nbsp;&nbsp;
<button ms-attr-class="getBtnClass('pre')" ms-click="getPrevious">上一页</button>
<button ms-attr-class="getBtnClass('next')" ms-click="getNext">下一页</button>
</div>
</div>
<script src="/static/js/app/admin/group/join_group_request_list.js"></script>
<script src="/static/js/app/admin/group/joinGroupRequestList.js"></script>

View File

@@ -1,4 +1,4 @@
<div ms-controller="add_problem" class="col-md-9">
<div ms-controller="addProblem" class="col-md-9">
<form id="add-problem-form">
<div class="form-group col-md-12">
@@ -41,27 +41,27 @@
<div class="col-md-12 form-group">
<label>输入描述</label><br>
<textarea class="form-control" rows="5" name="input_description"
ms-duplex="input_description"></textarea>
ms-duplex="inputDescription"></textarea>
</div>
<div class="col-md-12 form-group">
<label>输出描述</label><br>
<textarea class="form-control" rows="5" name="output_description"
ms-duplex="output_description"></textarea>
ms-duplex="outputDescription"></textarea>
</div>
<div class="col-md-12"><br>
<label>样例</label>
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="add_sample()">添加</a>
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="addSample()">添加</a>
<div class="sample">
<div class="panel panel-default sample-panel" ms-repeat-sample="samples">
<div class="panel-heading">
<span class="panel-title">样例{{$index + 1}}</span>
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
ms-click="toggle_sample(sample)">
ms-click="toggleSample(sample)">
{{ getBtnContent(sample)}}
</a>
<a href="javascript:void(0)" class="btn btn-danger btn-sm"
ms-click="del_sample(sample)">
ms-click="delSample(sample)">
删除
</a>
</div>

View File

@@ -0,0 +1,123 @@
<div ms-controller="editProblem" class="col-md-9">
<form id="edit-problem-form">
<div class="form-group col-md-12">
<label>题目标题</label>
<input type="text" name="title" autofocus class="form-control" ms-duplex="title">
</div>
<div class="form-group col-md-12">
<label>题目描述</label>
<textarea id="problemDescription" placeholder="这里输入内容(此内容不能为空)" ms-duplex="description"></textarea>
<small ms-visible="description==''" style="color:red">请填写题目描述</small>
</div>
<div class="col-md-3">
<div class="form-group"><label>时间限制(ms)</label>
<input type="number" name="cpu" class="form-control" ms-duplex="timeLimit">
</div>
</div>
<div class="col-md-3">
<div class="form-group"><label>内存限制(MB)</label>
<input type="number" name="memory" class="form-control" ms-duplex="memoryLimit">
</div>
</div>
<div class="col-md-3">
<div class="form-group"><label>难度</label>
<input type="number" name="difficulty" class="form-control" ms-duplex="difficulty">
</div>
</div>
<div class="col-md-3 form-group">
<label>前台是否可见</label><br>
<label><input type="checkbox" ms-duplex-checked="visible">
<small> 可见</small>
</label>
</div>
<div id="tag" class="col-md-12">
<label>标签</label><br>
<input type="text" id="tags">
</div>
<div class="col-md-12 form-group">
<label>输入描述</label><br>
<textarea class="form-control" rows="5" name="input_description"
ms-duplex="inputDescription"></textarea>
</div>
<div class="col-md-12 form-group">
<label>输出描述</label><br>
<textarea class="form-control" rows="5" name="output_escription"
ms-duplex="outputDescription"></textarea>
</div>
<div class="col-md-12"><br>
<label>样例</label>
<a href="javascript:void(0)" class="btn btn-primary btn-sm" ms-click="addSample()">添加</a>
<div class="sample">
<div class="panel panel-default sample-panel" ms-repeat-sample="samples">
<div class="panel-heading">
<span class="panel-title">样例{{$index + 1}}</span>
<a href="javascript:void(0)" class="btn btn-primary btn-sm"
ms-click="toggleSample(sample)">
{{ getBtnContent(sample)}}
</a>
<a href="javascript:void(0)" class="btn btn-danger btn-sm"
ms-click="delSample(sample)">
删除
</a>
</div>
<div class="panel-body row" ms-visible="sample.visible">
<div class="col-md-6">
<div class="form-group">
<label>样例输入</label>
<textarea class="form-control" rows="5" ms-duplex="sample.input"></textarea>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>样例输出</label>
<textarea class="form-control" rows="5" ms-duplex="sample.output"></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12"><br>
<label>测试数据(当前已上传,继续上传将覆盖原有测试用例)</label><br>
<small class="text-info">请将所有测试用例打包在一个文件中上传所有文件要在压缩包的根目录且输入输出文件名要以从1开始连续数字标识要对应例如<br>
1.in 1.out 2.in 2.out
</small>
<table class="table table-striped" ms-visible="uploadSuccess">
<tr>
<td>编号</td>
<td>输入文件名</td>
<td>输出文件名</td>
</tr>
<tr ms-repeat="testCaseList">
<td>{{ $index + 1 }}</td>
<td>{{ el.input }}</td>
<td>{{ el.output }}</td>
</tr>
</table>
</div>
<div class="col-md-12">
<div class="form-group">
<div id="testCaseFile">选择文件</div>
</div>
</div>
<div class="form-group col-md-12">
<label>提示</label>
<textarea id="hint" placeholder="这里输入内容" ms-duplex="hint"></textarea>
</div>
<div class="form-group col-md-12">
<label>来源</label>
<input type="text" name="source" class="form-control" ms-duplex="source">
</div>
<div class="col-md-12">
<input type="submit" class="btn btn-success btn-lg" value="发布题目" id="submitBtn">
</div>
</form>
</div>
<script src="/static/js/app/admin/problem/edit_problem.js"></script>

View File

@@ -0,0 +1,40 @@
<div ms-controller="problemList" class="col-md-9">
<h1>题目列表</h1>
<div class="right">
<form class="form-inline" onsubmit="return false;">
<div class="form-group-sm">
<label>搜索</label>
<input name="keyWord" class="form-control" placeholder="请输入关键词" ms-duplex="keyword">
<input type="submit" value="搜索" class="btn btn-primary" ms-click="getPage(1)">
</div>
</form>
<br>
</div>
<table class="table table-striped">
<tr>
<th>ID</th>
<th>题目</th>
<th>创建时间</th>
<th>作者</th>
<td>通过次数/提交总数</td>
<td></td>
</tr>
<tr ms-repeat="problemList">
<td>{{ el.id }}</td>
<td>{{ el.title }}</td>
<td>{{ el.create_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{ el.created_by.username }}</td>
<td>{{ el.total_accepted_number }}/{{ el.total_submit_number }}</td>
<td>
<button class="btn-sm btn-info" ms-click="showEditProblemPage(el.id)">编辑</button>
</td>
</tr>
</table>
<div class="text-right">
页数:{{ page }}/{{ totalPage }}&nbsp;&nbsp;
<button ms-attr-class="getBtnClass('pre')" ms-click="getPrevious">上一页</button>
<button ms-attr-class="getBtnClass('next')" ms-click="getNext">下一页</button>
</div>
</div>
<script src="/static/js/app/admin/problem/problem.js"></script>

View File

@@ -1,11 +1,12 @@
<div ms-controller="user_list" class="col-md-9">
<h1>User</h1>
<div class="text-right">
<div ms-controller="userList" class="col-md-9">
<h1>用户管理</h1>
<div class="right">
<form class="form-inline" onsubmit="return false;">
<div class="form-group-sm">
<label>搜索</label>
<input name="keyWord" class="form-control" placeholder="请输入关键词" ms-duplex="key_word">
<input type="submit" value="搜索" class="btn btn-primary" ms-click="getPage(1)">
<input name="keyWord" class="form-control" placeholder="请输入关键词" ms-duplex="keyWord">
<input type="submit" value="搜索" class="btn btn-primary" ms-click="search()">
</div>
</form>
<br>
@@ -21,16 +22,16 @@
<th>用户类型</th>
<th>修改</th>
</tr>
<tr ms-repeat="user_list">
<td>{{el.id}}</td>
<td>{{el.username}}</td>
<td>{{el.create_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{el.last_login|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{el.real_name}}</td>
<td>{{el.email}}</td>
<td>{{user_type[el.admin_type]}}</td>
<tr ms-repeat="userList">
<td>{{ el.id }}</td>
<td>{{ el.username }}</td>
<td>{{ el.create_time|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{ el.last_login|date("yyyy-MM-dd HH:mm:ss")}}</td>
<td>{{ el.real_name }}</td>
<td>{{ el.email }}</td>
<td>{{ userType[el.admin_type]}}</td>
<td>
<button class="btn-sm btn-info" ms-click="enEdit(el)">编辑</button>
<button class="btn-sm btn-info" ms-click="editUser(el)">编辑</button>
</td>
</tr>
</table>
@@ -38,12 +39,13 @@
<label>仅显示管理员 <input ms-duplex-checked="showAdminOnly" type="checkbox"/></label>
</div>
<div class="text-right">
页数:{{page}}/{{page_count}}&nbsp;&nbsp;
<button ms-attr-class="getBtnClass(0)" ms-click="getPrevious">上一页</button>
<button ms-attr-class="getBtnClass(1)" ms-click="getNext">下一页</button>
页数:{{ page }}/{{ totalPage }}&nbsp;&nbsp;
<button ms-attr-class="getBtnClass('pre')" ms-click="getPrevious">上一页</button>
<button ms-attr-class="getBtnClass('next')" ms-click="getNext">下一页</button>
</div>
<div ms-visible="isEditing">
<div ms-visible="editingUserId">
<h3>修改用户信息</h3>
<form id="edit_user-form">
<div class="row">
<div class="form-group col-md-4"><label>ID</label>
@@ -53,7 +55,7 @@
<input name="username" type="text" class="form-control" ms-duplex="username">
</div>
<div class="form-group col-md-4"><label>真实姓名</label>
<input name="real_name" type="text" class="form-control" ms-duplex="real_name">
<input name="real_name" type="text" class="form-control" ms-duplex="realName">
</div>
</div>
<div class="row">
@@ -65,8 +67,8 @@
<input name="email" type="email" class="form-control" ms-duplex="email">
</div>
<div class="form-group col-md-4"><label>用户类型</label>
<select name="admin_type" class="form-control" ms-duplex="admin_type">
<option ms-repeat="user_type" ms-attr-value="$index">{{el}}</option>
<select name="admin_type" class="form-control" ms-duplex="adminType">
<option ms-repeat="userType" ms-attr-value="$index">{{ el }}</option>
</select>
</div>
</div>
@@ -76,4 +78,4 @@
</form>
</div>
</div>
<script src="/static/js/app/admin/user/user_list.js"></script>
<script src="/static/js/app/admin/user/userList.js"></script>

View File

@@ -1,34 +1,36 @@
{% extends "oj_base.html" %}
{% block body %}
<div class="container main">
<div class="col-md-6 col-md-offset-3">
<h2 class="text-center">修改密码</h2>
<div class="container main">
<div class="col-md-6 col-md-offset-3">
<h2 class="text-center">修改密码</h2>
<form id="change_password-form">
<div class="form-group">
<label for="username">用户名</label>
<input type="text" class="form-control input-lg" id="username" name="username" placeholder="用户名"
autofocus>
</div>
<div class="form-group">
<label for="password">旧密码</label>
<input type="password" class="form-control input-lg" id="password" name="password" placeholder="密码">
</div>
<div class="form-group">
<label for="new_password">新密码</label>
<input type="password" class="form-control input-lg" id="new_password" name="new_password" placeholder="新密码">
</div>
<div class="form-group">
<label for="confirm_password">确认密码</label>
<input type="password" class="form-control input-lg" id="confirm_password" name="confirm_password" placeholder="确认密码">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</form>
<form id="change_password-form">
<div class="form-group">
<label for="username">用户名</label>
<input type="text" class="form-control input-lg" id="username" name="username" placeholder="用户名"
autofocus>
</div>
<div class="form-group">
<label for="password">旧密码</label>
<input type="password" class="form-control input-lg" id="password" name="password" placeholder="密码">
</div>
<div class="form-group">
<label for="new_password">新密码</label>
<input type="password" class="form-control input-lg" id="new_password" name="new_password"
placeholder="新密码">
</div>
<div class="form-group">
<label for="confirm_password">确认密码</label>
<input type="password" class="form-control input-lg" id="confirm_password" name="confirm_password"
placeholder="确认密码">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</form>
</div>
</div>
</div>
{% endblock %}
{% block js_block %}
<script src="/static/js/app/oj/account/change_password.js"></script>
<script src="/static/js/app/oj/account/change_password.js"></script>
{% endblock %}

View File

@@ -1,26 +1,26 @@
{% extends "oj_base.html" %}
{% block body %}
<div class="container main">
<div class="col-md-6 col-md-offset-3">
<h2 class="text-center">用户登录</h2>
<div class="container main">
<div class="col-md-6 col-md-offset-3">
<h2 class="text-center">用户登录</h2>
<form id="login-form">
<div class="form-group">
<label for="username">用户名</label>
<input type="text" class="form-control input-lg" id="username" name="username" placeholder="用户名"
autofocus>
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" class="form-control input-lg" id="password" name="password" placeholder="密码">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</form>
<form id="login-form">
<div class="form-group">
<label for="username">用户名</label>
<input type="text" class="form-control input-lg" id="username" name="username" placeholder="用户名"
autofocus>
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" class="form-control input-lg" id="password" name="password" placeholder="密码">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</form>
</div>
</div>
</div>
{% endblock %}
{% block js_block %}
<script src="/static/js/app/oj/account/login.js"></script>
<script src="/static/js/app/oj/account/login.js"></script>
{% endblock %}

View File

@@ -1,38 +1,39 @@
{% extends "oj_base.html" %}
{% block body %}
<div class="container main">
<div class="col-md-6 col-md-offset-3">
<h2 class="text-center">用户注册</h2>
<div class="container main">
<div class="col-md-6 col-md-offset-3">
<h2 class="text-center">用户注册</h2>
<form id="register-form">
<div class="form-group">
<label for="username">用户名</label>
<input type="text" class="form-control input-lg" id="username" name="username" placeholder="用户名"
autofocus>
</div>
<div class="form-group">
<label for="real_name">真实姓名</label>
<input type="text" class="form-control input-lg" id="real_name" name="real_name" placeholder="真实姓名">
</div>
<div class="form-group">
<label for="email">邮箱地址</label>
<input type="email" class="form-control input-lg" id="email" name="email" placeholder="邮箱地址">
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" class="form-control input-lg" id="password" name="password" placeholder="密码">
</div>
<div class="form-group">
<label for="confirm_password">确认密码</label>
<input type="password" class="form-control input-lg" id="confirm_password" name="confirm_password" placeholder="确认密码">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</form>
<form id="register-form">
<div class="form-group">
<label for="username">用户名</label>
<input type="text" class="form-control input-lg" id="username" name="username" placeholder="用户名"
autofocus>
</div>
<div class="form-group">
<label for="real_name">真实姓名</label>
<input type="text" class="form-control input-lg" id="real_name" name="real_name" placeholder="真实姓名">
</div>
<div class="form-group">
<label for="email">邮箱地址</label>
<input type="email" class="form-control input-lg" id="email" name="email" placeholder="邮箱地址">
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" class="form-control input-lg" id="password" name="password" placeholder="密码">
</div>
<div class="form-group">
<label for="confirm_password">确认密码</label>
<input type="password" class="form-control input-lg" id="confirm_password" name="confirm_password"
placeholder="确认密码">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</form>
</div>
</div>
</div>
{% endblock %}
{% block js_block %}
<script src="/static/js/app/oj/account/register.js"></script>
<script src="/static/js/app/oj/account/register.js"></script>
{% endblock %}

View File

@@ -1,22 +1,22 @@
{% extends "oj_base.html" %}
{% block body %}
<div class="container main">
<h1 class="text-center">{{ announcement.title }}</h1>
<div class="container main">
<h1 class="text-center">{{ announcement.title }}</h1>
<p class="text-muted text-center">
作者:{{ announcement.created_by }}
&nbsp;&nbsp;&nbsp;
创建时间:{{ announcement.create_time }}
{% ifequal announcement.create_time announcement.last_update_time %}
{% else %}
&nbsp;&nbsp;&nbsp;
最后更新:{{ announcement.last_update_time }}
{% endifequal %}
</p>
<p class="text-muted text-center">
作者:{{ announcement.created_by }}
&nbsp;&nbsp;&nbsp;
创建时间:{{ announcement.create_time }}
{% ifequal announcement.create_time announcement.last_update_time %}
{% else %}
&nbsp;&nbsp;&nbsp;
最后更新:{{ announcement.last_update_time }}
{% endifequal %}
</p>
<div>
<p>{{ announcement.content|safe }}</p>
<div>
<p>{{ announcement.content|safe }}</p>
</div>
</div>
</div>
{% endblock %}

View File

@@ -1,15 +1,15 @@
{% extends "oj_base.html" %}
{% block body %}
<div class="container main">
<ul class="nav nav-tabs nav-tabs-google">
<li role="presentation" class="active">
<a href="problem.html">题目</a></li>
<li role="presentation"><a href="my_solutions_list.html">我的提交</a></li>
<li role="presentation"><a href="#">排名</a></li>
</ul>
<h2 class="text-center">第一次比赛</h2>
<div class="container main">
<ul class="nav nav-tabs nav-tabs-google">
<li role="presentation" class="active">
<a href="problem.html">题目</a></li>
<li role="presentation"><a href="my_solutions_list.html">我的提交</a></li>
<li role="presentation"><a href="#">排名</a></li>
</ul>
<h2 class="text-center">第一次比赛</h2>
<p class="text-muted text-center"><b>开始时间:</b> 2015-6-8 19:00 <b>结束时间:</b> 2015-9-1 12:00</p>
<p class="text-muted text-center"><b>开始时间:</b> 2015-6-8 19:00 <b>结束时间:</b> 2015-9-1 12:00</p>
</div>
</div>
{% endblock %}

View File

@@ -1,37 +1,39 @@
{% extends "oj_base.html" %}
{% block body %}
<div class="container">
<div class="container">
<div class="container">
<div class="jumbotron">
<h1>青岛大学在线评测平台</h1>
<div class="jumbotron">
<h1>青岛大学在线评测平台</h1>
<p class="lead">走心的在线评测平台和算法交流社区,全新登场~</p>
<p class="lead">走心的在线评测平台和算法交流社区,全新登场~</p>
<p><a class="btn btn-lg btn-primary" href="/problems/" role="button">开始刷题!</a></p>
</div>
<!-- Example row of columns -->
<div class="row">
<div class="col-lg-4">
<h2>全新UI 全新设计</h2>
<p>精心设计的UI和交互让你。。。编不下去了 </p>
</div>
<div class="col-lg-4">
<h2>分布式评测</h2>
<p>技术领先的高性能分布式评测机制,根据提交数量自动伸缩判题机器实例。</p>
</div>
<div class="col-lg-4">
<h2>高质量原创题目</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id
ligula
porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum
nibh,
ut fermentum massa.</p>
</div>
</div>
<p><a class="btn btn-lg btn-primary" href="/problems/" role="button">开始刷题!</a></p>
</div>
<!-- Example row of columns -->
<div class="row">
<div class="col-lg-4">
<h2>全新UI 全新设计</h2>
<p>精心设计的UI和交互让你。。。编不下去了 </p>
</div>
<div class="col-lg-4">
<h2>分布式评测</h2>
<p>技术领先的高性能分布式评测机制,根据提交数量自动伸缩判题机器实例。</p>
</div>
<div class="col-lg-4">
<h2>高质量原创题目</h2>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula
porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh,
ut fermentum massa.</p>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@@ -1,4 +1,3 @@
<h2 class="text-center">{{ problem.title }}</h2>
<p class="text-muted text-center">发布时间 : {{ problem.create_time }}&nbsp;&nbsp;

View File

@@ -1,9 +1,9 @@
{% extends 'oj_base.html' %}
{% block css_block %}
<style>
.CodeMirror{
height: auto;
}
.CodeMirror {
height: auto;
}
</style>
{% endblock %}
{% block body %}
@@ -29,7 +29,7 @@
{% ifequal submission.result 4 %}
<p>{{ submission.info }}</p>
{% endifequal %}
<p>提交时间 : {{ submission.create_time }}</p>
<p>提交时间 : {{ submission.create_time }}</p>
</div>
</div>
<div id="code-field">
@@ -40,7 +40,7 @@
{% endblock %}
{% block js_block %}
<script>
require(["jquery", "code_mirror"], function ($, code_mirror) {
require(["jquery", "codeMirror"], function ($, codeMirror) {
{% ifequal submission.language 1 %}
var language = "text/x-csrc";
{% else %}
@@ -50,8 +50,8 @@
var language = "text/x-java";
{% endifequal %}
{% endifequal %}
var code_editor = code_mirror($("#code-editor")[0], language);
code_editor.setOption("readOnly", true);
var codeEditor = codeMirror($("#code-editor")[0], language);
codeEditor.setOption("readOnly", true);
});
</script>
{% endblock %}

View File

@@ -5,7 +5,7 @@
<div class="row">
<div class="col-lg-9">
<div class="row">
<div style="float: right;">
<div class="search-box">
<form class="form-inline" onsubmit="return false;">
<div class="form-group-sm">
<input name="keyWord" class="form-control" placeholder="请输入关键词" ms-duplex="key_word">
@@ -28,7 +28,7 @@
{% for item in problems %}
<tr>
<th scope="row"><a href="/problem/{{ item.id }}/">{{ item.id }}</a></th>
<td><a href="/problem/1/">{{ item.title }}</a></td>
<td><a href="/problem/{{ item.id }}/">{{ item.title }}</a></td>
<td>{{ item.difficulty }}</td>
<td>{{ item|accepted_radio }}</td>
</tr>
@@ -38,11 +38,13 @@
<nav>
<ul class="pager">
{% if previous_page %}
<li class="previous"><a href="/problems/{{ previous_page }}/"><span
aria-hidden="true">&larr;</span> 上一页</a></li>
<li class="previous"><a
href="/problems/{{ previous_page }}/{% if keyword %}?keyword={{ keyword }}{% endif %}{% if tag %}?tag={{ tag }}{% endif %}">
<span aria-hidden="true">&larr;</span> 上一页</a></li>
{% endif %}
{% if next_page %}
<li class="next"><a href="/problems/{{ next_page }}/">下一页 <span
<li class="next"><a
href="/problems/{{ next_page }}/{% if keyword %}?keyword={{ keyword }}{% endif %}{% if tag %}?tag={{ tag }}{% endif %}">下一页 <span
aria-hidden="true">&rarr;</span></a></li>
{% endif %}
</ul>

View File

@@ -48,28 +48,28 @@
<li><a href="/about/">关于</a></li>
</ul>
{% if request.user.is_authenticated %}
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">
李扬
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">我的提交</a></li>
<li><a href="#">我的资料</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">退出</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">
李扬
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">我的提交</a></li>
<li><a href="#">我的资料</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">退出</a></li>
</ul>
</li>
</ul>
{% else %}
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="/login/" class="dropdown-toggle">
登录
</a>
</li>
</ul>
<li class="dropdown">
<a href="/login/" class="dropdown-toggle">
登录
</a>
</li>
</ul>
{% endif %}
</div>
</div>