nitrogen.data.ts 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  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`,
  62. unit: '%',
  63. child: [],
  64. },
  65. ];
  66. export const zhudanOption = reactive({
  67. tooltip: { trigger: 'axis', axisPointer: { lineStyle: { color: '#fff' } } },
  68. legend: {
  69. top: '0',
  70. icon: 'rect',
  71. data: ['瞬时流量'],
  72. right: '10px',
  73. textStyle: { fontSize: 12, color: '#fff' },
  74. },
  75. grid: { x: 45, y: 60, x2: 45, y2: 60 },
  76. xAxis: {
  77. type: 'category',
  78. boundaryGap: false,
  79. axisLine: { lineStyle: { color: '#57617B' } },
  80. axisLabel: {
  81. color: '#ffffffcc',
  82. formatter: function (params) {
  83. const newParamsName = ref(''); // 最终拼接成的字符串
  84. const paramsNameNumber = ref(params.length); // 实际标签的个数
  85. const provideNumber = ref(10); // 每行能显示的字的个数
  86. const rowNumber = Math.ceil(paramsNameNumber.value / provideNumber.value); // 换行的话,需要显示几行,向上取整
  87. /**
  88. * 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
  89. */
  90. // 条件等同于rowNumber>1
  91. if (paramsNameNumber.value > provideNumber.value) {
  92. /** 循环每一行,p表示行 */
  93. for (let p = 0; p < rowNumber; p++) {
  94. let tempStr = ''; // 表示每一次截取的字符串
  95. const start = p * provideNumber.value; // 开始截取的位置
  96. const end = start + provideNumber.value; // 结束截取的位置
  97. // 此处特殊处理最后一行的索引值
  98. if (p == rowNumber - 1) {
  99. // 最后一次不换行
  100. tempStr = params.substring(start, paramsNameNumber.value);
  101. } else {
  102. // 每一次拼接字符串并换行
  103. tempStr = params.substring(start, end) + '\n';
  104. }
  105. newParamsName.value += tempStr; // 最终拼成的字符串
  106. }
  107. } else {
  108. // 将旧标签的值赋给新标签
  109. newParamsName.value = params;
  110. }
  111. //将最终的字符串返回
  112. return newParamsName.value;
  113. },
  114. },
  115. splitLine: { show: true, lineStyle: { color: '#57617B22', type: 'dashed' } },
  116. data: [],
  117. },
  118. yAxis: [
  119. // {
  120. // type: 'value',
  121. // name: 'm³/h',
  122. // max: 6000,
  123. // axisTick: {
  124. // show: false,
  125. // },
  126. // position: 'left',
  127. // axisLine: { lineStyle: { show: true, color: '#57617B' } },
  128. // axisLabel: { margin: 10, fontSize: 12, color: '#ffffffcc' },
  129. // splitLine: { show: true, lineStyle: { color: '#57617B22', type: 'dashed' } },
  130. // },
  131. {
  132. type: 'value',
  133. name: 'm³/h',
  134. max: 2000,
  135. axisTick: {
  136. show: false,
  137. },
  138. position: 'right',
  139. axisLine: { lineStyle: { show: true, color: '#57617B' } },
  140. axisLabel: { margin: 10, fontSize: 12, color: '#ffffffcc' },
  141. splitLine: { show: true, lineStyle: { color: '#57617B22', type: 'dashed' } },
  142. },
  143. ],
  144. series: [
  145. // {
  146. // name: '累计流量',
  147. // type: 'line',
  148. // smooth: true,
  149. // lineStyle: { width: 2 },
  150. // yAxisIndex: 0,
  151. // areaStyle: {
  152. // color: new echarts.graphic.LinearGradient(
  153. // 0,
  154. // 0,
  155. // 0,
  156. // 1,
  157. // [
  158. // {
  159. // offset: 0,
  160. // color: 'rgba(185,150,248,0.3)',
  161. // },
  162. // {
  163. // offset: 0.8,
  164. // color: 'rgba(185,150,248,0)',
  165. // },
  166. // ],
  167. // false
  168. // ),
  169. // shadowColor: 'rgba(0, 0, 0, 0.1)',
  170. // shadowBlur: 10,
  171. // },
  172. // itemStyle: { color: '#B996F8' },
  173. // data: [],
  174. // },
  175. {
  176. name: '瞬时流量',
  177. type: 'line',
  178. smooth: true,
  179. lineStyle: { width: 2 },
  180. yAxisIndex: 0,
  181. areaStyle: {
  182. color: new echarts.graphic.LinearGradient(
  183. 0,
  184. 0,
  185. 0,
  186. 1,
  187. [
  188. {
  189. offset: 0,
  190. color: 'rgba(3, 194, 236, 0.3)',
  191. },
  192. {
  193. offset: 0.8,
  194. color: 'rgba(3, 194, 236, 0)',
  195. },
  196. ],
  197. false
  198. ),
  199. shadowColor: 'rgba(0, 0, 0, 0.1)',
  200. shadowBlur: 10,
  201. },
  202. itemStyle: { color: '#03C2EC' },
  203. data: [],
  204. },
  205. ],
  206. });
  207. export function getMonitorComponent() {
  208. const { sysOrgCode } = useGlobSetting();
  209. // const sysOrgCode = 'sdmtjtbdmk';
  210. let nitrogenHome;
  211. switch (sysOrgCode) {
  212. case 'sdmtjtdltmk': //dltj
  213. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_dltj.vue'));
  214. return nitrogenHome;
  215. case 'sdmtjtltmk':
  216. case 'sdmtjtsgtmk': // 石圪台
  217. case 'sdmtjtbetmk': // bet
  218. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_bet.vue'));
  219. return nitrogenHome;
  220. case 'sdmtjtbdmk': // bd
  221. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_bd.vue'));
  222. return nitrogenHome;
  223. case 'sdmtjtjjmk': // 锦界
  224. case 'sdmtjtyjlmk': //yjl
  225. case 'sdmtjtbltmk': // 补连塔
  226. // debugger;
  227. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_blt.vue'));
  228. return nitrogenHome;
  229. case 'sdmtjtcctmk': // 寸草塔
  230. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_blt.vue'));
  231. return nitrogenHome;
  232. // case 'sdmtjtjjmk': // 锦界
  233. // nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_lt.vue'));
  234. // return nitrogenHome;
  235. case 'lahgjtlnmy': // 潞宁
  236. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_ln.vue'));
  237. return nitrogenHome;
  238. default:
  239. // nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_blt.vue'));
  240. nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_bd.vue'));
  241. // nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_blt.vue'));
  242. return nitrogenHome;
  243. }
  244. }