Merge branch 'fp_dev' into dev
# Conflicts: # src/views/inout/InvoiceRegistration.vuedev
						commit
						7bf80d84cd
					
				| @ -0,0 +1,50 @@ | |||||||
|  | import axios from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | //获取发票列表
 | ||||||
|  | export function groupInvoice(params) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/inout/order/group/invoice", | ||||||
|  |     method: "get", | ||||||
|  |     params: params | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //获取发票对应产品明细
 | ||||||
|  | export function productDetail(params) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/inout/invoice/product/detail", | ||||||
|  |     method: "get", | ||||||
|  |     params: params | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //获取发票对应单据
 | ||||||
|  | export function orderDetail(params) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/inout/invoice/order/detail", | ||||||
|  |     method: "get", | ||||||
|  |     params: params | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function deleteInvoice(data) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/inout/invoice/delete", | ||||||
|  |     method: "post", | ||||||
|  |     data: data | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function saveInvoice(query) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/inout/invoice/saveInvoice", | ||||||
|  |     method: "post", | ||||||
|  |     data: query | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,769 @@ | |||||||
|  | <template> | ||||||
|  |   <div> | ||||||
|  |     <el-card class="el-card"> | ||||||
|  |       <el-form :model="invoiceQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch"> | ||||||
|  |         <el-row> | ||||||
|  |           <el-col :span="8"> | ||||||
|  |             <el-form-item class="query-form-item" label="发票编码:"> | ||||||
|  |               <el-input v-model="invoiceQuery.invoiceEncode" placeholder="请输入发票编码" | ||||||
|  |                         style="width: 90%" | ||||||
|  |                         clearable="true" | ||||||
|  |               ></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="8"> | ||||||
|  |             <el-form-item class="query-form-item" label="发票代码:"> | ||||||
|  |               <el-input v-model="invoiceQuery.invoiceCode" placeholder="请输入发票代码" style="width: 90%" | ||||||
|  |                         clearable="true" | ||||||
|  |               ></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="8"> | ||||||
|  |             <el-form-item class="query-form-item" label="机器编码:"> | ||||||
|  |               <el-input v-model="invoiceQuery.machineNo" placeholder="请输入机器编码" style="width: 90%" | ||||||
|  |                         clearable="true" | ||||||
|  |               ></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |         </el-row> | ||||||
|  |         <el-row> | ||||||
|  |           <el-col :span="8"> | ||||||
|  |             <el-form-item class="query-form-item" label="开票日期:"> | ||||||
|  |               <el-date-picker | ||||||
|  |                 :picker-options="pickerOptions" | ||||||
|  |                 v-model="actDateRange" | ||||||
|  |                 type="daterange" | ||||||
|  |                 format="yyyy 年 MM 月 dd 日" | ||||||
|  |                 value-format="yyyy-MM-dd" | ||||||
|  |                 range-separator="至" | ||||||
|  |                 start-placeholder="开始日期" | ||||||
|  |                 end-placeholder="结束日期" | ||||||
|  |                 style="width: 90%" | ||||||
|  |               > | ||||||
|  |               </el-date-picker> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |         </el-row> | ||||||
|  |       </el-form> | ||||||
|  |       <div class="top-right-btn"> | ||||||
|  |         <el-button-group> | ||||||
|  |           <el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button> | ||||||
|  |           <el-button | ||||||
|  |             type="primary" | ||||||
|  |             icon="el-icon-refresh" | ||||||
|  |             @click="onReset" | ||||||
|  |           >重置 | ||||||
|  |           </el-button> | ||||||
|  |           <el-button type="primary" icon="el-icon-search" @click="onSubmit" | ||||||
|  |           >查询 | ||||||
|  |           </el-button | ||||||
|  |           > | ||||||
|  |           <el-button type="primary" icon="el-icon-plus" @click="invoiceReg" | ||||||
|  |           >发票登记 | ||||||
|  |           </el-button | ||||||
|  |           > | ||||||
|  |         </el-button-group> | ||||||
|  |       </div> | ||||||
|  |       <el-divider style="margin: 15px"></el-divider> | ||||||
|  |       <el-table v-loading="invoiceLoading" :data="invoiceList" style="width: 100%" border | ||||||
|  |                 row-key="id" | ||||||
|  |                 highlight-current-row | ||||||
|  |                 @row-click="handleInvoiceChange" | ||||||
|  |       > | ||||||
|  |         <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |         <el-table-column | ||||||
|  |           label="发票代码" width="150" | ||||||
|  |           prop="invoiceCode" | ||||||
|  |         ></el-table-column> | ||||||
|  |         <el-table-column | ||||||
|  |           label="机器编码" width="150" | ||||||
|  |           prop="machineNo" | ||||||
|  |           show-overflow-tooltip | ||||||
|  |         ></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="190" | ||||||
|  |           prop="createTime" | ||||||
|  |         ></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="editInvoice(scope.row)" | ||||||
|  |             >编辑 | ||||||
|  |             </el-button | ||||||
|  |             > | ||||||
|  |             <el-button | ||||||
|  |               type="text" | ||||||
|  |               size="small" | ||||||
|  |               @click.native.stop="deleteInvoice(scope.row)" | ||||||
|  |             >删除 | ||||||
|  |             </el-button | ||||||
|  |             > | ||||||
|  |             <el-button | ||||||
|  |               type="text" | ||||||
|  |               size="small" | ||||||
|  |               :disabled="!scope.row.licenseUrl" | ||||||
|  |               @click.native.stop="showImgViewer(scope.row)" | ||||||
|  |             >预览 | ||||||
|  |             </el-button | ||||||
|  |             > | ||||||
|  | 
 | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|  |       </el-table> | ||||||
