37 changed files with 702 additions and 696 deletions
@ -1,55 +1,55 @@
@@ -1,55 +1,55 @@
|
||||
<view id="canvas-bill-body-mp" class="canvas-box" style="width: 750rpx"> |
||||
<view class="canvas-body"> |
||||
<view class="detail draw_canvas" data-type="text"> |
||||
<view class="d-header draw_canvas" data-type="text"> |
||||
<view class="none draw_canvas" data-type="text"></view> |
||||
<view |
||||
class="bar draw_canvas" |
||||
style="background: url({{imageUrl}}/1/adl-scurt.png?t={{Timestamp}}) no-repeat center / 100% 100% ;" |
||||
data-type="background-image" |
||||
> |
||||
<view class="num-normal draw_canvas" data-type="text" data-text="0分">0分</view> |
||||
<view class="num draw_canvas" data-type="text" data-text="1分">1分</view> |
||||
<view class="num draw_canvas" data-type="text" data-text="2分">2分</view> |
||||
<view class="num draw_canvas" data-type="text" data-text="3分">3分</view> |
||||
</view> |
||||
</view> |
||||
<view class="d-body draw_canvas" data-type="text"> |
||||
<view class="d-aside draw_canvas" data-type="text"> |
||||
<view class="da-item da-item1 draw_canvas" data-type="text" data-text="延髓">延髓</view> |
||||
<view class="da-item da-item2 draw_canvas" data-type="text" data-text="呼吸">呼吸</view> |
||||
<view class="da-item da-item3 draw_canvas" data-type="text" data-text="四肢">四肢</view> |
||||
<view class="da-item da-item4 draw_canvas" data-type="text" data-text="眼肌">眼肌</view> |
||||
</view> |
||||
<view class="d-container draw_canvas" data-type="text"> |
||||
<view class="dc-row draw_canvas" wx:for="{{tableData}}" wx:key="index" data-type="text"> |
||||
<view class="dc-title draw_canvas" data-type="text" data-text="{{item.title}}">{{item.title}}</view> |
||||
<block wx:for="{{item.list}}" wx:for-item="lItem" wx:for-index="lIndex" wx:key="lIndex"> |
||||
<view |
||||
class="{{lIndex==0 ? 'dc-sub-title' :'dc-col'}} {{params[item.key] == lIndex && 'active'}} draw_canvas" |
||||
data-type="text" |
||||
data-text="{{lItem.title}}" |
||||
> |
||||
{{lItem.title}} |
||||
</view> |
||||
</block> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<canvas |
||||
canvas-id="canvas1" |
||||
class="canvas-bill" |
||||
style="height: {{ height }}rpx; width: {{ width }}rpx;transform: scale({{scale}})" |
||||
></canvas> |
||||
|
||||
<image |
||||
wx:if="{{imgUrl && false}}" |
||||
src="{{imgUrl}}" |
||||
mode="aspectFit" |
||||
style="height: {{ height }}rpx; width: {{ width }}rpx;" |
||||
></image> |
||||
<!-- show-menu-by-longpress --> |
||||
<view id="canvas-bill-body-mp" class="canvas-box" style="width: 750rpx"> |
||||
<view class="canvas-body"> |
||||
<view class="detail draw_canvas" data-type="text"> |
||||
<view class="d-header draw_canvas" data-type="text"> |
||||
<view class="none draw_canvas" data-type="text"></view> |
||||
<view |
||||
class="bar draw_canvas" |
||||
style="background: url({{imageUrl}}za-images/1/adl-scurt.png?t={{Timestamp}}) no-repeat center / 100% 100% ;" |
||||
data-type="background-image" |
||||
> |
||||
<view class="num-normal draw_canvas" data-type="text" data-text="0分">0分</view> |
||||
<view class="num draw_canvas" data-type="text" data-text="1分">1分</view> |
||||
<view class="num draw_canvas" data-type="text" data-text="2分">2分</view> |
||||
<view class="num draw_canvas" data-type="text" data-text="3分">3分</view> |
||||
</view> |
||||
</view> |
||||
<view class="d-body draw_canvas" data-type="text"> |
||||
<view class="d-aside draw_canvas" data-type="text"> |
||||
<view class="da-item da-item1 draw_canvas" data-type="text" data-text="延髓">延髓</view> |
||||
<view class="da-item da-item2 draw_canvas" data-type="text" data-text="呼吸">呼吸</view> |
||||
<view class="da-item da-item3 draw_canvas" data-type="text" data-text="四肢">四肢</view> |
||||
<view class="da-item da-item4 draw_canvas" data-type="text" data-text="眼肌">眼肌</view> |
||||
</view> |
||||
<view class="d-container draw_canvas" data-type="text"> |
||||
<view class="dc-row draw_canvas" wx:for="{{tableData}}" wx:key="index" data-type="text"> |
||||
<view class="dc-title draw_canvas" data-type="text" data-text="{{item.title}}">{{item.title}}</view> |
||||
<block wx:for="{{item.list}}" wx:for-item="lItem" wx:for-index="lIndex" wx:key="lIndex"> |
||||
<view |
||||
class="{{lIndex==0 ? 'dc-sub-title' :'dc-col'}} {{params[item.key] == lIndex && 'active'}} draw_canvas" |
||||
data-type="text" |
||||
data-text="{{lItem.title}}" |
||||
> |
||||
{{lItem.title}} |
||||
</view> |
||||
</block> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<canvas |
||||
canvas-id="canvas1" |
||||
class="canvas-bill" |
||||
style="height: {{ height }}rpx; width: {{ width }}rpx;transform: scale({{scale}})" |
||||
></canvas> |
||||
|
||||
<image |
||||
wx:if="{{imgUrl && false}}" |
||||
src="{{imgUrl}}" |
||||
mode="aspectFit" |
||||
style="height: {{ height }}rpx; width: {{ width }}rpx;" |
||||
></image> |
||||
<!-- show-menu-by-longpress --> |
||||
|
@ -1,287 +1,287 @@
@@ -1,287 +1,287 @@
|
||||
/* eslint-disable */ |
||||
const app = getApp<IAppOption>() |
||||
const licia = require('miniprogram-licia') |
||||
import dayjs from 'dayjs' |
||||
|
||||
let echarts: any = null |
||||
|
||||
Page({ |
||||
data: { |
||||
ec: { |
||||
lazyLoad: true, |
||||
}, |
||||
foldAll: true, |
||||
|
||||
BeginMonth: '', |
||||
EndMonth: '', |
||||
Type: '1', |
||||
Num: '' as string | number, |
||||
fields: { |
||||
1: 'day', |
||||
2: 'month', |
||||
3: 'year', |
||||
}, |
||||
|
||||
detail: {}, |
||||
partNameList: app.globalData.partNameList, |
||||
list: [], |
||||
defaultList: [], |
||||
count: 0, |
||||
|
||||
zdUserInfo: {}, |
||||
todayBg: '', |
||||
selectLegends: {}, |
||||
|
||||
page: 0, |
||||
safeAreaLeft: 20, |
||||
|
||||
theme: '', |
||||
}, |
||||
ecDataTrendComponent: null as any, |
||||
async onLoad() { |
||||
app.zdGetTheme().then((res) => { |
||||
this.setData({ |
||||
theme: res, |
||||
}) |
||||
}) |
||||
|
||||
const that = this |
||||
|
||||
that.getSystemInfo() |
||||
echarts = await require.async('../../../resource/components/echart/echarts.js') |
||||
|
||||
that.ecDataTrendComponent = that.selectComponent('#mychart-dom-bar') |
||||
|
||||
const eventChannel = that.getOpenerEventChannel() |
||||
eventChannel.on('acceptDataFromOpenerPage', function (data) { |
||||
console.log(data) |
||||
that.setData({ |
||||
defaultList: data.list, |
||||
selectLegends: { ...data.selectLegends }, |
||||
zdUserInfo: app.globalData.zdUserInfo, |
||||
}) |
||||
that.initChart(data.list) |
||||
}) |
||||
|
||||
that.initChart(that.data.defaultList as any) |
||||
}, |
||||
|
||||
initChart(defaultList = []) { |
||||
const { selectLegends, theme } = this.data |
||||
// const list = defaultList.slice(page * 15, (page + 1) * 8);
|
||||
const list = defaultList |
||||
this.ecDataTrendComponent.init((canvas, width, height, dpr) => { |
||||
let chart = echarts.init(canvas, null, { |
||||
width: width, |
||||
height: height, |
||||
devicePixelRatio: dpr, // new
|
||||
}) |
||||
canvas.setChart(chart) |
||||
|
||||
var option = { |
||||
dataZoom: [ |
||||
{ |
||||
type: 'inside', // 内置于坐标系中
|
||||
// start: 0,
|
||||
// end: 15,
|
||||
startValue: 0, |
||||
endValue: 15, |
||||
xAxisIndex: [0], |
||||
}, |
||||
], |
||||
tooltip: { |
||||
trigger: 'axis', |
||||
axisPointer: { |
||||
type: 'shadow', |
||||
}, |
||||
confine: true, |
||||
backgroundColor: 'rgba(0, 0, 0, 0.5)', |
||||
textStyle: { |
||||
color: '#fff', |
||||
fontSize: 10, |
||||
}, |
||||
order: 'seriesDesc', |
||||
}, |
||||
legend: { |
||||
bottom: 0, |
||||
padding: 0, |
||||
itemGap: 5, |
||||
itemWidth: 8, |
||||
itemHeight: 8, |
||||
icon: 'circle', |
||||
selected: selectLegends, |
||||
}, |
||||
grid: { |
||||
top: '5', |
||||
left: '0', |
||||
right: '0', |
||||
bottom: '15', |
||||
containLabel: true, |
||||
}, |
||||
xAxis: [ |
||||
{ |
||||
type: 'category', |
||||
axisTick: { |
||||
show: false, |
||||
}, |
||||
axisLine: { |
||||
lineStyle: { |
||||
color: '#8C8C8C', |
||||
type: 'dashed', |
||||
}, |
||||
}, |
||||
axisLabel: { |
||||
//x轴文字的配置
|
||||
show: true, |
||||
interval: 0, //使x轴文字显示全
|
||||
rotate: -20, |
||||
}, |
||||
data: list.map((item) => item.Date), |
||||
}, |
||||
], |
||||
yAxis: [ |
||||
{ |
||||
type: 'value', |
||||
}, |
||||
], |
||||
series: [ |
||||
{ |
||||
name: '延髓', |
||||
type: 'bar', |
||||
stack: 'Ad', |
||||
emphasis: { |
||||
disabled: true, |
||||
focus: 'none', |
||||
}, |
||||
data: list.map((item) => item.MedullaTypeScore * 1), |
||||
barWidth: '16', |
||||
itemStyle: { |
||||
// borderColor: "#fff",
|
||||
// borderWidth: 2,
|
||||
color: '#7FBDA6', |
||||
}, |
||||
}, |
||||
{ |
||||
name: '呼吸', |
||||
type: 'bar', |
||||
stack: 'Ad', |
||||
emphasis: { |
||||
disabled: true, |
||||
focus: 'none', |
||||
}, |
||||
data: list.map((item) => item.BreathTypeScore * 1), |
||||
itemStyle: { |
||||
// borderColor: "#fff",
|
||||
// borderWidth: 2,
|
||||
color: '#F1CE8F', |
||||
}, |
||||
}, |
||||
{ |
||||
name: '肢体', |
||||
type: 'bar', |
||||
stack: 'Ad', |
||||
emphasis: { |
||||
disabled: true, |
||||
focus: 'none', |
||||
}, |
||||
data: list.map((item) => item.LimbsTypeScore * 1), |
||||
itemStyle: { |
||||
// borderColor: "#fff",
|
||||
// borderWidth: 2,
|
||||
color: '#9ED0DE', |
||||
}, |
||||
}, |
||||
{ |
||||
name: '眼肌', |
||||
type: 'bar', |
||||
stack: 'Ad', |
||||
emphasis: { |
||||
disabled: true, |
||||
focus: 'none', |
||||
}, |
||||
data: list.map((item) => item.EyeTypeScore * 1), |
||||
itemStyle: { |
||||
// borderColor: "#fff",
|
||||
// borderWidth: 2,
|
||||
color: '#D37862', |
||||
}, |
||||
}, |
||||
{ |
||||
name: '总分', |
||||
data: list.map((item) => item.TotalScore), |
||||
type: 'line', |
||||
symbol: 'circle', |
||||
connectNulls: true, |
||||
itemStyle: { |
||||
color: '#CF5375', |
||||
}, |
||||
}, |
||||
], |
||||
// dataZoom: {
|
||||
// show: true, // 为true 滚动条出现
|
||||
// realtime: true,
|
||||
// type: "slider", // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
||||
// height: 20, // 表示滚动条的高度,也就是粗细
|
||||
// start: 20, // 表示默认展示20%~80%这一段。
|
||||
// end: 80,
|
||||
// },
|
||||
} |
||||
if (theme === 'DRUG') { |
||||
let markLineData = list |
||||
.filter((item) => item.InjectionBottles) |
||||
.map((item) => { |
||||
return { |
||||
name: '', |
||||
xAxis: item.Date, |
||||
lineStyle: { |
||||
color: '#25D9C8', |
||||
cap: '', |
||||
type: 'solid', |
||||
}, |
||||
label: { |
||||
formatter: '', |
||||
position: 'insideEndBottom', |
||||
rotate: 0, |
||||
color: '#25D9C8', |
||||
offset: [60, 0], |
||||
}, |
||||
} |
||||
}) |
||||
option.series.push({ |
||||
name: '用药', |
||||
data: list.map((item) => item.InjectionBottles), |
||||
type: 'line', |
||||
symbol: 'none', |
||||
itemStyle: { |
||||
color: '#25D9C8', |
||||
}, |
||||
lineStyle: { |
||||
width: 0, |
||||
}, |
||||
markLine: { |
||||
symbol: ['none', 'none'], |
||||
data: markLineData, |
||||
}, |
||||
}) |
||||
} |
||||
|
||||
chart.setOption(option) |
||||
return chart |
||||
}) |
||||
}, |
||||
getSystemInfo() { |
||||
wx.getSystemInfo({ |
||||
success: (res) => { |
||||
this.setData({ |
||||
safeAreaLeft: res.safeArea.left || 20, |
||||
}) |
||||
}, |
||||
}) |
||||
}, |
||||
onShareAppMessage() { |
||||
return { |
||||
title: 'MG-ADL测评表:评估重症肌无力患者症状对生活质量的影响', |
||||
path: '/pages/adl/index', |
||||
} |
||||
}, |
||||
}) |
||||
/* eslint-disable */ |
||||
const app = getApp<IAppOption>() |
||||
const licia = require('miniprogram-licia') |
||||
import dayjs from 'dayjs' |
||||
|
||||
let echarts: any = null |
||||
|
||||
Page({ |
||||
data: { |
||||
ec: { |
||||
lazyLoad: true, |
||||
}, |
||||
foldAll: true, |
||||
|
||||
BeginMonth: '', |
||||
EndMonth: '', |
||||
Type: '1', |
||||
Num: '' as string | number, |
||||
fields: { |
||||
1: 'day', |
||||
2: 'month', |
||||
3: 'year', |
||||
}, |
||||
|
||||
detail: {}, |
||||
partNameList: app.globalData.partNameList, |
||||
list: [], |
||||
defaultList: [], |
||||
count: 0, |
||||
|
||||
zdUserInfo: {}, |
||||
todayBg: '', |
||||
selectLegends: {}, |
||||
|
||||
page: 0, |
||||
safeAreaLeft: 20, |
||||
|
||||
theme: '', |
||||
}, |
||||
ecDataTrendComponent: null as any, |
||||
async onLoad() { |
||||
app.zdGetTheme().then((res) => { |
||||
this.setData({ |
||||
theme: res, |
||||
}) |
||||
}) |
||||
|
||||
const that = this |
||||
|
||||
that.getSystemInfo() |
||||
echarts = await require.async('../../compontnts/echart/echarts.js') |
||||
|
||||
that.ecDataTrendComponent = that.selectComponent('#mychart-dom-bar') |
||||
|
||||
const eventChannel = that.getOpenerEventChannel() |
||||
eventChannel.on('acceptDataFromOpenerPage', function (data) { |
||||
console.log(data) |
||||
that.setData({ |
||||
defaultList: data.list, |
||||
selectLegends: { ...data.selectLegends }, |
||||
zdUserInfo: app.globalData.zdUserInfo, |
||||
}) |
||||
that.initChart(data.list) |
||||
}) |
||||
|
||||
that.initChart(that.data.defaultList as any) |
||||
}, |
||||
|
||||
initChart(defaultList = []) { |
||||
const { selectLegends, theme } = this.data |
||||
// const list = defaultList.slice(page * 15, (page + 1) * 8);
|
||||
const list = defaultList |
||||
this.ecDataTrendComponent.init((canvas, width, height, dpr) => { |
||||
let chart = echarts.init(canvas, null, { |
||||
width: width, |
||||
height: height, |
||||
devicePixelRatio: dpr, // new
|
||||
}) |
||||
canvas.setChart(chart) |
||||
|
||||
var option = { |
||||
dataZoom: [ |
||||
{ |
||||
type: 'inside', // 内置于坐标系中
|
||||
// start: 0,
|
||||
// end: 15,
|
||||
startValue: 0, |
||||
endValue: 15, |
||||
xAxisIndex: [0], |
||||
}, |
||||
], |
||||
tooltip: { |
||||
trigger: 'axis', |
||||
axisPointer: { |
||||
type: 'shadow', |
||||
}, |
||||
confine: true, |
||||
backgroundColor: 'rgba(0, 0, 0, 0.5)', |
||||
textStyle: { |
||||
color: '#fff', |
||||
fontSize: 10, |
||||
}, |
||||
order: 'seriesDesc', |
||||
}, |
||||
legend: { |
||||
bottom: 0, |
||||
padding: 0, |
||||
itemGap: 5, |
||||
itemWidth: 8, |
||||
itemHeight: 8, |
||||
icon: 'circle', |
||||
selected: selectLegends, |
||||
}, |
||||
grid: { |
||||
top: '5', |
||||
left: '0', |
||||
right: '0', |
||||
bottom: '15', |
||||
containLabel: true, |
||||
}, |
||||
xAxis: [ |
||||
{ |
||||
type: 'category', |
||||
axisTick: { |
||||
show: false, |
||||
}, |
||||
axisLine: { |
||||
lineStyle: { |
||||
color: '#8C8C8C', |
||||
type: 'dashed', |
||||
}, |
||||
}, |
||||
axisLabel: { |
||||
//x轴文字的配置
|
||||
show: true, |
||||
interval: 0, //使x轴文字显示全
|
||||
rotate: -20, |
||||
}, |
||||
data: list.map((item) => item.Date), |
||||
}, |
||||
], |
||||
yAxis: [ |
||||
{ |
||||
type: 'value', |
||||
}, |
||||
], |
||||
series: [ |
||||
{ |
||||
name: '延髓', |
||||
type: 'bar', |
||||
stack: 'Ad', |
||||
emphasis: { |
||||
disabled: true, |
||||
focus: 'none', |
||||
}, |
||||
data: list.map((item) => item.MedullaTypeScore * 1), |
||||
barWidth: '16', |
||||
itemStyle: { |
||||
// borderColor: "#fff",
|
||||
// borderWidth: 2,
|
||||
color: '#7FBDA6', |
||||
}, |
||||
}, |
||||
{ |
||||
name: '呼吸', |
||||
type: 'bar', |
||||
stack: 'Ad', |
||||
emphasis: { |
||||
disabled: true, |
||||
focus: 'none', |
||||
}, |
||||
data: list.map((item) => item.BreathTypeScore * 1), |
||||
itemStyle: { |
||||
// borderColor: "#fff",
|
||||
// borderWidth: 2,
|
||||
color: '#F1CE8F', |
||||
}, |
||||
}, |
||||
{ |
||||
name: '肢体', |
||||
type: 'bar', |
||||
stack: 'Ad', |
||||
emphasis: { |
||||
disabled: true, |
||||
focus: 'none', |
||||
}, |
||||
data: list.map((item) => item.LimbsTypeScore * 1), |
||||
itemStyle: { |
||||
// borderColor: "#fff",
|
||||
// borderWidth: 2,
|
||||
color: '#9ED0DE', |
||||
}, |
||||
}, |
||||
{ |
||||
name: '眼肌', |
||||
type: 'bar', |
||||
stack: 'Ad', |
||||
emphasis: { |
||||
disabled: true, |
||||
focus: 'none', |
||||
}, |
||||
data: list.map((item) => item.EyeTypeScore * 1), |
||||
itemStyle: { |
||||
// borderColor: "#fff",
|
||||
// borderWidth: 2,
|
||||
color: '#D37862', |
||||
}, |
||||
}, |
||||
{ |
||||
name: '总分', |
||||
data: list.map((item) => item.TotalScore), |
||||
type: 'line', |
||||
symbol: 'circle', |
||||
connectNulls: true, |
||||
itemStyle: { |
||||
color: '#CF5375', |
||||
}, |
||||
}, |
||||
], |
||||
// dataZoom: {
|
||||
// show: true, // 为true 滚动条出现
|
||||
// realtime: true,
|
||||
// type: "slider", // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
||||
// height: 20, // 表示滚动条的高度,也就是粗细
|
||||
// start: 20, // 表示默认展示20%~80%这一段。
|
||||
// end: 80,
|
||||
// },
|
||||
} |
||||
if (theme === 'DRUG') { |
||||
let markLineData = list |
||||
.filter((item) => item.InjectionBottles) |
||||
.map((item) => { |
||||
return { |
||||
name: '', |
||||
xAxis: item.Date, |
||||
lineStyle: { |
||||
color: '#25D9C8', |
||||
cap: '', |
||||
type: 'solid', |
||||
}, |
||||
label: { |
||||
formatter: '', |
||||
position: 'insideEndBottom', |
||||
rotate: 0, |
||||
color: '#25D9C8', |
||||
offset: [60, 0], |
||||
}, |
||||
} |
||||
}) |
||||
option.series.push({ |
||||
name: '用药', |
||||
data: list.map((item) => item.InjectionBottles), |
||||
type: 'line', |
||||
symbol: 'none', |
||||
itemStyle: { |
||||
color: '#25D9C8', |
||||
}, |
||||
lineStyle: { |
||||
width: 0, |
||||
}, |
||||
markLine: { |
||||
symbol: ['none', 'none'], |
||||
data: markLineData, |
||||
}, |
||||
}) |
||||
} |
||||
|
||||
chart.setOption(option) |
||||
return chart |
||||
}) |
||||
}, |
||||
getSystemInfo() { |
||||
wx.getSystemInfo({ |
||||
success: (res) => { |
||||
this.setData({ |
||||
safeAreaLeft: res.safeArea.left || 20, |
||||
}) |
||||
}, |
||||
}) |
||||
}, |
||||
onShareAppMessage() { |
||||
return { |
||||
title: 'MG-ADL测评表:评估重症肌无力患者症状对生活质量的影响', |
||||
path: '/patient/pages/adl/index', |
||||
} |
||||
}, |
||||
}) |
||||
|
Loading…
Reference in new issue