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.
134 lines
3.2 KiB
134 lines
3.2 KiB
import dayjs from 'dayjs' |
|
|
|
const licia = require('miniprogram-licia') |
|
const app = getApp<IAppOption>() |
|
|
|
Page({ |
|
data: { |
|
calendarConfig: { |
|
multi: false, |
|
hideSelectYear: true, |
|
markToday: '今', // 当天日期展示不使用默认数字,用特殊文字标记 |
|
firstDayOfWeek: 'Mon', |
|
theme: 'geneb', |
|
takeoverTap: true, |
|
highlightToday: true, |
|
onlyShowCurrentMonth: true, |
|
disableMode: { |
|
type: 'after', // [‘before’, 'after'] |
|
}, |
|
}, |
|
|
|
endGif: false, |
|
gifPath: `${app.globalData.imageUrl}gif2.gif?t=${app.globalData.Timestamp}`, |
|
|
|
injectionDate: '', |
|
injectionDateName: '', |
|
}, |
|
onLoad() { |
|
this.loadGifImage() |
|
app.waitLogin({ type: 1 }).then(() => { |
|
app.mpBehavior({ PageName: 'PG_INJECTIONDAY_VISIT' }) |
|
this.getDetail() |
|
}) |
|
}, |
|
getDetail() { |
|
wx.ajax({ |
|
method: 'GET', |
|
url: '?r=wtx/treatment/get-injection-date', |
|
data: {}, |
|
}).then((res) => { |
|
if (res.injectionDate) { |
|
const [year, month, date] = dayjs(res.injectionDate).format('YYYY-MM-DD').split('-') |
|
const calendar = this.selectComponent('#calendar').calendar |
|
calendar.jump({ |
|
year: year, |
|
month: month, |
|
date: 1, |
|
}) |
|
calendar.setSelectedDates([ |
|
{ |
|
year, |
|
month, |
|
date, |
|
}, |
|
]) |
|
this.setData({ |
|
injectionDate: res.injectionDate, |
|
injectionDateName: dayjs(res.injectionDate).format('YYYY年MM月DD日 ddd'), |
|
}) |
|
} |
|
}) |
|
}, |
|
takeoverTap(e) { |
|
const { year, month, date } = e.detail |
|
const injectionDate = dayjs(`${year}-${month}-${date}`).format('YYYY-MM-DD') |
|
const injectionDateName = dayjs(`${year}-${month}-${date}`).format('YYYY年MM月DD日 ddd') |
|
const calendar = this.selectComponent('#calendar').calendar |
|
calendar.cancelSelectedDates() |
|
calendar.setSelectedDates([ |
|
{ |
|
year, |
|
month, |
|
date, |
|
}, |
|
]) |
|
this.setData({ |
|
injectionDate, |
|
injectionDateName, |
|
}) |
|
}, |
|
loadGifImage() { |
|
wx.preloadAssets({ |
|
data: [ |
|
{ |
|
type: 'image', |
|
src: `${app.globalData.imageUrl}gif2.gif?t=${app.globalData.Timestamp}`, |
|
}, |
|
], |
|
success: () => { |
|
wx.getImageInfo({ |
|
src: `${app.globalData.imageUrl}gif2.gif?t=${app.globalData.Timestamp}`, |
|
success: (res) => { |
|
this.setData({ |
|
gifPath: res.path, |
|
}) |
|
}, |
|
}) |
|
}, |
|
}) |
|
}, |
|
handleBack() { |
|
app.mpBehavior({ PageName: 'BTN_INJECTIONDAY_CANCELBUTTON_CLICK' }) |
|
wx.navigateBack() |
|
}, |
|
handleSubmit() { |
|
app.mpBehavior({ PageName: 'BTN_COMPLETEBUTTON_CLICK' }) |
|
const { injectionDate } = this.data |
|
|
|
if (!injectionDate) { |
|
wx.showToast({ |
|
title: '请选择注射日期', |
|
icon: 'none', |
|
}) |
|
return |
|
} |
|
|
|
wx.ajax({ |
|
method: 'POST', |
|
url: '?r=wtx/treatment/save-injection-date', |
|
data: { |
|
injectionDate, |
|
}, |
|
}).then(() => { |
|
this.setData({ |
|
endGif: true, |
|
}) |
|
setTimeout(() => { |
|
wx.navigateBack() |
|
}, 3000) |
|
}) |
|
}, |
|
}) |
|
|
|
export {}
|
|
|