common.data.ts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425
  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. default:
  179. typeFlag = '';
  180. return typeFlag;
  181. }
  182. }
  183. //当前加载组件
  184. export const componentName = {
  185. fireWork: markRaw(defineAsyncComponent(() => import('./common/fireWork.vue'))),
  186. closeWall: markRaw(defineAsyncComponent(() => import('./common/closeWall.vue'))),
  187. mainWell: markRaw(defineAsyncComponent(() => import('./common/mainWell.vue'))),
  188. warnFireBrt: markRaw(defineAsyncComponent(() => import('./common/warnFire-brt.vue'))),
  189. warnFireBd: markRaw(defineAsyncComponent(() => import('./common/warnFire-bd.vue'))),
  190. };
  191. //顶部区域数据
  192. export const topList = [
  193. {
  194. id: 0,
  195. label: '最高温度(°C)',
  196. imgSrc: true,
  197. value: '--',
  198. text: '',
  199. list: [],
  200. },
  201. {
  202. id: 1,
  203. label: '最低温度(°C)',
  204. imgSrc: true,
  205. value: '--',
  206. text: '',
  207. list: [],
  208. },
  209. {
  210. id: 2,
  211. label: '平均温度(°C)',
  212. imgSrc: true,
  213. value: '--',
  214. text: '',
  215. list: [],
  216. },
  217. { id: 3, imgSrc: false, label: '', value: null, text: '--', list: [] },
  218. {
  219. id: 4,
  220. imgSrc: false,
  221. label: '回风隅角',
  222. value: null,
  223. text: '',
  224. list: [
  225. { id: 0, label: 'O₂', value: 0 },
  226. { id: 1, label: 'CO', value: 0 },
  227. ],
  228. },
  229. ];
  230. export const ventilateTopList = [
  231. {
  232. id: 0,
  233. label: '进风量(m³/min)',
  234. imgSrc: true,
  235. value: '--',
  236. text: '',
  237. list: [],
  238. },
  239. {
  240. id: 1,
  241. label: '回风量(m³/min)',
  242. imgSrc: true,
  243. value: '--',
  244. text: '',
  245. list: [],
  246. },
  247. {
  248. id: 2,
  249. label: '需风量(m³/min)',
  250. imgSrc: true,
  251. value: '--',
  252. text: '',
  253. list: [],
  254. },
  255. { id: 3, imgSrc: false, label: '', value: null, text: '--', list: [] },
  256. // {
  257. // id: 4,
  258. // imgSrc: false,
  259. // label: '其他信息',
  260. // value: null,
  261. // text: '',
  262. // list: [
  263. // { id: 0, label: 'O₂', value: '--' },
  264. // { id: 1, label: 'CO', value: '--' },
  265. // ],
  266. // },
  267. ];
  268. //束管监测选项列表
  269. export const contentList = [
  270. {
  271. id: 0,
  272. list: [
  273. {
  274. id: '0-0',
  275. title: 'O₂',
  276. dw: '(%)',
  277. label: '浓度 : ',
  278. value: '--',
  279. label1: '时间 : ',
  280. time: '--',
  281. },
  282. {
  283. id: '0-1',
  284. title: 'C₂H₄',
  285. dw: '(ppm)',
  286. label: '浓度 : ',
  287. value: '--',
  288. label1: '时间 : ',
  289. time: '--',
  290. },
  291. ],
  292. },
  293. {
  294. id: 1,
  295. list: [
  296. {
  297. id: '1-0',
  298. title: 'CO',
  299. dw: '(ppm)',
  300. label: '浓度 : ',
  301. value: '--',
  302. label1: '时间 : ',
  303. time: '--',
  304. },
  305. {
  306. id: '1-1',
  307. title: 'CH₄',
  308. dw: '(ppm)',
  309. label: '浓度 : ',
  310. value: '--',
  311. label1: '时间 : ',
  312. time: '--',
  313. },
  314. ],
  315. },
  316. {
  317. id: 2,
  318. list: [
  319. {
  320. id: '2-0',
  321. title: 'CO₂',
  322. dw: '(%)',
  323. label: '浓度 : ',
  324. value: '--',
  325. label1: '时间 : ',
  326. time: '--',
  327. },
  328. {
  329. id: '2-1',
  330. title: 'C₂H₂',
  331. dw: '(ppm)',
  332. label: '浓度 : ',
  333. value: '--',
  334. label1: '时间 : ',
  335. time: '--',
  336. },
  337. ],
  338. },
  339. ];
  340. //外因火灾-工作面顶部区域数据
  341. export const topOutList = [
  342. {
  343. id: 0,
  344. imgSrc: true,
  345. label: '最高温度(°C)',
  346. value: '0',
  347. text: '',
  348. },
  349. {
  350. id: 1,
  351. imgSrc: true,
  352. label: '最低温度(°C)',
  353. value: '0',
  354. text: '',
  355. },
  356. {
  357. id: 2,
  358. imgSrc: true,
  359. label: '平均温度(°C)',
  360. value: '0',
  361. text: '',
  362. },
  363. { id: 3, imgSrc: false, label: '', value: null, text: '' },
  364. // {
  365. // id: 4,
  366. // imgSrc: false,
  367. // label: '',
  368. // value: null,
  369. // text: '井下消防材料库',
  370. // },
  371. ];
  372. //外因火灾-中间区域标题数据
  373. // export const tabList = [
  374. // { id: 0, label: '烟雾传感器监测', details: '' },
  375. // { id: 1, label: '一氧化碳传感器监测', details: '' },
  376. // { id: 2, label: '自动喷淋灭火装置监测', details: '' },
  377. // ];
  378. export const tabLists = {
  379. yw: '烟雾传感器监测',
  380. wd: '温度传感器监测',
  381. pl: '自动喷淋灭火装置监测',
  382. co: '一氧化碳传感器监测',
  383. };
  384. //外因火灾-传感器table列
  385. // export const columns = [
  386. // {
  387. // title: '序号',
  388. // dataIndex: '',
  389. // key: 'rowIndex',
  390. // width: 60,
  391. // align: 'center',
  392. // customRender: ({ index }) => {
  393. // return `${index + 1}`;
  394. // },
  395. // },
  396. // { rowIndex: 1, dataIndex: 'strinstallpos', title: '名称', type: '1', align: 'center' },
  397. // { rowIndex: 2, dataIndex: 'warnLevel_str', width: 80, title: '状态', type: '1', align: 'center' },
  398. // { rowIndex: 3, dataIndex: 'readTime', title: '时间', type: '1', align: 'center' },
  399. // ];
  400. //外因火灾-烟雾传感器table列
  401. // export const columnsSmoke = [
  402. // {
  403. // title: '序号',
  404. // dataIndex: '',
  405. // key: 'rowIndex',
  406. // width: 60,
  407. // align: 'center',
  408. // customRender: ({ index }) => {
  409. // return `${index + 1}`;
  410. // },
  411. // },
  412. // { rowIndex: 1, dataIndex: 'strinstallpos', title: '名称', type: '1', align: 'center' },
  413. // { rowIndex: 2, dataIndex: 'val', width: 80, title: '值', type: '1', align: 'center' },
  414. // { rowIndex: 3, dataIndex: 'warnLevel_str', width: 80, title: '状态', type: '1', align: 'center' },
  415. // { rowIndex: 4, dataIndex: 'readTime', title: '时间', type: '1', align: 'center' },
  416. // ];