企业医疗器械信息相关
							parent
							
								
									cd620d55f2
								
							
						
					
					
						commit
						20804f3cbf
					
				| @ -0,0 +1,56 @@ | |||||||
|  | import axios from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function filterRlCompany(query) { | ||||||
|  |   return axios( | ||||||
|  |     { | ||||||
|  |       url: "/udi/basic/rel/filter", | ||||||
|  |       method: "get", | ||||||
|  |       params: query | ||||||
|  |     } | ||||||
|  |   ) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function filterByUuid(query) { | ||||||
|  |   return axios( | ||||||
|  |     { | ||||||
|  |       url: "/udiwms/udiinfo/local/filterByUuid", | ||||||
|  |       method: "get", | ||||||
|  |       params: query | ||||||
|  |     } | ||||||
|  |   ) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function seachCompany(query) { | ||||||
|  |   return axios( | ||||||
|  |     { | ||||||
|  |       url: "/udi/auth/user/comapny/search", | ||||||
|  |       method: "get", | ||||||
|  |       params: query | ||||||
|  |     } | ||||||
|  |   ) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function deleteRel(query) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udi/basic/rel/delete", | ||||||
|  |     method: "post", | ||||||
|  |     data: query | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function batchCombine(query) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udi/basic/rel/batch/save", | ||||||
|  |     method: "post", | ||||||
|  |     data: query | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,424 @@ | |||||||
|  | <template> | ||||||
|  |   <div> | ||||||
|  |     <el-card> | ||||||
|  |       <el-form :model="filterQuery" label-width="120px" v-show="showSearch"> | ||||||
|  |         <el-row> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item label="注册企业:"> | ||||||
|  |               <el-select | ||||||
|  |                 v-model="filterQuery.companyIdFk" | ||||||
|  |                 style="width: 90%" | ||||||
|  |                 filterable | ||||||
|  |                 remote | ||||||
|  |                 clearable="true" | ||||||
|  |                 reserve-keyword | ||||||
|  |                 placeholder="请选择注册企业" | ||||||
|  |                 :remote-method="findMethod" | ||||||
|  |                 :loading="loading" | ||||||
|  |               > | ||||||
|  |                 <el-option | ||||||
|  |                   v-for="item in fromOptions" | ||||||
|  |                   :key="item.companyName" | ||||||
|  |                   :label="item.companyName" | ||||||
|  |                   :value="item.id" | ||||||
|  |                 > | ||||||
|  |                   <span style="float: left">{{ item.companyName }}</span> | ||||||
|  |                 </el-option> | ||||||
|  |               </el-select> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item label="产品编码:"> | ||||||
|  |               <el-input v-model="filterQuery.unionCode" style="width: 90%" placeholder="请输入DI/医保编码/商品条码" | ||||||
|  |                         clearable="true"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item label="产品名称:"> | ||||||
|  |               <el-input v-model="filterQuery.cpmctymc" style="width: 90%" placeholder="请输入物资名称" | ||||||
|  |                         clearable="true"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item label="规格型号:"> | ||||||
|  |               <el-input v-model="filterQuery.ggxh" style="width: 90%" placeholder="请输入规格型号" clearable="true"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |         </el-row> | ||||||
|  | 
 | ||||||
|  |         <el-row> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item label="注册备案号:"> | ||||||
|  |               <el-input v-model="filterQuery.zczbhhzbapzbh" style="width: 90%" placeholder="请输入注册备案号" | ||||||
|  |                         clearable="true"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item label="生产企业:"> | ||||||
|  |               <el-input v-model="filterQuery.ylqxzcrbarmc" style="width: 90%" placeholder="请输入生产企业/注册备案人" | ||||||
|  |                         clearable="true"></el-input> | ||||||
|  |             </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="search">查询</el-button> | ||||||
|  |           <el-button type="primary" icon="el-icon-bottom-right" @click="selectProduct()">选入产品</el-button> | ||||||
|  |         </el-button-group> | ||||||
|  |       </div> | ||||||
|  |       <el-divider style="margin: 15px"></el-divider> | ||||||
|  | 
 | ||||||
|  |       <el-table v-loading="loading" :data="list" key="1" style="width: 100%" | ||||||
|  |                 border> | ||||||
|  |         <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |         <el-table-column label="注册企业" prop="companyName" show-overflow-tooltip></el-table-column> | ||||||
|  |         <el-table-column label="企业类型" prop="companyName" show-overflow-tooltip> | ||||||
|  | 
 | ||||||
|  |           <template slot-scope="scope"> | ||||||
|  |             <span>{{ companyTypeMap[scope.row.companyType] }}</span> | ||||||
|  |           </template> | ||||||
|  | 
 | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column label="最小销售产品标识" prop="nameCode" 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="ylqxzcrbarmc" show-overflow-tooltip></el-table-column> | ||||||
|  |         <el-table-column label="注册/备案号" prop="zczbhhzbapzbh" show-overflow-tooltip></el-table-column> | ||||||
|  |         <el-table-column width="120" label="操作"> | ||||||
|  |           <template slot-scope="scope"> | ||||||
|  |             <el-button type="text" @click.native.stop="handleModifyClick(scope.row)">详情</el-button> | ||||||
|  |             <el-button type="text" @click.native.stop="deleteDialog(scope.row)">删除</el-button> | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|  |       </el-table> | ||||||
|  | 
 | ||||||
|  |       <el-dialog | ||||||
|  |         title="产品信息详情" | ||||||
|  |         :visible.sync="editDialogVisible" | ||||||
|  |         :close-on-click-modal="false" | ||||||
|  |         :close-on-press-escape="false" | ||||||
|  |         width="60%" | ||||||
|  |         v-if="editDialogVisible" | ||||||
|  |       > | ||||||
|  |         <selectDetail | ||||||
|  |           :detailQuery="detailQuery" | ||||||
|  |           :checked="checked" | ||||||
|  |           @closeUdi="closeUdi" | ||||||
|  |         > | ||||||
|  |         </selectDetail> | ||||||
|  |       </el-dialog> | ||||||
|  | 
 | ||||||
|  |       <el-dialog | ||||||
|  |         title="选入医疗器械信息" | ||||||
|  |         :visible.sync="selectProductVisible" | ||||||
|  |         width="85%" | ||||||
|  |         :close-on-click-modal="false" | ||||||
|  |         :close-on-press-escape="false" | ||||||
|  |         v-if="selectProductVisible" | ||||||
|  |       > | ||||||
|  |         <selectLocalUdi | ||||||
|  |           :closeDialog="closeDialog" | ||||||
|  |           :companyId="filterQuery.companyIdFk" | ||||||
|  |         ></selectLocalUdi> | ||||||
|  |       </el-dialog> | ||||||
|  | 
 | ||||||
|  |       <pagination | ||||||
|  |         v-show="total>0" | ||||||
|  |         :total="total" | ||||||
|  |         :limit.sync="filterQuery.limit" | ||||||
|  |         :page.sync="filterQuery.page" | ||||||
|  |         @pagination="handleCurrentChange" | ||||||
|  |       ></pagination> | ||||||
|  | 
 | ||||||
|  |     </el-card> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import selectProduct from "./basicCompanyProductsImport"; | ||||||
|  | import selectUdi from "./udiInfoRelevance.vue"; | ||||||
|  | import selectErp from "./udiInfoselectErpUdi"; | ||||||
|  | import selectLocalUdi from "./UdiInfoSelectLocalUdi"; | ||||||
|  | import selectDetail from "./udilnfoManageSpDetail"; | ||||||
|  | import {filterRlCompany, seachCompany, deleteRel} from "../../../api/basic/udiRlCompany"; | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       showSearch: true, | ||||||
|  |       filterQuery: { | ||||||
|  |         unionCode: null, | ||||||
|  |         udiCode: null, | ||||||
|  |         ylqxzcrbarmc: "", | ||||||
|  |         cpmctymc: "", | ||||||
|  |         nameCode: "", | ||||||
|  |         ggxh: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20, | ||||||
|  |         addType: 1, | ||||||
|  |         thrPiId: null, | ||||||
|  |         filterType: null, | ||||||
|  |         companyName: null, | ||||||
|  |         companyIdFk: null, | ||||||
|  |       }, | ||||||
|  |       fromOptions: [], | ||||||
|  |       editQuery: null, | ||||||
|  |       detailQuery: null, | ||||||
|  |       defaultSys: null, | ||||||
|  |       isImport: false, | ||||||
|  |       isImportUdi: false, | ||||||
|  |       isUploadSmp: false, | ||||||
|  |       isSpCombine: false, | ||||||
|  |       isImportFile: false, | ||||||
|  |       uploadFileUrl: null, | ||||||
|  |       checked: false, | ||||||
|  |       list: [], | ||||||
|  |       detailList: [], | ||||||
|  |       sysList: [], | ||||||
|  |       filterList: [], | ||||||
|  |       total: 0, | ||||||
|  |       thirdNo: "", | ||||||
|  |       uuid: "111", | ||||||
|  |       originUuid: null, | ||||||
|  |       thirdId: null, | ||||||
|  |       relId: "", | ||||||
|  |       thisData: { | ||||||
|  |         nameCode: null, | ||||||
|  |         cpmctymc: null, | ||||||
|  |         ggxh: null | ||||||
|  |       }, | ||||||
|  |       selectProductVisible: false, | ||||||
|  |       multipleSelection: [], | ||||||
|  |       editDialogVisible: false,       //详情 | ||||||
|  |       selectUdiDialogVisible: false,  //关联选入 | ||||||
|  |       selectErpDialogVisible: false,  //选入ERP产品 | ||||||
|  |       selectLocalVisible: false,      //关联UDI | ||||||
|  |       selectVersionVisible: false, | ||||||
|  |       isUseDyCheck: false, | ||||||
|  |       loading: false, | ||||||
|  |       activeNames: ['1'], | ||||||
|  |       companyTypeMap: { | ||||||
|  |         1: "生产企业", | ||||||
|  |         2: "代理商", | ||||||
|  |         3: "购买方", | ||||||
|  |       }, | ||||||
|  |     }; | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   methods: { | ||||||
|  |     onReset() { | ||||||
|  |       this.$router.push({ | ||||||
|  |         path: "", | ||||||
|  |       }); | ||||||
|  |       this.filterQuery = { | ||||||
|  |         lockStatus: null, | ||||||
|  |         unionCode: null, | ||||||
|  |         udiCode: null, | ||||||
|  |         ylqxzcrbarmc: "", | ||||||
|  |         cpmctymc: "", | ||||||
|  |         thrPiId: null, | ||||||
|  |         nameCode: "", | ||||||
|  |         ggxh: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20, | ||||||
|  |         addType: 1, | ||||||
|  |       }; | ||||||
|  |       this.total = 0; | ||||||
|  |       this.list = []; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     search() { | ||||||
|  |       this.filterQuery.page = 1; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     hideSearch() { | ||||||
|  |       this.showSearch = !this.showSearch; | ||||||
|  |     }, | ||||||
|  |     getList() { | ||||||
|  |       this.loading = true; | ||||||
|  |       filterRlCompany(this.filterQuery) | ||||||
|  |         .then((response) => { | ||||||
|  |           this.loading = false; | ||||||
|  |           this.list = response.data.list || []; | ||||||
|  |           this.total = response.data.total || 0; | ||||||
|  |         }) | ||||||
|  |         .catch(() => { | ||||||
|  |           this.loading = false; | ||||||
|  |           this.list = []; | ||||||
|  |           this.total = 0; | ||||||
|  |         }); | ||||||
|  |     }, | ||||||
|  |     keyup_submit(event) { | ||||||
|  |       this.filterQuery.page = 1; | ||||||
|  |       this.getList(); | ||||||
|  |       event.target.select(); | ||||||
|  |     }, | ||||||
|  |     handleDetail(row) { | ||||||
|  |       this.editQuery = row; | ||||||
|  |     }, | ||||||
|  |     deleteOrders(data) { | ||||||
|  |       this.loading = true; | ||||||
|  |       let tquery = { | ||||||
|  |         id: data.id + "", | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       deleteRel(tquery) | ||||||
|  |         .then((response) => { | ||||||
|  |           this.loading = false; | ||||||
|  |           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(() => { | ||||||
|  |         }); | ||||||
|  |     }, | ||||||
|  |     selectProduct() { | ||||||
|  |       if (this.$isBlank(this.filterQuery.companyIdFk)) { | ||||||
|  |         this.$message.error("请先选择注册企业!"); | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|  |       this.selectProductVisible = true; | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     cancelDialog() { | ||||||
|  |       this.editDialogVisible = false; | ||||||
|  |     }, | ||||||
|  |     handleCurrentChange(val) { | ||||||
|  |       this.filterQuery.page = val.page; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     handleModifyClick(row) { | ||||||
|  |       this.uuid = row.uuid; | ||||||
|  |       this.isImport = false; | ||||||
|  |       this.thisData = row; | ||||||
|  |       this.editDialogVisible = true; | ||||||
|  |       this.detailQuery = row; | ||||||
|  |       this.checked = row.isUseDy == 1; | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     closeUdi(val) { | ||||||
|  |       this.selectUdiDialogVisible = false; | ||||||
|  |       this.selectErpDialogVisible = false; | ||||||
|  |       this.selectLocalVisible = false; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     selectVersion() { | ||||||
|  |       this.selectVersionVisible = true; | ||||||
|  |       this.uuid = this.editQuery.uuid; | ||||||
|  |       this.originUuid = this.editQuery.originUuid; | ||||||
|  |     }, | ||||||
|  |     closeDialog() { | ||||||
|  |       this.selectErpDialogVisible = false; | ||||||
|  |       this.selectLocalVisible = false; | ||||||
|  |       this.selectVersionVisible = false; | ||||||
|  |       this.selectProductVisible = false; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     findMethod(query) { | ||||||
|  |       this.fromOptions = []; | ||||||
|  |       let cQuery = { | ||||||
|  |         searchKey: query, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 10, | ||||||
|  |       }; | ||||||
|  |       seachCompany(cQuery) | ||||||
|  |         .then((response) => { | ||||||
|  |           this.loading = false; | ||||||
|  |           this.fromOptions = response.data || []; | ||||||
|  |         }) | ||||||
|  |         .catch(() => { | ||||||
|  |           this.loading = false; | ||||||
|  |           this.fromOptions = []; | ||||||
|  |         }); | ||||||
|  |     }, | ||||||
|  |   } | ||||||
|  |   , | ||||||
|  |   mounted() { | ||||||
|  |   } | ||||||
|  |   , | ||||||
|  |   components: { | ||||||
|  |     selectUdi, | ||||||
|  |     selectErp, | ||||||
|  |     selectLocalUdi, | ||||||
|  |     selectProduct, | ||||||
|  |     selectDetail | ||||||
|  |   } | ||||||
|  |   , | ||||||
|  |   created() { | ||||||
|  |     this.getList(); | ||||||
|  |     this.findMethod(); | ||||||
|  |   } | ||||||
|  |   , | ||||||
|  | } | ||||||
|  | ; | ||||||
|  | </script> | ||||||
|  | <style scoped> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .el-table .cell.el-tooltip { | ||||||
|  |   white-space: pre-wrap; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .itemTag { | ||||||
|  |   float: left; | ||||||
|  |   text-align: left; | ||||||
|  |   margin-top: 10px; | ||||||
|  |   width: 25%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .text { | ||||||
|  |   font-size: 13px; | ||||||
|  |   font-family: "Microsoft YaHei"; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .query-form-item { | ||||||
|  |   display: block !important; | ||||||
|  |   margin-right: 10px; | ||||||
|  |   margin-bottom: 5px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-row { | ||||||
|  |   display: flex; | ||||||
|  |   flex-wrap: wrap; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-col { | ||||||
|  |   border-radius: 4px; | ||||||
|  |   flex-wrap: wrap; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .form-title { | ||||||
|  |   font-size: 16px; | ||||||
|  |   font-family: Noto Sans SC; | ||||||
|  |   font-weight: bold; | ||||||
|  |   color: #303133; | ||||||
|  |   padding-bottom: 17px; | ||||||
|  |   padding-top: 17px; | ||||||
|  | } | ||||||
|  | </style> | ||||||
					Loading…
					
					
				
		Reference in New Issue