message_dialog_item.dart 4 KB
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/models/message.dart';
import 'package:one_key/provider/message_dialog_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/utils/navigator_util.dart';
import 'package:one_key/widgets/common_button.dart';
import 'package:one_key/widgets/h_empty_view.dart';
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:provider/provider.dart';

class MessageDialogItem extends StatelessWidget {

  final Message message;
  final bool isTreated;
  final VoidCallback callback;
  MessageDialogItem(this.message,{this.isTreated=false,this.callback});

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    Color textColor=isTreated?MyColours.color_999999:MyColours.color_353535;
    MessageDialogModel messageDialogModel=Provider.of<MessageDialogModel>(context,listen: false);
    return GestureDetector(
      onTap: (){
        if(isTreated){
          NavigatorUtil.goNotebookDetailPage(context,message.rid.toString());
        }
      },
      child: Stack(
        children: <Widget>[
          Container(
            margin: EdgeInsets.symmetric(horizontal: ScreenUtil().setWidth(39),vertical: ScreenUtil().setWidth(12)),
            padding: EdgeInsets.fromLTRB(
                ScreenUtil().setWidth(12),
                ScreenUtil().setWidth(45),
                ScreenUtil().setWidth(21),
                ScreenUtil().setWidth(43)),
            decoration: BoxDecoration(
                color: MyColours.color_fefefe,
                borderRadius:
                BorderRadius.all(Radius.circular(ScreenUtil().setWidth(8)))),
            child:Column(
              mainAxisSize: MainAxisSize.min,
              crossAxisAlignment: CrossAxisAlignment.start,
              children: <Widget>[
                Row(
                  crossAxisAlignment: CrossAxisAlignment.center,
                  children: <Widget>[
                    Text(
                      "在线预订",
                      style: TextStyle(
                          color: textColor,
                          fontSize: ScreenUtil().setSp(28)),
                    ),
                    Spacer(),
                    Text(
                      message.cdateStr,
                      style: TextStyle(
                          color: MyColours.color_999999,
                          fontSize: ScreenUtil().setSp(24)),
                    ),
                  ],
                ),
                VEmptyView(20),
                Text(
                  "包间需求:${message.room_demand}",
                  style: TextStyle(
                      color: textColor,
                      fontSize: ScreenUtil().setSp(28)),
                ),
                VEmptyView(10),
                Text(
                  "就餐时间:${message.ddateStr}",
                  style: TextStyle(
                      color: textColor,
                      fontSize: ScreenUtil().setSp(28)),
                ),
                VEmptyView(10),
                Text(
                  "预订人:${message.rnameStr}",
                  style: TextStyle(
                      color: textColor,
                      fontSize: ScreenUtil().setSp(28)),
                ),
              ],
            ),
          ),
          Positioned(
            right: ScreenUtil().setWidth(60),
            bottom: ScreenUtil().setWidth(55),
            child:Offstage(
              offstage: isTreated?true:false,
              child: CommonButton(
                width: 160,
                height: 48,
                fontSize: 28,
                content: "立即处理",
                state: 1,
                onPress: () {
                  messageDialogModel.removeMessage(message.id);
                  NavigatorUtil.goHandleOnlinePage(context,message.rid.toString(),message.id,replace: messageDialogModel.messages.isEmpty);
                },
              ),
            ),
          )
        ],
      )
    );
  }
}