notebook_item_f.dart 21.1 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461
import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/models/notebook.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/utils.dart';
import 'package:one_key/widgets/MyDivider.dart';
import 'package:one_key/widgets/h_empty_view.dart';
import 'package:one_key/widgets/round_button.dart';
import 'package:one_key/widgets/v_empty_view.dart';

/**
 * 详细模式
 */
class NoteBookItemF extends StatefulWidget {
  final num index;
  final Notebook notebook;

  NoteBookItemF(this.notebook, this.index);

  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return new NoteBookItemFState();
  }
}

class NoteBookItemFState extends State<NoteBookItemF> {
  _onOperateClick() {
    if (widget.notebook.operationText == "通知客户") {
      //  String _nameStr = '';
      //                                               String _tid = '';
      //                                               for (int i = 0;
      //                                                   i <
      //                                                       detailEntity
      //                                                           .tables.length;
      //                                                   i++) {
      //                                                 _nameStr +=
      //                                                     '${detailEntity.tables[i].name},';

      //                                                 _tid +=
      //                                                     '${detailEntity.tables[i].id},';
      //                                               }
      //                                               if (_tid.endsWith(',')) {
      //                                                 _tid = _tid.substring(
      //                                                     0, _tid.length - 1);
      //                                               }
      //                                               if (_nameStr
      //                                                   .endsWith(',')) {
      //                                                 _nameStr =
      //                                                     _nameStr.substring(
      //                                                         0,
      //                                                         _nameStr.length -
      //                                                             1);
      //                                               }
      NavigatorUtil.goInvicationPage(
          context,
          widget.notebook.id,
          widget.notebook.tableinfoStr,
          widget.notebook.ddate,
          widget.notebook.ddateStr,
          widget.notebook.phone,
          widget.notebook.ddate_solt,
          widget.notebook.rname == null ? '' : widget.notebook.rname,
          widget.notebook.sex == null ? '' : widget.notebook.sex,
          tid: widget.notebook.tid);
    }
  }

  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    Notebook notebook = widget.notebook;

    Color bgColor = notebook.status == "2" || notebook.status == "1"
        ? MyColours.color_438E93
        : Color.fromRGBO(191, 196, 212, 0.2);

