common.data.ts 11 KB

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