// part of 'index.dart';

// class _Store with ChangeNotifier {
//   final BuildContext context;

//   _Store(this.context) {
//     globalGroundStore.getLastSign();
//     getpersonDetail();
//   }

//   final scaffoldKey = GlobalKey<ScaffoldState>();

//   GlobalGroundStore get globalGroundStore =>
//       GlobalGroundStore.of(context, listen: false);
//   final authGlobalStore = GetIt.I.get<AuthGlobalStore>();

//   AmapController controller;
//   Timer timer;
//   Timer timer2;

//   //当前员工的id
//   String get employeeId => authGlobalStore.info.id;

//   ///地勤员工信息
//   getPersonDetailByEmployeeId.Data personDetail;
//   List<getSubOrganByOrganId.Datum> organList = [];
//   List<getSubOrganByOrganId.Datum> organList2 = [];

//   ///地图上自定义的点
//   List<Marker> markers = [];

//   ///请求参数
//   List signStatus = [];

//   ///选中的二级部门
//   List organIds2 = [];

//   ///选中的一级部门
//   getSubOrganByOrganId.Datum organ1;

//   @override
//   void dispose() {
//     controller?.dispose();
//     timer?.cancel();
//     timer2?.cancel();
//     super.dispose();
//   }

//   ///重置所选的部门以及各种筛选
//   organReset() {
//     organ1 = null;
//     organIds2 = [];
//     signStatus = [];
//     getpersonDetail();
//   }

//   ///切换当前一级部门 ，并将地图中心切换到该部门位置
//   organAction(i) async {
//     organ1 = organList[i];
//     getPersonInfos();
//     await getSubOrgan2();

//     //清除状态
//     signStatus = [];
//     organIds2 = [];
//     notifyListeners();
//     // 切换到该部门位置
//     if (organ1?.latitude != null && organ1?.longitude != null) {
//       var latlng = ParseUtil.bdDecrypt(
//           longitude: organ1.longitude, latitude: organ1.latitude);
//       controller.setCenterCoordinate(latlng);
//     }
//   }

//   ///签到状态筛选
//   signStatusAction(status) {
//     if (signStatus.indexOf(status) != -1) {
//       signStatus.remove(status);
//     } else {
//       signStatus.add(status);
//     }
//     getPersonInfos();
//     notifyListeners();
//   }

//   ///二级部门筛选
//   organ2Action(id) {
//     if (organIds2.indexOf(id) != -1) {
//       organIds2.remove(id);
//     } else {
//       organIds2.add(id);
//     }
//     getPersonInfos();
//     notifyListeners();
//   }

//   /// 获取地勤员工信息
//   getpersonDetail() async {
//     var res = await GroundApi.getPersonDetailByEmployeeId(employeeId);
//     personDetail = res?.data ?? getPersonDetailByEmployeeId.Data();
//     notifyListeners();
//     timer2?.cancel();
//     if (personDetail?.organAdmin == true) {
//       getPersonInfos();
//       getSubOrgan();
//       timer2 = Timer?.periodic(Duration(seconds: 10), (_) {
//         getPersonInfos();
//       });
//     }
//   }

//   /// 获取一级部门列表
//   getSubOrgan() async {
//     var res = await GroundApi.getSubOrganByOrganId(personDetail?.organId);
//     organList = res?.data ?? [];
//   }

//   /// 获取二级部门列表
//   getSubOrgan2() async {
//     var res = await GroundApi.getSubOrganByOrganId(organ1?.id);
//     organList2 = res?.data ?? [];
//   }

//   ///获取下级员工定位点并且在地图上标记
//   getPersonInfos() async {
//     ///拼接organIds
//     List _organIds = [personDetail.organId];
//     if (organ1?.id != null) {
//       _organIds = [organ1.id];
//     }
//     if (organIds2 != null) {
//       _organIds.addAll(organIds2);
//     }

//     var res = await GroundApi.getPersonInfosByOrganIds({
//       'organIds': _organIds.join(';'),
//       'subOrgan': true,
//       'signStatuss': signStatus.join(';'),
//     });
//     var list = res?.data ?? [];
//     for (var item in markers) {
//       item.remove();
//     }
//     list =
//         list.where((item) => item.employeeId != employeeId.toString()).toList();

