common.data.ts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428
  1. import { reactive, markRaw, defineAsyncComponent } from 'vue';
  2. import { getAssetURL } from '/@/utils/ui';
  3. import { useGlobSetting } from '/@/hooks/setting';
  4. export const getMaxY = function (param) {
  5. console.log(param, '999999');
  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. // id: 4,
  261. // imgSrc: false,
  262. // label: '其他信息',
  263. // value: null,
  264. // text: '',
  265. // list: [
  266. // { id: 0, label: 'O₂', value: '--' },
  267. // { id: 1, label: 'CO', value: '--' },
  268. // ],
  269. // },
  270. ];
  271. //束管监测选项列表
  272. export const contentList = [
  273. {
  274. id: 0,
  275. list: [
  276. {
  277. id: '0-0',
  278. title: 'O₂',
  279. dw: '(%)',
  280. label: '浓度 : ',
  281. value: '--',
  282. label1: '时间 : ',
  283. time: '--',
  284. },
  285. {
  286. id: '0-1',
  287. title: 'C₂H₄',
  288. dw: '(ppm)',
  289. label: '浓度 : ',
  290. value: '--',
  291. label1: '时间 : ',
  292. time: '--',
  293. },
  294. ],
  295. },
  296. {
  297. id: 1,
  298. list: [
  299. {
  300. id: '1-0',
  301. title: 'CO',
  302. dw: '(ppm)',
  303. label: '浓度 : ',
  304. value: '--',
  305. label1: '时间 : ',
  306. time: '--',
  307. },
  308. {
  309. id: '1-1',
  310. title: 'CH₄',
  311. dw: '(ppm)',
  312. label: '浓度 : ',
  313. value: '--',
  314. label1: '时间 : ',
  315. time: '--',
  316. },
  317. ],
  318. },
  319. {
  320. id: 2,
  321. list: [
  322. {
  323. id: '2-0',
  324. title: 'CO₂',
  325. dw: '(%)',
  326. label: '浓度 : ',
  327. value: '--',
  328. label1: '时间 : ',
  329. time: '--',
  330. },
  331. {
  332. id: '2-1',
  333. title: 'C₂H₂',
  334. dw: '(ppm)',
  335. label: '浓度 : ',
  336. value: '--',
  337. label1: '时间 : ',
  338. time: '--',
  339. },
  340. ],
  341. },
  342. ];
  343. //外因火灾-工作面顶部区域数据
  344. export const topOutList = [
  345. {
  346. id: 0,
  347. imgSrc: true,
  348. label: '最高温度(°C)',
  349. value: '0',
  350. text: '',
  351. },
  352. {
  353. id: 1,
  354. imgSrc: true,
  355. label: '最低温度(°C)',
  356. value: '0',
  357. text: '',
  358. },
  359. {
  360. id: 2,
  361. imgSrc: true,
  362. label: '平均温度(°C)',
  363. value: '0',
  364. text: '',
  365. },
  366. { id: 3, imgSrc: false, label: '', value: null, text: '' },
  367. // {
  368. // id: 4,
  369. // imgSrc: false,
  370. // label: '',
  371. // value: null,
  372. // text: '井下消防材料库',
  373. // },
  374. ];
  375. //外因火灾-中间区域标题数据
  376. // export const tabList = [
  377. // { id: 0, label: '烟雾传感器监测', details: '' },
  378. // { id: 1, label: '一氧化碳传感器监测', details: '' },
  379. // { id: 2, label: '自动喷淋灭火装置监测', details: '' },
  380. // ];
  381. export const tabLists = {
  382. yw: '烟雾传感器监测',
  383. wd: '温度传感器监测',
  384. pl: '自动喷淋灭火装置监测',
  385. co: '一氧化碳传感器监测',
  386. };
  387. //外因火灾-传感器table列
  388. // export const columns = [
  389. // {
  390. // title: '序号',
  391. // dataIndex: '',
  392. // key: 'rowIndex',
  393. // width: 60,
  394. // align: 'center',
  395. // customRender: ({ index }) => {
  396. // return `${index + 1}`;
  397. // },
  398. // },
  399. // { rowIndex: 1, dataIndex: 'strinstallpos', title: '名称', type: '1', align: 'center' },
  400. // { rowIndex: 2, dataIndex: 'warnLevel_str', width: 80, title: '状态', type: '1', align: 'center' },
  401. // { rowIndex: 3, dataIndex: 'readTime', title: '时间', type: '1', align: 'center' },
  402. // ];
  403. //外因火灾-烟雾传感器table列
  404. // export const columnsSmoke = [
  405. // {
  406. // title: '序号',
  407. // dataIndex: '',
  408. // key: 'rowIndex',
  409. // width: 60,
  410. // align: 'center',
  411. // customRender: ({ index }) => {
  412. // return `${index + 1}`;
  413. // },
  414. // },
  415. // { rowIndex: 1, dataIndex: 'strinstallpos', title: '名称', type: '1', align: 'center' },
  416. // { rowIndex: 2, dataIndex: 'val', width: 80, title: '值', type: '1', align: 'center' },
  417. // { rowIndex: 3, dataIndex: 'warnLevel_str', width: 80, title: '状态', type: '1', align: 'center' },
  418. // { rowIndex: 4, dataIndex: 'readTime', title: '时间', type: '1', align: 'center' },
  419. // ];