/**
* Created by Syusuke on 2017/3/17.
*/
/*$(function(){
let libNames = [];
getCompilationList();
getRationLibs(libNames);
})
function addEvent_Addressdirect(){
$("tr:gt(0)").each(function() {
var td, a, tdId = $("td:eq(3)",$(this));
td = $("td:eq(0)", $(this));
a = $('a', td);
a.attr('href', "/rationRepository/ration" + "?repository=" + tdId.text());
})
}
function addEvent_DeleteLib(){
$("tr:gt(0)").each(function() {
var td0, a1,td2,a2;
td2 = $("td:eq(2)", $(this));
td0 = $("td:eq(0)", $(this));
a1 = $('a', td0);
var str = a1.text();
a2 = $("a:eq(1)",td2);
a2.click(function(){
$("#did").val(str)
})
// a.attr('href', "/ration/rationLib" + "?rationname=" + a.text());
})
}
function addEvent_EditLib(){
$("tr:gt(0)").each(function() {
var td0, a1,td2,a2;
td2 = $("td:eq(2)", $(this));
td0 = $("td:eq(0)", $(this));
a1 = $('a', td0);
var str = a1.text();
a2 = $("a:eq(0)",td2);
a2.click(function(){
$("#did").val(str)
})
})
}
$("#deleteLib").click(function(){
var rationLibName = $("#did").val();
let lastOperator = userAccount;
$.ajax({
type:"POST",
url:"api/deleteRationLibs",
dataType:"json",
data:{"rationName": rationLibName, "lastOperator": lastOperator},
cache:false,
timeout:50000,
success:function(result){
getRationLibs();
},
error:function(iqXHR,textStatus,errorThrown){
}
})
});
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 getRationLibs(libNames){
$.ajax({
type:"POST",
url:"api/getRationDisplayNames",
dataType:"json",
cache:false,
timeout:5000,
success:function(result){
$("tbody tr").html("");
for(var i=0;i | | | | ')
var $td0 = $("td:eq(0)",$tr);
var $td1 = $("td:eq(1)",$tr);
var $tdId = $("td:eq(3)",$tr);
var a = $("a",$td0);
var str = string;
a.text(str);
$tdId.text(ID);
var newDate = date.split(' ')[0];
$td1.text(newDate);
$tr.appendTo("tbody");
}
function addRationRepository(rationObj, $tdId) {
$.ajax({
type:"POST",
url:"api/addRationRepository",
dataType:"json",
data:{"rationRepObj": JSON.stringify(rationObj)},
cache:false,
timeout:5000,
success:function(result){
$tdId.text(result.data.ID);
storageUtil.setSessionCache("RationGrp","repositoryID_" + result.data.ID, result.data.dispName);
addEvent_Addressdirect();
addEvent_DeleteLib();
},
error:function(iqXHR,textStatus,errorThrown){
alert("error "+textStatus+" "+errorThrown);
}
})
}
$("#rationAdd").click(function(){
var $tr = $(' | | | |
')
var $td0 = $("td:eq(0)",$tr);
var $td1 = $("td:eq(1)",$tr);
var $tdId = $("td:eq(3)",$tr);
var a = $("a",$td0);
var str = $("#addInput").val();
a.text(str);
var date = new Date().Format("yyyy-MM-dd");
$td1.text(date);
$tr.appendTo("tbody");
var newRationRepObj = {};
newRationRepObj.dispName = str;
newRationRepObj.appType = "建筑";
newRationRepObj.descr = "";
newRationRepObj.creator = userAccount;
newRationRepObj.lastOperator = userAccount;
addRationRepository(newRationRepObj, $tdId);
});
$("#edtOK").click(function(){
var str = $("#did").val();
var newStr = $("#inputRation").val();
let lastOperator = userAccount;
$.ajax({
type:"POST",
url:"api/editRationLibs",
dataType:"json",
data:{"rationName": str,"newName":newStr, "lastOperator": lastOperator},
cache:false,
timeout:50000,
success:function(result){
getRationLibs();
},
error:function(jqXHR){
var err = JSON.parse(jqXHR.responseText);
alert(err.error);
}
})
});
autoFlashHeight();*/
$(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];
dispNames.push(result.data[i].dispName);
$("#showArea").append(
"" +
""+libName+" | " +
""+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+" | " +
""+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();
}
}
})
}