|  |       <pagination | ||||||
|  |         v-show="invoicTotal>0" | ||||||
|  |         :total="invoicTotal" | ||||||
|  |         :page.sync="invoiceQuery.page" | ||||||
|  |         :limit.sync="invoiceQuery.limit" | ||||||
|  |         @pagination="getInvoiceList" | ||||||
|  |       /> | ||||||
|  |     </el-card> | ||||||
|  | 
 | ||||||
|  |     <el-dialog | ||||||
|  |       title="发票编辑" | ||||||
|  |       :visible.sync="Upinvoice" | ||||||
|  |       :before-close="freshen" | ||||||
|  |       width="60%" | ||||||
|  |       :close-on-click-modal="false" | ||||||
|  |       :close-on-press-escape="false" | ||||||
|  |       v-if="Upinvoice" | ||||||
|  |     > | ||||||
|  |       <Dialog-invoice | ||||||
|  |         :closeDialog="closeAcceptDialog" | ||||||
|  |         :inputQuery="curInvoice" | ||||||
|  |       ></Dialog-invoice> | ||||||
|  |     </el-dialog> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <el-tabs type="border-card" style="margin: 15px"> | ||||||
|  |       <el-tab-pane label="发票-关联单据"> | ||||||
|  | 
 | ||||||
|  |         <el-table v-loading="orderLoading" :data="orderList" style="width: 100%" highlight-current-row border | ||||||
|  |                   @current-change="handleSelectionChange" | ||||||
|  |         > | ||||||
|  |           <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |           <el-table-column label="单据号" prop="billNo" show-overflow-tooltip width="180"></el-table-column> | ||||||
|  |           <!--        <el-table-column label="送货单位" prop="fromName" width="220">--> | ||||||
|  |           <!--        </el-table-column>--> | ||||||
|  |           <el-table-column label="单据类型" prop="billTypeName" width="150"> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column label="送货单位" prop="fromName" width="220" v-if="showSup"> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column label="创建时间" prop="createTime" width="150" show-overflow-tooltip | ||||||
|  |                            sortable="custom" | ||||||
|  |                            :sort-orders="['ascending', 'descending']" | ||||||
|  |           > | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column label="审核时间" prop="auditTime" width="150" show-overflow-tooltip | ||||||
|  |                            sortable="custom" | ||||||
|  |                            :sort-orders="['ascending', 'descending']" | ||||||
|  |           > | ||||||
|  |           </el-table-column> | ||||||
|  | 
 | ||||||
