notebook_detail_page.dart 196 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 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379
import 'dart:convert';
import 'dart:io';

import 'package:common_utils/common_utils.dart';
import 'package:easy_contact_picker/easy_contact_picker.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_picker/flutter_picker.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/models/manager.dart';
import 'package:one_key/models/notebook_detail.dart';
import 'package:one_key/models/remark.dart';
import 'package:one_key/pages/detail/notebook_detail_change_page.dart';
import 'package:one_key/pages/detail/notebook_detail_change_page_f.dart';
import 'package:one_key/provider/message_dialog_model.dart';
import 'package:one_key/provider/notebook_detail_model.dart';
import 'package:one_key/provider/online_check_edit_provider.dart';
import 'package:one_key/provider/remark_manager_model.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/utils/NumLengthInputFormatter.dart';
import 'package:one_key/utils/dialog_util.dart';
import 'package:one_key/utils/event_bus.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/misc.dart';
import 'package:one_key/utils/utils.dart';
import 'package:one_key/widgets/MyDivider.dart';
import 'package:one_key/widgets/app_bar.dart';
import 'package:one_key/widgets/common_button.dart';
import 'package:one_key/widgets/dialog.dart';
import 'package:one_key/widgets/h_empty_view.dart';
import 'package:one_key/widgets/input_done_view.dart';
import 'package:one_key/widgets/loading.dart';
import 'package:one_key/widgets/need_item.dart';
import 'package:one_key/widgets/page_exception.dart';
import 'package:one_key/widgets/round_button.dart';
import 'package:one_key/widgets/row_multi_text.dart';
import 'package:one_key/widgets/table_item.dart';
import 'package:one_key/models/table.dart' as t;
import 'package:one_key/widgets/v_empty_view.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
import 'package:one_key/models/table.dart' as t;

import '../../app.dart';

class NotebookDetailPage extends StatefulWidget {
  final String rid;
  final String mid;
  final String uid;
  final bool fromNotify;

  NotebookDetailPage(this.rid, {this.fromNotify = false, this.mid, this.uid});

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

class NotebookDetailPageState extends State<NotebookDetailPage> {
  NotebookDetailModel detailModel;

  NotebookDetail detailEntity;

  String cusmanText = "";

  List<Manager> managers = []; //客户经理

  Manager manager = Manager();
  List cancelReasonList = [];
  bool isShowTF = false;
  // int paddingBottom;
  int paddingTop = 138;
  FocusNode _cancelNode = FocusNode();
  TextEditingController _cancelController = TextEditingController();
  StateSetter _cancelState;

  ScrollController _scrollController;

  String formatPhone = "";
  OnlineCheckEditProvider _onlineCheckEditProvider;
  List<String> personNumList = []; // 人数
  List dailyList = []; // 早市对应半点钟,午市对应半点钟、晚市对应半点钟
  String ddateHm = '';
  EasyContactPicker _contactPicker = EasyContactPicker();
  String nameStr;
  FocusNode _nameNode = FocusNode();
  FocusNode _phoneNode = FocusNode();
  bool showPhoneHistory = false; //显示客户历史记录

  TextEditingController _cusdemController = TextEditingController();
  FocusNode _cusdemNode = FocusNode();
  String currentRemark = '';
  // bool setTop = false;
  RemarkManagerModel remarkManagerModel;

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    WidgetsBinding.instance.addPostFrameCallback((_) async {
      _initCancel();
      _getReserveDetail();
      _getOrderInfo();
      _initPersonNumList();
      Map<String, String> params = {
        "uid": Provider.of<UserModel>(context, listen: false).user.openid
      };
      await remarkManagerModel.getRemarks(context, params);
      managers = await detailModel.getManagers(context);
      //添加listener监听
      //对应的TextField失去或者获取焦点都会回调此监听
      _cancelNode.addListener(() {
        if (_cancelNode.hasFocus) {
          print('得到焦点');
          paddingTop = 80;
          _scrollController.jumpTo(_scrollController.position.maxScrollExtent);
        } else {
          print('失去焦点');
          paddingTop = 138;
        }
        _cancelState(() {});
      });
      bus.on("refresh_detail", (args) {
        _getReserveDetail();
      });
    });
  }

  ///初始化时间 半个小时
  _initTime(int dateSolt) {
    ddateHm = detailEntity.ddateStr;
    UserModel userModel = Provider.of<UserModel>(context, listen: false);
    String str = '';
    if (dateSolt == 1) {
      //早餐
      str = userModel.user.morning.isEmpty
          ? "00:00-00:00"
          : userModel.user.morning;
      userModel.user.morning.isEmpty
          ? dailyList = []
          : dailyList = _getHourAndMinute(str, 1);
    } else if (dateSolt == 2) {
      //午餐
      str = userModel.user.noon.isEmpty ? "00:00-00:00" : userModel.user.noon;
      userModel.user.noon.isEmpty
          ? dailyList = []
          : dailyList = _getHourAndMinute(str, 2);
    } else if (dateSolt == 3) {
      //晚餐
      str = userModel.user.night.isEmpty ? "00:00-00:00" : userModel.user.night;
      userModel.user.night.isEmpty
          ? dailyList = []
          : dailyList = _getHourAndMinute(str, 3);
    }
  }

  // //根据获取时间 11:00-12:30 获取30分钟间隔组装的数组
  // _getHourAndMinute(String hourAndMinuteStr, int mnd) {
  //   List tempDate = hourAndMinuteStr.split("-");
  //   String beginDate = tempDate[0];
  //   String endDate = tempDate[1];
  //   List tempHour = beginDate.split(':');
  //   /*获取开始小时*/
  //   int beginHour = int.parse(tempHour[0]);
  //   /*获取开始分钟*/
  //   int beginMinute = int.parse(tempHour[1]);
  //   List<String> res = [];
  //   bool tempLimit = true;
  //   while (tempLimit) {
  //     String temp = _dealTime(beginHour, beginMinute);
  //     res.add(temp);
  //     if (temp == endDate) {
  //       tempLimit = false;
  //       break;
  //     }
  //     if (beginMinute == 30) {
  //       beginHour++;
  //       if (beginHour >= 24) {
  //         beginHour = 0;
  //       }
  //     }
  //     beginMinute = (beginMinute + 30) % 60;
  //   }
  //   return res;
  // }
  //根据获取时间 11:00-12:30 获取30分钟间隔组装的数组
  _getHourAndMinute(String hourAndMinuteStr, int mnd) {
    List tempDate = hourAndMinuteStr.split("-");
    String beginDate = tempDate[0];
    String endDate = tempDate[1];
    List tempHour = beginDate.split(':');

    /*获取开始小时*/
    int beginHour = int.parse(tempHour[0]);
    /*获取开始分钟*/
    int beginMinute = int.parse(tempHour[1]);
    List res = [];
    bool tempLimit = true;
    while (tempLimit) {
      String temp = _dealTime(beginHour, beginMinute);
      // if (mnd == 1) {
      //   //早市
      //   mornings.add(temp);
      // } else if (mnd == 2) {
      //   //午市
      //   noons.add(temp);
      // } else if (mnd == 3) {
      //   //晚市
      //   nights.add(temp);
      // }
      bool tempSelect = false;
      if (int.parse(detailEntity.is_set_ddate) == 1) //设置预订时间
      {
        if (temp == ddateHm) {
          tempSelect = true;
        }
      } else {
        if (mnd == 1) {
          if (temp == '08:00') {
            tempSelect = true;
          }
        } else if (mnd == 2) {
          if (temp == '12:00') {
            tempSelect = true;
          }
        } else if (mnd == 3) {
          if (temp == '18:00') {
            tempSelect = true;
          }
        }
      }
      Map tempMap = {'title': temp, 'select': tempSelect};
      res.add(tempMap);
      if (temp == endDate) {
        tempLimit = false;
        break;
      }
      if (beginMinute == 30) {
        beginHour++;
        if (beginHour >= 24) {
          beginHour = 0;
        }
      }
      beginMinute = (beginMinute + 30) % 60;
    }
    return res;
  }

  /// 根据时间和分钟组装 格式:11:00
  _dealTime(int begin, int mm) {
    String sb = '';
    if (begin < 10) {
      sb = '0$begin';
    } else {
      sb = '$begin';
    }
    sb = '$sb:';
    if (mm < 10) {
      sb = '${sb}0${mm}';
    } else {
      sb = '${sb}${mm}';
    }
    return sb;
  }

  //人数
  _initPersonNumList() {
    personNumList = [];
    for (int i = 1; i < 31; i++) {
      personNumList.add(i.toString());
    }
    personNumList.add('30以上');
  }

  //设置消息状态
  setMessageStatus() {
    if (widget.mid == null || widget.mid.isEmpty) return;
    bus.emit("remove_untreated_message", widget.mid);
    Map<String, String> params = {
      "sid": Provider.of<UserModel>(context, listen: false).user.sellerid,
      "id": widget.mid,
      "status": "is_handle"
    };
    MessageDialogModel messageDialogModel =
        Provider.of<MessageDialogModel>(context, listen: false);
    messageDialogModel.setMessageStatus(context, params);
  }

  @override
  void dispose() {
    super.dispose();
    bus.off("refresh_detail");
  }

  ///获取订单详情
  _getOrderInfo() async {
    UserModel userModel = Provider.of<UserModel>(context, listen: false);
    Map<String, String> params = {"rid": widget.rid};
    //remark信息获取
    await _onlineCheckEditProvider.getOrderInfo(context, params);
  }

  ///订座详情
  _getReserveDetail({bool showCicle = false}) async {
    detailEntity = await detailModel.getReserveDetail(
        context,
        {
          "rid": widget.rid,
        },
        showCircle: showCicle);
    _initTime(int.parse(detailEntity.ddate_solt));
    setState(() {
      detailModel.selectNum = detailEntity.actual_pum;
      detailModel.selectIndex = detailEntity.actual_pum != null
          ? personNumList.indexOf(detailEntity.actual_pum)
          : null;
      if (detailEntity.con_amount != null) {
        detailModel.prestrTF = detailEntity.con_amount;
        detailModel.numController.text = detailEntity.con_amount;
      }
      if (detailEntity.con_amount != null) {
        detailModel.prestrTF = detailEntity.con_amount;
        detailModel.strTF = detailEntity.con_amount;
        detailModel.numController.text = detailEntity.con_amount;
      }

      cusmanText = detailEntity.cusman.isEmpty ? "请选择" : detailEntity.cusman;
      formatPhone = detailEntity.phone;
      if (App.sp.getString("is_call_tel") != null &&
          App.sp.getString("is_call_tel") == "1") {
      } else {
        if (detailEntity.phone.isNotEmpty &&
            detailEntity.phone.length == 11 &&
            (detailEntity.status == "0" || detailEntity.status == "6")) {
          formatPhone = detailEntity.phone.substring(0, 3) +
              "****" +
              detailEntity.phone.substring(7);
        }
      }
    });
    if (detailEntity.status == "4") {
      setMessageStatus();
    }
  }

  /// 初始化取消原因数据
  _initCancel() {
    isShowTF = false;
    // paddingBottom = ScreenUtil.screenHeightDp.ceil() - 138 - 340;
    cancelReasonList = [
      {'title': '顾客取消', 'select': false},
      {'title': '顾客行程有变', 'select': false},
      {'title': '信息填写有误', 'select': false},
      {'title': '操作失误', 'select': false},
      {'title': '其他原因', 'select': false},
    ];
  }

  //设置当前客户经理
  _setCurrManager() {
    manager = managers.firstWhere((manager) => manager.userName == cusmanText,
        orElse: () => Manager());
    if (manager.id == null || manager.id.toString().isEmpty) return;
    Map<String, String> params = {
      "rid": detailEntity.id,
      "cusman_id": manager.id.toString(),
      "cusman": manager.userName
    };
    detailModel.setReserveCusmnan(context, params);
  }

  ///处理在线预订
  setReserveStatus(String status, {String tid = "", String desc}) async {
    // bus.emit("remove_untreated_message",widget.mid);
    UserModel userModel = Provider.of<UserModel>(context, listen: false);
    Map<String, String> causeMap = {
      "uid": userModel.user.openid,
      "uname": userModel.user.account,
      "desc": desc,
    };
    Map<String, String> params = {
      "rid": widget.rid,
      "status": status, //5安排包间 6 拒绝订单
      "tid": tid,
      // "mid": widget.mid,
      "cause": json.encode(causeMap),
      "uid": userModel.user.openid,
    };
    bool success =
        await detailModel.setReserveStatus(context, params, ifPush: false);
    if (success) {
      bus.emit("refresh_book_list");
      if (status == "4") {
        //取消预订
        bus.emit("refresh_tablemanager"); //刷新桌位
      }
      _getReserveDetail();
    }
  }

