/**
* Created by Syusuke on 2017/3/17.
*/
$(function () {
let dispNameArr;
getAllRationLib(function (dispNames) {
dispNameArr = dispNames;
//添加
$('#addBtn').click(function () {
let compilationName = $('#compilationSels option:selected').text();
let compilationId = $('#compilationSels option:selected').val();
let gljLibName = $('#gljLibSels option:selected').text();
let gljLibId = $('#gljLibSels option:selected').val();
let libName = $('#libNameTxt').val();
if(libName.trim().length === 0){
alert('名称不可为空!');
$('#libNameTxt').val('')
}
else if(dispNames.indexOf(libName) !== -1){
alert('此定额库已存在!');
$('#libNameTxt').val('')
}
else if(compilationName.trim().length === 0){
alert('编办不可为空!');
}
else if(gljLibName.trim().length === 0){
alert("请选择工料机库!");
}
else{
let newRationLib = {};
newRationLib.dispName = libName;
newRationLib.compilationId = compilationId;
newRationLib.compilationName = compilationName;
newRationLib.gljLib = gljLibId;
newRationLib.creator = userAccount;
newRationLib.appType = "建筑";
$('#libNameTxt').val('');
createRationLib(newRationLib, dispNameArr);
}
});
//重命名
$("#showArea").on("click", "[data-target = '#edit']", function(){
let renameId = $(this).parent().parent().attr("id");
$("#renameA").attr("renameId", renameId);
});
$("#renameA").click(function(){
let newName = $("#renameText").val();
let libId = $(this).attr("renameId");
let jqSel = "#" + libId + " td:first" + " a";
let orgName = $(jqSel).text();
if(newName.trim().length === 0){
alert("名称不可为空!");
$("#renameText").val('');
}
else if(dispNameArr.indexOf(newName) !== -1){
alert("该定额库已存在!");
$("#renameText").val('');
}
else{
renameRationLib({ID: libId, newName: newName, orgName: orgName}, dispNameArr);
}
});
//删除
$("#showArea").on("click", "[data-target = '#del']", function(){
let deleteId = $(this).parent().parent().attr("id");
$("#deleteA").attr("deleteId", deleteId);
});
$("#deleteA").click(function(){
let deleteId = $(this).attr("deleteId");
let jqSel = "#" + deleteId + " td:first" + " a";
let libName = $(jqSel).text();
removeRationLib({libId: deleteId, libName: libName}, dispNameArr);
});
});
getCompilationList();
});
function getAllRationLib(callback){
$.ajax({
type: 'post',
url: 'api/getRationDisplayNames',
dataType: 'json',
success: function (result) {
let dispNames = [];
if(result.data.length > 0){
for(let i = 0; i < result.data.length; i++){
storageUtil.setSessionCache("RationGrp","repositoryID_" + result.data[i].ID, result.data[i].dispName);
if(result.data[i].gljLib){
storageUtil.setSessionCache("gljLib","repositoryID_" + result.data[i].ID, result.data[i].gljLib);
}
let id = result.data[i].ID;
let libName = result.data[i].dispName;
let createDate = result.data[i].createDate.split(' ')[0];
let compilationName = result.data[i].compilationName;
dispNames.push(result.data[i].dispName);
$("#showArea").append(
"
" +
""+libName+" | " +
""+compilationName+" | " +
""+createDate+" | " +
"" +
" " +
" |
");
var newHref = "/rationRepository/ration?repository="+id;
$("#tempId td:first a").attr("href", newHref);
$("#tempId").attr("id", id);
}
}
callback(dispNames);
}
});
}
function getCompilationList(){
$.ajax({
type: 'post',
url: 'api/getCompilationList',
dataType: 'json',
success: function (result) {
console.log(result);
//addoptions
for(let i = 0; i < result.data.compilation.length; i++){
let $option = $("");
$option.val( result.data.compilation[i]._id);
$('#compilationSels').append($option);
}
//初始工料机库选项
if(result.data.compilation.length > 0 && result.data.gljLibs.length > 0){
let compilationId = result.data.compilation[0]._id;
//console.log(compilationId);
let gljLibOps = getGljLibOps(compilationId, result.data.gljLibs);
console.log(gljLibOps);
for(let i = 0; i < gljLibOps.length; i++){
let $option = $("");
$option.val(gljLibOps[i].ID);
$('#gljLibSels').append($option);
}
}
$('#compilationSels').on("change", function () {
//刷新工料机库选项
$('#gljLibSels').children().remove();
let newGljLibOps = getGljLibOps(this.selectedOptions[0].value, result.data.gljLibs);
for(let i = 0; i < newGljLibOps.length; i++){
let $option = $("");
$option.val(newGljLibOps[i].ID);
$('#gljLibSels').append($option);
}
});
}
});
}
function getGljLibOps(compilationId, gljLibs){
let rst = [];
for(let i = 0; i < gljLibs.length; i++){
if(gljLibs[i]){
if(compilationId === gljLibs[i].compilationId){
rst.push(gljLibs[i]);
}
}
}
return rst;
}
function createRationLib(rationObj, dispNamesArr){
$.ajax({
type: 'post',
url: 'api/addRationRepository',
data: {rationRepObj: JSON.stringify(rationObj)},
dataType: 'json',
success: function (result) {
if(result.data){
storageUtil.setSessionCache("RationGrp","repositoryID_" + result.data.ID, result.data.dispName);
if(result.data.gljLib){
storageUtil.setSessionCache("gljLib","repositoryID_" + result.data.ID, result.data.gljLib);
}
let id = result.data.ID;
let libName = result.data.dispName;
let createDate = result.data.createDate.split(' ')[0];
let compilationName = result.data.compilationName;
dispNamesArr.push(libName);
$("#showArea").append(
"" +
""+libName+" | " +
""+compilationName+" | " +
""+createDate+" | " +
"" +
" " +
" |
");
var newHref = "/rationRepository/ration?repository="+id;
$("#tempId td:first a").attr("href", newHref);
$("#tempId").attr("id", id);
}
$('#cancelBtn').click();
}
})
}
function renameRationLib(renameObj, dispNames){
$.ajax({
type: 'post',
url: 'api/editRationLibs',
data: {oprtor: userAccount, renameObj: JSON.stringify(renameObj)},
dataType: 'json',
success: function (result) {
if(!result.error){
let jqSel = "#" + renameObj.ID + " td:first" + " a";
$(jqSel).text(renameObj.newName);
let index = dispNames.indexOf(renameObj.orgName);
dispNames.splice(index, 1);
dispNames.splice(index, 0, renameObj.newName);
}
$('#editCancelBtn').click();
$('#renameText').val('');
}
})
}
function removeRationLib(delObj, dispNames){
$.ajax({
type: 'post',
url: 'api/deleteRationLibs',
data: {oprtor: userAccount, libId: delObj.libId},
dataType: 'json',
success: function (result) {
if(!result.error){
var jqSel = "#"+ delObj.libId;
$(jqSel).remove();
let index = dispNames.indexOf(delObj.libName);
dispNames.splice(index, 1);
$('#delCancelBtn').click();
}
}
})
}