common.data.ts 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498
  1. import { reactive, markRaw, defineAsyncComponent } from 'vue';
  2. import { getAssetURL } from '/@/utils/ui';
  3. import { useGlobSetting } from '/@/hooks/setting';
  4. import { BasicColumn } from '/@/components/Table';
  5. export const getMaxY = function (param) {
  6. let maxval = 0;
  7. if (param.length == 1) {
  8. maxval = Math.max(...param[0]);
  9. } else if (param.length == 2) {
  10. const max1 = Math.max(...param[0]);
  11. const max2 = Math.max(...param[1]);
  12. maxval = Math.max(max1, max2);
  13. } else if (param.length == 3) {
  14. const max1 = Math.max(...param[0]);
  15. const max2 = Math.max(...param[1]);
  16. const max3 = Math.max(...param[2]);
  17. maxval = Math.max(max1, max2, max3);
  18. }
  19. const yMax = (maxval * 1.6).toFixed(0);
  20. // const digitCount = yMax.toFixed(0).length;
  21. // console.log(digitCount,'digitCount')
  22. // let digFirst=yMax.toString().substring(0,1)
  23. // console.log(digFirst,'digFirst')
  24. // const digitCount = maxval.toFixed(0).length;
  25. // console.log(digitCount,'digitCount')
  26. // let yMax = 0;
  27. // if (digitCount < 2) {
  28. // if (yMax < 0.5) {
  29. // yMax = 1;
  30. // } else if (yMax < 0.9) {
  31. // yMax = 1.5;
  32. // } else if (yMax < 5) {
  33. // yMax = 10;
  34. // } else {
  35. // yMax = 15;
  36. // }
  37. // } else if (digitCount < 3) {
  38. // const n = Number((Number(yMax.toFixed(0)) / 10).toFixed(0));
  39. // if (yMax < n * 10 + 5) {
  40. // yMax = (n + 1) * 10;
  41. // } else {
  42. // yMax = (n + 2) * 10;
  43. // }
  44. // } else if (digitCount < 4) {
  45. // const n = Number((Number(yMax.toFixed(0)) / 100).toFixed(0));
  46. // if (yMax < n * 100 + 50) {
  47. // yMax = (n + 1) * 100;
  48. // } else {
  49. // yMax = (n + 2) * 100;
  50. // }
  51. // } else if (digitCount < 5) {
  52. // const n = Number((Number(yMax.toFixed(0)) / 1000).toFixed(0));
  53. // if (yMax < n * 1000 + 500) {
  54. // yMax = (n + 1) * 1000;
  55. // } else {
  56. // yMax = (n + 1) * 1000 + 500;
  57. // }
  58. // } else if (digitCount < 6) {
  59. // const n = Number((Number(yMax.toFixed(0)) / 10000).toFixed(0));
  60. // if (yMax < n * 10000 + 5000) {
  61. // yMax = (n + 1) * 10000;
  62. // } else {
  63. // yMax = (n + 1) * 10000 + 5000;
  64. // }
  65. // }
  66. return yMax;
  67. };
  68. export const getMinY = function (param) {
  69. let minval = 0;
  70. if (param.length == 1) {
  71. minval = Math.min(...param[0]);
  72. } else if (param.length == 2) {
  73. const min1 = Math.min(...param[0]);
  74. const min2 = Math.min(...param[1]);
  75. minval = Math.min(min1, min2);
  76. } else if (param.length == 3) {
  77. const min1 = Math.min(...param[0]);
  78. const min2 = Math.min(...param[1]);
  79. const min3 = Math.min(...param[2]);
  80. minval = Math.min(min1, min2, min3);
  81. }
  82. const yMin = (minval * 0.7).toFixed(0);
  83. // const minDigitCount = minval.toFixed(0).length;
  84. // let yMin = 0;
  85. // if (minDigitCount < 2) {
  86. // if (yMin> 0.5) {
  87. // yMin = 0.5;
  88. // } else if (yMin > 1.5) {
  89. // yMin = 1.0;
  90. // } else if (yMin > 10) {
  91. // yMin = 5;
  92. // } else {
  93. // yMin = 15;
  94. // }
  95. // } else if (minDigitCount < 3) {
  96. // const n = Number((Number(yMin.toFixed(0)) / 10).toFixed(0));
  97. // if (n > 1) {
  98. // yMin = (n - 1) * 10;
  99. // } else {
  100. // yMin = 10;
  101. // }
  102. // } else if (minDigitCount < 4) {
  103. // const n = Number((Number(yMin.toFixed(0)) / 100).toFixed(0));
  104. // if (n > 1) {
  105. // yMin = (n - 1) * 100;
  106. // } else {
  107. // yMin = 100;
  108. // }
  109. // } else if (minDigitCount < 5) {
  110. // const n = Number((Number(yMin.toFixed(0)) / 1000).toFixed(0));
  111. // if (n > 1) {
  112. // yMin = (n - 1) * 1000;
  113. // } else {
  114. // yMin = 1000;
  115. // }
  116. // } else if (minDigitCount < 6) {
  117. // const n = Number((Number(yMin.toFixed(0)) / 10000).toFixed(0));
  118. // if (n > 1) {
  119. // yMin = (n - 1) * 10000;
  120. // } else {
  121. // yMin = 10000;
  122. // }
  123. // }
  124. return yMin;
  125. };
  126. //中间区域数据-通风
  127. export const centerAreaListT1 = [
  128. { id: 0, label: '进风量(m³/min)' },
  129. { id: 1, label: '回风量(m³/min)' },
  130. { id: 2, label: '需风量(m³/min)' },
  131. ];
  132. //中间区域底部数据-通风
  133. export const centerAreaListB1 = [
  134. {
  135. id: 0,
  136. content: '',
  137. },
  138. {
  139. id: 1,
  140. content: '',
  141. },
  142. {
  143. id: 2,
  144. content: '',
  145. },
  146. ];
  147. //内外因火灾菜单列表
  148. export const typeMenuList = [{ name: '内因火灾' }, { name: '外因火灾' }, { name: '火灾指标' }];
  149. //通风选项菜单列表
  150. export const typeMenuListTf = [{ name: '通风监测' }, { name: '巷道阻力分析' }];
  151. //瓦斯监测菜单列表
  152. export function getMonitorComponent() {
  153. const { sysOrgCode } = useGlobSetting();
  154. // const sysOrgCode = 'sdmtjtbdmk';
  155. let typeMenuListGas;
  156. switch (sysOrgCode) {
  157. case 'sdmtjtbetmk': //布尔台
  158. typeMenuListGas = [{ name: '预警监测' }, { name: '预警指标' }, { name: '瓦斯参数' }];
  159. return typeMenuListGas;
  160. case 'sdmtjtbdmk': //宝德
  161. typeMenuListGas = [{ name: '预警监测' }, { name: '管道故障诊断' }, { name: '预警指标' }];
  162. return typeMenuListGas;
  163. default:
  164. typeMenuListGas = [{ name: '预警监测' }, { name: '预警指标' }];
  165. return typeMenuListGas;
  166. }
  167. }
  168. export function getMonitorFlag() {
  169. const { sysOrgCode } = useGlobSetting();
  170. let typeFlag = '';
  171. switch (sysOrgCode) {
  172. case 'sdmtjtbdmk': //宝德
  173. typeFlag = '1';
  174. return typeFlag;
  175. case 'sdmtjtbetmk': //布尔台
  176. typeFlag = '2';
  177. return typeFlag;
  178. case 'sdmtjthlgmk': //哈拉钩
  179. typeFlag = '2';
  180. return typeFlag;
  181. default:
  182. typeFlag = '';
  183. return typeFlag;
  184. }
  185. }
  186. //当前加载组件
  187. export const componentName = {
  188. fireWork: markRaw(defineAsyncComponent(() => import('./common/fireWork.vue'))),
  189. closeWall: markRaw(defineAsyncComponent(() => import('./common/closeWall.vue'))),
  190. mainWell: markRaw(defineAsyncComponent(() => import('./common/mainWell.vue'))),
  191. warnFireBrt: markRaw(defineAsyncComponent(() => import('./common/warnFire-brt.vue'))),
  192. warnFireBd: markRaw(defineAsyncComponent(() => import('./common/warnFire-bd.vue'))),
  193. };
  194. //顶部区域数据
  195. export const topList = [
  196. {
  197. id: 0,
  198. label: '最高温度(°C)',
  199. imgSrc: true,
  200. value: '--',
  201. text: '',
  202. list: [],
  203. },
  204. {
  205. id: 1,
  206. label: '最低温度(°C)',
  207. imgSrc: true,
  208. value: '--',
  209. text: '',
  210. list: [],
  211. },
  212. {
  213. id: 2,
  214. label: '平均温度(°C)',
  215. imgSrc: true,
  216. value: '--',
  217. text: '',
  218. list: [],
  219. },
  220. { id: 3, imgSrc: false, label: '', value: null, text: '--', list: [] },
  221. {
  222. id: 4,
  223. imgSrc: false,
  224. label: '回风隅角',
  225. value: null,
  226. text: '',
  227. list: [
  228. { id: 0, label: 'O₂', value: 0 },
  229. { id: 1, label: 'CO', value: 0 },
  230. ],
  231. },
  232. ];
  233. export const ventilateTopList = [
  234. {
  235. id: 0,
  236. label: '进风量(m³/min)',
  237. imgSrc: true,
  238. value: '--',
  239. text: '',
  240. list: [],
  241. },
  242. {
  243. id: 1,
  244. label: '回风量(m³/min)',
  245. imgSrc: true,
  246. value: '--',
  247. text: '',
  248. list: [],
  249. },
  250. {
  251. id: 2,
  252. label: '需风量(m³/min)',
  253. imgSrc: true,
  254. value: '--',
  255. text: '',
  256. list: [],
  257. },
  258. { id: 3, imgSrc: false, label: '', value: null, text: '--', list: [] },
  259. ];
  260. //束管监测选项列表
  261. export const contentList = [
  262. {
  263. id: 0,
  264. list: [
  265. {
  266. id: '0-0',
  267. title: 'O₂',
  268. dw: '(%)',
  269. label: '浓度 : ',
  270. value: '--',
  271. label1: '时间 : ',
  272. time: '--',
  273. },
  274. {
  275. id: '0-1',
  276. title: 'C₂H₄',
  277. dw: '(ppm)',
  278. label: '浓度 : ',
  279. value: '--',
  280. label1: '时间 : ',
  281. time: '--',
  282. },
  283. ],
  284. },
  285. {
  286. id: 1,
  287. list: [
  288. {
  289. id: '1-0',
  290. title: 'CO',
  291. dw: '(ppm)',
  292. label: '浓度 : ',
  293. value: '--',
  294. label1: '时间 : ',
  295. time: '--',
  296. },
  297. {
  298. id: '1-1',
  299. title: 'CH₄',
  300. dw: '(ppm)',
  301. label: '浓度 : ',
  302. value: '--',
  303. label1: '时间 : ',
  304. time: '--',
  305. },
  306. ],
  307. },
  308. {
  309. id: 2,
  310. list: [
  311. {
  312. id: '2-0',
  313. title: 'CO₂',
  314. dw: '(%)',
  315. label: '浓度 : ',
  316. value: '--',
  317. label1: '时间 : ',
  318. time: '--',
  319. },
  320. {
  321. id: '2-1',
  322. title: 'C₂H₂',
  323. dw: '(ppm)',
  324. label: '浓度 : ',
  325. value: '--',
  326. label1: '时间 : ',
  327. time: '--',
  328. },
  329. ],
  330. },
  331. ];
  332. //外因火灾-工作面顶部区域数据
  333. export const topOutList = [
  334. {
  335. id: 0,
  336. imgSrc: true,
  337. label: '最高温度(°C)',
  338. value: '0',
  339. text: '',
  340. },
  341. {
  342. id: 1,
  343. imgSrc: true,
  344. label: '最低温度(°C)',
  345. value: '0',
  346. text: '',
  347. },
  348. {
  349. id: 2,
  350. imgSrc: true,
  351. label: '平均温度(°C)',
  352. value: '0',
  353. text: '',
  354. },
  355. { id: 3, imgSrc: false, label: '', value: null, text: '' },
  356. // {
  357. // id: 4,
  358. // imgSrc: false,
  359. // label: '',
  360. // value: null,
  361. // text: '井下消防材料库',
  362. // },
  363. ];
  364. //外因火灾-中间区域标题数据
  365. // export const tabList = [
  366. // { id: 0, label: '烟雾传感器监测', details: '' },
  367. // { id: 1, label: '一氧化碳传感器监测', details: '' },
  368. // { id: 2, label: '自动喷淋灭火装置监测', details: '' },
  369. // ];
  370. export const tabLists = {
  371. yw: '烟雾传感器监测',
  372. wd: '温度传感器监测',
  373. pl: '自动喷淋灭火装置监测',
  374. co: '一氧化碳传感器监测',
  375. };
  376. //外因火灾-传感器table列
  377. // export const columns = [
  378. // {
  379. // title: '序号',
  380. // dataIndex: '',
  381. // key: 'rowIndex',
  382. // width: 100,
  383. // align: 'center',
  384. // customRender: ({ index }) => {
  385. // return `${index + 1}`;
  386. // },
  387. // },
  388. // { rowIndex: 1, dataIndex: 'strinstallpos', title: '名称', type: '1', align: 'center' },
  389. // { rowIndex: 2, dataIndex: 'warnLevel_str', width: 80, title: '状态', type: '1', align: 'center' },
  390. // { rowIndex: 3, dataIndex: 'readTime', title: '时间', type: '1', align: 'center' },
  391. // ];
  392. //外因火灾-烟雾传感器table列
  393. // export const columnsSmoke = [
  394. // {
  395. // title: '序号',
  396. // dataIndex: '',
  397. // key: 'rowIndex',
  398. // width: 100,
  399. // align: 'center',
  400. // customRender: ({ index }) => {
  401. // return `${index + 1}`;
  402. // },
  403. // },
  404. // { rowIndex: 1, dataIndex: 'strinstallpos', title: '名称', type: '1', align: 'center' },
  405. // { rowIndex: 2, dataIndex: 'val', width: 80, title: '值', type: '1', align: 'center' },
  406. // { rowIndex: 3, dataIndex: 'warnLevel_str', width: 80, title: '状态', type: '1', align: 'center' },
  407. // { rowIndex: 4, dataIndex: 'readTime', title: '时间', type: '1', align: 'center' },
  408. // ];
  409. export const columns: BasicColumn[] = [
  410. {
  411. title: '序号',
  412. width: 100,
  413. align: 'center',
  414. customRender: ({ index }) => {
  415. return `${index + 1}`;
  416. },
  417. },
  418. {
  419. title: '采空区名称',
  420. dataIndex: 'reserviorName',
  421. key: 'reserviorName',
  422. width: 100,
  423. align: 'center',
  424. },
  425. {
  426. title: '坝体Id',
  427. dataIndex: 'damBodyId',
  428. key: 'damBodyId',
  429. width: 100,
  430. align: 'center',
  431. },
  432. {
  433. title: '坝体名称',
  434. dataIndex: 'dambodyName',
  435. key: 'dambodyName',
  436. width: 100,
  437. align: 'center',
  438. },
  439. {
  440. title: '测点类别',
  441. dataIndex: 'pointType',
  442. key: 'pointType',
  443. width: 100,
  444. align: 'center',
  445. },
  446. {
  447. title: '测点名称',
  448. dataIndex: 'pointTypeName',
  449. key: 'pointTypeName',
  450. width: 100,
  451. align: 'center',
  452. },
  453. {
  454. title: '测点Id',
  455. dataIndex: 'propertyId',
  456. key: 'propertyId',
  457. width: 100,
  458. align: 'center',
  459. },
  460. {
  461. title: '状态',
  462. dataIndex: 's',
  463. key: 's',
  464. width: 100,
  465. align: 'center',
  466. },
  467. {
  468. title: '当前值',
  469. dataIndex: 'v',
  470. key: 'v',
  471. width: 100,
  472. align: 'center',
  473. },
  474. {
  475. title: '单位',
  476. dataIndex: 'pointUnit',
  477. key: 'pointUnit',
  478. width: 100,
  479. align: 'center',
  480. },
  481. {
  482. title: '采集时间',
  483. dataIndex: 't',
  484. key: 't',
  485. width: 100,
  486. align: 'center',
  487. },
  488. ];