新增单据管理,录入产品页面
							parent
							
								
									60f6af9ddf
								
							
						
					
					
						commit
						50a9c3446b
					
				| @ -0,0 +1,19 @@ | |||||||
|  | import axios from '@/utils/request' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function getDetailCodes(query) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/inout/order/draft/detailCode", | ||||||
|  |     method: "get", | ||||||
|  |     params: query | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function getDetailBizs(query) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/inout/order/draft/detailBiz", | ||||||
|  |     method: "get", | ||||||
|  |     params: query | ||||||
|  |   }); | ||||||
|  | } | ||||||
| @ -0,0 +1,320 @@ | |||||||
|  | <template> | ||||||
|  |   <div> | ||||||
|  |     <el-card class="el-card"> | ||||||
|  |       <div> | ||||||
|  |         <el-form :model="listQuery" size="mini"> | ||||||
|  |           <el-row style="margin-top: 15px;width: 1000px"> | ||||||
|  |             <el-form-item class="query-form-item"> | ||||||
|  |               <el-input v-model="listQuery.udiCode" | ||||||
|  |                         style="width: 600px" | ||||||
|  |                         placeholder="请扫描或输入UDI码" | ||||||
|  |                         clearable="true" | ||||||
|  |                         @keyup.enter.native="keyup_submit($event)"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-row> | ||||||
|  |           <el-row> | ||||||
|  |             <el-form-item class="query-form-item"> | ||||||
|  |               <el-input v-model="listQuery.unionCode" placeholder="DI/医保编码/商品条码" | ||||||
|  |                         clearable="true"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item class="query-form-item"> | ||||||
|  |               <el-input v-model="listQuery.cpmctymc" placeholder="产品通用名" clearable="true"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item class="query-form-item"> | ||||||
|  |               <el-input v-model="listQuery.ggxh" placeholder="规格型号" clearable="true"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-row> | ||||||
|  |           <el-row> | ||||||
|  |             <el-form-item class="query-form-item"> | ||||||
|  |               <el-input v-model="listQuery.ylqxzcrbarmc" placeholder="生产企业/注册备案人" | ||||||
|  |                         clearable="true"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item class="query-form-item"> | ||||||
|  |               <el-input v-model="listQuery.thrPiId" placeholder="第三方产品编码" clearable="true"></el-input> | ||||||
|  |             </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="search">查询</el-button> | ||||||
|  |                 <el-button type="primary" icon="search" @click="confirmSelect">确定</el-button> | ||||||
|  |               </el-button-group> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-row> | ||||||
|  |         </el-form> | ||||||
|  | 
 | ||||||
|  |         <el-table | ||||||
|  |           :data="dataList" | ||||||
|  |           style="width: 100%" | ||||||
|  |           highlight-current-row="false" | ||||||
|  |           v-loading="loading" | ||||||
|  |           border | ||||||
|  |           @current-change="handleChange" | ||||||
|  |           ref="multipleTable" | ||||||
|  |         > | ||||||
|  |           <el-table-column label width="45"> | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |               <el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             label="最小销售产品标识" | ||||||
|  |             prop="nameCode" | ||||||
|  |             width="140" | ||||||
|  |             show-overflow-tooltip | ||||||
|  |           ></el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             label="产品编码" | ||||||
|  |             prop="thirdId" | ||||||
|  |             show-overflow-tooltip | ||||||
|  |           ></el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             label="医疗器械注册人" | ||||||
|  |             prop="ylqxzcrbarmc" | ||||||
|  |             show-overflow-tooltip | ||||||
|  |           ></el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             label="产品通用名" | ||||||
|  |             prop="cpmctymc" | ||||||
|  |             show-overflow-tooltip | ||||||
|  |           ></el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             label="规格型号" | ||||||
|  |             prop="ggxh" | ||||||
|  |             show-overflow-tooltip | ||||||
|  |           ></el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             label="注册/备案凭证" | ||||||
|  |             prop="zczbhhzbapzbh" | ||||||
|  |             show-overflow-tooltip | ||||||
|  |           ></el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             label="器械类别" | ||||||
|  |             prop="qxlb" | ||||||
|  |             show-overflow-tooltip | ||||||
|  |           ></el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             label="配送企业" | ||||||
|  |             prop="companyName" | ||||||
|  |             show-overflow-tooltip | ||||||
|  |           ></el-table-column> | ||||||
|  |           <el-table-column label="操作" width="160"> | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |               <el-button | ||||||
|  |                 type="text" | ||||||
|  |                 size="small" | ||||||
|  |                 @click.native.stop="handleDetailClick(scope.row)" | ||||||
|  |               >详情 | ||||||
|  |               </el-button | ||||||
|  |               > | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |         </el-table> | ||||||
|  |         <el-pagination | ||||||
|  |           :page-size="listQuery.limit" | ||||||
|  |           @current-change="handleErpPageChange" | ||||||
|  |           layout="prev, pager, next" | ||||||
|  |           :total="pageTotal" | ||||||
|  |           :current-page="listQuery.page" | ||||||
|  |         ></el-pagination> | ||||||
|  |       </div> | ||||||
|  |     </el-card> | ||||||
|  | 
 | ||||||
