523 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>浏览页面</title>
<link rel="stylesheet" href="/app/admin/component/pear/css/pear.css" />
<link rel="stylesheet" href="/app/admin/admin/css/reset.css" />
</head>
<body class="pear-container">
<!-- 顶部查询表单 -->
<div class="layui-card">
<div class="layui-card-body">
<form class="layui-form top-search-from">
<div class="layui-form-item">
<label class="layui-form-label">消息类型</label>
<div class="layui-input-block">
<input type="text" name="msg_type" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">教师</label>
<div class="layui-input-block">
<input type="number" name="teacher_id" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">课程</label>
<div class="layui-input-block">
<input type="number" name="subject_id" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">学生</label>
<div class="layui-input-block">
<input type="number" name="student_id" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">教师排课id</label>
<div class="layui-input-block">
<input type="number" name="teacher_schedule_time_id" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">课程开始时间</label>
<div class="layui-input-block">
<input type="text" name="start_time" id="start_time" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">发送角色</label>
<div class="layui-input-block">
<input type="text" name="send_role" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">结果</label>
<div class="layui-input-block">
<input type="number" name="send_result" value="" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-inline">
<label class="layui-form-label"></label>
<button class="pear-btn pear-btn-md pear-btn-primary" lay-submit lay-filter="table-query">
<i class="layui-icon layui-icon-search"></i>查询
</button>
<button type="reset" class="pear-btn pear-btn-md" lay-submit lay-filter="table-reset">
<i class="layui-icon layui-icon-refresh"></i>重置
</button>
</div>
<div class="toggle-btn">
<a class="layui-hide">展开<i class="layui-icon layui-icon-down"></i></a>
<a class="layui-hide">收起<i class="layui-icon layui-icon-up"></i></a>
</div>
</form>
</div>
</div>
<!-- 数据表格 -->
<div class="layui-card">
<div class="layui-card-body">
<table id="data-table" lay-filter="data-table"></table>
</div>
</div>
<!-- 表格顶部工具栏 -->
<script type="text/html" id="table-toolbar">
<!-- <button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add" permission="app.admin.cronjob.insert">-->
<!-- <i class="layui-icon layui-icon-add-1"></i>-->
<!-- </button>-->
<!-- <button class="pear-btn pear-btn-danger pear-btn-md" lay-event="batchRemove" permission="app.admin.cronjob.delete">-->
<!-- <i class="layui-icon layui-icon-delete"></i>-->
<!-- </button>-->
</script>
<script type="text/html" id="msg_type">
<div>
{{# if(d.msg_type == 'teacher_schedule_time_publish_to_teacher'){ }}
<span class="layui-badge layui-bg-green">排课结果通知教师</span>
{{# }else if(d.msg_type == 'teacher_schedule_time_publish_to_student'){ }}
<span class="layui-badge layui-bg-blue">排课结果通知学生</span>
{{# }else if(d.msg_type == 'teacher_schedule_time_publish_to_parent'){ }}
<span class="layui-badge layui-bg-orange">排课结果通知家长</span>
{{# }else if(d.msg_type == 'class_begin_notify_teacher'){ }}
<span class="layui-badge layui-bg-green">课程开始提醒教师</span>
{{# }else if(d.msg_type == 'subject_upload_notify_admin'){ }}
<span class="layui-badge layui-bg-red">课程作业上传提醒管理员</span>
{{# }else if(d.msg_type == 'subject_version_upload_notify_student'){ }}
<span class="layui-badge layui-bg-blue">课程报告上传提醒学生</span>
{{# }else if(d.msg_type == 'admin_notify_teacher_submit_free_time'){ }}
<span class="layui-badge layui-bg-green">教师空闲时间上传提醒</span>
{{# }else if(d.msg_type == 'student_upload_homework_notify_teacher'){ }}
<span class="layui-badge layui-bg-green">学生上传作业通知教师</span>
{{# }else{ }}
<span class="layui-badge layui-bg-green">未知</span>
{{# } }}
</div>
</script>
<script type="text/html" id="msg_role">
<div>
{{# if(d.send_role == 'teacher'){ }}
<span class="layui-badge layui-bg-green">教师</span>
{{# }else if(d.send_role == 'student'){ }}
<span class="layui-badge layui-bg-blue">学生</span>
{{# }else if(d.send_role == 'admin'){ }}
<span class="layui-badge layui-bg-red">管理员</span>
{{# }else if(d.send_role == 'parent'){ }}
<span class="layui-badge layui-bg-orange">家长</span>
{{# }else{ }}
<span class="layui-badge layui-bg-red">未知</span>
{{# } }}
</div>
</script>
<script type="text/html" id="send_result">
<div>
{{# if(d.send_result == 1){ }}
<span class="layui-badge layui-bg-green">成功</span>
{{# }else{ }}
<span class="layui-badge layui-bg-red">失败</span>
{{# } }}
</div>
</script>
<script type="text/html" id="msg_info">
<div>
{{# if(d.msg_type == 'teacher_schedule_time_publish_to_teacher'){ }}
<div>
<span>教师{{d.msg_info.teacher_name}}</span>
<span>课程{{d.msg_info.english_name}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
</div>
<!-- <span class="layui-badge layui-bg-orange">排课结果通知教师</span>-->
{{# }else if(d.msg_type == 'teacher_schedule_time_publish_to_student'){ }}
<div>
<span>教师{{d.msg_info.teacherAttr.teacher_name}}</span>
<span>课程{{d.msg_info.english_name}}</span>
<span>学生{{d.msg_info.studentSchedule[0]['student_name']}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
</div>
{{# }else if(d.msg_type == 'teacher_schedule_time_publish_to_parent'){ }}
<div>
<span>教师{{d.msg_info.teacherAttr.teacher_name}}</span>
<span>课程{{d.msg_info.english_name}}</span>
<span>学生{{d.msg_info.studentSchedule[0]['student_name']}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
</div>
{{# }else if(d.msg_type == 'class_begin_notify_teacher'){ }}
<div>
<span>教师{{d.msg_info.teacher_name}}</span>
<span>课程{{d.msg_info.english_name}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
</div>
<!-- <span class="layui-badge layui-bg-green">课程开始提醒教师</span>-->
{{# }else if(d.msg_type == 'subject_upload_notify_admin'){ }}
<div>
<span>教师{{d.msg_info.teacher_name}}</span>
<span>课程{{d.msg_info.english_name}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
</div>
<!-- <span class="layui-badge layui-bg-green">课程作业上传提醒管理员</span>-->
{{# }else if(d.msg_type == 'student_upload_homework_notify_teacher'){ }}
<div>
<span>学生{{d.msg_info.student_name}}</span>
<span>教师{{d.msg_info.teacher_name}}</span>
<span>课程{{d.msg_info.english_name}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
</div>
<!-- <span class="layui-badge layui-bg-green">课程作业上传提醒管理员</span>-->
{{# }else if(d.msg_type == 'subject_version_upload_notify_student'){ }}
<div>
<span>教师{{d.msg_info.teacher_name}}</span>
<span>课程{{d.msg_info.english_name}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
<span>本地时间{{d.msg_info.date}} {{d.msg_info.en_time}}</span>
</div>
{{# }else if(d.msg_type == 'admin_notify_teacher_submit_free_time'){ }}
<span>教师姓名 {{d.msg_info.teacher_name}}</span>
{{# }else{ }}
<span class="layui-badge layui-bg-green">未知</span>
{{# } }}
</div>
</script>
<!-- 表格行工具栏 -->
<script type="text/html" id="table-bar">
<button class="pear-btn pear-btn-xs tool-btn" lay-event="edit" permission="app.admin.cronjob.update">编辑</button>
<!-- <button class="pear-btn pear-btn-xs tool-btn" lay-event="remove" permission="app.admin.cronjob.delete">删除</button>-->
</script>
<script src="/app/admin/component/layui/layui.js?v=2.8.12"></script>
<script src="/app/admin/component/pear/pear.js"></script>
<script src="/app/admin/admin/js/permission.js"></script>
<script src="/app/admin/admin/js/common.js"></script>
<script>
// 相关常量
const PRIMARY_KEY = "id";
const SELECT_API = "/app/admin/cron-job/select";
const UPDATE_API = "/app/admin/cron-job/update";
const DELETE_API = "/app/admin/cron-job/delete";
const INSERT_URL = "/app/admin/cron-job/insert";
const UPDATE_URL = "/app/admin/cron-job/update";
// 字段 课程开始时间 start_time
layui.use(["laydate"], function() {
layui.laydate.render({
elem: "#start_time",
type: "datetime",
});
})
// 表格渲染
layui.use(["table", "form", "common", "popup", "util"], function() {
let table = layui.table;
let form = layui.form;
let $ = layui.$;
let common = layui.common;
let util = layui.util;
// 表头参数
let cols = [
{
type: "checkbox",
align: "center"
},{
title: "id",align: "center",
field: "id",
},{
title: "消息类型",align: "center",
field: "msg_type",
templet:'#msg_type'
},{
title: "教师",align: "center",
field: "teacher_id",
hide: true
},{
title: "课程",align: "center",
field: "subject_id",
hide: true
},{
title: "学生",align: "center",
field: "student_id",
hide: true
},{
title: "教师排课id",align: "center",
field: "teacher_schedule_time_id",
hide: true
},{
title: "时间段",align: "center",
field: "time",
hide: true
},{
title: "国外时间",align: "center",
field: "en_time",
hide: true
},{
title: "课程开始时间",align: "center",
field: "start_time",
hide: true
},{
title: "课程结束时间",align: "center",
field: "end_time",
hide: true
},{
title: "国外课程开始时间",align: "center",
field: "en_start_time",
hide: true
},{
title: "国外课程结束时间",align: "center",
field: "en_end_time",
hide: true
},{
title: "发送角色",align: "center",
field: "send_role",
templet: '#msg_role'
},{
title: "公众号发送数据",align: "center",
field: "send_data",
hide: true
},{
title: "消息内容",align: "center",
field: "msg_info",
templet: '#msg_info'
},{
title: "结果",align: "center",
field: "send_result",
templet: '#send_result'
},{
title: "结果信息",align: "center",
field: "send_result_msg",
},{
title: "发送时间",align: "center",
field: "created_at",
},{
title: "updated_at",align: "center",
field: "updated_at",
hide: true
},{
title: "deleted_at",align: "center",
field: "deleted_at",
hide: true
},{
title: "操作",
toolbar: "#table-bar",
align: "center",
fixed: "right",
width: 120,
}
];
// 渲染表格
table.render({
elem: "#data-table",
url: SELECT_API,
page: true,
cols: [cols],
skin: "line",
size: "lg",
toolbar: "#table-toolbar",
autoSort: false,
defaultToolbar: [{
title: "刷新",
layEvent: "refresh",
icon: "layui-icon-refresh",
}, "filter", "print", "exports"],
done: function () {
layer.photos({photos: 'div[lay-id="data-table"]', anim: 5});
}
});
// 编辑或删除行事件
table.on("tool(data-table)", function(obj) {
if (obj.event === "remove") {
remove(obj);
} else if (obj.event === "edit") {
edit(obj);
}
});
// 表格顶部工具栏事件
table.on("toolbar(data-table)", function(obj) {
if (obj.event === "add") {
add();
} else if (obj.event === "refresh") {
refreshTable();
} else if (obj.event === "batchRemove") {
batchRemove(obj);
}
});
// 表格顶部搜索事件
form.on("submit(table-query)", function(data) {
table.reload("data-table", {
page: {
curr: 1
},
where: data.field
})
return false;
});
// 表格顶部搜索重置事件
form.on("submit(table-reset)", function(data) {
table.reload("data-table", {
where: []
})
});
// 字段允许为空
form.verify({
phone: [/(^$)|^1\d{10}$/, "请输入正确的手机号"],
email: [/(^$)|^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, "邮箱格式不正确"],
url: [/(^$)|(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/, "链接格式不正确"],
number: [/(^$)|^\d+$/,'只能填写数字'],
date: [/(^$)|^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/, "日期格式不正确"],
identity: [/(^$)|(^\d{15}$)|(^\d{17}(x|X|\d)$)/, "请输入正确的身份证号"]
});
// 表格排序事件
table.on("sort(data-table)", function(obj){
table.reload("data-table", {
initSort: obj,
scrollPos: "fixed",
where: {
field: obj.field,
order: obj.type
}
});
});
// 表格新增数据
let add = function() {
layer.open({
type: 2,
title: "新增",
shade: 0.1,
maxmin: true,
area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"450px"],
content: INSERT_URL
});
}
// 表格编辑数据
let edit = function(obj) {
let value = obj.data[PRIMARY_KEY];
layer.open({
type: 2,
title: "修改",
shade: 0.1,
maxmin: true,
area: [common.isModile()?"100%":"500px", common.isModile()?"100%":"450px"],
content: UPDATE_URL + "?" + PRIMARY_KEY + "=" + value
});
}
// 删除一行
let remove = function(obj) {
return doRemove(obj.data[PRIMARY_KEY]);
}
// 删除多行
let batchRemove = function(obj) {
let checkIds = common.checkField(obj, PRIMARY_KEY);
if (checkIds === "") {
layui.popup.warning("未选中数据");
return false;
}
doRemove(checkIds.split(","));
}
// 执行删除
let doRemove = function (ids) {
let data = {};
data[PRIMARY_KEY] = ids;
layer.confirm("确定删除?", {
icon: 3,
title: "提示"
}, function(index) {
layer.close(index);
let loading = layer.load();
$.ajax({
url: DELETE_API,
data: data,
dataType: "json",
type: "post",
success: function(res) {
layer.close(loading);
if (res.code) {
return layui.popup.failure(res.msg);
}
return layui.popup.success("操作成功", refreshTable);
}
})
});
}
// 刷新表格数据
window.refreshTable = function() {
table.reloadData("data-table", {
scrollPos: "fixed",
done: function (res, curr) {
if (curr > 1 && res.data && !res.data.length) {
curr = curr - 1;
table.reloadData("data-table", {
page: {
curr: curr
},
})
}
}
});
}
})
</script>
</body>
</html>