|
|
@ -1,6 +1,7 @@ |
|
|
|
import dayjs from 'dayjs' |
|
|
|
import dayjs from 'dayjs' |
|
|
|
|
|
|
|
|
|
|
|
const app = getApp<IAppOption>() |
|
|
|
const app = getApp<IAppOption>() |
|
|
|
|
|
|
|
let echarts: any = null |
|
|
|
|
|
|
|
|
|
|
|
Page({ |
|
|
|
Page({ |
|
|
|
data: { |
|
|
|
data: { |
|
|
@ -161,7 +162,14 @@ Page({ |
|
|
|
count: 1, |
|
|
|
count: 1, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
chartComponent1: null as any, |
|
|
|
|
|
|
|
chartComponent2: null as any, |
|
|
|
|
|
|
|
chartComponent3: null as any, |
|
|
|
async onLoad(option) { |
|
|
|
async onLoad(option) { |
|
|
|
|
|
|
|
echarts = await require.async('../../gift/compontnts/echart/echarts.js') |
|
|
|
|
|
|
|
this.chartComponent1 = this.selectComponent('#chart1') |
|
|
|
|
|
|
|
this.chartComponent2 = this.selectComponent('#chart2') |
|
|
|
|
|
|
|
this.chartComponent3 = this.selectComponent('#chart3') |
|
|
|
this.setData({ |
|
|
|
this.setData({ |
|
|
|
id: option.id, |
|
|
|
id: option.id, |
|
|
|
}) |
|
|
|
}) |
|
|
@ -169,6 +177,7 @@ Page({ |
|
|
|
app.waitLogin({ type: [2] }).then(async (_res) => { |
|
|
|
app.waitLogin({ type: [2] }).then(async (_res) => { |
|
|
|
app.mpBehavior({ PageName: 'PG_DoctorPatientDetail' }) |
|
|
|
app.mpBehavior({ PageName: 'PG_DoctorPatientDetail' }) |
|
|
|
this.getDoctorDetail() |
|
|
|
this.getDoctorDetail() |
|
|
|
|
|
|
|
this.handleTypeChange() |
|
|
|
await this.getDetail() |
|
|
|
await this.getDetail() |
|
|
|
app.getUserInfo(2).then((userInfo) => { |
|
|
|
app.getUserInfo(2).then((userInfo) => { |
|
|
|
this.setData({ |
|
|
|
this.setData({ |
|
|
@ -215,8 +224,11 @@ Page({ |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
handleTypeChange(e) { |
|
|
|
handleTypeChange(e) { |
|
|
|
const index = e.detail.value |
|
|
|
let index = 0 |
|
|
|
const { typeRange, nav } = this.data |
|
|
|
if (e) { |
|
|
|
|
|
|
|
index = e.detail.value |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
const { typeRange } = this.data |
|
|
|
const type = typeRange[index].id |
|
|
|
const type = typeRange[index].id |
|
|
|
const typeName = typeRange[index].value |
|
|
|
const typeName = typeRange[index].value |
|
|
|
let EndDate = '' |
|
|
|
let EndDate = '' |
|
|
@ -237,228 +249,47 @@ Page({ |
|
|
|
EndDate, |
|
|
|
EndDate, |
|
|
|
StartDate, |
|
|
|
StartDate, |
|
|
|
}) |
|
|
|
}) |
|
|
|
if (nav === '0') { |
|
|
|
|
|
|
|
this.getGraph() |
|
|
|
this.getGraph() |
|
|
|
} else { |
|
|
|
|
|
|
|
this.getAdlList() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
handleChange() { |
|
|
|
|
|
|
|
const { nav } = this.data |
|
|
|
|
|
|
|
if (nav === '0') { |
|
|
|
|
|
|
|
this.getGraph() |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
this.getAdlList() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
}, |
|
|
|
getGraph() { |
|
|
|
getGraph() { |
|
|
|
|
|
|
|
const { type, StartDate, EndDate } = this.data |
|
|
|
wx.ajax({ |
|
|
|
wx.ajax({ |
|
|
|
method: 'GET', |
|
|
|
method: 'GET', |
|
|
|
url: '?r=zd/doctor/patient/adl-graph', |
|
|
|
url: '?r=xd/doctor/qol/graph', |
|
|
|
data: { |
|
|
|
data: { |
|
|
|
patientId: this.data.id, |
|
|
|
DateType: type, |
|
|
|
StartDate: this.data.StartDate, |
|
|
|
StartDate: StartDate, |
|
|
|
EndDate: this.data.EndDate, |
|
|
|
EndDate: EndDate, |
|
|
|
DateType: this.data.type, |
|
|
|
|
|
|
|
count: 0, |
|
|
|
count: 0, |
|
|
|
|
|
|
|
PatientId: this.data.id, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}).then(async (res) => { |
|
|
|
}).then((res) => { |
|
|
|
this.initChart1(res.adlSummary) |
|
|
|
const list0: any[] = [] |
|
|
|
this.initChart2(res.adlSummary) |
|
|
|
const list1: any[] = [] |
|
|
|
|
|
|
|
const list2: any[] = [] |
|
|
|
const medication = res.medication.map((item) => { |
|
|
|
res.list.forEach((item: any) => { |
|
|
|
return { |
|
|
|
list0.push({ |
|
|
|
Date: item.InjectionDate, |
|
|
|
Date: item.Date, |
|
|
|
...item, |
|
|
|
value: item.TotalScore, |
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
}) |
|
|
|
const list = res.list |
|
|
|
list1.push({ |
|
|
|
const newList: any[] = this.mergeArr(list, medication) |
|
|
|
Date: item.Date, |
|
|
|
const chart3 = await this.initChart3(newList as never[]) |
|
|
|
value: item.VisionScore, |
|
|
|
const chart4 = await this.initChart4(newList as never[]) |
|
|
|
|
|
|
|
echarts.connect([chart3, chart4]) |
|
|
|
|
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
list2.push({ |
|
|
|
mergeArr(array1: any[] = [], array2: any[] = []) { |
|
|
|
Date: item.Date, |
|
|
|
// 合并两个数组中相同Date字段的对象
|
|
|
|
value: item.AppearanceScore, |
|
|
|
const mergedArray: any[] = [] |
|
|
|
|
|
|
|
const mergedMap = new Map() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
array1.concat(array2).forEach((obj) => { |
|
|
|
|
|
|
|
const date = obj.Date |
|
|
|
|
|
|
|
if (mergedMap.has(date)) { |
|
|
|
|
|
|
|
mergedMap.get(date).push(obj) |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
mergedMap.set(date, [obj]) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
mergedMap.forEach((objs: any) => { |
|
|
|
|
|
|
|
if (objs.length === 1) { |
|
|
|
|
|
|
|
mergedArray.push(objs[0]) |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
const mergedObj = objs.reduce((acc, cur) => ({ ...acc, ...cur })) |
|
|
|
|
|
|
|
mergedArray.push(mergedObj) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 按照Date字段对合并后的数组进行排序
|
|
|
|
|
|
|
|
mergedArray.sort((a, b) => { |
|
|
|
|
|
|
|
return a.Date.localeCompare(b.Date) |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
return mergedArray |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
initChart1(adlSummary = {}) { |
|
|
|
|
|
|
|
this.ecDataTrendComponent1.init((canvas, width, height, dpr) => { |
|
|
|
|
|
|
|
const chart = echarts.init(canvas, null, { |
|
|
|
|
|
|
|
width, |
|
|
|
|
|
|
|
height, |
|
|
|
|
|
|
|
devicePixelRatio: dpr, // new
|
|
|
|
|
|
|
|
}) |
|
|
|
}) |
|
|
|
canvas.setChart(chart) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const option = { |
|
|
|
|
|
|
|
tooltip: { |
|
|
|
|
|
|
|
trigger: 'item', |
|
|
|
|
|
|
|
formatter: '{b} \n {c}次,{d}%', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
legend: { |
|
|
|
|
|
|
|
show: false, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
color: ['rgba(226, 219, 65, 1)', 'rgba(215, 108, 108, 1)', 'rgba(98, 190, 208, 1)'], |
|
|
|
|
|
|
|
series: [ |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
name: '全部患者', |
|
|
|
|
|
|
|
type: 'pie', |
|
|
|
|
|
|
|
radius: ['40%', '60%'], |
|
|
|
|
|
|
|
center: ['50%', '50%'], |
|
|
|
|
|
|
|
label: { |
|
|
|
|
|
|
|
show: true, |
|
|
|
|
|
|
|
width: 80, |
|
|
|
|
|
|
|
alignTo: 'edge', |
|
|
|
|
|
|
|
minMargin: 5, |
|
|
|
|
|
|
|
edgeDistance: 10, |
|
|
|
|
|
|
|
lineHeight: 15, |
|
|
|
|
|
|
|
formatter: '{b} \n{time|{d}%}', |
|
|
|
|
|
|
|
rich: { |
|
|
|
|
|
|
|
time: { |
|
|
|
|
|
|
|
fontSize: 10, |
|
|
|
|
|
|
|
color: '#999', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
labelLine: { |
|
|
|
|
|
|
|
length: 15, |
|
|
|
|
|
|
|
length2: 0, |
|
|
|
|
|
|
|
maxSurfaceAngle: 80, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
labelLayout(params) { |
|
|
|
|
|
|
|
const isLeft = params.labelRect.x < chart.getWidth() / 2 |
|
|
|
|
|
|
|
const points = params.labelLinePoints |
|
|
|
|
|
|
|
// Update the end point.
|
|
|
|
|
|
|
|
points[2][0] = isLeft ? params.labelRect.x : params.labelRect.x + params.labelRect.width |
|
|
|
|
|
|
|
return { |
|
|
|
|
|
|
|
labelLinePoints: points, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
data: [ |
|
|
|
|
|
|
|
{ value: adlSummary.adlNearNum, name: 'ADL接近达标' }, |
|
|
|
|
|
|
|
{ value: adlSummary.adlUnStandardNum, name: 'ADL未达标' }, |
|
|
|
|
|
|
|
{ value: adlSummary.adlStandardNum, name: 'ADL达标' }, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
emphasis: { |
|
|
|
|
|
|
|
itemStyle: { |
|
|
|
|
|
|
|
shadowBlur: 10, |
|
|
|
|
|
|
|
shadowOffsetX: 0, |
|
|
|
|
|
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
chart.setOption(option) |
|
|
|
|
|
|
|
return chart |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
initChart2(adlSummary = {}) { |
|
|
|
|
|
|
|
this.ecDataTrendComponent2.init((canvas, width, height, dpr) => { |
|
|
|
|
|
|
|
const chart = echarts.init(canvas, null, { |
|
|
|
|
|
|
|
width, |
|
|
|
|
|
|
|
height, |
|
|
|
|
|
|
|
devicePixelRatio: dpr, // new
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
canvas.setChart(chart) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const option = { |
|
|
|
|
|
|
|
tooltip: { |
|
|
|
|
|
|
|
trigger: 'item', |
|
|
|
|
|
|
|
formatter: '{b} \n {c}次,{d}%', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
legend: { |
|
|
|
|
|
|
|
show: false, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
color: ['rgba(215, 108, 108, 1)', 'rgba(98, 190, 208, 1)'], |
|
|
|
|
|
|
|
series: [ |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
name: '全部患者', |
|
|
|
|
|
|
|
type: 'pie', |
|
|
|
|
|
|
|
radius: ['40%', '60%'], |
|
|
|
|
|
|
|
center: ['50%', '50%'], |
|
|
|
|
|
|
|
label: { |
|
|
|
|
|
|
|
show: true, |
|
|
|
|
|
|
|
width: 80, |
|
|
|
|
|
|
|
alignTo: 'edge', |
|
|
|
|
|
|
|
minMargin: 5, |
|
|
|
|
|
|
|
edgeDistance: 10, |
|
|
|
|
|
|
|
lineHeight: 15, |
|
|
|
|
|
|
|
formatter: '{b} \n{time|{d}%}', |
|
|
|
|
|
|
|
rich: { |
|
|
|
|
|
|
|
time: { |
|
|
|
|
|
|
|
fontSize: 10, |
|
|
|
|
|
|
|
color: '#999', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
labelLine: { |
|
|
|
|
|
|
|
length: 15, |
|
|
|
|
|
|
|
length2: 0, |
|
|
|
|
|
|
|
maxSurfaceAngle: 80, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
labelLayout(params) { |
|
|
|
|
|
|
|
const isLeft = params.labelRect.x < chart.getWidth() / 2 |
|
|
|
|
|
|
|
const points = params.labelLinePoints |
|
|
|
|
|
|
|
// Update the end point.
|
|
|
|
|
|
|
|
points[2][0] = isLeft ? params.labelRect.x : params.labelRect.x + params.labelRect.width |
|
|
|
|
|
|
|
return { |
|
|
|
|
|
|
|
labelLinePoints: points, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
data: [ |
|
|
|
|
|
|
|
{ value: adlSummary.SteroidDailyDoseUnStandardNum, name: '激素未达标' }, |
|
|
|
|
|
|
|
{ value: adlSummary.SteroidDailyDoseStandardNum, name: '激素达标' }, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
emphasis: { |
|
|
|
|
|
|
|
itemStyle: { |
|
|
|
|
|
|
|
shadowBlur: 10, |
|
|
|
|
|
|
|
shadowOffsetX: 0, |
|
|
|
|
|
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
chart.setOption(option) |
|
|
|
this.initChart(list0, 'chartComponent1') |
|
|
|
return chart |
|
|
|
this.initChart(list1, 'chartComponent2') |
|
|
|
|
|
|
|
this.initChart(list2, 'chartComponent3') |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
initChart(defaultList = [] as any[], key) { |
|
|
|
initChart3(defaultList = []) { |
|
|
|
|
|
|
|
const { userInfo } = this.data |
|
|
|
|
|
|
|
const list: any = defaultList |
|
|
|
|
|
|
|
return new Promise((reslove) => { |
|
|
|
return new Promise((reslove) => { |
|
|
|
this.ecDataTrendComponent3.init((canvas, width, height, dpr) => { |
|
|
|
this[key].init((canvas, width, height, dpr) => { |
|
|
|
const chart = echarts.init(canvas, null, { |
|
|
|
const chart = echarts.init(canvas, null, { |
|
|
|
width, |
|
|
|
width, |
|
|
|
height, |
|
|
|
height, |
|
|
@ -492,7 +323,7 @@ Page({ |
|
|
|
{ |
|
|
|
{ |
|
|
|
type: 'category', |
|
|
|
type: 'category', |
|
|
|
axisTick: { |
|
|
|
axisTick: { |
|
|
|
show: true, |
|
|
|
show: false, |
|
|
|
inside: true, |
|
|
|
inside: true, |
|
|
|
length: 1, |
|
|
|
length: 1, |
|
|
|
alignWithLabel: true, |
|
|
|
alignWithLabel: true, |
|
|
@ -509,258 +340,63 @@ Page({ |
|
|
|
type: 'dashed', |
|
|
|
type: 'dashed', |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
data: list.map((item) => dayjs(item.Date).format('MM-DD')), |
|
|
|
splitLine: { |
|
|
|
axisLabel: { |
|
|
|
show: true, |
|
|
|
formatter() { |
|
|
|
showMinLine: false, |
|
|
|
return '' |
|
|
|
lineStyle: { |
|
|
|
|
|
|
|
type: 'dotted', |
|
|
|
|
|
|
|
color: 'rgba(137, 141, 151, 0.23)', |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
data: defaultList.map((item) => dayjs(item.Date).format('MM-DD')), |
|
|
|
}, |
|
|
|
}, |
|
|
|
], |
|
|
|
], |
|
|
|
yAxis: [ |
|
|
|
yAxis: [ |
|
|
|
{ |
|
|
|
{ |
|
|
|
type: 'value', |
|
|
|
type: 'value', |
|
|
|
minInterval: 1, |
|
|
|
minInterval: 20, |
|
|
|
}, |
|
|
|
max: 100, |
|
|
|
], |
|
|
|
axisLine: { |
|
|
|
series: [ |
|
|
|
show: false, |
|
|
|
{ |
|
|
|
|
|
|
|
name: '总分', |
|
|
|
|
|
|
|
data: list.length ? list.map((item) => item.TotalScore) : [25], |
|
|
|
|
|
|
|
barWidth: '16', |
|
|
|
|
|
|
|
label: { |
|
|
|
|
|
|
|
show: true, |
|
|
|
|
|
|
|
position: 'top', |
|
|
|
|
|
|
|
color: '#CF5375', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
type: 'line', |
|
|
|
|
|
|
|
symbol: 'circle', |
|
|
|
|
|
|
|
symbolSize: 8, |
|
|
|
|
|
|
|
showSymbol: list.length >= 1, |
|
|
|
|
|
|
|
connectNulls: true, |
|
|
|
|
|
|
|
z: 10, |
|
|
|
|
|
|
|
itemStyle: { |
|
|
|
|
|
|
|
color: '#CF5375', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
markLine: { |
|
|
|
|
|
|
|
symbol: ['none', 'none'], |
|
|
|
|
|
|
|
data: [ |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
name: '达标区(1分)', |
|
|
|
|
|
|
|
yAxis: 1, |
|
|
|
|
|
|
|
label: { |
|
|
|
|
|
|
|
formatter: '{b}', |
|
|
|
|
|
|
|
position: 'insideMiddle', |
|
|
|
|
|
|
|
color: '#24D8C8', |
|
|
|
|
|
|
|
fontSize: '10', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
lineStyle: { |
|
|
|
|
|
|
|
cap: '', |
|
|
|
|
|
|
|
color: '#34D7C7', |
|
|
|
|
|
|
|
type: 'dashed', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
markArea: { |
|
|
|
|
|
|
|
itemStyle: { |
|
|
|
|
|
|
|
color: 'rgba(37,217,200,0.19)', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
data: [ |
|
|
|
|
|
|
|
[ |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
yAxis: 0, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
yAxis: 1, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
dataZoom: { |
|
|
|
|
|
|
|
type: 'inside', // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
|
|
|
|
|
|
|
startValue: list.length - 5, |
|
|
|
|
|
|
|
endValue: list.length - 1, |
|
|
|
|
|
|
|
filterMode: 'none', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (this.data.detail.UserType === 4) { |
|
|
|
|
|
|
|
const markLineData = list |
|
|
|
|
|
|
|
.filter((item) => item.InjectionBottles) |
|
|
|
|
|
|
|
.map((item) => { |
|
|
|
|
|
|
|
return { |
|
|
|
|
|
|
|
name: '', |
|
|
|
|
|
|
|
xAxis: dayjs(item.Date).format('MM-DD'), |
|
|
|
|
|
|
|
lineStyle: { |
|
|
|
lineStyle: { |
|
|
|
color: 'rgba(37, 217, 200,0.5)', |
|
|
|
|
|
|
|
cap: '', |
|
|
|
|
|
|
|
type: 'solid', |
|
|
|
type: 'solid', |
|
|
|
|
|
|
|
color: 'rgba(161, 164, 172, 1)', |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
label: { |
|
|
|
|
|
|
|
formatter: '', |
|
|
|
|
|
|
|
position: 'insideEndBottom', |
|
|
|
|
|
|
|
rotate: 0, |
|
|
|
|
|
|
|
color: '#25D9C8', |
|
|
|
|
|
|
|
offset: [60, 0], |
|
|
|
|
|
|
|
}, |
|
|
|
}, |
|
|
|
} |
|
|
|
splitLine: { |
|
|
|
}) |
|
|
|
|
|
|
|
option.series.push({ |
|
|
|
|
|
|
|
name: '用药', |
|
|
|
|
|
|
|
data: list.map((item) => (item.InjectionBottles ? 0 : null)), |
|
|
|
|
|
|
|
type: 'line', |
|
|
|
|
|
|
|
symbol: |
|
|
|
|
|
|
|
'image://data:image/png;base64,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', |
|
|
|
|
|
|
|
symbolSize: [11, 16], |
|
|
|
|
|
|
|
symbolOffset: [0, 0], |
|
|
|
|
|
|
|
itemStyle: { |
|
|
|
|
|
|
|
color: '#25D9C8', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
lineStyle: { |
|
|
|
|
|
|
|
width: 0, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
tooltip: { |
|
|
|
|
|
|
|
show: false, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
z: 11, |
|
|
|
|
|
|
|
markLine: { |
|
|
|
|
|
|
|
symbol: ['none', 'none'], |
|
|
|
|
|
|
|
data: markLineData, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
// option.series.push({
|
|
|
|
|
|
|
|
// name: "用药时间",
|
|
|
|
|
|
|
|
// data: list.map((item: any) => (item.InjectionBottles ? item.TotalScore : 0)),
|
|
|
|
|
|
|
|
// type: "line",
|
|
|
|
|
|
|
|
// symbol:
|
|
|
|
|
|
|
|
// "image://data:image/png;base64,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",
|
|
|
|
|
|
|
|
// symbolSize: [11, 16],
|
|
|
|
|
|
|
|
// symbolOffset: [0, "100%"],
|
|
|
|
|
|
|
|
// itemStyle: {
|
|
|
|
|
|
|
|
// color: "#25D9C8",
|
|
|
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
// tooltip: {
|
|
|
|
|
|
|
|
// show: false,
|
|
|
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
// lineStyle: {
|
|
|
|
|
|
|
|
// width: 0,
|
|
|
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
// z: 1,
|
|
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
chart.setOption(option) |
|
|
|
|
|
|
|
reslove(chart) |
|
|
|
|
|
|
|
return chart |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
initChart4(defaultList = []) { |
|
|
|
|
|
|
|
const { userInfo } = this.data |
|
|
|
|
|
|
|
const list: any = defaultList |
|
|
|
|
|
|
|
return new Promise((reslove) => { |
|
|
|
|
|
|
|
this.ecDataTrendComponent4.init((canvas, width, height, dpr) => { |
|
|
|
|
|
|
|
const chart = echarts.init(canvas, null, { |
|
|
|
|
|
|
|
width, |
|
|
|
|
|
|
|
height, |
|
|
|
|
|
|
|
devicePixelRatio: dpr, // new
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
canvas.setChart(chart) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const option: any = { |
|
|
|
|
|
|
|
tooltip: { |
|
|
|
|
|
|
|
show: false, |
|
|
|
|
|
|
|
trigger: 'axis', |
|
|
|
|
|
|
|
axisPointer: { |
|
|
|
|
|
|
|
type: 'shadow', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
confine: true, |
|
|
|
|
|
|
|
backgroundColor: 'rgba(0, 0, 0, 0.5)', |
|
|
|
|
|
|
|
textStyle: { |
|
|
|
|
|
|
|
color: '#fff', |
|
|
|
|
|
|
|
fontSize: 10, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
order: 'seriesDesc', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
grid: { |
|
|
|
|
|
|
|
top: '30', |
|
|
|
|
|
|
|
left: '0', |
|
|
|
|
|
|
|
right: '0', |
|
|
|
|
|
|
|
bottom: '10', |
|
|
|
|
|
|
|
containLabel: true, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
xAxis: [ |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
type: 'category', |
|
|
|
|
|
|
|
axisTick: { |
|
|
|
|
|
|
|
show: true, |
|
|
|
show: true, |
|
|
|
inside: true, |
|
|
|
showMinLine: false, |
|
|
|
length: 1, |
|
|
|
|
|
|
|
alignWithLabel: true, |
|
|
|
|
|
|
|
lineStyle: { |
|
|
|
lineStyle: { |
|
|
|
type: 'dotted', |
|
|
|
type: 'dotted', |
|
|
|
color: '#D8D8D8', |
|
|
|
color: 'rgba(137, 141, 151, 0.23)', |
|
|
|
width: 4, |
|
|
|
|
|
|
|
cap: 'round', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
axisLine: { |
|
|
|
|
|
|
|
lineStyle: { |
|
|
|
|
|
|
|
color: '#8C8C8C', |
|
|
|
|
|
|
|
type: 'dashed', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
data: list.map((item) => dayjs(item.Date).format('MM-DD')), |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
|
|
|
|
yAxis: [ |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
type: 'value', |
|
|
|
|
|
|
|
minInterval: 1, |
|
|
|
|
|
|
|
max(value) { |
|
|
|
|
|
|
|
return value.max + 20 > 999 ? 999 : value.max + 20 |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
axisLabel: { |
|
|
|
|
|
|
|
// width: 20,
|
|
|
|
|
|
|
|
formatter(value: number) { |
|
|
|
|
|
|
|
return value |
|
|
|
|
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
], |
|
|
|
], |
|
|
|
series: [ |
|
|
|
series: [ |
|
|
|
{ |
|
|
|
{ |
|
|
|
name: '激素用量', |
|
|
|
name: '总分', |
|
|
|
data: list.length ? list.map((item) => item.SteroidDailyDose) : [20], |
|
|
|
data: defaultList.length ? defaultList.map((item) => item.value) : [25], |
|
|
|
barWidth: '16', |
|
|
|
barWidth: '16', |
|
|
|
type: 'line', |
|
|
|
|
|
|
|
symbol: 'circle', |
|
|
|
|
|
|
|
symbolSize: 8, |
|
|
|
|
|
|
|
connectNulls: true, |
|
|
|
|
|
|
|
showSymbol: list.length >= 1, |
|
|
|
|
|
|
|
z: 10, |
|
|
|
|
|
|
|
label: { |
|
|
|
label: { |
|
|
|
show: true, |
|
|
|
show: true, |
|
|
|
position: 'top', |
|
|
|
position: 'top', |
|
|
|
color: '#18474e', |
|
|
|
color: '#B982FF', |
|
|
|
z: 11, |
|
|
|
|
|
|
|
formatter({ value }) { |
|
|
|
|
|
|
|
return `${value}mg` |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
type: 'line', |
|
|
|
|
|
|
|
symbolSize: 4, |
|
|
|
|
|
|
|
showSymbol: defaultList.length >= 1, |
|
|
|
|
|
|
|
connectNulls: true, |
|
|
|
|
|
|
|
z: 10, |
|
|
|
itemStyle: { |
|
|
|
itemStyle: { |
|
|
|
color: '#3192A1', |
|
|
|
color: '#B982FF', |
|
|
|
}, |
|
|
|
}, |
|
|
|
markLine: { |
|
|
|
markLine: { |
|
|
|
symbol: ['none', 'none'], |
|
|
|
symbol: ['none', 'none'], |
|
|
|
data: [ |
|
|
|
data: [ |
|
|
|
{ |
|
|
|
{ |
|
|
|
name: '达标区(5mg)', |
|
|
|
name: '达标区', |
|
|
|
yAxis: 5, |
|
|
|
yAxis: 80, |
|
|
|
label: { |
|
|
|
label: { |
|
|
|
formatter: '{b}', |
|
|
|
formatter: '{b}', |
|
|
|
position: 'insideMiddle', |
|
|
|
position: 'insideMiddle', |
|
|
@ -773,21 +409,6 @@ Page({ |
|
|
|
type: 'dashed', |
|
|
|
type: 'dashed', |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
|
|
|
|
name: '20', |
|
|
|
|
|
|
|
yAxis: 20, |
|
|
|
|
|
|
|
label: { |
|
|
|
|
|
|
|
formatter: '{b}', |
|
|
|
|
|
|
|
position: 'start', |
|
|
|
|
|
|
|
color: '#D76C6C', |
|
|
|
|
|
|
|
distance: 8, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
lineStyle: { |
|
|
|
|
|
|
|
cap: '', |
|
|
|
|
|
|
|
color: '#D76C6C', |
|
|
|
|
|
|
|
type: 'dashed', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
], |
|
|
|
}, |
|
|
|
}, |
|
|
|
markArea: { |
|
|
|
markArea: { |
|
|
@ -797,10 +418,10 @@ Page({ |
|
|
|
data: [ |
|
|
|
data: [ |
|
|
|
[ |
|
|
|
[ |
|
|
|
{ |
|
|
|
{ |
|
|
|
yAxis: 0, |
|
|
|
yAxis: 80, |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
yAxis: 5, |
|
|
|
yAxis: 100, |
|
|
|
}, |
|
|
|
}, |
|
|
|
], |
|
|
|
], |
|
|
|
], |
|
|
|
], |
|
|
@ -809,76 +430,11 @@ Page({ |
|
|
|
], |
|
|
|
], |
|
|
|
dataZoom: { |
|
|
|
dataZoom: { |
|
|
|
type: 'inside', // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
|
|
|
type: 'inside', // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
|
|
|
startValue: list.length - 5, |
|
|
|
startValue: 0, |
|
|
|
endValue: list.length - 1, |
|
|
|
endValue: 4, |
|
|
|
filterMode: 'none', |
|
|
|
filterMode: 'none', |
|
|
|
}, |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
if (this.data.detail.UserType === 4) { |
|
|
|
|
|
|
|
const markLineData = list |
|
|
|
|
|
|
|
.filter((item) => item.InjectionBottles) |
|
|
|
|
|
|
|
.map((item) => { |
|
|
|
|
|
|
|
return { |
|
|
|
|
|
|
|
name: '', |
|
|
|
|
|
|
|
xAxis: dayjs(item.Date).format('MM-DD'), |
|
|
|
|
|
|
|
lineStyle: { |
|
|
|
|
|
|
|
color: 'rgba(37, 217, 200,0.5)', |
|
|
|
|
|
|
|
cap: '', |
|
|
|
|
|
|
|
type: 'solid', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
label: { |
|
|
|
|
|
|
|
formatter: '', |
|
|
|
|
|
|
|
position: 'insideEndBottom', |
|
|
|
|
|
|
|
rotate: 0, |
|
|
|
|
|
|
|
color: '#25D9C8', |
|
|
|
|
|
|
|
offset: [60, 0], |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
const maxValue = Math.max(...list.map((item) => item.SteroidDailyDose)) |
|
|
|
|
|
|
|
option.series.push({ |
|
|
|
|
|
|
|
name: '用药', |
|
|
|
|
|
|
|
data: list.map((item) => (item.InjectionBottles ? 0 : null)), |
|
|
|
|
|
|
|
type: 'line', |
|
|
|
|
|
|
|
symbol: |
|
|
|
|
|
|
|
'image://data:image/png;base64,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', |
|
|
|
|
|
|
|
symbolSize: [11, 16], |
|
|
|
|
|
|
|
symbolOffset: [0, 0], |
|
|
|
|
|
|
|
itemStyle: { |
|
|
|
|
|
|
|
color: '#25D9C8', |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
lineStyle: { |
|
|
|
|
|
|
|
width: 0, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
tooltip: { |
|
|
|
|
|
|
|
show: false, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
z: 11, |
|
|
|
|
|
|
|
markLine: { |
|
|
|
|
|
|
|
symbol: ['none', 'none'], |
|
|
|
|
|
|
|
data: markLineData, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
// option.series.push({
|
|
|
|
|
|
|
|
// name: "用药时间",
|
|
|
|
|
|
|
|
// data: list.map((item: any) => (item.InjectionBottles ? item.TotalScore : 0)),
|
|
|
|
|
|
|
|
// type: "line",
|
|
|
|
|
|
|
|
// symbol:
|
|
|
|
|
|
|
|
// "image://data:image/png;base64,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",
|
|
|
|
|
|
|
|
// symbolSize: [11, 16],
|
|
|
|
|
|
|
|
// symbolOffset: [0, "100%"],
|
|
|
|
|
|
|
|
// itemStyle: {
|
|
|
|
|
|
|
|
// color: "#25D9C8",
|
|
|
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
// tooltip: {
|
|
|
|
|
|
|
|
// show: false,
|
|
|
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
// lineStyle: {
|
|
|
|
|
|
|
|
// width: 0,
|
|
|
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
// z: 1,
|
|
|
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
chart.setOption(option) |
|
|
|
chart.setOption(option) |
|
|
|
reslove(chart) |
|
|
|
reslove(chart) |
|
|
@ -975,17 +531,6 @@ Page({ |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
handleNav(e, mp = true) { |
|
|
|
|
|
|
|
const { index } = e.currentTarget.dataset |
|
|
|
|
|
|
|
if (index == 0 && mp) { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (index == 1 && mp) { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
this.setData({ |
|
|
|
|
|
|
|
nav: index, |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
this.handleTypeChange({ detail: { value: '2' } }) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
getAdlList(newPage = 1) { |
|
|
|
getAdlList(newPage = 1) { |
|
|
|
const { detail, EndDate, StartDate, type } = this.data |
|
|
|
const { detail, EndDate, StartDate, type } = this.data |
|
|
|
wx.ajax({ |
|
|
|
wx.ajax({ |
|
|
@ -1024,13 +569,6 @@ Page({ |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
}, |
|
|
|
onReachBottom() { |
|
|
|
|
|
|
|
const { page, pages } = this.data.pagination |
|
|
|
|
|
|
|
const nav = this.data.nav |
|
|
|
|
|
|
|
if (pages > page && nav === '1') { |
|
|
|
|
|
|
|
this.getAdlList(page + 1) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
handleFold(e) { |
|
|
|
handleFold(e) { |
|
|
|
const { index } = e.currentTarget.dataset |
|
|
|
const { index } = e.currentTarget.dataset |
|
|
|
this.setData({ |
|
|
|
this.setData({ |
|
|
|