nitrogen.data.ts 6.5 KB

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