|
@@ -13,7 +13,6 @@ let feeRateData = [];
|
|
|
let isSaving = false;
|
|
|
let projectProperty = [];
|
|
|
let fileDelObj = null;
|
|
|
-let selectedInfo = {project: null, engineering: null};//新建单位工程,建设项目和单项工程下拉选择
|
|
|
let projectType = {
|
|
|
folder: 'Folder',
|
|
|
tender: 'Tender',
|
|
@@ -358,10 +357,16 @@ $(document).ready(function() {
|
|
|
|
|
|
// 新增单位工程弹层改变
|
|
|
$('#add-tender-dialog').on('show.bs.modal', function() {
|
|
|
+ //clear info
|
|
|
+ $('#poj-name-info').hide();
|
|
|
+ $('#eng-name-info').hide();
|
|
|
+ $('#tender-name-info').hide();
|
|
|
+ $('#tender-name').val('');
|
|
|
//获取建设项目
|
|
|
let selected = Tree.selected();
|
|
|
let projs = getProjs(selected);
|
|
|
setProjOptions(projs);
|
|
|
+ $($("input[name='valuation_type']")[0]).click();
|
|
|
});
|
|
|
|
|
|
// 新增单位工程
|
|
@@ -949,24 +954,41 @@ function existName(name , nodes){
|
|
|
function getProjs(selected){
|
|
|
let rst = [];
|
|
|
let temp;
|
|
|
+ let firstNode;
|
|
|
if(!selected){
|
|
|
temp = Tree._root.children;
|
|
|
+ firstNode = temp[0];
|
|
|
}
|
|
|
else if(selected.data.projType === projectType.folder){
|
|
|
temp = selected.children;
|
|
|
+ firstNode = temp[0];
|
|
|
}
|
|
|
else if(selected.data.projType === projectType.project){
|
|
|
temp = selected.parent.children;
|
|
|
+ firstNode = temp[0];
|
|
|
}
|
|
|
else if(selected.data.projType === projectType.engineering || selected.data.projType === projectType.tender){
|
|
|
let proj = selected.parent.data.projType === projectType.project ? selected.parent : selected.parent.parent;
|
|
|
temp = proj.parent.children;
|
|
|
+ firstNode = proj;
|
|
|
}
|
|
|
for(let i = 0, len = temp.length; i < len; i++){
|
|
|
if(temp[i].data.projType === projectType.project){
|
|
|
rst.push(temp[i]);
|
|
|
}
|
|
|
}
|
|
|
+ //firstNode to first place
|
|
|
+ let index = null;
|
|
|
+ for(let i = 0, len = rst.length; i < len; i++){
|
|
|
+ if(rst[i].data.ID === firstNode.data.ID){
|
|
|
+ index = i;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(index){
|
|
|
+ rst.splice(index, 1);
|
|
|
+ rst.splice(0, 0, firstNode);
|
|
|
+ }
|
|
|
return rst;
|
|
|
}
|
|
|
|
|
@@ -981,6 +1003,7 @@ function setFileOptions(projID){
|
|
|
}
|
|
|
else {
|
|
|
getUnitFile(projID, function (response) {
|
|
|
+ $("#unit-price").children("option:not(':first')").remove();
|
|
|
if (response.data.length <= 0) {
|
|
|
return false;
|
|
|
}
|
|
@@ -988,17 +1011,16 @@ function setFileOptions(projID){
|
|
|
for(let tmp of response.data) {
|
|
|
unitFileHtml += '<option value="'+ tmp.id +'">'+ tmp.name +'</option>';
|
|
|
}
|
|
|
- $("#unit-price").children("option:not(':first')").remove();
|
|
|
$("#unit-price").children("option").first().after(unitFileHtml);
|
|
|
});
|
|
|
// 获取费率文件数据
|
|
|
getFeeRateFile(projID, function (response) {
|
|
|
- if (response.data.length <= 0) {
|
|
|
- return false;
|
|
|
- }
|
|
|
let first = $("#tender-fee-rate").children("option").first();
|
|
|
$("#tender-fee-rate").empty();
|
|
|
$("#tender-fee-rate").append(first);
|
|
|
+ if (response.data.length <= 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
for(let tmp of response.data) {
|
|
|
let option = $("<option>").val(tmp.ID).text(tmp.name);
|
|
|
$("#tender-fee-rate").append(option);
|
|
@@ -1011,12 +1033,8 @@ function setFileOptions(projID){
|
|
|
function setProjOptions(projs){
|
|
|
$("#poj-name-list").empty();
|
|
|
$("#poj-name").val("");
|
|
|
- selectedInfo.project = null;
|
|
|
if(projs.length > 0){
|
|
|
$("#poj-name").val(projs[0].data.name);
|
|
|
- selectedInfo.project = Object.create(null);
|
|
|
- selectedInfo.project.ID = projs[0].data.ID;
|
|
|
- selectedInfo.project.name = projs[0].data.name;
|
|
|
setFileOptions(projs[0].data.ID);
|
|
|
setEngOptions(projs[0].data.ID);
|
|
|
for(let i = 0, len = projs.length; i < len; i++){
|
|
@@ -1024,8 +1042,6 @@ function setProjOptions(projs){
|
|
|
proj.addClass("dropdown-item");
|
|
|
proj.attr("type", "button");
|
|
|
proj.click(function () {
|
|
|
- selectedInfo.project.ID = projs[i].data.ID;
|
|
|
- selectedInfo.project.name = projs[i].data.name;
|
|
|
$("#poj-name").val(projs[i].data.name);
|
|
|
setFileOptions(projs[i].data.ID);
|
|
|
setEngOptions(projs[i].data.ID);
|
|
@@ -1043,21 +1059,33 @@ function setEngOptions(projID){
|
|
|
let proj = Tree.findNode(projID) || null;
|
|
|
$("#eng-name-list").empty();
|
|
|
$("#eng-name").val("");
|
|
|
- selectedInfo.engineering = null;
|
|
|
if(proj){
|
|
|
let engineerings = proj.children;
|
|
|
+ //set selected engineering to first place
|
|
|
+ let selected = Tree.selected();
|
|
|
+ let firstNode = null;
|
|
|
+ if(selected && (selected.data.projType === projectType.engineering || selected.data.projType === projectType.tender)){
|
|
|
+ firstNode = selected.data.projType === projectType.engineering ? selected : selected.parent;
|
|
|
+ }
|
|
|
+ if(firstNode){
|
|
|
+ let index = null;
|
|
|
+ for(let i = 0, len = engineerings.length; i < len; i++){
|
|
|
+ if(firstNode.data.ID === engineerings[i].data.ID){
|
|
|
+ index = i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(index){
|
|
|
+ engineerings.splice(index, 1);
|
|
|
+ engineerings.splice(0, 0, firstNode);
|
|
|
+ }
|
|
|
+ }
|
|
|
if(engineerings.length > 0){
|
|
|
$("#eng-name").val(engineerings[0].data.name);
|
|
|
- selectedInfo.engineering = Object.create(null);
|
|
|
- selectedInfo.engineering.ID = engineerings[0].data.ID;
|
|
|
- selectedInfo.engineering.name = engineerings[0].data.name;
|
|
|
for(let i = 0, len = engineerings.length; i < len; i++){
|
|
|
let eng = $("<button>").val(engineerings[i].data.ID).text(engineerings[i].data.name);
|
|
|
eng.addClass("dropdown-item");
|
|
|
eng.attr("type", "button");
|
|
|
eng.click(function () {
|
|
|
- selectedInfo.engineering.ID = engineerings[i].data.ID;
|
|
|
- selectedInfo.engineering.name = engineerings[i].data.name;
|
|
|
$("#eng-name").val(engineerings[i].data.name);
|
|
|
});
|
|
|
$("#eng-name-list").append(eng);
|