杜函宇 2 years ago
commit 4a06e66bd8

@ -5,6 +5,7 @@ VUE_APP_TITLE = 产品档案管理系统
ENV = 'development' ENV = 'development'
# 开发环境 # 开发环境
VUE_APP_BASE_API = '/configApi' VUE_APP_BASE_API = '/configApi'
VUE_APP_BASE_API2 = '/api'
VUE_APP_PREFIX ='' VUE_APP_PREFIX =''
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true

@ -26,12 +26,11 @@ export default {
mounted(){ mounted(){
setTimeout(async () => { setTimeout(async () => {
let Authentication = await this.$api.toLogin.frimLogin(); let Authentication = await this.$api.toLogin.frimLogin();
console.log(Authentication);
localStorage.setItem( localStorage.setItem(
"Authentication", "MSSM-LIAONING__TOKEN",
Authentication.data.result.userToken Authentication.data.result.userToken
); );
}, 1000); }, 10);
} }
}; };
</script> </script>

@ -0,0 +1,18 @@
import request from "@/utils/request2";
export default {
//分页条件查询器械品种
apparatusList(query) {
return request({
url: "/pharmaceuticals/ylqxJnyelcp",
method: "GET",
params: query,
});
},
//通过注册证编号查询单条器械品种数据
// apparatusGet(zczh) {
// return request({
// url: `/pharmaceuticals/ylqxJnyelcp/${zczh}`,
// method: "GET",
// });
// },
}

@ -3,16 +3,8 @@ import request from "@/utils/request";
//获取用户信息 //获取用户信息
export function getselfInfo() { export function getselfInfo() {
return request({ return request({
url: "/user/getSelfInfo", url: "/api/admin/user/getSelfInfo",
method: "GET", method: "GET",
}); });
} }
//修改密码
export function changePass(query) {
return request({
url: "/SystemManager/UserManager/modify/password",
method: "GET",
params: query,
});
}

@ -1,6 +1,8 @@
import toLogin from "./archives/toLogin"; import toLogin from "./archives/toLogin";
import cosmetics from "./archives/cosmetics"; import cosmetics from "./archives/cosmetics";
import apparatus from "./apparatus";
export default { export default {
toLogin, toLogin,
cosmetics cosmetics,
apparatus
}; };

@ -40,30 +40,6 @@
</el-dropdown-item> </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<!-- <ul
v-show="visible"
:style="{ left: left + 'px', top: top + 'px' }"
class="contextmenu"
>
<li @click="refreshSelectedTag(selectedTag)">
<i class="el-icon-refresh-right"></i> 刷新页面
</li>
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">
<i class="el-icon-close"></i> 关闭当前
</li>
<li @click="closeOthersTags">
<i class="el-icon-circle-close"></i> 关闭其他
</li>
<li v-if="!isFirstView()" @click="closeLeftTags">
<i class="el-icon-back"></i> 关闭左侧
</li>
<li v-if="!isLastView()" @click="closeRightTags">
<i class="el-icon-right"></i> 关闭右侧
</li>
<li @click="closeAllTags(selectedTag)">
<i class="el-icon-circle-close"></i> 全部关闭
</li>
</ul> -->
</div> </div>
</template> </template>
@ -204,10 +180,8 @@ export default {
}); });
}, },
refreshSelectedTag(view) { refreshSelectedTag(view) {
this.$tab.refreshPage(view); let obj = {path:view.path,name:view.name}
if (this.$route.meta.link) { this.$tab.refreshPage(obj);
this.$store.dispatch("tagsView/delIframeView", this.$route);
}
}, },
closeSelectedTag(view) { closeSelectedTag(view) {
this.$tab.closePage(view).then(({ visitedViews }) => { this.$tab.closePage(view).then(({ visitedViews }) => {
@ -280,6 +254,7 @@ export default {
this.visible = false; this.visible = false;
}, },
handleScroll() { handleScroll() {
console.log(111);
this.closeMenu(); this.closeMenu();
}, },
}, },

@ -12,69 +12,49 @@ function kickOut() {
} }
} }
NProgress.configure({ showSpinner: false }); NProgress.configure({ showSpinner: false });
const whiteList = [ const routerSList = [
// "/login",
// "/register",
"/index",
'/drugArchives', '/drugArchives',
'/cosmeticsArchives', '/cosmeticsArchives',
'/health', '/health',
'/productInfo',
'/cosmeticsDetail'
]; ];
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
NProgress.start(); NProgress.start();
if (getToken()) { let token = localStorage.getItem('MSSM-LIAONING__TOKEN')
console.log('有token'); if (token) {
to.meta.title && store.dispatch("settings/setTitle", to.meta.title); if(to.path == '/cosmeticsDetail' && routerSList.indexOf(from.path) == -1){
/* has token*/ next({ path: '/' })
if (to.path === "/login") {
next({ path: "/" });
NProgress.done();
}else { }else {
next()
}
if (store.state.myselfPermission.routerList.length > 0) {
let current = store.state.myselfPermission.routerList.filter(
(item) => item.path == to.path || from.path == "/"
);
if (current.length > 0) {
next(); next();
} else {
Message.error("无权限访问!");
}
} else {
store
.dispatch("GetPermission")
.then((res) => {
console.log(res);
if (res.length > 0) {
next();
} else {
kickOut();
}
})
.catch((error) => {
kickOut();
});
} }
} else { } else {
next()
// 没有token // 没有token
// if (whiteList.indexOf(to.path) !== -1) { Message.error("获取令牌失败!");
// next() kickOut();
// let token = localStorage.getItem("MSSM-LIAONING__TOKEN"); NProgress.done();
// if (token) {
// if (store.state.myselfPermission.routerList.length > 0) {
// let current = store.state.myselfPermission.routerList.filter(
// (item) => item.path == to.path || from.path == "/"
// );
// if (current.length > 0) {
// next();
// } else {
// next();
// // Message.error("无权限访问!");
// }
// } else {
// store
// .dispatch("GetPermission")
// .then((res) => {
// console.log(res);
// if (res.length > 0) {
// next({ path: res });
// } else {
// kickOut();
// }
// })
// .catch((error) => {
// kickOut();
// });
// }
// } else {
// //没有token踢出去
// Message.error("获取令牌失败!");
// kickOut();
// }
// } else {
// // kickOut();
// NProgress.done();
// }
} }
}); });

