Compare commits

..

No commits in common. 'main' and 'duhanyu' have entirely different histories.

@ -5,7 +5,6 @@ VUE_APP_TITLE = 产品画像
ENV = 'development' ENV = 'development'
# 若依管理系统/开发环境 # 若依管理系统/开发环境
VUE_APP_BASE_API = 'https://dev-mssm-liaoning.lesdev.cn' VUE_APP_BASE_API = 'https://dev-mssm-liaoning.imian.org.cn'
# VUE_APP_BASE_API = 'http://192.168.0.109:9023'
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true

@ -4,7 +4,7 @@ VUE_APP_TITLE = 产品画像
# 生产环境配置 # 生产环境配置
ENV = 'production' ENV = 'production'
# 若依管理系统/生产环境 /api/ggfw/ # 若依管理系统/生产环境
VUE_APP_BASE_API = '/prod-api' VUE_APP_BASE_API = '/prod-api'
VUE_APP_HOUTAI = /ggfw-jcphx VUE_APP_HOUTAI = /ggfw-jcphx

@ -20,10 +20,7 @@ export default {
} }
} }
}; };
/* request 线线 /*
myAPI 注意线上与线下环境
npm run build:prod npm run build:prod
/usr/share/nginx/html/ggfw-jcphx /usr/share/nginx/html/ggfw-jcphx

@ -55,12 +55,4 @@ export function getXXMSG(query) {
method: 'get', method: 'get',
params: query params: query
}) })
} }
//根据产品画像类型查询产品
export function findByType(query) {
return request({
url: '/ggfw-api/pharmaceuticals/largeScreen/findByType',
method: 'get',
params: query
})
}

@ -1,42 +1,43 @@
import request from "@/utils/request"; import request from "@/utils/request";
// 本地 // 本地
let api = process.env.NODE_ENV === "production" ?location.origin: "API" let api = "API"
// 线上 // 线上
// let api = location.origin
export default { // let api = location.origin
frimLogin() { export default {
return request({
baseURL: process.env.VUE_APP_USER_LOGIN,
url: "/ggfw-api/pharmaceuticals/login", frimLogin() {
headers: { return request({
"Content-Type": "application/json", baseURL: process.env.VUE_APP_USER_LOGIN,
isToken: true, url: "/ggfw-api/pharmaceuticals/login",
repeatSubmit: false, headers: {
}, "Content-Type": "application/json",
method: "POST", isToken: true,
timeout: 60000, repeatSubmit: false,
data: { },
// pdma: "Q2V0YzI4QGNvbQ==", method: "POST",
// urne: "2112042170015", timeout: 60000,
pdma: "MTExMTEx", data: {
urne: "2112042170015", pdma: "MTExMTEx",
}, urne: "2112042170015",
}); },
}, });
},
getuserinfo() {
return request({ getuserinfo() {
// baseURL: location.origin, return request({
baseURL: api, // baseURL: location.origin,
url: "/api/admin/user/getSelfInfo", baseURL: api,
method: "get", url: "/api/admin/user/getSelfInfo",
timeout: 60000, method: "get",
headers: { timeout: 60000,
// Authentication: localStorage.getItem("MSSM-LIAONING__TOKEN"), headers: {
repeatSubmit: false, // Authentication: localStorage.getItem("MSSM-LIAONING__TOKEN"),
}, repeatSubmit: false,
}); },
}, });
},
};
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

@ -78,7 +78,6 @@ import { setToken } from '@/utils/auth'
// Authentication.data.result.userToken // Authentication.data.result.userToken
// ); // );
// } // }
// token() // token()
// let infor = async () => { // let infor = async () => {
// let response = await API.login.getuserinfo(); // let response = await API.login.getuserinfo();
@ -95,10 +94,7 @@ import { setToken } from '@/utils/auth'
* Currently MockJs will be used in the production environment, * Currently MockJs will be used in the production environment,
* please remove it before going online! ! ! * please remove it before going online! ! !
*/ */
/*
*/
Vue.use(Element, { Vue.use(Element, {
size: Cookies.get('size') || 'medium' // set element-ui default size size: Cookies.get('size') || 'medium' // set element-ui default size
}) })

@ -11,7 +11,9 @@ NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/register'] const whiteList = ['/login', '/register']
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
setToken() setToken()
NProgress.start() NProgress.start()
next() next()
}) })

