界面优化

master
schry 2 years ago
parent 5b6efae713
commit b973d76f63

@ -56,11 +56,27 @@
<el-table-column label="产品DI标识" prop="nameCode" show-overflow-tooltip></el-table-column>
<el-table-column width="120" label="操作">
<template slot-scope="scope">
<el-button type="text" @click.native.stop="handleDetailClick(scope.row)">详情</el-button>
<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="detailDialogVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="80%"
v-if="detailDialogVisible"
>
<UdiBasicProductDetail
:detailQuery="detailQuery"
:checked="checked"
:closeDialog="closeDialog"
>
</UdiBasicProductDetail>
</el-dialog>
<el-dialog
title="医疗器械信息-编辑"
:visible.sync="editDialogVisible"
@ -108,6 +124,7 @@
import selectLocalUdi from "../rel/UdiInfoSelectLocalUdi";
import UdiBasicProductEdit from "@/views/basic/product/dict/UdiBasicProductEdit";
import {deleteDict, filterList} from "@/api/basic/UdiBasic";
import UdiBasicProductDetail from "@/views/basic/product/dict/UdiBasicProductDetail";
export default {
name: "UdiBasicProduct",
@ -156,7 +173,8 @@ export default {
},
selectProductVisible: false,
multipleSelection: [],
editDialogVisible: false, //
editDialogVisible: false, //
detailDialogVisible: false, //
selectUdiDialogVisible: false, //
selectErpDialogVisible: false, //ERP
selectLocalVisible: false, //UDI
@ -281,7 +299,14 @@ export default {
this.detailQuery = row;
this.checked = row.isUseDy == 1;
},
handleDetailClick(row) {
this.uuid = row.uuid;
this.isImport = false;
this.thisData = row;
this.detailDialogVisible = true;
this.detailQuery = row;
this.checked = row.isUseDy == 1;
},
closeUdi(val) {
this.selectUdiDialogVisible = false;
this.selectErpDialogVisible = false;
@ -301,6 +326,7 @@ export default {
this.selectVersionVisible = false;
this.selectProductVisible = false;
this.editDialogVisible = false;
this.detailDialogVisible = false
this.getList();
},
@ -317,6 +343,7 @@ export default {
}
,
components: {
UdiBasicProductDetail,
selectLocalUdi,
UdiBasicProductEdit

@ -0,0 +1,698 @@
<template>
<div>
<el-card>
<el-table v-loading="loading" :data="detailList" style="width: 100%; margin-top: 20px" border key="3"
@current-change="handleDetail">
<el-table-column label="产品DI标识" 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="packLevel" show-overflow-tooltip></el-table-column>
<el-table-column label="包装层级" prop="bzcj" show-overflow-tooltip></el-table-column>
</el-table>
</el-card>
<el-form :model="detailQuery" :rules="rules" ref="detailQuery" label-width="120px" style="margin-top: 20px">
<!-- <el-card>
<el-row type="flex" class="edit-row" style="margin-top: 20px">
<el-col :span="12">
<el-form-item label="产品通用名称:" class="query-form-item">
<el-input
style="width: 80%"
size="small"
disabled
splaceholder="请输入内容"
v-model="detailQuery.cpmctymc"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="规格型号:" class="query-form-item">
<el-input
style="width: 80%"
size="small"
disabled
splaceholder="请输入内容"
v-model="detailQuery.ggxh"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="edit-row">
<el-col :span="12">
<el-form-item label="医疗器械注册人:" class="query-form-item">
<el-input
style="width: 80%"
size="small"
disabled
splaceholder="请输入内容"
v-model="detailQuery.ylqxzcrbarmc"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="注册证/备案号:" class="query-form-item">
<el-input
style="width: 80%"
size="small" disabled
splaceholder="请输入内容"
v-model="detailQuery.zczbhhzbapzbh"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="el-row">
<el-col :span="12" class="el-col">
<el-form-item label="产品描述:" class="query-form-item">
<el-input
style="width: 80%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="detailQuery.cpms"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="el-row">
<el-col :span="12" class="el-col">
<el-form-item label="商品名称:" class="query-form-item">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.spmc"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="计量单位:" class="query-form-item">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.measname"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="el-row">
<el-col :span="12" class="el-col">
<el-form-item label="生产企业:" class="query-form-item">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.manufactory"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-card>-->
<el-card>
<el-collapse v-model="activeNames">
<el-collapse-item name="1">
<template slot="title">
<p class="form-title">产品标识基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品DI标识:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.nameCode"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含最小销售包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="detailQuery.bhzxxsbzsl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="detailQuery.bhxjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>最小包装单元内包含使用单元数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.zxxsbzbhsydysl"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="2">
<template slot="title">
<p class="form-title">产品基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品通用名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="detailQuery.cpmctymc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品DI标识:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.nameCode"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.ggxh"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.qxlb"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.cplb"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.flbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.sptm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.ybbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
v-model="detailQuery.ylqxzcrbarmc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.ylqxzcrbarywmc"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.tyshxydm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.zczbhhzbapzbh"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>生产企业:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品描述:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.cpms"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="3">
<template slot="title">
<p class="form-title">生产标识基本信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含批号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.scbssfbhph"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含序列号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
v-model="detailQuery.scbssfbhxlh"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含生产日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.scbssfbhscrq"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>是否包含失效日期:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
v-model="detailQuery.scbssfbhsxrq"
size="small"
splaceholder="请输入内容"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item name="4">
<template slot="title">
<p class="form-title">包装标识信息</p>
</template>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>上级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.sjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="detailQuery.packLevel"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装层级:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.bzcj"
:disabled="true"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="detailQuery.bhxjsl"
></el-input>
</div>
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
</el-card>
</el-form>
<!-- <div style="text-align: center; margin-top: 12px">
<el-button
type="primary"
size="small"
icon="search"
@click="onAddSubmit()"
>提交
</el-button>
<el-button
type="primary"
size="small"
icon="search"
@click="cancelDialog"
>取消
</el-button>
</div>-->
</div>
</template>
<script>
import {filterByUuid, updateRel} from "@/api/basic/udiRlCompany";
import {editDict} from "@/api/basic/UdiBasic";
export default {
name: "UdiBasicProductDetail",
props: {
detailQuery: {
type: Object,
required: true,
},
checked: {
type: Boolean,
required: true,
},
closeDialog: {
type: Function,
required: true,
},
},
data() {
return {
sysList: [],
detailList: [],
}
},
methods: {
getDetailList() {
let ttquery = {
uuid: this.detailQuery.uuid
};
this.loading = true;
filterByUuid(ttquery)
.then((response) => {
this.isUseDyCheck = false;
this.loading = false;
this.detailList = response.data || [];
this.detailList.forEach((item, index, array) => {
if (item.zxxsbzbhsydysl > 1) {
this.isUseDyCheck = true;
}
});
})
.catch(() => {
this.loading = false;
this.detailList = [];
});
},
onAddSubmit() {
editDict(this.detailQuery)
.then((response) => {
if (response.code == 20000) {
this.getList();
this.closeDialog();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.cancelDialog();
});
},
cancelDialog() {
this.closeDialog();
},
},
created() {
this.getDetailList(this.detailQuery.id);
}
}
</script>
<style scoped>
.itemTag {
float: left;
text-align: right;
margin-top: 5px;
padding-right: 10px;
width: 35%;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.query-form-item {
display: block !important;
margin-right: 10px;
margin-bottom: 0px;
}
.edit-row {
display: flex;
flex-wrap: wrap;
margin-bottom: 0px;
}
.el-row {
display: flex;
flex-wrap: wrap;
margin-bottom: 6px;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
.el-table .cell.el-tooltip {
white-space: pre-wrap;
}
.form-title {
font-size: 16px;
font-family: Noto Sans SC;
font-weight: bold;
color: #303133;
padding-bottom: 17px;
padding-top: 17px;
}
</style>

@ -71,36 +71,37 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="el-row">
<el-col :span="12" class="el-col">
<el-form-item label="生产企业:" class="query-form-item">
<el-form-item label="商品名称:" class="query-form-item">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.manufactory"
v-model="detailQuery.spmc"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="el-row">
<el-col :span="12" class="el-col">
<el-form-item label="商品名称:" class="query-form-item">
<el-form-item label="计量单位:" class="query-form-item">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.spmc"
v-model="detailQuery.measname"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" class="el-row">
<el-col :span="12" class="el-col">
<el-form-item label="计量单位:" class="query-form-item">
<el-form-item label="生产企业:" class="query-form-item">
<el-input
style="width: 80%"
size="small"
splaceholder="请输入内容"
v-model="detailQuery.measname"
v-model="detailQuery.manufactory"
></el-input>
</el-form-item>
</el-col>

Loading…
Cancel
Save