'use strict'; var app = angular.module('app', [ ]); 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.userCName = $.cookie("GlWorkPlatform-chineseName"); self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken"); self.get_lastReturn = sp.getUrlName("lastReturn"); self.get_lastReturnPageno = sp.getUrlName("lastReturnPageno"); self.return = self.get_lastReturn + ".html?lastReturnPageno=" + self.get_lastReturnPageno var postCfg = { headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + self.get_AccessToken } }; self.SwenList = JSON.parse($.cookie("hebing-itemlist")); self.select = self.SwenList[0]; self.saveFlag == 1; self.muban = self.SwenList[0].ROUTEINFOID; self.data = new Object(); self.selectCODE = new Object(); self.JIGOU = new Object(); self.MIJIQIXIAN = new Object(); self.EMERGENCYDEGREE = new Object(); self.copyItem = new Object(); self.SwenList.forEach(function (item) { self.data[item.ROUTEINFOID] = { hasData: false } self.copyItem[item.ROUTEINFOID] = { DOCUMENTID: false, DOCUMENTTYPE: false, SERIALNUM: false, DOCISSUERID: false, DOCISSUEDNUM: false, SIGNER: false, DOCTITLE: false, MAINDPT: false, ATTACHMENT: false, ISSUINGAGENCY: false, ANNOTATION: false, CCDPT: false, PRINTSENDDPT: false, RELEASELEVEL: false } self.JIGOU[item.ROUTEINFOID] = "" self.MIJIQIXIAN[item.ROUTEINFOID] = "" self.EMERGENCYDEGREE[item.ROUTEINFOID] = "" }) self.getJIGOU = function () { var data = { tablename: "CODE_AGENCIES" } $http.post(apiurljs.login + "g2app/DangAn/queryCodeData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); self.selectCODE.list = res.data; self.getMIJI(); }) } self.getMIJI = function () { var data = { tablename: "CODE_SECRET" } $http.post(apiurljs.login + "g2app/DangAn/queryCodeData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); self.selectCODE.miji = res.data; self.getJINJI(); }) } self.getJINJI = function () { var data = { tablename: "CODE_EMERGENCY" } $http.post(apiurljs.login + "g2app/DangAn/queryCodeData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); self.selectCODE.jinji = res.data; self.getData(0); }) } self.getData = function (n) { if (self.data[self.select.ROUTEINFOID].hasData==false){ var data = { routeinfoid: self.select.ROUTEINFOID, tablename: "DOCELEMENT_ZL" } $http.post(apiurljs.login + "g2app/DangAn/queryDataByTablename", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); self.data[self.select.ROUTEINFOID] = { hasData: true, ARCHCODE: res.data.ARCHCODE ? res.data.ARCHCODE : "", ARCHYEAR: res.data.ARCHYEAR ? res.data.ARCHYEAR : sp.currentYear(), ORGANIZATIONMA: res.data.ORGANIZATIONMA ? res.data.ORGANIZATIONMA : "", DOCUMENTID: res.data.DOCUMENTID ? res.data.DOCUMENTID : "", DOCUMENTTYPE: res.data.DOCUMENTTYPE ? res.data.DOCUMENTTYPE : "", SERIALNUM: res.data.SERIALNUM ? res.data.SERIALNUM : "", MIJIQIXIAN: res.data.MIJIQIXIAN ? res.data.MIJIQIXIAN : "", EMERGENCYDEGREE: res.data.EMERGENCYDEGREE ? res.data.EMERGENCYDEGREE : "", DOCISSUERID: res.data.DOCISSUERID ? res.data.DOCISSUERID : "", DOCISSUEDNUM: res.data.DOCISSUEDNUM ? res.data.DOCISSUEDNUM : "", SIGNER: res.data.SIGNER ? res.data.SIGNER : "", DOCTITLE: res.data.DOCTITLE ? res.data.DOCTITLE : "", MAINDPT: res.data.MAINDPT ? res.data.MAINDPT : "", DOCISSUEDDATE: res.data.DOCISSUEDDATE ? sp.format(res.data.DOCISSUEDDATE) : "", ATTACHMENT: res.data.ATTACHMENT ? res.data.ATTACHMENT : "", ISSUINGAGENCY: res.data.ISSUINGAGENCY ? res.data.ISSUINGAGENCY : "", ANNOTATION: res.data.ANNOTATION ? res.data.ANNOTATION : "", CCDPT: res.data.CCDPT ? res.data.CCDPT : "", PRINTSENDDPT: res.data.PRINTSENDDPT ? res.data.PRINTSENDDPT : "", PRINTDATE: res.data.PRINTDATE ? sp.format(res.data.PRINTDATE) : "", RELEASELEVEL: res.data.RELEASELEVEL ? res.data.RELEASELEVEL : "", } $.each(self.selectCODE.list, function (index, item) { if (item.CODE == self.data[self.select.ROUTEINFOID].ORGANIZATIONMA) { self.JIGOU[self.select.ROUTEINFOID] = item.CNAME; } }) $.each(self.selectCODE.miji, function (index, item) { if (item.CODE == self.data[self.select.ROUTEINFOID].MIJIQIXIAN) { self.MIJIQIXIAN[self.select.ROUTEINFOID] = item.CNAME; } }) $.each(self.selectCODE.jinji, function (index, item) { if (item.CODE == self.data[self.select.ROUTEINFOID].EMERGENCYDEGREE) { self.EMERGENCYDEGREE[self.select.ROUTEINFOID] = item.CNAME; } }) }) } self.getAttachList() } self.getAttachList = function () { var data = { routeinfoid: self.select.ROUTEINFOID } $http.post(apiurljs.login + "g2app/DangAn/getAttachList", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); self.list = res.data; $.each(self.list, function (index, item) { item.SIZE = item.FILESIZE >= 104857.6 ? (item.FILESIZE / 1048576).toFixed(2) + "MB" : (item.FILESIZE / 1024).toFixed(2) + "KB"; }) }) } self.getJIGOU(); self.setMuBan = function (str) { var temporary,n; $.each(self.SwenList, function (index, item) { if (item.ROUTEINFOID == str) { temporary = item; n = index; } }) self.SwenList.splice(n, 1); self.SwenList.unshift(temporary); } self.copyTo = function (str) { self.data[self.muban][str] = self.data[self.muban][str].length == 0 ? self.data[self.select.ROUTEINFOID][str] : self.data[self.muban][str] + "," + self.data[self.select.ROUTEINFOID][str]; self.copyItem[self.select.ROUTEINFOID][str] = true; //sp.dialog("拷贝成功!"); //$timeout(function () { // sp.dialoghide() //},1500) } self.btnSave = function () { var data = deepCopy(self.data[self.muban]); delete data.hasData; data.MODELMARK = 1; data.SENDDATE = sp.getLocalDate(); data.MERGEID = self.SwenList.map(function (item) { return item.ROUTEINFOID; }).join(",") var data1 = { tablename: "DOCELEMENT_ZL", routeinfoid: self.muban, routeinfoid_status: self.SwenList.map(function (item) { return item.ROUTEINFOID }).join(","), status: "4", data: JSON.stringify(data) } $http.post(apiurljs.login + "g2app/DangAn/saveDataByZl", { data: s4.encryptData_CBC(JSON.stringify(data1)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.code == 0) { sp.dialog("保存成功!"); self.saveFlag = res.data.sendstatus; $timeout(function () { sp.dialoghide(); }, 1500) self.getData(1); } else { sp.dialog(res.message) } }) } self.btnSubmit = function () { var dialogHead = "温馨提示×"; var dialogBody = "
您确认要合并这些案件吗?
"; var dialogFoot = "
"; $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot); sp.openCenter(".sp-dialog"); $('.sp-closeDialog').click(function (event) { sp.dialoghide(); event.preventDefault(); event.stopPropagation(); }); $("#upDataTrue").click(function () { sp.dialoghide(); var data = deepCopy(self.data[self.muban]); delete data.hasData; data.MODELMARK = 1; data.SENDDATE = sp.getLocalDate(); data.MERGEID = self.SwenList.map(function (item) { return item.ROUTEINFOID; }).join(",") var data1 = { tablename: "DOCELEMENT_ZL", routeinfoid: self.muban, routeinfoid_status: self.SwenList.map(function (item) { return item.ROUTEINFOID }).join(","), status: "3", data: JSON.stringify(data) } $http.post(apiurljs.login + "g2app/DangAn/saveDataByZl", { data: s4.encryptData_CBC(JSON.stringify(data1)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.code == 0) { sp.dialog("合并成功!"); $timeout(function () { $.cookie("hebing-itemlist", null, { path: '/', expires: -1 }); window.location.href = self.return + "&type=2" }, 1500) } else { sp.dialog(res.message) } }) }); } self.search = { title: "" } self.addSwenList = function (n) { var data = { title: self.search.title, lockstatus: "'0','" + self.userId + "'", sendstatus: "1" } $http.post(apiurljs.login + "g2app/DangAn/queryListData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); var data = res.data.filter(function (item) { return self.SwenList.every(function (item1) { return item.ID != item1.ID; }) }) self.LeftSwenList = data.map(function (item) { return { ID: item.ID, NAME: item.DOCTITLE, ROUTEINFOID: item.ROUTEINFOID } }); if (n == 1) { self.RightSwenList = deepCopy(self.SwenList).map(function (item) { item.checked = false; return item; }); sp.layer("#addSwenList"); } }) } self.errorMsg = true; self.addSwen = function () { var leftdata = []; $.each(self.LeftSwenList, function (index, item) { if (item.checked == true) { leftdata.push(item) } }) if (leftdata.length == 0) { return; } var data = { routeinfoid: leftdata.map(function (item) { return item.ROUTEINFOID }).join(","), status: self.userId//"1" } $http.post(apiurljs.login + "g2app/DangAn/setLockStatus", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { $.each(leftdata, function (index, item) { item.checked = false; self.RightSwenList.push(item); }) self.LeftSwenList = self.LeftSwenList.filter(function (item) { return leftdata.every(function (item1) { return item.ID != item1.ID; }) }) self.SwenList = deepCopy(self.RightSwenList).map(function (item) { delete item.checked; return item; }); self.SwenList.forEach(function (item) { if (!self.data[item.ROUTEINFOID]) { self.data[item.ROUTEINFOID] = { hasData: false } self.copyItem[item.ROUTEINFOID] = { DOCUMENTID: false, DOCUMENTTYPE: false, SERIALNUM: false, DOCISSUERID: false, DOCISSUEDNUM: false, SIGNER: false, DOCTITLE: false, MAINDPT: false, ATTACHMENT: false, ISSUINGAGENCY: false, ANNOTATION: false, CCDPT: false, PRINTSENDDPT: false, RELEASELEVEL: false } } }) } else { $(".error").css("visibility", "visible"); $timeout(function () { $(".error").css("visibility", "hidden"); }, 1500) } }) } self.delSwen = function () { if (self.RightSwenList.length == 1) { sp.dialog("请保留最少一个案件!"); return; } var rightdata = []; $.each(self.RightSwenList, function (index, item) { if (item.checked == true) { rightdata.push(item) } }) if (rightdata.length == 0) { return; } var data = { routeinfoid: rightdata.map(function (item) { return item.ROUTEINFOID }).join(","), status: "1" } $http.post(apiurljs.login + "g2app/DangAn/setSendStatus", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { var data = { routeinfoid: rightdata.map(function (item) { return item.ROUTEINFOID }).join(","), status: "0" } $http.post(apiurljs.login + "g2app/DangAn/setLockStatus", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { $.each(rightdata, function (index, item) { item.checked = false; self.LeftSwenList.push(item); }) self.RightSwenList = self.RightSwenList.filter(function (item) { return rightdata.every(function (item1) { return item.ID != item1.ID; }) }) self.SwenList = deepCopy(self.RightSwenList).map(function (item) { delete item.checked; return item; }); rightdata.forEach(function (item) { if (self.select.ROUTEINFOID == item.ROUTEINFOID) { self.select = self.SwenList[0]; } if (self.muban == item.ROUTEINFOID) { self.muban = self.SwenList[0].ROUTEINFOID } if (self.data[self.muban].hasData == false) { self.getData(1) } }) } else { $(".error").css("visibility", "visible"); $timeout(function () { $(".error").css("visibility", "hidden"); }, 1500) } }) } else { $(".error").css("visibility", "visible"); $timeout(function () { $(".error").css("visibility", "hidden"); }, 1500) } }) } 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=DANGANATTACHFILE,routeinfoid=" + self.muban + ",ATTACHTYPE=DangAnfile")); }, add: function (e, data) { var num = 0; var acceptFileTypes = /(wps|ofd)$/i; //文件类型判断 $.each(data.originalFiles, function (index, item) { if (item['type'].length > 0 && !acceptFileTypes.test(item['name'])) { sp.dialog("您好,请上传wps/ofd格式的文件!"); return; } else { num++ } }) if (num == data.originalFiles.length) { self.uploading = true; data.submit(); $scope.$apply(); } }, // 上传完成后的执行逻辑 done: function (e, data) { self.uploading = false; var arrayFile = strToJson(s4.decryptData_CBC(data.result.data).slice(0, s4.decryptData_CBC(data.result.data).lastIndexOf("}") + 1)) self.list = arrayFile.data; $.each(self.list, function (index, item) { item.SIZE = item.FILESIZE >= 104857.6 ? (item.FILESIZE / 1048576).toFixed(2) + "MB" : (item.FILESIZE / 1024).toFixed(2) + "KB"; }) //sp.transmit2("FILEMANAGER_SHENQING", "档案", "", self.list, self.muban,"DANGANATTACHFILE") $scope.$apply();//绑定数据局部刷新 } }) } self.DelFile = function (ID) { var dialogHead = "温馨提示×"; var dialogBody = "
您确认要删除此附件吗?
"; var dialogFoot = "
"; $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot); sp.openCenter(".sp-dialog"); $('.sp-closeDialog').click(function (event) { sp.dialoghide(); event.preventDefault(); event.stopPropagation(); }); $("#upDataTrue").click(function () { sp.dialoghide(); var data = { id: ID } $http.post(apiurljs.login + "g2app/DangAn/deleteAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { self.getAttachList() } else { sp.dialog(res.message) } }) }); } self.CopyFile = function (ID) { var data = { modelrouteinfoid: self.muban, id: ID } $http.post(apiurljs.login + "g2app/DangAn/copyAttach", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { sp.dialog("拷贝成功!"); $timeout(function () { sp.dialoghide(); }, 1500) } else { sp.dialog(res.message) } }) } //重置模板 self.Reset = function () { var dialogHead = "温馨提示×"; var dialogBody = "
您确认要还原初始数据吗?
"; var dialogFoot = "
"; $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot); sp.openCenter(".sp-dialog"); $('.sp-closeDialog').click(function (event) { sp.dialoghide(); event.preventDefault(); event.stopPropagation(); }); $("#upDataTrue").click(function () { sp.dialoghide(); var data = { routeinfoid: self.select.ROUTEINFOID, routeinfoid_status: self.SwenList.map(function (item) { return item.ROUTEINFOID }).join(","), tablename: "DOCELEMENT_ZL", form_tablename: "DOCELEMENT_ZLDATA", attach_tablename: "DANGANATTACHFILE", status:"4" } $http.post(apiurljs.login + "g2app/DangAn/queryCancellData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); self.data[self.select.ROUTEINFOID] = { hasData: true, ARCHCODE: res.data.data.ARCHCODE ? res.data.data.ARCHCODE : "", ARCHYEAR: res.data.data.ARCHYEAR ? res.data.data.ARCHYEAR : "", ORGANIZATIONMA: res.data.data.ORGANIZATIONMA ? res.data.data.ORGANIZATIONMA : "", DOCUMENTID: res.data.data.DOCUMENTID ? res.data.data.DOCUMENTID : "", DOCUMENTTYPE: res.data.data.DOCUMENTTYPE ? res.data.data.DOCUMENTTYPE : "", SERIALNUM: res.data.data.SERIALNUM ? res.data.data.SERIALNUM : "", MIJIQIXIAN: res.data.data.MIJIQIXIAN ? res.data.data.MIJIQIXIAN : "", EMERGENCYDEGREE: res.data.data.EMERGENCYDEGREE ? res.data.data.EMERGENCYDEGREE : "", DOCISSUERID: res.data.data.DOCISSUERID ? res.data.data.DOCISSUERID : "", DOCISSUEDNUM: res.data.data.DOCISSUEDNUM ? res.data.data.DOCISSUEDNUM : "", SIGNER: res.data.data.SIGNER ? res.data.data.SIGNER : "", DOCTITLE: res.data.data.DOCTITLE ? res.data.data.DOCTITLE : "", MAINDPT: res.data.data.MAINDPT ? res.data.data.MAINDPT : "", DOCISSUEDDATE: res.data.data.DOCISSUEDDATE ? sp.format(res.data.data.DOCISSUEDDATE) : "", ATTACHMENT: res.data.data.ATTACHMENT ? res.data.data.ATTACHMENT : "", ISSUINGAGENCY: res.data.data.ISSUINGAGENCY ? res.data.data.ISSUINGAGENCY : "", ANNOTATION: res.data.data.ANNOTATION ? res.data.data.ANNOTATION : "", CCDPT: res.data.data.CCDPT ? res.data.data.CCDPT : "", PRINTSENDDPT: res.data.data.PRINTSENDDPT ? res.data.data.PRINTSENDDPT : "", PRINTDATE: res.data.data.PRINTDATE ? sp.format(res.data.data.PRINTDATE) : "", RELEASELEVEL: res.data.data.RELEASELEVEL ? res.data.data.RELEASELEVEL : "" } $.each(self.selectCODE.list, function (index, item) { if (item.CODE == self.data[self.select.ROUTEINFOID].ORGANIZATIONMA) { self.JIGOU[self.select.ROUTEINFOID] = item.CNAME; } }) $.each(self.selectCODE.miji, function (index, item) { if (item.CODE == self.data[self.select.ROUTEINFOID].MIJIQIXIAN) { self.MIJIQIXIAN[self.select.ROUTEINFOID] = item.CNAME; } }) $.each(self.selectCODE.jinji, function (index, item) { if (item.CODE == self.data[self.select.ROUTEINFOID].EMERGENCYDEGREE) { self.EMERGENCYDEGREE[self.select.ROUTEINFOID] = item.CNAME; } }) self.list = res.data.attach; $.each(self.list, function (index, item) { item.SIZE = item.FILESIZE >= 104857.6 ? (item.FILESIZE / 1048576).toFixed(2) + "MB" : (item.FILESIZE / 1024).toFixed(2) + "KB"; }) }) }); } self.turnTolist = function () { var data = { routeinfoid: self.SwenList.map(function (item) { return item.ROUTEINFOID }).join(","), status: "0" } $http.post(apiurljs.login + "g2app/DangAn/setLockStatus", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { $.cookie("hebing-itemlist", null, { path: '/', expires: -1 }); window.location.href = self.return } else { sp.dialog(res.message) } }) } }]) function deepCopy(target) { if (typeof target !== 'object') return; //判断目标类型,来创建返回值 var newObj = target instanceof Array ? [] : {}; for (var item in target) { //只复制元素自身的属性,不复制原型链上的 if (target.hasOwnProperty(item)) { if (item === '__id') continue; newObj[item] = typeof target[item] == 'object' ? deepCopy(target[item]) : target[item] //判断属性值类型 } } return newObj }