123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381 |
- /**
- * Created by Syusuke on 2017/3/17.
- */
- $(function () {
- let preDeleteId = null;
- let deleteCount = 0;
- let selCompilationId,
- compilationsArr = [];
- $('#del').on('hidden.bs.modal', function () {
- deleteCount = 0;
- });
- //添加
- $('#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 (allNames.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.code = $('#libCodeTxt').val() || '';
- newRationLib.shortName = $('#libShortNameTxt').val() || '';
- newRationLib.compilationId = compilationId;
- newRationLib.compilationName = compilationName;
- newRationLib.gljLib = gljLibId;
- newRationLib.creator = userAccount;
- newRationLib.appType = "建筑";
- $('#libNameTxt').val('');
- $('#libCodeTxt').val('');
- $('#libShortNameTxt').val('');
- createRationLib(newRationLib);
- }
- });
- //重命名
- $("#showArea").on("click", "[data-target = '#edit']", function () {
- const $tr = $(this).parent().parent();
- let renameId = $tr.attr("id");
- $('#renameText').val($tr.find('td:first-child').text());
- $('#reCodeText').val($tr.find('td:nth-child(2)').text());
- $('#reShortNameText').val($tr.find('td:nth-child(3)').text());
- $("#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 (allNames.indexOf(newName) !== -1 && orgName !== newName) {
- alert("该定额库已存在!");
- $("#renameText").val('');
- }
- else {
- const code = $('#reCodeText').val();
- const shortName = $('#reShortNameText').val();
- renameRationLib({ ID: libId, newName: newName, orgName: orgName, code, shortName });
- }
- });
- $('#edit').on('shown.bs.modal', function () {
- setTimeout(function () {
- $('#renameText').focus();
- }, 100);
- });
- $('#add').on('shown.bs.modal', function () {
- setTimeout(function () {
- $('#libNameTxt').focus();
- }, 100);
- });
- $('#add').on('hidden.bs.modal', function () {
- $('#libNameTxt').val('');
- $('#libCodeTxt').val('');
- $('#libShortNameTxt').val('');
- });
- //删除
- $("#showArea").on("click", "[data-target = '#del']", function () {
- let deleteId = $(this).parent().parent().attr("id");
- $("#deleteA").attr("deleteId", deleteId);
- let delLibName = $(`#${deleteId}`).find('td:first').text();
- $('#del').find('.modal-body h5').text(`准备删除 “${delLibName}”,会导致已引用此库的地方出错,确定要删除吗?`);
- });
- $("#deleteA").click(function () {
- let deleteId = $(this).attr("deleteId");
- if (preDeleteId && preDeleteId !== deleteId) {
- deleteCount = 0;
- }
- preDeleteId = deleteId;
- deleteCount++;
- let jqSel = "#" + deleteId + " td:first" + " a";
- let libName = $(jqSel).text();
- if (deleteCount === 3) {
- deleteCount = 0;
- removeRationLib({ libId: deleteId, libName: libName });
- $('#del').modal('hide');
- }
- });
- //全部计算
- $("#showArea").on("click", "[data-target = '#reCalcAll']", function () {
- let recalcId = $(this).parent().parent().attr("id");
- $("#reCalcConfirm").attr("recalcId", recalcId);
- });
- $("#reCalcConfirm").click(function () {
- $('#reCalcConfirm').addClass('disabled');
- $.bootstrapLoading.start();
- let recalcId = $(this).attr("recalcId");
- CommonAjax.post('/rationRepository/api/reCalcAll', { rationRepId: recalcId }, function (rstData) {
- $.bootstrapLoading.end();
- $('#reCalcAll').modal('hide');
- $('#reCalcConfirm').removeClass('disabled');
- }, function () {
- $.bootstrapLoading.end();
- $('#reCalcAll').modal('hide');
- $('#reCalcConfirm').removeClass('disabled')
- });
- });
- // 锁定、解锁
- $('#showArea').on('click', '.lock', function () {
- lockUtil.handleLockClick($(this));
- });
- getCompilationList(function (data) {
- compilationsArr = data.compilation;
- });
- // 导入原始数据按钮
- 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 () {
- $.bootstrapLoading.start();
- 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) {
- $.bootstrapLoading.end();
- const message = response.msg !== undefined ? response.msg : '';
- if (message !== '') {
- alert(message);
- }
- // 成功则关闭窗体
- dialog.modal("hide");
- } else {
- $.bootstrapLoading.end();
- const message = response.msg !== undefined ? response.msg : '上传失败!';
- alert(message);
- }
- },
- error: function () {
- $.bootstrapLoading.end();
- 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;
- });
- //设置补充定额库章节树模板
- $("#showArea").on("click", ".set-comple", function () {
- let id = $(this).data("id");
- id = parseInt(id);
- if (isNaN(id) || id <= 0) {
- return false;
- }
- rationRepId = id;
- $('#templateA').addClass('disabled');
- $('#template').modal('show');
- $('#compilations').empty();
- for (let data of compilationsArr) {
- let $opt = $(`<option value="${data._id}">${data.name}</option>`);
- $('#compilations').append($opt);
- }
- $('#compilations').change();
- });
- $('#compilations').change(function () {
- selCompilationId = $(this).select().val();
- CommonAjax.get(`/rationRepository/api/sectionTemplateCount/${selCompilationId}`, function (rstData) {
- rstData.data.count > 0 ?
- $('#templateText').text('该费用定额下已有定额章节树模板数据,是否确认覆盖数据?') :
- $('#templateText').text('确认是否将此库的章节树设置成该费用定额下补充定额章节树模板?');
- $('#templateA').removeClass('disabled');
- });
- });
- $('#templateA').click(function () {
- if (rationRepId <= 0 && selCompilationId) {
- return false;
- }
- $.bootstrapLoading.start();
- CommonAjax.post('/rationRepository/api/initSectionTemplate', { rationLibId: rationRepId, compilationId: selCompilationId }, function () {
- $.bootstrapLoading.end();
- $('#template').modal('hide');
- }, function () {
- $.bootstrapLoading.end();
- $('#template').modal('hide');
- });
- });
- });
- function getCompilationList(callback) {
- $.ajax({
- type: 'post',
- url: '/rationRepository/api/getCompilationList',
- dataType: 'json',
- success: function (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);
- 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);
- }
- });
- callback(result.data);
- }
- });
- }
- 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) {
- $.ajax({
- type: 'post',
- url: '/rationRepository/api/addRationRepository',
- data: { rationRepObj: JSON.stringify(rationObj) },
- dataType: 'json',
- success: function (result) {
- window.location.href = location.href;
- }
- })
- }
- function renameRationLib(renameObj) {
- $.ajax({
- type: 'post',
- url: '/rationRepository/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);
- const $code = $(`#${renameObj.ID} td:nth-child(2)`);
- $code.text(renameObj.code);
- const $shortName = $(`#${renameObj.ID} td:nth-child(3)`);
- $shortName.text(renameObj.shortName);
- let index = allNames.indexOf(renameObj.orgName);
- allNames.splice(index, 1);
- allNames.splice(index, 0, renameObj.newName);
- }
- $('#editCancelBtn').click();
- $('#renameText').val('');
- }
- })
- }
- function removeRationLib(delObj) {
- $.bootstrapLoading.start();
- $.ajax({
- type: 'post',
- url: '/rationRepository/api/deleteRationLibs',
- data: { oprtor: userAccount, libId: delObj.libId },
- dataType: 'json',
- success: function (result) {
- if (!result.error) {
- var jqSel = "#" + delObj.libId;
- $(jqSel).remove();
- let index = allNames.indexOf(delObj.libName);
- allNames.splice(index, 1);
- $('#delCancelBtn').click();
- }
- $.bootstrapLoading.end();
- },
- error: function () {
- alert('删除失败');
- $.bootstrapLoading.end();
- }
- })
- }
|