Commit 100c118f by 吴春元

修改,公司账号:

1、选择设备样式
2、首页新增设备人员对比表格
3、优化其他问题
parent 4c4db723
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:special_equipment_flutter/ui/login/login_page.dart'; import 'package:special_equipment_flutter/ui/login/login_page.dart';
import 'package:special_equipment_flutter/ui/main/tab_home_page.dart'; import 'package:special_equipment_flutter/ui/main/tab_home_page.dart';
import 'package:special_equipment_flutter/ui/main/unit/equipment_personnel_page.dart';
import 'package:special_equipment_flutter/ui/register/address_page.dart'; import 'package:special_equipment_flutter/ui/register/address_page.dart';
import 'package:special_equipment_flutter/ui/register/register_page1.dart'; import 'package:special_equipment_flutter/ui/register/register_page1.dart';
import 'package:special_equipment_flutter/ui/register/register_page2.dart'; import 'package:special_equipment_flutter/ui/register/register_page2.dart';
...@@ -121,7 +122,7 @@ class RouteString { ...@@ -121,7 +122,7 @@ class RouteString {
GetPage(name: UNIT_SETTINGS, page: () => const UnitSettingsPage()), GetPage(name: UNIT_SETTINGS, page: () => const UnitSettingsPage()),
///公司-首页-设备人员对比表格 ///公司-首页-设备人员对比表格
// GetPage(name: EQUIPMENT_PERSONNEL, page: () => EquipmentPersonnelPage()), GetPage(name: EQUIPMENT_PERSONNEL, page: () => EquipmentPersonnelPage()),
///首页 ///首页
GetPage(name: HOME, page: () => const HomePage()), GetPage(name: HOME, page: () => const HomePage()),
......
// ignore_for_file: unnecessary_brace_in_string_interps, non_constant_identifier_names // ignore_for_file: unnecessary_brace_in_string_interps, non_constant_identifier_names
class Api { class Api {
static var IS_DEBUG = false; static var IS_DEBUG = true;
static String URL = static String URL =
IS_DEBUG ? "https://special.sxyztech.cn/" : "http://192.168.19.215:8181/"; IS_DEBUG ? "https://special.sxyztech.cn/" : "http://47.92.138.92:8009/";
///演示 ip ///演示 ip
// static String URL = "http://47.92.138.92:8009/"; // static String URL = "http://47.92.138.92:8009/";
// static String URL = "http://192.168.19.189:8181/"; // static String URL = "http://192.168.19.189:8181/";
// static String URL = "http://192.168.19.215:8181/"; // static String URL = "http://192.168.19.215:8181/";
...@@ -165,4 +164,7 @@ class Api { ...@@ -165,4 +164,7 @@ class Api {
/// 公司账户-首页-设备对比表格 获取主要负责人 /// 公司账户-首页-设备对比表格 获取主要负责人
static String FIND_CHARGE_LIST = "${URL + START_URL}sys/user/findChargeList"; static String FIND_CHARGE_LIST = "${URL + START_URL}sys/user/findChargeList";
/// 公司账户-首页-设备对比表格 获取使用单位设备数量
static String FIND_COUNT = "${URL + START_URL}device/deviceInfo/findCount";
} }
...@@ -20,6 +20,7 @@ import 'package:special_equipment_flutter/model/device_list_bo.dart'; ...@@ -20,6 +20,7 @@ import 'package:special_equipment_flutter/model/device_list_bo.dart';
import 'package:special_equipment_flutter/model/echart_bo.dart'; import 'package:special_equipment_flutter/model/echart_bo.dart';
import 'package:special_equipment_flutter/model/equipment_bo.dart'; import 'package:special_equipment_flutter/model/equipment_bo.dart';
import 'package:special_equipment_flutter/model/find_charge_list_bo.dart'; import 'package:special_equipment_flutter/model/find_charge_list_bo.dart';
import 'package:special_equipment_flutter/model/find_count_bo.dart';
import 'package:special_equipment_flutter/model/login_bo.dart'; import 'package:special_equipment_flutter/model/login_bo.dart';
import 'package:special_equipment_flutter/model/month_control_list_sy_bo.dart'; import 'package:special_equipment_flutter/model/month_control_list_sy_bo.dart';
import 'package:special_equipment_flutter/model/office_device.dart'; import 'package:special_equipment_flutter/model/office_device.dart';
...@@ -1129,7 +1130,7 @@ class HttpUtils { ...@@ -1129,7 +1130,7 @@ class HttpUtils {
DoUtils.get(context, DoUtils.get(context,
'${Api.FIND_CHARGE_LIST};JSESSIONID=${StorageUtil.getInstance().getJsessionId()}', '${Api.FIND_CHARGE_LIST};JSESSIONID=${StorageUtil.getInstance().getJsessionId()}',
parameters: params, parameters: params,
isLoading: true, isLoading: false,
loadingText: '正在加载', onSuccess: (Response response) { loadingText: '正在加载', onSuccess: (Response response) {
var resultObj = ResultObjBo.fromJson( var resultObj = ResultObjBo.fromJson(
response.data, (json) => FindChargeListBo.fromJson(json)); response.data, (json) => FindChargeListBo.fromJson(json));
...@@ -1138,6 +1139,24 @@ class HttpUtils { ...@@ -1138,6 +1139,24 @@ class HttpUtils {
}, onError: (e) {}); }, onError: (e) {});
} }
/// 公司账户-首页-设备对比表格 获取使用单位设备数量
static void doFindCount(BuildContext context,
{Function(FindCountBo bo)? onSuccess}) {
Map<String, dynamic> params = {
'officeId': StorageUtil.getInstance().getOfficeId(),
};
DoUtils.get(context,
'${Api.FIND_COUNT};JSESSIONID=${StorageUtil.getInstance().getJsessionId()}',
parameters: params,
isLoading: false,
loadingText: '正在加载', onSuccess: (Response response) {
var resultObj = ResultObjBo.fromJson(
response.data, (json) => FindCountBo.fromJson(json));
FindCountBo? bo = resultObj.body;
onSuccess!(bo!);
}, onError: (e) {});
}
// HttpUtils.getList(context, _page, 20).then((value) { // HttpUtils.getList(context, _page, 20).then((value) {
// ListBo listBo = value; // ListBo listBo = value;
// print(listBo); // print(listBo);
......
...@@ -12,6 +12,7 @@ class FindChargeListBo { ...@@ -12,6 +12,7 @@ class FindChargeListBo {
} }
} }
String? chargeNames = '';
List<ChargeUserList>? list; List<ChargeUserList>? list;
FindChargeListBo copyWith({ FindChargeListBo copyWith({
......
class FindCountBo {
FindCountBo({
this.list,
});
FindCountBo.fromJson(dynamic json) {
if (json['list'] != null) {
list = [];
json['list'].forEach((v) {
list?.add(CountData.fromJson(v));
});
}
}
List<CountData>? list;
FindCountBo copyWith({
List<CountData>? list,
}) =>
FindCountBo(
list: list ?? this.list,
);
Map<String, dynamic> toJson() {
final map = <String, dynamic>{};
if (list != null) {
map['list'] = list?.map((v) => v.toJson()).toList();
}
return map;
}
}
class CountData {
CountData({
this.deviceTypeId,
this.count,
});
CountData.fromJson(dynamic json) {
deviceTypeId = json['deviceTypeId'];
count = json['count'];
}
String? deviceTypeId;
int? count;
CountData copyWith({
String? deviceTypeId,
int? count,
}) =>
CountData(
deviceTypeId: deviceTypeId ?? this.deviceTypeId,
count: count ?? this.count,
);
Map<String, dynamic> toJson() {
final map = <String, dynamic>{};
map['deviceTypeId'] = deviceTypeId;
map['count'] = count;
return map;
}
}
import 'package:special_equipment_flutter/model/role_bo.dart';
class OfficeDevice { class OfficeDevice {
OfficeDevice({ OfficeDevice({
this.office, this.office,
...@@ -192,7 +194,11 @@ class OfficeDtoLists { ...@@ -192,7 +194,11 @@ class OfficeDtoLists {
String? sort; String? sort;
String? delFlag; String? delFlag;
String? curType; String? curType;
String? deviceCount = '';
bool? isChecked = false; bool? isChecked = false;
String? safetyOfficer = '';
String? safetyDirector = '';
List<UserData>? list = [];
OfficeDtoLists copyWith({ OfficeDtoLists copyWith({
String? id, String? id,
......
...@@ -101,7 +101,7 @@ class EditTextState extends State<EditTextWidget> ...@@ -101,7 +101,7 @@ class EditTextState extends State<EditTextWidget>
}); });
phoneController.value = phoneController.value =
phoneController.value.copyWith(text: Api.IS_DEBUG ? '' : 'laoliu'); phoneController.value.copyWith(text: Api.IS_DEBUG ? '' : 'csgs123');
passController.value = passController.value =
passController.value.copyWith(text: Api.IS_DEBUG ? '' : 'Aa123456.'); passController.value.copyWith(text: Api.IS_DEBUG ? '' : 'Aa123456.');
super.initState(); super.initState();
......
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:special_equipment_flutter/common/color_const.dart';
import 'package:special_equipment_flutter/model/device_list_bo.dart';
import 'package:special_equipment_flutter/widgets/app_bar/custom_app_bar.dart';
///公司-首页-设备人员对比表格
class EquipmentPersonnelPage extends StatefulWidget {
var argsBundle = Get.arguments;
EquipmentPersonnelPage({super.key});
@override
State<EquipmentPersonnelPage> createState() => _EquipmentPersonnelPageState();
}
class _EquipmentPersonnelPageState extends State<EquipmentPersonnelPage> {
Data? deviceData;
@override
void initState() {
super.initState();
deviceData = widget.argsBundle['item'];
print(jsonEncode(deviceData));
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBarCustom(text: deviceData!.name, height: 50),
body: Table(
border: TableBorder.all(color: ColorConst.blueColor),
textBaseline: TextBaseline.alphabetic,
defaultVerticalAlignment: TableCellVerticalAlignment.middle,
columnWidths: const {
// 0: FixedColumnWidth(130),
// 1: FixedColumnWidth(80),
// 2: FixedColumnWidth(65),
// 3: FixedColumnWidth(50)
},
children: [
TableRow(children: [
buildTableTitle(name: '用户类型', color: ColorConst.blueColor),
buildTableTitle(name: '用户名称', color: ColorConst.blueColor),
]),
TableRow(children: [
Table(
border:
TableBorder.all(color: ColorConst.blueColor, width: 0.5),
children: [
for (var item in deviceData!.list!) ...[
TableRow(children: [
GestureDetector(
onTap: () {
// onTapSyDirector!();
},
child: Center(
child: Container(
height: 30,
padding: const EdgeInsets.only(top: 5, bottom: 5),
child: Text(item.roleName!,
style: const TextStyle(
fontSize: 13, color: Colors.black)),
)),
),
]),
]
]),
Table(
border: TableBorder.all(color: ColorConst.blueColor),
children: [
for (var item in deviceData!.list!) ...[
TableRow(children: [
GestureDetector(
onTap: () {
// onTapSyOfficer!();
},
child: Center(
child: Container(
height: 30,
padding: const EdgeInsets.only(top: 5, bottom: 5),
child: Text(item.userName!,
style: const TextStyle(
fontSize: 13, color: Colors.black)),
)),
),
]),
]
]),
]),
]),
);
}
Center buildTableTitle({color, name}) {
return Center(
child: Padding(
padding: const EdgeInsets.only(top: 8, bottom: 8),
child: Text(name,
style: TextStyle(
fontWeight: FontWeight.bold, color: color, fontSize: 14)),
),
);
}
}
...@@ -46,27 +46,11 @@ class _InspectListSyPageState extends State<InspectListSyPage> ...@@ -46,27 +46,11 @@ class _InspectListSyPageState extends State<InspectListSyPage>
List<TaskMonthList> listMonth = []; List<TaskMonthList> listMonth = [];
var type, unitStatus; var type, unitStatus;
// late AnimationController animationController;
// late Animation<double> animation;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
type = widget.args['type']; type = widget.args['type'];
unitStatus = StorageUtil.getInstance().getUnitStatus(); unitStatus = StorageUtil.getInstance().getUnitStatus();
// animationController = AnimationController(
// duration: const Duration(seconds: 1),
// vsync: this,
// )..addListener(() {
// setState(() {});
// });
// final curvedAnimation = CurvedAnimation(
// parent: animationController,
// curve: Curves.bounceOut,
// );
// animation = Tween<double>(begin: 0, end: 1).animate(curvedAnimation);
// animationController.forward();
getData(); getData();
} }
...@@ -220,32 +204,6 @@ class _InspectListSyPageState extends State<InspectListSyPage> ...@@ -220,32 +204,6 @@ class _InspectListSyPageState extends State<InspectListSyPage>
InkWell buildItem(int index, BuildContext context) { InkWell buildItem(int index, BuildContext context) {
return InkWell( return InkWell(
onTap: () { onTap: () {
// if (type == '1') {
// Get.toNamed(RouteString.DAY_INSPECT_SUBMIT_SY,
// arguments: {'argsData': widget.args, 'listBo': list(index)})
// ?.then((value) {
// if (value != null && value) {
// getData();
// }
// });
// } else if (type == '2') {
// Get.toNamed(RouteString.WEEK_INSPECT_SUBMIT_SY,
// arguments: {'argsData': widget.args, 'listBo': list(index)})
// ?.then((value) {
// if (value != null && value) {
// getData();
// }
// });
// } else if (type == '3') {
// Get.toNamed(RouteString.MONTH_INSPECT_SUBMIT_SY,
// arguments: {'argsData': widget.args, 'listBo': list(index)})
// ?.then((value) {
// if (value != null && value) {
// getData();
// }
// });
// }
if (type == '1') { if (type == '1') {
Get.toNamed(RouteString.DAY_INSPECT_SUBMIT_SY, Get.toNamed(RouteString.DAY_INSPECT_SUBMIT_SY,
arguments: {'argsData': widget.args, 'listBo': list(index)}) arguments: {'argsData': widget.args, 'listBo': list(index)})
......
...@@ -5,6 +5,7 @@ import 'package:get/get.dart'; ...@@ -5,6 +5,7 @@ import 'package:get/get.dart';
import 'package:special_equipment_flutter/common/color_const.dart'; import 'package:special_equipment_flutter/common/color_const.dart';
import 'package:special_equipment_flutter/dio/http_utils.dart'; import 'package:special_equipment_flutter/dio/http_utils.dart';
import 'package:special_equipment_flutter/model/count_bo.dart'; import 'package:special_equipment_flutter/model/count_bo.dart';
import 'package:special_equipment_flutter/ui/sy/list/test_inspect_list_sy_page.dart';
import 'package:special_equipment_flutter/utils/storage_util.dart'; import 'package:special_equipment_flutter/utils/storage_util.dart';
import '../../widgets/app_bar/custom_app_bar.dart'; import '../../widgets/app_bar/custom_app_bar.dart';
...@@ -79,6 +80,11 @@ class _SyTabPageState extends State<SyTabPage> { ...@@ -79,6 +80,11 @@ class _SyTabPageState extends State<SyTabPage> {
num1 = data; num1 = data;
}); });
}), }),
// TestInspectListSyPage(widget.args, onDataChanged: (data) {
// setState(() {
// num1 = data;
// });
// }),
RiskListSyPage(widget.args, onDataChanged: (data) { RiskListSyPage(widget.args, onDataChanged: (data) {
setState(() { setState(() {
num2 = data; num2 = data;
......
// import 'package:flutter/material.dart';
// import 'package:special_equipment_flutter/common/color_const.dart';
// import 'package:special_equipment_flutter/model/device_list_bo.dart';
// import 'package:special_equipment_flutter/model/find_charge_list_bo.dart';
// import 'package:special_equipment_flutter/widgets/app_bar/custom_app_bar.dart';
//
// ///公司-首页-设备人员对比表格
// class EquipmentPersonnelPage extends StatefulWidget {
// Data? deviceData;
//
// List<ChargeUserList>? chargeList = [];
//
// EquipmentPersonnelPage({super.key, this.deviceData, this.chargeList});
//
// @override
// State<EquipmentPersonnelPage> createState() => _EquipmentPersonnelPageState();
// }
//
// class _EquipmentPersonnelPageState extends State<EquipmentPersonnelPage> {
// @override
// Widget build(BuildContext context) {
// return Scaffold(
// appBar: AppBarCustom(text: 'cesjo', height: 50),
// body: Table(
// border: TableBorder.all(color: ColorConst.blueColor),
// textBaseline: TextBaseline.alphabetic,
// defaultVerticalAlignment: TableCellVerticalAlignment.middle,
// columnWidths: const {
// 0: FixedColumnWidth(130),
// 1: FixedColumnWidth(80),
// // 2: FixedColumnWidth(65),
// // 3: FixedColumnWidth(50)
// },
// children: [
// TableRow(children: [
// buildTableTitle(name: '设备名称', color: ColorConst.blueColor),
// ]),
// TableRow(children: [
// Table(
// border:
// TableBorder.all(color: ColorConst.blueColor, width: 0.5),
// children: [
// for (var item in deviceDataSyList!) ...[
// TableRow(children: [
// Center(
// child: Container(
// height: 30,
// padding:
// const EdgeInsets.only(top: 5, bottom: 5),
// child: Text(item.name!,
// style: const TextStyle(fontSize: 14)))),
// ]),
// ],
// ]),
//
// ///使用单位:主要负责人内容
// GestureDetector(
// onTap: () {
// // onTapSyCharge!();
// },
// child: Center(
// child: Padding(
// padding: const EdgeInsets.all(5.0),
// child: Text(chargeList!.isNotEmpty ? '✔' : '✘',
// style: TextStyle(
// fontSize: 13,
// color: chargeList!.isNotEmpty
// ? Colors.black
// : Colors.red)),
// )),
// ),
//
// ///使用单位:安全总监内容
// Table(
// border:
// TableBorder.all(color: ColorConst.blueColor, width: 0.5),
// children: [
// for (var item in deviceDataSyList!) ...[
// TableRow(children: [
// GestureDetector(
// onTap: () {
// // onTapSyDirector!();
// },
// child: Center(
// child: Container(
// height: 30,
// padding: const EdgeInsets.only(top: 5, bottom: 5),
// child: Text(
// item.safetyDirector!.isNotEmpty ? '✔' : '✘',
// style: TextStyle(
// fontSize: 13,
// color: item.safetyDirector!.isNotEmpty
// ? Colors.black
// : Colors.red)),
// )),
// ),
// ]),
// ]
// ]),
//
// ///使用单位:安全员内容
// Table(
// border: TableBorder.all(color: ColorConst.blueColor),
// children: [
// for (var item in deviceDataSyList!) ...[
// TableRow(children: [
// GestureDetector(
// onTap: () {
// // onTapSyOfficer!();
// },
// child: Center(
// child: Container(
// height: 30,
// padding: const EdgeInsets.only(top: 5, bottom: 5),
// child: Text(
// item.safetyOfficer!.isNotEmpty ? '✔' : '✘',
// style: TextStyle(
// fontSize: 13,
// color: item.safetyOfficer!.isNotEmpty
// ? Colors.black
// : Colors.red)),
// )),
// ),
// ]),
// ]
// ]),
// ]),
// ]),
// );
// }
//
// Center buildTableTitle({color, name}) {
// return Center(
// child: Padding(
// padding: const EdgeInsets.only(top: 8, bottom: 8),
// child: Text(name,
// style: TextStyle(
// fontWeight: FontWeight.bold, color: color, fontSize: 14)),
// ),
// );
// }
// }
...@@ -120,6 +120,8 @@ flutter: ...@@ -120,6 +120,8 @@ flutter:
- assets/home/unit_settings_icon.png - assets/home/unit_settings_icon.png
- assets/home/user_settings_icon.png - assets/home/user_settings_icon.png
- assets/home/user_easyico_icon.png - assets/home/user_easyico_icon.png
- assets/home/select_check_blue.png
- assets/home/select_check_orange.png
- assets/spalsh.jpeg - assets/spalsh.jpeg
# An image asset can refer to one or more resolution-specific "variants", see # An image asset can refer to one or more resolution-specific "variants", see
......
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