'use strict';
var app = angular.module('app', [
]);
//定义一个全局的截图插件变量
var cropper;
app.controller("formeditCtrl", ["$scope", "$http", "$timeout", "$sce", function ($scope, $http, $timeout, $sce) {
var self = this;
var s4 = new SM4Util();
self.userId = $.cookie("GlWorkPlatform-userid");
self.userName = $.cookie("GlWorkPlatform-chineseName");
self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken");
self.routeid = sp.getUrlName("routeid");
self.routeinfoid = sp.getUrlName("routeinfoid");
self.directionid = sp.getUrlName("directionid");
self.formeditid = sp.getUrlName("formeditid");
self.docmode = sp.getUrlName("docmode");
self.dotype = sp.getUrlName("dotype");
self.get_lastReturnPageno = sp.getUrlName("lastReturnPageno");
self.get_lastReturnPage = sp.getUrlName("lastReturnPage");
self.get_type = sp.getUrlName("type");
if (self.get_lastReturnPage != "") {
self.return = "../../../" + self.get_lastReturnPage + "?lastReturnPageno=" + self.get_lastReturnPageno + "&type=" + self.get_type
} else {
self.return = "../list.html?lastReturnPageno=" + self.get_lastReturnPageno + "&type=" + self.get_type
}
var postCfg = {
headers: {
'Content-Type': 'application/json',
'Authorization': "Bearer " + self.get_AccessToken
}
};
self.video = false;
self.QianPi = false;
self.watchNum = 0;
//初始化右上角按钮
self.buttonList = []
var uploadformat = window.top.uploadformat.map(function (item) {
return item.CNAME
})
self.getSwenList = function () {
self.SwenList = [];
var data = {
directionid: self.directionid,
userid: self.userId,
routeinfoid: self.routeinfoid,
routeid: self.routeid,
formeditid: ""
}
$http.post(apiurljs.login + "g2app/abase/queryDataLink", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
$.each(res.data.LINKS, function (index, item) {
if (item.TEMPFORM.indexOf("attachlist.html") > -1) {
self.Title = item.VNAME;
}
if (item.TEMPFORM.indexOf("?docmode") > 0) {
if (item.TEMPFORM.indexOf("attachlist") > -1) {
item.TEMPFORM = item.TEMPFORM + "&dotype=" + self.dotype + "&type=" + self.get_type + "&lastReturnPageno=" + self.get_lastReturnPageno + "&lastReturnPage=" + self.get_lastReturnPage;
} else {
item.TEMPFORM = "../" + item.TEMPFORM + "&dotype=" + self.dotype + "&type=" + self.get_type + "&lastReturnPageno=" + self.get_lastReturnPageno + "&lastReturnPage=" + self.get_lastReturnPage;
}
} else {
item.TEMPFORM = "#";
}
self.SwenList.push(item)
})
self.SwenList.push({
VNAME: "流程图",
DIRECTIONID: self.SwenList[0].DIRECTIONID,
TEMPFORM: "modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1]
})
self.getFuncList()
})
}
self.getSwenList(0)
self.getFuncList = function () {
var data = {
formeditid: self.formeditid,
billkey: "FILE_ATTACH"
}
$http.post(apiurljs.login + "g2work/formedit/queryDataFormEditFunc", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
self.buttonList = res.data
self.getData()
})
}
self.getData = function () {
var data = {
tablename: "FILE_ATTACH",
colums: "*",
order: "ID desc",
sqlwhere: { ROUTEINFOID: self.routeinfoid },
sqlinwhere: "",
sqllikewhere: ""
}
$http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
self.arrayFile = res.data;
if (self.arrayFile.length > 0) {
self.browse(self.arrayFile[0])
}
})
}
//右上角按钮调用方法
self.btnEvent = function (item) {
switch (item.CODE) {
case "SENDLOG": self.RouteList(); break;
case "PRINTITEM": self.btnPrint(); break;
case "MEETITEM": self.Meet(); break;
case "SAVESIGN": self.Qian(); break;
default: self.forward(item); break;
}
}
self.uploading = false;
self.upload = function () {
$('#fileupload').fileupload({
url: apiurljs.login + 'g2app/abase/uploadFileWithForm',
dataType: 'json',
beforeSend: function (xhr, data) {
xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=FILE_ATTACH,routeinfoid=" + self.routeinfoid + ",ATTACHTYPE=oa变更单"));
},
add: function (e, data) {
var num = 0;
var acceptFileTypes = eval('/(' + uploadformat.join("|") + ')$/i')
//文件类型判断
$.each(data.originalFiles, function (index, item) {
if (item['type'].length > 0 && !acceptFileTypes.test(item['name'])) {
sp.dialog("您好,请上传" + uploadformat.join("/") + "格式的文件!");
return;
} else {
num++
}
})
if (num == data.originalFiles.length) {
self.uploading = true;
data.submit(); $scope.$apply();
}
},
// 上传完成后的执行逻辑
done: function (e, data) {
self.uploading = false;
self.getData()
}
})
}
self.downLoad = function (item) {
window.open(apiurljs.login + "g2work/files/" + item.FILEURL.slice(7))
}
self.deleteFile = function (file) {
var dialogHead = "温馨提示×";
var dialogBody = "
删除后不可恢复,您确认要删除吗?
";
var dialogFoot = "";
$('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
sp.openCenter(".sp-dialog");
///取消按钮
$('.sp-closeDialog').click(function (event) {
sp.closeCenter(".sp-dialog");
event.preventDefault();
event.stopPropagation();
});
//post消息的id
$("#delDataTrue").click(function () {
var data = {
tablename: "FILE_ATTACH",
id: file.ID
};
$http.post(apiurljs.login + "g2app/dataabase/delDataById", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
sp.dialoghide();
if (res.success) {
$.each(self.iframeList,function (index,item) {
if (item.title == file.FILENAMES && item.source == apiurljs.login + "g2work/files2/inline/" + file.FILEURL.slice(7)) {
self.closeItem(index);
return false;
}
})
self.getData();
} else {
sp.dialog("删除失败,请联系管理员!");
}
});
});
}
self.browse = function (obj) {
var n = 0;
self.iframeList.forEach(function (item) {
if (item.title == obj.FILENAMES && item.source == apiurljs.login + "g2work/files2/inline/" + obj.FILEURL.slice(7)) {
n++
}
})
if (n == 0) {
//console.log(obj);
///20230324---zyg ---永中转换-----start
var set_convertType = 0;
if (obj.FILEEXT == "doc") {
set_convertType = 0;
} else if (obj.FILEEXT == "pdf") {
set_convertType = 20;
} else if (obj.FILEEXT == "ofd") {
set_convertType = 570;
} else if (/(png|jpg|jpeg|gif|bmp|jfif|svg|tif|tiff)$/i.test(obj.FILEEXT) == true) {
set_convertType = 23;
} else {
set_convertType = 0;
}
let postData = {
convertType: set_convertType,
fileUrl: apiurljs.login + "g2work/files2/inline/" + obj.FILEURL.slice(7)
};
var postCfg_transfer = {
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
transformRequest: function (data) {
return $.param(data);
}
};
$http.post(apiurljs.login.split("glwork/")[0] + "fcscloud/composite/httpfile", postData, postCfg_transfer)
.success(function (res) {
//console.log(res);
if (res.errorcode === 0) {
let rst = res.data;
//console.log(rst.viewUrl);
self.iframeList.push({ id: self.iframeList.length + 1, title: obj.FILENAMES, url: $sce.trustAsResourceUrl(rst.viewUrl), source: apiurljs.login + "g2work/files2/inline/" + obj.FILEURL.slice(7) })
self.add()
} else {
sp.dialog(res.message);
}
});
///20230324---zyg ---永中转换-----end
}
}
self.iframeList = []//[{ id: 1, url: "../../index/img-new/background3.png", source: "../../index/img-new/background3.png", boxWidth: { width: 1200 }, iframeWidth: { width: 1190 } }]
self.add = function () {
if (self.iframeList.length == 1) {
self.iframeList[0].boxWidth = { width: $(".col-md-10").width() }
self.iframeList[0].iframeWidth = { width: $(".col-md-10").width() - 10 }
} else {
self.iframeList.forEach(function (item) {
item.boxWidth = { width: Math.trunc($(".col-md-10").width() / 4 * 2 / (self.iframeList.length - 1)) - 10 }
item.iframeWidth = { width: item.boxWidth.width - 10 }
})
self.iframeList[self.iframeList.length - 1].boxWidth = { width: Math.trunc($(".col-md-10").width() / 4 * 2) - 10 }
self.iframeList[self.iframeList.length - 1].iframeWidth = { width: self.iframeList[self.iframeList.length - 1].boxWidth.width - 10 }
}
}
self.openItem = function (obj) {
window.open(obj.url)
}
self.closeItem = function (n) {
self.iframeList.splice(n, 1)
if (self.iframeList.length == 0) {
} else if (self.iframeList.length == 1) {
self.iframeList[0].boxWidth = { width: $(".col-md-10").width() }
self.iframeList[0].iframeWidth = { width: $(".col-md-10").width() - 10 }
} else {
self.iframeList.forEach(function (item) {
item.boxWidth = { width: Math.trunc($(".col-md-10").width() / 4 * 2 / (self.iframeList.length - 1)) - 10 }
item.iframeWidth = { width: item.boxWidth.width - 10 }
})
self.iframeList[self.iframeList.length - 1].boxWidth = { width: Math.trunc($(".col-md-10").width() / 4 * 2) - 10 }
self.iframeList[self.iframeList.length - 1].iframeWidth = { width: self.iframeList[self.iframeList.length - 1].boxWidth.width - 10 }
}
}
self.reSize = function (n) {
var leftbox = document.getElementsByClassName("iframe-item")[n - 1];
var rightbox = document.getElementsByClassName("iframe-item")[n];
var line = document.getElementsByClassName("iframe-border-right")[n - 1];
document.getElementsByClassName("iframe-border-right")[n - 1].addEventListener("mousedown", function (event) {
$(".mousemove").show()
var leftboxW = leftbox.style.width.slice(0, leftbox.style.width.length - 2);
var rightboxW = rightbox.style.width.slice(0, rightbox.style.width.length - 2);
var x = event.pageX - line.offsetLeft;
document.addEventListener("mousemove", boxMove)
function boxMove(event) {
if (leftboxW * 1 + (event.pageX - x) * 1 <= 200) {
//document.removeEventListener("mousemove", boxMove)
} else if (rightboxW * 1 - (event.pageX - x) * 1 <= 200) {
//document.removeEventListener("mousemove", boxMove)
} else {
leftbox.style.width = leftboxW * 1 + (event.pageX - x) * 1 + "px";
//leftbox.getElementsByClassName("iframe-title")[0].style.width = leftboxW * 1 + (event.pageX - x) * 1 - 10 + "px";
leftbox.getElementsByTagName("iframe")[0].style.width = leftboxW * 1 + (event.pageX - x) * 1 - 10 + "px";
self.iframeList[n - 1].boxWidth.width = leftboxW * 1 + (event.pageX - x) * 1;
self.iframeList[n - 1].iframeWidth.width = leftboxW * 1 + (event.pageX - x) * 1 - 10;
rightbox.style.width = rightboxW * 1 - (event.pageX - x) * 1 + "px";
//rightbox.getElementsByClassName("iframe-title")[0].style.width = rightboxW * 1 - (event.pageX - x) * 1 - 10 + "px";
rightbox.getElementsByTagName("iframe")[0].style.width = rightboxW * 1 - (event.pageX - x) * 1 - 10 + "px";
self.iframeList[n].boxWidth.width = rightboxW * 1 - (event.pageX - x) * 1;
self.iframeList[n].iframeWidth.width = rightboxW * 1 - (event.pageX - x) * 1 - 10;
}
}
document.addEventListener("mouseup", function () {
$(".mousemove").hide()
document.removeEventListener("mousemove", boxMove)
})
})
}
//头部下滚冻结
$(function () {
//页面高度撑满
setTimeout(function () {
if ($(".ibox-content").height() < $(window).height() - 31) {
$(".ibox-content").css("height", $(window).height() - 31)
}
$(".sp-line-gray").next("div").css("height", $(".ibox-content").height() - 119)
}, 1)
})
}])
app.directive("repeatFinish", function () {
return {
link: function (scope) {
if (scope.$last == true) {
$("#iframeList").css("height", $(window).height() - 110)
$(".mousemove").css("top", $("#iframeList").offset().top).css("left", $("#iframeList").offset().left).css("width", $("#iframeList").width()).css("height", $(window).height() - 110)
}
}
};
});