main.data.ts 37 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922
  1. import { BasicColumn } from '/@/components/Table';
  2. import { FormSchema } from '/@/components/Table';
  3. import { rules } from '/@/utils/helper/validator';
  4. import { reactive } from 'vue';
  5. import type { EChartsOption } from 'echarts';
  6. import { useGlobSetting } from '/@/hooks/setting';
  7. import { cloneDeep } from 'lodash-es';
  8. type CtrlLockOpenType = {
  9. CtrlLockOpen: boolean | undefined;
  10. CtrlExplosionVentOpen: boolean | undefined;
  11. };
  12. export type PointMonitorType = {
  13. valueName: string;
  14. valueCode: string;
  15. value: number | string;
  16. warnMin_201: number | string;
  17. warnMin_104: number | string;
  18. readTime: string;
  19. };
  20. export const columns: BasicColumn[] = [
  21. {
  22. title: '名称',
  23. dataIndex: 'strname',
  24. width: 120,
  25. },
  26. {
  27. title: '安装位置',
  28. dataIndex: 'strinstallpos',
  29. width: 100,
  30. },
  31. {
  32. title: '是否为常闭型',
  33. dataIndex: 'bnormalclose',
  34. width: 100,
  35. // customRender: render.renderAvatar,
  36. },
  37. {
  38. title: '净宽',
  39. dataIndex: 'fclearwidth',
  40. width: 80,
  41. },
  42. {
  43. title: '净高',
  44. dataIndex: 'fclearheight',
  45. width: 100,
  46. },
  47. {
  48. title: '风门道数',
  49. dataIndex: 'ndoorcount',
  50. width: 100,
  51. },
  52. {
  53. title: '所属分站',
  54. width: 150,
  55. dataIndex: 'stationname',
  56. },
  57. {
  58. title: '点表',
  59. width: 100,
  60. dataIndex: 'strtype',
  61. },
  62. {
  63. title: '监测类型',
  64. dataIndex: 'monitorflag',
  65. width: 100,
  66. },
  67. {
  68. title: '是否模拟数据',
  69. dataIndex: 'testflag',
  70. width: 100,
  71. },
  72. ];
  73. export const recycleColumns: BasicColumn[] = [
  74. {
  75. title: '名称',
  76. dataIndex: 'strname',
  77. width: 100,
  78. },
  79. {
  80. title: '是否为常闭型',
  81. dataIndex: 'bnormalclose',
  82. width: 100,
  83. },
  84. ];
  85. export const searchFormSchema: FormSchema[] = [
  86. {
  87. label: '名称',
  88. field: 'strname',
  89. component: 'Input',
  90. colProps: { span: 6 },
  91. },
  92. {
  93. label: '安装位置',
  94. field: 'strinstallpos',
  95. component: 'Input',
  96. colProps: { span: 6 },
  97. },
  98. {
  99. label: '是否为常闭型',
  100. field: 'bnormalclose',
  101. component: 'JDictSelectTag',
  102. componentProps: {
  103. dictCode: 'user_status',
  104. placeholder: '请选择读写类型',
  105. stringToNumber: true,
  106. },
  107. colProps: { span: 6 },
  108. },
  109. ];
  110. export const formSchema: FormSchema[] = [
  111. {
  112. label: '',
  113. field: 'id',
  114. component: 'Input',
  115. show: false,
  116. },
  117. {
  118. label: '名称',
  119. field: 'strname',
  120. component: 'Input',
  121. },
  122. {
  123. label: '安装位置',
  124. field: 'strinstallpos',
  125. component: 'Input',
  126. },
  127. {
  128. label: '是否为常闭型',
  129. field: 'bnormalclose',
  130. component: 'RadioGroup',
  131. defaultValue: 1,
  132. componentProps: () => {
  133. return {
  134. options: [
  135. { label: '是', value: 1, key: '1' },
  136. { label: '否', value: 0, key: '2' },
  137. ],
  138. };
  139. },
  140. },
  141. {
  142. label: '净宽',
  143. field: 'fclearwidth',
  144. component: 'Input',
  145. },
  146. {
  147. label: '净高',
  148. field: 'fclearheight',
  149. component: 'Input',
  150. },
  151. {
  152. label: '风门道数',
  153. field: 'ndoorcount',
  154. component: 'Input',
  155. },
  156. {
  157. label: '所属分站',
  158. field: 'stationname',
  159. component: 'JDictSelectTag',
  160. componentProps: {
  161. dictCode: 'user_status',
  162. placeholder: '请选择状态',
  163. stringToNumber: true,
  164. },
  165. },
  166. {
  167. label: '点表',
  168. field: 'strtype',
  169. component: 'JDictSelectTag',
  170. componentProps: {
  171. dictCode: 'user_status',
  172. placeholder: '请选择状态',
  173. stringToNumber: true,
  174. },
  175. },
  176. {
  177. label: '监测类型',
  178. field: 'monitorflag',
  179. component: 'JDictSelectTag',
  180. componentProps: {
  181. dictCode: 'user_status',
  182. placeholder: '请选择状态',
  183. stringToNumber: true,
  184. },
  185. },
  186. {
  187. label: '是否模拟数据',
  188. field: 'testflag',
  189. component: 'RadioGroup',
  190. defaultValue: 1,
  191. componentProps: () => {
  192. return {
  193. options: [
  194. { label: '是', value: 1, key: '1' },
  195. { label: '否', value: 0, key: '2' },
  196. ],
  197. };
  198. },
  199. },
  200. ];
  201. export const tableColumns = [
  202. {
  203. title: '',
  204. dataIndex: 'isCheck',
  205. customCell: (_, index) => {
  206. if (index % 2 == 0) {
  207. return { rowSpan: 2 };
  208. } else {
  209. return { rowSpan: 0 };
  210. }
  211. },
  212. },
  213. {
  214. title: '安装位置',
  215. dataIndex: 'address',
  216. customCell: (_, index) => {
  217. if (index % 2 == 0) {
  218. return { rowSpan: 2 };
  219. } else {
  220. return { rowSpan: 0 };
  221. }
  222. },
  223. },
  224. {
  225. title: '运行风机',
  226. dataIndex: 'childName',
  227. },
  228. {
  229. title: '风机静压(Pa)',
  230. dataIndex: 'yc2',
  231. },
  232. {
  233. title: '风机全压(Pa)',
  234. dataIndex: 'dqPa',
  235. },
  236. {
  237. title: '电机流量(m³/s)',
  238. dataIndex: 'fanM3',
  239. },
  240. {
  241. title: '电机速度(rpm/s)',
  242. dataIndex: 'fanSD',
  243. },
  244. {
  245. title: '电机电压(V)',
  246. dataIndex: 'fanU',
  247. },
  248. {
  249. title: '电机电流(A)',
  250. dataIndex: 'fanA',
  251. },
  252. {
  253. title: '电机频率(Hz/s)',
  254. dataIndex: 'fanPL',
  255. },
  256. {
  257. title: '电机功率(KW/s)',
  258. dataIndex: 'fanGL',
  259. },
  260. {
  261. title: '振动X1(mm/s)',
  262. dataIndex: 'zdX1',
  263. },
  264. {
  265. title: '振动Y1(mm/s)',
  266. dataIndex: 'zdY1',
  267. },
  268. ];
  269. export const dataColumns = () => {
  270. return [
  271. {
  272. id: 'UXC',
  273. name: '电机轴温设定(℃)',
  274. id2: 'bearingFront2_F1',
  275. },
  276. { id: 'VXC', name: '电机定温设定(℃)', id2: 'bearingBack2_F1' },
  277. {
  278. id: 'WXC',
  279. name: '电机前轴温度(℃)',
  280. id2: 'stator2A_F1',
  281. },
  282. {
  283. id: 'QZC',
  284. name: '电机后轴温度(℃)',
  285. id2: 'stator2B_F1',
  286. },
  287. { id: 'ZCZ1C', name: '电机定子1温度(℃)', id2: 'fIA2_F1' },
  288. { id: 'ZCZ2C', name: '电机定子2温度(℃)', id2: 'fIB2_F1' },
  289. { id: 'FTZ1C', name: '电机定3温度(℃)', id2: 'fIC2_F1' },
  290. ];
  291. };
  292. export const stateColumns = () => {
  293. return [
  294. // {
  295. // id: 'lubeBoxTemperatureF1High',
  296. // name: '润滑站油箱油温高报警',
  297. // flag: false,
  298. // },
  299. {
  300. id: 'lubeBoxTemperatureF1Low',
  301. name: '润滑站1油箱油温低报警',
  302. flag: true,
  303. },
  304. {
  305. id: 'lubeTemperatureF1High',
  306. name: '润滑站1供油油温高报警',
  307. flag: true,
  308. },
  309. // {
  310. // id: 'lubeTemperatureF1Low',
  311. // name: '润滑站1供油油温低报警',
  312. // flag: false,
  313. // },
  314. { id: 'lubePaF1High', name: '润滑站1供油油压高报警', flag: true },
  315. { id: 'lubePaF1Low', name: '润滑站1供油油压低报警', flag: true },
  316. // { id: "ch4_F1High", name: "瓦斯值1高报警", flag: false },
  317. { id: 'singleDoorF1Warn', name: '侧开风门单模报警', flag: true },
  318. { id: 'lubeF1SlightFault', name: '稀油润滑站轻故障', flag: true },
  319. { id: 'lubeF1SevereFault', name: '稀油润滑站重故障', flag: true },
  320. { id: 'f1B1Fault', name: '变频器1故障', flag: true },
  321. { id: 'f1B2Fault', name: '变频器2故障', flag: true },
  322. { id: 'f1Fault', name: '通风机故障', flag: true },
  323. ];
  324. };
  325. export const faultDeviceHeader = [
  326. {
  327. title: '测点名称',
  328. code: 'valueName',
  329. width: '200px',
  330. },
  331. {
  332. title: '实时数据',
  333. code: 'value',
  334. width: '110px',
  335. },
  336. {
  337. title: '预警限值',
  338. code: 'warnMin_104',
  339. width: '110px',
  340. },
  341. {
  342. title: '报警限值',
  343. code: 'warnMin_201',
  344. width: '110px',
  345. },
  346. ];
  347. export const rightFaultDeviceColumns = [
  348. {
  349. title: '中端X',
  350. dataIndex: 'Fault_cd_ZX', // 测点名称
  351. width: 120,
  352. },
  353. {
  354. title: '中端X',
  355. dataIndex: 'Fault_ZX_val', // 中端X实时监测值
  356. width: 120,
  357. },
  358. ];
  359. export const modalTypeArr = {
  360. centerBtnArr: [
  361. {
  362. key: 'startSmoke',
  363. value: '一键启动/停止',
  364. permission: 'fan:startSmoke',
  365. },
  366. {
  367. key: 'startFan',
  368. value: '一键启动/停止',
  369. permission: 'fan:startFan',
  370. },
  371. {
  372. key: 'startFan',
  373. value: '一键启动/停止',
  374. permission: 'fan:startAndResetFan',
  375. },
  376. {
  377. key: 'resetFan',
  378. value: '一键复位',
  379. permission: 'fan:resetFan',
  380. },
  381. {
  382. key: 'changeSmoke',
  383. value: '不停风倒机',
  384. permission: 'fan:changeSmoke',
  385. },
  386. {
  387. key: 'changeDirection',
  388. value: '一键反风',
  389. permission: 'fan:changeDirection',
  390. },
  391. {
  392. key: 'frequency',
  393. value: '一键调频',
  394. permission: 'fan:frequency',
  395. },
  396. {
  397. key: 'fbm',
  398. value: '防爆门控制',
  399. permission: 'fan:fbm',
  400. },
  401. {
  402. key: 'kkjc',
  403. value: '工况辅助决策',
  404. permission: 'fan:kkjc',
  405. },
  406. {
  407. key: 'zhlk',
  408. value: '自主联控',
  409. permission: 'fan:zhlk',
  410. },
  411. ],
  412. };
  413. export const fbmControlData = <CtrlLockOpenType>reactive({
  414. CtrlLockOpen: false, // 远程开锁 true 为打开状态, false 为关闭状态
  415. CtrlExplosionVentOpen: false, // 远程开门 true 为打开状态, false 为关闭状态
  416. });
  417. // export const assistanceData = {
  418. // '30': {
  419. // angle: 0,
  420. // Hz: 30.0, //频率
  421. // a: -0.17624, //二次项系数
  422. // b: 34.59747, //一次项系数
  423. // c: 938.98517, //常数项系数
  424. // min: 93.0, //风量下限
  425. // max: 132.0, //风量上限
  426. // },
  427. // '31': {
  428. // angle: 0,
  429. // Hz: 31.0,
  430. // a: -0.17624,
  431. // b: 35.055694,
  432. // c: 851.596922,
  433. // min: 96.1,
  434. // max: 136.4,
  435. // },
  436. // '32': {
  437. // angle: 0,
  438. // Hz: 32.0,
  439. // a: -0.17624,
  440. // b: 35.513918,
  441. // c: 768.749733,
  442. // min: 99.2,
  443. // max: 140.8,
  444. // },
  445. // '33': {
  446. // angle: 0,
  447. // Hz: 33.0,
  448. // a: -0.17624,
  449. // b: 35.972142,
  450. // c: 690.443603,
  451. // min: 102.3,
  452. // max: 145.2,
  453. // },
  454. // '34': {
  455. // angle: 0,
  456. // Hz: 34.0,
  457. // a: -0.17624,
  458. // b: 36.430366,
  459. // c: 616.678531,
  460. // min: 105.4,
  461. // max: 149.6,
  462. // },
  463. // '35': {
  464. // angle: 0,
  465. // Hz: 35.0,
  466. // a: -0.17624,
  467. // b: 36.88859,
  468. // c: 547.454517,
  469. // min: 108.5,
  470. // max: 154.0,
  471. // },
  472. // '36': {
  473. // angle: 0,
  474. // Hz: 36.0,
  475. // a: -0.17624,
  476. // b: 37.346814,
  477. // c: 482.771563,
  478. // min: 111.6,
  479. // max: 158.4,
  480. // },
  481. // '37': {
  482. // angle: 0,
  483. // Hz: 37.0,
  484. // a: -0.17624,
  485. // b: 37.805038,
  486. // c: 422.629667,
  487. // min: 114.7,
  488. // max: 162.8,
  489. // },
  490. // '38': {
  491. // angle: 0,
  492. // Hz: 38.0,
  493. // a: -0.17624,
  494. // b: 38.263262,
  495. // c: 367.028829,
  496. // min: 117.8,
  497. // max: 167.2,
  498. // },
  499. // '39': {
  500. // angle: 0,
  501. // Hz: 39.0,
  502. // a: -0.17624,
  503. // b: 38.721486,
  504. // c: 315.96905,
  505. // min: 120.9,
  506. // max: 171.6,
  507. // },
  508. // '40': {
  509. // angle: 0,
  510. // Hz: 40.0,
  511. // a: -0.17624,
  512. // b: 39.17971,
  513. // c: 269.45033,
  514. // min: 124.0,
  515. // max: 176.0,
  516. // },
  517. // '41': {
  518. // angle: 0,
  519. // Hz: 41.0,
  520. // a: -0.17624,
  521. // b: 39.637934,
  522. // c: 227.472668,
  523. // min: 127.1,
  524. // max: 180.4,
  525. // },
  526. // '42': {
  527. // angle: 0,
  528. // Hz: 42.0,
  529. // a: -0.17624,
  530. // b: 40.096158,
  531. // c: 190.036065,
  532. // min: 130.2,
  533. // max: 184.8,
  534. // },
  535. // '43': {
  536. // angle: 0,
  537. // Hz: 43.0,
  538. // a: -0.17624,
  539. // b: 40.554382,
  540. // c: 157.140521,
  541. // min: 133.3,
  542. // max: 189.2,
  543. // },
  544. // '44': {
  545. // angle: 0,
  546. // Hz: 44.0,
  547. // a: -0.17624,
  548. // b: 41.012606,
  549. // c: 128.786035,
  550. // min: 136.4,
  551. // max: 193.6,
  552. // },
  553. // '45': {
  554. // angle: 0,
  555. // Hz: 45.0,
  556. // a: -0.17624,
  557. // b: 41.47083,
  558. // c: 104.972607,
  559. // min: 139.5,
  560. // max: 198.0,
  561. // },
  562. // '46': {
  563. // angle: 0,
  564. // Hz: 46.0,
  565. // a: -0.17624,
  566. // b: 41.929054,
  567. // c: 85.700239,
  568. // min: 142.6,
  569. // max: 202.4,
  570. // },
  571. // '47': {
  572. // angle: 0,
  573. // Hz: 47.0,
  574. // a: -0.17624,
  575. // b: 42.387278,
  576. // c: 70.968929,
  577. // min: 145.7,
  578. // max: 206.8,
  579. // },
  580. // '48': {
  581. // angle: 0,
  582. // Hz: 48.0,
  583. // a: -0.17624,
  584. // b: 42.845502,
  585. // c: 60.778677,
  586. // min: 148.8,
  587. // max: 211.2,
  588. // },
  589. // '49': {
  590. // angle: 0,
  591. // Hz: 49.0,
  592. // a: -0.17624,
  593. // b: 43.303726,
  594. // c: 55.129484,
  595. // min: 151.9,
  596. // max: 215.6,
  597. // },
  598. // '50': {
  599. // angle: 0,
  600. // Hz: 50.0,
  601. // a: -0.17624,
  602. // b: 43.76195,
  603. // c: 54.02135,
  604. // min: 155.0,
  605. // max: 220.0,
  606. // },
  607. // };
  608. export const assistanceData = {
  609. '30': {
  610. angle: 0,
  611. Hz: 30.0, //频率
  612. a: -0.17624, //二次项系数
  613. b: 43.40947, //一次项系数
  614. c: 97.60705999999982, //常数项系数
  615. min: 93.0, //风量下限
  616. max: 132.0, //风量上限
  617. },
  618. '31': {
  619. angle: 0,
  620. Hz: 31.0,
  621. a: -0.17624,
  622. b: 43.427094,
  623. c: 95.43614590000016,
  624. min: 96.1,
  625. max: 136.4,
  626. },
  627. '32': {
  628. angle: 0,
  629. Hz: 32.0,
  630. a: -0.17624,
  631. b: 43.444718,
  632. c: 93.26435059999994,
  633. min: 99.2,
  634. max: 140.8,
  635. },
  636. '33': {
  637. angle: 0,
  638. Hz: 33.0,
  639. a: -0.17624,
  640. b: 43.462342,
  641. c: 91.09167409999964,
  642. min: 102.3,
  643. max: 145.2,
  644. },
  645. '34': {
  646. angle: 0,
  647. Hz: 34.0,
  648. a: -0.17624,
  649. b: 43.479966000000005,
  650. c: 88.91811639999969,
  651. min: 105.4,
  652. max: 149.6,
  653. },
  654. '35': {
  655. angle: 0,
  656. Hz: 35.0,
  657. a: -0.17624,
  658. b: 43.49759,
  659. c: 86.74367749999965,
  660. min: 108.5,
  661. max: 154.0,
  662. },
  663. '36': {
  664. angle: 0,
  665. Hz: 36.0,
  666. a: -0.17624,
  667. b: 43.515214,
  668. c: 84.56835739999997,
  669. min: 111.6,
  670. max: 158.4,
  671. },
  672. '37': {
  673. angle: 0,
  674. Hz: 37.0,
  675. a: -0.17624,
  676. b: 43.532838,
  677. c: 82.3921561000002,
  678. min: 114.7,
  679. max: 162.8,
  680. },
  681. '38': {
  682. angle: 0,
  683. Hz: 38.0,
  684. a: -0.17624,
  685. b: 43.550462,
  686. c: 80.21507359999941,
  687. min: 117.8,
  688. max: 167.2,
  689. },
  690. '39': {
  691. angle: 0,
  692. Hz: 39.0,
  693. a: -0.17624,
  694. b: 43.568086,
  695. c: 78.0371098999999,
  696. min: 120.9,
  697. max: 171.6,
  698. },
  699. '40': {
  700. angle: 0,
  701. Hz: 40.0,
  702. a: -0.17624,
  703. b: 43.58571,
  704. c: 75.85826499999985,
  705. min: 124.0,
  706. max: 176.0,
  707. },
  708. '41': {
  709. angle: 0,
  710. Hz: 41.0,
  711. a: -0.17624,
  712. b: 43.603334,
  713. c: 73.67853890000015,
  714. min: 127.1,
  715. max: 180.4,
  716. },
  717. '42': {
  718. angle: 0,
  719. Hz: 42.0,
  720. a: -0.17624,
  721. b: 43.620958,
  722. c: 71.4979315999999,
  723. min: 130.2,
  724. max: 184.8,
  725. },
  726. '43': {
  727. angle: 0,
  728. Hz: 43.0,
  729. a: -0.17624,
  730. b: 43.638582,
  731. c: 69.31644309999956,
  732. min: 133.3,
  733. max: 189.2,
  734. },
  735. '44': {
  736. angle: 0,
  737. Hz: 44.0,
  738. a: -0.17624,
  739. b: 43.656206000000005,
  740. c: 67.13407339999958,
  741. min: 136.4,
  742. max: 193.6,
  743. },
  744. '45': {
  745. angle: 0,
  746. Hz: 45.0,
  747. a: -0.17624,
  748. b: 43.67383,
  749. c: 64.9508224999995,
  750. min: 139.5,
  751. max: 198.0,
  752. },
  753. '46': {
  754. angle: 0,
  755. Hz: 46.0,
  756. a: -0.17624,
  757. b: 43.691454,
  758. c: 62.76669039999979,
  759. min: 142.6,
  760. max: 202.4,
  761. },
  762. '47': {
  763. angle: 0,
  764. Hz: 47.0,
  765. a: -0.17624,
  766. b: 43.709078,
  767. c: 60.58167709999998,
  768. min: 145.7,
  769. max: 206.8,
  770. },
  771. '48': {
  772. angle: 0,
  773. Hz: 48.0,
  774. a: -0.17624,
  775. b: 43.726702,
  776. c: 58.39578259999962,
  777. min: 148.8,
  778. max: 211.2,
  779. },
  780. '49': {
  781. angle: 0,
  782. Hz: 49.0,
  783. a: -0.17624,
  784. b: 43.744326,
  785. c: 56.20900689999962,
  786. min: 151.9,
  787. max: 215.6,
  788. },
  789. '50': {
  790. angle: 0,
  791. Hz: 50.0,
  792. a: -0.17624,
  793. b: 43.76195,
  794. c: 54.021349999999984,
  795. min: 155.0,
  796. max: 220.0,
  797. },
  798. };
  799. export const setOption = (deviceType?) => {
  800. let yMax = 4500;
  801. const { sysOrgCode } = useGlobSetting();
  802. // const sysOrgCode = 'sdmtjtwlmlmk';
  803. if (sysOrgCode == 'sdmtjtdltmk') {
  804. // 这里判断白家渠还是五当沟
  805. if (deviceType == 'fanmain_bjq') {
  806. yMax = 5500;
  807. } else if (deviceType == 'fanmain_wdg') {
  808. yMax = 1200;
  809. }
  810. } else if (sysOrgCode == 'sdmtjtswmk') {
  811. if (deviceType == 'fanmain_bfj') {
  812. yMax = 5000;
  813. } else if (deviceType == 'fanmain_nfj') {
  814. yMax = 4500;
  815. }
  816. } else if (sysOrgCode == 'sdmtjtbdmk') {
  817. if (deviceType == 'fanmain_ljy') {
  818. yMax = 5000;
  819. } else if (deviceType == 'fanmain_zl') {
  820. yMax = 6000;
  821. }
  822. } else if (sysOrgCode == 'sdmtjtjjmk') {
  823. yMax = 6000;
  824. } else if (sysOrgCode == 'sdmtjtsgtmk') {
  825. yMax = 3000;
  826. } else if (sysOrgCode == 'sdmtjtdltmkhjtj') {
  827. yMax = 3000;
  828. } else if (sysOrgCode == 'sdmtjtcctrk') {
  829. yMax = 600;
  830. } else if (sysOrgCode == 'sdmtjtwlmlmk') {
  831. yMax = 4000;
  832. } else {
  833. yMax = 4500;
  834. }
  835. return reactive<EChartsOption>({
  836. title: {
  837. text: '风机运行工况辅助曲线图',
  838. textStyle: {
  839. color: '#BF954D',
  840. },
  841. left: 'center',
  842. top: 0,
  843. },
  844. // backgroundColor: '#39deff',
  845. tooltip: {
  846. trigger: 'axis',
  847. axisPointer: {
  848. type: 'cross',
  849. label: {
  850. backgroundColor: '#6a7985',
  851. },
  852. },
  853. },
  854. toolbox: {
  855. show: true,
  856. },
  857. grid: {
  858. left: 8,
  859. right: 50,
  860. bottom: 0,
  861. containLabel: true,
  862. },
  863. xAxis: {
  864. type: 'category',
  865. name: 'm³/s',
  866. nameTextStyle: {
  867. fontWeight: 600,
  868. fontSize: 13,
  869. },
  870. splitLine: { show: true, lineStyle: { color: 'rgba(21,80,126,.5)' } },
  871. axisLabel: {
  872. margin: 20,
  873. fontSize: 14,
  874. color: '#f1f1f199',
  875. },
  876. boundaryGap: false,
  877. data: [],
  878. },
  879. yAxis: {
  880. type: 'value',
  881. axisLine: {
  882. show: true,
  883. lineStyle: {
  884. color: '#006c9d',
  885. },
  886. },
  887. splitLine: { show: true, lineStyle: { color: 'rgba(21,80,126,.5)' } },
  888. axisLabel: {
  889. show: true,
  890. fontSize: 14,
  891. formatter: '{value}',
  892. color: '#0071A5',
  893. },
  894. min: 0,
  895. max: yMax, //武当沟
  896. name: 'Pa',
  897. nameTextStyle: {
  898. fontWeight: 600,
  899. fontSize: 13,
  900. },
  901. },
  902. series: [],
  903. });
  904. };
  905. export const initData1 = () => {
  906. const assistanceData = {
  907. '30': {
  908. angle: 0,
  909. Hz: 30.0, //频率
  910. a: -0.17624, //二次项系数
  911. b: 43.40947, //一次项系数
  912. c: 97.60705999999982, //常数项系数
  913. min: 93.0, //风量下限
  914. max: 171.0, //风量上限
  915. },
  916. '31': {
  917. angle: 0,
  918. Hz: 31.0,
  919. a: -0.17624,
  920. b: 43.427094,
  921. c: 95.43614590000016,
  922. min: 96.1,
  923. max: 174.4,
  924. },
  925. '32': {
  926. angle: 0,
  927. Hz: 32.0,
  928. a: -0.17624,
  929. b: 43.444718,
  930. c: 93.26435059999994,
  931. min: 99.2,
  932. max: 177.8,
  933. },
  934. '33': {
  935. angle: 0,
  936. Hz: 33.0,
  937. a: -0.17624,
  938. b: 43.462342,
  939. c: 91.09167409999964,
  940. min: 102.3,
  941. max: 180.2,
  942. },
  943. '34': {
  944. angle: 0,
  945. Hz: 34.0,
  946. a: -0.17624,
  947. b: 43.479966000000005,
  948. c: 88.91811639999969,
  949. min: 105.4,
  950. max: 182.0,
  951. },
  952. '35': {
  953. angle: 0,
  954. Hz: 35.0,
  955. a: -0.17624,
  956. b: 43.49759,
  957. c: 86.74367749999965,
  958. min: 108.5,
  959. max: 184.5,
  960. },
  961. '36': {
  962. angle: 0,
  963. Hz: 36.0,
  964. a: -0.17624,
  965. b: 43.515214,
  966. c: 84.56835739999997,
  967. min: 111.6,
  968. max: 187.0,
  969. },
  970. '37': {
  971. angle: 0,
  972. Hz: 37.0,
  973. a: -0.17624,
  974. b: 43.532838,
  975. c: 82.3921561000002,
  976. min: 114.7,
  977. max: 190.8,
  978. },
  979. '38': {
  980. angle: 0,
  981. Hz: 38.0,
  982. a: -0.17624,
  983. b: 43.550462,
  984. c: 80.21507359999941,
  985. min: 117.8,
  986. max: 193.0,
  987. },
  988. '39': {
  989. angle: 0,
  990. Hz: 39.0,
  991. a: -0.17624,
  992. b: 43.568086,
  993. c: 78.0371098999999,
  994. min: 120.9,
  995. max: 195.6,
  996. },
  997. '40': {
  998. angle: 0,
  999. Hz: 40.0,
  1000. a: -0.17624,
  1001. b: 43.58571,
  1002. c: 75.85826499999985,
  1003. min: 123.0,
  1004. max: 197.0,
  1005. },
  1006. '41': {
  1007. angle: 0,
  1008. Hz: 41.0,
  1009. a: -0.17624,
  1010. b: 43.603334,
  1011. c: 73.67853890000015,
  1012. min: 125.1,
  1013. max: 199.4,
  1014. },
  1015. '42': {
  1016. angle: 0,
  1017. Hz: 42.0,
  1018. a: -0.17624,
  1019. b: 43.620958,
  1020. c: 71.4979315999999,
  1021. min: 128.2,
  1022. max: 202.8,
  1023. },
  1024. '43': {
  1025. angle: 0,
  1026. Hz: 43.0,
  1027. a: -0.17624,
  1028. b: 43.638582,
  1029. c: 69.31644309999956,
  1030. min: 130.3,
  1031. max: 205.8,
  1032. },
  1033. '44': {
  1034. angle: 0,
  1035. Hz: 44.0,
  1036. a: -0.17624,
  1037. b: 43.656206000000005,
  1038. c: 67.13407339999958,
  1039. min: 132.4,
  1040. max: 208.5,
  1041. },
  1042. '45': {
  1043. angle: 0,
  1044. Hz: 45.0,
  1045. a: -0.17624,
  1046. b: 43.67383,
  1047. c: 64.9508224999995,
  1048. min: 134.5,
  1049. max: 211.8,
  1050. },
  1051. '46': {
  1052. angle: 0,
  1053. Hz: 46.0,
  1054. a: -0.17624,
  1055. b: 43.691454,
  1056. c: 62.76669039999979,
  1057. min: 136.6,
  1058. max: 214.4,
  1059. },
  1060. '47': {
  1061. angle: 0,
  1062. Hz: 47.0,
  1063. a: -0.17624,
  1064. b: 43.709078,
  1065. c: 60.58167709999998,
  1066. min: 138.7,
  1067. max: 217.8,
  1068. },
  1069. '48': {
  1070. angle: 0,
  1071. Hz: 48.0,
  1072. a: -0.17624,
  1073. b: 43.726702,
  1074. c: 58.39578259999962,
  1075. min: 140.8,
  1076. max: 219.2,
  1077. },
  1078. '49': {
  1079. angle: 0,
  1080. Hz: 49.0,
  1081. a: -0.17624,
  1082. b: 43.744326,
  1083. c: 56.20900689999962,
  1084. min: 143.9,
  1085. max: 221.6,
  1086. },
  1087. '50': {
  1088. angle: 0,
  1089. Hz: 50.0,
  1090. a: -0.17624,
  1091. b: 43.76195,
  1092. c: 54.021349999999984,
  1093. min: 146.0,
  1094. max: 223.0,
  1095. },
  1096. };
  1097. const num = 21;
  1098. const a = -0.17624; //-0.17624,
  1099. const m = 2770.6411125432646,
  1100. n = -124.15442010894235;
  1101. let i = 21;
  1102. const data = [];
  1103. for (const key in assistanceData) {
  1104. i -= 1;
  1105. const p = i;
  1106. const item = assistanceData[key];
  1107. item['b'] = 2 * a * (n + p);
  1108. item['c'] = a * (n + p) * (n + p) + m - i * 50;
  1109. // if (sysOrgCode == 'sdmtjtdltmk') {
  1110. // // 大柳塔井整体向右下移动
  1111. // item['min'] = item['min'] + 20;
  1112. // item['max'] = item['max'] + 20;
  1113. // item['b'] = 2 * a * (n + p) + 3;
  1114. // item['c'] = a * (n + p) * (n + p) + m - i * 60;
  1115. // } else {
  1116. // item['b'] = 2 * a * (n + p);
  1117. // item['c'] = a * (n + p) * (n + p) + m - i * 50;
  1118. // // //白家渠
  1119. // // a = -0.13424;
  1120. // // item['a'] = Math.round((a + 0.002 * (num - i)) * 10000) / 10000;
  1121. // // item['min'] = item['min'] + 50 + (num - i) * 2;
  1122. // // item['max'] = item['max'] + 65 + (num - i) * 3.5;
  1123. // // item['b'] = 2 * item['a'] * (n + p) + 8.8;
  1124. // // item['c'] = item['a'] * (n + p) * (n + p) + m - i * 60;
  1125. // // //武当沟
  1126. // // a = -0.17724;
  1127. // // item['a'] = Math.round((a - 0.002 * (num - i)) * 10000) / 10000;
  1128. // // item['min'] = item['min'] - 40 - (num - i) * 1;
  1129. // // item['max'] = item['max'] - 60 - (num - i) * 0.5;
  1130. // // item['b'] = 2 * item['a'] * (n + p) - 16.5;
  1131. // // item['c'] = item['a'] * (n + p) * (n + p) + m - i * 40;
  1132. // }
  1133. data.push(item);
  1134. }
  1135. console.log(data);
  1136. return data;
  1137. };
  1138. // 大柳塔武当沟
  1139. export const initData = (deviceType?) => {
  1140. const { sysOrgCode } = useGlobSetting();
  1141. // const sysOrgCode = 'sdmtjtwlmlmk';
  1142. if (sysOrgCode == 'sdmtjtdltmk') {
  1143. return initDataDlt(deviceType);
  1144. } else if (sysOrgCode == 'sdmtjtswmk') {
  1145. return initDataSw(deviceType);
  1146. } else if (sysOrgCode == 'sdmtjtbltmk') {
  1147. return initDataBlt();
  1148. } else if (sysOrgCode == 'sdmtjtbdmk') {
  1149. return initDataBd(deviceType);
  1150. } else if (sysOrgCode == 'sdmtjtjjmk') {
  1151. return initDataJj();
  1152. } else if (sysOrgCode == 'sdmtjtdltmkhjtj') {
  1153. return initDataHjt();
  1154. } else if (sysOrgCode == 'sdmtjtsgtmk') {
  1155. return initDataSgt();
  1156. } else if (sysOrgCode == 'sdmtjtyjlmk') {
  1157. return initDataJj();
  1158. } else if (sysOrgCode == 'sdmtjtcctrk') {
  1159. return initDataCctr();
  1160. } else if (sysOrgCode == 'sdmtjtwlmlmk') {
  1161. return initDataWlml();
  1162. } else {
  1163. return initData1();
  1164. }
  1165. };
  1166. // 乌兰木伦
  1167. const initDataWlml = () => {
  1168. const data: any[] = [];
  1169. data.push({
  1170. angle: -3,
  1171. Hz: -3,
  1172. a: -15.607,
  1173. b: 6242.3,
  1174. c: -621571,
  1175. min: 204,
  1176. max: 212,
  1177. });
  1178. data.push({
  1179. angle: -2,
  1180. Hz: -2,
  1181. a: -8.3134,
  1182. b: 3178.9,
  1183. c: -300224,
  1184. min: 204,
  1185. max: 211,
  1186. });
  1187. data.push({
  1188. angle: 0,
  1189. Hz: 0,
  1190. a: -8.9632,
  1191. b: 3751.3,
  1192. c: -389068,
  1193. min: 216,
  1194. max: 227.2,
  1195. });
  1196. data.push({
  1197. angle: 1,
  1198. Hz: 1,
  1199. a: -12.77,
  1200. b: 5415.9,
  1201. c: -571193,
  1202. min: 216,
  1203. max: 226.8,
  1204. });
  1205. data.push({
  1206. angle: 2,
  1207. Hz: 2,
  1208. a: -12.432,
  1209. b: 5635.5,
  1210. c: -635361,
  1211. min: 234.5,
  1212. max: 242.4,
  1213. });
  1214. data.push({
  1215. angle: 3,
  1216. Hz: 3,
  1217. a: -2.9424,
  1218. b: 1147.7,
  1219. c: -104620,
  1220. min: 234.5,
  1221. max: 243.5,
  1222. });
  1223. return data;
  1224. };
  1225. // 石圪台
  1226. const initDataCctr = () => {
  1227. const data: any[] = [];
  1228. data.push({
  1229. angle: 0,
  1230. Hz: 0,
  1231. a: -0.0221,
  1232. b: -1.2494,
  1233. c: 552.28,
  1234. min: 52,
  1235. max: 125,
  1236. });
  1237. data.push({
  1238. angle: 3,
  1239. Hz: 3,
  1240. a: -0.0232,
  1241. b: -0.8204,
  1242. c: 603.39,
  1243. min: 50,
  1244. max: 139,
  1245. });
  1246. data.push({
  1247. angle: 6,
  1248. Hz: 6,
  1249. a: -0.0417,
  1250. b: 3.1004,
  1251. c: 498.9,
  1252. min: 45,
  1253. max: 150,
  1254. });
  1255. return data;
  1256. };
  1257. // 石圪台
  1258. const initDataSgt = () => {
  1259. const data: any[] = [];
  1260. data.push({
  1261. angle: -6,
  1262. Hz: -6,
  1263. a: -0.0438,
  1264. b: 14.5078,
  1265. c: 986.6,
  1266. min: 130,
  1267. max: 370,
  1268. });
  1269. data.push({
  1270. angle: -3,
  1271. Hz: -3,
  1272. a: -0.035,
  1273. b: 11.7875,
  1274. c: 1226.8,
  1275. min: 140,
  1276. max: 400,
  1277. });
  1278. data.push({
  1279. angle: 0,
  1280. Hz: 0,
  1281. a: -0.0354,
  1282. b: 13.6986,
  1283. c: 1078.6,
  1284. min: 150,
  1285. max: 430,
  1286. });
  1287. data.push({
  1288. angle: 3,
  1289. Hz: 3,
  1290. a: -0.0444,
  1291. b: 19.5673,
  1292. c: 504,
  1293. min: 170,
  1294. max: 445,
  1295. });
  1296. data.push({
  1297. angle: 6,
  1298. Hz: 6,
  1299. a: -0.0507,
  1300. b: 24.3336,
  1301. c: -70,
  1302. min: 190,
  1303. max: 460,
  1304. });
  1305. return data;
  1306. };
  1307. // 大柳塔白家渠
  1308. const initDataDlt = (deviceType?) => {
  1309. if (deviceType == 'fanmain_bjq') {
  1310. const num = 2;
  1311. const obj = {
  1312. angle: 0,
  1313. Hz: -0,
  1314. a: -0.0656,
  1315. b: 17.398283350755946,
  1316. c: 3241.38254718147,
  1317. min: 300,
  1318. max: 1100.0,
  1319. };
  1320. const a = -0.0656,
  1321. m = 17.398283350755946,
  1322. n = 3241.38254718147;
  1323. const maxList = [339.4, 359.4, 379.4, 399.4, 419.4];
  1324. const minList = [143, 152, 161, 170, 180];
  1325. const data = [];
  1326. for (let i = -2; i <= num; i++) {
  1327. const item = cloneDeep(obj);
  1328. item['Hz'] = 0 + i * 3;
  1329. item['c'] = n + 5 * i;
  1330. item['b'] = m + i * 2;
  1331. item['max'] = maxList[i + 2];
  1332. item['min'] = minList[i + 2];
  1333. data.push(item);
  1334. }
  1335. return data;
  1336. } else if (deviceType == 'fanmain_wdg') {
  1337. // 武当沟
  1338. const num = 2;
  1339. const obj = {
  1340. angle: 0,
  1341. Hz: -0,
  1342. a: -0.1424,
  1343. b: 26.316238660115914,
  1344. c: -370.62808803303426,
  1345. min: 300,
  1346. max: 1100.0,
  1347. };
  1348. const a = -0.1424,
  1349. m = 26.086238660115914,
  1350. n = -370.62808803303426;
  1351. const maxList = [138, 148, 158, 168, 178];
  1352. const minList = [90, 95, 100, 105, 110];
  1353. const data = [];
  1354. for (let i = -2; i <= num; i++) {
  1355. const item = cloneDeep(obj);
  1356. item['Hz'] = 0 + i * 3;
  1357. item['c'] = n + 1 * i;
  1358. item['b'] = m + i * 1.3;
  1359. item['max'] = maxList[i + 2];
  1360. item['min'] = minList[i + 2];
  1361. data.push(item);
  1362. }
  1363. return data;
  1364. }
  1365. };
  1366. const initDataSw = (deviceType?) => {
  1367. if (deviceType == 'fanmain_bfj') {
  1368. // 北风井
  1369. const num = 2;
  1370. const obj = {
  1371. angle: 0,
  1372. Hz: 0,
  1373. a: -0.2486,
  1374. b: 14.998999006593294,
  1375. c: 3672.488224167444,
  1376. min: 300,
  1377. max: 1100.0,
  1378. };
  1379. const a = -0.2486,
  1380. m = 14.998999006593294,
  1381. n = 3672.488224167444;
  1382. const maxList = [115.67, 130.67, 146.67, 165.67, 185.67];
  1383. const minList = [50, 60, 70, 85, 100];
  1384. const data = [];
  1385. for (let i = -2; i <= num; i++) {
  1386. const item = cloneDeep(obj);
  1387. item['Hz'] = 0 + i * 3;
  1388. item['c'] = n + 5 * i;
  1389. item['b'] = m + i * 8;
  1390. item['max'] = maxList[i + 2];
  1391. item['min'] = minList[i + 2];
  1392. data.push(item);
  1393. }
  1394. return data;
  1395. } else if (deviceType == 'fanmain_nfj') {
  1396. // 南风井
  1397. const num = 2;
  1398. const obj = {
  1399. angle: 0,
  1400. Hz: -0,
  1401. a: -0.0445,
  1402. b: 15.46559392987956,
  1403. c: 2607.959183673496,
  1404. min: 300,
  1405. max: 1100.0,
  1406. };
  1407. const a = -0.0455,
  1408. m = 15.46559392987956,
  1409. n = 2607.959183673496;
  1410. const maxList = [315, 345, 375, 410, 450, 500];
  1411. const minList = [90, 105, 120, 145, 170, 185];
  1412. const data = [];
  1413. for (let i = -3; i <= num; i++) {
  1414. const item = cloneDeep(obj);
  1415. item['Hz'] = 0 + i * 3;
  1416. item['a'] = Math.round((a - 0.003 * (num - i)) * 10000) / 10000;
  1417. item['c'] = n + 10 * i;
  1418. item['b'] = m + i * 1.2;
  1419. item['max'] = maxList[i + 3];
  1420. item['min'] = minList[i + 3];
  1421. data.push(item);
  1422. }
  1423. return data;
  1424. }
  1425. };
  1426. const initDataHjt = () => {
  1427. const data: any[] = [];
  1428. data.push({
  1429. angle: -10,
  1430. Hz: -10,
  1431. a: -0.0357,
  1432. b: 13.657,
  1433. c: 515.38,
  1434. min: 170,
  1435. max: 400,
  1436. });
  1437. data.push({
  1438. angle: -7,
  1439. Hz: -7,
  1440. a: -0.0371,
  1441. b: 15.478,
  1442. c: 452.43,
  1443. min: 170,
  1444. max: 400,
  1445. });
  1446. data.push({
  1447. angle: -5,
  1448. Hz: -5,
  1449. a: -0.0357,
  1450. b: 13.657,
  1451. c: 515.38,
  1452. min: 170,
  1453. max: 400,
  1454. });
  1455. data.push({
  1456. angle: -4,
  1457. Hz: -4,
  1458. a: -0.0361,
  1459. b: 16.706,
  1460. c: 228.85,
  1461. min: 170,
  1462. max: 400,
  1463. });
  1464. data.push({
  1465. angle: -2,
  1466. Hz: -2,
  1467. a: -0.0357,
  1468. b: 15.478,
  1469. c: 452.43,
  1470. min: 170,
  1471. max: 400,
  1472. });
  1473. data.push({
  1474. angle: 1,
  1475. Hz: 1,
  1476. a: -0.0361,
  1477. b: 16.706,
  1478. c: 228.85,
  1479. min: 170,
  1480. max: 400,
  1481. });
  1482. return data;
  1483. };
  1484. const initDataBd = (deviceType?) => {
  1485. if (deviceType == 'fanmain_ljy') {
  1486. // 刘家宴
  1487. const num = 2;
  1488. const obj = {
  1489. angle: 0,
  1490. Hz: 0,
  1491. a: -0.02674,
  1492. b: 10.070078367532346,
  1493. c: 3048.210229423783,
  1494. min: 300,
  1495. max: 1100.0,
  1496. };
  1497. const a = -0.02774,
  1498. m = 10.090078367532346,
  1499. n = 3988.210229423783;
  1500. const maxList = [370, 410, 450, 500, 560, 624];
  1501. const minList = [70, 80, 100, 130, 160, 210];
  1502. const data = [];
  1503. let index = 0;
  1504. for (let i = -3; i <= num; i++) {
  1505. ++index;
  1506. const item = cloneDeep(obj);
  1507. item['a'] = Math.round((a - 0.002 * (6 - index)) * 10000) / 10000;
  1508. item['Hz'] = 0 + i * 3;
  1509. item['c'] = n + 10 * i;
  1510. item['b'] = m + i * 1.3;
  1511. item['max'] = maxList[i + 3];
  1512. item['min'] = minList[i + 3];
  1513. data.push(item);
  1514. }
  1515. return data;
  1516. } else if (deviceType == 'fanmain_zl') {
  1517. // 枣庄
  1518. const num = 2;
  1519. const obj = {
  1520. angle: 0,
  1521. Hz: 0,
  1522. a: -0.02674,
  1523. b: 10.070078367532346,
  1524. c: 3048.210229423783,
  1525. min: 300,
  1526. max: 1100.0,
  1527. };
  1528. const a = -0.05874,
  1529. m = 17.090078367532346,
  1530. n = 3588.210229423783;
  1531. const maxList = [315, 344, 379, 415, 454];
  1532. const minList = [160, 170, 180, 190, 200, 210];
  1533. const data = [];
  1534. let index = 0;
  1535. for (let i = -2; i <= num; i++) {
  1536. ++index;
  1537. const item = cloneDeep(obj);
  1538. item['a'] = Math.round((a - 0.003 * (6 - index)) * 10000) / 10000;
  1539. item['Hz'] = 0 + i * 3;
  1540. item['c'] = n + 6 * i;
  1541. item['b'] = m + i * 1.9;
  1542. item['max'] = maxList[i + 2];
  1543. item['min'] = minList[i + 2];
  1544. data.push(item);
  1545. }
  1546. return data;
  1547. }
  1548. };
  1549. const initDataBlt = () => {
  1550. const num = 2;
  1551. const obj = {
  1552. angle: 0,
  1553. Hz: 0,
  1554. a: -0.02674,
  1555. b: 10.070078367532346,
  1556. c: 3048.210229423783,
  1557. min: 300,
  1558. max: 1100.0,
  1559. };
  1560. const a = -0.02874,
  1561. m = 10.070078367532346,
  1562. n = 3048.210229423783;
  1563. const maxList = [370, 400, 440, 480, 525, 580];
  1564. const minList = [70, 80, 100, 130, 160, 210];
  1565. const data = [];
  1566. let index = 0;
  1567. for (let i = -3; i <= num; i++) {
  1568. ++index;
  1569. const item = cloneDeep(obj);
  1570. item['a'] = Math.round((a - 0.002 * (6 - index)) * 10000) / 10000;
  1571. item['Hz'] = 0 + i * 3;
  1572. item['c'] = n + 10 * i;
  1573. item['b'] = m + i * 1;
  1574. item['max'] = maxList[i + 3];
  1575. item['min'] = minList[i + 3];
  1576. data.push(item);
  1577. }
  1578. return data;
  1579. };
  1580. const initDataJj = () => {
  1581. const num = 2;
  1582. const obj = {
  1583. angle: 0,
  1584. Hz: 0,
  1585. a: -0.02674,
  1586. b: 10.070078367532346,
  1587. c: 3048.210229423783,
  1588. min: 300,
  1589. max: 1100.0,
  1590. };
  1591. const a = -0.09874,
  1592. m = 21.090078367532346,
  1593. n = 3588.210229423783;
  1594. const maxList = [239, 264, 292, 322, 354];
  1595. const minList = [60, 70, 80, 90, 100, 110];
  1596. const data = [];
  1597. let index = 0;
  1598. for (let i = -2; i <= num; i++) {
  1599. ++index;
  1600. const item = cloneDeep(obj);
  1601. item['a'] = Math.round((a - 0.003 * (6 - index)) * 10000) / 10000;
  1602. item['Hz'] = 0 + i * 3;
  1603. item['c'] = n + 10 * i;
  1604. item['b'] = m + i * 3;
  1605. item['max'] = maxList[i + 2];
  1606. item['min'] = minList[i + 2];
  1607. data.push(item);
  1608. }
  1609. return data;
  1610. };
  1611. export const fanInfoData = reactive({
  1612. fj: '一号回风井',
  1613. xh: 'FBCDZ No.29',
  1614. gl: '2×500',
  1615. edgl: '740',
  1616. eddy: '10000',
  1617. eddl: '38.4',
  1618. flfw: '110~260',
  1619. fyfw: '200~4100',
  1620. fbdj: 'ExdI',
  1621. ccrq: '2010.07',
  1622. sccj: '南阳防爆',
  1623. tjfs: '变频调节',
  1624. plfw: '30~50',
  1625. });
  1626. export const fanInfo = [
  1627. {
  1628. title: '风井',
  1629. code: 'windWell_mainFanInfo',
  1630. value: '一号回风井',
  1631. },
  1632. {
  1633. title: '型号',
  1634. code: 'modelType_mainFanInfo',
  1635. value: 'FBCDZ No.29',
  1636. },
  1637. {
  1638. title: '功率(kW)',
  1639. code: 'powerRating_mainFanInfo',
  1640. value: '2×500',
  1641. },
  1642. {
  1643. title: '额定转速(r/min)',
  1644. code: 'ratedSpeed_mainFanInfo',
  1645. value: '740',
  1646. },
  1647. {
  1648. title: '额定电压(V)',
  1649. code: 'ratedVoltage_mainFanInfo',
  1650. value: '10000',
  1651. },
  1652. {
  1653. title: '额定电流(A)',
  1654. code: 'ratedCurrent_mainFanInfo',
  1655. value: '38.4',
  1656. },
  1657. {
  1658. title: '风量范围(m³/s)',
  1659. code: 'airflowRange_mainFanInfo',
  1660. value: '110~260',
  1661. },
  1662. {
  1663. title: '风压范围(Pa)',
  1664. code: 'pressureRange_mainFanInfo',
  1665. value: '200~4100',
  1666. },
  1667. {
  1668. title: '防爆等级',
  1669. code: 'explosionProofRating_mainFanInfo',
  1670. value: 'ExdI',
  1671. },
  1672. {
  1673. title: '出厂日期',
  1674. code: 'manufactureDate_mainFanInfo',
  1675. value: '2010.07',
  1676. },
  1677. {
  1678. title: '生产厂家',
  1679. code: 'manufacturer_mainFanInfo',
  1680. value: '南阳防爆',
  1681. },
  1682. {
  1683. title: '调节方式',
  1684. code: 'adjustmentMethod_mainFanInfo',
  1685. value: '变频调节',
  1686. },
  1687. {
  1688. title: '频率可调范围(Hz)',
  1689. code: 'angleAdjustableRange_mainFanInfo',
  1690. value: '30~50',
  1691. },
  1692. ];
  1693. export const getSchamas = (): FormSchema[] => {
  1694. return [
  1695. {
  1696. field: 'fj',
  1697. component: 'Input',
  1698. label: '风井',
  1699. colProps: {
  1700. span: 6,
  1701. },
  1702. },
  1703. {
  1704. field: 'xh',
  1705. component: 'Input',
  1706. label: '型号',
  1707. colProps: {
  1708. span: 6,
  1709. },
  1710. },
  1711. {
  1712. field: 'gl',
  1713. component: 'Input',
  1714. label: '功率(kW)',
  1715. colProps: {
  1716. span: 6,
  1717. },
  1718. },
  1719. {
  1720. field: 'edgl',
  1721. component: 'Input',
  1722. label: '额定转速(r/min)',
  1723. colProps: {
  1724. span: 6,
  1725. },
  1726. },
  1727. {
  1728. field: 'eddy',
  1729. component: 'Input',
  1730. label: '额定电压(V)',
  1731. colProps: {
  1732. span: 6,
  1733. },
  1734. },
  1735. {
  1736. field: 'eddl',
  1737. component: 'Input',
  1738. label: '额定电流(A)',
  1739. colProps: {
  1740. span: 6,
  1741. },
  1742. },
  1743. {
  1744. field: 'flfw',
  1745. component: 'Input',
  1746. label: '风量范围(m³/s)',
  1747. colProps: {
  1748. span: 6,
  1749. },
  1750. },
  1751. {
  1752. field: 'fyfw',
  1753. component: 'Input',
  1754. label: '风压范围(Pa)',
  1755. colProps: {
  1756. span: 6,
  1757. },
  1758. },
  1759. {
  1760. field: 'fbdj',
  1761. component: 'Select',
  1762. label: '防爆等级',
  1763. colProps: {
  1764. span: 6,
  1765. },
  1766. componentProps: {
  1767. options: [
  1768. {
  1769. label: 'ExdI',
  1770. value: 'ExdI',
  1771. key: '1',
  1772. },
  1773. ],
  1774. },
  1775. },
  1776. {
  1777. field: 'ccrq',
  1778. component: 'Input',
  1779. label: '出厂日期',
  1780. colProps: {
  1781. span: 6,
  1782. },
  1783. },
  1784. {
  1785. field: 'sccj',
  1786. component: 'Input',
  1787. label: '生产厂家',
  1788. colProps: {
  1789. span: 6,
  1790. },
  1791. },
  1792. {
  1793. field: 'tjfs',
  1794. component: 'Select',
  1795. label: '调节方式',
  1796. colProps: {
  1797. span: 6,
  1798. },
  1799. componentProps: {
  1800. options: [
  1801. {
  1802. label: '变频调节',
  1803. value: '变频调节',
  1804. key: '1',
  1805. },
  1806. ],
  1807. },
  1808. },
  1809. {
  1810. field: 'plfw',
  1811. component: 'Input',
  1812. label: '频率可调范围(Hz)',
  1813. colProps: {
  1814. span: 6,
  1815. },
  1816. },
  1817. ];
  1818. };
  1819. export const getSchamas1 = (): FormSchema[] => {
  1820. return [
  1821. {
  1822. field: 'Hz',
  1823. component: 'InputNumber',
  1824. label: '频率(Hz)',
  1825. required: true,
  1826. colProps: {
  1827. span: 6,
  1828. },
  1829. },
  1830. {
  1831. field: 'a',
  1832. component: 'InputNumber',
  1833. label: '二次项系数',
  1834. required: true,
  1835. colProps: {
  1836. span: 6,
  1837. },
  1838. },
  1839. {
  1840. field: 'b',
  1841. component: 'InputNumber',
  1842. label: '一次项系数',
  1843. required: true,
  1844. colProps: {
  1845. span: 6,
  1846. },
  1847. },
  1848. {
  1849. field: 'c',
  1850. component: 'InputNumber',
  1851. label: '常数项系数',
  1852. required: true,
  1853. colProps: {
  1854. span: 6,
  1855. },
  1856. },
  1857. {
  1858. field: 'min',
  1859. component: 'InputNumber',
  1860. label: '风量下限(m³/s)',
  1861. required: true,
  1862. colProps: {
  1863. span: 6,
  1864. },
  1865. },
  1866. {
  1867. field: 'max',
  1868. component: 'InputNumber',
  1869. label: '风量上限(m³/s)',
  1870. required: true,
  1871. colProps: {
  1872. span: 6,
  1873. },
  1874. },
  1875. ];
  1876. };
  1877. export const lineFormData = reactive({
  1878. Hz: null,
  1879. a: null,
  1880. b: null,
  1881. c: null,
  1882. min: null,
  1883. max: null,
  1884. });