|
|
|
@ -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 ""
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 点击input上的x号
|
|
|
|
|
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>
|