Browse Source

接口相关

master
aBin 5 years ago
parent
commit
8fd75ca3e2
  1. 4
      .env.development
  2. 182
      src/components/Duration/Duration.js
  3. 8
      src/components/Duration/Duration.vue
  4. 2
      src/components/FastEd/FastEd.vue
  5. 3
      src/components/RFID/RFID.vue
  6. 290
      src/components/Statistics/Statistics.js
  7. 9
      src/components/Statistics/Statistics.vue
  8. 21
      src/config/api.js

4
.env.development

@ -1,8 +1,8 @@
VUE_APP_MODE=development VUE_APP_MODE=development
VUE_APP_NODE_ENV=development VUE_APP_NODE_ENV=development
VUE_APP_SCENE=greenvalley VUE_APP_SCENE=greenvalley
VUE_APP_BASE_URL=http://www.sxwikionline.com/ VUE_APP_BASE_URL=http://test.tall.wiki/
VUE_APP_API_URL=http://www.sxwikionline.com/gateway VUE_APP_API_URL=http://test.tall.wiki/gateway
VUE_APP_PROXY_URL=/gateway VUE_APP_PROXY_URL=/gateway
VUE_APP_PUBLIC_PATH=/greenvalley VUE_APP_PUBLIC_PATH=/greenvalley
VUE_APP_MSG_URL=wss://test.tall.wiki/websocket/message/v4.0/ws VUE_APP_MSG_URL=wss://test.tall.wiki/websocket/message/v4.0/ws

182
src/components/Duration/Duration.js

@ -1,85 +1,111 @@
var option = { import { getPointTime } from 'config/api';
// title: {
// left: '10%', const mixin = {
// textStyle: { data() {
// fontWeight: 'normal', return {
// color: '#fff', //标题颜色 pointTimeCurrentList: [],
// }, pointTimeHospital: [],
// text: '急救时长分析', pointTimeInternation: [],
// }, };
tooltip: { trigger: 'axis' },
legend: {
x: 'center',
y: 'bottom',
data: ['我院记录', '国际水准', '当前数据'],
textStyle: {
fontWeight: 'normal',
color: '#ccc', //标题颜色
},
},
grid: {
left: '3%',
// right: '4%',
bottom: '10%',
containLabel: true,
}, },
xAxis: {
type: 'category', computed: {
boundaryGap: false, option() {
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'], return {
axisLabel: { tooltip: { trigger: 'axis' },
textStyle: { legend: {
fontWeight: 'normal', x: 'center',
color: '#ccc', //标题颜色 y: 'bottom',
}, data: ['我院记录', '国际水准', '当前数据'],
textStyle: {
fontWeight: 'normal',
color: '#ccc', //标题颜色
},
},
grid: {
left: '3%',
// right: '4%',
bottom: '10%',
containLabel: true,
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
axisLabel: {
textStyle: {
fontWeight: 'normal',
color: '#ccc', //标题颜色
},
},
},
yAxis: {
type: 'value',
name: '秒',
axisLabel: {
textStyle: {
fontWeight: 'normal',
color: '#ccc', //标题颜色
},
},
nameTextStyle: { color: '#ccc' },
splitLine: {
show: true,
lineStyle: {
type: 'dashed',
color: '#ccc',
},
},
},
series: [
{
name: '我院记录',
type: 'line',
stack: '总量',
symbolSize: 6,
// symbol: 'star',
data: this.pointTimeHospital,
color: 'rgb(18, 131, 227)',
},
{
name: '国际水准',
type: 'line',
stack: '总量',
symbolSize: 6,
data: this.pointTimeInternation,
color: 'rgb(30, 231, 231)',
},
{
name: '当前数据',
type: 'line',
stack: '总量',
symbolSize: 6,
data: this.pointTimeCurrentList,
color: 'rgb(227, 18, 187)',
},
],
};
}, },
}, },
yAxis: {
type: 'value', methods: {
name: '秒', async getData() {
interval: 200, try {
axisLabel: { const params = { param: { id: 0 } };
textStyle: { const res = await getPointTime(params);
fontWeight: 'normal', const { code, msg, data } = res.data;
color: '#ccc', //标题颜色 if (code === 200) {
}, this.pointTimeCurrentList = data.pointTimeCurrentList;
}, this.pointTimeHospital = data.pointTimeHospital;
nameTextStyle: { color: '#ccc' }, this.pointTimeInternation = data.pointTimeInternation;
splitLine: { } else {
show: true, console.log(msg);
lineStyle: { }
type: 'dashed', } catch (error) {
color: '#ccc', console.log(error);
}, }
}, },
}, },
series: [
{
name: '我院记录',
type: 'line',
stack: '总量',
symbolSize: 6,
// symbol: 'star',
data: [120, 132, 101, 134, 90, 230, 210],
color: 'rgb(18, 131, 227)',
},
{
name: '国际水准',
type: 'line',
stack: '总量',
symbolSize: 6,
data: [220, 182, 191, 234, 290, 330, 310],
color: 'rgb(30, 231, 231)',
},
{
name: '当前数据',
type: 'line',
stack: '总量',
symbolSize: 6,
data: [150, 232, 201, 154, 190, 330, 410],
color: 'rgb(227, 18, 187)',
},
],
}; };
export default option; export default mixin;

