| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330 | 
							- /**
 
-  * 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();
 
-     // 导入原始数据按钮
 
-     let rationRepId = 0;
 
-     $("#showArea").on("click", ".import-source", function () {
 
-         let id = $(this).data("id");
 
-         id = parseInt(id);
 
-         if (isNaN(id) || id <= 0) {
 
-             return false;
 
-         }
 
-         rationRepId = id;
 
-         $("#import").modal("show");
 
-     });
 
-     // 导入内部数据
 
-     $("#showArea").on("click", ".import-data", function () {
 
-         let id = $(this).data("id");
 
-         id = parseInt(id);
 
-         if (isNaN(id) || id <= 0) {
 
-             return false;
 
-         }
 
-         rationRepId = id;
 
-         $("#import2").modal("show");
 
-     });
 
-     // 导入原始数据确认
 
-     $("#source-import,#data-import").click(function() {
 
-         const self = $(this);
 
-         const type = self.is("#source-import") ? 'source_file' : 'import_data';
 
-         const dialog = type === 'source_file' ? $("#import") : $("#import2");
 
-         try {
 
-             let formData = new FormData();
 
-             let file = $("input[name='"+ type +"']")[0];
 
-             if (file.files.length <= 0) {
 
-                 throw '请选择文件!';
 
-             }
 
-             formData.append('file', file.files[0]);
 
-             // 获取定额库id
 
-             if (rationRepId <= 0) {
 
-                 return false;
 
-             }
 
-             formData.append('rationRepId', rationRepId);
 
-             formData.append('type', type);
 
-             $.ajax({
 
-                 url: '/rationRepository/api/upload',
 
-                 type: 'POST',
 
-                 data: formData,
 
-                 cache: false,
 
-                 contentType: false,
 
-                 processData: false,
 
-                 beforeSend: function() {
 
-                     self.attr('disabled', 'disabled');
 
-                     self.text('上传中...');
 
-                 },
 
-                 success: function(response){
 
-                     self.removeAttr('disabled');
 
-                     self.text('确定导入');
 
-                     if (response.err === 0) {
 
-                         const message = response.msg !== undefined ? response.msg : '';
 
-                         if (message !== '') {
 
-                             alert(message);
 
-                         }
 
-                         // 成功则关闭窗体
 
-                         dialog.modal("hide");
 
-                     } else {
 
-                         const message = response.msg !== undefined ? response.msg : '上传失败!';
 
-                         alert(message);
 
-                     }
 
-                 },
 
-                 error: function(){
 
-                     alert("与服务器通信发生错误");
 
-                     self.removeAttr('disabled');
 
-                     self.text('确定导入');
 
-                 }
 
-             });
 
-         } catch(error) {
 
-             alert(error);
 
-         }
 
-     });
 
-     // 导出数据
 
-     $("#showArea").on("click", ".export", function () {
 
-         let id = $(this).data("id");
 
-         id = parseInt(id);
 
-         if (isNaN(id) || id <= 0) {
 
-             return false;
 
-         }
 
-         window.location.href = '/rationRepository/api/export?rationRepId=' + id;
 
-     });
 
- });
 
- 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(
 
-                         "<tr id='tempId'>" +
 
-                         "<td><a href='/stdGljRepository/glj'>"+libName+"</a></td>" +
 
-                         "<td>"+compilationName+" </td>" +
 
-                         "<td>"+createDate+" </td>" +
 
-                         "<td><a href='javascript:void(0);' data-toggle='modal' data-target='#edit' title='编辑'>" +
 
-                         "<i class='fa fa-pencil-square-o'></i></a> <a href='javascript:void(0);' data-toggle='modal' data-target='#del' class='text-danger' title='删除'>" +
 
-                         "<i class='fa fa-remove'></i></a></td>" +
 
-                         "<td><a class='btn btn-secondary btn-sm import-source' href='javacript:void(0);' data-id='"+ id +"' title='导入原始数据'><i class='fa fa-sign-in fa-rotate-90'></i>导入</a></td>" +
 
-                         "<td><a class='btn btn-success btn-sm export' href='javacript:void(0);' data-toggle='modal' data-id='"+ id +"' data-target='#emport' title='导出内部数据'><i class='fa fa-sign-out fa-rotate-270'></i>导出</a> " +
 
-                         "<a class='btn btn-secondary btn-sm import-data' href='javacript:void(0);' data-id='"+ id +"' title='导入内部数据'><i class='fa fa-sign-in fa-rotate-90'></i>导入</a></td>" +
 
-                         "</tr>");
 
-                     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 >"+ result.data.compilation[i].name +"</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 >"+ gljLibOps[i].dispName +"</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 >"+ newGljLibOps[i].dispName +"</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(
 
-                     "<tr id='tempId'>" +
 
-                     "<td><a href='/stdGljRepository/glj'>"+libName+"</a></td>" +
 
-                     "<td>"+compilationName+" </td>" +
 
-                     "<td>"+createDate+" </td>" +
 
-                     "<td><a href='javascript:void(0);' data-toggle='modal' data-target='#edit' title='编辑'>" +
 
-                     "<i class='fa fa-pencil-square-o'></i></a> <a href='javascript:void(0);' data-toggle='modal' data-target='#del' class='text-danger' title='删除'>" +
 
-                     "<i class='fa fa-remove'></i></a>" +
 
-                     "<td><a class='btn btn-secondary btn-sm import-source' href='javacript:void(0);' data-id='"+ id +"' title='导入原始数据'><i class='fa fa-sign-in fa-rotate-90'></i>导入</a></td>" +
 
-                     "<td><a class='btn btn-success btn-sm export' href='javacript:void(0);' data-toggle='modal' data-id='"+ id +"' data-target='#emport' title='导出内部数据'><i class='fa fa-sign-out fa-rotate-270'></i>导出</a> " +
 
-                     "<a class='btn btn-secondary btn-sm import-data' href='javacript:void(0);' data-id='"+ id +"' title='导入内部数据'><i class='fa fa-sign-in fa-rotate-90'></i>导入</a></td>" +
 
-                     "</tr>");
 
-                 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();
 
-             }
 
-         }
 
-     })
 
- }
 
 
  |