heavy_detail_page.dart 4.7 KB

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