public.js 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. import { defineStore } from "pinia";
  2. const publicStore = defineStore("public", {
  3. state: () => ({
  4. leftBtn: true, //左侧收起按钮
  5. rightBtn: true, //右侧收起按钮
  6. mapBool: 1, //1.高德 2.测绘院
  7. streetTownList: [
  8. { value: "", label: "全区" },
  9. { value: "华漕镇", label: "华漕镇" },
  10. { value: "虹桥镇", label: "虹桥镇" },
  11. { value: "梅陇镇", label: "梅陇镇" },
  12. { value: "七宝镇", label: "七宝镇" },
  13. { value: "颛桥镇", label: "颛桥镇" },
  14. { value: "马桥镇", label: "马桥镇" },
  15. { value: "吴泾镇", label: "吴泾镇" },
  16. { value: "浦江镇", label: "浦江镇" },
  17. { value: "新虹街道", label: "新虹街道" },
  18. { value: "古美路街道", label: "古美路街道" },
  19. { value: "江川路街道", label: "江川路街道" },
  20. { value: "浦锦街道", label: "浦锦街道" },
  21. { value: "莘庄镇", label: "莘庄镇" },
  22. ],
  23. timeList: [
  24. new Date().getFullYear() +
  25. "-" +
  26. (new Date().getMonth() + 1 < 10 ? "0" + (new Date().getMonth() + 1) : "" + (new Date().getMonth() + 1)) +
  27. "-" +
  28. (new Date().getDate() < 10 ? "0" + new Date().getDate() : new Date().getDate()) +
  29. " 00:00:00",
  30. new Date().getFullYear() +
  31. "-" +
  32. (new Date().getMonth() + 1 < 10 ? "0" + (new Date().getMonth() + 1) : "" + (new Date().getMonth() + 1)) +
  33. "-" +
  34. (new Date().getDate() < 10 ? "0" + new Date().getDate() : new Date().getDate()) +
  35. " 23:59:59",
  36. ],
  37. mhjz: [
  38. { streetTown: "全区", id: 12, x: 121.4175597, y: 31.119248 },
  39. {
  40. streetTown: "江川路街道",
  41. id: 1201,
  42. x: 121.399126538181,
  43. y: 31.0099719391863,
  44. },
  45. {
  46. streetTown: "新虹街道",
  47. id: 1217,
  48. x: 121.319329296294,
  49. y: 31.1983901916889,
  50. },
  51. {
  52. streetTown: "古美路街道",
  53. id: 1206,
  54. x: 121.388451866936,
  55. y: 31.1478233480159,
  56. },
  57. {
  58. streetTown: "浦锦街道",
  59. id: 1218,
  60. x: 121.483929120352,
  61. y: 31.089967318558,
  62. },
  63. {
  64. streetTown: "浦江镇",
  65. id: 1215,
  66. x: 121.524058543447,
  67. y: 31.0540039472667,
  68. },
  69. {
  70. streetTown: "吴泾镇",
  71. id: 1213,
  72. x: 121.454076463728,
  73. y: 31.04860402113,
  74. },
  75. {
  76. streetTown: "马桥镇",
  77. id: 1214,
  78. x: 121.352680027718,
  79. y: 31.0213512298508,
  80. },
  81. {
  82. streetTown: "颛桥镇",
  83. id: 1209,
  84. x: 121.40607138504,
  85. y: 31.0612972443508,
  86. },
  87. {
  88. streetTown: "莘庄镇",
  89. id: 1207,
  90. x: 121.37064864047,
  91. y: 31.1154549548722,
  92. },
  93. {
  94. streetTown: "梅陇镇",
  95. id: 1212,
  96. x: 121.421346814491,
  97. y: 31.1069718313722,
  98. },
  99. {
  100. streetTown: "七宝镇",
  101. id: 1208,
  102. x: 121.350366186317,
  103. y: 31.1553292680362,
  104. },
  105. {
  106. streetTown: "虹桥镇",
  107. id: 1211,
  108. x: 121.37956256207,
  109. y: 31.1806219953212,
  110. },
  111. {
  112. streetTown: "华漕镇",
  113. id: 1210,
  114. x: 121.277541517147,
  115. y: 31.2289121171624,
  116. },
  117. {
  118. streetTown: "莘庄工业区",
  119. id: 1216,
  120. x: 121.376508452784,
  121. y: 31.0678185611843,
  122. },
  123. ],
  124. arrayList: [], //撒点弹框数据存储
  125. }),
  126. persist: {
  127. // 自定义数据持久化方式
  128. // key: 'store-key', //指定key进行存储,此时非key的值不会持久化,刷新就会丢失
  129. storage: window ? window.localStorage : uni.setStorageSync(), // 指定换成地址
  130. // paths: ['nested.data'],// 指定需要持久化的state的路径名称
  131. beforeRestore: (context) => {
  132. console.log("Before" + context);
  133. },
  134. afterRestore: (context) => {
  135. console.log("After" + context);
  136. },
  137. },
  138. actions: {
  139. getDate() {
  140. var date = new Date();
  141. var year = date.getFullYear(); // 返回的是年份
  142. var month = date.getMonth() + 1; // 返回的月份上个月的月份,记得+1才是当月
  143. if (month < 10) {
  144. month = "0" + month;
  145. }
  146. var dates = date.getDate(); // 返回的是几号
  147. if (dates < 10) {
  148. dates = "0" + dates;
  149. }
  150. var day = date.getDay(); // 周一返回的是1,周六是6,但是周日是0
  151. var arr = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
  152. return {
  153. year,
  154. month,
  155. dates,
  156. day,
  157. arr,
  158. };
  159. },
  160. /**
  161. * @处理公共日期格式
  162. */
  163. formatterDate(date, fmt) {
  164. let nowDate = {
  165. yyyy: date.getFullYear(), // 年
  166. MM: date.getMonth() + 1, // 月份
  167. dd: date.getDate(), //日
  168. hh: date.getHours(),
  169. mm: date.getMinutes(),
  170. ss: date.getSeconds(),
  171. };
  172. if (/(y+)/.test(fmt)) {
  173. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
  174. }
  175. for (var k in nowDate) {
  176. if (new RegExp("(" + k + ")").test(fmt)) {
  177. fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? nowDate[k] : ("00" + nowDate[k]).substr(("" + nowDate[k]).length));
  178. }
  179. }
  180. return fmt;
  181. },
  182. /**
  183. * @获取年月日时分秒
  184. * @returns
  185. */
  186. formatterDateTime(time3) {
  187. var date = new Date(time3);
  188. var Y = date.getFullYear() + "-";
  189. var M = (date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1) + "-";
  190. var D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
  191. var h = (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":";
  192. var m = (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes()) + ":";
  193. var s = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
  194. var strDate = Y + M + D + h + m + s;
  195. return strDate;
  196. },
  197. /**
  198. * @统计两个日期之间的月份
  199. */
  200. getMonths(date1, date2) {
  201. //用-分成数组
  202. date1 = date1.split("-");
  203. date2 = date2.split("-");
  204. //获取年,月数
  205. var year1 = parseInt(date1[0]),
  206. month1 = parseInt(date1[1]),
  207. year2 = parseInt(date2[0]),
  208. month2 = parseInt(date2[1]),
  209. //通过年,月差计算月份差
  210. months = (year2 - year1) * 12 + (month2 - month1) + 1;
  211. return months;
  212. },
  213. /**
  214. * @计算当前坐标和G点坐标的偏差值
  215. * @returns
  216. */
  217. caculateLL(lat1, lng1, lat2, lng2) {
  218. var radLat1 = (lat1 * Math.PI) / 180.0;
  219. var radLat2 = (lat2 * Math.PI) / 180.0;
  220. var a = radLat1 - radLat2;
  221. var b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
  222. var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
  223. s = s * 6378.137;
  224. s = Math.round(s * 10000) / 10;
  225. console.log(s);
  226. return s;
  227. },
  228. /**
  229. * @数组对象排序
  230. * @return
  231. * @param {数据} data
  232. * @param {0 从小到大 1 从大到小} sort
  233. */
  234. sortEvent(data, sort) {
  235. let arr = [];
  236. // 将需要排序的 key, 进行排列
  237. let sortKeys = Object.keys(JSON.parse(JSON.stringify(data))).sort((a, b) => {
  238. return sort == 0 ? JSON.parse(JSON.stringify(data))[a].sort - JSON.parse(JSON.stringify(data))[b].sort : JSON.parse(JSON.stringify(data))[b].sort - JSON.parse(JSON.stringify(data))[a].sort;
  239. });
  240. // 循环排列好的 key, 重新组成一个新的数组
  241. for (var sortIndex in sortKeys) {
  242. arr.push(JSON.parse(JSON.stringify(data))[sortKeys[sortIndex]]);
  243. }
  244. return arr;
  245. },
  246. },
  247. });
  248. export default publicStore;