'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() }