供应商发票确认功能提交
							parent
							
								
									7ef7963fb1
								
							
						
					
					
						commit
						97e4d637b1
					
				| @ -0,0 +1,497 @@ | ||||
| <template> | ||||
|   <div> | ||||
|     <el-card> | ||||
|       <el-form :model="determineData"  label-width="150px" border> | ||||
| 
 | ||||
|         <el-row type="flex" justify="end" > | ||||
|           <el-button-group style="display: flex;margin-bottom: 15px; margin-right: 50px;margin-top: 10px"> | ||||
|             <el-button type="primary" @click.native="determineBtn()" :loading="loading">确认</el-button> | ||||
|             <el-button type="primary" @click.native="closeDialog()" :loading="loading">取消</el-button> | ||||
|           </el-button-group> | ||||
|         </el-row> | ||||
| 
 | ||||
|       <el-row> | ||||
|         <el-col :span="12"> | ||||
|           <el-form-item label="单据号" prop="billNo"> | ||||
|             <el-input v-model="determineData.billNo" style="width: 90%" auto-complete="off" :disabled="true"></el-input> | ||||
|           </el-form-item> | ||||
|         </el-col> | ||||
|         <el-col :span="12"> | ||||
|           <el-form-item  label="收货仓库" prop="billNo"> | ||||
|             <el-input v-model="determineData.invName" style="width: 90%"  auto-complete="off" :disabled="true"></el-input> | ||||
|           </el-form-item> | ||||
|         </el-col> | ||||
|       </el-row> | ||||
| 
 | ||||
|       <el-row> | ||||
|         <el-col :span="12"> | ||||
|           <el-form-item label="单据类型" prop="billNo"> | ||||
|             <el-input v-model="determineData.billTypeName" style="width: 90%" auto-complete="off" :disabled="true"></el-input> | ||||
|           </el-form-item> | ||||
|         </el-col> | ||||
|         <el-col :span="12"> | ||||
|           <el-form-item  label="送货单位" prop="billNo"> | ||||
|             <el-input v-model="determineData.fromCorpName" style="width: 90%"  auto-complete="off" :disabled="true"></el-input> | ||||
|           </el-form-item> | ||||
|         </el-col> | ||||
|       </el-row> | ||||
|       </el-form> | ||||
|     </el-card> | ||||
|     <el-tabs type="border-card" style="margin: 15px"> | ||||
|       <!--单据业务详情--> | ||||
|       <el-tab-pane> | ||||
|         <span slot="label">单据 {{ determineData.billNo }}-单据详情</span> | ||||
|         <el-table v-loading="bizDetailLoading" :data="codeDetailList" style="width: 100%" border | ||||
|                   @row-click="BizDetail" | ||||
|                   row-key="id" highlight-current-row | ||||
|         > | ||||
|           <el-table-column label="序号" type="index"></el-table-column> | ||||
|           <el-table-column | ||||
|             label="物资名称" | ||||
|             prop="coName" | ||||
|             width="150" | ||||
|             show-overflow-tooltip | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="规格型号" | ||||
|             width="150" | ||||
|             prop="spec" | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="批次号" | ||||
|             width="100" | ||||
|             prop="batchNo" | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="数量" | ||||
|             prop="count" | ||||
|             width="100" | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="扫码数量" | ||||
|             prop="reCount" | ||||
|             width="100" | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="价格" | ||||
|             prop="price" | ||||
|             width="100" | ||||
|           ></el-table-column> | ||||
| 
 | ||||
|           <el-table-column | ||||
|             label="生产日期" | ||||
|             prop="productDate" | ||||
|             width="100" | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="失效日期" | ||||
|             prop="expireDate" | ||||
|             width="100" | ||||
|           ></el-table-column> | ||||
|           <el-table-column width="100" label="计量单位" prop="measname"> | ||||
|           </el-table-column> | ||||
|           <el-table-column | ||||
|             label="生产企业" | ||||
|             prop="manufacturer" | ||||
|             width="160" | ||||
|             show-overflow-tooltip | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="注册/备案号" | ||||
|             width="160" | ||||
|             prop="certCode" | ||||
|             show-overflow-tooltip | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|           label="发票编码" | ||||
|           prop="invoiceCodes" | ||||
|           show-overflow-tooltip | ||||
|         ></el-table-column> | ||||
|         </el-table> | ||||
|         <pagination | ||||
|           v-show="codeTotal>0" | ||||
|           :total="codeTotal" | ||||
|           :page.sync="codeQuery.page" | ||||
|           :limit.sync="codeQuery.limit" | ||||
|           @pagination="getOrderDetails" | ||||
|         /> | ||||
|       </el-tab-pane> | ||||
| 
 | ||||
| 
 | ||||
