纯作为笔记,之前写过一遍但是没有做笔记,最近再遇到就想不起来了,于是翻出之前的代码贴上,以供参考
前端部分
h5
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-3 control-label is-required">单位接收函:</label>
<div class="col-sm-8">
<input id="filePath" name="filePath" class="form-control" type="file">
<p style="margin-top: 6px"> 支持jpg、jpeg、png等多种图片格式</p>
</div>
</div>
</div>
</div>
js
<script th:inline="javascript">
var prefix = ctx + "********"
var uuid = $("#uuid").val();
console.log("uuid" + uuid)
var tp = 1;
function submitHandler() {
var fileName1 = $("#fileName").val()
var file1 = $('#filePath')[0].files[0]
if (fileName1.length == 0) {
$.modal.alertWarning("请先填写单位名称");
return false;
}
if ($('#filePath')[0].files[0] == null) {
$.modal.alertWarning("请先选择文件路径");
return false;
}
$.modal.confirm("确认要提交该申请吗?", function () {
console.log("确定申请 开始提交")
if ($.validate.form()) {
uploadFile();
}
})
}
function uploadFile() {
var formData = new FormData();
console.log($('#filePath')[0].files[0])
var jsObj = {};
jsObj.name = $('#filePath')[0].files[0].name //利用此种方法将obj转为string方便处理
var size = $('#filePath')[0].files[0].size
var name = JSON.stringify(jsObj.name); //".jpg"
console.log("切割双引号前name:" + name)
name = name.slice(1, -1) //.jpg
console.log("切割双引号后name:" + name)
console.log("size的大小换算成kb:" + Number(size) / 1024)
var efg = name.lastIndexOf(".")
name = name.substr(efg + 1)
console.log("文件后缀:" + name)
if (!("jpg" === name ||
"jpeg" === name ||
"png" === name ||
"gif" === name)) {
$.modal.alertWarning("目前仅支持图片格式的单位接收函上传,请重新选择!");
return false;
}
formData.append('fileName', $("#fileName").val());
formData.append('file', $('#filePath')[0].files[0]);
formData.append('xh', $('#xh').val());
$.ajax({
url: prefix + "/add",
type: 'post',
cache: false,
data: formData,
processData: false,
contentType: false,
dataType: "json",
beforeSend: function () {
$.modal.loading("正在处理中,请稍候...");
$.modal.disable();
},
success: function (result) {
$.operate.successCallback(result);
location.reload();
// $.modal.msgSuccess("提交成功!");
}
});
}
</script>
后端controller部分:
@Log(title = "**********", businessType = BusinessType.INSERT)
// @RequiresPermissions("xys_list_ffgl")
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public AjaxResult add(@RequestParam("file") MultipartFile file,
@RequestParam("fileName") String fileName,
SysFileInfo fileInfo,
@RequestParam("xh") String xh) {
//先用学号查询一遍 如果有就不可提交 让他去edit
JobXysdw jobXysdw1 = jobXysdwService.selectJobXysdwByXH(xh);
if (StringUtils.isNotNull(jobXysdw1)) {
return AjaxResult.error("您已提交过申请,请勿重复提交!");
}
String uuid = StringUtils.getUUID();//设置一个文件的uuid 两个try之间不能通用所以定义在外边
//先上传文件
try {
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath();
// 上传并返回新文件名称
String fileNewName = FileUploadUtils.upload(filePath, file);
fileInfo.setFileUuid(uuid);
fileInfo.setFileName(fileName);
fileInfo.setFilePath(fileNewName);
sysFileInfoService.insertSysFileInfo(fileInfo);
} catch (Exception e) {
e.printStackTrace();
return AjaxResult.error("上传文件失败,请稍后再试!");
}
//再插入**********表
try {
JobXysdw jobXysdw = new JobXysdw();
jobXysdw.setUuid(StringUtils.getUUID());
Date date = new Date();
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String format = sd.format(date);
jobXysdw.setSqsj(format); //申请时间
jobXysdw.setXh(xh); //学号
jobXysdw.setDwmc(fileName); //单位名称
jobXysdw.setDwjsh(uuid); //文件存储的uuid
jobXysdwService.insertJobXysdw(jobXysdw);
return AjaxResult.success("保存成功!");
} catch (Exception e) {
e.printStackTrace();
return AjaxResult.error("系统出错,请稍后再试!");
}
}
预览回显
h5部分
<h4 id="type" class="form-header h4" style="margin-top: 30px;">协议书发放管理</h4>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-3 control-label is-required">单位名称:</label>
<div class="col-sm-8">
<input name="dwmc" class="form-control" disabled th:value="${dwmc}" type="text">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-3 control-label is-required">单位接收函:</label>
<div class="col-sm-8">
<!-- <input name="dwjsh" class="form-control" disabled th:value="${dwjsh}" type="text">-->
<!-- <img src="../../img/aboutus.jpg" id="jsh" title="双击放大或缩小" height="400px" width="400px"-->
<!-- ondblclick="touchPhoto()"/>-->
<input id="dwjsh" hidden th:value="${dwjsh}" type="text">
<a class="btn btn-mini btn-info" onclick="ylDWJSH()">预览</a>
<a class="btn btn-mini btn-danger" hidden id="gbyl" onclick="gbyl()">关闭预览</a>
<img id="jshIMG" style="margin-top: 8px" height="700px" width="700px" hidden="hidden"/>
<p id="NoPhoto" style="margin-top: 8px" hidden>暂无图片</p>
<!-- src="/profile/upload/0d71ea04-1631-4c62-8a2e-78ec7448d57f.png"-->
</div>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-3 control-label is-required">申请人:</label>
<div class="col-sm-8">
<input name="xm" class="form-control" disabled th:value="${xm}" type="text">
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-3 control-label is-required">申请时间:</label>
<div class="col-sm-8">
<input name="sqsj" class="form-control" disabled th:value="${sqsj}"></input>
</div>
</div>
</div>
</div>
<!--提交审核部分-->
<div style="text-align: center;margin-top: 30px; margin-bottom: 30px">
<a class="btn btn-mini btn-success" hidden id="tg" onclick="audit(true)">审核通过</a>
<a class="btn btn-mini btn-danger" hidden id="btg" onclick="audit(false)">审核不通过</a>
<a class="btn btn-mini btn-info" onclick="art.dialog.close();">关闭</a>
</div>
js部分
function ylDWJSH() {
var dwjsh = $("#dwjsh").val()
if (dwjsh.length != 0) {
// $(this).prop(‘href’, ‘xxx’) 设置属性
$("#jshIMG").prop('src', dwjsh)
$("#jshIMG").show()
} else {
$("#NoPhoto").show()
}
$("#gbyl").show()
}
function gbyl() {
console.log("关闭预览")
var dwjsh = $("#dwjsh").val()
if (dwjsh.length != 0) {
$("#jshIMG").hide()
} else {
$("#NoPhoto").hide()
}
$("#gbyl").hide()
}
//提交审核部分
function audit(e) {
var xxyj = $("#xxyj").val();
var xyyj = $("#xyyj").val();
var prefix = ctx + "job/xys"
// console.log(ctx)
// console.log(prefix)
if (e) {
$.operate.save(prefix + "/editSave", {
uuid: uuid, xyshzt: "true",
xxyj: xxyj, xyyj: xyyj
});
} else {
$.operate.save(prefix + "/editSave", {
uuid: uuid, xyshzt: "false",
xxyj: xxyj, xyyj: xyyj
});
}
}
后端回显部分
/**
* 协议书管理查看
*
* @return
*/
// @RequiresPermissions("hw:jtap:edit")
@RequiresPermissions("xys_list_ffgl")
@RequestMapping(value = "/ffglxq")
public ModelAndView ffglxq(String USER_ID, ModelMap mmap) {
ModelAndView modelAndView = new ModelAndView();
try {
HashMap<String, String> xysffxq = jobXysdwService.selectXysAllByUUID(USER_ID);
if (StringUtils.isNotNull(xysffxq)) {
String uuid = xysffxq.get("UUID");
String xm = xysffxq.get("XM"); //姓名
String nf = xysffxq.get("NF"); //年级
String sjhm = xysffxq.get("SJHM"); //手机号码
String yxmc = xysffxq.get("YXMC"); //院系名称
String zymc = xysffxq.get("ZYMC"); //专业名称
String xh = xysffxq.get("XH"); //学号
String dwzh = xysffxq.get("DWZH"); // 单位账号
String dwmc = xysffxq.get("DWMC"); //单位名称
String dwjsh = xysffxq.get("DWJSH"); // 单位接收函
String sqsj = xysffxq.get("SQSJ"); //申请时间
String xyyj = xysffxq.get("XYYJ"); //学院意见
String xyshzt = xysffxq.get("XYSHZT"); //学院审核状态
String xyshsj = xysffxq.get("XYSHSJ"); //学院审核时间
String xyshfzrgh = xysffxq.get("XYSHFZRGH"); //负责人工号
String xxyj = xysffxq.get("XXYJ"); //学校意见
String zxshzt = xysffxq.get("ZXSHZT"); //学校意见
SysFileInfo sysFileInfo = sysFileInfoService.selectSysFileInfoByFileUuid(dwjsh);
modelAndView.addObject("uuid", uuid);
modelAndView.addObject("xm", xm);
modelAndView.addObject("nf", nf);
modelAndView.addObject("sjhm", sjhm);
modelAndView.addObject("yxmc", yxmc);
modelAndView.addObject("zymc", zymc);
modelAndView.addObject("xh", xh);
modelAndView.addObject("dwzh", dwzh);
modelAndView.addObject("dwmc", dwmc);
modelAndView.addObject("dwjsh", StringUtils.isNotNull(sysFileInfo) ? sysFileInfo.getFilePath() : null);
modelAndView.addObject("sqsj", sqsj);
modelAndView.addObject("xyyj", xyyj);
modelAndView.addObject("xyshzt", xyshzt);
modelAndView.addObject("xyshsj", xyshsj);
modelAndView.addObject("xyshfzrgh", xyshfzrgh);
modelAndView.addObject("xxyj", xxyj);
modelAndView.addObject("zxshzt", zxshzt);
} else throw new Exception("协议书为空");
} catch (Exception e) {
e.printStackTrace();
modelAndView.addObject("errorMessage", "无效的协议书记录,此条协议书记录在后台处理出现错误,请联系管理员修复!错误代码为:\n" + e);
modelAndView.setViewName("/error/service");
return modelAndView;
}
modelAndView.setViewName(xysPrefix + "/ffglxq");
return modelAndView;
}