import dayjs from 'dayjs' import { filterObjs } from '@/utils/doctorPatientTask' const app = getApp() 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=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() { 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: '#62bed0', 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: '#62bed0', 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: '#62bed0', success: (res) => { if (res.confirm) { wx.ajax({ method: 'POST', url: '?r=igg4/doctor/task/delete', data: { TaskId: Id, }, }).then(() => { this.getList() }) } }, }) }, handleBack() { wx.navigateBack() }, })