|
@@ -10,6 +10,8 @@ let movetoZTree = null;
|
|
|
let copytoZTree = null;
|
|
|
let engineering = [];
|
|
|
let feeRateData = [];
|
|
|
+let isSaving = false;
|
|
|
+let projectProperty = [];
|
|
|
let projectType = {
|
|
|
folder: 'Folder',
|
|
|
tender: 'Tender',
|
|
@@ -166,7 +168,6 @@ $(document).ready(function() {
|
|
|
$("input[name='valuation_type']").click(function() {
|
|
|
let type = $(this).val();
|
|
|
let targetData = type === 'bill' ? JSON.parse(billValuation) : JSON.parse(rationValuation);
|
|
|
-
|
|
|
let html = '<option value="">请选择计划规则</option>';
|
|
|
|
|
|
for(let valuation of targetData) {
|
|
@@ -229,27 +230,9 @@ $(document).ready(function() {
|
|
|
projectInfo = selectedItem !== null && selectedItem.parent !== undefined ? selectedItem.parent : null;
|
|
|
}
|
|
|
if (projectInfo !== null) {
|
|
|
- let savedProjectData = localStorage.getItem(projectInfo.data.name);
|
|
|
- console.log(savedProjectData);
|
|
|
- savedProjectData = JSON.parse(savedProjectData);
|
|
|
- // 填入计价规则
|
|
|
- let valuationHtml = '<option value="'+ savedProjectData.valuation +'">'+ savedProjectData.valuationName +'</option>';
|
|
|
- $("#tender-valuation").html(valuationHtml);
|
|
|
-
|
|
|
- // 填入工程专业
|
|
|
- let engineeringHtml = getEngineeringHtml(savedProjectData.engineeringList);
|
|
|
- $("#tender-engineering").html(engineeringHtml);
|
|
|
-
|
|
|
- $("input[name='tender_valuation_type']").attr('disabled', 'disabled').removeAttr('checked', 'checked');
|
|
|
- $("input[name='tender_valuation_type'][value='"+ savedProjectData.valuationType +"']")
|
|
|
- .attr("checked", "checked").removeAttr('disabled', 'disabled');
|
|
|
-
|
|
|
- // 填入费率文件
|
|
|
- let feeHtml = '<option>请选择费率文件</option>';
|
|
|
- // for (let fee of savedProjectData.feeLib) {
|
|
|
- // feeHtml += '<option value="'+ fee.id +'">'+ fee.name +'</option>';
|
|
|
- // }
|
|
|
- $("#tender-fee-rate").html(feeHtml);
|
|
|
+ let parentID = projectInfo.data.ID;
|
|
|
+ // 获取当前的数据属性
|
|
|
+ getProperty(parentID);
|
|
|
}
|
|
|
|
|
|
});
|
|
@@ -490,6 +473,34 @@ $(document).ready(function() {
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
+
|
|
|
+ // 选择工程专业后动态更改费率文件等数据
|
|
|
+ $("#tender-engineering").change(function() {
|
|
|
+ if (projectProperty.engineeringList === undefined || projectProperty.engineeringList.length <= 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let selectedEngineering = $(this).val();
|
|
|
+ selectedEngineering = parseInt(selectedEngineering);
|
|
|
+ let currentLib = {};
|
|
|
+ for(let engineering of projectProperty.engineeringList) {
|
|
|
+ if (engineering.engineering === selectedEngineering) {
|
|
|
+ currentLib = engineering.lib;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Object.keys(currentLib).length <= 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ // 输出数据到页面
|
|
|
+ let feeHtml = '<option>请选择费率文件</option>';
|
|
|
+ if (currentLib.fee_lib !== undefined && currentLib.fee_lib.length > 0) {
|
|
|
+ for (let fee of currentLib.fee_lib) {
|
|
|
+ feeHtml += '<option value="'+ fee.id +'">'+ fee.name +'</option>';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $("#tender-fee-rate").html(feeHtml);
|
|
|
+
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
/**
|
|
@@ -549,8 +560,9 @@ function AddProject() {
|
|
|
|
|
|
let callback = function() {
|
|
|
$("#add-project-dialog").modal("hide");
|
|
|
- // 记录选择后的信息
|
|
|
- localStorage.setItem(name, JSON.stringify(projectInfo));
|
|
|
+ $("#project-name").val('');
|
|
|
+ $("input[name='valuation_type']").removeAttr('checked');
|
|
|
+ $("#valuation").children("option").not(":eq(0)").remove();
|
|
|
};
|
|
|
let selectedItem = Tree.selected();
|
|
|
|
|
@@ -634,6 +646,7 @@ function AddEngineering() {
|
|
|
}
|
|
|
let callback = function() {
|
|
|
$("#add-engineering-dialog").modal("hide");
|
|
|
+ $("#engineering-name").val('');
|
|
|
};
|
|
|
let selectedItem = Tree.selected();
|
|
|
// 如果选择的是单项工程则新增同级数据
|
|
@@ -660,10 +673,13 @@ function AddTender() {
|
|
|
let valuationName = $("#tender-valuation").children("option:selected").text();
|
|
|
let valuationType = $("input[name='tender_valuation_type']:checked").val();
|
|
|
let engineering = $("#tender-engineering").val();
|
|
|
- let enginerringName = $('#tender-engineering').children("option:selected").text();
|
|
|
+ let engineeringName = $('#tender-engineering').children("option:selected").text();
|
|
|
|
|
|
let callback = function() {
|
|
|
$("#add-tender-dialog").modal("hide");
|
|
|
+ $('#tender-name').val('');
|
|
|
+ $("#tender-fee-rate").children("option").removeAttr("selected");
|
|
|
+ $("#tender-engineering").children("option").removeAttr("selected");
|
|
|
};
|
|
|
let selectedItem = Tree.selected();
|
|
|
let tenderInfo = {
|
|
@@ -671,7 +687,7 @@ function AddTender() {
|
|
|
valuationType: valuationType,
|
|
|
valuationName: valuationName,
|
|
|
engineering: engineering,
|
|
|
- engineeringName: enginerringName
|
|
|
+ engineeringName: engineeringName
|
|
|
};
|
|
|
// 如果选择的是单项工程则新增同级数据
|
|
|
if (selectedItem !== null && selectedItem.data.projType === projectType.tender) {
|
|
@@ -915,7 +931,7 @@ function GetTargetTreeNode(zTreeObj) {
|
|
|
*/
|
|
|
function getEngineeringHtml(engineeringList) {
|
|
|
let result = '<option>请选择对应的工程专业</option>';
|
|
|
- if (engineeringList.length <= 0) {
|
|
|
+ if (Object.keys(engineeringList).length <= 0) {
|
|
|
return result;
|
|
|
}
|
|
|
let engineeringObject = {};
|
|
@@ -931,3 +947,54 @@ function getEngineeringHtml(engineeringList) {
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 远程获取项目属性数据
|
|
|
+ *
|
|
|
+ * @param {Number} id
|
|
|
+ * @return {Object}
|
|
|
+ */
|
|
|
+function getProperty(id) {
|
|
|
+ if (isSaving) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ id = parseInt(id);
|
|
|
+ if (isNaN(id) || id <= 0) {
|
|
|
+ return {};
|
|
|
+ }
|
|
|
+
|
|
|
+ $.ajax({
|
|
|
+ url: '/pm/api/getProjectProperty',
|
|
|
+ type: 'post',
|
|
|
+ data: {data: JSON.stringify({user_id: userID, id: id})},
|
|
|
+ dataType: 'json',
|
|
|
+ timeout: 5000,
|
|
|
+ error: function() {
|
|
|
+ isSaving = false;
|
|
|
+ alert('操作失败!');
|
|
|
+ },
|
|
|
+ beforeSend: function() {
|
|
|
+ isSaving = true;
|
|
|
+ },
|
|
|
+ success: function(response) {
|
|
|
+ if (response.error === 0) {
|
|
|
+ projectProperty = response.data;
|
|
|
+ // 写入专业工程相关
|
|
|
+ let engineeringHtml = getEngineeringHtml(projectProperty.engineeringList);
|
|
|
+ $("#tender-engineering").html(engineeringHtml);
|
|
|
+
|
|
|
+ // 填入计价规则
|
|
|
+ let valuationHtml = '<option value="'+ projectProperty.valuation +'">'+ projectProperty.valuationName +'</option>';
|
|
|
+ $("#tender-valuation").html(valuationHtml);
|
|
|
+
|
|
|
+ // 选中计价方式
|
|
|
+ $("input[name='tender_valuation_type']").attr('disabled', 'disabled').removeAttr('checked', 'checked');
|
|
|
+ $("input[name='tender_valuation_type'][value='"+ projectProperty.valuationType +"']")
|
|
|
+ .attr("checked", "checked").removeAttr('disabled', 'disabled');
|
|
|
+
|
|
|
+ } else {
|
|
|
+ alert(response.message);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|