1.新建个人分支,提交盘点页面代码
							parent
							
								
									484e14e4b6
								
							
						
					
					
						commit
						7441e5c040
					
				| @ -0,0 +1,444 @@ | |||||||
|  | invCountOrderNew.vue<template> | ||||||
|  |   <div> | ||||||
|  |     <el-card> | ||||||
|  |       <el-form :inline="true" :model="filterQuery" size="mini"> | ||||||
|  |         <el-row style="width: 100%"> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.nameCode" placeholder="产品标识DI" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.productsName" placeholder="产品名称" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.batchNo" placeholder="批次号" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-select | ||||||
|  |                 v-model="filterQuery.supId" | ||||||
|  |                 filterable | ||||||
|  |                 remote | ||||||
|  |                 clearable="true" | ||||||
|  |                 reserve-keyword | ||||||
|  |                 placeholder="请输入供应商名称" | ||||||
|  |                 :remote-method="findMethod" | ||||||
|  |                 size="mini" | ||||||
|  |                 :loading="loading" | ||||||
|  |                 @change="corpChange" | ||||||
|  |             > | ||||||
|  |               <el-option | ||||||
|  |                   v-for="item in fromOptions" | ||||||
|  |                   :key="item.name" | ||||||
|  |                   :label="item.name" | ||||||
|  |                   :value="item.erpId" | ||||||
|  |               > | ||||||
|  |                 <span style="float: left">{{ item.name }}</span> | ||||||
|  |               </el-option> | ||||||
|  |             </el-select> | ||||||
|  |           </el-form-item> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         </el-row> | ||||||
|  |         <el-row style="width: 100%"> | ||||||
|  | 
 | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.ggxh" placeholder="规格型号" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.zczbhhzbapzbh" placeholder="批准文号" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.ylqxzcrbarmc" placeholder="生产厂家" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-select v-model="filterQuery.invStorageCode" placeholder="请选择当前仓库" clearable="true" | ||||||
|  |                        @change="invChange" | ||||||
|  |                        size="mini"> | ||||||
|  |               <el-option | ||||||
|  |                   v-for="item in storageList" | ||||||
|  |                   :key="item.name" | ||||||
|  |                   :label="item.name" | ||||||
|  |                   :value="item.code"> | ||||||
|  |                 <span style="float: left">{{ item.name }}</span> | ||||||
|  |               </el-option> | ||||||
|  |             </el-select> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-select v-model="filterQuery.invWarehouseCode" placeholder="请选择当前分库" clearable="true" | ||||||
|  |                        :disabled="invWarehouseDisabled" | ||||||
|  |                        size="mini"> | ||||||
|  |               <el-option | ||||||
|  |                   v-for="item in subInvList" | ||||||
|  |                   :key="item.name" | ||||||
|  |                   :label="item.name" | ||||||
|  |                   :value="item.code"> | ||||||
|  |                 <span style="float: left">{{ item.name }}</span> | ||||||
|  |               </el-option> | ||||||
|  |             </el-select> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item> | ||||||
|  |             <el-button-group> | ||||||
|  |               <el-button | ||||||
|  |                   type="primary" | ||||||
|  |                   icon="el-icon-refresh" | ||||||
|  |                   @click="onReset" | ||||||
|  |               ></el-button> | ||||||
|  |               <el-button type="primary" icon="search" @click="onSubmit" | ||||||
|  |               >查询 | ||||||
|  |               </el-button | ||||||
|  |               > | ||||||
|  |             </el-button-group> | ||||||
|  |           </el-form-item> | ||||||
|  |         </el-row> | ||||||
|  |       </el-form> | ||||||
|  |       <el-table v-loading="loading" :data="list" style="width: 100%"> | ||||||
|  |         <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |         <el-table-column label="产品标识" prop="nameCode" width="120"></el-table-column> | ||||||
|  |         <el-table-column label="产品名称" prop="cpmctymc" width="180"> | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column label="规格型号" prop="ggxh" width="180" show-overflow-tooltip> | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column label="批次号" prop="batchNo" width="120"></el-table-column> | ||||||
|  |         <el-table-column label="生产日期" prop="productionDate" width="120"></el-table-column> | ||||||
|  |         <el-table-column label="失效日期" prop="expireDate" width="120"></el-table-column> | ||||||
|  |         <el-table-column label="入库数量" prop="inCount" width="120"></el-table-column> | ||||||
|  |         <el-table-column label="出库数量" prop="outCount" width="120"></el-table-column> | ||||||
|  | 
 | ||||||
|  |         <el-table-column label="结余数量" prop="reCount" width="120"> | ||||||
|  |           <template slot-scope="scope"> | ||||||
|  |             {{ (scope.row.inCount - scope.row.outCount) }} | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column label="生产厂家" prop="ylqxzcrbarmc" v-if="showSup" show-overflow-tooltip | ||||||
|  |                          width="120"></el-table-column> | ||||||
|  | 
 | ||||||
|  |         <el-table-column label="供应商" prop="companyName" v-if="showSup" show-overflow-tooltip | ||||||
|  |                          width="120"></el-table-column> | ||||||
|  |         <el-table-column label="仓库" prop="invStorageName" v-if="showSup" | ||||||
|  |                          show-overflow-tooltip width="120"></el-table-column> | ||||||
|  |         <el-table-column label="分库" prop="invSubStorageName" v-if="showSup" | ||||||
|  |                          show-overflow-tooltip width="120"></el-table-column> | ||||||
|  |         <el-table-column label="操作" width="120" fixed="right"> | ||||||
|  |           <template slot-scope="scope"> | ||||||
|  |             <el-button | ||||||
|  |                 type="text" | ||||||
|  |                 size="small" | ||||||
|  |                 @click.native.stop="intentDetail(scope.row)" | ||||||
|  |             >详情 | ||||||
|  |             </el-button | ||||||
|  |             > | ||||||
|  | 
 | ||||||
|  |             <el-button | ||||||
|  |                 type="text" | ||||||
|  |                 size="small" | ||||||
|  |                 @click.native.stop="deleteDialog(scope.row.id)" | ||||||
|  |             >删除 | ||||||
|  |             </el-button | ||||||
|  |             > | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|  |       </el-table> | ||||||
|  |     </el-card> | ||||||
|  | 
 | ||||||
