You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

220 lines
6.3 KiB

3 months ago
import dayjs from 'dayjs'
import { filterObjs } from '@/utils/doctorPatientTask'
const app = getApp<IAppOption>()
Page({
data: {
3 weeks ago
list: [{}] as any[],
3 months ago
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(() => {
3 weeks ago
// this.getList()
3 months ago
})
},
getList(newPage = 1) {
wx.ajax({
method: 'GET',
2 months ago
url: '?r=igg4/doctor/task/list',
3 months ago
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: '确认取消发送?',
2 months ago
confirmColor: 'rgba(22, 121, 203, 1)',
3 months ago
success: (res) => {
if (res.confirm) {
wx.ajax({
method: 'POST',
2 months ago
url: '?r=igg4/doctor/task/cancel',
3 months ago
data: {
TaskId: Id,
},
}).then(() => {
this.getList()
})
}
},
})
},
handleStopSend(e) {
const { index } = e.currentTarget.dataset
const { list } = this.data
const { Id } = list[index]
wx.showModal({
title: '确认停止发送?',
2 months ago
confirmColor: 'rgba(22, 121, 203, 1)',
3 months ago
success: (res) => {
if (res.confirm) {
wx.ajax({
method: 'POST',
2 months ago
url: '?r=igg4/doctor/task/stop',
3 months ago
data: {
TaskId: Id,
},
}).then(() => {
this.getList()
})
}
},
})
},
handleDelSend(e) {
const { index } = e.currentTarget.dataset
const { list } = this.data
const { Id } = list[index]
wx.showModal({
title: '确认删除?',
2 months ago
confirmColor: 'rgba(22, 121, 203, 1)',
3 months ago
success: (res) => {
if (res.confirm) {
wx.ajax({
method: 'POST',
2 months ago
url: '?r=igg4/doctor/task/delete',
3 months ago
data: {
TaskId: Id,
},
}).then(() => {
this.getList()
})
}
},
})
},
handleBack() {
wx.navigateBack()
},
})