|
|
|
|
import dayjs from 'dayjs'
|
|
|
|
|
import { filterObjs } from '@/utils/doctorPatientTask'
|
|
|
|
|
|
|
|
|
|
const app = getApp<IAppOption>()
|
|
|
|
|
|
|
|
|
|
Page({
|
|
|
|
|
data: {
|
|
|
|
|
list: [] as any[],
|
|
|
|
|
pagination: {
|
|
|
|
|
page: 1,
|
|
|
|
|
pages: 1,
|
|
|
|
|
count: 1,
|
|
|
|
|
},
|
|
|
|
|
Status: {
|
|
|
|
|
1: '待发送',
|
|
|
|
|
2: '发送中',
|
|
|
|
|
4: '已发送',
|
|
|
|
|
5: '已停止',
|
|
|
|
|
6: '已取消',
|
|
|
|
|
},
|
|
|
|
|
...filterObjs,
|
|
|
|
|
},
|
|
|
|
|
onLoad() {
|
|
|
|
|
const SystemInfo = app.globalSystemInfo
|
|
|
|
|
if (SystemInfo) {
|
|
|
|
|
const { top, bottom } = SystemInfo.capsulePosition
|
|
|
|
|
this.setData({
|
|
|
|
|
top,
|
|
|
|
|
bottom,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
onShow() {
|
|
|
|
|
app.waitLogin().then(() => {
|
|
|
|
|
this.getList()
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getList(newPage = 1) {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: 'GET',
|
|
|
|
|
url: '?r=igg4/doctor/task/list',
|
|
|
|
|
data: {
|
|
|
|
|
page: newPage,
|
|
|
|
|
},
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
res.list.forEach((item) => {
|
|
|
|
|
if (typeof item.FilterCondition.AdlScore === 'string') {
|
|
|
|
|
item.FilterCondition.AdlScore = item.FilterCondition.AdlScore?.split('-')
|
|
|
|
|
.map((item) => Number(item))
|
|
|
|
|
.filter((item) => Boolean(item))
|
|
|
|
|
} else {
|
|
|
|
|
item.FilterCondition.AdlScore = []
|
|
|
|
|
}
|
|
|
|
|
if (typeof item.FilterCondition.AdlScoreChange === 'string') {
|
|
|
|
|
item.FilterCondition.AdlScoreChange = item.FilterCondition.AdlScoreChange?.split('-')
|
|
|
|
|
.map((item) => Number(item))
|
|
|
|
|
.filter((item) => Boolean(item))
|
|
|
|
|
} else {
|
|
|
|
|
item.FilterCondition.AdlScoreChange = []
|
|
|
|
|
}
|
|
|
|
|
if (typeof item.FilterCondition.SteroidDailyDose === 'string') {
|
|
|
|
|
item.FilterCondition.SteroidDailyDose = item.FilterCondition.SteroidDailyDose?.split('-')
|
|
|
|
|
.map((item) => Number(item))
|
|
|
|
|
.filter((item) => Boolean(item))
|
|
|
|
|
} else {
|
|
|
|
|
item.FilterCondition.SteroidDailyDose = []
|
|
|
|
|
}
|
|
|
|
|
if (typeof item.FilterCondition.SteroidDailyDoseChange === 'string') {
|
|
|
|
|
item.FilterCondition.SteroidDailyDoseChange = item.FilterCondition.SteroidDailyDoseChange?.split('-')
|
|
|
|
|
.map((item) => Number(item))
|
|
|
|
|
.filter((item) => Boolean(item))
|
|
|
|
|
} else {
|
|
|
|
|
item.FilterCondition.SteroidDailyDoseChange = []
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (item.CreateTime) {
|
|
|
|
|
item.CreateTime = dayjs(item.CreateTime).format('YYYY-MM-DD HH:mm')
|
|
|
|
|
}
|
|
|
|
|
if (item.SendTime) {
|
|
|
|
|
item.SendTime = dayjs(item.SendTime).format('YYYY-MM-DD HH:mm')
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
const list = res.page === 1 ? res.list : [...this.data.list, ...res.list]
|
|
|
|
|
this.setData({
|
|
|
|
|
list,
|
|
|
|
|
pagination: {
|
|
|
|
|
page: res.page,
|
|
|
|
|
pages: res.pages,
|
|
|
|
|
count: res.count,
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
onReachBottom() {
|
|
|
|
|
const { page, pages } = this.data.pagination
|
|
|
|
|
if (pages > page) {
|
|
|
|
|
this.getList(page + 1)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
handleRouter(e) {
|
|
|
|
|
const { url } = e.currentTarget.dataset
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url,
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleCreate() {
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: '/doctor/pages/d_createTask/index',
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleDetail(e) {
|
|
|
|
|
const { id } = e.currentTarget.dataset
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: `/doctor/pages/d_taskDetail/index?id=${id}`,
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
handleCopy(e) {
|
|
|
|
|
const { index } = e.currentTarget.dataset
|
|
|
|
|
const { list } = this.data
|
|
|
|
|
const { FilterCondition } = list[index]
|
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: '/doctor/pages/d_createTask/index',
|
|
|
|
|
success: (res) => {
|
|
|
|
|
res.eventChannel.emit('FilterCondition', {
|
|
|
|
|
Search: FilterCondition.Search,
|
|
|
|
|
HasAdl: FilterCondition.HasAdl,
|
|
|
|
|
DoubleStandard: FilterCondition.DoubleStandard,
|
|
|
|
|
AdlTime: FilterCondition.AdlTime,
|
|
|
|
|
AdlScore: FilterCondition.AdlScore.filter((item) => Boolean(item)),
|
|
|
|
|
AdlScoreChange: FilterCondition.AdlScoreChange.filter((item) => Boolean(item)),
|
|
|
|
|
AdlScoreChangeType: FilterCondition.AdlScoreChangeType,
|
|
|
|
|
AdlScoreChangeMax: FilterCondition.AdlScoreChangeMax,
|
|
|
|
|
AdlScoreChangeMin: FilterCondition.AdlScoreChangeMin,
|
|
|
|
|
SteroidDailyDose: FilterCondition.SteroidDailyDose.filter((item) => Boolean(item)),
|
|
|
|
|
SteroidDailyDoseChange: FilterCondition.SteroidDailyDoseChange.filter((item) => Boolean(item)),
|
|
|
|
|
IsThisWeekAdl: FilterCondition.IsThisWeekAdl,
|
|
|
|
|
PharyngealSymptoms: FilterCondition.PharyngealSymptoms,
|
|
|
|
|
AntibodyType: FilterCondition.AntibodyType,
|
|
|
|
|
ThyroidAbnormal: FilterCondition.ThyroidAbnormal,
|
|
|
|
|
PreviousConvulsion: FilterCondition.PreviousConvulsion,
|
|
|
|
|
TraditionalImmunosuppressant: FilterCondition.TraditionalImmunosuppressant,
|
|
|
|
|
MedicalInsuranceType: FilterCondition.MedicalInsuranceType,
|
|
|
|
|
BindStartDate: FilterCondition.BindStartDate,
|
|
|
|
|
BindEndDate: FilterCondition.BindEndDate,
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleCancelSend(e) {
|
|
|
|
|
const { index } = e.currentTarget.dataset
|
|
|
|
|
const { list } = this.data
|
|
|
|
|
const { Id } = list[index]
|
|
|
|
|
wx.showModal({
|
|
|
|
|
title: '确认取消发送?',
|
|
|
|
|
confirmColor: 'rgba(22, 121, 203, 1)',
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: 'POST',
|
|
|
|
|
url: '?r=igg4/doctor/task/cancel',
|
|
|
|
|
data: {
|
|
|
|
|
TaskId: Id,
|
|
|
|
|
},
|
|
|
|
|
}).then(() => {
|
|
|
|
|
this.getList()
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleStopSend(e) {
|
|
|
|
|
const { index } = e.currentTarget.dataset
|
|
|
|
|
const { list } = this.data
|
|
|
|
|
const { Id } = list[index]
|
|
|
|
|
wx.showModal({
|
|
|
|
|
title: '确认停止发送?',
|
|
|
|
|
confirmColor: 'rgba(22, 121, 203, 1)',
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: 'POST',
|
|
|
|
|
url: '?r=igg4/doctor/task/stop',
|
|
|
|
|
data: {
|
|
|
|
|
TaskId: Id,
|
|
|
|
|
},
|
|
|
|
|
}).then(() => {
|
|
|
|
|
this.getList()
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleDelSend(e) {
|
|
|
|
|
const { index } = e.currentTarget.dataset
|
|
|
|
|
const { list } = this.data
|
|
|
|
|
const { Id } = list[index]
|
|
|
|
|
wx.showModal({
|
|
|
|
|
title: '确认删除?',
|
|
|
|
|
confirmColor: 'rgba(22, 121, 203, 1)',
|
|
|
|
|
success: (res) => {
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
wx.ajax({
|
|
|
|
|
method: 'POST',
|
|
|
|
|
url: '?r=igg4/doctor/task/delete',
|
|
|
|
|
data: {
|
|
|
|
|
TaskId: Id,
|
|
|
|
|
},
|
|
|
|
|
}).then(() => {
|
|
|
|
|
this.getList()
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleBack() {
|
|
|
|
|
wx.navigateBack()
|
|
|
|
|
},
|
|
|
|
|
})
|