|  |  | 
 |  |  |           <el-input v-model="declareObj.partDesc" :disabled="declareType !== 'add'" class="addObj-info" clearable | 
 |  |  |             placeholder="" size="small"></el-input> | 
 |  |  |         </el-form-item> | 
 |  |  |         <el-form-item class="declareObj-form-item" label="抵达的采购数量:" prop="qtyArrived"> | 
 |  |  |           <el-input v-model="declareObj.qtyArrived" :disabled="declareType !== 'add'" class="addObj-info" clearable | 
 |  |  |         <el-form-item class="declareObj-form-item" label="抵达的采购数量:" prop="purQtyInStore"> | 
 |  |  |           <el-input v-model="declareObj.purQtyInStore" :disabled="declareType !== 'add'" class="addObj-info" clearable | 
 |  |  |             placeholder="" size="small"></el-input> | 
 |  |  |         </el-form-item> | 
 |  |  |         <el-form-item v-if="declareType !== 'add'" class="declareObj-form-item" label="供应商编号:" prop="supplierId"> | 
 |  |  | 
 |  |  |     <!--数据查看弹框--> | 
 |  |  |     <data-look-visible v-if="dataDialogVisible" ref="dataDialogVisible" :dataDialogVisible="dataDialogVisible" | 
 |  |  |       :dataLookInfo="dataLookInfo" @closeDataLook="closeDataLook"></data-look-visible> | 
 |  |  |     <el-dialog | 
 |  |  |       title="订单拆分" | 
 |  |  |       :visible.sync="orderSplitDialogVisible" | 
 |  |  |       :before-close="resetOrderSplitData" | 
 |  |  |       :close-on-click-modal="false" | 
 |  |  |       :close-on-press-escape="false" | 
 |  |  |       :show-close="!confirmSplitOrderLoading" | 
 |  |  |       width="60%"> | 
 |  |  |       <div> | 
 |  |  |         <el-divider content-position="left">订单主体</el-divider> | 
 |  |  |         <el-table | 
 |  |  |           :data="orderSplitBasicData" | 
 |  |  |           border | 
 |  |  |           :header-cell-style="{textAlign:'center'}" | 
 |  |  |           :cell-style="{textAlign:'center'}" | 
 |  |  |         > | 
 |  |  |           <el-table-column label="订单编号" prop="orderNo" :min-width="100" width="100"></el-table-column> | 
 |  |  |           <el-table-column label="零件编号" prop="partNo" :min-width="150" width="150" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="零件描述" prop="partDesc" :min-width="150" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="抵达的采购数量" prop="purQtyInStore" :min-width="120" width="120"></el-table-column> | 
 |  |  |           <el-table-column label="供应商编号" prop="supplierId" :min-width="100" width="100" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="供应商名称" prop="supplierName" :min-width="100" width="100" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="批号" prop="lotBatchNo" :min-width="100" width="100"></el-table-column> | 
 |  |  |           <el-table-column label="单位" prop="buyUnitMeas" :min-width="100" width="100"></el-table-column> | 
 |  |  |         </el-table> | 
 |  |  |         <el-divider content-position="left">拆分详情</el-divider> | 
 |  |  |         <el-row> | 
 |  |  |           <el-col :span="12"> | 
 |  |  |             <el-checkbox v-model="pushToMes"><span style="font-weight: bold">同步到MES</span></el-checkbox> | 
 |  |  |           </el-col> | 
 |  |  |           <el-col :span="12"> | 
 |  |  |             <div style="width:100%;text-align: right;margin-bottom:5px"> | 
 |  |  |               <el-upload | 
 |  |  |                 style="display:inline-block;margin: 0 8px;" | 
 |  |  |                 ref="upload" | 
 |  |  |                 class="upload-demo" | 
 |  |  |                 :headers="uploadHeader" | 
 |  |  |                 :action="splitOrderAction" | 
 |  |  |                 :data="{ifsId:declareObj.id}" | 
 |  |  |                 :on-change="beforeUpload" | 
 |  |  |                 :on-error="onError" | 
 |  |  |                 :on-success="handleSuccess" | 
 |  |  |                 accept=".xls,.xlsx" | 
 |  |  |                 :show-file-list="false" | 
 |  |  |                 :multiple="false"> | 
 |  |  |                 <el-button size="mini" type="primary" :loading="upLoading">导入</el-button> | 
 |  |  |               </el-upload> | 
 |  |  |               <el-button size="mini" type="primary" @click="downloadTemplate">下载模板</el-button> | 
 |  |  |             </div> | 
 |  |  |           </el-col> | 
 |  |  |         </el-row> | 
 |  |  |         <el-table | 
 |  |  |           :data="orderSplitDetailData" | 
 |  |  |           v-loading="detailDataLoading" | 
 |  |  |           :header-cell-style="{textAlign:'center'}" | 
 |  |  |           :cell-style="{textAlign:'center'}" | 
 |  |  |           border> | 
 |  |  |           <el-table-column label="零件编号" prop="partNo" :min-width="150" width="150" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="系统编号" prop="systemNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="规格" prop="model" :min-width="90" width="90" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="零件批号" prop="lotBatchNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="库存数量1" prop="length" :min-width="100" width="100" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="库存数量2" prop="qtyStock" :min-width="100" width="100" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="绝缘颜色" prop="insulationColor" :min-width="90" width="90" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="外护颜色" prop="outerColor" :min-width="90" width="90" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="印字信息" prop="letteringInfo" :min-width="90" width="90" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="盘号" prop="drumNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="库位编号" prop="locationNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="库位来源" prop="stockSource" :min-width="90" width="90" show-overflow-tooltip></el-table-column> | 
 |  |  |           <el-table-column label="备注" prop="remark" :min-width="90" show-overflow-tooltip></el-table-column> | 
 |  |  |         </el-table> | 
 |  |  |       </div> | 
 |  |  |       <span slot="footer" class="dialog-footer"> | 
 |  |  |     <el-button @click="resetOrderSplitData()" :disabled="confirmSplitOrderLoading">取 消</el-button> | 
 |  |  |     <el-button type="primary" @click="confirmSplitOrder()" :loading="confirmSplitOrderLoading">确 定</el-button> | 
 |  |  |   </span> | 
 |  |  |     </el-dialog> | 
 |  |  |   </div> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | 
 |  |  |   getIfsByFinish, | 
 |  |  |   getIfsOrder, | 
 |  |  |   getWarehouseSubmit, inspectionReport, inspectionReportOne, rawAllExport, | 
 |  |  |   revokeInspectionReport | 
 |  |  |   revokeInspectionReport,downloadTemplate,confirmSplitOrder | 
 |  |  | } from '@/api/business/materialInspection' | 
 |  |  | import limsTable from "@/components/Table/lims-table.vue"; | 
 |  |  | import {transformExcel} from '@/utils/file' | 
 |  |  |  | 
 |  |  | export default { | 
 |  |  |   name: 'RawMaterialInspection', | 
 |  |  |   // import 引入的组件需要注入到对象中才能使用 | 
 |  |  |   components: { limsTable, DataLookVisible }, | 
 |  |  |   computed:{ | 
 |  |  |     splitOrderAction(){ | 
 |  |  |       return this.javaApi + '/rawMaterialOrder/importSplitOrderData' | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   data() { | 
 |  |  |     // 这里存放数据 | 
 |  |  |     return { | 
 |  |  |       confirmSplitOrderLoading: false, | 
 |  |  |       detailDataLoading: false, | 
 |  |  |       pushToMes:false,//是否同步到mes | 
 |  |  |       orderSplitDialogVisible: false, | 
 |  |  |       orderSplitBasicData:[],//订单拆分主体表格数据 | 
 |  |  |       orderSplitDetailData:[],//订单拆分详情表格数据 | 
 |  |  |       tableData: [], | 
 |  |  |       tableLoading: false, | 
 |  |  |       column: [ | 
 |  |  | 
 |  |  |           } | 
 |  |  |         }, | 
 |  |  |         { label: '订单号', prop: 'orderNo' }, | 
 |  |  |         { label: '抵达的采购数量', prop: 'qtyArrived', width: '140px', }, | 
 |  |  |         { label: '抵达的采购数量', prop: 'purQtyInStore', width: '140px', }, | 
 |  |  |         { label: '批号', prop: 'updateBatchNo' }, | 
 |  |  |         { label: '零件号', prop: 'partNo' }, | 
 |  |  |         { label: '零件描述', prop: 'partDesc' }, | 
 |  |  | 
 |  |  |           } | 
 |  |  |         }, | 
 |  |  |         { label: '订单号', prop: 'orderNo' }, | 
 |  |  |         { label: '抵达的采购数量', prop: 'qtyArrived' }, | 
 |  |  |         { label: '抵达的采购数量', prop: 'purQtyInStore' }, | 
 |  |  |         { label: '报检时间', prop: 'declareDate' }, | 
 |  |  |         { label: '批号', prop: 'updateBatchNo' }, | 
 |  |  |         { label: '零件号', prop: 'partNo' }, | 
 |  |  | 
 |  |  |         orderNo: '', // 订单号 | 
 |  |  |         partNo: '', // 零件号 | 
 |  |  |         partDesc: '', // 零件描述 | 
 |  |  |         qtyArrived: '', // 抵达的采购数量 | 
 |  |  |         purQtyInStore: '', // 抵达的采购数量 | 
 |  |  |         supplierId: '', // 供应商编号 | 
 |  |  |         supplierName: '', // 供应商名称 | 
 |  |  |         updateBatchNo: '', // 批号 | 
 |  |  | 
 |  |  |         partDesc: [ | 
 |  |  |           { required: true, message: '请填写零件描述', trigger: 'blur' } | 
 |  |  |         ], | 
 |  |  |         qtyArrived: [ | 
 |  |  |         purQtyInStore: [ | 
 |  |  |           { required: false, message: '请填写抵达的采购数量', trigger: 'blur' } | 
 |  |  |         ], | 
 |  |  |         supplierName: [ | 
 |  |  | 
 |  |  |         { label: '未下单', value: 3 }, | 
 |  |  |         { label: '让步放行', value: 4 }, | 
 |  |  |       ], | 
 |  |  |       outLoading: false | 
 |  |  |       outLoading: false, | 
 |  |  |       upLoading: false, | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   mounted() { | 
 |  |  | 
 |  |  |   }, | 
 |  |  |   // 方法集合 | 
 |  |  |   methods: { | 
 |  |  |     resetOrderSplitData(){ | 
 |  |  |       this.orderSplitBasicData = [] | 
 |  |  |       this.orderSplitDetailData = [] | 
 |  |  |       this.pushToMes = false | 
 |  |  |       this.$nextTick(()=>{ | 
 |  |  |         this.confirmSplitOrderLoading = false | 
 |  |  |         this.orderSplitDialogVisible = false | 
 |  |  |         this.refreshTable() | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     confirmSplitOrder(){ | 
 |  |  |       if(this.orderSplitDetailData.length===0){ | 
 |  |  |         this.$message.error('请先导入拆分数据') | 
 |  |  |         return | 
 |  |  |       } | 
 |  |  |       this.confirmSplitOrderLoading = true | 
 |  |  |       let requestData = { | 
 |  |  |         ifsId: this.declareObj.id, | 
 |  |  |         splitDetailList: this.orderSplitDetailData, | 
 |  |  |         pushToMes: this.pushToMes | 
 |  |  |       } | 
 |  |  |       confirmSplitOrder(requestData).then(res=>{ | 
 |  |  |         if(res.code===200 && res.data){ | 
 |  |  |           this.$message.success('订单拆分成功') | 
 |  |  |         }else if(this.pushToMes && res.code===200 && !res.data){ | 
 |  |  |           this.$message.success('订单拆分成功,同步MES失败,请联系管理员') | 
 |  |  |         } else { | 
 |  |  |           let msg = res.msg || res.message | 
 |  |  |           this.$message({ | 
 |  |  |             message: '订单拆分失败: '+msg, | 
 |  |  |             dangerouslyUseHTMLString: true, | 
 |  |  |             type: 'error' | 
 |  |  |           }); | 
 |  |  |         } | 
 |  |  |         this.resetOrderSplitData() | 
 |  |  |       }).catch(error=>{ | 
 |  |  |         console.error(error) | 
 |  |  |         this.confirmSplitOrderLoading = false | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     handleSuccess(response) { | 
 |  |  |       if (response.code === 200) { | 
 |  |  |         this.$message.success('上传成功'); | 
 |  |  |         this.orderSplitDetailData = response.data | 
 |  |  |       } else { | 
 |  |  |         let msg = response.msg || response.message | 
 |  |  |         this.$message({ | 
 |  |  |           message: '上传失败: '+msg, | 
 |  |  |           dangerouslyUseHTMLString: true, | 
 |  |  |           type: 'error' | 
 |  |  |         }); | 
 |  |  |       } | 
 |  |  |       this.$nextTick(()=>{ | 
 |  |  |         this.upLoading = false; | 
 |  |  |         this.detailDataLoading = false | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     onError(err, file, fileList) { | 
 |  |  |       this.$message.error('上传失败: '+err) | 
 |  |  |       this.$refs.upload.clearFiles() | 
 |  |  |     }, | 
 |  |  |     beforeUpload(file) { | 
 |  |  |       if (file.size > 1024 * 1024 * 10) { | 
 |  |  |         this.$message.error('上传文件不超过10M'); | 
 |  |  |         this.$refs.upload.clearFiles() | 
 |  |  |         return false; | 
 |  |  |       } else { | 
 |  |  |         this.upLoading = true; | 
 |  |  |         this.detailDataLoading = true | 
 |  |  |         return true; | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     downloadTemplate(){ | 
 |  |  |       downloadTemplate().then(res=>{ | 
 |  |  |         transformExcel(res,'订单拆分导入模板.xlsx') | 
 |  |  |       }).catch(error=>{ | 
 |  |  |         console.error(error) | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     // 切换tab表格 | 
 |  |  |     handleTab(m) { | 
 |  |  |       this.tabIndex = m; | 
 |  |  | 
 |  |  |     // 打开报检确认弹框 | 
 |  |  |     declare(row) { | 
 |  |  |       this.declareObj = { ...row } | 
 |  |  |       this.declareDialogVisible = true | 
 |  |  |       this.declareType = 'edit' | 
 |  |  |       if(row.updateBatchNo && row.updateBatchNo==='*'){ | 
 |  |  |         this.$confirm('是否要拆分该订单?', '提示', { | 
 |  |  |           confirmButtonText: '是', | 
 |  |  |           cancelButtonText: '否', | 
 |  |  |           type: 'warning' | 
 |  |  |         }).then(() => { | 
 |  |  |           this.orderSplitBasicData = [row] | 
 |  |  |           this.orderSplitDialogVisible = true | 
 |  |  |         }).catch(() => { | 
 |  |  |           this.declareDialogVisible = true | 
 |  |  |         }); | 
 |  |  |       }else{ | 
 |  |  |         this.declareDialogVisible = true | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     // 提交报检 | 
 |  |  |     submitDeclare() { | 
 |  |  | 
 |  |  |         orderNo: '', // 订单号 | 
 |  |  |         partNo: '', // 零件号 | 
 |  |  |         partDesc: '', // 零件描述 | 
 |  |  |         qtyArrived: '', // 抵达的采购数量 | 
 |  |  |         purQtyInStore: '', // 抵达的采购数量 | 
 |  |  |         supplierId: '', // 供应商编号 | 
 |  |  |         supplierName: '', // 供应商名称 | 
 |  |  |         updateBatchNo: '', // 批号 |