From 564bf7ab6a639c2c4557d35b8fd9b51dca60a738 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期二, 22 八月 2023 13:32:34 +0800 Subject: [PATCH] #规则完善 --- src/main/webapp/static/js/plan/plan.js | 249 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 205 insertions(+), 44 deletions(-) diff --git a/src/main/webapp/static/js/plan/plan.js b/src/main/webapp/static/js/plan/plan.js index dc3df76..5997956 100644 --- a/src/main/webapp/static/js/plan/plan.js +++ b/src/main/webapp/static/js/plan/plan.js @@ -2,18 +2,20 @@ var pageCount = 0; var treeCond; var admin; +var planNeedXmlSelData; layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).extend({ steps: 'steps/steps', cascader: 'cascader/cascader', -}).use(['table','laydate', 'form', 'admin', 'xmSelect', 'steps', 'element', 'cascader', 'tree', 'dropdown'], function(){ +}).use(['table','laydate','layer','upload', 'form', 'admin', 'xmSelect', 'steps', 'element', 'cascader', 'tree', 'dropdown'], function(){ var table = layui.table; var $ = layui.jquery; var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; admin = layui.admin; + var upload = layui.upload; var xmSelect = layui.xmSelect; var steps = layui.steps; var cascader = layui.cascader; @@ -139,14 +141,16 @@ {type: 'checkbox'} // ,{field: 'id', align: 'center',title: 'ID'} // ,{field: 'hostId$', align: 'center',title: '鎵�灞炲晢鎴�'} - ,{field: 'userId$', align: 'left',title: '涓氬姟鍛�'} - ,{field: 'planType$', align: 'left',title: '涓氬姟绫诲瀷', width: 150} - ,{field: 'name', align: 'left',title: '鍞墠瑙勫垝鐢宠鍗曞悕绉�', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'more'} - ,{field: 'uuid', align: 'left',title: '瑙勫垝鍗曞彿', width: 100} - ,{field: 'planNeed$', align: 'left',title: '鎵�闇�', templet:function(d){return emptyShow(d.planNeed$)}} - ,{field: 'deptId$', align: 'left',title: '鎵�灞為儴闂�'} - ,{field: 'orderId$', align: 'left',title: '璺熻釜椤圭洰', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'orderMore'} - // ,{field: 'cstmrId$', align: 'left',title: '鐢叉柟鍗曚綅', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'cstmrMore'} + ,{field: 'userId$', align: 'left',title: '涓氬姟鍛�',hide: false, width: 100} + ,{field: 'planType$', align: 'left',title: '涓氬姟绫诲瀷', width: 150,hide: false} + ,{field: 'name', align: 'left',title: '鍞墠瑙勫垝鐢宠鍗曞悕绉�', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'more',hide: false} + ,{field: 'uuid', align: 'left',title: '瑙勫垝鍗曞彿', width: 100,hide: false} + ,{field: 'planNeed$', align: 'left',title: '鎵�闇�', templet:function(d){return emptyShow(d.planNeed$)},hide: false} + ,{field: 'deptId$', align: 'left',title: '鎵�灞為儴闂�',hide: true} + ,{field: 'planner$', align: 'left',title: '瑙勫垝鍛�',hide: false, width: 100} + // ,{field: 'nowHeadman$', align: 'left',title: '瑙勫垝缁勯暱',hide: true} + ,{field: 'orderId$', align: 'left',title: '璺熻釜椤圭洰', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'orderMore',hide: false} + // ,{field: 'cstmrId$', align: 'left',title: '鐢叉柟鍗曚綅', width: 220, style: 'color: #1890ff;cursor:pointer', event: 'cstmrMore',hide: true} ,{field: 'appleTime$', align: 'left',title: '鐢宠鏃ユ湡', hide: true} // ,{field: 'beItem$', align: 'center',title: '绔嬮」'} // ,{field: 'planner', align: 'left',title: '瑙勫垝鍛�', templet:function(d){return emptyShow(d.planner)}} @@ -158,16 +162,16 @@ // ,{field: 'planBonus', align: 'center',title: '瑙勬牸濂栭噾'} // ,{field: 'planLeaderBonus', align: 'center',title: '瑙勬牸缁勯暱濂栭噾'} // ,{field: 'files', align: 'center',title: '闄勪欢'} - // ,{field: 'settle$', align: 'center',title: '杩涘害'} + ,{field: 'settle$', align: 'center',title: '杩涘害', width: 150} // ,{field: 'settleMsg', align: 'center',title: '瀹℃牳杩涘害'} // ,{field: 'comment', align: 'center',title: '璇勮'} // ,{field: 'status$', align: 'center',title: '鐘舵��'} ,{field: 'createTime$', align: 'left',title: '娣诲姞鏃ユ湡', width: 160, hide: false} - ,{field: 'updateBy$', align: 'left',title: '淇敼浜�'} + ,{field: 'updateBy$', align: 'left',title: '淇敼浜�', width: 100} ,{field: 'updateTime$', align: 'left',title: '淇敼鏃堕棿', hide: true} ,{field: 'memo', align: 'left',title: '娉ㄩ噴', hide: true} - ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 180} + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 280} ]], request: { pageName: 'curr', @@ -190,6 +194,75 @@ } pageCurr=curr;pageCount=count; limit(); + } + }); + + //澶氭枃浠跺垪琛� + var uploadListIns = upload.render({ + elem: '#data-btn-file2' + ,elemList: $('#data-btn-file3') //鍒楄〃鍏冪礌瀵硅薄 + ,url: '/plan/insert/file/auth' + ,accept: 'file' + ,multiple: true + ,number: 10 + ,auto: false + ,bindAction: '#testListAction' + ,choose: function(obj){ + // 璧嬪�� + this.data.planId=$('.layui-layer-title').text() + var that = this; + var files = this.files = obj.pushFile(); //灏嗘瘡娆¢�夋嫨鐨勬枃浠惰拷鍔犲埌鏂囦欢闃熷垪 + //璇诲彇鏈湴鏂囦欢 + obj.preview(function(index, file, result){ + var tr = $(['<tr id="upload-'+ index +'">' + ,'<td>'+ file.name +'</td>' + ,'<td>'+ (file.size/1014).toFixed(1) +'kb</td>' + ,'<td><div class="layui-progress" lay-filter="progress-demo-'+ index +'"><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-reload').on('click', function(){ + obj.upload(index, file); + }); + + //鍒犻櫎 + tr.find('.demo-delete').on('click', function(){ + delete files[index]; //鍒犻櫎瀵瑰簲鐨勬枃浠� + tr.remove(); + uploadListIns.config.elem.next()[0].value = ''; //娓呯┖ input file 鍊硷紝浠ュ厤鍒犻櫎鍚庡嚭鐜板悓鍚嶆枃浠朵笉鍙�� + }); + + that.elemList.append(tr); + element.render('progress'); //娓叉煋鏂板姞鐨勮繘搴︽潯缁勪欢 + }); + } + ,done: function(res, index, upload){ //鎴愬姛鐨勫洖璋� + var that = this; + //if(res.code == 0){ //涓婁紶鎴愬姛 + var tr = that.elemList.find('tr#upload-'+ index) + ,tds = tr.children(); + tds.eq(3).html(''); //娓呯┖鎿嶄綔 + delete this.files[index]; //鍒犻櫎鏂囦欢闃熷垪宸茬粡涓婁紶鎴愬姛鐨勬枃浠� + return; + //} + this.error(index, upload); + } + ,allDone: function(obj){ //澶氭枃浠朵笂浼犲畬姣曞悗鐨勭姸鎬佸洖璋� + console.log(obj) + } + ,error: function(index, upload){ //閿欒鍥炶皟 + var that = this; + var tr = that.elemList.find('tr#upload-'+ index) + ,tds = tr.children(); + tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //鏄剧ず閲嶄紶 + } + ,progress: function(n, elem, e, index){ + element.progress('progress-demo-'+ index, n + '%'); //鎵ц杩涘害鏉°�俷 鍗充负杩斿洖鐨勮繘搴︾櫨鍒嗘瘮 } }); @@ -460,7 +533,97 @@ case "del": del([data.id]); break; + case "uploadLink": + // 鎵撳紑寮圭獥 + // 鏋勫缓甯﹀弬鏁扮殑鍐呭 + layer.open({ + type: 1, + title: '涓婁紶鏂囦欢-'+data.id, + content: $('#myModal') + }); + // 鑾峰彇璺緞涓嬬殑鏂囦欢鍒楄〃锛屼娇鐢� jQuery 鐨� ajax 鏂规硶 + $.ajax({ + url: '/plan/view/file/auth', + data:{ + planId:data.id + }, + success: function(response) { + if (response.code==200){ + var targetTable = document.getElementById("data-btn-file3"); + // var targetTable1 = document.getElementById("layui-layer2"); + // // 鑾峰彇鏂囨湰鍐呭 + // var text = targetTable1.textContent.trim(); + // console.log(text); // 杈撳嚭 '涓婁紶鏂囦欢-20' + 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>'; + // 灏唗r鍏冪礌娣诲姞鍒扮洰鏍噒able涓� + 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() { + var downloadUrl = $(this).attr('href'); + // console.log(downloadUrl) + // console.log(baseUrl) + // window.open("/\//"+downloadUrl); + // return false; + // var downloadUrl = $(this).attr('href'); + // console.log(downloadUrl) + // // 鍙戣捣 AJAX 璇锋眰锛岃幏鍙栨枃浠� + $.ajax({ + url: '/plan/download/file/auth', + type: 'POST', + data: { downloadUrl: downloadUrl }, // 浼犻�掍笅杞介摼鎺ヤ綔涓哄弬鏁� + success: function(response) { + console.log(response) + layer.msg(response.msg+',宸蹭笅杞借嚦榛樿璺緞锛佽缁嗕笅杞借矾寰勶細'+response.data, {icon: 1}); + // // window.open(baseUrl+response.msg) + // // 鍒涘缓涓�涓狟lob瀵硅薄 + // var blob = new Blob([response]); + // // 浣跨敤FileSaver淇濆瓨鏂囦欢 + // var fileName = downloadUrl.substring(downloadUrl.lastIndexOf('\\') + 1); + // console.log(fileName) + // saveAs(blob, fileName); + // return false; + }, + error: function() { + layer.msg('璇锋眰鏂囦欢涓嬭浇澶辫触'); + } + }); + // var downloadUrl = $(this).attr('href'); + // console.log(downloadUrl) + // if (downloadUrl == "" || downloadUrl == null) { + // layer.msg('璇峰厛涓婁紶app鏂囦欢',{time:1000},() => { + // parent.location.reload() + // }) + // }else{ + // window.open(downloadUrl); + // } + return false; // 闃绘榛樿鐨勯摼鎺ヨ烦杞涓� }); function approval(planId, plannerId, dIdx) { @@ -516,19 +679,13 @@ if (plan.orderId) { orderSel.setValue([{name: plan.orderId$, value: plan.orderId}]); } if (plan.cstmrId) { cstmrSel.setValue([{name: plan.cstmrId$, value: plan.cstmrId}]); } if (plan.userId) { userSel.setValue([{name: plan.userId$, value: plan.userId}]); } - // console.log(plan); - // console.log(plan.planNeed); - // console.log(plan.planNeed.split("-")); - // console.log(plan.planNeed.split("-").length); let split = plan.planNeed.split("-"); - // console.log(split); - // console.log(split.length); if (plan.planNeed) { - var planNeedValue1=split[0]; - for (var i=1;i<split.length;i++){ - planNeedValue1 = planNeedSel+"-" +split[i]; - } - planNeedSel.setValue([{name: plan.planNeed$, value: planNeedValue1}]); + var data = [] + split.forEach((item,idx) => { + data.push(parseInt(item)) + }) + planNeedXmlSelData = data } layDateRender(plan); plan['planTypeName'] = plan.planType$; @@ -742,30 +899,34 @@ } window.loadPlanNeedSel = function () { - return xmSelect.render({ + var planNeedXmlSel = xmSelect.render({ el: '#planNeedXmlSel', autoRow: true, - filterable: true, - remoteSearch: true, - remoteMethod: function (val, cb, show) { - $.ajax({ - url: baseUrl + "/planNeed/all/get/kv", - headers: {'token': localStorage.getItem('token')}, - data: { - condition: val - }, - method: 'POST', - success: function (res) { - if (res.code === 200) { - cb(res.data) - } else { - cb([]); - layer.msg(res.msg, {icon: 2}); - } - } - }); + data: [] + }); + + $.ajax({ + url: baseUrl + "/planNeed/all/get/kv", + headers: {'token': localStorage.getItem('token')}, + data: { + condition: "" + }, + method: 'POST', + success: function (res) { + if (res.code === 200) { + console.log(planNeedXmlSelData) + planNeedXmlSel.update({ + initValue: planNeedXmlSelData, + data: res.data + }) + } else { + cb([]); + layer.msg(res.msg, {icon: 2}); + } } }); + + return planNeedXmlSel; } window.loadUserSel = function () { @@ -799,7 +960,7 @@ }); -// 鍏抽棴鍔ㄤ綔 +// 鐐瑰嚮浜嬩欢 $(document).on('click','#data-detail-close', function () { parent.layer.closeAll(); }); -- Gitblit v1.9.1