耗材字典导入导出代码提交
							parent
							
								
									4b300fa389
								
							
						
					
					
						commit
						41f2177f4e
					
				| @ -0,0 +1,34 @@ | |||||||
|  | import axios from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | export function getUdiInfos(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/udiinfo/filterUdi", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function filterCompany(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/udiinfo/filterCompany", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function filterByUuid(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/udiinfo/local/filterByUuid", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function filterByVersion(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/syncdi/version", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| @ -0,0 +1,33 @@ | |||||||
|  | import axios from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function filterLog(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/products/exportLog/filter", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | export function deleteLog(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/products/exportLog/deleteLog", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function downloadLog(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/products/exportLog/download", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | export function exportExcel(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/products/importLog/export", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| @ -0,0 +1,191 @@ | |||||||
|  | import axios from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | export function getUdiInfos(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/filterUdi", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function getAllUdiInfos(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/download", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | export function getMutiUdiInfos(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/mutil/download", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function getSmUdiInfos(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/filterSmUdi", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function deletetUdiInfos(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/deleteById", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function updatetUdiInfos(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/update", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function checkExitUdi(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/check/udi", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function combineUdi(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/revleance", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function combineAllUdi(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/combineAll", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function modifyRel(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/modifyRel", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function addErp(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/addErp", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function addAllErp(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/addAllErp", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export function updateErpProduct(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/updateErp", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function uploadSmp(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/smp/udirl/upload", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function disableUdi(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/disable", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function thirdSysDetail(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/udirel/thirdSys/detail", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function removeRl(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/udirl/thirdSys/remove", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function removeDiRl(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/udirl/di/remove", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function sysFilter(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/udirel/thirdSys/filter", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function spcombie(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/udiinfo/spcombie", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function lockStatus(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/udirl/lock/status", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function changeVersion(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udi/udirel/changeVersion", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,35 @@ | |||||||
|  | import axios from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | export function filterDetail(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/products/importLog/filterDetail", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function filterLog(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/products/importLog/filter", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function deleteLog(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/products/importLog/deleteLog", | ||||||
|  |         method: "post", | ||||||
|  |         data: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function downloadSmp(query) { | ||||||
|  |     return axios({ | ||||||
|  |         url: "/udiwms/products/smp/download", | ||||||
|  |         method: "get", | ||||||
|  |         params: query | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,291 @@ | |||||||
|  | <template> | ||||||
|  |     <div> | ||||||
|  |       <el-card> | ||||||
|  |         <el-form  :model="query" class="query-form" size="mini" label-width="100px" v-show="showSearch"> | ||||||
|  |             <el-row> | ||||||
|  |               <el-col :span="6"> | ||||||
|  |                 <el-form-item label="记录ID:"> | ||||||
|  |                     <el-input v-model="filterQuery.genKey" style="width: 90%" placeholder="请输入记录ID"></el-input> | ||||||
|  |                 </el-form-item> | ||||||
|  |               </el-col> | ||||||
|  |               <el-col :span="6"> | ||||||
|  |                 <el-form-item label="处理状态:"> | ||||||
|  |                     <el-select v-model="filterQuery.status" style="width: 90%" placeholder="请选择处理状态"> | ||||||
|  |                         <el-option label="全部" value=""></el-option> | ||||||
|  |                         <el-option label="处理中" value="0"></el-option> | ||||||
|  |                         <el-option label="已处理" value="1"></el-option> | ||||||
|  |                         <el-option label="异常" value="2"></el-option> | ||||||
|  |                     </el-select> | ||||||
|  |                 </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="search" @click="getList">查询</el-button> | ||||||
|  |             <el-upload :action="uploadFileUrl" multiple :limit="1" :data="uploadData" :show-file-list="false" :on-success="handleChange" :file-list="fileList"> | ||||||
|  |             <el-button size="mini" icon="el-icon-upload2" type="primary">导入器械信息</el-button> | ||||||
|  |             </el-upload> | ||||||
|  |           </el-button-group> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |         <el-divider style="margin: 15px"></el-divider> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         <el-table v-loading="loading" :data="list" style="width: 100%" @selection-change="handleSelectionChange" border highlight-current-row> | ||||||
|  |             <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |             <el-table-column label="记录ID" prop="genKey" show-overflow-tooltip></el-table-column> | ||||||
|  |             <el-table-column label="来源" prop="fromType" show-overflow-tooltip> | ||||||
|  |             </el-table-column> | ||||||
|  |             <el-table-column label="更新日期" prop="updateTime" show-overflow-tooltip></el-table-column> | ||||||
|  |             <el-table-column label="状态" prop="status" show-overflow-tooltip> | ||||||
|  |                 <template slot-scope="scope"> | ||||||
|  |                     <el-tag :type="statusFilterType(scope.row.status)">{{ status[scope.row.status] }}</el-tag> | ||||||
|  |                 </template> | ||||||
|  |             </el-table-column> | ||||||
|  |           <el-table-column label="导入信息" prop="remark" show-overflow-tooltip></el-table-column> | ||||||
|  |             <el-table-column label="操作"  width="120"> | ||||||
|  |                 <template slot-scope="scope"> | ||||||
|  |                     <el-button type="text"  @click.native.stop="deleteDialog(scope.row.id)">删除</el-button> | ||||||
|  |                 </template> | ||||||
|  |             </el-table-column> | ||||||
|  |         </el-table> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         <el-dialog | ||||||
|  |             title="器械信息导入详情" | ||||||
|  |             :visible.sync="udiImportDetailVisible" | ||||||
|  |             width="80%" | ||||||
|  |             :close-on-click-modal="false" | ||||||
|  |             :close-on-press-escape="false" | ||||||
|  |             v-if="udiImportDetailVisible" | ||||||
|  |         > | ||||||
|  |             <udiInfoImportDetail :currentRow="currentRow" :closeDialog="cancelDialog"></udiInfoImportDetail> | ||||||
|  |         </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 axios from "axios"; | ||||||
|  |     import {filterDetail, filterLog, deleteLog, downloadSmp} from "@/api/basic/udiinfoImport"; | ||||||
|  |     import {getBasicThirdSys} from "@/api/basic/basicThirdSys"; | ||||||
|  |     import udiInfoImportDetail from "./udiInfoImportDetail"; | ||||||
|  | 
 | ||||||
|  |     export default { | ||||||
|  |         data() { | ||||||
|  |             return { | ||||||
|  |                 showSearch: true, | ||||||
|  |                 filterQuery: { | ||||||
|  |                     genKey: null, | ||||||
|  |                     status: null, | ||||||
|  |                     fromType: null, | ||||||
|  |                     page: 1, | ||||||
|  |                     limit: 20, | ||||||
|  |                     thirdSysFk: null, | ||||||
|  |                 }, | ||||||
|  |                 udiImportDetailVisible: false, | ||||||
|  |                 checked: false, | ||||||
|  |                 list: [], | ||||||
|  |                 detailList: [], | ||||||
|  |                 thirdSys: [], | ||||||
|  |                 thirdSysDetail: null, | ||||||
|  |                 total: 0, | ||||||
|  |                 currentRow: null, | ||||||
|  |                 editQuery: null, | ||||||
|  |                 fromStatus: { | ||||||
|  |                     0: "产品信息", | ||||||
|  |                     1: "库存信息", | ||||||
|  |                     2: "异常第三方上传" | ||||||
|  |                 }, | ||||||
|  |                 status: { | ||||||
|  |                     0: "等待处理", | ||||||
|  |                     1: "正在处理", | ||||||
|  |                     2: "处理异常", | ||||||
|  |                     3: "处理完成" | ||||||
|  |                 }, | ||||||
|  |                 uploadFileUrl: null, | ||||||
|  |                 uploadData: { | ||||||
|  |                     thirdSys: "thirdId", | ||||||
|  |                 }, | ||||||
|  |                 templateDlUrl: null, | ||||||
|  |             }; | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |         methods: { | ||||||
|  |             onReset() { | ||||||
|  |                 this.$router.push({ | ||||||
|  |                     path: "", | ||||||
|  |                 }); | ||||||
|  |                 this.filterQuery = { | ||||||
|  |                     fromType: null, | ||||||
|  |                     genKey: null, | ||||||
|  |                     status: null, | ||||||
|  |                     page: 1, | ||||||
|  |                     limit: 20, | ||||||
|  |                     thirdSysFk: null, | ||||||
|  |                 }; | ||||||
|  |                 this.getList(); | ||||||
|  |             }, | ||||||
|  |             getList() { | ||||||
|  |                 this.loading = true; | ||||||
|  |                 filterLog(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; | ||||||
|  |                     }); | ||||||
|  |             }, | ||||||
|  |             hideSearch() { | ||||||
|  |               this.showSearch = !this.showSearch; | ||||||
|  |             }, | ||||||
|  |             genInCode() { | ||||||
|  |                 this.selectBasicUdiVisible = true; | ||||||
|  |             }, | ||||||
|  |             handleDetailClick(row) { | ||||||
|  |                 this.currentRow = row; | ||||||
|  |                 console.log(this.currentRow.genKey) | ||||||
|  |                 this.udiImportDetailVisible = true; | ||||||
|  | 
 | ||||||
|  |             }, | ||||||
|  |             cancelDialog() { | ||||||
|  |                 this.udiImportDetailVisible = false; | ||||||
|  |             }, | ||||||
|  |             handleCurrentChange(val) { | ||||||
|  |                 this.filterQuery.page = val.page; | ||||||
|  |                 this.getList(); | ||||||
|  |             }, | ||||||
|  |             deleteDialog(rowId) { | ||||||
|  |                 this.$confirm("此操作将删除该产品信息, 是否继续?", "提示", { | ||||||
|  |                     confirmButtonText: "确定", | ||||||
|  |                     cancelButtonText: "取消", | ||||||
|  |                     type: "warning", | ||||||
|  |                 }) | ||||||
|  |                     .then(() => { | ||||||
|  |                         let dQuery = { | ||||||
|  |                             id: rowId, | ||||||
|  |                         }; | ||||||
|  |                         deleteLog(dQuery) | ||||||
|  |                             .then((response) => { | ||||||
|  |                                 this.loading = false; | ||||||
|  |                                 if (response.code == 20000) { | ||||||
|  |                                     this.$message.success("删除成功"); | ||||||
|  |                                 } else { | ||||||
|  |                                     this.$message.error(response.message); | ||||||
|  |                                 } | ||||||
|  |                                 this.getList(); | ||||||
|  |                             }) | ||||||
|  |                             .catch(() => { | ||||||
|  |                                 this.loading = false; | ||||||
|  |                             }); | ||||||
|  |                     }) | ||||||
|  |                     .catch(() => { | ||||||
|  |                     }); | ||||||
|  |             }, | ||||||
|  |             getBasicThirdSys() { | ||||||
|  |                 let query = { | ||||||
|  |                     enabled: true, | ||||||
|  |                 }; | ||||||
|  |                 getBasicThirdSys(query) | ||||||
|  |                     .then((response) => { | ||||||
|  |                         this.thirdSys = response.data.list || []; | ||||||
|  |                         // this.filterQuery.thirdSysFk = this.thirdSys[0].thirdId; | ||||||
|  |                         this.getList(); | ||||||
|  |                     }) | ||||||
|  |                     .catch(() => { | ||||||
|  |                         this.loading = false; | ||||||
|  |                         this.list = []; | ||||||
|  |                     }); | ||||||
|  |                 axios.get("./config.json").then(res => { | ||||||
|  |                     let response = res.data.BASE_URL; | ||||||
|  |                     this.uploadFileUrl = response + "/udiwms/products/importLog/upload"; | ||||||
|  |                 }); | ||||||
|  |                 axios.get("./config.json").then(res => { | ||||||
|  |                     let response = res.data.SERVER_IP; | ||||||
|  |                     this.templateDlUrl = response + "/已对照产品信息模板.xlsx"; | ||||||
|  |                 }); | ||||||
|  |             }, | ||||||
|  |             jumpDl() { | ||||||
|  |                 window.open(this.templateDlUrl, '_blank'); | ||||||
|  |             }, | ||||||
|  |             handleChange(response, files, fileList) { | ||||||
|  |                 console.log(response); | ||||||
|  |                 if (response.code != 20000) { | ||||||
|  |                     this.$message.error(response.message); | ||||||
|  |                 } else { | ||||||
|  |                     // console.log(files[0] + "\n" + this.fileList[0] + "\n" + fileList[0]); | ||||||
|  |                     this.getList(); | ||||||
|  |                     this.$message.success(response.data); | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             statusFilterType(status) { | ||||||
|  |                 const statusMap = { | ||||||
|  |                     0: "warning", | ||||||
|  |                     1: "warning", | ||||||
|  |                     2: "danger", | ||||||
|  |                     3: "success", | ||||||
|  |                 }; | ||||||
|  |                 return statusMap[status]; | ||||||
|  |             }, | ||||||
|  |             dlSmp() { | ||||||
|  |                 this.loading = true; | ||||||
|  |                 downloadSmp() | ||||||
|  |                     .then((response) => { | ||||||
|  |                         this.loading = false; | ||||||
|  |                         this.$message.success(response.data); | ||||||
|  |                         this.getList(); | ||||||
|  |                     }) | ||||||
|  |                     .catch(() => { | ||||||
|  |                         this.loading = false; | ||||||
|  |                     }); | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         mounted() { | ||||||
|  |         }, | ||||||
|  |         components: {udiInfoImportDetail}, | ||||||
|  |         created() { | ||||||
|  |             this.getBasicThirdSys(); | ||||||
|  |             this.getList(); | ||||||
|  |         }, | ||||||
|  |     }; | ||||||
|  | </script> | ||||||
|  | <style> | ||||||
|  |     .itemTag { | ||||||
|  |         float: left; | ||||||
|  |         text-align: left; | ||||||
|  |         margin-top: 10px; | ||||||
|  |         width: 100px; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .text { | ||||||
|  |         font-size: 13px; | ||||||
|  |         font-family: "Microsoft YaHei"; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .el-row { | ||||||
|  |         display: flex; | ||||||
|  |         flex-wrap: wrap; | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .el-col { | ||||||
|  |         border-radius: 4px; | ||||||
|  |         flex-wrap: wrap; | ||||||
|  |     } | ||||||
|  | </style> | ||||||
| @ -0,0 +1,177 @@ | |||||||
|  | <template> | ||||||
|  |     <div> | ||||||
|  |         <el-card> | ||||||
|  |             <el-form  :model="query" size="mini" label-width="100px" v-show="showSearch"> | ||||||
|  |                 <el-row> | ||||||
|  |                   <el-col :span="6"> | ||||||
|  |                     <el-form-item label="UDI编码:"> | ||||||
|  |                         <el-input v-model="filterQuery.udiCode" style="width: 90%" placeholder="请输入UDI编码"></el-input> | ||||||
|  |                     </el-form-item> | ||||||
|  |                   </el-col> | ||||||
|  |                   <el-col :span="6"> | ||||||
|  |                     <el-form-item label="处理状态:"> | ||||||
|  |                         <el-select v-model="filterQuery.status" style="width: 90%" placeholder="请选择处理状态"> | ||||||
|  |                             <el-option label="全部" value=""></el-option> | ||||||
|  |                             <el-option label="未处理" value="0"></el-option> | ||||||
|  |                             <el-option label="已完成" value="1"></el-option> | ||||||
|  |                             <el-option label="异常" value="2"></el-option> | ||||||
|  |                         </el-select> | ||||||
|  |                     </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="getList">查询</el-button> | ||||||
|  |             </el-button-group> | ||||||
|  |           </div> | ||||||
|  | 
 | ||||||
|  |           <el-divider style="margin: 15px"></el-divider> | ||||||
|  | 
 | ||||||
|  |             <el-table v-loading="loading" :data="list" style="width: 100%" @selection-change="handleSelectionChange" border highlight-current-row> | ||||||
|  |                 <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |                 <el-table-column label="UDI编码" prop="udiCode" show-overflow-tooltip></el-table-column> | ||||||
|  |                 <el-table-column label="产品ID1" prop="thirdId" show-overflow-tooltip></el-table-column> | ||||||
|  |                 <el-table-column label="产品ID2" prop="thirdId1" show-overflow-tooltip></el-table-column> | ||||||
|  |                 <el-table-column label="产品ID3" prop="thirdId2" show-overflow-tooltip></el-table-column> | ||||||
|  |                 <el-table-column label="产品ID4" prop="thirdId3" show-overflow-tooltip></el-table-column> | ||||||
|  |                 <el-table-column label="产品ID5" prop="thirdId4" show-overflow-tooltip></el-table-column> | ||||||
|  |                 <el-table-column label="医保编码" width="100" prop="ybbm" show-overflow-tooltip></el-table-column> | ||||||
|  |                 <el-table-column label="商品条码" prop="sptm" show-overflow-tooltip></el-table-column> | ||||||
|  |                 <el-table-column width="160" label="是否以使用单元入库" prop="isUseDy" show-overflow-tooltip></el-table-column> | ||||||
|  |                 <el-table-column label="状态" prop="status" show-overflow-tooltip> | ||||||
|  |                     <template slot-scope="scope"> | ||||||
|  |                         <el-tag :type="statusFilterType(scope.row.status)">{{ status[scope.row.status] }}</el-tag> | ||||||
|  |                     </template> | ||||||
|  |                 </el-table-column> | ||||||
|  |                 <el-table-column label="备注" prop="remark" show-overflow-tooltip></el-table-column> | ||||||
|  |             </el-table> | ||||||
|  | 
 | ||||||
|  |           <pagination | ||||||
|  |             v-show="total>0" | ||||||
|  |             :total="total" | ||||||
|  |             :limit.sync="filterQuery.limit" | ||||||
|  |             :page.sync="filterQuery.page" | ||||||
|  |             @pagination="handleCurrentChange" | ||||||
|  |           ></pagination> | ||||||
|  |         </el-card> | ||||||
|  |     </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import { | ||||||
|  |     filterDetail, | ||||||
|  | } from "@/api/basic/udiinfoImport"; | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |     name: "udiImportDetail", | ||||||
|  |     props: { | ||||||
|  |         currentRow: { | ||||||
|  |             type: Object, | ||||||
|  |             required: true, | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |     }, | ||||||
|  |     data() { | ||||||
|  |         return { | ||||||
|  |             showSearch: true, | ||||||
|  |             filterQuery: { | ||||||
|  |                 genKey: null, | ||||||
|  |                 udiCode: null, | ||||||
|  |                 status: null, | ||||||
|  |                 page: 1, | ||||||
|  |                 limit: 10, | ||||||
|  |             }, | ||||||
|  |             list: [], | ||||||
|  |             detailList: [], | ||||||
|  |             total: 0, | ||||||
|  |             status: { | ||||||
|  |                 0: "未处理", | ||||||
|  |                 1: "处理失败", | ||||||
|  |                 2: "处理成功" | ||||||
|  |             }, | ||||||
|  |         }; | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     methods: { | ||||||
|  |         onReset() { | ||||||
|  |             this.$router.push({ | ||||||
|  |                 path: "", | ||||||
|  |             }); | ||||||
|  |             this.filterQuery = { | ||||||
|  |                 genKey: null, | ||||||
|  |                 udiCode: null, | ||||||
|  |                 status: null, | ||||||
|  |                 page: 1, | ||||||
|  |                 limit: 10, | ||||||
|  |             }; | ||||||
|  |             this.getList(); | ||||||
|  |         }, | ||||||
|  |         getList() { | ||||||
|  |             this.loading = true; | ||||||
|  |             console.log(" this.genKey = " + this.currentRow.genKey) | ||||||
|  |             this.filterQuery.genKey = this.currentRow.genKey; | ||||||
|  |             filterDetail(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; | ||||||
|  |                 }); | ||||||
|  |         }, | ||||||
|  |         hideSearch() { | ||||||
|  |           this.showSearch = !this.showSearch; | ||||||
|  |         }, | ||||||
|  |         statusFilterType(status) { | ||||||
|  |             const statusMap = { | ||||||
|  |                 0: "warning", | ||||||
|  |                 1: "danger", | ||||||
|  |                 2: "success", | ||||||
|  |             }; | ||||||
|  |             return statusMap[status]; | ||||||
|  |         }, | ||||||
|  |         handleCurrentChange(val) { | ||||||
|  |             this.filterQuery.page = val.page; | ||||||
|  |             this.getList(); | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |     }, | ||||||
|  |     mounted() { | ||||||
|  |     }, | ||||||
|  |     created() { | ||||||
|  |         this.getList(); | ||||||
|  |     }, | ||||||
|  |     filters: {}, | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | <style> | ||||||
|  | .itemTag { | ||||||
|  |     float: left; | ||||||
|  |     text-align: left; | ||||||
|  |     margin-top: 10px; | ||||||
|  |     width: 100px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .text { | ||||||
|  |     font-size: 13px; | ||||||
|  |     font-family: "Microsoft YaHei"; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-row { | ||||||
|  |     display: flex; | ||||||
|  |     flex-wrap: wrap; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-col { | ||||||
|  |     border-radius: 4px; | ||||||
|  |     flex-wrap: wrap; | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -0,0 +1,268 @@ | |||||||
|  | <template> | ||||||
|  |     <div> | ||||||
|  |       <el-card> | ||||||
|  |         <el-form :model="query" class="query-form" size="mini" label-width="100px" v-show="showSearch"> | ||||||
|  |             <el-row> | ||||||
|  |               <el-col :span="6"> | ||||||
|  |                 <el-form-item label="记录ID:"> | ||||||
|  |                     <el-input v-model="filterQuery.genKey" style="width: 90%" placeholder="请输入记录ID"></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="getList">查询</el-button> | ||||||
|  |             <el-button type="primary" icon="el-icon-upload2" @click="exportExcel">导出医疗器械信息</el-button> | ||||||
|  |           </el-button-group> | ||||||
|  |         </div> | ||||||
|  |         <el-divider style="margin: 15px"></el-divider> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         <el-table v-loading="loading" :data="list" style="width: 100%" @selection-change="handleSelectionChange" border highlight-current-row> | ||||||
|  |             <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |             <el-table-column label="记录ID" prop="genKey" show-overflow-tooltip></el-table-column> | ||||||
|  |             <el-table-column label="更新日期" prop="updateTime" show-overflow-tooltip></el-table-column> | ||||||
|  |             <el-table-column label="状态" prop="status" show-overflow-tooltip> | ||||||
|  |                 <template slot-scope="scope"> | ||||||
|  |                     <el-tag :type="statusFilterType(scope.row.status)">{{ status[scope.row.status] }}</el-tag> | ||||||
|  |                 </template> | ||||||
|  |             </el-table-column> | ||||||
|  |             <el-table-column label="下载次数" prop="dlCount" show-overflow-tooltip> | ||||||
|  |             </el-table-column> | ||||||
|  |             <el-table-column label="操作"  width="120"> | ||||||
|  |                 <template slot-scope="scope"> | ||||||
|  |                     <el-button type="text" @click.native.stop="downloadExcel(scope.row)">下载</el-button> | ||||||
|  |                     <el-button type="text" @click.native.stop="deleteDialog(scope.row.id)">删除</el-button> | ||||||
|  |                 </template> | ||||||
|  |             </el-table-column> | ||||||
|  |         </el-table> | ||||||
|  | 
 | ||||||
|  |         <el-dialog | ||||||
|  |             title="导出医疗器械产品信息" | ||||||
|  |             :visible.sync="udiImportDetailVisible" | ||||||
|  |             width="80%" | ||||||
|  |             append-to-body | ||||||
|  |             :close-on-click-modal="false" | ||||||
|  |             :close-on-press-escape="false" | ||||||
|  |             v-if="udiImportDetailVisible" | ||||||
|  |         > | ||||||
|  |             <udiInfoSelect :selectType="selectType" v-on:cancelDialog="cancelDialog" | ||||||
|  |             ></udiInfoSelect> | ||||||
|  |         </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 axios from "axios"; | ||||||
|  | import {filterLog, downloadLog, deleteLog} from "@/api/basic/udiInfoExport"; | ||||||
|  | import udiInfoSelect from "./udIInfoSelect"; | ||||||
|  | import {formatDate} from "@/utils/date"; | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |     data() { | ||||||
|  |         return { | ||||||
|  |             showSearch: true, | ||||||
|  |             filterQuery: { | ||||||
|  |                 type: 3, | ||||||
|  |                 genKey: null, | ||||||
|  |                 status: null, | ||||||
|  |                 fromType: null, | ||||||
|  |                 page: 1, | ||||||
|  |                 limit: 20, | ||||||
|  |                 thirdSysFk: null, | ||||||
|  |             }, | ||||||
|  |             selectType: 0, | ||||||
|  |             udiImportDetailVisible: false, | ||||||
|  |             list: [], | ||||||
|  |             detailList: [], | ||||||
|  |             thirdSys: [], | ||||||
|  |             thirdSysDetail: null, | ||||||
|  |             total: 0, | ||||||
|  |             editQuery: null, | ||||||
|  |             fromStatus: { | ||||||
|  |                 0: "产品信息", | ||||||
|  |                 1: "库存信息", | ||||||
|  |                 2: "异常第三方上传" | ||||||
|  |             }, | ||||||
|  |             status: { | ||||||
|  |                 0: "等待处理", | ||||||
|  |                 1: "正在处理", | ||||||
|  |                 2: "处理异常", | ||||||
|  |                 3: "处理完成" | ||||||
|  |             }, | ||||||
|  |             uploadFileUrl: null, | ||||||
|  |             uploadData: { | ||||||
|  |                 thirdSys: "thirdId", | ||||||
|  |             }, | ||||||
|  |         }; | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     methods: { | ||||||
|  |         onReset() { | ||||||
|  |             this.$router.push({ | ||||||
|  |                 path: "", | ||||||
|  |             }); | ||||||
|  |             this.filterQuery = { | ||||||
|  |                 type: 1, | ||||||
|  |                 fromType: null, | ||||||
|  |                 genKey: null, | ||||||
|  |                 status: null, | ||||||
|  |                 page: 1, | ||||||
|  |                 limit: 20, | ||||||
|  |                 thirdSysFk: null, | ||||||
|  |             }; | ||||||
|  |             this.getList(); | ||||||
|  |         }, | ||||||
|  |         hideSearch() { | ||||||
|  |           this.showSearch = !this.showSearch; | ||||||
|  |        }, | ||||||
|  |         getList() { | ||||||
|  |             this.loading = true; | ||||||
|  |             filterLog(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; | ||||||
|  |                 }); | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |         exportExcel() { | ||||||
|  |             this.selectType = 0; | ||||||
|  |             this.udiImportDetailVisible = true; | ||||||
|  |         }, | ||||||
|  |         uploadSmp() { | ||||||
|  |             this.selectType = 1; | ||||||
|  |             this.udiImportDetailVisible = true; | ||||||
|  |         }, | ||||||
|  |         downloadExcel(row) { | ||||||
|  | 
 | ||||||
|  |             axios.get("./config.json").then(res => { | ||||||
|  |                 let baseUrl = res.data.BASE_URL; | ||||||
|  |                 let href = baseUrl + "/udiwms/products/exportLog/download" + "?genKey=" + row.genKey; | ||||||
|  |                 let a = document.createElement("a"); | ||||||
|  |                 var timestamp = formatDate(new Date(), "yyyyMMddhhmmss") | ||||||
|  |                 fetch(href) | ||||||
|  |                     .then((res) => res.blob()) | ||||||
|  |                     .then((blob) => { | ||||||
|  |                         a.href = URL.createObjectURL(blob); | ||||||
|  |                         console.log(a.href); | ||||||
|  |                         a.download = "BaseProduct_" + timestamp + ".UpperIn"; | ||||||
|  |                         document.body.appendChild(a); | ||||||
|  |                         a.click(); | ||||||
|  |                         this.getList(); | ||||||
|  |                     }); | ||||||
|  | 
 | ||||||
|  |             }); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |         cancelDialog(val) { | ||||||
|  |             this.udiImportDetailVisible = false; | ||||||
|  |             if (val) { | ||||||
|  |                 this.getList(); | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         handleCurrentChange(val) { | ||||||
|  |             this.filterQuery.page = val.page; | ||||||
|  |             this.getList(); | ||||||
|  |         }, | ||||||
|  |         deleteDialog(rowId) { | ||||||
|  |             this.$confirm("此操作将删除该产品信息, 是否继续?", "提示", { | ||||||
|  |                 confirmButtonText: "确定", | ||||||
|  |                 cancelButtonText: "取消", | ||||||
|  |                 type: "warning", | ||||||
|  |             }) | ||||||
|  |                 .then(() => { | ||||||
|  |                     let dQuery = { | ||||||
|  |                         id: rowId, | ||||||
|  |                     }; | ||||||
|  |                     deleteLog(dQuery) | ||||||
|  |                         .then((response) => { | ||||||
|  |                             this.loading = false; | ||||||
|  |                             if (response.code == 20000) { | ||||||
|  |                                 this.$message.success("删除成功"); | ||||||
|  |                             } else { | ||||||
|  |                                 this.$message.error(response.message); | ||||||
|  |                             } | ||||||
|  |                             this.getList(); | ||||||
|  |                         }) | ||||||
|  |                         .catch(() => { | ||||||
|  |                             this.loading = false; | ||||||
|  |                         }); | ||||||
|  |                 }) | ||||||
|  |                 .catch(() => { | ||||||
|  |                 }); | ||||||
|  |         }, | ||||||
|  |         handleChange(response, files, fileList) { | ||||||
|  |             console.log(response); | ||||||
|  |             if (response.code != 20000) { | ||||||
|  |                 this.$message.error(response.message); | ||||||
|  |             } else { | ||||||
|  |                 // console.log(files[0] + "\n" + this.fileList[0] + "\n" + fileList[0]); | ||||||
|  |                 this.getList(); | ||||||
|  |                 this.$message.success("文件上传成功,请稍后刷新查看!"); | ||||||
|  | 
 | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         statusFilterType(status) { | ||||||
|  |             const statusMap = { | ||||||
|  |                 0: "warning", | ||||||
|  |                 1: "warning", | ||||||
|  |                 2: "danger", | ||||||
|  |                 3: "success", | ||||||
|  |             }; | ||||||
|  |             return statusMap[status]; | ||||||
|  |         }, | ||||||
|  |     }, | ||||||
|  |     mounted() { | ||||||
|  |     }, | ||||||
|  |     components: {udiInfoSelect}, | ||||||
|  |     created() { | ||||||
|  |         // this.getBasicThirdSys(); | ||||||
|  |         this.getList(); | ||||||
|  |     }, | ||||||
|  | }; | ||||||
|  | </script> | ||||||
|  | <style> | ||||||
|  | .itemTag { | ||||||
|  |     float: left; | ||||||
|  |     text-align: left; | ||||||
|  |     margin-top: 10px; | ||||||
|  |     width: 100px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .text { | ||||||
|  |     font-size: 13px; | ||||||
|  |     font-family: "Microsoft YaHei"; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-row { | ||||||
|  |     display: flex; | ||||||
|  |     flex-wrap: wrap; | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .el-col { | ||||||
|  |     border-radius: 4px; | ||||||
|  |     flex-wrap: wrap; | ||||||
|  | } | ||||||
|  | </style> | ||||||
| @ -0,0 +1,268 @@ | |||||||
|  | <template> | ||||||
|  |     <div> | ||||||
|  |       <el-card> | ||||||
|  |         <el-form :model="query"  size="mini" label-width="100px" v-show="showSearch"> | ||||||
|  |             <el-row> | ||||||
|  |               <el-col :span="6"> | ||||||
|  |                 <el-form-item label="记录ID:"> | ||||||
|  |                     <el-input v-model="filterQuery.genKey" style="width: 90%" placeholder="请输入记录ID"></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="getList">查询</el-button> | ||||||
|  |             <el-button type="primary" icon="el-icon-share" @click="uploadSmp">同步至自助平台</el-button> | ||||||
|  |           </el-button-group> | ||||||
|  |         </div> | ||||||
|  | 
 | ||||||
|  |         <el-divider style="margin: 15px"></el-divider> | ||||||
|  | 
 | ||||||
|  |         <el-table v-loading="loading" :data="list" style="width: 100%" @selection-change="handleSelectionChange" border highlight-current-row> | ||||||
|  |             <el-table-column label="序号" type="index"></el-table-column> | ||||||
|  |             <el-table-column label="记录ID" prop="genKey" show-overflow-tooltip></el-table-column> | ||||||
|  |             <el-table-column label="更新日期" prop="updateTime" show-overflow-tooltip></el-table-column> | ||||||
|  |             <el-table-column label="状态" prop="status" show-overflow-tooltip> | ||||||
|  |                 <template slot-scope="scope"> | ||||||
|  |                     <el-tag :type="statusFilterType(scope.row.status)">{{ status[scope.row.status] }}</el-tag> | ||||||
|  |                 </template> | ||||||
|  |             </el-table-column> | ||||||
|  |             <el-table-column label="备注" prop="remark" show-overflow-tooltip></el-table-column> | ||||||
|  |             <el-table-column label="操作" width="60"> | ||||||
|  |                 <template slot-scope="scope"> | ||||||
|  |                     <el-button type="text"  @click.native.stop="deleteDialog(scope.row.id)">删除</el-button> | ||||||
|  |                 </template> | ||||||
|  |             </el-table-column> | ||||||
|  |         </el-table> | ||||||
|  | 
 | ||||||
|  |         <el-dialog | ||||||
|  |             title="导出医疗器械产品信息" | ||||||
|  |             :visible.sync="udiImportDetailVisible" | ||||||
|  |             width="80%" | ||||||
|  |             :close-on-click-modal="false" | ||||||
|  |             :close-on-press-escape="false" | ||||||
|  |             v-if="udiImportDetailVisible" | ||||||
|  |         > | ||||||
|  |             <udiInfoSelect :selectType="selectType"   v-on:cancelDialog="cancelDialog" | ||||||
|  |             ></udiInfoSelect> | ||||||
|  |         </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 axios from "axios"; | ||||||
|  |     import {filterLog, downloadLog, deleteLog} from "@/api/basic/udiInfoExport"; | ||||||
|  |     import udiInfoSelect from "./udIInfoSelect"; | ||||||
|  | 
 | ||||||
|  |     export default { | ||||||
|  |         data() { | ||||||
|  |             return { | ||||||
|  |                 showSearch: true, | ||||||
|  |                 filterQuery: { | ||||||
|  |                     genKey: null, | ||||||
|  |                     status: null, | ||||||
|  |                     fromType: null, | ||||||
|  |                     type:2, | ||||||
|  |                     page: 1, | ||||||
|  |                     limit: 20, | ||||||
|  |                     thirdSysFk: null, | ||||||
|  |                 }, | ||||||
|  |                 selectType: 0, | ||||||
|  |                 udiImportDetailVisible: false, | ||||||
|  |                 list: [], | ||||||
|  |                 detailList: [], | ||||||
|  |                 thirdSys: [], | ||||||
|  |                 thirdSysDetail: null, | ||||||
|  |                 total: 0, | ||||||
|  |                 editQuery: null, | ||||||
|  |                 fromStatus: { | ||||||
|  |                     0: "产品信息", | ||||||
|  |                     1: "库存信息", | ||||||
|  |                     2: "异常第三方上传" | ||||||
|  |                 }, | ||||||
|  |                 status: { | ||||||
|  |                     0: "等待处理", | ||||||
|  |                     1: "正在处理", | ||||||
|  |                     2: "处理异常", | ||||||
|  |                     3: "处理完成" | ||||||
|  |                 }, | ||||||
|  |                 uploadFileUrl: null, | ||||||
|  |                 uploadData: { | ||||||
|  |                     thirdSys: "thirdId", | ||||||
|  |                 }, | ||||||
|  |             }; | ||||||
|  |         }, | ||||||
|  | 
 | ||||||
|  |         methods: { | ||||||
|  |             onReset() { | ||||||
|  |                 this.$router.push({ | ||||||
|  |                     path: "", | ||||||
|  |                 }); | ||||||
|  |                 this.filterQuery = { | ||||||
|  |                     fromType: null, | ||||||
|  |                     genKey: null, | ||||||
|  |                     status: null, | ||||||
|  |                     page: 1, | ||||||
|  |                     type:2, | ||||||
|  |                     limit: 20, | ||||||
|  |                     thirdSysFk: null, | ||||||
|  |                 }; | ||||||
|  |                 this.getList(); | ||||||
|  |             }, | ||||||
|  |             getList() { | ||||||
|  |                 this.loading = true; | ||||||
|  |                 filterLog(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; | ||||||
|  |                     }); | ||||||
|  |             }, | ||||||
|  |             hideSearch() { | ||||||
|  |               this.showSearch = !this.showSearch; | ||||||
|  |             }, | ||||||
|  |             exportExcel() { | ||||||
|  |                 this.selectType = 0; | ||||||
|  |                 this.udiImportDetailVisible = true; | ||||||
|  |             }, | ||||||
|  |             uploadSmp() { | ||||||
|  |                 this.selectType = 1; | ||||||
|  |                 this.udiImportDetailVisible = true; | ||||||
|  |             }, | ||||||
|  |             downloadExcel(row) { | ||||||
|  |                 let href = | ||||||
|  |                     "http://127.0.0.1:9991" + | ||||||
|  |                     "/udiwms/products/exportLog/download" + | ||||||
|  |                     "?genKey=" +row.genKey; | ||||||
|  |                 let a = document.createElement("a"); | ||||||
|  |                 fetch(href) | ||||||
|  |                     .then((res) => res.blob()) | ||||||
|  |                     .then((blob) => { | ||||||
|  |                         // 将链接地址字符内容转变成blob地址 | ||||||
|  |                         a.href = URL.createObjectURL(blob); | ||||||
|  |                         console.log(a.href); | ||||||
|  |                         //   a.download = ""; // 下载文件的名字 | ||||||
|  |                         a.download = | ||||||
|  |                             row.filePath.split("/")[ | ||||||
|  |                             row.filePath.split("/").length - 1 | ||||||
|  |                                 ]; //  // 下载文件的名字 | ||||||
|  |                         document.body.appendChild(a); | ||||||
|  |                         a.click(); | ||||||
|  |                         this.getList(); | ||||||
|  |                     }); | ||||||
|  | 
 | ||||||
|  |                 //   a.setAttribute("download", ""); | ||||||
|  |                 //   a.setAttribute("href", href); | ||||||
|  |                 //   a.click(); | ||||||
|  |                 //   window.open(mOrder.exportFilePath); | ||||||
|  |             }, | ||||||
|  | 
 | ||||||
|  |             cancelDialog(val) { | ||||||
|  |                 this.udiImportDetailVisible = false; | ||||||
|  |                 if (val) { | ||||||
|  |                     this.getList(); | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             handleCurrentChange(val) { | ||||||
|  |                 this.filterQuery.page = val.page; | ||||||
|  |                 this.getList(); | ||||||
|  |             }, | ||||||
|  |             deleteDialog(rowId) { | ||||||
|  |                 this.$confirm("此操作将删除该产品信息, 是否继续?", "提示", { | ||||||
|  |                     confirmButtonText: "确定", | ||||||
|  |                     cancelButtonText: "取消", | ||||||
|  |                     type: "warning", | ||||||
|  |                 }) | ||||||
|  |                     .then(() => { | ||||||
|  |                         let dQuery = { | ||||||
|  |                             id: rowId, | ||||||
|  |                         }; | ||||||
|  |                         deleteLog(dQuery) | ||||||
|  |                             .then((response) => { | ||||||
|  |                                 this.loading = false; | ||||||
|  |                                 if (response.code == 20000) { | ||||||
|  |                                     this.$message.success("删除成功"); | ||||||
|  |                                 } else { | ||||||
|  |                                     this.$message.error(response.message); | ||||||
|  |                                 } | ||||||
|  |                                 this.getList(); | ||||||
|  |                             }) | ||||||
|  |                             .catch(() => { | ||||||
|  |                                 this.loading = false; | ||||||
|  |                             }); | ||||||
|  |                     }) | ||||||
|  |                     .catch(() => { | ||||||
|  |                     }); | ||||||
|  |             }, | ||||||
|  |             handleChange(response, files, fileList) { | ||||||
|  |                 console.log(response); | ||||||
|  |                 if (response.code != 20000) { | ||||||
|  |                     this.$message.error(response.message); | ||||||
|  |                 } else { | ||||||
|  |                     console.log(files[0] + "\n" + this.fileList[0] + "\n" + fileList[0]); | ||||||
|  |                     this.$message.success("文件上传成功,请稍后刷新查看!"); | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             statusFilterType(status) { | ||||||
|  |                 const statusMap = { | ||||||
|  |                     0: "warning", | ||||||
|  |                     1: "warning", | ||||||
|  |                     2: "danger", | ||||||
|  |                     3: "success", | ||||||
|  |                 }; | ||||||
|  |                 return statusMap[status]; | ||||||
|  |             }, | ||||||
|  |         }, | ||||||
|  |         mounted() { | ||||||
|  |         }, | ||||||
|  |         components: {udiInfoSelect}, | ||||||
|  |         created() { | ||||||
|  |             // this.getBasicThirdSys(); | ||||||
|  |             this.getList(); | ||||||
|  |         }, | ||||||
|  |     }; | ||||||
|  | </script> | ||||||
|  | <style> | ||||||
|  |     .itemTag { | ||||||
|  |         float: left; | ||||||
|  |         text-align: left; | ||||||
|  |         margin-top: 10px; | ||||||
|  |         width: 100px; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .text { | ||||||
|  |         font-size: 13px; | ||||||
|  |         font-family: "Microsoft YaHei"; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .el-row { | ||||||
|  |         display: flex; | ||||||
|  |         flex-wrap: wrap; | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .el-col { | ||||||
|  |         border-radius: 4px; | ||||||
|  |         flex-wrap: wrap; | ||||||
|  |     } | ||||||
|  | </style> | ||||||
					Loading…
					
					
				
		Reference in New Issue