@ -4,16 +4,18 @@ import router from "@/router";
export default { export default {
// 刷新当前tab页签 // 刷新当前tab页签
refreshPage(obj) { refreshPage(obj) {
console.log(obj);
console.log( router.currentRoute);
const { path, query, matched } = router.currentRoute; const { path, query, matched } = router.currentRoute;
if (obj === undefined) { // if (obj === undefined) {
matched.forEach((m) => { // matched.forEach((m) => {
if (m.components && m.components.default && m.components.default.name) { // if (m.components && m.components.default && m.components.default.name) {
if (!["Layout", "ParentView"].includes(m.components.default.name)) { // if (!["Layout", "ParentView"].includes(m.components.default.name)) {
obj = { name: m.components.default.name, path: path, query: query }; // obj = { name: m.components.default.name, path: path, query: query };
} // }
} // }
}); // });
} // }
return store.dispatch("tagsView/delCachedView", obj).then(() => { return store.dispatch("tagsView/delCachedView", obj).then(() => {
const { path, query } = obj; const { path, query } = obj;

@ -30,27 +30,27 @@ import Layout from "@/layout";
// 公共路由 // 公共路由
export const constantRoutes = [ export const constantRoutes = [
{ // {
path: "/redirect", // path: "/redirect",
component: Layout, // component: Layout,
hidden: true, // hidden: true,
children: [ // children: [
{ // {
path: "/redirect/:path(.*)", // path: "/redirect/:path(.*)",
component: () => import("@/views/redirect"), // component: () => import("@/views/redirect"),
}, // },
], // ],
}, // },
{ // {
path: "/login", // path: "/login",
component: () => import("@/views/login"), // component: () => import("@/views/login"),
hidden: true, // hidden: true,
}, // },
{ // {
path: "/register", // path: "/register",
component: () => import("@/views/register"), // component: () => import("@/views/register"),
hidden: true, // hidden: true,
}, // },
{ {
path: "/404", path: "/404",
component: () => import("@/views/error/404"), component: () => import("@/views/error/404"),
@ -61,8 +61,6 @@ export const constantRoutes = [
component: () => import("@/views/error/401"), component: () => import("@/views/error/401"),
hidden: true, hidden: true,
}, },
{ {
path: '', path: '',
component: () => import("@/views/index"), component: () => import("@/views/index"),
@ -71,37 +69,32 @@ export const constantRoutes = [
children: [ children: [
{ {
path: "/drugArchives", path: "/drugArchives",
name: "药品档案", name: "drugArchives",
icon: require("@/assets/images/tree4.svg"), icon: require("@/assets/images/tree4.svg"),
component: () => import("@/views/productsMsg/index.vue"), component: () => import("@/views/productsMsg/index.vue"),
meta: { title: "药品档案", icon: "netWork" }, isDiy:true,
meta: { title: "药品档案", },
}, },
{ {
path: "/cosmeticsArchives", path: "/cosmeticsArchives",
name: "化妆品档案", name: "cosmeticsArchives",
icon: require("@/assets/images/tree4.svg"), icon: require("@/assets/images/tree4.svg"),
component: () => import("@/views/productsMsg/components/cosmeticsArchives.vue"), component: () => import("@/views/productsMsg/components/cosmeticsArchives.vue"),
meta: { title: "化妆品档案", icon: "netWork" }, meta: { title: "化妆品档案", flag: true },
}, },
{ {
path: "/cosmeticsDetail", path: "/cosmeticsDetail",
name: "化妆品详情", name: "cosmeticsDetail",
icon: require("@/assets/images/tree4.svg"), icon: require("@/assets/images/tree4.svg"),
component: () => import("@/views/cosmeticsFile/detail.vue"), component: () => import("@/views/cosmeticsFile/detail.vue"),
meta: { title: "化妆品详情", icon: "netWork" }, meta: { title: "详情", },
}, },
{ {
path: "/health", path: "/health",
name: "医疗器械档案", name: "health",
icon: require("@/assets/images/tree4.svg"), icon: require("@/assets/images/tree4.svg"),
component: () => import("@/views/productsMsg/components/health.vue"), component: () => import("@/views/productsMsg/components/health.vue"),
meta: { title: "医疗器械档案", icon: "netWork" }, meta: { title: "医疗器械档案", },
},
{
path: "/productInfo",
name: "productInfo",
component:() => import("@/views/productsMsg/components/productInfo.vue"),
meta: { title: "产品档案", icon: "netWork" },
}, },
] ]
}, },

@ -14,17 +14,21 @@ const selfPermission = {
}, },
mutations: { mutations: {
//动态按钮权限
SET_PERMISSIONLIST: (state, permissions) => { SET_PERMISSIONLIST: (state, permissions) => {
permissions.forEach((item) => { permissions.forEach((item) => {
state.permissionList.push(item.menuPerms); state.permissionList.push(item.menuPerms);
}); });
}, },
//动态路由
SET_ROUTER: (state, router) => { SET_ROUTER: (state, router) => {
state.routerList = router; state.routerList = router;
}, },
//用户信息
SET_USERDATA: (state, data) => { SET_USERDATA: (state, data) => {
state.userData = data; state.userData = data;
}, },
//某个id
SET_INSPECTORID: (state, id) => { SET_INSPECTORID: (state, id) => {
state.inspectorId = id; state.inspectorId = id;
}, },
@ -35,30 +39,32 @@ const selfPermission = {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getselfInfo() getselfInfo()
.then((res) => { .then((res) => {
console.log(res);
let infoData = res.result; let infoData = res.result;
// let query = {
let query = { // id: infoData.userDto.cardId,
id: infoData.userDto.cardId, // };
}; // getcarid(query).then((res) => {
getcarid(query).then((res) => { // commit(
commit( // "SET_INSPECTORID",
"SET_INSPECTORID", // res.result.length > 0 ? res.result[0].id : null
res.result.length > 0 ? res.result[0].id : null // );
); // });
});
//存储用户信息 //存储用户信息
commit("SET_USERDATA", infoData.userDto); commit("SET_USERDATA", infoData.userDto);
//过滤出按钮权限字符 //过滤出按钮权限字符
let menuButton = infoData.menuButton.filter( // let menuButton = infoData.menuButton.filter(
(item) => item.appCode == "JCYGL" // (item) => item.appCode == "JCYGL"
); // );
commit("SET_PERMISSIONLIST", menuButton); // commit("SET_PERMISSIONLIST", menuButton);
//过滤菜单 //过滤菜单
let menuTree = infoData.menuTree.filter( let menuTree = infoData.menuTree.filter(
(item) => item.appCode == "JCYGL" (item) => item.appCode == "CPGL"
); );
console.log(menuTree);
let fileTreeOut = filterTree(menuTree[0].childMenuList, []); let fileTreeOut = filterTree(menuTree[0].childMenuList, []);
console.log(fileTreeOut);
commit("SET_ROUTER", fileTreeOut); commit("SET_ROUTER", fileTreeOut);
resolve(fileTreeOut.length > 0 ? fileTreeOut[0].path : []); resolve(fileTreeOut.length > 0 ? fileTreeOut[0].path : []);

@ -6,6 +6,9 @@ const state = {
const mutations = { const mutations = {
ADD_IFRAME_VIEW: (state, view) => { ADD_IFRAME_VIEW: (state, view) => {
// console.log(111);
// console.log(state);
// console.log(view);
if (state.iframeViews.some((v) => v.path === view.path)) return; if (state.iframeViews.some((v) => v.path === view.path)) return;
state.iframeViews.push( state.iframeViews.push(
Object.assign({}, view, { Object.assign({}, view, {
@ -14,6 +17,9 @@ const mutations = {
); );
}, },
ADD_VISITED_VIEW: (state, view) => { ADD_VISITED_VIEW: (state, view) => {
// console.log(222);
// console.log(state);
// console.log(view);
if (state.visitedViews.some((v) => v.path === view.path)) return; if (state.visitedViews.some((v) => v.path === view.path)) return;
state.visitedViews.push( state.visitedViews.push(
Object.assign({}, view, { Object.assign({}, view, {
@ -22,12 +28,18 @@ const mutations = {
); );
}, },
ADD_CACHED_VIEW: (state, view) => { ADD_CACHED_VIEW: (state, view) => {
// console.log(333);
// console.log(state);
// console.log(view);
if (state.cachedViews.includes(view.name)) return; if (state.cachedViews.includes(view.name)) return;
if (view.meta && !view.meta.noCache) { if (view.meta && !view.meta.noCache) {
state.cachedViews.push(view.name); state.cachedViews.push(view.name);
} }
}, },
DEL_VISITED_VIEW: (state, view) => { DEL_VISITED_VIEW: (state, view) => {
// console.log(444);
// console.log(state);
// console.log(view);
for (const [i, v] of state.visitedViews.entries()) { for (const [i, v] of state.visitedViews.entries()) {
if (v.path === view.path) { if (v.path === view.path) {
state.visitedViews.splice(i, 1); state.visitedViews.splice(i, 1);
@ -39,16 +51,23 @@ const mutations = {
); );
}, },
DEL_IFRAME_VIEW: (state, view) => { DEL_IFRAME_VIEW: (state, view) => {
// console.log(555);
// console.log(state,view);
state.iframeViews = state.iframeViews.filter( state.iframeViews = state.iframeViews.filter(
(item) => item.path !== view.path (item) => item.path !== view.path
); );
}, },
DEL_CACHED_VIEW: (state, view) => { DEL_CACHED_VIEW: (state, view) => {
console.log(666);
console.log(state);
console.log(view);
const index = state.cachedViews.indexOf(view.name); const index = state.cachedViews.indexOf(view.name);
index > -1 && state.cachedViews.splice(index, 1); index > -1 && state.cachedViews.splice(index, 1);
}, },
DEL_OTHERS_VISITED_VIEWS: (state, view) => { DEL_OTHERS_VISITED_VIEWS: (state, view) => {
// console.log(777);
// console.log(state,view);
state.visitedViews = state.visitedViews.filter((v) => { state.visitedViews = state.visitedViews.filter((v) => {
return v.meta.affix || v.path === view.path; return v.meta.affix || v.path === view.path;
}); });
@ -57,6 +76,8 @@ const mutations = {
); );
}, },
DEL_OTHERS_CACHED_VIEWS: (state, view) => { DEL_OTHERS_CACHED_VIEWS: (state, view) => {
// console.log(888);
// console.log(state,view);
const index = state.cachedViews.indexOf(view.name); const index = state.cachedViews.indexOf(view.name);
if (index > -1) { if (index > -1) {
state.cachedViews = state.cachedViews.slice(index, index + 1); state.cachedViews = state.cachedViews.slice(index, index + 1);
@ -66,12 +87,16 @@ const mutations = {
}, },
DEL_ALL_VISITED_VIEWS: (state) => { DEL_ALL_VISITED_VIEWS: (state) => {
// keep affix tags // keep affix tags
// console.log(999);
// console.log(state);
const affixTags = state.visitedViews.filter((tag) => tag.meta.affix); const affixTags = state.visitedViews.filter((tag) => tag.meta.affix);
state.visitedViews = affixTags; state.visitedViews = affixTags;
state.iframeViews = []; state.iframeViews = [];
}, },
DEL_ALL_CACHED_VIEWS: (state) => { DEL_ALL_CACHED_VIEWS: (state) => {
state.cachedViews = []; state.cachedViews = [];
// console.log(101010);
// console.log(state);
}, },
UPDATE_VISITED_VIEW: (state, view) => { UPDATE_VISITED_VIEW: (state, view) => {
for (let v of state.visitedViews) { for (let v of state.visitedViews) {

@ -15,7 +15,7 @@ axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分 // axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: location.origin + process.env.VUE_APP_BASE_API, baseURL: location.origin + process.env.VUE_APP_BASE_API2,
// 超时 // 超时
timeout: 15000, timeout: 15000,
}); });

@ -29,7 +29,7 @@ service.interceptors.request.use(
const isRepeatSubmit = (config.headers || {}).repeatSubmit === false; const isRepeatSubmit = (config.headers || {}).repeatSubmit === false;
if (!isToken) { if (!isToken) {
config.headers["Authentication"] = localStorage.getItem( config.headers["Authentication"] = localStorage.getItem(
"Authentication" "MSSM-LIAONING__TOKEN"
); );
} }
// get请求映射params参数 // get请求映射params参数

@ -1,45 +0,0 @@
<template>
<div>
<el-descriptions class="margin-top" :column="2" border>
<el-descriptions-item v-for="(item, index) in descriptionsList" :key="index" :span="item.span">
<template slot="label"> {{ item.label }} </template>
{{ item.value }}
</el-descriptions-item>
</el-descriptions>
</div>
</template>
<script>
export default {
data() {
return {
// list2: {
// asd: 123123213,
// idsd: "hahhah",
// },
};
},
props: {
descriptionsList: {
type: Array,
default: [],
},
},
methods: {},
created() {
// for (let key in this.list2) {
// this.list1.forEach((values, index) => {
// if (values.data === key) {
// this.list1[index].value = this.list2[key];
// }
// });
// }
},
};
</script>
<style lang="scss" scoped>
.margin-top {
margin: 15px 0;
}
</style>

@ -1,50 +0,0 @@
<template>
<div>
<div class="header--title">
<div class="title--left">
<div class="line"></div>
<div class="title">{{ header }}</div>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {};
},
props: {
header: {
type: String,
default: "",
},
},
methods: {},
created() {},
};
</script>
<style lang="scss" scoped>
.headerText {
color: #333333;
}
.header--title {
display: flex;
justify-content: space-between;
align-items: center;
.title--left {
display: flex;
align-items: center;
.line {
width: 4px;
height: 16px;
background: #1e80eb;
margin-right: 8px;
}
.title {
font-size: 18px;
font-weight: bold;
color: #1e80eb;
}
}
}
</style>

@ -1,6 +1,6 @@
<template> <template>
<div class="container"> <div class="container">
<!-- <div class="headerText"> <div class="headerText">
<span>药品通用名称 : </span> <span>药品通用名称 : </span>
<span class="header-name">健母宝经典修护精华液</span> <span class="header-name">健母宝经典修护精华液</span>
<button class="headerBtn c1">百年产品</button> <button class="headerBtn c1">百年产品</button>
@ -8,9 +8,9 @@
</div> </div>
<div class="section-main"> <div class="section-main">
<div></div> <div></div>
</div> --> </div>
<iframe src="http://localhost:81/#/firmContent/firmInfo/pinzhongInfo" frameborder="0" height="100%" width="100%"></iframe> <!-- <iframe src="http://localhost:81/#/firmContent/firmInfo/pinzhongInfo" frameborder="0" height="100%" width="100%"></iframe> -->
</div> </div>
</template> </template>
<script> <script>

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

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

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

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

@ -12,7 +12,7 @@
> >
<div class="view-child"> <div class="view-child">
<img :src="item.icon" alt="" class="router-icon" /> <img :src="item.icon" alt="" class="router-icon" />
{{ item.name }} {{ item.meta.title }}
</div> </div>
<div></div> <div></div>
</router-link> </router-link>
@ -40,14 +40,7 @@ export default {
computed: { computed: {
// //
myRouter() { myRouter() {
console.log(this.$router.options.routes); return this.$store.state.myselfPermission.routerList;
console.log( this.$router.options.routes[5].children);
// let staticRouter = router.options.routes.filter(
// (item) => item.isDiy == true
// )[0].children;
// return staticRouter;
// return this.$store.state.myselfPermission.routerList;
return this.$router.options.routes[5].children.slice(0, -1);
}, },
}, },
created() {}, created() {},

@ -1,98 +0,0 @@
<template>
<div class="dashboard-editor-container">
<panel-group @handleSetLineChartData="handleSetLineChartData" />
<el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
<line-chart :chart-data="lineChartData" />
</el-row>
<el-row :gutter="32">
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<raddar-chart />
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<pie-chart />
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<bar-chart />
</div>
</el-col>
</el-row>
</div>
</template>
<script>
import PanelGroup from './dashboard/PanelGroup'
import LineChart from './dashboard/LineChart'
import RaddarChart from './dashboard/RaddarChart'
import PieChart from './dashboard/PieChart'
import BarChart from './dashboard/BarChart'
const lineChartData = {
newVisitis: {
expectedData: [100, 120, 161, 134, 105, 160, 165],
actualData: [120, 82, 91, 154, 162, 140, 145]
},
messages: {
expectedData: [200, 192, 120, 144, 160, 130, 140],
actualData: [180, 160, 151, 106, 145, 150, 130]
},
purchases: {
expectedData: [80, 100, 121, 104, 105, 90, 100],
actualData: [120, 90, 100, 138, 142, 130, 130]
},
shoppings: {
expectedData: [130, 140, 141, 142, 145, 150, 160],
actualData: [120, 82, 91, 154, 162, 140, 130]
}
}
export default {
name: 'Index',
components: {
PanelGroup,
LineChart,
RaddarChart,
PieChart,
BarChart
},
data() {
return {
lineChartData: lineChartData.newVisitis
}
},
methods: {
handleSetLineChartData(type) {
this.lineChartData = lineChartData[type]
}
}
}
</script>
<style lang="scss" scoped>
.dashboard-editor-container {
padding: 32px;
background-color: rgb(240, 242, 245);
position: relative;
.chart-wrapper {
background: #fff;
padding: 16px 16px 0;
margin-bottom: 32px;
}
}
@media (max-width:1024px) {
.chart-wrapper {
padding: 8px;
}
}
</style>

@ -4,27 +4,14 @@
<div class="headerText"> <div class="headerText">
<div class="searchP">查询条件</div> <div class="searchP">查询条件</div>
</div> </div>
<el-form ref="form1" :model="form1" label-width="80px"> <el-form ref="form1" :model="form1" label-width="150px">
<div style="margin-top: 10px"> <div style="margin-top: 10px">
<el-row> <el-row>
<el-col :span="7"> <el-col :span="7">
<el-form-item label="产品名称"> <el-form-item label="产品名称或者备案编码">
<el-input v-model="form1.name"></el-input> <el-input v-model="form1.name"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="7">
<el-form-item label="备案编码">
<el-input v-model="form1.name"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="生产企业">
<el-input v-model="form1.a1"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row>
<el-col :span="7"> <el-col :span="7">
<el-form-item label="化妆品类型"> <el-form-item label="化妆品类型">
<el-select <el-select
@ -41,7 +28,18 @@
</el-option> </el-option>
</el-select> </el-form-item </el-select> </el-form-item
></el-col> ></el-col>
<!-- <el-col :span="7">
<el-form-item label="备案编码">
<el-input v-model="form1.name"></el-input>
</el-form-item>
</el-col> -->
<!-- <el-col :span="7">
<el-form-item label="生产企业">
<el-input v-model="form1.a1"></el-input>
</el-form-item>
</el-col> -->
</el-row> </el-row>
</div>
</el-form> </el-form>
<div class="footBox"> <div class="footBox">
<el-button icon="el-icon-refresh-left" @click="reset"></el-button> <el-button icon="el-icon-refresh-left" @click="reset"></el-button>
@ -161,11 +159,12 @@ export default {
methods: { methods: {
// //
toDetail(e) { toDetail(e) {
console.log(e); // console.log(e);
this.$router.push(`/cosmeticsDetail`)
}, },
// //
searchList() { searchList() {
this.changeType(this.types); this.getData(this.types);
}, },
getPagination(e) { getPagination(e) {
console.log(e); console.log(e);
@ -222,8 +221,7 @@ export default {
this.form1.current = msg1.data.current; this.form1.current = msg1.data.current;
this.loading = false; this.loading = false;
}, },
async changeType(e) { async getData(e) {
this.reset()
if (e == 1) { if (e == 1) {
this.A2 = "备案编码"; this.A2 = "备案编码";
this.A3 = "生产企业"; this.A3 = "生产企业";
@ -242,6 +240,10 @@ export default {
this.importSpecialCosmetics(); this.importSpecialCosmetics();
} }
}, },
async changeType(e) {
this.reset();
this.getData(e);
},
}, },
}; };
</script> </script>
@ -278,7 +280,7 @@ export default {
} }
.tabs { .tabs {
width: 100%; width: 100%;
height: 30%; height: 25%;
background: #fff; background: #fff;
} }
} }
@ -291,7 +293,7 @@ export default {
text-align: center; text-align: center;
} }
.tabsBottom { .tabsBottom {
height: 70%; height: 75%;
padding-top: 10px; padding-top: 10px;
.foot-main { .foot-main {
height: 100%; height: 100%;

@ -1,139 +1,91 @@
<template> <template>
<div class="container"> <div class="container">
<div class="right-content">
<div class="tabs"> <div class="tabs">
<el-tabs v-model="activeName" style="color: #edeef0"> <div class="headerText">
<el-tab-pane label="查询条件" name="first"> <div class="searchP">查询条件</div>
<div class="screen"> </div>
<div class="task-name"> <el-form ref="form1" :model="form1">
<span class="task-name-text">产品名称</span> <div style="margin-top: 10px">
<div class="task-input"> <el-row>
<el-input <el-col :span="10">
v-model="queryCondition.fullTextSearch" <el-form-item
placeholder="请输入内容" label="产品名称或者注册证编号或备案编号"
></el-input> label-width="230px"
</div> >
</div> <el-input v-model="form1.name"></el-input>
<div class="task-name"> </el-form-item>
<span class="task-name-text">注册证号/备案号</span> </el-col>
<div class="task-input"> <el-col :span="10">
<el-input <el-form-item label="产品管理类别" label-width="130px">
v-model="queryCondition.firmName" <el-select v-model="form1.cplb" placeholder="请选择产品类别">
placeholder="请输入内容" <el-option
></el-input> v-for="item in options"
</div> :key="item.value"
</div> :label="item.label"
<div class="task-name"> :value="item.label"
<span class="task-name-text">生产企业</span>
<div class="task-input">
<el-input
v-model="queryCondition.approvalNumber"
placeholder="请输入内容"
></el-input>
</div>
</div>
<div class="btn">
<el-button size="mini" icon="el-icon-refresh-left"
>重置</el-button
> >
<el-button size="mini" type="primary" icon="el-icon-search" </el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<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
> >
</div> </div>
</div> </div>
</el-tab-pane> <div class="tabsBottom">
</el-tabs> <div class="foot-main">
<div class="tabsTwo" :style="tabsTwoStyle"> <div class="headerText">
<el-tabs v-model="activeName" style="color: #edeef0"> <div class="searchP">产品列表</div>
<el-tab-pane label="医疗器械列表" name="first">
<div class="daochu">
<div class="btn">导出</div>
</div> </div>
<div class="mytable"> <div class="exportBtn">
<el-button type="primary" icon="el-icon-edit-outline">导出</el-button>
</div>
<section class="table-box">
<div class="table-item">
<el-table <el-table
ref="multipleTable" v-loading="loading"
:data="tableData" :data="tableData"
tooltip-effect="dark"
border border
style="width: 100%" height="300"
@selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="55" />
<el-table-column label="产品名称" prop="cpmc"> </el-table-column>
<el-table-column label="产品类型" prop="cplx"></el-table-column>
<el-table-column label="产品管理类别" prop="cplb"></el-table-column>
<el-table-column label="注册证编号/备案编号" prop="zczh"> </el-table-column>
<el-table-column <el-table-column
type="selection" label="操作"
header-align="center" class-name="small-padding fixed-width"
class-name="column-text-one" width="140"
width="44"
> >
</el-table-column>
<el-table-column label="序号" width="50">
<template slot-scope="scope">{{ scope.row.date }}</template>
</el-table-column>
<el-table-column prop="name" label="产品名称">
</el-table-column>
<el-table-column
prop="firmName"
label="注册证号/备案号"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="firmName"
label="生产企业"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="address" label="操作" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="button">
<el-button <el-button
size="mini" size="mini"
type="primary"
class="xiangqing"
plain plain
@click="handleEdit(scope.$index, scope.row)"
>详情</el-button
>
<el-button
size="mini"
type="primary" type="primary"
class="bianji" @click="toDetail(scope.row)"
plain >详情</el-button
@click="handleView(scope.$index, scope.row)"
>编辑</el-button
> >
</div> <el-button size="mini" plain type="warning">编辑</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="pagination">
<!-- <span class="custom"
>{{ total }}显示{{
total == 0
? "0"
: queryCondition.current == 1
? "1"
: queryCondition.size * (queryCondition.current - 1) + 1
}}-{{ numberMap() }}</span
> -->
<span class="custom"> 共100条显示1-10 </span>
<el-pagination
background
:page-sizes="[10, 15]"
:total="total"
layout=" prev, pager, next, sizes, jumper"
@current-change="currentChange"
@size-change="sizeChange"
:current-page.sync="currentPage"
:page-size.sync="pageSize"
>
</el-pagination>
</div>
</div>
</el-tab-pane>
</el-tabs>
</div> </div>
</section>
<pagination
v-show="total > 0"
:total="total"
:page="form1.current"
:limit="form1.size"
@pagination="getPagination"
></pagination>
</div> </div>
</div> </div>
</div> </div>
@ -144,406 +96,133 @@ export default {
components: {}, components: {},
data() { data() {
return { return {
drugnum: "(20)", //===========
activeName: "first", loading: false,
queryCondition: { tableData: [],
fullTextSearch: "", // total: 0,
firmName: "", // options: [
approvalNumber: "", //
taskName: "", //
PrescriptionContent: "", //
majorFunction: "", //
startTime: "", //
endTime: "", //
checkList: [],
checkListTwo: [],
},
tableData: [
{
date: "1",
name: "辽-xxxx",
type: "药品",
approvalNumber: "12421432143214321",
firmName: "XXX有限公司",
},
{
date: "2",
name: "辽-aaaa",
type: "医疗器械",
approvalNumber: "12421432143214321",
firmName: "XXX有限公司",
},
{
date: "3",
name: "辽-zzzz",
type: "化妆品",
approvalNumber: "12421432143214321",
firmName: "XXX有限公司",
},
{
date: "4",
name: "辽-qqqq",
type: "药品",
approvalNumber: "12421432143214321",
firmName: "XXX有限公司",
},
{
date: "5",
name: "辽-xxxx",
type: "医疗器械",
approvalNumber: "12421432143214321",
firmName: "XXX有限公司",
},
{ {
date: "6", value: 1,
name: "辽-aaaa", label: "第一类",
type: "化妆品",
approvalNumber: "12421432143214321",
firmName: "XXX有限公司",
}, },
{ {
date: "7", value: 2,
name: "辽-zzzz", label: "第二类",
type: "药品",
approvalNumber: "12421432143214321",
firmName: "XXX有限公司",
},
{
date: "8",
name: "辽-qqqq",
type: "医疗器械",
approvalNumber: "12421432143214321",
firmName: "XXX有限公司",
},
{
date: "9",
name: "辽-xxxx",
type: "化妆品",
approvalNumber: "12421432143214321",
firmName: "XXX有限公司",
},
{
date: "10",
name: "辽-aaaa",
type: "药品",
approvalNumber: "12421432143214321",
firmName: "XXX有限公司",
}, },
], ],
tabsTwoStyle: { form1: {
height: "", cplb: "",
name: "",
size: 10,
current: 1,
}, },
multipleSelection: [],
total: 100,
currentPage: 1,
pageSize: 10,
}; };
}, },
mounted() { mounted() {},
document.getElementsByClassName( created() {
"el-pagination__jump" this.chinaCosmetics();
)[0].childNodes[0].nodeValue = "跳至";
this.$nextTick(() => {
let dom = document.getElementsByClassName("tabsTwo");
let height = dom[0].getBoundingClientRect();
// let windowWidth = window.innerWidth;
let windowHeight = window.innerHeight;
let relativeHeight = windowHeight - height.top;
this.tabsTwoStyle.height = relativeHeight + "px";
});
}, },
methods: { methods: {
handleSelectionChange(val) { //
this.multipleSelection = val; toDetail(e) {
console.log(e);
},
//
searchList() {
this.chinaCosmetics();
},
getPagination(e) {
this.form1.current = e.page;
this.form1.size = e.limit;
this.chinaCosmetics();
},
//
reset() {
this.form1 = {
cplb: "",
name: "",
size: 10,
current: 1,
};
}, },
currentChange(val) {}, async chinaCosmetics() {
sizeChange(val) {}, this.loading = true;
// let msg1 = await this.$api.apparatus.apparatusList(this.form1);
handleEdit(index, row) { this.tableData = msg1.data.records;
console.log(index); this.total = msg1.data.total;
this.$router.push({ name: "productInfo" }); this.form1.size = msg1.data.size;
this.form1.current = msg1.data.current;
this.loading = false;
}, },
//
handleView(index, row) {},
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .el-select {
width: 100% !important;
}
.container { .container {
height: 100%; height: 100%;
box-sizing: border-box; // overflow: auto;
display: flex;
align-items: center;
background: #f2f2f2; background: #f2f2f2;
// padding: 10px;
& > div { .headerText {
flex: 1;
height: 100%;
}
& > div:nth-child(2) {
flex: 2;
margin: 0 10px;
}
.middle {
height: 100%;
background: #ffff;
border-radius: 8px;
overflow: hidden;
}
.left,
.right {
display: flex;
flex-direction: column;
align-items: center;
& > div {
width: 100%; width: 100%;
border-radius: 8px; padding: 10px 20px;
flex: 1; border-bottom: 1px solid #f2f3f5;
background: #ffffff;
}
}
.right-content {
background-color: #fff;
::v-deep .el-tabs__header {
margin: 0;
.el-tabs__nav-scroll {
padding-left: 15px;
padding-top: 3px;
}
.el-tabs__item {
font-size: 18px;
font-family: Source Han Sans SC-Bold, Source Han Sans SC;
font-weight: bold;
color: #323233; 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;
} }
.el-tabs__active-bar {
background-color: #1349c5;
height: 2px;
border-radius: 0px 0px 0px 0px;
} }
} }
.tabs { .tabs {
background: #f2f2f2;
box-shadow: 0px 0px 12px 0px rgba(194, 212, 226, 0.64);
border-radius: vw(10);
min-height: 88vh;
// padding-top: 3px;
// padding-left: 15px;
::v-deep .el-tabs {
background-color: #fff;
}
}
.screen {
padding: 15px 0 26px 28px;
display: flex;
flex-wrap: wrap;
align-items: center;
.task-name {
display: flex;
align-items: center;
margin-right: 30px;
.task-name-text {
font-size: 16px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #6a6c6f;
line-height: 50px;
// margin-right: vw(10);
}
.task-input {
width: 251px;
height: 32px;
::v-deep .el-input {
width: 251px;
height: 32px;
}
::v-deep .el-input__inner {
width: 100%; width: 100%;
height: 100%; height: 25%;
font-size: 16px; background: #fff;
font-family: Source Han Sans CN;
font-weight: 400;
// color: #B1B6BF;
line-height: 50px;
padding-left: 15px;
} }
} }
//===================
::v-deep .el-button--medium {
padding: 8px;
} }
.checkbox-group-name { .footBox {
width: 695px;
}
.btn {
width: 100%; width: 100%;
// padding-left: 600px;
text-align: center; text-align: center;
margin-top: 15px;
}
.time-interval {
display: flex;
align-items: center;
margin-right: 20px;
.interval-text {
font-size: 16px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #6a6c6f;
// line-height: 50px;
// margin-right: vw(10);
} }
.interval-select { .tabsBottom {
display: flex; height: 75%;
align-items: center; padding-top: 10px;
border: 1px solid #dbe0e8; .foot-main {
border-radius: 4px;
height: 32px;
.star-time,
.end-time {
position: relative;
.data_icon {
position: absolute;
top: 50%;
right: 17px;
z-index: 9;
color: #c0c4cc;
font-size: 14px;
transform: translateY(-50%);
}
::v-deep .el-input__prefix {
display: none;
}
::v-deep .el-input {
width: 243px;
height: 30px;
}
::v-deep .el-input__inner {
width: 100%;
height: 100%; height: 100%;
font-size: 16px; // min-height: 600px;
font-family: Source Han Sans CN; width: 100%;
font-weight: 400; background: white;
// color: #B1B6BF;
line-height: 30px;
padding-left: 15px;
border: none;
cursor: pointer;
}
}
.symbol {
background: rgba(219, 224, 232, 0.5);
width: 40px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #292f38;
line-height: 28px;
}
}
}
}
.tabsTwo {
margin: 10px 0;
overflow-y: scroll;
// padding: 10px 0;
padding-bottom: 20px;
background-color: #fff;
.daochu {
padding: 10px;
.btn {
display: flex;
justify-content: center;
width: 64px;
height: 32px;
background: #1e80eb;
border-radius: 4px 4px 4px 4px;
font-size: 14px;
font-family: MicrosoftYaHei-, MicrosoftYaHei;
font-weight: normal;
color: #ffffff;
line-height: 31px;
}
}
.mytable {
width: 99%;
margin: 0 auto;
::v-deep .column-text-one {
text-align: center;
}
::v-deep .el-table td {
height: 40px;
padding: 0;
}
::v-deep .el-table th {
height: 40px;
padding: 0;
font-size: 14px;
font-family: Source Han Sans SC-Medium, Source Han Sans SC;
font-weight: bold;
color: #292f38;
line-height: 36px;
}
.button {
display: flex;
align-items: center;
.xiangqing {
height: 23px;
padding: 3px;
border-radius: 4px;
line-height: 20px;
display: flex;
justify-content: center;
align-items: center;
margin-right: 5px;
background: #ebf5ff;
border: 1px solid #a1cbf8;
::v-deep span {
display: inline-block;
color: #0e7cf4;
}
} }
.bianji {
height: 23px;
padding: 3px;
border-radius: 4px;
line-height: 20px;
display: flex;
justify-content: center;
align-items: center;
background: #ffefe3;
border: 1px solid #ffc89f;
::v-deep span {
display: inline-block;
color: #f88129;
} }
.exportBtn {
padding: 10px 20px;
} }
.table-box {
padding: 0 20px;
.table-item {
} }
} }
.pagination { .pagination {
margin-top: 17px;
display: flex; display: flex;
align-items: center;
justify-content: space-between; justify-content: space-between;
// padding-bottom: vh(20); padding: 15px 20px;
::v-deep .el-pagination__jump {
margin: 0;
}
.custom {
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #292f38;
line-height: 18px;
}
}
}
.tabsTwo::-webkit-scrollbar {
display: none;
}
}
} }
</style> </style>

@ -48,6 +48,13 @@ module.exports = {
"^/configApi": "", "^/configApi": "",
}, },
}, },
"/api": {
target: "https://dev-mssm-liaoning.imian.org.cn",
changeOrigin: true,
pathRewrite: {
["api"]: "",
},
},
}, },
disableHostCheck: true, disableHostCheck: true,
}, },

Loading…
Cancel
Save