|
|
|
|
import dayjs from "dayjs";
|
|
|
|
|
const app = getApp<IAppOption>();
|
|
|
|
|
|
|
|
|
|
const echarts = require("../ec-canvas/echarts.js");
|
|
|
|
|
|
|
|
|
|
// pages/story/a.ts
|
|
|
|
|
Component({
|
|
|
|
|
/**
|
|
|
|
|
* 组件的属性列表
|
|
|
|
|
*/
|
|
|
|
|
properties: {
|
|
|
|
|
userInfo: Object,
|
|
|
|
|
DoctorTitleType: Object,
|
|
|
|
|
hospitalClassification: Object,
|
|
|
|
|
hospitalLevel: Object,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 组件的初始数据
|
|
|
|
|
*/
|
|
|
|
|
data: {
|
|
|
|
|
ec: {
|
|
|
|
|
lazyLoad: true,
|
|
|
|
|
},
|
|
|
|
|
take: {},
|
|
|
|
|
case: {} as any,
|
|
|
|
|
doctorCount: {},
|
|
|
|
|
|
|
|
|
|
DepartmentId: "",
|
|
|
|
|
DepartmentName: "",
|
|
|
|
|
|
|
|
|
|
endYear: dayjs().year(),
|
|
|
|
|
year1: dayjs().year(),
|
|
|
|
|
year2: dayjs().year(),
|
|
|
|
|
year3: dayjs().year(),
|
|
|
|
|
empty1: false,
|
|
|
|
|
empty2: false,
|
|
|
|
|
empty3: false,
|
|
|
|
|
|
|
|
|
|
rankList: [],
|
|
|
|
|
|
|
|
|
|
newCaseShow: false,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
lifetimes: {
|
|
|
|
|
attached() {
|
|
|
|
|
const { DepartmentId, DepartmentName } = this.data.userInfo.Department[0];
|
|
|
|
|
this.setData({
|
|
|
|
|
Department: this.data.userInfo.Department,
|
|
|
|
|
DepartmentId,
|
|
|
|
|
DepartmentName,
|
|
|
|
|
});
|
|
|
|
|
this.getTake();
|
|
|
|
|
this.getCase();
|
|
|
|
|
this.getManageDoctor();
|
|
|
|
|
this.getRankList();
|
|
|
|
|
|
|
|
|
|
this.waitEchart(async () => {
|
|
|
|
|
this.getChat1();
|
|
|
|
|
this.getChat2();
|
|
|
|
|
this.getChat3();
|
|
|
|
|
// const chart1: any = await this.initChart1();
|
|
|
|
|
// const chart2: any = await this.initChart2();
|
|
|
|
|
// const chart3: any = await this.initChart3();
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* 组件的方法列表
|
|
|
|
|
*/
|
|
|
|
|
methods: {
|
|
|
|
|
ecDataTrendComponent1: null as any,
|
|
|
|
|
ecDataTrendComponent2: null as any,
|
|
|
|
|
ecDataTrendComponent3: null as any,
|
|
|
|
|
waitEchart(callback) {
|
|
|
|
|
const time = setInterval(() => {
|
|
|
|
|
if (this.selectComponent("#chart1")) {
|
|
|
|
|
clearInterval(time);
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
}, 30);
|
|
|
|
|
},
|
|
|
|
|
handleYear1(e) {
|
|
|
|
|
this.setData({
|
|
|
|
|
year1: e.detail.value,
|
|
|
|
|
});
|
|
|
|
|
this.getChat1();
|
|
|
|
|
},
|
|
|
|
|
getChat1() {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: "GET",
|
|
|
|
|
url: "?r=takeda/stat/department-doctor-list",
|
|
|
|
|
data: {
|
|
|
|
|
Year: this.data.year1,
|
|
|
|
|
DepartmentId: this.data.DepartmentId,
|
|
|
|
|
},
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
this.setData({
|
|
|
|
|
empty1: Boolean(res.list.length === 0),
|
|
|
|
|
});
|
|
|
|
|
this.initChart1(res.list);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
initChart1(list) {
|
|
|
|
|
return new Promise((reslove) => {
|
|
|
|
|
this.ecDataTrendComponent1 = this.selectComponent("#chart1");
|
|
|
|
|
this.ecDataTrendComponent1.init((canvas, width, height, dpr) => {
|
|
|
|
|
const chart = echarts.init(canvas, null, {
|
|
|
|
|
width,
|
|
|
|
|
height,
|
|
|
|
|
devicePixelRatio: dpr, // new
|
|
|
|
|
});
|
|
|
|
|
canvas.setChart(chart);
|
|
|
|
|
const x: string[] = [];
|
|
|
|
|
const y1: string[] = [];
|
|
|
|
|
const y2: string[] = [];
|
|
|
|
|
const y3: string[] = [];
|
|
|
|
|
const y4: string[] = [];
|
|
|
|
|
list.forEach((item) => {
|
|
|
|
|
x.push(item.YearMonth);
|
|
|
|
|
y1.push(item.DoctorLevel1Count);
|
|
|
|
|
y2.push(item.DoctorLevel2Count);
|
|
|
|
|
y3.push(item.DoctorLevel3Count);
|
|
|
|
|
y4.push(item.DoctorCount);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const option = {
|
|
|
|
|
legend: {
|
|
|
|
|
bottom: 0,
|
|
|
|
|
itemWidth: 8,
|
|
|
|
|
itemHeight: 8,
|
|
|
|
|
icon: "circle",
|
|
|
|
|
lineStyle: {
|
|
|
|
|
width: "0",
|
|
|
|
|
},
|
|
|
|
|
textStyle: {
|
|
|
|
|
color: "rgba(103, 113, 114, 1)",
|
|
|
|
|
fontSize: "12",
|
|
|
|
|
},
|
|
|
|
|
data: ["一级医生", "核心医生", "质控医生"],
|
|
|
|
|
},
|
|
|
|
|
grid: {
|
|
|
|
|
top: "10%",
|
|
|
|
|
left: "3%",
|
|
|
|
|
right: "4%",
|
|
|
|
|
bottom: "30",
|
|
|
|
|
containLabel: true,
|
|
|
|
|
},
|
|
|
|
|
xAxis: [
|
|
|
|
|
{
|
|
|
|
|
type: "category",
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
color: "rgba(40, 48, 49, 1)",
|
|
|
|
|
},
|
|
|
|
|
data: x,
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
yAxis: [
|
|
|
|
|
{
|
|
|
|
|
type: "value",
|
|
|
|
|
minInterval: 1,
|
|
|
|
|
splitLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
color: "rgba(40, 48, 49, 1)",
|
|
|
|
|
formatter(value) {
|
|
|
|
|
return Math.abs(value);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: "质控医生",
|
|
|
|
|
type: "bar",
|
|
|
|
|
barMaxWidth: 40,
|
|
|
|
|
stack: "a",
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
color: "#fff",
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
overflow: "truncate",
|
|
|
|
|
width: 30,
|
|
|
|
|
formatter(params) {
|
|
|
|
|
return Math.abs(params.value);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
color: "rgba(0, 180, 197, 1)",
|
|
|
|
|
data: y3,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "核心医生",
|
|
|
|
|
type: "bar",
|
|
|
|
|
barMaxWidth: 40,
|
|
|
|
|
stack: "a",
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
color: "#fff",
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
overflow: "truncate",
|
|
|
|
|
width: 30,
|
|
|
|
|
formatter(params) {
|
|
|
|
|
return Math.abs(params.value);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
color: "rgba(84, 226, 180, 1)",
|
|
|
|
|
data: y2,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "一级医生",
|
|
|
|
|
type: "bar",
|
|
|
|
|
barMaxWidth: 40,
|
|
|
|
|
stack: "a",
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
color: "rgba(0, 180, 197, 1)",
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
overflow: "truncate",
|
|
|
|
|
width: 30,
|
|
|
|
|
},
|
|
|
|
|
color: "rgba(225, 248, 242, 1)",
|
|
|
|
|
data: y1,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "总数", // 总数显示,生成一个总数的柱状图,将颜色设为透明,
|
|
|
|
|
type: "line", // label将位置设备内部底部,造成一个总数显示在
|
|
|
|
|
stack: "", // 柱状图上方的假象
|
|
|
|
|
color: "rgba(0, 0, 0, 0)",
|
|
|
|
|
data: y4,
|
|
|
|
|
symbolSize: 0,
|
|
|
|
|
label: {
|
|
|
|
|
normal: {
|
|
|
|
|
show: true,
|
|
|
|
|
position: "top",
|
|
|
|
|
color: "rgba(133, 133, 133, 1)",
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
formatter: "{c}",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
dataZoom: {
|
|
|
|
|
type: "inside", // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
|
|
|
|
startValue: x.length - 6,
|
|
|
|
|
endValue: x.length - 1,
|
|
|
|
|
filterMode: "none",
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
chart.setOption(option);
|
|
|
|
|
reslove(chart);
|
|
|
|
|
return chart;
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleYear2(e) {
|
|
|
|
|
this.setData({
|
|
|
|
|
year2: e.detail.value,
|
|
|
|
|
});
|
|
|
|
|
this.getChat2();
|
|
|
|
|
},
|
|
|
|
|
getChat2() {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: "GET",
|
|
|
|
|
url: "?r=takeda/stat/department-doctor-total-case-list",
|
|
|
|
|
data: {
|
|
|
|
|
Year: this.data.year2,
|
|
|
|
|
DepartmentId: this.data.DepartmentId,
|
|
|
|
|
},
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
this.setData({
|
|
|
|
|
empty2: Boolean(res.list.length === 0),
|
|
|
|
|
});
|
|
|
|
|
this.initChart2(res.list);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
initChart2(list) {
|
|
|
|
|
return new Promise((reslove) => {
|
|
|
|
|
this.ecDataTrendComponent2 = this.selectComponent("#chart2");
|
|
|
|
|
this.ecDataTrendComponent2.init((canvas, width, height, dpr) => {
|
|
|
|
|
const chart = echarts.init(canvas, null, {
|
|
|
|
|
width,
|
|
|
|
|
height,
|
|
|
|
|
devicePixelRatio: dpr, // new
|
|
|
|
|
});
|
|
|
|
|
canvas.setChart(chart);
|
|
|
|
|
const x: string[] = [];
|
|
|
|
|
const y1: string[] = [];
|
|
|
|
|
const y2: string[] = [];
|
|
|
|
|
const y3: string[] = [];
|
|
|
|
|
list.forEach((item) => {
|
|
|
|
|
x.push(item.YearMonth);
|
|
|
|
|
y1.push(item.DoctorLevel1TotalCases);
|
|
|
|
|
y2.push(item.DoctorLevel2TotalCases);
|
|
|
|
|
y3.push(item.TotalCaseCount);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const option = {
|
|
|
|
|
legend: {
|
|
|
|
|
bottom: 0,
|
|
|
|
|
itemWidth: 8,
|
|
|
|
|
itemHeight: 8,
|
|
|
|
|
icon: "circle",
|
|
|
|
|
lineStyle: {
|
|
|
|
|
width: "0",
|
|
|
|
|
},
|
|
|
|
|
textStyle: {
|
|
|
|
|
color: "rgba(103, 113, 114, 1)",
|
|
|
|
|
fontSize: "12",
|
|
|
|
|
},
|
|
|
|
|
data: ["一级医生提交", "核心医生提交"],
|
|
|
|
|
},
|
|
|
|
|
grid: {
|
|
|
|
|
top: "10%",
|
|
|
|
|
left: "3%",
|
|
|
|
|
right: "4%",
|
|
|
|
|
bottom: "30",
|
|
|
|
|
containLabel: true,
|
|
|
|
|
},
|
|
|
|
|
xAxis: [
|
|
|
|
|
{
|
|
|
|
|
type: "category",
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
color: "rgba(40, 48, 49, 1)",
|
|
|
|
|
},
|
|
|
|
|
data: x,
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
yAxis: [
|
|
|
|
|
{
|
|
|
|
|
type: "value",
|
|
|
|
|
minInterval: 1,
|
|
|
|
|
splitLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
color: "rgba(40, 48, 49, 1)",
|
|
|
|
|
formatter(value) {
|
|
|
|
|
return Math.abs(value);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: "核心医生提交",
|
|
|
|
|
type: "bar",
|
|
|
|
|
barMaxWidth: 40,
|
|
|
|
|
stack: "a",
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
color: "#fff",
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
overflow: "truncate",
|
|
|
|
|
width: 30,
|
|
|
|
|
formatter(params) {
|
|
|
|
|
return Math.abs(params.value);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
color: "rgba(84, 226, 180, 1)",
|
|
|
|
|
data: y2,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "一级医生提交",
|
|
|
|
|
type: "bar",
|
|
|
|
|
barMaxWidth: 40,
|
|
|
|
|
stack: "a",
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
color: "rgba(0, 180, 197, 1)",
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
overflow: "truncate",
|
|
|
|
|
width: 30,
|
|
|
|
|
},
|
|
|
|
|
color: "rgba(225, 248, 242, 1)",
|
|
|
|
|
data: y1,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "总数", // 总数显示,生成一个总数的柱状图,将颜色设为透明,
|
|
|
|
|
type: "line", // label将位置设备内部底部,造成一个总数显示在
|
|
|
|
|
stack: "", // 柱状图上方的假象
|
|
|
|
|
color: "rgba(0, 0, 0, 0)",
|
|
|
|
|
data: y3,
|
|
|
|
|
symbolSize: 0,
|
|
|
|
|
label: {
|
|
|
|
|
normal: {
|
|
|
|
|
show: true,
|
|
|
|
|
position: "top",
|
|
|
|
|
color: "rgba(133, 133, 133, 1)",
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
formatter: "{c}",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
dataZoom: {
|
|
|
|
|
type: "inside", // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
|
|
|
|
startValue: x.length - 6,
|
|
|
|
|
endValue: x.length - 1,
|
|
|
|
|
filterMode: "none",
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
chart.setOption(option);
|
|
|
|
|
reslove(chart);
|
|
|
|
|
return chart;
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleYear3(e) {
|
|
|
|
|
this.setData({
|
|
|
|
|
year3: e.detail.value,
|
|
|
|
|
});
|
|
|
|
|
this.getChat3();
|
|
|
|
|
},
|
|
|
|
|
getChat3() {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: "GET",
|
|
|
|
|
url: "?r=takeda/stat/department-doctor-month-case-list",
|
|
|
|
|
data: {
|
|
|
|
|
Year: this.data.year3,
|
|
|
|
|
DepartmentId: this.data.DepartmentId,
|
|
|
|
|
},
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
this.setData({
|
|
|
|
|
empty3: Boolean(res.list.length === 0),
|
|
|
|
|
});
|
|
|
|
|
this.initChart3(res.list);
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
initChart3(list) {
|
|
|
|
|
return new Promise((reslove) => {
|
|
|
|
|
this.ecDataTrendComponent3 = this.selectComponent("#chart3");
|
|
|
|
|
this.ecDataTrendComponent3.init((canvas, width, height, dpr) => {
|
|
|
|
|
const chart = echarts.init(canvas, null, {
|
|
|
|
|
width,
|
|
|
|
|
height,
|
|
|
|
|
devicePixelRatio: dpr, // new
|
|
|
|
|
});
|
|
|
|
|
canvas.setChart(chart);
|
|
|
|
|
const x: string[] = [];
|
|
|
|
|
const y1: string[] = [];
|
|
|
|
|
const y2: string[] = [];
|
|
|
|
|
const y3: string[] = [];
|
|
|
|
|
list.forEach((item) => {
|
|
|
|
|
x.push(item.YearMonth);
|
|
|
|
|
y1.push(item.DoctorLevel1MonthCases);
|
|
|
|
|
y2.push(item.DoctorLevel2MonthCases);
|
|
|
|
|
y3.push(item.TotalCaseCount);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const option = {
|
|
|
|
|
legend: {
|
|
|
|
|
bottom: 0,
|
|
|
|
|
itemWidth: 8,
|
|
|
|
|
itemHeight: 8,
|
|
|
|
|
icon: "circle",
|
|
|
|
|
lineStyle: {
|
|
|
|
|
width: "0",
|
|
|
|
|
},
|
|
|
|
|
textStyle: {
|
|
|
|
|
color: "rgba(103, 113, 114, 1)",
|
|
|
|
|
fontSize: "12",
|
|
|
|
|
},
|
|
|
|
|
data: ["一级医生提交", "核心医生提交"],
|
|
|
|
|
},
|
|
|
|
|
grid: {
|
|
|
|
|
top: "10%",
|
|
|
|
|
left: "3%",
|
|
|
|
|
right: "4%",
|
|
|
|
|
bottom: "30",
|
|
|
|
|
containLabel: true,
|
|
|
|
|
},
|
|
|
|
|
xAxis: [
|
|
|
|
|
{
|
|
|
|
|
type: "category",
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
color: "rgba(40, 48, 49, 1)",
|
|
|
|
|
},
|
|
|
|
|
data: x,
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
yAxis: [
|
|
|
|
|
{
|
|
|
|
|
type: "value",
|
|
|
|
|
minInterval: 1,
|
|
|
|
|
splitLine: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
color: "rgba(40, 48, 49, 1)",
|
|
|
|
|
formatter(value) {
|
|
|
|
|
return Math.abs(value);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: "核心医生提交",
|
|
|
|
|
type: "bar",
|
|
|
|
|
barMaxWidth: 40,
|
|
|
|
|
stack: "a",
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
color: "#fff",
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
overflow: "truncate",
|
|
|
|
|
width: 30,
|
|
|
|
|
formatter(params) {
|
|
|
|
|
return Math.abs(params.value);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
color: "rgba(84, 226, 180, 1)",
|
|
|
|
|
data: y2,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "一级医生提交",
|
|
|
|
|
type: "bar",
|
|
|
|
|
barMaxWidth: 40,
|
|
|
|
|
stack: "a",
|
|
|
|
|
label: {
|
|
|
|
|
show: true,
|
|
|
|
|
color: "rgba(0, 180, 197, 1)",
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
overflow: "truncate",
|
|
|
|
|
width: 30,
|
|
|
|
|
},
|
|
|
|
|
color: "rgba(225, 248, 242, 1)",
|
|
|
|
|
data: y1,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "总数", // 总数显示,生成一个总数的柱状图,将颜色设为透明,
|
|
|
|
|
type: "line", // label将位置设备内部底部,造成一个总数显示在
|
|
|
|
|
stack: "", // 柱状图上方的假象
|
|
|
|
|
color: "rgba(0, 0, 0, 0)",
|
|
|
|
|
data: y3,
|
|
|
|
|
symbolSize: 0,
|
|
|
|
|
label: {
|
|
|
|
|
normal: {
|
|
|
|
|
show: true,
|
|
|
|
|
position: "top",
|
|
|
|
|
color: "rgba(133, 133, 133, 1)",
|
|
|
|
|
fontSize: 10,
|
|
|
|
|
formatter: "{c}",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
dataZoom: {
|
|
|
|
|
type: "inside", // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
|
|
|
|
|
startValue: x.length - 6,
|
|
|
|
|
endValue: x.length - 1,
|
|
|
|
|
filterMode: "none",
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
chart.setOption(option);
|
|
|
|
|
reslove(chart);
|
|
|
|
|
return chart;
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
getTake() {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: "GET",
|
|
|
|
|
url: "?r=takeda/doctor/todo",
|
|
|
|
|
data: {},
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
this.setData({
|
|
|
|
|
take: res,
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleChangeDept(e) {
|
|
|
|
|
const index = e.detail.value;
|
|
|
|
|
const { DepartmentId, DepartmentName } = this.data.userInfo.Department[index];
|
|
|
|
|
this.setData({
|
|
|
|
|
DepartmentId,
|
|
|
|
|
DepartmentName,
|
|
|
|
|
});
|
|
|
|
|
this.getCase();
|
|
|
|
|
this.getManageDoctor();
|
|
|
|
|
this.getChat1();
|
|
|
|
|
this.getChat2();
|
|
|
|
|
this.getChat3();
|
|
|
|
|
},
|
|
|
|
|
getCase() {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: "GET",
|
|
|
|
|
url: "?r=takeda/doctor/case",
|
|
|
|
|
data: {
|
|
|
|
|
DepartmentId: this.data.DepartmentId,
|
|
|
|
|
},
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
this.setData({
|
|
|
|
|
case: res,
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
getManageDoctor() {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: "GET",
|
|
|
|
|
url: "?r=takeda/doctor/manage-doctor-count",
|
|
|
|
|
data: { DepartmentId: this.data.DepartmentId },
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
this.setData({
|
|
|
|
|
doctorCount: res.count,
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
getRankList() {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: "GET",
|
|
|
|
|
url: "?r=takeda/stat/hospital-doctor-rank-list",
|
|
|
|
|
data: {
|
|
|
|
|
count: 5,
|
|
|
|
|
},
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
this.setData({
|
|
|
|
|
rankList: res.list,
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleRankDetail() {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: "/module1/pages/doctorRankList/index",
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleInvite() {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: "/module1/pages/invite/index",
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleAllCase() {
|
|
|
|
|
app.globalData.caseNav = "3";
|
|
|
|
|
wx.switchTab({
|
|
|
|
|
url: "/pages/cases/index",
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleAllDoctor() {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: "/module1/pages/org4/index",
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
handlePendCase() {
|
|
|
|
|
app.globalData.needDeal = "1";
|
|
|
|
|
wx.switchTab({
|
|
|
|
|
url: "/pages/cases/index",
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleChat() {
|
|
|
|
|
wx.switchTab({
|
|
|
|
|
url: "/pages/chatRoomList/index",
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleAudit() {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: "/module1/pages/auditDoctorList/index",
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleQuestion(e) {
|
|
|
|
|
const { index } = e.currentTarget.dataset;
|
|
|
|
|
this.triggerEvent("question", index);
|
|
|
|
|
},
|
|
|
|
|
handleNewCase() {
|
|
|
|
|
this.setData({
|
|
|
|
|
newCaseShow: true,
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleNewCaseClose() {
|
|
|
|
|
this.setData({
|
|
|
|
|
newCaseShow: false,
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleCase(e) {
|
|
|
|
|
const { type } = e.currentTarget.dataset;
|
|
|
|
|
const name = {
|
|
|
|
|
0: "全部",
|
|
|
|
|
2: "新病历",
|
|
|
|
|
3: "讨论中",
|
|
|
|
|
4: "已归档",
|
|
|
|
|
}[type];
|
|
|
|
|
app.globalData.caseNav = "3";
|
|
|
|
|
app.globalData.caseStatus = type === "0" ? "" : type;
|
|
|
|
|
app.globalData.caseStatusName = name;
|
|
|
|
|
wx.switchTab({
|
|
|
|
|
url: "/pages/cases/index",
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export {};
|