|
@@ -232,6 +232,11 @@ $(document).ready(function() {
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
+ //绑定新建建设项目、新建单项工程、新建文件夹、重命名Enter键事件
|
|
|
+ bindInputs($('#project-name'), $('#engineering-name'), $('#folder-name'), $('#rename-name'));
|
|
|
+
|
|
|
+ //绑定新建建设项目、新建单项工程、新建文件夹、重命名弹窗隐藏事件
|
|
|
+ bindModalsHidden($('#add-project-dialog'), $('#add-engineering-dialog'), $('#add-folder-dialog'), $('#rename-dialog'));
|
|
|
|
|
|
// 新增建设项目点击
|
|
|
$('#add-project-btn').click(function () {
|
|
@@ -456,7 +461,8 @@ $(document).ready(function() {
|
|
|
let newName = $('#rename-name').val();
|
|
|
let dialog = $('#rename-dialog');
|
|
|
if (newName === '') {
|
|
|
- alert('请输入重命名的名称');
|
|
|
+ $('#rename-name-info').text('请输入重命名名称');
|
|
|
+ $('#rename-name-info').show();
|
|
|
return false;
|
|
|
}
|
|
|
|
|
@@ -465,6 +471,8 @@ $(document).ready(function() {
|
|
|
return false;
|
|
|
}
|
|
|
RenameProject(select.id(), newName, select.data.ParentID, function () {
|
|
|
+ $('#rename-name-info').text('');
|
|
|
+ $('#rename-name-info').hide();
|
|
|
dialog.modal('hide');
|
|
|
select.data.name = newName;
|
|
|
Tree.refreshNodesDom([select]);
|
|
@@ -681,12 +689,19 @@ function init() {
|
|
|
function AddProject() {
|
|
|
let name = $('#project-name').val().trim();
|
|
|
if (name === '') {
|
|
|
- alert('请填写建设项目名称');
|
|
|
+ $('#project-name-info').text('请填写建设项目名称');
|
|
|
+ $('#project-name-info').show();
|
|
|
return false;
|
|
|
}
|
|
|
- let callback = function() {
|
|
|
- $("#add-project-dialog").modal("hide");
|
|
|
- $("#project-name").val('');
|
|
|
+ let existCallback = function () {
|
|
|
+ $('#project-name-info').text(`已存在“${$("#project-name").val()}”`);
|
|
|
+ $('#project-name-info').show();
|
|
|
+ };
|
|
|
+ let sucCallback = function () {
|
|
|
+ $('#add-project-dialog').modal('hide');
|
|
|
+ $('#project-name').val('');
|
|
|
+ $('#project-name-info').text('');
|
|
|
+ $('#project-name-info').hide();
|
|
|
};
|
|
|
let selectedItem = Tree.selected();
|
|
|
|
|
@@ -697,18 +712,93 @@ function AddProject() {
|
|
|
(4)、当前定位在单项工程或单位工程,新建项目为当前所属建设项目的后兄弟。
|
|
|
* */
|
|
|
if(!selectedItem){
|
|
|
- AddSiblingsItem(selectedItem, name, null, projectType.project, callback);
|
|
|
+ AddSiblingsItem(selectedItem, name, null, projectType.project, existCallback, sucCallback);
|
|
|
}
|
|
|
else {
|
|
|
if(selectedItem.data.projType === projectType.project){
|
|
|
- AddSiblingsItem(selectedItem, name, null, projectType.project, callback);
|
|
|
+ AddSiblingsItem(selectedItem, name, null, projectType.project, existCallback, sucCallback);
|
|
|
}
|
|
|
else if(selectedItem.data.projType === projectType.engineering || selectedItem.data.projType === projectType.tender){
|
|
|
let proj = selectedItem.parent.data.projType === projectType.project ? selectedItem.parent : selectedItem.parent.parent;
|
|
|
- AddSiblingsItem(proj, name, null, projectType.project, callback);
|
|
|
+ AddSiblingsItem(proj, name, null, projectType.project, existCallback, sucCallback);
|
|
|
}
|
|
|
else if(selectedItem.data.projType === projectType.folder){
|
|
|
- AddChildrenItem(selectedItem, name, null, projectType.project, callback);
|
|
|
+ AddChildrenItem(selectedItem, name, null, projectType.project, existCallback, sucCallback);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//新建建设项目、新建单项工程、新建文件夹、重命名弹窗隐藏事件
|
|
|
+function bindModalsHidden(projDialog, engDialog, folderDialog, renameDialog){
|
|
|
+ projDialog.on('hidden.bs.modal', function () {
|
|
|
+ $('#project-name-info').text('');
|
|
|
+ $('#project-name-info').hide();
|
|
|
+ $('#project-name').val('');
|
|
|
+ });
|
|
|
+ engDialog.on('hidden.bs.modal', function () {
|
|
|
+ $('#engineering-name-info').text('');
|
|
|
+ $('#engineering-name-info').hide();
|
|
|
+ $('#engineering-name').val('');
|
|
|
+ });
|
|
|
+ folderDialog.on('hidden.bs.modal', function () {
|
|
|
+ $('#folder-name-info').text('');
|
|
|
+ $('#folder-name-info').hide();
|
|
|
+ $('#folder-name').val('');
|
|
|
+ });
|
|
|
+ renameDialog.on('hidden.bs.modal', function () {
|
|
|
+ $('#rename-name-info').text('');
|
|
|
+ $('#rename-name-info').hide();
|
|
|
+ $('#rename-name').val('');
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+//绑定新建建设项目、新建单项工程、新建文件夹、重命名回车键功能
|
|
|
+function bindInputs(projInput, engInput, foldInput, renameInput){
|
|
|
+ projInput.bind('keypress', function (event) {
|
|
|
+ if(event.keyCode === 13){
|
|
|
+ $('#addProjOk').click();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ //projInput.bind('change', getChangedFunc(projInput, $('#project-name-info')));
|
|
|
+
|
|
|
+ engInput.bind('keypress', function (event) {
|
|
|
+ if(event.keyCode === 13){
|
|
|
+ $('#add-engineering-confirm').click();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ //engInput.bind('change', getChangedFunc(engInput, $('#engineering-name-info')));
|
|
|
+
|
|
|
+ foldInput.bind('keypress', function (event) {
|
|
|
+ if(event.keyCode === 13){
|
|
|
+ $('#add-folder-confirm').click();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // foldInput.bind('change', getChangedFunc(foldInput, $('#folder-name-info')));
|
|
|
+
|
|
|
+ renameInput.bind('keypress', function (event) {
|
|
|
+ if(event.keyCode === 13){
|
|
|
+ $('#rename-confirm').click();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ //renameInput.bind('change', getChangedFunc(renameInput, $('#rename-name-info')));
|
|
|
+}
|
|
|
+//新建建设项目、单项工程、文件夹、重命名提示(文本改变,暂时不需要)
|
|
|
+function getChangedFunc(input, nameInfo){
|
|
|
+ return function () {
|
|
|
+ let selected = Tree.selected();
|
|
|
+ let parent = selected ? selected.parent : Tree._root;
|
|
|
+ let name = input.val();
|
|
|
+ if(existName(name, parent.children)){
|
|
|
+ nameInfo.text(`已存在“${name}”`);
|
|
|
+ nameInfo.show();
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ nameInfo.text('');
|
|
|
+ nameInfo.hide();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -846,15 +936,15 @@ function AddTenderItems(selected, projName, engName, tenderName, property, callb
|
|
|
* @param {function} callback
|
|
|
* @return {void}
|
|
|
*/
|
|
|
-function AddChildrenItem(selected, name, property, type, callback) {
|
|
|
+function AddChildrenItem(selected, name, property, type, existCallback, sucCallback) {
|
|
|
if(!selected){
|
|
|
selected = Tree.selected();
|
|
|
}
|
|
|
let parent = selected ? selected : Tree._root;
|
|
|
let pre = selected ? selected.lastChild() : Tree.firstNode();
|
|
|
if(existName(name, parent.children)){
|
|
|
- alert('同级目录已存在相同名称数据.');
|
|
|
- callback();
|
|
|
+ //alert('同级目录已存在相同名称数据.');
|
|
|
+ existCallback();
|
|
|
}
|
|
|
else {
|
|
|
GetNewProjectId(1, function(IDs) {
|
|
@@ -870,7 +960,7 @@ function AddChildrenItem(selected, name, property, type, callback) {
|
|
|
Tree.addNodeData(data.updateData, parent, null);
|
|
|
}
|
|
|
});
|
|
|
- callback();
|
|
|
+ sucCallback();
|
|
|
});
|
|
|
});
|
|
|
}
|
|
@@ -884,15 +974,15 @@ function AddChildrenItem(selected, name, property, type, callback) {
|
|
|
* @param {function} callback
|
|
|
* @return {void}
|
|
|
*/
|
|
|
-function AddSiblingsItem(selected, name, property, type, callback) {
|
|
|
+function AddSiblingsItem(selected, name, property, type, existCallback, sucCallback) {
|
|
|
if(!selected){
|
|
|
selected = Tree.selected();
|
|
|
}
|
|
|
let parent = selected ? selected.parent : Tree._root;
|
|
|
let next = selected ? selected.nextSibling : Tree.firstNode();
|
|
|
if(existName(name, parent.children)){
|
|
|
- alert('同级目录已存在相同名称数据.');
|
|
|
- callback();
|
|
|
+ //alert('同级目录已存在相同名称数据.');
|
|
|
+ existCallback();
|
|
|
}
|
|
|
else {
|
|
|
GetNewProjectId(1, function(IDs) {
|
|
@@ -908,7 +998,7 @@ function AddSiblingsItem(selected, name, property, type, callback) {
|
|
|
Tree.addNodeData(data.updateData, parent, next);
|
|
|
}
|
|
|
});
|
|
|
- callback();
|
|
|
+ sucCallback();
|
|
|
});
|
|
|
});
|
|
|
}
|
|
@@ -1120,25 +1210,32 @@ function hasTender(selected, pojName, engName, tenderName){
|
|
|
function AddEngineering() {
|
|
|
let name = $('#engineering-name').val().trim();
|
|
|
if (name === '') {
|
|
|
- alert('请填写单项工程名称');
|
|
|
+ $('#engineering-name-info').text('请填写单项工程名称');
|
|
|
+ $('#engineering-name-info').show();
|
|
|
return false;
|
|
|
}
|
|
|
- let callback = function() {
|
|
|
- $("#add-engineering-dialog").modal("hide");
|
|
|
- $("#engineering-name").val('');
|
|
|
+ let existCallback = function () {
|
|
|
+ $('#engineering-name-info').text(`已存在“${$("#engineering-name").val()}”`);
|
|
|
+ $('#engineering-name-info').show();
|
|
|
+ };
|
|
|
+ let sucCallback = function () {
|
|
|
+ $('#add-engineering-dialog').modal('hide');
|
|
|
+ $('#engineering-name').val('');
|
|
|
+ $('#engineering-name-info').text('');
|
|
|
+ $('#engineering-name-info').hide();
|
|
|
};
|
|
|
let selectedItem = Tree.selected();
|
|
|
// 如果选择的是单项工程则新增同级数据
|
|
|
if(selectedItem){
|
|
|
if(selectedItem.data.projType === projectType.project){
|
|
|
- AddChildrenItem(selectedItem, name, null, projectType.engineering, callback);
|
|
|
+ AddChildrenItem(selectedItem, name, null, projectType.engineering, existCallback, sucCallback);
|
|
|
}
|
|
|
else if(selectedItem.data.projType === projectType.engineering){
|
|
|
- AddSiblingsItem(selectedItem, name, null, projectType.engineering, callback);
|
|
|
+ AddSiblingsItem(selectedItem, name, null, projectType.engineering, existCallback, sucCallback);
|
|
|
}
|
|
|
else if(selectedItem.data.projType === projectType.tender){
|
|
|
let proj = selectedItem.parent;
|
|
|
- AddSiblingsItem(proj, name, null, projectType.engineering, callback);
|
|
|
+ AddSiblingsItem(proj, name, null, projectType.engineering, existCallback, sucCallback);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1250,14 +1347,21 @@ function AddTender() {
|
|
|
function AddFolder() {
|
|
|
let name = $('#folder-name').val().trim();
|
|
|
if (name === '') {
|
|
|
- alert('请填写文件夹名称');
|
|
|
+ $('#folder-name-info').text('请填写文件夹名称');
|
|
|
+ $('#folder-name-info').show();
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
let selectedItem = Tree.selected();
|
|
|
- let callback = function() {
|
|
|
- $("#add-folder-dialog").modal("hide");
|
|
|
- $("#folder-name").val('');
|
|
|
+ let existCallback = function () {
|
|
|
+ $('#folder-name-info').text(`已存在“${$("#folder-name").val()}”`);
|
|
|
+ $('#folder-name-info').show();
|
|
|
+ };
|
|
|
+ let sucCallback = function () {
|
|
|
+ $('#add-folder-dialog').modal('hide');
|
|
|
+ $('#folder-name').val('');
|
|
|
+ $('#folder-name-info').text('');
|
|
|
+ $('#folder-name-info').hide();
|
|
|
};
|
|
|
if (selectedItem !== null) {
|
|
|
// 判断是否超过3层
|
|
@@ -1266,14 +1370,14 @@ function AddFolder() {
|
|
|
return false;
|
|
|
}
|
|
|
if(selectedItem.data.projType === projectType.folder || selectedItem.data.projType === projectType.project){
|
|
|
- AddSiblingsItem(null, name, null, projectType.folder, callback);
|
|
|
+ AddSiblingsItem(null, name, null, projectType.folder, existCallback, sucCallback);
|
|
|
}
|
|
|
else if(selectedItem.data.projType === projectType.engineering || selectedItem.data.projType === projectType.tender){
|
|
|
let proj = selectedItem.parent.data.projType === projectType.project ? selectedItem.parent : selectedItem.parent.parent;
|
|
|
- AddSiblingsItem(proj, name, null, projectType.folder, callback);
|
|
|
+ AddSiblingsItem(proj, name, null, projectType.folder, existCallback, sucCallback);
|
|
|
}
|
|
|
} else {
|
|
|
- AddSiblingsItem(null, name, null, projectType.folder, callback);
|
|
|
+ AddSiblingsItem(null, name, null, projectType.folder, existCallback, sucCallback);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1453,7 +1557,10 @@ function RenameProject(projectId, newName, parentID, callback) {
|
|
|
if (result.error === 0) {
|
|
|
callback();
|
|
|
} else {
|
|
|
- alert('error' + result.message);
|
|
|
+ if(result.message === '同级目录已存在相同名称数据'){
|
|
|
+ $('#rename-name-info').text(`已存在“${newName}”`);
|
|
|
+ $('#rename-name-info').show();
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
error: function(iqXHR, textStatus, errorThrown){
|
|
@@ -1680,15 +1787,14 @@ function setDataToSideBar() {
|
|
|
};
|
|
|
|
|
|
// 建设项目相关
|
|
|
- let counter = 1;
|
|
|
+ let counter = 0;
|
|
|
let html = '';
|
|
|
|
|
|
calcNode(selectedItem);
|
|
|
for(let tmp of selectedItem.children) {
|
|
|
-
|
|
|
+ counter ++;
|
|
|
html += '<tr>' +
|
|
|
'<td>'+ counter +'</td>' +
|
|
|
- '<td>'+ counter +'</td>' +
|
|
|
'<td>'+ tmp.data.name +'</td>' +
|
|
|
'<td style="text-align:right">'+ tmp.data.summaryFees.totalFee + '</td>' +
|
|
|
'<td style="text-align:right">'+ tmp.data.summaryFees.estimateFee + '</td>' +
|