  /// 取消预订, 变更预订按钮
  Widget _cancelAndChangeBtn(GestureTapCallback onTap, String title,
      {Color bgColor = MyColours.color_ffffff,
      double width,
      Color fontColor = MyColours.color_199095}) {
    return InkWell(
      onTap: onTap,
      child: Container(
        width: width,
        decoration: BoxDecoration(
          color: bgColor,
          border: Border.all(
              color: Colors.transparent, width: ScreenUtil().setWidth(2)),
          borderRadius: BorderRadius.circular(ScreenUtil().setWidth(10)),
        ),
        child: Align(
          alignment: Alignment.center,
          child: Text(title,
              style: TextStyle(
                  color: fontColor, fontSize: ScreenUtil().setSp(34))),
        ),
      ),
    );
  }

  ///取消预订弹框
  _showCancelWidget(context) {
    _scrollController = ScrollController();
    showGeneralDialog(
        context: context,
        barrierDismissible: false,
        barrierLabel:
            MaterialLocalizations.of(context).modalBarrierDismissLabel,
        transitionDuration: const Duration(milliseconds: 150),
        pageBuilder: (BuildContext context, Animation animation,
            Animation secondaryAnimation) {
          return StatefulBuilder(builder: (context, state) {
            _cancelState = state;
            return GestureDetector(
              behavior: HitTestBehavior.opaque,
              // onTap: () {
              //   Navigator.of(context).pop();
              // },
              child: Container(
                decoration: BoxDecoration(
                  color: Color.fromRGBO(00, 00, 00, 0.5),
                ),
                padding: EdgeInsets.fromLTRB(
                    ScreenUtil().setWidth(50),
                    ScreenUtil().setWidth(paddingTop * 2),
                    ScreenUtil().setWidth(50),
                    ScreenUtil().setWidth(0)),
                child: Align(
                    alignment: Alignment.topCenter,
                    child: Container(
                      padding: EdgeInsets.all(ScreenUtil().setWidth(40)),
                      decoration: BoxDecoration(
                        color: Colors.white,
                        borderRadius:
                            BorderRadius.circular(ScreenUtil().setWidth(10)),
                      ),
                      child: Column(
                        mainAxisSize: MainAxisSize.min,
                        children: [
                          Stack(
                            children: [
                              Container(
                                height: ScreenUtil().setWidth(48),
                                child: Center(
                                  child: Text(
                                    '请选择取消原因',
                                    style: TextStyle(
                                        fontSize: ScreenUtil().setSp(34),
                                        fontWeight: FontWeight.bold,
                                        decoration: TextDecoration.none,
                                        color: MyColours.color_353535),
                                  ),
                                ),
                              ),
                              Positioned(
                                  top: ScreenUtil().setWidth(8),
                                  right: ScreenUtil().setWidth(0),
                                  child: GestureDetector(
                                      onTap: () {
                                        _initCancel();
                                        Navigator.of(context).pop();
                                      },
                                      child: Container(
                                        padding: EdgeInsets.only(left: 20),
                                        child: Image.asset(
                                          'assets/close.png',
                                          width: ScreenUtil().setWidth(32),
                                          height: ScreenUtil().setWidth(32),
                                        ),
                                      )))
                            ],
                          ),
                          VEmptyView(60),
                          SingleChildScrollView(
                            controller: _scrollController,
                            child: Column(
                              mainAxisSize: MainAxisSize.min,
                              children: cancelReasonList.map((value) {
                                return GestureDetector(
                                  onTap: () {
                                    for (var item in cancelReasonList) {
                                      item['select'] = false;
                                      isShowTF = false;
                                      // paddingBottom =
                                      //     ScreenUtil.screenHeightDp.ceil() -
                                      //         138 -
                                      //         340;
                                      if (item['title'] == value['title']) {
                                        item['select'] = true;
                                        if (item['title'] == '其他原因') {
                                          isShowTF = true;
                                          // paddingBottom = 130;
                                          // paddingBottom =
                                          //     ScreenUtil.screenHeightDp.ceil() -
                                          //         138 -
                                          //         340 -
                                          //         46;
                                        }
                                      }
                                    }
                                    state(() {});
                                  },
                                  child: Column(children: [
                                    Row(
                                      children: [
                                        Image.asset(
                                            value['select']
                                                ? 'assets/select.png'
                                                : 'assets/unselect.png',
                                            width: ScreenUtil().setWidth(44)),
                                        HEmptyView(30),
                                        Text(value['title'],
                                            style: TextStyle(
                                                fontSize:
                                                    ScreenUtil().setSp(32),
                                                fontWeight: FontWeight.normal,
                                                decoration: TextDecoration.none,
                                                color: MyColours.color_333333))
                                      ],
                                    ),
                                    value['title'] == '其他原因' && isShowTF
                                        ? Material(
                                            child: Container(
                                            color: Colors.white,
                                            padding: EdgeInsets.only(
                                                left:
                                                    ScreenUtil().setWidth(76)),
                                            child: TextField(
                                              maxLines: 1,
                                              controller: _cancelController,
                                              focusNode: _cancelNode,
                                              textAlignVertical:
                                                  TextAlignVertical.bottom,
                                              decoration: InputDecoration(
                                                hintText: "请填写原因",
                                                hintStyle: TextStyle(
                                                  color: MyColours.color_999999,
                                                  fontSize:
                                                      ScreenUtil().setSp(30),
                                                ),
                                                enabledBorder:
                                                    UnderlineInputBorder(
                                                  borderSide: BorderSide(
                                                      color: MyColours
                                                          .color_d8d8d8),
                                                ),
                                                // border: InputBorder.none,
                                              ),
                                              onChanged: (_) {
                                                setState(() {});
                                              },
                                              onEditingComplete: () {
                                                print('fff');
                                                _cancelNode.unfocus();
                                              },
                                              // keyboardType: TextInputType.number,
                                            ),
                                          ))
                                        : Container(),
                                    VEmptyView(40)
                                  ]),
                                );
                              }).toList(),
                            ),
                          ),
                          VEmptyView(15),
                          Material(
                            child: RoundButton(
                              onPressed: () {
                                String desc = '';
                                for (var value in cancelReasonList) {
                                  if (value['select'] == true) {
                                    desc = value['title'];
                                    if (value['title'] == '其他原因') {
                                      desc = _cancelController.text.trim();
                                      if (desc.isEmpty) {
                                        Utils.showToast("请填写原因");
                                        return;
                                      }
                                    }
                                  }
                                }

                                if (desc == '') {
                                  Utils.showToast('请选择原因');
                                  return;
                                }

                                Navigator.of(context).pop();
                                Loading.showLoading(context);

                                setReserveStatus('4', desc: desc);
                              },
                              text: '确认',
                              height: ScreenUtil().setWidth(80),
                              width: ScreenUtil().setWidth(300),
                              radius: ScreenUtil().setWidth(10),
                            ),
                          )
                        ],
                      ),
                    )),
              ),
            );
          });
        });
  }

  _getDateTime(String date) {
    DateTime dateTime =
        DateTime.fromMillisecondsSinceEpoch(int.parse(date.toString()) * 1000);
    return DateUtil.formatDate(dateTime, format: DateFormats.y_mo_d_h_m);
  }

  _refreshRemark(List<Remark> remark, StateSetter state, int index) {
    if (remark[index].selected) {
      if (currentRemark.length == 0) {
        currentRemark += '${remark[index].custom}';
      } else {
        if (!currentRemark.contains(remark[index].custom)) {
          if (currentRemark.endsWith('、')) {
            currentRemark += '${remark[index].custom}';
          } else {
            currentRemark += '、${remark[index].custom}';
          }
        }
      }
    } else {
      if (currentRemark.contains(remark[index].custom)) {
        int start = currentRemark.indexOf(remark[index].custom);
        int end = start + remark[index].custom.length;
        currentRemark = currentRemark.replaceRange(start, end, '');
        if (currentRemark.endsWith('、')) {
          currentRemark = currentRemark.substring(0, currentRemark.length - 1);
        }
        if (currentRemark.startsWith('、')) {
          currentRemark = currentRemark.substring(1, currentRemark.length);
        }
        if (currentRemark.contains('、、')) {
          currentRemark = currentRemark.replaceRange(
              currentRemark.indexOf('、、'),
              currentRemark.indexOf('、、') + 2,
              '、');
        }
      }
    }
    if (currentRemark.length > 100) {
      currentRemark = currentRemark.substring(0, 100);
    }
    state(() {
      _cusdemController.text = currentRemark;
    });

    // setState(() {
    //   // _notebookDetailChangeModel.customController.text = currentRemark;
    // });
  }

  _listWidget(
      List<Remark> remarks, StateSetter state, CustomCallBack callback) {
    List<Widget> lists = remarks.map((item) {
      return remarkButton(
          content: item.custom,
          isSelect: item.selected,
          onPress: () {
            state(() {
              item.selected = !item.selected;
            });
            callback(item);
          });
    }).toList();
    return lists;
  }

  //显示备注弹框
  _showCusdemDialog(BuildContext context, String rid) {
    return showModalBottomSheet(
        context: context,
        backgroundColor: MyColours.color_ffffff,
        barrierColor: MyColours.color_ffffff,
        isScrollControlled: true, //一:设为true,此时为全屏展示
        builder: (context) {
          currentRemark = '';
          _cusdemController.text = '';
          remarkManagerModel.ofenRemarks.forEach((element) {
            element.selected = false;
          });
          Widget widget = StatefulBuilder(builder: (context, state) {
            // locationState = state;
            return Container(
              width: double.infinity,
              height: ScreenUtil.screenHeightDp,
              color: MyColours.color_ffffff,
              child: Column(
                children: <Widget>[
                  VEmptyView(100),
                  Align(
                    alignment: Alignment.center,
                    child: Text(
                      '备注',
                      style: TextStyle(
                          color: MyColours.color_333333,
                          fontSize: ScreenUtil().setSp(32)),
                    ),
                  ),
                  VEmptyView(40),
                  //输入框
                  Container(
                    width: double.infinity,
                    margin: EdgeInsets.symmetric(
                        horizontal: ScreenUtil().setWidth(40)),
                    padding: EdgeInsets.symmetric(
                        horizontal: ScreenUtil().setWidth(40),
                        vertical: ScreenUtil().setWidth(20)),
                    alignment: Alignment.topLeft,
                    decoration: BoxDecoration(
                        color: MyColours.color_ffffff,
                        border: Border.all(
                            color: MyColours.color_cccccc,
                            width: ScreenUtil().setWidth(2)),
                        borderRadius:
                            BorderRadius.circular(ScreenUtil().setWidth(20))),
                    child: TextField(
                        controller: _cusdemController,
                        focusNode: _cusdemNode,
                        autofocus: true,
                        style: TextStyle(
                            color: MyColours.color_333333,
                            fontSize: ScreenUtil().setSp(28),
                            textBaseline: TextBaseline.alphabetic),
                        textAlignVertical: TextAlignVertical.center,
                        maxLines: 5,
                        maxLength: 100,
                        decoration: InputDecoration(
                          hintText: "请输入备注或点击快捷选择标签",
                          hintStyle: TextStyle(
                            color: MyColours.color_979797,
                            fontSize: ScreenUtil().setSp(28),
                          ),
                          contentPadding: EdgeInsets.zero,
                          border:
                              OutlineInputBorder(borderSide: BorderSide.none),
                        ),
                        keyboardType: TextInputType.text,
                        onChanged: (value) {
                          setState(() {
                            currentRemark = value ?? "";
                          });
                          // if (value.length < currRemark.length &&
                          //     currRemark.substring(value.length) != ',') {
                          //   setState(() {
                          //     currRemark = value ?? "";
                          //   });
                          //   if (sum == 0) {
                          //     for (int i = 0; i < remarks.length; i++) {
                          //       if (remarks[i].isSelect &&
                          //           remarks[i].remark == selectItem.last) {
                          //         setState(() {
                          //           remarks[i].isSelect = false;
                          //         });
                          //       }
                          //     }
                          //   }
                          //   sum++;
                          //   if (sum == selectItem.last.length ||
                          //       selectItem.length == 1 ||
                          //       selectItem.length == 0) {
                          //     selectItem.removeLast();
                          //     sum = 0;
                          //   }
                          // } else {
                          //   setState(() {
                          //     currRemark = value ?? "";
                          //   });
                          // }
                        }),
                  ),
                  remarkManagerModel.ofenRemarks.isNotEmpty
                      ? Expanded(
                          child: Container(
                          height: ScreenUtil().setWidth(100),
                          margin: EdgeInsets.symmetric(
                              horizontal: ScreenUtil().setWidth(40)),
                          child: ListView(
                            shrinkWrap: true,
                            children: <Widget>[
                              // VEmptyView(40),
                              // Text(
                              //   "快捷标签",
                              //   style: TextStyle(
                              //       fontSize: ScreenUtil().setSp(28),
                              //       color: MyColours.color_999999),
                              // ),
                              VEmptyView(60),
                              Container(
                                padding: EdgeInsets.symmetric(
                                    horizontal: ScreenUtil().setWidth(40)),
                                child: Wrap(
                                  children: _listWidget(
                                      remarkManagerModel.ofenRemarks, state,
                                      (item) {
                                    int index = remarkManagerModel.ofenRemarks
                                        .indexOf(item);
                                    _refreshRemark(
                                        remarkManagerModel.ofenRemarks,
                                        state,
                                        index);
                                  }),
                                  spacing: ScreenUtil().setWidth(20),
                                  runSpacing: ScreenUtil().setWidth(20),
                                  // alignment: WrapAlignment.start,
                                  // runAlignment: WrapAlignment.end,
                                ),
                              )
                              // VEmptyView(ScreenUtil().setWidth(84))
                            ],
                          ),
                        ))
                      // )
                      : Container(),
                  Row(
                    mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                    children: [
                      RoundButton(
                        text: '返回',
                        fontSize: 28,
                        isBold: false,
                        height: ScreenUtil().setWidth(70),
                        width: ScreenUtil().setWidth(180),
                        radius: ScreenUtil().setWidth(10),
                        gradientStart: MyColours.color_ffffff,
                        textColor: MyColours.color_333333,
                        borderColor: MyColours.color_199095,
                        gradientEnd: MyColours.color_ffffff,
                        onPressed: () {
                          //备注返回
                          currentRemark = '';
                          _cusdemController.text = '';
                          Navigator.pop(context);
                        },
                      ),
                      RoundButton(
                        text: '保存',
                        fontSize: 28,
                        isBold: false,
                        height: ScreenUtil().setWidth(70),
                        width: ScreenUtil().setWidth(180),
                        radius: ScreenUtil().setWidth(10),
                        onPressed: () async {
                          if (_cusdemController.text.trim().length == 0) {
                            Utils.showToast('请输入备注或点击快捷选择标签');
                            return;
                          }
                          //备注保存
                          bool sucess = await detailModel.upReserveInfo(
                              context, rid,
                              cusdem: _cusdemController.text);

                          if (sucess) {
                            await _getReserveDetail(showCicle: false);
                            Navigator.pop(context);
                          }
                        },
                      )
                    ],
                  ),
                  VEmptyView(60)
                ],
              ),
              // Positioned(
              //     // bottom: MediaQuery.of(context).viewInsets.bottom > 0
              //     //     ? MediaQuery.of(context).viewInsets.bottom
              //     //     //  +
              //     //     // ScreenUtil().setWidth(20)
              //     //     : 20, //300换成键盘高度值效果更好,
              //     child: ),
            );
          });
          return widget;
        });
  }