//     markers = await controller?.addMarkers([
//       for (var item in list)
//         MarkerOption(
//           latLng: ParseUtil.bdDecrypt(
//             latitude: item.latitude,
//             longitude: item.longitude,
//           ),
//           infoWindowEnabled: true,
//           title: item.name ?? '',
//           snippet: '',
//           // iconUri: item?.signStatus == 'signIn'
//           //     ? Uri.parse('assets/wqdwz@2x.png')
//           //     : Uri.parse('assets/qdwz@2x.png'),
//           iconProvider: AssetImage(
//             item?.signStatus == 'signIn'
//                 ? 'lib/assets/wqdwz@2x.png'
//                 : 'lib/assets/qdwz@2x.png',
//             package: 'track_package',
//           ),
//         )
//     ]);
//   }

//   ///地图创建后回调函数
//   onMapCreated(AmapController c) async {
//     controller = c;

//     ///初始化先定位一次
//     await showMyLocation();

//     ///没办法  只能这么替代地图上的持续定位，因为sdk地图持续定位只能一直跟随
//     timer?.cancel();
//     timer = Timer.periodic(Duration(seconds: 5), (_) {
//       showMyLocation(MyLocationType.Show);
//     });
//   }

//   ///地图切换到当前定位
//   showMyLocation([myLocationType = MyLocationType.Locate]) async {
//     if (await globalGroundStore.reqPermission() == true) {
//       await controller?.showMyLocation(
//         MyLocationOption(
//           myLocationType: myLocationType,
//           fillColor: Color(0xff0C78D4).withOpacity(0.2),
//           strokeColor: Color(0xff0C78D4).withOpacity(0.2),
//           // iconUri: Uri.parse('lib/assets/zjwz@2x.png'),
//           // imageConfiguration: createLocalImageConfiguration(context),
//         ),
//       );
//     }
//   }

//   ///自动判断签到或者签退
//   sign() async {
//     var b = await globalGroundStore.reqPermission();
//     if (b != true) {
//       await WModalUtil.showSync(
//         '无法获取您的位置信息进行地勤功能，请确保已开启定位,且允许绘管家访问您的位置信息。',
//         canCancel: false,
//       );
//       return;
//     }

//     showMyLocation();
//     if (globalGroundStore.lastSign?.signStatus == "signIn") {
//       await globalGroundStore.signOut();
//     } else {
//       await globalGroundStore.signIn();
//     }
//     notifyListeners();
//   }

//   picker() {
//     showModalBottomSheet(
//       context: context,
//       backgroundColor: Colors.transparent,
//       builder: (_) {
//         return Container(
//           decoration: BoxDecoration(
//             color: Colors.white,
//             borderRadius: BorderRadius.only(
//               topLeft: Radius.circular(8.pt),
//               topRight: Radius.circular(8.pt),
//             ),
//           ),
//           child: Column(
//             children: <Widget>[
//               Container(
//                 height: 54.pt,
//                 alignment: Alignment.centerLeft,
//                 padding: EdgeInsets.symmetric(horizontal: 15.pt),
//                 decoration: BoxDecoration(border: ExtStyle.borderBottom),
//                 child: Row(
//                   children: <Widget>[
//                     ExtText.black('选择下级部门', 20.pt, bold: true).extExpanded(),
//                     Wisdom(
//                       onTap: () => Navigator.pop(context),
//                       child: Icon(
//                         Icons.close,
//                         color: ExtColors.minor,
//                       ),
//                     ),
//                   ],
//                 ),
//               ),
//               CustomScrollView(
//                 slivers: <Widget>[
//                   WisSliverList.childBuilder(
//                     childCount: organList?.length ?? 0,
//                     itemExtent: 54.pt,
//                     builder: (_, i) {
//                       bool active = organList[i].id == organ1?.id;
//                       return Wisdom(
//                         onTap: active
//                             ? null
//                             : () {
//                                 organAction(i);
//                                 Navigator.pop(context);
//                               },
//                         alignment: Alignment.centerLeft,
//                         margin: EdgeInsets.symmetric(horizontal: 15.pt),
//                         border: ExtStyle.borderBottom,
//                         child: ExtText(
//                           organList[i].name ?? '',
//                           16.pt,
//                           color: active ? ExtColors.main : ExtColors.black,
//                         ),
//                       );
//                     },
//                   ),
//                 ],
//               ).extExpanded(),
//               if (organ1 != null)
//                 Wisdom(
//                   onTap: () {
//                     Navigator.pop(context);
//                     organReset();
//                   },
//                   height: 54.pt,
//                   alignment: Alignment.center,
//                   border: ExtStyle.borderTop,
//                   child: ExtText.main('返回上级部门', 16.pt),
//                 ),
//             ],
//           ),
//         );
//       },
//     );
//   }
// }