@ -1,155 +1,149 @@
import axios from 'axios' import axios from 'axios'
import { Notification, MessageBox, Message, Loading } from 'element-ui' import { Notification, MessageBox, Message, Loading } from 'element-ui'
import store from '@/store' import store from '@/store'
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
import errorCode from '@/utils/errorCode' import errorCode from '@/utils/errorCode'
import { tansParams, blobValidate } from "@/utils/ruoyi"; import { tansParams, blobValidate } from "@/utils/ruoyi";
import cache from '@/plugins/cache' import cache from '@/plugins/cache'
import { saveAs } from 'file-saver' import { saveAs } from 'file-saver'
let downloadLoadingInstance; let downloadLoadingInstance;
// 是否显示重新登录 // 是否显示重新登录
export let isRelogin = { show: false }; export let isRelogin = { show: false };
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' 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: process.env.VUE_APP_BASE_API,
baseURL: process.env.NODE_ENV === "production" ? location.origin +"/api/ggfw" : process.env.VUE_APP_BASE_API, //!线上
//!线上--2.17-198 // baseURL:location.origin,
// baseURL:location.origin +"/api/ggfw", // 超时
//!其他 timeout: 10000
// baseURL:location.origin, })
// 超时
timeout: 10000 // request拦截器
}) service.interceptors.request.use(config => {
// 是否需要设置 token
// request拦截器 const isToken = (config.headers || {}).isToken === false
service.interceptors.request.use(config => { // 是否需要防止数据重复提交
// 是否需要设置 token const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
const isToken = (config.headers || {}).isToken === false if (getToken() && !isToken) {
// 是否需要防止数据重复提交 // config.headers['Authentication'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
const isRepeatSubmit = (config.headers || {}).repeatSubmit === false config.headers['Authentication'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
if (getToken() && !isToken) { }
// config.headers['Authentication'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 // get请求映射params参数
config.headers['Authentication'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 if (config.method === 'get' && config.params) {
} let url = config.url + '?' + tansParams(config.params);
// get请求映射params参数 url = url.slice(0, -1);
if (config.method === 'get' && config.params) { config.params = {};
let url = config.url + '?' + tansParams(config.params); config.url = url;
url = url.slice(0, -1); }
config.params = {}; if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
config.url = url; const requestObj = {
} url: config.url,
if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) { data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data,
const requestObj = { time: new Date().getTime()
url: config.url, }
data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data, const sessionObj = cache.session.getJSON('sessionObj')
time: new Date().getTime() if (sessionObj === undefined || sessionObj === null || sessionObj === '') {
} cache.session.setJSON('sessionObj', requestObj)
const sessionObj = cache.session.getJSON('sessionObj') } else {
if (sessionObj === undefined || sessionObj === null || sessionObj === '') { const s_url = sessionObj.url; // 请求地址
cache.session.setJSON('sessionObj', requestObj) const s_data = sessionObj.data; // 请求数据
} else { const s_time = sessionObj.time; // 请求时间
const s_url = sessionObj.url; // 请求地址 const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交
const s_data = sessionObj.data; // 请求数据 if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) {
const s_time = sessionObj.time; // 请求时间 const message = '数据正在处理,请勿重复提交';
const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交 console.warn(`[${s_url}]: ` + message)
if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) { return Promise.reject(new Error(message))
const message = '数据正在处理,请勿重复提交'; } else {
console.warn(`[${s_url}]: ` + message) cache.session.setJSON('sessionObj', requestObj)
return Promise.reject(new Error(message)) }
} else { }
cache.session.setJSON('sessionObj', requestObj) }
} return config
} }, error => {
} console.log(error)
return config Promise.reject(error)
}, error => { })
console.log(error)
Promise.reject(error) // 响应拦截器
}) service.interceptors.response.use(res => {
// 未设置状态码则默认成功状态
// 响应拦截器 const code = res.data.code || 200;
service.interceptors.response.use(res => { // 获取错误信息
// 未设置状态码则默认成功状态 const msg = errorCode[code] || res.data.msg || errorCode['default']
const code = res.data.code || 200; // 二进制数据则直接返回
// 获取错误信息 if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') {
const msg = errorCode[code] || res.data.msg || errorCode['default'] return res.data
// 二进制数据则直接返回 }
if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') { if (code === 401) {
return res.data if (!isRelogin.show) {
} isRelogin.show = true;
if (code === 401) { MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
if (!isRelogin.show) { isRelogin.show = false;
isRelogin.show = true; store.dispatch('LogOut').then(() => {
MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => { location.href = `${location.origin}/login`;
isRelogin.show = false; })
store.dispatch('LogOut').then(() => { }).catch(() => {
location.href = `${location.origin}/login`; isRelogin.show = false;
}) });
}).catch(() => { }
isRelogin.show = false; return Promise.reject('无效的会话,或者会话已过期,请重新登录。')
}); } else if (code === 500) {
} Message({ message: msg, type: 'error' })
return Promise.reject('无效的会话,或者会话已过期,请重新登录。') return Promise.reject(new Error(msg))
} else if (code === 500) { } else if (code === 601) {
Message({ message: msg, type: 'error' }) Message({ message: msg, type: 'warning' })
return Promise.reject(new Error(msg)) return Promise.reject('error')
} else if (code === 601) { } else if (code !== 200) {
Message({ message: msg, type: 'warning' }) Notification.error({ title: msg })
return Promise.reject('error') return Promise.reject('error')
} else if (code !== 200) { } else {
Notification.error({ title: msg }) return res.data
return Promise.reject('error') }
} else { },
return res.data error => {
} console.log('err' + error)
}, let { message } = error;
error => { if (message == "Network Error") {
console.log('err' + error) message = "后端接口连接异常";
let { message } = error; } else if (message.includes("timeout")) {
if (message == "Network Error") { message = "系统接口请求超时";
message = "后端接口连接异常"; } else if (message.includes("Request failed with status code")) {
} else if (message.includes("timeout")) { message = "系统接口" + message.substr(message.length - 3) + "异常";
message = "系统接口请求超时"; }
} else if (message.includes("Request failed with status code")) { Message({ message: message, type: 'error', duration: 5 * 1000 })
message = "系统接口" + message.substr(message.length - 3) + "异常"; return Promise.reject(error)
setTimeout(() => { }
location.href = `${location.origin}/login`; )
}, 2000);
} // 通用下载方法
Message({ message: message, type: 'error', duration: 5 * 1000 }) export function download(url, params, filename, config) {
return Promise.reject(error) downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
} return service.post(url, params, {
) transformRequest: [(params) => { return tansParams(params) }],
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
// 通用下载方法 responseType: 'blob',
export function download(url, params, filename, config) { ...config
downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", }) }).then(async (data) => {
return service.post(url, params, { const isBlob = blobValidate(data);
transformRequest: [(params) => { return tansParams(params) }], if (isBlob) {
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, const blob = new Blob([data])
responseType: 'blob', saveAs(blob, filename)
...config } else {
}).then(async (data) => { const resText = await data.text();
const isBlob = blobValidate(data); const rspObj = JSON.parse(resText);
if (isBlob) { const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
const blob = new Blob([data]) Message.error(errMsg);
saveAs(blob, filename) }
} else { downloadLoadingInstance.close();
const resText = await data.text(); }).catch((r) => {
const rspObj = JSON.parse(resText); console.error(r)
const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] Message.error('下载文件出现错误,请联系管理员!')
Message.error(errMsg); downloadLoadingInstance.close();
} })
downloadLoadingInstance.close(); }
}).catch((r) => {
console.error(r) export default service
Message.error('下载文件出现错误,请联系管理员!')
downloadLoadingInstance.close();
})
}
export default service

