便民电话

pull/1/head
张萌 3 years ago
parent 6195daa49c
commit c5feb7e9b7

@ -1,21 +0,0 @@
class ConvenientPhoneModel {
int? id;
String? name;
String? tel;
ConvenientPhoneModel({this.id, this.name, this.tel});
ConvenientPhoneModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
tel = json['tel'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['name'] = this.name;
data['tel'] = this.tel;
return data;
}
}

@ -0,0 +1,26 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:equatable/equatable.dart';
part 'convenience_phone_model.g.dart';
@JsonSerializable()
class ConveniencePhoneModel extends Equatable {
final int id;
final String name;
final String tel;
final int type;
factory ConveniencePhoneModel.fromJson(Map<String, dynamic> json) =>
_$ConveniencePhoneModelFromJson(json);
const ConveniencePhoneModel({
required this.id,
required this.name,
required this.tel,
required this.type,
});
@override
List<Object?> get props => [id, name, tel, type,];
}

@ -0,0 +1,16 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'convenience_phone_model.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
ConveniencePhoneModel _$ConveniencePhoneModelFromJson(
Map<String, dynamic> json) =>
ConveniencePhoneModel(
id: json['id'] as int,
name: json['name'] as String,
tel: json['tel'] as String,
type: json['type'] as int,
);

