nitrogen.data.ts 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. import { ref, reactive, defineAsyncComponent } from 'vue';
  2. import echarts from '/@/utils/lib/echarts';
  3. import { useGlobSetting } from '/@/hooks/setting';
  4. export const navList = ref([
  5. {
  6. title: '监控界面',
  7. pathName: 'nitrogen_page',
  8. isHover: false,
  9. },
  10. {
  11. title: '历史监测记录',
  12. pathName: 'yfj_history',
  13. isHover: false,
  14. },
  15. {
  16. title: '操作历史记录',
  17. pathName: 'yfj_handler_history',
  18. isHover: false,
  19. },
  20. {
  21. title: '故障诊断历史记录',
  22. pathName: 'yfj_faultRecord',
  23. isHover: false,
  24. },
  25. ]);
  26. export const groupParameterData = [
  27. {
  28. FluxTotal1: '累计流量(m³)',
  29. InputFlux: '瞬时流量(m³/h)',
  30. },
  31. {
  32. PreMembraneTemperature: '膜前温度(­°C)',
  33. NitrogenPurity: '氮气纯度(%)',
  34. },
  35. ];
  36. export const deviceParameterData = [
  37. {
  38. AirCompressor_ExhaustPre: '排气压力(kPa)',
  39. AirCompressor_ExhaustTemp: '排气温度(­°C)',
  40. },
  41. {
  42. AirCompressor_RunTime: '运行时间(h)',
  43. AirCompressor_LoadTime: '加载时间(h)',
  44. },
  45. ];
  46. export const downWindData = [
  47. {
  48. title: `下风侧氧气`,
  49. code: `o2Val`,
  50. unit: '%',
  51. child: [],
  52. },
  53. {
  54. title: `下风侧温度`,
  55. code: `temperature`,
  56. unit: '℃',
  57. child: [],
  58. },
  59. {
  60. title: `下风侧烟雾`,
  61. code: `fumes_str`,
  62. unit: '',
  63. // 不用转为数字
  64. raw: true,
  65. child: [],
  66. },
  67. ];
  68. export const zhudanOption = reactive({
  69. tooltip: { trigger: 'axis', axisPointer: { lineStyle: { color: '#fff' } } },
  70. legend: {
  71. top: '0',
  72. icon: 'rect',
  73. data: ['瞬时流量'],
  74. right: '10px',
  75. textStyle: { fontSize: 12, color: '#fff' },
  76. },
  77. grid: { x: 45, y: 60, x2: 45, y2: 60 },
  78. xAxis: {
  79. type: 'category',
  80. boundaryGap: false,
  81. axisLine: { lineStyle: { color: '#57617B' } },
  82. axisLabel: {
  83. color: '#ffffffcc',
  84. formatter: function (params) {
  85. const newParamsName = ref(''); // 最终拼接成的字符串
  86. const paramsNameNumber = ref(params.length); // 实际标签的个数
  87. const provideNumber = ref(10); // 每行能显示的字的个数
  88. const rowNumber = Math.ceil(paramsNameNumber.value / provideNumber.value); // 换行的话,需要显示几行,向上取整
  89. /**
  90. * 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
  91. */
  92. // 条件等同于rowNumber>1
  93. if (paramsNameNumber.value > provideNumber.value) {
  94. /** 循环每一行,p表示行 */
  95. for (let p = 0; p < rowNumber; p++) {
  96. let tempStr = ''; // 表示每一次截取的字符串
  97. const start = p * provideNumber.value; // 开始截取的位置
  98. const end = start + provideNumber.value; // 结束截取的位置
  99. // 此处特殊处理最后一行的索引值
  100. if (p == rowNumber - 1) {
  101. // 最后一次不换行
  102. tempStr = params.substring(start, paramsNameNumber.value);
  103. } else {
  104. // 每一次拼接字符串并换行
  105. tempStr = params.substring(start, end) + '\n';
  106. }
  107. newParamsName.value += tempStr; // 最终拼成的字符串
  108. }
  109. } else {
  110. // 将旧标签的值赋给新标签
  111. newParamsName.value = params;
  112. }
  113. //将最终的字符串返回
  114. return newParamsName.value;
  115. },
  116. },
  117. splitLine: { show: true, lineStyle: { color: '#57617B22', type: 'dashed' } },
  118. data: [],
  119. },
  120. yAxis: [
  121. // {
  122. // type: 'value',
  123. // name: 'm³/h',
  124. // max: 6000,
  125. // axisTick: {
  126. // show: false,
  127. // },
  128. // position: 'left',
  129. // axisLine: { lineStyle: { show: true, color: '#57617B' } },
  130. // axisLabel: { margin: 10, fontSize: 12, color: '#ffffffcc' },
  131. // splitLine: { show: true, lineStyle: { color: '#57617B22', type: 'dashed' } },
  132. // },
  133. {
  134. type: 'value',
  135. name: 'm³/h',
  136. max: 2000,
  137. axisTick: {
  138. show: false,
  139. },
  140. position: 'right',
  141. axisLine: { lineStyle: { show: true, color: '#57617B' } },
  142. axisLabel: { margin: 10, fontSize: 12, color: '#ffffffcc' },
  143. splitLine: { show: true, lineStyle: { color: '#57617B22', type: 'dashed' } },
  144. },
  145. ],
  146. series: [
  147. // {
  148. // name: '累计流量',
  149. // type: 'line',
  150. // smooth: true,
  151. // lineStyle: { width: 2 },
  152. // yAxisIndex: 0,
  153. // areaStyle: {
  154. // color: new echarts.graphic.LinearGradient(
  155. // 0,
  156. // 0,
  157. // 0,
  158. // 1,
  159. // [
  160. // {
  161. // offset: 0,
  162. // color: 'rgba(185,150,248,0.3)',
  163. // },
  164. // {
  165. // offset: 0.8,
  166. // color: 'rgba(185,150,248,0)',
  167. // },
  168. // ],
  169. // false
  170. // ),
  171. // shadowColor: 'rgba(0, 0, 0, 0.1)',
  172. // shadowBlur: 10,
  173. // },
  174. // itemStyle: { color: '#B996F8' },
  175. // data: [],
  176. // },
  177. {
  178. name: '瞬时流量',
  179. type: 'line',
  180. smooth: true,
  181. lineStyle: { width: 2 },
  182. yAxisIndex: 0,
  183. areaStyle: {
  184. color: new echarts.graphic.LinearGradient(
  185. 0,
  186. 0,
  187. 0,
  188. 1,
  189. [
  190. {
  191. offset: 0,
  192. color: 'rgba(3, 194, 236, 0.3)',
  193. },
  194. {
  195. offset: 0.8,
  196. color: 'rgba(3, 194, 236, 0)',
  197. },
  198. ],
  199. false
  200. ),
  201. shadowColor: 'rgba(0, 0, 0, 0.1)',
  202. shadowBlur: 10,
  203. },
  204. itemStyle: { color: '#03C2EC' },
  205. data: [],
  206. },
  207. ],
  208. });
  209. export function getMonitorComponent() {
  210. const { sysOrgCode } = useGlobSetting();
  211. // const sysOrgCode = 'sdmtjtbltmk';
  212. let nitrogenHome;
  213. switch (sysOrgCode) {
  214. case 'sdmtjtdltmk': //dltj sdmtjtdltmk
  215. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_dltj.vue'));
  216. return nitrogenHome;
  217. case 'sdmtjtltmk':
  218. case 'sdmtjtsgtmk': // 石圪台
  219. case 'sdmtjtbetmk': // bet
  220. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_bet.vue'));
  221. return nitrogenHome;
  222. case 'sdmtjtbdmk': // bd
  223. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_bd.vue'));
  224. return nitrogenHome;
  225. case 'sdmtjtjjmk': // 锦界
  226. case 'sdmtjtyjlmk': //yjl
  227. case 'sdmtjtbltmk': // 补连塔
  228. // debugger;
  229. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_blt.vue'));
  230. return nitrogenHome;
  231. case 'sdmtjtcctmk': // 寸草塔
  232. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_blt.vue'));
  233. return nitrogenHome;
  234. // case 'sdmtjtjjmk': // 锦界
  235. // nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_lt.vue'));
  236. // return nitrogenHome;
  237. case 'lahgjtlnmy': // 潞宁
  238. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_ln.vue'));
  239. return nitrogenHome;
  240. default:
  241. // nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_blt.vue'));
  242. // nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_bet.vue'));
  243. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_dltj.vue'));
  244. return nitrogenHome;
  245. }
  246. }