|  |  | 
 |  |  |     @RequestMapping(value = "/plan/view/file/auth") | 
 |  |  | //    @ManagerAuth | 
 |  |  |     public R viewFile(@RequestParam("planId") String planId){ | 
 |  |  |         List<FileSaveExampleUtil.FileDTO> fileDTOS = new ArrayList<>(); | 
 |  |  |         if (Cools.isEmpty(planId)){ | 
 |  |  |             return R.ok(fileDTOS); | 
 |  |  |         } | 
 |  |  |         int id = Integer.parseInt(planId); | 
 |  |  | //        String savePath = "D:/crm/plan/file/"+id+"/"; // 指定保存文件的路径 | 
 |  |  |         try{ | 
 |  |  |             List<Integer> ids = planService.selectPlanUrlId(id); | 
 |  |  |             List<FileSaveExampleUtil.FileDTO> fileDTOS = new ArrayList<>(); | 
 |  |  |             for (int id2 : ids){ | 
 |  |  |                 String url = planService.selectPlanUrlPlanIdUrl(id2); | 
 |  |  |                 String name = planService.selectPlanUrlPlanIdName(id2); | 
 
 |  |  | 
 |  |  |         users.add(userUp); | 
 |  |  |         priOnline2.setSettleMsg(JSON.toJSONString(SettleDto.InItFlowPath(users, initNames, users.size()))); | 
 |  |  |         priOnline2.setSettleSize(users.size()); | 
 |  |  |         priOnline2.setPlanId(plan.getId()); | 
 |  |  |  | 
 |  |  |         //设置项目流程 | 
 |  |  |         plan.setStep(2); | 
 |  |  | 
 |  |  |                 } | 
 |  |  |                 dto.setTime(DateUtils.convert(new Date())); | 
 |  |  |             } else if (dto.getStep().equals(priOnline2.getSettle() + 2)) { | 
 |  |  |                 if (priOnline2.getSettleSize().equals(4)){ | 
 |  |  |                     nextUserId = 0L; | 
 |  |  |                 if (Cools.isEmpty(dto.getUserId())){ | 
 |  |  |                     nextUserId= 0L; | 
 |  |  |                 }else { | 
 |  |  |                     nextUserId=dto.getUserId(); | 
 |  |  |                 } | 
 
 |  |  | 
 |  |  |                   @RequestParam(required = false)String condition, | 
 |  |  |                   @RequestParam Map<String, Object> param){ | 
 |  |  |         EntityWrapper<PriQuote> wrapper = new EntityWrapper<>(); | 
 |  |  |         wrapper.setSqlSelect("id,title,create_time as createTime,filepath,item_id as itemId,order_num as orderNum,template_name as templateName,sheet_data as sheetData,user_id as userId,dept_id as deptId,settle,settle_msg as settleMsg,form,update_user_id as updateUserId,update_time as updateTime,in_order_num as inOrderNum,member_id as memberId,template"); | 
 |  |  |         wrapper.setSqlSelect("id,title,create_time as createTime,plan_id as planId,filepath,item_id as itemId,order_num as orderNum,template_name as templateName,sheet_data as sheetData,user_id as userId,dept_id as deptId,settle,settle_msg as settleMsg,form,update_user_id as updateUserId,update_time as updateTime,in_order_num as inOrderNum,member_id as memberId,template"); | 
 |  |  | //        wrapper.in("member_id", getUserRoleBelongsToUserId()); | 
 |  |  |         excludeTrash(param); | 
 |  |  |         convert(param, wrapper); | 
 |  |  | 
 |  |  |         //模板 | 
 |  |  |         priQuote.setTemplate(map.get("template").toString()); | 
 |  |  |  | 
 |  |  |         priQuote.setPlanId(priOnline2.getPlanId()); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         //设置项目流程 | 
 
 |  |  | 
 |  |  |     @TableField("host_id") | 
 |  |  |     private Long hostId; | 
 |  |  |  | 
 |  |  |     @ApiModelProperty(value= "规划单ID") | 
 |  |  |     @TableField("plan_id") | 
 |  |  |     private Long planId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 审核进度 | 
 |  |  |      */ | 
 
 |  |  | 
 |  |  |         <result column="sheet_data" property="sheetData" /> | 
 |  |  |         <result column="create_time" property="createTime" /> | 
 |  |  |         <result column="dept_id" property="deptId" /> | 
 |  |  |         <result column="plan_id" property="planId" /> | 
 |  |  |         <result column="form" property="form" /> | 
 |  |  |         <result column="settle" property="settle" /> | 
 |  |  |         <result column="settle_msg" property="settleMsg" /> | 
 
 |  |  | 
 |  |  |         } | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     $("#data-btn-file2").on("click", (e) => { | 
 |  |  |         $("#data-btn-upload").click() | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     var _uploadFile = null | 
 |  |  |     //响应上传 | 
 |  |  |     $("#data-btn-upload").on("change",(evt) => { | 
 |  |  |         var files = evt.target.files; | 
 |  |  |         if(files==null || files.length==0){ | 
 |  |  |             alert("No files wait for import"); | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         var file = files[0] | 
 |  |  |  | 
 |  |  |         var tr = $(['<tr id="upload-">' | 
 |  |  |             ,'<td id="upload-filename-id-'+ file.lastModified + '">' + file.name +'</td>' | 
 |  |  |             ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>' | 
 |  |  |             ,'<td id="upload-file-id-' + file.lastModified + '">准备上传</td>' | 
 |  |  |             ,'<td>' | 
 |  |  |             ,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>' | 
 |  |  |             ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>' | 
 |  |  |             ,'<button id="file-download" class="layui-btn layui-btn-xs demo-reload layui-hide">下载</button>' | 
 |  |  |             ,'</td>' | 
 |  |  |             ,'</tr>'].join('')); | 
 |  |  |  | 
 |  |  |         //删除 | 
 |  |  |         tr.find('.demo-delete').on('click', function(){ | 
 |  |  |             tr.remove(); | 
 |  |  |             $("#data-btn-upload").val("") | 
 |  |  |             _uploadFile = null | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         $('#data-btn-file3').append(tr) | 
 |  |  |  | 
 |  |  |         _uploadFile = file | 
 |  |  |     }) | 
 |  |  |  | 
 |  |  |     //开始上传 | 
 |  |  |     $("#testListAction").on("click", async (e) => { | 
 |  |  |         if (_uploadFile == null) { | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         var index = layer.load(1, { | 
 |  |  |             shadeClose: false, | 
 |  |  |             title: '上传中..', | 
 |  |  |             shade: [0.5,'#000'] | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         var file = _uploadFile | 
 |  |  |         $("#upload-file-id-" + file.lastModified).html("上传中") | 
 |  |  |  | 
 |  |  |         putObject(file).then((result) => { | 
 |  |  |             var filename = result.name | 
 |  |  |             layer.msg('上传成功', {icon: 1}); | 
 |  |  |             $("#upload-file-id-" + file.lastModified).html("上传成功") | 
 |  |  |             $("#upload-filename-id-" + file.lastModified).html(filename) | 
 |  |  |  | 
 |  |  |             $.ajax({ | 
 |  |  |                 url: baseUrl+"/plan/insert/file/auth", | 
 |  |  |                 headers: {'token': localStorage.getItem('token')}, | 
 |  |  |                 data: { | 
 |  |  |                     'planId': $('.layui-layer-title').text(), | 
 |  |  |                     'filename': filename, | 
 |  |  |                     'filesize': file.size | 
 |  |  |                 }, | 
 |  |  |                 method: 'POST', | 
 |  |  |                 success: function (res) { | 
 |  |  |                     if (res.code === 200){ | 
 |  |  |                         layer.close(index) | 
 |  |  |                         console.log(res) | 
 |  |  |                     } else if (res.code === 403){ | 
 |  |  |                         top.location.href = baseUrl+"/"; | 
 |  |  |                     } else { | 
 |  |  |                         layer.msg(res.msg) | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             }); | 
 |  |  |         }).catch((e) => { | 
 |  |  |             console.log(e) | 
 |  |  |             layer.msg('上传失败', {icon: 2}); | 
 |  |  |             $("#upload-file-id-" + file.lastModified).html("上传失败") | 
 |  |  |         }) | 
 |  |  |  | 
 |  |  |         //清空file | 
 |  |  |         $("#data-btn-upload").val("") | 
 |  |  |         _uploadFile = null | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 监听行工具事件 | 
 |  |  |     table.on('tool(priOnline)', function (obj) { | 
 |  |  |         var data = obj.data; | 
 |  |  | 
 |  |  |                     } | 
 |  |  |                 }); | 
 |  |  |                 break; | 
 |  |  |             case "uploadLink": | 
 |  |  |                 // 打开弹窗 | 
 |  |  |                 // 构建带参数的内容 | 
 |  |  |                 console.log(data) | 
 |  |  |                 layer.open({ | 
 |  |  |                     type: 1, | 
 |  |  |                     title: '上传文件-'+data.itemId, | 
 |  |  |                     content: $('#myModal') | 
 |  |  |                 }); | 
 |  |  |                 // 获取路径下的文件列表,使用 jQuery 的 ajax 方法 | 
 |  |  |                 $.ajax({ | 
 |  |  |                     url: '/plan/view/file/auth', | 
 |  |  |                     data:{ | 
 |  |  |                         planId:data.itemId | 
 |  |  |                     }, | 
 |  |  |                     success: function(response) { | 
 |  |  |                         if (response.code==200){ | 
 |  |  |                             var targetTable = document.getElementById("data-btn-file3"); | 
 |  |  |                             targetTable.innerHTML = ''; | 
 |  |  |                             // 将获取到的文件列表添加到文件队列中进行显示 | 
 |  |  |                             response.data.forEach(function(file,index) { | 
 |  |  |                                 // 创建tr元素 | 
 |  |  |                                 var tr = document.createElement("tr"); | 
 |  |  |                                 tr.id = "upload-"+index; | 
 |  |  |                                 tr.innerHTML = '<td>' + file.name + '</td>' | 
 |  |  |                                     + '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>' | 
 |  |  |                                     // + '<td><div class="layui-progress" lay-filter="progress-demo-' + index ,100 + '%'+ '"><div class="layui-progress-bar" lay-percent=""></div></div></td>' | 
 |  |  |                                     + '<td>'+'已完成'+'</td>' | 
 |  |  |                                     + '<td>' | 
 |  |  |                                     + '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>' | 
 |  |  |                                     // + '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>' | 
 |  |  |                                     + '<a href="' + file.path + '" download class="layui-btn layui-btn-xs layui-btn-primary">下载</a>' | 
 |  |  |                                     + '</td>'; | 
 |  |  |                                 // 将tr元素添加到目标table中 | 
 |  |  |                                 targetTable.appendChild(tr); | 
 |  |  |                             }); | 
 |  |  |                         }else { | 
 |  |  |                             console.log('Failed to get file list error.'); | 
 |  |  |                         } | 
 |  |  |                     }, | 
 |  |  |                     error: function() { | 
 |  |  |                         console.log('Failed to get file list.'); | 
 |  |  |                     } | 
 |  |  |                 }); | 
 |  |  |                 break; | 
 |  |  |         } | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 点击下载按钮时触发文件下载 | 
 |  |  |     $('#data-btn-file3').on('click', 'a', function() { | 
 |  |  |         console.log(this) | 
 |  |  |         var downloadUrl = $(this).attr('href'); | 
 |  |  |         let url = getObjectUrl(downloadUrl) | 
 |  |  |         layer.msg("准备下载中", {icon: 1}); | 
 |  |  |         location.href = url | 
 |  |  |         return false;  // 阻止默认的链接跳转行为 | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 搜索 | 
 |  |  |     form.on('submit(search)', function (data) { | 
 |  |  |         pageCurr = 1; | 
 
 |  |  | 
 |  |  |         } | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     $("#data-btn-file2").on("click", (e) => { | 
 |  |  |         $("#data-btn-upload").click() | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     var _uploadFile = null | 
 |  |  |     //响应上传 | 
 |  |  |     $("#data-btn-upload").on("change",(evt) => { | 
 |  |  |         var files = evt.target.files; | 
 |  |  |         if(files==null || files.length==0){ | 
 |  |  |             alert("No files wait for import"); | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         var file = files[0] | 
 |  |  |  | 
 |  |  |         var tr = $(['<tr id="upload-">' | 
 |  |  |             ,'<td id="upload-filename-id-'+ file.lastModified + '">' + file.name +'</td>' | 
 |  |  |             ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>' | 
 |  |  |             ,'<td id="upload-file-id-' + file.lastModified + '">准备上传</td>' | 
 |  |  |             ,'<td>' | 
 |  |  |             ,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>' | 
 |  |  |             ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>' | 
 |  |  |             ,'<button id="file-download" class="layui-btn layui-btn-xs demo-reload layui-hide">下载</button>' | 
 |  |  |             ,'</td>' | 
 |  |  |             ,'</tr>'].join('')); | 
 |  |  |  | 
 |  |  |         //删除 | 
 |  |  |         tr.find('.demo-delete').on('click', function(){ | 
 |  |  |             tr.remove(); | 
 |  |  |             $("#data-btn-upload").val("") | 
 |  |  |             _uploadFile = null | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         $('#data-btn-file3').append(tr) | 
 |  |  |  | 
 |  |  |         _uploadFile = file | 
 |  |  |     }) | 
 |  |  |  | 
 |  |  |     //开始上传 | 
 |  |  |     $("#testListAction").on("click", async (e) => { | 
 |  |  |         if (_uploadFile == null) { | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         var index = layer.load(1, { | 
 |  |  |             shadeClose: false, | 
 |  |  |             title: '上传中..', | 
 |  |  |             shade: [0.5,'#000'] | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         var file = _uploadFile | 
 |  |  |         $("#upload-file-id-" + file.lastModified).html("上传中") | 
 |  |  |  | 
 |  |  |         putObject(file).then((result) => { | 
 |  |  |             var filename = result.name | 
 |  |  |             layer.msg('上传成功', {icon: 1}); | 
 |  |  |             $("#upload-file-id-" + file.lastModified).html("上传成功") | 
 |  |  |             $("#upload-filename-id-" + file.lastModified).html(filename) | 
 |  |  |  | 
 |  |  |             $.ajax({ | 
 |  |  |                 url: baseUrl+"/plan/insert/file/auth", | 
 |  |  |                 headers: {'token': localStorage.getItem('token')}, | 
 |  |  |                 data: { | 
 |  |  |                     'planId': $('.layui-layer-title').text(), | 
 |  |  |                     'filename': filename, | 
 |  |  |                     'filesize': file.size | 
 |  |  |                 }, | 
 |  |  |                 method: 'POST', | 
 |  |  |                 success: function (res) { | 
 |  |  |                     if (res.code === 200){ | 
 |  |  |                         layer.close(index) | 
 |  |  |                         console.log(res) | 
 |  |  |                     } else if (res.code === 403){ | 
 |  |  |                         top.location.href = baseUrl+"/"; | 
 |  |  |                     } else { | 
 |  |  |                         layer.msg(res.msg) | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             }); | 
 |  |  |         }).catch((e) => { | 
 |  |  |             console.log(e) | 
 |  |  |             layer.msg('上传失败', {icon: 2}); | 
 |  |  |             $("#upload-file-id-" + file.lastModified).html("上传失败") | 
 |  |  |         }) | 
 |  |  |  | 
 |  |  |         //清空file | 
 |  |  |         $("#data-btn-upload").val("") | 
 |  |  |         _uploadFile = null | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 监听排序事件 | 
 |  |  |     table.on('sort(priQuote)', function (obj) { | 
 |  |  |         var searchData = {}; | 
 |  |  | 
 |  |  |                     }) | 
 |  |  |                 }); | 
 |  |  |                 break; | 
 |  |  |             case "uploadLink": | 
 |  |  |                 // 打开弹窗 | 
 |  |  |                 // 构建带参数的内容 | 
 |  |  |                 console.log(data) | 
 |  |  |                 layer.open({ | 
 |  |  |                     type: 1, | 
 |  |  |                     title: '上传文件-'+data.itemId, | 
 |  |  |                     content: $('#myModal') | 
 |  |  |                 }); | 
 |  |  |                 // 获取路径下的文件列表,使用 jQuery 的 ajax 方法 | 
 |  |  |                 $.ajax({ | 
 |  |  |                     url: '/plan/view/file/auth', | 
 |  |  |                     data:{ | 
 |  |  |                         planId:data.itemId | 
 |  |  |                     }, | 
 |  |  |                     success: function(response) { | 
 |  |  |                         if (response.code==200){ | 
 |  |  |                             var targetTable = document.getElementById("data-btn-file3"); | 
 |  |  |                             targetTable.innerHTML = ''; | 
 |  |  |                             // 将获取到的文件列表添加到文件队列中进行显示 | 
 |  |  |                             response.data.forEach(function(file,index) { | 
 |  |  |                                 // 创建tr元素 | 
 |  |  |                                 var tr = document.createElement("tr"); | 
 |  |  |                                 tr.id = "upload-"+index; | 
 |  |  |                                 tr.innerHTML = '<td>' + file.name + '</td>' | 
 |  |  |                                     + '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>' | 
 |  |  |                                     // + '<td><div class="layui-progress" lay-filter="progress-demo-' + index ,100 + '%'+ '"><div class="layui-progress-bar" lay-percent=""></div></div></td>' | 
 |  |  |                                     + '<td>'+'已完成'+'</td>' | 
 |  |  |                                     + '<td>' | 
 |  |  |                                     + '<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>' | 
 |  |  |                                     // + '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>' | 
 |  |  |                                     + '<a href="' + file.path + '" download class="layui-btn layui-btn-xs layui-btn-primary">下载</a>' | 
 |  |  |                                     + '</td>'; | 
 |  |  |                                 // 将tr元素添加到目标table中 | 
 |  |  |                                 targetTable.appendChild(tr); | 
 |  |  |                             }); | 
 |  |  |                         }else { | 
 |  |  |                             console.log('Failed to get file list error.'); | 
 |  |  |                         } | 
 |  |  |                     }, | 
 |  |  |                     error: function() { | 
 |  |  |                         console.log('Failed to get file list.'); | 
 |  |  |                     } | 
 |  |  |                 }); | 
 |  |  |                 break; | 
 |  |  |         } | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 点击下载按钮时触发文件下载 | 
 |  |  |     $('#data-btn-file3').on('click', 'a', function() { | 
 |  |  |         console.log(this) | 
 |  |  |         var downloadUrl = $(this).attr('href'); | 
 |  |  |         let url = getObjectUrl(downloadUrl) | 
 |  |  |         layer.msg("准备下载中", {icon: 1}); | 
 |  |  |         location.href = url | 
 |  |  |         return false;  // 阻止默认的链接跳转行为 | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     // 搜索 | 
 |  |  |     form.on('submit(search)', function (data) { | 
 |  |  |         pageCurr = 1; | 
 
 |  |  | 
 |  |  |     <input type="button" onclick="upload()" value="上传"/> | 
 |  |  | </form> | 
 |  |  |  | 
 |  |  | <div id="myModal"  style="display: none;"> | 
 |  |  |     <div style="padding: 10px"> | 
 |  |  |         <div class="layui-upload"> | 
 |  |  |             <button type="button" class="layui-btn layui-btn-normal" id="data-btn-file2">选择文件</button><input id="data-btn-upload" class="layui-upload-file" type="file" accept="" name="file" multiple=""> | 
 |  |  |             <div class="layui-upload-list" style="max-width: 1000px;"> | 
 |  |  |                 <table class="layui-table"> | 
 |  |  |                     <colgroup> | 
 |  |  |                         <col> | 
 |  |  |                         <col width="150"> | 
 |  |  |                         <col width="260"> | 
 |  |  |                         <col width="150"> | 
 |  |  |                     </colgroup> | 
 |  |  |                     <thead> | 
 |  |  |                     <tr><th>文件名</th> | 
 |  |  |                         <th>大小</th> | 
 |  |  |                         <th>上传进度</th> | 
 |  |  |                         <th>操作</th> | 
 |  |  |                     </tr></thead> | 
 |  |  |                     <tbody id="data-btn-file3"></tbody> | 
 |  |  |                 </table> | 
 |  |  |             </div> | 
 |  |  |             <button type="button" class="layui-btn" id="testListAction">开始上传</button> | 
 |  |  |         </div> | 
 |  |  |     </div> | 
 |  |  | </div> | 
 |  |  |  | 
 |  |  | <script type="text/html" id="operate"> | 
 |  |  |     {{# if ((d.settle == 0) || (d.settle == 1 && d.settleSize == 4)){ }} | 
 |  |  | 
 |  |  |     {{# if (d.settle == 1 || (d.settle == 2 && d.settleSize == 4)){ }} | 
 |  |  |     <a class="layui-btn layui-btn-xs btn-edit" lay-event="approvalEnd">回退审批</a> | 
 |  |  |     {{# } }} | 
 |  |  |     <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="uploadLink">附件</a> | 
 |  |  |     <a class="layui-btn layui-btn-xs btn-edit" lay-event="check">核价</a> | 
 |  |  |     <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">编辑</a> | 
 |  |  |     <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="upload">上传询价</a> | 
 |  |  | 
 |  |  | <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> | 
 |  |  | <script type="text/javascript" src="../../static/js/luckysheet_js/pako.es5.js" charset="utf-8"></script> | 
 |  |  | <script type="text/javascript" src="../../static/js/luckysheet_js/base64.min.js" charset="utf-8"></script> | 
 |  |  | <script type="text/javascript" src="../../static/js/aliyun-oss-sdk.min.js" charset="utf-8"></script> | 
 |  |  | <script type="text/javascript" src="../../static/js/priOnline2/priOnline.js" charset="utf-8"></script> | 
 |  |  | <!-- 表单弹窗 --> | 
 |  |  | <script type="text/html" id="editDialog"> | 
 |  |  | 
 |  |  |                     </div> | 
 |  |  |                 </div> | 
 |  |  |  | 
 |  |  |                 <div class="layui-form-item"> | 
 |  |  |                     <label class="layui-form-label layui-form-required">核价名: </label> | 
 |  |  |                     <div class="layui-input-block"> | 
 |  |  |                         <input class="layui-input" type="text" name="name" placeholder="核价名" autocomplete="off"> | 
 |  |  |                     </div> | 
 |  |  |                 </div> | 
 |  |  | <!--                <div class="layui-form-item">--> | 
 |  |  | <!--                    <label class="layui-form-label layui-form-required">核价名: </label>--> | 
 |  |  | <!--                    <div class="layui-input-block">--> | 
 |  |  | <!--                        <input class="layui-input" type="text" name="name" placeholder="核价名" autocomplete="off">--> | 
 |  |  | <!--                    </div>--> | 
 |  |  | <!--                </div>--> | 
 |  |  |  | 
 |  |  |                 <div class="layui-form-item"> | 
 |  |  |                     <label class="layui-form-label layui-form-required">模板: </label> | 
 
 |  |  | 
 |  |  |     </div> | 
 |  |  | </div> | 
 |  |  |  | 
 |  |  | <div id="myModal"  style="display: none;"> | 
 |  |  |     <div style="padding: 10px"> | 
 |  |  |         <div class="layui-upload"> | 
 |  |  |             <button type="button" class="layui-btn layui-btn-normal" id="data-btn-file2">选择文件</button><input id="data-btn-upload" class="layui-upload-file" type="file" accept="" name="file" multiple=""> | 
 |  |  |             <div class="layui-upload-list" style="max-width: 1000px;"> | 
 |  |  |                 <table class="layui-table"> | 
 |  |  |                     <colgroup> | 
 |  |  |                         <col> | 
 |  |  |                         <col width="150"> | 
 |  |  |                         <col width="260"> | 
 |  |  |                         <col width="150"> | 
 |  |  |                     </colgroup> | 
 |  |  |                     <thead> | 
 |  |  |                     <tr><th>文件名</th> | 
 |  |  |                         <th>大小</th> | 
 |  |  |                         <th>上传进度</th> | 
 |  |  |                         <th>操作</th> | 
 |  |  |                     </tr></thead> | 
 |  |  |                     <tbody id="data-btn-file3"></tbody> | 
 |  |  |                 </table> | 
 |  |  |             </div> | 
 |  |  |             <button type="button" class="layui-btn" id="testListAction">开始上传</button> | 
 |  |  |         </div> | 
 |  |  |     </div> | 
 |  |  | </div> | 
 |  |  |  | 
 |  |  | <script type="text/html" id="toolbar"> | 
 |  |  |     <div class="layui-btn-container"> | 
 |  |  |         <button class="layui-btn layui-btn-sm" lay-event="addBlank">新建报价单</button> | 
 |  |  | 
 |  |  |     {{# if (d.settle == 2 || d.settle == 3) { }} | 
 |  |  |         <a class="layui-btn layui-btn-xs btn-edit" lay-event="refuse">回退审批</a> | 
 |  |  |     {{# } }} | 
 |  |  |     <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="uploadLink">附件</a> | 
 |  |  |     <a class="layui-btn layui-btn-xs btn-edit" lay-event="quote">报价</a> | 
 |  |  |     <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">编辑</a> | 
 |  |  |     <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a> | 
 |  |  | 
 |  |  | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> | 
 |  |  | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> | 
 |  |  | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> | 
 |  |  | <script type="text/javascript" src="../../static/js/aliyun-oss-sdk.min.js" charset="utf-8"></script> | 
 |  |  | <script type="text/javascript" src="../../static/layui/lay/modules/cascader/citys-data.js" charset="utf-8"></script> | 
 |  |  | <script type="text/javascript" src="../../static/js/priQuote/priQuote.js" charset="utf-8"></script> | 
 |  |  | <!-- 表单弹窗 --> |