@ -27,10 +27,9 @@
<span></span> <span></span>
</div> </div>
<div class="topbox-item-right"> <div class="topbox-item-right">
<!-- <div class="redStyle">较去年</div> --> <div class="redStyle">较去年</div>
<div>较去年</div> <span class="spanxia"></span>
<!-- <span class="spanxia"></span> --> <!-- <span class="spanshang"></span> -->
<span class="spanshang"></span>
</div> </div>
</div> </div>
<div class="topbox-item"> <div class="topbox-item">
@ -43,10 +42,9 @@
<span></span> <span></span>
</div> </div>
<div class="topbox-item-right"> <div class="topbox-item-right">
<!-- <div class="redStyle">较去年</div> --> <div class="redStyle">较去年</div>
<div>较去年</div> <span class="spanxia"></span>
<!-- <span class="spanxia"></span> --> <!-- <span class="spanshang"></span> -->
<span class="spanshang"></span>
</div> </div>
</div> </div>
</div> </div>
@ -55,20 +53,20 @@
<div class="bottom-box" ref="bottom-box"></div> <div class="bottom-box" ref="bottom-box"></div>
</div> </div>
<div class="rights"> <div class="rights">
<div v-for="(item, index) in pieDatalist"> <div>
<div class="pt-top"> <div class="pt-top">
<div class="ptleftbox"> <div class="ptleftbox">
<div :class="'rectangular' + (index + 1)"></div> <div class="rectangular1"></div>
</div> </div>
<div class="texts">{{ item.name }}</div> <div class="texts">一般不良反应</div>
</div> </div>
<div class="pt-top"> <div class="pt-top">
<div class="ptleftbox"></div> <div class="ptleftbox"></div>
<div class="boxLine"></div> <div class="boxLine"></div>
<div :class="('react' + (index + 1))" class="ptStyle">{{item.percent}}%</div> <div class="ptStyle react1">0%</div>
</div> </div>
</div> </div>
<!-- <div> <div>
<div class="pt-top"> <div class="pt-top">
<div class="ptleftbox"> <div class="ptleftbox">
<div class="rectangular2"></div> <div class="rectangular2"></div>
@ -80,8 +78,8 @@
<div class="boxLine"></div> <div class="boxLine"></div>
<div class="ptStyle react2">0%</div> <div class="ptStyle react2">0%</div>
</div> </div>
</div> --> </div>
<!-- <div> <div>
<div class="pt-top"> <div class="pt-top">
<div class="ptleftbox"> <div class="ptleftbox">
<div class="rectangular3"></div> <div class="rectangular3"></div>
@ -93,7 +91,7 @@
<div class="boxLine"></div> <div class="boxLine"></div>
<div class="ptStyle react3">0%</div> <div class="ptStyle react3">0%</div>
</div> </div>
</div> --> </div>
</div> </div>
</div> </div>
</div> </div>
@ -115,7 +113,6 @@ export default {
option1: {}, option1: {},
// echarts // echarts
myChart1: {}, myChart1: {},
a1: 0, a1: 0,
a2: 0, a2: 0,
a3: 0, a3: 0,
@ -134,24 +131,10 @@ export default {
name: "发生死亡不良反应", name: "发生死亡不良反应",
}, },
], ],
pieDatalist: [
{
percent: 0,
name: "一般不良反应",
},
{
percent: 0,
name: "严重不良反应",
},
{
percent: 0,
name: "发生死亡不良反应",
},
],
total: 0, total: 0,
}; };
}, },
created() { }, created() {},
mounted() { mounted() {
this.getData(); this.getData();
}, },
@ -160,126 +143,87 @@ export default {
let newRouter = this.$route.query; let newRouter = this.$route.query;
if (newRouter.type == 1) { if (newRouter.type == 1) {
// //
getDrugBL({ name: newRouter.code }) getDrugBL({ name: newRouter.code }).then((res) => {
.then((res) => { res.data.result.forEach((value, index) => {
res.data.result.forEach((value, index) => { this.pieData.forEach((value1, index1) => {
this.pieData.forEach((value1, index1) => { if (value.reportType == "一般" && value1.name == "一般不良反应") {
if ( this.pieData[index1].value = value.reportCount;
value.reportType == "一般" && }
value1.name == "一般不良反应" if (value.reportType == "严重" && value1.name == "严重不良反应") {
) { this.pieData[index1].value = value.reportCount;
this.pieData[index1].value = value.reportCount; }
} if (
if ( value.reportType != "一般" &&
value.reportType == "严重" && value.reportType != "严重" &&
value1.name == "严重不良反应" value1.name == "发生死亡不良反应"
) { ) {
this.pieData[index1].value = value.reportCount; this.pieData[index1].value = value.reportCount;
} }
if (
value.reportType != "一般" &&
value.reportType != "严重" &&
value1.name == "发生死亡不良反应"
) {
this.pieData[index1].value = value.reportCount;
}
});
});
this.$nextTick(() => {
let chartDom = this.$refs["bottom-box"];
this.myChart1 = echarts.init(chartDom);
this.initEcharts();
});
})
.catch(() => {
this.$nextTick(() => {
let chartDom = this.$refs["bottom-box"];
this.myChart1 = echarts.init(chartDom);
this.initEcharts();
}); });
}); });
this.$nextTick(() => {
let chartDom = this.$refs["bottom-box"];
this.myChart1 = echarts.init(chartDom);
this.initEcharts();
});
});
} }
if (newRouter.type != 1 && newRouter.type != 2) { if (newRouter.type != 1 && newRouter.type != 2) {
// //
getCosmeticsBL({ name: newRouter.code }) getCosmeticsBL({ name: newRouter.code }).then((res) => {
.then((res) => { res.data.result.forEach((value, index) => {
res.data.result.forEach((value, index) => { this.pieData.forEach((value1, index1) => {
this.pieData.forEach((value1, index1) => { if (value.reportType == "一般" && value1.name == "一般不良反应") {
if ( this.pieData[index1].value = value.reportCount;
value.reportType == "一般" && }
value1.name == "一般不良反应" if (value.reportType == "严重" && value1.name == "严重不良反应") {
) { this.pieData[index1].value = value.reportCount;
this.pieData[index1].value = value.reportCount; }
} if (
if ( value.reportType != "一般" &&
value.reportType == "严重" && value.reportType != "严重" &&
value1.name == "严重不良反应" value1.name == "发生死亡不良反应"
) { ) {
this.pieData[index1].value = value.reportCount; this.pieData[index1].value = value.reportCount;
} }
if (
value.reportType != "一般" &&
value.reportType != "严重" &&
value1.name == "发生死亡不良反应"
) {
this.pieData[index1].value = value.reportCount;
}
});
});
this.$nextTick(() => {
let chartDom = this.$refs["bottom-box"];
this.myChart1 = echarts.init(chartDom);
this.initEcharts();
});
})
.catch(() => {
this.$nextTick(() => {
let chartDom = this.$refs["bottom-box"];
this.myChart1 = echarts.init(chartDom);
this.initEcharts();
}); });
}); });
this.$nextTick(() => {
let chartDom = this.$refs["bottom-box"];
this.myChart1 = echarts.init(chartDom);
this.initEcharts();
});
});
} }
if (newRouter.type == 2) { if (newRouter.type == 2) {
// //
getMedicalDevicesBL({ name: newRouter.code }) getMedicalDevicesBL({ name: newRouter.code }).then((res) => {
.then((res) => { res.data.result.forEach((value, index) => {
res.data.result.forEach((value, index) => { this.pieData.forEach((value1, index1) => {
this.pieData.forEach((value1, index1) => { if (
if ( value.reportType == "严重伤害" &&
value.reportType == "严重伤害" && value1.name == "严重不良反应"
value1.name == "严重不良反应" ) {
) { this.pieData[index1].value = value.reportCount;
this.pieData[index1].value = value.reportCount; }
} if (value.reportType == "其他" && value1.name == "一般不良反应") {
if ( this.pieData[index1].value = value.reportCount;
value.reportType == "其他" && }
value1.name == "一般不良反应" if (
) { value.reportType != "严重伤害" &&
this.pieData[index1].value = value.reportCount; value.reportType != "其他" &&
} value1.name == "发生死亡不良反应"
if ( ) {
value.reportType != "严重伤害" && this.pieData[index1].value = value.reportCount;
value.reportType != "其他" && }
value1.name == "发生死亡不良反应"
) {
this.pieData[index1].value = value.reportCount;
}
});
});
this.$nextTick(() => {
let chartDom = this.$refs["bottom-box"];
this.myChart1 = echarts.init(chartDom);
this.initEcharts();
});
})
.catch(() => {
this.$nextTick(() => {
let chartDom = this.$refs["bottom-box"];
this.myChart1 = echarts.init(chartDom);
this.initEcharts();
}); });
}); });
this.$nextTick(() => {
let chartDom = this.$refs["bottom-box"];
this.myChart1 = echarts.init(chartDom);
this.initEcharts();
});
});
} }
}, },
initEcharts() { initEcharts() {
@ -391,13 +335,6 @@ export default {
normal: { normal: {
show: false, show: false,
formatter: "", formatter: "",
formatter: (params)=> {
if (params.name == "一般不良反应") this.pieDatalist[0].percent = params.percent || 0;
if (params.name == "严重不良反应") this.pieDatalist[1].percent = params.percent || 0;
if (params.name == "发生死亡不良反应") this.pieDatalist[2].percent = params.percent || 0;
return (params.percent || 0) + "%";
},
textStyle: { textStyle: {
fontSize: 12, fontSize: 12,
}, },
@ -469,7 +406,7 @@ export default {
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: bottom; background-position: bottom;
>div { > div {
display: flex; display: flex;
align-items: center; align-items: center;
} }
@ -527,7 +464,6 @@ export default {
.topbox-item-right { .topbox-item-right {
flex: 1; flex: 1;
.redStyle { .redStyle {
font-size: 16px; font-size: 16px;
font-family: Alibaba PuHuiTi; font-family: Alibaba PuHuiTi;
@ -538,7 +474,6 @@ export default {
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
margin-right: 5px; margin-right: 5px;
} }
div { div {
font-size: 16px; font-size: 16px;
font-family: Alibaba PuHuiTi; font-family: Alibaba PuHuiTi;
@ -566,7 +501,6 @@ export default {
} }
} }
} }
.footers { .footers {
height: calc(100% - 120px); height: calc(100% - 120px);
display: flex; display: flex;
@ -575,13 +509,11 @@ export default {
height: 100%; height: 100%;
width: 50%; width: 50%;
padding: 10px; padding: 10px;
.bottom-box { .bottom-box {
height: 100%; height: 100%;
width: 100%; width: 100%;
} }
} }
.rights { .rights {
height: 100%; height: 100%;
padding-left: 15px; padding-left: 15px;
@ -596,30 +528,25 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
position: relative; position: relative;
.ptleftbox { .ptleftbox {
width: 12%; width: 12%;
height: 100%; height: 100%;
.rectangular1 { .rectangular1 {
height: 8px; height: 8px;
width: 8px; width: 8px;
background: #2e87e8; background: #2e87e8;
} }
.rectangular2 { .rectangular2 {
height: 8px; height: 8px;
width: 8px; width: 8px;
background: #f0a436; background: #f0a436;
} }
.rectangular3 { .rectangular3 {
height: 8px; height: 8px;
width: 8px; width: 8px;
background: #f35656; background: #f35656;
} }
} }
.texts { .texts {
width: 60%; width: 60%;
font-size: 16px; font-size: 16px;
@ -627,7 +554,6 @@ export default {
font-weight: 400; font-weight: 400;
color: #b7d4f5; color: #b7d4f5;
} }
.react1 { .react1 {
// font-size: 20px; // font-size: 20px;
font-family: Alibaba PuHuiTi; font-family: Alibaba PuHuiTi;
@ -635,7 +561,6 @@ export default {
color: #2e87e8; color: #2e87e8;
padding-left: 10px; padding-left: 10px;
} }
.react2 { .react2 {
// font-size: 20px; // font-size: 20px;
font-family: Alibaba PuHuiTi; font-family: Alibaba PuHuiTi;
@ -643,7 +568,6 @@ export default {
color: #f0a436; color: #f0a436;
padding-left: 10px; padding-left: 10px;
} }
.react3 { .react3 {
// font-size: 20px; // font-size: 20px;
font-family: Alibaba PuHuiTi; font-family: Alibaba PuHuiTi;
@ -652,15 +576,15 @@ export default {
color: #f35656; color: #f35656;
} }
.ptStyle { .ptStyle {
width: 60%; width: 60%;
margin-top: 5px; margin-top: 5px;
background: linear-gradient(to right, background: linear-gradient(
rgba(36, 64, 97, 1), to right,
rgba(36, 64, 97, 0)); rgba(36, 64, 97, 1),
rgba(36, 64, 97, 0)
);
} }
.boxLine { .boxLine {
position: absolute; position: absolute;
width: 18px; width: 18px;

@ -78,8 +78,8 @@ export default {
<style scoped lang='scss'> <style scoped lang='scss'>
.Basic-box { .Basic-box {
width: 100%; width: 100%;
height: 320px; height: 300px;
padding: 0 11px 0px 11px; padding: 0 11px 11px 11px;
overflow-y: auto; overflow-y: auto;
.Basic-box-item { .Basic-box-item {

@ -1,14 +1,34 @@
<template> <template>
<div class="Basic-box" ref="basic"> <div class="Basic-box" ref="basic">
<el-table :data="tableData" v-loading="load1" element-loading-text="..." <el-table
element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)" :height="height" stripe :data="tableData"
style="width: 100%; background-color: transparent"> v-loading="load1"
<el-table-column v-for="(item, index) in tableHeader1" :key="index" :prop="item.prop" :label="item.label" element-loading-text="加载中..."
:width="item.width || ''" show-overflow-tooltip align="center"> element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.8)"
:height="height"
stripe
style="width: 100%; background-color: transparent"
>
<el-table-column
v-for="(item, index) in tableHeader1"
:key="index"
:prop="item.prop"
:label="item.label"
:width="item.width || ''"
show-overflow-tooltip
align="center"
>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div ref="pagination"> <div ref="pagination">
<Pagination :total="total" :page="query.current" :limit="query.size" @pagination="changeList"></Pagination> <Pagination
:total="total"
:page="query.current"
:limit="query.size"
@pagination="changeList"
></Pagination>
</div> </div>
</div> </div>
</template> </template>
@ -58,7 +78,7 @@ export default {
height: 0, height: 0,
}; };
}, },
created() { }, created() {},
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.height = this.height =
@ -69,41 +89,8 @@ export default {
methods: { methods: {
getList() { getList() {
let newRouter = this.$route.query; let newRouter = this.$route.query;
this.query.name = newRouter.code; this.query.name = newRouter.code;
this.load1 = true; this.load1 = true;
if (this.query.name == "国药准字H21020985") {
this.tableData = [{
bgsj: "2020/6/15",
bgsx: "再注册",
bgxm: "符合《药品注册管理办法》的有关规定,进行再注册"
},{
bgsj: "2020/10/25",
bgsx: "企业更名",
bgxm: "生产企业名称由沈阳志鹰药业有限公司变更为辽宁亿帆药业有限公司"
},{
bgsj: "2020/12/30",
bgsx: "生产地址变更",
bgxm: "生产地址由沈阳市沈河区万柳塘路51号变更为本溪经济技术开发区香槐路67号"
},{
bgsj: "2022/4/20",
bgsx: "合并审批结论",
bgxm: "辽备2022008948予以备案申请人对申报资料的真实性、准确性、完整性负责"
},]
this.total = 4;
this.load1 = false;
return
}
if (this.query.name == "国药准字H19990372") {
this.tableData = [{
bgsj: "2020/7/13",
bgsx: "再注册",
bgxm: "符合《药品注册管理办法》的有关规定,进行再注册"
}]
this.total = 1;
this.load1 = false;
return
}
getDrugChange(this.query).then((res) => { getDrugChange(this.query).then((res) => {
this.tableData = res.data.records; this.tableData = res.data.records;
this.total = res.data.total; this.total = res.data.total;
@ -122,46 +109,38 @@ export default {
<style scoped lang='scss'> <style scoped lang='scss'>
.Basic-box { .Basic-box {
margin-top: 10px; margin-top: 10px;
max-width: 100%; width: 100%;
height: calc(100% - 41px - 10px); height: calc(100% - 41px - 10px);
// padding: 0 11px 11px 11px; // padding: 0 11px 11px 11px;
overflow-y: auto; overflow-y: auto;
background-color: transparent; background-color: transparent;
} }
::v-deep .el-table, ::v-deep .el-table,
.el-table__expanded-cell { .el-table__expanded-cell {
background-color: transparent; background-color: transparent;
} }
::v-deep .el-table th { ::v-deep .el-table th {
background-color: rgba(0, 100, 255, 0.2) !important; background-color: rgba(0, 100, 255, 0.2) !important;
color: #2492ff; color: #2492ff;
border: none; border: none;
} }
::v-deep .el-table td { ::v-deep .el-table td {
border: none; border: none;
} }
::v-deep .el-table::before { ::v-deep .el-table::before {
height: 0px; height: 0px;
} }
::v-deep .el-table tr { ::v-deep .el-table tr {
background-color: transparent !important; background-color: transparent !important;
color: #b7d4f5; color: #b7d4f5;
} }
::v-deep .el-table tbody tr:hover td { ::v-deep .el-table tbody tr:hover td {
background-color: transparent !important; background-color: transparent !important;
} }
::v-deep .el-table th.el-table__cell.is-leaf, ::v-deep .el-table th.el-table__cell.is-leaf,
.el-table td.el-table__cell { .el-table td.el-table__cell {
border: none; border: none;
} }
// //
::v-deep .el-table .el-table__body tr.el-table__row--striped td { ::v-deep .el-table .el-table__body tr.el-table__row--striped td {
background-color: rgba(0, 50, 150, 0.1) !important; background-color: rgba(0, 50, 150, 0.1) !important;

@ -4,32 +4,32 @@
<div class="top-box"> <div class="top-box">
<div class="topbox-item"> <div class="topbox-item">
<div class="topBOxitem"> <div class="topBOxitem">
<!-- <el-tooltip <el-tooltip
class="item" class="item"
effect="dark" effect="dark"
:content="Number(countryC) || 0" :content="countryC"
placement="top-start" placement="top-start"
> --> >
<div class="topBOxitem-top"> <div class="topBOxitem-top">
<span>{{ countryC || 0 }}</span> <span></span> <span>{{ countryC || 0 }}</span> <span></span>
</div> </div>
<!-- </el-tooltip> --> </el-tooltip>
<div class="topBOxitem-bottom">国家检测次数</div> <div class="topBOxitem-bottom">国家检测次数</div>
</div> </div>
</div> </div>
<div class="topbox-item"> <div class="topbox-item">
<div class="topBOxitem"> <div class="topBOxitem">
<!-- <el-tooltip <el-tooltip
class="item" class="item"
effect="dark" effect="dark"
:content="Number(provinceC) || 0" :content="provinceC"
placement="top-start" placement="top-start"
> --> >
<div class="topBOxitem-top"> <div class="topBOxitem-top">
<span>{{ provinceC || 0 }}</span> <span></span> <span>{{ provinceC || 0 }}</span> <span></span>
</div> </div>
<!-- </el-tooltip> --> </el-tooltip>
<div class="topBOxitem-bottom">省级抽检次数</div> <div class="topBOxitem-bottom">省级抽检次数</div>
</div> </div>
@ -76,25 +76,7 @@ export default {
option1: {}, option1: {},
// echarts // echarts
myChart1: {}, myChart1: {},
myChart1data: [
// : valuenameitemStyle
// : namelegend-data
{
value: "0",
name: "生产抽样环节",
percent: "0",
// itemStyle: { color: "#007EFF" },
},
{
value: "0",
name: "流通环节抽样",
percent: "0",
// itemStyle: { color: "#2CD8EC" },
},
],
option2: {}, option2: {},
myChart2data: [],
myChart2data2: [],
// echarts // echarts
myChart2: {}, myChart2: {},
//============== //==============
@ -107,57 +89,26 @@ export default {
ltcy: 0, ltcy: 0,
}; };
}, },
created() { }, created() {},
mounted() { mounted() {
this.getData(); this.getData();
}, },
methods: { methods: {
reducefn(data = []) {
return data.length
},
getData() { getData() {
let newRouter = this.$route.query; let newRouter = this.$route.query;
getCPCJ({ pageNum: 1,pageSize:10000,approvalNumber: newRouter.code }).then((res) => { getCPCJ({ name: newRouter.code }).then((res) => {
if (res.code == 200) { // res.data.result.forEach((value, index) => {
if (res.data.result.list.length != 0) { // if (value.sampleType == 1) {
// // this.provinceC += 1;
this.myChart1data[0].value = res.data.result.list.filter(item => item.inspectType === "生产环节").length // } else if (value.sampleType == 2) {
this.myChart1data[0].percent = ((res.data.result.list.filter(item => item.inspectType === "生产环节").length / res.data.result.list.length) * 100).toFixed(1) // this.countryC += 1;
this.myChart1data[1].value = res.data.result.list.filter(item => item.inspectType === "流通环节").length // }
this.myChart1data[1].percent = ((res.data.result.list.filter(item => item.inspectType === "流通环节").length / res.data.result.list.length) * 100).toFixed(1) // });
// this.countryC = 12;
let mergedData = {}; this.provinceC = 12;
res.data.result.list.forEach((item) => { this.pt = 67;
if (item.qualified === "合格") { this.sccy = 60;
if (mergedData[item.province]) { this.ltcy = 40;
mergedData[item.province].sampleType += 1;
} else {
mergedData[item.province] = {
province: item.province,
sampleType: 1
};
}
}
});
const result = Object.values(mergedData);
result.forEach(item=>{
this.myChart2data.push(item.province)
this.myChart2data2.push(item.sampleType)
})
//
this.countryC = res.data.result.list.filter(item => item.sampleType == "2").length
//
this.provinceC = res.data.result.list.filter(item => item.sampleType == "1").length
//
const filteredData = res.data.result.list.filter(item => item.qualified === "不合格");
this.pt = Math.floor(((this.reducefn(res.data.result.list) - this.reducefn(filteredData)) / this.reducefn(res.data.result.list)) * 100)
}else{
this.myChart2data = ["暂无"]
this.myChart2data2 = ['0']
}
}
this.$nextTick(() => { this.$nextTick(() => {
let chartDom = this.$refs["left-echart"]; let chartDom = this.$refs["left-echart"];
this.myChart1 = echarts.init(chartDom); this.myChart1 = echarts.init(chartDom);
@ -180,9 +131,9 @@ export default {
params.marker + params.marker +
params.name + params.name +
": " + ": " +
( params.value||0) + params.value +
" (" + " (" +
( params.percent || 0) + params.percent +
"%)</div>" "%)</div>"
); );
}, },
@ -205,15 +156,15 @@ export default {
{ {
name: "", name: "",
type: "pie", type: "pie",
radius: ["45%", "66%"], radius: ["45%", "70%"],
center: ["50%", "44%"], // y '40%'使 center: ["50%", "40%"], // y '40%'使
// itemStyle:{ // itemStyle:{
// borderWidth:1, //border // borderWidth:1, //border
// borderColor:'#fff', // borderColor:'#fff',
// }, // },
labelLine: { labelLine: {
normal: { normal: {
length: 10, // 线 length: 15, // 线
position: "outer", // 线 position: "outer", // 线
lineStyle: function (params) { lineStyle: function (params) {
// //
@ -229,7 +180,7 @@ export default {
// //
// params: data, // params: data,
formatter: function (params) { formatter: function (params) {
return (params.data.percent || 0) + "%"; return params.percent + "%";
}, },
textStyle: { textStyle: {
color: "auto", color: "auto",
@ -237,7 +188,22 @@ export default {
}, },
}, },
}, },
data: this.myChart1data data: [
// : valuenameitemStyle
// : namelegend-data
{
value: 39,
name: "生产抽样环节",
// percent: "39",
// itemStyle: { color: "#007EFF" },
},
{
value: 21,
name: "流通环节抽样",
// percent: "21",
// itemStyle: { color: "#2CD8EC" },
},
],
}, },
], ],
}; };
@ -249,10 +215,10 @@ export default {
backgroundColor: "rgba(0,0,0,0)", // backgroundColor: "rgba(0,0,0,0)", //
tooltip: {}, tooltip: {},
grid: { grid: {
top: "7%", top: "8%",
left: "10%", left: "10%",
right: "10%", right: "10%",
bottom: "-5%", bottom: "8%",
containLabel: true, containLabel: true,
}, },
xAxis: [ xAxis: [
@ -272,12 +238,11 @@ export default {
fontSize: 12, fontSize: 12,
margin: 0, margin: 0,
}, },
rotate: -30, //
}, },
axisTick: { axisTick: {
show: false, show: false,
}, },
data: this.myChart2data data: ["辽宁", "江苏", "湖南", "山西", "湖北", "山东"],
}, },
], ],
yAxis: [ yAxis: [
@ -337,7 +302,7 @@ export default {
}, },
}, },
data: this.myChart2data2 data: [12, 15, 17, 20, 25, 26],
}, },
], ],
}; };
@ -348,6 +313,8 @@ export default {
}; };
</script> </script>
<style scoped lang='scss'> <style scoped lang='scss'>
.box {
}
.top-box { .top-box {
margin: 10px 0; margin: 10px 0;

@ -21,11 +21,11 @@
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column prop="fbcs" label="分办处室" show-overflow-tooltip> <el-table-column prop="address" label="分办处室" show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column prop="czzt" label="处置状态" show-overflow-tooltip> <el-table-column prop="address" label="处置状态" show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column prop="wcrq" label="完成日期" show-overflow-tooltip> <el-table-column prop="address" label="完成日期" show-overflow-tooltip>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div ref="pagination"> <div ref="pagination">
@ -51,33 +51,8 @@ export default {
this.height = this.height =
this.$refs.basic.offsetHeight - this.$refs.pagination.offsetHeight; this.$refs.basic.offsetHeight - this.$refs.pagination.offsetHeight;
}); });
this.getList()
},
methods: {
getList() {
let newRouter = this.$route.query;
if (newRouter.code == "国药准字H21020985") {
this.tableData = [{
data: "2024/3/19",
name: "1年内累计发生严重不良反应2起",
fbcs: "药品生产监管处、稽查五处",
czzt: "查阅",
wcrq: "2024/3/20",
}]
return
}
if (newRouter.code == "国药准字H19990372") {
this.tableData = [{
data: "2024/3/21",
name: "1年内累计发生严重不良反应1起",
fbcs: "药品生产监管处、稽查一处",
czzt: "查阅",
wcrq: "2024/3/22",
}]
return
}
},
}, },
methods: {},
computed: {}, computed: {},
}; };
</script> </script>

@ -1,15 +1,15 @@
<template> <template>
<div class="pc-container"> <div class="pc-container">
<div class="system-header"> <div class="system-header">
<div class="left-tags">{{dataNow(2)+ dataNow(3) + date}}</div> <div class="left-tags">2023年8月11日 星期五 16:23:34</div>
<div class="system-title" text="产品画像">产品画像</div> <div class="system-title" text="产品画像">产品画像</div>
<div class="rigth-tags"> <div class="rigth-tags">
<!-- <div class="rigth-tags-diva"> <!-- <div class="rigth-tags-diva">
<span class="rigth-tags-spana"><i class="el-icon-sunny"></i></span <span class="rigth-tags-spana"><i class="el-icon-sunny"></i></span
>晴天 17~28°C <span class="rigth-tags-spanb"> | </span>东南风3级 >晴天 17~28°C <span class="rigth-tags-spanb"> | </span>东南风3级
</div> --> </div> -->
<div class="content-top-fanhui" @click="toBack" v-if="newRouter.cpda != 1"> <div class="content-top-fanhui" @click="toBack">
<div class="content-top-fanhui-main"> <div class="content-top-fanhui-main">
<div class="black-bg"></div> <div class="black-bg"></div>
<span>返回</span> <span>返回</span>
@ -27,6 +27,7 @@
<div class="system-box-left"> <div class="system-box-left">
<div class="system-boxleft-top top"> <div class="system-boxleft-top top">
<headtitle mytitle="基本信息"></headtitle> <headtitle mytitle="基本信息"></headtitle>
<!-- 组件 -->
<Basicbox></Basicbox> <Basicbox></Basicbox>
</div> </div>
<div class="system-boxleft-bottom bottom"> <div class="system-boxleft-bottom bottom">
@ -39,20 +40,10 @@
<div class="top"> <div class="top">
<!-- 头部 --> <!-- 头部 -->
<div class="fengxian-top"> <div class="fengxian-top">
<div class="fengxian-top-left">{{ query.name }}</div> <div class="fengxian-top-left">复方枸杞子胶囊</div>
<div class="fengxian-top-right"> <div class="fengxian-top-right">
<div class="right-text-bog" v-if="newRouter.type == 1"> <span>保健药</span>
<span v-if="query.type">{{ query.type }}</span> <span>OTC</span>
<span v-if="query.jx">{{ query.jx }}</span>
</div>
<div class="right-text-bog" v-if="newRouter.type == 2">
<span v-if="query.type">{{ query.type }}</span>
<span v-if="query.gllb">{{ query.gllb }}</span>
<span v-if="query.jgtz">{{ query.jgtz }}</span>
</div>
<div class="right-text-bog" v-if="newRouter.type != 1 && newRouter.type != 2">
<span v-if="query.type">{{ query.type }}</span>
</div>
</div> </div>
</div> </div>
<headtitle mytitle="风险提示信息"></headtitle> <headtitle mytitle="风险提示信息"></headtitle>
@ -65,7 +56,10 @@
</div> </div>
<!-- 右边 --> <!-- 右边 -->
<div class="system-box-right"> <div class="system-box-right">
<div class="top" v-if="this.$route.query.type == 1 || this.$route.query.type == 2"> <div
class="top"
v-if="this.$route.query.type == 1 || this.$route.query.type == 2"
>
<headtitle mytitle="召回信息"></headtitle> <headtitle mytitle="召回信息"></headtitle>
<recallbox></recallbox> <recallbox></recallbox>
</div> </div>
@ -78,9 +72,9 @@
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { getXXMSG } from "@/api/largeScreen"; import {getXXMSG} from '@/api/largeScreen'
// //
import headtitle from "./bigcomponents/headtitle"; import headtitle from "./bigcomponents/headtitle";
// //
@ -107,83 +101,30 @@ export default {
AdverseBox, AdverseBox,
}, },
data() { data() {
return { return {};
query: {},
newRouter: {},
date: '',
};
},
created() { this.dataNow(1) },
mounted() {
this.getData();
setInterval(() => {
this.dataNow(1)
}, 1000);
}, },
created() {},
mounted() {},
methods: { methods: {
toBack() { toBack() {
this.$router.go(-1); this.$router.go(-1);
}, },
dataNow(index) { getData(){
let now = new Date(); }
if (index == 1) {
let hour = now.getHours();
if (hour < 10) hour = "0" + hour
let minute = now.getMinutes();
if (minute < 10) minute = "0" + minute
let second = now.getSeconds();
if (second < 10) second = "0" + second
this.date = `${hour}:${minute}:${second}`
} else if (index == 2) {
let year = now.getFullYear();
if (year < 10) year = "0" + year
let month = now.getMonth() + 1;
if (month < 10) month = "0" + month
let day = now.getDate();
if (day < 10) day = "0" + day
return `${year}/${month}/${day}`
} else if (index == 3) {
let dayOfWeek = now.getDay();
//
let weekDays = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
let chineseDayOfWeek = weekDays[dayOfWeek];
return chineseDayOfWeek
}
},
getData() {
// debugger
this.newRouter = this.$route.query;
console.log(798, this.newRouter);
getXXMSG({ code: this.newRouter.code, type: this.newRouter.type }).then(
(res) => {
this.query = res.data;
}
);
},
}, },
computed: {}, computed: {},
}; };
</script> </script>
<style scoped lang='scss'> <style scoped lang='scss'>
@import "@/assets/styles/theme.scss"; @import "@/assets/styles/theme.scss";
.content-top-fanhui { .content-top-fanhui {
margin-right: 10px; margin-right: 10px;
background: linear-gradient(0deg, background: linear-gradient(
rgba(103, 200, 255, 0.2) 0%, 0deg,
rgba(111, 176, 231, 0.1) 100%); 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 12px; padding: 2px 12px;
border: 1px solid; border: 1px solid;
@ -191,7 +132,6 @@ export default {
border-radius: 4px; border-radius: 4px;
display: flex; display: flex;
align-items: center; align-items: center;
.black-bg { .black-bg {
width: 26px; width: 26px;
height: 24px; height: 24px;
@ -199,19 +139,20 @@ 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, background: linear-gradient(
#caffff 0%, 0deg,
#caffff 0%, #caffff 0%,
#ffffff 0%, #caffff 0%,
#74b4f4 38.96484375%, #ffffff 0%,
#3883ff 100%); #74b4f4 38.96484375%,
#3883ff 100%
);
-webkit-background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
} }
@ -225,7 +166,8 @@ div {
.pc-container { .pc-container {
overflow: hidden; overflow: hidden;
height: 100%; height: 100%;
background: url("../../assets/images/daping/main-background.png") no-repeat center; background: url("../../assets/images/daping/main-background.png") no-repeat
center;
background-size: cover; background-size: cover;
position: relative; position: relative;
@ -241,7 +183,7 @@ div {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
&>div { & > div {
flex: 1; flex: 1;
height: 100%; height: 100%;
} }
@ -365,7 +307,7 @@ div {
height: 100%; height: 100%;
display: flex; display: flex;
&>div { & > div {
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -383,8 +325,7 @@ div {
} }
.system-box-left { .system-box-left {
// flex: 1; flex: 1;
width: 25vw;
.system-boxleft-top, .system-boxleft-top,
.system-boxleft-bottom { .system-boxleft-bottom {
@ -401,8 +342,6 @@ div {
.system-box-right { .system-box-right {
flex: 1; flex: 1;
width: 25vw;
} }
} }
@ -428,24 +367,21 @@ div {
.fengxian-top-right { .fengxian-top-right {
display: flex; display: flex;
height: 100%; span {
margin: 0 3px;
.right-text-bog { width: 93px;
display: flex; height: 49px;
align-items: center; background: url("../../assets/images/daping/fengxianbgc.png")
no-repeat center;
span { background-size: contain;
margin: 0 3px; text-align: center;
padding: 5px 14px; line-height: 49px;
background: url("../../assets/images/daping/fengxianbgc.png") no-repeat; color: #4da5ff;
background-size: 100% 100%; font-weight: 400;
text-align: center;
color: #4da5ff;
font-weight: 400;
}
} }
} }
} }
} }
} }
</style> </style>

@ -1,8 +1,18 @@
<template> <template>
<div class="box"> <div class="box">
<el-pagination background :current-page.sync="currentPage" :page-size.sync="pageSize" <el-pagination
layout="prev, pager, next,jumper" :page-sizes="pageSizes" :pager-count="pagerCount" :total="total" background
@size-change="handleSizeChange" @current-change="handleCurrentChange" :small="smallShow"> :current-page.sync="currentPage"
:page-size.sync="pageSize"
layout="prev, pager, next,jumper"
:page-sizes="pageSizes"
:pager-count="pagerCount"
:total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
small
>
</el-pagination> </el-pagination>
</div> </div>
</template> </template>
@ -31,10 +41,6 @@ export default {
return [10, 20, 30, 50]; return [10, 20, 30, 50];
}, },
}, },
smallShow: {
type: Boolean,
default: true
},
// 5 // 5
pagerCount: { pagerCount: {
type: Number, type: Number,
@ -66,7 +72,7 @@ export default {
return this.page; return this.page;
}, },
set(val) { set(val) {
// this.$emit("update:page", val); this.$emit("update:page", val);
}, },
}, },
pageSize: { pageSize: {
@ -74,7 +80,7 @@ export default {
return this.limit; return this.limit;
}, },
set(val) { set(val) {
// this.$emit("update:limit", val); this.$emit("update:limit", val);
}, },
}, },
}, },
@ -84,51 +90,46 @@ export default {
this.currentPage = 1; this.currentPage = 1;
} }
this.$emit("pagination", { page: this.currentPage, limit: val }); this.$emit("pagination", { page: this.currentPage, limit: val });
// if (this.autoScroll) { if (this.autoScroll) {
// scrollTo(0, 800); scrollTo(0, 800);
// } }
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.$emit("pagination", { page: val, limit: this.pageSize }); this.$emit("pagination", { page: val, limit: this.pageSize });
// if (this.autoScroll) { if (this.autoScroll) {
// scrollTo(0, 800); scrollTo(0, 800);
// } }
}, },
}, },
}; };
</script> </script>
<style scoped lang='scss'> <style scoped lang='scss'>
::v-deep .el-pagination { ::v-deep .el-pagination {
max-width: 100%; width: 100%;
display: flex; display: flex;
justify-content: end; justify-content: end;
padding: 8px 5px; padding: 8px 5px;
box-sizing: border-box; box-sizing: border-box;
overflow-y: auto; overflow-y: auto;
} }
.box { .box {
background-color: transparent !important; background-color: transparent !important;
} }
::v-deep .el-pagination.is-background .btn-prev { ::v-deep .el-pagination.is-background .btn-prev {
background-color: transparent !important; background-color: transparent !important;
border: 1px solid #123864; border: 1px solid #123864;
color: #579acf; color: #579acf;
} }
::v-deep .el-pagination.is-background .btn-next { ::v-deep .el-pagination.is-background .btn-next {
background-color: transparent !important; background-color: transparent !important;
border: 1px solid #123864; border: 1px solid #123864;
color: #579acf; color: #579acf;
} }
::v-deep .el-pagination .el-pager li { ::v-deep .el-pagination .el-pager li {
background-color: transparent !important; background-color: transparent !important;
border: 1px solid #123864; border: 1px solid #123864;
color: #579acf; color: #579acf;
} }
// ::v-deep .el-pagination.is-background.el-pager li:not(.disabled).active { // ::v-deep .el-pagination.is-background.el-pager li:not(.disabled).active {
// background: rgba(20, 131, 242, 0.2) !important; // background: rgba(20, 131, 242, 0.2) !important;
// border: 1px solid #1483f2; // border: 1px solid #1483f2;
@ -138,14 +139,12 @@ export default {
::v-deep .el-pagination__jump { ::v-deep .el-pagination__jump {
margin: 0; margin: 0;
color: #2668d6; color: #2668d6;
.el-input__inner { .el-input__inner {
background-color: transparent !important; background-color: transparent !important;
border: 1px solid #123864; border: 1px solid #123864;
color: #2668d6; color: #2668d6;
} }
} }
::v-deep .el-pager li.active { ::v-deep .el-pager li.active {
background: rgba(20, 131, 242, 0.52) !important; background: rgba(20, 131, 242, 0.52) !important;
border: 1px solid #1483f2; border: 1px solid #1483f2;
@ -154,4 +153,5 @@ export default {
// ::v-deep .el-pagination__total { // ::v-deep .el-pagination__total {
// color: #2668d6; // color: #2668d6;
// }</style> // }
</style>

File diff suppressed because it is too large Load Diff

@ -49,7 +49,7 @@ module.exports = {
} }
}, },
"API": { "API": {
target: "https://dev-mssm-liaoning.lesdev.cn", target: "https://dev-mssm-liaoning.imian.org.cn",
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
["API"]: "", ["API"]: "",

Loading…
Cancel
Save