|     </el-tabs> | ||||
| 
 | ||||
| 
 | ||||
|     <el-tabs type="border-card" style="margin: 15px"> | ||||
|       <!--单据业务详情--> | ||||
|       <el-tab-pane> | ||||
|         <span slot="label">单据 {{ determineData.billNo }}-发票信息</span> | ||||
|         <el-table v-loading="bizDetailLoading" :data="bizDetailList" style="width: 100%" border | ||||
|                   row-key="id" | ||||
|         > | ||||
|           <el-table-column label="序号" type="index"></el-table-column> | ||||
| 
 | ||||
|           <el-table-column | ||||
|             label="物资名称" | ||||
|             prop="cpmctymc" width="150" | ||||
|             show-overflow-tooltip | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="规格型号" width="150" | ||||
|             prop="ggxh" | ||||
|             show-overflow-tooltip | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="批次号" width="100" | ||||
|             prop="batchNo" | ||||
|             show-overflow-tooltip | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="机器编码" width="150" | ||||
|             prop="machineNo" | ||||
|             show-overflow-tooltip | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="发票代码" width="150" | ||||
|             prop="invoiceCode" | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="发票编码" width="150" | ||||
|             prop="invoiceEncode" | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="开票日期" width="150" | ||||
|             prop="invoiceDate" | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="发票价格" | ||||
|             prop="price" width="100" | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="生产日期" width="100" | ||||
|             prop="productDate" | ||||
|           ></el-table-column> | ||||
|           <el-table-column | ||||
|             label="失效日期" | ||||
|             prop="expireDate" width="100" | ||||
|           ></el-table-column> | ||||
| 
 | ||||
|           <el-table-column | ||||
|             label="备注" | ||||
|             prop="remark" width="140" | ||||
|             show-overflow-tooltip | ||||
|           ></el-table-column> | ||||
|           <el-table-column label="操作" width="160" fixed="right"> | ||||
|             <template slot-scope="scope"> | ||||
|               <el-button | ||||
|                 type="text" | ||||
|                 size="small" | ||||
|                 @click.native.stop="showImgViewer(scope.row)" | ||||
|               >预览 | ||||
|               </el-button | ||||
|               > | ||||
| 
 | ||||
|             </template> | ||||
|           </el-table-column> | ||||
|         </el-table> | ||||
|         <pagination | ||||
|           v-show="invTotal>0" | ||||
|           :total="invTotal" | ||||
|           :page.sync="bizQuery.page" | ||||
|           :limit.sync="bizQuery.limit" | ||||
|           @pagination="getBizDetailList" | ||||
|         /> | ||||
|       </el-tab-pane> | ||||
|     </el-tabs> | ||||
|     <el-image-viewer v-if="imgViewerVisible" style="z-index:9999" :on-close="closeImgViewer" :url-list="imgList"/> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| import { | ||||
|   deleteByOrderId, | ||||
|   getOrderList, rollUnReceivebackOrder, filterInvoice, filterOrder | ||||
| } from '../../api/inout/order' | ||||
| import { getLocalJoinByUser } from '@/api/basic/busType' | ||||
| import { getInvListByUser } from '@/api/system/invWarehouse' | ||||
| import { isBlank } from '@/utils/strUtil' | ||||
| import { selectSysParamByKey } from '@/api/param/systemParamConfig' | ||||
| import { filterListInvoice, getBizDetailList, deleteById, insertInvoice, updateOrder,filterBizOrderList } from '@/api/inout/orderDetailBiz' | ||||
| import { getCodeList } from '@/api/inout/code' | ||||
| import AcceptOrder from '@/views/inout/DialogReviewOrder' | ||||
| import DialogInvoice from '@/views/inout/DialogInvoice' | ||||
| import InvoiceRegister from '@/views/inout/InvoiceRegister' | ||||
| 
 | ||||
| import { inspectionOrderPDFFromTemplateFile, orderPDFFromTemplateFile } from '@/api/itextpdf/orderPrint' | ||||
| import { getDeptListByUser } from '@/api/auth/authDept' | ||||
| import { getBasicUnitMaintains } from '@/api/basic/basicUnitMaintain' | ||||
| import { previewImage } from '@/api/purchase/supCompany' | ||||
| import ElImageViewer from 'element-ui/packages/image/src/image-viewer' | ||||
| 
 | ||||
| const formJson = { | ||||
|   site_id: '', | ||||
|   site_name: '', | ||||
|   describe: '', | ||||
|   ads: [] | ||||
| } | ||||
| 
 | ||||
