若依一体式 导入功能(两个导入按钮,只有后一个导入成功,第一个导入失败)

在一个页面添加两个不同的导入按钮(导入保险信息按钮,导入考勤信息按钮),
如下代码所示:

    <!-- 导入区域 -->
    <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="如果登录账户已经存在,更新这条数据。">
                    是否更新已经存在的用户数据
                    &nbsp; <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>

执行时,第二个考勤记录导入成功,社保信息页面提示‘’导入数据不能为空!‘’
如果把第二个考勤部分代码注释,则社保信息导入正常。
请朋友们指教一下

img

问题已解决:
每次请求地址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="如果登录账户已经存在,更新这条数据。">
                    是否更新已经存在的用户数据
                    &nbsp; <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的数据,建议是将封装方法重写,将路径作为请求参数进行传递,这只是一种思路,实际情况可能更复杂