|  |           <el-table-column label="采购部门" prop="deptName" width="120" v-if="enableDept"> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column label="收货仓库" prop="invName" width="120"> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column label="来源单号" prop="corpOrderId" show-overflow-tooltip width="180"></el-table-column> | ||||||
|  | 
 | ||||||
|  |           <el-table-column label="来源" prop="fromType" width="120"> | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |               <span>{{ fromTypeMap[scope.row.fromType] }}</span> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column label="总金额" prop="allAmount" width="120"> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column label="单据状态" prop="status" width="100"> | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |               <el-tag :type="statusFilterType(scope.row.status)">{{ | ||||||
|  |                   checkStatus[scope.row.status] | ||||||
|  |                 }} | ||||||
|  |               </el-tag> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column label="确认状态" prop="checkStatus" width="100"> | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |               <el-tag :type="statusFilterType(scope.row.checkStatus)">{{ | ||||||
|  |                   checkDateStatus[scope.row.checkStatus] | ||||||
|  |                 }} | ||||||
|  |               </el-tag> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column label="操作" width="100" fixed="right"> | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |               <el-button type="text" :disabled="scope.row.checkStatus==1 " v-if="showSup" size="small" | ||||||
|  |                          @click.native.stop="determine(scope.row)" | ||||||
|  |               >确认 | ||||||
|  |               </el-button> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |         </el-table> | ||||||
|  |       </el-tab-pane> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |       <el-tab-pane label="发票-产品明细"> | ||||||
|  | 
 | ||||||
|  |         <el-table v-loading="productDetailLoading" :data="productDetailList" style="width: 100%" border | ||||||
|  |                   row-key="id" highlight-current-row | ||||||
|  |         > | ||||||
|  |           <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             label="DI/物资编码" width="150" | ||||||
|  |             prop="nameCode" | ||||||
|  |             show-overflow-tooltip | ||||||
|  |           ></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="price" | ||||||
|  |             width="100" | ||||||
|  |           ></el-table-column> | ||||||
|  |           <el-table-column label="金额" prop="amout" 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="reCount" | ||||||
|  |             width="100" | ||||||
|  |           ></el-table-column> | ||||||
|  |         </el-table> | ||||||
|  |         <pagination | ||||||
|  |           v-show="productTotal>0" | ||||||
|  |           :total="productTotal" | ||||||
|  |           :page.sync="productQuery.page" | ||||||
|  |           :limit.sync="productQuery.limit" | ||||||
|  |           @pagination="getProductDetailList" | ||||||
|  |         /> | ||||||
|  | 
 | ||||||