8
src/components/Duration/Duration.vue

@ -5,9 +5,10 @@
</div> </div>
</template> </template>
<script> <script>
import option from './Duration.js'; import mixin from './Duration.js';
export default { export default {
name: 'Duration', name: 'Duration',
mixins: [mixin],
data() { data() {
return { return {
// msg: 'Welcome to Your Vue.js App', // msg: 'Welcome to Your Vue.js App',
@ -32,11 +33,12 @@ export default {
}; };
}, },
methods: { methods: {
drawLine() { async drawLine() {
// domecharts // domecharts
let myChart = this.$echarts.init(document.getElementById('Duration')); let myChart = this.$echarts.init(document.getElementById('Duration'));
// //
myChart.setOption(option); await this.getData();
myChart.setOption(this.option);
}, },
}, },
}; };

2
src/components/FastEd/FastEd.vue

@ -9,7 +9,7 @@
<div class="flex-1">{{ item.b }}</div> <div class="flex-1">{{ item.b }}</div>
<div class="flex-1">{{ item.c }}</div> <div class="flex-1">{{ item.c }}</div>
</div> </div>
<div v-for="item in dataList" :key="item.b" style="height: 25%" class="flex-1 flex-row"> <div v-for="(item, index) in dataList" :key="index" style="height: 25%" class="flex-1 flex-row">
<div class="flex-1">{{ item.a }}</div> <div class="flex-1">{{ item.a }}</div>
<div class="flex-1">{{ item.b }}</div> <div class="flex-1">{{ item.b }}</div>
<div class="flex-1">{{ item.c }}</div> <div class="flex-1">{{ item.c }}</div>

3
src/components/RFID/RFID.vue

@ -77,7 +77,8 @@ export default {
// ball.classList = 'box'; // ball.classList = 'box';
ball.style.backgroundColor = randomColor(); ball.style.backgroundColor = randomColor();
// ball.style = // ball.style =
// 'width: 69px;height: 69px;line-height: 69px;text-align: center;font-size: 12px; color: #C8CED5; position: absolute;top: 100px; left: 200px;'; // 'width: 69px;height: 69px;line-height: 69px;text-align: center;font-size: 12px; color: #C8CED5;
// position: absolute;top: 100px; left: 200px;';
balls.push(ball); balls.push(ball);
} }
} }

290
src/components/Statistics/Statistics.js

