|
|
@ -1401,6 +1401,7 @@ export default { |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
this.projectPartData.testPartNo = undefined; |
|
|
this.projectPartData.testPartNo = undefined; |
|
|
|
|
|
this.$message.error("产品编码不存在!") |
|
|
callback(new Error(" ")) |
|
|
callback(new Error(" ")) |
|
|
}).catch((error)=>{ |
|
|
}).catch((error)=>{ |
|
|
this.projectPartData.testPartNo = undefined |
|
|
this.projectPartData.testPartNo = undefined |
|
|
@ -1426,6 +1427,7 @@ export default { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
this.partData.partNo = null; |
|
|
this.partData.partNo = null; |
|
|
|
|
|
this.$message.error("材料编码不存在!") |
|
|
callback(new Error(' ')) |
|
|
callback(new Error(' ')) |
|
|
}).catch((error)=>{ |
|
|
}).catch((error)=>{ |
|
|
this.partData.partNo = null; |
|
|
this.partData.partNo = null; |
|
|
@ -1451,6 +1453,7 @@ export default { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
this.toolHeader.toolNo = null; |
|
|
this.toolHeader.toolNo = null; |
|
|
|
|
|
this.$message.error("工具编码不存在!") |
|
|
callback(new Error(' ')) |
|
|
callback(new Error(' ')) |
|
|
}).catch((error)=>{ |
|
|
}).catch((error)=>{ |
|
|
this.toolHeader.toolNo = null; |
|
|
this.toolHeader.toolNo = null; |
|
|
@ -1870,97 +1873,36 @@ export default { |
|
|
// ================================================表单校验规则====================================== |
|
|
// ================================================表单校验规则====================================== |
|
|
// 可选值校验 |
|
|
// 可选值校验 |
|
|
itemDataRule:{ |
|
|
itemDataRule:{ |
|
|
availableValue:[{required: true, message: ' ', trigger: 'change'},{required: true, message: ' ', trigger: 'blur'},] |
|
|
|
|
|
|
|
|
availableValue:[{required: true, message: ' ', trigger: ['change','blur']}] |
|
|
}, |
|
|
}, |
|
|
// 报价详情表单校验 |
|
|
// 报价详情表单校验 |
|
|
quotationDetailRules: { |
|
|
quotationDetailRules: { |
|
|
productNo: [ |
|
|
|
|
|
{required: true, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
{required: true,validator:validateProductNo,trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
productDesc: [ |
|
|
|
|
|
{required: true, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
quotationDetailStatus: [ |
|
|
|
|
|
{required: true, message: ' ', trigger: 'change'}, |
|
|
|
|
|
], |
|
|
|
|
|
internalInquiryNo: [ |
|
|
|
|
|
{required: true, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
itemNo:[ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
quotationDetailQuantity: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
|
|
|
productNo: [{required: true,validator:validateProductNo,trigger: 'change'}], |
|
|
|
|
|
productDesc: [{required: true, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
quotationDetailStatus: [{required: true, message: ' ', trigger: 'change'}], |
|
|
|
|
|
internalInquiryNo: [{required: true, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
itemNo:[{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
quotationDetailQuantity: [{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
}, |
|
|
}, |
|
|
// 报价工具表单校验 |
|
|
// 报价工具表单校验 |
|
|
quotationToolRules: { |
|
|
quotationToolRules: { |
|
|
toolNo: [ |
|
|
|
|
|
{required: true, message: ' ', trigger: 'change', label: "工具编号"}, |
|
|
|
|
|
{required: true, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
{required: true, validator:validateToolNo, trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
toolDescription: [ |
|
|
|
|
|
{required: true, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
toolQuantity: [ |
|
|
|
|
|
{required: true, pattern: /^([1-9]\d*(\.\d*[1-9][0-9])?)|(0\.\d*[1-9][0-9])|(0\.\d*[1-9])$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^([1-9]\d*(\.\d*[1-9][0-9])?)|(0\.\d*[1-9][0-9])|(0\.\d*[1-9])$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
unitCost: [ |
|
|
|
|
|
{required: true, pattern: /^([1-9]\d*(\.\d*[1-9][0-9])?)|(0\.\d*[1-9][0-9])|(0\.\d*[1-9])$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^([1-9]\d*(\.\d*[1-9][0-9])?)|(0\.\d*[1-9][0-9])|(0\.\d*[1-9])$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
expectedServiceLife: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
|
|
|
toolNo: [{required: true, validator:validateToolNo,message:" ", trigger: 'change'}], |
|
|
|
|
|
toolDescription: [{required: true, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
toolQuantity: [{required: true, pattern: /^([1-9]\d*(\.\d*[1-9][0-9])?)|(0\.\d*[1-9][0-9])|(0\.\d*[1-9])$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
unitCost: [{required: true, pattern: /^([1-9]\d*(\.\d*[1-9][0-9])?)|(0\.\d*[1-9][0-9])|(0\.\d*[1-9])$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
expectedServiceLife: [{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
}, |
|
|
}, |
|
|
// 价格表单 |
|
|
// 价格表单 |
|
|
rules: { |
|
|
rules: { |
|
|
detailProfitRate: [ |
|
|
|
|
|
{required: true, pattern: /^([1-9]\d*|[0]{1,1})$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^([1-9]\d*|[0]{1,1})$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
adjustPartCost: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
adjustMachineCost: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
adjustFabricateCost: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
adjustLabourCost: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
adjustToolCost: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
detailManageCost: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
detailOtherCost: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
taxRate: [ |
|
|
|
|
|
{required: true, pattern: /^([1-9]\d*|[0]{1,1})$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^([1-9]\d*|[0]{1,1})$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
|
|
|
detailProfitRate: [{required: true, pattern: /^([1-9]\d*|[0]{1,1})$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
adjustPartCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
adjustMachineCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
adjustFabricateCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
adjustLabourCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
adjustToolCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
detailManageCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
detailOtherCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
taxRate: [{required: true, pattern: /^([1-9]\d*|[0]{1,1})$/, message: ' ', trigger: ['change','blur']}], |
|
|
}, |
|
|
}, |
|
|
// 报价工艺 规则 |
|
|
// 报价工艺 规则 |
|
|
quotationRoutingRules:{ |
|
|
quotationRoutingRules:{ |
|
|
@ -2020,64 +1962,30 @@ export default { |
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
], |
|
|
], |
|
|
unitQuotedCost: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
machineryCenterCost: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
laborCenterCost: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
manufacturingCenterCost: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
|
|
|
unitQuotedCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
machineryCenterCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
laborCenterCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
manufacturingCenterCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
}, |
|
|
}, |
|
|
//报价材料 |
|
|
//报价材料 |
|
|
quotationPartRules:{ |
|
|
quotationPartRules:{ |
|
|
quotationPartNo:[ |
|
|
|
|
|
{required: true, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
{required: true,validator:validatePartNo, trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
quotationPartDesc:[ |
|
|
|
|
|
{required: true, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
umId:[ |
|
|
|
|
|
{required: true, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
unitDosage:[ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
attritionRate:[ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
transferAmount: [ |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
unitCost:[ |
|
|
|
|
|
{required: true, pattern: /^([1-9]\d*(\.\d*[1-9][0-9])?)|(0\.\d*[1-9][0-9])|(0\.\d*[1-9])$/, message: ' ', trigger: 'change'}, |
|
|
|
|
|
{required: true, pattern: /^([1-9]\d*(\.\d*[1-9][0-9])?)|(0\.\d*[1-9][0-9])|(0\.\d*[1-9])$/, message: ' ', trigger: 'blur'}, |
|
|
|
|
|
], |
|
|
|
|
|
|
|
|
quotationPartNo:[{required: true,validator:validatePartNo,message:'', trigger: ['change']}], |
|
|
|
|
|
quotationPartDesc:[{required: true, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
umId:[{required: true, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
unitDosage:[{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
attritionRate:[{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: ['change','blur']},], |
|
|
|
|
|
transferAmount: [{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: ['change','blur']}], |
|
|
|
|
|
unitCost:[{required: true, pattern: /^([1-9]\d*(\.\d*[1-9][0-9])?)|(0\.\d*[1-9][0-9])|(0\.\d*[1-9])$/, message: ' ', trigger: ['change','blur']}], |
|
|
}, |
|
|
}, |
|
|
quotationProductRule:{ |
|
|
quotationProductRule:{ |
|
|
itemNo:[{required: true,message: ' ',trigger: 'change'},{required: true,message: ' ',trigger: 'blur'}], |
|
|
|
|
|
itemDesc:[{required: true,message: ' ',trigger: 'change'},{required: true,message: ' ',trigger: 'blur'}], |
|
|
|
|
|
valueTypeDb:[{required: true,message: ' ',trigger: 'change'},{required: true,message: ' ',trigger: 'blur'}], |
|
|
|
|
|
defaultValue:[{type: 'number',message:' ', trigger: 'change',transform: (value) => Number(value)},{type: 'number',message:' ', trigger: 'blur',transform: (value) => Number(value)}], |
|
|
|
|
|
maxValue:[{type: 'number',message:' ', trigger: 'change',transform: (value) => Number(value)},{type: 'number',message:' ', trigger: 'blur',transform: (value) => Number(value)}], |
|
|
|
|
|
minValue:[{type: 'number',message:' ',trigger: 'change',transform: (value) => Number(value)},{type: 'number',message:' ', trigger: 'blur',transform: (value) => Number(value)}], |
|
|
|
|
|
itemType:[{required: true,message: ' ',trigger: 'change'},{required: true,message: ' ',trigger: 'blur'}], |
|
|
|
|
|
valueChooseFlag:[{required: true,message: ' ',trigger: 'change'},{required: true,message: ' ',trigger: 'blur'}], |
|
|
|
|
|
|
|
|
itemNo:[{required: true,message: ' ',trigger: ['change','blur']}], |
|
|
|
|
|
itemDesc:[{required: true,message: ' ',trigger: ['change','blur']}], |
|
|
|
|
|
valueTypeDb:[{required: true,message: ' ',trigger: ['change','blur']}], |
|
|
|
|
|
defaultValue:[{type: 'number',message:' ', trigger: ['change','blur'],transform: (value) => Number(value)}], |
|
|
|
|
|
maxValue:[{type: 'number',message:' ', trigger: ['change','blur'],transform: (value) => Number(value)}], |
|
|
|
|
|
minValue:[{type: 'number',message:' ',trigger: ['change','blur'],transform: (value) => Number(value)}], |
|
|
|
|
|
itemType:[{required: true,message: ' ',trigger: ['change','blur']}], |
|
|
|
|
|
valueChooseFlag:[{required: true,message: ' ',trigger: ['change','blur']}], |
|
|
}, |
|
|
}, |
|
|
// =========================================参数列表================================= |
|
|
// =========================================参数列表================================= |
|
|
quotationProductColumns:[ |
|
|
quotationProductColumns:[ |
|
|
@ -3570,7 +3478,7 @@ export default { |
|
|
* @param row 计算对象 |
|
|
* @param row 计算对象 |
|
|
*/ |
|
|
*/ |
|
|
computePartQuotationUnitCost(row){ |
|
|
computePartQuotationUnitCost(row){ |
|
|
if (!row.transferAmount || !row.unitDosage || !row.unitCost){ |
|
|
|
|
|
|
|
|
if (!row.unitDosage || !row.unitCost){ |
|
|
row.quotationUnitCost = 0; |
|
|
row.quotationUnitCost = 0; |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
|
@ -3833,6 +3741,10 @@ export default { |
|
|
quotationPartValue(value,type){ |
|
|
quotationPartValue(value,type){ |
|
|
switch (type){ |
|
|
switch (type){ |
|
|
case 0: |
|
|
case 0: |
|
|
|
|
|
if (value <= 0 ){ |
|
|
|
|
|
this.quotationPart.unitDosage = 1; |
|
|
|
|
|
return |
|
|
|
|
|
} |
|
|
this.quotationPart.unitDosage = value; |
|
|
this.quotationPart.unitDosage = value; |
|
|
break |
|
|
break |
|
|
case 1: |
|
|
case 1: |
|
|
|