    String detail = '';
    if (notebook.tid.split(",").length >= 2) {
      //连台
      detail += '[连台]:${notebook.tableinfoStr};';
    }
    if (notebook.cusdem != null && notebook.cusdem != '') {
      //有备注
      detail += '[备注]:${notebook.cusdem};';
    }
    if (true) {
      //有优惠
      detail += '[优惠]:';
    }
    if (detail.endsWith(';')) {
      detail = detail.substring(0, detail.length - 1);
    }
    return Stack(
        clipBehavior: Clip.none,
        alignment: Alignment.centerRight,
        children: [
          Container(
            padding: EdgeInsets.only(
              left: ScreenUtil().setWidth(16),
              top: ScreenUtil().setWidth(16),
              bottom: ScreenUtil().setWidth(16),
              right: ScreenUtil().setWidth(44),
            ),
            margin: EdgeInsets.only(right: ScreenUtil().setWidth(48)),
            decoration: BoxDecoration(
              color: MyColours.color_ffffff,
              borderRadius: BorderRadius.circular(ScreenUtil().setWidth(32)),
              border: Border.all(
                  color: Color.fromRGBO(191, 196, 212, 0.2),
                  width: ScreenUtil().setWidth(1)),
            ),
            child: Row(
              children: [
                Column(
                  crossAxisAlignment: CrossAxisAlignment.center,
                  children: [
                    Container(
                      width: ScreenUtil().setWidth(82 * 2),
                      margin:
                          EdgeInsets.only(bottom: ScreenUtil().setWidth(9 * 2)),
                      alignment: Alignment.center,
                      child: Text(
                        notebook.name,
                        maxLines: 1,
                        overflow: TextOverflow.ellipsis,
                        style: TextStyle(
                            color: bgColor,
                            fontWeight: FontWeight.bold,
                            fontSize: ScreenUtil().setSp(32)),
                      ),
                    ),
                    Padding(
                        padding: EdgeInsets.only(
                            bottom: ScreenUtil().setWidth(9 * 2)),
                        child: Row(
                          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                          children: [
                            Offstage(
                              offstage: notebook.tid.split(",").length < 2,
                              child: Image.asset(
                                Utils.getImgPath('ordered_lian'),
                                width: ScreenUtil().setWidth(18 * 2),
                              ),
                            ),
                            notebook.cusdem == null || notebook.cusdem == ''
                                ? SizedBox()
                                : HEmptyView(8),
                            Offstage(
                              offstage: notebook.cusdem == null ||
                                  notebook.cusdem == '',
                              child: Image.asset(
                                Utils.getImgPath('ordered_bei'),
                                width: ScreenUtil().setWidth(18 * 2),
                              ),
                            ),
                            false ? SizedBox() : HEmptyView(8),
                            Offstage(
                              offstage: true,
                              child: Image.asset(
                                Utils.getImgPath('ordered_hui'),
                                width: ScreenUtil().setWidth(18 * 2),
                              ),
                            )
                          ],
                        )),
                    widget.notebook.operationText == ''
                        ? SizedBox()
                        : RoundButton(
                            text: widget.notebook.operationText,
                            gradientStart: bgColor,
                            gradientEnd: bgColor,
                            textColor: MyColours.color_ffffff,
                            radius: ScreenUtil().setWidth(6),
                            fontSize: 28,
                            width: ScreenUtil().setWidth(56 * 2),
                          )
                  ],
                ),
                HEmptyView(24),
                MyDivider(
                  ScreenUtil().setWidth(2),
                  ScreenUtil().setWidth(66 * 2),
                  color: Color.fromRGBO(191, 196, 212, 0.2),
                ),
                HEmptyView(32),
                Expanded(
                    child: GestureDetector(
                        behavior: HitTestBehavior.translucent,
                        onTap: () {
                          NavigatorUtil.goNotebookDetailPage(
                              context, notebook.id, notebook.uid);
                        },
                        child: Column(
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: [
                            Row(
                              children: [
                                notebook.rnameStr == ''
                                    ? SizedBox()
                                    : Container(
                                        child: Text(
                                          notebook.rnameStr,
                                          maxLines: 1,
                                          overflow: TextOverflow.ellipsis,
                                          style: TextStyle(
                                              color: MyColours.color_260101,
                                              fontWeight: FontWeight.bold,
                                              fontSize: ScreenUtil().setSp(28)),
                                        ),
                                      ),
                                notebook.phoneStr.isNotEmpty
                                    ? Text(
                                        '(' +
                                            Utils.showEndPhone(
                                                '${notebook.phoneStr}') +
                                            ')',
                                        maxLines: 1,
                                        overflow: TextOverflow.ellipsis,
                                        style: TextStyle(
                                            color: MyColours.color_260101,
                                            fontWeight: FontWeight.bold,
                                            fontSize: ScreenUtil().setSp(28)),
                                      )
                                    : SizedBox(),
                                notebook.rnameStr == '' &&
                                        notebook.phoneStr.isEmpty
                                    ? SizedBox()
                                    : HEmptyView(8),
                                notebook.rnameStr == '' &&
                                        notebook.phoneStr.isEmpty
                                    ? SizedBox()
                                    : Expanded(
                                        child: Container(
                                        padding: EdgeInsets.symmetric(
                                            horizontal:
                                                ScreenUtil().setWidth(12),
                                            vertical: ScreenUtil().setWidth(4)),
                                        decoration: BoxDecoration(
                                            border: Border.all(
                                                width: ScreenUtil().setWidth(2),
                                                color: MyColours.color_A78E44),
                                            borderRadius:
                                                BorderRadius.circular(6)),
                                        child: Text(
                                          'biaoqianvipdsdsbiaoqianvipdsdsbiaoqianvipdsdsbiaoqianvipdsdsbiaoqianvipdsds',
                                          overflow: TextOverflow.ellipsis,
                                          style: TextStyle(
                                              color: MyColours.color_A78E44,
                                              fontSize: ScreenUtil().setSp(18)),
                                        ),
                                      ))
                              ],
                            ),
                            VEmptyView(6),
                            Text(
                              notebook.actual_pnum == null
                                  ? notebook.ddateStr
                                  : notebook.actual_pnum +
                                      '人' +
                                      '  ' +
                                      notebook.ddateStr,
                              maxLines: 1,
                              overflow: TextOverflow.ellipsis,
                              style: TextStyle(
                                  color: MyColours.color_260101,
                                  fontWeight: FontWeight.bold,
                                  fontSize: ScreenUtil().setSp(28)),
                            ),
                            detail == '' ? SizedBox() : VEmptyView(6),
                            notebook.nick_name == null
                                ? SizedBox()
                                : Text(
                                    notebook.nick_name + '订',
                                    maxLines: 1,
                                    overflow: TextOverflow.ellipsis,
                                    style: TextStyle(
                                        color: MyColours.color_999999,
                                        fontSize: ScreenUtil().setSp(24)),
                                  ),
                            notebook.nick_name == ''
                                ? VEmptyView(6)
                                : SizedBox(),
                            Text(
                              detail,
                              maxLines: 100,
                              overflow: TextOverflow.ellipsis,
                              style: TextStyle(
                                  color: MyColours.color_999999,
                                  fontSize: ScreenUtil().setSp(24)),
                            ),
                          ],
                        )))
              ],
            ),
          ),
          Positioned(
              right: ScreenUtil().setWidth(8),
              child: Image.asset(
                Utils.getImgPath(true ? 'ordered_open' : 'ordered_off'),
                width: ScreenUtil().setWidth(80),
              ))
        ]);
    //   return Stack(
    //     children: [
    //       Container(
    //         width: double.infinity,
    //         // height: ScreenUtil().setWidth(120),
    //         color: (widget.index % 2 == 0)
    //             ? MyColours.color_f7fdfd
    //             : MyColours.color_ffffff,
    //         child: Row(
    //           children: <Widget>[
    //             GestureDetector(
    //               behavior: HitTestBehavior.translucent,
    //               onTap: () {
    //                 NavigatorUtil.goNotebookDetailPage(
    //                     context, notebook.id, notebook.uid);
    //               },
    //               child: Row(
    //                 children: <Widget>[
    //                   Container(
    //                     width: ScreenUtil().setWidth(86 * 2),
    //                     padding: EdgeInsets.symmetric(
    //                         horizontal: ScreenUtil().setWidth(14),
    //                         vertical: ScreenUtil().setWidth(40)),
    //                     alignment: Alignment.center,
    //                     child: Column(
    //                       children: [
    //                         Text(
    //                           '${notebook.tableinfoStr?.trim()}',
    //                           maxLines: 30,
    //                           overflow: TextOverflow.ellipsis,
    //                           style: TextStyle(
    //                               color: textColor,
    //                               // fontWeight: FontWeight.bold,
    //                               fontSize: ScreenUtil().setSp(30)),
    //                         ),
    //                         notebook.type == '1'
    //                             ? Text('online',
    //                                 style: TextStyle(
    //                                     color: Colors.blue,
    //                                     // fontWeight: FontWeight.bold,
    //                                     fontSize: ScreenUtil().setSp(26)))
    //                             : SizedBox()
    //                       ],
    //                     ),
    //                   ),
    //                   MyDivider(
    //                     ScreenUtil().setWidth(1),
    //                     ScreenUtil().setHeight(90),
    //                     color: MyColours.color_ededed,
    //                   ),
    //                   Container(
    //                     width: ScreenUtil().setWidth(230),
    //                     alignment: Alignment.center,
    //                     child: Column(
    //                       mainAxisSize: MainAxisSize.min,
    //                       mainAxisAlignment: MainAxisAlignment.center,
    //                       children: <Widget>[
    //                         Text(
    //                           notebook.rnameStr,
    //                           // 'nnnnnnnnnnnnnn',
    //                           maxLines: 1,
    //                           overflow: TextOverflow.ellipsis,
    //                           style: TextStyle(
    //                               color: textColor,
    //                               // fontWeight: FontWeight.bold,
    //                               fontSize: ScreenUtil().setSp(30)),
    //                         ),
    //                         notebook.phoneStr.isNotEmpty
    //                             ? Padding(
    //                                 padding: EdgeInsets.only(
    //                                     top: ScreenUtil().setWidth(10)),
    //                                 child: Text(
    //                                   notebook.phoneStr,
    //                                   maxLines: 1,
    //                                   overflow: TextOverflow.ellipsis,
    //                                   style: TextStyle(
    //                                       color: textColor,
    //                                       // fontWeight: FontWeight.bold,
    //                                       fontSize: ScreenUtil().setSp(26)),
    //                                 ))
    //                             : Container()
    //                       ],
    //                     ),
    //                   ),
    //                   MyDivider(
    //                     ScreenUtil().setWidth(1),
    //                     ScreenUtil().setHeight(90),
    //                     color: MyColours.color_ededed,
    //                   ),
    //                   Container(
    //                     width: ScreenUtil().setWidth(159),
    //                     alignment: Alignment.center,
    //                     child: Text(
    //                       notebook.ddateStr,
    //                       style: TextStyle(
    //                           color: textColor,
    //                           // fontWeight: FontWeight.bold,
    //                           fontSize: ScreenUtil().setSp(30)),
    //                     ),
    //                   ),
    //                 ],
    //               ),
    //             ),
    //             MyDivider(
    //               ScreenUtil().setWidth(1),
    //               ScreenUtil().setHeight(90),
    //               color: MyColours.color_ededed,
    //             ),
    //             GestureDetector(
    //               onTap: _onOperateClick,
    //               behavior: HitTestBehavior.opaque,
    //               child: Container(
    //                 padding:
    //                     EdgeInsets.symmetric(vertical: ScreenUtil().setWidth(20)),
    //                 width: ScreenUtil().setWidth(184),
    //                 // color: Colors.red,
    //                 alignment: Alignment.center,
    //                 child: Text(
    //                   notebook.operationText,
    //                   style: TextStyle(
    //                       color: (notebook.status == "3" ||
    //                               notebook.status == "4" ||
    //                               notebook.status == "6")
    //                           ? MyColours.color_bfbfbf
    //                           : MyColours.color_2bb5b7,
    //                       // fontWeight: FontWeight.bold,
    //                       fontSize: ScreenUtil().setSp(30)),
    //                 ),
    //               ),
    //             ),
    //           ],
    //         ),
    //       ),
    //       notebook.orderInfo != null && notebook.orderInfo.status == '3'
    //           ? Container(
    //               alignment: Alignment.center,
    //               width: ScreenUtil().setWidth(52 * 2),
    //               height: ScreenUtil().setWidth(19 * 2),
    //               decoration: BoxDecoration(
    //                 color: MyColours.color_F59A23,
    //                 borderRadius: BorderRadius.only(
    //                     bottomRight: Radius.circular(ScreenUtil().setWidth(10))),
    //               ),
    //               child: Text(
    //                 '已买单',
    //                 style: TextStyle(
    //                     fontSize: ScreenUtil().setSp(24),
    //                     color: MyColours.color_ffffff,
    //                     fontWeight: FontWeight.bold),
    //               ))
    //           : Container()
    //     ],
    //   );
  }
}