@ -1,135 +1,177 @@
var option = { import { selResult } from 'config/api';
tooltip: { trigger: 'axis' },
legend: [ const mixin = {
{ data() {
x: 'center', return {
y: 'top', sigleLast: [], // 去年柱形图
data: ['本年', '去年'], sigleNow: [], // 本年柱形图
textStyle: { sumLast: [], // 去年折线图
fontWeight: 'normal', sumNow: [], // 本年折线图
color: '#ccc', //标题颜色 };
},
},
{
x: 'center',
y: 'bottom',
data: ['本年完成', '去年同期'],
textStyle: {
fontWeight: 'normal',
color: '#ccc', //标题颜色
},
},
],
xAxis: {
type: 'category',
data: ['01月', '02月', '03月', '04月', '05月', '06月', '07月', '08月', '09月', '10月', '11月', '12月'],
axisLabel: {
textStyle: {
fontWeight: 'normal',
color: '#ccc', //标题颜色
},
},
}, },
yAxis: [
{ computed: {
type: 'value', option() {
interval: 200, return {
name: '人次', tooltip: { trigger: 'axis' },
axisTick: { legend: [
//y轴刻度线 {
show: false, x: 'center',
}, y: 'top',
splitLine: { data: ['本年', '去年'],
show: true,
lineStyle: {
type: 'dashed',
color: '#666',
},
},
nameTextStyle: { color: '#ccc' },
axisLabel: {
textStyle: {
fontWeight: 'normal',
color: '#ccc', //标题颜色
},
},
},
{
type: 'value',
interval: 200,
name: '数量',
splitLine: {
show: true,
lineStyle: {
type: 'dashed',
color: '#666',
},
},
nameTextStyle: { color: '#ccc' },
axisLabel: {
textStyle: {
fontWeight: 'normal',
color: '#ccc', //标题颜色
},
},
},
],
series: [
{
name: '本年',
data: [120, 232, 301, 434, 590, 630, 720, 301, 434, 590, 630, 720],
type: 'line',
color: 'rgb(24, 144, 255)',
},
{
name: '去年',
data: [820, 932, 901, 934, 1290, 1330, 1320, 932, 901, 934, 1290, 1330],
type: 'line',
color: 'rgb(26, 235, 235)',
},
{
name: '本年完成',
data: [120, 232, 301, 434, 590, 630, 720, 232, 301, 434, 590, 630],
yAxisIndex: 1,
type: 'bar',
barWidth: '10%',
color: 'rgb(24, 144, 255)',
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: 'top', //在上方显示
textStyle: { textStyle: {
//数值样式 fontWeight: 'normal',
color: 'white', color: '#ccc', //标题颜色
fontSize: 12,
}, },
}, },
}, {
}, x: 'center',
}, y: 'bottom',
{ data: ['本年完成', '去年同期'],
name: '去年同期', textStyle: {
data: [820, 932, 901, 934, 1290, 1330, 1320, 932, 901, 934, 1290, 1330], fontWeight: 'normal',
yAxisIndex: 1, color: '#ccc', //标题颜色
type: 'bar', },
barWidth: '10%', },
color: 'rgb(26, 235, 235)', ],
itemStyle: { xAxis: {
normal: { type: 'category',
label: { data: ['01月', '02月', '03月', '04月', '05月', '06月', '07月', '08月', '09月', '10月', '11月', '12月'],
show: true, //开启显示 axisLabel: {
position: 'top', //在上方显示
textStyle: { textStyle: {
//数值样式 fontWeight: 'normal',
color: 'white', color: '#ccc', //标题颜色
fontSize: 12,
}, },
}, },
}, },
}, yAxis: [
{
type: 'value',
interval: 20,
name: '人次',
axisTick: {
//y轴刻度线
show: false,
},
splitLine: {
show: true,
lineStyle: {
type: 'dashed',
color: '#666',
},
},
nameTextStyle: { color: '#ccc' },
axisLabel: {
textStyle: {
fontWeight: 'normal',
color: '#ccc', //标题颜色
},
},
},
{
type: 'value',
interval: 20,
name: '数量',
splitLine: {
show: true,
lineStyle: {
type: 'dashed',
color: '#666',
},
},
nameTextStyle: { color: '#ccc' },
axisLabel: {
textStyle: {
fontWeight: 'normal',
color: '#ccc', //标题颜色
},
},
},
],
series: [
{
name: '本年',
data: this.sumNow,
type: 'line',
color: 'rgb(24, 144, 255)',
},
{
name: '去年',
data: this.sumLast,
type: 'line',
color: 'rgb(26, 235, 235)',
},
{
name: '本年完成',
data: this.sigleNow,
yAxisIndex: 1,
type: 'bar',
barGap: '100%',
barWidth: '20%',
color: 'rgb(24, 144, 255)',
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: 'top', //在上方显示
textStyle: {
//数值样式
color: 'white',
fontSize: 12,
},
},
},
},
},
{
name: '去年同期',
data: this.sigleLast,
yAxisIndex: 1,
type: 'bar',
barWidth: '20%',
color: 'rgb(26, 235, 235)',
itemStyle: {
normal: {
label: {
show: true, //开启显示
position: 'top', //在上方显示
textStyle: {
//数值样式
color: 'white',
fontSize: 12,
},
},
},
},
},
],
};
}, },
], },
methods: {
async getData() {
try {
const params = {
param: {
hospitalId: 0,
year: '2020',
},
};
const res = await selResult(params);
const { code, msg, data } = res.data;
if (code === 200) {
this.sigleLast = data.sigleLast;
this.sigleNow = data.sigleNow;
this.sumLast = data.sumLast;
this.sumNow = data.sumNow;
} else {
console.log(msg);
}
} catch (error) {
console.log(error);
}
},
},
}; };
export default option; export default mixin;

