杜函宇 1 year ago
commit 4930058948

@ -6,3 +6,6 @@ ENV = 'production'
# 若依管理系统/生产环境 # 若依管理系统/生产环境
VUE_APP_BASE_API = '/prod-api' VUE_APP_BASE_API = '/prod-api'
VUE_APP_HOUTAI = /ggfw-jcphx

@ -22,13 +22,13 @@ export default {
}; };
/* /*
npm run build:prod npm run build:prod
/usr/share/nginx/html/ggfw-cphx /usr/share/nginx/html/ggfw-jcphx
sudo mv ggfw-jcphx.zip /usr/share/nginx/html/ggfw-cphx MSSM-Dev 文件夹下 移动压缩包到 ggfw文件夹下 sudo mv ggfw-jcphx.zip /usr/share/nginx/html/ggfw-jcphx MSSM-Dev 文件夹下 移动压缩包到 ggfw文件夹下
cd /usr/share/nginx/html/ggfw-jg 移动到文件夹下 cd /usr/share/nginx/html/ggfw-jcphx 移动到文件夹下
unzip ggfw-cphx.zip -d . 解压 unzip ggfw-jcphx.zip -d . 解压
*/ */
</script> </script>

@ -9,4 +9,11 @@ export default {
params params
}); });
}, },
findInfoByReq(params){
return request({
url: "/ggfw-api/pharmaceuticals/largeScreen/findInfoByReq",
method: "get",
params
});
},
}; };

@ -1,16 +1,25 @@
@font-face { @font-face {
font-family: 'YouSheBiaoTiHei'; font-family: 'YouSheBiaoTiHei';
src: url('http://www.jichuanglanhai.com/demo/font-file/YouSheBiaoTiHei-2.ttf'); src: url("./tell/YouSheBiaoTiHei-2.ttf");
} }
@font-face { @font-face {
font-family: 'Medium'; font-family: 'Medium';
src: url('http://www.jichuanglanhai.com/demo/font-file/Alibaba-PuHuiTi-Medium.otf'); src: url("./tell/Alibaba-PuHuiTi-Medium.otf");
} }
@font-face { @font-face {
font-family: 'DIN'; font-family: 'DIN';
src: url('http://www.jichuanglanhai.com/demo/font-file/din-bold-2.ttf'); src: url("./tell/din-bold-2.ttf");
} }
@font-face { @font-face {
font-family: 'Alibaba PuHuiTi'; font-family: 'Regular';
src: url('http://www.jichuanglanhai.com/demo/font-file/Alibaba-PuHuiTi-Regular.otf'); src: url("./tell/Alibaba-PuHuiTi-Regular.otf");
} }
@font-face {
font-family: 'Alibaba PuHuiTi';
src: url("./tell/Alibaba-PuHuiTi-Regular.otf");
}

@ -16,6 +16,8 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
const service = axios.create({ const service = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分 // axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: process.env.VUE_APP_BASE_API, baseURL: process.env.VUE_APP_BASE_API,
//!线上
// baseURL:location.origin,
// 超时 // 超时
timeout: 10000 timeout: 10000
}) })
@ -82,7 +84,7 @@ service.interceptors.response.use(res => {
MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => { MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
isRelogin.show = false; isRelogin.show = false;
store.dispatch('LogOut').then(() => { store.dispatch('LogOut').then(() => {
location.href = '/index'; location.href = `${location.origin}/login`;
}) })
}).catch(() => { }).catch(() => {
isRelogin.show = false; isRelogin.show = false;

@ -68,11 +68,11 @@ export default {
option1: {}, option1: {},
// echarts // echarts
myChart1: {}, myChart1: {},
center: ["18%", "50%"],
blfxxx: {}, blfxxx: {},
a1: 0, a1: 0,
a2: 0, a2: 0,
a3: 0, a3: 0,
center: ["30%", "50%"],
}; };
}, },
created() {}, created() {},

