报事报修新增页面跳转逻辑变更,应用点击跳转登陆逻辑变更

hmxc
小赖 4 years ago
parent 5aef719471
commit 9f91a04934

@ -1,4 +1,5 @@
// Flutter imports: // Flutter imports:
import 'package:akuCommunity/widget/buttons/bottom_button.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -104,17 +105,13 @@ class _FixedSubmitPageState extends State<FixedSubmitPage> {
padding: EdgeInsets.fromLTRB(24.w, 24.w, 24.w, 0), padding: EdgeInsets.fromLTRB(24.w, 24.w, 24.w, 0),
child: Row( child: Row(
children: [ children: [
BeeMap BeeMap.fixTag[model.type].text
.fixTag[model.type]
.text
.color(ktextPrimary) .color(ktextPrimary)
.bold .bold
.size(32.sp) .size(32.sp)
.make(), .make(),
Spacer(), Spacer(),
BeeMap BeeMap.fixState[model.status].text
.fixState[model.status]
.text
.color(_getColor(model.status)) .color(_getColor(model.status))
.size(24.sp) .size(24.sp)
.make(), .make(),
@ -158,32 +155,32 @@ class _FixedSubmitPageState extends State<FixedSubmitPage> {
} }
Widget _buildCheckBox(FixedSubmitModel model) { Widget _buildCheckBox(FixedSubmitModel model) {
return return
// GestureDetector( // GestureDetector(
// onTap: () { // onTap: () {
// if (_selected.contains(model.id)) { // if (_selected.contains(model.id)) {
// _selected.remove(model.id); // _selected.remove(model.id);
// } else { // } else {
// _selected.add(model.id); // _selected.add(model.id);
// } // }
// setState(() {}); // setState(() {});
// }, // },
// child: // child:
Container( Container(
alignment: Alignment.centerLeft, alignment: Alignment.centerLeft,
constraints: BoxConstraints(minHeight: 384.w, minWidth: 686.w), constraints: BoxConstraints(minHeight: 384.w, minWidth: 686.w),
child: FixedCheckBox( child: FixedCheckBox(
key:ValueKey(model.id), key: ValueKey(model.id),
onChanged: (isSelect) { onChanged: (isSelect) {
if (isSelect) { if (isSelect) {
_selected.add(model.id); _selected.add(model.id);
} else { } else {
_selected.remove(model.id); _selected.remove(model.id);
} }
setState(() {}); setState(() {});
}, },
), ),
// child: BeeRadio(value: model.id, groupValues: _selected), // child: BeeRadio(value: model.id, groupValues: _selected),
// ), // ),
); );
} }
@ -233,63 +230,45 @@ class _FixedSubmitPageState extends State<FixedSubmitPage> {
setState(() {}); setState(() {});
}) })
], ],
body: Column( body: BeeListView(
children: [ controller: _easyRefreshController,
BeeListView( path: API.manager.fixedSubmit,
controller: _easyRefreshController, convert: (model) {
path: API.manager.fixedSubmit, return model.tableList
convert: (model) { .map((e) => FixedSubmitModel.fromJson(e))
return model.tableList .toList();
.map((e) => FixedSubmitModel.fromJson(e)) },
.toList(); builder: (items) {
}, return ListView.separated(
builder: (items) { padding: EdgeInsets.all(32.w),
return ListView.separated( itemBuilder: (context, index) {
padding: EdgeInsets.all(32.w), return Stack(
itemBuilder: (context, index) { children: [
return Stack( _buildCheckBox(items[index]),
children: [ _buildCard(items[index])
_buildCheckBox(items[index]), ],
_buildCard(items[index]) );
], },
); separatorBuilder: (context, index) {
}, return 24.w.heightBox;
separatorBuilder: (context, index) { },
return 24.w.heightBox; itemCount: items.length);
}, },
itemCount: items.length); ),
}, bottomNavi: BottomButton(
).expand(), onPressed: _isEdit
MaterialButton( ? _selected.isEmpty
disabledColor: Colors.white.withOpacity(0.5), ? null
disabledTextColor: ktextSubColor.withOpacity(0.8),
textColor: ktextPrimary,
onPressed: _isEdit
? _selected.isEmpty
? null
: () {
Get.dialog(_showDeletDialog());
}
: () { : () {
userProvider.isLogin Get.dialog(_showDeletDialog());
? AddFixedSubmitPage().to() }
: BotToast.showText(text: '请先登录!'); : () async {
}, bool needRefresh = await Get.to(AddFixedSubmitPage());
child: _isEdit if (needRefresh == null) _easyRefreshController.callRefresh();
? '删除订单'.text.bold.size(32.sp).make() },
: '新增'.text.bold.size(32.sp).make(), child: _isEdit
minWidth: double.infinity, ? '删除订单'.text.bold.size(32.sp).make()
height: 98.w, : '新增'.text.bold.size(32.sp).make(),
elevation: 0,
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
padding: EdgeInsets.zero,
)
.box
.padding(EdgeInsets.only(
bottom: MediaQuery.of(context).padding.bottom))
.color(kPrimaryColor)
.make(),
],
), ),
); );
} }

