Commit eee267f1 authored by 林生雨's avatar 林生雨

W

parent 3d293fff
...@@ -12,6 +12,7 @@ import 'package:gm_flutter/commonModel/GMBase.dart'; ...@@ -12,6 +12,7 @@ import 'package:gm_flutter/commonModel/GMBase.dart';
import 'package:gm_flutter/commonModel/rx/RxDispose.dart'; import 'package:gm_flutter/commonModel/rx/RxDispose.dart';
import 'package:flutter_common/commonModel/toast/NativeToast.dart'; import 'package:flutter_common/commonModel/toast/NativeToast.dart';
import 'package:gm_flutter/commonModel/bean/Pair.dart'; import 'package:gm_flutter/commonModel/bean/Pair.dart';
import 'package:gm_flutter/commonModel/util/PrintUtil.dart';
class PlanCompareDetailModel extends BaseModel { class PlanCompareDetailModel extends BaseModel {
LiveData<Pair<int, List<Groups>>> detailLive = LiveData(); LiveData<Pair<int, List<Groups>>> detailLive = LiveData();
...@@ -43,7 +44,7 @@ class PlanCompareDetailModel extends BaseModel { ...@@ -43,7 +44,7 @@ class PlanCompareDetailModel extends BaseModel {
.addToDispose(rxDispose) .addToDispose(rxDispose)
.onError((err) { .onError((err) {
stateLive.notifyView(FAIL); stateLive.notifyView(FAIL);
NativeToast.showNativeToast(err.message); PrintUtil.printBug(err);
}); });
} }
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
**/ **/
import 'package:flutter_common/commonModel/live/BaseModel.dart'; import 'package:flutter_common/commonModel/live/BaseModel.dart';
import 'package:flutter_common/commonModel/live/LiveData.dart'; import 'package:flutter_common/commonModel/live/LiveData.dart';
import 'package:flutter_common/commonModel/toast/NativeToast.dart';
import 'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart'; import 'package:gm_flutter/ClueModel/server/api/ClueApi.serv.dart';
import 'package:gm_flutter/commonModel/GMBase.dart'; import 'package:gm_flutter/commonModel/GMBase.dart';
import 'package:gm_flutter/commonModel/rx/RxDispose.dart'; import 'package:gm_flutter/commonModel/rx/RxDispose.dart';
...@@ -20,11 +21,15 @@ class ProjectDetailsModel extends BaseModel { ...@@ -20,11 +21,15 @@ class ProjectDetailsModel extends BaseModel {
ClueApiImpl.getInstance() ClueApiImpl.getInstance()
.getProjectDetails(DioUtil.getInstance().getDio(), _planId) .getProjectDetails(DioUtil.getInstance().getDio(), _planId)
.listen((event) { .listen((event) {
if (event.error != 0) {
NativeToast.showNativeToast(event.message);
}
liveData.notifyView(event); liveData.notifyView(event);
}) })
.addToDispose(rxDispose) .addToDispose(rxDispose)
.onError((err) { .onError((err) {
PrintUtil.printBug(err); PrintUtil.printBug(err);
liveData.notifyView(ProjectDetailsItem()..error = -1);
}); });
} }
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
* @date 2020-07-01 * @date 2020-07-01
* 项目说明 * 项目说明
**/ **/
import 'dart:ui';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_boost/flutter_boost.dart'; import 'package:flutter_boost/flutter_boost.dart';
...@@ -70,6 +72,14 @@ class _ProjectDetailsState extends BaseState<ProjectDetailsPage> { ...@@ -70,6 +72,14 @@ class _ProjectDetailsState extends BaseState<ProjectDetailsPage> {
return Container(); return Container();
} }
ProjectDetailsItem item = data.data; ProjectDetailsItem item = data.data;
if (item == null || item.error != 0) {
return errorItem(MediaQuery.of(context).size.width,
MediaQuery.of(context).size.height, () {
_model.init(widget._planId);
},
paddingTop: MediaQueryData.fromWindow(window).padding.top +
kToolbarHeight);
}
if (item == null || if (item == null ||
item.data == null || item.data == null ||
item.data.groups == null || item.data.groups == null ||
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_common/commonModel/picker/base/BaseBottomPicker.dart'; import 'package:flutter_common/commonModel/picker/base/BaseBottomPicker.dart';
import 'package:flutter_common/commonModel/toast/NativeToast.dart';
import 'package:gm_flutter/ClueModel/page/DiscussLowPrice/DiscussLowPricePopView.dart'; import 'package:gm_flutter/ClueModel/page/DiscussLowPrice/DiscussLowPricePopView.dart';
import 'package:gm_flutter/ClueModel/page/levelOne/LevelOneListModel.dart'; import 'package:gm_flutter/ClueModel/page/levelOne/LevelOneListModel.dart';
import 'package:gm_flutter/ClueModel/page/mechanismBox/MechanismBoxPage.dart'; import 'package:gm_flutter/ClueModel/page/mechanismBox/MechanismBoxPage.dart';
...@@ -140,11 +141,19 @@ class LevelOneListState extends State<LevelOneList> ...@@ -140,11 +141,19 @@ class LevelOneListState extends State<LevelOneList>
ask: () { ask: () {
var data2 = _model.data[index]; var data2 = _model.data[index];
if (data2.cardType == "doctor") { if (data2.cardType == "doctor") {
if (!data2.doctor.accept_private_msg) {
NativeToast.showNativeToast("该机构未开通私信功能");
return;
}
buried_on_click_button(index, "consult", "doctor", buried_on_click_button(index, "consult", "doctor",
data2.doctor.doctor_id); data2.doctor.doctor_id);
RouterCenterImpl().findMainRouter().jumpPage( RouterCenterImpl().findMainRouter().jumpPage(
context, data2.doctor.messageUrl, null, true); context, data2.doctor.messageUrl, null, true);
} else if (data2.cardType == "hospital") { } else if (data2.cardType == "hospital") {
if (!data2.hospital.accept_private_msg) {
NativeToast.showNativeToast("该机构未开通私信功能");
return;
}
buried_on_click_button(index, "consult", "hospital", buried_on_click_button(index, "consult", "hospital",
data2.hospital.hosiptalId); data2.hospital.hosiptalId);
RouterCenterImpl().findMainRouter().jumpPage( RouterCenterImpl().findMainRouter().jumpPage(
......
...@@ -438,9 +438,11 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -438,9 +438,11 @@ class LevelOneState extends BaseState<LevelOnePage>
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
Container( Container(
constraints: BoxConstraints( width: 55,
maxWidth: 55, // constraints: BoxConstraints(
), // maxWidth: 55,
// minWidth: 50
// ),
child: Text( child: Text(
element.attrName.length == 2 element.attrName.length == 2
? "${element.attrName.substring(0, 1)} ${element.attrName.substring(1, 2)}" ? "${element.attrName.substring(0, 1)} ${element.attrName.substring(1, 2)}"
......
...@@ -58,7 +58,7 @@ class LevelTwoState extends BaseState<LevelTwoPage> ...@@ -58,7 +58,7 @@ class LevelTwoState extends BaseState<LevelTwoPage>
@override @override
void initState() { void initState() {
DioUtil.getInstance().setProxy('172.30.9.253'); // DioUtil.getInstance().setProxy('172.30.9.253');
super.initState(); super.initState();
_model.plan_id = widget.planId; _model.plan_id = widget.planId;
_model.init(() { _model.init(() {
......
...@@ -212,6 +212,7 @@ class Hospital { ...@@ -212,6 +212,7 @@ class Hospital {
String messageUrl; String messageUrl;
bool isCheck = false; bool isCheck = false;
String gm_url; String gm_url;
bool accept_private_msg;
Hospital( Hospital(
{this.portrait, {this.portrait,
...@@ -230,6 +231,7 @@ class Hospital { ...@@ -230,6 +231,7 @@ class Hospital {
name = json['name']; name = json['name'];
minPrice = json['min_price']; minPrice = json['min_price'];
maxPrice = json['max_price']; maxPrice = json['max_price'];
accept_private_msg = json['accept_private_msg'];
gm_url = json['gm_url']; gm_url = json['gm_url'];
star = json['star']; star = json['star'];
address = json['address']; address = json['address'];
...@@ -245,6 +247,7 @@ class Hospital { ...@@ -245,6 +247,7 @@ class Hospital {
data['name'] = this.name; data['name'] = this.name;
data['min_price'] = this.minPrice; data['min_price'] = this.minPrice;
data['max_price'] = this.maxPrice; data['max_price'] = this.maxPrice;
data['accept_private_msg'] = this.accept_private_msg;
data['star'] = this.star; data['star'] = this.star;
data['gm_url'] = this.gm_url; data['gm_url'] = this.gm_url;
data['address'] = this.address; data['address'] = this.address;
...@@ -265,6 +268,7 @@ class Doctor { ...@@ -265,6 +268,7 @@ class Doctor {
String consultType; String consultType;
String messageUrl; String messageUrl;
String gm_url; String gm_url;
bool accept_private_msg;
Doctor( Doctor(
{this.portrait, {this.portrait,
...@@ -287,6 +291,7 @@ class Doctor { ...@@ -287,6 +291,7 @@ class Doctor {
title = json['title']; title = json['title'];
consultType = json['consult_type']; consultType = json['consult_type'];
messageUrl = json['message_url']; messageUrl = json['message_url'];
accept_private_msg = json['accept_private_msg'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
...@@ -301,6 +306,7 @@ class Doctor { ...@@ -301,6 +306,7 @@ class Doctor {
data['title'] = this.title; data['title'] = this.title;
data['consult_type'] = this.consultType; data['consult_type'] = this.consultType;
data['message_url'] = this.messageUrl; data['message_url'] = this.messageUrl;
data['accept_private_msg'] = this.accept_private_msg;
return data; return data;
} }
} }
......
class ProjectDetailsItem { class ProjectDetailsItem {
int error; int error;
String message; String message;
String extra; Map extra;
String errorExtra; Map errorExtra;
UserType userType; UserType userType;
Data data; Data data;
......
...@@ -25,6 +25,9 @@ class JumpManager { ...@@ -25,6 +25,9 @@ class JumpManager {
String pageNameWrap = String pageNameWrap =
nativePage ? "gm://${pageName}" : "flutter://${pageName}"; nativePage ? "gm://${pageName}" : "flutter://${pageName}";
if (!MainManager.getInstance().isInit) { if (!MainManager.getInstance().isInit) {
if (nativePage) {
return;
}
JumpUtil.jumpToPageRight(context, initMap(params)[pageNameWrap]); JumpUtil.jumpToPageRight(context, initMap(params)[pageNameWrap]);
} else { } else {
FlutterBoost.singleton.open(pageNameWrap, urlParams: params); FlutterBoost.singleton.open(pageNameWrap, urlParams: params);
...@@ -36,16 +39,17 @@ class JumpManager { ...@@ -36,16 +39,17 @@ class JumpManager {
"flutter://level_one_plan_detail": "flutter://level_one_plan_detail":
RouterCenterImpl().findClueRouter().getLevelOnePage(params), RouterCenterImpl().findClueRouter().getLevelOnePage(params),
"flutter://level_two_plan_deatil": "flutter://level_two_plan_deatil":
RouterCenterImpl().findClueRouter().getLevelTwoPage(params), RouterCenterImpl().findClueRouter().getLevelTwoPage(params),
"flutter://level_one_plan_instruction": "flutter://level_one_plan_instruction":
RouterCenterImpl().findClueRouter().getProjectDetailsPage(params), RouterCenterImpl().findClueRouter().getProjectDetailsPage(params),
"flutter://level_two_plan_instruction": "flutter://level_two_plan_instruction":
RouterCenterImpl().findClueRouter().getProjectDetailsPage(params), RouterCenterImpl().findClueRouter().getProjectDetailsPage(params),
"flutter://level_one_plan_compare": "flutter://level_one_plan_compare":
RouterCenterImpl().findClueRouter().getPlansCompareFeed(params), RouterCenterImpl().findClueRouter().getPlansCompareFeed(params),
"flutter://level_two_plan_compare": "flutter://level_two_plan_compare":
RouterCenterImpl().findClueRouter().getPlansCompareFeed(params), RouterCenterImpl().findClueRouter().getPlansCompareFeed(params),
"flutter://plan_home": RouterCenterImpl().findClueRouter().getPlanPage(params), "flutter://plan_home":
RouterCenterImpl().findClueRouter().getPlanPage(params),
"flutter://favor_plan": "flutter://favor_plan":
RouterCenterImpl().findClueRouter().getTopPage(params), RouterCenterImpl().findClueRouter().getTopPage(params),
"flutter://hot_plan": "flutter://hot_plan":
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment