出诊计划
@ -95,6 +95,14 @@ export class BasicConstant {
|
|||||||
static readonly patientVideoType= BasicConstant.urlExpertApp +"patientVideoType";// 患者视频类型列表
|
static readonly patientVideoType= BasicConstant.urlExpertApp +"patientVideoType";// 患者视频类型列表
|
||||||
static readonly patientVideoByName= BasicConstant.urlExpertApp +"patientVideoByName";//患教视频科普分享
|
static readonly patientVideoByName= BasicConstant.urlExpertApp +"patientVideoByName";//患教视频科普分享
|
||||||
static readonly patientListByGBK= BasicConstant.urlExpertApp +"patientListByGBK";// 我的患者列表
|
static readonly patientListByGBK= BasicConstant.urlExpertApp +"patientListByGBK";// 我的患者列表
|
||||||
|
static readonly deleteStopOutPatient= BasicConstant.urlExpertApp +"deleteStopOutPatient";// 删除停诊
|
||||||
|
static readonly mailanNoticeGet= BasicConstant.urlExpertAPI+ "mailanNoticeGet";//获取患教公告
|
||||||
|
static readonly mailanNoticeUpate= BasicConstant.urlExpertAPI+"mailanNoticeUpate";//修改患教公告
|
||||||
|
static readonly mailanNoticeAdd= BasicConstant.urlExpertAPI+"mailanNoticeAdd";//添加患教公告
|
||||||
|
static readonly addOutPatientA= BasicConstant.urlExpertApp+"addOutPatientA";//添加门诊安排
|
||||||
|
static readonly addStopOutPatient= BasicConstant.urlExpertApp+"addStopOutPatient";//添加停诊安排
|
||||||
|
static readonly deleteOutPatient= BasicConstant.urlExpertApp+"deleteOutPatient";//删除门诊安排
|
||||||
|
static readonly listWorkPlace= BasicConstant.urlExpertApp+"listWorkPlace";//执业地点-列表
|
||||||
static readonly province=['全国','北京市','天津市','河北省','山西省'
|
static readonly province=['全国','北京市','天津市','河北省','山西省'
|
||||||
,'内蒙古自治区','辽宁省','吉林省','黑龙江省','上海市','江苏省','浙江省'
|
,'内蒙古自治区','辽宁省','吉林省','黑龙江省','上海市','江苏省','浙江省'
|
||||||
,'安徽省','福建省','江西省','山东省','河南省','湖北省','湖南省','广东省',
|
,'安徽省','福建省','江西省','山东省','河南省','湖北省','湖南省','广东省',
|
||||||
|
|||||||
@ -21,6 +21,29 @@ export class TimestampUtil {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static getTodayChinese()
|
||||||
|
{
|
||||||
|
// 获取今天日期字符串 yyyy-MM-dd
|
||||||
|
let today = new Date();
|
||||||
|
let yyyy = today.getFullYear();
|
||||||
|
let mm = (today.getMonth() + 1).toString().padStart(2, '0');
|
||||||
|
let dd = today.getDate().toString().padStart(2, '0');
|
||||||
|
let todayStr = `${yyyy}年${mm}月${dd}日`;
|
||||||
|
return todayStr
|
||||||
|
|
||||||
|
}
|
||||||
|
static getToday()
|
||||||
|
{
|
||||||
|
// 获取今天日期字符串 yyyy-MM-dd
|
||||||
|
let today = new Date();
|
||||||
|
let yyyy = today.getFullYear();
|
||||||
|
let mm = (today.getMonth() + 1).toString().padStart(2, '0');
|
||||||
|
let dd = today.getDate().toString().padStart(2, '0');
|
||||||
|
let todayStr = `${yyyy}-${mm}-${dd}`;
|
||||||
|
return todayStr
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
static isToday(dateStr: string): boolean {
|
static isToday(dateStr: string): boolean {
|
||||||
try {
|
try {
|
||||||
// 1. 解析目标日期字符串 → Date对象
|
// 1. 解析目标日期字符串 → Date对象
|
||||||
|
|||||||
BIN
commons/basic/src/main/resources/base/media/addoutpa_true.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
commons/basic/src/main/resources/base/media/check_true.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
commons/basic/src/main/resources/base/media/data_sign.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
commons/basic/src/main/resources/base/media/delete_icon.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
commons/basic/src/main/resources/base/media/delete_notice.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
commons/basic/src/main/resources/base/media/edit_icon.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
commons/basic/src/main/resources/base/media/send_feed.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
@ -28,7 +28,7 @@ export struct OneSection {
|
|||||||
new MyPageSectionClass('twoItem', $r('app.media.my_page_patientList'), '患者分组', 'pages/PatientsPage/PatientsGroupPage',false),
|
new MyPageSectionClass('twoItem', $r('app.media.my_page_patientList'), '患者分组', 'pages/PatientsPage/PatientsGroupPage',false),
|
||||||
new MyPageSectionClass('threeItem', $r('app.media.my_page_message'), '群发消息', '/pages/MyHomePage',false),
|
new MyPageSectionClass('threeItem', $r('app.media.my_page_message'), '群发消息', '/pages/MyHomePage',false),
|
||||||
new MyPageSectionClass('fourItem', $r('app.media.my_page_QrCode'), '随访二维码', 'pages/WebView/WebPage',false),
|
new MyPageSectionClass('fourItem', $r('app.media.my_page_QrCode'), '随访二维码', 'pages/WebView/WebPage',false),
|
||||||
new MyPageSectionClass('fiveItem', $r('app.media.my_page_visitPlan'), '出诊计划', '/pages/MyHomePage',false)
|
new MyPageSectionClass('fiveItem', $r('app.media.my_page_visitPlan'), '出诊计划', 'pages/Netease/OutpatientPage',false)
|
||||||
];
|
];
|
||||||
|
|
||||||
private getPagedItems(): Array<Array<MyPageSectionClass>> {
|
private getPagedItems(): Array<Array<MyPageSectionClass>> {
|
||||||
|
|||||||
@ -14,4 +14,6 @@ export { InterrogationDetailComp } from './src/main/ets/view/InterrogationDetail
|
|||||||
|
|
||||||
export { PatientSimplyComp } from './src/main/ets/view/PatientSimplyComp'
|
export { PatientSimplyComp } from './src/main/ets/view/PatientSimplyComp'
|
||||||
|
|
||||||
export { MyOpinionComp } from './src/main/ets/view/MyOpinionComp'
|
export { MyOpinionComp } from './src/main/ets/view/MyOpinionComp'
|
||||||
|
|
||||||
|
export { OutpatientComp } from './src/main/ets/view/OutpatientComp'
|
||||||
236
features/netease/src/main/ets/components/ItemCompArrange.ets
Normal file
@ -0,0 +1,236 @@
|
|||||||
|
import { HMRouterMgr } from '@hadss/hmrouter';
|
||||||
|
import { BasicConstant, TimestampUtil } from '@itcast/basic';
|
||||||
|
import { formatDate } from '@itcast/basic/src/main/ets/utils/DateUtils';
|
||||||
|
import { PerfactInputSheet } from '@itcast/basic/src/main/ets/Views/PerfactInputSheet';
|
||||||
|
import { LengthMetrics, router } from '@kit.ArkUI'
|
||||||
|
import { StringIsEmpty } from '@nimkit/common';
|
||||||
|
import { ListOut } from '../model/ListOutPatientModel';
|
||||||
|
|
||||||
|
|
||||||
|
@Preview
|
||||||
|
@Component
|
||||||
|
export struct ItemCompArrange {
|
||||||
|
@Prop item:ListOut;
|
||||||
|
@State week:string=''
|
||||||
|
@State outpatientType:string=''
|
||||||
|
@State daytime:string=''
|
||||||
|
@Link deleteUuid:string
|
||||||
|
@Link delete: boolean
|
||||||
|
deleteCallBack: (uuid:string) => void = () => {};
|
||||||
|
@State lineHeight:Length=10;
|
||||||
|
aboutToAppear(): void {
|
||||||
|
this.initDialog()
|
||||||
|
this.getWeek()
|
||||||
|
this. getoutpatientType()
|
||||||
|
this.getdayTime()
|
||||||
|
}
|
||||||
|
private dialog!:CustomDialogController;
|
||||||
|
@State inputPlaceholder:string='您确定删除此条信息吗'
|
||||||
|
initDialog() {
|
||||||
|
this.dialog = new CustomDialogController({
|
||||||
|
builder:PerfactInputSheet({
|
||||||
|
controller:this.dialog,
|
||||||
|
inputTitle:'删除提示',
|
||||||
|
inputPlaceholder:this.inputPlaceholder,
|
||||||
|
style:'2',
|
||||||
|
okText:'确定',
|
||||||
|
okColor:$r('app.color.top_title'),
|
||||||
|
inputCallBack:(input: string,title:string)=>{
|
||||||
|
|
||||||
|
this.deleteUuid=this.item.uuid
|
||||||
|
this.delete=!this.delete
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
keyboardAvoidDistance: LengthMetrics.vp(0), // 设置弹窗底部与键盘顶部间距(单位:vp)
|
||||||
|
alignment: DialogAlignment.Center,
|
||||||
|
customStyle: true,
|
||||||
|
autoCancel: false,
|
||||||
|
backgroundColor: ('rgba(0,0,0,0.5)'),
|
||||||
|
height: '100%'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
build() {
|
||||||
|
|
||||||
|
Column()
|
||||||
|
{
|
||||||
|
|
||||||
|
Row()
|
||||||
|
{
|
||||||
|
Column() {
|
||||||
|
|
||||||
|
Text(this.week)
|
||||||
|
.fontColor($r('app.color.top_title'))
|
||||||
|
.fontSize(15)
|
||||||
|
.width(100)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
|
||||||
|
Text(this.daytime)
|
||||||
|
.width(100)
|
||||||
|
.fontColor($r('app.color.common_gray_03')).padding({ top: 10 })
|
||||||
|
.fontSize(15)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
|
||||||
|
}
|
||||||
|
.width(100)
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
.borderRadius({
|
||||||
|
topLeft: 4,
|
||||||
|
topRight: 0,
|
||||||
|
bottomRight: 0,
|
||||||
|
bottomLeft: 4
|
||||||
|
})
|
||||||
|
.justifyContent(FlexAlign.Center) // 垂直居中
|
||||||
|
.alignItems(HorizontalAlign.Center) // 子组件水平居中
|
||||||
|
.height(this.lineHeight)
|
||||||
|
|
||||||
|
Column() {
|
||||||
|
Text(this.item.hospital_name)
|
||||||
|
.fontColor($r('app.color.common_gray_01'))
|
||||||
|
.fontSize(18)
|
||||||
|
.margin({top:10})
|
||||||
|
Text(this.item.office_name)
|
||||||
|
.fontColor($r('app.color.common_gray_03'))
|
||||||
|
.fontSize(14)
|
||||||
|
.margin({top:10})
|
||||||
|
Flex({ direction: FlexDirection.Row, wrap: FlexWrap.Wrap, space: { cross: LengthMetrics.vp(10) } })
|
||||||
|
{
|
||||||
|
Text(this.item.location) .fontColor($r('app.color.common_gray_03')).fontSize(14).maxLines(1).textOverflow({ overflow: TextOverflow.Ellipsis })
|
||||||
|
.ellipsisMode(EllipsisMode.END)
|
||||||
|
.padding({right:3})
|
||||||
|
Text(this.outpatientType)
|
||||||
|
.fontSize(12)
|
||||||
|
.borderColor($r('app.color.top_title'))
|
||||||
|
.fontColor($r('app.color.top_title'))
|
||||||
|
.borderRadius(8)
|
||||||
|
.borderWidth(1)
|
||||||
|
.padding({ left: 4,right:4,top:2,bottom:2 })
|
||||||
|
}
|
||||||
|
.margin({top:10})
|
||||||
|
}
|
||||||
|
.padding({left:10,right:10,bottom:10})
|
||||||
|
.alignItems(HorizontalAlign.Start)
|
||||||
|
.layoutWeight(1)
|
||||||
|
.borderRadius({
|
||||||
|
topLeft: 0,
|
||||||
|
topRight: 4,
|
||||||
|
bottomRight: 0,
|
||||||
|
bottomLeft: 4
|
||||||
|
})
|
||||||
|
.margin({left:2})
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
.onAreaChange((oldVal, newVal) => {
|
||||||
|
this.lineHeight = newVal.height
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
.width('95%')
|
||||||
|
// .padding(10)
|
||||||
|
.alignSelf(ItemAlign.Center)
|
||||||
|
// .backgroundColor(Color.White)
|
||||||
|
.borderRadius(4)
|
||||||
|
.margin({left:10,right:10})
|
||||||
|
|
||||||
|
Row()
|
||||||
|
{
|
||||||
|
Blank()
|
||||||
|
Row()
|
||||||
|
{
|
||||||
|
Image($r('app.media.edit_icon')).width(15).height(15).margin({right:5})
|
||||||
|
Text('编辑')
|
||||||
|
.fontColor($r('app.color.common_gray_01'))
|
||||||
|
.fontSize(14)
|
||||||
|
}
|
||||||
|
.margin({right:30})
|
||||||
|
|
||||||
|
Row()
|
||||||
|
{
|
||||||
|
Image($r('app.media.delete_icon')).width(15).height(15).margin({right:5})
|
||||||
|
Text('删除')
|
||||||
|
.fontColor($r('app.color.common_gray_01'))
|
||||||
|
.fontSize(14)
|
||||||
|
}
|
||||||
|
.onClick(()=>{
|
||||||
|
this.dialog.open()
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}.width('95%')
|
||||||
|
.padding(10)
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
.margin({top:2})
|
||||||
|
.borderRadius(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
getWeek() {
|
||||||
|
switch (this.item.week) {
|
||||||
|
case 1:
|
||||||
|
this.week = '周一'
|
||||||
|
break
|
||||||
|
case 2:
|
||||||
|
this.week = '周二'
|
||||||
|
break
|
||||||
|
case 3:
|
||||||
|
this.week = '周三'
|
||||||
|
break
|
||||||
|
case 4:
|
||||||
|
this.week = '周四'
|
||||||
|
break
|
||||||
|
case 5:
|
||||||
|
this.week = '周五'
|
||||||
|
break
|
||||||
|
case 6:
|
||||||
|
this.week = '周六'
|
||||||
|
break
|
||||||
|
case 7:
|
||||||
|
this.week = '周日'
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
getoutpatientType()
|
||||||
|
{
|
||||||
|
switch (this.item.type)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
this.outpatientType='普通门诊'
|
||||||
|
break
|
||||||
|
case 2:
|
||||||
|
this.outpatientType='专家门诊'
|
||||||
|
break
|
||||||
|
case 3:
|
||||||
|
this.outpatientType='特需门诊'
|
||||||
|
break
|
||||||
|
case 4:
|
||||||
|
this.outpatientType='专科/专病门诊'
|
||||||
|
break
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
getdayTime()
|
||||||
|
{
|
||||||
|
switch (this.item.day)
|
||||||
|
{
|
||||||
|
case "a":
|
||||||
|
this.daytime='上午'
|
||||||
|
break
|
||||||
|
case "b":
|
||||||
|
this.daytime='下午'
|
||||||
|
break
|
||||||
|
case "c":
|
||||||
|
this.daytime='晚上'
|
||||||
|
break
|
||||||
|
case "d":
|
||||||
|
this.daytime='全天'
|
||||||
|
break
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
175
features/netease/src/main/ets/components/ItemCompStop.ets
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
import { HMRouterMgr } from '@hadss/hmrouter';
|
||||||
|
import { BasicConstant, TimestampUtil } from '@itcast/basic';
|
||||||
|
import { formatDate } from '@itcast/basic/src/main/ets/utils/DateUtils';
|
||||||
|
import { PerfactInputSheet } from '@itcast/basic/src/main/ets/Views/PerfactInputSheet';
|
||||||
|
import { LengthMetrics, router } from '@kit.ArkUI'
|
||||||
|
import { StringIsEmpty } from '@nimkit/common';
|
||||||
|
import { StopOutPatientList } from '../model/StopOutPatientListModel';
|
||||||
|
|
||||||
|
|
||||||
|
@Preview
|
||||||
|
@Component
|
||||||
|
export struct ItemCompStop {
|
||||||
|
@Prop item:StopOutPatientList;
|
||||||
|
@State reason:string=''
|
||||||
|
@Link deleteUuid:string
|
||||||
|
@Link delete: boolean
|
||||||
|
deleteCallBack: (uuid:string) => void = () => {};
|
||||||
|
|
||||||
|
aboutToAppear(): void {
|
||||||
|
this.initDialog()
|
||||||
|
this.getReason()
|
||||||
|
}
|
||||||
|
private dialog!:CustomDialogController;
|
||||||
|
@State inputPlaceholder:string='您确定删除此条信息吗'
|
||||||
|
initDialog() {
|
||||||
|
this.dialog = new CustomDialogController({
|
||||||
|
builder:PerfactInputSheet({
|
||||||
|
controller:this.dialog,
|
||||||
|
inputTitle:'删除提示',
|
||||||
|
inputPlaceholder:this.inputPlaceholder,
|
||||||
|
style:'2',
|
||||||
|
okText:'确定',
|
||||||
|
okColor:$r('app.color.top_title'),
|
||||||
|
inputCallBack:(input: string,title:string)=>{
|
||||||
|
|
||||||
|
this.deleteUuid=this.item.uuid
|
||||||
|
this.delete=!this.delete
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
keyboardAvoidDistance: LengthMetrics.vp(0), // 设置弹窗底部与键盘顶部间距(单位:vp)
|
||||||
|
alignment: DialogAlignment.Center,
|
||||||
|
customStyle: true,
|
||||||
|
autoCancel: false,
|
||||||
|
backgroundColor: ('rgba(0,0,0,0.5)'),
|
||||||
|
height: '100%'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
build() {
|
||||||
|
|
||||||
|
Column()
|
||||||
|
{
|
||||||
|
Stack()
|
||||||
|
{
|
||||||
|
|
||||||
|
Row()
|
||||||
|
{
|
||||||
|
Column() {
|
||||||
|
Row() {
|
||||||
|
Text('停诊原因:')
|
||||||
|
.fontColor($r('app.color.common_gray_01'))
|
||||||
|
.fontSize(17)
|
||||||
|
Text(this.reason)
|
||||||
|
.fontColor($r('app.color.common_gray_03')).padding({ left: 3 })
|
||||||
|
.fontSize(17)
|
||||||
|
}
|
||||||
|
.margin({
|
||||||
|
top: 31
|
||||||
|
})
|
||||||
|
|
||||||
|
Row() {
|
||||||
|
Text('停诊时间:')
|
||||||
|
.fontColor($r('app.color.common_gray_01'))
|
||||||
|
.fontSize(17)
|
||||||
|
Text(this.item.date_list[0].param1 + " ~ " + this.item.date_list[0].param2)
|
||||||
|
.fontColor($r('app.color.common_gray_03')).padding({ left: 3 })
|
||||||
|
.fontSize(17)
|
||||||
|
}.margin({ top: 10 })
|
||||||
|
|
||||||
|
if (this.item.date_list.length > 1) {
|
||||||
|
Row() {
|
||||||
|
Text('停诊时间:')
|
||||||
|
.fontColor($r('app.color.common_gray_01'))
|
||||||
|
.fontSize(17)
|
||||||
|
.visibility(Visibility.Hidden)
|
||||||
|
Text(this.item.date_list[1].param1 + " ~ " + this.item.date_list[1].param2)
|
||||||
|
.fontColor($r('app.color.common_gray_03')).padding({ left: 3 })
|
||||||
|
.fontSize(17)
|
||||||
|
}.margin({ top: 10 })
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.item.date_list.length > 2) {
|
||||||
|
Row() {
|
||||||
|
Text('停诊时间:')
|
||||||
|
.fontColor($r('app.color.common_gray_01'))
|
||||||
|
.fontSize(17)
|
||||||
|
.visibility(Visibility.Hidden)
|
||||||
|
Text(this.item.date_list[2].param1 + " ~ " + this.item.date_list[2].param2)
|
||||||
|
.fontColor($r('app.color.common_gray_03')).padding({ left: 3 })
|
||||||
|
.fontSize(17)
|
||||||
|
}.margin({ top: 10 })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.alignItems(HorizontalAlign.Start)
|
||||||
|
.layoutWeight(1)
|
||||||
|
Image($r('app.media.delete_notice')).width(17).height(17)
|
||||||
|
.onClick(() => {
|
||||||
|
this.dialog.open()
|
||||||
|
})
|
||||||
|
.margin({left:10})
|
||||||
|
.alignSelf(ItemAlign.Center)
|
||||||
|
}
|
||||||
|
.width('95%')
|
||||||
|
.padding(10)
|
||||||
|
.alignSelf(ItemAlign.Start)
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
.borderRadius(4)
|
||||||
|
.margin({left:10,right:10})
|
||||||
|
|
||||||
|
Text(formatDate(new Date(this.item.expire_date*1000),'YYYY-MM-DD')).fontColor(Color.White).fontSize(16)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.padding({bottom:7,left:10})
|
||||||
|
.backgroundImage($r('app.media.data_sign'))
|
||||||
|
.backgroundImageSize(ImageSize.FILL)
|
||||||
|
.width(120).height(32)
|
||||||
|
.margin({top:5,left:4})
|
||||||
|
.position({x:0,y:0})
|
||||||
|
|
||||||
|
}
|
||||||
|
Row()
|
||||||
|
{
|
||||||
|
Text('备注:')
|
||||||
|
.fontColor($r('app.color.common_gray_01'))
|
||||||
|
.fontSize(14)
|
||||||
|
.width(50)
|
||||||
|
Text(this.item.note)
|
||||||
|
.fontColor($r('app.color.common_gray_01'))
|
||||||
|
.fontSize(14)
|
||||||
|
.layoutWeight(1)
|
||||||
|
}.width('95%')
|
||||||
|
.alignItems(VerticalAlign.Top)
|
||||||
|
.padding(10)
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
.margin({top:2})
|
||||||
|
.borderRadius(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
getReason()
|
||||||
|
{
|
||||||
|
switch (this.item.type)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
this.reason='出差'
|
||||||
|
break
|
||||||
|
case 2:
|
||||||
|
this.reason='休假'
|
||||||
|
break
|
||||||
|
case 3:
|
||||||
|
this.reason='临时安排'
|
||||||
|
break
|
||||||
|
case 4:
|
||||||
|
this.reason='其他'
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
41
features/netease/src/main/ets/model/ListOutPatientModel.ets
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
export interface ListOutPatientModel {
|
||||||
|
code:string;
|
||||||
|
data:ListOutPatientBean;
|
||||||
|
message:string;
|
||||||
|
note:NoteBean
|
||||||
|
|
||||||
|
}
|
||||||
|
export interface NoteBean{
|
||||||
|
|
||||||
|
uuid:string;
|
||||||
|
note:string;
|
||||||
|
}
|
||||||
|
export interface ListOutPatientBean{
|
||||||
|
|
||||||
|
totalPage:number;
|
||||||
|
list:ListOut[];
|
||||||
|
}
|
||||||
|
export interface ListWorkPlaceBean {
|
||||||
|
code:string;
|
||||||
|
list:ListOut[];
|
||||||
|
message:string;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ListOut{
|
||||||
|
|
||||||
|
office_name:string;
|
||||||
|
week:number;
|
||||||
|
workplace_uuid:string;
|
||||||
|
type:number;
|
||||||
|
location:string;
|
||||||
|
uuid:string;
|
||||||
|
day:string;
|
||||||
|
hospital_address:string;
|
||||||
|
hospital_name:string;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
14
features/netease/src/main/ets/model/PatientNoticeModel.ets
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
export interface PatientNoticeModel {
|
||||||
|
code:string;
|
||||||
|
data:NoticeModel;
|
||||||
|
message:string;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export interface NoticeModel{
|
||||||
|
|
||||||
|
uuid:string;
|
||||||
|
notice:string;
|
||||||
|
}
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
export interface StopOutPatientListModel {
|
||||||
|
code:string;
|
||||||
|
data:StopOutPatientList[];
|
||||||
|
message:string;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface StopOutPatientList{
|
||||||
|
|
||||||
|
uuid:string;
|
||||||
|
expire_date:number;
|
||||||
|
user_uuid:string;
|
||||||
|
status:number;
|
||||||
|
type:number;
|
||||||
|
note:string;
|
||||||
|
date_list:DateListBean[]
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DateListBean
|
||||||
|
{
|
||||||
|
param1:string;
|
||||||
|
param2:string;
|
||||||
|
}
|
||||||
|
|
||||||
488
features/netease/src/main/ets/view/AddOutpatient.ets
Normal file
@ -0,0 +1,488 @@
|
|||||||
|
import { hdHttp, HdResponse, BasicConstant, ExpertData, authStore, BaseBean, HdLoadingDialog,
|
||||||
|
TimestampUtil,
|
||||||
|
preferenceStore} from '@itcast/basic'
|
||||||
|
import { BusinessError } from '@kit.BasicServicesKit';
|
||||||
|
import promptAction from '@ohos.promptAction';
|
||||||
|
import { HdNav ,DatePickerDialog} from '@itcast/basic';
|
||||||
|
import { LengthMetrics, router } from '@kit.ArkUI';
|
||||||
|
import { HMRouter, HMRouterMgr } from '@hadss/hmrouter';
|
||||||
|
import { HashMap } from '@kit.ArkTS';
|
||||||
|
import { StringIsEmpty } from '@nimkit/common';
|
||||||
|
import { DateListBean } from '../model/StopOutPatientListModel';
|
||||||
|
import { data } from '@kit.TelephonyKit';
|
||||||
|
import { PerfactInputSheet } from '@itcast/basic/src/main/ets/Views/PerfactInputSheet';
|
||||||
|
import { ListOut, ListWorkPlaceBean } from '../model/ListOutPatientModel';
|
||||||
|
|
||||||
|
|
||||||
|
@HMRouter({ pageUrl: 'AddOutpatient' })
|
||||||
|
@Component
|
||||||
|
export struct AddOutpatient {
|
||||||
|
@State locaIndex: number = -1
|
||||||
|
@State uuid: string = ''
|
||||||
|
@State data: ListOut[] = [];
|
||||||
|
weekOptions: string[] = ['周一', '周二', '周三', '周四', '周五', '周六', '周日', '']
|
||||||
|
controller: TextAreaController = new TextAreaController();
|
||||||
|
@State timeIndex: number = -1
|
||||||
|
@State timePeriodOptions: string[] = ['上午', '下午', '晚上', '全天']
|
||||||
|
@State weekIndexList: number[] = [] // 新增多选星期索引
|
||||||
|
// 新增 weekOptions 多选(每行4个,自动换行)
|
||||||
|
weekChunks = this.chunkArray(this.weekOptions, 4);
|
||||||
|
|
||||||
|
chunkArray<T>(arr: T[], size: number): T[][] {
|
||||||
|
const result: T[][] = [];
|
||||||
|
for (let i = 0; i < arr.length; i += size) {
|
||||||
|
result.push(arr.slice(i, i + size));
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
dialog: CustomDialogController = new CustomDialogController({
|
||||||
|
builder: HdLoadingDialog({ message: '加载中...' }),
|
||||||
|
customStyle: true,
|
||||||
|
alignment: DialogAlignment.Center
|
||||||
|
})
|
||||||
|
|
||||||
|
getList() {
|
||||||
|
this.dialog.open()
|
||||||
|
const hashMap: HashMap<string, string> = new HashMap();
|
||||||
|
hdHttp.httpReq<string>(BasicConstant.listWorkPlace, hashMap).then(async (res: HdResponse<string>) => {
|
||||||
|
this.dialog.close();
|
||||||
|
let json: ListWorkPlaceBean = JSON.parse(res + '') as ListWorkPlaceBean;
|
||||||
|
if (json.code == '200') {
|
||||||
|
this.data = []
|
||||||
|
if (json.list != null) {
|
||||||
|
this.data = json.list;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
promptAction.showToast({ message: json.message, duration: 1000 })
|
||||||
|
}
|
||||||
|
}).catch((err: BusinessError) => {
|
||||||
|
this.dialog.close();
|
||||||
|
console.info(`Response fails: ${err}`);
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
addStopOutPatient() {
|
||||||
|
this.dialog.open()
|
||||||
|
// const hashMap: HashMap<string, Object> = new HashMap();
|
||||||
|
// hashMap.set('type',this.reasonIndex+1+'')
|
||||||
|
// hashMap.set('note',this.noteText)
|
||||||
|
// hashMap.set('date_list', this.reasonIndex === 2 ? this.date_list_temp : this.date_list_normal)
|
||||||
|
// hdHttp.httpReqObject<string>(BasicConstant.addStopOutPatient,hashMap).then(async (res: HdResponse<string>) => {
|
||||||
|
// this.dialog.close()
|
||||||
|
// let json:BaseBean = JSON.parse(res+'') as BaseBean;
|
||||||
|
// if(json.code == '200') {
|
||||||
|
// HMRouterMgr.pop()
|
||||||
|
// } else {
|
||||||
|
// promptAction.showToast({ message: json.message })
|
||||||
|
// }
|
||||||
|
// }).catch((err: BusinessError) => {
|
||||||
|
//
|
||||||
|
// console.info(`Response fails: ${err}`);
|
||||||
|
// })
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private dialogPublish!: CustomDialogController;
|
||||||
|
|
||||||
|
initDialog() {
|
||||||
|
this.dialogPublish = new CustomDialogController({
|
||||||
|
builder: PerfactInputSheets({
|
||||||
|
controller: this.dialogPublish,
|
||||||
|
// reasonOptions:this.reasonOptions[this.reasonIndex],
|
||||||
|
// noteText:this.noteText,
|
||||||
|
// date_list:this.reasonIndex === 2 ? this.date_list_temp : this.date_list_normal,
|
||||||
|
inputCallBack: () => {
|
||||||
|
this.addStopOutPatient()
|
||||||
|
|
||||||
|
// HMRouterMgr.pop()
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
keyboardAvoidDistance: LengthMetrics.vp(0), // 设置弹窗底部与键盘顶部间距(单位:vp)
|
||||||
|
alignment: DialogAlignment.Center,
|
||||||
|
customStyle: true,
|
||||||
|
autoCancel: false,
|
||||||
|
backgroundColor: ('rgba(0,0,0,0.5)'),
|
||||||
|
height: '100%'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
aboutToAppear(): void {
|
||||||
|
|
||||||
|
this.initDialog()
|
||||||
|
this.getList()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
Column() {
|
||||||
|
HdNav({
|
||||||
|
title: '增加门诊安排',
|
||||||
|
showRightIcon: false,
|
||||||
|
hasBorder: true,
|
||||||
|
isLeftAction: true,
|
||||||
|
leftItemAction: () => {
|
||||||
|
|
||||||
|
HMRouterMgr.pop()
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
Column() {
|
||||||
|
Text('门诊时间 *')
|
||||||
|
.fontSize(17)
|
||||||
|
.fontColor($r('app.color.top_title'))
|
||||||
|
.padding(10)
|
||||||
|
.width('100%')
|
||||||
|
.textAlign(TextAlign.Start)
|
||||||
|
|
||||||
|
ForEach(this.weekChunks, (row: string[], rowIndex: number) => {
|
||||||
|
Row() {
|
||||||
|
ForEach(row, (item: string, index: number) => {
|
||||||
|
|
||||||
|
Row() {
|
||||||
|
if (item !== "") {
|
||||||
|
Text(item)
|
||||||
|
.fontSize(16)
|
||||||
|
.fontColor(this.weekIndexList.indexOf(rowIndex * 4 + index) !== -1 ? $r('app.color.top_title') :
|
||||||
|
$r('app.color.999999'))
|
||||||
|
.height(42)
|
||||||
|
.layoutWeight(1)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.backgroundImageSize(ImageSize.Contain)
|
||||||
|
.backgroundImagePosition(Alignment.Center)
|
||||||
|
.backgroundImage(this.weekIndexList.indexOf(rowIndex * 4 + index) !== -1 ?
|
||||||
|
$r('app.media.check_true') : undefined)
|
||||||
|
.borderColor(this.weekIndexList.indexOf(rowIndex * 4 + index) !== -1 ? Color.Transparent :
|
||||||
|
$r('app.color.999999'))
|
||||||
|
.borderWidth(1)
|
||||||
|
.borderRadius(4)
|
||||||
|
.margin({ right: 10, top: 10 })
|
||||||
|
.onClick(() => {
|
||||||
|
if (this.weekIndexList.indexOf(rowIndex * 4 + index) !== -1) {
|
||||||
|
this.weekIndexList = this.weekIndexList.filter(i => i !== rowIndex * 4 + index)
|
||||||
|
} else {
|
||||||
|
this.weekIndexList = [...this.weekIndexList, rowIndex * 4 + index]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
Text('').height(42).layoutWeight(1) // 空占位
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}.layoutWeight(1)
|
||||||
|
})
|
||||||
|
}.padding({ left: 10 }).width('100%').margin({ left: 10, right: 10 })
|
||||||
|
})
|
||||||
|
|
||||||
|
Text()
|
||||||
|
.height(1)
|
||||||
|
.width('95%')
|
||||||
|
.padding({ left: 10, right: 10 })
|
||||||
|
.backgroundColor($r('app.color.999999'))
|
||||||
|
.margin({ top: 10 })
|
||||||
|
|
||||||
|
Row() {
|
||||||
|
ForEach(this.timePeriodOptions, (item: string, index: number) => {
|
||||||
|
Row() {
|
||||||
|
Text(item)
|
||||||
|
.fontSize(16)
|
||||||
|
.fontColor(this.timeIndex === index ? $r('app.color.top_title') : $r('app.color.999999'))
|
||||||
|
.height(42)
|
||||||
|
.layoutWeight(1)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.backgroundImageSize(ImageSize.Contain)
|
||||||
|
.backgroundImagePosition(Alignment.Center)
|
||||||
|
.backgroundImage(this.timeIndex === index ? $r('app.media.check_true') : undefined)
|
||||||
|
.borderColor(this.timeIndex === index ? Color.Transparent : $r('app.color.999999'))
|
||||||
|
.borderWidth(1)
|
||||||
|
.borderRadius(4)
|
||||||
|
.margin({ right: 10, top: 10 })
|
||||||
|
.onClick(() => {
|
||||||
|
this.timeIndex = index
|
||||||
|
})
|
||||||
|
}.layoutWeight(1)
|
||||||
|
})
|
||||||
|
}.padding({ left: 10 }).width('100%')
|
||||||
|
.margin({ left: 10, right: 10 })
|
||||||
|
|
||||||
|
Text('门诊地点 *')
|
||||||
|
.fontSize(17)
|
||||||
|
.fontColor($r('app.color.top_title'))
|
||||||
|
.padding(10)
|
||||||
|
.width('100%')
|
||||||
|
.textAlign(TextAlign.Start)
|
||||||
|
List() {
|
||||||
|
ForEach(this.data, (item: ListOut, index) => {
|
||||||
|
ListItem() {
|
||||||
|
Stack()
|
||||||
|
{
|
||||||
|
Column() {
|
||||||
|
Text(item.hospital_name)
|
||||||
|
.fontColor($r('app.color.common_gray_01'))
|
||||||
|
.fontSize(18)
|
||||||
|
.margin({ top: 10 })
|
||||||
|
Text(item.office_name)
|
||||||
|
.fontColor($r('app.color.common_gray_03'))
|
||||||
|
.fontSize(14)
|
||||||
|
.margin({ top: 10 })
|
||||||
|
Flex({ direction: FlexDirection.Row, wrap: FlexWrap.Wrap, space: { cross: LengthMetrics.vp(10) } }) {
|
||||||
|
Text(item.location)
|
||||||
|
.fontColor($r('app.color.common_gray_03'))
|
||||||
|
.fontSize(14)
|
||||||
|
.maxLines(1)
|
||||||
|
.textOverflow({ overflow: TextOverflow.Ellipsis })
|
||||||
|
.ellipsisMode(EllipsisMode.END)
|
||||||
|
.padding({ right: 3 })
|
||||||
|
Text(this.getoutpatientType(item.type))
|
||||||
|
.fontSize(12)
|
||||||
|
.borderColor($r('app.color.top_title'))
|
||||||
|
.fontColor($r('app.color.top_title'))
|
||||||
|
.borderRadius(8)
|
||||||
|
.borderWidth(1)
|
||||||
|
.padding({
|
||||||
|
left: 4,
|
||||||
|
right: 4,
|
||||||
|
top: 2,
|
||||||
|
bottom: 2
|
||||||
|
})
|
||||||
|
}
|
||||||
|
.margin({ top: 10 })
|
||||||
|
}
|
||||||
|
.onClick(()=>{
|
||||||
|
this.locaIndex=index
|
||||||
|
})
|
||||||
|
.id('locationlist'+index)
|
||||||
|
.padding({ left: 10, right: 10, bottom: 10 })
|
||||||
|
.alignItems(HorizontalAlign.Start)
|
||||||
|
.borderWidth(1)
|
||||||
|
.borderRadius(4)
|
||||||
|
.borderColor(this.locaIndex==index ?$r('app.color.top_title'):
|
||||||
|
$r('app.color.999999'))
|
||||||
|
Image($r('app.media.addoutpa_true'))
|
||||||
|
.width(38)
|
||||||
|
.height(38)
|
||||||
|
.position({ x: 0, y: '5%' }) // 右下角
|
||||||
|
// .offset({ x: -10, y: -10 }) // 距离右下角10px
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
.layoutWeight(1)
|
||||||
|
.width('95%')
|
||||||
|
.divider({
|
||||||
|
strokeWidth: 5,
|
||||||
|
color:Color.White
|
||||||
|
})
|
||||||
|
.edgeEffect(EdgeEffect.None)
|
||||||
|
.layoutWeight(1)
|
||||||
|
.clip(true)
|
||||||
|
|
||||||
|
} .backgroundColor(Color.White)
|
||||||
|
.width('100%')
|
||||||
|
|
||||||
|
Blank()
|
||||||
|
Column() {
|
||||||
|
Text('确定发布')
|
||||||
|
.height(42)
|
||||||
|
.width(168)
|
||||||
|
.fontSize(17)
|
||||||
|
.backgroundColor($r('app.color.top_title'))
|
||||||
|
.fontColor($r('app.color.white'))
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.borderRadius(4)
|
||||||
|
.margin({ top: 8 })
|
||||||
|
}
|
||||||
|
.width('100%')
|
||||||
|
.height(57)
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
.onClick(() => {
|
||||||
|
|
||||||
|
this.dialogPublish.open()
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
.width('100%')
|
||||||
|
.height('100%')
|
||||||
|
.backgroundColor($r('app.color.home_gray'))
|
||||||
|
}
|
||||||
|
getoutpatientType(type:number)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
return '普通门诊'
|
||||||
|
break
|
||||||
|
case 2:
|
||||||
|
return '专家门诊'
|
||||||
|
break
|
||||||
|
case 3:
|
||||||
|
return '特需门诊'
|
||||||
|
break
|
||||||
|
case 4:
|
||||||
|
return '专科/专病门诊'
|
||||||
|
break
|
||||||
|
|
||||||
|
}
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@CustomDialog
|
||||||
|
export struct PerfactInputSheets {
|
||||||
|
controller:CustomDialogController;
|
||||||
|
|
||||||
|
@Prop inputTitle:string = '公告内容';
|
||||||
|
@Prop inputPlaceholder:string = ''
|
||||||
|
|
||||||
|
// 添加回调函数属性
|
||||||
|
@State okColor:ResourceStr=$r('app.color.top_title')
|
||||||
|
@State cancelColor:ResourceStr='#333333'
|
||||||
|
@State okText:ResourceStr='确定发布'
|
||||||
|
@State cancelText:ResourceStr='返回修改'
|
||||||
|
@State reasonOptions:string=''
|
||||||
|
@State noteText:string=''
|
||||||
|
|
||||||
|
@State date_list: DateListBean[] = []
|
||||||
|
private inputCallBack: () => void = () => {};
|
||||||
|
@State needcancelCallBack:boolean=false
|
||||||
|
// 修改构造函数
|
||||||
|
constructor(controller: CustomDialogController, inputCallBack: () => void) {
|
||||||
|
super();
|
||||||
|
this.controller = controller;
|
||||||
|
this.inputCallBack = inputCallBack;
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
|
||||||
|
Row(){
|
||||||
|
Column() {
|
||||||
|
Text(this.inputTitle)
|
||||||
|
.fontSize(18)
|
||||||
|
.padding(20)
|
||||||
|
.width('100%')
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.fontColor('#444444')
|
||||||
|
|
||||||
|
|
||||||
|
Text('停诊原因:' + this.reasonOptions)
|
||||||
|
.fontSize(14)
|
||||||
|
.fontColor('#444444')
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
.padding({ left: 10, right: 10 })
|
||||||
|
.width('79%')
|
||||||
|
|
||||||
|
Row() {
|
||||||
|
Text('停诊时间:')
|
||||||
|
.fontColor('#444444')
|
||||||
|
.fontSize(14)
|
||||||
|
Text(this.date_list[0].param1 + ' 至 ' + this.date_list[0].param2)
|
||||||
|
.fontColor($r('app.color.common_gray_03')).padding({ left: 3 })
|
||||||
|
.fontSize(14)
|
||||||
|
}.margin({ top: 10 }).padding({ left: 10, right: 10 })
|
||||||
|
.width('79%')
|
||||||
|
if (this.date_list.length > 1) {
|
||||||
|
Row() {
|
||||||
|
Text('停诊时间:')
|
||||||
|
.fontColor('#444444')
|
||||||
|
.fontSize(14)
|
||||||
|
.visibility(Visibility.Hidden)
|
||||||
|
Text(this.date_list[1].param1 + " 至 " + this.date_list[1].param2)
|
||||||
|
.fontColor('#444444').padding({ left: 3 })
|
||||||
|
.fontSize(14)
|
||||||
|
}.margin({ top: 10 }).padding({ left: 10, right: 10 })
|
||||||
|
.width('79%')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.date_list.length > 2) {
|
||||||
|
Row() {
|
||||||
|
Text('停诊时间:')
|
||||||
|
.fontColor('#444444')
|
||||||
|
.fontSize(14)
|
||||||
|
.visibility(Visibility.Hidden)
|
||||||
|
Text(this.date_list[2].param1 + " 至 " + this.date_list[2].param2)
|
||||||
|
.fontColor('#444444').padding({ left: 3 })
|
||||||
|
.fontSize(14)
|
||||||
|
}
|
||||||
|
.width('79%')
|
||||||
|
.margin({ top: 10 }).padding({ left: 10, right: 10 })
|
||||||
|
}
|
||||||
|
|
||||||
|
Row() {
|
||||||
|
Text()
|
||||||
|
{
|
||||||
|
Span('备').fontColor('#444444')
|
||||||
|
Span('备注').fontColor(Color.Transparent)
|
||||||
|
Span('注:').fontColor('#444444')
|
||||||
|
}
|
||||||
|
.fontColor('#444444')
|
||||||
|
.fontSize(14)
|
||||||
|
|
||||||
|
Text(this.noteText)
|
||||||
|
.fontColor('#444444').padding({ left: 3 })
|
||||||
|
.fontSize(14)
|
||||||
|
.textAlign(TextAlign.Start)
|
||||||
|
.layoutWeight(1)
|
||||||
|
}.margin({ top: 10 }).padding({ left: 10, right: 10 })
|
||||||
|
.alignItems(VerticalAlign.Top)
|
||||||
|
.width('79%')
|
||||||
|
.visibility(this.noteText?Visibility.Visible:Visibility.None)
|
||||||
|
|
||||||
|
Text().width(20).height(20)
|
||||||
|
Row() {
|
||||||
|
Text('停诊时间:')
|
||||||
|
.fontColor('#444444')
|
||||||
|
.fontSize(14)
|
||||||
|
.visibility(Visibility.Hidden)
|
||||||
|
Text(TimestampUtil.getTodayChinese()+'由医生本人发布')
|
||||||
|
.fontColor($r('app.color.common_gray_03')).padding({ left: 3 })
|
||||||
|
.fontSize(14)
|
||||||
|
}
|
||||||
|
.margin({ top: 10 }).padding({ left: 10, right: 10 })
|
||||||
|
Text('').height(1).width('100%')
|
||||||
|
.backgroundColor($r('app.color.home_gray')).margin({ top: 10 })
|
||||||
|
Row() {
|
||||||
|
Text(this.cancelText)
|
||||||
|
.fontSize(15)
|
||||||
|
.fontColor(this.cancelColor)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
|
||||||
|
.height(30)
|
||||||
|
.layoutWeight(1)
|
||||||
|
.onClick(() => {
|
||||||
|
|
||||||
|
this.controller.close()
|
||||||
|
})
|
||||||
|
Text('').height(30).width(1)
|
||||||
|
.backgroundColor($r('app.color.home_gray'))
|
||||||
|
Text(this.okText)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.fontColor(this.okColor)
|
||||||
|
.fontSize(15)
|
||||||
|
.onClick(() => {
|
||||||
|
|
||||||
|
this.controller.close()
|
||||||
|
this.inputCallBack();
|
||||||
|
})
|
||||||
|
|
||||||
|
.height(30)
|
||||||
|
.layoutWeight(1)
|
||||||
|
|
||||||
|
|
||||||
|
}.margin({ top: 10, bottom: 10 }).width('100%')
|
||||||
|
}
|
||||||
|
|
||||||
|
.width('80%').backgroundColor(Color.White)
|
||||||
|
}.borderRadius(24)
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
181
features/netease/src/main/ets/view/ArrangementsComp.ets
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
import {
|
||||||
|
BaseBean,
|
||||||
|
BasicConstant, EmptyViewComp, hdHttp, HdLoadingDialog, HdNav, HdResponse, HdSearchNav } from '@itcast/basic'
|
||||||
|
import { HMRouter, HMRouterMgr, HMRouterPathCallback, HMRouterPathInfo } from '@hadss/hmrouter'
|
||||||
|
import { PullToRefreshLayout, RefreshController } from 'refreshlib'
|
||||||
|
import { HashMap } from '@kit.ArkTS';
|
||||||
|
import { BusinessError } from '@kit.BasicServicesKit';
|
||||||
|
import { promptAction } from '@kit.ArkUI';
|
||||||
|
import { StringIsEmpty } from '@nimkit/common';
|
||||||
|
import { ListOut, ListOutPatientModel } from '../model/ListOutPatientModel';
|
||||||
|
import { ItemCompArrange } from '../components/ItemCompArrange';
|
||||||
|
|
||||||
|
@HMRouter({ pageUrl: 'ArrangementsComp' })
|
||||||
|
@Component
|
||||||
|
export struct ArrangementsComp {
|
||||||
|
dialog: CustomDialogController = new CustomDialogController({
|
||||||
|
builder: HdLoadingDialog({ message: '加载中...' }),
|
||||||
|
customStyle: true,
|
||||||
|
alignment: DialogAlignment.Center
|
||||||
|
})
|
||||||
|
@State pageNumber:number = 1;
|
||||||
|
@State totalPageNumer:number = 1;
|
||||||
|
@State data:ListOut[]=[];
|
||||||
|
@State isEmptyViewVisible: boolean = false; // 控制显隐的状态变量
|
||||||
|
@State
|
||||||
|
@Watch('deleteOutPatient')
|
||||||
|
delete: boolean=false
|
||||||
|
@State deleteUuid:string=''
|
||||||
|
aboutToAppear() {
|
||||||
|
this.getList();
|
||||||
|
}
|
||||||
|
getList() {
|
||||||
|
const hashMap: HashMap<string, string> = new HashMap();
|
||||||
|
hashMap.set('page',this.pageNumber.toString());
|
||||||
|
this.dialog.open()
|
||||||
|
hdHttp.httpReq<string>(BasicConstant.listOutPatient,hashMap).then(async (res: HdResponse<string>) => {
|
||||||
|
this.dialog.close();
|
||||||
|
let json:ListOutPatientModel = JSON.parse(res+'') as ListOutPatientModel;
|
||||||
|
if(json.code == '200') {
|
||||||
|
if(this.pageNumber==1)
|
||||||
|
{
|
||||||
|
this.data=[]
|
||||||
|
if(json.data!=null)
|
||||||
|
{
|
||||||
|
this.data = json.data.list;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else if(this.pageNumber>1)
|
||||||
|
{
|
||||||
|
this.data.push(...json.data.list)
|
||||||
|
}
|
||||||
|
|
||||||
|
this.totalPageNumer =json.data.totalPage;
|
||||||
|
if (this.data.length > 0) {
|
||||||
|
this.isEmptyViewVisible = false;
|
||||||
|
} else {
|
||||||
|
this.isEmptyViewVisible = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
|
||||||
|
promptAction.showToast({ message: json.message, duration: 1000 })
|
||||||
|
}
|
||||||
|
}).catch((err: BusinessError) => {
|
||||||
|
this.dialog.close();
|
||||||
|
this.controller.refreshError();
|
||||||
|
console.info(`Response fails: ${err}`);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
public controller:RefreshController = new RefreshController();
|
||||||
|
scroller = new Scroller();
|
||||||
|
@State Sorts:string='最新'
|
||||||
|
@State Imgs:ResourceStr=$r('app.media.cb_new')
|
||||||
|
@State inputText:string=''
|
||||||
|
@State
|
||||||
|
@Watch('onRefresh')
|
||||||
|
sort:string='1'
|
||||||
|
|
||||||
|
onRefresh()
|
||||||
|
{
|
||||||
|
this.pageNumber = 1;
|
||||||
|
this.getList();
|
||||||
|
}
|
||||||
|
build() {
|
||||||
|
Column(){
|
||||||
|
|
||||||
|
Text().height(20).width('100%').backgroundColor($r('app.color.home_gray'))
|
||||||
|
if (this.isEmptyViewVisible){
|
||||||
|
EmptyViewComp({promptText:'暂无门诊安排',isVisibility:this.isEmptyViewVisible}).layoutWeight(1)
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PullToRefreshLayout({
|
||||||
|
scroller:this.scroller,
|
||||||
|
viewKey:"ListPage",
|
||||||
|
controller:this.controller,
|
||||||
|
contentView:()=>{
|
||||||
|
this.contentView()
|
||||||
|
},
|
||||||
|
|
||||||
|
onRefresh:()=>{
|
||||||
|
this.pageNumber = 1;
|
||||||
|
this.getList();
|
||||||
|
setTimeout(() => {
|
||||||
|
this.controller.refreshSuccess()
|
||||||
|
}, 1000)
|
||||||
|
},
|
||||||
|
onCanPullRefresh:()=>{
|
||||||
|
if (!this.scroller.currentOffset()) {
|
||||||
|
/*处理无数据,为空的情况*/
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
//如果列表到顶,返回true,表示可以下拉,返回false,表示无法下拉
|
||||||
|
return this.scroller.currentOffset().yOffset <= 0
|
||||||
|
},
|
||||||
|
onLoad:()=>{
|
||||||
|
this.pageNumber++;
|
||||||
|
this.getList();
|
||||||
|
setTimeout(() => {
|
||||||
|
this.controller.loadSuccess()
|
||||||
|
}, 1000)
|
||||||
|
|
||||||
|
},
|
||||||
|
onCanPullLoad: () => {
|
||||||
|
if (this.pageNumber >= this.totalPageNumer) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).width('100%').layoutWeight(1).clip(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.width('100%')
|
||||||
|
.height('100%')
|
||||||
|
.backgroundColor($r('app.color.home_gray'))
|
||||||
|
}
|
||||||
|
|
||||||
|
@Builder
|
||||||
|
contentView(){
|
||||||
|
List({ scroller: this.scroller }) {
|
||||||
|
ForEach(this.data, (item: ListOut, index) => {
|
||||||
|
ListItem() {
|
||||||
|
ItemCompArrange({item:item,deleteUuid:this.deleteUuid,delete:this.delete})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
.divider({
|
||||||
|
strokeWidth: 5,
|
||||||
|
})
|
||||||
|
.width('100%')
|
||||||
|
.height('100%')
|
||||||
|
.edgeEffect(EdgeEffect.None)
|
||||||
|
|
||||||
|
}
|
||||||
|
deleteOutPatient() {
|
||||||
|
this.dialog.open()
|
||||||
|
|
||||||
|
const hashMap: HashMap<string, string> = new HashMap();
|
||||||
|
hashMap.set('uuid',this.deleteUuid)
|
||||||
|
hdHttp.httpReq<string>(BasicConstant.deleteOutPatient,hashMap).then(async (res: HdResponse<string>) => {
|
||||||
|
this.dialog.close();
|
||||||
|
let json:BaseBean = JSON.parse(res+'') as BaseBean;
|
||||||
|
if(json.code == '200') {
|
||||||
|
this.getList();
|
||||||
|
} else {
|
||||||
|
|
||||||
|
promptAction.showToast({ message: json.message, duration: 1000 })
|
||||||
|
}
|
||||||
|
}).catch((err: BusinessError) => {
|
||||||
|
this.dialog.close();
|
||||||
|
console.info(`Response fails: ${err}`);
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ export struct MyOpinionComp {
|
|||||||
{
|
{
|
||||||
this.photos.splice(this.removeIndex, 1)
|
this.photos.splice(this.removeIndex, 1)
|
||||||
this.maxSelectNumber =6- this.photos.length;
|
this.maxSelectNumber =6- this.photos.length;
|
||||||
let a= this.maxSelectNumber
|
|
||||||
}
|
}
|
||||||
private custom!:CustomDialogController;
|
private custom!:CustomDialogController;
|
||||||
dialog: CustomDialogController = new CustomDialogController({
|
dialog: CustomDialogController = new CustomDialogController({
|
||||||
|
|||||||
29
features/netease/src/main/ets/view/OutpatientComp.ets
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
import { HMRouter } from '@hadss/hmrouter';
|
||||||
|
import { BasicConstant,HdNav } from '@itcast/basic'
|
||||||
|
import { TabBarOutComp } from './TabBarOutComp';
|
||||||
|
|
||||||
|
|
||||||
|
@Component
|
||||||
|
export struct OutpatientComp {
|
||||||
|
@State
|
||||||
|
@Watch('onChangeIndex')
|
||||||
|
activeIndex: number = 0
|
||||||
|
|
||||||
|
|
||||||
|
onChangeIndex() {
|
||||||
|
}
|
||||||
|
build() {
|
||||||
|
|
||||||
|
Column() {
|
||||||
|
|
||||||
|
TabBarOutComp({activeIndex:this.activeIndex});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}.width('100%')
|
||||||
|
.height('100%')
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
153
features/netease/src/main/ets/view/OutpatientInformation.ets
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
import { hdHttp, HdResponse, BasicConstant, ExpertData, authStore, BaseBean, HdLoadingDialog } from '@itcast/basic'
|
||||||
|
import { BusinessError } from '@kit.BasicServicesKit';
|
||||||
|
import promptAction from '@ohos.promptAction';
|
||||||
|
import { HdNav } from '@itcast/basic';
|
||||||
|
import { router } from '@kit.ArkUI';
|
||||||
|
import { HMRouter, HMRouterMgr } from '@hadss/hmrouter';
|
||||||
|
import { HashMap } from '@kit.ArkTS';
|
||||||
|
import { StringIsEmpty } from '@nimkit/common';
|
||||||
|
|
||||||
|
|
||||||
|
@HMRouter({ pageUrl: 'OutpatientInformation' })
|
||||||
|
@Component
|
||||||
|
export struct OutpatientInformation {
|
||||||
|
@State feedbackText: string = ''
|
||||||
|
@State noteText: string = ''
|
||||||
|
@State uuid: string = ''
|
||||||
|
controller:TextAreaController = new TextAreaController();
|
||||||
|
@State params:Record<string, string>= HMRouterMgr.getCurrentParam() as Record<string, string>;
|
||||||
|
|
||||||
|
dialog: CustomDialogController = new CustomDialogController({
|
||||||
|
builder: HdLoadingDialog({ message: '加载中...' }),
|
||||||
|
customStyle: true,
|
||||||
|
alignment: DialogAlignment.Center
|
||||||
|
})
|
||||||
|
addOutPatientA() {
|
||||||
|
const hashMap: HashMap<string, string> = new HashMap();
|
||||||
|
hashMap.set('workplace_uuid','')
|
||||||
|
hashMap.set('week','')
|
||||||
|
hashMap.set('day','')
|
||||||
|
hashMap.set('type','2')
|
||||||
|
hashMap.set('uuid',this.uuid)
|
||||||
|
hashMap.set('note',this.feedbackText)
|
||||||
|
hdHttp.httpReq<string>(BasicConstant.addOutPatientA,hashMap).then(async (res: HdResponse<string>) => {
|
||||||
|
|
||||||
|
}).catch((err: BusinessError) => {
|
||||||
|
|
||||||
|
console.info(`Response fails: ${err}`);
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
mailanNoticeAdd() {
|
||||||
|
this.dialog.open()
|
||||||
|
const hashMap: HashMap<string, string> = new HashMap();
|
||||||
|
hashMap.set('notice',this.feedbackText)
|
||||||
|
hdHttp.httpReq<string>(BasicConstant.mailanNoticeAdd,hashMap).then(async (res: HdResponse<string>) => {
|
||||||
|
this.dialog.close()
|
||||||
|
let json:BaseBean = JSON.parse(res+'') as BaseBean;
|
||||||
|
if(json.code == '200') {
|
||||||
|
HMRouterMgr.pop()
|
||||||
|
} else {
|
||||||
|
promptAction.showToast({ message: json.message })
|
||||||
|
}
|
||||||
|
}).catch((err: BusinessError) => {
|
||||||
|
|
||||||
|
console.info(`Response fails: ${err}`);
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
mailanNoticeUpate() {
|
||||||
|
this.dialog.open()
|
||||||
|
const hashMap: HashMap<string, string> = new HashMap();
|
||||||
|
hashMap.set('uuid',this.uuid)
|
||||||
|
hashMap.set('notice',this.feedbackText)
|
||||||
|
hdHttp.httpReq<string>(BasicConstant.mailanNoticeUpate,hashMap).then(async (res: HdResponse<string>) => {
|
||||||
|
this.dialog.close()
|
||||||
|
let json:BaseBean = JSON.parse(res+'') as BaseBean;
|
||||||
|
if(json.code == '200') {
|
||||||
|
HMRouterMgr.pop()
|
||||||
|
} else {
|
||||||
|
promptAction.showToast({ message: json.message })
|
||||||
|
}
|
||||||
|
}).catch((err: BusinessError) => {
|
||||||
|
|
||||||
|
console.info(`Response fails: ${err}`);
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
aboutToAppear(): void {
|
||||||
|
this.noteText=this.params.note
|
||||||
|
this.feedbackText=this.noteText+''
|
||||||
|
this.uuid=this.params.uuid
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
Column() {
|
||||||
|
HdNav({ title: '门诊信息', showRightIcon: false, hasBorder: true, isLeftAction:true,leftItemAction:()=>{
|
||||||
|
HMRouterMgr.pop()
|
||||||
|
} })
|
||||||
|
// 输入框区域
|
||||||
|
TextArea({
|
||||||
|
placeholder:'您可以在这里填写想告诉患者的停诊补充信息,最多填写300个字哦~',
|
||||||
|
controller:this.controller,
|
||||||
|
text: $$this.feedbackText
|
||||||
|
})
|
||||||
|
|
||||||
|
.placeholderFont({size:16})
|
||||||
|
.placeholderColor('#999999')
|
||||||
|
.width('95%')
|
||||||
|
.height(230)
|
||||||
|
.margin(10)
|
||||||
|
.fontSize(16)
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
.borderRadius(5)
|
||||||
|
.border({
|
||||||
|
width:1,
|
||||||
|
color:'#999999'
|
||||||
|
})
|
||||||
|
|
||||||
|
// 提交按钮
|
||||||
|
Button({ type: ButtonType.Normal }){
|
||||||
|
Text('提交')
|
||||||
|
}
|
||||||
|
.width('90%')
|
||||||
|
.height(53)
|
||||||
|
.position({x:'5%',y:'91%'})
|
||||||
|
.backgroundColor('#ffffff')
|
||||||
|
.borderColor($r('app.color.main_color'))
|
||||||
|
.borderRadius(8)
|
||||||
|
.borderWidth(1)
|
||||||
|
.fontColor($r('app.color.main_color'))
|
||||||
|
.onClick(() => {
|
||||||
|
if (this.feedbackText.length <= 0 || !this.feedbackText) {
|
||||||
|
promptAction.showToast({message:'请输入信息'})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(this.noteText==this.feedbackText.trim())
|
||||||
|
{
|
||||||
|
promptAction.showToast({message:'未修改信息内容'})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (this.feedbackText.length > 200) {
|
||||||
|
promptAction.showToast({message:'内容不能大于300字'})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.addOutPatientA()
|
||||||
|
if(StringIsEmpty(this.noteText))
|
||||||
|
{
|
||||||
|
this.mailanNoticeAdd();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.mailanNoticeUpate();
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
.width('100%')
|
||||||
|
.height('100%')
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -3,12 +3,14 @@ import {
|
|||||||
applyListModel,
|
applyListModel,
|
||||||
authStore, BasicConstant,
|
authStore, BasicConstant,
|
||||||
ChangeUtil,
|
ChangeUtil,
|
||||||
hdHttp, HdLoadingDialog,HdNav, HdResponse, patientDbManager,
|
hdHttp, HdLoadingDialog,HdNav, HdResponse,
|
||||||
|
PatientData,
|
||||||
|
patientDbManager,
|
||||||
PatientListModel,
|
PatientListModel,
|
||||||
PatientsData,
|
PatientsData,
|
||||||
preferenceStore} from '@itcast/basic'
|
preferenceStore} from '@itcast/basic'
|
||||||
import { Groups } from '../model/Groups';
|
import { Groups } from '../model/Groups';
|
||||||
import { display } from '@kit.ArkUI';
|
import { display, promptAction } from '@kit.ArkUI';
|
||||||
import { StringIsEmpty } from '@nimkit/common';
|
import { StringIsEmpty } from '@nimkit/common';
|
||||||
import I18n from '@ohos.i18n';
|
import I18n from '@ohos.i18n';
|
||||||
import Intl from '@ohos.intl';
|
import Intl from '@ohos.intl';
|
||||||
@ -42,6 +44,25 @@ export struct PatientListComp {
|
|||||||
@State old:number=preferenceStore.getItemNumber('old_patient_num')
|
@State old:number=preferenceStore.getItemNumber('old_patient_num')
|
||||||
@State applyArray:applyListModel[] = [];
|
@State applyArray:applyListModel[] = [];
|
||||||
@State needShow:boolean=false
|
@State needShow:boolean=false
|
||||||
|
@State delectuuid:string=''
|
||||||
|
@State delectname:string=''
|
||||||
|
@State positionDelete:number = 0
|
||||||
|
|
||||||
|
dialogDelete = new CustomDialogController({
|
||||||
|
builder: DelectDialog(
|
||||||
|
{
|
||||||
|
name:this.delectname,
|
||||||
|
CallBack:()=>{
|
||||||
|
|
||||||
|
// regionDataGroupsList
|
||||||
|
// this.applyArray.splice(this.positionDelete,1)
|
||||||
|
this.deletePatientAction(this.delectuuid)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
),
|
||||||
|
cornerRadius: 4,
|
||||||
|
width: '70%',
|
||||||
|
})
|
||||||
aboutToAppear() {
|
aboutToAppear() {
|
||||||
this. PatientsData()
|
this. PatientsData()
|
||||||
|
|
||||||
@ -263,7 +284,7 @@ export struct PatientListComp {
|
|||||||
|
|
||||||
ListItemGroup({ header: this.itemHead(regionDataGroups.title) }) {
|
ListItemGroup({ header: this.itemHead(regionDataGroups.title) }) {
|
||||||
|
|
||||||
ForEach(regionDataGroups.regionDataList, (regionData: PatientsData, index?: number) => {
|
ForEach(regionDataGroups.regionDataList, (regionData: PatientsData, index: number) => {
|
||||||
ListItem() {
|
ListItem() {
|
||||||
Column()
|
Column()
|
||||||
{
|
{
|
||||||
@ -276,7 +297,7 @@ export struct PatientListComp {
|
|||||||
.borderRadius(8)
|
.borderRadius(8)
|
||||||
Column()
|
Column()
|
||||||
{
|
{
|
||||||
Text(regionData.realName)
|
Text(regionData.nickname)
|
||||||
.fontSize(16)
|
.fontSize(16)
|
||||||
.fontColor($r('app.color.common_gray_01'))
|
.fontColor($r('app.color.common_gray_01'))
|
||||||
.width('100%')
|
.width('100%')
|
||||||
@ -322,15 +343,24 @@ export struct PatientListComp {
|
|||||||
.width('100%')
|
.width('100%')
|
||||||
Text().height(1).width('100%').backgroundColor( $r('sys.color.ohos_id_color_panel_bg'))
|
Text().height(1).width('100%').backgroundColor( $r('sys.color.ohos_id_color_panel_bg'))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// .height(100)
|
|
||||||
.width('100%')
|
.width('100%')
|
||||||
.align(Alignment.Start)
|
.align(Alignment.Start)
|
||||||
.onClick(() => {
|
.onClick(() => {
|
||||||
|
|
||||||
})
|
})
|
||||||
|
.gesture(
|
||||||
|
LongPressGesture({
|
||||||
|
duration: 1000, // 设置长按触发时间为1秒
|
||||||
|
repeat: true // 允许连续触发回调
|
||||||
|
})
|
||||||
|
.onAction((event: GestureEvent) => {
|
||||||
|
this.delectuuid=regionData.uuid
|
||||||
|
this.delectname=regionData.realName
|
||||||
|
this.positionDelete=index
|
||||||
|
this.dialogDelete.open()
|
||||||
|
})
|
||||||
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -420,9 +450,6 @@ export struct PatientListComp {
|
|||||||
|
|
||||||
}.width('100%')
|
}.width('100%')
|
||||||
.height('100%')
|
.height('100%')
|
||||||
|
|
||||||
// .backgroundColor($r('app.color.white'))
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private collationData(regionRequestData: PatientsData[]) {
|
private collationData(regionRequestData: PatientsData[]) {
|
||||||
@ -449,15 +476,7 @@ export struct PatientListComp {
|
|||||||
|
|
||||||
if (this.indexList.indexOf(index) === -1) {
|
if (this.indexList.indexOf(index) === -1) {
|
||||||
let regionDataGroups: Groups = new Groups();
|
let regionDataGroups: Groups = new Groups();
|
||||||
// if(this.normalIndexValue.includes(index))
|
regionDataGroups.title = index;
|
||||||
// {
|
|
||||||
regionDataGroups.title = index;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// regionDataGroups.title = '#';
|
|
||||||
// }
|
|
||||||
|
|
||||||
this.indexList.push(index);
|
this.indexList.push(index);
|
||||||
regionDataGroups.regionDataList.push(value);
|
regionDataGroups.regionDataList.push(value);
|
||||||
this.regionDataGroupsList.push(regionDataGroups);
|
this.regionDataGroupsList.push(regionDataGroups);
|
||||||
@ -488,7 +507,80 @@ export struct PatientListComp {
|
|||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
deletePatientAction(patientUuid:string) {
|
||||||
|
this.dialog.open()
|
||||||
|
hdHttp.post<string>(BasicConstant.cancelRes, {
|
||||||
|
"expertUuid": authStore.getUser().uuid,
|
||||||
|
"patientUuid":patientUuid
|
||||||
|
} as Record<string,string>).then(async (res: HdResponse<string>) => {
|
||||||
|
this.dialog.close();
|
||||||
|
let json:Record<string,string | Record<string,string>> = JSON.parse(res+'') as Record<string,string | Record<string,string>>
|
||||||
|
promptAction.showToast({ message: String(json.message), duration: 1000 })
|
||||||
|
if(json.code == '1') {
|
||||||
|
|
||||||
|
const singlePatient: PatientData = {
|
||||||
|
uuid:patientUuid,
|
||||||
|
nickname: '',
|
||||||
|
mobile: '',
|
||||||
|
realName: '',
|
||||||
|
nation: '',
|
||||||
|
sex: 0,
|
||||||
|
type: 2,
|
||||||
|
photo: '',
|
||||||
|
expertUuid: authStore.getUser().uuid
|
||||||
|
}
|
||||||
|
const success = await patientDbManager.updatePatientByData(singlePatient)
|
||||||
|
|
||||||
|
if (success) {
|
||||||
|
console.info('修改成功')
|
||||||
|
} else {
|
||||||
|
console.info('修改失败')
|
||||||
|
}
|
||||||
|
this.PatientsData()
|
||||||
|
} else {
|
||||||
|
console.error('获取患者信息失败:'+json.message)
|
||||||
|
}
|
||||||
|
}).catch((err: BusinessError) => {
|
||||||
|
this.dialog.close();
|
||||||
|
console.error(`Response fails: ${err}`);
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
interface updateExtraData {
|
interface updateExtraData {
|
||||||
expertUuid: string
|
expertUuid: string
|
||||||
}
|
}
|
||||||
|
@CustomDialog
|
||||||
|
struct DelectDialog {
|
||||||
|
controller: CustomDialogController
|
||||||
|
CallBack: () => void = () => {};
|
||||||
|
name:string=''
|
||||||
|
build() {
|
||||||
|
Column() {
|
||||||
|
Text('解除随访患者')
|
||||||
|
.fontSize(17)
|
||||||
|
.fontColor('#444444')
|
||||||
|
.padding(15)
|
||||||
|
Text('').height(1).width('100%')
|
||||||
|
.backgroundColor($r('app.color.home_gray'))
|
||||||
|
Text('解除['+this.name+']的随访关系')
|
||||||
|
.fontSize(16).fontColor($r('app.color.common_gray_03'))
|
||||||
|
.padding(10).width('100%').textAlign(TextAlign.Start)
|
||||||
|
.onClick(() => {
|
||||||
|
|
||||||
|
if (this.controller != undefined) {
|
||||||
|
this.controller.close()
|
||||||
|
this.CallBack();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
Text('').height(1).width('100%')
|
||||||
|
.backgroundColor($r('app.color.home_gray'))
|
||||||
|
.margin({bottom:10})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.backgroundColor($r('app.color.white'))
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
577
features/netease/src/main/ets/view/ReleaseOutpatient.ets
Normal file
@ -0,0 +1,577 @@
|
|||||||
|
import { hdHttp, HdResponse, BasicConstant, ExpertData, authStore, BaseBean, HdLoadingDialog,
|
||||||
|
TimestampUtil,
|
||||||
|
preferenceStore} from '@itcast/basic'
|
||||||
|
import { BusinessError } from '@kit.BasicServicesKit';
|
||||||
|
import promptAction from '@ohos.promptAction';
|
||||||
|
import { HdNav ,DatePickerDialog} from '@itcast/basic';
|
||||||
|
import { LengthMetrics, router } from '@kit.ArkUI';
|
||||||
|
import { HMRouter, HMRouterMgr } from '@hadss/hmrouter';
|
||||||
|
import { HashMap } from '@kit.ArkTS';
|
||||||
|
import { StringIsEmpty } from '@nimkit/common';
|
||||||
|
import { DateListBean } from '../model/StopOutPatientListModel';
|
||||||
|
import { data } from '@kit.TelephonyKit';
|
||||||
|
import { PerfactInputSheet } from '@itcast/basic/src/main/ets/Views/PerfactInputSheet';
|
||||||
|
|
||||||
|
|
||||||
|
@HMRouter({ pageUrl: 'ReleaseOutpatient' })
|
||||||
|
@Component
|
||||||
|
export struct ReleaseOutpatient {
|
||||||
|
|
||||||
|
@State noteText: string =preferenceStore.getItemString('ReleaseOutpatient')
|
||||||
|
@State uuid: string = ''
|
||||||
|
@State reasonIndex: number = -1
|
||||||
|
reasonOptions: string[] = ['出差', '休假', '临时安排', '其他']
|
||||||
|
controller:TextAreaController = new TextAreaController();
|
||||||
|
@State date_list_normal: DateListBean[] = [{ param1: '', param2: '' }]
|
||||||
|
@State date_list_temp: DateListBean[] = [{ param1: '', param2: '' }]
|
||||||
|
@State tmp_list: DateListBean[] = []
|
||||||
|
@State private datePickerType: 'start' | 'end' = 'start'
|
||||||
|
@State private datePickerIndex: number = 0
|
||||||
|
@State selected:string=TimestampUtil.getToday()
|
||||||
|
@State timePeriodOptions: string[] = ['上午', '下午', '晚上', '全天']
|
||||||
|
@State showTimePeriodDropdown: number = -1 // 当前下拉的index,-1为无
|
||||||
|
dialog: CustomDialogController = new CustomDialogController({
|
||||||
|
builder: HdLoadingDialog({ message: '加载中...' }),
|
||||||
|
customStyle: true,
|
||||||
|
alignment: DialogAlignment.Center
|
||||||
|
})
|
||||||
|
private datePickerDialog!: CustomDialogController;
|
||||||
|
addStopOutPatient() {
|
||||||
|
this.dialog.open()
|
||||||
|
const hashMap: HashMap<string, Object> = new HashMap();
|
||||||
|
hashMap.set('type',this.reasonIndex+1+'')
|
||||||
|
hashMap.set('note',this.noteText)
|
||||||
|
hashMap.set('date_list', this.reasonIndex === 2 ? this.date_list_temp : this.date_list_normal)
|
||||||
|
hdHttp.httpReqObject<string>(BasicConstant.addStopOutPatient,hashMap).then(async (res: HdResponse<string>) => {
|
||||||
|
this.dialog.close()
|
||||||
|
let json:BaseBean = JSON.parse(res+'') as BaseBean;
|
||||||
|
if(json.code == '200') {
|
||||||
|
HMRouterMgr.pop()
|
||||||
|
} else {
|
||||||
|
promptAction.showToast({ message: json.message })
|
||||||
|
}
|
||||||
|
}).catch((err: BusinessError) => {
|
||||||
|
|
||||||
|
console.info(`Response fails: ${err}`);
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private dialogPublish!:CustomDialogController;
|
||||||
|
|
||||||
|
initDialog() {
|
||||||
|
this.dialogPublish = new CustomDialogController({
|
||||||
|
builder:PerfactInputSheets({
|
||||||
|
controller:this.dialogPublish,
|
||||||
|
reasonOptions:this.reasonOptions[this.reasonIndex],
|
||||||
|
noteText:this.noteText,
|
||||||
|
date_list:this.reasonIndex === 2 ? this.date_list_temp : this.date_list_normal,
|
||||||
|
inputCallBack:()=>{
|
||||||
|
this.addStopOutPatient()
|
||||||
|
|
||||||
|
// HMRouterMgr.pop()
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
keyboardAvoidDistance: LengthMetrics.vp(0), // 设置弹窗底部与键盘顶部间距(单位:vp)
|
||||||
|
alignment: DialogAlignment.Center,
|
||||||
|
customStyle: true,
|
||||||
|
autoCancel: false,
|
||||||
|
backgroundColor: ('rgba(0,0,0,0.5)'),
|
||||||
|
height: '100%'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
private initDatePickerDialog() {
|
||||||
|
this.datePickerDialog = new CustomDialogController({
|
||||||
|
builder: DatePickerDialog({
|
||||||
|
controller:this.datePickerDialog,
|
||||||
|
title:'选择开始日期',
|
||||||
|
dateOptions: {
|
||||||
|
start: new Date('1930-01-01'),
|
||||||
|
end: new Date('2100-01-01'),
|
||||||
|
selected: new Date(this.selected),
|
||||||
|
},
|
||||||
|
dateSelected:(date:string) => {
|
||||||
|
let isTemp = this.reasonIndex === 2
|
||||||
|
this.tmp_list = isTemp ? [...this.date_list_temp] : [...this.date_list_normal]
|
||||||
|
|
||||||
|
|
||||||
|
if (this.datePickerType === 'start') {
|
||||||
|
if (date < TimestampUtil.getToday()|| date > this.tmp_list[this.datePickerIndex].param2) {
|
||||||
|
if (date < TimestampUtil.getToday())
|
||||||
|
{
|
||||||
|
promptAction.showToast({ message: '不能发布过期时间' });
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
promptAction.showToast({ message: '结束时间不能早于开始日期' });
|
||||||
|
}
|
||||||
|
this.tmp_list[this.datePickerIndex].param1 = ''
|
||||||
|
} else {
|
||||||
|
let list = isTemp ? this.date_list_temp : this.date_list_normal
|
||||||
|
let isDuplicate = list.some((item, idx) => idx != this.datePickerIndex && item.param2 == this.tmp_list[this.datePickerIndex].param2 && item.param1 == date);
|
||||||
|
if (isDuplicate) {
|
||||||
|
promptAction.showToast({ message: '已存在相同停诊时间' });
|
||||||
|
this.tmp_list[this.datePickerIndex].param1 = ''
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.tmp_list[this.datePickerIndex].param1 = date
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// 选择开始日期时校验
|
||||||
|
let list = isTemp ? this.date_list_temp : this.date_list_normal
|
||||||
|
let isDuplicate = list.some((item, idx) => idx != this.datePickerIndex && item.param1 == this.tmp_list[this.datePickerIndex].param1 && item.param2 == date);
|
||||||
|
if (isDuplicate) {
|
||||||
|
promptAction.showToast({ message: '已存在相同停诊时间' });
|
||||||
|
this.tmp_list[this.datePickerIndex].param2 = ''
|
||||||
|
} else {
|
||||||
|
if (date < TimestampUtil.getToday() || date < this.tmp_list[this.datePickerIndex].param1) {
|
||||||
|
promptAction.showToast({ message: '不能发布过期时间' });
|
||||||
|
this.tmp_list[this.datePickerIndex].param2 = ''
|
||||||
|
} else {
|
||||||
|
this.tmp_list[this.datePickerIndex].param2 = date
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(isTemp) {
|
||||||
|
this.date_list_temp = this.tmp_list
|
||||||
|
} else {
|
||||||
|
this.date_list_normal = this.tmp_list
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
alignment: DialogAlignment.Bottom,
|
||||||
|
customStyle: true,
|
||||||
|
autoCancel: false,
|
||||||
|
backgroundColor: ('rgba(0,0,0,0.5)'),
|
||||||
|
height: '100%'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
private custom!:CustomDialogController;
|
||||||
|
initDialogcustom() {
|
||||||
|
this.custom = new CustomDialogController({
|
||||||
|
builder:PerfactInputSheet({
|
||||||
|
controller:this.custom,
|
||||||
|
inputTitle:'提示',
|
||||||
|
okText:'保存',
|
||||||
|
needcancelCallBack:true,
|
||||||
|
okColor:$r('app.color.top_title'),
|
||||||
|
inputPlaceholder:'您有未发布的内容,是否保存?',
|
||||||
|
style:'2',
|
||||||
|
inputCallBack:(input: string,title:string)=>{
|
||||||
|
if(title=='needcancelCallBack')
|
||||||
|
{
|
||||||
|
preferenceStore.setItemString('ReleaseOutpatient','')
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
preferenceStore.setItemString('ReleaseOutpatient',this.noteText)
|
||||||
|
}
|
||||||
|
|
||||||
|
HMRouterMgr.pop()
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
alignment: DialogAlignment.Center,
|
||||||
|
customStyle: true,
|
||||||
|
autoCancel: false,
|
||||||
|
backgroundColor: ('rgba(0,0,0,0.5)'),
|
||||||
|
height: '100%'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
aboutToAppear(): void {
|
||||||
|
this.initDatePickerDialog()
|
||||||
|
this.initDialog()
|
||||||
|
this.initDialogcustom()
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
Column() {
|
||||||
|
HdNav({ title: '发布停诊', showRightIcon: false, hasBorder: true, isLeftAction:true,leftItemAction:()=>{
|
||||||
|
if(this.noteText.trim()!='')
|
||||||
|
{
|
||||||
|
this.custom.open()
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
HMRouterMgr.pop()
|
||||||
|
}
|
||||||
|
|
||||||
|
} })
|
||||||
|
Column()
|
||||||
|
{
|
||||||
|
Text('停诊原因 *').fontSize(17).fontColor($r('app.color.top_title')).padding(10).width('100%').textAlign(TextAlign.Start)
|
||||||
|
Row() {
|
||||||
|
ForEach(this.reasonOptions, (item: string, index: number) => {
|
||||||
|
Row() {
|
||||||
|
Text(item)
|
||||||
|
.fontSize(16)
|
||||||
|
.fontColor(this.reasonIndex === index ? $r('app.color.top_title') : $r('app.color.999999'))
|
||||||
|
.height(42)
|
||||||
|
.layoutWeight(1)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.backgroundImageSize(ImageSize.Contain)
|
||||||
|
.backgroundImagePosition(Alignment.Center)
|
||||||
|
.backgroundImage(this.reasonIndex === index ? $r('app.media.check_true') : undefined)
|
||||||
|
.borderColor(this.reasonIndex === index ? Color.Transparent : $r('app.color.999999') )
|
||||||
|
.borderWidth(1)
|
||||||
|
.borderRadius(4)
|
||||||
|
.margin({ right: 10 })
|
||||||
|
.onClick(() => {
|
||||||
|
this.reasonIndex = index
|
||||||
|
})
|
||||||
|
}.layoutWeight(1)
|
||||||
|
})
|
||||||
|
}.padding({ left: 10}).width('100%')
|
||||||
|
Row()
|
||||||
|
{
|
||||||
|
Text('停诊时间 *').fontSize(17).fontColor($r('app.color.top_title')).padding(10).width('100%').textAlign(TextAlign.Start).layoutWeight(1)
|
||||||
|
Text() {
|
||||||
|
Span("+").fontColor($r('app.color.top_title'))
|
||||||
|
Span("再次添加").fontColor($r('app.color.common_gray_03'))
|
||||||
|
}.fontSize(16)
|
||||||
|
.visibility((this.reasonIndex === 2 ? this.date_list_temp.length : this.date_list_normal.length) < 3 ? Visibility.Visible : Visibility.None)
|
||||||
|
.onClick(() => {
|
||||||
|
let list = this.reasonIndex === 2 ? this.date_list_temp : this.date_list_normal
|
||||||
|
let hasempty = list.some((item, idx) => item.param1 == '' || item.param2 == '');
|
||||||
|
if(hasempty) {
|
||||||
|
promptAction.showToast({ message: '请选择停诊时间' });
|
||||||
|
} else {
|
||||||
|
if(this.reasonIndex === 2) {
|
||||||
|
this.date_list_temp = [...this.date_list_temp, { param1: '', param2: '' }]
|
||||||
|
} else {
|
||||||
|
this.date_list_normal = [...this.date_list_normal, { param1: '', param2: '' }]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
.margin({ left: 10, right: 10 }).width('100%')
|
||||||
|
|
||||||
|
Column() {
|
||||||
|
ForEach(this.reasonIndex === 2 ? this.date_list_temp : this.date_list_normal, (item: DateListBean, index: number) => {
|
||||||
|
Row() {
|
||||||
|
Text(item.param1 ? item.param1 : '选择开始日期')
|
||||||
|
.fontSize(16)
|
||||||
|
.fontColor(item.param1 ? $r('app.color.common_gray_03') : $r('app.color.999999'))
|
||||||
|
.height(42)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.borderColor($r('app.color.999999'))
|
||||||
|
.layoutWeight(1)
|
||||||
|
.borderWidth(1)
|
||||||
|
.borderRadius(4)
|
||||||
|
.onClick(() => {
|
||||||
|
if(this.reasonIndex < 0) {
|
||||||
|
promptAction.showToast({ message: '请先选择停诊原因' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.datePickerType = 'start'
|
||||||
|
this.datePickerIndex = index
|
||||||
|
this.selected = item.param1 ? item.param1 : TimestampUtil.getToday()
|
||||||
|
this.datePickerDialog.open()
|
||||||
|
})
|
||||||
|
Text('至')
|
||||||
|
.fontSize(16)
|
||||||
|
.fontColor($r('app.color.999999'))
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.visibility(this.reasonIndex === 2?Visibility.Hidden:Visibility.Visible)
|
||||||
|
.margin({left:10,right:10})
|
||||||
|
// 临时安排特殊处理
|
||||||
|
if (this.reasonIndex === 2) {
|
||||||
|
// 下拉选择时段
|
||||||
|
Column() {
|
||||||
|
Text(item.param2 ? item.param2 : '请选择时段')
|
||||||
|
.fontSize(16)
|
||||||
|
.fontColor(item.param2 ? $r('app.color.common_gray_03') : $r('app.color.999999'))
|
||||||
|
.height(42)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.borderColor($r('app.color.999999'))
|
||||||
|
.borderWidth(1)
|
||||||
|
.width('100%')
|
||||||
|
.borderRadius(4)
|
||||||
|
.onClick(() => {
|
||||||
|
if(this.reasonIndex < 0) {
|
||||||
|
promptAction.showToast({ message: '请先选择停诊原因' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.showTimePeriodDropdown = index
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
// 悬浮下拉菜单
|
||||||
|
if (this.showTimePeriodDropdown === index) {
|
||||||
|
Column() {
|
||||||
|
ForEach(this.timePeriodOptions, (period: string, pidx: number) => {
|
||||||
|
Text(period)
|
||||||
|
.fontSize(16)
|
||||||
|
.fontColor($r('app.color.common_gray_03'))
|
||||||
|
.padding(8)
|
||||||
|
.onClick(() => {
|
||||||
|
let newList = [...this.date_list_temp]
|
||||||
|
let isDuplicate = this.date_list_temp.some((item, idx) => idx != this.datePickerIndex && item.param1 == this.tmp_list[this.datePickerIndex].param1 && item.param2 == period);
|
||||||
|
if (isDuplicate) {
|
||||||
|
promptAction.showToast({ message: '已存在相同停诊时间' });
|
||||||
|
newList[index]. param2= ''
|
||||||
|
} else {
|
||||||
|
newList[index]. param2= period
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
this.date_list_temp = newList
|
||||||
|
this.showTimePeriodDropdown = -1
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
.backgroundColor(Color.Red)
|
||||||
|
.borderColor($r('app.color.999999'))
|
||||||
|
.borderWidth(1)
|
||||||
|
.borderRadius(4)
|
||||||
|
.width('100%')
|
||||||
|
.zIndex(199)
|
||||||
|
.position({ x: 0, y: 0 })
|
||||||
|
}
|
||||||
|
}.layoutWeight(1)
|
||||||
|
|
||||||
|
} else {
|
||||||
|
Text(item.param2 ? item.param2 : '选择结束日期')
|
||||||
|
.fontSize(16)
|
||||||
|
.fontColor(item.param2 ? $r('app.color.common_gray_03') : $r('app.color.999999'))
|
||||||
|
.height(42)
|
||||||
|
.layoutWeight(1)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.borderColor($r('app.color.999999'))
|
||||||
|
.borderWidth(1)
|
||||||
|
.borderRadius(4)
|
||||||
|
.onClick(() => {
|
||||||
|
if(this.reasonIndex < 0) {
|
||||||
|
promptAction.showToast({ message: '请先选择停诊原因' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.datePickerType = 'end'
|
||||||
|
this.datePickerIndex = index
|
||||||
|
this.selected = item.param2 ? item.param2 : TimestampUtil.getToday()
|
||||||
|
this.datePickerDialog.open()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
Image($r('app.media.delete_notice')).width(17).height(17).margin({left:10})
|
||||||
|
.visibility(index > 0 && (this.reasonIndex === 2 ? this.date_list_temp.length : this.date_list_normal.length) > 1 ? Visibility.Visible : Visibility.Hidden)
|
||||||
|
.onClick(() => {
|
||||||
|
if (index > 0 && (this.reasonIndex === 2 ? this.date_list_temp.length : this.date_list_normal.length) > 1) {
|
||||||
|
if(this.reasonIndex === 2) {
|
||||||
|
let newList = [...this.date_list_temp]
|
||||||
|
newList.splice(index, 1)
|
||||||
|
this.date_list_temp = newList
|
||||||
|
} else {
|
||||||
|
let newList = [...this.date_list_normal]
|
||||||
|
newList.splice(index, 1)
|
||||||
|
this.date_list_normal = newList
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
.padding({ left: 10, bottom: 10, right: 10 }).width('100%')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Text('备注').fontSize(17).fontColor($r('app.color.top_title')).padding(10).width('100%').textAlign(TextAlign.Start)
|
||||||
|
TextArea({ placeholder: '您可以在这里填写想告诉患者的停诊补充信息,最多填写300个字哦~', text: $$this.noteText })
|
||||||
|
.fontColor($r('app.color.common_gray_03'))
|
||||||
|
.height(100)
|
||||||
|
.textAlign(TextAlign.Start)
|
||||||
|
.fontSize(14).padding(9).margin({left:10,right:10,bottom:10})
|
||||||
|
.backgroundColor($r('app.color.home_gray')).borderRadius(8)
|
||||||
|
} .backgroundColor($r('app.color.white'))
|
||||||
|
Blank()
|
||||||
|
Column()
|
||||||
|
{
|
||||||
|
Text('确定发布').height(42).width(168).fontSize(17)
|
||||||
|
.backgroundColor($r('app.color.top_title'))
|
||||||
|
.fontColor($r('app.color.white'))
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.borderRadius(4)
|
||||||
|
.margin({top:8})
|
||||||
|
}
|
||||||
|
.width('100%')
|
||||||
|
.height(57)
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
.onClick(() => {
|
||||||
|
if(this.reasonIndex < 0) {
|
||||||
|
promptAction.showToast({ message: '请先选择停诊原因' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let list = this.reasonIndex === 2 ? this.date_list_temp : this.date_list_normal
|
||||||
|
let hasempty = list.some((item, idx) => item.param1 == '' || item.param2 == '');
|
||||||
|
if(hasempty) {
|
||||||
|
promptAction.showToast({ message: '请选择停诊时间' });
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.dialogPublish.open()
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
.width('100%')
|
||||||
|
.height('100%')
|
||||||
|
.backgroundColor($r('app.color.home_gray'))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@CustomDialog
|
||||||
|
export struct PerfactInputSheets {
|
||||||
|
controller:CustomDialogController;
|
||||||
|
|
||||||
|
@Prop inputTitle:string = '公告内容';
|
||||||
|
@Prop inputPlaceholder:string = ''
|
||||||
|
|
||||||
|
// 添加回调函数属性
|
||||||
|
@State okColor:ResourceStr=$r('app.color.top_title')
|
||||||
|
@State cancelColor:ResourceStr='#333333'
|
||||||
|
@State okText:ResourceStr='确定发布'
|
||||||
|
@State cancelText:ResourceStr='返回修改'
|
||||||
|
@State reasonOptions:string=''
|
||||||
|
@State noteText:string=''
|
||||||
|
|
||||||
|
@State date_list: DateListBean[] = []
|
||||||
|
private inputCallBack: () => void = () => {};
|
||||||
|
@State needcancelCallBack:boolean=false
|
||||||
|
// 修改构造函数
|
||||||
|
constructor(controller: CustomDialogController, inputCallBack: () => void) {
|
||||||
|
super();
|
||||||
|
this.controller = controller;
|
||||||
|
this.inputCallBack = inputCallBack;
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
|
||||||
|
Row(){
|
||||||
|
Column() {
|
||||||
|
Text(this.inputTitle)
|
||||||
|
.fontSize(18)
|
||||||
|
.padding(20)
|
||||||
|
.width('100%')
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.fontColor('#444444')
|
||||||
|
|
||||||
|
|
||||||
|
Text('停诊原因:' + this.reasonOptions)
|
||||||
|
.fontSize(14)
|
||||||
|
.fontColor('#444444')
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
.padding({ left: 10, right: 10 })
|
||||||
|
.width('79%')
|
||||||
|
|
||||||
|
Row() {
|
||||||
|
Text('停诊时间:')
|
||||||
|
.fontColor('#444444')
|
||||||
|
.fontSize(14)
|
||||||
|
Text(this.date_list[0].param1 + ' 至 ' + this.date_list[0].param2)
|
||||||
|
.fontColor($r('app.color.common_gray_03')).padding({ left: 3 })
|
||||||
|
.fontSize(14)
|
||||||
|
}.margin({ top: 10 }).padding({ left: 10, right: 10 })
|
||||||
|
.width('79%')
|
||||||
|
if (this.date_list.length > 1) {
|
||||||
|
Row() {
|
||||||
|
Text('停诊时间:')
|
||||||
|
.fontColor('#444444')
|
||||||
|
.fontSize(14)
|
||||||
|
.visibility(Visibility.Hidden)
|
||||||
|
Text(this.date_list[1].param1 + " 至 " + this.date_list[1].param2)
|
||||||
|
.fontColor('#444444').padding({ left: 3 })
|
||||||
|
.fontSize(14)
|
||||||
|
}.margin({ top: 10 }).padding({ left: 10, right: 10 })
|
||||||
|
.width('79%')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.date_list.length > 2) {
|
||||||
|
Row() {
|
||||||
|
Text('停诊时间:')
|
||||||
|
.fontColor('#444444')
|
||||||
|
.fontSize(14)
|
||||||
|
.visibility(Visibility.Hidden)
|
||||||
|
Text(this.date_list[2].param1 + " 至 " + this.date_list[2].param2)
|
||||||
|
.fontColor('#444444').padding({ left: 3 })
|
||||||
|
.fontSize(14)
|
||||||
|
}
|
||||||
|
.width('79%')
|
||||||
|
.margin({ top: 10 }).padding({ left: 10, right: 10 })
|
||||||
|
}
|
||||||
|
|
||||||
|
Row() {
|
||||||
|
Text()
|
||||||
|
{
|
||||||
|
Span('备').fontColor('#444444')
|
||||||
|
Span('备注').fontColor(Color.Transparent)
|
||||||
|
Span('注:').fontColor('#444444')
|
||||||
|
}
|
||||||
|
.fontColor('#444444')
|
||||||
|
.fontSize(14)
|
||||||
|
|
||||||
|
Text(this.noteText)
|
||||||
|
.fontColor('#444444').padding({ left: 3 })
|
||||||
|
.fontSize(14)
|
||||||
|
.textAlign(TextAlign.Start)
|
||||||
|
.layoutWeight(1)
|
||||||
|
}.margin({ top: 10 }).padding({ left: 10, right: 10 })
|
||||||
|
.alignItems(VerticalAlign.Top)
|
||||||
|
.width('79%')
|
||||||
|
.visibility(this.noteText?Visibility.Visible:Visibility.None)
|
||||||
|
|
||||||
|
Text().width(20).height(20)
|
||||||
|
Row() {
|
||||||
|
Text('停诊时间:')
|
||||||
|
.fontColor('#444444')
|
||||||
|
.fontSize(14)
|
||||||
|
.visibility(Visibility.Hidden)
|
||||||
|
Text(TimestampUtil.getTodayChinese()+'由医生本人发布')
|
||||||
|
.fontColor($r('app.color.common_gray_03')).padding({ left: 3 })
|
||||||
|
.fontSize(14)
|
||||||
|
}
|
||||||
|
.margin({ top: 10 }).padding({ left: 10, right: 10 })
|
||||||
|
Text('').height(1).width('100%')
|
||||||
|
.backgroundColor($r('app.color.home_gray')).margin({ top: 10 })
|
||||||
|
Row() {
|
||||||
|
Text(this.cancelText)
|
||||||
|
.fontSize(15)
|
||||||
|
.fontColor(this.cancelColor)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
|
||||||
|
.height(30)
|
||||||
|
.layoutWeight(1)
|
||||||
|
.onClick(() => {
|
||||||
|
|
||||||
|
this.controller.close()
|
||||||
|
})
|
||||||
|
Text('').height(30).width(1)
|
||||||
|
.backgroundColor($r('app.color.home_gray'))
|
||||||
|
Text(this.okText)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.fontColor(this.okColor)
|
||||||
|
.fontSize(15)
|
||||||
|
.onClick(() => {
|
||||||
|
|
||||||
|
this.controller.close()
|
||||||
|
this.inputCallBack();
|
||||||
|
})
|
||||||
|
|
||||||
|
.height(30)
|
||||||
|
.layoutWeight(1)
|
||||||
|
|
||||||
|
|
||||||
|
}.margin({ top: 10, bottom: 10 }).width('100%')
|
||||||
|
}
|
||||||
|
|
||||||
|
.width('80%').backgroundColor(Color.White)
|
||||||
|
}.borderRadius(24)
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
141
features/netease/src/main/ets/view/StopNoticeComp.ets
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
import {
|
||||||
|
BaseBean,
|
||||||
|
BasicConstant, EmptyViewComp, hdHttp, HdLoadingDialog, HdNav, HdResponse, HdSearchNav } from '@itcast/basic'
|
||||||
|
import { HMRouter, HMRouterMgr } from '@hadss/hmrouter'
|
||||||
|
import { HashMap } from '@kit.ArkTS';
|
||||||
|
import { BusinessError } from '@kit.BasicServicesKit';
|
||||||
|
import { promptAction } from '@kit.ArkUI';
|
||||||
|
import { StopOutPatientList, StopOutPatientListModel } from '../model/StopOutPatientListModel';
|
||||||
|
import { ItemCompStop } from '../components/ItemCompStop';
|
||||||
|
|
||||||
|
@HMRouter({ pageUrl: 'StopNoticeComp' })
|
||||||
|
@Component
|
||||||
|
export struct StopNoticeComp {
|
||||||
|
dialog: CustomDialogController = new CustomDialogController({
|
||||||
|
builder: HdLoadingDialog({ message: '加载中...' }),
|
||||||
|
customStyle: true,
|
||||||
|
alignment: DialogAlignment.Center
|
||||||
|
})
|
||||||
|
@State params:Record<string, string>= HMRouterMgr.getCurrentParam() as Record<string, string>;
|
||||||
|
@State data:StopOutPatientList[]=[];
|
||||||
|
@State isEmptyViewVisible: boolean = false; // 控制显隐的状态变量
|
||||||
|
@State empty:string='暂无数据'
|
||||||
|
@Link stopnum:number
|
||||||
|
aboutToAppear() {
|
||||||
|
|
||||||
|
this.getList();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
@State
|
||||||
|
@Watch('deleteStopOutPatient')
|
||||||
|
delete: boolean=false
|
||||||
|
@State deleteUuid:string=''
|
||||||
|
getList() {
|
||||||
|
this.dialog.open()
|
||||||
|
this.empty='暂无停诊公告'
|
||||||
|
const hashMap: HashMap<string, string> = new HashMap();
|
||||||
|
hdHttp.httpReq<string>(BasicConstant.stopOutPatientList,hashMap).then(async (res: HdResponse<string>) => {
|
||||||
|
this.dialog.close();
|
||||||
|
let json:StopOutPatientListModel = JSON.parse(res+'') as StopOutPatientListModel;
|
||||||
|
if(json.code == '200') {
|
||||||
|
this.data=[]
|
||||||
|
if(json.data!=null)
|
||||||
|
{
|
||||||
|
this.data = json.data;
|
||||||
|
this.stopnum=json.data.length
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.data.length > 0) {
|
||||||
|
this.isEmptyViewVisible = false;
|
||||||
|
} else {
|
||||||
|
this.isEmptyViewVisible = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
|
||||||
|
promptAction.showToast({ message: json.message, duration: 1000 })
|
||||||
|
}
|
||||||
|
}).catch((err: BusinessError) => {
|
||||||
|
this.dialog.close();
|
||||||
|
console.info(`Response fails: ${err}`);
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
scroller = new Scroller();
|
||||||
|
|
||||||
|
@State inputText:string=''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
build() {
|
||||||
|
Column(){
|
||||||
|
|
||||||
|
Text().height(20).width('100%').backgroundColor($r('app.color.home_gray'))
|
||||||
|
if (this.isEmptyViewVisible){
|
||||||
|
EmptyViewComp({promptText:this.empty,isVisibility:this.isEmptyViewVisible}).layoutWeight(1)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
List({ scroller: this.scroller }) {
|
||||||
|
|
||||||
|
ForEach(this.data, (item: StopOutPatientList, index) => {
|
||||||
|
ListItem() {
|
||||||
|
ItemCompStop({item:item,deleteUuid:this.deleteUuid,delete:this.delete})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
.width('100%')
|
||||||
|
.divider({
|
||||||
|
strokeWidth: 5,
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
.edgeEffect(EdgeEffect.None)
|
||||||
|
.layoutWeight(1).clip(true)
|
||||||
|
}
|
||||||
|
// Column()
|
||||||
|
// {
|
||||||
|
// Text('发布新的停诊').height(42).width(168).fontSize(17)
|
||||||
|
// .backgroundColor($r('app.color.top_title'))
|
||||||
|
// .fontColor($r('app.color.white'))
|
||||||
|
// .textAlign(TextAlign.Center)
|
||||||
|
// .borderRadius(4)
|
||||||
|
// .margin({top:8})
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
// .width('100%')
|
||||||
|
// .height(57)
|
||||||
|
// .backgroundColor(Color.White)
|
||||||
|
}
|
||||||
|
.width('100%')
|
||||||
|
.height('100%')
|
||||||
|
.backgroundColor($r('app.color.home_gray'))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
deleteStopOutPatient() {
|
||||||
|
this.dialog.open()
|
||||||
|
|
||||||
|
const hashMap: HashMap<string, string> = new HashMap();
|
||||||
|
hashMap.set('uuid',this.deleteUuid)
|
||||||
|
hdHttp.httpReq<string>(BasicConstant.deleteStopOutPatient,hashMap).then(async (res: HdResponse<string>) => {
|
||||||
|
this.dialog.close();
|
||||||
|
let json:BaseBean = JSON.parse(res+'') as BaseBean;
|
||||||
|
if(json.code == '200') {
|
||||||
|
this.getList();
|
||||||
|
} else {
|
||||||
|
|
||||||
|
promptAction.showToast({ message: json.message, duration: 1000 })
|
||||||
|
}
|
||||||
|
}).catch((err: BusinessError) => {
|
||||||
|
this.dialog.close();
|
||||||
|
console.info(`Response fails: ${err}`);
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
175
features/netease/src/main/ets/view/TabBarOutComp.ets
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
import { TabBarCompModel } from '../model/TabBarCompModel'
|
||||||
|
import { BasicConstant, hdHttp,HdNav, HdResponse } from '@itcast/basic'
|
||||||
|
import { ListCompPublic } from '../components/ListCompPublic'
|
||||||
|
import { ListCompMany } from '../components/ListCompMany'
|
||||||
|
import { StopNoticeComp } from './StopNoticeComp'
|
||||||
|
import { HMRouterMgr } from '@hadss/hmrouter'
|
||||||
|
import { HashMap } from '@kit.ArkTS'
|
||||||
|
import { BusinessError } from '@kit.BasicServicesKit'
|
||||||
|
import { PatientNoticeModel } from '../model/PatientNoticeModel'
|
||||||
|
import { promptAction } from '@kit.ArkUI'
|
||||||
|
import { ArrangementsComp } from './ArrangementsComp'
|
||||||
|
|
||||||
|
@Component
|
||||||
|
export struct TabBarOutComp {
|
||||||
|
|
||||||
|
@StorageProp('bottomHeight')
|
||||||
|
bottomHeight: number = 0
|
||||||
|
@Link activeIndex: number
|
||||||
|
@State note:string=''
|
||||||
|
@State uuid:string=''
|
||||||
|
@State textInfo:string='发布新的停诊'
|
||||||
|
@State stopnum: number = 0
|
||||||
|
aboutToAppear() {
|
||||||
|
this.mailanNoticeGet()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Builder
|
||||||
|
TabBarBuilder(item: TabBarCompModel, index: number) {
|
||||||
|
Row() {
|
||||||
|
Text(item.label)
|
||||||
|
.fontSize(16)
|
||||||
|
.fontColor(this.activeIndex === index ? $r('app.color.top_title'):$r('app.color.common_gray_03') )
|
||||||
|
.animation({ duration: 300 })
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.layoutWeight(1)
|
||||||
|
if (index < TabBarItems.length - 1) {
|
||||||
|
// 竖线
|
||||||
|
Text('|').fontColor($r('app.color.common_gray_02')) // 可选:左右留点间距
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
RelativeContainer()
|
||||||
|
{
|
||||||
|
Column()
|
||||||
|
{
|
||||||
|
HdNav({ title: '出/停诊公告', showLeftIcon: true, showRightIcon: false})
|
||||||
|
Tabs({
|
||||||
|
index: this.activeIndex
|
||||||
|
}) {
|
||||||
|
ForEach(TabBarItems, (item: TabBarCompModel, index: number) => {
|
||||||
|
TabContent() {
|
||||||
|
if (index==0)
|
||||||
|
{
|
||||||
|
|
||||||
|
StopNoticeComp({stopnum:this.stopnum})
|
||||||
|
|
||||||
|
}
|
||||||
|
else if(index==1)
|
||||||
|
{
|
||||||
|
ArrangementsComp()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.tabBar(this.TabBarBuilder(item, index))
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
.layoutWeight(1)
|
||||||
|
.divider({ strokeWidth: $r('app.float.common_border_width'), color: $r('app.color.common_gray_border') })
|
||||||
|
.barPosition(BarPosition.Start)
|
||||||
|
.barHeight(50)
|
||||||
|
.scrollable(false)
|
||||||
|
.onTabBarClick((index) => {
|
||||||
|
this.activeIndex = index
|
||||||
|
if (index==0)
|
||||||
|
{
|
||||||
|
this.textInfo='发布新的停诊'
|
||||||
|
}
|
||||||
|
else if(index==1)
|
||||||
|
{
|
||||||
|
this.textInfo='增加门诊安排'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
Column()
|
||||||
|
{
|
||||||
|
Text(this.textInfo).height(42).width(168).fontSize(17)
|
||||||
|
.backgroundColor($r('app.color.top_title'))
|
||||||
|
.fontColor($r('app.color.white'))
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
.borderRadius(4)
|
||||||
|
.margin({top:8})
|
||||||
|
}
|
||||||
|
.width('100%')
|
||||||
|
.height(57)
|
||||||
|
.backgroundColor(Color.White)
|
||||||
|
.onClick(() => {
|
||||||
|
if (this.activeIndex==0)
|
||||||
|
{
|
||||||
|
if(this.stopnum==2)
|
||||||
|
{
|
||||||
|
promptAction.showToast({ message: "有效停诊公告最多只能两个", duration: 1000 })
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
HMRouterMgr.push({ pageUrl: 'ReleaseOutpatient' })
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
else if(this.activeIndex==1)
|
||||||
|
{
|
||||||
|
HMRouterMgr.push({ pageUrl: 'AddOutpatient' })
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
Image($r('app.media.send_feed')).width(50).height(50)
|
||||||
|
.alignRules({
|
||||||
|
right: { anchor: "__container__", align: HorizontalAlign.End },
|
||||||
|
bottom:{ anchor: "__container__", align:VerticalAlign.Bottom}
|
||||||
|
})
|
||||||
|
.margin({bottom:100,right:30})
|
||||||
|
.onClick(() => {
|
||||||
|
HMRouterMgr.push({ pageUrl: 'OutpatientInformation' , param: {
|
||||||
|
note:this.note,
|
||||||
|
uuid:this.uuid
|
||||||
|
} })
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
mailanNoticeGet() {
|
||||||
|
|
||||||
|
|
||||||
|
const hashMap: HashMap<string, string> = new HashMap();
|
||||||
|
hdHttp.httpReq<string>(BasicConstant.mailanNoticeGet,hashMap).then(async (res: HdResponse<string>) => {
|
||||||
|
|
||||||
|
let json:PatientNoticeModel = JSON.parse(res+'') as PatientNoticeModel;
|
||||||
|
if(json.code == '200') {
|
||||||
|
this.uuid=json.data.uuid
|
||||||
|
this.note=json.data.notice
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}).catch((err: BusinessError) => {
|
||||||
|
|
||||||
|
console.info(`Response fails: ${err}`);
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export const TabBarItems: TabBarCompModel[] = [
|
||||||
|
{
|
||||||
|
|
||||||
|
label: '停诊公告'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
|
||||||
|
label: '门诊安排'
|
||||||
|
}
|
||||||
|
]
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
import { OutpatientComp } from 'netease'
|
||||||
|
import { AttributeUpdater } from '@kit.ArkUI';
|
||||||
|
import { HMDefaultGlobalAnimator, HMNavigation } from '@hadss/hmrouter';
|
||||||
|
|
||||||
|
class NavModifier extends AttributeUpdater<NavigationAttribute> {
|
||||||
|
initializeModifier(instance: NavigationAttribute): void {
|
||||||
|
instance.mode(NavigationMode.Stack);
|
||||||
|
instance.navBarWidth('100%');
|
||||||
|
instance.hideTitleBar(true);
|
||||||
|
instance.hideToolBar(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Entry
|
||||||
|
@Component
|
||||||
|
struct OutpatientPage {
|
||||||
|
modifier: NavModifier = new NavModifier();
|
||||||
|
|
||||||
|
build() {
|
||||||
|
RelativeContainer() {
|
||||||
|
HMNavigation({
|
||||||
|
navigationId:"OutpatientPageNavigation",
|
||||||
|
homePageUrl:'OutpatientPage',
|
||||||
|
options:{
|
||||||
|
standardAnimator:HMDefaultGlobalAnimator.STANDARD_ANIMATOR,
|
||||||
|
dialogAnimator:HMDefaultGlobalAnimator.DIALOG_ANIMATOR,
|
||||||
|
modifier:this.modifier
|
||||||
|
}
|
||||||
|
})
|
||||||
|
{
|
||||||
|
OutpatientComp()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.height('100%')
|
||||||
|
.width('100%')
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -43,7 +43,7 @@
|
|||||||
"pages/Netease/MyOpinionPage",
|
"pages/Netease/MyOpinionPage",
|
||||||
"pages/PatientsPage/GroupManagementPage",
|
"pages/PatientsPage/GroupManagementPage",
|
||||||
"pages/WebView/WebPageSnapshot",
|
"pages/WebView/WebPageSnapshot",
|
||||||
"pages/VideoPage/PLVMediaPlayerOnlyVideoPage"
|
"pages/VideoPage/PLVMediaPlayerOnlyVideoPage",
|
||||||
|
"pages/Netease/OutpatientPage"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||