实习了大概3个星期了,然后这一个星期开始写的代码,对我来说,提高最多的可能就是对于js的使用和了解,当然要贴出最满意的代码来鼓励自己,虽然很呆,但它确实实现了功能,能跑就行,要什么自行车
function getNm(){
var row = parent.$("table#dataList tr.selected");
var data1 = parent.grid.oTable.row(row[0]).data();
var yfglptDbrwNm = data1.yfglptDbrwNm;
var yfglptDbrwRwzt =data1.yfglptDbrwRwzt
var yfglptDbrwTxpc =data1.yfglptDbrwTxpc
var yfglptDbrwTxrq =data1.yfglptDbrwTxrq
var yfglptDbrwTxsj =data1.yfglptDbrwTxsj
if (yfglptDbrwRwzt=="进行中"){
yfglptDbrwRwzt='1';
}
$('#yfglptDbrwNm').val(yfglptDbrwNm);
$('#yfglptDbrwRwzt').val(yfglptDbrwRwzt);
//判断是否有频次记录
$.ajax({
url: context + "/service/dbrw/getDbrw",
type: "get",
data: {"yfglptDbrwNm":yfglptDbrwNm},
dataType: "json",
async: false,
success: function (model) {
var dbrw = model.data;
var yfglptDbrwTxpc =dbrw.yfglptDbrwTxpc
if(dbrw.yfglptDbrwTxpc!=null){
$("#yfglptDbrwTxpc").val(yfglptDbrwTxpc);
var yfglptDbrwTxrq =dbrw.yfglptDbrwTxrq
var yfglptDbrwTxsj =dbrw.yfglptDbrwTxsj
switch(dbrw.yfglptDbrwTxpc)
{
case "0":
var txt1="<td class='tdTitle'><span style='color: red;'> </span>提醒日期:</td>";
var txt2="<td class='tdRight'><div class='input-group date id='datetimeDmfk' style='width: 50%'><input type='date' class='form-control ue-form' id='yfglptDbrwTxrq' name='yfglptDbrwTxrq' placeholder='' value='${yfglptDbrwTxrq}'/></div></td>";
var txt3="<td class='tdTitle'><span style='color: red;'> </span>提醒时间:</td>";
var txt4="<td class='tdRight'><div class='input-group date id='datetimeDmfk' style='width: 50%'><input type='time' class='form-control ue-form' step='1' id='yfglptDbrwTxsj' name='yfglptDbrwTxsj' placeholder='' value='${yfglptDbrwTxsj}'/></div></td>";
$("#tx1").append(txt1,txt2);
$("#tx2").append(txt3,txt4);
$("#yfglptDbrwTxrq").val(yfglptDbrwTxrq);
$("#yfglptDbrwTxsj").val(yfglptDbrwTxsj);
break;
case "1":
var txt3="<td class='tdTitle'><span style='color: red;'> </span>提醒时间:</td>";
var txt4="<td class='tdRight'><div class='input-group date id='datetimeDmfk' style='width: 50%'><input type='time' class='form-control ue-form' step='1' id='yfglptDbrwTxsj' name='yfglptDbrwTxsj' placeholder='' value='${yfglptDbrwTxsj}'/></div></td>";
$("#tx2").append(txt3,txt4);
$("#yfglptDbrwTxsj").val(yfglptDbrwTxsj);
break;
case "2":
var txt1="<input id='yfglptDbrwTxrq' type='checkbox' value='1' > <label for='yfglptDbrwTxrq'>星期一</label> <input id='yfglptDbrwTxrq' type='checkbox' value='2'> <label for='yfglptDbrwTxrq'>星期二</label> <input id='yfglptDbrwTxrq' type='checkbox' value='3'> <label for='yfglptDbrwTxrq'>星期三</label> <input id='yfglptDbrwTxrq' type='checkbox' value='4'> <label for='yfglptDbrwTxrq'>星期四</label> <br><input id='yfglptDbrwTxrq' type='checkbox' value='5'> <label for='yfglptDbrwTxrq'>星期五</label> <input id='yfglptDbrwTxrq' type='checkbox' value='6'> <label for='yfglptDbrwTxrq'>星期六</label> <input id='yfglptDbrwTxrq' type='checkbox' value='7'> <label for='yfglptDbrwTxrq'>星期天</label>"; var txt3="<td class='tdTitle'><span style='color: red;'> </span>提醒时间:</td>";
var txt4="<td class='tdRight'><div class='input-group date id='datetimeDmfk' style='width: 50%'><input type='time' class='form-control ue-form' step='1' id='yfglptDbrwTxsj' name='yfglptDbrwTxsj' placeholder='' value='${yfglptDbrwTxsj }'/></div></td>";
$("#tx1").append(txt1);
$("#tx2").append(txt3,txt4);
yfglptDbrwTxrq=yfglptDbrwTxrq.split(",");
var ids = $('input[type=checkbox]');
for (var i=0; i<ids.length; ++i) {
for (var x in yfglptDbrwTxrq ) {
if (yfglptDbrwTxrq[x]!=''&&ids[i].value==yfglptDbrwTxrq[x]) {
ids[i].checked=true;
}
}
}
$("#yfglptDbrwTxsj").val(yfglptDbrwTxsj);
break;
case "3":
var txt1="<input id='yfglptDbrwTxrq' type='checkbox' value='1' > <label for='yfglptDbrwTxrq'>1号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='2' > <label for='yfglptDbrwTxrq'>2号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='1' > <label for='yfglptDbrwTxrq'>3号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='3' > <label for='yfglptDbrwTxrq'>3号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='4' > <label for='yfglptDbrwTxrq'>4号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='5' > <label for='yfglptDbrwTxrq'>5号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='6' > <label for='yfglptDbrwTxrq'>6号</label><br> <input id='yfglptDbrwTxrq' type='checkbox' value='7' > <label for='yfglptDbrwTxrq'>7号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='8' > <label for='yfglptDbrwTxrq'>8号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='9' > <label for='yfglptDbrwTxrq'>9号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='10' > <label for='yfglptDbrwTxrq'>10号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='11' > <label for='yfglptDbrwTxrq'>11号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='12' > <label for='yfglptDbrwTxrq'>12号</label><br> <input id='yfglptDbrwTxrq' type='checkbox' value='13' > <label for='yfglptDbrwTxrq'>13号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='14' > <label for='yfglptDbrwTxrq'>14号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='15' > <label for='yfglptDbrwTxrq'>15号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='16' > <label for='yfglptDbrwTxrq'>16号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='17' > <label for='yfglptDbrwTxrq'>17号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='18' > <label for='yfglptDbrwTxrq'>18号</label><br> <input id='yfglptDbrwTxrq' type='checkbox' value='19' > <label for='yfglptDbrwTxrq'>19号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='20' > <label for='yfglptDbrwTxrq'>20号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='21' > <label for='yfglptDbrwTxrq'>21号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='22' > <label for='yfglptDbrwTxrq'>22号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='23' > <label for='yfglptDbrwTxrq'>23号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='24' > <label for='yfglptDbrwTxrq'>24号</label> <br><input id='yfglptDbrwTxrq' type='checkbox' value='25' > <label for='yfglptDbrwTxrq'>25号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='26' > <label for='yfglptDbrwTxrq'>26号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='27' > <label for='yfglptDbrwTxrq'>27号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='28' > <label for='yfglptDbrwTxrq'>28号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='29' > <label for='yfglptDbrwTxrq'>29号</label> <input id='yfglptDbrwTxrq' type='checkbox' value='30' > <label for='yfglptDbrwTxrq'>30号</label><br><input id='yfglptDbrwTxrq' type='checkbox' value='31' > <label for='yfglptDbrwTxrq'>31号</label>";
var txt3="<td class='tdTitle'><span style='color: red;'> </span>提醒时间:</td>";
var txt4="<td class='tdRight'><div class='input-group date id='datetimeDmfk' style='width: 50%'><input type='time' class='form-control ue-form' step='1' id='yfglptDbrwTxsj' name='yfglptDbrwTxsj' placeholder='' value='${yfglptDbrwTxsj}'/></div></td>";
$("#tx1").append(txt1);
$("#tx2").append(txt3,txt4);
yfglptDbrwTxrq=yfglptDbrwTxrq.split(",");
var ids = $('input[type=checkbox]');
for (var i=0; i<ids.length; ++i) {
for (var x in yfglptDbrwTxrq ) {
if (yfglptDbrwTxrq[x]!=''&&ids[i].value==yfglptDbrwTxrq[x]) {
ids[i].checked=true;
}
}
}
$("#yfglptDbrwTxsj").val(yfglptDbrwTxsj);
break;
}
}else{
document.getElementById('yfglptDbrwTxpc').onchange();
}
},
})
}
有点长,你忍一下。
先说一下,这个代码的具体功能,具体功能就是,通过选中的列的信息,来动态的从数据库中获取内容,在根据类型不同,显示不同的信息。
主要是多选框的生成。
然后就是都运用了什么,先是调取父页面的方法和内容,获取到要展示的内容的信息,但这个信息是不完整的,在通过ajax到数据库中,获取完整信息,在通过类型进行判断,生成不同的多选框,然后再把从数据库中的值插入到多选框中。多选框有较为麻烦,要进行遍历,才能让它正确的显示出数据库中的信息。
大概的效果如图:
这里还要说一下对于ajax的学习,以前我只是听说,然后前面也都是别人写好的,拿来直接用了,对于ajax,第一个重要的就是url,第二是datatype返回对象的类型,大多数的都是json,这里我遇到一点就是,你请求的方法要有@ResponseBody这个注解,这样它就自动转成json类型的数据了。
这段时间还有学习到iframe和dialog,给你看一个大佬写的很灵活的一个东东
这是页面的:
<form id="uploadForm" class="form-inline" target="cbIframe" method="post" enctype="multipart/form-data" >
<div class="btn-toolbar" >
<div class="col-sm-2 pull-left">
<input type="file" class="form-control file-input" style="width:200px;height:38px;"name="file_inputExcel" id="file_inputExcel" />
</div>
<!-- 文件上传 -->
<button id="inPutExcel pull-left" class="btn btn-primary" onclick="upload()">
<span class="glyphicon glyphicon-import"></span>数据导入
</button>
<button id="downTemplate" class="btn btn-primary" onclick="downClick()">
<span class="glyphicon glyphicon-cloud-download"></span>模板下载
</button>
</form>
<iframe id="cbIframe" name="cbIframe" src="about:blank" style="display:none;"></iframe>
js:(我把多余的给切了)
$("#uploadForm").prop("action",context+"/service/dbrw/importDbrw");
$("#uploadForm").submit();
$("body").loading({
isShowMask: true,
lines: 8,
length: 0,
width: 10,
radius: 15,
maskOpacity: '0.4',
loadingText: "处理中..."
});
}
//导入回调
function showResponse(msg){
$("body").unloading();
$.dialog({
type : 'alert',
content : msg
});
$("#file_inputExcel").val("");
// 勾选制单
query();
}
然后后端的内容:
@RequestMapping("/importDbrw")
public ResponseEntity<String> importDbrw(HttpServletRequest request) {
int size = 0;
List<String> errorInfo = new ArrayList<>();
MultipartHttpServletRequest mulReq = (MultipartHttpServletRequest) request;
Iterator<String> iter = mulReq.getFileNames();
while (iter.hasNext()) {
MultipartFile file = mulReq.getFile(iter.next());
String fileName = file.getOriginalFilename();
// 进一步判断文件是否为空(即判断其大小是否为0或其名称是否为null)
if (StringUtils.isBlank(fileName) && file.getSize() == 0) {
return ResponseEntity.ok("<script>parent.showResponse('文件不规范!')</script>");
}
//批量导入 参数:文件名,文件。
ReadExcel readExcel = new ReadExcel();
List<Dbrw> dbrwList = readExcel.getExcelInfo(fileName, file);
for (Dbrw dbrw : dbrwList) {
size++;
try {
dbrwService.create(dbrw);
}catch(Exception e) {
size--;
log.error("导入异常", e);
}
}
/* errorInfo.addAll(readExcel.getErrorInfo()); */
}
errorInfo.add(0, "成功导入"+size+"条!");
return ResponseEntity.ok("<script>parent.showResponse('"+StringUtils.join(errorInfo, "<br/>")+"')</script>");
}
这个一看就是老程序员了,太猛了,最开始我都没看懂,然后看懂了后,感觉人家水平是真高!
这样的用户体验贼棒!!!
这段时间就这样了,继续加油吧~