|
@@ -1169,7 +1169,6 @@ $(document).ready(function() {
|
|
|
$("#valuation").html(html);
|
|
|
//$("#tender-engineering").html('<option value="">请选择对应的工程专业</option>');
|
|
|
let engineeringList = getEngineeringList();
|
|
|
- console.log(engineeringList);
|
|
|
let engineeringHtml = getEngineeringHtml(engineeringList);
|
|
|
$("#tender-engineering").html(engineeringHtml);
|
|
|
changeEngineering();
|
|
@@ -1178,6 +1177,7 @@ $(document).ready(function() {
|
|
|
//选择计价规则
|
|
|
$("#valuation").change(function () {
|
|
|
let engineeringList = getEngineeringList();
|
|
|
+ console.log(engineeringList);
|
|
|
let engineeringHtml = getEngineeringHtml(engineeringList);
|
|
|
$("#tender-engineering").html(engineeringHtml);
|
|
|
$('#valuation-info').hide();
|
|
@@ -1520,28 +1520,52 @@ $(document).ready(function() {
|
|
|
});
|
|
|
function changeEngineering(){
|
|
|
$('#engineering-info').hide();
|
|
|
- let engineeringList = getEngineeringList();
|
|
|
- if(engineeringList.length > 0){
|
|
|
- let selectedEngineering = $("#tender-engineering").val();
|
|
|
- let currentLib = {};
|
|
|
- for(let engineering of engineeringList) {
|
|
|
- if (engineering.engineering_id === selectedEngineering) {
|
|
|
- currentLib = engineering.lib;
|
|
|
- }
|
|
|
+ initFeeStandardSel();
|
|
|
+ }
|
|
|
+
|
|
|
+ function changeFeeRate(engLib) {
|
|
|
+ if(engLib){
|
|
|
+ if (engLib.fee_lib !== undefined && engLib.fee_lib.length > 0) {
|
|
|
+ $("#tender-fee-rate").children("option").first().val("newFeeRate-"+engLib.fee_lib[0].id);
|
|
|
}
|
|
|
+ $("#tender-engineering").parent().siblings('.hidden-area').slideDown('fast');
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ $("#tender-fee-rate").children("option").first().val($('#tender-name').val());
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if (Object.keys(currentLib).length > 0) {
|
|
|
- // 输出数据到页面
|
|
|
- if (currentLib.fee_lib !== undefined && currentLib.fee_lib.length > 0) {
|
|
|
- $("#tender-fee-rate").children("option").first().val("newFeeRate-"+currentLib.fee_lib[0].id);
|
|
|
- }
|
|
|
- $("#tender-engineering").parent().siblings('.hidden-area').slideDown('fast');
|
|
|
+ function initFeeStandardSel() {
|
|
|
+ $('#tender-feeStandard').empty();
|
|
|
+ let feeStandards = [];
|
|
|
+ let engineeringList = getEngineeringList();
|
|
|
+ let currentEngName = $('#tender-engineering').val();
|
|
|
+ for(let eng of engineeringList){
|
|
|
+ if(eng.lib.name && eng.lib.name === currentEngName && eng.lib.feeName && eng.lib.feeName !== ''){
|
|
|
+ feeStandards.push(eng.lib.feeName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for(let feeName of feeStandards){
|
|
|
+ let $opt = $(`<option value="${feeName}">${feeName}</option>`);
|
|
|
+ $('#tender-feeStandard').append($opt);
|
|
|
+ }
|
|
|
+ if(feeStandards.length > 0){
|
|
|
+ if($('#feeStandard-info').is(':visible')){
|
|
|
+ $('#feeStandard-info').hide();
|
|
|
}
|
|
|
}
|
|
|
+ let currentEngLib = getEngineeringLib(currentEngName + $('#tender-feeStandard').val(), engineeringList);
|
|
|
+ changeFeeRate(currentEngLib);
|
|
|
setTaxGroupHtml();
|
|
|
getStdCalcProgramFiles();
|
|
|
}
|
|
|
|
|
|
+ function changeFeeStandard() {
|
|
|
+ let currentEngLib = getEngineeringLib($('#tender-engineering').val() + $('#tender-feeStandard').val(), getEngineeringList());
|
|
|
+ changeFeeRate(currentEngLib);
|
|
|
+ setTaxGroupHtml();
|
|
|
+ getStdCalcProgramFiles();
|
|
|
+ }
|
|
|
|
|
|
function setTaxGroupHtml() {
|
|
|
let groups = getTaxGroupList();
|
|
@@ -1590,6 +1614,9 @@ $(document).ready(function() {
|
|
|
$("#tender-engineering").change(function() {
|
|
|
changeEngineering()
|
|
|
});
|
|
|
+ $('#tender-feeStandard').change(function () {
|
|
|
+ changeFeeStandard();
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
//获取工作表总宽度
|
|
@@ -1960,6 +1987,18 @@ function AddSiblingsItem(selected, name, property, type, existCallback, sucCallb
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+//根据工程专业名称+费用标准名称获取工程专业库
|
|
|
+function getEngineeringLib(cascadeName, engineeringList) {
|
|
|
+ for(let eng of engineeringList){
|
|
|
+ let engName = eng.lib.name ? eng.lib.name : '';
|
|
|
+ let engFeeName = eng.lib.feeName ? eng.lib.feeName : '';
|
|
|
+ if(cascadeName === engName + engFeeName){
|
|
|
+ return eng.lib;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+}
|
|
|
+
|
|
|
function getEngineeringList(){
|
|
|
let valuation = $("#valuation").val();
|
|
|
let valuationType = $("input[name='valuation_type']:checked").val();
|
|
@@ -1979,8 +2018,20 @@ function getEngineeringList(){
|
|
|
function getTaxGroupList(type){//getcalcProgramList
|
|
|
let egrs = getEngineeringList();
|
|
|
let groupList = [];
|
|
|
- let egrID = $("#tender-engineering").val();
|
|
|
- for(let egr of egrs) {
|
|
|
+ //let egrID = $("#tender-engineering").val();
|
|
|
+ let engLib = getEngineeringLib($('#tender-engineering').val() + $('#tender-feeStandard').val(), egrs);
|
|
|
+ if(engLib){
|
|
|
+ if(type){//是否要过滤,如果这个参数不传,则返回整个数组;
|
|
|
+ for(let group of engLib.tax_group){
|
|
|
+ if(group.taxType == type && group.program_lib){
|
|
|
+ groupList.push(group);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ groupList = engLib.tax_group;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /*for(let egr of egrs) {
|
|
|
if (egr.engineering_id == egrID && egr.lib) {
|
|
|
if(type){//是否要过滤,如果这个参数不传,则返回整个数组;
|
|
|
for(let group of egr.lib.tax_group){
|
|
@@ -1992,7 +2043,7 @@ function getTaxGroupList(type){//getcalcProgramList
|
|
|
groupList = egr.lib.tax_group;
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }*/
|
|
|
return groupList;
|
|
|
}
|
|
|
|
|
@@ -2271,24 +2322,29 @@ function AddTender() {
|
|
|
let feeFileObj = getAddTenderFile(tenderName, $('#tender-fee-rate'), $("#tender-fee-rate").children());
|
|
|
|
|
|
let valuation = $("#valuation").val();
|
|
|
- if(valuation === ''){
|
|
|
+ if(!valuation || valuation === ''){
|
|
|
setDangerInfo($('#valuation-info'), '请选择计价规则');
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- let engineering_id = $("#tender-engineering").val();
|
|
|
- if (engineering_id === '') {
|
|
|
+ let engineeringName = $("#tender-engineering").val();
|
|
|
+ if (!engineeringName || engineeringName === '') {
|
|
|
setDangerInfo($('#engineering-info'), '请选择工程专业');
|
|
|
return false;
|
|
|
}
|
|
|
+ let feeName = $('#tender-feeStandard').val();
|
|
|
+ if(!feeName || feeName === ''){
|
|
|
+ setDangerInfo($('#feeStandard-info'), '请选择费用标准');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
let taxType = $("#taxType").val();
|
|
|
- if(taxType ===""){
|
|
|
+ /*if(!taxType || taxType ===""){
|
|
|
return false;
|
|
|
- }
|
|
|
+ }*/
|
|
|
|
|
|
let IDGroup = $("#tender-calcProgram").val();
|
|
|
- if (IDGroup === '') {
|
|
|
+ if (!IDGroup || IDGroup === '') {
|
|
|
setDangerInfo($('#calcProgram-info'), '请选择计算程序');
|
|
|
return false;
|
|
|
}
|
|
@@ -2314,19 +2370,14 @@ function AddTender() {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- let libs = null;
|
|
|
- for(let tmp of engineeringList) {
|
|
|
- if (tmp.engineering_id == engineering_id) {
|
|
|
- engineering = tmp.engineering;
|
|
|
- libs = tmp.lib;
|
|
|
- break;
|
|
|
- }
|
|
|
+ let libs = getEngineeringLib(engineeringName + feeName, engineeringList);
|
|
|
+ if(!libs){
|
|
|
+ alert('数据错误,无法确定工程专业库!');
|
|
|
+ return;
|
|
|
}
|
|
|
// 一个项目里面,这两个文件必须得有,而界面又没有像费率、单价文件那样给出可选项。所以这里给出提示。
|
|
|
if (!libs.artificial_lib) throw '编办没有绑定人工系数标准文件';
|
|
|
- //if (!libs.program_lib) throw '编办没有绑定计算程序标准文件';
|
|
|
|
|
|
- let engineeringName = $('#tender-engineering').children("option:selected").text();
|
|
|
let calcProgramName = $('#tender-calcProgram').children("option:selected").text();
|
|
|
|
|
|
let callback = function() {
|
|
@@ -2347,8 +2398,9 @@ function AddTender() {
|
|
|
valuation: valuation,
|
|
|
valuationType: valuationType,
|
|
|
valuationName: valuationName,
|
|
|
- engineering: engineering,
|
|
|
- engineering_id: engineering_id,
|
|
|
+ isInstall: libs.isInstall !== undefined ? libs.isInstall : false,
|
|
|
+ engineering: libs.engineering,
|
|
|
+ engineering_id: libs._id,
|
|
|
engineeringName: engineeringName,
|
|
|
unitPriceFile: {name: unitPriceFileObj.name, id: unitPriceFileObj.id},
|
|
|
feeFile: {name: feeFileObj.name, id: feeFileObj.id},
|
|
@@ -2680,7 +2732,7 @@ function GetTargetTreeNode(zTreeObj) {
|
|
|
* @param {Array} engineeringList
|
|
|
* @return {String}
|
|
|
*/
|
|
|
-function getEngineeringHtml(engineeringList) {
|
|
|
+function getEngineeringHtml(engineeringList) {//
|
|
|
let result = '';
|
|
|
if (engineeringList.length <= 0) {
|
|
|
return result;
|
|
@@ -2692,18 +2744,8 @@ function getEngineeringHtml(engineeringList) {
|
|
|
|
|
|
for(let i = 0; i < engineeringList.length; i++){
|
|
|
let tmp = engineeringList[i];
|
|
|
- result += `<option ${i === 0 ? 'selected' : ''} value="${tmp.engineering_id}">${tmp.lib.name}</option>`;
|
|
|
- /*if (engineeringObject[tmp.engineering] !== undefined) {
|
|
|
- result += `<option ${i === 0 ? 'selected' : ''} value="${tmp.engineering}">${engineeringObject[tmp.engineering]}</option>`;
|
|
|
- }*/
|
|
|
+ result += `<option ${i === 0 ? 'selected' : ''} value="${tmp.lib.name}">${tmp.lib.name}</option>`;
|
|
|
}
|
|
|
-
|
|
|
- /*for(let tmp of engineeringList) {
|
|
|
- if (engineeringObject[tmp.engineering] !== undefined) {
|
|
|
- result += '<option value="'+ tmp.engineering +'">'+ engineeringObject[tmp.engineering] +'</option>';
|
|
|
- }
|
|
|
- }*/
|
|
|
-
|
|
|
return result;
|
|
|
}
|
|
|
|