  List<Widget> _tableWidget(List<t.Table> tables) {
    List<Widget> list = [];
    tables.forEach((element) {
      list.add(Container(
        // height: ScreenUtil().setWidth(50),
        padding: EdgeInsets.symmetric(
            horizontal: ScreenUtil().setWidth(20),
            vertical: ScreenUtil().setWidth(18)),
        margin: EdgeInsets.only(
            right: tables.length > 0 ? ScreenUtil().setWidth(10) : 0),
        decoration: BoxDecoration(
            borderRadius: BorderRadius.circular(ScreenUtil().setWidth(10)),
            color: MyColours.color_199095),
        child: Text(
          element.name,
          style: TextStyle(
              color: MyColours.color_ffffff, fontSize: ScreenUtil().setSp(30)),
        ),
      ));
    });
    return list;
  }

  ///底部弹框,设置时间30分钟间隔布局
  _showDateChooseWidget(BuildContext context) async {
    String title = '早餐';
    if (detailEntity.ddate_solt == '2') {
      title = '午餐';
    } else if (detailEntity.ddate_solt == '3') {
      title = '晚餐';
    }

    for (var itemSun in dailyList) {
      itemSun['select'] = false;
      if (itemSun['title'] == detailEntity.ddateStr) {
        itemSun['select'] = true;
      }
    }
    // if (item['isSelect'] == true) {

    // }

    final option = await showModalBottomSheet(
        context: context,
        isScrollControlled: true,
        backgroundColor: Colors.white,
        builder: (context) {
          return StatefulBuilder(builder: (context, state) {
            return SafeArea(
                child: Container(
              decoration: BoxDecoration(
                  borderRadius:
                      BorderRadius.circular(ScreenUtil().setWidth(10))),
              child: Column(
                mainAxisSize: MainAxisSize.min,
                children: [
                  InkWell(
                    onTap: () {
                      Navigator.pop(context);
                    },
                    child: Align(
                      alignment: Alignment.centerRight,
                      child: Container(
                        padding: EdgeInsets.fromLTRB(
                            ScreenUtil().setWidth(40),
                            ScreenUtil().setWidth(40),
                            ScreenUtil().setWidth(40),
                            ScreenUtil().setWidth(10)),
                        child: Image.asset(
                          'assets/close.png',
                          width: ScreenUtil().setWidth(32),
                          height: ScreenUtil().setWidth(32),
                        ),
                      ),
                    ),
                  ),
                  Center(
                    child: Text(title,
                        style: TextStyle(
                            fontSize: ScreenUtil().setSp(34),
                            fontWeight: FontWeight.bold,
                            color: MyColours.color_353535)),
                  ),
                  Padding(
                      padding: EdgeInsets.symmetric(
                          horizontal: ScreenUtil().setWidth(60),
                          vertical: ScreenUtil().setWidth(40)),
                      child: GridView.builder(
                          padding:
                              EdgeInsets.only(top: ScreenUtil().setWidth(20)),
                          shrinkWrap: true,
                          cacheExtent: ScreenUtil().setWidth(0),
                          itemCount: dailyList.length,
                          gridDelegate:
                              SliverGridDelegateWithFixedCrossAxisCount(
                                  crossAxisCount: 3,
                                  childAspectRatio: 80 / 36,
                                  mainAxisSpacing:
                                      ScreenUtil().setWidth(15 * 2),
                                  crossAxisSpacing:
                                      ScreenUtil().setWidth(38 * 2)),
                          itemBuilder: (BuildContext context, int index) {
                            // locationState = state;
                            return CustomButton(
                              onTap: () async {
                                // state(() {
                                for (var item in dailyList) {
                                  item['select'] = false;
                                  if (item['title'] ==
                                      dailyList[index]['title']) {
                                    item['select'] = true;

                                    // _homeEnterModel.isSetDate = "1";
                                    ddateHm = item['title'];
                                  }
                                }

                                detailModel.notifyListeners();
                                Navigator.pop(context);
                                // setState(() {
                                //   selectPnum = value.first;
                                //   pnum = pnumlist[value.first];
                                // });
                                bool sucess = await detailModel.upReserveInfo(
                                    context, widget.rid,
                                    dateStr: ddateHm,
                                    ymd: detailEntity.ddateYMD);

                                if (sucess) {
                                  bus.emit("refresh_book_list"); //刷新已预订列表
                                  await _getReserveDetail(showCicle: false);
                                }
                              },
                              width: 80,
                              height: 36,
                              dateText: dailyList[index]['title'].toString(),
                              dayText: '',
                              isSelect: dailyList[index]['select'],
                            );
                          }))
                ],
              ),
            ));
          });
        });
  }

  _openAddressBook() async {
    if (!(await checkContactPermission())) {
      PermissionStatus permissionStatus = await contactPermissionStatus();
      if (permissionStatus == PermissionStatus.permanentlyDenied) {
        //用户选择不在弹出权限提示框
        print('never');
        DialogUtil.openAlertDialog(
            context, '未获得通讯录权限', "请在手机的权限管理里,将通讯录权限开启", '去设置', 340.0,
            onTap: () {
          openSetting();
          Navigator.pop(context, '');
        });
      } else {
        // 申请权限
        bool canContacts = await requestContactPermission();
        if (canContacts) {
          _getContactData();
        } else {
          //拒绝通讯录权限 , 苹果拒绝权限后,不再提示权限框,进入此处
          DialogUtil.openAlertDialog(
              context, '未获得通讯录权限', "请在手机的权限管理里,将通讯录权限开启。", '去设置', 340.0,
              onTap: () {
            openSetting();
            Navigator.pop(context, '');
          });
        }
      }
    } else {
      _getContactData();
    }
  }

  _getContactData() async {
    Contact contact = await _contactPicker.selectContactWithNative();
    setState(() {
      String fullName =
          contact.fullName.replaceAll(new RegExp(r"\s+\b|\b\s"), "");
      String phone =
          contact.phoneNumber.replaceAll(new RegExp(r"\s+\b|\b\s"), "");
      if (fullName.compareTo(phone) == 0) {
        fullName = '';
      } else {
        fullName = contact.fullName;
      }
      detailModel.phoneController.text =
          contact.phoneNumber.replaceAll(new RegExp(r"\s+"), "");
      nameStr = fullName;
      // _homeEnterModel.nameController.text = fullName + _nameSuffix();
      _addNameSuffix(fullName, _nameSuffix());
    });
  }

  _addNameSuffix(String name, String suffix) {
    if (name == detailModel.nameController.text &&
        detailModel.nameController.text.endsWith(suffix)) {
      return;
    }
    detailModel.nameController.text = name + suffix;
  }

  //姓名后缀
  _nameSuffix() {
    for (var item in detailModel.sexList) {
      if (item['select'] == true) {
        return item['title'];
      }
    }
  }