|  |       </el-tab-pane> | ||||||
|  |     </el-tabs> | ||||||
|  |     <!--单据业务详情--> | ||||||
|  |     <el-tabs type="border-card" style="margin: 15px"> | ||||||
|  |       <!--单据业务详情--> | ||||||
|  |       <el-tab-pane> | ||||||
|  |         <span slot="label">单据 {{ currentRow.billNo }}-单据详情</span> | ||||||
|  |         <el-table :data="codeDetailList" style="width: 100%" border row-key="id" highlight-current-row> | ||||||
|  |           <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |           <el-table-column label="发票编码" prop="invoiceCodes" width="150" show-overflow-tooltip></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="price" width="100"></el-table-column> | ||||||
|  |           <el-table-column label="金额" prop="amount" 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="reCount" width="100"></el-table-column> | ||||||
|  |         </el-table> | ||||||
|  |         <pagination | ||||||
|  |           v-show="codeTotal>0" | ||||||
|  |           :total="codeTotal" | ||||||
|  |           :page.sync="codeQuery.page" | ||||||
|  |           :limit.sync="codeQuery.limit" | ||||||
|  |           @pagination="getCodeDetailList" | ||||||
|  |         /> | ||||||
|  |       </el-tab-pane> | ||||||
|  |     </el-tabs> | ||||||
|  |     <el-dialog | ||||||
|  |       title="发票登记" | ||||||
|  |       :visible.sync="checkInvoice" | ||||||
|  |       width="60%" | ||||||
|  |       :before-close="closeAcceptDialog" | ||||||
|  |       :close-on-click-modal="false" | ||||||
|  |       :close-on-press-escape="false" | ||||||
|  |       v-if="checkInvoice" | ||||||
|  |     > | ||||||
|  |       <invoiceRegCkeck | ||||||
|  |         :curInvoice="curInvoice" | ||||||
|  |         :closeDialog="closeAcceptDialog" | ||||||
|  |       ></invoiceRegCkeck> | ||||||
|  |     </el-dialog> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <el-dialog | ||||||
|  |       title="确定" | ||||||
|  |       :visible.sync="determineVisible" | ||||||
|  |       width="80%" | ||||||
|  |       :close-on-click-modal="false" | ||||||
|  |       :close-on-press-escape="false" | ||||||
|  |       v-if="determineVisible" | ||||||
|  |     > | ||||||
|  |       <InvoiceRegistrationDetermine | ||||||
|  |         :closeDialog="closeDetermineDialog" | ||||||
|  |         :determineData="determineData" | ||||||
|  |       ></InvoiceRegistrationDetermine> | ||||||
|  |     </el-dialog> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     <el-image-viewer v-if="imgViewerVisible" style="z-index:9999" :on-close="closeImgViewer" :url-list="imgList"/> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import { isBlank } from '@/utils/strUtil' | ||||||
|  | import { deleteInvoice, groupInvoice, orderDetail, productDetail } from '@/api/inout/invoiceOrder' | ||||||
|  | import DialogInvoice from '@/views/inout/DialogInvoice' | ||||||
|  | import ElImageViewer from 'element-ui/packages/image/src/image-viewer' | ||||||
|  | import { previewFile } from '@/api/purchase/supCompany' | ||||||
|  | import invoiceRegCkeck from '@/views/inout/InvoiceRegCkeck' | ||||||
|  | import InvoiceRegistrationDetermine from '@/views/inout/InvoiceRegistrationDetermine' | ||||||
|  | import { filterBizOrderList } from '@/api/inout/orderDetailBiz' | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   name: 'InvoiceRegByFp', | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  | 
 | ||||||
|  |       BASE_URL: process.env.VUE_APP_BASE_API, | ||||||
|  |       showSearch: true, | ||||||
|  |       checkInvoice: false, | ||||||
|  |       //发票相关参数 | ||||||
|  |       curInvoice: {}, | ||||||
|  |       invoiceQuery: { | ||||||
|  |         billNo: null, | ||||||
|  |         mainAction: null, | ||||||
|  |         action: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 10, | ||||||
|  |         startTime: null, | ||||||
|  |         endTime: null, | ||||||
|  |         invCode: null, | ||||||
|  |         fromCorp: null | ||||||
|  |       }, | ||||||
|  |       codeQuery: { | ||||||
|  |         orderIdFk: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 10 | ||||||
|  |       }, | ||||||
|  |       codeTotal: 0, | ||||||
|  |       invoiceLoading: false, | ||||||
|  |       invoiceList: [], | ||||||
|  |       determineData: null, | ||||||
|  |       codeDetailList: [], | ||||||
|  |       invoicTotal: 0, | ||||||
|  |       currentRow: { | ||||||
|  |         billNo: '' | ||||||
|  |       }, | ||||||
|  |       determineVisible: false, | ||||||
|  |       actDateRange: [], | ||||||
|  |       auditDateRange: [], | ||||||
|  |       showSup: false, | ||||||
|  |       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]) | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         ] | ||||||
|  |       }, | ||||||
|  |       Upinvoice: false, | ||||||
|  | 
 | ||||||
|  |       imgList: [], | ||||||
|  |       imgViewerVisible: false, | ||||||
|  | 
 | ||||||
