添加正序倒序,添加查询字段

lijinlong
李劲龙 1 year ago
parent 0866daf3c7
commit 7d9de7cddd

@ -48,7 +48,8 @@ export default {
},
};
</script>
<style >
<style>
#app .theme-picker {
display: none;
}
@ -109,4 +110,15 @@ body {
.el-col-8 {
width: 32.5%;
}
.el-input__suffix .el-icon-circle-close{
color: #555555 !important;
}
.el-input__suffix .el-icon-circle-close:hover {
font-size: 18px !important;
color: #000 !important;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

@ -1,6 +1,6 @@
@font-face {
font-family: "DIN-Medium";
/* src: url("http://www.jichuanglanhai.com/demo/font-file/DIN-Medium.otf"); */
src: url("./font/DIN-Medium.otf");
}
@font-face {
font-family: "DIN-Black";

@ -86,7 +86,7 @@ export const constantRoutes = [
name: "yaopinstscpz",
icon: require("@/assets/images/tree4.svg"),
component: () => import("@/views/productsMsg/drugArchives/yaopinstscpz.vue"),
meta: { title: "外省委托品种", keepAlive: true },
meta: { title: "本省受托品种", keepAlive: true ,topTitle:"本省受托生产药品品种"},
},
{
path: "/drugArchives/yaopinyuanliao",
@ -170,15 +170,37 @@ export const constantRoutes = [
icon: require("@/assets/images/tree4.svg"),
component: () => import("@/views/productsMsg/components/cosmeticsArchives.vue"),
meta: { title: "化妆品档案", keepAlive: true },
redirect: '/cosmeticsArchives/bapz',
redirect: '/cosmeticsArchives/GchzpPt',
children: [
{
path: "/cosmeticsArchives/bapz",
name: "bapz",
path: "/cosmeticsArchives/GchzpPt",
name: "GchzpPt",
icon: require("@/assets/images/tree4.svg"),
component: () => import("@/views/productsMsg/components/bapz.vue"),
meta: { title: "注册备案品种", keepAlive: true },
}, {
component: () => import("@/views/productsMsg/components/hzpSon/GchzpPt.vue"),
meta: { title: "国产普通化妆品", keepAlive: true },
},
{
path: "/cosmeticsArchives/GchzpTs",
name: "GchzpTs",
icon: require("@/assets/images/tree4.svg"),
component: () => import("@/views/productsMsg/components/hzpSon/GchzpTs.vue"),
meta: { title: "国产特殊化妆品", keepAlive: true },
},
{
path: "/cosmeticsArchives/JkhzpPt",
name: "JkhzpPt",
icon: require("@/assets/images/tree4.svg"),
component: () => import("@/views/productsMsg/components/hzpSon/JkhzpPt.vue"),
meta: { title: "进口普通化妆品", keepAlive: true },
},
{
path: "/cosmeticsArchives/JkhzpTs",
name: "JkhzpTs",
icon: require("@/assets/images/tree4.svg"),
component: () => import("@/views/productsMsg/components/hzpSon/JkhzpTs.vue"),
meta: { title: "进口特殊化妆品", keepAlive: true },
},
{
path: "/cosmeticsArchives/stscpz",
name: "stscpz",
icon: require("@/assets/images/tree4.svg"),

@ -0,0 +1,351 @@
<template>
<div>
<div>
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row>
<div class="title-box">产品抽检信息查询</div>
<el-col :span="8">
<el-form-item label="检验项目">
<el-input v-model="form1.cjxm" placeholder="请输入检验项目" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验报告书编号">
<el-input v-model="form1.jyslbh" placeholder="请输入检验报告书编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样编号">
<el-input v-model="form1.cybh" placeholder="请输入抽样编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="抽样级别">
<!-- <el-input v-model="form1.cyjb" placeholder="请输入抽样级别" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.cyjb" placeholder="请选择抽样级别" clearable @clear="isclear">
<el-option v-for="item in teshu" :key="item.value" :label="item.value" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样日期" placeholder="请输入抽样日期">
<!-- <el-input v-model="form1.cyrq" placeholder="请输入抽样日期" clearable @clear="isclear"></el-input> -->
<el-date-picker v-model="form1.cyrq" type="daterange" range-separator=""
start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" @clear="isclear">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最终检验结论" placeholder="请输入最终检验结论">
<!-- <el-input v-model="form1.zzjyjl" placeholder="请输入最终检验结论" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.zzjyjl" placeholder="请选择最终检验结论" clearable @clear="isclear"
v-if="mytype == '药品'">
<el-option v-for="item in teshuTwo" :key="item.value" :label="item.value"
:value="item.value">
</el-option>
</el-select>
<el-select v-model="form1.syrq" placeholder="请选择最终检验结论" clearable @clear="isclear"
v-if="mytype == '医疗器械'">
<el-option v-for="item in teshuTwo" :key="item.value" :label="item.value"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<div class="title-box">不良反应信息查询</div>
<el-col :span="8">
<el-form-item label="发生年份">
<el-input v-model="form1.fsnf" placeholder="请输入发生年份" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="logformitem" v-if="mytype != '化妆品'">
<el-form-item label="不良反应报告编号">
<el-input v-model="form1.blfybgbh" placeholder="请输入不良反应报告编号" clearable
@clear="isclear"></el-input>
</el-form-item>
</div>
<el-form-item label="报告编号" v-if="mytype == '化妆品'">
<el-input v-model="form1.blfybgbh" placeholder="请输入报告编号" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报告类型">
<!-- <el-input v-model="form1.blfylx" placeholder="请输入不良反应类型" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.bglx" placeholder="请选择报告类型" clearable @clear="isclear" v-if="mytype == '药品'|| mytype == '化妆品'">
<el-option v-for="item in options1" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-select v-model="form1.lcsymc" placeholder="请选择报告类型" clearable @clear="isclear"
v-if="mytype == '医疗器械'">
<el-option v-for="item in options1" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="mytype != '化妆品'">
<el-col :span="8">
<el-form-item label="不良反应名称" v-if="mytype == '药品'">
<el-input v-model="form1.blfymc" placeholder="请输入不良反应名称" clearable @clear="isclear"></el-input>
</el-form-item>
<el-form-item label="不良反应名称" v-if="mytype == '医疗器械'">
<el-input v-model="form1.lcsybah" placeholder="请输入不良反应名称" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="footBox ">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-remove-outline" @click="collapsechange(1)"></el-button>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'AdvancedSearch',
components: {},
data() {
return {
options1: [
{
value: 0,
label: "一般",
},
{
value: 1,
label: "严重",
},
],
teshu: [
{
value: "国抽",
label: "国抽",
}, {
value: "省抽",
label: "省抽",
},
],
teshuTwo: [
{
value: "合格",
label: "合格",
}, {
value: "不合格",
label: "不合格",
},
],
}
},
props: {
form1: {
type: Object,
default: null
},
mytype: {
type: String,
default: "药品"
},
},
created() { },
mounted() {
},
methods: {
//
reset() {
this.$emit("reset")
},
//
searchList() {
this.form1.cyrq = this.form1.cyrq.toString()
this.$emit("searchList")
this.form1.cyrq = this.form1.cyrq.split(",")
},
//
collapsechange() {
this.$emit("collapsechange", 1)
},
//
isclear() {
this.form1.cyrq = this.form1.cyrq.toString()
this.$emit("isclear")
this.form1.cyrq = this.form1.cyrq.split(",")
}
},
computed: {}
}
</script>
<style lang="scss" scoped>
::v-deep .el-dialog:not(.is-fullscreen) {
margin-top: 30vh !important;
}
::v-deep .el-dialog__body {
padding: 15px;
}
::v-deep .el-select {
width: 100% !important;
}
.container {
height: 100%;
// overflow: auto;
background: #f2f2f2;
.headerText {
width: 100%;
padding: 10px 20px;
border-bottom: 1px solid #f2f3f5;
color: #323233;
font-size: 20px;
font-weight: bold;
.searchP {
position: relative;
cursor: pointer;
&::before {
content: "";
width: 78px;
height: 3px;
background: #1349c5;
position: absolute;
bottom: -10px;
}
}
}
.tabs {
width: 100%;
background: #fff;
margin-bottom: 10px;
}
}
//===================
::v-deep .el-button--medium {
padding: 8px;
}
.footBox {
width: 97.5%;
text-align: center;
padding-bottom: 10px;
}
.tabsBottom {
// height: 70%;
.foot-main {
height: 100%;
// min-height: 600px;
width: 100%;
background: white;
}
}
.exportBtn {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 20px;
}
.table-box {
overflow-y: auto;
padding: 0 20px;
.table-item {}
}
.pagination {
display: flex;
justify-content: space-between;
padding: 15px 20px;
}
::v-deep .el-table {
overflow: auto;
}
::v-deep .logformitem {
.el-form-item__label {
line-height: 20px;
}
}
.title-box {
position: relative;
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin: 10px 0;
color: #1349c5;
}
.mybuttom {
margin: 0 10px;
display: inline-block;
padding: 5px 20px;
background-color: rgba(30, 128, 235, 0.1);
border-radius: 8px;
border: 1px solid #1e80eb;
font-size: 14px;
color: #1e80eb;
font-family: Source Han Sans CN;
cursor: pointer;
&:hover {
background-color: #1e80eb;
color: #ffffff;
border: 1px solid #1e80eb;
}
}
.mybuttomshow {
background-color: #1e80eb;
color: #ffffff;
border: 1px solid #1e80eb;
}
::v-deep .el-date-editor--daterange.el-input,
.el-date-editor--daterange.el-input__inner,
.el-date-editor--timerange.el-input,
.el-date-editor--timerange.el-input__inner {
width: 100%;
}
::v-deep.el-date-editor .el-range__close-icon {
color: #555555 ;
&:hover {
font-size: 18px ;
color: #000;
}
}
</style>

@ -1,20 +1,31 @@
<template>
<div class="box" id="box">
<div class="btna">
<!-- -->
<el-button type="primary" :icon="collapsechange ? 'el-icon-remove-outline' : 'el-icon-circle-plus-outline '"
@click="collapsechange = !collapsechange">
{{ collapsechange ? '收起' : ' 展开' }}
</el-button>
<div>
<div class="box" id="box">
<div class="btna">
<!-- -->
<el-button type="primary"
:icon="collapsechange ? 'el-icon-remove-outline' : 'el-icon-circle-plus-outline '"
@click="collapsechange = !collapsechange">
{{ collapsechange ? '收起' : ' 展开' }}
</el-button>
</div>
<div class="box1" v-show="collapsechange">
<div class="titlestyle">生产地市统计</div>
<div id="leafletMap" class="leafletMap"></div>
</div>
<div class="box2" id="box2" v-show="collapsechange">
<div class="titlestyle">{{ echartstitle }}类型统计</div>
<div class="echarts" id="echarts"></div>
</div>
</div>
<div class="box1" v-show="collapsechange">
<div class="titlestyle">生产地市统计</div>
<div id="leafletMap" class="leafletMap"></div>
</div>
<div class="box2" id="box2" v-show="collapsechange">
<div class="titlestyle">{{ echartstitle }}类型统计</div>
<div class="echarts" id="echarts"></div>
<div class="box" id="box">
<div class="box2" id="box2" v-show="collapsechange && echartstitle == '药品'">
<div class="echarts2" id="echarts2"></div>
</div>
<div class="box2" id="box2" v-show="collapsechange && echartstitle == '药品'">
<div class="echarts3" id="echarts3"></div>
</div>
</div>
</div>
</template>
@ -76,6 +87,8 @@ export default {
},
mylayer: null,
myChart: null,
myChart2: null,
myChart3: null,
mygeojson: null,
mystort: null,
mystortTow: null,
@ -93,8 +106,6 @@ export default {
type: String,
default: '档案'
},
},
created() { },
@ -104,6 +115,8 @@ export default {
this.mystortTow = this.$store.getters.usersort
this.$nextTick(() => {
this.myChart = echarts.init(document.getElementById("echarts"));
this.myChart2 = echarts.init(document.getElementById("echarts2"));
this.myChart3 = echarts.init(document.getElementById("echarts3"));
this.isEcharts()
this.initMap()
});
@ -283,6 +296,8 @@ export default {
};
this.myChart.setOption(option, true);
this.myChart2.setOption(option, true);
this.myChart3.setOption(option, true);
},
@ -348,6 +363,8 @@ export default {
let that = this;
erd.listenTo(document.getElementById("echarts"), function (element) {
that.myChart.resize();
that.myChart2.resize();
that.myChart3.resize();
that.globalMap.fitBounds(that.mygeojson.getBounds());
})
@ -513,6 +530,14 @@ export default {
width: 45vw;
height: 60vh;
}
.echarts2 {
width: 45vw;
height: 60vh;
}
.echarts3 {
width: 45vw;
height: 60vh;
}
.box1 {
width: 45vw;

@ -97,6 +97,10 @@ export default {
type: String,
default: ''
},
Leixtypes: {
type: String,
default: '1'
},
},
created() { },
@ -116,7 +120,10 @@ export default {
async isEcharts() {
this.chartDatatow = []
this.chartData = []
if (this.echartstitle == "医疗器械" && this.mytype != "healtson") {
if (this.mytype == "healtson") {
return
}
if (this.echartstitle == "医疗器械") {
let msg1 = await this.$api.apparatus.typecount({ area: this.mystortTow });
if (msg1.code == 200) {
msg1.data.forEach(item => {
@ -202,6 +209,7 @@ export default {
this.mycharts()
},
async isLefleat(data = '1') {
console.log(data);
this.cityData = {
沈阳市: 0,
大连市: 0,
@ -228,13 +236,19 @@ export default {
jiekou("deasCorpTcmpFilingChangeHis")
} else if (this.echartstitle == "化妆品/注册备案品种") {
let msg2 = await this.$api.apparatus["gccpareacount"]({ area: data })
if (msg2.code == 200) {
msg2.data.forEach(item => {
this.cityData[item.area] = item.count
if (item.area == "自由贸易试验区沈阳片区") {
this.chartDatatow.unshift(item.count)
this.chartData.unshift(item.area)
}else{
this.chartDatatow.push(item.count)
this.chartData.push(item.area)
}
})
this.mycharts()
}
this.initPoitCenter(this.cityData);
@ -353,7 +367,7 @@ export default {
this.globalMap.on('click', () => {
this.globalMap.fitBounds(this.mygeojson.getBounds());
})
this.isLefleat('1')
this.isLefleat(this.Leixtypes)
},

@ -26,7 +26,7 @@
</template>
<el-menu-item-group>
<el-menu-item :index="itemb.path" v-for="(itemb, indexb) in item.children">{{
itemb.meta.title }}</el-menu-item>
itemb.meta.title }}</el-menu-item>
</el-menu-item-group>
</el-submenu>
<el-menu-item :index="item.path" v-else>
@ -40,13 +40,22 @@
<div class="view-box">
<tags-view ref="tagsView" />
<div class="child-views">
<div class="view_box_title" v-show="$router.currentRoute.meta.title != '详情'">{{
$router.currentRoute.meta.topTitle ||
$router.currentRoute.meta.title }}</div>
<keep-alive>
<router-view></router-view>
</keep-alive>
</div>
</div>
</div>
<el-backtop target=".view-box" :bottom="50" :visibility-height="450">
<div class="view-box-top">
回到</br>顶部
</div>
</el-backtop>
</div>
</template>
@ -123,12 +132,14 @@ export default {
}
.tree-menu {
overflow: hidden;
// overflow: hidden;
overflow-y: auto;
background: #465970;
width: 180px;
box-sizing: border-box;
padding: 14px 10px;
.mydiv {
width: 200px;
height: 40px;
@ -212,8 +223,8 @@ export default {
}
.is-active {
background: #1e80eb ;
border-radius: 5px ;
background: #1e80eb;
border-radius: 5px;
}
.el-menu-item {
@ -242,4 +253,65 @@ export default {
}
}
}
.tree-menu::-webkit-scrollbar {
width: 0;
height: 0;
}
.view_box_title {
width: 100%;
height: 38px;
line-height: 38px;
text-align: center;
font-weight: 700;
font-size: 19px;
font-family: SourceHanSansCN;
border-radius: 5px;
color: #00356f;
margin: 0 0 10px 0;
background: url("../assets/images/sub-title.png");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
.view-box-top {
padding: 5px 0;
height: 100%;
width: 100%;
font-weight: 500;
font-size: 16px;
font-family: SourceHanSansCN;
color: #fff;
background: -webkit-linear-gradient(top, #1f80ea 0%, #005dc2 100%);
background: -webkit-gradient(linear, left top, left bottom, from(#1f80ea), to(#005dc2));
background: linear-gradient(180deg, #1f80ea 0%, #005dc2 100%);
-webkit-box-shadow: 0px 3px 12px rgba(0, 0, 0, .26);
border-radius: 5px;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
::v-deep .el-backtop {
height: 50px;
width: 50px;
}
</style>

@ -76,7 +76,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['monitor:job:export']"
>导出</el-button>
>导出excel</el-button>
</el-col>
<el-col :span="1.5">
<el-button

@ -87,7 +87,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['monitor:job:export']"
>导出</el-button>
>导出excel</el-button>
</el-col>
<el-col :span="1.5">
<el-button

@ -93,7 +93,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['monitor:logininfor:export']"
>导出</el-button>
>导出excel</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>

@ -97,7 +97,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['monitor:operlog:export']"
>导出</el-button>
>导出excel</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>

@ -156,10 +156,16 @@
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
</el-row>
<div v-show="!bthshow">
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear" mytype="医疗器械">
</AdvancedSearch>
<div v-if="false">
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row v-if="false">
<div class="title-box">审评受理信息查询</div>
<el-col :span="8">
@ -333,34 +339,38 @@
v-for="(item, index) in optionsTowBtn" @click="xuanzelist(item)">{{ item.label
}}</div>
</div>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center" />
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" prop="cpmc" min-width="120" align="center">
</el-table-column>
<el-table-column label="产品类型" prop="cplx" min-width="120" align="center"></el-table-column>
<el-table-column label="产品管理类别" prop="cplb" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="zcrszshi" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.zcrszshi }}
</template>
</el-table-column>
<el-table-column label=" 注册证状态/备案凭证状态" prop="ppztDm" min-width="280" align="center">
<template slot-scope="scope">
{{ zczt(scope.row.ppztDm) }}
</template>
</el-table-column>
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center">
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzrq.split(" ")[0] }}
</template>
</el-table-column>
<el-table-column label="有效期至" prop="" min-width="120" align="center">
<el-table-column label="批准有效期至" prop="pzyxq" min-width="160" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzyxq ? scope.row.pzyxq.split(" ")[0] : "" }}
</template>
</el-table-column>
<el-table-column label="注册证编号/备案编号" prop="zczh" min-width="220" align="center">
@ -403,10 +413,15 @@
import { download, dcylqx } from "../../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import MapCars from "@/views/components/MapCarsLog.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
import { mySortChange } from './mySortChange.js';
export default {
components: { MapCars },
components: {
MapCars,
AdvancedSearch
},
mixins: [mySortChange],
data() {
return {
options1: [
@ -439,8 +454,9 @@ export default {
},
],
optionsTowBtn: [
{ value: "", label: '全部' },
{ value: 1, label: '有效' },
{ value: 2, label: '失效' }
{ value: "无效", label: '失效' }
],
optionsTow: [
{ value: 1, label: '有效' },
@ -506,7 +522,7 @@ export default {
loadA: null,
showCK: false,
src: "",
bthshow: true,
bthshow: false,
scoltitle: "展开",
echartstlist: null,
btnArrshow: "全部",
@ -660,6 +676,8 @@ export default {
//
reset(type) {
this.btnArrshow = '全部'
this.$refs.tableRef.clearSort(); //
this.form1 = {
cpmc: "",
zcsqr: "",
@ -736,6 +754,7 @@ export default {
},
activated() {
this.MapCarsshow = true
this.bthshow = false
}
};
</script>
@ -866,7 +885,7 @@ export default {
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}

@ -156,10 +156,16 @@
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
</el-row>
<div v-show="!bthshow">
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear" mytype="医疗器械">
</AdvancedSearch>
<div v-if="false">
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row v-if="false">
<div class="title-box">审评受理信息查询</div>
<el-col :span="8">
@ -333,34 +339,37 @@
v-for="(item, index) in optionsTowBtn" @click="xuanzelist(item)">{{ item.label
}}</div>
</div>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center" />
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" prop="cpmc" min-width="120" align="center">
</el-table-column>
<el-table-column label="产品类型" prop="cplx" min-width="120" align="center"></el-table-column>
<el-table-column label="产品管理类别" prop="cplb" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="zcrszshi" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.zcrszshi }}
</template>
</el-table-column>
<el-table-column label=" 注册证状态/备案凭证状态" prop="ppztDm" min-width="280" align="center">
<template slot-scope="scope">
{{ zczt(scope.row.ppztDm) }}
</template>
</el-table-column>
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center">
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzrq.split(" ")[0] }}
</template>
</el-table-column>
<el-table-column label="有效期至" prop="" min-width="120" align="center">
<el-table-column label="批准有效期至" prop="pzyxq" min-width="160" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzyxq ? scope.row.pzyxq.split(" ")[0] : "" }}
</template>
</el-table-column>
<el-table-column label="注册证编号/备案编号" prop="zczh" min-width="220" align="center">
@ -404,9 +413,15 @@ import { download, dcylqx } from "../../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import MapCars from "@/views/components/MapCarsLog.vue";
export default {
components: { MapCars },
import AdvancedSearch from "@/views/components/AdvancedSearch";
import { mySortChange } from './mySortChange.js';
export default {
components: {
MapCars,
AdvancedSearch
},
mixins: [mySortChange],
data() {
return {
options1: [
@ -439,8 +454,9 @@ export default {
},
],
optionsTowBtn: [
{ value: "", label: '全部' },
{ value: 1, label: '有效' },
{ value: 2, label: '失效' }
{ value: "无效", label: '失效' }
],
optionsTow: [
{ value: 1, label: '有效' },
@ -506,7 +522,7 @@ export default {
loadA: null,
showCK: false,
src: "",
bthshow: true,
bthshow: false,
scoltitle: "展开",
echartstlist: null,
btnArrshow: "全部",
@ -659,6 +675,8 @@ export default {
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.btnArrshow = '全部'
this.form1 = {
cpmc: "",
@ -736,6 +754,7 @@ export default {
},
activated() {
this.MapCarsshow = true
this.bthshow = false
}
};
</script>
@ -866,7 +885,7 @@ export default {
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}

@ -156,10 +156,16 @@
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
</el-row>
<div v-show="!bthshow">
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear" mytype="医疗器械">
</AdvancedSearch>
<div v-if="false">
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row v-if="false">
<div class="title-box">审评受理信息查询</div>
<el-col :span="8">
@ -333,34 +339,38 @@
v-for="(item, index) in optionsTowBtn" @click="xuanzelist(item)">{{ item.label
}}</div>
</div>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center" />
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" prop="cpmc" min-width="120" align="center">
</el-table-column>
<el-table-column label="产品类型" prop="cplx" min-width="120" align="center"></el-table-column>
<el-table-column label="产品管理类别" prop="cplb" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="zcrszshi" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.zcrszshi }}
</template>
</el-table-column>
<el-table-column label=" 注册证状态/备案凭证状态" prop="ppztDm" min-width="280" align="center">
<template slot-scope="scope">
{{ zczt(scope.row.ppztDm) }}
</template>
</el-table-column>
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center">
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzrq.split(" ")[0] }}
</template>
</el-table-column>
<el-table-column label="有效期至" prop="" min-width="120" align="center">
<el-table-column label="批准有效期至" prop="pzyxq" min-width="160" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzyxq ? scope.row.pzyxq.split(" ")[0] : "" }}
</template>
</el-table-column>
<el-table-column label="注册证编号/备案编号" prop="zczh" min-width="220" align="center">
@ -403,10 +413,15 @@
import { download, dcylqx } from "../../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import MapCars from "@/views/components/MapCarsLog.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
import { mySortChange } from './mySortChange.js';
export default {
components: { MapCars },
components: {
MapCars,
AdvancedSearch
},
mixins: [mySortChange],
data() {
return {
options1: [
@ -439,8 +454,9 @@ export default {
},
],
optionsTowBtn: [
{ value: "", label: '全部' },
{ value: 1, label: '有效' },
{ value: 2, label: '失效' }
{ value: "无效", label: '失效' }
],
optionsTow: [
{ value: 1, label: '有效' },
@ -506,7 +522,7 @@ export default {
loadA: null,
showCK: false,
src: "",
bthshow: true,
bthshow: false,
scoltitle: "展开",
echartstlist: null,
btnArrshow: "全部",
@ -659,6 +675,8 @@ export default {
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.btnArrshow = '全部'
this.form1 = {
cpmc: "",
@ -736,6 +754,7 @@ export default {
},
activated() {
this.MapCarsshow = true
this.bthshow = false
}
};
</script>
@ -866,7 +885,7 @@ export default {
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}

@ -156,10 +156,16 @@
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
</el-row>
<div v-show="!bthshow">
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear" mytype="医疗器械">
</AdvancedSearch>
<div v-if="false">
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row v-if="false">
<div class="title-box">审评受理信息查询</div>
<el-col :span="8">
@ -333,34 +339,38 @@
v-for="(item, index) in optionsTowBtn" @click="xuanzelist(item)">{{ item.label
}}</div>
</div>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center" />
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" prop="cpmc" min-width="120" align="center">
</el-table-column>
<el-table-column label="产品类型" prop="cplx" min-width="120" align="center"></el-table-column>
<el-table-column label="产品管理类别" prop="cplb" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="zcrszshi" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.zcrszshi }}
</template>
</el-table-column>
<el-table-column label=" 注册证状态/备案凭证状态" prop="ppztDm" min-width="280" align="center">
<template slot-scope="scope">
{{ zczt(scope.row.ppztDm) }}
</template>
</el-table-column>
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center">
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzrq.split(" ")[0] }}
</template>
</el-table-column>
<el-table-column label="有效期至" prop="" min-width="120" align="center">
<el-table-column label="批准有效期至" prop="pzyxq" min-width="160" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzyxq ? scope.row.pzyxq.split(" ")[0] : "" }}
</template>
</el-table-column>
<el-table-column label="注册证编号/备案编号" prop="zczh" min-width="220" align="center">
@ -403,10 +413,11 @@
import { download, dcylqx } from "../../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import MapCars from "@/views/components/MapCarsLog.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
import { mySortChange } from './mySortChange.js';
export default {
components: { MapCars },
components: { MapCars, AdvancedSearch },
mixins: [mySortChange],
data() {
return {
options1: [
@ -439,8 +450,9 @@ export default {
},
],
optionsTowBtn: [
{ value: "", label: '全部' },
{ value: 1, label: '有效' },
{ value: 2, label: '失效' }
{ value: "无效", label: '失效' }
],
optionsTow: [
{ value: 1, label: '有效' },
@ -506,7 +518,7 @@ export default {
loadA: null,
showCK: false,
src: "",
bthshow: true,
bthshow: false,
scoltitle: "展开",
echartstlist: null,
btnArrshow: "全部",
@ -659,6 +671,8 @@ export default {
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.btnArrshow = '全部'
this.form1 = {
cpmc: "",
@ -736,6 +750,7 @@ export default {
},
activated() {
this.MapCarsshow = true
this.bthshow = false
}
};
</script>
@ -866,7 +881,7 @@ export default {
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}

@ -156,10 +156,16 @@
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
</el-row>
<div v-show="!bthshow">
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear" mytype="医疗器械">
</AdvancedSearch>
<div v-if="false">
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row v-if="false">
<div class="title-box">审评受理信息查询</div>
<el-col :span="8">
@ -333,34 +339,37 @@
v-for="(item, index) in optionsTowBtn" @click="xuanzelist(item)">{{ item.label
}}</div>
</div>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center" />
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" prop="cpmc" min-width="120" align="center">
</el-table-column>
<el-table-column label="产品类型" prop="cplx" min-width="120" align="center"></el-table-column>
<el-table-column label="产品管理类别" prop="cplb" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="zcrszshi" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.zcrszshi }}
</template>
</el-table-column>
<el-table-column label=" 注册证状态/备案凭证状态" prop="ppztDm" min-width="280" align="center">
<template slot-scope="scope">
{{ zczt(scope.row.ppztDm) }}
</template>
</el-table-column>
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center">
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzrq.split(" ")[0] }}
</template>
</el-table-column>
<el-table-column label="有效期至" prop="" min-width="120" align="center">
<el-table-column label="批准有效期至" prop="pzyxq" min-width="160" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzyxq ? scope.row.pzyxq.split(" ")[0] : "" }}
</template>
</el-table-column>
<el-table-column label="注册证编号/备案编号" prop="zczh" min-width="220" align="center">
@ -404,8 +413,15 @@ import { download, dcylqx } from "../../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import MapCars from "@/views/components/MapCarsLog.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
import { mySortChange } from './mySortChange.js';
export default {
components: { MapCars },
components: {
MapCars,
AdvancedSearch
},
mixins: [mySortChange],
data() {
return {
@ -439,8 +455,9 @@ export default {
},
],
optionsTowBtn: [
{ value: "", label: '全部' },
{ value: 1, label: '有效' },
{ value: 2, label: '失效' }
{ value: "无效", label: '失效' }
],
optionsTow: [
{ value: 1, label: '有效' },
@ -506,7 +523,7 @@ export default {
loadA: null,
showCK: false,
src: "",
bthshow: true,
bthshow: false,
scoltitle: "展开",
echartstlist: null,
btnArrshow: "全部",
@ -659,6 +676,8 @@ export default {
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.btnArrshow = '全部'
this.form1 = {
cpmc: "",
@ -691,6 +710,8 @@ export default {
cplx: "体外诊断试剂",//
cplb: "第三类",//
area: this.$store.getters.usersort
/*
*/
};
this.form = {
size: 20,
@ -736,6 +757,7 @@ export default {
},
activated() {
this.MapCarsshow = true
this.bthshow = false
}
};
</script>
@ -866,7 +888,7 @@ export default {
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}

@ -156,10 +156,16 @@
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
</el-row>
<div v-show="!bthshow">
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear" mytype="医疗器械">
</AdvancedSearch>
<div v-if="false">
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row v-if="false">
<div class="title-box">审评受理信息查询</div>
<el-col :span="8">
@ -333,34 +339,36 @@
v-for="(item, index) in optionsTowBtn" @click="xuanzelist(item)">{{ item.label
}}</div>
</div>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center" />
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" prop="cpmc" min-width="120" align="center">
</el-table-column>
<el-table-column label="产品类型" prop="cplx" min-width="120" align="center"></el-table-column>
<el-table-column label="产品管理类别" prop="cplb" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="zcrszshi" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.zcrszshi }}
</template>
</el-table-column>
<el-table-column label=" 注册证状态/备案凭证状态" prop="ppztDm" min-width="280" align="center">
<template slot-scope="scope">
{{ zczt(scope.row.ppztDm) }}
</template>
</el-table-column>
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center">
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzrq.split(" ")[0] }}
</template>
</el-table-column>
<el-table-column label="有效期至" prop="" min-width="120" align="center">
<el-table-column label="批准有效期至" prop="pzyxq" min-width="160" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzyxq ? scope.row.pzyxq.split(" ")[0] : "" }}
</template>
</el-table-column>
<el-table-column label="注册证编号/备案编号" prop="zczh" min-width="220" align="center">
@ -403,9 +411,15 @@
import { download, dcylqx } from "../../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import MapCars from "@/views/components/MapCarsLog.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
import { mySortChange } from './mySortChange.js';
export default {
components: { MapCars },
components: {
MapCars,
AdvancedSearch
},
mixins: [mySortChange],
data() {
return {
@ -439,8 +453,9 @@ export default {
},
],
optionsTowBtn: [
{ value: "", label: '全部' },
{ value: 1, label: '有效' },
{ value: 2, label: '失效' }
{ value: "无效", label: '失效' }
],
optionsTow: [
{ value: 1, label: '有效' },
@ -506,7 +521,7 @@ export default {
loadA: null,
showCK: false,
src: "",
bthshow: true,
bthshow: false,
scoltitle: "展开",
echartstlist: null,
btnArrshow: "全部",
@ -659,6 +674,8 @@ export default {
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.btnArrshow = '全部'
this.form1 = {
cpmc: "",
@ -736,6 +753,7 @@ export default {
},
activated() {
this.MapCarsshow = true
this.bthshow = false
}
};
</script>
@ -866,7 +884,7 @@ export default {
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}

@ -2,7 +2,7 @@
<div class="container">
<div class="tabs">
<div class="headerText">
<div class="searchP">123统计分析</div>
<div class="searchP">统计分析</div>
</div>
<div>
<MapCars leafletitle="医疗器械" echartstitle="医疗器械" @arealist="arealist" ref="mapcars" v-if="MapCarsshow" />
@ -158,10 +158,17 @@
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
</el-row>
<div v-show="!bthshow">
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear" mytype="医疗器械">
</AdvancedSearch>
<!-- 无用的查询 -->
<div v-if="false">
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row v-if="false">
<div class="title-box">审评受理信息查询</div>
<el-col :span="8">
@ -305,7 +312,7 @@
<el-row>
<el-col :span="8">
<el-form-item label="不良反应名称">
<el-input v-model="form1.jcrq" placeholder="请输入不良反应名称" clearable @clear="isclear"></el-input>
<el-input v-model="form1.lcsybah" placeholder="请输入不良反应名称" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -332,30 +339,40 @@
<div>
<div round class="mybuttom" :class="btnArrshow == item.label ? 'mybuttomshow' : ''"
v-for="(item, index) in btnArr" @click="xuanzelist(item)">{{ item.label
v-for="(item, index) in optionsTowBtn" @click="xuanzelist(item)">{{ item.label
}}</div>
</div>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center" />
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" prop="cpmc" min-width="120" align="center">
</el-table-column>
<el-table-column label="产品类型" prop="cplx" min-width="120" align="center"></el-table-column>
<el-table-column label="产品管理类别" prop="cplb" min-width="160" align="center"></el-table-column>
<el-table-column label="所在地" prop="zcrszshi" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.zcrszshi }}
</template>
</el-table-column>
<el-table-column label=" 注册证状态/备案凭证状态" prop="ppztDm" min-width="280" align="center">
<template slot-scope="scope">
{{ zczt(scope.row.ppztDm) }}
</template>
</el-table-column>
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center">
<el-table-column label="批准日期" prop="pzrq" min-width="120" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzrq ? scope.row.pzrq.split(" ")[0] : "" }}
</template>
</el-table-column>
<el-table-column label="批准有效期至" prop="pzyxq" min-width="160" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.pzrq.split(" ")[0] }}
{{ scope.row.pzyxq ? scope.row.pzyxq.split(" ")[0] : "" }}
</template>
</el-table-column>
<el-table-column label="注册证编号/备案编号" prop="zczh" min-width="220" align="center">
@ -398,10 +415,14 @@
import { download, dcylqx } from "../../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import MapCars from "@/views/components/MapCars.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
import { mySortChange } from './mySortChange.js';
export default {
components: { MapCars },
export default {
components: { MapCars, AdvancedSearch },
mixins: [mySortChange],
data() {
return {
options1: [
@ -495,7 +516,7 @@ export default {
loadA: null,
showCK: false,
src: "",
bthshow: true,
bthshow: false,
scoltitle: "展开",
echartstlist: null,
btnArrshow: "全部",
@ -535,7 +556,12 @@ export default {
iscss: "primary",
value: '第三类',
cplx: "体外诊断试剂"
}]
}],
optionsTowBtn: [
{ value: "", label: '全部' },
{ value: 1, label: '有效' },
{ value: "无效", label: '失效' }
],
};
},
async mounted() {
@ -550,6 +576,24 @@ export default {
created() {
},
methods: {
// mySortChange(e) {
// this.sortableshowDaty = e
// this.form1.pzrqSort = ""
// this.form1.pzyxqSort = ""
// this.form1.zcrszshiSort = ""
// console.log(e.order);
// let indextype = e.order == "ascending" ? 1 : e.order == "descending" ? 2 : ""
// if (e.column.label == "") {
// this.form1.pzrqSort = indextype
// }
// if (e.column.label == "") {
// this.form1.pzyxqSort = indextype
// }
// if (e.column.label == "") {
// this.form1.zcrszshiSort = indextype
// }
// this.searchList()
// },
// inputx
isclear() {
this.searchList()
@ -557,8 +601,7 @@ export default {
//
xuanzelist(item) {
this.btnArrshow = item.label
this.form1.cplb = item.value
this.form1.cplx = item.cplx
this.form1.ppztDm = item.value
this.searchList()
},
arealist(area) {
@ -647,6 +690,7 @@ export default {
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.btnArrshow = '全部'
this.form1 = {
cplb: "",
@ -723,6 +767,7 @@ export default {
},
activated() {
this.MapCarsshow = true
this.bthshow = false
}
};
</script>
@ -853,7 +898,7 @@ export default {
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}

@ -0,0 +1,25 @@
export const mySortChange = {
created() {
console.log('混入');
},
methods: {
mySortChange(e) {
this.sortableshowDaty = e
this.form1.pzrqSort = ""
this.form1.pzyxqSort = ""
this.form1.zcrszshiSort = ""
console.log(e.order);
let indextype = e.order == "ascending" ? 1 : e.order == "descending" ? 2 : ""
if (e.column.label == "批准日期") {
this.form1.pzrqSort = indextype
}
if (e.column.label == "批准有效期至") {
this.form1.pzyxqSort = indextype
}
if (e.column.label == "所在地") {
this.form1.zcrszshiSort = indextype
}
this.searchList()
},
}
};

@ -5,7 +5,8 @@
<div class="searchP">统计分析</div>
</div>
<div>
<MapCars leafletitle="化妆品" echartstitle="化妆品/注册备案品种" @arealist="arealist" ref="mapcars" v-if="MapCarsshow" />
<MapCars leafletitle="化妆品" echartstitle="化妆品/注册备案品种" mytype="healtson" :Leixtypes="types" @arealist="arealist"
ref="mapcars" v-if="MapCarsshow" />
</div>
</div>
<div class="tabs">
@ -53,11 +54,18 @@
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="化妆品类型" placeholder="请输入化妆品类型">
<!-- <el-form-item label="化妆品类型" placeholder="请输入化妆品类型">
<el-select v-model="types" placeholder="请选择化妆品类型" @change="changeType">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item> -->
<el-form-item label="注册/备案状态">
<!-- <el-input v-model="form1.status" placeholder="请输入注册/备案状态" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.status" placeholder="请选择注册/备案状态">
<el-option v-for="item in optionsTwo" :key="item.value" :label="item.value" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
@ -77,10 +85,10 @@
<el-row>
<el-row>
<el-col :span="8">
<el-form-item label="注册/备案状态">
<!-- <el-input v-model="form1.status" placeholder="请输入注册/备案状态" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.status" placeholder="请选择注册/备案状态">
<el-option v-for="item in optionsTwo" :key="item.value" :label="item.value" :value="item.value">
<el-form-item label="生产类型">
<el-select v-model="form1.allStatus" placeholder="请选择生产类型">
<el-option v-for="item in btnArrList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
@ -103,10 +111,16 @@
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
</el-row>
<div v-show="!bthshow">
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear" mytype="化妆品">
</AdvancedSearch>
<div v-if="false">
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row>
<div class="title-box">产品抽检信息查询</div>
<el-col :span="8">
@ -187,18 +201,19 @@
<div class="searchP">产品列表</div>
</div>
<div class="exportBtn">
<div>
<!-- <div>
<div class="mybuttom" :class="form1.allStatus == item.value ? 'mybuttomshow' : ''" v-show="types == '1'" round
v-for="(item, index) in btnArr" @click="xuanzelist(item)">{{
item.label
}}</div>
</div>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
</div> -->
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center">
</el-table-column>
<el-table-column type="index" label="序号" width="80" align="center" />
@ -209,48 +224,57 @@
</el-table-column>
<!-- :label="A2" -->
<el-table-column label="注册/备案号" min-width="270" align="center">
<template slot-scope="scope">
{{ scope.row.bah || scope.row.zczh }}
</template>
</el-table-column>
<el-table-column label="注册/备案日期" min-width="200" align="center">
<el-table-column label="注册/备案日期" min-width="200" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.sj || scope.row.pzrq || shijianguolv(scope.row.sqsj) }}
</template>
</el-table-column>
<el-table-column label="注册/备案状态" min-width="200" align="center">
<template slot-scope="scope">
{{ scope.row.status || scope.row.cpzt }}
</template>
</el-table-column>
<el-table-column label="注册人/备案人" min-width="250" align="center" v-if="types != 3">
<template slot-scope="scope">
{{ scope.row.zcr || scope.row.qymc || scope.row.zcrbar }}
</template>
</el-table-column>
<el-table-column label="境内负责人" min-width="180" align="center" v-if="types != 1 && types != 2">
<template slot-scope="scope">
{{ scope.row.jnzrr }}
</template>
</el-table-column>
<el-table-column label="生产企业" min-width="230" align="center" v-if="types != 2 && types != 4">
<template slot-scope="scope">
{{ scope.row.zcr || scope.row.scqymc }}
</template>
</el-table-column>
<el-table-column label="生产企业许可证" min-width="230" align="center" v-if="types == 1 && form1.allStatus != 2">
<template slot-scope="scope">
{{ scope.row.tyshxydwSc || scope.row.xkzbh }}
</template>
</el-table-column>
<el-table-column label="生产企业地址" min-width="250" align="center" v-if="types == 1">
<template slot-scope="scope">
{{ scope.row.dzSc }}
</template>
</el-table-column>
<el-table-column label="操作" width="120" fixed="right" align="center">
<template slot-scope="scope">
<el-button type="primary" @click="toDetail(scope.row)"></el-button>
<!-- <el-button size="mini" plain type="warning">编辑</el-button> -->
@ -274,13 +298,13 @@
</template>
<script>
import { download, dchzpsj } from "../../../api/archives/updata";
import { download, dchzpsj } from "../../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import MapCars from "@/views/components/MapCars.vue";
import MapCars from "@/views/components/MapCarsLog.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
export default {
components: { MapCars },
components: { MapCars, AdvancedSearch },
data() {
return {
options1: [
@ -349,7 +373,7 @@ export default {
status: "",
allStatus: "",
scxkz: "",
zzjyjl:"",
zzjyjl: "",
area: this.$store.getters.usersort
},
form: {
@ -362,26 +386,19 @@ export default {
loadA: null,
showCK: false,
src: "",
bthshow: true,
bthshow: false,
scoltitle: "展开",
btnArrshow: "",
btnArr: [{
label: '全部',
iscss: "warning",
value: ""
}, {
label: '自产',
iscss: "success",
value: 1
btnArrList: [{
value: "1",
label: '自行生产',
}, {
label: '委托',
iscss: "primary",
value: 2
value: "2",
label: '委托生产',
}]
};
},
mounted() {
this.form1.name = this.$route.query.value || "";
if (this.form1.name) {
this.searchList();
@ -392,6 +409,16 @@ export default {
created() {
},
methods: {
mySortChange(e) {
this.sortableshowDaty = e
this.form1.sqsjSort = ""
let indextype = e.order == "ascending" ? 1 : e.order == "descending" ? 2 : ""
if (e.column.label == "注册/备案日期") {
this.form1.sqsjSort = indextype
}
this.searchList()
},
shijianguolv(data) {
if (data) {
return data.split(" ")[0]
@ -536,6 +563,8 @@ export default {
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.types = "1";
this.form1 = {
babm: "",
@ -556,7 +585,7 @@ export default {
allStatus: "",
scxkz: "",
zcrbar: "",//
zzjyjl:"",
zzjyjl: "",
area: this.$store.getters.usersort
};
@ -663,7 +692,7 @@ export default {
size: 20,
current: 1,
};
this.$refs["mapcars"].isLefleat(e)
// this.$refs["mapcars"].isLefleat(e)
this.getData(e);
},
@ -677,6 +706,7 @@ export default {
next()
},
activated(to, from, next) {
this.bthshow = false
this.MapCarsshow = true
}
};
@ -793,7 +823,7 @@ export default {
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}

@ -0,0 +1,867 @@
<template>
<div class="container">
<div class="tabs">
<div class="headerText">
<div class="searchP">统计分析</div>
</div>
<div>
<MapCars leafletitle="化妆品" echartstitle="化妆品/注册备案品种" mytype="healtson" :Leixtypes="types" @arealist="arealist"
ref="mapcars" v-if="MapCarsshow" />
</div>
</div>
<div class="tabs">
<div class="headerText">
<div class="searchP">查询条件</div>
</div>
<el-form ref="form1" :model="form1">
<div style="margin-top: 10px">
<!-- <el-row>
<div class="title-box">基本信息查询</div>
<el-col :span="21">
<el-form-item label="查询条件">
<el-input v-model="form1.name" placeholder="请输入产品名称"></el-input>
</el-form-item>
</el-col>
</el-row> -->
</div>
<el-row>
<el-col :span="8">
<el-form-item label="产品名称">
<el-input v-model="form1.cpmc" placeholder="请输入产品名称" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="注册/备案编号">
<el-input v-model="form1.babm" placeholder="请输入注册/备案编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="生产企业">
<el-input v-model="form1.scqy" placeholder="请输入生产企业" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="使用人群" placeholder="请输入使用人群">
<el-input v-model="form1.syrq" placeholder="请输入使用人群" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-col :span="7">
<el-form-item label="注册证编号">
<el-input v-model="form1.name" placeholder="请输入注册证编号"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="8">
<!-- <el-form-item label="化妆品类型" placeholder="请输入化妆品类型">
<el-select v-model="types" placeholder="请选择化妆品类型" @change="changeType">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item> -->
<el-form-item label="注册/备案状态">
<!-- <el-input v-model="form1.status" placeholder="请输入注册/备案状态" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.status" placeholder="请选择注册/备案状态">
<el-option v-for="item in optionsTwo" :key="item.value" :label="item.value" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="注册人/备案人" placeholder="请输入注册人/备案人">
<el-input v-model="form1.zcrbar" placeholder="请输入注册人/备案人" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="生产企业" placeholder="请输入生产企业">
<el-input v-model="form1.scqy" placeholder="请输入生产企业" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-row>
<el-col :span="8">
<el-form-item label="生产类型">
<el-select v-model="form1.allStatus" placeholder="请选择生产类型">
<el-option v-for="item in btnArrList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="生产许可证">
<el-input v-model="form1.scxkz" placeholder="请输入生产许可证" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="境内责任人" placeholder="请输入境内责任人">
<el-input v-model="form1.jnfzr" placeholder="请输入境内责任人" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-row>
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
</el-row>
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear" mytype="化妆品">
</AdvancedSearch>
<div v-if="false">
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row>
<div class="title-box">产品抽检信息查询</div>
<el-col :span="8">
<el-form-item label="检验项目">
<el-input v-model="form1.cjxm" placeholder="请输入检验项目" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验报告书编号">
<el-input v-model="form1.jyslbh" placeholder="请输入检验报告书编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样编号">
<el-input v-model="form1.cybh" placeholder="请输入抽样编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="抽样级别">
<el-input v-model="form1.cyjb" placeholder="请输入抽样级别" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样日期" placeholder="请输入抽样日期">
<el-input v-model="form1.cyrq" placeholder="请输入抽样日期" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最终检验结论" placeholder="请输入最终检验结论">
<el-input v-model="form1.zzjyjl" placeholder="请输入最终检验结论" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<div class="title-box">不良反应信息查询</div>
<el-col :span="8">
<el-form-item label="发生年份">
<el-input v-model="form1.fsnf" placeholder="请输入发生年份" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报告编号">
<el-input v-model="form1.blfybgbh" placeholder="请输入报告编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报告类型">
<!-- <el-input v-model="form1.blfylx" placeholder="请输入不良反应类型" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.blfylx" placeholder="请选择报告类型">
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="8">
<el-form-item label="不良反应名称">
<el-input v-model="form1.sfyblfy" placeholder="请输入不良反应名称" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row> -->
<div class="footBox " v-show="!bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-remove-outline" @click="collapsechange(1)"></el-button>
</div>
</div>
</el-form>
</div>
<div class="tabsBottom">
<div class="foot-main">
<div class="headerText">
<div class="searchP">产品列表</div>
</div>
<div class="exportBtn">
<!-- <div>
<div class="mybuttom" :class="form1.allStatus == item.value ? 'mybuttomshow' : ''" v-show="types == '1'" round
v-for="(item, index) in btnArr" @click="xuanzelist(item)">{{
item.label
}}</div>
</div> -->
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center">
</el-table-column>
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" min-width="200" align="center">
<template slot-scope="scope">
{{ scope.row.cpmc }}
</template>
</el-table-column>
<!-- :label="A2" -->
<el-table-column label="注册/备案号" min-width="270" align="center">
<template slot-scope="scope">
{{ scope.row.bah || scope.row.zczh }}
</template>
</el-table-column>
<el-table-column label="注册/备案日期" min-width="200" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.sj || scope.row.pzrq || shijianguolv(scope.row.sqsj) }}
</template>
</el-table-column>
<el-table-column label="注册/备案状态" min-width="200" align="center">
<template slot-scope="scope">
{{ scope.row.status || scope.row.cpzt }}
</template>
</el-table-column>
<el-table-column label="注册人/备案人" min-width="250" align="center" v-if="types != 3">
<template slot-scope="scope">
{{ scope.row.zcr || scope.row.qymc || scope.row.zcrbar }}
</template>
</el-table-column>
<el-table-column label="境内负责人" min-width="180" align="center" v-if="types != 1 && types != 2">
<template slot-scope="scope">
{{ scope.row.jnzrr }}
</template>
</el-table-column>
<el-table-column label="生产企业" min-width="230" align="center" v-if="types != 2 && types != 4">
<template slot-scope="scope">
{{ scope.row.zcr || scope.row.scqymc }}
</template>
</el-table-column>
<el-table-column label="生产企业许可证" min-width="230" align="center" v-if="types == 1 && form1.allStatus != 2">
<template slot-scope="scope">
{{ scope.row.tyshxydwSc || scope.row.xkzbh }}
</template>
</el-table-column>
<el-table-column label="生产企业地址" min-width="250" align="center" v-if="types == 1">
<template slot-scope="scope">
{{ scope.row.dzSc }}
</template>
</el-table-column>
<el-table-column label="操作" width="120" fixed="right" align="center">
<template slot-scope="scope">
<el-button type="primary" @click="toDetail(scope.row)"></el-button>
<!-- <el-button size="mini" plain type="warning">编辑</el-button> -->
</template>
</el-table-column>
</el-table>
</div>
</section>
<pagination :total="total" :page="form.current" :limit="form.size" @pagination="getPagination"
:current-page.sync="form.current"></pagination>
</div>
</div>
<el-dialog title="提示" :visible.sync="showCK" width="30%">
<span>{{ src }}</span>
<span slot="footer" class="dialog-footer">
<el-button @click="closeDC()"> </el-button>
<el-button type="primary" @click="openDC()"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { download, dchzpsj } from "../../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import MapCars from "@/views/components/MapCarsLog.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
export default {
components: { MapCars, AdvancedSearch },
data() {
return {
options1: [
{
value: 0,
label: "一般",
},
{
value: 1,
label: "严重",
},
],
MapCarsshow: true,
loading: false,
tableData: [],
A1: "产品名称",
A2: "备案编码",
A3: "生产企业",
types: "2",
total: 0,
options: [
{
value: "1",
label: "国产化妆品",
},
{
value: "2",
label: "国产特殊化妆品",
},
{
value: "3",
label: "进口化妆品",
},
{
value: "4",
label: "进口特殊化妆品",
},
],
optionsTwo: [{
value: "有效",
label: "有效",
}, {
value: "取消备案",
label: "取消备案",
}, {
value: "注销",
label: "注销",
},],
form1: {
babm: "",
cpmc: "",
name: "",
scqy: "",
//
cjxm: "", //
jyslbh: "", //
cybh: "", //
cyjb: "", //
cyrq: "", //
blfybgbh: "", //
blfylx: "", //
fsnf: "", //
zcrbar: "",//
jnfzr: "",//
syrq: "", // 使
status: "",
allStatus: "",
scxkz: "",
zzjyjl: "",
area: this.$store.getters.usersort
},
form: {
size: 20,
current: 1,
area: this.$store.getters.usersort
},
jieliuShow: true,
loadA: null,
showCK: false,
src: "",
bthshow: false,
scoltitle: "展开",
btnArrList: [{
value: "1",
label: '自行生产',
}, {
value: "2",
label: '委托生产',
}]
};
},
mounted() {
this.form1.name = this.$route.query.value || "";
if (this.form1.name) {
this.searchList();
} else {
this.changeType("2");
}
},
created() {
},
methods: {
mySortChange(e) {
this.sortableshowDaty = e
this.form1.pzrqSort = ""
let indextype = e.order == "ascending" ? 1 : e.order == "descending" ? 2 : ""
if (e.column.label == "注册/备案日期") {
this.form1.pzrqSort = indextype
}
this.searchList()
},
shijianguolv(data) {
if (data) {
return data.split(" ")[0]
} else {
return ""
}
},
// inputx
isclear() {
this.searchList()
},
//
xuanzelist(item) {
this.form1.allStatus = item.value
this.searchList();
// if(item == '') {}
// if(item == '') {}
// if(item == '') {}
},
arealist(area) {
this.form.area = area
this.form1.area = area
this.getData(this.types);
},
collapsechange(e) {
if (e == 0) {
this.bthshow = false
} else {
this.bthshow = true
}
},
openDC() {
this.showCK = false;
this.loadA = Loading.service({
text: "正在下载数据,请稍候",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
let query1 = {
//使 1 2 3 4
type: this.types,
//
scqy: this.form1.scqy,
//
cpmc: this.form1.cpmc,
//
name: this.form1.name,
//
babm: this.form1.babm,
};
dchzpsj(query1)
.then((res) => {
const blob = new Blob([res], { type: res.type });
// blob.text().then((res11) => console.log(res11));
console.log(blob.stream());
const link = document.createElement("a");
link.href = window.URL.createObjectURL(blob);
link.style.display = "none";
//
link.download = this.filterTypes(this.types) + ".xlsx";
link.click();
this.loadA.close();
this.$message({
type: "success",
message: "导出成功",
});
})
.catch((err) => {
this.$message({
type: "info",
message: "导出失败",
});
});
},
closeDC() {
this.showCK = false;
this.$message({
type: "info",
message: "已取消导出",
});
},
exportList() {
this.src = `确定导出${this.form1.cpmc ? `产品名称为${this.form1.cpmc}` : ""
}${this.form1.babm ? `备案编号为${this.form1.babm}` : ""}${this.form1.scqy ? `生产企业为${this.form1.scqy}` : ""
}${this.form1.name ? `注册证编号为${this.form1.name}` : ""
}${`化妆品类型为${this.filterTypes(this.types)}`}数据吗?`;
this.showCK = true;
},
filterTypes(e) {
let arr = this.options.filter((value1) => {
return value1.value == e;
});
return arr[0].label;
},
jieliuFunc() {
if (this.jieliuShow) {
this.getData(this.types);
this.jieliuShow = false;
setTimeout(() => {
this.jieliuShow = true;
}, 500);
} else {
this.$message("点击过快");
}
},
//
toDetail(e) {
console.log(e);
let data = "";
if (this.types == "1") {
data = e.bah;
} else if (this.types == "2") {
data = e.zczh;
} else if (this.types == "3") {
data = e.bah;
} else if (this.types == "4") {
data = e.zczh;
}
//type
//flag gt
this.$router.push({
path: `/cosmeticsDetail`,
query: { type: "1", flag: this.types, data },
});
},
//
searchList() {
this.form.current = 1;
for (let i in this.form1) {
this.form[i] = this.form1[i];
}
this.jieliuFunc();
},
getPagination(e) {
console.log(e);
this.form.current = e.page;
this.form.size = e.limit;
// this.chinaCosmetics();
this.jieliuFunc()
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.types = "2";
this.form1 = {
babm: "",
cpmc: "",
name: "",
scqy: "",
//
name: "",
cjxm: "",
jyslbh: "",
cybh: "",
cyjb: "",
cyrq: "",
blfybgbh: "",
blfylx: "",
fsnf: "",
status: "",
allStatus: "",
scxkz: "",
zcrbar: "",//
zzjyjl: "",
area: this.$store.getters.usersort
};
this.form = {
size: 20,
current: 1,
};
if (type != 1) {
this.$refs["mapcars"].showinitCityLayer()
}
this.jieliuFunc();
},
//
async chinaCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.domesticList(this.form);
this.tableData = msg1.data.records;
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
//
async chinaSpecialCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.specialList(this.form);
this.tableData = msg1.data.records;
this.tableData.forEach((item) => {
item.status = '有效'
})
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
//
async importCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.importList(this.form);
this.tableData = msg1.data.records;
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
//
async importSpecialCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.importSpecialList(this.form);
this.tableData = msg1.data.records;
this.tableData.forEach((item) => {
item.status = '有效'
})
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
async getData(e) {
if (e == "1") {
this.A2 = "备案编码";
this.A3 = "生产企业";
this.chinaCosmetics();
} else if (e == "2") {
this.A2 = "批准日期";
this.A3 = "省份";
this.chinaSpecialCosmetics();
} else if (e == "3") {
this.A2 = "备案编码";
this.A3 = "生产企业";
this.importCosmetics();
} else if (e == "4") {
this.A2 = "批准日期";
this.A3 = "省份";
this.importSpecialCosmetics();
}
},
async changeType(e) {
// this.reset();
this.form1 = {
babm: "",
cpmc: "",
name: "",
scqy: "",
//
name: "",
cjxm: "",
jyslbh: "",
cybh: "",
cyjb: "",
cyrq: "",
blfybgbh: "",
blfylx: "",
fsnf: "",
status: "",
allStatus: "",
scxkz: "",
zcrbar: "",//
area: this.$store.getters.usersort
};
this.form = {
size: 20,
current: 1,
};
this.$refs["mapcars"].isLefleat(e)
this.getData(e);
},
},
beforeRouteLeave(to, from, next) {
if (to.path != '/cosmeticsDetail') {
this.reset(1)
}
this.MapCarsshow = false
next()
},
activated(to, from, next) {
this.bthshow = false
this.MapCarsshow = true
}
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog:not(.is-fullscreen) {
margin-top: 30vh !important;
}
::v-deep .el-dialog__body {
padding: 15px;
}
::v-deep .el-select {
width: 100% !important;
}
.container {
height: 100%;
// overflow: auto;
background: #f2f2f2;
.headerText {
width: 100%;
padding: 10px 20px;
border-bottom: 1px solid #f2f3f5;
color: #323233;
font-size: 20px;
font-weight: bold;
.searchP {
position: relative;
cursor: pointer;
&::before {
content: "";
width: 78px;
height: 3px;
background: #1349c5;
position: absolute;
bottom: -10px;
}
}
}
.tabs {
margin-bottom: 10px;
width: 100%;
background: #fff;
}
}
//===================
::v-deep .el-button--medium {
padding: 8px;
}
.footBox {
width: 97.5%;
text-align: center;
padding-bottom: 10px;
}
.tabsBottom {
.foot-main {
height: 100%;
// min-height: 600px;
width: 100%;
background: white;
}
}
.exportBtn {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 20px;
}
.table-box {
padding: 0px 20px;
.table-item {}
}
.pagination {
display: flex;
justify-content: space-between;
padding: 15px 20px;
}
::v-deep .el-table {
overflow: auto;
}
::v-deep .el-collapse-item__header {
padding-left: 80vw;
font-size: 20px;
font-weight: 600;
.el-collapse-item__arrow {
margin-left: 20px;
}
}
.title-box {
position: relative;
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin: 10px 0;
color: #1349c5;
}
::v-deep .el-collapse {
border: none;
}
::v-deep .logformitem {
.el-form-item__label {
line-height: 20px;
}
}
.mybuttom {
margin: 0 10px;
display: inline-block;
padding: 5px 20px;
background-color: rgba(30, 128, 235, 0.1);
border-radius: 8px;
border: 1px solid #1e80eb;
font-size: 14px;
color: #1e80eb;
font-family: Source Han Sans CN;
cursor: pointer;
&:hover {
background-color: #1e80eb;
color: #ffffff;
border: 1px solid #1e80eb;
}
}
.mybuttomshow {
background-color: #1e80eb;
color: #ffffff;
border: 1px solid #1e80eb;
}
</style>

@ -0,0 +1,869 @@
<template>
<div class="container">
<div class="tabs">
<div class="headerText">
<div class="searchP">统计分析</div>
</div>
<div>
<MapCars leafletitle="化妆品" echartstitle="化妆品/注册备案品种" :Leixtypes="types" mytype="healtson" @arealist="arealist"
ref="mapcars" v-if="MapCarsshow" />
</div>
</div>
<div class="tabs">
<div class="headerText">
<div class="searchP">查询条件</div>
</div>
<el-form ref="form1" :model="form1">
<div style="margin-top: 10px">
<!-- <el-row>
<div class="title-box">基本信息查询</div>
<el-col :span="21">
<el-form-item label="查询条件">
<el-input v-model="form1.name" placeholder="请输入产品名称"></el-input>
</el-form-item>
</el-col>
</el-row> -->
</div>
<el-row>
<el-col :span="8">
<el-form-item label="产品名称">
<el-input v-model="form1.cpmc" placeholder="请输入产品名称" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="注册/备案编号">
<el-input v-model="form1.babm" placeholder="请输入注册/备案编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="生产企业">
<el-input v-model="form1.scqy" placeholder="请输入生产企业" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="使用人群" placeholder="请输入使用人群">
<el-input v-model="form1.syrq" placeholder="请输入使用人群" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-col :span="7">
<el-form-item label="注册证编号">
<el-input v-model="form1.name" placeholder="请输入注册证编号"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="8">
<!-- <el-form-item label="化妆品类型" placeholder="请输入化妆品类型">
<el-select v-model="types" placeholder="请选择化妆品类型" @change="changeType">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item> -->
<el-form-item label="注册/备案状态">
<!-- <el-input v-model="form1.status" placeholder="请输入注册/备案状态" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.status" placeholder="请选择注册/备案状态">
<el-option v-for="item in optionsTwo" :key="item.value" :label="item.value" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="注册人/备案人" placeholder="请输入注册人/备案人">
<el-input v-model="form1.zcrbar" placeholder="请输入注册人/备案人" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="生产企业" placeholder="请输入生产企业">
<el-input v-model="form1.scqy" placeholder="请输入生产企业" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-row>
<el-col :span="8">
<el-form-item label="生产类型">
<el-select v-model="form1.allStatus" placeholder="请选择生产类型">
<el-option v-for="item in btnArrList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="生产许可证">
<el-input v-model="form1.scxkz" placeholder="请输入生产许可证" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="境内责任人" placeholder="请输入境内责任人">
<el-input v-model="form1.jnfzr" placeholder="请输入境内责任人" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-row>
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
</el-row>
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear" mytype="化妆品">
</AdvancedSearch>
<div v-if="false">
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row>
<div class="title-box">产品抽检信息查询</div>
<el-col :span="8">
<el-form-item label="检验项目">
<el-input v-model="form1.cjxm" placeholder="请输入检验项目" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验报告书编号">
<el-input v-model="form1.jyslbh" placeholder="请输入检验报告书编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样编号">
<el-input v-model="form1.cybh" placeholder="请输入抽样编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="抽样级别">
<el-input v-model="form1.cyjb" placeholder="请输入抽样级别" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样日期" placeholder="请输入抽样日期">
<el-input v-model="form1.cyrq" placeholder="请输入抽样日期" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最终检验结论" placeholder="请输入最终检验结论">
<el-input v-model="form1.zzjyjl" placeholder="请输入最终检验结论" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<div class="title-box">不良反应信息查询</div>
<el-col :span="8">
<el-form-item label="发生年份">
<el-input v-model="form1.fsnf" placeholder="请输入发生年份" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报告编号">
<el-input v-model="form1.blfybgbh" placeholder="请输入报告编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报告类型">
<!-- <el-input v-model="form1.blfylx" placeholder="请输入不良反应类型" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.blfylx" placeholder="请选择报告类型">
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="8">
<el-form-item label="不良反应名称">
<el-input v-model="form1.sfyblfy" placeholder="请输入不良反应名称" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row> -->
<div class="footBox " v-show="!bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-remove-outline" @click="collapsechange(1)"></el-button>
</div>
</div>
</el-form>
</div>
<div class="tabsBottom">
<div class="foot-main">
<div class="headerText">
<div class="searchP">产品列表</div>
</div>
<div class="exportBtn">
<!-- <div>
<div class="mybuttom" :class="form1.allStatus == item.value ? 'mybuttomshow' : ''" v-show="types == '1'" round
v-for="(item, index) in btnArr" @click="xuanzelist(item)">{{
item.label
}}</div>
</div> -->
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center">
</el-table-column>
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" min-width="200" align="center">
<template slot-scope="scope">
{{ scope.row.cpmc }}
</template>
</el-table-column>
<!-- :label="A2" -->
<el-table-column label="注册/备案号" min-width="270" align="center">
<template slot-scope="scope">
{{ scope.row.bah || scope.row.zczh }}
</template>
</el-table-column>
<el-table-column label="注册/备案日期" min-width="200" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.sj || scope.row.pzrq || shijianguolv(scope.row.sqsj) }}
</template>
</el-table-column>
<el-table-column label="注册/备案状态" min-width="200" align="center">
<template slot-scope="scope">
{{ scope.row.status || scope.row.cpzt }}
</template>
</el-table-column>
<el-table-column label="注册人/备案人" min-width="250" align="center" v-if="types != 3">
<template slot-scope="scope">
{{ scope.row.zcr || scope.row.qymc || scope.row.zcrbar }}
</template>
</el-table-column>
<el-table-column label="境内负责人" min-width="180" align="center" v-if="types != 1 && types != 2">
<template slot-scope="scope">
{{ scope.row.jnzrr }}
</template>
</el-table-column>
<el-table-column label="生产企业" min-width="230" align="center" v-if="types != 2 && types != 4">
<template slot-scope="scope">
{{ scope.row.zcr || scope.row.scqymc }}
</template>
</el-table-column>
<el-table-column label="生产企业许可证" min-width="230" align="center" v-if="types == 1 && form1.allStatus != 2">
<template slot-scope="scope">
{{ scope.row.tyshxydwSc || scope.row.xkzbh }}
</template>
</el-table-column>
<el-table-column label="生产企业地址" min-width="250" align="center" v-if="types == 1">
<template slot-scope="scope">
{{ scope.row.dzSc }}
</template>
</el-table-column>
<el-table-column label="操作" width="120" fixed="right" align="center">
<template slot-scope="scope">
<el-button type="primary" @click="toDetail(scope.row)"></el-button>
<!-- <el-button size="mini" plain type="warning">编辑</el-button> -->
</template>
</el-table-column>
</el-table>
</div>
</section>
<pagination :total="total" :page="form.current" :limit="form.size" @pagination="getPagination"
:current-page.sync="form.current"></pagination>
</div>
</div>
<el-dialog title="提示" :visible.sync="showCK" width="30%">
<span>{{ src }}</span>
<span slot="footer" class="dialog-footer">
<el-button @click="closeDC()"> </el-button>
<el-button type="primary" @click="openDC()"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { download, dchzpsj } from "../../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import MapCars from "@/views/components/MapCarsLog.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
export default {
components: { MapCars, AdvancedSearch },
data() {
return {
options1: [
{
value: 0,
label: "一般",
},
{
value: 1,
label: "严重",
},
],
MapCarsshow: true,
loading: false,
tableData: [],
A1: "产品名称",
A2: "备案编码",
A3: "生产企业",
types: "3",
total: 0,
options: [
{
value: "1",
label: "国产化妆品",
},
{
value: "2",
label: "国产特殊化妆品",
},
{
value: "3",
label: "进口化妆品",
},
{
value: "4",
label: "进口特殊化妆品",
},
],
optionsTwo: [{
value: "有效",
label: "有效",
}, {
value: "取消备案",
label: "取消备案",
}, {
value: "注销",
label: "注销",
},],
form1: {
babm: "",
cpmc: "",
name: "",
scqy: "",
//
cjxm: "", //
jyslbh: "", //
cybh: "", //
cyjb: "", //
cyrq: "", //
blfybgbh: "", //
blfylx: "", //
fsnf: "", //
zcrbar: "",//
jnfzr: "",//
syrq: "", // 使
status: "",
allStatus: "",
scxkz: "",
zzjyjl: "",
area: this.$store.getters.usersort
},
form: {
size: 20,
current: 1,
area: this.$store.getters.usersort
},
jieliuShow: true,
loadA: null,
showCK: false,
src: "",
bthshow: false,
scoltitle: "展开",
btnArrList: [{
value: "1",
label: '自行生产',
}, {
value: "2",
label: '委托生产',
}]
};
},
mounted() {
this.form1.name = this.$route.query.value || "";
if (this.form1.name) {
this.searchList();
} else {
this.changeType("3");
}
},
created() {
},
methods: {
mySortChange(e) {
this.sortableshowDaty = e
this.form1.sjSort = ""
let indextype = e.order == "ascending" ? 1 : e.order == "descending" ? 2 : ""
if (e.column.label == "注册/备案日期") {
this.form1.sjSort = indextype
}
this.searchList()
},
shijianguolv(data) {
if (data) {
return data.split(" ")[0]
} else {
return ""
}
},
// inputx
isclear() {
this.searchList()
},
//
xuanzelist(item) {
this.form1.allStatus = item.value
this.searchList();
// if(item == '') {}
// if(item == '') {}
// if(item == '') {}
},
arealist(area) {
this.form.area = area
this.form1.area = area
this.getData(this.types);
},
collapsechange(e) {
if (e == 0) {
this.bthshow = false
} else {
this.bthshow = true
}
},
openDC() {
this.showCK = false;
this.loadA = Loading.service({
text: "正在下载数据,请稍候",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
let query1 = {
//使 1 2 3 4
type: this.types,
//
scqy: this.form1.scqy,
//
cpmc: this.form1.cpmc,
//
name: this.form1.name,
//
babm: this.form1.babm,
};
dchzpsj(query1)
.then((res) => {
const blob = new Blob([res], { type: res.type });
// blob.text().then((res11) => console.log(res11));
console.log(blob.stream());
const link = document.createElement("a");
link.href = window.URL.createObjectURL(blob);
link.style.display = "none";
//
link.download = this.filterTypes(this.types) + ".xlsx";
link.click();
this.loadA.close();
this.$message({
type: "success",
message: "导出成功",
});
})
.catch((err) => {
this.$message({
type: "info",
message: "导出失败",
});
});
},
closeDC() {
this.showCK = false;
this.$message({
type: "info",
message: "已取消导出",
});
},
exportList() {
this.src = `确定导出${this.form1.cpmc ? `产品名称为${this.form1.cpmc}` : ""
}${this.form1.babm ? `备案编号为${this.form1.babm}` : ""}${this.form1.scqy ? `生产企业为${this.form1.scqy}` : ""
}${this.form1.name ? `注册证编号为${this.form1.name}` : ""
}${`化妆品类型为${this.filterTypes(this.types)}`}数据吗?`;
this.showCK = true;
},
filterTypes(e) {
let arr = this.options.filter((value1) => {
return value1.value == e;
});
return arr[0].label;
},
jieliuFunc() {
if (this.jieliuShow) {
this.getData(this.types);
this.jieliuShow = false;
setTimeout(() => {
this.jieliuShow = true;
}, 500);
} else {
this.$message("点击过快");
}
},
//
toDetail(e) {
console.log(e);
let data = "";
if (this.types == "1") {
data = e.bah;
} else if (this.types == "2") {
data = e.zczh;
} else if (this.types == "3") {
data = e.bah;
} else if (this.types == "4") {
data = e.zczh;
}
//type
//flag gt
this.$router.push({
path: `/cosmeticsDetail`,
query: { type: "1", flag: this.types, data },
});
},
//
searchList() {
this.form.current = 1;
for (let i in this.form1) {
this.form[i] = this.form1[i];
}
this.jieliuFunc();
},
getPagination(e) {
console.log(e);
this.form.current = e.page;
this.form.size = e.limit;
// this.chinaCosmetics();
this.jieliuFunc()
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.types = "3";
this.form1 = {
babm: "",
cpmc: "",
name: "",
scqy: "",
//
name: "",
cjxm: "",
jyslbh: "",
cybh: "",
cyjb: "",
cyrq: "",
blfybgbh: "",
blfylx: "",
fsnf: "",
status: "",
allStatus: "",
scxkz: "",
zcrbar: "",//
zzjyjl: "",
area: this.$store.getters.usersort
};
this.form = {
size: 20,
current: 1,
};
if (type != 1) {
this.$refs["mapcars"].showinitCityLayer()
}
this.jieliuFunc();
},
//
async chinaCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.domesticList(this.form);
this.tableData = msg1.data.records;
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
//
async chinaSpecialCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.specialList(this.form);
this.tableData = msg1.data.records;
this.tableData.forEach((item) => {
item.status = '有效'
})
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
//
async importCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.importList(this.form);
this.tableData = msg1.data.records;
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
//
async importSpecialCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.importSpecialList(this.form);
this.tableData = msg1.data.records;
this.tableData.forEach((item) => {
item.status = '有效'
})
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
async getData(e) {
if (e == "1") {
this.A2 = "备案编码";
this.A3 = "生产企业";
this.chinaCosmetics();
} else if (e == "2") {
this.A2 = "批准日期";
this.A3 = "省份";
this.chinaSpecialCosmetics();
} else if (e == "3") {
this.A2 = "备案编码";
this.A3 = "生产企业";
this.importCosmetics();
} else if (e == "4") {
this.A2 = "批准日期";
this.A3 = "省份";
this.importSpecialCosmetics();
}
},
async changeType(e) {
// this.reset();
this.form1 = {
babm: "",
cpmc: "",
name: "",
scqy: "",
//
name: "",
cjxm: "",
jyslbh: "",
cybh: "",
cyjb: "",
cyrq: "",
blfybgbh: "",
blfylx: "",
fsnf: "",
status: "",
allStatus: "",
scxkz: "",
zcrbar: "",//
area: this.$store.getters.usersort
};
this.form = {
size: 20,
current: 1,
};
this.$refs["mapcars"].isLefleat(e)
this.getData(e);
},
},
beforeRouteLeave(to, from, next) {
if (to.path != '/cosmeticsDetail') {
this.reset(1)
}
this.MapCarsshow = false
next()
},
activated(to, from, next) {
this.bthshow = false
this.MapCarsshow = true
}
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog:not(.is-fullscreen) {
margin-top: 30vh !important;
}
::v-deep .el-dialog__body {
padding: 15px;
}
::v-deep .el-select {
width: 100% !important;
}
.container {
height: 100%;
// overflow: auto;
background: #f2f2f2;
.headerText {
width: 100%;
padding: 10px 20px;
border-bottom: 1px solid #f2f3f5;
color: #323233;
font-size: 20px;
font-weight: bold;
.searchP {
position: relative;
cursor: pointer;
&::before {
content: "";
width: 78px;
height: 3px;
background: #1349c5;
position: absolute;
bottom: -10px;
}
}
}
.tabs {
margin-bottom: 10px;
width: 100%;
background: #fff;
}
}
//===================
::v-deep .el-button--medium {
padding: 8px;
}
.footBox {
width: 97.5%;
text-align: center;
padding-bottom: 10px;
}
.tabsBottom {
.foot-main {
height: 100%;
// min-height: 600px;
width: 100%;
background: white;
}
}
.exportBtn {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 20px;
}
.table-box {
padding: 0px 20px;
.table-item {}
}
.pagination {
display: flex;
justify-content: space-between;
padding: 15px 20px;
}
::v-deep .el-table {
overflow: auto;
}
::v-deep .el-collapse-item__header {
padding-left: 80vw;
font-size: 20px;
font-weight: 600;
.el-collapse-item__arrow {
margin-left: 20px;
}
}
.title-box {
position: relative;
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin: 10px 0;
color: #1349c5;
}
::v-deep .el-collapse {
border: none;
}
::v-deep .logformitem {
.el-form-item__label {
line-height: 20px;
}
}
.mybuttom {
margin: 0 10px;
display: inline-block;
padding: 5px 20px;
background-color: rgba(30, 128, 235, 0.1);
border-radius: 8px;
border: 1px solid #1e80eb;
font-size: 14px;
color: #1e80eb;
font-family: Source Han Sans CN;
cursor: pointer;
&:hover {
background-color: #1e80eb;
color: #ffffff;
border: 1px solid #1e80eb;
}
}
.mybuttomshow {
background-color: #1e80eb;
color: #ffffff;
border: 1px solid #1e80eb;
}
</style>

@ -0,0 +1,868 @@
<template>
<div class="container">
<div class="tabs">
<div class="headerText">
<div class="searchP">统计分析</div>
</div>
<div>
<MapCars leafletitle="化妆品" echartstitle="化妆品/注册备案品种" :Leixtypes="types" mytype="healtson" @arealist="arealist"
ref="mapcars" v-if="MapCarsshow" />
</div>
</div>
<div class="tabs">
<div class="headerText">
<div class="searchP">查询条件</div>
</div>
<el-form ref="form1" :model="form1">
<div style="margin-top: 10px">
<!-- <el-row>
<div class="title-box">基本信息查询</div>
<el-col :span="21">
<el-form-item label="查询条件">
<el-input v-model="form1.name" placeholder="请输入产品名称"></el-input>
</el-form-item>
</el-col>
</el-row> -->
</div>
<el-row>
<el-col :span="8">
<el-form-item label="产品名称">
<el-input v-model="form1.cpmc" placeholder="请输入产品名称" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="注册/备案编号">
<el-input v-model="form1.babm" placeholder="请输入注册/备案编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="生产企业">
<el-input v-model="form1.scqy" placeholder="请输入生产企业" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="使用人群" placeholder="请输入使用人群">
<el-input v-model="form1.syrq" placeholder="请输入使用人群" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-col :span="7">
<el-form-item label="注册证编号">
<el-input v-model="form1.name" placeholder="请输入注册证编号"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="8">
<!-- <el-form-item label="化妆品类型" placeholder="请输入化妆品类型">
<el-select v-model="types" placeholder="请选择化妆品类型" @change="changeType">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item> -->
<el-form-item label="注册/备案状态">
<!-- <el-input v-model="form1.status" placeholder="请输入注册/备案状态" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.status" placeholder="请选择注册/备案状态">
<el-option v-for="item in optionsTwo" :key="item.value" :label="item.value" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="注册人/备案人" placeholder="请输入注册人/备案人">
<el-input v-model="form1.zcrbar" placeholder="请输入注册人/备案人" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="生产企业" placeholder="请输入生产企业">
<el-input v-model="form1.scqy" placeholder="请输入生产企业" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-row>
<el-col :span="8">
<el-form-item label="生产类型">
<el-select v-model="form1.allStatus" placeholder="请选择生产类型">
<el-option v-for="item in btnArrList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="生产许可证">
<el-input v-model="form1.scxkz" placeholder="请输入生产许可证" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="境内责任人" placeholder="请输入境内责任人">
<el-input v-model="form1.jnfzr" placeholder="请输入境内责任人" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-row>
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
</el-row>
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear" mytype="化妆品">
</AdvancedSearch>
<div v-if="false">
<div class="headerText">
<div class="searchP">高级查询条件</div>
</div>
<el-row>
<div class="title-box">产品抽检信息查询</div>
<el-col :span="8">
<el-form-item label="检验项目">
<el-input v-model="form1.cjxm" placeholder="请输入检验项目" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验报告书编号">
<el-input v-model="form1.jyslbh" placeholder="请输入检验报告书编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样编号">
<el-input v-model="form1.cybh" placeholder="请输入抽样编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="抽样级别">
<el-input v-model="form1.cyjb" placeholder="请输入抽样级别" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样日期" placeholder="请输入抽样日期">
<el-input v-model="form1.cyrq" placeholder="请输入抽样日期" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最终检验结论" placeholder="请输入最终检验结论">
<el-input v-model="form1.zzjyjl" placeholder="请输入最终检验结论" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<div class="title-box">不良反应信息查询</div>
<el-col :span="8">
<el-form-item label="发生年份">
<el-input v-model="form1.fsnf" placeholder="请输入发生年份" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报告编号">
<el-input v-model="form1.blfybgbh" placeholder="请输入报告编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="报告类型">
<!-- <el-input v-model="form1.blfylx" placeholder="请输入不良反应类型" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.blfylx" placeholder="请选择报告类型">
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="8">
<el-form-item label="不良反应名称">
<el-input v-model="form1.sfyblfy" placeholder="请输入不良反应名称" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row> -->
<div class="footBox " v-show="!bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-remove-outline" @click="collapsechange(1)"></el-button>
</div>
</div>
</el-form>
</div>
<div class="tabsBottom">
<div class="foot-main">
<div class="headerText">
<div class="searchP">产品列表</div>
</div>
<div class="exportBtn">
<!-- <div>
<div class="mybuttom" :class="form1.allStatus == item.value ? 'mybuttomshow' : ''" v-show="types == '1'" round
v-for="(item, index) in btnArr" @click="xuanzelist(item)">{{
item.label
}}</div>
</div> -->
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center">
</el-table-column>
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" min-width="200" align="center">
<template slot-scope="scope">
{{ scope.row.cpmc }}
</template>
</el-table-column>
<!-- :label="A2" -->
<el-table-column label="注册/备案号" min-width="270" align="center">
<template slot-scope="scope">
{{ scope.row.bah || scope.row.zczh }}
</template>
</el-table-column>
<el-table-column label="注册/备案日期" min-width="200" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.sj || scope.row.pzrq || shijianguolv(scope.row.sqsj) }}
</template>
</el-table-column>
<el-table-column label="注册/备案状态" min-width="200" align="center">
<template slot-scope="scope">
{{ scope.row.status || scope.row.cpzt }}
</template>
</el-table-column>
<el-table-column label="注册人/备案人" min-width="250" align="center" v-if="types != 3">
<template slot-scope="scope">
{{ scope.row.zcr || scope.row.qymc || scope.row.zcrbar }}
</template>
</el-table-column>
<el-table-column label="境内负责人" min-width="180" align="center" v-if="types != 1 && types != 2">
<template slot-scope="scope">
{{ scope.row.jnzrr }}
</template>
</el-table-column>
<el-table-column label="生产企业" min-width="230" align="center" v-if="types != 2 && types != 4">
<template slot-scope="scope">
{{ scope.row.zcr || scope.row.scqymc }}
</template>
</el-table-column>
<el-table-column label="生产企业许可证" min-width="230" align="center" v-if="types == 1 && form1.allStatus != 2">
<template slot-scope="scope">
{{ scope.row.tyshxydwSc || scope.row.xkzbh }}
</template>
</el-table-column>
<el-table-column label="生产企业地址" min-width="250" align="center" v-if="types == 1">
<template slot-scope="scope">
{{ scope.row.dzSc }}
</template>
</el-table-column>
<el-table-column label="操作" width="120" fixed="right" align="center">
<template slot-scope="scope">
<el-button type="primary" @click="toDetail(scope.row)"></el-button>
<!-- <el-button size="mini" plain type="warning">编辑</el-button> -->
</template>
</el-table-column>
</el-table>
</div>
</section>
<pagination :total="total" :page="form.current" :limit="form.size" @pagination="getPagination"
:current-page.sync="form.current"></pagination>
</div>
</div>
<el-dialog title="提示" :visible.sync="showCK" width="30%">
<span>{{ src }}</span>
<span slot="footer" class="dialog-footer">
<el-button @click="closeDC()"> </el-button>
<el-button type="primary" @click="openDC()"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { download, dchzpsj } from "../../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading } from "element-ui";
import MapCars from "@/views/components/MapCarsLog.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
export default {
components: { MapCars, AdvancedSearch },
data() {
return {
options1: [
{
value: 0,
label: "一般",
},
{
value: 1,
label: "严重",
},
],
MapCarsshow: true,
loading: false,
tableData: [],
A1: "产品名称",
A2: "备案编码",
A3: "生产企业",
types: "4",
total: 0,
options: [
{
value: "1",
label: "国产化妆品",
},
{
value: "2",
label: "国产特殊化妆品",
},
{
value: "3",
label: "进口化妆品",
},
{
value: "4",
label: "进口特殊化妆品",
},
],
optionsTwo: [{
value: "有效",
label: "有效",
}, {
value: "取消备案",
label: "取消备案",
}, {
value: "注销",
label: "注销",
},],
form1: {
babm: "",
cpmc: "",
name: "",
scqy: "",
//
cjxm: "", //
jyslbh: "", //
cybh: "", //
cyjb: "", //
cyrq: "", //
blfybgbh: "", //
blfylx: "", //
fsnf: "", //
zcrbar: "",//
jnfzr: "",//
syrq: "", // 使
status: "",
allStatus: "",
scxkz: "",
zzjyjl: "",
area: this.$store.getters.usersort
},
form: {
size: 20,
current: 1,
area: this.$store.getters.usersort
},
jieliuShow: true,
loadA: null,
showCK: false,
src: "",
bthshow: false,
scoltitle: "展开",
btnArrList: [{
value: "1",
label: '自行生产',
}, {
value: "2",
label: '委托生产',
}]
};
},
mounted() {
this.form1.name = this.$route.query.value || "";
if (this.form1.name) {
this.searchList();
} else {
this.changeType("4");
}
},
created() {
},
methods: {
mySortChange(e) {
this.sortableshowDaty = e
this.form1.pzrqSort = ""
let indextype = e.order == "ascending" ? 1 : e.order == "descending" ? 2 : ""
if (e.column.label == "注册/备案日期") {
this.form1.pzrqSort = indextype
}
this.searchList()
},
shijianguolv(data) {
if (data) {
return data.split(" ")[0]
} else {
return ""
}
},
// inputx
isclear() {
this.searchList()
},
//
xuanzelist(item) {
this.form1.allStatus = item.value
this.searchList();
// if(item == '') {}
// if(item == '') {}
// if(item == '') {}
},
arealist(area) {
this.form.area = area
this.form1.area = area
this.getData(this.types);
},
collapsechange(e) {
if (e == 0) {
this.bthshow = false
} else {
this.bthshow = true
}
},
openDC() {
this.showCK = false;
this.loadA = Loading.service({
text: "正在下载数据,请稍候",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
let query1 = {
//使 1 2 3 4
type: this.types,
//
scqy: this.form1.scqy,
//
cpmc: this.form1.cpmc,
//
name: this.form1.name,
//
babm: this.form1.babm,
};
dchzpsj(query1)
.then((res) => {
const blob = new Blob([res], { type: res.type });
// blob.text().then((res11) => console.log(res11));
console.log(blob.stream());
const link = document.createElement("a");
link.href = window.URL.createObjectURL(blob);
link.style.display = "none";
//
link.download = this.filterTypes(this.types) + ".xlsx";
link.click();
this.loadA.close();
this.$message({
type: "success",
message: "导出成功",
});
})
.catch((err) => {
this.$message({
type: "info",
message: "导出失败",
});
});
},
closeDC() {
this.showCK = false;
this.$message({
type: "info",
message: "已取消导出",
});
},
exportList() {
this.src = `确定导出${this.form1.cpmc ? `产品名称为${this.form1.cpmc}` : ""
}${this.form1.babm ? `备案编号为${this.form1.babm}` : ""}${this.form1.scqy ? `生产企业为${this.form1.scqy}` : ""
}${this.form1.name ? `注册证编号为${this.form1.name}` : ""
}${`化妆品类型为${this.filterTypes(this.types)}`}数据吗?`;
this.showCK = true;
},
filterTypes(e) {
let arr = this.options.filter((value1) => {
return value1.value == e;
});
return arr[0].label;
},
jieliuFunc() {
if (this.jieliuShow) {
this.getData(this.types);
this.jieliuShow = false;
setTimeout(() => {
this.jieliuShow = true;
}, 500);
} else {
this.$message("点击过快");
}
},
//
toDetail(e) {
console.log(e);
let data = "";
if (this.types == "1") {
data = e.bah;
} else if (this.types == "2") {
data = e.zczh;
} else if (this.types == "3") {
data = e.bah;
} else if (this.types == "4") {
data = e.zczh;
}
//type
//flag gt
this.$router.push({
path: `/cosmeticsDetail`,
query: { type: "1", flag: this.types, data },
});
},
//
searchList() {
this.form.current = 1;
for (let i in this.form1) {
this.form[i] = this.form1[i];
}
this.jieliuFunc();
},
getPagination(e) {
console.log(e);
this.form.current = e.page;
this.form.size = e.limit;
// this.chinaCosmetics();
this.jieliuFunc()
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.types = "4";
this.form1 = {
babm: "",
cpmc: "",
name: "",
scqy: "",
//
name: "",
cjxm: "",
jyslbh: "",
cybh: "",
cyjb: "",
cyrq: "",
blfybgbh: "",
blfylx: "",
fsnf: "",
status: "",
allStatus: "",
scxkz: "",
zcrbar: "",//
zzjyjl: "",
area: this.$store.getters.usersort
};
this.form = {
size: 20,
current: 1,
};
if (type != 1) {
this.$refs["mapcars"].showinitCityLayer()
}
this.jieliuFunc();
},
//
async chinaCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.domesticList(this.form);
this.tableData = msg1.data.records;
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
//
async chinaSpecialCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.specialList(this.form);
this.tableData = msg1.data.records;
this.tableData.forEach((item) => {
item.status = '有效'
})
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
//
async importCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.importList(this.form);
this.tableData = msg1.data.records;
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
//
async importSpecialCosmetics() {
this.loading = true;
let msg1 = await this.$api.cosmetics.importSpecialList(this.form);
this.tableData = msg1.data.records;
this.tableData.forEach((item) => {
item.status = '有效'
})
this.total = msg1.data.total;
this.form.size = msg1.data.size;
this.form.current = msg1.data.current;
this.loading = false;
},
async getData(e) {
if (e == "1") {
this.A2 = "备案编码";
this.A3 = "生产企业";
this.chinaCosmetics();
} else if (e == "2") {
this.A2 = "批准日期";
this.A3 = "省份";
this.chinaSpecialCosmetics();
} else if (e == "3") {
this.A2 = "备案编码";
this.A3 = "生产企业";
this.importCosmetics();
} else if (e == "4") {
this.A2 = "批准日期";
this.A3 = "省份";
this.importSpecialCosmetics();
}
},
async changeType(e) {
// this.reset();
this.form1 = {
babm: "",
cpmc: "",
name: "",
scqy: "",
//
name: "",
cjxm: "",
jyslbh: "",
cybh: "",
cyjb: "",
cyrq: "",
blfybgbh: "",
blfylx: "",
fsnf: "",
status: "",
allStatus: "",
scxkz: "",
zcrbar: "",//
area: this.$store.getters.usersort
};
this.form = {
size: 20,
current: 1,
};
this.$refs["mapcars"].isLefleat(e)
this.getData(e);
},
},
beforeRouteLeave(to, from, next) {
if (to.path != '/cosmeticsDetail') {
this.reset(1)
}
this.MapCarsshow = false
next()
},
activated(to, from, next) {
this.bthshow = false
this.MapCarsshow = true
}
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog:not(.is-fullscreen) {
margin-top: 30vh !important;
}
::v-deep .el-dialog__body {
padding: 15px;
}
::v-deep .el-select {
width: 100% !important;
}
.container {
height: 100%;
// overflow: auto;
background: #f2f2f2;
.headerText {
width: 100%;
padding: 10px 20px;
border-bottom: 1px solid #f2f3f5;
color: #323233;
font-size: 20px;
font-weight: bold;
.searchP {
position: relative;
cursor: pointer;
&::before {
content: "";
width: 78px;
height: 3px;
background: #1349c5;
position: absolute;
bottom: -10px;
}
}
}
.tabs {
margin-bottom: 10px;
width: 100%;
background: #fff;
}
}
//===================
::v-deep .el-button--medium {
padding: 8px;
}
.footBox {
width: 97.5%;
text-align: center;
padding-bottom: 10px;
}
.tabsBottom {
.foot-main {
height: 100%;
// min-height: 600px;
width: 100%;
background: white;
}
}
.exportBtn {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 20px;
}
.table-box {
padding: 0px 20px;
.table-item {}
}
.pagination {
display: flex;
justify-content: space-between;
padding: 15px 20px;
}
::v-deep .el-table {
overflow: auto;
}
::v-deep .el-collapse-item__header {
padding-left: 80vw;
font-size: 20px;
font-weight: 600;
.el-collapse-item__arrow {
margin-left: 20px;
}
}
.title-box {
position: relative;
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin: 10px 0;
color: #1349c5;
}
::v-deep .el-collapse {
border: none;
}
::v-deep .logformitem {
.el-form-item__label {
line-height: 20px;
}
}
.mybuttom {
margin: 0 10px;
display: inline-block;
padding: 5px 20px;
background-color: rgba(30, 128, 235, 0.1);
border-radius: 8px;
border: 1px solid #1e80eb;
font-size: 14px;
color: #1e80eb;
font-family: Source Han Sans CN;
cursor: pointer;
&:hover {
background-color: #1e80eb;
color: #ffffff;
border: 1px solid #1e80eb;
}
}
.mybuttomshow {
background-color: #1e80eb;
color: #ffffff;
border: 1px solid #1e80eb;
}
</style>

@ -43,12 +43,12 @@ export default {
},
activated() {
this.$nextTick(() => {
this.Url = `${location.origin}/ggfw-iframe/#/productinformation?type=${this.$route.query.type
}&flag=${this.$route.query.flag}&data=${this.$route.query.data
}&token=${localStorage.getItem("MSSM-LIAONING__TOKEN")}&bah=${this.$route.query.bah}`
// this.Url = `http://localhost:81?type=${this.$route.query.type
// this.Url = `${location.origin}/ggfw-iframe/#/productinformation?type=${this.$route.query.type
// }&flag=${this.$route.query.flag}&data=${this.$route.query.data
// }&token=${localStorage.getItem("MSSM-LIAONING__TOKEN")}&bah=${this.$route.query.bah}`
this.Url = `http://localhost:82?type=${this.$route.query.type
}&flag=${this.$route.query.flag}&data=${this.$route.query.data
}&token=${localStorage.getItem("MSSM-LIAONING__TOKEN")}&bah=${this.$route.query.bah}`
let dom = document.getElementsByClassName("ifram-view");
let height = dom[0].getBoundingClientRect();
// let windowWidth = window.innerWidth;

@ -149,11 +149,12 @@
<div class="searchP">产品列表</div>
</div>
<div class="exportBtn">
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" >
<el-table v-loading="loading" :data="tableData" border height="500"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="selection" width="60" align="center">
</el-table-column>
<el-table-column type="index" label="序号" width="80" align="center" />
@ -168,7 +169,7 @@
{{ scope.row.bah }}
</template>
</el-table-column>
<el-table-column label="注册/备案日期" min-width="170" align="center">
<el-table-column label="注册/备案日期" min-width="170" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.sqsj.split(" ")[0] }}
</template>
@ -325,6 +326,16 @@ export default {
created() {
},
methods: {
mySortChange(e) {
this.sortableshowDaty = e
this.form1.sqsjSort = ""
let indextype = e.order == "ascending" ? 1 : e.order == "descending" ? 2 : ""
if (e.column.label == "注册/备案日期") {
this.form1.sqsjSort = indextype
}
this.searchList()
},
// inputx
isclear() {
this.searchList()
@ -455,6 +466,7 @@ export default {
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.types = "1";
this.form1 = {
babm: "",
@ -676,7 +688,7 @@ export default {
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}

@ -51,7 +51,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="剂型">
<el-select v-model="form1.jx" placeholder="请选择剂型" clearable @clear="isclear">
<el-select v-model="form1.jx" placeholder="请选择剂型" multiple clearable @clear="isclear">
<el-option v-for="item in jxType" :key="item" :label="item" :value="item">
</el-option>
</el-select>
@ -59,15 +59,16 @@
<el-col :span="8">
<el-form-item label="持有人">
<el-input v-model="form1.ypssxkcyr" placeholder="请输入持有人" clearable @clear="isclear"></el-input>
</el-form-item></el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<!-- <el-col :span="8">
<el-form-item label="药品编码">
<el-input v-model="form1.ypbm" placeholder="请输入药品编码" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="8">
<el-form-item label="特殊药品类型">
<el-select v-model="form1.tsypglfl" placeholder="请选择特殊药品类型" clearable @clear="isclear">
@ -76,86 +77,30 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="批准日期">
<el-date-picker v-model="pzrqStartTime" type="daterange" range-separator="" start-placeholder=""
end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" clearable @change="changeisclear">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="批准文号期限">
<el-date-picker v-model="yppzwhyxqStartTime" type="daterange" range-separator="" start-placeholder=""
end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" clearable @change="changeisclear">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
<div v-show="!bthshow">
<el-row>
<div class="title-box">产品抽检信息查询</div>
<el-col :span="8">
<el-form-item label="检验项目">
<el-input v-model="form1.cjxm" placeholder="请输入检验项目" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验报告书编号">
<el-input v-model="form1.jyslbh" placeholder="请输入检验报告书编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样编号">
<el-input v-model="form1.cybh" placeholder="请输入抽样编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="抽样级别">
<el-input v-model="form1.cyjb" placeholder="请输入抽样级别" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样日期" placeholder="请输入抽样日期">
<el-input v-model="form1.cyrq" placeholder="请输入抽样日期" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最终检验结论" placeholder="请输入最终检验结论">
<el-input v-model="form1.zzjyjl" placeholder="请输入最终检验结论" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<div class="title-box">不良反应信息查询</div>
<el-col :span="8">
<el-form-item label="发生年份">
<el-input v-model="form1.fsnf" placeholder="请输入发生年份" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="logformitem">
<el-form-item label="不良反应报告编号">
<el-input v-model="form1.blfybgbh" placeholder="请输入不良反应报告编号" clearable @clear="isclear"></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<el-form-item label="报告类型">
<!-- <el-input v-model="form1.blfylx" placeholder="请输入不良反应类型" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.bglx" placeholder="请选择报告类型">
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="不良反应名称">
<el-input v-model="form1.blfymc" placeholder="请输入不良反应名称" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="footBox " v-show="!bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-remove-outline" @click="collapsechange(1)"></el-button>
</div>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear">
</AdvancedSearch>
</el-form>
</div>
@ -168,14 +113,15 @@
<div>
<div class="mybuttom" :class="btnShow == item.value ? 'mybuttomshow' : ''" round
v-for="(item, index) in btnArr" @click="xuanzelist(item)">{{
item.label
}}</div>
item.label
}}</div>
</div>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" min-width="160" align="center">
<template slot-scope="scope">
@ -183,53 +129,65 @@
</template>
</el-table-column>
<el-table-column label="批准文号" min-width="160" align="center">
<template slot-scope="scope">
{{ scope.row.yppzwh }}
</template>
</el-table-column>
<el-table-column label="药品分类" min-width="120" align="center">
<template slot-scope="scope">
{{ scope.row.ypfl }}
</template>
</el-table-column>
<el-table-column label="剂型" min-width="100" align="center">
<template slot-scope="scope">
{{ scope.row.jx }}
</template>
</el-table-column>
<el-table-column label="规格" min-width="120" align="center">
<template slot-scope="scope">
{{ scope.row.gg }}
</template>
</el-table-column>
<el-table-column label="批准日期" min-width="140" align="center">
<el-table-column label="上市许可持有人" min-width="190" align="center">
<template slot-scope="scope">
{{ scope.row.pzrq }}
{{ scope.row.ypssxkcyr }}
</template>
</el-table-column>
<el-table-column label="批准文号期限" min-width="170" align="center">
<el-table-column label="生产企业" min-width="170" align="center">
<template slot-scope="scope">
{{ scope.row.yppzwhyxq }}
{{ scope.row.scqy }}
</template>
</el-table-column>
<el-table-column label="上市许可持有人" min-width="190" align="center">
<el-table-column label="批准日期" min-width="140" align="center" :sortable="sortableshow">
<template slot-scope="scope">
{{ scope.row.ypssxkcyr }}
{{ scope.row.pzrq }}
</template>
</el-table-column>
<el-table-column label="生产企业" min-width="170" align="center">
<el-table-column label="批准文号期限" min-width="170" align="center" :sortable="sortableshow">
<template slot-scope="scope">
{{ scope.row.scqy }}
{{ scope.row.yppzwhyxq }}
</template>
</el-table-column>
<el-table-column label="生产地址" min-width="170" align="center">
<template slot-scope="scope">
<div class="norepet">{{ scope.row.scdz }}</div>
</template>
</el-table-column>
<el-table-column label="操作" width="100" fixed="right" align="center">
<el-table-column label="操作" width="200" fixed="right" align="center">
<template slot-scope="scope">
<el-button type="primary" @click="toDetail(scope.row)"></el-button>
<el-button type="primary" @click="toDetail(scope.row, 1)">查看</el-button>
<el-button type="primary" @click="toDetail(scope.row, 2)">产品画像</el-button>
</template>
</el-table-column>
</el-table>
@ -253,13 +211,16 @@
import { download, dcyp } from "../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading, TabPane } from "element-ui";
import MapCars from "@/views/components/MapCars.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
export default {
components: {
MapCars,
AdvancedSearch
},
data() {
return {
sortableshow: true,
options1: [
{
value: 0,
@ -304,12 +265,14 @@ export default {
},
],
MapCarsshow: true,
bthshow: true,
bthshow: false,
//===========
loading: false,
tableData: [],
total: 0,
pzrqStartTime: null,
yppzwhyxqStartTime: null,
form1: {
yptymc: "", //
jx: "", //
@ -330,7 +293,7 @@ export default {
bglx: "", //
fsnf: "", //
zzjyjl: "",//
tsypglfl:"",
tsypglfl: "",
area: this.$store.getters.usersort,
myEntrust: "全部",
type: ""
@ -365,11 +328,11 @@ export default {
iscss: "warning",
value: "全部"
}, {
label: '自产',
label: '自行生产',
iscss: "success",
value: '自产'
}, {
label: '委托',
label: '委托生产',
iscss: "primary",
value: '委受托'
}],
@ -393,6 +356,17 @@ export default {
},
methods: {
mySortChange(e) {
this.form1.pzrqSort = ""
this.form1.yppzwhyxqSort = ""
if (e.column.label == "批准日期") {
this.form1.pzrqSort = e.order == "ascending" ? 1 : 2
}
if (e.column.label == "批准文号期限") {
this.form1.yppzwhyxqSort = e.order == "ascending" ? 1 : 2
}
this.searchList()
},
//
xuanzelist(item) {
this.btnShow = item.value
@ -409,6 +383,11 @@ export default {
// if(item == '') {}
},
// inputx
changeisclear(e) {
if (e == null) {
this.isclear()
}
},
isclear() {
this.searchList()
},
@ -481,18 +460,41 @@ export default {
this.$message("点击过快");
}
},
//
toDetail(e) {
setTimeout(() => {
this.$router.push({
path: `/cosmeticsDetail`,
query: { type: "2", data: e.yppzwh },
});
}, 1000);
// code=H20234319&name=&type=1
toDetail(e, type) {
if (type == 1) {
setTimeout(() => {
this.$router.push({
path: `/cosmeticsDetail`,
query: { type: "2", data: e.yppzwh },
});
}, 1000);
} else {
console.log(e);
window.open(`${location.origin}/ggfw-jcphx/#/bgpage?code=${e.yppzwh}&name=${e.yptymc}&type=1`);
}
},
//
searchList() {
if (this.pzrqStartTime) {
this.form1.pzrqStartTime = this.pzrqStartTime[0]
this.form1.pzrqEndTime = this.pzrqStartTime[1]
} else {
this.form1.pzrqStartTime = ""
this.form1.pzrqEndTime = ""
}
if (this.yppzwhyxqStartTime) {
this.form1.yppzwhyxqStartTime = this.yppzwhyxqStartTime[0]
this.form1.yppzwhyxqEndTime = this.yppzwhyxqStartTime[1]
} else {
this.form1.yppzwhyxqStartTime = ""
this.form1.yppzwhyxqEndTime = ""
}
this.form.current = 1;
console.log(this.form1);
for (let i in this.form1) {
this.form[i] = this.form1[i];
}
@ -506,6 +508,9 @@ export default {
},
//
reset(type) {
this.pzrqStartTime = ""
this.yppzwhyxqStartTime = ""
this.$refs.tableRef.clearSort(); //
this.btnShow = '全部'
this.form1 = {
//
@ -537,7 +542,7 @@ export default {
myEntrust: "全部",
type: "",
zzjyjl: "",//
tsypglfl:"",
tsypglfl: "",
area: this.$store.getters.usersort
};
this.form = {
@ -551,6 +556,7 @@ export default {
this.$refs["mapcars"].showinitCityLayer()
}
this.jieliuFunc();
},
//
async chinaCosmetics() {
@ -571,6 +577,7 @@ export default {
next()
},
activated(to, from, next) {
this.bthshow = false
this.MapCarsshow = true
}
@ -687,7 +694,7 @@ export default {
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}
@ -715,5 +722,22 @@ export default {
color: #ffffff;
border: 1px solid #1e80eb;
}
</style>
::v-deep .el-date-editor--daterange.el-input,
.el-date-editor--daterange.el-input__inner,
.el-date-editor--timerange.el-input,
.el-date-editor--timerange.el-input__inner {
width: 100%;
}
::v-deep.el-date-editor .el-range__close-icon {
color: #555555;
&:hover {
font-size: 18px;
color: #000;
}
}
</style>

@ -26,7 +26,8 @@
<el-row>
<el-col :span="8">
<el-form-item label="产品名称">
<el-input v-model="form1.yptymc" placeholder="请输入产品名称" clearable @clear="isclear"></el-input>
<el-input v-model="form1.yptymc" placeholder="请输入产品名称" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -39,7 +40,8 @@
</el-col>
<el-col :span="8">
<el-form-item label="批准文号">
<el-input v-model="form1.yppzwh" placeholder="请输入批准文号" clearable @clear="isclear"></el-input>
<el-input v-model="form1.yppzwh" placeholder="请输入批准文号" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -51,107 +53,50 @@
</el-col>
<el-col :span="8">
<el-form-item label="剂型">
<el-select v-model="form1.jx" placeholder="请选择剂型" clearable @clear="isclear">
<el-select v-model="form1.jx" placeholder="请选择剂型" multiple clearable @clear="isclear">
<el-option v-for="item in jxType" :key="item" :label="item" :value="item">
</el-option>
</el-select> </el-form-item></el-col>
<el-col :span="8">
<el-form-item label="持有人">
<el-input v-model="form1.ypssxkcyr" placeholder="请输入持有人" clearable @clear="isclear"></el-input>
<el-input v-model="form1.ypssxkcyr" placeholder="请输入持有人" clearable
@clear="isclear"></el-input>
</el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="8">
<!-- <el-col :span="8">
<el-form-item label="药品编码">
<el-input v-model="form1.ypbm" placeholder="请输入药品编码" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="批准日期">
<el-date-picker v-model="pzrqStartTime" type="daterange" range-separator=""
start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" clearable @change="changeisclear">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="批准文号期限">
<el-date-picker v-model="yppzwhyxqStartTime" type="daterange" range-separator=""
start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" clearable @change="changeisclear">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<div class="footBox" v-show="bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="collapsechange(0)"></el-button>
</div>
<div v-show="!bthshow">
<el-row>
<div class="title-box">产品抽检信息查询</div>
<el-col :span="8">
<el-form-item label="检验项目">
<el-input v-model="form1.cjxm" placeholder="请输入检验项目" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="检验报告书编号">
<el-input v-model="form1.jyslbh" placeholder="请输入检验报告书编号" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样编号">
<el-input v-model="form1.cybh" placeholder="请输入抽样编号" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="抽样级别">
<el-input v-model="form1.cyjb" placeholder="请输入抽样级别" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样日期" placeholder="请输入抽样日期">
<el-input v-model="form1.cyrq" placeholder="请输入抽样日期" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最终检验结论" placeholder="请输入最终检验结论">
<el-input v-model="form1.zzjyjl" placeholder="请输入最终检验结论" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<div class="title-box">不良反应信息查询</div>
<el-col :span="8">
<el-form-item label="发生年份">
<el-input v-model="form1.fsnf" placeholder="请输入发生年份" clearable @clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="logformitem">
<el-form-item label="不良反应报告编号">
<el-input v-model="form1.blfybgbh" placeholder="请输入不良反应报告编号" clearable
@clear="isclear"></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<el-form-item label="报告类型">
<!-- <el-input v-model="form1.blfylx" placeholder="请输入不良反应类型" clearable @clear="isclear"></el-input> -->
<el-select v-model="form1.bglx" placeholder="请选择报告类型">
<el-option v-for="item in options1" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="不良反应名称">
<el-input v-model="form1.blfymc" placeholder="请输入不良反应名称" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<div class="footBox " v-show="!bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-remove-outline" @click="collapsechange(1)"></el-button>
</div>
<el-button type="success" icon="el-icon-circle-plus-outline"
@click="collapsechange(0)">高级查询</el-button>
</div>
<AdvancedSearch :form1="form1" v-show="!bthshow" @reset="reset" @searchList="searchList"
@collapsechange="collapsechange" @isclear="isclear">
</AdvancedSearch>
</el-form>
</div>
@ -161,11 +106,12 @@
<div class="searchP">药品列表</div>
</div>
<div class="exportBtn">
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%"
@sort-change="mySortChange" ref="tableRef">
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="产品名称" min-width="160" align="center">
<template slot-scope="scope">
@ -173,53 +119,65 @@
</template>
</el-table-column>
<el-table-column label="批准文号" min-width="160" align="center">
<template slot-scope="scope">
{{ scope.row.yppzwh }}
</template>
</el-table-column>
<el-table-column label="药品分类" min-width="120" align="center">
<template slot-scope="scope">
{{ scope.row.ypfl }}
</template>
</el-table-column>
<el-table-column label="剂型" min-width="100" align="center">
<template slot-scope="scope">
{{ scope.row.jx }}
</template>
</el-table-column>
<el-table-column label="规格" min-width="120" align="center">
<template slot-scope="scope">
{{ scope.row.gg }}
</template>
</el-table-column>
<el-table-column label="批准日期" min-width="140" align="center">
<el-table-column label="上市许可持有人" min-width="190" align="center">
<template slot-scope="scope">
{{ scope.row.pzrq }}
{{ scope.row.ypssxkcyr }}
</template>
</el-table-column>
<el-table-column label="批准文号期限" min-width="180" align="center">
<el-table-column label="生产企业" min-width="170" align="center">
<template slot-scope="scope">
{{ scope.row.yppzwhyxq }}
{{ scope.row.scqy }}
</template>
</el-table-column>
<el-table-column label="上市许可持有人" min-width="190" align="center">
<el-table-column label="批准日期" min-width="140" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.ypssxkcyr }}
{{ scope.row.pzrq }}
</template>
</el-table-column>
<el-table-column label="生产企业" min-width="170" align="center">
<el-table-column label="批准文号期限" min-width="180" align="center" sortable="custom">
<template slot-scope="scope">
{{ scope.row.scqy }}
{{ scope.row.yppzwhyxq }}
</template>
</el-table-column>
<el-table-column label="生产地址" min-width="170" align="center">
<template slot-scope="scope">
<div class="norepet">{{ scope.row.scdz }}</div>
</template>
</el-table-column>
<el-table-column label="操作" width="100" fixed="right" align="center">
<el-table-column label="操作" width="200" fixed="right" align="center">
<template slot-scope="scope">
<el-button type="primary" @click="toDetail(scope.row)"></el-button>
<el-button type="primary" @click="toDetail(scope.row, 1)">查看</el-button>
<el-button type="primary" @click="toDetail(scope.row, 2)">产品画像</el-button>
</template>
</el-table-column>
</el-table>
@ -243,10 +201,13 @@
import { download, dcyp } from "../../../api/archives/updata";
import { Notification, MessageBox, Message, Loading, TabPane } from "element-ui";
// import MapCars from "@/views/components/MapCars.vue";
import AdvancedSearch from "@/views/components/AdvancedSearch";
export default {
components: {
// MapCars,
AdvancedSearch
},
data() {
return {
@ -261,12 +222,14 @@ export default {
},
],
MapCarsshow: true,
bthshow: true,
bthshow: false,
//===========
loading: false,
tableData: [],
total: 0,
pzrqStartTime: null,
yppzwhyxqStartTime: null,
form1: {
yptymc: "", //
jx: "", //
@ -332,7 +295,26 @@ export default {
},
methods: {
mySortChange(e) {
this.sortableshowDaty = e
this.form1.pzrqSort = ""
this.form1.yppzwhyxqSort = ""
let indextype = e.order == "ascending" ? 1 : e.order == "descending" ? 2 : ""
if (e.column.label == "批准日期") {
this.form1.pzrqSort = indextype
}
if (e.column.label == "批准文号期限") {
this.form1.yppzwhyxqSort = indextype
}
this.searchList()
},
// inputx
changeisclear(e) {
if (e == null) {
this.isclear()
}
},
isclear() {
this.searchList()
},
@ -408,21 +390,43 @@ export default {
}
},
//
toDetail(e) {
setTimeout(() => {
this.$router.push({
path: `/cosmeticsDetail`,
query: { type: "2", data: e.yppzwh },
});
}, 1000);
toDetail(e, type) {
if (type == 1) {
setTimeout(() => {
this.$router.push({
path: `/cosmeticsDetail`,
query: { type: "2", data: e.yppzwh },
});
}, 1000);
} else {
console.log(e);
window.open(`${location.origin}/ggfw-jcphx/#/bgpage?code=${e.yppzwh}&name=${e.yptymc}&type=1`);
}
},
//
searchList() {
if (this.pzrqStartTime) {
this.form1.pzrqStartTime = this.pzrqStartTime[0]
this.form1.pzrqEndTime = this.pzrqStartTime[1]
} else {
this.form1.pzrqStartTime = ""
this.form1.pzrqEndTime = ""
}
if (this.yppzwhyxqStartTime) {
this.form1.yppzwhyxqStartTime = this.yppzwhyxqStartTime[0]
this.form1.yppzwhyxqEndTime = this.yppzwhyxqStartTime[1]
} else {
this.form1.yppzwhyxqStartTime = ""
this.form1.yppzwhyxqEndTime = ""
}
this.form.current = 1;
for (let i in this.form1) {
this.form[i] = this.form1[i];
}
this.jieliuFunc();
},
//
getPagination(e) {
@ -432,6 +436,8 @@ export default {
},
//
reset(type) {
this.$refs.tableRef.clearSort(); //
this.form1 = {
yptymc: "", //
jx: "", //
@ -483,6 +489,7 @@ export default {
next()
},
activated(to, from, next) {
this.bthshow = false
this.MapCarsshow = true
}
@ -596,8 +603,25 @@ export default {
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}
</style>
::v-deep .el-date-editor--daterange.el-input,
.el-date-editor--daterange.el-input__inner,
.el-date-editor--timerange.el-input,
.el-date-editor--timerange.el-input__inner {
width: 100%;
}
::v-deep.el-date-editor .el-range__close-icon {
color: #555555;
&:hover {
font-size: 18px;
color: #000;
}
}
</style>

@ -26,13 +26,15 @@
<el-row>
<el-col :span="8">
<el-form-item label="产品名称">
<el-input v-model="form1.pzName" placeholder="请输入产品名称" clearable @clear="isclear"></el-input>
<el-input v-model="form1.pzName" placeholder="请输入产品名称" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品来源">
<el-input v-model="form1.cpSource" placeholder="请输入产品来源" clearable @clear="isclear"></el-input>
<el-input v-model="form1.cpSource" placeholder="请输入产品来源" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -49,7 +51,8 @@
</el-form-item></el-col>
<el-col :span="8">
<el-form-item label="生产许可证">
<el-input v-model="form1.scxkz" placeholder="请输入生产许可证" clearable @clear="isclear"></el-input>
<el-input v-model="form1.scxkz" placeholder="请输入生产许可证" clearable
@clear="isclear"></el-input>
</el-form-item></el-col>
</el-row>
@ -63,7 +66,8 @@
<div class="title-box">产品抽检信息查询</div>
<el-col :span="8">
<el-form-item label="检验项目">
<el-input v-model="form1.cjxm" placeholder="请输入检验项目" clearable @clear="isclear"></el-input>
<el-input v-model="form1.cjxm" placeholder="请输入检验项目" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -74,19 +78,22 @@
</el-col>
<el-col :span="8">
<el-form-item label="抽样编号">
<el-input v-model="form1.cybh" placeholder="请输入抽样编号" clearable @clear="isclear"></el-input>
<el-input v-model="form1.cybh" placeholder="请输入抽样编号" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="抽样级别">
<el-input v-model="form1.cyjb" placeholder="请输入抽样级别" clearable @clear="isclear"></el-input>
<el-input v-model="form1.cyjb" placeholder="请输入抽样级别" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="抽样日期" placeholder="请输入抽样日期">
<el-input v-model="form1.cyrq" placeholder="请输入抽样日期" clearable @clear="isclear"></el-input>
<el-input v-model="form1.cyrq" placeholder="请输入抽样日期" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -94,7 +101,8 @@
<div class="title-box">不良反应信息查询</div>
<el-col :span="8">
<el-form-item label="发生年份">
<el-input v-model="form1.fsnf" placeholder="请输入发生年份" clearable @clear="isclear"></el-input>
<el-input v-model="form1.fsnf" placeholder="请输入发生年份" clearable
@clear="isclear"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@ -116,7 +124,8 @@
<div class="footBox " v-show="!bthshow">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="searchList"></el-button>
<el-button type="success" icon="el-icon-remove-outline" @click="collapsechange(1)"></el-button>
<el-button type="success" icon="el-icon-remove-outline"
@click="collapsechange(1)">收起</el-button>
</div>
</div>
</el-form>
@ -128,7 +137,7 @@
<div class="searchP">药品列表</div>
</div>
<div class="exportBtn">
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
@ -159,6 +168,11 @@
{{ scope.row.bzgg }}
</template>
</el-table-column>
<el-table-column label="批准文号" min-width="180" align="center">
<template slot-scope="scope">
{{ scope.row.bz }}
</template>
</el-table-column>
<el-table-column label="企业名称" min-width="200" align="center">
<template slot-scope="scope">
{{ scope.row.qymc }}
@ -561,8 +575,7 @@ ${this.form1.scxkz}、` : ""
padding-left: 30px;
font-size: 16px;
font-weight: 600;
margin-bottom: 20px;
margin: 10px 0;
color: #1349c5;
}
</style>

@ -50,6 +50,14 @@
</el-form-item>
</div>
</el-col>
<el-col :span="8">
<el-form-item label="备案状态">
<el-select v-model="form1.status" placeholder=" 请选择备案状态" clearable @clear="isclear">
<el-option v-for="item in optionsSi" :key="item" :label="item" :value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<div class="footBox">
@ -65,11 +73,11 @@
<div class="searchP">传统中药制剂列表</div>
</div>
<div class="exportBtn">
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()"></el-button>
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">excel</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table v-loading="loading" :data="tableData" border height="500" style="width: 100%">
<el-table-column type="index" label="序号" width="80" align="center" />
<el-table-column label="通用名称" min-width="120" align="center">
<template slot-scope="scope">
@ -112,7 +120,7 @@
{{ scope.row.uniscid }}
</template>
</el-table-column>
<el-table-column label="操作" width="100" fixed="right" align="center">
<el-table-column label="操作" width="100" fixed="right" align="center">
<template slot-scope="scope">
<el-button type="primary" @click="toDetail(scope.row)"></el-button>
</template>
@ -162,6 +170,7 @@ export default {
yljgmc: "",
//
name: "",
status: "",//
area: this.$store.getters.usersort
},
@ -192,6 +201,7 @@ export default {
loadA: null,
showCK: false,
src: "",
optionsSi: ["正常", "注销"]
};
},
mounted() {

@ -87,7 +87,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:config:export']"
>导出</el-button>
>导出excel</el-button>
</el-col>
<el-col :span="1.5">
<el-button

@ -76,7 +76,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:dict:export']"
>导出</el-button>
>导出excel</el-button>
</el-col>
<el-col :span="1.5">
<el-button

@ -92,7 +92,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:dict:export']"
>导出</el-button>
>导出excel</el-button>
</el-col>
<el-col :span="1.5">
<el-button

@ -74,7 +74,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:post:export']"
>导出</el-button>
>导出excel</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>

@ -92,7 +92,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:role:export']"
>导出</el-button>
>导出excel</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>

@ -131,7 +131,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:user:export']"
>导出</el-button>
>导出excel</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>

@ -42,9 +42,9 @@ module.exports = {
open: true,
proxy: {
"/configApi": {
target: "https://dev-mssm-liaoning.lesdev.cn/ggfw-api",
// target: "https://dev-mssm-liaoning.lesdev.cn/ggfw-api",
// target: "http://172.24.20.196/ggfw-api",
// target: "http://192.168.0.113:9023/ggfw-api",
target: "http://192.168.0.107:9023/ggfw-api",
changeOrigin: true,
pathRewrite: {

Loading…
Cancel
Save