|
|
@ -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(){ |
|
|
|