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.
222 lines
6.5 KiB
222 lines
6.5 KiB
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(() => { |
|
app.mpBehavior({ doctor: true, PageName: 'PG_MASSMESSAGETASKLIST' }) |
|
this.getList() |
|
}) |
|
}, |
|
getList(newPage = 1) { |
|
wx.ajax({ |
|
method: 'GET', |
|
url: '?r=zd/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() { |
|
app.mpBehavior({ doctor: true, PageName: 'BTN_MASSMESSAGETASKLISTADD' }) |
|
wx.navigateTo({ |
|
url: '/doctor/pages/d_createTask/index', |
|
}) |
|
}, |
|
handleDetail(e) { |
|
app.mpBehavior({ doctor: true, PageName: 'BTN_MASSMESSAGETASKLISTTASK' }) |
|
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=zd/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=zd/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=zd/doctor/task/delete', |
|
data: { |
|
TaskId: Id, |
|
}, |
|
}).then(() => { |
|
this.getList() |
|
}) |
|
} |
|
}, |
|
}) |
|
}, |
|
handleBack() { |
|
wx.navigateBack() |
|
}, |
|
})
|
|
|