|
@@ -0,0 +1,783 @@ |
|
|
|
|
|
<template> |
|
|
|
|
|
<div class="boxMain"> |
|
|
|
|
|
<a-spin :spinning="loadPage"> |
|
|
|
|
|
<div class="boxFilter bn"> |
|
|
|
|
|
<bnOrderLogList :order-id="orderId" /> |
|
|
|
|
|
<a-button type="primary" @click="fnShowOrderCheck(1)">审核订单</a-button> |
|
|
|
|
|
<a-button v-if="isOutFactory == 1" type="primary" @click="fnShowOrderCheck(2)">复审</a-button> |
|
|
|
|
|
<a-button v-if="!ifEdit" type="primary" :loading="loadOE" @click="BeforeOrderEdit">修改订单</a-button> |
|
|
|
|
|
<a-button v-else @click="ifEdit=false">退出修改</a-button> |
|
|
|
|
|
<a-button type="primary" @click="fnAdjustAmount">调整订单金额</a-button> |
|
|
|
|
|
<a-button type="primary" v-if="orderStatus<70 && orderStatus>=0 && isOutFactory == 1" :loading="loadOffer" @click="fnPcbOffer">申请外发报价</a-button> |
|
|
|
|
|
<bn-set-purchase-status :order-id="orderId" :order-status="orderDetail.orderPurchaseStatus" :getList="getOrderDetail"/> |
|
|
|
|
|
<bnOrderCancel :order-id="orderId" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
<template v-if="ifEdit"> |
|
|
|
|
|
<div class="titsc"><b>修改PCB订单 No:{{orderDetail.orderNo}}</b></div> |
|
|
|
|
|
<template v-if="orderDetail"> |
|
|
|
|
|
<table class="tablesc"> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">板材品牌</td><td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.coreType"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.CoreType" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">TG值</td><td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.coreTg"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.CoreTg" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">宽x高</td><td class="n" colspan="3"><a-input v-model="formPQ.boardWidth" style="width:70px" /> x <a-input v-model="formPQ.boardHeight" style="width:70px" /> mm</td> |
|
|
|
|
|
<td class="t">数量({{formPQ.boardType}})</td><td class="n" colspan="3"><a-input v-model="formPQ.num"/><span>(小于30必须5的倍数,大于30必须10的倍数)</span></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">板层</td> |
|
|
|
|
|
<td class="n" colspan="7"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.boardLayers"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.BoardLayers" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">板厚</td> |
|
|
|
|
|
<td class="n" colspan="7"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.boardThickness"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.BoardThickness" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">阻焊颜色</td> |
|
|
|
|
|
<td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.solderColor"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.SolderColor" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group> |
|
|
|
|
|
</td> |
|
|
|
|
|
<td class="t">字符颜色</td> |
|
|
|
|
|
<td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.fontColor"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.FontColor" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">底层阻焊颜色</td> |
|
|
|
|
|
<td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.solderColorBottom"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.SolderColor" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group> |
|
|
|
|
|
</td> |
|
|
|
|
|
<td class="t">底层字符颜色</td> |
|
|
|
|
|
<td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.fontColorBottom"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.FontColor" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">阻焊覆盖</td><td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.solderCover"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.SolderCover" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group> |
|
|
|
|
|
</td> |
|
|
|
|
|
<td class="t">拼板XY</td><td class="n"> |
|
|
|
|
|
<a-input v-model="formPQ.pinBanX" style="width:70px" /> x <a-input v-model="formPQ.pinBanY" style="width:70px" /> |
|
|
|
|
|
</td> |
|
|
|
|
|
<td class="t">拼板数量</td><td class="n"> |
|
|
|
|
|
<a-input v-model="formPQ.pinBanNum" style="width:70px" /> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">工艺边</td><td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.processEdges"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.ProcessEdges" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">工艺边宽</td><td class="n" colspan="3"><a-input v-model="formPQ.processEdgesWidth" style="width:70px" /></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">V割方式</td><td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.vCut"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.VCut" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">槽间距(高x宽)</td><td class="n" colspan="3"><a-input v-model="formPQ.grooveHeight" style="width:70px" /> x <a-input v-model="formPQ.grooveWidth" style="width:70px" /></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">铜厚(外层)</td><td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.copperThickness"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.CopperThickness" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">焊盘表面处理</td><td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.surfaceFinish"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.SurfaceFinish" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">铜厚(内层)</td><td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.innerCopperThickness"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.InnerCopperThickness" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">沉金厚度</td><td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.imGoldThinckness"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.ImGoldThinckness" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">最小孔径</td><td class="n" colspan="7"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.vias"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.Vias" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">最小线宽/线距</td><td class="n" colspan="7"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.lineWeight"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.LineWeight" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">出货类型</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.boardType"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.BoardType" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">是否接受打叉版</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.acceptCrossed"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.AcceptCrossed" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">BGA数量</td><td class="n"><a-input v-model="formPQ.bgaNum" style="width:70px" /></td> |
|
|
|
|
|
<td class="t">BGA尺寸</td><td class="n"><a-input v-model="formPQ.bgaSize" style="width:70px" /></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">测试方式</td><td class="n" colspan="3"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.flyingProbe"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.FlyingProbe" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">阻抗</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.isImpedance"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.IsImpedance" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">阻抗报告</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.impedanceReport"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.ImpedanceReport" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">孔密度</td><td class="n"><a-input v-model="formPQ.boardHoleNum" style="width:70px" /></td> |
|
|
|
|
|
<td class="t">IPCLevel 出货标准</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.ipcLevel"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.IPCLevel" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">确认生产稿</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.productFileSure"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.ProductFileSure" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">成型方式</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.formingType"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.FormingType" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">出货报告</td><td class="n" colspan="5"> |
|
|
|
|
|
<a-checkbox-group v-model="formPQ.needReportList"> |
|
|
|
|
|
<a-checkbox v-for="(item,index) in typeList.NeedReportList" :key="index" :value="item.dataValue">{{item.caption}}</a-checkbox> |
|
|
|
|
|
</a-checkbox-group></td> |
|
|
|
|
|
<td class="t">CAM高端个性化</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.camEngineer"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.CamEngineer" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">锣程</td><td class="n"><a-input v-model="formPQ.routLength" style="width:70px" /></td> |
|
|
|
|
|
<td class="t">电镀前工艺</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.beforePlating"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.BeforePlating" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">更改料号</td><td class="n"><a-input v-model="formPQ.changeItemNum" /></td> |
|
|
|
|
|
<td class="t">更改周期标识</td><td class="n"><a-input v-model="formPQ.changePeriod" /></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">线路工艺</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.imageTranster"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.ImageTranster" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">阻焊工艺</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.solderTransfer"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.SolderTransfer" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">出货报告材质</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.reportMaterial"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in typeList.ReportMaterial" :key="index" :value="Number(item.dataValue)">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
<td class="t">是否外发</td><td class="n"> |
|
|
|
|
|
<a-radio-group v-model="formPQ.isOutFactory"> |
|
|
|
|
|
<a-radio-button :value="0">否</a-radio-button> |
|
|
|
|
|
<a-radio-button :value="1">是</a-radio-button> |
|
|
|
|
|
</a-radio-group></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">订单备注</td><td class="n" colspan="7"><a-input v-model="formPQ.Note"/></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">特殊工艺</td> |
|
|
|
|
|
<td class="n" colspan="7"> |
|
|
|
|
|
<template v-for="(item,index) in arrSpecialList"> |
|
|
|
|
|
<div class="boxListSpecials" :key="item.typeNo" v-if="item.valueType==1"><div class="t">{{item.caption}}<em>{{selSL[index].typeName}}</em></div><a-input v-model="selSL[index].typeValue" style="width:100px"/></div> |
|
|
|
|
|
<div class="boxListSpecials" :key="item.typeNo" v-else><div class="t">{{item.caption}}<em>{{selSL[index].typeName}}</em></div> |
|
|
|
|
|
<a-radio-group v-model="selSL[index].typeValue"> |
|
|
|
|
|
<a-radio-button v-for="(item,index) in item.processDataList" :key="index" :value="item.dataValue">{{item.caption}}</a-radio-button> |
|
|
|
|
|
</a-radio-group> |
|
|
|
|
|
</div> |
|
|
|
|
|
</template> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
</table> |
|
|
|
|
|
</template> |
|
|
|
|
|
<!-- <a-spin :spinning="loadEdit">--> |
|
|
|
|
|
<div class="boxBn" v-if="ifEdit"><a-button @click="ifEdit=false">退出修改</a-button><a-button :loading="loadEdit" type="danger" @click="upOrderEdit">保存修改</a-button></div> |
|
|
|
|
|
<!-- </a-spin>--> |
|
|
|
|
|
</template> |
|
|
|
|
|
<template v-else> |
|
|
|
|
|
<div class="titsc"><b>基本信息</b></div> |
|
|
|
|
|
<table class="tablesc"> |
|
|
|
|
|
<template v-if="orderDetail"> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">订单编号</td><td class="n">{{orderDetail.orderNo}}</td> |
|
|
|
|
|
<td class="t">订单状态</td><td class="n">{{orderDetail.orderPurchaseStatusValue}}</td> |
|
|
|
|
|
<td class="t">包裹单号</td><td class="n">{{orderDetail.packageNo}}</td> |
|
|
|
|
|
<td class="t">产品类型</td><td class="n">{{orderDetail.proTypeValue}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">客编</td><td class="n">{{orderDetail.memberCode}}</td> |
|
|
|
|
|
<td class="t">业务员</td><td class="n">{{orderDetail.adminName}}</td> |
|
|
|
|
|
<td class="t">订单备注</td><td class="n">{{orderDetail.note}}</td> |
|
|
|
|
|
<td class="t">调整金额(浮动金额)</td><td class="n">{{orderDetail.adjustmentAmount}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">销售价</td><td class="n">{{orderDetail.salePrice}}</td> |
|
|
|
|
|
<td class="t">运费</td><td class="n">{{orderDetail.shipAmount}}</td> |
|
|
|
|
|
<td class="t">物流方式</td><td class="n">{{orderDetail.shipType}}</td> |
|
|
|
|
|
<td class="t">调整运费</td><td class="n">{{orderDetail.adjustmentShipAmount}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">总金额</td><td class="n">{{orderDetail.totalAmount}}</td> |
|
|
|
|
|
<td class="t">实际支付金额</td><td class="n">{{orderDetail.payAmount}}</td> |
|
|
|
|
|
<td class="t">最后支付时间</td><td class="n">{{formatDateTime(orderDetail.payTime)}}</td> |
|
|
|
|
|
<td class="t">PCBA关联单号</td><td class="n">{{orderDetail.pcbaNo}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">返单号</td><td class="n">{{orderDetail.reOrderNo}}</td> |
|
|
|
|
|
<td class="t">根单号</td><td class="n">{{orderDetail.rootOrderNo}}</td> |
|
|
|
|
|
<td class="t">创建时间</td><td class="n">{{formatDateTime(orderDetail.creationTime)}}</td> |
|
|
|
|
|
<td class="t">附件列表</td> |
|
|
|
|
|
<td class="n"> |
|
|
|
|
|
<ul class="listFiles"> |
|
|
|
|
|
<li v-for="(file,fid) in orderDetail.files" :key="fid"><a :href="file.url" target="_blank"><a-icon type="link" /> {{file.name}}</a></li> |
|
|
|
|
|
</ul> |
|
|
|
|
|
</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">是否外发</td><td class="n">{{isOutFactory===0?'非外发':(isOutFactory===1?'外发':'')}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
</template> |
|
|
|
|
|
</table> |
|
|
|
|
|
<div class="titsc"><b>PCB信息</b></div> |
|
|
|
|
|
<table class="tablesc"> |
|
|
|
|
|
<template v-if="pcbDetail.pcbBaseData"> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">租户Id:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.tenantId}}</td> |
|
|
|
|
|
<td class="t">订单id:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.orderId}}</td> |
|
|
|
|
|
<td class="t">订单编号:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.orderNo}}</td> |
|
|
|
|
|
<td class="t">板材大类:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.proType}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">板材:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.coreType}}</td> |
|
|
|
|
|
<td class="t">板材tg值:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.coreTg}}</td> |
|
|
|
|
|
<td class="t">板材code:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.coreTypeCode}}</td> |
|
|
|
|
|
<td class="t">重量:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.totalWeight}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">面积:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.boardArea}}</td> |
|
|
|
|
|
<td class="t">板材品牌:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.boardBrand}}</td> |
|
|
|
|
|
<td class="t">是否为返单:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.isReOrder}}</td> |
|
|
|
|
|
<td class="t">返单编号:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.reOrderNo}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">交期类别:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.deliveryType}}</td> |
|
|
|
|
|
<td class="t">交期天数:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.deliveryDays}}</td> |
|
|
|
|
|
<td class="t">交期:</td> |
|
|
|
|
|
<td class="n">{{formatDateTime(pcbDetail.pcbBaseData.deliveryDate)}}</td> |
|
|
|
|
|
<td class="t">生产单号:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbBaseData.proOrderNo}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
</template> |
|
|
|
|
|
<template v-if="pcbDetail.areaProcessData"> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">宽 x 高:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.boardWidth}} x {{pcbDetail.areaProcessData.boardHeight}}</td> |
|
|
|
|
|
<td class="t">数量:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.num}}</td> |
|
|
|
|
|
<td class="t">pcs数:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.pcsNum}}</td> |
|
|
|
|
|
<td class="t">set数:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.setNum}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">拼版类别:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.boardType}}</td> |
|
|
|
|
|
<td class="t">是否接受打叉板:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.acceptCrossed}}</td> |
|
|
|
|
|
<td class="t">拼版:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.pinBanX}} x {{pcbDetail.areaProcessData.pinBanY}}</td> |
|
|
|
|
|
<td class="t">拼版数:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.pinBanNum}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">工艺边:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.processEdges}}</td> |
|
|
|
|
|
<td class="t">工艺边宽:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.processEdgesWidth}}</td> |
|
|
|
|
|
<td class="t">v割方式:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.vCut}}</td> |
|
|
|
|
|
<td class="t">槽间距-高x宽:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.areaProcessData.grooveHeight}} x {{pcbDetail.areaProcessData.grooveWidth}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">单Set出货尺寸宽x高:</td> |
|
|
|
|
|
<td class="n" colspan="7">{{pcbDetail.areaProcessData.deliverWidth}} x {{pcbDetail.areaProcessData.deliverHeight}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
</template> |
|
|
|
|
|
<template v-if="pcbDetail.areaProcessData"> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">是否需要阻焊:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.personalizedProcessData.isImpedance}}</td> |
|
|
|
|
|
<td class="t">阻焊报告:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.personalizedProcessData.impedanceReport}}</td> |
|
|
|
|
|
<td class="t">确认文件信息:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.personalizedProcessData.productFileSure}}</td> |
|
|
|
|
|
<td class="t">CAM工程师等级:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.personalizedProcessData.camEngineer}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">IPC标准等级:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.personalizedProcessData.ipcLevel}}</td> |
|
|
|
|
|
<td class="t">出货报告:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.personalizedProcessData.needReportList}}</td> |
|
|
|
|
|
<td class="t">报告材质:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.personalizedProcessData.reportMaterial}}</td> |
|
|
|
|
|
<td class="t">BGA数量:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.personalizedProcessData.bgaNum}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">BGA尺寸:</td> |
|
|
|
|
|
<td class="n" colspan="7">{{pcbDetail.areaProcessData.bgaSize}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
</template> |
|
|
|
|
|
<template v-if="pcbDetail.pcbProductionProcessData"> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">更改料号:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbProductionProcessData.changeItemNum}}</td> |
|
|
|
|
|
<td class="t">更改周期标识:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbProductionProcessData.changePeriod}}</td> |
|
|
|
|
|
<td class="t">拼板利用率:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbProductionProcessData.utilizationRate}}</td> |
|
|
|
|
|
<td class="t">沉金面积:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbProductionProcessData.immersionGoldArea}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">锣程:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbProductionProcessData.routLength}}</td> |
|
|
|
|
|
<td class="t">孔密度:</td> |
|
|
|
|
|
<td class="n" colspan="5">{{pcbDetail.pcbProductionProcessData.boardHoleNum}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
</template> |
|
|
|
|
|
<template v-if="pcbDetail.pcbStandardProcessData"> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">板厚:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.boardThickness}}</td> |
|
|
|
|
|
<td class="t">板层:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.boardLayers}}</td> |
|
|
|
|
|
<td class="t">铜厚:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.copperThickness}}</td> |
|
|
|
|
|
<td class="t">内层铜厚:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.innerCopperThickness}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">测试方式:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.flyingProbe}}</td> |
|
|
|
|
|
<td class="t">最小孔径:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.vias}}</td> |
|
|
|
|
|
<td class="t">线宽线距:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.lineWeight}}</td> |
|
|
|
|
|
<td class="t">阻焊颜色:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.solderColor}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">底层阻焊颜色:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.solderColorBottom}}</td> |
|
|
|
|
|
<td class="t">字符颜色:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.fontColor}}</td> |
|
|
|
|
|
<td class="t">底层字符颜色:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.fontColorBottom}}</td> |
|
|
|
|
|
<td class="t">过孔处理:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.solderCover}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">线路工艺:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.imageTranster}}</td> |
|
|
|
|
|
<td class="t">阻焊工艺:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.solderTransfer}}</td> |
|
|
|
|
|
<td class="t">表面处理:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.surfaceFinish}}</td> |
|
|
|
|
|
<td class="t">沉金厚度:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.imGoldThinckness}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td class="t">电镀前工艺:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.beforePlating}}</td> |
|
|
|
|
|
<td class="t">板材耐压值:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.withstandVoltage}}</td> |
|
|
|
|
|
<td class="t">成型方式:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.formingType}}</td> |
|
|
|
|
|
<td class="t">耐压测试:</td> |
|
|
|
|
|
<td class="n">{{pcbDetail.pcbStandardProcessData.wvTest}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
</template> |
|
|
|
|
|
</table> |
|
|
|
|
|
<div class="boxKH20"></div> |
|
|
|
|
|
<div class="titsc"><b>特殊工艺信息</b></div> |
|
|
|
|
|
<table class="tablesa"> |
|
|
|
|
|
<tr v-for="(item,index) in pcbDetail.pcbSpecialProcessData" :key="index"> |
|
|
|
|
|
<td class="t">{{item.typeName}}</td> |
|
|
|
|
|
<td colspan="7">{{item.typeValue}}</td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
</table> |
|
|
|
|
|
</template> |
|
|
|
|
|
</a-spin> |
|
|
|
|
|
<a-modal :title="formOrderCheck.OCType===1?'审核订单':'复审订单'" :visible="showOrderCheck" :confirm-loading="confirmSubmit" @ok="fnOrderCheck" @cancel="showOrderCheck=false"> |
|
|
|
|
|
<a-form-model v-model="formOrderCheck" v-bind="layout"> |
|
|
|
|
|
<a-form-model-item label="审核操作"> |
|
|
|
|
|
<a-radio-group v-model="formOrderCheck.isPass"> |
|
|
|
|
|
<a-radio :value="1">审核通过</a-radio> |
|
|
|
|
|
<a-radio :value="0">审核不通过驳回</a-radio> |
|
|
|
|
|
</a-radio-group> |
|
|
|
|
|
</a-form-model-item> |
|
|
|
|
|
<!-- <a-form-model-item label="备注"><a-textarea v-model="formOrderCheck.remark" placeholder="" :rows="3" /></a-form-model-item>--> |
|
|
|
|
|
</a-form-model> |
|
|
|
|
|
</a-modal> |
|
|
|
|
|
</div> |
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
|
|
import { |
|
|
|
|
|
OrderPcbDetail, |
|
|
|
|
|
OrderPcbCheck, |
|
|
|
|
|
QuotePcbProcessType, |
|
|
|
|
|
OrderPcbEditDetail, |
|
|
|
|
|
putOrderPcb, |
|
|
|
|
|
OrderPcbOffer |
|
|
|
|
|
} from "@/services/order/Order"; |
|
|
|
|
|
import {formatDate} from "@/services/Common"; |
|
|
|
|
|
import bnOrderLogList from "@/pages/Common/bnOrderLogList"; |
|
|
|
|
|
import bnOrderCancel from "@/pages/Common/bnOrderCancel"; |
|
|
|
|
|
import BnSetPurchaseStatus from "@/pages/Common/bnSetPurchaseStatus"; |
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
|
|
name: 'PcbDetail', |
|
|
|
|
|
components: {bnOrderLogList,bnOrderCancel,BnSetPurchaseStatus}, |
|
|
|
|
|
data(){ |
|
|
|
|
|
return{ |
|
|
|
|
|
loadPage:true,showOrderCheck:false,confirmSubmit:false,loadOE:false,ifEdit:false,loadEdit:false,loadOffer:false, |
|
|
|
|
|
orderId:'',orderStatus:0,orderDetail:{},pcbDetail:{},isOutFactory:'', |
|
|
|
|
|
formOrderCheck:{orderId:'',isPass:1,remark:'',OCType:''}, |
|
|
|
|
|
layout: { |
|
|
|
|
|
labelCol: { span:7 }, |
|
|
|
|
|
wrapperCol: { span:15 }, |
|
|
|
|
|
}, |
|
|
|
|
|
formPQ:{},typeList:{},arrSpecialList:[],selSL:[], |
|
|
|
|
|
PcbProcessType:{}, |
|
|
|
|
|
|
|
|
|
|
|
// formPQ:{ |
|
|
|
|
|
// orderId:'', |
|
|
|
|
|
// boardWidth:0, |
|
|
|
|
|
// boardHeight:0, |
|
|
|
|
|
// boardThickness:0, |
|
|
|
|
|
// boardLayers:0, |
|
|
|
|
|
// num:0, |
|
|
|
|
|
// solderColor:'', |
|
|
|
|
|
// solderColorBottom:'', |
|
|
|
|
|
// fontColor:'', |
|
|
|
|
|
// fontColorBottom:'', |
|
|
|
|
|
// solderCover:'', |
|
|
|
|
|
// pinBanX:0, |
|
|
|
|
|
// pinBanY:0, |
|
|
|
|
|
// pinBanNum:0, |
|
|
|
|
|
// processEdges:'', |
|
|
|
|
|
// processEdgesWidth:0, |
|
|
|
|
|
// vCut:'', |
|
|
|
|
|
// grooveHeight:0, |
|
|
|
|
|
// grooveWidth:0, |
|
|
|
|
|
// copperThickness:0, |
|
|
|
|
|
// innerCopperThickness:0, |
|
|
|
|
|
// surfaceFinish:'', |
|
|
|
|
|
// flyingProbe:'', |
|
|
|
|
|
// vias:0, |
|
|
|
|
|
// lineWeight:'', |
|
|
|
|
|
// coreType:'', |
|
|
|
|
|
// coreTg:'', |
|
|
|
|
|
// boardType:'', |
|
|
|
|
|
// acceptCrossed:'', |
|
|
|
|
|
// bgaNum:0, |
|
|
|
|
|
// bgaSize:0, |
|
|
|
|
|
// imGoldThinckness:0, |
|
|
|
|
|
// impedanceReport:0, |
|
|
|
|
|
// isImpedance:0, |
|
|
|
|
|
// boardHoleNum:0, |
|
|
|
|
|
// ipcLevel:0, |
|
|
|
|
|
// needReportList:'', |
|
|
|
|
|
// productFileSure:0, |
|
|
|
|
|
// camEngineer:0, |
|
|
|
|
|
// aluminumType:'', |
|
|
|
|
|
// withstandVoltage:'', |
|
|
|
|
|
// formingType:'', |
|
|
|
|
|
// routLength:0, |
|
|
|
|
|
// beforePlating:'', |
|
|
|
|
|
// changeItemNum:0, |
|
|
|
|
|
// changePeriod:0, |
|
|
|
|
|
// imageTranster:'', |
|
|
|
|
|
// utilizationRate:0, |
|
|
|
|
|
// solderTransfer:'', |
|
|
|
|
|
// wvTest:'', |
|
|
|
|
|
// halfHole:0, |
|
|
|
|
|
// reportMaterial:0, |
|
|
|
|
|
// Note:'', |
|
|
|
|
|
// SpecialProcess:[], |
|
|
|
|
|
// } |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
mounted() { |
|
|
|
|
|
this.orderId = this.$route.query.id; |
|
|
|
|
|
this.getOrderDetail(); |
|
|
|
|
|
}, |
|
|
|
|
|
methods:{ |
|
|
|
|
|
async getOrderDetail(){ |
|
|
|
|
|
this.loadPage = true; |
|
|
|
|
|
let res = await OrderPcbDetail(this.orderId); |
|
|
|
|
|
this.pcbDetail = res.pcbDetail; |
|
|
|
|
|
this.isOutFactory = res.pcbDetail.pcbBaseData.isOutFactory; |
|
|
|
|
|
this.orderDetail = res.orderDetail; |
|
|
|
|
|
this.orderStatus = res.orderDetail.orderPurchaseStatus; |
|
|
|
|
|
this.loadPage = false; |
|
|
|
|
|
}, |
|
|
|
|
|
formatDateTime(time){ |
|
|
|
|
|
return formatDate(time,'yyyy-MM-dd hh:mm'); |
|
|
|
|
|
}, |
|
|
|
|
|
fnShowOrderCheck(key){ |
|
|
|
|
|
this.formOrderCheck.OCType = key; |
|
|
|
|
|
this.showOrderCheck = true; |
|
|
|
|
|
}, |
|
|
|
|
|
//审核订单 |
|
|
|
|
|
fnOrderCheck(){ |
|
|
|
|
|
this.confirmSubmit = true; |
|
|
|
|
|
this.formOrderCheck.orderId = this.orderId; |
|
|
|
|
|
OrderPcbCheck(this.formOrderCheck).then(res=>{ |
|
|
|
|
|
this.$message.success('设置成功!'); |
|
|
|
|
|
this.showOrderCheck = false; |
|
|
|
|
|
this.confirmSubmit = false; |
|
|
|
|
|
this.getOrderDetail() |
|
|
|
|
|
}).catch(err=>{ |
|
|
|
|
|
this.confirmSubmit = false; |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
//修改订单 |
|
|
|
|
|
async BeforeOrderEdit(){ |
|
|
|
|
|
this.loadOE = true; |
|
|
|
|
|
|
|
|
|
|
|
this.PcbProcessType = await QuotePcbProcessType(this.orderDetail.tenantId); |
|
|
|
|
|
let resOPED = await OrderPcbEditDetail(this.orderId); |
|
|
|
|
|
this.typeList={ |
|
|
|
|
|
BoardLayers:this.resEditPP('BoardLayers'), |
|
|
|
|
|
BoardThickness:this.resEditPP('BoardThickness'), |
|
|
|
|
|
SolderColor:this.resEditPP('SolderColor'), |
|
|
|
|
|
FontColor:this.resEditPP('FontColor'), |
|
|
|
|
|
SolderCover:this.resEditPP('SolderCover'), |
|
|
|
|
|
ProcessEdges:this.resEditPP('ProcessEdges'), |
|
|
|
|
|
VCut:this.resEditPP('VCut'), |
|
|
|
|
|
CopperThickness:this.resEditPP('CopperThickness'), |
|
|
|
|
|
InnerCopperThickness:this.resEditPP('InnerCopperThickness'), |
|
|
|
|
|
SurfaceFinish:this.resEditPP('SurfaceFinish'), |
|
|
|
|
|
FlyingProbe:this.resEditPP('FlyingProbe'), |
|
|
|
|
|
Vias:this.resEditPP('Vias'), |
|
|
|
|
|
LineWeight:this.resEditPP('LineWeight'), |
|
|
|
|
|
CoreType:this.resEditPP('CoreType'), |
|
|
|
|
|
CoreTg:this.resEditPP('CoreTg'), |
|
|
|
|
|
BoardType:this.resEditPP('BoardType'), |
|
|
|
|
|
AcceptCrossed:this.resEditPP('AcceptCrossed'), |
|
|
|
|
|
ImGoldThinckness:this.resEditPP('ImGoldThinckness'), |
|
|
|
|
|
IsImpedance:this.resEditPP('IsImpedance'), |
|
|
|
|
|
ImpedanceReport:this.resEditPP('ImpedanceReport'), |
|
|
|
|
|
IPCLevel:this.resEditPP('IPCLevel'), |
|
|
|
|
|
NeedReportList:this.resEditPP('NeedReportList'), |
|
|
|
|
|
ProductFileSure:this.resEditPP('ProductFileSure'), |
|
|
|
|
|
CamEngineer:this.resEditPP('CamEngineer'), |
|
|
|
|
|
FormingType:this.resEditPP('FormingType'), |
|
|
|
|
|
BeforePlating:this.resEditPP('BeforePlating'), |
|
|
|
|
|
ImageTranster:this.resEditPP('ImageTranster'), |
|
|
|
|
|
SolderTransfer:this.resEditPP('SolderTransfer'), |
|
|
|
|
|
ReportMaterial:this.resEditPP('ReportMaterial'), |
|
|
|
|
|
} |
|
|
|
|
|
this.loadOE = false; |
|
|
|
|
|
this.formPQ={ |
|
|
|
|
|
orderId:this.orderId, |
|
|
|
|
|
boardWidth:resOPED.areaProcessData.boardWidth, |
|
|
|
|
|
boardHeight:resOPED.areaProcessData.boardHeight, |
|
|
|
|
|
boardThickness:resOPED.pcbStandardProcessData.boardThickness, |
|
|
|
|
|
boardLayers:resOPED.pcbStandardProcessData.boardLayers, |
|
|
|
|
|
num:resOPED.areaProcessData.num, |
|
|
|
|
|
solderColor:resOPED.pcbStandardProcessData.solderColor, |
|
|
|
|
|
solderColorBottom:resOPED.pcbStandardProcessData.solderColorBottom, |
|
|
|
|
|
fontColor:resOPED.pcbStandardProcessData.fontColor, |
|
|
|
|
|
fontColorBottom:resOPED.pcbStandardProcessData.fontColorBottom, |
|
|
|
|
|
solderCover:resOPED.pcbStandardProcessData.solderCover, |
|
|
|
|
|
pinBanX:resOPED.areaProcessData.pinBanX, |
|
|
|
|
|
pinBanY:resOPED.areaProcessData.pinBanY, |
|
|
|
|
|
pinBanNum:resOPED.areaProcessData.pinBanNum, |
|
|
|
|
|
processEdges:resOPED.areaProcessData.processEdges, |
|
|
|
|
|
processEdgesWidth:resOPED.areaProcessData.processEdgesWidth, |
|
|
|
|
|
vCut:resOPED.areaProcessData.vCut, |
|
|
|
|
|
grooveHeight:resOPED.areaProcessData.grooveHeight, |
|
|
|
|
|
grooveWidth:resOPED.areaProcessData.grooveWidth, |
|
|
|
|
|
copperThickness:resOPED.pcbStandardProcessData.copperThickness, |
|
|
|
|
|
innerCopperThickness:resOPED.pcbStandardProcessData.innerCopperThickness, |
|
|
|
|
|
surfaceFinish:resOPED.pcbStandardProcessData.surfaceFinish, |
|
|
|
|
|
flyingProbe:resOPED.pcbStandardProcessData.flyingProbe, |
|
|
|
|
|
vias:resOPED.pcbStandardProcessData.vias, |
|
|
|
|
|
lineWeight:resOPED.pcbStandardProcessData.lineWeight, |
|
|
|
|
|
coreType:resOPED.pcbBaseData.coreType, |
|
|
|
|
|
coreTg:resOPED.pcbBaseData.coreTg, |
|
|
|
|
|
boardType:resOPED.areaProcessData.boardType, |
|
|
|
|
|
acceptCrossed:resOPED.areaProcessData.acceptCrossed, |
|
|
|
|
|
bgaNum:resOPED.personalizedProcessData.bgaNum, |
|
|
|
|
|
bgaSize:resOPED.personalizedProcessData.bgaSize, |
|
|
|
|
|
imGoldThinckness:resOPED.pcbStandardProcessData.imGoldThinckness, |
|
|
|
|
|
impedanceReport:resOPED.personalizedProcessData.impedanceReport, |
|
|
|
|
|
// impedanceSize:resOPED.personalizedProcessData.impedanceSize, |
|
|
|
|
|
isImpedance:resOPED.personalizedProcessData.isImpedance, |
|
|
|
|
|
boardHoleNum:resOPED.pcbProductionProcessData.boardHoleNum, |
|
|
|
|
|
ipcLevel:resOPED.personalizedProcessData.ipcLevel, |
|
|
|
|
|
needReportList:resOPED.personalizedProcessData.needReportList.split(','), |
|
|
|
|
|
productFileSure:resOPED.personalizedProcessData.productFileSure, |
|
|
|
|
|
camEngineer:resOPED.personalizedProcessData.camEngineer, |
|
|
|
|
|
// aluminumType:resOPED.areaProcessData.aluminumType, |
|
|
|
|
|
withstandVoltage:resOPED.pcbStandardProcessData.withstandVoltage, |
|
|
|
|
|
formingType:resOPED.pcbStandardProcessData.formingType, |
|
|
|
|
|
routLength:resOPED.pcbProductionProcessData.routLength, |
|
|
|
|
|
beforePlating:resOPED.pcbStandardProcessData.beforePlating, |
|
|
|
|
|
changeItemNum:resOPED.pcbProductionProcessData.changeItemNum, |
|
|
|
|
|
changePeriod:resOPED.pcbProductionProcessData.changePeriod, |
|
|
|
|
|
imageTranster:resOPED.pcbStandardProcessData.imageTranster, |
|
|
|
|
|
utilizationRate:resOPED.pcbProductionProcessData.utilizationRate, |
|
|
|
|
|
solderTransfer:resOPED.pcbStandardProcessData.solderTransfer, |
|
|
|
|
|
wvTest:resOPED.pcbStandardProcessData.wvTest, |
|
|
|
|
|
// halfHole:resOPED.areaProcessData.halfHole, |
|
|
|
|
|
reportMaterial:resOPED.personalizedProcessData.reportMaterial, |
|
|
|
|
|
IsOutFactory:resOPED.pcbBaseData.isOutFactory, |
|
|
|
|
|
// Note:resOPED.orderDetail.note, |
|
|
|
|
|
Note:'', |
|
|
|
|
|
SpecialProcess:[], |
|
|
|
|
|
} |
|
|
|
|
|
//特殊工艺取类 |
|
|
|
|
|
let arrSpecial = []; |
|
|
|
|
|
for (let i in this.PcbProcessType){ |
|
|
|
|
|
let ppt = this.PcbProcessType[i]; |
|
|
|
|
|
if(ppt.isSpecial === 1){ |
|
|
|
|
|
arrSpecial.push(ppt); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
this.arrSpecialList = arrSpecial; |
|
|
|
|
|
let fmSP = []; |
|
|
|
|
|
for (let i in arrSpecial){ |
|
|
|
|
|
fmSP.push({typeName:arrSpecial[i].typeName,typeValue:''}); |
|
|
|
|
|
} |
|
|
|
|
|
for(let i in fmSP){ |
|
|
|
|
|
let rSP = resOPED.pcbSpecialProcessData; |
|
|
|
|
|
for (let rid in rSP){ |
|
|
|
|
|
if(fmSP[i].typeName==rSP[rid].typeName){ |
|
|
|
|
|
fmSP[i].typeValue = rSP[rid].typeValue; |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
this.selSL = fmSP; |
|
|
|
|
|
this.ifEdit = true; |
|
|
|
|
|
}, |
|
|
|
|
|
upOrderEdit(){ |
|
|
|
|
|
let selSL = this.selSL; |
|
|
|
|
|
let selSLDB = {}; |
|
|
|
|
|
for (let i in selSL){ |
|
|
|
|
|
let ts = selSL[i]; |
|
|
|
|
|
if (ts.typeValue!='' && ts.typeValue!='0'){ |
|
|
|
|
|
selSLDB[ts.typeName] = ts.typeValue.toString(); |
|
|
|
|
|
// selSLDB.push(obj); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
this.formPQ.SpecialProcess = selSLDB; |
|
|
|
|
|
this.loadEdit = true; |
|
|
|
|
|
let params = {...this.formPQ} |
|
|
|
|
|
params.needReportList = params.needReportList.toString(); |
|
|
|
|
|
putOrderPcb(params).then(res=>{ |
|
|
|
|
|
this.$message.success('修改成功!'); |
|
|
|
|
|
this.ifEdit = false; |
|
|
|
|
|
this.loadEdit = false; |
|
|
|
|
|
this.getOrderDetail() |
|
|
|
|
|
}).catch(err=>{ |
|
|
|
|
|
this.loadEdit = false; |
|
|
|
|
|
}) |
|
|
|
|
|
}, |
|
|
|
|
|
//申请外发报价 |
|
|
|
|
|
async fnPcbOffer(){ |
|
|
|
|
|
this.loadOffer = true; |
|
|
|
|
|
try{ |
|
|
|
|
|
await OrderPcbOffer(this.orderId) |
|
|
|
|
|
this.$message.success('提交成功!'); |
|
|
|
|
|
}catch (e) { |
|
|
|
|
|
console.log(e); |
|
|
|
|
|
}finally { |
|
|
|
|
|
this.loadOffer = false; |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
//调整价格 |
|
|
|
|
|
fnAdjustAmount(){ |
|
|
|
|
|
this.$message.warning('emmm.. 暂不支持调价!'); |
|
|
|
|
|
}, |
|
|
|
|
|
//参数获取返回解析 |
|
|
|
|
|
resEditPP(key){ |
|
|
|
|
|
for (let i in this.PcbProcessType){ |
|
|
|
|
|
let ppt = this.PcbProcessType[i]; |
|
|
|
|
|
if(ppt.typeName==key){ |
|
|
|
|
|
let arr = ppt.processDataList.sort((a,b)=>a.dataValue - b.dataValue); |
|
|
|
|
|
return arr; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
|
|
<style scoped> |
|
|
|
|
|
td.t{color:#000} |
|
|
|
|
|
.ant-radio-button-wrapper.ant-radio-button-wrapper-checked{background-color:#f90; color:#fff} |
|
|
|
|
|
.ant-radio-button-wrapper{padding:0 10px;} |
|
|
|
|
|
</style> |