| export default { | ||||
|   name: 'IoCheckSuccessOrder', | ||||
|   props: { | ||||
|     determineData: { | ||||
|       type: Object, | ||||
|       required: true | ||||
|     }, | ||||
|     closeDialog: { | ||||
|       type: Function, | ||||
|       required: true, | ||||
|     }, | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       imgList: [], | ||||
|       imgViewerVisible: false, | ||||
|       BASE_URL: process.env.VUE_APP_BASE_API, | ||||
|       showSearch: true, | ||||
|       filterQuery: { | ||||
|         id: '', | ||||
|         billNo: null, | ||||
|         mainAction: null, | ||||
|         action: null, | ||||
|         page: 1, | ||||
|         supInoivceSearch: 'supInvoice', | ||||
|         limit: 10, | ||||
|         startTime: null, | ||||
|         endTime: null, | ||||
|         invCode: this.$store.getters.locInvCode | ||||
|       }, | ||||
| 
 | ||||
|       corpLoading: false, | ||||
|       fromOptions: [], | ||||
| 
 | ||||
|       formName: 1, | ||||
|       formMap: { | ||||
|         1: '发票登记' | ||||
|       }, | ||||
|       certFileUrl: '', | ||||
|       Upinvoice: false, | ||||
|       currentManufacturer: {}, | ||||
|       InvoiceRegisterv: false, | ||||
|       checkStatus: { | ||||
|         1: '草稿', | ||||
|         2: '等待处理', | ||||
|         3: '等待校验', | ||||
|         4: '处理异常', | ||||
|         5: '待核对', | ||||
|         6: '校验异常', | ||||
|         7: '已审核', | ||||
|         8: '审核拒绝', | ||||
|         9: '正在处理', 10: '待审核' | ||||
|       }, | ||||
|       storageList: [], | ||||
|       invList: [], | ||||
|       deptList: [], | ||||
|       list: [], | ||||
|       total: 0, | ||||
|       loading: false, | ||||
|       index: null, | ||||
|       enableDept: false, | ||||
|       showSup: false, | ||||
| 
 | ||||
|       fromTypeMap: { | ||||
|         '1': 'UDIMS平台', | ||||
|         '2': '网页新增', | ||||
|         '3': 'pda即时校验', | ||||
|         '4': 'pda未校验', | ||||
|         '5': 'pc端扫码精灵', | ||||
|         '6': '流转自动补单', | ||||
|         '7': 'UDI供应商平台', | ||||
|         '8': '平衡补录单据', | ||||
|         '10': '手动补单', | ||||
|         '11': '仓库盘点', | ||||
|         '12': '采购计划', | ||||
|         '13': '领用单据', | ||||
|         '14': '第三方系统单据' | ||||
|       }, | ||||
|       deleteData: { | ||||
|         id: '', | ||||
|         status: 10 | ||||
|       }, | ||||
|       dialogTableVisible: false, | ||||
|       formLoading: false, | ||||
|       dialogVisible: false, | ||||
|       formData: formJson, | ||||
|       deleteLoading: false, | ||||
|       busTypes: [], | ||||
|       currentRow: { | ||||
|         billNo: '' | ||||
|       }, | ||||
|       actDateRange: [], | ||||
|       auditDateRange: [], | ||||
|       pickerOptions: { | ||||
|         shortcuts: [ | ||||
|           { | ||||
|             text: '最近一周', | ||||
|             onClick(picker) { | ||||
|               const end = new Date() | ||||
|               const start = new Date() | ||||
|               start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) | ||||
|               picker.$emit('pick', [start, end]) | ||||
|             } | ||||
|           }, | ||||
|           { | ||||
|             text: '最近一个月', | ||||
|             onClick(picker) { | ||||
|               const end = new Date() | ||||
|               const start = new Date() | ||||
|               start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) | ||||
|               picker.$emit('pick', [start, end]) | ||||
|             } | ||||
|           }, | ||||
|           { | ||||
|             text: '最近三个月', | ||||
|             onClick(picker) { | ||||
|               const end = new Date() | ||||
|               const start = new Date() | ||||
|               start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) | ||||
|               picker.$emit('pick', [start, end]) | ||||
|             } | ||||
|           } | ||||
|         ] | ||||
|       }, | ||||
|       bizQuery: { | ||||
|         productName: null, | ||||
|         orderIdFk: null, | ||||
|         page: 1, | ||||
|         limit: 10 | ||||
|       }, | ||||
|       bizTotal: 0, | ||||
|       invTotal: 0, | ||||
|       bizDetailLoading: false, | ||||
|       bizDetailList: [], | ||||
|       codeQuery: { | ||||
|         orderIdFk: null, | ||||
|         page: 1, | ||||
|         limit: 10 | ||||
|       }, | ||||
|       codeTotal: 0, | ||||
|       codeDetailLoading: false, | ||||
|       codeDetailList: [], | ||||
|       resultQuery: { | ||||
|         orderId: null, | ||||
|         code: null, | ||||
|         page: 1, | ||||
|         limit: 10 | ||||
|       }, | ||||
|       resultTotal: 0, | ||||
|       resultDetailLoading: false, | ||||
|       resultDetailList: [], | ||||
|       acceptQuery: null, | ||||
|       acceptOrderVisible: false, | ||||
|       subRow: null | ||||
|     } | ||||
|   }, | ||||
|   components: { AcceptOrder, DialogInvoice, InvoiceRegister, ElImageViewer }, | ||||
|   methods: { | ||||
|     getOrderDetails() { | ||||
|       this.codeQuery.page = 1; | ||||
|       this.getCodeDetailList(); | ||||
|       //this.getResultDetailList(); | ||||
|     }, | ||||
| 
 | ||||
|     getCodeDetailList() { | ||||
|       this.codeQuery.orderIdFk = this.determineData.billNo; | ||||
|       this.codeDetailLoading = true; | ||||
|       filterBizOrderList(this.codeQuery).then((res) => { | ||||
|         this.codeDetailLoading = false; | ||||
|         if (res.code === 20000) { | ||||
|           this.codeDetailList = res.data.list || []; | ||||
|           this.codeTotal = res.data.total || 0; | ||||
|         } else { | ||||
|           this.$message.error(res.message); | ||||
|           this.codeDetailList = []; | ||||
|           this.codeTotal = 0; | ||||
|         } | ||||
|       }).catch((error) => { | ||||
|         this.codeDetailLoading = true; | ||||
|         this.$message.error(error.message); | ||||
|         this.codeDetailList = []; | ||||
|         this.codeTotal = 0; | ||||
|       }) | ||||
|     }, | ||||
| 
 | ||||
|     BizDetail(row) { | ||||
|       this.bizQuery.page = 1; | ||||
|       this.getBizDetailList(row); | ||||
|     }, | ||||
|     getBizDetailList(row) { | ||||
|       this.bizQuery.orderIdFk = this.determineData.billNo; | ||||
|       if(row != null) { | ||||
|         this.bizQuery.batchNo = row.batchNo; | ||||
|         this.bizQuery.relId = row.bindRlFk; | ||||
|       } | ||||
|       filterListInvoice(this.bizQuery).then((res) => { | ||||
|         this.bizDetailLoading = false; | ||||
|         if (res.code === 20000) { | ||||
|           this.bizDetailList = res.data.list || []; | ||||
|           this.invTotal = res.data.total || 0; | ||||
|         } else { | ||||
|           this.$message.error(res.message); | ||||
|           this.bizDetailList = []; | ||||
|           this.invTotal = 0; | ||||
|         } | ||||
|       }).catch((error) => { | ||||
|         this.bizDetailLoading = false; | ||||
|         this.$message.error(error.message); | ||||
|         this.bizDetailList = []; | ||||
|         this.invTotal = 0; | ||||
|       }) | ||||
|     }, | ||||
| 
 | ||||
|     determineBtn() { | ||||
|       var data={ | ||||
|         billNo:this.determineData.billNo, | ||||
|         checkStatus:1 | ||||
|       } | ||||
|       updateOrder(data).then((res) => { | ||||
|          this.closeDialog(); | ||||
|       }).catch((error) => { | ||||
| 
 | ||||
|       }) | ||||
|     }, | ||||
|     showImgViewer(row) { | ||||
|       this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name="; | ||||
|       this.imgList = []; | ||||
|       previewImage({imageUrl: row.licenseUrl, certFileUrl: this.certFileUrl}).then(response => { | ||||
|         if (response.code === 20000) { | ||||
|           this.imgList = response.data; | ||||
|         } | ||||
|         console.log(this.imgList) | ||||
|         this.imgViewerVisible = true; | ||||
|       }); | ||||
|       const m = (e) => { | ||||
|         e.preventDefault() | ||||
|       }; | ||||
|       document.body.style.overflow = 'hidden'; | ||||
|       document.addEventListener("touchmove", m, false); // 禁止页面滑动 | ||||
|     }, | ||||
| 
 | ||||
|     closeImgViewer() { | ||||
|       this.imgViewerVisible = false; | ||||
|       const m = (e) => { | ||||
|         e.preventDefault() | ||||
|       }; | ||||
|       document.body.style.overflow = 'auto'; | ||||
|       document.removeEventListener("touchmove", m, true); | ||||
|     }, | ||||
|   }, | ||||
|   created() { | ||||
|     this.getOrderDetails(); | ||||
|   } | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| </script> | ||||
| 
 | ||||
| <style type="text/scss" lang="scss"> | ||||
| </style> | ||||
| 
 | ||||
					Loading…
					
					
				
		Reference in New Issue