|  |       //单据相关参数 | ||||||
|  |       orderLoading: false, | ||||||
|  |       orderList: [], | ||||||
|  |       fromTypeMap: { | ||||||
|  |         '1': 'UDIMS平台', | ||||||
|  |         '2': '网页新增', | ||||||
|  |         '3': 'pda即时校验', | ||||||
|  |         '4': 'pda未校验', | ||||||
|  |         '5': 'pc端扫码精灵', | ||||||
|  |         '6': '流转自动补单', | ||||||
|  |         '7': 'UDI管理系统', | ||||||
|  |         '8': '平衡补录单据', | ||||||
|  |         '10': '手动补单', | ||||||
|  |         '11': '仓库盘点', | ||||||
|  |         '12': '采购计划', | ||||||
|  |         '13': '领用单据', | ||||||
|  |         '14': '第三方系统单据' | ||||||
|  |       }, | ||||||
|  |       statusFilterType(status) { | ||||||
|  |         const statusMap = { | ||||||
|  |           5: 'warning', | ||||||
|  |           1: 'warning', | ||||||
|  |           6: 'danger', | ||||||
|  |           7: 'success' | ||||||
|  |         } | ||||||
|  |         return statusMap[status] | ||||||
|  |       }, | ||||||
|  |       checkStatus: { | ||||||
|  |         1: '草稿', | ||||||
|  |         2: '等待处理', | ||||||
|  |         3: '等待校验', | ||||||
|  |         4: '处理异常', | ||||||
|  |         5: '待核对', | ||||||
|  |         6: '校验异常', | ||||||
|  |         7: '已审核', | ||||||
|  |         8: '审核拒绝', | ||||||
|  |         9: '正在处理', 10: '待审核' | ||||||
|  |       }, | ||||||
|  |       checkDateStatus: { | ||||||
|  |         1: '确认', | ||||||
|  |         0: '未确认' | ||||||
|  |       }, | ||||||
|  | 
 | ||||||
