|  |  | 
 |  |  | var pageCurr; | 
 |  |  | var admin; | 
 |  |  | let nowUserId2 = 0; | 
 |  |  | fPriQuote(); | 
 |  |  | function fPriQuote() { | 
 |  |  |     layui.jquery.ajax({ | 
 |  |  |         url: baseUrl + "/dashboard/user/id/popup/auth", | 
 |  |  |         data:{token : localStorage.getItem('token')}, | 
 |  |  |         method: 'GET', | 
 |  |  |         success: function (res) { | 
 |  |  |             if (res.code === 200) { | 
 |  |  |                 nowUserId2 = res.data; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     }) | 
 |  |  | } | 
 |  |  | layui.config({ | 
 |  |  |     base: baseUrl + "/static/layui/lay/modules/" | 
 |  |  | }).extend({ | 
 |  |  | 
 |  |  |         cellMinWidth: 150, | 
 |  |  |         cols: [[ | 
 |  |  |             {type: 'checkbox', fixed: 'left'} | 
 |  |  |             ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80,hide : true} | 
 |  |  |             ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80,hide : true, sort:true} | 
 |  |  |             ,{ | 
 |  |  |                 field: 'templateName', | 
 |  |  |                 align: 'center', | 
 |  |  | 
 |  |  |                 style: 'color: #1890ff;cursor:pointer', | 
 |  |  |                 event: 'moreCstmr', | 
 |  |  |                 width: 350, | 
 |  |  |                 hide: false | 
 |  |  |                 hide: false, sort:true | 
 |  |  |             } | 
 |  |  |             ,{field: 'cstmrId$', align: 'center',title: '客户id',hide: true} | 
 |  |  |             ,{field: 'inOrderNum', align: 'center',title: '报价编号',hide: false} | 
 |  |  |             ,{field: 'inOrderNum', align: 'center',title: '报价编号',hide: false, sort:true} | 
 |  |  |             // ,{field: 'orderNum', align: 'center',title: '报价预算单号',hide: false} | 
 |  |  |             ,{ | 
 |  |  |                 field: 'planId$', | 
 |  |  |                 align: 'center', | 
 |  |  |                 title: '规划单号', | 
 |  |  |                 style: 'color: #1890ff;cursor:pointer', | 
 |  |  |                 event: 'morePlan'} | 
 |  |  |             ,{field: 'itemId', align: 'center',title: '规划单号', hide: true} | 
 |  |  |             ,{field: 'planName$', align: 'center',title: '规划单名称',hide: false} | 
 |  |  |                 event: 'morePlan',hide: false,width: 80} | 
 |  |  |             ,{field: 'itemId', align: 'center',title: '规划单ID', hide: true, sort:true} | 
 |  |  |             ,{field: 'planName$', align: 'center',title: '规划单名称',hide: false,width: 120} | 
 |  |  |             ,{ | 
 |  |  |                 field: 'settle$', | 
 |  |  |                 align: 'center', | 
 |  |  | 
 |  |  |                 width: 150, | 
 |  |  |                 hide: false | 
 |  |  |             } | 
 |  |  |             ,{field: 'createTime$', align: 'center',title: '创建时间',hide: false} | 
 |  |  |             ,{field: 'updateTime$', align: 'center',title: '更新时间',hide: false} | 
 |  |  |             ,{field: 'createTime$', align: 'center',title: '创建时间',hide: false,width: 120} | 
 |  |  |             ,{field: 'updateTime$', align: 'center',title: '更新时间',hide: false,width: 120} | 
 |  |  |             // ,{field: 'memberId$', align: 'center',title: '业务员',hide: false} | 
 |  |  |             ,{field: 'userId$', align: 'center',title: '业务员',hide: true} | 
 |  |  |             ,{field: 'updateUserId$', align: 'center',title: '更新人员',hide: false} | 
 |  |  |             ,{field: 'updateUserId$', align: 'center',title: '更新人员',hide: false,width: 80} | 
 |  |  |             ,{field: 'nowUserId', title: 'nowUserId', hide: true, templet:function(){return nowUserId2}} | 
 |  |  |             ,{field: 'userId',title: 'userId', hide: true} | 
 |  |  |             ,{field: 'memberId',title: 'memberId', hide: true} | 
 |  |  |             ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:280} | 
 |  |  |         ]], | 
 |  |  |         request: { | 
 |  |  | 
 |  |  |             pageSize: 'limit' | 
 |  |  |         }, | 
 |  |  |         parseData: function (res) { | 
 |  |  |             res.data.records.forEach((item,index) => { | 
 |  |  |                 item.nowUserId = nowUserId2 | 
 |  |  |             }) | 
 |  |  |             return { | 
 |  |  |                 'code': res.code, | 
 |  |  |                 'msg': res.msg, | 
 |  |  | 
 |  |  |             pageCurr=curr;pageCount=count; | 
 |  |  |             limit(); | 
 |  |  |         } | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     $("#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-filename-userName-'+ '">' +'</td>' | 
 |  |  |             ,'<td id="upload-file-id-' + file.lastModified + '"><div class="layui-progress layui-progress-big" lay-showPercent="true" lay-filter="progress-demo-'+ file.lastModified +'"><div class="layui-progress-bar" lay-percent=""></div></div></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) | 
 |  |  |  | 
 |  |  |         element.progress('progress-demo-'+ file.lastModified, '0%'); //执行进度条。 | 
 |  |  |         element.init(); | 
 |  |  |  | 
 |  |  |         _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 | 
 |  |  |  | 
 |  |  |         putObject(file,(p) => { | 
 |  |  |             element.progress('progress-demo-'+ file.lastModified, (Math.round(p * 100)) + "%"); //执行进度条。 | 
 |  |  |         }).then((result) => { | 
 |  |  |             var filename = result.name | 
 |  |  |             layer.msg('上传成功', {icon: 1}); | 
 |  |  |             $("#upload-file-id-" + file.lastModified).html("上传成功") | 
 |  |  |             $("#upload-filename-id-" + file.lastModified).html(filename) | 
 |  |  |             let token = localStorage.getItem("token"); | 
 |  |  |             $.ajax({ | 
 |  |  |                 url: baseUrl+"/pri/quote/url/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('toolbar(priQuote)', function (obj) { | 
 |  |  |         var checkStatus = table.checkStatus(obj.config.id); | 
 |  |  |         console.log(checkStatus) | 
 |  |  |         // console.log(checkStatus) | 
 |  |  |         switch(obj.event) { | 
 |  |  |             case 'addBlank': | 
 |  |  |                 showEditModel(); | 
 |  |  | 
 |  |  |                 break; | 
 |  |  |             case 'more': | 
 |  |  |                 top.priQuoteByMore = data.id; | 
 |  |  |                 console.log(top.priQuoteByMore) | 
 |  |  |                 // console.log(top.priQuoteByMore) | 
 |  |  |  | 
 |  |  |                 admin.popupRight({ | 
 |  |  |                     type: 1, | 
 |  |  | 
 |  |  |                 }) | 
 |  |  |                 break; | 
 |  |  |             case "quote": | 
 |  |  |                 console.log(data) | 
 |  |  |                 // console.log(data) | 
 |  |  |                 layer.open({ | 
 |  |  |                     type: 2, | 
 |  |  |                     title: '报价单编辑', | 
 |  |  | 
 |  |  |                     }) | 
 |  |  |                 }); | 
 |  |  |                 break; | 
 |  |  |             case "uploadLink": | 
 |  |  |                 // 打开弹窗 | 
 |  |  |                 // 构建带参数的内容 | 
 |  |  |                 // console.log(data) | 
 |  |  |                 layer.open({ | 
 |  |  |                     type: 1, | 
 |  |  |                     title: '上传文件-'+data.itemId+'-'+data.id, | 
 |  |  |                     content: $('#myModal') | 
 |  |  |                 }); | 
 |  |  |                 // 获取路径下的文件列表,使用 jQuery 的 ajax 方法 | 
 |  |  |                 $.ajax({ | 
 |  |  |                     url: '/pri/quote/url/view/file/auth', | 
 |  |  |                     headers: {'token': localStorage.getItem('token')}, | 
 |  |  |                     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>' + file.userName + '</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; |