|  |  |  | @ -6,7 +6,8 @@ | 
			
		
	
		
			
				
					|  |  |  |  |         <el-row> | 
			
		
	
		
			
				
					|  |  |  |  |           <el-col :span="10"> | 
			
		
	
		
			
				
					|  |  |  |  |             <el-form-item label="上级产品"> | 
			
		
	
		
			
				
					|  |  |  |  |               <el-input v-model="filterQuery.code" style="width: 90%" placeholder="请输入多级产品" clearable></el-input> | 
			
		
	
		
			
				
					|  |  |  |  |               <el-input v-model="filterQuery.upProduct " :disabled="isUp" style="width: 90%" placeholder="请输入多级产品" clearable></el-input> | 
			
		
	
		
			
				
					|  |  |  |  |               <el-button style="margin-left: 10px" :disabled="isUp" type="primary" @click="addUpProduct()">添加</el-button> | 
			
		
	
		
			
				
					|  |  |  |  |             </el-form-item> | 
			
		
	
		
			
				
					|  |  |  |  |           </el-col> | 
			
		
	
		
			
				
					|  |  |  |  |         </el-row> | 
			
		
	
	
		
			
				
					|  |  |  | @ -14,26 +15,15 @@ | 
			
		
	
		
			
				
					|  |  |  |  |         <el-row> | 
			
		
	
		
			
				
					|  |  |  |  |           <el-col :span="10"> | 
			
		
	
		
			
				
					|  |  |  |  |             <el-form-item label="下级产品"> | 
			
		
	
		
			
				
					|  |  |  |  |               <el-input v-model="filterQuery.nameCode" style="width: 90%" placeholder="请输入下级产品" clearable></el-input> | 
			
		
	
		
			
				
					|  |  |  |  |               <el-input v-model="filterQuery.lowProduct" style="width: 90%" placeholder="请输入下级产品" clearable></el-input> | 
			
		
	
		
			
				
					|  |  |  |  |               <el-button style="margin-left: 10px" :disabled="isLow" type="primary" @click="addLowProduct()">添加</el-button> | 
			
		
	
		
			
				
					|  |  |  |  |             </el-form-item> | 
			
		
	
		
			
				
					|  |  |  |  |           </el-col> | 
			
		
	
		
			
				
					|  |  |  |  |         </el-row> | 
			
		
	
		
			
				
					|  |  |  |  |       </el-form> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | <!--      <div class="top-right-btn">--> | 
			
		
	
		
			
				
					|  |  |  |  | <!--        <el-button-group style="display:flex;">--> | 
			
		
	
		
			
				
					|  |  |  |  | <!--          <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="onSubmitFind">查询</el-button>--> | 
			
		
	
		
			
				
					|  |  |  |  | <!--          <el-button type="primary" icon="el-icon-plus" @click="newDistributionForm()" :loading="loading">新增--> | 
			
		
	
		
			
				
					|  |  |  |  | <!--          </el-button>--> | 
			
		
	
		
			
				
					|  |  |  |  | <!--        </el-button-group>--> | 
			
		
	
		
			
				
					|  |  |  |  | <!--      </div>--> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | <!--      <el-divider style="margin: 15px"></el-divider>--> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       <el-table v-loading="loading" :data="list" style="width: 100%" @current-change="handleDetail" border | 
			
		
	
		
			
				
					|  |  |  |  |                 highlight-current-row> | 
			
		
	
		
			
				
					|  |  |  |  |       <el-table v-loading="loading" :data="list" style="width: 100%"  border highlight-current-row> | 
			
		
	
		
			
				
					|  |  |  |  |         <el-table-column label="序号" type="index" width="60"></el-table-column> | 
			
		
	
		
			
				
					|  |  |  |  |         <el-table-column label="UDI码" prop="code"></el-table-column> | 
			
		
	
		
			
				
					|  |  |  |  |         <el-table-column label="产品编码" prop="nameCode"></el-table-column> | 
			
		
	
	
		
			
				
					|  |  |  | @ -41,13 +31,6 @@ | 
			
		
	
		
			
				
					|  |  |  |  |         <el-table-column label="规格型号" prop="ggxh"></el-table-column> | 
			
		
	
		
			
				
					|  |  |  |  |         <el-table-column label="序列号" prop="serialNo"></el-table-column> | 
			
		
	
		
			
				
					|  |  |  |  |         <el-table-column label="创建时间" prop="createTime"></el-table-column> | 
			
		
	
		
			
				
					|  |  |  |  |         <el-table-column label="操作" width="120px"> | 
			
		
	
		
			
				
					|  |  |  |  |           <template slot-scope="scope"> | 
			
		
	
		
			
				
					|  |  |  |  |             <el-button type="text" size="small" @click.native="newDistributionForm(scope.$index, scope.row)">编辑 | 
			
		
	
		
			
				
					|  |  |  |  |             </el-button> | 
			
		
	
		
			
				
					|  |  |  |  |             <el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)">删除</el-button> | 
			
		
	
		
			
				
					|  |  |  |  |           </template> | 
			
		
	
		
			
				
					|  |  |  |  |         </el-table-column> | 
			
		
	
		
			
				
					|  |  |  |  |       </el-table> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       <pagination | 
			
		
	
	
		
			
				
					|  |  |  | @ -56,84 +39,43 @@ | 
			
		
	
		
			
				
					|  |  |  |  |         :page.sync="filterQuery.page" | 
			
		
	
		
			
				
					|  |  |  |  |         :limit.sync="filterQuery.limit" | 
			
		
	
		
			
				
					|  |  |  |  |         @pagination="handleCurrentChange" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       ></pagination> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |       <el-dialog | 
			
		
	
		
			
				
					|  |  |  |  |         :title="formName" | 
			
		
	
		
			
				
					|  |  |  |  |         :visible.sync="newSpDistributionVisible" | 
			
		
	
		
			
				
					|  |  |  |  |         width="80%" | 
			
		
	
		
			
				
					|  |  |  |  |         v-if="newSpDistributionVisible" | 
			
		
	
		
			
				
					|  |  |  |  |         @close='closeDialog' | 
			
		
	
		
			
				
					|  |  |  |  |         :close-on-click-modal="false" | 
			
		
	
		
			
				
					|  |  |  |  |         :close-on-press-escape="false" | 
			
		
	
		
			
				
					|  |  |  |  |       > | 
			
		
	
		
			
				
					|  |  |  |  |         <ioCodeRelEdit | 
			
		
	
		
			
				
					|  |  |  |  |           :closeDialog="closeDialog" | 
			
		
	
		
			
				
					|  |  |  |  |           :formData="formData" | 
			
		
	
		
			
				
					|  |  |  |  |         ></ioCodeRelEdit> | 
			
		
	
		
			
				
					|  |  |  |  |       </el-dialog> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     </el-card> | 
			
		
	
		
			
				
					|  |  |  |  |   </div> | 
			
		
	
		
			
				
					|  |  |  |  | </template> | 
			
		
	
		
			
				
					|  |  |  |  | <script> | 
			
		
	
		
			
				
					|  |  |  |  | import {getList} from "@/api/inout/ioCodeRel"; | 
			
		
	
		
			
				
					|  |  |  |  | import {checkLowProduct, checkUpProduct, getDelectList, getList} from "@/api/inout/ioCodeRel"; | 
			
		
	
		
			
				
					|  |  |  |  | import ioCodeRelEdit from "@/views" | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | export default { | 
			
		
	
		
			
				
					|  |  |  |  |   props: { | 
			
		
	
		
			
				
					|  |  |  |  |     closeDialog: { | 
			
		
	
		
			
				
					|  |  |  |  |       type: Function, | 
			
		
	
		
			
				
					|  |  |  |  |       required: true, | 
			
		
	
		
			
				
					|  |  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |  |     idQuery: { | 
			
		
	
		
			
				
					|  |  |  |  |       type: Object, | 
			
		
	
		
			
				
					|  |  |  |  |       required: true, | 
			
		
	
		
			
				
					|  |  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |  |   }, | 
			
		
	
		
			
				
					|  |  |  |  |   data() { | 
			
		
	
		
			
				
					|  |  |  |  |     return { | 
			
		
	
		
			
				
					|  |  |  |  |       showSearch: true, | 
			
		
	
		
			
				
					|  |  |  |  |       newSpDistributionVisible: false, | 
			
		
	
		
			
				
					|  |  |  |  |       filterQuery: { | 
			
		
	
		
			
				
					|  |  |  |  |         billAction: null, | 
			
		
	
		
			
				
					|  |  |  |  |         billNo: "", | 
			
		
	
		
			
				
					|  |  |  |  |         originType: null, | 
			
		
	
		
			
				
					|  |  |  |  |         thirdSysFk: "", | 
			
		
	
		
			
				
					|  |  |  |  |         upProduct:'', | 
			
		
	
		
			
				
					|  |  |  |  |         lowProduct:'', | 
			
		
	
		
			
				
					|  |  |  |  |         page: 1, | 
			
		
	
		
			
				
					|  |  |  |  |         limit: 10, | 
			
		
	
		
			
				
					|  |  |  |  |         corpName: null, | 
			
		
	
		
			
				
					|  |  |  |  |         type: 1, | 
			
		
	
		
			
				
					|  |  |  |  |         editStatus: 1, | 
			
		
	
		
			
				
					|  |  |  |  |       }, | 
			
		
	
		
			
				
					|  |  |  |  |       isLow:true, | 
			
		
	
		
			
				
					|  |  |  |  |       isUp:false, | 
			
		
	
		
			
				
					|  |  |  |  |       upCode:null, | 
			
		
	
		
			
				
					|  |  |  |  |       formName:null, | 
			
		
	
		
			
				
					|  |  |  |  |       loading:false, | 
			
		
	
		
			
				
					|  |  |  |  |       list:[], | 
			
		
	
		
			
				
					|  |  |  |  |       formData:null, | 
			
		
	
		
			
				
					|  |  |  |  |       total:0, | 
			
		
	
		
			
				
					|  |  |  |  |       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]); | 
			
		
	
		
			
				
					|  |  |  |  |             }, | 
			
		
	
		
			
				
					|  |  |  |  |           }, | 
			
		
	
		
			
				
					|  |  |  |  |         ], | 
			
		
	
		
			
				
					|  |  |  |  |       }, | 
			
		
	
		
			
				
					|  |  |  |  |     }; | 
			
		
	
		
			
				
					|  |  |  |  |   }, | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -143,53 +85,20 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |  |         path: "", | 
			
		
	
		
			
				
					|  |  |  |  |       }); | 
			
		
	
		
			
				
					|  |  |  |  |       this.filterQuery = { | 
			
		
	
		
			
				
					|  |  |  |  |         billNo: "", | 
			
		
	
		
			
				
					|  |  |  |  |         thirdSysFk: "", | 
			
		
	
		
			
				
					|  |  |  |  |         billFlag: null, | 
			
		
	
		
			
				
					|  |  |  |  |         billAction: null, | 
			
		
	
		
			
				
					|  |  |  |  |         startDate: null, | 
			
		
	
		
			
				
					|  |  |  |  |         endDate: null, | 
			
		
	
		
			
				
					|  |  |  |  |         page: 1, | 
			
		
	
		
			
				
					|  |  |  |  |         limit: 10, | 
			
		
	
		
			
				
					|  |  |  |  |         corpName: null, | 
			
		
	
		
			
				
					|  |  |  |  |         type: 1, | 
			
		
	
		
			
				
					|  |  |  |  |         editStatus: 1, | 
			
		
	
		
			
				
					|  |  |  |  |       }; | 
			
		
	
		
			
				
					|  |  |  |  |       this.actDateRange = []; | 
			
		
	
		
			
				
					|  |  |  |  |       this.getList(); | 
			
		
	
		
			
				
					|  |  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |  |     onSubmitFind() { | 
			
		
	
		
			
				
					|  |  |  |  |       this.filterQuery.page = 1; | 
			
		
	
		
			
				
					|  |  |  |  |       this.getList(); | 
			
		
	
		
			
				
					|  |  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |  |     hideSearch() { | 
			
		
	
		
			
				
					|  |  |  |  |       this.showSearch = !this.showSearch; | 
			
		
	
		
			
				
					|  |  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |  |     newDistributionForm(index, row) { | 
			
		
	
		
			
				
					|  |  |  |  |       this.idQuery.id = ''; | 
			
		
	
		
			
				
					|  |  |  |  |       if (this.$isNotBlank(row) && this.$isNotBlank(row.id)) { | 
			
		
	
		
			
				
					|  |  |  |  |         this.idQuery.id = row.id; | 
			
		
	
		
			
				
					|  |  |  |  |         this.idQuery.formData = row; | 
			
		
	
		
			
				
					|  |  |  |  |         this.formName = "编辑"; | 
			
		
	
		
			
				
					|  |  |  |  |       } else | 
			
		
	
		
			
				
					|  |  |  |  |         this.formName = "新增"; | 
			
		
	
		
			
				
					|  |  |  |  |       this.newSpDistributionVisible = true; | 
			
		
	
		
			
				
					|  |  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |  |     closeDialog() { | 
			
		
	
		
			
				
					|  |  |  |  |       this.newSpDistributionVisible = false; | 
			
		
	
		
			
				
					|  |  |  |  |     handleCurrentChange(val) { | 
			
		
	
		
			
				
					|  |  |  |  |       this.filterQuery.page = val.page; | 
			
		
	
		
			
				
					|  |  |  |  |       this.getList(); | 
			
		
	
		
			
				
					|  |  |  |  |       this.detailList = []; | 
			
		
	
		
			
				
					|  |  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |  |     getList() { | 
			
		
	
		
			
				
					|  |  |  |  |       if (this.actDateRange != null) { | 
			
		
	
		
			
				
					|  |  |  |  |         this.filterQuery.startDate = this.actDateRange[0]; | 
			
		
	
		
			
				
					|  |  |  |  |         this.filterQuery.endDate = this.actDateRange[1]; | 
			
		
	
		
			
				
					|  |  |  |  |       } else { | 
			
		
	
		
			
				
					|  |  |  |  |         this.filterQuery.startDate = null; | 
			
		
	
		
			
				
					|  |  |  |  |         this.filterQuery.endDate = null; | 
			
		
	
		
			
				
					|  |  |  |  |       if (this.filterQuery.upProduct!=null){ | 
			
		
	
		
			
				
					|  |  |  |  |         this.filterQuery.parentCode=this.filterQuery.upProduct | 
			
		
	
		
			
				
					|  |  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |  |       this.loading = true; | 
			
		
	
		
			
				
					|  |  |  |  |       getList(this.filterQuery) | 
			
		
	
		
			
				
					|  |  |  |  |       getDelectList(this.filterQuery) | 
			
		
	
		
			
				
					|  |  |  |  |         .then((response) => { | 
			
		
	
		
			
				
					|  |  |  |  |           if (response.code == 20000) { | 
			
		
	
		
			
				
					|  |  |  |  |             this.list = response.data.list || []; | 
			
		
	
	
		
			
				
					|  |  |  | @ -205,18 +114,28 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |  |           this.total = 0; | 
			
		
	
		
			
				
					|  |  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |  |     handleDetail(row) { | 
			
		
	
		
			
				
					|  |  |  |  |       let query = {orderIdFk: row.id}; | 
			
		
	
		
			
				
					|  |  |  |  |       this.loading = true; | 
			
		
	
		
			
				
					|  |  |  |  |       listApplyDetail(query) //查找该单号下的所有条码 | 
			
		
	
		
			
				
					|  |  |  |  |         .then((response) => { | 
			
		
	
		
			
				
					|  |  |  |  |           this.detailList = response.data.list || []; | 
			
		
	
		
			
				
					|  |  |  |  |           this.loading = false; | 
			
		
	
		
			
				
					|  |  |  |  |     addUpProduct(){ | 
			
		
	
		
			
				
					|  |  |  |  |       checkUpProduct({code:this.filterQuery.upProduct}).then((res)=>{ | 
			
		
	
		
			
				
					|  |  |  |  |         if(res.code==20000){ | 
			
		
	
		
			
				
					|  |  |  |  |           this.isLow=false; | 
			
		
	
		
			
				
					|  |  |  |  |           this.isUp=true; | 
			
		
	
		
			
				
					|  |  |  |  |         }else{ | 
			
		
	
		
			
				
					|  |  |  |  |           this.$message.error(res.message); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |       }).catch(()=>{ | 
			
		
	
		
			
				
					|  |  |  |  |         this.$message.error("扫码错误!"); | 
			
		
	
		
			
				
					|  |  |  |  |       }) | 
			
		
	
		
			
				
					|  |  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |  |     addLowProduct(){ | 
			
		
	
		
			
				
					|  |  |  |  |       checkLowProduct({lowCode:this.filterQuery.lowProduct,upCode:this.filterQuery.upProduct}).then((res)=>{ | 
			
		
	
		
			
				
					|  |  |  |  |         if(res.code==20000){ | 
			
		
	
		
			
				
					|  |  |  |  |             this.getList(); | 
			
		
	
		
			
				
					|  |  |  |  |         }else{ | 
			
		
	
		
			
				
					|  |  |  |  |           this.$message.error(res.message); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  |       }).catch(()=>{ | 
			
		
	
		
			
				
					|  |  |  |  |         this.$message.error("扫码错误!"); | 
			
		
	
		
			
				
					|  |  |  |  |       }) | 
			
		
	
		
			
				
					|  |  |  |  |         .catch(() => { | 
			
		
	
		
			
				
					|  |  |  |  |           this.loading = false; | 
			
		
	
		
			
				
					|  |  |  |  |           this.detailList = []; | 
			
		
	
		
			
				
					|  |  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |  |     }, | 
			
		
	
		
			
				
					|  |  |  |  |   }, | 
			
		
	
		
			
				
					|  |  |  |  |   components: {}, | 
			
		
	
	
		
			
				
					|  |  |  | @ -225,12 +144,14 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  |  |   , | 
			
		
	
		
			
				
					|  |  |  |  |   created() { | 
			
		
	
		
			
				
					|  |  |  |  |     let end = new Date(); | 
			
		
	
		
			
				
					|  |  |  |  |     let start = new Date(); | 
			
		
	
		
			
				
					|  |  |  |  |     start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); | 
			
		
	
		
			
				
					|  |  |  |  |     this.actDateRange = [start, end]; | 
			
		
	
		
			
				
					|  |  |  |  |     if(this.idQuery.id!=null){ | 
			
		
	
		
			
				
					|  |  |  |  |       this.filterQuery.upProduct=this.idQuery.parentCode | 
			
		
	
		
			
				
					|  |  |  |  |       this.isLow=false; | 
			
		
	
		
			
				
					|  |  |  |  |       this.isUp=true; | 
			
		
	
		
			
				
					|  |  |  |  |       this.getList(); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  |  |   , | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | ; | 
			
		
	
	
		
			
				
					|  |  |  | 
 |