|  |     <el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%"> | ||||||
|  |       <el-form :model="form"> | ||||||
|  |         <el-form-item label="" prop="isGive"> | ||||||
|  |           <el-radio-group v-model="currentCert"> | ||||||
|  |             <el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio> | ||||||
|  |           </el-radio-group> | ||||||
|  |         </el-form-item> | ||||||
|  |       </el-form> | ||||||
|  |       <div slot="footer" class="dialog-footer"> | ||||||
|  |         <el-button type="primary" @click="selectCert">确 定</el-button> | ||||||
|  |         <el-button @click="dialogFormVisible = false">取 消</el-button> | ||||||
|  |       </div> | ||||||
|  |     </el-dialog> | ||||||
|  | 
 | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | 
 | ||||||
|  | import {getUdiInfos} from "@/api/basic/product/udiRelevance"; | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   name: "stockOrderNewSelectProduct", | ||||||
|  |   props: { | ||||||
|  |     data: { | ||||||
|  |       type: Object, | ||||||
|  |       required: true, | ||||||
|  |     }, | ||||||
|  |     closeDialog: { | ||||||
|  |       type: Function, | ||||||
|  |       required: true, | ||||||
|  |     }, | ||||||
|  |     filterType: { | ||||||
|  |       type: Function, | ||||||
|  |       required: true, | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       loading: false, | ||||||
|  |       listQuery: { | ||||||
|  |         udiCode: null, | ||||||
|  |         cpmctymc: null, | ||||||
|  |         ggxh: null, | ||||||
|  |         ylqxzcrbarmc: null, | ||||||
|  |         thrPiId: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 10, | ||||||
|  |       }, | ||||||
|  |       dataList: [], | ||||||
|  |       pageTotal: 1, | ||||||
|  |       total: 1, | ||||||
|  |       radioCheck: null, | ||||||
|  |       currentRow: null, | ||||||
|  | 
 | ||||||
|  |       //选择资质证书 | ||||||
|  |       dialogFormVisible: false, | ||||||
|  |       currentCert: null, | ||||||
|  |       certList: [], | ||||||
|  |     }; | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  | 
 | ||||||
|  |     onReset() { | ||||||
|  |       this.listQuery = { | ||||||
|  |         udiCode: null, | ||||||
|  |         cpmctymc: null, | ||||||
|  |         ggxh: null, | ||||||
|  |         ylqxzcrbarmc: null, | ||||||
|  |         thrPiId: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 10, | ||||||
|  |       } | ||||||
|  |       this.radioCheck = null; | ||||||
|  |       this.currentRow = null; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     search() { | ||||||
|  |       this.listQuery.page = 1; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     getList() { | ||||||
|  |       this.loading = true; | ||||||
|  |       getUdiInfos(this.listQuery) | ||||||
|  |         .then((response) => { | ||||||
|  |           this.loading = false; | ||||||
|  |           if (response.code === 20000) { | ||||||
|  |             this.dataList = response.data.list || []; | ||||||
|  |             this.pageTotal = response.data.total || 0; | ||||||
|  |           } else { | ||||||
|  |             this.$message.error(response.message); | ||||||
|  |             this.dataList = []; | ||||||
|  |             this.pageTotal = 0; | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |         .catch(() => { | ||||||
|  |           this.loading = false; | ||||||
|  |           this.dataList = []; | ||||||
|  |           this.pageTotal = 0; | ||||||
|  |         }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     keyup_submit(event) { | ||||||
|  |       this.listQuery.page = 1; | ||||||
|  |       this.getList(); | ||||||
|  |       event.target.select(); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     handleChange(val) { | ||||||
|  |       this.radioCheck = val.id; | ||||||
|  |       this.currentRow = val; | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     confirmSelect() { | ||||||
|  |       if (this.radioCheck == null) { | ||||||
|  |         this.$message.error('未选择产品'); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|  |       let str = this.currentRow.zczbhhzbapzbh; | ||||||
|  |       if (str.search(",") != -1) { | ||||||
|  |         this.currentCert = null; | ||||||
|  |         this.certList = str.split(','); | ||||||
|  |         this.dialogFormVisible = true; | ||||||
|  |       } else { | ||||||
|  |         this.combine(); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     selectCert() { | ||||||
|  |       if (this.currentCert == null) { | ||||||
|  |         this.$message.error("请先选择对应的注册证!"); | ||||||
|  |       } else { | ||||||
|  |         this.multipleSelection.zczbhhzbapzbh = this.currentCert; | ||||||
|  |         this.combine(); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     combine() { | ||||||
|  |       let ids = []; | ||||||
|  |       let data = { | ||||||
|  |         relId: this.multipleSelection.rlId, | ||||||
|  |         supId: this.multipleSelection.customerId | ||||||
|  |       } | ||||||
|  |       ids.push(data); | ||||||
|  |       this.loading = true; | ||||||
|  |       let tQuery = { | ||||||
|  |         datas: ids, | ||||||
|  |         zczbhhzbapzbh: this.multipleSelection.zczbhhzbapzbh, | ||||||
|  |       }; | ||||||
|  |       getStockOrderDetailInstrumentById(tQuery).then((response) => { | ||||||
|  |         this.loading = false; | ||||||
|  |         if (response.code === 20000) { | ||||||
|  |           this.closeDialog(response.data); | ||||||
|  |         } else { | ||||||
|  |           if (response.code == 601) { | ||||||
|  |             this.$alert(response.message, "提示", { | ||||||
|  |               confirmButtonText: "确定", | ||||||
|  |             }); | ||||||
|  |           } else | ||||||
|  |             this.$message.error(response.message); | ||||||
|  |         } | ||||||
|  |       }).catch(() => { | ||||||
|  |         this.loading = false; | ||||||
|  |       }); | ||||||
|  | 
 | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |   }, | ||||||
|  |   components: {} | ||||||
|  |   , | ||||||
|  | 
 | ||||||
|  |   created() { | ||||||
|  |     this.getList(); | ||||||
|  |   } | ||||||
|  |   , | ||||||
|  | } | ||||||
|  | ; | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | .query-form-item { | ||||||
|  |   display: block !important; | ||||||
|  |   margin-right: 10px; | ||||||
|  |   margin-bottom: 5px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div /deep/ .el-table .warning-row { | ||||||
|  |   background: #bebebe; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div /deep/ .el-table .success-row { | ||||||
|  |   background: #ffffff; | ||||||
|  | } | ||||||
|  | </style> | ||||||
					Loading…
					
					
				
		Reference in New Issue