@ -2,7 +2,7 @@
<template> <template>
<div class="Basic-box"> <div class="Basic-box">
<div class="Basic-box-item" v-for="(item, index) in BasicList" :key="index"> <div class="Basic-box-item" v-for="(item, index) in BasicList" :key="index">
<div>{{ item.name }}</div> <div>{{ item.nameTitle }}</div>
<div class="item-value">{{ item.value }}</div> <div class="item-value">{{ item.value }}</div>
</div> </div>
</div> </div>
@ -16,47 +16,62 @@ export default {
return { return {
BasicList: [], BasicList: [],
ypList: [ ypList: [
{ name: "药品通用名称:", value: "复方枸杞子胶囊" }, { nameTitle: "药品通用名称:", value: "", type:'name' },
{ name: "药品分类:", value: "中药" }, { nameTitle: "药品分类:", value: "", type:'type' },
{ name: "剂型:", value: "胶囊剂" }, { nameTitle: "剂型:", value: "", type:'jx' },
{ name: "规格:", value: "每粒0.5克" }, { nameTitle: "规格:", value: "", type:'modelSpecifications' },
{ name: "批准文号:", value: "国标批准文号B25818818" }, { nameTitle: "批准文号:", value: "", type:'bah' },
{ name: "批准文号期限:", value: "2023-06-08" }, { nameTitle: "批准文号期限:", value: "", type:'pzwhyxq' },
{ name: "上市许可证持有人:", value: "沈阳xx药业股份有限公司" }, { nameTitle: "上市许可证持有人:", value: "", type:'ssxkcyr' },
{ name: "生产企业:", value: "复方枸杞子胶囊" }, { nameTitle: "生产企业:", value: "", type:'scqy' },
{ name: "执行标准:", value: "复方枸杞子胶囊" }, { nameTitle: "执行标准:", value: "", type:'zxbz' },
], ],
ylqxList: [ ylqxList: [
{ name: "产品名称:", value: "复方枸杞子胶囊" }, { nameTitle: "产品名称:", value: "", type:'name' },
{ name: "产品类型:", value: "中药" }, { nameTitle: "产品类型:", value: "", type:'type' },
{ name: "管理类别:", value: "胶囊剂" }, { nameTitle: "管理类别:", value: "", type:'gllb' },
{ name: "型号规格:", value: "每粒0.5克" }, { nameTitle: "型号规格:", value: "", type:'modelSpecifications' },
{ name: "备案编号:", value: "国标批准文号B25818818" }, { nameTitle: "备案编号:", value: "", type:'bah' },
{ name: "备案人名称:", value: "2023-06-08" }, { nameTitle: "备案人名称:", value: "", type:'barmc' },
{ name: "产品有效期:", value: "沈阳xx药业股份有限公司" }, { nameTitle: "产品有效期:", value: "", type:'cpyxq' },
{ name: "结构特征:", value: "复方枸杞子胶囊" }, { nameTitle: "结构特征:", value: "", type:'jgtz' },
{ name: "境内进口:", value: "复方枸杞子胶囊" }, { nameTitle: "境内进口:", value: "", type:'jnjk' },
{ name: "生产地址:", value: "复方枸杞子胶囊" }, { nameTitle: "生产地址:", value: "", type:'scdz' },
{ name: "生产标准:", value: "复方枸杞子胶囊" }, { nameTitle: "生产标准:", value: "", type:'scbz' },
], ],
hzpList: [ hzpList: [
{ name: "产品名称:", value: "复方枸杞子胶囊" }, { nameTitle: "产品名称:", value: "", type:'name' },
{ name: "产品类型:", value: "中药" }, { nameTitle: "产品类型:", value: "", type:'type' },
{ name: "型号规格:", value: "胶囊剂" }, { nameTitle: "型号规格:", value: "", type:'modelSpecifications' },
{ name: "备案编号:", value: "每粒0.5克" }, { nameTitle: "备案编号:", value: "", type:'bah' },
{ name: "备案人名称:", value: "国标批准文号B25818818" }, { nameTitle: "备案人名称:", value: "", type:'barmc' },
{ name: "产品有效期:", value: "2023-06-08" }, { nameTitle: "产品有效期:", value: "", type:'cpyxq' },
{ name: "境内进口:", value: "沈阳xx药业股份有限公司" }, { nameTitle: "境内进口:", value: "", type:'jnjk' },
{ name: "生产地址:", value: "复方枸杞子胶囊" }, { nameTitle: "生产地址:", value: "", type:'scdz' },
{ name: "生产标准:", value: "复方枸杞子胶囊" }, { nameTitle: "生产标准:", value: "", type:'scbz' },
] ]
} }
}, },
created() { }, created() { },
mounted() { mounted() {
let type = this.$route.query.type;
type == 1 ? this.BasicList = this.ypList : type == 2 ? this.BasicList = this.ylqxList : this.BasicList = this.hzpList;
this.getInfo({type,code:this.$route.query.code})
},
methods: {
async getInfo(name){
let data = await this.$api.productPortrayal.findInfoByReq(name);
// console.log(data.data);
// console.log(this.BasicList);
for(var key in data.data){
this.BasicList.map(item=>{
if(item.type == key) {
item.value = data.data[key];
}
})
}
}
}, },
methods: {},
computed: {} computed: {}
} }
</script> </script>
@ -102,7 +117,7 @@ export default {
div:nth-of-type(2) { div:nth-of-type(2) {
/* 第二个子元素的样式 */ /* 第二个子元素的样式 */
flex: 1; max-width: 250px;
text-align: right; text-align: right;
font-size: 14px; font-size: 14px;
font-family: Regular; font-family: Regular;

@ -17,19 +17,19 @@
</div> </div>
<div class="content-top-right"> <div class="content-top-right">
<div class="content-top-fanhui"> <div class="content-top-fanhui">
<div class="content-top-fanhui-main"> <div class="content-top-fanhui-main" @click="fanhuimenhu">
<div class='black-bg'></div> <div class='black-bg'></div>
<span>返回门户</span> <span>返回门户</span>
</div> </div>
</div> </div>
<div class="userInfo"> <div class="userInfo">
<img src="@/assets/images/profile.jpg" alt="" /> <!-- <img src="@/assets/images/profile.jpg" alt="" /> -->
<el-dropdown trigger="click"> <el-dropdown trigger="click" @command="tuichudengl">
<span class="el-dropdown-link"> <span class="el-dropdown-link">
您好xxx<i class="el-icon-arrow-down el-icon--right"></i> 您好,{{ userName }}<i class="el-icon-arrow-down el-icon--right"></i>
</span> </span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item>退出登录</el-dropdown-item> <el-dropdown-item command="0">退出登录</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
@ -50,7 +50,7 @@
搜索 搜索
</div> </div>
<div class="box-dialog" v-loading="loading" v-if="dialog"> <div class="box-dialog" v-loading="loading" v-if="dialog">
<div class="dialog-item" v-for='(item,index) in searchList' :key="index" @click="getValue(item)"> <div class="dialog-item" v-for='(item, index) in searchList' :key="index" @click="getValue(item)">
{{ item.name }} {{ item.name }}
</div> </div>
</div> </div>
@ -67,24 +67,22 @@ export default {
data() { data() {
return { return {
input: "", input: "",
date:'', date: '',
dialog: false, dialog: false,
loading: true, loading: true,
searchList:[], searchList: [],
getData:{}, getData: {},
userName: '',
} }
}, },
watch:{ watch: {
async input(newValue,oldValue) { async input(newValue, oldValue) {
// let data = await this.$api.productPortrayal.findByName({current:1,size:10}); // let data = await this.$api.productPortrayal.findByName({current:1,size:10});
if(newValue){ if (newValue) {
this.loading = true; this.loading = true;
this.dialog = true; this.dialog = true;
let data = await this.$api.productPortrayal.findByName({name:newValue}); // let a = this.throttle(this.getsearchList,500)
if(data.code == 200) { this.getsearchList(newValue);
this.loading = false;
this.searchList = data.data;
}
} else { } else {
this.dialog = false; this.dialog = false;
this.searchList = []; this.searchList = [];
@ -93,21 +91,27 @@ export default {
} }
}, },
created() { this.dataNow(1) }, created() { this.dataNow(1) },
mounted() { this.getData(1) }, mounted() {
this.getDataInterval(1)
console.log(localStorage.getItem('userDto'))
let user = JSON.parse(localStorage.getItem('userDto'))
console.log(user)
this.userName = user.realName
},
methods: { methods: {
gotoBgpage() { gotoBgpage() {
if(this.input) { if (this.input) {
console.log(this.searchList,'this.searchList') console.log(this.searchList, 'this.searchList')
if(this.searchList.length == 1) { if (this.searchList.length == 1) {
this.$router.push({path:"/bgpage",query: {code: this.getData.code,name: this.getData.name,type: this.getData.type}}) this.$router.push({ path: "/bgpage", query: { code: this.getData.code, name: this.getData.name, type: this.getData.type } })
this.searchList = []; this.searchList = [];
} else if(this.searchList.length > 1) { } else if (this.searchList.length > 1) {
this.$router.push({path:"/bgpage",query: {code: this.searchList[0].code,name: this.searchList[0].name,type: this.searchList[0].type}}) this.$router.push({ path: "/bgpage", query: { code: this.searchList[0].code, name: this.searchList[0].name, type: this.searchList[0].type } })
this.searchList = []; this.searchList = [];
} }
} }
}, },
getData(index){ getDataInterval(index) {
setInterval(() => { setInterval(() => {
this.dataNow(index) this.dataNow(index)
}, 1000); }, 1000);
@ -146,12 +150,30 @@ export default {
} }
}, },
getValue(item){ getValue(item) {
this.input = item.name; this.input = item.name;
this.getData = item; this.getData = item;
setTimeout(() => { setTimeout(() => {
this.dialog = false; this.dialog = false;
}, 200); }, 200);
},
async getsearchList(newValue) {
let data = await this.$api.productPortrayal.findByName({ name: newValue });
if (data.code == 200) {
this.loading = false;
this.searchList = data.data;
if (this.searchList.length < 1) {
this.dialog = false;
}
}
},
tuichudengl() {
console.log(111);
location.href = `${location.origin}/login`;
},
fanhuimenhu() {
location.href = `${location.origin}/ims/workbench/`;
} }
}, },
computed: {} computed: {}
@ -190,6 +212,7 @@ export default {
color: #FFFFFF; color: #FFFFFF;
opacity: 0.72; opacity: 0.72;
} }
.content-top-left-data2 { .content-top-left-data2 {
font-size: 14px; font-size: 14px;
font-family: Source Han Sans CN; font-family: Source Han Sans CN;
@ -206,8 +229,9 @@ export default {
.content-top-fanhui { .content-top-fanhui {
margin-right: 10px; margin-right: 10px;
background: linear-gradient(0deg, rgba(103,200,255,0.2) 0%, rgba(111,176,231,0.1) 100%); background: linear-gradient(0deg, rgba(103, 200, 255, 0.2) 0%, rgba(111, 176, 231, 0.1) 100%);
cursor: pointer; cursor: pointer;
.content-top-fanhui-main { .content-top-fanhui-main {
padding: 2px 15px; padding: 2px 15px;
border: 1px solid; border: 1px solid;
@ -215,6 +239,7 @@ export default {
border-radius: 4px; border-radius: 4px;
display: flex; display: flex;
align-items: center; align-items: center;
.black-bg { .black-bg {
width: 36px; width: 36px;
height: 34px; height: 34px;
@ -222,12 +247,13 @@ export default {
background-size: cover; background-size: cover;
margin-top: 3px; margin-top: 3px;
} }
span { span {
font-size: 16px; font-size: 16px;
font-family: SourceHanSansSC; font-family: SourceHanSansSC;
font-weight: bold; font-weight: bold;
color: #FEFFFF; color: #FEFFFF;
text-shadow: 0px 4px 9px rgba(0,0,0,0.29); text-shadow: 0px 4px 9px rgba(0, 0, 0, 0.29);
background: linear-gradient(0deg, #CAFFFF 0%, #CAFFFF 0%, #FFFFFF 0%, #74B4F4 38.96484375%, #3883FF 100%); background: linear-gradient(0deg, #CAFFFF 0%, #CAFFFF 0%, #FFFFFF 0%, #74B4F4 38.96484375%, #3883FF 100%);
-webkit-background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
@ -236,8 +262,10 @@ export default {
} }
.userInfo { .userInfo {
cursor: pointer;
display: flex; display: flex;
align-items: center; align-items: center;
img { img {
width: 31px; width: 31px;
height: 31px; height: 31px;
@ -245,7 +273,7 @@ export default {
margin-right: 10px; margin-right: 10px;
} }
} }
.el-dropdown-link { .el-dropdown-link {
font-size: 16px; font-size: 16px;
font-family: SourceHanSansSC; font-family: SourceHanSansSC;
@ -260,6 +288,7 @@ export default {
.title { .title {
margin-top: 250px; margin-top: 250px;
color: #fff; color: #fff;
// display: flex; // display: flex;
// justify-content: center; // justify-content: center;
div { div {
@ -270,12 +299,13 @@ export default {
font-weight: normal; font-weight: normal;
color: #FFFFFF; color: #FFFFFF;
line-height: 18px; line-height: 18px;
text-shadow: 0px 8px 16px rgba(24,118,172,0.6); text-shadow: 0px 8px 16px rgba(24, 118, 172, 0.6);
// background: linear-gradient(0deg, #C2E5FF 100%); // background: linear-gradient(0deg, #C2E5FF 100%);
// -webkit-background-clip: text; // -webkit-background-clip: text;
// -webkit-text-fill-color: transparent; // -webkit-text-fill-color: transparent;
z-index: 20; z-index: 20;
} }
img { img {
width: 316px; width: 316px;
height: 316px; height: 316px;
@ -284,11 +314,13 @@ export default {
left: 830px; left: 830px;
} }
} }
.content-bottom-box { .content-bottom-box {
position: absolute; position: absolute;
top: 50%; top: 50%;
left: 50%; left: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
.content-bottom { .content-bottom {
position: relative; position: relative;
// width: 800px; // width: 800px;
@ -298,8 +330,10 @@ export default {
.input { .input {
width: 739px; width: 739px;
::v-deep .el-input { ::v-deep .el-input {
background-color: transparent; background-color: transparent;
input { input {
border: none; border: none;
background-color: transparent; background-color: transparent;
@ -333,6 +367,7 @@ export default {
color: #FFFFFF; color: #FFFFFF;
line-height: 18px; line-height: 18px;
cursor: pointer; cursor: pointer;
img { img {
width: 25px; width: 25px;
height: 25px; height: 25px;
@ -348,8 +383,8 @@ export default {
top: 120px; top: 120px;
left: 10px; left: 10px;
padding: 2px; padding: 2px;
background: linear-gradient(to right,rgba(24,101,242,0.1),rgba(24,101,242,0.1)); background: linear-gradient(to right, rgba(24, 101, 242, 0.1), rgba(24, 101, 242, 0.1));
overflow: scroll; overflow: scroll;
.dialog-item { .dialog-item {
// padding: 15px 27px; // padding: 15px 27px;
@ -358,21 +393,24 @@ export default {
font-family: Source Han Sans CN; font-family: Source Han Sans CN;
font-weight: 400; font-weight: 400;
color: #FFFFFF; color: #FFFFFF;
cursor:pointer; cursor: pointer;
// line-height: 50px; // line-height: 50px;
// background-color: rgb(63,110,204) // background-color: rgb(63,110,204)
// background-color: rgba(205,235,243,0.1) // background-color: rgba(205,235,243,0.1)
} }
.dialog-item:hover { .dialog-item:hover {
background-color: rgb(63,110,204) background-color: rgb(63, 110, 204)
} }
} }
} }
} }
// //
::v-deep .el-loading-mask{ ::v-deep .el-loading-mask {
background-color: rgba(205,235,243,0.1); background-color: rgba(205, 235, 243, 0.1);
} }
// //
// ::v-deep .el-loading-spinner .path{ // ::v-deep .el-loading-spinner .path{
// stroke: #005432; // stroke: #005432;
@ -380,6 +418,5 @@ export default {
// //
// ::v-deep .el-loading-spinner .el-loading-text{ // ::v-deep .el-loading-spinner .el-loading-text{
// color: #005432; // color: #005432;
// } // }</style>
</style>

@ -25,7 +25,7 @@ module.exports = {
// 部署生产环境和开发环境下的URL。 // 部署生产环境和开发环境下的URL。
// 默认情况下Vue CLI 会假设你的应用是被部署在一个域名的根路径上 // 默认情况下Vue CLI 会假设你的应用是被部署在一个域名的根路径上
// 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。 // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
publicPath: process.env.NODE_ENV === "production" ? "/" : "/", publicPath: process.env.NODE_ENV === "production" ? process.env.VUE_APP_HOUTAI : "/",
// 在npm run build 或 yarn build 时 生成文件的目录名称要和baseUrl的生产环境路径一致默认dist // 在npm run build 或 yarn build 时 生成文件的目录名称要和baseUrl的生产环境路径一致默认dist
outputDir: 'dist', outputDir: 'dist',
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)

Loading…
Cancel
Save