|  |     <el-dialog | ||||||
|  |         title="库存详情" | ||||||
|  |         :visible.sync="codeDetailVisible" | ||||||
|  |         :close-on-click-modal="false" | ||||||
|  |         :close-on-press-escape="false" | ||||||
|  |         width="85%" | ||||||
|  |         v-if="codeDetailVisible" | ||||||
|  |     > | ||||||
|  |       <codeDetail | ||||||
|  |           :idQuery="idQuery" | ||||||
|  |           v-on:closeDetailDialog="closeDetailDialog" | ||||||
|  |       ></codeDetail> | ||||||
|  |     </el-dialog> | ||||||
|  |     <el-pagination | ||||||
|  |         :page-size="filterQuery.limit" | ||||||
|  |         @current-change="handleCurrentChange" | ||||||
|  |         layout="prev, pager, next" | ||||||
|  |         :total="total" | ||||||
|  |     ></el-pagination> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import { | ||||||
|  |   filterProducts, | ||||||
|  |   deleteProducts, | ||||||
|  | } from "../../api/inventory/InvProducts"; | ||||||
|  | import draggable from "vuedraggable"; | ||||||
|  | import codeDetail from "./InvProductsDetail"; | ||||||
|  | import store from "../../store"; | ||||||
|  | import {getBussinessType} from "../../api/basic/bussinessType"; | ||||||
|  | import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain"; | ||||||
|  | import {filterUplLocInv} from "@/api/basic/invWarehouse"; | ||||||
|  | import {filterSubByInv} from "@/api/basic/invSubWarehouse"; | ||||||
|  | import {userInfo} from "@/api/auth/login"; | ||||||
|  | import {isBlank} from "@/utils/strUtil"; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       filterQuery: { | ||||||
|  |         invWarehouseCode: null, | ||||||
|  |         invStorageCode: null, | ||||||
|  |         productsName: null, | ||||||
|  |         nameCode: null, | ||||||
|  |         relIdFk: null, | ||||||
|  |         batchNo: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20, | ||||||
|  |         customerId: null, | ||||||
|  |         supId: null, | ||||||
|  |         unitFk: null, | ||||||
|  |       }, | ||||||
|  |       detailQuery: { | ||||||
|  |         code: null, | ||||||
|  |         productIdFk: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20, | ||||||
|  |       }, | ||||||
|  |       list: [], | ||||||
|  |       storageList: [], | ||||||
|  |       subInvList: [], | ||||||
|  |       codeDetailVisible: false, | ||||||
|  |       total: 0, | ||||||
|  |       loading: true, | ||||||
|  |       index: null, | ||||||
|  |       dialogTableVisible: false, | ||||||
|  |       invWarehouseDisabled: true, | ||||||
|  |       formLoading: false, | ||||||
|  |       dialogVisible: false, | ||||||
|  |       deleteLoading: false, | ||||||
|  |       busTypes: [], | ||||||
|  |       idQuery: null, | ||||||
|  |       showSup: false, | ||||||
|  |       fromOptions: [], | ||||||
|  |     }; | ||||||
|  |   }, | ||||||
|  |   components: { | ||||||
|  |     draggable, | ||||||
|  |     codeDetail, | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     onReset() { | ||||||
|  |       this.$router.push({ | ||||||
|  |         path: "", | ||||||
|  |       }); | ||||||
|  |       this.filterQuery = { | ||||||
|  |         productsName: null, | ||||||
|  |         nameCode: null, | ||||||
|  |         relIdFk: null, | ||||||
|  |         batchNo: null, | ||||||
|  |         customerId: null, | ||||||
|  |         unitFk: null, | ||||||
|  |         supId: null, | ||||||
|  |         invWarehouseCode: null, | ||||||
|  |         invStorageCode: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20, | ||||||
|  |       }; | ||||||
|  |       this.invChange(); | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     onSubmit() { | ||||||
|  |       this.loading = true; | ||||||
|  |       this.filterQuery.page = 1; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     handleSizeChange(val) { | ||||||
|  |       this.filterQuery.limit = val; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     handleCurrentChange(val) { | ||||||
|  |       this.filterQuery.page = val; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     handleUnitClick(row) { | ||||||
|  |       this.curIndex = row.id; | ||||||
|  |       this.dialogTableVisible = true; | ||||||
|  |     }, | ||||||
|  |     closeDetailDialog(val) { | ||||||
|  |       this.codeDetailVisible = false; | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     closeDialog() { | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     getList() { | ||||||
|  |       this.loading = true; | ||||||
|  |       this.filterQuery.customerId = store.getters.customerId; | ||||||
|  |       filterProducts(this.filterQuery) | ||||||
|  |           .then((response) => { | ||||||
|  |             this.showSup = response.data.showSup; | ||||||
|  |             this.loading = false; | ||||||
|  |             this.list = response.data.list || []; | ||||||
|  |             this.total = response.data.total || 0; | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |             this.loading = false; | ||||||
|  |             this.list = []; | ||||||
|  |             this.total = 0; | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     deleteOrders(data) { | ||||||
|  |       this.loading = true; | ||||||
|  |       let query = { | ||||||
|  |         id: data, | ||||||
|  |       } | ||||||
|  |       deleteProducts(query) | ||||||
|  |           .then((response) => { | ||||||
|  |             if (response.code == 20000) { | ||||||
|  |               this.getList(); | ||||||
|  |               this.$message({ | ||||||
|  |                 type: "success", | ||||||
|  |                 message: "删除成功!", | ||||||
|  |               }); | ||||||
|  |             } else { | ||||||
|  |               this.$message.error(response.message); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     deleteDialog(rowId) { | ||||||
|  |       this.$confirm("此操作将永久删除该订单, 是否继续?", "提示", { | ||||||
|  |         confirmButtonText: "确定", | ||||||
|  |         cancelButtonText: "取消", | ||||||
|  |         type: "warning", | ||||||
|  |       }) | ||||||
|  |           .then(() => { | ||||||
|  |             this.deleteOrders(rowId); | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  |     findMethod(query) { | ||||||
|  |       this.fromOptions = []; | ||||||
|  |       let cQuery = { | ||||||
|  |         key: query, | ||||||
|  |         customerName: query, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20 | ||||||
|  | 
 | ||||||
|  |       }; | ||||||
|  |       getBasicUnitMaintains(cQuery) | ||||||
|  |           .then((response) => { | ||||||
|  |             this.loading = false; | ||||||
|  |             this.fromOptions = response.data.page.list || []; | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |             this.loading = false; | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  |     getStorage() { | ||||||
|  |       this.storageList = []; | ||||||
|  |       filterUplLocInv() | ||||||
|  |           .then((response) => { | ||||||
|  |             this.storageList = response.data || []; | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     invChange() { | ||||||
|  |       this.filterQuery.invWarehouseCode = ""; | ||||||
|  |       this.subInvList = []; | ||||||
|  |       if (this.filterQuery.invStorageCode != null && this.filterQuery.invStorageCode != "") { | ||||||
|  |         this.invWarehouseDisabled = false; | ||||||
|  |         let query = { | ||||||
|  |           pcode: this.filterQuery.invStorageCode | ||||||
|  |         }; | ||||||
|  |         filterSubByInv(query) | ||||||
|  |             .then((response) => { | ||||||
|  |               this.subInvList = response.data || []; | ||||||
|  |             }) | ||||||
|  |             .catch(() => { | ||||||
|  |             }); | ||||||
|  |       } else { | ||||||
|  |         this.invWarehouseDisabled = true; | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     intentDetail(row) { | ||||||
|  | 
 | ||||||
|  |       this.idQuery = row; | ||||||
|  |       this.idQuery.customerId = null; | ||||||
|  |       this.codeDetailVisible = true; | ||||||
|  |     }, | ||||||
|  |     corpChange(value) { | ||||||
|  |       if (isBlank(value)) { | ||||||
|  |         this.findMethod(); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     , | ||||||
|  |     getBusType() { | ||||||
|  |       let query = { | ||||||
|  |         enabled: true, | ||||||
|  |       }; | ||||||
|  |       getBussinessType(query) | ||||||
|  |           .then((response) => { | ||||||
|  |             this.busTypes = response.data.list || []; | ||||||
|  |             this.filterQuery.billAction = this.busTypes[0].action; | ||||||
|  |             // this.getList(); | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  |     getActionName(action) { | ||||||
|  |       for (let i = 0; i < this.busTypes.length; i++) { | ||||||
|  |         if (this.busTypes[i].action === action) { | ||||||
|  |           return this.busTypes[i].name; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   filters: { | ||||||
|  |     statusFilterType(status) { | ||||||
|  |       const statusMap = { | ||||||
|  |         false: "success", | ||||||
|  |         true: "danger", | ||||||
|  |       }; | ||||||
|  |       return statusMap[status]; | ||||||
|  |     } | ||||||
|  |     , | ||||||
|  |   } | ||||||
|  |   , | ||||||
|  |   mounted() { | ||||||
|  |     document.body.ondrop = function (event) { | ||||||
|  |       event.preventDefault(); | ||||||
|  |       event.stopPropagation(); | ||||||
|  |     }; | ||||||
|  |   } | ||||||
|  |   , | ||||||
|  |   created() { | ||||||
|  |     this.getStorage(); | ||||||
|  |     this.findMethod(); | ||||||
|  |     let query = this.$route.query; | ||||||
|  |     this.filterQuery = Object.assign(this.filterQuery, query); | ||||||
|  |     this.filterQuery.limit = parseInt(this.filterQuery.limit); | ||||||
|  |     // 加载表格数据 | ||||||
|  |     //获取用户默认仓库信息 | ||||||
|  |     userInfo().then((res) => { | ||||||
|  |       if (res.code === 20000) { | ||||||
|  |         if (!isBlank(res.data.locInvCode)) { | ||||||
|  |           this.filterQuery.invStorageCode = res.data.locInvCode; | ||||||
|  |           this.invChange(); | ||||||
|  |           this.filterQuery.invWarehouseCode = res.data.locSubInvCode; | ||||||
|  |         } | ||||||
|  |         this.getList(); | ||||||
|  |       } | ||||||
|  |     }).catch((error) => { | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |   , | ||||||
|  | } | ||||||
|  | ; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style type="text/scss" lang="scss"> | ||||||
|  | </style> | ||||||
| @ -0,0 +1,444 @@ | |||||||
|  | <template> | ||||||
|  |   <div> | ||||||
|  |     <el-card> | ||||||
|  |       <el-form :inline="true" :model="filterQuery" size="mini"> | ||||||
|  |         <el-row style="width: 100%"> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.nameCode" placeholder="产品标识DI" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.productsName" placeholder="产品名称" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.batchNo" placeholder="批次号" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-select | ||||||
|  |                 v-model="filterQuery.supId" | ||||||
|  |                 filterable | ||||||
|  |                 remote | ||||||
|  |                 clearable="true" | ||||||
|  |                 reserve-keyword | ||||||
|  |                 placeholder="请输入供应商名称" | ||||||
|  |                 :remote-method="findMethod" | ||||||
|  |                 size="mini" | ||||||
|  |                 :loading="loading" | ||||||
|  |                 @change="corpChange" | ||||||
|  |             > | ||||||
|  |               <el-option | ||||||
|  |                   v-for="item in fromOptions" | ||||||
|  |                   :key="item.name" | ||||||
|  |                   :label="item.name" | ||||||
|  |                   :value="item.erpId" | ||||||
|  |               > | ||||||
|  |                 <span style="float: left">{{ item.name }}</span> | ||||||
|  |               </el-option> | ||||||
|  |             </el-select> | ||||||
|  |           </el-form-item> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         </el-row> | ||||||
|  |         <el-row style="width: 100%"> | ||||||
|  | 
 | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.ggxh" placeholder="规格型号" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.zczbhhzbapzbh" placeholder="批准文号" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-input v-model="filterQuery.ylqxzcrbarmc" placeholder="生产厂家" clearable></el-input> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-select v-model="filterQuery.invStorageCode" placeholder="请选择当前仓库" clearable="true" | ||||||
|  |                        @change="invChange" | ||||||
|  |                        size="mini"> | ||||||
|  |               <el-option | ||||||
|  |                   v-for="item in storageList" | ||||||
|  |                   :key="item.name" | ||||||
|  |                   :label="item.name" | ||||||
|  |                   :value="item.code"> | ||||||
|  |                 <span style="float: left">{{ item.name }}</span> | ||||||
|  |               </el-option> | ||||||
|  |             </el-select> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item class="query-form-item"> | ||||||
|  |             <el-select v-model="filterQuery.invWarehouseCode" placeholder="请选择当前分库" clearable="true" | ||||||
|  |                        :disabled="invWarehouseDisabled" | ||||||
|  |                        size="mini"> | ||||||
|  |               <el-option | ||||||
|  |                   v-for="item in subInvList" | ||||||
|  |                   :key="item.name" | ||||||
|  |                   :label="item.name" | ||||||
|  |                   :value="item.code"> | ||||||
|  |                 <span style="float: left">{{ item.name }}</span> | ||||||
|  |               </el-option> | ||||||
|  |             </el-select> | ||||||
|  |           </el-form-item> | ||||||
|  |           <el-form-item> | ||||||
|  |             <el-button-group> | ||||||
|  |               <el-button | ||||||
|  |                   type="primary" | ||||||
|  |                   icon="el-icon-refresh" | ||||||
|  |                   @click="onReset" | ||||||
|  |               ></el-button> | ||||||
|  |               <el-button type="primary" icon="search" @click="onSubmit" | ||||||
|  |               >查询 | ||||||
|  |               </el-button | ||||||
|  |               > | ||||||
|  |             </el-button-group> | ||||||
|  |           </el-form-item> | ||||||
|  |         </el-row> | ||||||
|  |       </el-form> | ||||||
|  |       <el-table v-loading="loading" :data="list" style="width: 100%"> | ||||||
|  |         <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |         <el-table-column label="产品标识" prop="nameCode" width="120"></el-table-column> | ||||||
|  |         <el-table-column label="产品名称" prop="cpmctymc" width="180"> | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column label="规格型号" prop="ggxh" width="180" show-overflow-tooltip> | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column label="批次号" prop="batchNo" width="120"></el-table-column> | ||||||
|  |         <el-table-column label="生产日期" prop="productionDate" width="120"></el-table-column> | ||||||
|  |         <el-table-column label="失效日期" prop="expireDate" width="120"></el-table-column> | ||||||
|  |         <el-table-column label="入库数量" prop="inCount" width="120"></el-table-column> | ||||||
|  |         <el-table-column label="出库数量" prop="outCount" width="120"></el-table-column> | ||||||
|  | 
 | ||||||
|  |         <el-table-column label="结余数量" prop="reCount" width="120"> | ||||||
|  |           <template slot-scope="scope"> | ||||||
|  |             {{ (scope.row.inCount - scope.row.outCount) }} | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column label="生产厂家" prop="ylqxzcrbarmc" v-if="showSup" show-overflow-tooltip | ||||||
|  |                          width="120"></el-table-column> | ||||||
|  | 
 | ||||||
|  |         <el-table-column label="供应商" prop="companyName" v-if="showSup" show-overflow-tooltip | ||||||
|  |                          width="120"></el-table-column> | ||||||
|  |         <el-table-column label="仓库" prop="invStorageName" v-if="showSup" | ||||||
|  |                          show-overflow-tooltip width="120"></el-table-column> | ||||||
|  |         <el-table-column label="分库" prop="invSubStorageName" v-if="showSup" | ||||||
|  |                          show-overflow-tooltip width="120"></el-table-column> | ||||||
|  |         <el-table-column label="操作" width="120" fixed="right"> | ||||||
|  |           <template slot-scope="scope"> | ||||||
|  |             <el-button | ||||||
|  |                 type="text" | ||||||
|  |                 size="small" | ||||||
|  |                 @click.native.stop="intentDetail(scope.row)" | ||||||
|  |             >详情 | ||||||
|  |             </el-button | ||||||
|  |             > | ||||||
|  | 
 | ||||||
|  |             <el-button | ||||||
|  |                 type="text" | ||||||
|  |                 size="small" | ||||||
|  |                 @click.native.stop="deleteDialog(scope.row.id)" | ||||||
|  |             >删除 | ||||||
|  |             </el-button | ||||||
|  |             > | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|  |       </el-table> | ||||||
|  |     </el-card> | ||||||
|  | 
 | ||||||
|  |     <el-dialog | ||||||
|  |         title="库存详情" | ||||||
|  |         :visible.sync="codeDetailVisible" | ||||||
|  |         :close-on-click-modal="false" | ||||||
|  |         :close-on-press-escape="false" | ||||||
|  |         width="85%" | ||||||
|  |         v-if="codeDetailVisible" | ||||||
|  |     > | ||||||
|  |       <codeDetail | ||||||
|  |           :idQuery="idQuery" | ||||||
|  |           v-on:closeDetailDialog="closeDetailDialog" | ||||||
|  |       ></codeDetail> | ||||||
|  |     </el-dialog> | ||||||
|  |     <el-pagination | ||||||
|  |         :page-size="filterQuery.limit" | ||||||
|  |         @current-change="handleCurrentChange" | ||||||
|  |         layout="prev, pager, next" | ||||||
|  |         :total="total" | ||||||
|  |     ></el-pagination> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import { | ||||||
|  |   filterProducts, | ||||||
|  |   deleteProducts, | ||||||
|  | } from "../../api/inventory/InvProducts"; | ||||||
|  | import draggable from "vuedraggable"; | ||||||
|  | import codeDetail from "./InvProductsDetail"; | ||||||
|  | import store from "../../store"; | ||||||
|  | import {getBussinessType} from "../../api/basic/bussinessType"; | ||||||
|  | import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain"; | ||||||
|  | import {filterUplLocInv} from "@/api/basic/invWarehouse"; | ||||||
|  | import {filterSubByInv} from "@/api/basic/invSubWarehouse"; | ||||||
|  | import {userInfo} from "@/api/auth/login"; | ||||||
|  | import {isBlank} from "@/utils/strUtil"; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       filterQuery: { | ||||||
|  |         invWarehouseCode: null, | ||||||
|  |         invStorageCode: null, | ||||||
|  |         productsName: null, | ||||||
|  |         nameCode: null, | ||||||
|  |         relIdFk: null, | ||||||
|  |         batchNo: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20, | ||||||
|  |         customerId: null, | ||||||
|  |         supId: null, | ||||||
|  |         unitFk: null, | ||||||
|  |       }, | ||||||
|  |       detailQuery: { | ||||||
|  |         code: null, | ||||||
|  |         productIdFk: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20, | ||||||
|  |       }, | ||||||
|  |       list: [], | ||||||
|  |       storageList: [], | ||||||
|  |       subInvList: [], | ||||||
|  |       codeDetailVisible: false, | ||||||
|  |       total: 0, | ||||||
|  |       loading: true, | ||||||
|  |       index: null, | ||||||
|  |       dialogTableVisible: false, | ||||||
|  |       invWarehouseDisabled: true, | ||||||
|  |       formLoading: false, | ||||||
|  |       dialogVisible: false, | ||||||
|  |       deleteLoading: false, | ||||||
|  |       busTypes: [], | ||||||
|  |       idQuery: null, | ||||||
|  |       showSup: false, | ||||||
|  |       fromOptions: [], | ||||||
|  |     }; | ||||||
|  |   }, | ||||||
|  |   components: { | ||||||
|  |     draggable, | ||||||
|  |     codeDetail, | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     onReset() { | ||||||
|  |       this.$router.push({ | ||||||
|  |         path: "", | ||||||
|  |       }); | ||||||
|  |       this.filterQuery = { | ||||||
|  |         productsName: null, | ||||||
|  |         nameCode: null, | ||||||
|  |         relIdFk: null, | ||||||
|  |         batchNo: null, | ||||||
|  |         customerId: null, | ||||||
|  |         unitFk: null, | ||||||
|  |         supId: null, | ||||||
|  |         invWarehouseCode: null, | ||||||
|  |         invStorageCode: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20, | ||||||
|  |       }; | ||||||
|  |       this.invChange(); | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     onSubmit() { | ||||||
|  |       this.loading = true; | ||||||
|  |       this.filterQuery.page = 1; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     handleSizeChange(val) { | ||||||
|  |       this.filterQuery.limit = val; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     handleCurrentChange(val) { | ||||||
|  |       this.filterQuery.page = val; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     handleUnitClick(row) { | ||||||
|  |       this.curIndex = row.id; | ||||||
|  |       this.dialogTableVisible = true; | ||||||
|  |     }, | ||||||
|  |     closeDetailDialog(val) { | ||||||
|  |       this.codeDetailVisible = false; | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     closeDialog() { | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     getList() { | ||||||
|  |       this.loading = true; | ||||||
|  |       this.filterQuery.customerId = store.getters.customerId; | ||||||
|  |       filterProducts(this.filterQuery) | ||||||
|  |           .then((response) => { | ||||||
|  |             this.showSup = response.data.showSup; | ||||||
|  |             this.loading = false; | ||||||
|  |             this.list = response.data.list || []; | ||||||
|  |             this.total = response.data.total || 0; | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |             this.loading = false; | ||||||
|  |             this.list = []; | ||||||
|  |             this.total = 0; | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     deleteOrders(data) { | ||||||
|  |       this.loading = true; | ||||||
|  |       let query = { | ||||||
|  |         id: data, | ||||||
|  |       } | ||||||
|  |       deleteProducts(query) | ||||||
|  |           .then((response) => { | ||||||
|  |             if (response.code == 20000) { | ||||||
|  |               this.getList(); | ||||||
|  |               this.$message({ | ||||||
|  |                 type: "success", | ||||||
|  |                 message: "删除成功!", | ||||||
|  |               }); | ||||||
|  |             } else { | ||||||
|  |               this.$message.error(response.message); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     deleteDialog(rowId) { | ||||||
|  |       this.$confirm("此操作将永久删除该订单, 是否继续?", "提示", { | ||||||
|  |         confirmButtonText: "确定", | ||||||
|  |         cancelButtonText: "取消", | ||||||
|  |         type: "warning", | ||||||
|  |       }) | ||||||
|  |           .then(() => { | ||||||
|  |             this.deleteOrders(rowId); | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  |     findMethod(query) { | ||||||
|  |       this.fromOptions = []; | ||||||
|  |       let cQuery = { | ||||||
|  |         key: query, | ||||||
|  |         customerName: query, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20 | ||||||
|  | 
 | ||||||
|  |       }; | ||||||
|  |       getBasicUnitMaintains(cQuery) | ||||||
|  |           .then((response) => { | ||||||
|  |             this.loading = false; | ||||||
|  |             this.fromOptions = response.data.page.list || []; | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |             this.loading = false; | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  |     getStorage() { | ||||||
|  |       this.storageList = []; | ||||||
|  |       filterUplLocInv() | ||||||
|  |           .then((response) => { | ||||||
|  |             this.storageList = response.data || []; | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     invChange() { | ||||||
|  |       this.filterQuery.invWarehouseCode = ""; | ||||||
|  |       this.subInvList = []; | ||||||
|  |       if (this.filterQuery.invStorageCode != null && this.filterQuery.invStorageCode != "") { | ||||||
|  |         this.invWarehouseDisabled = false; | ||||||
|  |         let query = { | ||||||
|  |           pcode: this.filterQuery.invStorageCode | ||||||
|  |         }; | ||||||
|  |         filterSubByInv(query) | ||||||
|  |             .then((response) => { | ||||||
|  |               this.subInvList = response.data || []; | ||||||
|  |             }) | ||||||
|  |             .catch(() => { | ||||||
|  |             }); | ||||||
|  |       } else { | ||||||
|  |         this.invWarehouseDisabled = true; | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     intentDetail(row) { | ||||||
|  | 
 | ||||||
|  |       this.idQuery = row; | ||||||
|  |       this.idQuery.customerId = null; | ||||||
|  |       this.codeDetailVisible = true; | ||||||
|  |     }, | ||||||
|  |     corpChange(value) { | ||||||
|  |       if (isBlank(value)) { | ||||||
|  |         this.findMethod(); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     , | ||||||
|  |     getBusType() { | ||||||
|  |       let query = { | ||||||
|  |         enabled: true, | ||||||
|  |       }; | ||||||
|  |       getBussinessType(query) | ||||||
|  |           .then((response) => { | ||||||
|  |             this.busTypes = response.data.list || []; | ||||||
|  |             this.filterQuery.billAction = this.busTypes[0].action; | ||||||
|  |             // this.getList(); | ||||||
|  |           }) | ||||||
|  |           .catch(() => { | ||||||
|  |           }); | ||||||
|  |     }, | ||||||
|  |     getActionName(action) { | ||||||
|  |       for (let i = 0; i < this.busTypes.length; i++) { | ||||||
|  |         if (this.busTypes[i].action === action) { | ||||||
|  |           return this.busTypes[i].name; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   filters: { | ||||||
|  |     statusFilterType(status) { | ||||||
|  |       const statusMap = { | ||||||
|  |         false: "success", | ||||||
|  |         true: "danger", | ||||||
|  |       }; | ||||||
|  |       return statusMap[status]; | ||||||
|  |     } | ||||||
|  |     , | ||||||
|  |   } | ||||||
|  |   , | ||||||
|  |   mounted() { | ||||||
|  |     document.body.ondrop = function (event) { | ||||||
|  |       event.preventDefault(); | ||||||
|  |       event.stopPropagation(); | ||||||
|  |     }; | ||||||
|  |   } | ||||||
|  |   , | ||||||
|  |   created() { | ||||||
|  |     this.getStorage(); | ||||||
|  |     this.findMethod(); | ||||||
|  |     let query = this.$route.query; | ||||||
|  |     this.filterQuery = Object.assign(this.filterQuery, query); | ||||||
|  |     this.filterQuery.limit = parseInt(this.filterQuery.limit); | ||||||
|  |     // 加载表格数据 | ||||||
|  |     //获取用户默认仓库信息 | ||||||
|  |     userInfo().then((res) => { | ||||||
|  |       if (res.code === 20000) { | ||||||
|  |         if (!isBlank(res.data.locInvCode)) { | ||||||
|  |           this.filterQuery.invStorageCode = res.data.locInvCode; | ||||||
|  |           this.invChange(); | ||||||
|  |           this.filterQuery.invWarehouseCode = res.data.locSubInvCode; | ||||||
|  |         } | ||||||
|  |         this.getList(); | ||||||
|  |       } | ||||||
|  |     }).catch((error) => { | ||||||
|  |     }); | ||||||
|  |   } | ||||||
|  |   , | ||||||
|  | } | ||||||
|  | ; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style type="text/scss" lang="scss"> | ||||||
|  | </style> | ||||||
| @ -0,0 +1,349 @@ | |||||||
|  | <template> | ||||||
|  |     <div> | ||||||
|  |         <el-card> | ||||||
|  |             <el-form :inline="true" :model="filterQuery" size="mini"> | ||||||
|  |                 <el-row style="width: 100%"> | ||||||
|  |                     <el-form-item class="query-form-item"> | ||||||
|  |                         <el-select v-model="filterQuery.invStorageCode" placeholder="请选择当前仓库" clearable="true" | ||||||
|  |                                    @change="invChange" | ||||||
|  |                                    size="mini"> | ||||||
|  |                             <el-option | ||||||
|  |                                 v-for="item in storageList" | ||||||
|  |                                 :key="item.name" | ||||||
|  |                                 :label="item.name" | ||||||
|  |                                 :value="item.code"> | ||||||
|  |                                 <span style="float: left">{{ item.name }}</span> | ||||||
|  |                             </el-option> | ||||||
|  |                         </el-select> | ||||||
|  |                     </el-form-item> | ||||||
|  |                     <el-form-item class="query-form-item"> | ||||||
|  |                         <el-select v-model="filterQuery.invWarehouseCode" placeholder="请选择当前分库" clearable="true" | ||||||
|  |                                    :disabled="invWarehouseDisabled" | ||||||
|  |                                    size="mini"> | ||||||
|  |                             <el-option | ||||||
|  |                                 v-for="item in subInvList" | ||||||
|  |                                 :key="item.name" | ||||||
|  |                                 :label="item.name" | ||||||
|  |                                 :value="item.code"> | ||||||
|  |                                 <span style="float: left">{{ item.name }}</span> | ||||||
|  |                             </el-option> | ||||||
|  |                         </el-select> | ||||||
|  |                     </el-form-item> | ||||||
|  |                     <el-form-item class="query-form-item"> | ||||||
|  |                         <el-select v-model="filterQuery.invSpaceCode" placeholder="请选择货位" clearable="true" | ||||||
|  |                                    :disabled="invWarehouseDisabled" | ||||||
|  |                                    size="mini"> | ||||||
|  |                             <el-option | ||||||
|  |                                 v-for="item in subInvList" | ||||||
|  |                                 :key="item.name" | ||||||
|  |                                 :label="item.name" | ||||||
|  |                                 :value="item.code"> | ||||||
|  |                                 <span style="float: left">{{ item.name }}</span> | ||||||
|  |                             </el-option> | ||||||
|  |                         </el-select> | ||||||
|  |                     </el-form-item> | ||||||
|  |                     <el-form-item> | ||||||
|  |                         <el-button-group> | ||||||
|  |                             <el-button | ||||||
|  |                                 type="primary" | ||||||
|  |                                 icon="el-icon-refresh" | ||||||
|  |                                 @click="onReset" | ||||||
|  |                             ></el-button> | ||||||
|  |                             <el-button type="primary" icon="search" @click="onSubmit" | ||||||
|  |                             >查询 | ||||||
|  |                             </el-button | ||||||
|  |                             > | ||||||
|  |                         </el-button-group> | ||||||
|  |                     </el-form-item> | ||||||
|  |                 </el-row> | ||||||
|  |             </el-form> | ||||||
|  |             <el-table v-loading="loading" :data="list" style="width: 100%"> | ||||||
|  |                 <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |                 <el-table-column label="盘点单号" prop="orderId" width="120"></el-table-column> | ||||||
|  |                 <el-table-column label="仓库" prop="invStorageName" width="180"></el-table-column> | ||||||
|  |                 <el-table-column label="分库" prop="invSubStorageName" width="180" | ||||||
|  |                                  show-overflow-tooltip></el-table-column> | ||||||
|  |                 <el-table-column label="货位" prop="invSpaceName" width="120"></el-table-column> | ||||||
|  |                 <el-table-column label="盘点人" prop="createUser" width="120"></el-table-column> | ||||||
|  |                 <el-table-column label="盘点时间" prop="createTime" width="120"></el-table-column> | ||||||
|  |                 <el-table-column label="状态" prop="status" width="120"></el-table-column> | ||||||
|  |                 <el-table-column label="操作" width="120" fixed="right"> | ||||||
|  |                     <template slot-scope="scope"> | ||||||
|  |                         <el-button | ||||||
|  |                             type="text" | ||||||
|  |                             size="small" | ||||||
|  |                             @click.native.stop="submitAudit(scope.row)" | ||||||
|  |                         >提交审核 | ||||||
|  |                         </el-button | ||||||
|  |                         > | ||||||
|  | 
 | ||||||
|  |                         <el-button | ||||||
|  |                             type="text" | ||||||
|  |                             size="small" | ||||||
|  |                             @click.native.stop="deleteDialog(scope.row.id)" | ||||||
|  |                         >删除 | ||||||
|  |                         </el-button | ||||||
|  |                         > | ||||||
|  |                     </template> | ||||||
|  |                 </el-table-column> | ||||||
|  |             </el-table> | ||||||
|  |         </el-card> | ||||||
|  | 
 | ||||||
|  |         <el-pagination | ||||||
|  |             :page-size="filterQuery.limit" | ||||||
|  |             @current-change="handleCurrentChange" | ||||||
|  |             layout="prev, pager, next" | ||||||
|  |             :total="total" | ||||||
|  |         ></el-pagination> | ||||||
|  |     </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import { | ||||||
|  |     filterProducts, | ||||||
|  |     deleteProducts, | ||||||
|  | } from "../../api/inventory/InvProducts"; | ||||||
|  | import draggable from "vuedraggable"; | ||||||
|  | import codeDetail from "./InvProductsDetail"; | ||||||
|  | import store from "../../store"; | ||||||
|  | import {getBussinessType} from "../../api/basic/bussinessType"; | ||||||
|  | import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain"; | ||||||
|  | import {filterUplLocInv} from "@/api/basic/invWarehouse"; | ||||||
|  | import {filterSubByInv} from "@/api/basic/invSubWarehouse"; | ||||||
|  | import {userInfo} from "@/api/auth/login"; | ||||||
|  | import {isBlank} from "@/utils/strUtil"; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |     data() { | ||||||
|  |         return { | ||||||
|  |             filterQuery: { | ||||||
|  |                 invWarehouseCode: null, | ||||||
|  |                 invStorageCode: null, | ||||||
|  |                 invSpaceCode: null, | ||||||
|  |                 page: 1, | ||||||
|  |                 limit: 20, | ||||||
|  |                 customerId: null, | ||||||
|  |             }, | ||||||
|  |             detailQuery: { | ||||||
|  |                 code: null, | ||||||
|  |                 orderIdFk: null, | ||||||
|  |                 page: 1, | ||||||
|  |                 limit: 20, | ||||||
|  |             }, | ||||||
|  |             list: [], | ||||||
|  |             storageList: [], | ||||||
|  |             subInvList: [], | ||||||
|  |             codeDetailVisible: false, | ||||||
|  |             total: 0, | ||||||
|  |             loading: true, | ||||||
|  |             index: null, | ||||||
|  |             dialogTableVisible: false, | ||||||
|  |             invWarehouseDisabled: true, | ||||||
|  |             formLoading: false, | ||||||
|  |             dialogVisible: false, | ||||||
|  |             deleteLoading: false, | ||||||
|  |             idQuery: null, | ||||||
|  |             showSup: false, | ||||||
|  |             fromOptions: [], | ||||||
|  |         }; | ||||||
|  |     }, | ||||||
|  |     components: { | ||||||
|  |         draggable, | ||||||
|  |         codeDetail, | ||||||
|  |     }, | ||||||
|  |     methods: { | ||||||
|  |         onReset() { | ||||||
|  |             this.$router.push({ | ||||||
|  |                 path: "", | ||||||
|  |             }); | ||||||
|  |             this.filterQuery = { | ||||||
|  |                 productsName: null, | ||||||
|  |                 nameCode: null, | ||||||
|  |                 relIdFk: null, | ||||||
|  |                 batchNo: null, | ||||||
|  |                 customerId: null, | ||||||
|  |                 unitFk: null, | ||||||
|  |                 supId: null, | ||||||
|  |                 invWarehouseCode: null, | ||||||
|  |                 invStorageCode: null, | ||||||
|  |                 page: 1, | ||||||
|  |                 limit: 20, | ||||||
|  |             }; | ||||||
|  |             this.invChange(); | ||||||
|  |             this.getList(); | ||||||
|  |         }, | ||||||
|  |         onSubmit() { | ||||||
|  |             this.loading = true; | ||||||
|  |             this.filterQuery.page = 1; | ||||||
|  |             this.getList(); | ||||||
|  |         }, | ||||||
|  |         handleSizeChange(val) { | ||||||
|  |             this.filterQuery.limit = val; | ||||||
|  |             this.getList(); | ||||||
|  |         }, | ||||||
|  |         handleCurrentChange(val) { | ||||||
|  |             this.filterQuery.page = val; | ||||||
|  |             this.getList(); | ||||||
|  |         }, | ||||||
|  |         handleUnitClick(row) { | ||||||
|  |             this.curIndex = row.id; | ||||||
|  |             this.dialogTableVisible = true; | ||||||
|  |         }, | ||||||
|  |         closeDetailDialog(val) { | ||||||
|  |             this.codeDetailVisible = false; | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |         closeDialog() { | ||||||
|  |             this.getList(); | ||||||
|  |         }, | ||||||
|  |         getList() { | ||||||
|  |             this.loading = true; | ||||||
|  |             this.filterQuery.customerId = store.getters.customerId; | ||||||
|  |             filterProducts(this.filterQuery) | ||||||
|  |                 .then((response) => { | ||||||
|  |                     this.showSup = response.data.showSup; | ||||||
|  |                     this.loading = false; | ||||||
|  |                     this.list = response.data.list || []; | ||||||
|  |                     this.total = response.data.total || 0; | ||||||
|  |                 }) | ||||||
|  |                 .catch(() => { | ||||||
|  |                     this.loading = false; | ||||||
|  |                     this.list = []; | ||||||
|  |                     this.total = 0; | ||||||
|  |                 }); | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |         deleteOrders(data) { | ||||||
|  |             this.loading = true; | ||||||
|  |             let query = { | ||||||
|  |                 id: data, | ||||||
|  |             } | ||||||
|  |             deleteProducts(query) | ||||||
|  |                 .then((response) => { | ||||||
|  |                     if (response.code == 20000) { | ||||||
|  |                         this.getList(); | ||||||
|  |                         this.$message({ | ||||||
|  |                             type: "success", | ||||||
|  |                             message: "删除成功!", | ||||||
|  |                         }); | ||||||
|  |                     } else { | ||||||
|  |                         this.$message.error(response.message); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |                 }) | ||||||
|  |                 .catch(() => { | ||||||
|  |                 }); | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |         deleteDialog(rowId) { | ||||||
|  |             this.$confirm("此操作将永久删除该订单, 是否继续?", "提示", { | ||||||
|  |                 confirmButtonText: "确定", | ||||||
|  |                 cancelButtonText: "取消", | ||||||
|  |                 type: "warning", | ||||||
|  |             }) | ||||||
|  |                 .then(() => { | ||||||
|  |                     this.deleteOrders(rowId); | ||||||
|  |                 }) | ||||||
|  |                 .catch(() => { | ||||||
|  |                 }); | ||||||
|  |         }, | ||||||
|  |         findMethod(query) { | ||||||
|  |             this.fromOptions = []; | ||||||
|  |             let cQuery = { | ||||||
|  |                 key: query, | ||||||
|  |                 customerName: query, | ||||||
|  |                 page: 1, | ||||||
|  |                 limit: 20 | ||||||
|  | 
 | ||||||
|  |             }; | ||||||
|  |             getBasicUnitMaintains(cQuery) | ||||||
|  |                 .then((response) => { | ||||||
|  |                     this.loading = false; | ||||||
|  |                     this.fromOptions = response.data.page.list || []; | ||||||
|  |                 }) | ||||||
|  |                 .catch(() => { | ||||||
|  |                     this.loading = false; | ||||||
|  |                 }); | ||||||
|  |         }, | ||||||
|  |         getStorage() { | ||||||
|  |             this.storageList = []; | ||||||
|  |             filterUplLocInv() | ||||||
|  |                 .then((response) => { | ||||||
|  |                     this.storageList = response.data || []; | ||||||
|  |                 }) | ||||||
|  |                 .catch(() => { | ||||||
|  |                 }); | ||||||
|  |         }, | ||||||
|  |         invChange() { | ||||||
|  |             this.filterQuery.invWarehouseCode = ""; | ||||||
|  |             this.subInvList = []; | ||||||
|  |             if (this.filterQuery.invStorageCode != null && this.filterQuery.invStorageCode != "") { | ||||||
|  |                 this.invWarehouseDisabled = false; | ||||||
|  |                 let query = { | ||||||
|  |                     pcode: this.filterQuery.invStorageCode | ||||||
|  |                 }; | ||||||
|  |                 filterSubByInv(query) | ||||||
|  |                     .then((response) => { | ||||||
|  |                         this.subInvList = response.data || []; | ||||||
|  |                     }) | ||||||
|  |                     .catch(() => { | ||||||
|  |                     }); | ||||||
|  |             } else { | ||||||
|  |                 this.invWarehouseDisabled = true; | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         corpChange(value) { | ||||||
|  |             if (isBlank(value)) { | ||||||
|  |                 this.findMethod(); | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         submitAudit(row) { | ||||||
|  | 
 | ||||||
|  |         }, | ||||||
|  |     }, | ||||||
|  |     filters: { | ||||||
|  |         statusFilterType(status) { | ||||||
|  |             const statusMap = { | ||||||
|  |                 false: "success", | ||||||
|  |                 true: "danger", | ||||||
|  |             }; | ||||||
|  |             return statusMap[status]; | ||||||
|  |         } | ||||||
|  |         , | ||||||
|  |     } | ||||||
|  |     , | ||||||
|  |     mounted() { | ||||||
|  |         document.body.ondrop = function (event) { | ||||||
|  |             event.preventDefault(); | ||||||
|  |             event.stopPropagation(); | ||||||
|  |         }; | ||||||
|  |     } | ||||||
|  |     , | ||||||
|  |     created() { | ||||||
|  |         this.getStorage(); | ||||||
|  |         this.findMethod(); | ||||||
|  |         let query = this.$route.query; | ||||||
|  |         this.filterQuery = Object.assign(this.filterQuery, query); | ||||||
|  |         this.filterQuery.limit = parseInt(this.filterQuery.limit); | ||||||
|  |         // 加载表格数据 | ||||||
|  |         //获取用户默认仓库信息 | ||||||
|  |         userInfo().then((res) => { | ||||||
|  |             if (res.code === 20000) { | ||||||
|  |                 if (!isBlank(res.data.locInvCode)) { | ||||||
|  |                     this.filterQuery.invStorageCode = res.data.locInvCode; | ||||||
|  |                     this.invChange(); | ||||||
|  |                     this.filterQuery.invWarehouseCode = res.data.locSubInvCode; | ||||||
|  |                 } | ||||||
|  |                 this.getList(); | ||||||
|  |             } | ||||||
|  |         }).catch((error) => { | ||||||
|  |         }); | ||||||
|  |     } | ||||||
|  |     , | ||||||
|  | } | ||||||
|  | ; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style type="text/scss" lang="scss"> | ||||||
|  | </style> | ||||||
					Loading…
					
					
				
		Reference in New Issue