新加了一些模块

master
李劲龙 1 year ago
parent 34d28bf335
commit 71961494e9

@ -92,13 +92,13 @@ export default {
},
};
/**
sudo mv html.zip /usr/share/nginx/html/ggfw-iframe MSSM-Dev 文件夹下 移动压缩包到 ggfw文件夹下
sudo mv ggfw-iframe.zip /usr/share/nginx/html/ggfw-iframe MSSM-Dev 文件夹下 移动压缩包到 ggfw文件夹下
cd /usr/share/nginx/html/ggfw-iframe 移动到文件夹下
unzip html.zip -d . 解压
unzip ggfw-iframe.zip -d . 解压
rm ./html.zip 删除当前目录下的压缩包 弹出确定删除 y 并回车
rm ./ggfw-iframe.zip 删除当前目录下的压缩包 弹出确定删除 y 并回车
*/
</script>
<style>

@ -18,10 +18,10 @@ axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
const service = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分
// !本地使用
baseURL: process.env.VUE_APP_BASE_API,
// baseURL: process.env.VUE_APP_BASE_API,
// !外地使用
// baseURL: location.origin + process.env.VUE_APP_URL,
baseURL: location.origin + process.env.VUE_APP_URL,
// 超时
timeout: 60000,
});
@ -34,7 +34,9 @@ service.interceptors.request.use(
// 是否需要防止数据重复提交
const isRepeatSubmit = (config.headers || {}).repeatSubmit === false;
if (isToken) {
config.headers["Authentication"] = localStorage.getItem("MSSM-LIAONING__TOKEN");
config.headers["Authentication"] = localStorage.getItem(
"MSSM-LIAONING__TOKEN"
);
}
// get请求映射params参数
if (config.method === "get" && config.params) {
@ -142,7 +144,7 @@ service.interceptors.response.use(
return res.data;
}
},
async(error) => {
async (error) => {
// console.log(error);
// console.log(error.response)
let { message } = error;
@ -153,7 +155,8 @@ service.interceptors.response.use(
) {
let Authentication = await API.login.frimLogin();
const originalRequest = error.config;
originalRequest.headers["Authentication"] = Authentication.data.result.userToken;
originalRequest.headers["Authentication"] =
Authentication.data.result.userToken;
localStorage.setItem(
"Authentication",
Authentication.data.result.userToken
@ -203,55 +206,6 @@ export function download(file, name) {
background: "rgba(0, 0, 0, 0.7)",
});
console.log(file);
// return service
// .get(
// //process.env.VUE_APP_BASE_API +
// '/common/download/downloadmino?filename=' + file, {
// headers: { "Content-Type": "application/x-www-form-urlencoded" ,"Authorization":localStorage.getItem("MSSM-LIAONING__TOKEN"),"token":localStorage.getItem("Ls__Token")},
// responseType: "blob",
// })
// .then(async(resp) => {
// const isBlob = blobValidate(resp);
// if (isBlob) {
// const blob = new Blob([resp]);
// saveAs(blob, name);
// } else {
// const resText = await resp.text();
// const rspObj = JSON.parse(resText);
// const errMsg =
// errorCode[rspObj.code] || rspObj.msg || errorCode["default"];
// Message.error(errMsg);
// }
// downloadLoadingInstance.close();
// console.log(resp);
// // let temp = document.createElement("a"); // 创建a标签
// // temp.download = name; // 设置下载名称
// // // 创建blob对象在javascript中blob代表一个二进制流对象不可修改
// // const blob = new Blob([resp.data], {
// // // 类型从响应头中获取
// // type: resp.headers["content-type"],
// // });
// // // 创建对象url并赋值给a标签
// // let URL = window.URL || window.webkitURL;
// // temp.href = URL.createObjectURL(blob);
// // // 手动触发点击事件
// // temp.click();
// // downloadLoadingInstance.close();
// })
// .catch((r) => {
// console.error(r);
// Message.error("下载文件错误!");
// downloadLoadingInstance.close();
// });
// 路径
// var url = ""
// // 会打开一个空白页下载,然后空白页消失,用户体验不好
// function download1() {
// window.open(url);
// }
// window.open(process.env.VUE_APP_BASE_API +
// '/common/download/downloadmino?filename=' + file,'这是我的文件',null,null)
const link = document.createElement("a");
link.setAttribute(
"href",

@ -106,15 +106,15 @@ export default {
data() {
return {
tableData:[
{
id:1,
durgName:'布洛芬胶囊',
wenhao:'国药准字Z20213077',
bianhao:'YC20230619',
name:'张三',
hospitalName:'辽宁省人民医院',
addresName:'沈阳',
}
// {
// id:1,
// durgName:'',
// wenhao:'Z20213077',
// bianhao:'YC20230619',
// name:'',
// hospitalName:'',
// addresName:'',
// }
],
loading:false,
// adverseReactionStyle:{

@ -1,6 +1,6 @@
<template>
<div class="drugBasicInfo">
<block-header title="基本信息" style="min-height: 300px">
<block-header title="基本信息" style="min-height: 30vh">
<div v-loading="loading" v-if="obj.type != '3'">
<my-descriptions :descriptions="list"></my-descriptions>
</div>
@ -198,16 +198,82 @@
</el-descriptions>
</div>
</block-header>
<block-header
title="注册信息"
style="min-height: 92vh"
v-if="obj.type == '2'"
>
<div v-loading="loading">
<my-descriptions :descriptions="listTow"></my-descriptions>
</div>
</block-header>
<block-header
:title="item.label"
style="min-height: 13vh"
v-for="item in listthree"
:key="item.id"
v-show="obj.type == item.type || item.label == '生产标准信息'"
>
<div v-loading="loading">
<my-descriptions :descriptions="item.children"></my-descriptions>
</div>
</block-header>
</div>
</template>
<script>
import blockHeader from "@/views/firmContent/components/blockHeader/index.vue";
import myDescriptions from "@/views/firmContent/components/descriptions/index.vue";
export default {
/*
*/
data() {
return {
loading: true,
list: [],
listTow: [],
listthree: [
{
id: 1,
label: "生产标准信息",
type: "2",
children: [
{
id: 1,
label: "生产标准信息",
value: "",
data: "yptymc",
},
],
},
{
id: 2,
label: "工艺流程信息",
type: "2",
children: [
{
id: 1,
label: "工艺流程信息",
value: "",
data: "yptymc",
},
],
},
{
id: 3,
label: "处方信息",
type: "2",
children: [
{
id: 1,
label: "处方信息",
value: "",
data: "yptymc",
},
],
},
],
//
descriptions: [
{
@ -252,6 +318,8 @@ export default {
value: "",
data: "bzgg",
},
],
descriptionsTow: [
{
id: 8,
label: "批准日期",
@ -455,7 +523,6 @@ export default {
data: "",
},
{
id: 4,
label: "备案编码",
@ -517,8 +584,6 @@ export default {
value: "",
data: "",
},
],
//
descriptionsThree: [
@ -636,7 +701,6 @@ export default {
value: "",
data: "",
},
],
//
descriptionsFour: [
@ -885,6 +949,7 @@ export default {
let msg1 = await this.$api.cosmetics.getYaoPin(e);
this.$emit("getCPName", { key: "药品通用名称", value: msg1.data.yptymc });
this.list = this.filter(msg1.data, this.descriptions);
this.listTow = this.filter(msg1.data, this.descriptionsTow);
this.loading = false;
},
//

@ -64,6 +64,21 @@
/>
<span>不良反应</span>
</div>
<div
class="tab"
@click="actionTab(4)"
:class="action == 4 ? 'actionTab' : ''"
>
<img
:src="
action == 4
? `${require('@/assets/images/home/icon1-1@2x.png')}`
: `${require('@/assets/images/home/icon1-2@2x.png')}`
"
alt=""
/>
<span>召回信息</span>
</div>
</div>
</div>
<!-- <div class="drug-input" v-show="action == 2 || action == 3 ">
@ -112,6 +127,7 @@
import basicInfo from "./drugBasicInfo/drugBasicInfo";
import PZchouyang from "./PZchouyang/PZchouyang";
import adverseReaction from "./adverseReaction/adverseReaction";
import zhaohui from "./zhaohui/PZchouyang.vue";
export default {
data() {
return {
@ -145,6 +161,7 @@ export default {
basicInfo,
PZchouyang,
adverseReaction,
zhaohui,
},
methods: {
//
@ -176,6 +193,12 @@ export default {
this.getHeight();
});
// this.$router.push({ name:'adverseReaction' })
} else if (id == 4) {
this.currentComponent = "zhaohui";
this.$nextTick(() => {
this.getHeight();
});
// this.$router.push({ name:'adverseReaction' })
}
},
getHeight() {
@ -220,11 +243,16 @@ export default {
case "adverseReaction":
return {
b: this.id,
token: this.token,
token: zhaohui,
};
case "zhaohui":
return {
b: this.id,
token: zhaohui,
};
default:
return {
b: 4,
b: 5,
token: "暂无",
};
}
@ -378,7 +406,6 @@ export default {
}
}
}
::v-deep.pzChouyang .tables .el-table td{
::v-deep.pzChouyang .tables .el-table td {
}
</style>

@ -0,0 +1,892 @@
<template>
<div class="pzChouyang">
<div class="drug-input">
<div class="inputs">
<div class="rank">
<div class="input--label">召回等级</div>
<el-select v-model="value" placeholder="请选择抽样级别">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div class="number">
<div class="input--label">召回时间</div>
<div>
<el-date-picker
v-model="name"
type="datetimerange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['12:00:00']"
>
</el-date-picker>
</div>
</div>
</div>
<div class="search-btns">
<button class="reset" @click="reset"></button>
<button class="inquire" @click="inquire()"></button>
</div>
</div>
<block-header title="查询结果">
<div class="tables">
<el-table
:data="tableData"
style="width: 100%"
:cell-style="columnStyle"
v-loading="loading"
border
>
<el-table-column
type="index"
header-align="center"
label="序号"
width="80"
>
</el-table-column>
<el-table-column
prop="cyrw"
header-align="center"
label="召回产品名称"
>
<!-- <template slot-scope="scope">
{{ filterLevel(scope.row.cyjb ) }}
</template> -->
</el-table-column>
<el-table-column prop="cybh" label="抽样编号" header-align="center">
</el-table-column>
<el-table-column
prop="yptymc"
label="召回类型"
header-align="center"
>
</el-table-column>
<el-table-column
prop="bcydwmc"
label="召回等级"
header-align="center"
>
</el-table-column>
<el-table-column
prop="unitAreaName"
label="召回完成时间"
header-align="center"
>
</el-table-column>
<el-table-column label="操作" header-align="center" width="100">
<template slot-scope="scope">
<div class="button">
<el-button
size="mini"
class="informant-btn"
plain
type="primary"
@click="handleEdit(scope.$index, scope.row)"
>详情
</el-button>
</div>
</template>
</el-table-column>
</el-table>
</div>
<!-- <div
class="pagination"
:class="transinformation.b == '1' ? 'paginationTwo' : ''"
> -->
<pagination
v-show="total > 0"
:total="total"
:page="form1.current"
:limit="form1.size"
@pagination="getPagination"
></pagination>
<!-- </div> -->
</block-header>
<!-- 国抽 -->
<dialog-title title="详情" width="90%" ref="xiangqingDialog">
<div class="dialog-tabs">
<div class="tabs">
<div
class="tab"
@click="actionTab(1)"
:class="action == 1 ? 'actionTab' : ''"
>
<span>基本信息</span>
</div>
<div
class="tab"
@click="actionTab(2)"
:class="action == 2 ? 'actionTab' : ''"
>
<span>检验项目</span>
</div>
</div>
</div>
<component
:is="currentComponent"
:descriptions="descriptions"
:loading="load1"
:ids="ids"
></component>
</dialog-title>
<!-- 省抽 -->
<dialog-title
title="查看抽样详情"
:width="transinformation.b == '1' ? '65%' : '90%'"
ref="chouyangDialog"
>
<chouyang-info></chouyang-info>
</dialog-title>
<dialog-title
title="详情"
:width="transinformation.b == '1' ? '75%' : '90%'"
ref="medicalInfo"
>
<medical-info></medical-info>
</dialog-title>
<dialog-title
title="详情"
:width="transinformation.b == '1' ? '75%' : '90%'"
ref="drugDetail"
>
<drug-detail></drug-detail>
</dialog-title>
<dialog-title
title="详情"
:width="transinformation.b == '1' ? '75%' : '90%'"
ref="drugProvince"
>
<drug-province></drug-province>
</dialog-title>
<dialog-title
title="详情"
:width="transinformation.b == '1' ? '75%' : '90%'"
ref="samplingDetail"
>
<sampling-detail></sampling-detail>
</dialog-title>
</div>
</template>
<script>
import blockHeader from "@/views/firmContent/components/blockHeader/index";
import dialogTitle from "@/views/firmContent/components/dialogTitle/index";
import basicInfo from "./basicInfo/basicInfo";
import chouYang from "./chouYang/chouYang";
import chouyangInfo from "./chouyangInfo/index";
import medicalInfo from "./medical";
import samplingDetail from "./samplingDetail";
import drugDetail from "./drugDetail";
import drugProvince from "./drugProvince";
import { mapState } from "vuex";
export default {
data() {
return {
value: "",
name: "",
options: [
{
value: 0,
label: "国抽",
},
{
value: 1,
label: "省抽",
},
],
tableData: [],
loading: false,
action: 1,
currentComponent: "basicInfo",
// pzChouyangStyle:{
// height:''
// }
total: 0,
//
form1: {
size: 10,
current: 1,
//
cybh: "",
//
yppzwh: "",
},
//
ids: "",
descriptions: [
{
span: 1,
label: "药品通用名称",
value: "",
data: "yptymc",
},
{
span: 1,
label: "药品商品名称",
value: "",
data: "ypspmc",
},
{
span: 1,
label: "药品批准文号",
value: "",
data: "yppzwh",
},
{
span: 1,
label: "药品类别",
value: "",
data: "yplb",
},
{
span: 1,
label: "药品上市许可持有人",
value: "",
data: "ypssxkcyr",
},
{
span: 1,
label: "药品上市许可持有人统一社会信用代码",
value: "",
data: "ypssxkcyrtyshxxdm",
},
{
span: 1,
label: "药品上市许可持有人地址",
value: "",
data: "ypssxkcyrdz",
},
{
span: 1,
label: "药品上市持有人所在省份",
value: "",
data: "ypssxkcyrszsf",
},
{
span: 1,
label: "剂型",
value: "",
data: "jx",
},
{
span: 1,
label: "制剂规格",
value: "",
data: "zjgg",
},
{
span: 1,
label: "包装规格",
value: "",
data: "bzgg",
},
{
span: 1,
label: "抽样编号",
value: "",
data: "cybh",
},
{
span: 1,
label: "抽样数量",
value: "",
data: "cysl",
},
{
span: 1,
label: "有效期",
value: "",
data: "xq",
},
{
span: 1,
label: "来源",
value: "",
data: "ly",
},
{
span: 1,
label: "抽样环节",
value: "",
data: "cyhj",
},
{
span: 1,
label: "批号",
value: "",
data: "ph",
},
{
span: 1,
label: "有效期截至日期",
value: "",
data: "yxqjzrq",
},
{
span: 1,
label: "被抽样单位统一社会信用代码",
value: "",
data: "bcydwshyxdm",
},
{
span: 1,
label: "被抽样单位名称",
value: "",
data: "bcydwmc",
},
{
span: 1,
label: "被抽样单位地址",
value: "",
data: "bcydwdz",
},
{
span: 1,
label: "抽样地点性质",
value: "",
data: "cyddxz",
},
{
span: 1,
label: "抽样单位名称全称",
value: "",
data: "cydwmc",
},
{
span: 1,
label: "抽样单位所在省份",
value: "",
data: "cydwszsf",
},
{
span: 1,
label: "药品单价",
value: "",
data: "ypdj",
},
{
span: 1,
label: "药品总价",
value: "",
data: "ypzj",
},
{
span: 1,
label: "生产日期",
value: "",
data: "scrq",
},
{
span: 1,
label: "样品存放现场温度",
value: "",
data: "ypcfxcwd",
},
{
span: 1,
label: "样品存放现场湿度",
value: "",
data: "ypcfxcsd",
},
{
span: 1,
label: "抽样日期",
value: "",
data: "cyrq",
},
{
span: 1,
label: "抽样级别",
value: "",
data: "cyjb",
},
{
span: 1,
label: "抽样单位经手人",
value: "",
data: "cydwjsr",
},
{
span: 1,
label: "承检机构",
value: "",
data: "cjjg",
},
{
span: 1,
label: "生产企业是否否认生产",
value: "",
data: "scqysffrsc",
},
{
span: 1,
label: "基本药物 ",
value: "",
data: "jbyw",
},
{
span: 1,
label: "抽样任务",
value: "",
data: "cyrw",
},
{
span: 1,
label: "最终检验结论",
value: "",
data: "zzjyjl",
},
{
span: 1,
label: "检验证书编号",
value: "",
data: "jybgsbh",
},
{
span: 1,
label: "报告签发日期",
value: "",
data: "bgqfrq",
},
{
span: 1,
label: "复检结论",
value: "",
data: "fjjl",
},
{
span: 1,
label: "复检检验依据",
value: "",
data: "fjjyyj",
},
{
span: 1,
label: "复检报告书编号",
value: "",
data: "fjbgsbh",
},
{
span: 1,
label: "复检报告签发日期",
value: "",
data: "fjbgqfrq",
},
{
span: 1,
label: "收样或退样日期",
value: "",
data: "syhtyrq",
},
{
span: 1,
label: "原检结论",
value: "",
data: "yjjl",
},
{
span: 1,
label: "补充检验结果",
value: "",
data: "bcjyjg",
},
{
span: 1,
label: "计划ID",
value: "",
data: "planId",
},
{
span: 1,
label: "计划名称",
value: "",
data: "planName",
},
{
span: 1,
label: "编辑时间",
value: "",
data: "bjsj",
},
{
span: 1,
label: "更新时间",
value: "",
data: "gxsj",
},
],
load1: true,
};
},
props: ["transinformation"],
components: {
blockHeader,
dialogTitle,
basicInfo,
chouYang,
chouyangInfo,
medicalInfo,
samplingDetail,
drugDetail,
drugProvince,
},
computed: {
// // ...
...mapState({
urlA: (state) => state.app.urlA,
}),
},
created() {
this.getDAList();
},
methods: {
inquire() {
if (this.urlA.type == "1") {
} else if (this.urlA.type == "2") {
this.form1.cybh = this.name;
this.form1.size = 10;
this.form1.current = 1;
this.listyp();
} else if (this.urlA.type == "3") {
}
},
reset() {
this.name = "";
this.value = "";
this.listyp();
},
getPagination(e) {
this.form1.current = e.page;
this.form1.size = e.limit;
this.listyp();
},
filterLevel(e) {
if (e === "01") {
return "省抽";
} else if (e === "02") {
return "地级市";
} else if (e === "03") {
return "县级";
} else if (e === "04") {
return "乡、镇";
} else if (e === "05") {
return "其他";
}
},
//
async listyp() {
this.form1.yppzwh = this.$store.state.app.urlA.data;
this.loading = true;
let msg1 = await this.$api.yaoPin.getYPList(this.form1);
this.tableData = msg1.data.records;
this.total = msg1.data.total;
this.form1.size = msg1.data.size;
this.form1.current = msg1.data.current;
this.loading = false;
},
//
getDAList() {
let AA = this.$store.state.app.urlA;
if (AA) {
//
if (AA.type == "1") {
} else if (AA.type == "2") {
//
this.listyp();
} else if (AA.type == "3") {
//
}
}
},
// tabs
actionTab(id) {
this.action = id;
if (id == 1) {
this.currentComponent = "basicInfo";
} else {
this.currentComponent = "chouYang";
}
},
//
async idData() {
this.load1 = true;
let msg1 = await this.$api.yaoPin.getSingle(this.ids);
this.filter(msg1.data, this.descriptions);
this.load1 = false;
},
//
filter(A, B) {
for (let key in A) {
B.forEach((values, index) => {
if (values.data === key) {
B[index].value = A[key];
}
});
}
},
//
handleEdit(index, row) {
this.ids = row.id;
//
if (this.urlA.type == "1") {
} else if (this.urlA.type == "2") {
//
this.idData();
this.$refs.xiangqingDialog.open(row);
} else if (this.urlA.type == "3") {
}
// if (index == 1) {
// this.$refs.chouyangDialog.open(row);
// } else if (index == 2) {
// this.$refs.xiangqingDialog.open(row);
// } else if (index == 3) {
// this.$refs.medicalInfo.open(row);
// } else if (index == 0) {
// this.$refs.samplingDetail.open(row);
// } else if (index == 4) {
// this.$refs.drugProvince.open(row);
// } else if (index == 5) {
// this.$refs.drugDetail.open(row);
// }
},
// tabs
columnStyle({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 7 || columnIndex == 0) {
return "font-family: DIN;";
} else if (
columnIndex == 2 ||
columnIndex == 1 ||
columnIndex == 3 ||
columnIndex == 4
) {
return "font-family: Source Han Sans CN;";
} else if (columnIndex == 5 || columnIndex == 6 || columnIndex == 8) {
return "font-family: Adobe Heiti Std;font-weight: normal;";
}
},
currentChange(index) {},
sizeChange(index) {},
},
mounted() {
// this.$nextTick(()=>{
// let dom = document.getElementsByClassName('pzChouyang');
// let height = dom[0].getBoundingClientRect();
// let windowWidth = window.innerWidth;
// let windowHeight = window.innerHeight;
// let relativeHeight = windowHeight - height.top - (26 / 1920 * windowWidth)
// this.pzChouyangStyle.height = relativeHeight + 'px'
// })
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/styles/utils.scss";
.pzChouyang {
// overflow-y: scroll;
.tables {
.button {
display: flex;
justify-content: center;
}
.informant-btn {
padding: vw(13) vh(10);
width: vw(44);
height: vh(20);
background: #e4effd;
border: vw(1) solid #8cb9f8;
border-radius: vw(4);
line-height: vh(20);
display: flex;
justify-content: center;
align-items: center;
::v-deep span {
display: inline-block;
color: #1e80eb;
font-size: vw(14);
font-family: Adobe Heiti Std;
font-weight: normal;
}
}
::v-deep .el-table td {
height: vh(40);
padding: vh(10);
font-size: vw(14);
font-weight: 400;
color: #292f38;
}
::v-deep .el-table th {
height: vh(40);
padding: 0;
font-size: vw(14);
font-family: Source Han Sans CN;
font-weight: bold;
color: #292f38;
line-height: vh(50);
}
::v-deep .cell {
text-align: center;
}
}
.pagination {
margin-top: 17px;
display: flex;
align-items: center;
justify-content: space-between;
// padding-bottom: vh(20);
::v-deep .el-pagination__jump {
margin: 0;
}
.custom {
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #292f38;
line-height: 18px;
}
}
.paginationTwo {
display: flex;
align-items: center;
justify-content: flex-end;
padding-bottom: vh(20);
::v-deep .el-input--mini .el-input__inner {
height: vw(28);
}
.custom {
font-size: vw(14);
font-family: Source Han Regular CN;
font-weight: 400;
color: #292f38;
line-height: vh(28);
}
}
}
::v-deep .el-dialog__body {
padding-top: vh(24);
}
::v-deep .dialog-tabs {
margin: vh(25) 0;
.tabs {
width: 100%;
display: flex;
border-bottom: vw(1) solid #dbe0e8;
.tab {
border: vw(1) solid #dbe0e8;
padding: vh(7) vw(22);
display: flex;
align-items: center;
border-bottom: none;
margin-right: vw(9);
cursor: pointer;
&:last-child {
margin-right: 0;
}
img {
width: vw(18);
height: vw(18);
margin-right: vw(3);
}
.actionImage {
padding: vw(1.5);
width: vw(18);
height: vw(18);
margin-right: vw(3);
}
span {
font-size: vw(16);
font-family: Source Han Sans CN;
font-weight: 400;
color: #2f3742;
}
}
.actionTab {
background-color: #1e80eb;
span {
color: #fff;
}
}
}
}
.drug-input {
padding: vh(40) vw(22);
display: flex;
align-items: center;
.inputs {
display: flex;
align-items: center;
.rank,
.number {
display: flex;
align-items: center;
.input--label {
font-size: vw(16);
font-family: Source Han Sans CN;
font-weight: 400;
color: #6a6c6f;
}
::v-deep .el-input__inner {
width: vw(386);
height: vw(40);
border-radius: vw(2);
}
::v-deep .el-select__caret::before {
line-height: vw(40);
}
}
.number {
margin-left: vw(39);
}
}
.search-btns {
margin-left: vw(40);
display: flex;
align-items: center;
.inquire {
display: flex;
justify-content: center;
align-items: center;
border: none;
width: vw(64);
height: vh(40);
background: #1e80eb;
border-radius: vw(4);
font-size: vw(16);
font-family: Source Han Sans CN;
font-weight: 400;
color: #ffffff;
line-height: vh(50);
margin-left: vw(10);
cursor: pointer;
}
.reset {
display: flex;
justify-content: center;
align-items: center;
width: vw(64);
height: vh(40);
border: vw(1) solid #1e80eb;
border-radius: vw(4);
background-color: #fff;
font-size: vw(16);
font-family: Source Han Sans CN;
font-weight: 400;
color: #1e80eb;
line-height: vh(50);
cursor: pointer;
}
}
}
</style>

@ -0,0 +1,473 @@
<template>
<block-header title="国家药品抽检信息">
<my-descriptions
:descriptions="descriptions"
width
v-loading="loading"
></my-descriptions>
</block-header>
</template>
<script>
import blockHeader from "@/views/firmContent/components/blockHeader/index.vue";
import myDescriptions from "@/views/firmContent/components/descriptions/index.vue";
export default {
data() {
return {
// descriptions:[
// {
// id:1,
// label:'',
// value:''
// },{
// id:2,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:3,
// label:'',
// value:'B20190008023'
// },{
// id:4,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:5,
// label:'',
// value:''
// },{
// id:6,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:7,
// label:'',
// value:'xxxxxxxxxxxxx'
// },{
// id:8,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:9,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:10,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:11,
// label:'',
// value:'xxxxxxxxxxxxxxxxx'
// },{
// id:12,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:13,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:14,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:15,
// label:'',
// value:'xxxxxxxxxxxxxxxxx'
// },{
// id:16,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:17,
// label:'',
// value:'xxxxxxxxxxxxxx'
// },{
// id:18,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:19,
// label:'',
// value:'xxxxxxxxxxxxxx'
// },{
// id:20,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:21,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:22,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:23,
// label:'',
// value:'xxxxxxxxxxxxxx'
// },{
// id:24,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:25,
// label:'',
// value:'xxxxxxxxxxxxxxxx'
// },{
// id:26,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:27,
// label:'湿',
// value:'xxxxxxxx'
// },{
// id:28,
// label:'',
// value:'xxxxxxxxxxxxxxx'
// },{
// id:29,
// label:'',
// value:'xxxxxxx'
// },{
// id:30,
// label:'',
// value:'xxxxxxxxxxxx'
// },{
// id:31,
// label:'',
// value:'xxxxxxxxx'
// },{
// id:32,
// label:'',
// value:'xxxxxxxxxxxxxx'
// },
// ],
// descriptions: [
// {
// span: 1,
// label: "",
// value: "",
// data: "yptymc",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "ypspmc",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "yppzwh",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "yplb",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "ypssxkcyr",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "ypssxkcyrtyshxxdm",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "ypssxkcyrdz",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "ypssxkcyrszsf",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "jx",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "zjgg",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "bzgg",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "cybh",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "cysl",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "xq",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "ly",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "cyhj",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "ph",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "yxqjzrq",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "bcydwshyxdm",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "bcydwmc",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "bcydwdz",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "cyddxz",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "cydwmc",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "cydwszsf",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "ypdj",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "ypzj",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "scrq",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "ypcfxcwd",
// },
// {
// span: 1,
// label: "湿",
// value: "",
// data: "ypcfxcsd",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "cyrq",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "cyjb",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "cydwjsr",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "cjjg",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "scqysffrsc",
// },
// {
// span: 1,
// label: " ",
// value: "",
// data: "jbyw",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "cyrw",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "zzjyjl",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "jybgsbh",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "bgqfrq",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "fjjl",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "fjjyyj",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "fjbgsbh",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "fjbgqfrq",
// },
// {
// span: 1,
// label: "退",
// value: "",
// data: "syhtyrq",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "yjjl",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "bcjyjg",
// },
// {
// span: 1,
// label: "ID",
// value: "",
// data: "planId",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "planName",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "bjsj",
// },
// {
// span: 1,
// label: "",
// value: "",
// data: "gxsj",
// },
// ],
// loading: true,
};
},
props: {
descriptions:{
type:Array,
default:[]
},
loading:{
type:Boolean,
default:true
}
},
components: { blockHeader, myDescriptions },
created() {
},
mounted(){
},
methods: {
},
};
</script>
<style lang="scss" scoped>
</style>

@ -0,0 +1,190 @@
<template>
<block-header title="检验项目信息">
<div class="tables">
<tables :labels="labels" :list="tableData" :loading="loading"></tables>
</div>
<pagination
v-show="total > 0"
:total="total"
:page="form1.current"
:limit="form1.size"
@pagination="getPagination"
></pagination>
</block-header>
</template>
<script>
import tables from "@/views/firmContent/components/table/index.vue";
import blockHeader from "@/views/firmContent/components/blockHeader/index.vue";
export default {
data() {
return {
tableData: [],
total: 1,
labels: [
{
header: "检验大类",
value: "jydl",
width: "",
},
{
header: "检验项目",
value: "jyxm",
width: "",
},
{
header: "标准规定",
value: "bzgd",
width: "",
},
{
header: "检验结果",
value: "jyjg",
width: "",
},
{
header: "检验结论",
value: "jyjl",
width: "",
},
{
header: "检验依据",
value: "jyyj",
width: "",
},
{
header: "检验序号",
value: "jyxh",
width: "",
},
{
header: "报告类别",
value: "bglb",
width: "",
},
{
header: "抽样编号",
value: "cybh",
width: "",
},
{
header: "药品通用名字",
value: "yptym",
width: "",
},
{
header: "编辑时间",
value: "bjsj",
width: "",
},
{
header: "更新时间",
value: "gxsj",
width: "",
},
],
loading: false,
form1: {
current: 1,
size: 10,
mainId:'',
},
};
},
components: { blockHeader, tables },
created() {
this.arrData();
},
props:{
ids:{
type:[Number,String],
default:''
}
},
methods: {
async arrData() {
this.form1.mainId = this.ids
this.loading = true;
let msg1 = await this.$api.yaoPin.jyList(this.form1);
this.tableData = msg1.data.records;
this.total = msg1.data.total;
this.form1.current = msg1.data.current;
this.form1.size = msg1.data.size;
this.loading = false;
},
getPagination(e) {
console.log(e);
this.form1.current = e.page;
this.form1.size = e.limit;
this.arrData();
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/styles/utils.scss";
.tables {
min-height: 300px;
.button {
display: flex;
justify-content: center;
}
.informant-btn {
width: vw(44);
height: vh(20);
background: #e4effd;
border: vw(1) solid #8cb9f8;
border-radius: vw(4);
line-height: vh(20);
display: flex;
justify-content: center;
align-items: center;
::v-deep span {
display: inline-block;
color: #1e80eb;
font-size: vw(14);
font-family: Adobe Heiti Std;
font-weight: normal;
}
}
::v-deep .el-table td {
height: vh(60);
padding: 0;
font-size: vw(14);
font-weight: 400;
font-family: Source Han Sans CN;
color: #292f38;
}
::v-deep .el-table th {
height: vh(40);
padding: 0;
font-size: vw(14);
font-family: Source Han Sans CN;
font-weight: bold;
color: #292f38;
line-height: vh(50);
}
::v-deep .cell {
text-align: center;
}
}
.pagination {
display: flex;
align-items: center;
justify-content: flex-end;
padding-bottom: vh(20);
margin-top: vh(33);
::v-deep .el-pagination__jump {
margin: 0;
}
::v-deep .el-input--mini .el-input__inner {
height: vw(28);
}
.custom {
font-size: vw(14);
font-family: Source Han Regular CN;
font-weight: 400;
color: #292f38;
line-height: vh(28);
}
}
</style>

@ -0,0 +1,416 @@
<template>
<div class="chouyangInfo">
<recall-module title="基本信息">
<my-descriptions :descriptions="descriptions"></my-descriptions>
</recall-module>
<recall-module title="被抽样单位信息">
<my-descriptions :descriptions="descriptionsTwo"></my-descriptions>
</recall-module>
<recall-module title="样品基本信息">
<my-descriptions :descriptions="descriptionsThree"></my-descriptions>
</recall-module>
<recall-module title="委托生产企业信息">
<my-descriptions :descriptions="descriptionsSix"></my-descriptions>
</recall-module>
<!-- <recall-module title="标示注册人/备案人/受托生产企业等信息">
<my-descriptions :descriptions="descriptionsFour"></my-descriptions>
</recall-module> -->
<recall-module title="抽样单位信息">
<my-descriptions :descriptions="descriptionsFive"></my-descriptions>
</recall-module>
<recall-module title="检验信息">
<div class="my-tablesss">
<div class="item-title"><span class="title-relative">初检</span></div>
<el-descriptions :column="1" :colon="false" :border="false" contentClassName="contentClassName" labelClassName="labelClassName" class="tablesss">
<el-descriptions-item label="检验机构名称">XXXXXXXXXXXXXXXXXXXXX</el-descriptions-item>
<el-descriptions-item label="是否合格">
<el-radio-group v-model="radio" class="my-radio-one">
<el-radio :label="1">合格</el-radio>
<el-radio :label="0">不合格</el-radio>
</el-radio-group>
</el-descriptions-item>
<el-descriptions-item label="不合格项目类型">
<el-radio-group v-model="radioTwo" class="my-radio">
<el-radio :label="0">防腐剂</el-radio>
<el-radio :label="1">着色剂</el-radio>
<el-radio :label="2">染发剂</el-radio>
<el-radio :label="3">物理防晒剂</el-radio>
<el-radio :label="4">重金属指标</el-radio>
<el-radio :label="5">抗感染类禁用成份</el-radio>
<el-radio :label="6">其他禁用成份</el-radio>
<el-radio :label="7">限用组分</el-radio>
<el-radio :label="8">标签标识不符</el-radio>
<el-radio :label="9">其他</el-radio>
</el-radio-group>
</el-descriptions-item>
<el-descriptions-item label="不合格项目详情">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</el-descriptions-item>
<el-descriptions-item label="检验结果">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</el-descriptions-item>
<el-descriptions-item label="结果单位">XXXXXXXXXXXXXXXXXX</el-descriptions-item>
<el-descriptions-item label="检验依据">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</el-descriptions-item>
<el-descriptions-item label="限值规定">XXXXXXXXXXXXXXXXXX</el-descriptions-item>
<el-descriptions-item label="检验报告">
<div class="my--file">
<download-filebox :files="files"></download-filebox>
</div>
</el-descriptions-item>
<el-descriptions-item label="备注:">XXXXXXXXXXXXXXXXXX</el-descriptions-item>
</el-descriptions>
</div>
</recall-module>
</div>
</template>
<script>
import recallModule from "@/views/components/RecallModule/RecallModule.vue"
import myDescriptions from "@/views/firmContent/components/descriptions/index.vue"
import downloadFilebox from "@/views/firmContent/components/downloadFileBox/index.vue"
export default {
data() {
return {
descriptions:[
{
id:1,
label:'计划名称',
value:'xxxxxxxxxxxxxxxx',
},{
id:2,
label:'抽样单号编号',
value:'二级召回',
},{
id:3,
label:'抽样环节',
value:'经营环节',
},{
id:4,
label:'抽样时间',
value:'2023-03-10',
},
],
descriptionsTwo:[
{
id:1,
label:'被抽样单位名称',
value:'大石桥市天津精制滑石粉厂',
},{
id:2,
label:'统一社会信用代码',
value:'xxxxxxxxxxxxxxxxxxxxxx',
},{
id:3,
label:'地区(市、州、盟)',
value:'沈阳为',
},{
id:4,
label:'县(市、区)',
value:'xxxxx区',
},{
id:5,
label:'详细地址',
value:'永安大道166号',
span:2,
},{
id:6,
label:'法定代表人/主要负责人',
value:'2023-04-12',
},{
id:7,
label:'联系人',
value:'xxxxxxxxxxxx',
},{
id:8,
label:'抽样地点性质',
value:'零售连锁总部',
},{
id:9,
label:'电话',
value:'18321454321',
},
],
descriptionsThree:[
{
id:1,
label:'样品通用名称',
value:'抽检样品1号',
},{
id:2,
label:'生产日期',
value:'2021-01-01 12:11:11',
},{
id:3,
label:'样品批号',
value:'43894384934',
},{
id:4,
label:'药品来源',
value:'xxx来源',
},{
id:5,
label:'有效期限',
value:'12月',
},{
id:6,
label:'制剂类型',
value:'xxx剂型',
},{
id:7,
label:'制剂规格',
value:'12ml/只',
},{
id:8,
label:'药品细类',
value:'xxx细类',
},{
id:9,
label:'药品大类',
value:'xxx大类',
},{
id:10,
label:'样品贮存相对温度',
value:'23.04%',
},{
id:11,
label:'药品贮存温度',
value:'-12.5℃',
},{
id:12,
label:'是否国家药品集中招标采购 中标品种',
value:'否',
},{
id:13,
label:'是否基药',
value:'否',
},{
id:14,
label:'进口分包装企业',
value:'大石桥天泽精制滑石粉厂',
},{
id:15,
label:'进口分包装批号',
value:'12323523434234',
}
],
descriptionsFour:[
{
id:1,
label:'注册人/备案人所属省份',
value:'大石桥市天津精制滑石粉厂',
},{
id:2,
label:'样品类别',
value:'xxxxxxxxxxxxxxxxxxxxxx',
},{
id:3,
label:'注册人/备案人地址',
value:'沈阳为',
},{
id:4,
label:'生产日期',
value:'xxxxx区',
},{
id:5,
label:'境内责任人名称',
value:'永安大道166号',
},{
id:6,
label:'抽样数量',
value:'23',
},{
id:7,
label:'受托生产企业所属省份',
value:'xxxxxxxxxxx',
},{
id:8,
label:'保质期',
value:'12个月',
},{
id:9,
label:'受托生产企业地址',
value:'零售连锁总部',
},{
id:10,
label:'进口分包装企业',
value:'xxxxxxxxxx',
},{
id:11,
label:'委托单位名称',
value:'',
},{
id:12,
label:'现场结算',
value:'xxxxxxxxxxxxxxx',
},{
id:13,
label:'生产企业/代理商所属省份',
value:'',
},{
id:14,
label:'总价',
value:'xxxx',
},{
id:15,
label:'生产企业/代理商地址',
value:'',
},{
id:16,
label:'保存条件',
value:'阴凉',
},{
id:17,
label:'样品进口地区',
value:'',
},{
id:18,
label:'原产地',
value:'xxxxxx',
},
],
descriptionsFive:[
{
id:1,
label:'抽样单位名称',
value:'大石桥市天津精制滑石粉厂',
span:2,
},{
id:2,
label:'地区(市、州、盟)',
value:'xxxxxxxxxxxxxxxxxxxxxx',
},{
id:3,
label:'县(市、区)',
value:'xxx区',
},{
id:4,
label:'详细地址',
value:'永安大道116号',
span:2,
},{
id:5,
label:'电话',
value:'17321456543',
},{
id:6,
label:'联系人',
value:'陈思类',
},{
id:7,
label:'备注(需要其他说明情况)',
value:'xxxxxxxxxxxx',
},
],
descriptionsSix:[
{
id:1,
label:'选择涉及主体',
value:'生产单位(委托方)',
span:2,
},{
id:2,
label:'委托单位企业名称1',
value:'大石桥xxx企业',
},{
id:3,
label:'委托单位企业地址1',
value:'辽宁省沈阳市达园东区永安大道111号',
},{
id:4,
label:'委托单位企业名称1',
value:'xxxx企业',
},{
id:5,
label:'委托单位企业地址1',
value:'辽宁省沈阳市达园东区永安大道111号',
},
],
radio:0,
radioTwo:0,
files:[
{
id:1,
name:'A项目检验报告.doc',
size:'44KB',
},{
id:2,
name:'B项目检验报告.doc',
size:'44KB',
},{
id:3,
name:'C项目检验报告.doc',
size:'44KB',
},
]
}
},
components:{recallModule,myDescriptions,downloadFilebox},
methods:{
},
}
</script>
<style lang="scss" scoped>
@import "@/assets/styles/utils.scss";
.chouyangInfo {
display: grid;
grid-column: 1fr;
grid-row-gap: vh(24);
.my-tablesss {
.item-title {
display: inline-block;
padding: vh(4) vw(24) vh(4) vw(24);
background-color: #1E80EB;
clip-path: polygon(0 0, calc(100% - (15 / 1920*100vw)) 0,100% 40%, 100% calc(100% - 0px),
calc(100% - 0px) 100%, 0px 100%,0 calc(100% - 0px),0 0px);
.title-relative {
font-size: vw(14);
font-family: Source Han Sans CN;
font-weight: 400;
color: #ffffff;
}
}
.tablesss {
border: vw(1) solid #DBE0E8;
}
::v-deep .el-descriptions__body {
.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell {
padding-bottom: 0;
}
.labelClassName{
background-color: #F7FAFC;
padding: vh(15) vw(20);
width: vw(256);
font-size: vw(16);
font-family: Source Han Sans CN;
font-weight: 400;
color: #F5F7FA;
display: inline-block;
// text-align: right;
}
.contentClassName{
font-size: vw(16);
padding: vh(15) 0;
font-family: Source Han Sans CN;
font-weight: 400;
color: #292F38;
.my-radio-one {
pointer-events: none; //TODO:
}
.my-radio {
display: flex;
flex-wrap: wrap;
align-content: space-between;
height: vh(80);
.el-radio {
pointer-events: none; //TODO:
}
}
.my--file {
display: flex;
flex-direction: column;
width: 95%;
}
}
}
}
}
</style>

@ -0,0 +1,546 @@
<template>
<div>
<!-- <el-dialog
title="提示"
:visible.sync="dialogVisible"
width="75%"
:close-on-click-modal="true"
:destroy-on-close="true"
:append-to-body="true"
>
<div slot="title" class="headerText">详情</div> -->
<div class="content-tabs">
<div class="tabs">
<div
class="tab"
v-for="(item, index) in options"
:key="index"
@click="actionTab(index)"
:class="action == index ? 'actionTab' : ''"
>
{{ item }}
</div>
</div>
</div>
<div v-if="action == 0">
<div class="mar">
<headerTitle header="国家药品抽检信息"></headerTitle>
</div>
<descriptions :descriptionsList="list1"></descriptions>
</div>
<div v-if="action == 1">
<div class="mar">
<headerTitle header="检验项目信息"></headerTitle>
</div>
<el-table v-loading="loading" :data="tableList" border :stripe="false">
<el-table-column type="index" label="序号" width="50" />
<el-table-column label="检验大类" prop="name" />
<el-table-column label="检验项目" prop="type"> </el-table-column>
<el-table-column label="标准规定" prop="num" />
<el-table-column label="检验结果" prop="enterpriseName">
</el-table-column>
<el-table-column label="检验结论" prop="num" />
<el-table-column label="检验依据" prop="enterpriseName">
</el-table-column>
<el-table-column label="检验序号" prop="num" />
<el-table-column label="报告类别" prop="enterpriseName">
</el-table-column>
<el-table-column label="抽样编号" prop="enterpriseName">
</el-table-column>
<el-table-column label="药品通用名" prop="enterpriseName">
</el-table-column>
<el-table-column label="编辑时间" prop="enterpriseName">
</el-table-column>
<el-table-column label="更新时间" prop="enterpriseName">
</el-table-column>
</el-table>
<div class="pagination">
<span class="custom">共100条显示1条</span>
<el-pagination
background
@current-change="currentChange"
@size-change="sizeChange"
:page-sizes="[10, 5]"
layout=" prev, pager, next, sizes, jumper"
:total="querydata.total"
>
</el-pagination>
</div>
</div>
<!-- </el-dialog> -->
</div>
</template>
<script>
import headerTitle from "@/views/firmContent/components/headerTitle";
import descriptions from "@/views/components/descriptions.vue";
export default {
data() {
return {
dialogVisible: false,
action: 0,
options: ["基本信息", "检验项目"],
loading: false,
tableList: [
{
name: "辽宁护肤霜",
type: "化妆品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "药品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "医疗器械",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "化妆品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "医疗器械",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "化妆品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "医疗器械",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "化妆品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "医疗器械",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "化妆品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
],
querydata: {
total: 11,
},
list1: [
{
span: 1,
label: "药品通用名称",
value: "",
data: "",
},
{
span: 1,
label: "药品商品名称",
value: "",
data: "",
},
{
span: 1,
label: "药品批准文号",
value: "",
data: "",
},
{
span: 1,
label: "药品类别",
value: "",
data: "",
},
{
span: 1,
label: "药品上市许可持有人",
value: "",
data: "",
},
{
span: 1,
label: "药品上市许可持有人统一社会信用代码",
value: "",
data: "",
},
{
span: 1,
label: "药品上市许可持有人地址",
value: "",
data: "",
},
{
span: 1,
label: "药品上市持有人所在省份",
value: "",
data: "",
},
{
span: 1,
label: "剂型",
value: "",
data: "",
},
{
span: 1,
label: "制剂规格",
value: "",
data: "",
},
{
span: 1,
label: "包装规格",
value: "",
data: "",
},
{
span: 1,
label: "抽样编号",
value: "",
data: "",
},
{
span: 1,
label: "抽样数量",
value: "",
data: "",
},
{
span: 1,
label: "有效期",
value: "",
data: "",
},
{
span: 1,
label: "来源",
value: "",
data: "",
},
{
span: 1,
label: "抽样环节",
value: "",
data: "",
},
{
span: 1,
label: "批号",
value: "",
data: "",
},
{
span: 1,
label: "有效期截至日期",
value: "",
data: "",
},
{
span: 1,
label: "被抽样单位统一社会信用代码",
value: "",
data: "",
},
{
span: 1,
label: "被抽样单位名称",
value: "",
data: "",
},
{
span: 1,
label: "被抽样单位地址",
value: "",
data: "",
},
{
span: 1,
label: "抽样地点性质",
value: "",
data: "",
},
{
span: 1,
label: "抽样单位名称全称",
value: "",
data: "",
},
{
span: 1,
label: "抽样单位所在省份",
value: "",
data: "",
},
{
span: 1,
label: "药品单价",
value: "",
data: "",
},
{
span: 1,
label: "药品总价",
value: "",
data: "",
},
{
span: 1,
label: "生产日期",
value: "",
data: "",
},
{
span: 1,
label: "样品存放现场温度",
value: "",
data: "",
},
{
span: 1,
label: "样品存放现场湿度",
value: "",
data: "",
},
{
span: 1,
label: "抽样日期",
value: "",
data: "",
},
{
span: 1,
label: "抽样级别",
value: "",
data: "",
},
{
span: 1,
label: "抽样单位经手人",
value: "",
data: "",
},
{
span: 1,
label: "承检机构",
value: "",
data: "",
},
{
span: 1,
label: "生产企业是否否认生产",
value: "",
data: "",
},
{
span: 1,
label: "基本药物 ",
value: "",
data: "",
},
{
span: 1,
label: "抽样任务",
value: "",
data: "",
},
{
span: 1,
label: "最终检验结论",
value: "",
data: "",
},
{
span: 1,
label: "检验证书编号",
value: "",
data: "",
},
{
span: 1,
label: "报告签发日期",
value: "",
data: "",
},
{
span: 1,
label: "复检结论",
value: "",
data: "",
},
{
span: 1,
label: "复检检验依据",
value: "",
data: "",
},
{
span: 1,
label: "复检报告书编号",
value: "",
data: "",
},
{
span: 1,
label: "复检报告签发日期",
value: "",
data: "",
},
{
span: 1,
label: "收样或退样日期",
value: "",
data: "",
},
{
span: 1,
label: "原检结论",
value: "",
data: "",
},
{
span: 1,
label: "补充检验结果",
value: "",
data: "",
},
{
span: 1,
label: "计划ID",
value: "",
data: "",
},
{
span: 1,
label: "计划名称",
value: "",
data: "",
},
{
span: 1,
label: "编辑时间",
value: "",
data: "",
},
{
span: 1,
label: "更新时间",
value: "",
data: "",
},
],
};
},
components: {
descriptions,
headerTitle,
},
methods: {
open() {
this.dialogVisible = true;
},
actionTab(e) {
this.action = e;
},
currentChange() {},
sizeChange() {},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__header {
background: #f8f9fa;
}
.headerText {
color: #333333;
}
.header--title {
margin: 15px 0;
display: flex;
justify-content: space-between;
align-items: center;
.title--left {
display: flex;
align-items: center;
.line {
width: 4px;
height: 16px;
background: #1e80eb;
margin-right: 8px;
}
.title {
font-size: 18px;
font-weight: bold;
color: #1e80eb;
}
}
}
.mar {
margin: 10px 0;
}
::v-deep .el-descriptions-row > th {
width: 18%;
background: #f5f7fa;
color: #292f38;
font-weight: 500;
}
::v-deep .el-descriptions-row > td {
width: 32%;
}
::v-deep .el-dialog:not(.is-fullscreen) {
margin-bottom: 1vh !important;
}
.content-tabs {
.tabs {
width: 100%;
display: flex;
border-bottom: 1px solid #dbe0e8;
.tab {
border: 1px solid #dbe0e8;
background: #f8f9f9;
color: #292f38;
padding: 7px 18px;
display: flex;
align-items: center;
border-bottom: none;
margin-right: 7px;
cursor: pointer;
&:last-child {
margin-right: 0;
}
}
.actionTab {
background-color: #1e80eb;
color: #fff;
}
}
}
.pagination {
display: flex;
justify-content: space-between;
padding-top: 20px;
}
</style>

@ -0,0 +1,476 @@
<template>
<div>
<!-- <el-dialog
title="提示"
:visible.sync="dialogVisible"
width="75%"
:close-on-click-modal="true"
:destroy-on-close="true"
:append-to-body="true"
>
<div slot="title" class="headerText">详情</div> -->
<div>
<headerTitle header="基本信息"></headerTitle>
<descriptions :descriptionsList="list1"></descriptions>
<headerTitle header="被抽样单位信息"></headerTitle>
<descriptions :descriptionsList="list2"></descriptions>
<headerTitle header="样品基本信息"></headerTitle>
<descriptions :descriptionsList="list3"></descriptions>
<headerTitle header="受托生产企业信息"></headerTitle>
<descriptions :descriptionsList="list4"></descriptions>
<headerTitle header="抽样单位信息"></headerTitle>
<descriptions :descriptionsList="list5"></descriptions>
<headerTitle header="检验信息"></headerTitle>
<div class="lastBox">
<button>初检</button>
<el-descriptions class="margin-top" :column="2" border>
<el-descriptions-item :span="2">
<template slot="label"> 报告书编号</template>
xxxxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label"> 检验类型</template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label"> 检验依据 </template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label"> 检验项目 </template>
<el-table
v-loading="loading"
:data="tableList"
border
:stripe="false"
>
<el-table-column type="index" label="序号" width="55" />
<el-table-column label="大类" prop="name" />
<el-table-column label="检验项目" prop="type">
</el-table-column>
<el-table-column label="备注" prop="num" />
<el-table-column label="检验结果" prop="enterpriseName" />
<el-table-column label="检验结论" prop="enterpriseName">
</el-table-column>
</el-table>
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">检验报告书结论</template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">报告附件</template>
<div class="fileBox">
<span>
<i class="el-icon-s-marketing"></i>
</span>
<div>A项目检验报告.doc</div>
<div class="file-icon">
<i class="el-icon-download"></i>
下载
</div>
</div>
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">签发日期</template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">检验单位</template>
xxxxxxxxxxxxx
</el-descriptions-item>
</el-descriptions>
</div>
</div>
<!-- </el-dialog> -->
</div>
</template>
<script>
import headerTitle from "@/views/firmContent/components/headerTitle";
import descriptions from "@/views/components/descriptions.vue";
export default {
data() {
return {
dialogVisible: false,
loading: false,
tableList: [
{
name: "辽宁护肤霜",
type: "化妆品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "药品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "医疗器械",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "化妆品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "医疗器械",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "化妆品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
],
//
list1: [
{
span: 1,
label: "计划名称",
value: "",
data: "asd",
},
{
span: 1,
label: "抽样单号编号",
value: "",
data: "idsd",
},
{
span: 1,
label: "抽样环节",
value: "",
data: "",
},
{
span: 1,
label: "抽样时间",
value: "",
data: "",
},
],
//
list2: [
{
span: 1,
label: "被抽样单位名称",
value: "",
data: "asd",
},
{
span: 1,
label: "统一社会信用代码",
value: "",
data: "idsd",
},
{
span: 1,
label: "地区(市、州、盟)",
value: "",
data: "",
},
{
span: 1,
label: "县 (市、区)",
value: "",
data: "",
},
{
span: 2,
label: "详细地址",
value: "",
data: "",
},
{
span: 1,
label: "法定代表人/主要负责人",
value: "",
data: "",
},
{
span: 1,
label: "联系人 ",
value: "",
data: "",
},
{
span: 1,
label: "抽样地点性质",
value: "",
data: "",
},
{
span: 1,
label: "电话 ",
value: "",
data: "",
},
],
//
list3: [
{
span: 1,
label: "样品通用名称",
value: "",
data: "asd",
},
{
span: 1,
label: "生产日期",
value: "",
data: "idsd",
},
{
span: 1,
label: "样品批号",
value: "",
data: "",
},
{
span: 1,
label: "药品来源",
value: "",
data: "",
},
{
span: 1,
label: "有效期限",
value: "",
data: "",
},
{
span: 1,
label: "制剂类型",
value: "",
data: "",
},
{
span: 1,
label: "制剂规格 ",
value: "",
data: "",
},
{
span: 1,
label: "药品细类",
value: "",
data: "",
},
{
span: 1,
label: "药品大类 ",
value: "",
data: "",
},
{
span: 1,
label: "样品贮存相对温度",
value: "",
data: "",
},
{
span: 1,
label: "药品贮存温度",
value: "",
data: "",
},
{
span: 1,
label: "是否基药",
value: "",
data: "",
},
{
span: 2,
label: "是否国家药品集中招标采购中标品种",
value: "",
data: "",
},
{
span: 1,
label: "进口分包装企业",
value: "",
data: "",
},
{
span: 1,
label: "进口分包装批号",
value: "",
data: "",
},
],
//
list4: [
{
span: 2,
label: "选择涉及主体",
value: "",
data: "asd",
},
{
span: 1,
label: "委托单位企业名称1",
value: "",
data: "asd",
},
{
span: 1,
label: "委托单位企业地址1",
value: "",
data: "asd",
},
{
span: 1,
label: "委托单位企业名称1",
value: "",
data: "asd",
},
{
span: 1,
label: "委托单位企业地址1",
value: "",
data: "asd",
},
],
//
list5: [
{
span: 2,
label: "抽样单位名称",
value: "",
data: "asd",
},
{
span: 1,
label: "地区(市、州、盟)",
value: "",
data: "asd",
},
{
span: 1,
label: "县(市、区)",
value: "",
data: "asd",
},
{
span: 2,
label: "详细地址",
value: "",
data: "asd",
},
{
span: 1,
label: "电话",
value: "",
data: "asd",
},
{
span: 1,
label: "联系人",
value: "",
data: "asd",
},
{
span: 1,
label: "备注(需要其他说明的情况)",
value: "",
data: "asd",
},
],
};
},
components: {
descriptions,
headerTitle,
},
methods: {
open() {
this.dialogVisible = true;
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__header {
background: #f8f9fa;
}
.headerText {
color: #333333;
}
.header--title {
display: flex;
justify-content: space-between;
align-items: center;
.title--left {
display: flex;
align-items: center;
.line {
width: 4px;
height: 16px;
background: #1e80eb;
margin-right: 8px;
}
.title {
font-size: 18px;
font-weight: bold;
color: #1e80eb;
}
}
}
::v-deep .el-descriptions-row > th {
width: 20%;
background: #f5f7fa;
color: #292f38;
font-weight: 500;
}
::v-deep .el-descriptions-row > td {
width: 30%;
}
.lastBox {
width: 100%;
margin-top:15px;
border: 1px dashed #dee2ee;
button {
background: #1e80eb;
font-size:14px;
padding:4px 14px;
color: #fff;
border: none;
border-radius: 0px 0px 15px 0px;
}
}
.margin-top{
margin: 20px;
}
::v-deep .lastBox .el-descriptions-row > td {
width: 80%;
}
::v-deep .el-dialog:not(.is-fullscreen) {
margin-bottom: 1vh !important;
}
.fileBox {
margin-top: 8px;
display: flex;
color: #333;
cursor: pointer;
& > span {
font-size: 14px;
}
.file-icon {
color: #02d1a6;
margin-left: 40px;
}
}
</style>

@ -0,0 +1,498 @@
<template>
<div>
<!-- <el-dialog
title="提示"
:visible.sync="dialogVisible"
width="75%"
:close-on-click-modal="true"
:destroy-on-close="true"
:append-to-body="true"
>
<div slot="title" class="headerText">详情</div> -->
<!-- 医疗器械品种信息详情 -->
<div>
<headerTitle header="基本信息"></headerTitle>
<descriptions :descriptionsList="list1"></descriptions>
<headerTitle header="抽样情况"></headerTitle>
<descriptions :descriptionsList="list2"></descriptions>
<headerTitle header="被抽样企业和单位情况"></headerTitle>
<descriptions :descriptionsList="list3"></descriptions>
<headerTitle header="其他信息"></headerTitle>
<div class="radioBox">
<el-descriptions class="margin-top" :column="2" border>
<el-descriptions-item :span="2">
<template slot="label"> 列入省抽计划原因</template>
<el-radio-group v-model="radio">
<el-radio :label="0">本行政区域内注册或者备案的产品</el-radio>
<el-radio :label="1"
>产品风险较高但未列入国抽与高抽补充品种</el-radio
>
<el-radio :label="2">列入上一年省抽计划但实际未抽到的</el-radio>
<el-radio :label="1"
>列入上一年国抽计划但未实际未抽到的</el-radio
>
<el-radio :label="2">既往国家抽查检验不符合规定的</el-radio>
<el-radio :label="1">既往本省省级抽查检验不符合规定的</el-radio>
<el-radio :label="2"
>日常监管不良事件检测等发现可能存在质量问题的</el-radio
>
<el-radio :label="2"
>国家或省级抽查检验中确认非标示生产企业生产的</el-radio
>
<el-radio :label="2">在用医疗器械检验</el-radio>
<el-radio :label="2"
>其他监管需要的另请在备注栏里说明原因</el-radio
>
<el-input
v-model="input"
size="mini"
placeholder="请输入内容"
></el-input>
</el-radio-group>
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label"> 已传的检验报告</template>
<div class="fileBox">
<span>
<i class="el-icon-s-marketing"></i>
</span>
<div>A项目检验报告.doc</div>
<div class="file-icon">
<i class="el-icon-download"></i>
下载
</div>
</div>
<div class="fileBox">
<span>
<i class="el-icon-s-marketing"></i>
</span>
<div>A项目检验报告.doc</div>
<div class="file-icon">
<i class="el-icon-download"></i>
下载
</div>
</div>
</el-descriptions-item>
</el-descriptions>
</div>
<headerTitle header="检验信息"></headerTitle>
<descriptions :descriptionsList="list4"></descriptions>
<headerTitle header="检验项目"></headerTitle>
<div class="lastBox">
<el-table
v-loading="loading"
:data="tableList"
border
:stripe="false"
>
<el-table-column type="index" label="序号" width="55" />
<el-table-column label="检验项目" prop="name" />
<el-table-column label="关键风险指标" prop="type">
</el-table-column>
<el-table-column label="标准条款" prop="num" />
<el-table-column label="条款" prop="enterpriseName" />
<el-table-column label="条款路径" prop="enterpriseName" />
<el-table-column label="判定原则" prop="enterpriseName" />
<el-table-column label="备注" prop="enterpriseName" />
<el-table-column label="检验结果" prop="enterpriseName" />
<el-table-column label="检验结论" prop="enterpriseName" />
<el-table-column label="不合格项目细化名称" prop="enterpriseName" />
<el-table-column label="不合格项目说明" prop="enterpriseName" />
<el-table-column label="不合格项目危害" prop="enterpriseName" />
</el-table>
<div class="isYes">
<header>综合判定</header>
<div class="is-items">
<section>
本品按辽宁省药品监督管理局关于协助做好我省疫情放防控类医疗器械抽检工作的函辽药监械函2022170及鲁械标准2022141343检验结果符合规定
</section>
<div class="lastAside">合格</div>
</div>
</div>
</div>
</div>
<!-- </el-dialog> -->
</div>
</template>
<script>
import headerTitle from "@/views/firmContent/components/headerTitle";
import descriptions from "@/views/components/descriptions";
export default {
data() {
return {
//
list1: [
{
span: 1,
label: "计划名称",
value: "",
data: "asd",
},
{
span: 1,
label: "计划类型",
value: "",
data: "idsd",
},
{
span: 1,
label: "品种名称",
value: "",
data: "",
},
{
span: 1,
label: "抽样省局",
value: "",
data: "",
},
{
span: 1,
label: "抽样编号",
value: "",
data: "",
},
{
span: 1,
label: "抽样日期",
value: "",
data: "",
},
],
//
list2: [
{
span: 1,
label: "指示产品名称",
value: "",
data: "",
},
{
span: 1,
label: "产品注册标准(产品技术要求)",
value: "",
data: "",
},
{
span: 1,
label: "产品注册证(备案号)",
value: "",
data: "",
},
{
span: 1,
label: "生产单位省份",
value: "",
data: "",
},
{
span: 1,
label: "标示生产单位",
value: "",
data: "",
},
{
span: 1,
label: "地址",
value: "",
data: "",
},
{
span: 1,
label: "电话",
value: "",
data: "",
},
{
span: 1,
label: "传真",
value: "",
data: "",
},
{
span: 1,
label: "规格/型号",
value: "",
data: "",
},
{
span: 1,
label: "生产日期/批号/出厂编号",
value: "",
data: "",
},
{
span: 1,
label: "生产或购进数量",
value: "",
data: "",
},
{
span: 1,
label: "已销售或使用数量",
value: "",
data: "",
},
{
span: 1,
label: "库存数量",
value: "",
data: "",
},
{
span: 1,
label: "抽样数量",
value: "",
data: "",
},
{
span: 1,
label: "有效期截至日期",
value: "",
data: "",
},
{
span: 1,
label: "抽样地点",
value: "",
data: "",
},
{
span: 1,
label: "商标",
value: "",
data: "",
},
],
//
list3: [
{
span: 1,
label: "抽样环节",
value: "",
data: "",
},
{
span: 1,
label: "许可证(备案号)",
value: "",
data: "",
},
{
span: 1,
label: "企业和单位名称",
value: "",
data: "",
},
{
span: 1,
label: "地址",
value: "",
data: "",
},
{
span: 1,
label: "法定代表人或负责人",
value: "",
data: "",
},
{
span: 1,
label: "邮政编码",
value: "",
data: "",
},
{
span: 1,
label: "电话",
value: "",
data: "",
},
{
span: 1,
label: "传真",
value: "",
data: "",
},
],
//
list4: [
{
span: 1,
label: "检验机构",
value: "",
data: "",
},
{
span: 1,
label: "检验依据",
value: "",
data: "",
},
{
span: 2,
label: "检验结果",
value: "",
data: "",
},
{
span: 2,
label: "不合格项目",
value: "",
data: "",
},
{
span: 1,
label: "备注",
value: "",
data: "",
},
],
dialogVisible: false,
loading: false,
radio: 0,
input: "",
tableList: [
{
name: "辽宁护肤霜",
type: "化妆品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "药品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "医疗器械",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "化妆品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "医疗器械",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
{
name: "辽宁护肤霜",
type: "化妆品",
num: "1231231231231",
enterpriseName: "xxxx有限公司",
},
],
};
},
components: {
descriptions,
headerTitle
},
methods: {
open() {
this.dialogVisible = true;
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__header {
background: #f8f9fa;
}
.margin-top {
margin: 15px 0;
}
::v-deep .el-descriptions-row > th {
width: 18%;
background: #f5f7fa;
color: #292f38;
font-weight: 500;
}
::v-deep .el-descriptions-row > td {
width: 32%;
}
.lastBox {
margin-top: 15px;
}
::v-deep .radioBox .el-descriptions-row > td {
width: 82%;
}
::v-deep .lastBox .el-descriptions-row > th {
width: 10% !important;
}
::v-deep .lastBox .el-descriptions-row > td {
width: 82%;
padding: 0;
}
::v-deep .el-input {
width: 50% !important;
margin-left: 25px;
}
::v-deep .el-dialog:not(.is-fullscreen) {
margin-bottom: 1vh !important;
}
.fileBox {
margin: 8px 0;
display: flex;
color: #333;
cursor: pointer;
& > span {
font-size: 14px;
}
.file-icon {
color: #02d1a6;
margin-left: 40px;
}
}
.isYes {
margin-top: 10px;
display: flex;
border: 1px solid #e6ebf5;
height: 50px;
header {
height: 100%;
width: 12%;
padding-left: 8px;
background: #f5f7fa;
display: flex;
color: #292f38;
align-items: center;
}
.is-items {
height: 100%;
flex: 1;
display: flex;
justify-content: space-between;
section {
width: 90%;
display: flex;
padding-left:10px;
align-items: center;
}
.lastAside {
width: 5%;
height: 100%;
background: #22c98d;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
}
}
}
</style>
<style lang="scss">
.el-radio {
margin-top: 10px;
}
</style>

@ -0,0 +1,534 @@
<template>
<div>
<!-- <el-dialog
title="提示"
:visible.sync="dialogVisible"
width="75%"
:close-on-click-modal="true"
:destroy-on-close="true"
:append-to-body="true"
>
<div slot="title" class="headerText">详情</div> -->
<div>
<headerTitle header="基本信息"></headerTitle>
<descriptions :descriptionsList="list1"></descriptions>
<headerTitle header="被抽样单位信息"></headerTitle>
<descriptions :descriptionsList="list2"></descriptions>
<headerTitle header="样品基本信息"></headerTitle>
<descriptions :descriptionsList="list3"></descriptions>
<headerTitle header="标示注册人/备案人/受托生产企业等信息"></headerTitle>
<descriptions :descriptionsList="list4"></descriptions>
<headerTitle header="抽样单位信息"></headerTitle>
<descriptions :descriptionsList="list5"></descriptions>
<headerTitle header="检验信息"></headerTitle>
<div class="lastBox">
<el-descriptions class="margin-top" :column="2" border>
<el-descriptions-item :span="2">
<template slot="label"> 检验机构名称</template>
xxxxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label"> 是否合格 </template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label"> 不合格项目类型 </template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label"> 不合格项目详情 </template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">检验结果 </template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">结果单位 </template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">判定依据 </template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">检验依据 </template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">限值规定 </template>
xxxxxxxxxxxxx
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">检验报告 </template>
<div class="fileBox">
<span>
<i class="el-icon-s-marketing"></i>
</span>
<div>A项目检验报告.doc</div>
<div class="file-icon">
<i class="el-icon-download"></i>
下载
</div>
</div>
<div class="fileBox">
<span>
<i class="el-icon-s-marketing"></i>
</span>
<div>A项目检验报告.doc</div>
<div class="file-icon">
<i class="el-icon-download"></i>
下载
</div>
</div>
<div class="fileBox">
<span>
<i class="el-icon-s-marketing"></i>
</span>
<div>A项目检验报告.doc</div>
<div class="file-icon">
<i class="el-icon-download"></i>
下载
</div>
</div>
</el-descriptions-item>
<el-descriptions-item :span="2">
<template slot="label">备注 </template>
xxxxxxxxxxxxx
</el-descriptions-item>
</el-descriptions>
</div>
</div>
<!-- </el-dialog> -->
</div>
</template>
<script>
import headerTitle from "@/views/firmContent/components/headerTitle";
import descriptions from "@/views/components/descriptions.vue";
export default {
data() {
return {
dialogVisible: false,
//
list1: [
{
span: 1,
label: "计划名称",
value: "",
data: "",
},
{
span: 1,
label: "抽样单号编号",
value: "",
data: "",
},
{
span: 1,
label: "抽样时间",
value: "",
data: "",
},
{
span: 1,
label: "任务来源",
value: "",
data: "",
},
{
span: 2,
label: "抽样地点性质",
value: "",
data: "",
},
],
//
list2: [
{
span: 1,
label: "被抽样单位名称",
value: "",
data: "",
},
{
span: 1,
label: "统一社会信用代码 ",
value: "",
data: "",
},
{
span: 1,
label: "地区(市、州、盟)",
value: "",
data: "",
},
{
span: 1,
label: "县 (市、区)",
value: "",
data: "",
},
{
span: 2,
label: "详细地址",
value: "",
data: "",
},
{
span: 1,
label: "联系人",
value: "",
data: "",
},
{
span: 1,
label: "电话",
value: "",
data: "",
},
],
//
list3: [
{
span: 1,
label: "样品通用名称",
value: "",
data: "",
},
{
span: 1,
label: "样品类别",
value: "",
data: "",
},
{
span: 1,
label: "样品批号",
value: "",
data: "",
},
{
span: 1,
label: "生产日期",
value: "",
data: "",
},
{
span: 1,
label: "有效期限",
value: "",
data: "",
},
{
span: 1,
label: "抽样数量",
value: "",
data: "",
},
{
span: 1,
label: "包装规格",
value: "",
data: "",
},
{
span: 1,
label: "保质期 ",
value: "",
data: "",
},
{
span: 1,
label: "注册证编号/备案编号",
value: "",
data: "",
},
{
span: 1,
label: "进口分包装企业",
value: "",
data: "",
},
{
span: 1,
label: "进口分包装批号",
value: "",
data: "",
},
{
span: 1,
label: "现场结算",
value: "",
data: "",
},
{
span: 1,
label: "单价",
value: "",
data: "",
},
{
span: 1,
label: "总价",
value: "",
data: "",
},
{
span: 1,
label: "实际总价",
value: "",
data: "",
},
{
span: 1,
label: "保存条件",
value: "",
data: "",
},
{
span: 1,
label: "是否进口",
value: "",
data: "",
},
{
span: 1,
label: "原产地",
value: "",
data: "",
},
{
span: 1,
label: "生产/进货数量",
value: "",
data: "",
},
],
////
list4: [
{
span: 1,
label: "注册人/备案人所属省份",
value: "",
data: "",
},
{
span: 1,
label: "注册人/备案人名称",
value: "",
data: "",
},
{
span: 1,
label: "注册/备案人地址",
value: "",
data: "",
},
{
span: 1,
label: "境内责任人所属省份",
value: "",
data: "",
},
{
span: 1,
label: "境内责任人名称",
value: "",
data: "",
},
{
span: 1,
label: "境内责任人地址",
value: "",
data: "",
},
{
span: 1,
label: "受托生产企业所属省份",
value: "",
data: "",
},
{
span: 1,
label: "受托生产企业名称",
value: "",
data: "",
},
{
span: 1,
label: "受托生产企业地址",
value: "",
data: "",
},
{
span: 1,
label: "委托单位所属省份",
value: "",
data: "",
},
{
span: 1,
label: "委托单位名称",
value: "",
data: "",
},
{
span: 1,
label: "委托单位地址",
value: "",
data: "",
},
{
span: 1,
label: "生产企业/代理商所属省份",
value: "",
data: "",
},
{
span: 1,
label: "生产企业/代理商名称",
value: "",
data: "",
},
{
span: 1,
label: "生产企业/代理商地址",
value: "",
data: "",
},
{
span: 1,
label: "是否进口",
value: "",
data: "",
},
{
span: 1,
label: "样品进口地区",
value: "",
data: "",
},
],
//
list5: [
{
span: 2,
label: "抽样单位名称",
value: "",
data: "",
},
{
span: 2,
label: "地区(市、州、盟)",
value: "",
data: "",
},
{
span: 1,
label: "抽样人",
value: "",
data: "",
},
{
span: 1,
label: "电话",
value: "",
data: "",
},
{
span: 1,
label: "抽样人",
value: "",
data: "",
},
{
span: 1,
label: "电话",
value: "",
data: "",
},
{
span: 1,
label: "备注",
value: "",
data: "",
},
],
};
},
components: {
descriptions,
headerTitle,
},
methods: {
open() {
this.dialogVisible = true;
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__header {
background: #f8f9fa;
}
.headerText {
color: #333333;
}
.header--title {
display: flex;
justify-content: space-between;
align-items: center;
.title--left {
display: flex;
align-items: center;
.line {
width: 4px;
height: 16px;
background: #1e80eb;
margin-right: 8px;
}
.title {
font-size: 18px;
font-weight: bold;
color: #1e80eb;
}
}
}
.margin-top {
margin: 15px 0;
}
::v-deep .el-descriptions-row > th {
width: 18%;
background: #f5f7fa;
color: #292f38;
font-weight: 500;
}
::v-deep .el-descriptions-row > td {
width: 32%;
}
::v-deep .lastBox .el-descriptions-row > td {
width: 82%;
}
::v-deep .el-dialog:not(.is-fullscreen) {
margin-bottom: 1vh !important;
}
.fileBox {
margin: 8px 0;
display: flex;
color: #333;
cursor: pointer;
& > span {
font-size: 14px;
}
.file-icon {
color: #02d1a6;
margin-left: 40px;
}
}
</style>
Loading…
Cancel
Save