9
src/components/Statistics/Statistics.vue

@ -5,9 +5,10 @@
</div> </div>
</template> </template>
<script> <script>
import option from './Statistics.js'; import mixin from './Statistics.js';
export default { export default {
name: 'Statistics', name: 'Statistics',
mixins: [mixin],
data() { data() {
return { return {
width: '', width: '',
@ -20,7 +21,6 @@ export default {
let hg = window.innerHeight; let hg = window.innerHeight;
this.width = wh + 'px'; this.width = wh + 'px';
this.height = hg + 'px'; this.height = hg + 'px';
console.log(this.height);
window.onresize = () => { window.onresize = () => {
return (() => { return (() => {
wh = window.innerWidth; wh = window.innerWidth;
@ -31,11 +31,12 @@ export default {
}; };
}, },
methods: { methods: {
drawLine() { async drawLine() {
// domecharts // domecharts
let myChart = this.$echarts.init(document.getElementById('myChart')); let myChart = this.$echarts.init(document.getElementById('myChart'));
// //
myChart.setOption(option); await this.getData();
myChart.setOption(this.option);
}, },
}, },
}; };

21
src/config/api.js

@ -6,22 +6,13 @@
import axios from 'axios'; import axios from 'axios';
let { proxyUrl, msgUrl } = require('@/config/setting'); let { proxyUrl, msgUrl } = require('@/config/setting');
const greenvalley = `${proxyUrl}/greenvalley`; const wisdomcar = `${proxyUrl}/wisdomcar`; // 盐湖医院分路径
const page = `${greenvalley}/page`; // 创新平台相关操作 const statistics = `${wisdomcar}/statistics`; // 盐湖医院相关接口
const policy = `${proxyUrl}/policy/policy`; // 创新政策相关接口
// websocket基础地址 // websocket基础地址
export const WS_BASE_URL = msgUrl; export const WS_BASE_URL = msgUrl;
// 页面列表查询 // 急救数量统计图数据
export const getPageList = params => axios.post(`${page}/list`, params); export const selResult = params => axios.post(`${statistics}/get/selResult`, params);
// 查询政策列表 // 急救市场分析统计图数据
export const selLikePolicy = params => axios.post(`${policy}/selLikePolicy`, params); export const getPointTime = params => axios.post(`${statistics}/getPointTime`, params);
// 查询政策详情
export const selPolicy = params => axios.post(`${policy}/selPolicy`, params);
// 申请加入三大平台
export const JoinPlatform = params => axios.post(`${greenvalley}/platform/JoinPlatform`, params);
// 上传附件
export const upload = `${greenvalley}/file/upload`;
// 加入我们
export const joinUs = params => axios.post(`${greenvalley}/PersonApply/joinUs`, params);

Loading…
Cancel
Save