  Widget _callButton(
      {GestureTapCallback onPress,
      content,
      hasLeftBorder = true,
      isSelect = false}) {
    return InkWell(
      onTap: onPress,
      child: Container(
        width: ScreenUtil().setWidth(84),
        height: ScreenUtil().setHeight(48),
        decoration: BoxDecoration(
            color: isSelect ? MyColours.color_199095 : MyColours.color_fefefe,
            border: Border(
                bottom: BorderSide(
                    color: MyColours.color_6AB6B9,
                    width: ScreenUtil().setWidth(2)),
                top: BorderSide(
                    color: MyColours.color_6AB6B9,
                    width: ScreenUtil().setWidth(2)),
                left: hasLeftBorder
                    ? BorderSide(
                        color: MyColours.color_6AB6B9,
                        width: ScreenUtil().setWidth(2))
                    : BorderSide.none,
                right: BorderSide(
                    color: MyColours.color_6AB6B9,
                    width: ScreenUtil().setWidth(2)))),
        child: Align(
          alignment: Alignment.center,
          child: Text(
            content,
            style: TextStyle(
                color: isSelect ? Colors.white : MyColours.color_353535,
                fontSize: ScreenUtil().setSp(28)),
          ),
        ),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    if (MediaQuery.of(context).viewInsets.bottom == 0) {
      _cancelNode.unfocus();
    }
    remarkManagerModel = Provider.of<RemarkManagerModel>(context, listen: true);
    detailModel = Provider.of<NotebookDetailModel>(context, listen: true);
    _onlineCheckEditProvider =
        Provider.of<OnlineCheckEditProvider>(context, listen: true);
    UserModel userModel = Provider.of<UserModel>(context, listen: false);
    print(userModel.user.role_name);
    print(userModel.user.openid);
    print(widget.rid);
    print(widget.uid);
    return Scaffold(
      resizeToAvoidBottomInset: false,
      body: InkWell(
          onTap: () {
            FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
          },
          child: SafeArea(
              child: WillPopScope(
            child: Container(
              color: MyColours.color_ffffff,
              child: Column(
                children: <Widget>[
                  MyAppBar(
                    "订座详情",
                    showBack: true,
                    callback: () {
                      if (widget.fromNotify) {
                        NavigatorUtil.goHomePage(context, initialIndex: 0);
                      } else {
                        Navigator.of(context).pop();
                      }
                    },
                  ),
                  Expanded(child: Consumer<NotebookDetailModel>(
                      builder: (context1, model, _) {
                    if (model.pageState != PageState.Success) {
                      return ExceptionPage(
                        pageState: model.pageState,
                        callback: () async {
                          // _getOrderListData();
                          _initCancel();
                          _getReserveDetail();
                          _getOrderInfo();
                          managers = await detailModel.getManagers(context);
                        },
                        emptyMsg: "暂时没有预订列表信息哦",
                        emptyImg: "empty_search",
                        showMsg: "加载中,请稍后...",
                      );
                    } else {
                      return Column(
                        children: [
                          Expanded(
                            child: DefaultTextStyle(
                                style:
                                    TextStyle(decoration: TextDecoration.none),
                                child: Container(
                                  color: MyColours.color_ffffff,
                                  child: SingleChildScrollView(
                                    child: Container(
                                        color: MyColours.color_ffffff,
                                        padding: EdgeInsets.symmetric(
                                            horizontal:
                                                ScreenUtil().setWidth(40)),
                                        child: Column(
                                          children: <Widget>[
                                            Column(children: [
                                              Container(
                                                color: MyColours.color_ffffff,
                                                width: double.infinity,
                                                padding: EdgeInsets.symmetric(
                                                    vertical: ScreenUtil()
                                                        .setWidth(25)),
                                                alignment: Alignment.center,
                                                child: Row(
                                                  crossAxisAlignment:
                                                      CrossAxisAlignment.center,
                                                  mainAxisAlignment:
                                                      MainAxisAlignment
                                                          .spaceBetween,
                                                  children: <Widget>[
                                                    Text(
                                                      '预订桌位',
                                                      style: TextStyle(
                                                          color: MyColours
                                                              .color_333333,
                                                          fontSize: ScreenUtil()
                                                              .setSp(30)),
                                                    ),
                                                    detailEntity.tables.length <
                                                            3
                                                        ? Row(
                                                            children:
                                                                _tableWidget(
                                                                    detailEntity
                                                                        .tables),
                                                          )
                                                        : InkWell(
                                                            onTap: () {
                                                              DialogUtil
                                                                  .openFTablesDialog(
                                                                      context,
                                                                      detailEntity
                                                                          .tables);
                                                            },
                                                            child: Container(
                                                              // height: ScreenUtil()
                                                              //     .setWidth(
                                                              //         50),
                                                              padding: EdgeInsets.symmetric(
                                                                  horizontal:
                                                                      ScreenUtil()
                                                                          .setWidth(
                                                                              20),
                                                                  vertical:
                                                                      ScreenUtil()
                                                                          .setWidth(
                                                                              18)),
                                                              decoration: BoxDecoration(
                                                                  borderRadius: BorderRadius.circular(
                                                                      ScreenUtil()
                                                                          .setWidth(
                                                                              10)),
                                                                  color: MyColours
                                                                      .color_199095),
                                                              child: Text(
                                                                '${detailEntity.tables.length}桌  查看',
                                                                style: TextStyle(
                                                                    color: MyColours
                                                                        .color_ffffff,
                                                                    fontSize: ScreenUtil()
                                                                        .setSp(
                                                                            30)),
                                                              ),
                                                            ),
                                                          )
                                                  ],
                                                ),
                                              ),
                                              // RowMultiText(
                                              //     "预订桌位",
                                              //     (detailEntity.tables.length
                                              //             .toString() +
                                              //         "个")),
                                              // Align(
                                              //     alignment:
                                              //         Alignment.centerRight,
                                              //     child: Offstage(
                                              //       offstage: detailEntity
                                              //                   .tables.length >
                                              //               0
                                              //           ? false
                                              //           : true,
                                              //       child: Container(
                                              //         height: ScreenUtil()
                                              //             .setHeight(210),
                                              //         child: ListView.builder(
                                              //           itemBuilder:
                                              //               (BuildContext contxt,
                                              //                   int index) {
                                              //             return TableItem(
                                              //                 detailEntity
                                              //                     .tables[index]);
                                              //           },
                                              //           itemCount: detailEntity
                                              //               .tables.length,
                                              //           shrinkWrap: true,
                                              //           scrollDirection:
                                              //               Axis.horizontal,
                                              //         ),
                                              //       ),
                                              //     )),
                                              RowMultiText(
                                                  "预订日期", detailEntity.ddateF,
                                                  textColor:
                                                      MyColours.color_333333),
                                              Stack(
                                                alignment: Alignment.center,
                                                children: <Widget>[
                                                  RowMultiText("时段",
                                                      detailEntity.ddateSolt,
                                                      textColor: MyColours
                                                          .color_333333),
                                                  Image.asset(
                                                    detailEntity.statuImgAssets,
                                                    width: ScreenUtil()
                                                        .setWidth(114),
                                                    height: ScreenUtil()
                                                        .setWidth(56),
                                                  )
                                                ],
                                              ),

                                              TitleAndBtn(
                                                title: "时间",
                                                content: ddateHm,
                                                list: personNumList,
                                                detailModel: model,
                                                callback: () {
                                                  //时间弹窗
                                                  FocusScope.of(context)
                                                      .requestFocus(
                                                          FocusNode()); //隐藏键盘
                                                  _showDateChooseWidget(
                                                      context);
                                                },
                                              ),

                                              // Offstage(
                                              //   offstage: detailEntity.type == "0"
                                              //       ? false
                                              //       : true,
                                              //   child:
                                              TitleAndBtn(
                                                  title: "人数",
                                                  content:
                                                      detailEntity.actual_pum,
                                                  list: personNumList,
                                                  detailModel: model,
                                                  callback: () {
                                                    FocusScope.of(context)
                                                        .requestFocus(
                                                            FocusNode()); //隐藏键盘
                                                    DialogUtil.showSelectCusmanDialog(
                                                            context,
                                                            personNumList,
                                                            (value) async {
                                                      if (value != null) {
                                                        detailModel
                                                                .selectIndex =
                                                            value.first;
                                                        detailModel.selectNum =
                                                            personNumList[
                                                                value.first];
                                                        // detailModel
                                                        //     .notifyListeners();
                                                        // setState(() {
                                                        //   selectPnum = value.first;
                                                        //   pnum = pnumlist[value.first];
                                                        // });
                                                        bool sucess = await detailModel
                                                            .upReserveInfo(
                                                                context,
                                                                widget.rid,
                                                                actualPum:
                                                                    detailModel
                                                                        .selectNum);

                                                        if (sucess) {
                                                          EventBus().emit(
                                                              "refresh_tablemanager"); //刷新桌位
                                                          await _getReserveDetail(
                                                              showCicle: false);
                                                        }
                                                      }
                                                    },
                                                            selecteds: detailModel
                                                                        .selectIndex ==
                                                                    null
                                                                ? []
                                                                : [
                                                                    detailModel
                                                                        .selectIndex
                                                                  ])
                                                        .then((value) {});
                                                  }),
                                              // ),
                                              // Offstage(
                                              //   offstage:
                                              //       detailEntity.demands.length <=
                                              //               0
                                              //           ? true
                                              //           : false,
                                              //   child: Column(
                                              //     children: <Widget>[
                                              //       RowMultiText(
                                              //           "包间需求",
                                              //           (detailEntity.demands
                                              //                       .length
                                              //                       .toString() +
                                              //                   "个") ??
                                              //               ""),
                                              //       Align(
                                              //           alignment:
                                              //               Alignment.centerRight,
                                              //           child: Offstage(
                                              //             offstage: detailEntity
                                              //                         .demands
                                              //                         .length >
                                              //                     0
                                              //                 ? false
                                              //                 : true,
                                              //             child: Container(
                                              //               height: ScreenUtil()
                                              //                   .setHeight(210),
                                              //               child:
                                              //                   ListView.builder(
                                              //                 itemBuilder:
                                              //                     (BuildContext
                                              //                             contxt,
                                              //                         int index) {
                                              //                   return NeedItem(
                                              //                       detailEntity
                                              //                               .demands[
                                              //                           index]);
                                              //                 },
                                              //                 itemCount:
                                              //                     detailEntity
                                              //                         .demands
                                              //                         .length,
                                              //                 shrinkWrap: true,
                                              //                 scrollDirection:
                                              //                     Axis.horizontal,
                                              //               ),
                                              //             ),
                                              //           ))
                                              //     ],
                                              //   ),
                                              // ),
                                              TitleAndTextfield(
                                                title: "消费金额",
                                                detailModel: detailModel,
                                                rid: widget.rid,
                                              ),
                                              Offstage(
                                                offstage: detailEntity
                                                            .nick_name ==
                                                        '' ||
                                                    detailEntity.nick_name ==
                                                        null,
                                                child: RowMultiText(
                                                    "记录人",
                                                    '${detailEntity.nick_name ?? ''}' +
                                                        '  ' +
                                                        '${detailEntity.seller_user_phone ?? ''}',
                                                    textColor:
                                                        MyColours.color_333333),
                                              ),
                                              RowMultiText(
                                                  "下单时间",
                                                  _getDateTime(
                                                      detailEntity.cdate),
                                                  textColor:
                                                      MyColours.color_333333),
                                              detailEntity.cusdem != null &&
                                                      detailEntity.cusdem != ''
                                                  ? RowMultiText(
                                                      "备注", detailEntity.cusdem,
                                                      textColor: MyColours
                                                          .color_333333)
                                                  : TitleAndBtn(
                                                      title: "备注",
                                                      content:
                                                          detailEntity.cusdem ??
                                                              "",
                                                      callback: () {
                                                        //备注弹窗
                                                        _showCusdemDialog(
                                                            context,
                                                            widget.rid);
                                                      },
                                                    ),

                                              Offstage(
                                                offstage: (detailEntity
                                                                .status ==
                                                            "4" &&
                                                        detailEntity.cancel !=
                                                            null)
                                                    ? false
                                                    : true,
                                                child: Column(
                                                  children: <Widget>[
                                                    MyDivider(
                                                        double.infinity,
                                                        ScreenUtil()
                                                            .setHeight(2)),
                                                    RowMultiText(
                                                        "取消原因",
                                                        detailEntity
                                                                .cancel?.desc ??
                                                            "",
                                                        textAlign:
                                                            TextAlign.left,
                                                        textColor: MyColours
                                                            .color_333333),
                                                    RowMultiText(
                                                        "取消时间",
                                                        detailEntity.cancel
                                                                ?.cdateStr ??
                                                            "",
                                                        textColor: MyColours
                                                            .color_333333),
                                                    RowMultiText(
                                                        "操作人",
                                                        detailEntity.abolition ==
                                                                '2'
                                                            ? '顾客在线取消'
                                                            : detailEntity
                                                                    .cancel
                                                                    ?.uname ??
                                                                "",
                                                        textColor: MyColours
                                                            .color_333333),
                                                  ],
                                                ),
                                              ),
                                              _onlineCheckEditProvider
                                                              .orderInfoSunModel !=
                                                          null &&
                                                      _onlineCheckEditProvider
                                                              .orderInfoSunModel
                                                              .invoice !=
                                                          null &&
                                                      detailEntity.status != "4"
                                                  ? MyDivider(double.infinity,
                                                      ScreenUtil().setHeight(1))
                                                  : Container(),
                                              _onlineCheckEditProvider
                                                              .orderInfoSunModel !=
                                                          null &&
                                                      _onlineCheckEditProvider
                                                              .orderInfoSunModel
                                                              .invoice !=
                                                          null &&
                                                      detailEntity.status != "4"
                                                  ? InkWell(
                                                      onTap: () {
                                                        NavigatorUtil
                                                            .goInvoiceDetailPage(
                                                                context,
                                                                fromNotify:
                                                                    false,
                                                                rid:
                                                                    widget.rid);
                                                      },
                                                      child: Container(
                                                        height: ScreenUtil()
                                                            .setWidth(87 * 2),
                                                        child: Row(
                                                          mainAxisAlignment:
                                                              MainAxisAlignment
                                                                  .spaceBetween,
                                                          children: [
                                                            Text(
                                                              "发票抬头",
                                                              style: TextStyle(
                                                                  color: MyColours
                                                                      .color_333333,
                                                                  fontSize:
                                                                      ScreenUtil()
                                                                          .setSp(
                                                                              30)),
                                                            ),
                                                            Spacer(),
                                                            Column(
                                                              mainAxisAlignment:
                                                                  MainAxisAlignment
                                                                      .center,
                                                              children: [
                                                                Text(
                                                                    _onlineCheckEditProvider
                                                                        .orderInfoSunModel
                                                                        .invoice
                                                                        .title,
                                                                    style: TextStyle(
                                                                        color: MyColours
                                                                            .color_353535,
                                                                        fontWeight:
                                                                            FontWeight
                                                                                .bold,
                                                                        fontSize:
                                                                            ScreenUtil().setSp(33))),
                                                                _onlineCheckEditProvider.orderInfoSunModel.invoice.taxnumber ==
                                                                            null ||
                                                                        _onlineCheckEditProvider.orderInfoSunModel.invoice.taxnumber ==
                                                                            ''
                                                                    ? Container()
                                                                    : Column(
                                                                        children: [
                                                                          VEmptyView(
                                                                              10),
                                                                          Text(
                                                                              '税号:${_onlineCheckEditProvider.orderInfoSunModel.invoice.taxnumber}',
                                                                              style: TextStyle(color: MyColours.color_707070, fontSize: ScreenUtil().setSp(28)))
                                                                        ],
                                                                      )
                                                              ],
                                                            ),
                                                            HEmptyView(20),
                                                            Image.asset(
                                                              Utils.getImgPath(
                                                                  'arr_right_gray'),
                                                              width:
                                                                  ScreenUtil()
                                                                      .setWidth(
                                                                          12),
                                                              height:
                                                                  ScreenUtil()
                                                                      .setWidth(
                                                                          22),
                                                            )
                                                          ],
                                                        ),
                                                      ),
                                                    )
                                                  : Container(),
                                              _onlineCheckEditProvider
                                                              .orderInfoSunModel !=
                                                          null &&
                                                      _onlineCheckEditProvider
                                                              .orderInfoSunModel
                                                              .price !=
                                                          null &&
                                                      detailEntity.status != "4"
                                                  ? MyDivider(double.infinity,
                                                      ScreenUtil().setHeight(1))
                                                  : Container(),
                                              _onlineCheckEditProvider
                                                              .orderInfoSunModel !=
                                                          null &&
                                                      _onlineCheckEditProvider
                                                              .orderInfoSunModel
                                                              .price !=
                                                          null &&
                                                      _onlineCheckEditProvider
                                                              .orderInfoSunModel
                                                              .price !=
                                                          '0.00' &&
                                                      detailEntity.status != "4"
                                                  ? InkWell(
                                                      onTap: () {
                                                        //在线买单消息 去查看 跳转在线买单详情页面
                                                        NavigatorUtil
                                                            .goOnlineCheckDetailPage(
                                                                context,
                                                                rid:
                                                                    '${widget.rid}');
                                                      },
                                                      child: Container(
                                                        height: ScreenUtil()
                                                            .setWidth(87 * 2),
                                                        child: Row(
                                                          mainAxisAlignment:
                                                              MainAxisAlignment
                                                                  .spaceBetween,
                                                          children: [
                                                            Text(
                                                              "实收金额:",
                                                              style: TextStyle(
                                                                  color: MyColours
                                                                      .color_707070,
                                                                  fontSize:
                                                                      ScreenUtil()
                                                                          .setSp(
                                                                              30)),
                                                            ),
                                                            HEmptyView(20),
                                                            Text(
                                                              '¥ ${_onlineCheckEditProvider.orderInfoSunModel.price}',
                                                              style: TextStyle(
                                                                  color: MyColours
                                                                      .color_353535,
                                                                  fontSize:
                                                                      ScreenUtil()
                                                                          .setSp(
                                                                              32)),
                                                            ),
                                                            Spacer(),
                                                            Text('查看明细',
                                                                style: TextStyle(
                                                                    color: MyColours
                                                                        .color_707070,
                                                                    fontSize: ScreenUtil()
                                                                        .setSp(
                                                                            28))),
                                                            HEmptyView(20),
                                                            Image.asset(
                                                              Utils.getImgPath(
                                                                  'arr_right_gray'),
                                                              width:
                                                                  ScreenUtil()
                                                                      .setWidth(
                                                                          12),
                                                              height:
                                                                  ScreenUtil()
                                                                      .setWidth(
                                                                          22),
                                                            )
                                                          ],
                                                        ),
                                                      ),
                                                    )
                                                  : Container(),
                                              (detailEntity.rnameStr ==
                                                              '' ||
                                                          detailEntity
                                                                  .rnameStr ==
                                                              null) &&
                                                      (detailEntity.phone ==
                                                              '' ||
                                                          detailEntity.phone ==
                                                              null) &&
                                                      detailEntity.status ==
                                                          "4" &&
                                                      detailEntity.cancel !=
                                                          null
                                                  ? SizedBox()
                                                  : MyDivider(double.infinity,
                                                      ScreenUtil().setWidth(2)),
                                            ]),
                                            // RowMultiText(
                                            //     "客户姓名", detailEntity.rnameStr ),

                                            //第一行 顾客姓名
                                            (detailEntity.rnameStr == '' ||
                                                        detailEntity.rnameStr ==
                                                            null) &&
                                                    (detailEntity.phone == '' ||
                                                        detailEntity.phone ==
                                                            null) &&
                                                    detailEntity.status != "4"
                                                ? Column(children: [
                                                    VEmptyView(40),
                                                    Stack(
                                                      children: [
                                                        Column(
                                                          children: [
                                                            Row(
                                                              mainAxisAlignment:
                                                                  MainAxisAlignment
                                                                      .spaceBetween,
                                                              crossAxisAlignment:
                                                                  CrossAxisAlignment
                                                                      .center,
                                                              children: [
                                                                Expanded(
                                                                  child:
                                                                      Container(
                                                                    height: ScreenUtil()
                                                                        .setWidth(
                                                                            60),
                                                                    decoration:
                                                                        BoxDecoration(
                                                                            border:
                                                                                Border(bottom: BorderSide(width: ScreenUtil().setWidth(2), color: MyColours.color_efefef))),
                                                                    child:
                                                                        TextField(
                                                                      maxLines:
                                                                          1,

                                                                      //输入文本的样式
                                                                      style: TextStyle(
                                                                          fontSize: ScreenUtil().setSp(
                                                                              30),
                                                                          color:
                                                                              MyColours.color_353535),
                                                                      controller:
                                                                          detailModel
                                                                              .nameController,
                                                                      focusNode:
                                                                          _nameNode,
                                                                      // textAlignVertical: TextAlignVertical.top,
                                                                      decoration:
                                                                          InputDecoration(
                                                                        hintText:
                                                                            "客人姓名",
                                                                        hintStyle:
                                                                            TextStyle(
                                                                          color:
                                                                              MyColours.color_999999,
                                                                          fontSize:
                                                                              ScreenUtil().setSp(30),
                                                                        ),
                                                                        // contentPadding:
                                                                        //     EdgeInsets.only(bottom: ScreenUtil().setWidth(17)),
                                                                        border:
                                                                            InputBorder.none,
                                                                      ),
                                                                      onChanged:
                                                                          (value) {
                                                                        print(
                                                                            'ggg');

                                                                        if (value.endsWith('先生') ||
                                                                            value.endsWith('女士') ||
                                                                            value.endsWith('公司')) {
                                                                          nameStr = value.substring(
                                                                              0,
                                                                              value.length - 2);
                                                                        } else {
                                                                          nameStr =
                                                                              value;
                                                                        }
                                                                      },
                                                                      onEditingComplete:
                                                                          () {
                                                                        print(
                                                                            'fff');
                                                                        _nameNode
                                                                            .unfocus();
                                                                        // _homeEnterModel.nameController.text =
                                                                        //     nameStr + _nameSuffix();
                                                                        _addNameSuffix(
                                                                            nameStr,
                                                                            _nameSuffix());
                                                                      },
                                                                      keyboardType:
                                                                          TextInputType
                                                                              .text,
                                                                    ),
                                                                  ),
                                                                ),
                                                                // HEmptyView(40),
                                                                Row(
                                                                    children: detailModel
                                                                        .sexList
                                                                        .map(
                                                                            (value) {
                                                                  return _callButton(
                                                                      onPress:
                                                                          () {
                                                                        for (var item
                                                                            in detailModel.sexList) {
                                                                          item['select'] =
                                                                              false;
                                                                          if (item['title'] ==
                                                                              value['title']) {
                                                                            item['select'] =
                                                                                true;
                                                                            // _homeEnterModel.nameController.text =
                                                                            //     nameStr + item['title'];
                                                                            if (nameStr != null &&
                                                                                nameStr != '') {
                                                                              _addNameSuffix(nameStr, item['title']);
                                                                            }
                                                                          }
                                                                        }
                                                                        detailModel
                                                                            .notifyListeners();
                                                                      },
                                                                      content:
                                                                          value[
                                                                              'title'],
                                                                      hasLeftBorder:
                                                                          value[
                                                                              'hasLeftBorder'],
                                                                      isSelect:
                                                                          value[
                                                                              'select']);
                                                                }).toList()),
                                                              ],
                                                            ),
                                                            // VEmptyView(30),
                                                            // MyDivider(double.infinity,
                                                            //     ScreenUtil().setWidth(2),
                                                            //     color:
                                                            //         MyColours.color_efefef),
                                                            //电话
                                                            VEmptyView(20),

                                                            Row(
                                                              mainAxisAlignment:
                                                                  MainAxisAlignment
                                                                      .spaceBetween,
                                                              crossAxisAlignment:
                                                                  CrossAxisAlignment
                                                                      .center,
                                                              children: [
                                                                Expanded(
                                                                  child: Container(
                                                                      height: ScreenUtil().setWidth(60),
                                                                      decoration: BoxDecoration(border: Border(bottom: BorderSide(width: ScreenUtil().setWidth(2), color: MyColours.color_efefef))),
                                                                      child: TextField(
                                                                        maxLines:
                                                                            1,
                                                                        //输入文本的样式
                                                                        style: TextStyle(
                                                                            fontSize:
                                                                                ScreenUtil().setSp(30),
                                                                            color: MyColours.color_353535),
                                                                        controller:
                                                                            detailModel.phoneController,
                                                                        focusNode:
                                                                            _phoneNode,
                                                                        // textAlignVertical: TextAlignVertical.top,
                                                                        decoration:
                                                                            InputDecoration(
                                                                          hintText:
                                                                              "电话",
                                                                          hintStyle:
                                                                              TextStyle(
                                                                            color:
                                                                                MyColours.color_999999,
                                                                            fontSize:
                                                                                ScreenUtil().setSp(30),
                                                                          ),
                                                                          // contentPadding:
                                                                          //     EdgeInsets.only(bottom: ScreenUtil().setWidth(17)),
                                                                          border:
                                                                              InputBorder.none,
                                                                        ),
                                                                        onChanged:
                                                                            (value) {
                                                                          LogUtil.v(
                                                                              "value:$value");
                                                                          if (value.isEmpty ||
                                                                              value.length > 11) {
                                                                            //内容为空,或 超过11位
                                                                            setState(() {
                                                                              detailModel.userHistorys.clear();
                                                                              // setTop = true;
                                                                            });
                                                                            return;
                                                                          }
                                                                          Map<String, String>
                                                                              params =
                                                                              {
                                                                            "keywords":
                                                                                value,
                                                                            "sid":
                                                                                Provider.of<UserModel>(context, listen: false).user.sellerid,
                                                                          };
                                                                          detailModel.getUserHistorys(
                                                                              context,
                                                                              params);
                                                                        },
                                                                        onEditingComplete:
                                                                            () {
                                                                          _phoneNode
                                                                              .unfocus();
                                                                        },
                                                                        onTap:
                                                                            () {
                                                                          setState(
                                                                              () {
                                                                            showPhoneHistory =
                                                                                true;
                                                                          });
                                                                          // Future.delayed(Duration(milliseconds: 300), () {
                                                                          //   _controller.jumpTo(_controller.position.maxScrollExtent);
                                                                          // });
                                                                        },
                                                                        keyboardType:
                                                                            TextInputType.number,
                                                                      )),
                                                                ),
                                                                InkWell(
                                                                  onTap: () {
                                                                    _openAddressBook();
                                                                  },
                                                                  child:
                                                                      Container(
                                                                    width: ScreenUtil()
                                                                            .setWidth(84) *
                                                                        3,
                                                                    height: ScreenUtil()
                                                                        .setWidth(
                                                                            48),
                                                                    alignment:
                                                                        Alignment
                                                                            .centerRight,
                                                                    child: Text(
                                                                        '一键录入',
                                                                        style: TextStyle(
                                                                            color:
                                                                                MyColours.color_199095,
                                                                            fontSize: ScreenUtil().setSp(28),
                                                                            decoration: TextDecoration.underline)),
                                                                  ),
                                                                ),
                                                              ],
                                                            ),
                                                          ],
                                                        ),
                                                        Positioned(
                                                            top: 0,
                                                            bottom: 0,
                                                            right: 0,
                                                            left: 0,
                                                            child: Container(
                                                              color: Color
                                                                  .fromRGBO(
                                                                      242,
                                                                      242,
                                                                      242,
                                                                      0.8),
                                                            )),
                                                        Positioned(
                                                            top: ScreenUtil()
                                                                    .setWidth(
                                                                        140 -
                                                                            70) /
                                                                2,
                                                            // bottom: 0,
                                                            // right: 0,
                                                            left: (ScreenUtil
                                                                        .screenWidthDp -
                                                                    ScreenUtil()
                                                                        .setWidth(240 +
                                                                            40 *
                                                                                2)) /
                                                                2,
                                                            child: RoundButton(
                                                              text: '填写预订人信息',
                                                              fontSize: 28,
                                                              isBold: false,
                                                              height:
                                                                  ScreenUtil()
                                                                      .setWidth(
                                                                          70),
                                                              width:
                                                                  ScreenUtil()
                                                                      .setWidth(
                                                                          240),
                                                              radius:
                                                                  ScreenUtil()
                                                                      .setWidth(
                                                                          10),
                                                              onPressed: () {
                                                                // setState(() {
                                                                //   setTop = true;
                                                                // });
                                                                NavigatorUtil
                                                                    .goEditReserverPage(
                                                                        context,
                                                                        widget
                                                                            .rid,
                                                                        '',
                                                                        '',
                                                                        needBtn:
                                                                            false);
                                                              },
                                                            ))
                                                      ],
                                                    ),

                                                    // : Stack(
                                                    //     children: [
                                                    //       Padding(
                                                    //           padding: EdgeInsets.only(
                                                    //               top: ScreenUtil()
                                                    //                   .setWidth(
                                                    //                       60)),
                                                    //           child: Row(
                                                    //             mainAxisAlignment:
                                                    //                 MainAxisAlignment
                                                    //                     .spaceEvenly,
                                                    //             children: [
                                                    //               RoundButton(
                                                    //                 text:
                                                    //                     '返回',
                                                    //                 fontSize:
                                                    //                     28,
                                                    //                 isBold:
                                                    //                     false,
                                                    //                 height:
                                                    //                     ScreenUtil().setWidth(70),
                                                    //                 width: ScreenUtil()
                                                    //                     .setWidth(180),
                                                    //                 radius:
                                                    //                     ScreenUtil().setWidth(10),
                                                    //                 gradientStart:
                                                    //                     MyColours.color_ffffff,
                                                    //                 textColor:
                                                    //                     MyColours.color_333333,
                                                    //                 borderColor:
                                                    //                     MyColours.color_199095,
                                                    //                 gradientEnd:
                                                    //                     MyColours.color_ffffff,
                                                    //                 onPressed:
                                                    //                     () {
                                                    //                   setState(
                                                    //                       () {
                                                    //                     // setTop =
                                                    //                     //     false;
                                                    //                     nameStr =
                                                    //                         '';
                                                    //                     detailModel.nameController.text =
                                                    //                         '';
                                                    //                     detailModel.phoneController.text =
                                                    //                         '';
                                                    //                   });
                                                    //                 },
                                                    //               ),
                                                    //               RoundButton(
                                                    //                 text:
                                                    //                     '保存',
                                                    //                 fontSize:
                                                    //                     28,
                                                    //                 isBold:
                                                    //                     false,
                                                    //                 height:
                                                    //                     ScreenUtil().setWidth(70),
                                                    //                 width: ScreenUtil()
                                                    //                     .setWidth(180),
                                                    //                 radius:
                                                    //                     ScreenUtil().setWidth(10),
                                                    //                 onPressed:
                                                    //                     () async {
                                                    //                   if (nameStr == null ||
                                                    //                       nameStr.trim().length == 0) {
                                                    //                     Utils.showToast('请填写客人姓名');
                                                    //                     return;
                                                    //                   }

                                                    //                   if (detailModel.phoneController.text.trim().length ==
                                                    //                       0) {
                                                    //                     Utils.showToast('请填写电话');
                                                    //                     return;
                                                    //                   }
                                                    //                   String
                                                    //                       sex =
                                                    //                       '1';
                                                    //                   for (var item
                                                    //                       in detailModel.sexList) {
                                                    //                     if (item['select']) {
                                                    //                       sex = item['code'];
                                                    //                     }
                                                    //                   }
                                                    //                   bool sucess = await detailModel.upReserveInfo(
                                                    //                       context,
                                                    //                       widget.rid,
                                                    //                       name: nameStr,
                                                    //                       sex: sex,
                                                    //                       phone: detailModel.phoneController.text);
                                                    //                   if (sucess) {
                                                    //                     EventBus().emit("refresh_tablemanager"); //刷新桌位
                                                    //                     bus.emit("refresh_book_list"); //刷新已预订列表
                                                    //                     await _getReserveDetail(showCicle: true);
                                                    //                     // setState(() {
                                                    //                     //   setTop = false;
                                                    //                     // });
                                                    //                   }
                                                    //                 },
                                                    //               )
                                                    //             ],
                                                    //           )),
                                                    //       Offstage(
                                                    //         offstage: !(showPhoneHistory &&
                                                    //             detailModel
                                                    //                     .userHistorys
                                                    //                     .length >
                                                    //                 0),
                                                    //         child:
                                                    //             Container(
                                                    //           decoration: BoxDecoration(
                                                    //               borderRadius:
                                                    //                   BorderRadius.circular(8),
                                                    //               border: Border.all(color: Colors.white),
                                                    //               color: MyColours.color_ffffff,
                                                    //               boxShadow: [
                                                    //                 BoxShadow(
                                                    //                     color:
                                                    //                         MyColours.color_e5e5e5,
                                                    //                     blurRadius: ScreenUtil().setWidth(20))
                                                    //               ]),
                                                    //           width: ScreenUtil()
                                                    //               .setWidth(
                                                    //                   440),
                                                    //           height: detailModel
                                                    //                       .userHistorys
                                                    //                       .length >
                                                    //                   1
                                                    //               ? ScreenUtil()
                                                    //                   .setWidth(
                                                    //                       208)
                                                    //               : ScreenUtil()
                                                    //                   .setWidth(
                                                    //                       104),
                                                    //           padding: EdgeInsets.symmetric(
                                                    //               horizontal:
                                                    //                   ScreenUtil()
                                                    //                       .setWidth(30)),
                                                    //           child: Align(
                                                    //               alignment:
                                                    //                   Alignment
                                                    //                       .topCenter,
                                                    //               child: MediaQuery.removePadding(
                                                    //                   context: context,
                                                    //                   removeTop: true,
                                                    //                   child: ListView.builder(
                                                    //                     itemBuilder:
                                                    //                         (context, index) {
                                                    //                       return GestureDetector(
                                                    //                         onTap: () {
                                                    //                           setState(() {
                                                    //                             showPhoneHistory = false;
                                                    //                             detailModel.phoneController.text = detailModel.userHistorys[index].phone;
                                                    //                             // _homeEnterModel.nameController.text =
                                                    //                             //     _homeEnterModel
                                                    //                             //             .userHistorys[index].rname +
                                                    //                             //         _nameSuffix();
                                                    //                             _addNameSuffix(detailModel.userHistorys[index].rname, _nameSuffix());
                                                    //                             nameStr = detailModel.userHistorys[index].rname;
                                                    //                             _phoneNode.unfocus();
                                                    //                             detailModel.userHistorys.clear();
                                                    //                           });
                                                    //                         },
                                                    //                         child: Container(
                                                    //                           width: double.infinity,
                                                    //                           height: ScreenUtil().setWidth(102),
                                                    //                           decoration: BoxDecoration(border: Border(bottom: (index != (detailModel.userHistorys.length - 1) && detailModel.userHistorys.length > 1) ? BorderSide(color: MyColours.color_e5e5e5, width: ScreenUtil().setWidth(2)) : BorderSide.none)),
                                                    //                           child: Row(
                                                    //                             mainAxisAlignment: MainAxisAlignment.spaceBetween,
                                                    //                             children: [
                                                    //                               Text(
                                                    //                                 detailModel.userHistorys[index].phone,
                                                    //                                 style: TextStyle(color: MyColours.color_333333, fontSize: ScreenUtil().setSp(32)),
                                                    //                               ),
                                                    //                               Expanded(
                                                    //                                   child: Text(
                                                    //                                 detailModel.userHistorys[index].rname,
                                                    //                                 style: TextStyle(color: MyColours.color_333333, fontSize: ScreenUtil().setSp(32)),
                                                    //                               ))
                                                    //                             ],
                                                    //                           ),
                                                    //                         ),
                                                    //                       );
                                                    //                     },
                                                    //                     itemExtent:
                                                    //                         ScreenUtil().setWidth(104),
                                                    //                     itemCount:
                                                    //                         detailModel.userHistorys.length,
                                                    //                   ))),
                                                    //         ),
                                                    //       )
                                                    //     ],
                                                    //   )
                                                  ])
                                                : Column(
                                                    children: [
                                                      (detailEntity.status ==
                                                                  "4" &&
                                                              detailEntity
                                                                      .cancel !=
                                                                  null &&
                                                              (detailEntity
                                                                          .rnameStr ==
                                                                      null ||
                                                                  detailEntity
                                                                          .rnameStr ==
                                                                      ''))
                                                          ? SizedBox()
                                                          : RowMultiText(
                                                              "客户姓名",
                                                              detailEntity.rnameStr ==
                                                                      null
                                                                  ? ''
                                                                  : detailEntity
                                                                      .rnameStr,
                                                              textColor: MyColours
                                                                  .color_333333),
                                                      (detailEntity.status ==
                                                                  "4" &&
                                                              detailEntity
                                                                      .cancel !=
                                                                  null &&
                                                              (detailEntity
                                                                          .phone ==
                                                                      null ||
                                                                  detailEntity
                                                                          .phone ==
                                                                      ''))
                                                          ? SizedBox()
                                                          : InkWell(
                                                              onTap: () {
                                                                if (formatPhone !=
                                                                        null &&
                                                                    formatPhone !=
                                                                        '') {
                                                                  if (userModel.user.role_name != '管理员' &&
                                                                      userModel
                                                                              .user
                                                                              .role_name !=
                                                                          '店长' &&
                                                                      widget.uid !=
                                                                          "null" &&
                                                                      widget.uid !=
                                                                          userModel
                                                                              .user
                                                                              .openid) {
                                                                  } else {
                                                                    DialogUtil
                                                                        .goPhone(
                                                                            formatPhone);
                                                                  }
                                                                }
                                                              },
                                                              child: RowMultiText(
                                                                  "电话",
                                                                  detailEntity.phone ==
                                                                          null
                                                                      ? ''
                                                                      : detailEntity
                                                                          .phone,
                                                                  textColor:
                                                                      MyColours
                                                                          .color_333333))
                                                    ],
                                                  )

                                            // InkWell(
                                            //   onTap: () {
                                            //     if (formatPhone != null &&
                                            //         formatPhone != '') {
                                            //       if (userModel
                                            //                   .user.role_name !=
                                            //               '管理员' &&
                                            //           userModel
                                            //                   .user.role_name !=
                                            //               '店长' &&
                                            //           widget.uid != "null" &&
                                            //           widget.uid !=
                                            //               userModel
                                            //                   .user.openid) {
                                            //       } else {
                                            //         DialogUtil.goPhone(
                                            //             formatPhone);
                                            //       }
                                            //     }
                                            //   },
                                            //   child: RowMultiText(
                                            //       "客户电话",
                                            //       userModel.user.role_name !=
                                            //                   '管理员' &&
                                            //               userModel.user
                                            //                       .role_name !=
                                            //                   '店长' &&
                                            //               widget.uid !=
                                            //                   "null" &&
                                            //               widget.uid !=
                                            //                   userModel.user
                                            //                       .openid &&
                                            //               formatPhone
                                            //                       .trim()
                                            //                       .length >
                                            //                   0
                                            //           ? Utils.starPhone(
                                            //               formatPhone)
                                            //           : formatPhone,
                                            //       textColor:
                                            //           MyColours.color_333333),
                                            // ),

                                            // Container(
                                            //   color: MyColours.color_ffffff,
                                            //   width: double.infinity,
                                            //   height:
                                            //       ScreenUtil().setHeight(80),
                                            //   alignment: Alignment.center,
                                            //   child: Stack(
                                            //     alignment: Alignment.center,
                                            //     children: <Widget>[
                                            //       Positioned(
                                            //         left: 0,
                                            //         child: Text(
                                            //           "客户经理",
                                            //           style: TextStyle(
                                            //               color: MyColours
                                            //                   .color_333333,
                                            //               fontSize: ScreenUtil()
                                            //                   .setSp(30)),
                                            //         ),
                                            //       ),
                                            //       Positioned(
                                            //         right: 0,
                                            //         child: GestureDetector(
                                            //           onTap: () async {
                                            //             List<String> list = [];
                                            //             for (Manager manager
                                            //                 in managers) {
                                            //               list.add(manager
                                            //                   .roleUserName);
                                            //             }
                                            //             DialogUtil
                                            //                 .showSelectCusmanDialog(
                                            //                     context, list,
                                            //                     (value) {
                                            //               if (value != null) {
                                            //                 setState(() {
                                            //                   cusmanText =
                                            //                       managers[value
                                            //                               .first]
                                            //                           .userName;
                                            //                 });
                                            //                 _setCurrManager();
                                            //               }
                                            //             }).then((value) {});
                                            //           },
                                            //           child: Text(
                                            //             cusmanText,
                                            //             style: TextStyle(
                                            //               color: MyColours
                                            //                   .color_353535,
                                            //               fontSize: ScreenUtil()
                                            //                   .setSp(30),
                                            //               decoration:
                                            //                   TextDecoration
                                            //                       .underline,
                                            //             ),
                                            //           ),
                                            //         ),
                                            //       )
                                            //     ],
                                            //   ),
                                            // ),
                                          ],
                                        )),
                                  ),
                                )),
                          ),
                          Column(children: [
                            Offstage(
                                offstage: ((detailEntity.orderInfo != null &&
                                        detailEntity.orderInfo.status == "3") ||
                                    detailEntity.status == "3" ||
                                    detailEntity.status == "4" ||
                                    detailEntity.status == "6"),
                                child: Container(
                                  // width: double.infinity,
                                  height: ScreenUtil().setWidth(84),
                                  decoration: BoxDecoration(
                                    color: MyColours.color_ffffff,
                                    borderRadius: BorderRadius.circular(
                                        ScreenUtil().setWidth(10)),
                                  ),
                                  margin: EdgeInsets.symmetric(
                                      vertical: ScreenUtil().setHeight(20),
                                      horizontal: ScreenUtil().setHeight(40)),
                                  child: ((detailEntity.orderInfo != null &&
                                              detailEntity.orderInfo.status ==
                                                  "3") ||
                                          detailEntity.status == "3" ||
                                          detailEntity.status == "4" ||
                                          detailEntity.status == "6")
                                      ? SizedBox()
                                      : Row(
                                          children: [
                                            Expanded(
                                                flex: 2,
                                                child: InkWell(
                                                  onTap: () {
                                                    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,
                                                            detailEntity.id,
                                                            _nameStr,
                                                            detailEntity.ddate,
                                                            detailEntity
                                                                .ddateStr,
                                                            detailEntity.phone,
                                                            detailEntity
                                                                .ddate_solt,
                                                            detailEntity.rname ==
                                                                    null
                                                                ? ''
                                                                : detailEntity
                                                                    .rname,
                                                            detailEntity.sex ==
                                                                    null
                                                                ? ''
                                                                : detailEntity
                                                                    .sex,
                                                            tid: _tid);
                                                  },
                                                  child: Container(
                                                    decoration: BoxDecoration(
                                                      color: MyColours
                                                          .color_199095,
                                                      borderRadius: BorderRadius
                                                          .circular(ScreenUtil()
                                                              .setWidth(10)),
                                                    ),
                                                    child: Align(
                                                      alignment:
                                                          Alignment.center,
                                                      child: Text('通知客户',
                                                          style: TextStyle(
                                                              color: MyColours
                                                                  .color_ffffff,
                                                              fontSize:
                                                                  ScreenUtil()
                                                                      .setSp(
                                                                          34))),
                                                    ),
                                                  ),
                                                )),

                                            // Expanded(
                                            //     flex: 1,
                                            //     child: InkWell(
                                            //       onTap: () {
                                            //         if (detailEntity.phone ==
                                            //                 null ||
                                            //             detailEntity
                                            //                 .phone.isEmpty) {
                                            //           Utils.showToast(
                                            //               "短信通知需填写顾客手机号");
                                            //           return;
                                            //         }
                                            //         if (!Utils.phoneRegExp(
                                            //             detailEntity.phone)) {
                                            //           Utils.showToast(
                                            //               '手机号错误,请修改正确');
                                            //           return;
                                            //         }
                                            //         NavigatorUtil.goSmsPage(
                                            //           context,
                                            //           detailEntity.id,
                                            //         );
                                            //       },
                                            //       child: Container(
                                            //         margin: EdgeInsets.only(
                                            //             left: ScreenUtil()
                                            //                 .setWidth(20)),
                                            //         decoration: BoxDecoration(
                                            //           color: detailEntity
                                            //                           .phone ==
                                            //                       null ||
                                            //                   detailEntity
                                            //                       .phone.isEmpty
                                            //               ? Color.fromRGBO(
                                            //                   154, 154, 154, 1)
                                            //               : MyColours
                                            //                   .color_199095,
                                            //           borderRadius: BorderRadius
                                            //               .circular(ScreenUtil()
                                            //                   .setWidth(10)),
                                            //         ),
                                            //         child: Align(
                                            //           alignment:
                                            //               Alignment.center,
                                            //           child: Text('短信通知',
                                            //               style: TextStyle(
                                            //                   color: MyColours
                                            //                       .color_ffffff,
                                            //                   fontSize:
                                            //                       ScreenUtil()
                                            //                           .setSp(
                                            //                               34))),
                                            //         ),
                                            //       ),
                                            //     )),
                                            detailEntity.order.cookbooklist
                                                        .length ==
                                                    0
                                                ? SizedBox()
                                                : Expanded(
                                                    flex: 1,
                                                    child: InkWell(
                                                      onTap: () {
                                                        NavigatorUtil
                                                            .goHasOrderFoodPage(
                                                                context,
                                                                rid:
                                                                    detailEntity
                                                                        .id);
                                                      },
                                                      child: Container(
                                                        margin: EdgeInsets.only(
                                                            left: ScreenUtil()
                                                                .setWidth(20)),
                                                        decoration:
                                                            BoxDecoration(
                                                          color: MyColours
                                                              .color_199095,
                                                          borderRadius:
                                                              BorderRadius.circular(
                                                                  ScreenUtil()
                                                                      .setWidth(
                                                                          10)),
                                                        ),
                                                        child: Align(
                                                          alignment:
                                                              Alignment.center,
                                                          child: Text('查看菜品',
                                                              style: TextStyle(
                                                                  color: MyColours
                                                                      .color_ffffff,
                                                                  fontSize:
                                                                      ScreenUtil()
                                                                          .setSp(
                                                                              34))),
                                                        ),
                                                      ),
                                                    )),
                                            //   _cancelAndChangeBtn(() {
                                            //     DialogUtil
                                            //             .showShareDialog(
                                            //                 context)
                                            //         ?.then((value) {
                                            //       switch (value) {
                                            //         case 1: //微信
                                            //           String _tid = '';
                                            //           for (int i = 0;
                                            //               i <
                                            //                   detailEntity
                                            //                       .tables
                                            //                       .length;
                                            //               i++) {
                                            //             _tid +=
                                            //                 '${detailEntity.tables[i].id},';
                                            //           }
                                            //           if (_tid.endsWith(
                                            //               ',')) {
                                            //             _tid = _tid
                                            //                 .substring(
                                            //                     0,
                                            //                     _tid.length -
                                            //                         1);
                                            //           }
                                            //           NavigatorUtil.goInvicationPage(
                                            //               context,
                                            //               detailEntity
                                            //                   .id,
                                            //               detailEntity
                                            //                   .tableinfoStr,
                                            //               detailEntity
                                            //                   .ddate,
                                            //               detailEntity
                                            //                   .ddateStr,
                                            //               detailEntity
                                            //                   .phone,
                                            //               detailEntity
                                            //                   .ddate_solt,
                                            //               tid: _tid);
                                            //           break;
                                            //         case 2: //短信
                                            //           if (detailEntity
                                            //                       .phone ==
                                            //                   null ||
                                            //               detailEntity
                                            //                   .phone
                                            //                   .isEmpty) {
                                            //             Utils.showToast(
                                            //                 "没有预订人电话信息");
                                            //             return;
                                            //           }
                                            //           NavigatorUtil
                                            //               .goSmsPage(
                                            //             context,
                                            //             detailEntity.id,
                                            //           );
                                            //           break;
                                            //         case 3: //电话
                                            //           if (detailEntity
                                            //                       .phone !=
                                            //                   null &&
                                            //               detailEntity
                                            //                   .phone
                                            //                   .isNotEmpty) {
                                            //             if (userModel
                                            //                         .user
                                            //                         .role_name !=
                                            //                     '管理员' &&
                                            //                 userModel
                                            //                         .user
                                            //                         .role_name !=
                                            //                     '店长' &&
                                            //                 widget.uid !=
                                            //                     "null" &&
                                            //                 widget.uid !=
                                            //                     userModel
                                            //                         .user
                                            //                         .openid) {
                                            //               Utils.showToast(
                                            //                   "您无权拨打该电话");
                                            //             } else {
                                            //               Utils.goPhone(
                                            //                   detailEntity
                                            //                       .phone);
                                            //             }
                                            //           } else {
                                            //             Utils.showToast(
                                            //                 "没有预订人电话信息");
                                            //           }
                                            //           break;
                                            //       }
                                            //     });
                                            //   }, "通知客户",
                                            //       bgColor: MyColours
                                            //           .color_199095,
                                            //       width: detailEntity
                                            //                   .order
                                            //                   .cookbooklist
                                            //                   .length ==
                                            //               0
                                            //           ? ScreenUtil
                                            //                   .screenWidthDp -
                                            //               ScreenUtil()
                                            //                   .setWidth(
                                            //                       100)
                                            //           : (ScreenUtil
                                            //                       .screenWidthDp -
                                            //                   ScreenUtil()
                                            //                       .setWidth(
                                            //                           91)) /
                                            //               2,
                                            //       fontColor: MyColours
                                            //           .color_ffffff),
                                            //   _cancelAndChangeBtn(() {
                                            //     DialogUtil
                                            //             .showShareDialog(
                                            //                 context)
                                            //         ?.then((value) {
                                            //       switch (value) {
                                            //         case 1: //微信
                                            //           String _tid = '';
                                            //           for (int i = 0;
                                            //               i <
                                            //                   detailEntity
                                            //                       .tables
                                            //                       .length;
                                            //               i++) {
                                            //             _tid +=
                                            //                 '${detailEntity.tables[i].id},';
                                            //           }
                                            //           if (_tid.endsWith(
                                            //               ',')) {
                                            //             _tid = _tid
                                            //                 .substring(
                                            //                     0,
                                            //                     _tid.length -
                                            //                         1);
                                            //           }
                                            //           NavigatorUtil.goInvicationPage(
                                            //               context,
                                            //               detailEntity
                                            //                   .id,
                                            //               detailEntity
                                            //                   .tableinfoStr,
                                            //               detailEntity
                                            //                   .ddate,
                                            //               detailEntity
                                            //                   .ddateStr,
                                            //               detailEntity
                                            //                   .phone,
                                            //               detailEntity
                                            //                   .ddate_solt,
                                            //               tid: _tid);
                                            //           break;
                                            //         case 2: //短信
                                            //           if (detailEntity
                                            //                       .phone ==
                                            //                   null ||
                                            //               detailEntity
                                            //                   .phone
                                            //                   .isEmpty) {
                                            //             Utils.showToast(
                                            //                 "没有预订人电话信息");
                                            //             return;
                                            //           }
                                            //           NavigatorUtil
                                            //               .goSmsPage(
                                            //             context,
                                            //             detailEntity.id,
                                            //           );
                                            //           break;
                                            //         case 3: //电话
                                            //           if (detailEntity
                                            //                       .phone !=
                                            //                   null &&
                                            //               detailEntity
                                            //                   .phone
                                            //                   .isNotEmpty) {
                                            //             if (userModel
                                            //                         .user
                                            //                         .role_name !=
                                            //                     '管理员' &&
                                            //                 userModel
                                            //                         .user
                                            //                         .role_name !=
                                            //                     '店长' &&
                                            //                 widget.uid !=
                                            //                     "null" &&
                                            //                 widget.uid !=
                                            //                     userModel
                                            //                         .user
                                            //                         .openid) {
                                            //               Utils.showToast(
                                            //                   "您无权拨打该电话");
                                            //             } else {
                                            //               Utils.goPhone(
                                            //                   detailEntity
                                            //                       .phone);
                                            //             }
                                            //           } else {
                                            //             Utils.showToast(
                                            //                 "没有预订人电话信息");
                                            //           }
                                            //           break;
                                            //       }
                                            //     });
                                            //   }, "通知客户",
                                            //       bgColor: MyColours
                                            //           .color_199095,
                                            //       width: detailEntity
                                            //                   .order
                                            //                   .cookbooklist
                                            //                   .length ==
                                            //               0
                                            //           ? ScreenUtil
                                            //                   .screenWidthDp -
                                            //               ScreenUtil()
                                            //                   .setWidth(
                                            //                       100)
                                            //           : (ScreenUtil
                                            //                       .screenWidthDp -
                                            //                   ScreenUtil()
                                            //                       .setWidth(
                                            //                           91)) /
                                            //               2,
                                            //       fontColor: MyColours
                                            //           .color_ffffff)
                                          ],
                                        ),
                                  // Offstage(
                                  //     offstage: !(detailEntity
                                  //                 .order
                                  //                 .cookbooklist
                                  //                 .length >
                                  //             0 &&
                                  //         ((detailEntity.orderInfo !=
                                  //                     null &&
                                  //                 detailEntity
                                  //                         .orderInfo
                                  //                         .status ==
                                  //                     "3") &&
                                  //             detailEntity.status !=
                                  //                 "3" &&
                                  //             detailEntity.status !=
                                  //                 "4" &&
                                  //             detailEntity.status !=
                                  //                 "6")),
                                  //     child: MyDivider(
                                  //         ScreenUtil().setWidth(2),
                                  //         ScreenUtil().setWidth(50),
                                  //         color: MyColours
                                  //             .color_ffffff)),
                                  //   Offstage(
                                  //       offstage: detailEntity
                                  //                   .order
                                  //                   .cookbooklist
                                  //                   .length ==
                                  //               0
                                  //           ? true
                                  //           : false,
                                  //       child: _cancelAndChangeBtn(
                                  //           () {
                                  //         NavigatorUtil
                                  //             .goHasOrderFoodPage(
                                  //                 context,
                                  //                 rid: detailEntity
                                  //                     .id);
                                  //       }, '查看菜品',
                                  //           bgColor: MyColours
                                  //               .color_199095,
                                  //           width: ((detailEntity.orderInfo != null &&
                                  //                       detailEntity
                                  //                               .orderInfo
                                  //                               .status ==
                                  //                           "3") ||
                                  //                   detailEntity.status ==
                                  //                       "3" ||
                                  //                   detailEntity.status ==
                                  //                       "4" ||
                                  //                   detailEntity.status ==
                                  //                       "6")
                                  //               ? ScreenUtil.screenWidthDp -
                                  //                   ScreenUtil().setWidth(91)
                                  //               : (ScreenUtil.screenWidthDp - ScreenUtil().setWidth(91)) / 2,
                                  //           fontColor: MyColours.color_ffffff))
                                  // ],
                                )),
                            Offstage(
                              offstage: ((detailEntity.orderInfo != null &&
                                          detailEntity.orderInfo.status ==
                                              "3") ||
                                      detailEntity.status == "3" ||
                                      detailEntity.status == "4" ||
                                      detailEntity.status == "6")
                                  ? true
                                  : false,
                              child: Container(
                                width: double.infinity,
                                height: ScreenUtil().setWidth(84),
                                margin: EdgeInsets.symmetric(
                                    horizontal: ScreenUtil().setHeight(40)),
                                decoration: BoxDecoration(
                                  border: Border.all(
                                      color:
                                          userModel.user.role_name != '管理员' &&
                                                  userModel.user.role_name !=
                                                      '店长' &&
                                                  widget.uid != "null" &&
                                                  widget.uid !=
                                                      userModel.user.openid
                                              ? MyColours.color_999999
                                              : MyColours.color_199095,
                                      width: ScreenUtil().setWidth(2)),
                                  borderRadius: BorderRadius.circular(
                                      ScreenUtil().setWidth(10)),
                                ),
                                // child: Text('fff'),
                                child: Material(
                                    color: Colors.transparent,
                                    child: Row(
                                      children: [
                                        Expanded(
                                            child: _cancelAndChangeBtn(() {
                                          print('点击变更预订');
                                          if (userModel.user.role_name !=
                                                  '管理员' &&
                                              userModel.user.role_name !=
                                                  '店长' &&
                                              widget.uid != "null" &&
                                              widget.uid !=
                                                  userModel.user.openid) {
                                          } else {
                                            NavigatorUtil.goNoteBookChangeFPage(
                                                context,
                                                detailEntity,
                                                widget.rid);
                                          }
                                        }, '变更预订',
                                                fontColor: userModel.user
                                                                .role_name !=
                                                            '管理员' &&
                                                        userModel.user
                                                                .role_name !=
                                                            '店长' &&
                                                        widget.uid != "null" &&
                                                        widget.uid !=
                                                            userModel
                                                                .user.openid
                                                    ? MyColours.color_999999
                                                    : MyColours.color_199095)),
                                        MyDivider(
                                          ScreenUtil().setWidth(2),
                                          ScreenUtil().setWidth(50),
                                          color:
                                              userModel.user.role_name !=
                                                          '管理员' &&
                                                      userModel
                                                              .user.role_name !=
                                                          '店长' &&
                                                      widget.uid != "null" &&
                                                      widget.uid !=
                                                          userModel.user.openid
                                                  ? MyColours.color_999999
                                                  : MyColours.color_199095,
                                        ),
                                        Expanded(
                                            child: _cancelAndChangeBtn(() {
                                          if (userModel.user.role_name !=
                                                  '管理员' &&
                                              userModel.user.role_name !=
                                                  '店长' &&
                                              widget.uid != "null" &&
                                              widget.uid !=
                                                  userModel.user.openid) {
                                          } else {
                                            _showCancelWidget(context);
                                          }
                                        }, '取消预订',
                                                fontColor: userModel.user
                                                                .role_name !=
                                                            '管理员' &&
                                                        userModel.user
                                                                .role_name !=
                                                            '店长' &&
                                                        widget.uid != "null" &&
                                                        widget.uid !=
                                                            userModel
                                                                .user.openid
                                                    ? MyColours.color_999999
                                                    : MyColours.color_199095)),
                                      ],
                                    )),
                              ),
                            ),
                            VEmptyView(ScreenUtil().setWidth(60))
                          ])
                        ],
                      );
                    }
                  })),
                ],
              ),
            ),
            onWillPop: () async {
              if (widget.fromNotify) {
                NavigatorUtil.goHomePage(context, initialIndex: 0);
                return true;
              }
              Navigator.of(context).pop();
              return true;
            },
          ))),
    );
  }
}

class TitleAndBtn extends StatelessWidget {
  final String title;
  final String content;
  final List<String> list;
  final NotebookDetailModel detailModel;
  final GestureTapCallback callback;
  const TitleAndBtn(
      {Key key,
      this.title,
      this.content,
      this.list,
      this.detailModel,
      this.callback})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
        color: MyColours.color_ffffff,
        width: double.infinity,
        padding: EdgeInsets.symmetric(vertical: ScreenUtil().setWidth(25)),
        alignment: Alignment.center,
        child: Row(
            crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              Align(
                alignment: Alignment.centerLeft,
                child: Text(
                  title,
                  style: TextStyle(
                      color: MyColours.color_333333,
                      fontSize: ScreenUtil().setSp(30)),
                ),
              ),
              Spacer(),
              Text(
                "选填",
                style: TextStyle(
                    color: MyColours.color_353535,
                    fontSize: ScreenUtil().setSp(30)),
                softWrap: true,
              ),
              HEmptyView(10),
              InkWell(
                onTap: callback,
                child: Container(
                  height: ScreenUtil().setWidth(44),
                  decoration: BoxDecoration(
                      border: Border(
                          bottom: BorderSide(
                              width: ScreenUtil().setWidth(2),
                              color: MyColours.color_199095))),
                  child: Text(content == null || content == '' ? "修改" : content,
                      style: TextStyle(
                          color: MyColours.color_199095,
                          fontSize: ScreenUtil().setSp(32))),
                ),
              ),
              // title == '人数' || title == '消费金额'
              //     ? Padding(
              //         padding: EdgeInsets.only(
              //             bottom: ScreenUtil().setWidth(6),
              //             left: ScreenUtil().setWidth(10)),
              //         child: Text(
              //           title == '人数' ? "人" : '元',
              //           style: TextStyle(
              //               color: MyColours.color_353535,
              //               fontSize: ScreenUtil().setSp(30)),
              //         ),
              //       )
              //     : SizedBox()
            ]));
  }
}

