'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.copyrightid = sp.getUrlName("copyrightid");
self.directionid = sp.getUrlName("directionid");
self.formeditid = sp.getUrlName("formeditid");
self.mbid = sp.getUrlName("mbid");
self.fjid = sp.getUrlName("fjid");
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");
self.return = "../list.html?lastReturnPageno=" + self.get_lastReturnPageno + "&type=" + self.get_type
self.deviceType = localStorage.getItem("tjJxtGoldenlinkWork-deviceType");
var base64 = new Base64(); //声明base解码和编码类
var postCfg = {
headers: {
'Content-Type': 'application/json',
'Authorization': "Bearer " + self.get_AccessToken
}
};
self.FormTitle = $.cookie("GlWorkPlatform-SYSNAME");
//初始化只读数组
self.readonly = {
BT: false,
FBT: false,
LM: false,
SFSYLB: false,
WJBT: false,
FBR: false,
FBBM: false,
FBRQ: false,
FBNR: false,
IMAGESDATA: false,
VIDEODATA: false,
IMAGEDATA: false,
YJ: false
}
//初始化右上角按钮
self.buttonList = []
var uploadformat = strToJson(s4.decryptData_CBC(apiurljs.uploadformat)).data.map(function (item) {
return item.CNAME
})
//上传附件
self.arrayFile1 = [];
self.arrayFile2 = [];
self.arrayFile3 = [];
self.beforeUpload = function (n) {
if (self.data.ID == 0) {
if (spngvld.submit(".formedit")) {
var getContent = editor2.html();
var getContent_base64 = base64.encode(getContent);
self.data.FBNR = getContent_base64;
var dataArray = [];
dataArray.push(self.data);
var data = {
ckey: "WJFB_TPXW",
id: self.data.ID,
routeid: self.routeid,
routeinfoid: self.routeinfoid,
routeinfotitle: self.data.BT,
directionid: self.directionid,
formeditid: self.formeditid,
data: JSON.stringify(dataArray)
}
$http.post(apiurljs.login + "g2app/abase/saveData", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
if (res.code == 0) {
self.data.ID = res.data.ID;
self.routeid = res.data.ROUTEID;
self.routeinfoid = res.data.ROUTEINFOID;
self.getSwenList(1)
self.upload(n)
} else {
sp.dialog(res.message)
}
})
}
} else {
self.upload(n)
}
}
self.upload = function (n) {
var column = n == 1 ? "IMAGESDATA" : "VIDEODATA"
var acceptFileTypes = n == 1 ? /(jpg|png)$/i : /(mp4)$/i
$('#fileupload' + n).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=" + column));
},
add: function (e, data) {
var num = 0;
var acceptFileTypes = eval('/(' + uploadformat.join("|") + ')$/i')
//文件类型判断
$.each(data.originalFiles, function (index, item) {
if (item.size / 1024 > 500) {
sp.dialog("图片不能超过500kb!")
return
}
if (item['type'] != null && item['type'] != undefined && !acceptFileTypes.test(item['name'])) {
if (n == 2) {
sp.dialog("您好,请上传MP4格式的文件!");
} else {
sp.dialog("您好,请上传JPG、PNG格式的文件!");
}
return;
} else {
num++
}
})
if (num == data.originalFiles.length) {
data.submit();
$scope.$apply();
}
},
// 上传完成后的执行逻辑
done: function (e, data) {
n == 1 ? self.getFile1() : self.getFile2()
}
})
$timeout(function () {
$("#fileupload" + n).trigger("click")
}, 1)
}
self.upload1 = 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=图片新闻"));
},
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.getOther()
}
})
}
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) {
self.getOther();
} else {
sp.dialog("删除失败,请联系管理员!");
}
});
});
}
self.goAttach = function (obj) {
if (obj) {
if (apiurljs.zhType.indexOf(obj.FILEEXT) == -1) {
sp.dialog("文件暂不支持在线预览,请点击下载查看!")
return
}
$("#attachlist")[0].contentWindow.openFile(obj)
if ($(".fa-chevron-down").is(":hidden") == true) {
showToggle(document.getElementById("toggleButton"))
}
} else {
$("#attachlist").attr("src", "attachlist.html?page=formedit&routeinfoid=" + self.routeinfoid)
}
}
self.getSwenList = function (n) {
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));
if (self.copyrightid == "") {
self.copyrightid = res.data.LINKS[0].COPYRIGHTID
}
$.each(res.data.LINKS, function (index, item) {
if (item.TEMPFORM.indexOf("formedit.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]
})
if (n == 0) {
self.getFLOW()
} else {
self.getData()
}
})
}
self.getSwenList(0)
self.getFLOW = function () {
var data = {
copyrightid: self.copyrightid
}
$http.post(apiurljs.login + "g2work/flow/queryDataByCopyrightid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
self.flowTitle = res.data.CNAME;
self.getZRBM()
})
}
self.getZRBM = function () {
var data = {
ckey: "CODE_ZRBM",
routeinfoid: self.routeinfoid
}
$http.post(apiurljs.login + "g2app/abase/queryDataCode", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
self.ZRBM = res.data.CODE_ZRBM;
self.getSFSYLB()
})
}
self.getSFSYLB = function () {
var data = {
ckey: "CODE_SFSYLB",
routeinfoid: self.routeinfoid
}
$http.post(apiurljs.login + "g2app/abase/queryDataCode", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
self.SFSYLB = res.data.CODE_SFSYLB;
self.getLM()
})
}
self.getLM = function () {
var data = {
ckey: "CODE_LM",
routeinfoid: self.routeinfoid
}
$http.post(apiurljs.login + "g2app/abase/queryDataCode", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
self.LM = res.data.CODE_LM;
self.getDP()
})
}
self.getDP = function () {
var data = {
userid: self.userId
}
$http.post(apiurljs.login + "g2app/richang/queryDpInfo", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
self.userDp = res.data.length == 0 ? "" : res.data[0].CODE;
self.getData()
})
}
//获取数据
self.getData = function () {
var data = {
ckey: "WJFB_TPXW",
id: 0,
directionid: self.directionid,
formeditid: self.formeditid,
routeid: self.routeid,
routeinfoid: self.routeinfoid
}
$http.post(apiurljs.login + "g2app/abase/queryData", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
self.data = {
ID: res.data.WJFB_TPXW.ID,
BT: res.data.WJFB_TPXW.BT,
FBT: res.data.WJFB_TPXW.FBT,
LM: "",
FBNR: res.data.WJFB_TPXW.FBNR == null ? "" : res.data.WJFB_TPXW.FBNR,
SFSYLB: res.data.WJFB_TPXW.SFSYLB == "" ? self.SFSYLB[0].CODE : res.data.WJFB_TPXW.SFSYLB,
WJBT: res.data.WJFB_TPXW.WJBT,
FBR: res.data.WJFB_TPXW.FBR == "" ? self.userName : res.data.WJFB_TPXW.FBR,
FBBM: res.data.WJFB_TPXW.FBBM == "" ? self.userDp : res.data.WJFB_TPXW.FBBM,
FBRQ: res.data.WJFB_TPXW.FBRQ == "" ? sp.format(sp.getLocalDate()) : sp.format(res.data.WJFB_TPXW.FBRQ),
YJ: res.data.WJFB_TPXW.YJ,
IMAGEDATA: res.data.WJFB_TPXW.IMAGEDATA
}
console.log(res.data.WJFB_TPXW.IMAGEDATA)
self.readonly = {
BT: res.data.WJFB_TPXW["BT.EREADONLY"] == "true",
FBT: res.data.WJFB_TPXW["FBT.EREADONLY"] == "true",
LM: res.data.WJFB_TPXW["LM.EREADONLY"] == "true",
SFSYLB: res.data.WJFB_TPXW["SFSYLB.EREADONLY"] == "true",
WJBT: res.data.WJFB_TPXW["WJBT.EREADONLY"] == "true",
FBR: res.data.WJFB_TPXW["FBR.EREADONLY"] == "true",
FBBM: res.data.WJFB_TPXW["FBBM.EREADONLY"] == "true",
FBRQ: res.data.WJFB_TPXW["FBRQ.EREADONLY"] == "true",
FBNR: res.data.WJFB_TPXW["FBNR.EREADONLY"] == "true",
IMAGESDATA: res.data.WJFB_TPXW["IMAGESDATA.EREADONLY"] == "true",
VIDEODATA: res.data.WJFB_TPXW["VIDEODATA.EREADONLY"] == "true",
IMAGEDATA: res.data.WJFB_TPXW["IMAGEDATA.EREADONLY"] == "true",
YJ: res.data.WJFB_TPXW["YJ.EREADONLY"] == "true"
}
editor2.html(base64.decode(self.data.FBNR));
if (self.data.FBBM == "") {
self.ZRBM.forEach(function (item) {
if (item.CNAME == self.userDp) {
self.data.FBBM = item.CODE;
}
})
}
if (self.data.ID == 0) {
self.filedChange = true;
} else {
self.filedChange = false;
}
if (res.data.WJFB_TPXW.IMAGESDATA && res.data.WJFB_TPXW.IMAGESDATA != "") {
self.arrayFile1 = JSON.parse(res.data.WJFB_TPXW.IMAGESDATA);
self.arrayFile1.forEach(function (item) {
item.FILEURL1 = $sce.trustAsResourceUrl(apiurljs.login + "g2work" + item.FILEURL)
})
}
if (res.data.WJFB_TPXW.VIDEODATA && res.data.WJFB_TPXW.VIDEODATA != "") {
self.arrayFile2 = JSON.parse(res.data.WJFB_TPXW.VIDEODATA);
self.arrayFile2.forEach(function (item) {
item.FILEURL1 = $sce.trustAsResourceUrl(apiurljs.login + "g2work" + item.FILEURL)
})
}
//if (res.data.WJFB_TPXW.IMAGEDATA && res.data.WJFB_TPXW.IMAGEDATA != "") {
// self.arrayFile3 = JSON.parse(res.data.WJFB_TPXW.IMAGEDATA);
// self.arrayFile3.forEach(function (item) {
// item.FILEURL1 = $sce.trustAsResourceUrl(apiurljs.login + "g2work" + item.FILEURL)
// })
//}
editor2.html(base64.decode(res.data.WJFB_TPXW.FBNR));
self.buttonList = res.data["WJFB_TPXW.FUNCLIST"];
self.getOpinion("YJ")
self.getOther()
self.getFile1()
self.getFile2()
self.getFile3()
//watermark({
// "watermarl_element": "app",
// "watermark_txt": "测试水印内容",
// "watermark_width": 150,
// "watermark_height": 110,
// "watermark_angle": 345
//})
})
}
//获取附件和插件
self.getOther = function () {
if (self.routeinfoid == 0) { return }
var data = {
tablename: "FILE_ATTACH",
colums: "*",
order: "ID desc",
sqlwhere: { ROUTEINFOID: self.routeinfoid, ATTACHTYPE: "图片新闻" },
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 = [];
if (res.data.length > 0) {
res.data.forEach(function (item) {
self.arrayFile.push(item)
})
}
})
}
self.getFile1 = function () {
var data = {
tablename: "FILE_ATTACH",
colums: "*",
order: "ID desc",
sqlwhere: { ROUTEINFOID: self.routeinfoid, ATTACHTYPE: "IMAGESDATA" },
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.arrayFile1 = [];
if (res.data.length > 0) {
res.data.forEach(function (item) {
item.FILEURL1 = $sce.trustAsResourceUrl(apiurljs.login + "g2work" + item.FILEURL)
self.arrayFile1.push(item)
})
}
})
}
self.getFile2 = function () {
var data = {
tablename: "FILE_ATTACH",
colums: "*",
order: "ID desc",
sqlwhere: { ROUTEINFOID: self.routeinfoid, ATTACHTYPE: "VIDEODATA" },
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.arrayFile2 = [];
if (res.data.length > 0) {
res.data.forEach(function (item) {
item.FILEURL1 = $sce.trustAsResourceUrl(apiurljs.login + "g2work" + item.FILEURL)
self.arrayFile2.push(item)
})
}
})
}
self.getFile3 = function () {
var data = {
tablename: "FILE_ATTACH",
colums: "*",
order: "ID desc",
sqlwhere: { ROUTEINFOID: self.routeinfoid, ATTACHTYPE: "IMAGEDATA" },
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.arrayFile3 = [];
if (res.data.length > 0) {
res.data.forEach(function (item) {
item.FILEURL1 = $sce.trustAsResourceUrl(apiurljs.login + "g2work" + item.FILEURL)
self.arrayFile3.push(item)
})
}
})
}
//获取意见
self.getOpinion = function (str) {
var data = {
cmanid: self.userId,
routeinfoid: self.routeinfoid,
routeid: "",//self.routeid,
tableid: "WJFB_TPXW",
colid: str,
opiniontype: 0,
orderbycol: "CDATE desc"
}
$http.post(apiurljs.login + "g2app/abase/queryDataOpinionWithRouteAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
if (res.success == true) {
self.YJ[str] = res.data;
self.YJ[str + "STATUS"] = false;
self.YJ[str].forEach(function (item) {
item.CDATE = sp.datefmt("yyyy-MM-dd", item.CDATE);
if (item.ROUTEID == self.routeid) {
self.YJ[str + "STATUS"] = true;
}
})
} else {
sp.dialog(res.message)
}
})
}
//判断页面字段是否只读readonly、是否隐藏show
self.hide = function (type, field) {
if (self.dotype == 0 && type == "readonly") {
return true;
} else {
if (self[type][field] == true) {
return true;
} else {
return false;
}
}
}
//右上角按钮调用方法
self.btnEvent = function (item) {
switch (item.CODE) {
case "SAVEITEM":
self.btnSave(0);
break;
case "PRINTITEM":
self.btnPrint();
break;
case "MEETITEM":
self.Meet();
break;
case "SENDLOG":
self.RouteList();
break;
default:
self.forward(item);
break;
}
}
//保存提交,0直接保存,1保存后转发,2保存后对多人转发,3保存后跳转浏览
self.btnSave = function (n) {
//if (self.data.ID != 0 && self.arrayFile2.length != 0 && self.arrayFile3.length == 0) {
// self.screenshot();
// return
//}
if (spngvld.submit(".formedit")) {
var getContent = editor2.html();
var getContent_base64 = base64.encode(getContent);
self.data.FBNR = getContent_base64;
var dataArray = [];
self.data.YJ = "";
dataArray.push(self.data);
var data = {
ckey: "WJFB_TPXW",
id: self.data.ID,
routeid: self.routeid,
routeinfoid: self.routeinfoid,
routeinfotitle: self.data.BT,
directionid: self.directionid,
formeditid: self.formeditid,
data: JSON.stringify(dataArray)
}
$http.post(apiurljs.login + "g2app/abase/saveData", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
if (res.code == 0) {
self.data.ID = res.data.ID;
self.routeid = res.data.ROUTEID;
self.routeinfoid = res.data.ROUTEINFOID;
self.filedChange = false;
if (n == 0) {
sp.dialog("保存成功!");
$timeout(function () {
sp.dialoghide()
}, 1500)
self.getSwenList(1)
} else if (n == 1) {
self.forward(self.btnItem);
} else if (n == 2) {
self.sendAll();
} else if (n == 3) {
self.browse()
}
} else {
sp.dialog(res.message)
}
})
}
}
//图片详情
self.seePic = function (obj) {
self.seePicUrl = obj.FILEURL1
$('.sp-bgMask').fadeIn(200);
$(".sp-bgMask").bind("click", function () {
$(this).fadeOut(200);
if ($("#seePic").is(":visible")) { //若对话框显示则淡出
$("#seePic").fadeOut(200);
}
});
$timeout(function () {
sp.setCenter("#seePic")
}, 1)
}
//浏览
self.browse = function () {
sp.openNewWindow(window.location.pathname.replace("formedit", "detail") + "?id=" + self.data.ID + "&formPage=formedit", "预览")
}
//打印
self.btnPrint = function () {
// 创建隐藏的可下载链接
var eleLink = document.createElement('a');
eleLink.download = "";
eleLink.style.display = 'none';
eleLink.href = apiurljs.login + "g2app/shouwen/PrintWord?data=" + encodeURIComponent(s4.encryptData_CBC("templatefilename=XZYGQJ.ftl&tablename=WJFB_TPXW&outfilepath=/tmp/市住建委干部因公请假申请表.wps&prtdate=TBSJ,QJSJKS,QJSJJS&routeinfoid=" + self.routeinfoid));
// 触发点击
document.body.appendChild(eleLink);
eleLink.click();
// 然后移除
document.body.removeChild(eleLink);
//window.open(apiurljs.login + "g2app/shouwen/PrintWord?templatefilename=shouwen.ftl&tablename=WJFB_TPXW&outfilepath=" + apiurljs.print + "&routeinfoid=" + self.routeinfoid)
}
//下载附件
self.download = function (item) {
window.open(apiurljs.login + "g2work/files/" + item.FILEURL.slice(7))
}
//删除附件
self.deleteFile1 = function (item, str) {
var data = {
tablename: "FILE_ATTACH",
id: item.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));
if (res.success) {
if (str == "IMAGESDATA") {
self.getFile1()
} else if (str == "VIDEODATA") {
self.getFile2()
} else {
self.getFile3()
}
} else {
sp.dialog(res.message)
}
});
}
//视频截图
self.screenshot = function () {
var data = {
tablename: "WJFB_TPXW",
routeinfoid: self.routeinfoid,
fileid: self.arrayFile2[0].FILEID,
filecdate: self.arrayFile2[0].FILECDATE,
filepath: self.arrayFile2[0].FILEURL,
imgcolumn: "IMAGEDATA",
count: 1
}
$http.post(apiurljs.login + "g2app/filepublishing/randomGrabberFFmpegImage", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
if (res.success == true) {
self.btnSave(0)
}
})
}
//签写意见编辑状态
self.opinion = {
YJ: false,
YJImg: false,
}
self.YJ = {
YJ: [],
YJSTATUS: false,
}
//下载意见表附件
self.downLoadOption = function (item) {
window.open(apiurljs.login + "g2work/files/" + item.FILEPATH.slice(7))
}
//删除意见表附件
self.deleteOptionFile = function (file, str) {
var data = {
routeid: file.ROUTEID,
tableid: "WJFB_TPXW",
colid: str,
fileid: file.FILEID
};
$http.post(apiurljs.login + "g2app/abase/deleteDataOpinionWithRouteAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
sp.dialoghide();
if (res.success) {
self.getOpinion(str);
} else {
sp.dialog("删除失败,请联系管理员!");
}
});
}
//意见附件(上表)
self.upload2 = function (str) {
$('#fileupload-' + str).fileupload({
url: apiurljs.login + 'g2app/abase/UploadWholeFileWithRouteAttach',
dataType: 'json',
beforeSend: function (xhr, data) {
xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=SYS_ROUTE_ATTACHLIST,userid=" + self.userId + ",routeinfoid=" + self.routeinfoid
+ ",routeid=" + self.routeid + ",tableid=WJFB_TPXW,colid=" + str));
},
// 上传完成后的执行逻辑
done: function (e, data) {
self.uploading1 = false;
self.getOpinion(str)
}
})
}
//签写意见
self.openOpinion = function (str) {
if (self.routeinfoid == 0 && self.routeid == 0) {
sp.dialog("请先保存!")
return;
}
self.opinion[str] = true;
}
//修改意见
self.changeOpinion = function (str) {
self.data[str] = self.YJ[str][0].OPINION;
self.opinion[str] = true;
}
self.changeOpinionItem = function (str, item) {
if (item.OPINIONIMAGE != "") {
self.QianZi(str);
self.opinion[str + "Img"] = true;
}
self.data[str] = item.OPINION;
self.opinion[str] = true;
}
//提交意见
self.Sopinion = function (str) {
if (self.opinion[str + "Img"] == true) {
self.data[str] = $("#" + str + "QZ").find("canvas")[0].toDataURL();
} else {
self.data[str] = $("#" + str).val();
}
var data = {
cmanid: self.userId,
routeinfoid: self.routeinfoid,
routeid: self.routeid,
tableid: "WJFB_TPXW",
colid: str,
opiniontype: 0,
cresult: "",
opinion: self.opinion[str + "Img"] == false ? self.data[str] : "",
opinionimage: self.opinion[str + "Img"] == true ? self.data[str] : ""
}
$http.post(apiurljs.login + "g2app/abase/saveDataOpinion", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
if (res.success == true) {
sp.dialog("保存成功!");
self.getOpinion(str);
self.opinion[str] = false;
self.opinion[str + "Img"] = false;
self.data[str] = "";
self.changeFiled(str)
} else {
sp.dialog(res.message)
}
})
}
//删除意见
self.Dopinion = function (str, item) {
var data = {
cmanid: self.userId,
routeid: self.routeid,
tableid: "WJFB_TPXW",
colid: str,
}
$http.post(apiurljs.login + "g2app/abase/deleteDataOpinion", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
if (res.success == true) {
self.getOpinion(str);
self.changeFiled(str)
} else {
sp.dialog(res.message)
}
})
}
self.phraseText = "";//添加常用语
self.phraseList = []//常用语列表
//获取常用语库
self.phrase = function (colid) {
sp.layer("#phrase");
self.colid = colid;
self.getPhrase();
}
//添加常用语到常用语库
self.Aphrase = function () {
if (self.phraseText == "") {
return;
}
var data = {
cmanid: self.userId,
tableid: "WJFB_TPXW",
colid: self.colid,
contents: self.phraseText
}
$http.post(apiurljs.login + "g2app/abase/insertDataPatterns", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
if (res.success == true) {
self.phraseText = "";
self.getPhrase();
} else {
sp.dialog(res.message)
}
})
}
//获取常用语库
self.getPhrase = function () {
var data = {
cmanid: self.userId,
tableid: "WJFB_TPXW",
colid: self.colid
}
$http.post(apiurljs.login + "g2app/abase/queryDataPatterns", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
self.phraseList = res.data;
self.phraseSelect = self.phraseList[0].CONTENTS;
})
}
//从常用语库删除
self.Dphrase = function () {
var id = null;
$.each(self.phraseList, function (index, item) {
if (item.CONTENTS == self.phraseSelect) {
id = item.ID;
}
})
var data = {
id: id
}
$http.post(apiurljs.login + "g2app/abase/deleteDataPatterns", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
self.getPhrase();
})
}
//常用语确认为意见
self.btnPhrase = function () {
if (!self.colid) {
self.nulla = self.phraseSelect;
} else {
self.data[self.colid] = self.phraseSelect;
}
sp.layerhide();
}
//签字—手写
self.QianZi = function (str) {
self.opinion[str + "Img"] = true;
setTimeout(function () {
new lineCanvas(str + "QZ")
}, 1)
}
//清除手写
self.canvasClear = function (str) {
var cxt = $("#" + str + "QZ").find("canvas")[0].getContext("2d");
cxt.clearRect(0, 0, $("#" + str + "QZ").find("canvas")[0].width, $("#" + str + "QZ").find("canvas")[0].height)
}
//发生修改
self.changeFiled = function (str) {
self.filedChange = true;
}
//转发
self.forward = function (obj) {
self.btnItem = obj;
if (self.filedChange == true) {
self.btnSave(1)
} else {
$("#forwardWin").attr("src", "../../forward/forward.html?routeid=" + self.routeid + "&routeinfoid=" + self.routeinfoid + "©rightid=" + self.copyrightid + "&directionid=" + self.directionid + "&formeditid=" + self.formeditid + "&codefuncbutton=" + obj.CODE + "&directionidtarget=" + obj.DIRECTIONIDTARGET + "&cookie=wenjianbg")
sp.layer("#forward")
}
}
//查看流转记录
self.RouteList = function () {
if (self.deviceType == "pad") {
window.location.href = "../../forward/modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1]
} else {
sp.openNewWindow("../../forward/modeler_read.html?" + self.SwenList[0].TEMPFORM.split("?")[1], "流程图")
}
//var data = {
// directionid: self.directionid,
// userid: self.userId,
// routeid: self.routeid,
// routeinfoid: self.routeinfoid,
//}
//$http.post(apiurljs.login + "g2app/abase/queryDataRouteList", {data: s4.encryptData_CBC(JSON.stringify(data))}, postCfg)
// .success(function (obj) {
// var res = strToJson(s4.decryptData_CBC(obj.data));
// self.routeList = res.data;
// $.each(self.routeList, function (index, item) {
// item.mainUser = [];
// item.copyUsers = [];
// $.each(item.USERS, function (index1, item1) {
// if (item1.KIND == 0) {
// item.mainUser.push(item1.USERNAME);
// } else {
// item.copyUsers.push(item1.USERNAME);
// }
// })
// item.mainUser = item.mainUser.join(",");
// item.copyUsers = item.copyUsers.join(",");
// })
// setTimeout(function (item) {
// sp.layer("#RouteList");
// }, 100);
// })
}
self.reSizeRow = function () {
var bodybox = document.getElementById("bodyDiv");
var topbox = document.getElementById("topDiv");
var bottombox = document.getElementById("bottomDiv");
var line = document.getElementById("lineDiv");
document.getElementById("lineDiv").addEventListener("mousedown", function (event) {
$(".mousemove").show()
var bodyboxH = bodybox.clientHeight;
var topboxH = topbox.clientHeight;
var bottomboxH = bottombox.clientHeight;
//var y = event.pageY - line.offsetTop;
var y = event.pageY - line.clientHeight;
document.addEventListener("mousemove", boxMove)
function boxMove(event) {
if (topboxH * 1 + (event.pageY - y) * 1 - 36 <= 45) {
//
} else if (bottomboxH * 1 - (event.pageY - y) * 1 - 36 <= 45) {
//
} else {
topbox.style.height = topboxH * 1 + (event.pageY - y) * 1 - 36 + "px";
//topbox.getElementsByTagName("iframe")[0].style.height = topboxH * 1 + (event.pageY - y) * 1 - 45 + "px";
bottombox.style.height = bodyboxH * 1 - topboxH * 1 - (event.pageY - y) * 1 + 36 + "px";
bottombox.getElementsByTagName("iframe")[0].style.height = bodyboxH * 1 - topboxH * 1 - (event.pageY - y) * 1 - 25 + "px";
}
}
document.addEventListener("mouseup", function () {
$(".mousemove").hide()
document.removeEventListener("mousemove", boxMove)
})
})
}
////头部关键字搜索---20230905
self.headBtnSearchKeyword = "";
self.headSearchResult = [];
self.headSearchResult_view = false;
self.headBtnSearch = function () {
if (sp.isval(self.headBtnSearchKeyword)) {
self.headSearchResult = [];
var data = {
"url": "/basic/api/StatSelect/selectCodeList",
"data": { "keyWord": self.headBtnSearchKeyword }
}
//console.log(JSON.stringify(data));
$http.post(apiurljs.login + "g2app/yizhangtu/selectCodeList", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
//console.log(JSON.stringify(res.data));
self.headSearchResult = res.data.build;
if (sp.isval(self.headSearchResult)) {
self.headSearchResult_view = true;
} else {
self.headSearchResult_view = false;
}
})
} else {
self.headSearchResult_view = false;
}
};
self.headKeywordPage = function (itemdata) {
var get_token = localStorage.getItem("main-token");
var set_url = apiurljs.onePic + "wholeProcessPage/?token=" + get_token + "&name=" + itemdata.name + "&type=" + itemdata.type + "&id=" + itemdata.id;
$('#attachlist')[0].contentWindow.openTool(set_url, '一张图');
self.headSearchResult_view = false;
};
self.onePic = function () {
$('#attachlist')[0].contentWindow.openTool(apiurljs.onePic + "wholeProcessPage/?token=" + localStorage.getItem("main-token"), "地图搜索")
}
//头部下滚冻结
$(function () {
$(".sp-page-center").eq(0).css("max-height", $("#topDiv").height()).css("height", $("#topDiv").height())
//$("body").bind("scroll", function () {
// var scrollTop = $("body").scrollTop();
// if (scrollTop == 0) {
// $(".FixTop").removeClass("FixTop");
// }
// if (scrollTop > 35) {
// $(".sp-page-title").parents(".sp-box").addClass("FixTop");
// }
//});
//页面高度撑满
setTimeout(function () {
if ($(".ibox-content").height() < $(window).height() - 31) {
$(".ibox-content").css("height", $(window).height() - 31)
}
$(".mousemove").css("top", 0).css("left", 0).css("width", $(window).width()).css("height", $(window).height() - 10)
}, 1)
})
var editor2;
self.setKindEditor2 = function () {
var options = {
uploadJson: apiurljs.login + "g2app/abase/uploadFileKindeditorImage/" + s4.encryptData_CBC(JSON.stringify("FILEKINDEDITOR_ATTACH")),
fileManagerJson: apiurljs.login + 'g2app/abase/uploadFileKindeditorImage/' + s4.encryptData_CBC(JSON.stringify("FILEKINDEDITOR_ATTACH")),
filterMode: true,//过滤HTML代码
allowImageUpload: true,
allowFlashUpload: false,
allowMediaUpload: false,
allowFileManager: false,
themeType: 'simple',
items: ['source', '|', 'undo', 'redo', '|', 'preview', 'template', '|',
'cut', 'copy', 'paste', 'plainpaste', 'wordpaste', '|',
'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', '|',
'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', '|',
'subscript', 'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',
'image', '|', 'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', '|',
'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|',
'table', 'hr', 'emoticons', '|', 'pagebreak', 'anchor', '|', 'about',
'table', 'insertfile', 'hr', 'emoticons', 'baidumap', '|',
'pagebreak', 'anchor', 'link', 'unlink', '|', 'about'],
afterUpload: function (url, data, name) {
this.sync();
}, //图片上传后,将上传内容同步到textarea中
afterBlur: function () {
this.sync();
}, ////失去焦点时,将内容同步到textarea中
afterCreate: function () {
this.sync();
}
}
editor2 = KindEditor.create('#kindEditor_Content', options);
};
self.setKindEditor2();
//视频截图功能
//用来保存当前编辑图片的地址
self.nowImgUrl = "";
self.getVideoImg = function () {
self.nowImgUrl="";
var player = document.getElementById('videoBox'); //获取video的Dom节点
var canvas = document.createElement("canvas");
canvas.width = 1920;
canvas.height = 1080;
canvas.getContext("2d").drawImage(player, 0, 0, canvas.width, canvas.height);//截
var dataURL = canvas.toDataURL("image/png"); //将图片转成base64格式
self.nowImgUrl=dataURL;
self.openImgLayer();
}
//打开截图收藏框
self.cutType="type1";
self.openImgLayer = function () {
//每次打开截图层初始化截图窗口
self.cutType="type1";
var image = document.querySelector('#imageCut');
cropper = new Cropper(image, {
aspectRatio: 16 / 9,
viewMode: 1,
scalable: false,
minCropBoxWidth: 64,
minCropBoxHeight: 36,
autoCrop: true,
fillColor: "#fff",
responsive:false,
minContainerWidth:"640",//容器的最小宽度 默认:200;
minContainerHeight:"360",//容器的最小高度 默认:100;
});
cropper.replace(self.nowImgUrl, false);
sp.layer('#layer_fav',1);
}
self.closeImgLayer = function () {
self.nowImgUrl = "";
cropper.destroy();
sp.closeCenter('.sp-layer');
}
self.changeCutType=function(){
if(self.cutType=="type1"){
cropper.options= {
aspectRatio: 16 / 9,
viewMode: 1,
scalable: false,
minCropBoxWidth: 64,
minCropBoxHeight: 36,
autoCrop: true,
fillColor: "#fff",
responsive:false,
minContainerWidth:"640",//容器的最小宽度 默认:200;
minContainerHeight:"360",//容器的最小高度 默认:100;
};
}else if(self.cutType=="type2"){
cropper.options= {
viewMode: 1,
scalable: false,
minCropBoxWidth: 64,
minCropBoxHeight: 36,
autoCrop: true,
fillColor: "#fff",
responsive:false,
minContainerWidth:"640",//容器的最小宽度 默认:200;
minContainerHeight:"360",//容器的最小高度 默认:100;
};
}
}
self.saveData = function () {
var cas = cropper.getCroppedCanvas();
var base64url = cas.toDataURL('image/png');
var data = {
base64: base64url
}
$http.post(apiurljs.login + "g2app/richang/base64ToImageUrl", data, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
console.log(res);
self.data.IMAGEDATA = apiurljs.login + "g2work" + res.data[0].url;
//sp.closeCenter('.sp-layer');
self.closeImgLayer()
})
}
self.reset = function () {
if(self.nowImgUrl!=''){
cropper.reset();
}
}
self.zoomOut = function () {
if(self.nowImgUrl!=''){
cropper.zoom(0.1);
}
}
self.zoomIn = function () {
if(self.nowImgUrl!=''){
cropper.zoom(-0.1);
}
}
self.clear=function () {
if(self.nowImgUrl!=''){
self.nowImgUrl = "";
$("#imgUpload").blur();
$("#imgUpload").val("");
cropper.replace(" ",false);
}
}
}])
app.filter('trustHtml', function ($sce) {
return function (input) {
return $sce.trustAsHtml(input.replace(/\n/g, '
').replace(/\s/g, ' '));
};
});
//canvas画布签字
function lineCanvas(obj) {
var self = this;
self.linewidth = 1;
self.color = "#000000";
self.background = "#ffffff";
self.canvas = document.createElement("canvas");
document.getElementById(obj).appendChild(self.canvas);
self.cxt = self.canvas.getContext("2d");
self.canvas.width = document.getElementById(obj).clientWidth;
self.canvas.height = document.getElementById(obj).scrollHeight;
self.cxt.fillStyle = self.background;
self.cxt.fillRect(0, 0, self.canvas.width, self.canvas.width);
self.cxt.strokeStyle = self.color;
self.cxt.lineWidth = self.linewidth;
self.cxt.lineCap = "round";
//开始绘制
self.canvas.addEventListener("mousedown", function (e) {
self.cxt.beginPath();
self.cxt.lineTo(e.pageX - document.getElementById(obj).offsetLeft - 25, e.pageY - document.getElementById(obj).offsetTop + $(".sp-page-center").scrollTop() - 25);
self.canvas.addEventListener("mousemove", move)
}.bind(self), false);
//绘制中
function move() {
var e = window.event;
self.cxt.lineTo(e.pageX - document.getElementById(obj).offsetLeft - 25, e.pageY - document.getElementById(obj).offsetTop + $(".sp-page-center").scrollTop() - 25);
self.cxt.stroke();
}
//结束绘制
self.canvas.addEventListener("mouseup", up)
function up() {
self.cxt.closePath();
self.canvas.removeEventListener("mousemove", move)
}
};
var parentData = {}
function getData() {
parentData = angular.element(document.getElementById("app")).scope().data
return parentData
}
function showToggle(e) {
$(e).children().toggle()
$(e).next().toggle()
}
function toggleYJL(e) {
if ($(e).children(".fa-angle-double-down").is(":hidden") == true) {
$("#topDiv").css("height", 160)
$(e).parent().css("height", 450)
$("#attachlist").css("height", 200)
$("#bottomDiv").css("height", "")
} else {
$("#topDiv").css("height", 600)
$(e).parent().css("height", 10)
}
$(e).children().toggle()
}