@ -1,7 +1,7 @@
import 'package:aku_new_community/const/resource.dart'; import 'package:aku_new_community/const/resource.dart';
import 'package:aku_new_community/constants/api.dart'; import 'package:aku_new_community/constants/saas_api.dart';
import 'package:aku_new_community/model/user/convenient_phone_model.dart'; import 'package:aku_new_community/models/convenience_phone/convenience_phone_model.dart';
import 'package:aku_new_community/pages/things_page/widget/bee_list_view.dart'; import 'package:aku_new_community/utils/network/net_util.dart';
import 'package:aku_new_community/widget/bee_scaffold.dart'; import 'package:aku_new_community/widget/bee_scaffold.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -19,8 +19,10 @@ class ConvenientPhonePage extends StatefulWidget {
} }
class _ConvenientPhonePageState extends State<ConvenientPhonePage> { class _ConvenientPhonePageState extends State<ConvenientPhonePage> {
EasyRefreshController? _easyRefreshController; late EasyRefreshController _easyRefreshController;
TextEditingController? _textEditingController; late TextEditingController _textEditingController;
List<ConveniencePhoneModel> _models = [];
@override @override
void initState() { void initState() {
@ -31,12 +33,12 @@ class _ConvenientPhonePageState extends State<ConvenientPhonePage> {
@override @override
void dispose() { void dispose() {
_easyRefreshController?.dispose(); _easyRefreshController.dispose();
_textEditingController?.dispose(); _textEditingController.dispose();
super.dispose(); super.dispose();
} }
Widget _buildTile(ConvenientPhoneModel model) { Widget _buildTile(ConveniencePhoneModel model) {
return Column( return Column(
children: [ children: [
Row( Row(
@ -45,9 +47,9 @@ class _ConvenientPhonePageState extends State<ConvenientPhonePage> {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
model.name!.text.black.size(32.sp).make(), model.name.text.black.size(32.sp).make(),
12.w.heightBox, 12.w.heightBox,
model.tel!.text.color(Color(0xFF999999)).size(28.sp).make(), model.tel.text.color(Color(0xFF999999)).size(28.sp).make(),
], ],
).expand(), ).expand(),
IconButton( IconButton(
@ -58,7 +60,7 @@ class _ConvenientPhonePageState extends State<ConvenientPhonePage> {
), ),
onPressed: () async { onPressed: () async {
bool? result = await Get.dialog(CupertinoAlertDialog( bool? result = await Get.dialog(CupertinoAlertDialog(
title: model.tel!.text.isIntrinsic.make(), title: '是否拨打电话 ${model.tel}'.text.isIntrinsic.make(),
actions: [ actions: [
CupertinoDialogAction( CupertinoDialogAction(
child: '取消'.text.isIntrinsic.make(), child: '取消'.text.isIntrinsic.make(),
@ -99,8 +101,8 @@ class _ConvenientPhonePageState extends State<ConvenientPhonePage> {
), ),
child: TextField( child: TextField(
controller: _textEditingController, controller: _textEditingController,
onSubmitted: (value) { onChanged: (value) {
_easyRefreshController!.callRefresh(); _easyRefreshController.callRefresh();
setState(() {}); setState(() {});
}, },
decoration: InputDecoration( decoration: InputDecoration(
@ -119,32 +121,36 @@ class _ConvenientPhonePageState extends State<ConvenientPhonePage> {
), ),
), ),
Expanded( Expanded(
child: BeeListView<ConvenientPhoneModel>( child: EasyRefresh(
extraParams: {'name': _textEditingController!.text}, firstRefresh: true,
header: MaterialHeader(),
controller: _easyRefreshController, controller: _easyRefreshController,
path: API.manager.convenientPhone, onRefresh: () async {
convert: (model) { var base =
return model.rows await NetUtil().get(SAASAPI.conveniencePhone.list, params: {
.map((e) => ConvenientPhoneModel.fromJson(e)) 'name': _textEditingController.text,
.toList(); });
}, if (base.success) {
builder: (items) { _models = (base.data as List)
return ListView.separated( .map((e) => ConveniencePhoneModel.fromJson(e))
padding: .toList();
EdgeInsets.symmetric(horizontal: 32.w, vertical: 24.w), }
itemBuilder: (context, index) { setState(() {});
return _buildTile(items[index]);
},
separatorBuilder: (context, index) {
return Divider(
thickness: 1.w,
height: 40.w,
color: Color(0xFFD8D8D8),
);
},
itemCount: items.length,
);
}, },
child: ListView.separated(
padding: EdgeInsets.symmetric(horizontal: 32.w, vertical: 24.w),
itemBuilder: (context, index) {
return _buildTile(_models[index]);
},
separatorBuilder: (context, index) {
return Divider(
thickness: 1.w,
height: 40.w,
color: Color(0xFFD8D8D8),
);
},
itemCount: _models.length,
),
), ),
), ),
], ],

@ -146,6 +146,8 @@ class _BalanceRecordViewState extends State<BalanceRecordView> {
_models = baseList.rows _models = baseList.rows
.map((e) => TradeRecordListModel.fromJson(e)) .map((e) => TradeRecordListModel.fromJson(e))
.toList(); .toList();
setState(() {});
}, },
onLoad: () async { onLoad: () async {
_pageNum++; _pageNum++;
@ -164,6 +166,7 @@ class _BalanceRecordViewState extends State<BalanceRecordView> {
} else { } else {
_refreshController.finishLoad(noMore: true); _refreshController.finishLoad(noMore: true);
} }
setState(() {});
}, },
child: ListView( child: ListView(
padding: EdgeInsets.symmetric(horizontal: 32.w, vertical: 24.w), padding: EdgeInsets.symmetric(horizontal: 32.w, vertical: 24.w),

@ -146,6 +146,7 @@ class _PointRecordViewState extends State<PointRecordView> {
_models = baseList.rows _models = baseList.rows
.map((e) => TradeRecordListModel.fromJson(e)) .map((e) => TradeRecordListModel.fromJson(e))
.toList(); .toList();
setState(() {});
}, },
onLoad: () async { onLoad: () async {
_pageNum++; _pageNum++;
@ -164,6 +165,7 @@ class _PointRecordViewState extends State<PointRecordView> {
} else { } else {
_refreshController.finishLoad(noMore: true); _refreshController.finishLoad(noMore: true);
} }
setState(() {});
}, },
child: ListView( child: ListView(
padding: EdgeInsets.symmetric(horizontal: 32.w, vertical: 24.w), padding: EdgeInsets.symmetric(horizontal: 32.w, vertical: 24.w),
@ -193,8 +195,8 @@ class _PointRecordViewState extends State<PointRecordView> {
.text .text
.size(28.sp) .size(28.sp)
.color(incom(model.type) .color(incom(model.type)
? Colors.red ? Colors.red
: Colors.black.withOpacity(0.85)) : Colors.black.withOpacity(0.85))
.make(), .make(),
], ],
), ),

@ -81,8 +81,6 @@ class ApplicationUtil {
title: '便民电话', title: '便民电话',
imgPath: Assets.newIcon.imgBmdh.path, imgPath: Assets.newIcon.imgBmdh.path,
onTap: () { onTap: () {
BotToast.showText(text: '此功能暂未上线');
return;
Get.to(() => ConvenientPhonePage()); Get.to(() => ConvenientPhonePage());
}), }),
AppElement( AppElement(
@ -170,8 +168,6 @@ class ApplicationUtil {
title: '社区介绍', title: '社区介绍',
imgPath: Assets.newIcon.icSqjs.path, imgPath: Assets.newIcon.icSqjs.path,
onTap: () { onTap: () {
// BotToast.showText(text: '此功能升级中,敬请期待');
// return;
Get.to(() => CommunityIntroducePage()); Get.to(() => CommunityIntroducePage());
}), }),
// AppElement('家政服务', R.ASSETS_ICONS_FUNC_JZFW_PNG, () => HouseKeepingPage()), // AppElement('家政服务', R.ASSETS_ICONS_FUNC_JZFW_PNG, () => HouseKeepingPage()),

Loading…
Cancel
Save