class TitleAndTextfield extends StatefulWidget {
  final String title;
  final String bookNum;
  final List<String> pnumlist;
  final NotebookDetailModel detailModel;
  final String rid;

  const TitleAndTextfield(
      {Key key,
      this.title,
      this.bookNum,
      this.pnumlist,
      this.detailModel,
      this.rid})
      : super(key: key);

  @override
  _TitleAndTextfieldState createState() => _TitleAndTextfieldState();
}

class _TitleAndTextfieldState extends State<TitleAndTextfield> {
  FocusNode numberFocusNode = new FocusNode();
  OverlayEntry overlayEntry;
  @override
  void initState() {
    super.initState();

    // if (Platform.isIOS) {
    numberFocusNode.addListener(() {
      if (numberFocusNode.hasFocus) {
        showOverlay(context);
      } else {
        _updateMoney();
        removeOverlay();
      }
    });
    // }
  }

  showOverlay(BuildContext context) {
    if (overlayEntry != null) return;
    OverlayState overlayState = Overlay.of(context);
    overlayEntry = OverlayEntry(builder: (context) {
      return Positioned(
          bottom: MediaQuery.of(context).viewInsets.bottom,
          right: 0.0,
          left: 0.0,
          child: InputDoneView(
            callback: () {
              // _updateMoney();
            },
          ));
    });

    overlayState.insert(overlayEntry);
  }

