From 22a228cfe81307da81cef34a7c055ac7c073deb8 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 11 九月 2023 11:03:32 +0800
Subject: [PATCH] #
---
src/main/webapp/static/js/plan/plan.js | 285 +++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 246 insertions(+), 39 deletions(-)
diff --git a/src/main/webapp/static/js/plan/plan.js b/src/main/webapp/static/js/plan/plan.js
index 5c60d0f..ec26e83 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 + '%'); //鎵ц杩涘害鏉°�俷 鍗充负杩斿洖鐨勮繘搴︾櫨鍒嗘瘮
}
});
@@ -230,6 +303,7 @@
method: 'GET',
success: function (res0) {
let planType = res0.data.planType;
+ console.log(planType.html)
if (res0.code === 200) {
admin.open({
type: 1,
@@ -253,11 +327,17 @@
});
layDateRender();
form.on('submit(editSubmit)', function (data) {
+ console.log(data)
data.field.planType = planType.id;
data.field.orderId = orderSel.getValue()[0] ? orderSel.getValue()[0].value : null;
data.field.cstmrId = cstmrSel.getValue()[0] ? cstmrSel.getValue()[0].value : null;
data.field.userId = userSel.getValue()[0] ? userSel.getValue()[0].value : null;
- data.field.planNeed = planNeedSel.getValue()[0] ? planNeedSel.getValue()[0].value : null;
+ // data.field.planNeed = planNeedSel.getValue()[0] ? planNeedSel.getValue()[0].value : null;
+ var planNeedValue= planNeedSel.getValue()[0] ? planNeedSel.getValue()[0].value : null;
+ for (var i=1;i<planNeedSel.getValue().length;i++){
+ planNeedValue =planNeedSel.getValue()[i] ? planNeedValue+"-"+planNeedSel.getValue()[i].value : planNeedValue;
+ }
+ data.field.planNeed = planNeedValue;
delete data.field.select;delete data.field.planTypeName;
@@ -408,6 +488,7 @@
autoRow: true,
filterable: true,
remoteSearch: true,
+ clickClose: true,
radio: true,
remoteMethod: function (val, cb, show) {
let loadIndex = layer.load(2);
@@ -455,7 +536,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) {
@@ -511,7 +682,14 @@
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}]); }
- if (plan.planNeed) { planNeedSel.setValue([{name: plan.planNeed$, value: plan.planNeed}]); }
+ let split = plan.planNeed.split("-");
+ if (plan.planNeed) {
+ var data = []
+ split.forEach((item,idx) => {
+ data.push(parseInt(item))
+ })
+ planNeedXmlSelData = data
+ }
layDateRender(plan);
plan['planTypeName'] = plan.planType$;
form.val('detail', plan);
@@ -519,8 +697,12 @@
data.field.orderId = orderSel.getValue()[0] ? orderSel.getValue()[0].value : null;
data.field.cstmrId = cstmrSel.getValue()[0] ? cstmrSel.getValue()[0].value : null;
data.field.userId = userSel.getValue()[0] ? userSel.getValue()[0].value : null;
- data.field.planNeed = planNeedSel.getValue()[0] ? planNeedSel.getValue()[0].value : null;
-
+ // data.field.planNeed = planNeedSel.getValue()[0] ? planNeedSel.getValue()[0].value : null;
+ var planNeedValue= planNeedSel.getValue()[0] ? planNeedSel.getValue()[0].value : null;
+ for (var i=1;i<planNeedSel.getValue().length;i++){
+ planNeedValue =planNeedSel.getValue()[i] ? planNeedValue+"-"+planNeedSel.getValue()[i].value : planNeedValue;
+ }
+ data.field.planNeed = planNeedValue;
delete data.field.select;delete data.field.planTypeName;
if (!data.field.orderId) {
@@ -641,6 +823,7 @@
autoRow: true,
filterable: true,
remoteSearch: true,
+ clickClose: true,
radio: true,
remoteMethod: function (val, cb, show) {
$.ajax({
@@ -669,6 +852,7 @@
autoRow: true,
filterable: true,
remoteSearch: true,
+ clickClose: true,
radio: true,
remoteMethod: function (val, cb, show) {
$.ajax({
@@ -682,11 +866,30 @@
if (res.code === 200) {
cb(res.data)
} else {
- cb([]);
+ cb([]);Query/auth
layer.msg(res.msg, {icon: 2});
}
}
});
+ },
+ on: function (data){
+ if (data.change.length > 0) {
+ let orderId = data.change[0].value;
+ $.ajax({
+ url: baseUrl + "/order/" + orderId + "/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {},
+ method: 'GET',
+ success: function (res) {
+ if (res.code === 200) {
+ let cstmrSel = loadCstmrSel();
+ cstmrSel.setValue([{name: res.data.cstmrId$, value: res.data.cstmrId}]);
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ });
+ }
}
});
}
@@ -697,6 +900,7 @@
autoRow: true,
filterable: true,
remoteSearch: true,
+ clickClose: true,
radio: true,
remoteMethod: function (val, cb, show) {
$.ajax({
@@ -720,31 +924,33 @@
}
window.loadPlanNeedSel = function () {
- return xmSelect.render({
+ var planNeedXmlSel = xmSelect.render({
el: '#planNeedXmlSel',
autoRow: true,
- filterable: true,
- remoteSearch: true,
- radio: 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) {
+ planNeedXmlSel.update({
+ initValue: planNeedXmlSelData,
+ data: res.data
+ })
+ } else {
+ cb([]);
+ layer.msg(res.msg, {icon: 2});
+ }
}
});
+
+ return planNeedXmlSel;
}
window.loadUserSel = function () {
@@ -753,6 +959,7 @@
autoRow: true,
filterable: true,
remoteSearch: true,
+ clickClose: true,
radio: true,
remoteMethod: function (val, cb, show) {
$.ajax({
@@ -778,7 +985,7 @@
});
-// 鍏抽棴鍔ㄤ綔
+// 鐐瑰嚮浜嬩欢
$(document).on('click','#data-detail-close', function () {
parent.layer.closeAll();
});
--
Gitblit v1.9.1