|
@@ -95,21 +95,18 @@ let repositoryGljObj = {
|
|
materialTypeIdx: {'1': '钢材', '2': '钢筋', '3': '木材', '4': '水泥', '5': '商品砼', '6': '商品砂浆'},
|
|
materialTypeIdx: {'1': '钢材', '2': '钢筋', '3': '木材', '4': '水泥', '5': '商品砼', '6': '商品砂浆'},
|
|
machineModel: {textArr: ['特', '大', '中', '小'], comboItems: [{text: '特', value: 1}, {text: '大', value: 2},{text: '中', value: 3}, {text: '小', value: 4}]},
|
|
machineModel: {textArr: ['特', '大', '中', '小'], comboItems: [{text: '特', value: 1}, {text: '大', value: 2},{text: '中', value: 3}, {text: '小', value: 4}]},
|
|
machineModelIdx: {'1': '特', '2': '大', '3': '中', '4': '小'},
|
|
machineModelIdx: {'1': '特', '2': '大', '3': '中', '4': '小'},
|
|
|
|
+ taxRateTypes: [201, 205, 206, 302, 4, 5],
|
|
distTypeTree: null,//add
|
|
distTypeTree: null,//add
|
|
setting: {
|
|
setting: {
|
|
owner: "glj",
|
|
owner: "glj",
|
|
- header:[//这个header会被覆盖的,不靠谱
|
|
|
|
- {headerName:"编码",headerWidth:80,dataCode:"code", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
|
|
|
|
- {headerName:"名称",headerWidth:160,dataCode:"name", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
|
|
|
|
- {headerName:"规格型号",headerWidth:120,dataCode:"specs", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
|
|
|
|
- {headerName:"单位",headerWidth:60,dataCode:"unit", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
|
|
- {headerName:"定额价",headerWidth:80,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right", vAlign: "center"},
|
|
|
|
- {headerName:"类型",headerWidth:90,dataCode:"gljType", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
|
|
|
|
+ header:[ // 默认情况下这个header会在initHeaders方法中被追加到全的头部中,可能也会被一些费用定额覆盖
|
|
{headerName:"调整系数",headerWidth:60,dataCode:"adjCoe", dataType: "Number", hAlign: "center", vAlign: "center"},
|
|
{headerName:"调整系数",headerWidth:60,dataCode:"adjCoe", dataType: "Number", hAlign: "center", vAlign: "center"},
|
|
{headerName:"三材类别",headerWidth:90,dataCode:"materialType", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
{headerName:"三材类别",headerWidth:90,dataCode:"materialType", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
{headerName:"三材系数",headerWidth:60,dataCode:"materialCoe", dataType: "Number", hAlign: "center", vAlign: "center"},
|
|
{headerName:"三材系数",headerWidth:60,dataCode:"materialCoe", dataType: "Number", hAlign: "center", vAlign: "center"},
|
|
- {headerName:"机型",headerWidth:60,dataCode:"model", dataType: "Number", hAlign: "center", vAlign: "center"}
|
|
|
|
-
|
|
|
|
|
|
+ {headerName:"机型",headerWidth:60,dataCode:"model", dataType: "Number", hAlign: "center", vAlign: "center"},
|
|
|
|
+ {headerName:"工料指标类别",headerWidth:90,dataCode:"materialIndexType", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
|
|
+ {headerName:"工料指标单位",headerWidth:90,dataCode:"materialIndexUnit", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
|
|
+ {headerName:"单位转换系数",headerWidth:90,dataCode:"materialIndexCoe", dataType: "Number", hAlign: "center", vAlign: "center"}
|
|
],
|
|
],
|
|
view:{
|
|
view:{
|
|
comboBox:[
|
|
comboBox:[
|
|
@@ -197,7 +194,7 @@ let repositoryGljObj = {
|
|
headers.push(colData);
|
|
headers.push(colData);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- let tailHeaders = [
|
|
|
|
|
|
+ /* let tailHeaders = [
|
|
{headerName:"调整系数",headerWidth:60,dataCode:"adjCoe", dataType: "Number", hAlign: "center", vAlign: "center"},
|
|
{headerName:"调整系数",headerWidth:60,dataCode:"adjCoe", dataType: "Number", hAlign: "center", vAlign: "center"},
|
|
{headerName:"三材类别",headerWidth:90,dataCode:"materialType", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
{headerName:"三材类别",headerWidth:90,dataCode:"materialType", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
{headerName:"三材系数",headerWidth:60,dataCode:"materialCoe", dataType: "Number", hAlign: "center", vAlign: "center"},
|
|
{headerName:"三材系数",headerWidth:60,dataCode:"materialCoe", dataType: "Number", hAlign: "center", vAlign: "center"},
|
|
@@ -205,8 +202,8 @@ let repositoryGljObj = {
|
|
{headerName:"工料指标类别",headerWidth:90,dataCode:"materialIndexType", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
{headerName:"工料指标类别",headerWidth:90,dataCode:"materialIndexType", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
{headerName:"工料指标单位",headerWidth:90,dataCode:"materialIndexUnit", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
{headerName:"工料指标单位",headerWidth:90,dataCode:"materialIndexUnit", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
{headerName:"单位转换系数",headerWidth:90,dataCode:"materialIndexCoe", dataType: "Number", hAlign: "center", vAlign: "center"}
|
|
{headerName:"单位转换系数",headerWidth:90,dataCode:"materialIndexCoe", dataType: "Number", hAlign: "center", vAlign: "center"}
|
|
- ];
|
|
|
|
- headers = headers.concat(tailHeaders);
|
|
|
|
|
|
+ ]; */
|
|
|
|
+ headers = headers.concat(this.setting.header);
|
|
return headers;
|
|
return headers;
|
|
},
|
|
},
|
|
//工料机单价赋初始值(没有单价属性,则单价字段为basePrice,否则单价字段为单价属性对象中的属性)
|
|
//工料机单价赋初始值(没有单价属性,则单价字段为basePrice,否则单价字段为单价属性对象中的属性)
|
|
@@ -739,6 +736,7 @@ let repositoryGljObj = {
|
|
let dataCode = me.setting.header[args.col].dataCode;
|
|
let dataCode = me.setting.header[args.col].dataCode;
|
|
me.currentGlj = me.currentCache[args.row];
|
|
me.currentGlj = me.currentCache[args.row];
|
|
if(dataCode === 'code'
|
|
if(dataCode === 'code'
|
|
|
|
+ || (dataCode === 'taxRate' && !me.taxRateTypes.includes(me.currentGlj.gljType))
|
|
|| (dataCode === 'adjCoe' && me.currentGlj.gljType !== 1 && me.currentGlj.gljType !== 303)
|
|
|| (dataCode === 'adjCoe' && me.currentGlj.gljType !== 1 && me.currentGlj.gljType !== 303)
|
|
|| (dataCode === 'materialCoe' && !me.currentGlj.materialType)
|
|
|| (dataCode === 'materialCoe' && !me.currentGlj.materialType)
|
|
|| (dataCode === 'model' && me.currentGlj.gljType !== 301)){
|
|
|| (dataCode === 'model' && me.currentGlj.gljType !== 301)){
|
|
@@ -801,6 +799,10 @@ let repositoryGljObj = {
|
|
/*if(me.allowComponent.indexOf(rObj.gljType) !== -1){//更改成可添加组成物的类型,则将定额价设成零
|
|
/*if(me.allowComponent.indexOf(rObj.gljType) !== -1){//更改成可添加组成物的类型,则将定额价设成零
|
|
rObj.basePrice = 0;
|
|
rObj.basePrice = 0;
|
|
}*/
|
|
}*/
|
|
|
|
+ // 工料机类型不为普通材料、商品混凝土、商品砂浆、机械组成物、主材、设备时,清空税率
|
|
|
|
+ if (!me.taxRateTypes.includes(rObj.gljType)) {
|
|
|
|
+ rObj.taxRate = null;
|
|
|
|
+ }
|
|
//调整系数,工料机类型为人工和机上人工时,可输入整数
|
|
//调整系数,工料机类型为人工和机上人工时,可输入整数
|
|
if((me.currentEditingGlj.gljType === 1 || me.currentEditingGlj.gljType === 303) && !(rObj.gljType === 1 || rObj.gljType === 303)){
|
|
if((me.currentEditingGlj.gljType === 1 || me.currentEditingGlj.gljType === 303) && !(rObj.gljType === 1 || rObj.gljType === 303)){
|
|
rObj.adjCoe = null;
|
|
rObj.adjCoe = null;
|
|
@@ -834,6 +836,14 @@ let repositoryGljObj = {
|
|
});
|
|
});
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+ else if (rObj.taxRate !== me.currentEditingGlj.taxRate) {
|
|
|
|
+ if (isNaN(rObj.taxRate)) {
|
|
|
|
+ args.sheet.setValue(args.row, args.col, me.currentEditingGlj.taxRate || '');
|
|
|
|
+ alert('税率只能输入数值!');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ rObj.taxRate = scMathUtil.roundTo(parseFloat(rObj.taxRate), -2);
|
|
|
|
+ }
|
|
else if(rObj.adjCoe !== me.currentEditingGlj.adjCoe){//修改调整系数,整数控制
|
|
else if(rObj.adjCoe !== me.currentEditingGlj.adjCoe){//修改调整系数,整数控制
|
|
if(isNaN(rObj.adjCoe) || rObj.adjCoe % 1 !== 0){
|
|
if(isNaN(rObj.adjCoe) || rObj.adjCoe % 1 !== 0){
|
|
args.sheet.setValue(args.row, args.col, me.currentEditingGlj.adjCoe ? me.currentEditingGlj.adjCoe : '');
|
|
args.sheet.setValue(args.row, args.col, me.currentEditingGlj.adjCoe ? me.currentEditingGlj.adjCoe : '');
|
|
@@ -1210,6 +1220,9 @@ let repositoryGljObj = {
|
|
if(pasteObj.gljType === me.distTypeTree.comboDatas[i].text){
|
|
if(pasteObj.gljType === me.distTypeTree.comboDatas[i].text){
|
|
pasteObj.gljType = me.distTypeTree.comboDatas[i].value;
|
|
pasteObj.gljType = me.distTypeTree.comboDatas[i].value;
|
|
isExsit = true;
|
|
isExsit = true;
|
|
|
|
+ if (!me.taxRateTypes.includes(pasteObj.taxRate) && me.taxRateTypes.includes(tempObj.taxRate)) {
|
|
|
|
+ tempObj.taxRate = null;
|
|
|
|
+ }
|
|
//调整系数
|
|
//调整系数
|
|
if(pasteObj.gljType !== 1 && pasteObj.gljType !== 303){
|
|
if(pasteObj.gljType !== 1 && pasteObj.gljType !== 303){
|
|
tempObj.adjCoe = null;
|
|
tempObj.adjCoe = null;
|
|
@@ -1248,6 +1261,14 @@ let repositoryGljObj = {
|
|
isValid = false;
|
|
isValid = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (typeof pasteObj.taxRate !== 'undefined'
|
|
|
|
+ && typeof pasteObj.gljType === 'undefined') {
|
|
|
|
+ if (me.taxRateTypes.includes(tempObj.gljType)) {
|
|
|
|
+ tempObj.taxRate = pasteObj.taxRate && !isNaN(pasteObj.taxRate) ? scMathUtil.roundTo(parseFloat(pasteObj.taxRate), -2) : null;
|
|
|
|
+ } else {
|
|
|
|
+ isValid = false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
if(typeof pasteObj.adjCoe !== 'undefined' && typeof pasteObj.gljType === 'undefined'){
|
|
if(typeof pasteObj.adjCoe !== 'undefined' && typeof pasteObj.gljType === 'undefined'){
|
|
if(tempObj.gljType && (tempObj.gljType === 1 || tempObj.gljType === 303) && typeof pasteObj.adjCoe !== 'undefined' && !isNaN(pasteObj.adjCoe) && pasteObj.adjCoe % 1 === 0) {
|
|
if(tempObj.gljType && (tempObj.gljType === 1 || tempObj.gljType === 303) && typeof pasteObj.adjCoe !== 'undefined' && !isNaN(pasteObj.adjCoe) && pasteObj.adjCoe % 1 === 0) {
|
|
tempObj.adjCoe = pasteObj.adjCoe;
|
|
tempObj.adjCoe = pasteObj.adjCoe;
|
|
@@ -1391,6 +1412,9 @@ let repositoryGljObj = {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (pasteObj.taxRate && (isNaN(pasteObj.taxRate) || !me.taxRateTypes.includes(pasteObj.gljType))) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
if(pasteObj.adjCoe && typeof pasteObj.adjCoe !== 'undefined'){
|
|
if(pasteObj.adjCoe && typeof pasteObj.adjCoe !== 'undefined'){
|
|
if(isNaN(pasteObj.adjCoe) || pasteObj.adjCoe % 1 !== 0){
|
|
if(isNaN(pasteObj.adjCoe) || pasteObj.adjCoe % 1 !== 0){
|
|
return false;
|
|
return false;
|