parent
51ea25ee09
commit
20f1b5ed91
@ -1,475 +1,24 @@
|
|||||||
<template>
|
|
||||||
<div class="container">
|
|
||||||
<div class="tabs">
|
|
||||||
<div class="headerText">
|
|
||||||
<div class="searchP">统计分析</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<MapCars leafletitle="药品" echartstitle="药品" @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>
|
|
||||||
<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="请输入产品名称"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="药品分类">
|
|
||||||
<el-select v-model="form1.ypfl" placeholder="请选择药品分类">
|
|
||||||
<el-option v-for="item in ypType" :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.pzwh" placeholder="请输入批准文号"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="生产企业">
|
|
||||||
<el-input v-model="form1.scqy" placeholder="请输入生产企业"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="剂型">
|
|
||||||
<el-select v-model="form1.jx" placeholder="请选择剂型">
|
|
||||||
<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-select v-model="form1.sfcj" placeholder="请选择">
|
|
||||||
<el-option v-for="item in shif" :key="item" :label="item" :value="item">
|
|
||||||
</el-option>
|
|
||||||
</el-select> </el-form-item></el-col>
|
|
||||||
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item label="是否有不良反应">
|
|
||||||
<el-select v-model="form1.sfyblfy" placeholder="请选择">
|
|
||||||
<el-option v-for="item in shif" :key="item" :label="item" :value="item">
|
|
||||||
</el-option>
|
|
||||||
</el-select> </el-form-item>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
|
|
||||||
</el-row>
|
<template>
|
||||||
<div class="footBox">
|
<div>
|
||||||
<el-button icon="el-icon-refresh-left" @click="reset">重置</el-button>
|
<keep-alive>
|
||||||
<el-button type="primary" icon="el-icon-search" @click="searchList">查询</el-button>
|
<router-view></router-view>
|
||||||
</div>
|
</keep-alive>
|
||||||
|
|
||||||
</el-form>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="tabsBottom">
|
|
||||||
<div class="foot-main">
|
|
||||||
<div class="headerText">
|
|
||||||
<div class="searchP">药品列表</div>
|
|
||||||
</div>
|
|
||||||
<div class="exportBtn">
|
|
||||||
<el-button type="primary" icon="el-icon-edit-outline" @click="exportList()">导出</el-button>
|
|
||||||
</div>
|
|
||||||
<section class="table-box">
|
|
||||||
<div class="table-item">
|
|
||||||
<el-table v-loading="loading" :data="tableData" border>
|
|
||||||
<el-table-column type="index" label="序号" width="80" align="center" />
|
|
||||||
<el-table-column label="产品名称" width="230" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.yptymc }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="批准文号" width="280" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.yppzwh }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="药品分类" width="120" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.ypfl }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="剂型" width="120" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.jx }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="规格" width="120" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.ypgg }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="批准日期" min-width="180" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.pzrq }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="批准文号有限期" min-width="200" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.yppzwhyxq }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="生产单位" min-width="230" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.ypscqymc }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="生产地址" min-width="230" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<div class="norepet">{{ scope.row.scdz }}</div>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="生产企业" min-width="230" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
{{ scope.row.ypscqymc }}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作" class-name="small-padding fixed-width" width="100" fixed="right" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button type="primary" @click="toDetail(scope.row)">查看</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" :page-sizes="[5, 10, 20]"></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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { download, dcyp } from "../../api/archives/updata";
|
|
||||||
import { Notification, MessageBox, Message, Loading, TabPane } from "element-ui";
|
|
||||||
import MapCars from "@/views/components/MapCars.vue";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
name: '',
|
||||||
MapCars,
|
components: {},
|
||||||
},
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
MapCarsshow: true,
|
|
||||||
//===========
|
|
||||||
loading: false,
|
|
||||||
tableData: [],
|
|
||||||
total: 0,
|
|
||||||
form1: {
|
|
||||||
//产品名称
|
|
||||||
cpmc: "",
|
|
||||||
//剂型
|
|
||||||
jx: "",
|
|
||||||
//批准文号
|
|
||||||
pzwh: "",
|
|
||||||
//生产企业
|
|
||||||
scqy: "",
|
|
||||||
//药品分类
|
|
||||||
ypfl: "",
|
|
||||||
// 统一查询
|
|
||||||
name: "",
|
|
||||||
// 是否抽检
|
|
||||||
sfcj: "",
|
|
||||||
//是否有不良反应
|
|
||||||
sfyblfy: "",
|
|
||||||
area: this.$store.getters.usersort
|
|
||||||
|
|
||||||
},
|
|
||||||
form: {
|
|
||||||
size: 20,
|
|
||||||
current: 1,
|
|
||||||
area: this.$store.getters.usersort
|
|
||||||
},
|
|
||||||
//药品分类
|
|
||||||
ypType: ["中药", "生物制品", "化学药品"],
|
|
||||||
//剂型
|
|
||||||
jxType: [
|
|
||||||
"散剂",
|
|
||||||
"片剂",
|
|
||||||
"颗粒剂",
|
|
||||||
"胶囊剂",
|
|
||||||
"溶液剂",
|
|
||||||
"乳剂",
|
|
||||||
"混悬剂",
|
|
||||||
"注射剂",
|
|
||||||
"喷雾剂",
|
|
||||||
"气雾剂",
|
|
||||||
],
|
|
||||||
shif: ["是", "否"],
|
|
||||||
jieliuShow: true,
|
|
||||||
|
|
||||||
loadA: null,
|
|
||||||
showCK: false,
|
|
||||||
src: "",
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.form1.name = this.$route.query.value || "";
|
|
||||||
if (this.form1.name) {
|
|
||||||
this.searchList();
|
|
||||||
} else {
|
|
||||||
this.chinaCosmetics(1);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
arealist(area) {
|
|
||||||
this.form.area = area
|
|
||||||
this.form1.area = area
|
|
||||||
this.chinaCosmetics()
|
|
||||||
},
|
|
||||||
openDC() {
|
|
||||||
this.showCK = false;
|
|
||||||
this.loadA = Loading.service({
|
|
||||||
text: "正在下载数据,请稍候",
|
|
||||||
spinner: "el-icon-loading",
|
|
||||||
background: "rgba(0, 0, 0, 0.7)",
|
|
||||||
});
|
|
||||||
dcyp(this.form1).then((res) => {
|
|
||||||
const blob = new Blob([res], { type: res.type });
|
|
||||||
const link = document.createElement("a");
|
|
||||||
link.href = window.URL.createObjectURL(blob);
|
|
||||||
link.style.display = "none";
|
|
||||||
link.download = "药品" + ".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.ypfl ? `药品分类为${this.form1.ypfl}、` : ""}${this.form1.pzwh ? `批准文号为${this.form1.pzwh}、` : ""
|
|
||||||
}${this.form1.scqy ? `生产企业为${this.form1.scqy}、` : ""}${this.form1.jx ? `剂型为${this.form1.jx}、` : ""
|
|
||||||
}数据吗?`;
|
|
||||||
this.showCK = true;
|
|
||||||
},
|
|
||||||
jieliuFunc() {
|
|
||||||
if (this.jieliuShow) {
|
|
||||||
this.chinaCosmetics();
|
|
||||||
this.jieliuShow = false;
|
|
||||||
setTimeout(() => {
|
|
||||||
this.jieliuShow = true;
|
|
||||||
}, 500);
|
|
||||||
} else {
|
|
||||||
this.$message("点击过快");
|
|
||||||
}
|
|
||||||
},
|
|
||||||
//去内嵌页面
|
|
||||||
toDetail(e) {
|
|
||||||
setTimeout(() => {
|
|
||||||
this.$router.push({
|
|
||||||
path: `/cosmeticsDetail`,
|
|
||||||
query: { type: "2", data: e.yppzwh },
|
|
||||||
});
|
|
||||||
}, 1000);
|
|
||||||
},
|
|
||||||
//搜索
|
|
||||||
searchList() {
|
|
||||||
this.form.current = 1;
|
|
||||||
for (let i in this.form1) {
|
|
||||||
this.form[i] = this.form1[i];
|
|
||||||
}
|
|
||||||
this.jieliuFunc();
|
|
||||||
},
|
|
||||||
getPagination(e) {
|
|
||||||
this.form.current = e.page;
|
|
||||||
this.form.size = e.limit;
|
|
||||||
this.chinaCosmetics(1);
|
|
||||||
},
|
|
||||||
//重置
|
|
||||||
reset(type) {
|
|
||||||
this.form1 = {
|
|
||||||
//产品名称
|
|
||||||
cpmc: "",
|
|
||||||
//剂型
|
|
||||||
jx: "",
|
|
||||||
//批准文号
|
|
||||||
pzwh: "",
|
|
||||||
//生产企业
|
|
||||||
scqy: "",
|
|
||||||
//药品分类
|
|
||||||
ypfl: "",
|
|
||||||
// 统一查询
|
|
||||||
name: "",
|
|
||||||
// 是否抽检
|
|
||||||
sfcj: "",
|
|
||||||
//是否有不良反应
|
|
||||||
sfyblfy: "",
|
|
||||||
area: this.$store.getters.usersort
|
|
||||||
|
|
||||||
};
|
|
||||||
this.form = {
|
|
||||||
size: 20,
|
|
||||||
current: 1,
|
|
||||||
area: this.$store.getters.usersort
|
|
||||||
};
|
|
||||||
if (type != 1) {
|
|
||||||
this.$refs["mapcars"].showinitCityLayer()
|
|
||||||
}
|
}
|
||||||
this.jieliuFunc();
|
|
||||||
},
|
|
||||||
// 药品
|
|
||||||
async chinaCosmetics() {
|
|
||||||
this.loading = true;
|
|
||||||
let msg1 = await this.$api.cosmetics.vRdgYpwhGxwz(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;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
beforeRouteLeave(to, from, next) {
|
created() { },
|
||||||
if (to.path != '/cosmeticsDetail') {
|
mounted() { },
|
||||||
this.reset(1)
|
methods: {},
|
||||||
this.MapCarsshow = false
|
computed: {}
|
||||||
}
|
|
||||||
next()
|
|
||||||
},
|
|
||||||
activated(to, from, next) {
|
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
</script>
|
||||||
::v-deep .el-select {
|
<style scoped lang='scss'></style>
|
||||||
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 {
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
Loading…
Reference in new issue