增加ID查询国家库,其他相关bug修改

master
hongtianzai 3 years ago
parent 213a68f952
commit f60a634160

@ -12,6 +12,6 @@ export function exportToFile(param){
return request({
url:"/file/exportToFile",
method:"post",
data:param
params:param
})
}

@ -0,0 +1,28 @@
import request from "@/utils/request";
/**
* di查询
* @param deviceId
* @returns {*}
*/
export function downloadSingle(deviceId){
return request({
url: "/udidl/device/downloadSingle",
method: "post",
params:{deviceId}
})
}
/**
* 下载历史记录
* @param deviceId
* @returns {*}
*/
export function downloadHistory(key){
return request({
url: "/udidl/device/downloadHistory",
method: "post",
params:{key}
})
}

@ -35,6 +35,7 @@ let startApp = function () {
getUrl = res.data.BASE_URL;
myReq.defaults.baseURL = getUrl;
request.defaults.baseURL = res.data.Download_URL;
console.log(res.data);
new Vue({
router,
store,

@ -54,8 +54,7 @@ import UnitRelevance from "../views/product/UnitRelevance.vue";
import customerCodeContrast from "../views/sale/customerCodeContrast.vue";
import codecontrast from "../views/sale/codeContrast.vue";
import udiTrace from "../views/warehouse/udiTrace.vue";
import jobLog from"../views/UDIDownload/jobLog"
import fileInfo from "../views/UDIDownload/fielInfo"
import mipsOrder from "../views/manuorder/manuOrder.vue"
import manuDetail from "../views/manuorder/manuOrderDetail.vue"
@ -71,7 +70,10 @@ import udiPublish from "../views/publish/udiPublish.vue"
import registerCert from "../views/basic/registerCert.vue"
import facidentcode from "../views/basic/facidentcode.vue"
//数据同步相关
import jobLog from"../views/UDIDownload/jobLog"
import fileInfo from "../views/UDIDownload/fielInfo"
import udiSingle from "../views/UDIDownload/udiSingle";
const err401 = r =>
require.ensure([], () => r(require("../views/error/err401.vue")), "home");
@ -655,6 +657,14 @@ export const asyncRouterMap = [
meta: {
authRule: ["UDIDownload/fileInfo"]
},
},
{
name: "DI查询",
path: "udiSingle",
component: udiSingle,
meta: {
authRule: ["UDIDownload/udiSingle"]
},
}
]
}

@ -24,7 +24,7 @@
>重新下载
</el-button
>
<el-button>刷新</el-button>
<el-button @click="getList"></el-button>
</el-button-group>
</el-form-item>
</el-form>
@ -34,6 +34,11 @@
<a :href="'/files/'+scope.row.fileName" :download="scope.row.fileName">{{ scope.row.fileName }}</a>
</template>-->
</el-table-column>
<el-table-column label="下载类型" prop="downloadType" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ getDownloadType(scope.row.downloadType) }}</span>
</template>
</el-table-column>
<el-table-column label="行数" align="center" prop="count" :show-overflow-tooltip="true"/>
<el-table-column label="文件大小" align="center" prop="fileSize" :show-overflow-tooltip="true">
<template slot-scope="scope">
@ -65,13 +70,14 @@ export default {
data() {
return {
tableData: [],
loading: true,
loading: false,
total: 0,
dateRange:[],
queryParams: {
page: 1,
limit: 15
},
downloadTypeOptions:[{value:"",label:"全部"},{value:"auto",label:"自动"},{value:"manual",label:"手动"}],
pickerOptions: {
shortcuts: [
{
@ -119,6 +125,7 @@ export default {
this.page++;
},
getList() {
this.loading=true;
getFileList(this.queryParams).then(res => {
this.tableData = res.data.list;
this.total = res.data.total;
@ -136,6 +143,9 @@ export default {
exportToFile(this.addDateRange({},this.dateRange));
this.$message.info("已发送下载指令,请稍等查看日志,防止同时下载!");
},
getDownloadType(type){
return this.selectDictLabel(this.downloadTypeOptions,type);
},
getFileSize(size) {
let res = "";
if (size > 0) {

@ -246,6 +246,7 @@ export default {
this.getList();
},
onSubmit() {
this.queryParams.page = 1;
this.getList();
},
getType(type) {

@ -0,0 +1,118 @@
<template>
<div>
<el-form :inline="true" :model="query" class="query-form" size="mini">
<el-form-item class="query-form-item">
<el-input
autofocus
v-model="query.deviceId"
placeholder="搜索"
style="width:350px;"
></el-input>
</el-form-item>
<el-form-item style=" display: flex;">
<el-button type="primary" :loading="loading" icon="search" @click="search"></el-button>
<el-button :disabled="query.key==''" @click="getHistory" :loading="dialog.loading">查看历史</el-button>
</el-form-item>
</el-form>
<single-view :product-detail="productDetail"/>
<el-dialog title="历史记录"
:visible.sync="dialog.visible"
fullscreen="true"
>
<div style="margin-right:15px">
<el-table
:data="dialog.tableData"
style="width: 100% "
@row-click="rowClick"
row-style="cursor: pointer"
highlight-current-row
>
<el-table-column label="版本号" prop="versionnumber"/>
<el-table-column label="版本状态" prop="versionstatus"/>
<el-table-column label="版本日期" prop="versiontime"/>
<el-table-column label="产品名称" prop="cpmctymc"/>
<el-table-column label="规格型号" prop="ggxh"/>
<el-table-column label="编码体系名称" prop="cpbsbmtxmc"/>
<el-table-column label="发布日期" prop="cpbsfbrq"/>
</el-table>
</div>
<single-view :product-detail="dialog.productDetail"/>
</el-dialog>
</div>
</template>
<script>
import SingleView from "../components/single-view";
import {downloadSingle,downloadHistory} from "@/api/UDIDownload/udiSingle"
export default {
name: "udiSingle",
components: {SingleView},
data(){
return {
query:{
deviceId:"",
key:""
},
loading:false,
productDetail:null,
dialog:{
loading: false,
visible: false,
tableData:[],
productDetail:null
}
}
},
methods:{
search(){
this.loading = true;
downloadSingle(this.query.deviceId).then(res=>{
if(res.data != null && res.data.length>0){
this.productDetail = res.data[0];
this.query.key = this.productDetail.devicerecordkey;
}else{
this.productDetail = null;
this.query.key = "";
}
this.loading = false;
}).catch(error => {
this.productDetail = null;
this.query.key = "";
this.loading = false;
})
},
getHistory(){
this.dialog.loading = true;
downloadHistory(this.query.key).then(res => {
if(res.data != null && res.data.length>0){
this.dialog.tableData = res.data;
this.dialog.productDetail = this.dialog.tableData[0];
this.dialog.visible = true;
}else{
this.dialog.tableData = [];
this.$message.info("查无历史记录!")
}
this.dialog.loading = false;
}).catch(error => {
this.dialog.loading = false;
})
},
rowClick(row, event, column) {
//console.log(row, event, column)
this.dialog.productDetail = row;
},
rowStyle({row,rowIndex}) {
let result={};
result.cursor="pointer";
return result;
}
}
}
</script>
<style scoped>
</style>

@ -0,0 +1,503 @@
<template>
<div>
<div v-if="productDetail != null && productDetail.zxxsdycpbs!=null">
<el-card class="el-card">
<div slot="header" style="font-weight:bold;">
<span>产品标识基本信息</span>
</div>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>最小销售单元产品标识:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.zxxsdycpbs}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>医疗器械唯一标识编码体系名称:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.cpbsbmtxmc}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>最小销售单元中使用单元的数量:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.zxxsdyzsydydsl}}</span>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>使用单元产品标识:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.sydycpbs}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>产品标识发布日期:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.cpbsfbrq}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>是否有本体直接标识:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.sfybtzjbs}}</span>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>本体产品标识:</span>
</div>
<div class="item_desr">
<span>{{productDetail.btcpbs}}</span>
</div>
</div>
</el-col>
</el-row>
</el-card>
<el-card class="el-card">
<div slot="header" style="font-weight:bold;">
<span>产品基本信息</span>
</div>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>产品名称/通用名称:</span>
</div>
<div class="item_desr">
<span>{{productDetail.cpmctymc}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>商品名称:</span>
</div>
<div class="item_desr">
<span>{{productDetail.spmc}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>退市日期:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.tsrq}}</span>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>主键编号:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.devicerecordkey}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>规格型号:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.ggxh}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>是否为包类/组套类产品:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.sfwblztlcp}}</span>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>产品货号或编号:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.cphhhbh}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>器械类别:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.qxlb}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>原分类编码:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.yflbm}}</span>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>分类编码:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.flbm}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>医疗器械注册人/备案人名称:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.ylqxzcrbarmc}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>医疗器械注册人/备案人英文名称:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.ylqxzcrbarywmc}}</span>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>注册证编号或者备案凭证编号:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.zczbhhzbapzbh}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>产品类别:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.cplb}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>磁共振MR安全相关信息:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.cgzmraqxgxx}}</span>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>是否标记为一次性使用:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.sfbjwycxsy}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>最大重复使用次数:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.zdcfsycs}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>是否为无菌包装:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.sfwwjbz}}</span>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>灭菌方式:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.mjfs}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>其他信息的网址链接:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.qtxxdwzlj}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>医保编码:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.ybbm}}</span>
</div>
</div>
</el-col>
</el-row>
</el-card>
<el-card class="el-card">
<div slot="header" style="font-weight:bold;">
<span>生产标识信息</span>
</div>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>产品描述:&nbsp;&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.cpms}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>生产标识是否包含批号:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.scbssfbhph}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>生产标识是否包含序列号:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.scbssfbhxlh}}</span>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>生产标识是否包含生产日期:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.scbssfbhscrq}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>特殊储存或操作条件:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.tscchcztj}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>特殊尺寸说明:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.tsccsm}}</span>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>公开的版本号:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.versionnumber}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>版本的发布时间:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.versiontime}}</span>
</div>
</div>
</el-col>
<el-col :span="8" class="el-col">
<div class="text item">
<div class="item_tag">
<span>版本的状态:&nbsp;</span>
</div>
<div class="item_desr">
<span>{{productDetail.versionstatus}}</span>
</div>
</div>
</el-col>
</el-row>
</el-card>
<el-card class="el-card">
<div slot="header" style="font-weight:bold;">
<span>包装标识详情</span>
</div>
<el-table :data="productDetail.devicepackages" style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column prop="devicerecordkey" label="主键编号"></el-table-column>
<el-table-column prop="bzcpbs" label="包装产品标识"></el-table-column>
<el-table-column prop="bznhxyjbzcpbs" label="产品包装级别"></el-table-column>
<el-table-column prop="cpbzjb" label="本级包装内包含小一级相同产品标识的包装数量"></el-table-column>
<el-table-column prop="bznhxyjcpbssl" label="包装内含小一级包装产品标识"></el-table-column>
</el-table>
</el-card>
<el-card class="el-card">
<div slot="header" style="font-weight:bold;">
<span>存储或操作信息</span>
</div>
<el-table :data="productDetail.devicestorages" style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column prop="devicerecordkey" label="主键编号"></el-table-column>
<el-table-column prop="cchcztj" label="储存或操作条件"></el-table-column>
<el-table-column prop="jldw" label="最低值"></el-table-column>
<el-table-column prop="zdz" label="最高值"></el-table-column>
<el-table-column prop="zgz" label="计量单位"></el-table-column>
</el-table>
</el-card>
<el-card class="el-card">
<div slot="header" style="font-weight:bold;">
<span>临床使用尺寸信息</span>
</div>
<el-table :data="productDetail.deviceclinicals" style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column prop="devicerecordkey" label="主键编号"></el-table-column>
<el-table-column prop="lcsycclx" label="临床使用尺寸类型"></el-table-column>
<el-table-column prop="ccz" label="尺寸值"></el-table-column>
<el-table-column prop="ccdw" label="尺寸单位"></el-table-column>
</el-table>
</el-card>
<el-card class="el-card" v-if="false">
<div slot="header" style="font-weight:bold;">
<span>企业联系信息</span>
</div>
<el-table :data="productDetail.contactlistList" style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column prop="devicerecordkey" label="主键编号"></el-table-column>
<el-table-column prop="qylxrcz" label="企业联系人传真"></el-table-column>
<el-table-column prop="qylxrdh" label="企业联系人电话"></el-table-column>
<el-table-column prop="qylxryx" label="企业联系人邮箱"></el-table-column>
</el-table>
</el-card>
</div>
<div
v-else
style="text-align: center; padding-top: 10%"
>
<h3 class="text">未找到该条码信息</h3>
</div>
</div>
</template>
<script>
export default {
name: "single-view",
props:{
productDetail:{
type:Object,
default:null
}
}
}
</script>
<style scoped>
.text {
width: 100%;
font-size: 12px;
font-family: "Microsoft YaHei";
color: #909399;
}
</style>
Loading…
Cancel
Save