|  |       //产品信息汇总相关参数 | ||||||
|  |       productDetailLoading: false, | ||||||
|  |       productDetailList: [], | ||||||
|  |       productTotal: 0, | ||||||
|  |       productQuery: { | ||||||
|  |         invoiceEncode: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 10 | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   components: { DialogInvoice, ElImageViewer, invoiceRegCkeck, InvoiceRegistrationDetermine }, | ||||||
|  | 
 | ||||||
|  |   methods: { | ||||||
|  | 
 | ||||||
|  |     onReset() { | ||||||
|  |       this.$router.push({ | ||||||
|  |         path: '' | ||||||
|  |       }) | ||||||
|  |       this.invoiceQuery = { | ||||||
|  |         id: '', | ||||||
|  |         billNo: null, | ||||||
|  |         mainAction: null, | ||||||
|  |         action: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 10, | ||||||
|  |         startTime: null, | ||||||
|  |         endTime: null, | ||||||
|  |         invCode: null, | ||||||
|  |         fromCorp: null | ||||||
|  |       } | ||||||
|  |       this.actDateRange = [] | ||||||
|  |       this.auditDateRange = [] | ||||||
|  |       this.getInvoiceList() | ||||||
|  |     }, | ||||||
|  |     hideSearch() { | ||||||
|  |       this.showSearch = !this.showSearch | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     //发票相关 | ||||||
|  |     onSubmit() { | ||||||
|  |       this.loading = true | ||||||
|  |       if (this.actDateRange !== null) { | ||||||
|  |         this.invoiceQuery.startTime = this.actDateRange[0] | ||||||
|  |         this.invoiceQuery.endTime = this.actDateRange[1] | ||||||
|  |       } else { | ||||||
|  |         this.invoiceQuery.startTime = null | ||||||
|  |         this.invoiceQuery.endTime = null | ||||||
|  |       } | ||||||
|  |       this.invoiceQuery.page = 1 | ||||||
|  |       this.getInvoiceList() | ||||||
|  |     }, | ||||||
|  |     getInvoiceList() { | ||||||
|  |       this.invoiceLoading = true | ||||||
|  |       groupInvoice(this.invoiceQuery).then((res) => { | ||||||
|  |         this.invoiceLoading = false | ||||||
|  |         if (res.code === 20000) { | ||||||
|  |           this.invoiceList = res.data.list || [] | ||||||
|  |           this.invoicTotal = res.data.total || 0 | ||||||
|  |           this.productDetailList = [] | ||||||
|  |           this.codeDetailList = [] | ||||||
|  |           this.orderList = [] | ||||||
|  |         } else { | ||||||
|  |           this.$message.error(res.message) | ||||||
|  |           this.invoiceList = [] | ||||||
|  |           this.invoicTotal = 0 | ||||||
|  |         } | ||||||
|  |       }).catch((error) => { | ||||||
|  |         this.invoiceLoading = false | ||||||
|  |         this.$message.error(error.message) | ||||||
|  |         this.invoiceList = [] | ||||||
|  |         this.invoicTotal = 0 | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     invoiceReg() { | ||||||
|  |       this.checkInvoice = true | ||||||
|  |     }, | ||||||
|  |     freshen() { | ||||||
|  |       this.Upinvoice = false | ||||||
|  |     }, | ||||||
|  |     closeAcceptDialog() { | ||||||
|  |       this.checkInvoice = false | ||||||
|  |       this.Upinvoice = false | ||||||
|  |       this.curInvoice = null | ||||||
|  |       this.getInvoiceList() | ||||||
|  |     }, | ||||||
|  |     editInvoice(row) { | ||||||
|  |       this.curInvoice = row | ||||||
|  |       this.checkInvoice = true | ||||||
|  |     }, | ||||||
|  |     deleteInvoice: function(row) { | ||||||
|  |       this.$confirm('此操作将永久删除该发票信息, 是否继续?', '提示', { | ||||||
|  |         confirmButtonText: '确定', | ||||||
|  |         cancelButtonText: '取消', | ||||||
|  |         type: 'warning' | ||||||
|  |       }) | ||||||
|  |         .then(() => { | ||||||
|  |           this.par = row | ||||||
|  |           this.par.regId = this.regId | ||||||
|  |           deleteInvoice(row) | ||||||
|  |             .then((response) => { | ||||||
|  |               if (response.code == 20000) { | ||||||
|  |                 this.getInvoiceList() | ||||||
|  |                 this.$message({ | ||||||
|  |                   type: 'success', | ||||||
|  |                   message: '删除成功!' | ||||||
|  |                 }) | ||||||
|  |               } | ||||||
|  |             }) | ||||||
|  |             .catch(() => { | ||||||
|  |             }) | ||||||
|  |         }) | ||||||
|  |         .catch(() => { | ||||||
|  |         }) | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     showImgViewer(row) { | ||||||
|  |       this.certFileUrl = | ||||||
|  |         this.BASE_URL + | ||||||
|  |         '/udiwms/image/register/file/getImage?type=image2&name=' + row.licenseUrl | ||||||
|  |       this.imgList = [] | ||||||
|  |       this.imgList.push(this.certFileUrl) | ||||||
|  |       let index = row.licenseUrl.lastIndexOf('.') | ||||||
|  |       if (index === -1) { | ||||||
|  |         this.$message.error('文件名异常!') | ||||||
|  |         return false | ||||||
|  |       } | ||||||
|  |       if (row.licenseUrl.substr(index + 1) === 'pdf') { | ||||||
|  |         let pdf = 'application/pdf' | ||||||
|  |         let binaryData = [] | ||||||
|  |         previewFile(this.certFileUrl).then(res => { | ||||||
|  |           binaryData.push(res) | ||||||
|  |           let URL = window.URL.createObjectURL(new Blob(binaryData, { type: pdf })) | ||||||
|  |           window.open(URL) | ||||||
|  |         }) | ||||||
|  |         // window.open(this.imgList[0]) | ||||||
|  |         return false | ||||||
|  |       } | ||||||
|  |       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) | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     //单据相关 | ||||||
|  |     getOrderList(row) { | ||||||
|  |       this.orderLoading = true | ||||||
|  |       this.currentRow = { billNo: '' } | ||||||
|  |       let query = { invoiceEncode: row.invoiceEncode } | ||||||
|  |       orderDetail(query) | ||||||
|  |         .then((response) => { | ||||||
|  |           this.orderLoading = false | ||||||
|  |           if (response.code === 20000) { | ||||||
|  |             this.orderList = response.data.list || [] | ||||||
|  |           } else { | ||||||
|  |             this.$message.error(response.message) | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |         .catch((error) => { | ||||||
|  |           this.$message.error(error.message) | ||||||
|  |           this.orderLoading = false | ||||||
|  |           this.orderList = [] | ||||||
|  |         }) | ||||||
|  |     }, | ||||||
|  |     // 清空单据详情数据列表 | ||||||
|  |     clearDetailList() { | ||||||
|  |       // // 清空业务详情 | ||||||
|  |       // this.bizDetailList = []; | ||||||
|  |       // // 清空扫码详情 | ||||||
|  |       // this.codeDetailList = []; | ||||||
|  |       // // 清空扫码明细 | ||||||
|  |       // this.resultDetailList = []; | ||||||
|  |     }, | ||||||
|  |     handleInvoiceChange(val) { | ||||||
|  |       this.getOrderList(val) | ||||||
|  |       this.getProductDetailList(val) | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     //  产品信息汇总相关 | ||||||
|  |     getProductDetailList(row) { | ||||||
|  |       this.productDetailLoading = true | ||||||
|  |       this.productDetailList = [] | ||||||
|  |       if (row == null || isBlank(row.invoiceEncode)) { | ||||||
|  |         this.$message.error('请选择对应发票!') | ||||||
|  |         return | ||||||
|  |       } | ||||||
|  |       this.productQuery.invoiceEncode = row.invoiceEncode | ||||||
|  |       productDetail(this.productQuery).then((res) => { | ||||||
|  |         this.productDetailLoading = false | ||||||
|  |         if (res.code === 20000) { | ||||||
|  |           this.productDetailList = res.data.list || [] | ||||||
|  |           this.productTotal = res.data.total || 0 | ||||||
|  |         } else { | ||||||
|  |           this.$message.error(res.message) | ||||||
|  |           this.productDetailList = [] | ||||||
|  |           this.productTotal = 0 | ||||||
|  |         } | ||||||
|  |       }).catch((error) => { | ||||||
|  |         this.productDetailList = true | ||||||
|  |         this.$message.error(error.message) | ||||||
|  |         this.codeDetailList = [] | ||||||
|  |         this.productTotal = 0 | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     determine(row) { | ||||||
|  |       this.determineData = row | ||||||
|  |       this.determineVisible = true | ||||||
|  |     }, | ||||||
|  |     closeDetermineDialog(val) { | ||||||
|  |       this.determineVisible = false | ||||||
|  |       if(val!=false){ | ||||||
|  |         this.orderList = [] | ||||||
|  |         this.productDetailList = [] | ||||||
|  |         this.getInvoiceList() | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     handleSelectionChange(val) { | ||||||
|  |       this.currentRow.billNo = val.billNo | ||||||
|  |       this.getOrderDetails() | ||||||
|  |     }, | ||||||
|  |     getOrderDetails() { | ||||||
|  |       this.codeQuery.page = 1 | ||||||
|  |       this.getCodeDetailList() | ||||||
|  |     }, | ||||||
|  |     getCodeDetailList() { | ||||||
|  |       if (isBlank(this.currentRow.billNo)) { | ||||||
|  |         this.$message.error('请先选择需要查询的单据!') | ||||||
|  |         return | ||||||
|  |       } | ||||||
|  |       this.codeQuery.orderIdFk = this.currentRow.billNo | ||||||
|  |       this.codeDetailLoading = true | ||||||
|  |       this.codeDetailList = [] | ||||||
|  |       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 | ||||||
|  |       }) | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     let supId = this.$store.getters.customerId | ||||||
|  |     if (supId == '110') { | ||||||
|  |       this.showSup = true | ||||||
|  |     } | ||||||
|  |     this.getInvoiceList() | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | 
 | ||||||
|  | </style> | ||||||
											
												
													File diff suppressed because it is too large
													Load Diff
												
											
										
									
								
											
												
													File diff suppressed because it is too large
													Load Diff
												
											
										
									
								
											
												
													File diff suppressed because it is too large
													Load Diff
												
											
										
									
								
					Loading…
					
					
				
		Reference in New Issue