|
@@ -32,6 +32,8 @@ const XMLStandard = (function () {
|
|
|
[fixedFlag.MEASURE]: '1200',
|
|
[fixedFlag.MEASURE]: '1200',
|
|
|
[fixedFlag.CONSTRUCTION_ORGANIZATION]: '120201',
|
|
[fixedFlag.CONSTRUCTION_ORGANIZATION]: '120201',
|
|
|
[fixedFlag.SAFETY_CONSTRUCTION]: '1204',
|
|
[fixedFlag.SAFETY_CONSTRUCTION]: '1204',
|
|
|
|
|
+ [fixedFlag.PROJECT_COMPLETE_ARCH_FEE]: '10041',
|
|
|
|
|
+ [fixedFlag.HOUSE_QUALITY_ACCEPT_FEE]: '1206',
|
|
|
[fixedFlag.OTHER]: '1300',
|
|
[fixedFlag.OTHER]: '1300',
|
|
|
[fixedFlag.CHARGE]: '800',
|
|
[fixedFlag.CHARGE]: '800',
|
|
|
[fixedFlag.TAX]: '900',
|
|
[fixedFlag.TAX]: '900',
|
|
@@ -87,41 +89,54 @@ const XMLStandard = (function () {
|
|
|
rst.filterAttrs.push(data);
|
|
rst.filterAttrs.push(data);
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- let isFail = false;
|
|
|
|
|
|
|
+ let isFail = false,
|
|
|
|
|
+ tempFail = '';
|
|
|
if (data.minLen && data.value.length < data.minLen){
|
|
if (data.minLen && data.value.length < data.minLen){
|
|
|
isFail = true;
|
|
isFail = true;
|
|
|
- rst.failHints.push(`“${data.name}”字符数不可小于${data.minLen}个`);
|
|
|
|
|
|
|
+ tempFail = `“${data.name}”字符数不可小于${data.minLen}个`;
|
|
|
|
|
+ //rst.failHints.push(`“${data.name}”字符数不可小于${data.minLen}个`);
|
|
|
} else if (data.maxLen && data.value.length > data.maxLen) {
|
|
} else if (data.maxLen && data.value.length > data.maxLen) {
|
|
|
isFail = true;
|
|
isFail = true;
|
|
|
- rst.failHints.push(`“${data.name}”字符数不可大于${data.maxLen}个`);
|
|
|
|
|
|
|
+ tempFail = `“${data.name}”字符数不可大于${data.maxLen}个`;
|
|
|
|
|
+ //rst.failHints.push(`“${data.name}”字符数不可大于${data.maxLen}个`);
|
|
|
} else if (data.enumeration && !data.enumeration.includes(data.value)) {
|
|
} else if (data.enumeration && !data.enumeration.includes(data.value)) {
|
|
|
isFail = true;
|
|
isFail = true;
|
|
|
- rst.failHints.push(`“${data.name}”只能从“${data.enumeration.join(';')}”中选择`);
|
|
|
|
|
|
|
+ tempFail = `“${data.name}”只能从“${data.enumeration.join(';')}”中选择`;
|
|
|
|
|
+ //rst.failHints.push(`“${data.name}”只能从“${data.enumeration.join(';')}”中选择`);
|
|
|
} else if (data.type && data.type === TYPE.DATE && !dateReg.test(data.value)) {
|
|
} else if (data.type && data.type === TYPE.DATE && !dateReg.test(data.value)) {
|
|
|
isFail = true;
|
|
isFail = true;
|
|
|
- rst.push(`“${data.name}”日期格式必须是YYYY-MM-DD`);
|
|
|
|
|
|
|
+ tempFail = `“${data.name}”日期格式必须是YYYY-MM-DD`;
|
|
|
|
|
+ //rst.push(`“${data.name}”日期格式必须是YYYY-MM-DD`);
|
|
|
} else if (data.type && data.type === TYPE.INT && !Number.isInteger(parseFloat(data.value))) {
|
|
} else if (data.type && data.type === TYPE.INT && !Number.isInteger(parseFloat(data.value))) {
|
|
|
isFail = true;
|
|
isFail = true;
|
|
|
- rst.failHints.push(`“${data.name}”必须为整数`);
|
|
|
|
|
|
|
+ tempFail = `“${data.name}”必须为整数`;
|
|
|
|
|
+ //rst.failHints.push(`“${data.name}”必须为整数`);
|
|
|
} else if (data.type && data.type === TYPE.DECIMAL && isNaN(parseFloat(data.value))) {
|
|
} else if (data.type && data.type === TYPE.DECIMAL && isNaN(parseFloat(data.value))) {
|
|
|
isFail = true;
|
|
isFail = true;
|
|
|
- rst.failHints.push(`“${data.name}”必须为数值`)
|
|
|
|
|
|
|
+ tempFail = `“${data.name}”必须为数值`;
|
|
|
|
|
+ //rst.failHints.push(`“${data.name}”必须为数值`)
|
|
|
} else if (data.type && data.type === TYPE.NUM2) {
|
|
} else if (data.type && data.type === TYPE.NUM2) {
|
|
|
let v = parseFloat(data.value);
|
|
let v = parseFloat(data.value);
|
|
|
if (isNaN(v)) {
|
|
if (isNaN(v)) {
|
|
|
isFail = true;
|
|
isFail = true;
|
|
|
|
|
+ tempFail = `“${data.name}”必须为数值`;
|
|
|
rst.failHints.push(`“${data.name}”必须为数值`);
|
|
rst.failHints.push(`“${data.name}”必须为数值`);
|
|
|
} else if (!data.value.length || (data.value.split('.').length > 1 && data.value.split('.')[1].length > 2)){
|
|
} else if (!data.value.length || (data.value.split('.').length > 1 && data.value.split('.')[1].length > 2)){
|
|
|
isFail = true;
|
|
isFail = true;
|
|
|
- rst.failHints.push(`“${data.name}”小数位数不得多于两位`);
|
|
|
|
|
|
|
+ //tempFail = `“${data.name}”小数位数不得多于两位`;
|
|
|
|
|
+ //rst.failHints.push(`“${data.name}”小数位数不得多于两位`);
|
|
|
}
|
|
}
|
|
|
} else if (data.type && data.type === TYPE.BOOL && !['true', 'false'].includes(data.value.toString())) {
|
|
} else if (data.type && data.type === TYPE.BOOL && !['true', 'false'].includes(data.value.toString())) {
|
|
|
isFail = true;
|
|
isFail = true;
|
|
|
- rst.failHints.push(`“${data.name}”必须为true或false`);
|
|
|
|
|
|
|
+ tempFail = `“${data.name}”必须为true或false`;
|
|
|
|
|
+ //rst.failHints.push(`“${data.name}”必须为true或false`);
|
|
|
}
|
|
}
|
|
|
if (!isFail || data.required) {
|
|
if (!isFail || data.required) {
|
|
|
rst.filterAttrs.push(data);
|
|
rst.filterAttrs.push(data);
|
|
|
}
|
|
}
|
|
|
|
|
+ if (isFail && data.required && tempFail) {
|
|
|
|
|
+ rst.failHints.push(tempFail);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
return rst;
|
|
return rst;
|
|
|
}
|
|
}
|
|
@@ -1268,14 +1283,18 @@ const XMLStandard = (function () {
|
|
|
if (rationData.adjustState) {
|
|
if (rationData.adjustState) {
|
|
|
viewCode += '换';
|
|
viewCode += '换';
|
|
|
}
|
|
}
|
|
|
- //子目类型 补充定额为“1”,标准定额无换算为“0”,标准定额有换算为“2”,其他待完善……
|
|
|
|
|
|
|
+ //子目类型 补充定额为“1”,标准定额无换算为“0”,标准定额有换算为“2”,安装费用,即自动生成的安装子目,为“3”,子目级人材机,即量价、与定额同级的人材机 其他待完善……
|
|
|
let subType;
|
|
let subType;
|
|
|
- if (rationData.from === 'cpt') {
|
|
|
|
|
|
|
+ if (rationData.type === rationType.ration && rationData.from === 'cpt') {
|
|
|
subType = '1';
|
|
subType = '1';
|
|
|
- } else if (!rationData.adjustState) {
|
|
|
|
|
|
|
+ } else if (rationData.type === rationType.ration && !rationData.adjustState) {
|
|
|
subType = '0';
|
|
subType = '0';
|
|
|
- } else {
|
|
|
|
|
|
|
+ } else if (rationData.type === rationType.ration && rationData.adjustState) {
|
|
|
subType = '2';
|
|
subType = '2';
|
|
|
|
|
+ } else if (rationData.type === rationType.install) {
|
|
|
|
|
+ subType = '3';
|
|
|
|
|
+ } else if (rationData.type === rationType.volumePrice) {
|
|
|
|
|
+ subType = '6';
|
|
|
}
|
|
}
|
|
|
let rationSource = {
|
|
let rationSource = {
|
|
|
viewCode: viewCode,
|
|
viewCode: viewCode,
|
|
@@ -1420,7 +1439,7 @@ const XMLStandard = (function () {
|
|
|
feeRate: node.data.feeRate !== '' ? node.data.feeRate : 100,
|
|
feeRate: node.data.feeRate !== '' ? node.data.feeRate : 100,
|
|
|
fees: node.data.fees,
|
|
fees: node.data.fees,
|
|
|
remark: node.data.remark,
|
|
remark: node.data.remark,
|
|
|
- feeType: FEE_TYPE[fixedFlag.CONSTRUCTION_ORGANIZATION]
|
|
|
|
|
|
|
+ feeType: FEE_TYPE[getNodeFlag(node)] || FEE_TYPE['0']
|
|
|
};
|
|
};
|
|
|
let formula = new FormulaCalcMeasure(source);
|
|
let formula = new FormulaCalcMeasure(source);
|
|
|
parent.children.push(formula);
|
|
parent.children.push(formula);
|