@ -8,6 +8,7 @@ import 'package:flutter/material.dart';
// Package imports: // Package imports:
import 'package:bot_toast/bot_toast.dart'; import 'package:bot_toast/bot_toast.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:velocity_x/velocity_x.dart'; import 'package:velocity_x/velocity_x.dart';
@ -201,7 +202,7 @@ class _AddFixedSubmitPageState extends State<AddFixedSubmitPage> {
} }
bool _canSubmit(int seletType, String text) { bool _canSubmit(int seletType, String text) {
if (seletType.isNull) { if (seletType == null) {
return false; return false;
} else if (text.isEmpty) { } else if (text.isEmpty) {
return false; return false;
@ -213,48 +214,54 @@ class _AddFixedSubmitPageState extends State<AddFixedSubmitPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
UserProvider userProvider = Provider.of<UserProvider>(context); UserProvider userProvider = Provider.of<UserProvider>(context);
return BeeScaffold( return WillPopScope(
title: '报事报修', child: BeeScaffold(
body: Column( title: '报事报修',
children: [ body: Column(
ListView( children: [
children: [ ListView(
_buildHouseCard( children: [
kEstateName, _buildHouseCard(
userProvider.userDetailModel.estateNames.isEmpty kEstateName,
? '' userProvider.userDetailModel.estateNames.isEmpty
: BeeParse.getEstateName( ? ''
userProvider.userDetailModel.estateNames[0])), : BeeParse.getEstateName(
_getType(), userProvider.userDetailModel.estateNames[0])),
_buildReportCard(), _getType(),
_addImages(), _buildReportCard(),
], _addImages(),
).expand(), ],
], ).expand(),
), ],
bottomNavi: BottomButton( ),
onPressed: _canSubmit(_selectType, _textEditingController.text) bottomNavi: BottomButton(
? () async { onPressed: _canSubmit(_selectType, _textEditingController.text)
VoidCallback cancel = BotToast.showLoading(); ? () async {
List<String> urls = await NetUtil() VoidCallback cancel = BotToast.showLoading();
.uploadFiles(_files, API.upload.uploadRepair); List<String> urls = await NetUtil()
BaseModel baseModel = await ManagerFunc.reportRepairInsert( .uploadFiles(_files, API.upload.uploadRepair);
BeeParse.getEstateNameId( BaseModel baseModel = await ManagerFunc.reportRepairInsert(
userProvider.userDetailModel.estateNames[0]), BeeParse.getEstateNameId(
_selectType + 1, userProvider.userDetailModel.estateNames[0]),
_textEditingController.text, _selectType + 1,
urls); _textEditingController.text,
if (baseModel.status) { urls);
FinishFixedSubmitPage().to(); if (baseModel.status) {
} else Get.off(FinishFixedSubmitPage());
BotToast.showText(text: baseModel.message); } else
cancel(); BotToast.showText(text: baseModel.message);
} cancel();
: () { }
BotToast.showText(text: '请填写完整报修信息!'); : () {
}, BotToast.showText(text: '请填写完整报修信息!');
child: '确认提交'.text.black.bold.size(32.sp).make(), },
child: '确认提交'.text.black.bold.size(32.sp).make(),
),
), ),
onWillPop: () async {
Get.back(result: true);
return false;
},
); );
} }
} }

@ -1,4 +1,7 @@
// Flutter imports: // Flutter imports:
import 'package:akuCommunity/pages/sign/sign_in_page.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports: // Package imports:
@ -29,10 +32,18 @@ class ApplicationView extends StatefulWidget {
class _ApplicationViewState extends State<ApplicationView> { class _ApplicationViewState extends State<ApplicationView> {
_buildTile(AO object) { _buildTile(AO object) {
final userProvider = Provider.of<UserProvider>(context);
return MaterialButton( return MaterialButton(
shape: StadiumBorder(), shape: StadiumBorder(),
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
onPressed: () => Get.to(object.page), onPressed: () {
if (userProvider.isLogin)
Get.to(object.page);
else {
BotToast.showText(text: '请先登陆');
Get.to(SignInPage());
}
},
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [

Loading…
Cancel
Save