Browse Source

2024-1-2 plm报价

master
zelian_wu 2 years ago
parent
commit
fe2167e5e7
  1. 8
      src/api/base/personnelLevel.js
  2. 6
      src/api/quotation/quotationHeader.js
  3. 17
      src/views/modules/quotation/sellForQuotation.vue
  4. 308
      src/views/modules/quotation/sellForQuotation/quotationDetail.vue

8
src/api/base/personnelLevel.js

@ -0,0 +1,8 @@
import {createAPI} from "../../utils/httpRequest";
/**
* 根据site查询人员等级
* @param data
* @returns {*}
*/
export const getPersonnelLevelList = (data)=>createAPI(`/level/list/${data}`,'get')

6
src/api/quotation/quotationHeader.js

@ -22,6 +22,12 @@ export const saveQuotationHeader = (data) => createAPI('/plm/quotationHeader/sav
export const saveBatchQuotationHeader = (data) => createAPI('/plm/quotationHeader/saveBatchQuotationHeader','post',data); export const saveBatchQuotationHeader = (data) => createAPI('/plm/quotationHeader/saveBatchQuotationHeader','post',data);
export const deleteByQuotationHeaderId = (data) => createAPI('/plm/quotationHeader/deleteByQuotationHeaderId','post',data); export const deleteByQuotationHeaderId = (data) => createAPI('/plm/quotationHeader/deleteByQuotationHeaderId','post',data);
/**
* 重新报价
* @param data
* @returns {*}
*/
export const quotationAgain = (data) => createAPI(`/plm/quotationHeader/quotationAgain`,'post',data);
/** /**
* 查询 报价工具列表 page * 查询 报价工具列表 page

17
src/views/modules/quotation/sellForQuotation.vue

@ -110,7 +110,7 @@
<el-link style="cursor: pointer">下达</el-link> <el-link style="cursor: pointer">下达</el-link>
<el-link style="cursor: pointer" @click="editQuotationHeader(scope.row)">编辑</el-link> <el-link style="cursor: pointer" @click="editQuotationHeader(scope.row)">编辑</el-link>
<el-link style="cursor: pointer" @click="deleteQuotationHeader(scope.row)">删除</el-link> <el-link style="cursor: pointer" @click="deleteQuotationHeader(scope.row)">删除</el-link>
<el-link style="cursor: pointer" v-if="false">重新报价</el-link>
<el-link style="cursor: pointer" @click="quotationAgain(scope.row)">重新报价</el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -370,6 +370,7 @@ import {
getQuotationHeaderByPage, getQuotationHeaderByPage,
saveQuotationHeader, saveQuotationHeader,
deleteByQuotationHeaderId, deleteByQuotationHeaderId,
quotationAgain,
} from '@/api/quotation/quotationHeader.js'; } from '@/api/quotation/quotationHeader.js';
import { import {
searchQuotationByQuotationNo, searchQuotationByQuotationNo,
@ -784,7 +785,21 @@ export default {
this.insertData.currency=row.customerCurrency;// this.insertData.currency=row.customerCurrency;//
// //
this.quotationNoDialogFlag = false; this.quotationNoDialogFlag = false;
},
quotationAgain(row){
quotationAgain(row).then(({data})=>{
if (data && data.code === 0){
this.$message.success(data.msg)
this.initData();
}else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
} }
}).catch((error)=>{
this.$message.error(error)
})
},
}, },
computed:{ computed:{

308
src/views/modules/quotation/sellForQuotation/quotationDetail.vue

@ -44,58 +44,58 @@
<el-table-column label="计算后成本" align="center"> <el-table-column label="计算后成本" align="center">
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="材料成本" prop="computePartCost" label="材料成本" prop="computePartCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="机器成本" prop="computeMachineCost" label="机器成本" prop="computeMachineCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="人工成本" prop="computeLabourCost" label="人工成本" prop="computeLabourCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="制造费用" prop="computeFabricateCost" label="制造费用" prop="computeFabricateCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="工具成本" prop="computeToolCost" label="工具成本" prop="computeToolCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="调整后成本" align="center"> <el-table-column label="调整后成本" align="center">
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="材料成本" prop="adjustPartCost" label="材料成本" prop="adjustPartCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="机器成本" prop="adjustMachineCost" label="机器成本" prop="adjustMachineCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="人工成本" prop="adjustLabourCost" label="人工成本" prop="adjustLabourCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="制造费用" prop="adjustFabricateCost" label="制造费用" prop="adjustFabricateCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="工具成本" prop="adjustToolCost" label="工具成本" prop="adjustToolCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="其他成本" prop="detailOtherCost" label="其他成本" prop="detailOtherCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="管理成本" prop="detailManageCost" label="管理成本" prop="detailManageCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="总成本" prop="detailTotalCost" label="总成本" prop="detailTotalCost"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="利润率%" prop="detailProfitRate" label="利润率%" prop="detailProfitRate"
@ -103,15 +103,15 @@
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="利润额" prop="detailProfitAmount" label="利润额" prop="detailProfitAmount"
width="80" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="未税单价" prop="finalUntaxedPrice" label="未税单价" prop="finalUntaxedPrice"
width="90" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="未税总价" prop="systemComputeAmount" label="未税总价" prop="systemComputeAmount"
width="90" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="税率%" prop="taxRate" label="税率%" prop="taxRate"
@ -119,11 +119,11 @@
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="含税单价" prop="finalTaxedPrice" label="含税单价" prop="finalTaxedPrice"
width="90" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="含税总价" prop="systemComputePrice" label="含税总价" prop="systemComputePrice"
width="90" align="right" header-align="center">
width="120" align="right" header-align="center">
</el-table-column> </el-table-column>
<el-table-column show-overflow-tooltip <el-table-column show-overflow-tooltip
label="状态" prop="quotationDetailStatus" label="状态" prop="quotationDetailStatus"
@ -687,21 +687,24 @@
<!--quotationRouting新增--> <!--quotationRouting新增-->
<el-dialog title="报价工艺" @open="openQuotationRoutingDialog" @close="closeQuotationRoutingDialog" :visible.sync="quotationRoutingDialogFlag" width="40%" top="15vh" :close-on-click-modal="false"> <el-dialog title="报价工艺" @open="openQuotationRoutingDialog" @close="closeQuotationRoutingDialog" :visible.sync="quotationRoutingDialogFlag" width="40%" top="15vh" :close-on-click-modal="false">
<el-form :rules="quotationRoutingRules" ref="quotationRoutingForm" :model="quotationRouting" label-position="top"> <el-form :rules="quotationRoutingRules" ref="quotationRoutingForm" :model="quotationRouting" label-position="top">
<el-row>
<el-row :gutter="20">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="工序名称" prop="quotationRoutingDesc"> <el-form-item label="工序名称" prop="quotationRoutingDesc">
<el-input v-model="quotationRouting.quotationRoutingDesc" clearable/> <el-input v-model="quotationRouting.quotationRoutingDesc" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="2">
<el-col :span="8">
<el-form-item label="序号" prop="itemNo"> <el-form-item label="序号" prop="itemNo">
<div class="right"><!--value=value.replace(/[\d]/g,'')--> <div class="right"><!--value=value.replace(/[\d]/g,'')-->
<el-input v-model="quotationRouting.itemNo" type="number" step="10" @change="changeRegValue" onKeypress="return (/[\d]/g.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" v-model="quotationRouting.itemNo" type="number" step="10" @change="changeRegValue" onKeypress="return (/[\d]/g.test(String.fromCharCode(event.keyCode)))"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label=" ">
</el-form-item>
</el-col>
<el-col :span="8" > <el-col :span="8" >
<el-form-item label="加工中心编码" prop="machiningCenterNo"> <el-form-item label="加工中心编码" prop="machiningCenterNo">
<el-select v-model="quotationRouting.machiningCenterNo" filterable style="width: 100%" @change="changeWorkCenterSelect" placeholder="请选择"> <el-select v-model="quotationRouting.machiningCenterNo" filterable style="width: 100%" @change="changeWorkCenterSelect" placeholder="请选择">
@ -723,7 +726,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="2">
<el-col :span="8">
<el-form-item label="加工中心名称" prop="machiningCenterDesc"> <el-form-item label="加工中心名称" prop="machiningCenterDesc">
<el-input :disabled="quotationRouting.machiningCenterNo !== '*'" v-model="quotationRouting.machiningCenterDesc" clearable/> <el-input :disabled="quotationRouting.machiningCenterNo !== '*'" v-model="quotationRouting.machiningCenterDesc" clearable/>
</el-form-item> </el-form-item>
@ -733,38 +736,64 @@
<el-input :disabled="quotationRouting.machiningCenterNo !== '*'" v-model="quotationRouting.machiningCenterType" clearable/> <el-input :disabled="quotationRouting.machiningCenterNo !== '*'" v-model="quotationRouting.machiningCenterType" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="2">
<el-col :span="8">
<el-form-item label="加工中心机器成本" prop="machineryCenterCost"> <el-form-item label="加工中心机器成本" prop="machineryCenterCost">
<div class="right"> <div class="right">
<el-input :disabled="quotationRouting.machiningCenterNo !== '*'" v-model="quotationRouting.machineryCenterCost" @input="changeRoutingCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" :disabled="quotationRouting.machiningCenterNo !== '*'" v-model="quotationRouting.machineryCenterCost" @input="changeRoutingCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" >
<el-form-item label="加工中心人工成本" prop="laborCenterCost">
<!-- <el-col :span="8" >-->
<!-- <el-form-item label="加工中心人工成本" prop="laborCenterCost">-->
<!-- <div class="right">-->
<!-- <el-input :disabled="quotationRouting.machiningCenterNo !== '*'" v-model="quotationRouting.laborCenterCost" @input="changeRoutingCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="8">
<el-form-item label="加工制造费用" prop="manufacturingCenterCost">
<div class="right"> <div class="right">
<el-input :disabled="quotationRouting.machiningCenterNo !== '*'" v-model="quotationRouting.laborCenterCost" @input="changeRoutingCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" :disabled="quotationRouting.machiningCenterNo !== '*'" v-model="quotationRouting.manufacturingCenterCost" @input="changeRoutingCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="2">
<el-form-item label="加工制造费用" prop="manufacturingCenterCost">
<el-col :span="8">
<el-form-item label=" ">
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="调机时间" prop="machiningSetupTime">
<div class="right"> <div class="right">
<el-input :disabled="quotationRouting.machiningCenterNo !== '*'" v-model="quotationRouting.manufacturingCenterCost" @input="changeRoutingCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" v-model="quotationRouting.machiningSetupTime" @input="changeRoutingCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="调机时间" prop="machiningSetupTime">
<el-form-item label="调机过程中人数" prop="tuneInNumber">
<div class="right"> <div class="right">
<el-input v-model="quotationRouting.machiningSetupTime" @input="changeRoutingCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" v-model="quotationRouting.tuneInNumber" @input="changeRoutingCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="2">
<el-col :span="8">
<el-form-item label="调机人员等级" prop="tuneInLevel">
<el-select v-model="quotationRouting.tuneInLevel" style="width: 100%" filterable placeholder="请选择">
<el-option
v-for="item in personnelLevelList"
:key="item.levelId"
:label="item.levelDesc"
:value="item.levelId">
<span style="float: left">{{ item.levelDesc }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.levelCost }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单位产出量" prop="unitOutputQuantity"> <el-form-item label="单位产出量" prop="unitOutputQuantity">
<div class="right"> <div class="right">
<el-input v-model="quotationRouting.unitOutputQuantity" @input="changeRoutingCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" v-model="quotationRouting.unitOutputQuantity" @input="changeRoutingCost" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -781,55 +810,73 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="2" >
<el-col :span="8">
<el-form-item label=" ">
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="效率%" prop="routingEfficiency"> <el-form-item label="效率%" prop="routingEfficiency">
<div class="right"> <div class="right">
<el-input v-model="quotationRouting.routingEfficiency" min="0" @input="value=>inputRule(value,2)" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" v-model="quotationRouting.routingEfficiency" min="0" @input="value=>inputRule(value,2)" type="number" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="操作人数" prop="operatorsNumber">
<el-form-item label="操作过程人数" prop="operatorsNumber">
<div class="right"> <div class="right">
<el-input v-model="quotationRouting.operatorsNumber" @input="changeRoutingCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" v-model="quotationRouting.operatorsNumber" @input="changeRoutingCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="2" >
<el-col :span="8">
<el-form-item label="操作人员等级" prop="operatorsLevel">
<el-select v-model="quotationRouting.operatorsLevel" style="width: 100%" filterable placeholder="请选择">
<el-option
v-for="item in personnelLevelList"
:key="item.levelId"
:label="item.levelDesc"
:value="item.levelId">
<span style="float: left">{{ item.levelDesc }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.levelCost }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单位机器成本" prop="unitMachineryCost"> <el-form-item label="单位机器成本" prop="unitMachineryCost">
<div class="right"> <div class="right">
<el-input disabled v-model="quotationRouting.unitMachineryCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" disabled v-model="quotationRouting.unitMachineryCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="单位人工成本" prop="unitLaborCost"> <el-form-item label="单位人工成本" prop="unitLaborCost">
<div class="right"> <div class="right">
<el-input disabled v-model="quotationRouting.unitLaborCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" disabled v-model="quotationRouting.unitLaborCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" :offset="2" >
<el-col :span="8">
<el-form-item label="单位制造费用" prop="unitManufacturingCost"> <el-form-item label="单位制造费用" prop="unitManufacturingCost">
<div class="right"> <div class="right">
<el-input disabled v-model="quotationRouting.unitManufacturingCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
<el-input class="inlineNumber" disabled v-model="quotationRouting.unitManufacturingCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))" type="number"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="单位报价成本" prop="unitQuotedCost"> <el-form-item label="单位报价成本" prop="unitQuotedCost">
<div class="right"> <div class="right">
<el-input disabled type="number" v-model="quotationRouting.unitQuotedCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
<el-input class="inlineNumber" disabled type="number" v-model="quotationRouting.unitQuotedCost" onKeypress="return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))"/>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="22">
<el-col :span="24">
<el-form-item label="备注" prop="remark" style="display: block;min-height: 90px"> <el-form-item label="备注" prop="remark" style="display: block;min-height: 90px">
<el-input type="textarea" resize="none" v-model="quotationRouting.remark" :autosize="{minRows: 3, maxRows: 3}"/> <el-input type="textarea" resize="none" v-model="quotationRouting.remark" :autosize="{minRows: 3, maxRows: 3}"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<span slot="footer" class="dialog-footer" style="margin-top: 5px"> <span slot="footer" class="dialog-footer" style="margin-top: 5px">
<el-button type="primary" :loading="saveQuotationRoutingLoading" @click="saveQuotationRoutingBtn"> </el-button> <el-button type="primary" :loading="saveQuotationRoutingLoading" @click="saveQuotationRoutingBtn"> </el-button>
@ -1380,6 +1427,7 @@ import {getProjectPart, getProjectPartList} from '@/api/project/project.js';
import {queryOperationList,} from '@/api/part/routingManagement.js' import {queryOperationList,} from '@/api/part/routingManagement.js'
import {propertiesItemList} from "@/api/base/properties.js" import {propertiesItemList} from "@/api/base/properties.js"
import {Decimal} from "decimal.js"; import {Decimal} from "decimal.js";
import {getPersonnelLevelList} from '@/api/base/personnelLevel.js'
export default { export default {
props: ['quotationHeader'], props: ['quotationHeader'],
@ -1466,6 +1514,7 @@ export default {
quotationToolFormTable:{ quotationToolFormTable:{
quotationToolList: [],// quotationToolList: [],//
}, },
personnelLevelList:[],//
selectionQuotationToolList:[],// selectionQuotationToolList:[],//
toolHeaderList:[],// toolHeaderList:[],//
selectionToolHeaderList:[],// selectionToolHeaderList:[],//
@ -1654,11 +1703,14 @@ export default {
machiningCenterNo:undefined,// machiningCenterNo:undefined,//
machiningCenterDesc:undefined,// machiningCenterDesc:undefined,//
machiningCenterType:undefined,// machiningCenterType:undefined,//
tuneInNumber:1,//
tuneInLevel:undefined,//
machiningSetupTime:0,// machiningSetupTime:0,//
unitOutputQuantity:1,// unitOutputQuantity:1,//
outputUnit:'小时',// outputUnit:'小时',//
routingEfficiency:100,// routingEfficiency:100,//
operatorsNumber:1,// operatorsNumber:1,//
operatorsLevel:undefined,//
unitMachineryCost:0,// unitMachineryCost:0,//
unitLaborCost:0,// unitLaborCost:0,//
unitManufacturingCost:0,// unitManufacturingCost:0,//
@ -1881,87 +1933,48 @@ export default {
productDesc: [{required: true, message: ' ', trigger: ['change','blur']}], productDesc: [{required: true, message: ' ', trigger: ['change','blur']}],
quotationDetailStatus: [{required: true, message: ' ', trigger: 'change'}], quotationDetailStatus: [{required: true, message: ' ', trigger: 'change'}],
internalInquiryNo: [{required: true, message: ' ', trigger: ['change','blur']}], 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']}],
itemNo:[{required: true, message: ' ', trigger: ['change','blur']}],
quotationDetailQuantity: [{required: true, message: ' ', trigger: ['change','blur']}],
}, },
// //
quotationToolRules: { quotationToolRules: {
toolNo: [{required: true, validator:validateToolNo,message:" ", trigger: 'change'}], toolNo: [{required: true, validator:validateToolNo,message:" ", trigger: 'change'}],
toolDescription: [{required: true, message: ' ', trigger: ['change','blur']}], 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']}],
toolQuantity: [{required: true,pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
unitCost: [{required: true,pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
expectedServiceLife: [{required: true,pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
}, },
// //
rules: { rules: {
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']}],
detailProfitRate: [{required: true, pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
adjustPartCost: [{required: true, pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
adjustMachineCost: [{required: true,pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
adjustFabricateCost: [{required: true,pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
adjustLabourCost: [{required: true,pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
adjustToolCost: [{required: true,pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
detailManageCost: [{required: true,pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
detailOtherCost: [{required: true,pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
taxRate: [{required: true, message: ' ', trigger: ['change','blur']}],
}, },
// //
quotationRoutingRules:{ quotationRoutingRules:{
quotationRoutingNo: [
{required: true, message: ' ', trigger: 'change'},
{required: true, message: ' ', trigger: 'blur'},
],
quotationRoutingDesc: [
{required: true, message: ' ', trigger: 'change'},
{required: true, message: ' ', trigger: 'blur'},
],
itemNo: [
{required: true, message: ' ', trigger: 'change'},
{required: true, message: ' ', trigger: 'blur'},
],
machiningCenterNo: [
{required: true, message: ' ', trigger: 'change'},
{required: true, message: ' ', trigger: 'blur'},
],
machiningSetupTime: [
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'change'},
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'},
],
unitOutputQuantity: [
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'change'},
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'},
],
outputUnit: [
{required: true, message: ' ', trigger: 'change'},
{required: true, message: ' ', trigger: 'blur'},
],
machiningCenterType: [
{required: true, message: ' ', trigger: 'change'},
{required: true, message: ' ', trigger: 'blur'},
],
machiningCenterDesc: [
{required: true, message: ' ', trigger: 'change'},
{required: true, message: ' ', trigger: 'blur'},
],
routingEfficiency: [
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'change'},
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'},
],
operatorsNumber: [
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'change'},
{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: 'blur'},
],
unitMachineryCost: [
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'},
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'},
],
unitLaborCost: [
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'},
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'},
],
unitManufacturingCost: [
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'change'},
{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: 'blur'},
],
quotationRoutingNo:[{required: true, message: ' ', trigger: ['change','blur']}],
quotationRoutingDesc:[{required: true, message: ' ', trigger: ['change','blur']}],
itemNo: [{required: true, message: ' ', trigger: ['change','blur']}],
machiningCenterNo: [{required: true, message: ' ', trigger: ['change','blur']}],
machiningSetupTime: [{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: ['change','blur']}],
unitOutputQuantity: [{required: true, pattern: /^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/,message: ' ', trigger: ['change','blur']}],
outputUnit: [{required: true, message: ' ', trigger: ['change','blur']}],
machiningCenterType:[{required: true, message: ' ', trigger: ['change','blur']}],
machiningCenterDesc: [{required: true, message: ' ', trigger: ['change','blur']}],
tuneInLevel: [{required: true, message: ' ', trigger: ['change','blur']}],
operatorsLevel: [{required: true, message: ' ', trigger: ['change','blur']}],
routingEfficiency: [{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: ['change','blur']}],
tuneInNumber: [{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: ['change','blur']}],
operatorsNumber: [{required: true, pattern: /^[0-9]+(.[0-9]{1,2})?$/, message: ' ', trigger: ['change','blur']}],
unitMachineryCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}],
unitLaborCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}],
unitManufacturingCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}],
unitQuotedCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','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']}], 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']}], laborCenterCost: [{required: true, pattern: /^[0-9]+(.[0-9]{1,4})?$/, message: ' ', trigger: ['change','blur']}],
@ -1972,18 +1985,18 @@ export default {
quotationPartNo:[{required: true,validator:validatePartNo,message:'', trigger: ['change']}], quotationPartNo:[{required: true,validator:validatePartNo,message:'', trigger: ['change']}],
quotationPartDesc:[{required: true, message: ' ', trigger: ['change','blur']}], quotationPartDesc:[{required: true, message: ' ', trigger: ['change','blur']}],
umId:[{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']}],
unitDosage:[{required: true,pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
attritionRate:[{required: true, message: ' ', trigger: ['change','blur']},],
transferAmount: [{required: true, message: ' ', trigger: ['change','blur']}],
unitCost:[{required: true,pattern:/^[1-9]\d{0,14}(\.\d{1,16})?$|^0(\.\d{1,16})?$/, message: ' ', trigger: ['change','blur']}],
}, },
quotationProductRule:{ quotationProductRule:{
itemNo:[{required: true,message: ' ',trigger: ['change','blur']}], itemNo:[{required: true,message: ' ',trigger: ['change','blur']}],
itemDesc:[{required: true,message: ' ',trigger: ['change','blur']}], itemDesc:[{required: true,message: ' ',trigger: ['change','blur']}],
valueTypeDb:[{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)}],
defaultValue:[{type: 'number',message:' ', trigger: ['change','blur']}],
maxValue:[{type: 'number',message:' ', trigger: ['change','blur']}],
minValue:[{type: 'number',message:' ',trigger: ['change','blur']}],
itemType:[{required: true,message: ' ',trigger: ['change','blur']}], itemType:[{required: true,message: ' ',trigger: ['change','blur']}],
valueChooseFlag:[{required: true,message: ' ',trigger: ['change','blur']}], valueChooseFlag:[{required: true,message: ' ',trigger: ['change','blur']}],
}, },
@ -2034,7 +2047,10 @@ export default {
{label: "unitOutputQuantity", value: "单位产出量"}, {label: "unitOutputQuantity", value: "单位产出量"},
{label: "outputUnit", value: "产出单位"}, {label: "outputUnit", value: "产出单位"},
{label: "routingEfficiency", value: "效率"}, {label: "routingEfficiency", value: "效率"},
{label: "operatorsNumber", value: "操作工人数"},
{label: "operatorsNumber", value: "操作人员人数"},
{label: "tuneInLevel", value: "调机人员等级"},
{label: "tuneInNumber", value: "调机人数"},
{label: "operatorsLevel", value: "操作人员等级"},
{label: "unitMachineryCost", value: "单位机器成本"}, {label: "unitMachineryCost", value: "单位机器成本"},
{label: "unitLaborCost", value: "单位人工成本"}, {label: "unitLaborCost", value: "单位人工成本"},
{label: "unitManufacturingCost", value: "单位制造费用"}, {label: "unitManufacturingCost", value: "单位制造费用"},
@ -2772,6 +2788,23 @@ export default {
this.quotationDetailFlag = true; this.quotationDetailFlag = true;
}, },
// ============================================================================================== // ==============================================================================================
//
getPersonnelLevelList(){
getPersonnelLevelList(this.$store.state.user.site).then(({data})=>{
if (data && data.code === 0){
this.personnelLevelList = data.data;
if (!this.quotationRouting.operatorsLevel){
this.quotationRouting.operatorsLevel = this.personnelLevelList[0].levelId
}
if (!this.quotationRouting.tuneInLevel){
this.quotationRouting.tuneInLevel = this.personnelLevelList[0].levelId
}
}
this.changeWorkCenterSelect(this.quotationRouting.machiningCenterNo)
}).catch((error)=>{
})
},
// //
searchQuotationPropertiesItem(){ searchQuotationPropertiesItem(){
// //
@ -3077,7 +3110,9 @@ export default {
// //
openQuotationRoutingDialog(){ openQuotationRoutingDialog(){
// this.queryOperationList() // this.queryOperationList()
this.changeWorkCenterSelect(this.quotationRouting.machiningCenterNo)
//
this.getPersonnelLevelList();
}, },
// //
openPartDialog(){ openPartDialog(){
@ -3189,11 +3224,14 @@ export default {
machiningCenterNo:undefined,// machiningCenterNo:undefined,//
machiningCenterDesc:undefined,// machiningCenterDesc:undefined,//
machiningCenterType:undefined,// machiningCenterType:undefined,//
tuneInLevel:undefined,
tuneInNumber:1,//
machiningSetupTime:0,// machiningSetupTime:0,//
unitOutputQuantity:1,// unitOutputQuantity:1,//
outputUnit:'小时',// outputUnit:'小时',//
routingEfficiency:100,// routingEfficiency:100,//
operatorsNumber:1,// operatorsNumber:1,//
operatorsLevel:undefined,//:
unitMachineryCost:0,// unitMachineryCost:0,//
unitLaborCost:0,// unitLaborCost:0,//
unitManufacturingCost:0,// unitManufacturingCost:0,//
@ -3454,13 +3492,13 @@ export default {
// / // /
this.quotationDetailData.systemComputePrice = new Decimal(1).add(new Decimal(this.quotationDetailData.taxRate).div(new Decimal(100))).mul(new Decimal(this.quotationDetailData.systemComputeAmount)).toSignificantDigits().toNumber(); this.quotationDetailData.systemComputePrice = new Decimal(1).add(new Decimal(this.quotationDetailData.taxRate).div(new Decimal(100))).mul(new Decimal(this.quotationDetailData.systemComputeAmount)).toSignificantDigits().toNumber();
this.quotationDetailData.finalTaxedPrice = +this.quotationDetailData.systemComputePrice / +this.quotationDetailData.quotationDetailQuantity; this.quotationDetailData.finalTaxedPrice = +this.quotationDetailData.systemComputePrice / +this.quotationDetailData.quotationDetailQuantity;
this.quotationDetailData.systemComputePrice = new Decimal(new Decimal(this.quotationDetailData.systemComputePrice).toFixed(4,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
this.quotationDetailData.finalTaxedPrice = new Decimal(new Decimal(this.quotationDetailData.finalTaxedPrice).toFixed(4,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
this.quotationDetailData.systemComputePrice = new Decimal(new Decimal(this.quotationDetailData.systemComputePrice).toFixed(16,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
this.quotationDetailData.finalTaxedPrice = new Decimal(new Decimal(this.quotationDetailData.finalTaxedPrice).toFixed(16,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
}, },
// //
computeProfitAmount(){ computeProfitAmount(){
this.quotationDetailData.detailProfitAmount = new Decimal(this.quotationDetailData.detailTotalCost).mul(new Decimal(this.quotationDetailData.detailProfitRate).div(new Decimal(100))).toSignificantDigits().toNumber(); this.quotationDetailData.detailProfitAmount = new Decimal(this.quotationDetailData.detailTotalCost).mul(new Decimal(this.quotationDetailData.detailProfitRate).div(new Decimal(100))).toSignificantDigits().toNumber();
this.quotationDetailData.detailProfitAmount = new Decimal(new Decimal(this.quotationDetailData.detailProfitAmount).toFixed(4,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
this.quotationDetailData.detailProfitAmount = new Decimal(new Decimal(this.quotationDetailData.detailProfitAmount).toFixed(16,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
}, },
// //
computeAmount(){ computeAmount(){
@ -3489,7 +3527,7 @@ export default {
let transferAmountNumber = new Decimal(row.transferAmount).div(new Decimal(this.quotationDetailData.quotationDetailQuantity)); let transferAmountNumber = new Decimal(row.transferAmount).div(new Decimal(this.quotationDetailData.quotationDetailQuantity));
let needNumber =transferAmountNumber.add(new Decimal(1).mul(new Decimal(row.unitDosage).mul(new Decimal(1).sub(new Decimal(row.attritionRate).div(new Decimal(100)))))); let needNumber =transferAmountNumber.add(new Decimal(1).mul(new Decimal(row.unitDosage).mul(new Decimal(1).sub(new Decimal(row.attritionRate).div(new Decimal(100))))));
// = * // = *
row.quotationUnitCost = new Decimal(new Decimal(row.unitCost).mul(needNumber).toFixed(4,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
row.quotationUnitCost = new Decimal(new Decimal(row.unitCost).mul(needNumber).toFixed(16,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
}, },
computeToolQuotationUnitCost(row){ computeToolQuotationUnitCost(row){
// = * / 使寿 // = * / 使寿
@ -3506,7 +3544,7 @@ export default {
row.quotationUnitCost = 0; row.quotationUnitCost = 0;
return return
} }
row.quotationUnitCost = new Decimal(new Decimal(row.unitCost).mul(new Decimal(row.toolQuantity)).div(new Decimal(row.expectedServiceLife)).toFixed(4,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
row.quotationUnitCost = new Decimal(new Decimal(row.unitCost).mul(new Decimal(row.toolQuantity)).div(new Decimal(row.expectedServiceLife)).toFixed(16,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
}, },
// ==================================================== ============================================= // ==================================================== =============================================
changeWorkCenterSelect(val){ changeWorkCenterSelect(val){
@ -3558,7 +3596,7 @@ export default {
total = total.add(new Decimal(0)); total = total.add(new Decimal(0));
} }
} }
this.quotationRouting.unitMachineryCost = new Decimal(total.toFixed(4,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
this.quotationRouting.unitMachineryCost = new Decimal(total.toFixed(16,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
}, },
// //
computeManufacturingCenterCost(){ computeManufacturingCenterCost(){
@ -3590,7 +3628,7 @@ export default {
total = total.add(new Decimal(0)); total = total.add(new Decimal(0));
} }
} }
this.quotationRouting.unitManufacturingCost = new Decimal(total.toFixed(4,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
this.quotationRouting.unitManufacturingCost = new Decimal(total.toFixed(16,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
}, },
computeLaborCenterCost(){ computeLaborCenterCost(){
let laborCenterCost = this.quotationRouting.laborCenterCost; let laborCenterCost = this.quotationRouting.laborCenterCost;
@ -3618,7 +3656,7 @@ export default {
} }
// //
total = total.add(LaborUnitTime.mul(new Decimal(this.quotationRouting.operatorsNumber)).mul(efficiency)).mul(new Decimal(laborCenterCost)); total = total.add(LaborUnitTime.mul(new Decimal(this.quotationRouting.operatorsNumber)).mul(efficiency)).mul(new Decimal(laborCenterCost));
this.quotationRouting.unitLaborCost = new Decimal(total.toFixed(4,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
this.quotationRouting.unitLaborCost = new Decimal(total.toFixed(16,Decimal.ROUND_HALF_UP)).toSignificantDigits().toNumber();
}, },
// //
changeRoutingCost(){ changeRoutingCost(){

Loading…
Cancel
Save