初始化项目
This commit is contained in:
@@ -0,0 +1,453 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
||||
pageEncoding="UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
|
||||
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
||||
<title>终端版本管理</title>
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/bootstrap/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/js/plugin/layui/css/layui.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/fontawesome/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/plugin/datatables/datatables.bootstrap.css">
|
||||
<link rel="stylesheet" href="${ctx}/css/basic.css">
|
||||
<style>
|
||||
|
||||
.form-control {
|
||||
height: 22px;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
.control-label{
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
.btn {
|
||||
padding: 1px 6px;
|
||||
font-size:12px;
|
||||
}
|
||||
.col-sm-3,.col-xs-3{
|
||||
padding-right: 0px;
|
||||
text-align: right;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="container-fluid">
|
||||
<form class="form-horizontal" role="form">
|
||||
<div class="form-group mt15">
|
||||
<label for="title" class="col-sm-3 col-xs-3 control-label">版本号:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<input type="text" id="title" placeholder="请输入程序版本号"
|
||||
autocomplete="off" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edProtocol" class="col-sm-3 col-xs-3 control-label">协议版本:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<input type="text" id="edProtocol" name="edProtocol"
|
||||
placeholder="请输入协议版本" autocomplete="off" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edDate" class="col-sm-3 col-xs-3 control-label">版本日期:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<input type="text" class="form_datetime form-control"
|
||||
id="edDate" autocomplete="off" placeholder="请选择日期">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="devType" class="col-sm-3 col-xs-3 control-label">装置系列:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<select id="devType" class="form-control"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="edtype" class="col-sm-3 col-xs-3 control-label">版本类型:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<input type="text" id="edtype" placeholder="填写特殊类型(不填默认通用类型)"
|
||||
autocomplete="off" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="describe" class="col-sm-3 col-xs-3 control-label">描述:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<textarea id="describe" placeholder="请输入内容" class="form-control" rows="3" style="resize: none;"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-upload" style="height: 50px;margin-top: 15px">
|
||||
<button type="button" class="btn btn-primary" id="upload">上传升级文件</button>
|
||||
<span style="color: red;margin-left: 10px">后缀为.bin的文件/无后缀文件</span>
|
||||
<div class="layui-upload-list" style="margin: 0px 0;padding: 2px 5px">
|
||||
<p id="demoText"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="crc" class="col-sm-3 col-xs-3 control-label">CRC校验:</label>
|
||||
<div class="col-sm-9 col-xs-9">
|
||||
<input type="text" class="form-control"
|
||||
id="crc" autocomplete="off" placeholder="请输入内容">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer class="navbar-fixed-bottom">
|
||||
|
||||
<div class="col-xs-12 col-sm-12 mt10" style="text-align: center">
|
||||
<div class="form-group">
|
||||
<button type="button" class="btn btn-primary" id="save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
</form>
|
||||
<input type="hidden" id="username" value="${username}">
|
||||
<script src="${ctx}/js/plugin/jquery/jquery.min.js"></script>
|
||||
<script src="${ctx}/js/plugin/layui/layui.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap-datetimepicker.zh-CN.js"></script>
|
||||
<script src="${ctx}/js/plugin/bootstrap/bootstrap.min.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/loading.js"></script>
|
||||
<script src="${ctx}/js/plugin/xss/xss.js"></script>
|
||||
<script src="${ctx}/js/plugin/xss/aes.js"></script>
|
||||
<script src="${ctx}/jspJS/sm2.js"></script>
|
||||
<script src="${ctx}/jspJS/sm3.js"></script>
|
||||
<script src="${ctx}/jspJS/confirmIndentity.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/common.js"></script>
|
||||
<script src="${ctx}/jspJS/utils/judgeAjaxStatus.js"></script>
|
||||
<script>
|
||||
var myFile =null;
|
||||
var isUpFile = true;
|
||||
var edIndex; //版本id
|
||||
var indexi
|
||||
var type = getQueryString('type')
|
||||
var totype = ''; //新增修改接口
|
||||
$(function () {
|
||||
loadselect('装置系列','devType')
|
||||
|
||||
$('.form_datetime').datetimepicker({
|
||||
minView: "month", //选择日期后,不会再跳转去选择时分秒
|
||||
language: 'zh-CN',
|
||||
format: 'yyyy-mm-dd',
|
||||
startView:2,
|
||||
bootcssVer:3,
|
||||
todayHighlight:true,
|
||||
maxView :2,
|
||||
showClear:true,
|
||||
autoclose:1,
|
||||
initialDate:new Date(),
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
})
|
||||
layui.use(['upload','layer'], function () {
|
||||
var upload = layui.upload,
|
||||
layer = layui.layer
|
||||
|
||||
if (type == 1) {
|
||||
//新增
|
||||
isUpFile = true;
|
||||
totype = 'addVersion'
|
||||
} else {
|
||||
edIndex = getQueryString('edIndex')
|
||||
totype = 'updateVersion'
|
||||
if (edIndex == undefined || edIndex == '' || edIndex == null) {
|
||||
layer.msg('获取失败', {icon: 2})
|
||||
return
|
||||
}
|
||||
//修改
|
||||
$.ajax({
|
||||
type: 'get',
|
||||
dataType: 'json',
|
||||
url: '/pqs9900/version/getVersion',
|
||||
data: {edIndex: edIndex},
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code == 200) {
|
||||
let da= data.body
|
||||
$('#title').val(da.edName)
|
||||
$('#describe').val(da.edDescribe)
|
||||
$('#edProtocol').val(da.edProtocol)
|
||||
$('#edDate').val(da.edDate)
|
||||
$('#devType').val(da.devType)
|
||||
$('#edtype').val(da.type)
|
||||
if (data.body.edFile != null && data.body.edFile != '') {
|
||||
isUpFile = false
|
||||
$('#demoText').html('<i class="glyphicon glyphicon-folder-open" style="font-size: 14px"></i>');
|
||||
} else {
|
||||
isUpFile = true
|
||||
$('#demoText').empty()
|
||||
}
|
||||
} else {
|
||||
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
},
|
||||
error: function () {
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
var censz = /^[\w\u4E00-\u9FA5()()/、_ ]+\.?[\w\u4E00-\u9FA5()()/_]+$/;
|
||||
|
||||
$('#save').click(function () {
|
||||
var t = $('#title').val()
|
||||
var d = $('#describe').val()
|
||||
var pp = $('#edProtocol').val()
|
||||
var edate = $('#edDate').val()
|
||||
var devType = $('#devType').val()
|
||||
var edtype = $('#edtype').val()
|
||||
var crc = $('#crc').val()
|
||||
if(t==null || t==''){
|
||||
layer.tips('版本号不可为空', '#title', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else if(!censz.test(t)){
|
||||
layer.tips('非法字符串', '#title', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else {
|
||||
let vv = valiteLength(t)
|
||||
if(vv!=''){
|
||||
layer.tips(vv, '#title', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(pp==null || pp==''){
|
||||
layer.tips('协议版本不可为空', '#edProtocol', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else if(!(/^[a-zA-Z\d\.]+$/.test(pp))){
|
||||
layer.tips('非法字符串', '#edProtocol', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else {
|
||||
let vv = valiteLength(pp)
|
||||
if(vv!=''){
|
||||
layer.tips(vv, '#edProtocol', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(edate==null || edate==''){
|
||||
layer.tips('版本日期不可为空', '#edDate', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else if(!(/^([0-9-]+)$/.test(edate))){
|
||||
layer.tips('非法字符串', '#edDate', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if(devType==null || devType==''){
|
||||
layer.tips('装置系列不可为空', '#devType', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
t = filterXSS(t)
|
||||
d = filterXSS(d)
|
||||
pp =filterXSS(pp)
|
||||
edate = filterXSS(edate)
|
||||
edtype = filterXSS(edtype)
|
||||
let formdatas = new FormData();
|
||||
formdatas.append("edName", t);
|
||||
formdatas.append("edProtocol",pp);
|
||||
formdatas.append("edDate", edate);
|
||||
formdatas.append("edDescribe", d);
|
||||
formdatas.append("devType", devType);
|
||||
formdatas.append("type", edtype);
|
||||
let resetName = ''
|
||||
var username = $("#username").val();
|
||||
if (type == 2) {
|
||||
//修改
|
||||
resetName = '修改版本'
|
||||
if(isUpFile && myFile==null){
|
||||
layer.msg('请上传升级文件',{icon:2})
|
||||
return ;
|
||||
}
|
||||
if(myFile!=null){
|
||||
if(crc==null || crc==''){
|
||||
layer.tips('crc校验字符不可为空', '#crc', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else {
|
||||
let vv = valiteLength(crc)
|
||||
if(vv!=''){
|
||||
layer.tips(vv, '#crc', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(myFile!=null){
|
||||
formdatas.append("crc", crc);
|
||||
formdatas.append("file", myFile);
|
||||
}
|
||||
formdatas.append("edIndex", edIndex);
|
||||
}else if(type == 1){
|
||||
resetName = '新增版本'
|
||||
if(myFile==null||myFile==''){
|
||||
layer.msg('请上传文件',{icon:2})
|
||||
return
|
||||
}
|
||||
if(crc==null || crc==''){
|
||||
layer.tips('crc校验字符不可为空', '#crc', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}else{
|
||||
let vv = valiteLength(crc)
|
||||
if(vv!=''){
|
||||
layer.tips(vv, '#crc', {
|
||||
tips: [1, 'red'] //还可配置颜色
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
formdatas.append("file", myFile);
|
||||
formdatas.append("crc", crc);
|
||||
}
|
||||
passwordIndentityForEd(username, resetName, function () {
|
||||
layer.msg('CRC文件校验正确!',{icon:1,time:2000},function () {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '/pqs9900/version/' + totype + '/',
|
||||
data: formdatas,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
beforeSend: function () {
|
||||
indexi = ityzl_SHOW_LOAD_LAYER();
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.code == 200) {
|
||||
layer.msg(data.message, {icon: 1}, function () {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
window.parent.refreshs()
|
||||
})
|
||||
} else {
|
||||
layer.msg(data.message, {icon: 2})
|
||||
}
|
||||
ityzl_CLOSE_LOAD_LAYER(indexi);
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
//执行实例
|
||||
|
||||
var uploadInst = upload.render({
|
||||
elem: '#upload' //绑定元素
|
||||
, accept: 'file' //允许上传的文件类型
|
||||
, auto: false
|
||||
, exts: ''
|
||||
, number: 1
|
||||
, choose: function (obj) {
|
||||
//读取本地文件
|
||||
obj.preview(function (index, file, result) {
|
||||
myFile = file;
|
||||
$('#demoText').html('<i class="glyphicon glyphicon-folder-open" style="font-size: 16px;color: #0c7cb5"></i>');
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
, before: function (obj) {
|
||||
|
||||
}
|
||||
, done: function (res) {
|
||||
//上传完毕回调
|
||||
}
|
||||
, error: function () {
|
||||
//请求异常回调
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/*form.verify({
|
||||
clength: function (value) {
|
||||
var i,sum;
|
||||
sum=0;
|
||||
for(i=0;i<value.length;i++){
|
||||
if ((value.charCodeAt(i)>=0) && (value.charCodeAt(i)<=36))
|
||||
sum=sum+1;
|
||||
else
|
||||
sum=sum+2;
|
||||
}
|
||||
if (sum > 36) {
|
||||
return '最多只能36个字符或者18个中文字';
|
||||
}
|
||||
},
|
||||
totype:function (value) {
|
||||
if(!censz.test(value)){
|
||||
return '格式错误'
|
||||
}
|
||||
}
|
||||
});*/
|
||||
|
||||
|
||||
});
|
||||
|
||||
function loadselect(dictypeName,div){
|
||||
var part='#'+div;
|
||||
$(part).find("option").remove();
|
||||
$.ajax({
|
||||
method : "post",
|
||||
url : "/pqs9900/device/getselect",
|
||||
data : {
|
||||
dictypeName:dictypeName
|
||||
},
|
||||
async:false,
|
||||
success : function(data) {
|
||||
if(data == null){
|
||||
var message = dictypeName + '信息加载失败';
|
||||
layer.msg(message,{icon:1,time:1000});
|
||||
}else{
|
||||
var option0 = $("<option selected value=''>"
|
||||
+ "全部" + "</option>");
|
||||
$(part).append(option0);
|
||||
$.each(data, function(i, item) {
|
||||
var option = $("<option value='"
|
||||
+ item.dicIndex + "'>"
|
||||
+ item.dicName + "</option>");
|
||||
$(part).append(option);
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user