在一个页面添加两个不同的导入按钮(导入保险信息按钮,导入考勤信息按钮),
如下代码所示:
<!-- 导入区域 -->
<script id="importTpl" type="text/template">
<form enctype="multipart/form-data" class="mt20 mb10">
<div class="col-xs-offset-1">
<input type="file" id="file" name="file"/>
<div class="mt10 pt5">
<input type="checkbox" id="updateSupport" name="updateSupport" title="如果登录账户已经存在,更新这条数据。">
是否更新已经存在的用户数据
<a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i
class="fa fa-file-excel-o"></i> 下载模板</a>
</div>
<font color="red" class="pull-left mt10">
提示:仅允许导入“xls”或“xlsx”格式文件!
</font>
</div>
</form>
</script>
<a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="jh_product:details:import">
<i class="fa fa-upload"></i> 导入保险信息
</a>
<a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="jh_product:workexcel:import">
<i class="fa fa-upload"></i> 导入考勤信息
</a>
<script th:inline="javascript">
var prefix = ctx + "jh_product/details";
$(function () {
var options = {
importUrl: prefix + "/import",//模板导入
modalName: "社保明细信息",
};
$.table.init(options);
});
</script>
<script th:inline="javascript">
var prefix = ctx + "jh_product/record";
$(function () {
var options = {
importUrl: ctx + "jh_product/workexcel" + "/import",
modalName: "考勤记录",
};
$.table.init(options);
});
</script>
执行时,第二个考勤记录导入成功,社保信息页面提示‘’导入数据不能为空!‘’
如果把第二个考勤部分代码注释,则社保信息导入正常。
请朋友们指教一下
问题已解决:
每次请求地址importUrl,第二次把第一次请求的地址给覆盖了。
解决办法,先给他赋地址,然后在掉方法。
这部分代码不变
<!-- 导入区域 -->
<script id="importTpl" type="text/template">
<form enctype="multipart/form-data" class="mt20 mb10">
<div class="col-xs-offset-1">
<input type="file" id="file" name="file"/>
<div class="mt10 pt5">
<input type="checkbox" id="updateSupport" name="updateSupport" title="如果登录账户已经存在,更新这条数据。">
是否更新已经存在的用户数据
<a onclick="$.table.importTemplate()" class="btn btn-default btn-xs"><i
class="fa fa-file-excel-o"></i> 下载模板</a>
</div>
<font color="red" class="pull-left mt10">
提示:仅允许导入“xls”或“xlsx”格式文件!
</font>
</div>
</form>
</script>
修改如下:
//将点击调用方法改一下:
/*<a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="jh_product:details:import">
<i class="fa fa-upload"></i> 导入保险信息
</a>
<a class="btn btn-info" onclick="$.table.importExcel()" shiro:hasPermission="jh_product:workexcel:import">
<i class="fa fa-upload"></i> 导入考勤信息
</a>*/
<a class="btn btn-info" onclick="maina()" shiro:hasPermission="jh_product:details:import">
<i class="fa fa-upload"></i> 导入保险信息
</a>
<a class="btn btn-info" onclick="mainb()" shiro:hasPermission="jh_product:workexcel:import">
<i class="fa fa-upload"></i> 导入考勤信息
</a>
<script th:inline="javascript">
var prefix = ctx + "jh_product/details";
function maina(){
var options = {
importUrl: prefix + "/import",//模板导入
modalName: "社保明细信息",
};
$.table.init(options);
$.table.importExcel()
}
function mainb(){
var options = {
importUrl: ctx + "jh_product/workexcel" + "/import",
modalName: "考勤记录",
};
$.table.init(options);
$.table.importExcel()
}
</script>
若依已经将上传代码进行了封装处理,只会寻找路径名称是importUrl的数据,建议是将封装方法重写,将路径作为请求参数进行传递,这只是一种思路,实际情况可能更复杂