  removeOverlay() {
    if (overlayEntry != null) {
      overlayEntry.remove();
      overlayEntry = null;
    }
  }

  /// 修改金额
  _updateMoney() {
    if (widget.detailModel.prestrTF == null ||
        widget.detailModel.prestrTF == "") {
      if (widget.detailModel.numController.text.trim().length > 0) {
        //修改之前无内容,不弹框
        widget.detailModel.prestrTF = widget.detailModel.numController.text;
        widget.detailModel.upReserveInfo(context, widget.rid,
            conAmount: widget.detailModel.prestrTF);
      }
    } else {
      //修改之前有内容,则弹框
      DialogUtil.cupertinoAlertDialog(context,
          title: "是否修改",
          content: "金额已修改,是否保存为新修改的金额",
          lTitle: "不保存",
          rTitle: "确认修改", lCallback: () {
        print("取消");
        widget.detailModel.numController.text =
            widget.detailModel.prestrTF == null
                ? ""
                : widget.detailModel.prestrTF;
        widget.detailModel.strTF = widget.detailModel.numController.text;
      }, rCallback: () {
        print("确定");
        widget.detailModel.prestrTF = widget.detailModel.numController.text;
        widget.detailModel.upReserveInfo(context, widget.rid,
            conAmount: widget.detailModel.prestrTF);
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Container(
        color: MyColours.color_ffffff,
        width: double.infinity,
        padding: EdgeInsets.symmetric(vertical: ScreenUtil().setWidth(25)),
        alignment: Alignment.center,
        child: Row(
            crossAxisAlignment: CrossAxisAlignment.center,
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              Align(
                alignment: Alignment.centerLeft,
                child: Text(
                  widget.title,
                  style: TextStyle(
                      color: MyColours.color_333333,
                      fontSize: ScreenUtil().setSp(30)),
                ),
              ),
              Spacer(),
              // widget.detailModel.strTF != null &&
              //         widget.detailModel.strTF.trim().length > 0
              //     ? Text("¥", style: TextStyle(color: MyColours.color_199095))
              //     : SizedBox(),
              Text(
                "选填",
                style: TextStyle(
                    color: MyColours.color_353535,
                    fontSize: ScreenUtil().setSp(30)),
                softWrap: true,
              ),
              HEmptyView(6),
              Container(
                  constraints:
                      BoxConstraints(maxHeight: ScreenUtil().setWidth(50)),
                  decoration: BoxDecoration(
                      // color: Colors.red,
                      border: Border(
                          bottom: BorderSide(
                              width: ScreenUtil().setWidth(2),
                              color: MyColours.color_199095))),
                  child: IntrinsicWidth(
                      child: TextField(
                    controller: widget.detailModel.numController,
                    maxLines: 1,
                    // inputFormatters: [
                    //   LengthLimitingTextInputFormatter(9),
                    //   WhitelistingTextInputFormatter.digitsOnly
                    // ],

                    inputFormatters: [
                      NumLengthInputFormatter(
                          decimalLength: 2, integerLength: 6),
                    ],
                    focusNode: numberFocusNode,

                    //光标颜色
                    cursorColor: MyColours.color_199095,
                    //输入文本的样式
                    style: TextStyle(
                        fontSize: ScreenUtil().setSp(30),
                        color: MyColours.color_199095),
                    textAlign: TextAlign.right,
                    textInputAction: TextInputAction.done,
                    decoration: InputDecoration(
                      hintText: "修改",
                      hintStyle: TextStyle(
                        color: MyColours.color_199095,
                        fontSize: ScreenUtil().setSp(30),
                      ),
                      prefix: widget.detailModel.strTF != null &&
                              widget.detailModel.strTF.trim().length > 0
                          ? Text("¥",
                              style: TextStyle(color: MyColours.color_199095))
                          : SizedBox(),

                      // prefixIcon: widget.detailModel.strTF != null &&
                      //         widget.detailModel.strTF.trim().length > 0
                      //     ? Text("¥",
                      //         style: TextStyle(color: MyColours.color_199095))
                      //     : SizedBox(), //添加内部左边图标
                      // prefixIconConstraints:
                      //     BoxConstraints(maxHeight: ScreenUtil().setWidth(20)
                      //         //添加内部图标之后,图标和文字会有间距,实现这个方法,不用写任何参数即可解决
                      //         ),

                      contentPadding: EdgeInsets.zero, //ios 17
                      border: OutlineInputBorder(borderSide: BorderSide.none),
                    ),
                    onChanged: (value) {
                      widget.detailModel.strTF = value;

                      print(widget.detailModel.numController.text);
                      widget.detailModel.notifyListeners();
                    },
                    onEditingComplete: () {
                      FocusScope.of(context).requestFocus(FocusNode()); //隐藏键盘
                      // _updateMoney();
                    },
                    keyboardType:
                        TextInputType.numberWithOptions(decimal: true),
                  ))),
            ]));
  }
}