Browse Source

接口相关

master
aBin 5 years ago
parent
commit
8fd75ca3e2
  1. 4
      .env.development
  2. 54
      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. 62
      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

54
src/components/Duration/Duration.js

@ -1,12 +1,17 @@
var option = { import { getPointTime } from 'config/api';
// title: {
// left: '10%', const mixin = {
// textStyle: { data() {
// fontWeight: 'normal', return {
// color: '#fff', //标题颜色 pointTimeCurrentList: [],
// }, pointTimeHospital: [],
// text: '急救时长分析', pointTimeInternation: [],
// }, };
},
computed: {
option() {
return {
tooltip: { trigger: 'axis' }, tooltip: { trigger: 'axis' },
legend: { legend: {
x: 'center', x: 'center',
@ -37,7 +42,6 @@ var option = {
yAxis: { yAxis: {
type: 'value', type: 'value',
name: '秒', name: '秒',
interval: 200,
axisLabel: { axisLabel: {
textStyle: { textStyle: {
fontWeight: 'normal', fontWeight: 'normal',
@ -60,7 +64,7 @@ var option = {
stack: '总量', stack: '总量',
symbolSize: 6, symbolSize: 6,
// symbol: 'star', // symbol: 'star',
data: [120, 132, 101, 134, 90, 230, 210], data: this.pointTimeHospital,
color: 'rgb(18, 131, 227)', color: 'rgb(18, 131, 227)',
}, },
{ {
@ -68,7 +72,7 @@ var option = {
type: 'line', type: 'line',
stack: '总量', stack: '总量',
symbolSize: 6, symbolSize: 6,
data: [220, 182, 191, 234, 290, 330, 310], data: this.pointTimeInternation,
color: 'rgb(30, 231, 231)', color: 'rgb(30, 231, 231)',
}, },
{ {
@ -76,10 +80,32 @@ var option = {
type: 'line', type: 'line',
stack: '总量', stack: '总量',
symbolSize: 6, symbolSize: 6,
data: [150, 232, 201, 154, 190, 330, 410], data: this.pointTimeCurrentList,
color: 'rgb(227, 18, 187)', color: 'rgb(227, 18, 187)',
}, },
], ],
}; };
},
},
methods: {
async getData() {
try {
const params = { param: { id: 0 } };
const res = await getPointTime(params);
const { code, msg, data } = res.data;
if (code === 200) {
this.pointTimeCurrentList = data.pointTimeCurrentList;
this.pointTimeHospital = data.pointTimeHospital;
this.pointTimeInternation = data.pointTimeInternation;
} else {
console.log(msg);
}
} catch (error) {
console.log(error);
}
},
},
};
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);
} }
} }

62
src/components/Statistics/Statistics.js

@ -1,4 +1,18 @@
var option = { import { selResult } from 'config/api';
const mixin = {
data() {
return {
sigleLast: [], // 去年柱形图
sigleNow: [], // 本年柱形图
sumLast: [], // 去年折线图
sumNow: [], // 本年折线图
};
},
computed: {
option() {
return {
tooltip: { trigger: 'axis' }, tooltip: { trigger: 'axis' },
legend: [ legend: [
{ {
@ -33,7 +47,7 @@ var option = {
yAxis: [ yAxis: [
{ {
type: 'value', type: 'value',
interval: 200, interval: 20,
name: '人次', name: '人次',
axisTick: { axisTick: {
//y轴刻度线 //y轴刻度线
@ -56,7 +70,7 @@ var option = {
}, },
{ {
type: 'value', type: 'value',
interval: 200, interval: 20,
name: '数量', name: '数量',
splitLine: { splitLine: {
show: true, show: true,
@ -77,22 +91,23 @@ var option = {
series: [ series: [
{ {
name: '本年', name: '本年',
data: [120, 232, 301, 434, 590, 630, 720, 301, 434, 590, 630, 720], data: this.sumNow,
type: 'line', type: 'line',
color: 'rgb(24, 144, 255)', color: 'rgb(24, 144, 255)',
}, },
{ {
name: '去年', name: '去年',
data: [820, 932, 901, 934, 1290, 1330, 1320, 932, 901, 934, 1290, 1330], data: this.sumLast,
type: 'line', type: 'line',
color: 'rgb(26, 235, 235)', color: 'rgb(26, 235, 235)',
}, },
{ {
name: '本年完成', name: '本年完成',
data: [120, 232, 301, 434, 590, 630, 720, 232, 301, 434, 590, 630], data: this.sigleNow,
yAxisIndex: 1, yAxisIndex: 1,
type: 'bar', type: 'bar',
barWidth: '10%', barGap: '100%',
barWidth: '20%',
color: 'rgb(24, 144, 255)', color: 'rgb(24, 144, 255)',
itemStyle: { itemStyle: {
normal: { normal: {
@ -110,10 +125,10 @@ var option = {
}, },
{ {
name: '去年同期', name: '去年同期',
data: [820, 932, 901, 934, 1290, 1330, 1320, 932, 901, 934, 1290, 1330], data: this.sigleLast,
yAxisIndex: 1, yAxisIndex: 1,
type: 'bar', type: 'bar',
barWidth: '10%', barWidth: '20%',
color: 'rgb(26, 235, 235)', color: 'rgb(26, 235, 235)',
itemStyle: { itemStyle: {
normal: { normal: {
@ -131,5 +146,32 @@ var option = {
}, },
], ],
}; };
},
},
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