heavy_detail_page.dart 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:flutter/foundation.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:keyboard_actions/keyboard_actions.dart';
  5. import 'package:liftmanager/common/common.dart';
  6. import 'package:liftmanager/internal/heavy/heavy_router.dart';
  7. import 'package:liftmanager/internal/heavy/model/heavy_item.dart';
  8. import 'package:liftmanager/internal/project/project_router.dart';
  9. import 'package:liftmanager/net/api_service.dart';
  10. import 'package:liftmanager/routers/fluro_navigator.dart';
  11. import 'package:liftmanager/widgets/app_bar.dart';
  12. import 'package:liftmanager/widgets/click_item.dart';
  13. import 'package:liftmanager/widgets/my_button.dart';
  14. import 'package:oktoast/oktoast.dart';
  15. class HeavyDetailPage extends StatefulWidget {
  16. HeavyDetailPage(this.projectId, this.projectStatus);
  17. final String projectId;
  18. final String projectStatus;
  19. @override
  20. State<StatefulWidget> createState() {
  21. return HeavyDetailState();
  22. }
  23. }
  24. class HeavyDetailState extends State<HeavyDetailPage> {
  25. HeavyItem item = HeavyItem();
  26. @override
  27. void initState() {
  28. super.initState();
  29. getDetail();
  30. }
  31. ///获取大修详情
  32. getDetail() {
  33. ApiService(context: context).heavyProjectDetail(widget.projectId,
  34. onSuccess: (data) {
  35. if (data != null) {
  36. setState(() {
  37. item = data;
  38. });
  39. }
  40. }, onError: (code, msg) {
  41. showToast(msg);
  42. });
  43. }
  44. @override
  45. Widget build(BuildContext context) {
  46. return Scaffold(
  47. appBar: MyAppBar(
  48. centerTitle: "大修详情",
  49. ),
  50. body: SafeArea(
  51. child: Column(
  52. children: <Widget>[
  53. Expanded(
  54. flex: 1,
  55. child: defaultTargetPlatform == TargetPlatform.iOS
  56. ? FormKeyboardActions(child: _buildBody())
  57. : SingleChildScrollView(child: _buildBody()),
  58. )
  59. ],
  60. ),
  61. ),
  62. );
  63. }
  64. _buildBody() {
  65. if (item == null) {
  66. return Container();
  67. }
  68. return Column(
  69. crossAxisAlignment: CrossAxisAlignment.start,
  70. children: <Widget>[
  71. // ClickItem(
  72. // title: "大修状态",
  73. // content: "${item?.projectName}",
  74. // ),
  75. ClickItem(
  76. title: "项目名称",
  77. content: "${item?.projectName}",
  78. ),
  79. ClickItem(
  80. title: "项目用途",
  81. content: "${Constant.projectUsageText[item?.projectUsage]}",
  82. ),
  83. ClickItem(
  84. title: "项目地址",
  85. content: "${item?.address}",
  86. ),
  87. ClickItem(
  88. title: "项目台量",
  89. content: "${item?.actualNum}",
  90. ),
  91. ClickItem(
  92. title: "行政区域",
  93. content: "${item?.province}-${item?.city}-${item?.district}",
  94. ),
  95. ClickItem(
  96. title: "区域",
  97. content: "${item?.areaName}",
  98. ),
  99. ClickItem(
  100. title: "区域主管",
  101. content: "${item?.areaDirector}",
  102. ),
  103. ClickItem(
  104. title: "文员",
  105. content: "${item?.clerkName}",
  106. ),
  107. ClickItem(
  108. title: "大修开始时间",
  109. content: "${item?.startDate}",
  110. ),
  111. ClickItem(
  112. title: "大修结束时间",
  113. content: "${item?.endDate}",
  114. ),
  115. ClickItem(
  116. title: "备注",
  117. content: "",
  118. ),
  119. ClickItem(title: "甲方公司", content: "${item?.companyName}"),
  120. ClickItem(title: "甲方联系人", content: "${item?.companyContact}"),
  121. ClickItem(title: "甲方联系人电话", content: "${item?.telephone}"),
  122. ClickItem(
  123. title: "人员信息",
  124. content: "查看",
  125. onTap: () {
  126. NavigatorUtils.push(context,
  127. "${ProjectRouter.projectUsersPage}?id=${widget.projectId}&type=0");
  128. },
  129. ),
  130. // ClickItem(
  131. // title: "电梯列表",
  132. // content: "${item?.telephone}",
  133. // onTap: (){
  134. // NavigatorUtils.push(context, HeavyRouter.heavyLiftListPage + "?id=${widget.projectId}");
  135. // },
  136. // ),
  137. Offstage(
  138. offstage: widget.projectStatus != "2",
  139. child: Container(
  140. padding: EdgeInsets.all(30),
  141. child: MyButton(
  142. onPressed: () {
  143. NavigatorUtils.push(context,
  144. "${HeavyRouter.heavySignPage}?id=${widget.projectId}");
  145. },
  146. text: "签到管理",
  147. )))
  148. ],
  149. );
  150. }
  151. }