'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?type=2&lastReturnPageno=" + self.get_lastReturnPageno
var postCfg = {
headers: {
'Content-Type': 'application/json',
'Authorization': "Bearer " + self.get_AccessToken
}
};
self.getDataBefore = function () {
var data = {
data: {
sendstatus: "4"
}
}
$http.post(apiurljs.login + "g2app/DangAn/queryListByZLStatus", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
self.SwenList = [];
var ids = JSON.parse($.cookie("hebingedt-itemlist")).MERGEID.split(",");
$.each(res.data, function (index, item) {
$.each(ids, function (index1, item1) {
if (item.ROUTEINFOID == item1) {
self.SwenList.push({ ID: item.ID, NAME: item.DOCTITLE, ROUTEINFOID: item.ROUTEINFOID })
}
if (item.ROUTEINFOID == JSON.parse($.cookie("hebingedt-itemlist")).ROUTEINFOID) {
self.select = { ID: item.ID, NAME: item.DOCTITLE, ROUTEINFOID: item.ROUTEINFOID };
}
})
})
self.muban = JSON.parse($.cookie("hebingedt-itemlist")).ROUTEINFOID;
self.data = new Object();
self.selectCODE = new Object();
self.JIGOU = new Object();
self.MIJIQIXIAN = new Object();
self.EMERGENCYDEGREE = 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] = ""
})
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 }
});
self.getJIGOU();
})
}
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.getDataBefore()
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("保存成功!");
$timeout(function () {
sp.dialoghide()
}, 1500)
self.getData();
} 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("hebingedt-itemlist", null, { path: '/', expires: -1 });
window.location.href = self.return
}, 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("hebingedt-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
}