main.data.ts 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022
  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 = 'sdtljtdhzmk';
  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 == 'sdmtjthlgmk') {
  827. yMax = 3000;
  828. } else if (sysOrgCode == 'sdmtjtdltmkhjtj') {
  829. yMax = 3000;
  830. } else if (sysOrgCode == 'sdmtjtcctrk') {
  831. yMax = 600;
  832. } else if (sysOrgCode == 'sdmtjtwlmlmk') {
  833. yMax = 4000;
  834. } else if (sysOrgCode == 'sdmtjtltmk') {
  835. yMax = 4000;
  836. } else if (sysOrgCode == 'sdtljtdhzmk') {
  837. yMax = 5000;
  838. } else {
  839. yMax = 4500;
  840. }
  841. return reactive<EChartsOption>({
  842. title: {
  843. text: '风机运行工况辅助曲线图',
  844. textStyle: {
  845. color: '#BF954D',
  846. },
  847. left: 'center',
  848. top: 0,
  849. },
  850. // backgroundColor: '#39deff',
  851. tooltip: {
  852. trigger: 'axis',
  853. axisPointer: {
  854. type: 'cross',
  855. label: {
  856. backgroundColor: '#6a7985',
  857. },
  858. },
  859. },
  860. toolbox: {
  861. show: true,
  862. },
  863. grid: {
  864. left: 8,
  865. right: 50,
  866. bottom: 0,
  867. containLabel: true,
  868. },
  869. xAxis: {
  870. type: 'category',
  871. name: 'm³/s',
  872. nameTextStyle: {
  873. fontWeight: 600,
  874. fontSize: 13,
  875. },
  876. splitLine: { show: true, lineStyle: { color: 'rgba(21,80,126,.5)' } },
  877. axisLabel: {
  878. margin: 20,
  879. fontSize: 14,
  880. color: '#f1f1f199',
  881. },
  882. boundaryGap: false,
  883. data: [],
  884. },
  885. yAxis: {
  886. type: 'value',
  887. axisLine: {
  888. show: true,
  889. lineStyle: {
  890. color: '#006c9d',
  891. },
  892. },
  893. splitLine: { show: true, lineStyle: { color: 'rgba(21,80,126,.5)' } },
  894. axisLabel: {
  895. show: true,
  896. fontSize: 14,
  897. formatter: '{value}',
  898. color: '#0071A5',
  899. },
  900. min: 0,
  901. max: yMax, //武当沟
  902. name: 'Pa',
  903. nameTextStyle: {
  904. fontWeight: 600,
  905. fontSize: 13,
  906. },
  907. },
  908. series: [],
  909. });
  910. };
  911. export const initData1 = () => {
  912. const assistanceData = {
  913. '30': {
  914. angle: 0,
  915. Hz: 30.0, //频率
  916. a: -0.17624, //二次项系数
  917. b: 43.40947, //一次项系数
  918. c: 97.60705999999982, //常数项系数
  919. min: 93.0, //风量下限
  920. max: 171.0, //风量上限
  921. },
  922. '31': {
  923. angle: 0,
  924. Hz: 31.0,
  925. a: -0.17624,
  926. b: 43.427094,
  927. c: 95.43614590000016,
  928. min: 96.1,
  929. max: 174.4,
  930. },
  931. '32': {
  932. angle: 0,
  933. Hz: 32.0,
  934. a: -0.17624,
  935. b: 43.444718,
  936. c: 93.26435059999994,
  937. min: 99.2,
  938. max: 177.8,
  939. },
  940. '33': {
  941. angle: 0,
  942. Hz: 33.0,
  943. a: -0.17624,
  944. b: 43.462342,
  945. c: 91.09167409999964,
  946. min: 102.3,
  947. max: 180.2,
  948. },
  949. '34': {
  950. angle: 0,
  951. Hz: 34.0,
  952. a: -0.17624,
  953. b: 43.479966000000005,
  954. c: 88.91811639999969,
  955. min: 105.4,
  956. max: 182.0,
  957. },
  958. '35': {
  959. angle: 0,
  960. Hz: 35.0,
  961. a: -0.17624,
  962. b: 43.49759,
  963. c: 86.74367749999965,
  964. min: 108.5,
  965. max: 184.5,
  966. },
  967. '36': {
  968. angle: 0,
  969. Hz: 36.0,
  970. a: -0.17624,
  971. b: 43.515214,
  972. c: 84.56835739999997,
  973. min: 111.6,
  974. max: 187.0,
  975. },
  976. '37': {
  977. angle: 0,
  978. Hz: 37.0,
  979. a: -0.17624,
  980. b: 43.532838,
  981. c: 82.3921561000002,
  982. min: 114.7,
  983. max: 190.8,
  984. },
  985. '38': {
  986. angle: 0,
  987. Hz: 38.0,
  988. a: -0.17624,
  989. b: 43.550462,
  990. c: 80.21507359999941,
  991. min: 117.8,
  992. max: 193.0,
  993. },
  994. '39': {
  995. angle: 0,
  996. Hz: 39.0,
  997. a: -0.17624,
  998. b: 43.568086,
  999. c: 78.0371098999999,
  1000. min: 120.9,
  1001. max: 195.6,
  1002. },
  1003. '40': {
  1004. angle: 0,
  1005. Hz: 40.0,
  1006. a: -0.17624,
  1007. b: 43.58571,
  1008. c: 75.85826499999985,
  1009. min: 123.0,
  1010. max: 197.0,
  1011. },
  1012. '41': {
  1013. angle: 0,
  1014. Hz: 41.0,
  1015. a: -0.17624,
  1016. b: 43.603334,
  1017. c: 73.67853890000015,
  1018. min: 125.1,
  1019. max: 199.4,
  1020. },
  1021. '42': {
  1022. angle: 0,
  1023. Hz: 42.0,
  1024. a: -0.17624,
  1025. b: 43.620958,
  1026. c: 71.4979315999999,
  1027. min: 128.2,
  1028. max: 202.8,
  1029. },
  1030. '43': {
  1031. angle: 0,
  1032. Hz: 43.0,
  1033. a: -0.17624,
  1034. b: 43.638582,
  1035. c: 69.31644309999956,
  1036. min: 130.3,
  1037. max: 205.8,
  1038. },
  1039. '44': {
  1040. angle: 0,
  1041. Hz: 44.0,
  1042. a: -0.17624,
  1043. b: 43.656206000000005,
  1044. c: 67.13407339999958,
  1045. min: 132.4,
  1046. max: 208.5,
  1047. },
  1048. '45': {
  1049. angle: 0,
  1050. Hz: 45.0,
  1051. a: -0.17624,
  1052. b: 43.67383,
  1053. c: 64.9508224999995,
  1054. min: 134.5,
  1055. max: 211.8,
  1056. },
  1057. '46': {
  1058. angle: 0,
  1059. Hz: 46.0,
  1060. a: -0.17624,
  1061. b: 43.691454,
  1062. c: 62.76669039999979,
  1063. min: 136.6,
  1064. max: 214.4,
  1065. },
  1066. '47': {
  1067. angle: 0,
  1068. Hz: 47.0,
  1069. a: -0.17624,
  1070. b: 43.709078,
  1071. c: 60.58167709999998,
  1072. min: 138.7,
  1073. max: 217.8,
  1074. },
  1075. '48': {
  1076. angle: 0,
  1077. Hz: 48.0,
  1078. a: -0.17624,
  1079. b: 43.726702,
  1080. c: 58.39578259999962,
  1081. min: 140.8,
  1082. max: 219.2,
  1083. },
  1084. '49': {
  1085. angle: 0,
  1086. Hz: 49.0,
  1087. a: -0.17624,
  1088. b: 43.744326,
  1089. c: 56.20900689999962,
  1090. min: 143.9,
  1091. max: 221.6,
  1092. },
  1093. '50': {
  1094. angle: 0,
  1095. Hz: 50.0,
  1096. a: -0.17624,
  1097. b: 43.76195,
  1098. c: 54.021349999999984,
  1099. min: 146.0,
  1100. max: 223.0,
  1101. },
  1102. };
  1103. const num = 21;
  1104. const a = -0.17624; //-0.17624,
  1105. const m = 2770.6411125432646,
  1106. n = -124.15442010894235;
  1107. let i = 21;
  1108. const data = [];
  1109. for (const key in assistanceData) {
  1110. i -= 1;
  1111. const p = i;
  1112. const item = assistanceData[key];
  1113. item['b'] = 2 * a * (n + p);
  1114. item['c'] = a * (n + p) * (n + p) + m - i * 50;
  1115. // if (sysOrgCode == 'sdmtjtdltmk') {
  1116. // // 大柳塔井整体向右下移动
  1117. // item['min'] = item['min'] + 20;
  1118. // item['max'] = item['max'] + 20;
  1119. // item['b'] = 2 * a * (n + p) + 3;
  1120. // item['c'] = a * (n + p) * (n + p) + m - i * 60;
  1121. // } else {
  1122. // item['b'] = 2 * a * (n + p);
  1123. // item['c'] = a * (n + p) * (n + p) + m - i * 50;
  1124. // // //白家渠
  1125. // // a = -0.13424;
  1126. // // item['a'] = Math.round((a + 0.002 * (num - i)) * 10000) / 10000;
  1127. // // item['min'] = item['min'] + 50 + (num - i) * 2;
  1128. // // item['max'] = item['max'] + 65 + (num - i) * 3.5;
  1129. // // item['b'] = 2 * item['a'] * (n + p) + 8.8;
  1130. // // item['c'] = item['a'] * (n + p) * (n + p) + m - i * 60;
  1131. // // //武当沟
  1132. // // a = -0.17724;
  1133. // // item['a'] = Math.round((a - 0.002 * (num - i)) * 10000) / 10000;
  1134. // // item['min'] = item['min'] - 40 - (num - i) * 1;
  1135. // // item['max'] = item['max'] - 60 - (num - i) * 0.5;
  1136. // // item['b'] = 2 * item['a'] * (n + p) - 16.5;
  1137. // // item['c'] = item['a'] * (n + p) * (n + p) + m - i * 40;
  1138. // }
  1139. data.push(item);
  1140. }
  1141. console.log(data);
  1142. return data;
  1143. };
  1144. // 大柳塔武当沟
  1145. export const initData = (deviceType?) => {
  1146. const { sysOrgCode } = useGlobSetting();
  1147. // const sysOrgCode = 'sdtljtdhzmk';
  1148. if (sysOrgCode == 'sdmtjtdltmk') {
  1149. return initDataDlt(deviceType);
  1150. } else if (sysOrgCode == 'sdmtjtswmk') {
  1151. return initDataSw(deviceType);
  1152. } else if (sysOrgCode == 'sdmtjtbltmk') {
  1153. return initDataBlt();
  1154. } else if (sysOrgCode == 'sdmtjtbdmk') {
  1155. return initDataBd(deviceType);
  1156. } else if (sysOrgCode == 'sdmtjtjjmk') {
  1157. return initDataJj();
  1158. } else if (sysOrgCode == 'sdmtjtdltmkhjtj') {
  1159. return initDataHjt();
  1160. } else if (sysOrgCode == 'sdmtjtsgtmk') {
  1161. return initDataSgt();
  1162. } else if (sysOrgCode == 'sdmtjthlgmk') {
  1163. return initDataSgt();
  1164. } else if (sysOrgCode == 'sdmtjtyjlmk') {
  1165. return initDataJj();
  1166. } else if (sysOrgCode == 'sdmtjtcctrk') {
  1167. return initDataCctr();
  1168. } else if (sysOrgCode == 'sdmtjtwlmlmk') {
  1169. return initDataWlml();
  1170. } else if (sysOrgCode == 'sdmtjtltmk') {
  1171. return initDataLt();
  1172. } else if (sysOrgCode == 'sdtljtdhzmk') {
  1173. return initDataDhz();
  1174. } else {
  1175. return initData1();
  1176. }
  1177. };
  1178. // 柳塔
  1179. const initDataLt = () => {
  1180. const data: any[] = [];
  1181. data.push({
  1182. angle: -6,
  1183. Hz: -6,
  1184. a: -0.1154,
  1185. b: 17.723,
  1186. c: 2433.2,
  1187. min: 155,
  1188. max: 210,
  1189. });
  1190. data.push({
  1191. angle: -3,
  1192. Hz: -3,
  1193. a: -0.2064,
  1194. b: 57.303,
  1195. c: -1156.1,
  1196. min: 155,
  1197. max: 230,
  1198. });
  1199. data.push({
  1200. angle: 3,
  1201. Hz: 3,
  1202. a: -0.1228,
  1203. b: 35.838,
  1204. c: 541.83,
  1205. min: 155,
  1206. max: 266,
  1207. });
  1208. return data;
  1209. };
  1210. // 乌兰木伦
  1211. const initDataWlml = () => {
  1212. const data: any[] = [];
  1213. data.push({
  1214. angle: -3,
  1215. Hz: -3,
  1216. a: -15.607,
  1217. b: 6242.3,
  1218. c: -621571,
  1219. min: 204,
  1220. max: 212,
  1221. });
  1222. data.push({
  1223. angle: -2,
  1224. Hz: -2,
  1225. a: -8.3134,
  1226. b: 3178.9,
  1227. c: -300224,
  1228. min: 204,
  1229. max: 211,
  1230. });
  1231. data.push({
  1232. angle: 0,
  1233. Hz: 0,
  1234. a: -8.9632,
  1235. b: 3751.3,
  1236. c: -389068,
  1237. min: 216,
  1238. max: 227.2,
  1239. });
  1240. data.push({
  1241. angle: 1,
  1242. Hz: 1,
  1243. a: -12.77,
  1244. b: 5415.9,
  1245. c: -571193,
  1246. min: 216,
  1247. max: 226.8,
  1248. });
  1249. data.push({
  1250. angle: 2,
  1251. Hz: 2,
  1252. a: -12.432,
  1253. b: 5635.5,
  1254. c: -635361,
  1255. min: 234.5,
  1256. max: 242.4,
  1257. });
  1258. data.push({
  1259. angle: 3,
  1260. Hz: 3,
  1261. a: -2.9424,
  1262. b: 1147.7,
  1263. c: -104620,
  1264. min: 234.5,
  1265. max: 243.5,
  1266. });
  1267. return data;
  1268. };
  1269. // 石圪台
  1270. const initDataCctr = () => {
  1271. const data: any[] = [];
  1272. data.push({
  1273. angle: 0,
  1274. Hz: 0,
  1275. a: -0.0221,
  1276. b: -1.2494,
  1277. c: 552.28,
  1278. min: 52,
  1279. max: 125,
  1280. });
  1281. data.push({
  1282. angle: 3,
  1283. Hz: 3,
  1284. a: -0.0232,
  1285. b: -0.8204,
  1286. c: 603.39,
  1287. min: 50,
  1288. max: 139,
  1289. });
  1290. data.push({
  1291. angle: 6,
  1292. Hz: 6,
  1293. a: -0.0417,
  1294. b: 3.1004,
  1295. c: 498.9,
  1296. min: 45,
  1297. max: 150,
  1298. });
  1299. return data;
  1300. };
  1301. // 石圪台
  1302. const initDataSgt = () => {
  1303. const data: any[] = [];
  1304. data.push({
  1305. angle: -6,
  1306. Hz: -6,
  1307. a: -0.0438,
  1308. b: 14.5078,
  1309. c: 986.6,
  1310. min: 130,
  1311. max: 370,
  1312. });
  1313. data.push({
  1314. angle: -3,
  1315. Hz: -3,
  1316. a: -0.035,
  1317. b: 11.7875,
  1318. c: 1226.8,
  1319. min: 140,
  1320. max: 400,
  1321. });
  1322. data.push({
  1323. angle: 0,
  1324. Hz: 0,
  1325. a: -0.0354,
  1326. b: 13.6986,
  1327. c: 1078.6,
  1328. min: 150,
  1329. max: 430,
  1330. });
  1331. data.push({
  1332. angle: 3,
  1333. Hz: 3,
  1334. a: -0.0444,
  1335. b: 19.5673,
  1336. c: 504,
  1337. min: 170,
  1338. max: 445,
  1339. });
  1340. data.push({
  1341. angle: 6,
  1342. Hz: 6,
  1343. a: -0.0507,
  1344. b: 24.3336,
  1345. c: -70,
  1346. min: 190,
  1347. max: 460,
  1348. });
  1349. return data;
  1350. };
  1351. // 大柳塔白家渠
  1352. const initDataDlt = (deviceType?) => {
  1353. if (deviceType == 'fanmain_bjq') {
  1354. const num = 2;
  1355. const obj = {
  1356. angle: 0,
  1357. Hz: -0,
  1358. a: -0.0656,
  1359. b: 17.398283350755946,
  1360. c: 3241.38254718147,
  1361. min: 300,
  1362. max: 1100.0,
  1363. };
  1364. const a = -0.0656,
  1365. m = 17.398283350755946,
  1366. n = 3241.38254718147;
  1367. const maxList = [339.4, 359.4, 379.4, 399.4, 419.4];
  1368. const minList = [143, 152, 161, 170, 180];
  1369. const data = [];
  1370. for (let i = -2; i <= num; i++) {
  1371. const item = cloneDeep(obj);
  1372. item['Hz'] = 0 + i * 3;
  1373. item['c'] = n + 5 * i;
  1374. item['b'] = m + i * 2;
  1375. item['max'] = maxList[i + 2];
  1376. item['min'] = minList[i + 2];
  1377. data.push(item);
  1378. }
  1379. return data;
  1380. } else if (deviceType == 'fanmain_wdg') {
  1381. // 武当沟
  1382. const num = 2;
  1383. const obj = {
  1384. angle: 0,
  1385. Hz: -0,
  1386. a: -0.1424,
  1387. b: 26.316238660115914,
  1388. c: -370.62808803303426,
  1389. min: 300,
  1390. max: 1100.0,
  1391. };
  1392. const a = -0.1424,
  1393. m = 26.086238660115914,
  1394. n = -370.62808803303426;
  1395. const maxList = [138, 148, 158, 168, 178];
  1396. const minList = [90, 95, 100, 105, 110];
  1397. const data = [];
  1398. for (let i = -2; i <= num; i++) {
  1399. const item = cloneDeep(obj);
  1400. item['Hz'] = 0 + i * 3;
  1401. item['c'] = n + 1 * i;
  1402. item['b'] = m + i * 1.3;
  1403. item['max'] = maxList[i + 2];
  1404. item['min'] = minList[i + 2];
  1405. data.push(item);
  1406. }
  1407. return data;
  1408. }
  1409. };
  1410. const initDataSw = (deviceType?) => {
  1411. if (deviceType == 'fanmain_bfj') {
  1412. // 北风井
  1413. const num = 2;
  1414. const obj = {
  1415. angle: 0,
  1416. Hz: 0,
  1417. a: -0.2486,
  1418. b: 14.998999006593294,
  1419. c: 3672.488224167444,
  1420. min: 300,
  1421. max: 1100.0,
  1422. };
  1423. const a = -0.2486,
  1424. m = 14.998999006593294,
  1425. n = 3672.488224167444;
  1426. const maxList = [115.67, 130.67, 146.67, 165.67, 185.67];
  1427. const minList = [50, 60, 70, 85, 100];
  1428. const data = [];
  1429. for (let i = -2; i <= num; i++) {
  1430. const item = cloneDeep(obj);
  1431. item['Hz'] = 0 + i * 3;
  1432. item['c'] = n + 5 * i;
  1433. item['b'] = m + i * 8;
  1434. item['max'] = maxList[i + 2];
  1435. item['min'] = minList[i + 2];
  1436. data.push(item);
  1437. }
  1438. return data;
  1439. } else if (deviceType == 'fanmain_nfj') {
  1440. // 南风井
  1441. const num = 2;
  1442. const obj = {
  1443. angle: 0,
  1444. Hz: -0,
  1445. a: -0.0445,
  1446. b: 15.46559392987956,
  1447. c: 2607.959183673496,
  1448. min: 300,
  1449. max: 1100.0,
  1450. };
  1451. const a = -0.0455,
  1452. m = 15.46559392987956,
  1453. n = 2607.959183673496;
  1454. const maxList = [315, 345, 375, 410, 450, 500];
  1455. const minList = [90, 105, 120, 145, 170, 185];
  1456. const data = [];
  1457. for (let i = -3; i <= num; i++) {
  1458. const item = cloneDeep(obj);
  1459. item['Hz'] = 0 + i * 3;
  1460. item['a'] = Math.round((a - 0.003 * (num - i)) * 10000) / 10000;
  1461. item['c'] = n + 10 * i;
  1462. item['b'] = m + i * 1.2;
  1463. item['max'] = maxList[i + 3];
  1464. item['min'] = minList[i + 3];
  1465. data.push(item);
  1466. }
  1467. return data;
  1468. }
  1469. };
  1470. const initDataHjt = () => {
  1471. const data: any[] = [];
  1472. data.push({
  1473. angle: -10,
  1474. Hz: -10,
  1475. a: -0.0357,
  1476. b: 13.657,
  1477. c: 515.38,
  1478. min: 170,
  1479. max: 400,
  1480. });
  1481. data.push({
  1482. angle: -7,
  1483. Hz: -7,
  1484. a: -0.0371,
  1485. b: 15.478,
  1486. c: 452.43,
  1487. min: 170,
  1488. max: 400,
  1489. });
  1490. data.push({
  1491. angle: -5,
  1492. Hz: -5,
  1493. a: -0.0357,
  1494. b: 13.657,
  1495. c: 515.38,
  1496. min: 170,
  1497. max: 400,
  1498. });
  1499. data.push({
  1500. angle: -4,
  1501. Hz: -4,
  1502. a: -0.0361,
  1503. b: 16.706,
  1504. c: 228.85,
  1505. min: 170,
  1506. max: 400,
  1507. });
  1508. data.push({
  1509. angle: -2,
  1510. Hz: -2,
  1511. a: -0.0357,
  1512. b: 15.478,
  1513. c: 452.43,
  1514. min: 170,
  1515. max: 400,
  1516. });
  1517. data.push({
  1518. angle: 1,
  1519. Hz: 1,
  1520. a: -0.0361,
  1521. b: 16.706,
  1522. c: 228.85,
  1523. min: 170,
  1524. max: 400,
  1525. });
  1526. return data;
  1527. };
  1528. const initDataBd = (deviceType?) => {
  1529. if (deviceType == 'fanmain_ljy') {
  1530. // 刘家宴
  1531. const num = 2;
  1532. const obj = {
  1533. angle: 0,
  1534. Hz: 0,
  1535. a: -0.02674,
  1536. b: 10.070078367532346,
  1537. c: 3048.210229423783,
  1538. min: 300,
  1539. max: 1100.0,
  1540. };
  1541. const a = -0.02774,
  1542. m = 10.090078367532346,
  1543. n = 3988.210229423783;
  1544. const maxList = [370, 410, 450, 500, 560, 624];
  1545. const minList = [70, 80, 100, 130, 160, 210];
  1546. const data = [];
  1547. let index = 0;
  1548. for (let i = -3; i <= num; i++) {
  1549. ++index;
  1550. const item = cloneDeep(obj);
  1551. item['a'] = Math.round((a - 0.002 * (6 - index)) * 10000) / 10000;
  1552. item['Hz'] = 0 + i * 3;
  1553. item['c'] = n + 10 * i;
  1554. item['b'] = m + i * 1.3;
  1555. item['max'] = maxList[i + 3];
  1556. item['min'] = minList[i + 3];
  1557. data.push(item);
  1558. }
  1559. return data;
  1560. } else if (deviceType == 'fanmain_zl') {
  1561. // 枣庄
  1562. const num = 2;
  1563. const obj = {
  1564. angle: 0,
  1565. Hz: 0,
  1566. a: -0.02674,
  1567. b: 10.070078367532346,
  1568. c: 3048.210229423783,
  1569. min: 300,
  1570. max: 1100.0,
  1571. };
  1572. const a = -0.05874,
  1573. m = 17.090078367532346,
  1574. n = 3588.210229423783;
  1575. const maxList = [315, 344, 379, 415, 454];
  1576. const minList = [160, 170, 180, 190, 200, 210];
  1577. const data = [];
  1578. let index = 0;
  1579. for (let i = -2; i <= num; i++) {
  1580. ++index;
  1581. const item = cloneDeep(obj);
  1582. item['a'] = Math.round((a - 0.003 * (6 - index)) * 10000) / 10000;
  1583. item['Hz'] = 0 + i * 3;
  1584. item['c'] = n + 6 * i;
  1585. item['b'] = m + i * 1.9;
  1586. item['max'] = maxList[i + 2];
  1587. item['min'] = minList[i + 2];
  1588. data.push(item);
  1589. }
  1590. return data;
  1591. }
  1592. };
  1593. const initDataBlt = () => {
  1594. const num = 2;
  1595. const obj = {
  1596. angle: 0,
  1597. Hz: 0,
  1598. a: -0.02674,
  1599. b: 10.070078367532346,
  1600. c: 3048.210229423783,
  1601. min: 300,
  1602. max: 1100.0,
  1603. };
  1604. const a = -0.02874,
  1605. m = 10.070078367532346,
  1606. n = 3048.210229423783;
  1607. const maxList = [370, 400, 440, 480, 525, 580];
  1608. const minList = [70, 80, 100, 130, 160, 210];
  1609. const data = [];
  1610. let index = 0;
  1611. for (let i = -3; i <= num; i++) {
  1612. ++index;
  1613. const item = cloneDeep(obj);
  1614. item['a'] = Math.round((a - 0.002 * (6 - index)) * 10000) / 10000;
  1615. item['Hz'] = 0 + i * 3;
  1616. item['c'] = n + 10 * i;
  1617. item['b'] = m + i * 1;
  1618. item['max'] = maxList[i + 3];
  1619. item['min'] = minList[i + 3];
  1620. data.push(item);
  1621. }
  1622. return data;
  1623. };
  1624. const initDataJj = () => {
  1625. const num = 2;
  1626. const obj = {
  1627. angle: 0,
  1628. Hz: 0,
  1629. a: -0.02674,
  1630. b: 10.070078367532346,
  1631. c: 3048.210229423783,
  1632. min: 300,
  1633. max: 1100.0,
  1634. };
  1635. const a = -0.09874,
  1636. m = 21.090078367532346,
  1637. n = 3588.210229423783;
  1638. const maxList = [239, 264, 292, 322, 354];
  1639. const minList = [60, 70, 80, 90, 100, 110];
  1640. const data = [];
  1641. let index = 0;
  1642. for (let i = -2; i <= num; i++) {
  1643. ++index;
  1644. const item = cloneDeep(obj);
  1645. item['a'] = Math.round((a - 0.003 * (6 - index)) * 10000) / 10000;
  1646. item['Hz'] = 0 + i * 3;
  1647. item['c'] = n + 10 * i;
  1648. item['b'] = m + i * 3;
  1649. item['max'] = maxList[i + 2];
  1650. item['min'] = minList[i + 2];
  1651. data.push(item);
  1652. }
  1653. return data;
  1654. };
  1655. const initDataDhz = () => {
  1656. const data: any[] = [];
  1657. data.push({
  1658. Hz: 30,
  1659. a: -0.1686,
  1660. b: 74.953,
  1661. c: -4655.7,
  1662. min: 203,
  1663. max: 360,
  1664. });
  1665. data.push({
  1666. Hz: 40,
  1667. a: -0.1568,
  1668. b: 58.594,
  1669. c: -1986.9,
  1670. min: 213,
  1671. max: 325,
  1672. });
  1673. data.push({
  1674. Hz: 50,
  1675. a: -0.1607,
  1676. b: 68.39,
  1677. c: -4642.5,
  1678. min: 210,
  1679. max: 330,
  1680. });
  1681. // data.push({
  1682. // Hz: 30,
  1683. // a: -0.1407,
  1684. // b: 62.142,
  1685. // c: -3297.7,
  1686. // min: 218,
  1687. // max: 370,
  1688. // });
  1689. // data.push({
  1690. // Hz: 40,
  1691. // a: -0.1551,
  1692. // b: 58.661,
  1693. // c: -1968.9,
  1694. // min: 238,
  1695. // max: 338,
  1696. // });
  1697. // data.push({
  1698. // Hz: 50,
  1699. // a: -0.1823,
  1700. // b: 81.988,
  1701. // c: -6525.7,
  1702. // min: 240,
  1703. // max: 338,
  1704. // });
  1705. return data;
  1706. };
  1707. export const fanInfoData = reactive({
  1708. fj: '一号回风井',
  1709. xh: 'FBCDZ No.29',
  1710. gl: '2×500',
  1711. edgl: '740',
  1712. eddy: '10000',
  1713. eddl: '38.4',
  1714. flfw: '110~260',
  1715. fyfw: '200~4100',
  1716. fbdj: 'ExdI',
  1717. ccrq: '2010.07',
  1718. sccj: '南阳防爆',
  1719. tjfs: '变频调节',
  1720. plfw: '30~50',
  1721. });
  1722. export const fanInfo = [
  1723. {
  1724. title: '风井',
  1725. code: 'windWell_mainFanInfo',
  1726. value: '一号回风井',
  1727. },
  1728. {
  1729. title: '型号',
  1730. code: 'modelType_mainFanInfo',
  1731. value: 'FBCDZ No.29',
  1732. },
  1733. {
  1734. title: '功率(kW)',
  1735. code: 'powerRating_mainFanInfo',
  1736. value: '2×500',
  1737. },
  1738. {
  1739. title: '额定转速(r/min)',
  1740. code: 'ratedSpeed_mainFanInfo',
  1741. value: '740',
  1742. },
  1743. {
  1744. title: '额定电压(V)',
  1745. code: 'ratedVoltage_mainFanInfo',
  1746. value: '10000',
  1747. },
  1748. {
  1749. title: '额定电流(A)',
  1750. code: 'ratedCurrent_mainFanInfo',
  1751. value: '38.4',
  1752. },
  1753. {
  1754. title: '风量范围(m³/s)',
  1755. code: 'airflowRange_mainFanInfo',
  1756. value: '110~260',
  1757. },
  1758. {
  1759. title: '风压范围(Pa)',
  1760. code: 'pressureRange_mainFanInfo',
  1761. value: '200~4100',
  1762. },
  1763. {
  1764. title: '防爆等级',
  1765. code: 'explosionProofRating_mainFanInfo',
  1766. value: 'ExdI',
  1767. },
  1768. {
  1769. title: '出厂日期',
  1770. code: 'manufactureDate_mainFanInfo',
  1771. value: '2010.07',
  1772. },
  1773. {
  1774. title: '生产厂家',
  1775. code: 'manufacturer_mainFanInfo',
  1776. value: '南阳防爆',
  1777. },
  1778. {
  1779. title: '调节方式',
  1780. code: 'adjustmentMethod_mainFanInfo',
  1781. value: '变频调节',
  1782. },
  1783. {
  1784. title: '频率可调范围(Hz)',
  1785. code: 'angleAdjustableRange_mainFanInfo',
  1786. value: '30~50',
  1787. },
  1788. ];
  1789. export const getSchamas = (): FormSchema[] => {
  1790. return [
  1791. {
  1792. field: 'fj',
  1793. component: 'Input',
  1794. label: '风井',
  1795. colProps: {
  1796. span: 6,
  1797. },
  1798. },
  1799. {
  1800. field: 'xh',
  1801. component: 'Input',
  1802. label: '型号',
  1803. colProps: {
  1804. span: 6,
  1805. },
  1806. },
  1807. {
  1808. field: 'gl',
  1809. component: 'Input',
  1810. label: '功率(kW)',
  1811. colProps: {
  1812. span: 6,
  1813. },
  1814. },
  1815. {
  1816. field: 'edgl',
  1817. component: 'Input',
  1818. label: '额定转速(r/min)',
  1819. colProps: {
  1820. span: 6,
  1821. },
  1822. },
  1823. {
  1824. field: 'eddy',
  1825. component: 'Input',
  1826. label: '额定电压(V)',
  1827. colProps: {
  1828. span: 6,
  1829. },
  1830. },
  1831. {
  1832. field: 'eddl',
  1833. component: 'Input',
  1834. label: '额定电流(A)',
  1835. colProps: {
  1836. span: 6,
  1837. },
  1838. },
  1839. {
  1840. field: 'flfw',
  1841. component: 'Input',
  1842. label: '风量范围(m³/s)',
  1843. colProps: {
  1844. span: 6,
  1845. },
  1846. },
  1847. {
  1848. field: 'fyfw',
  1849. component: 'Input',
  1850. label: '风压范围(Pa)',
  1851. colProps: {
  1852. span: 6,
  1853. },
  1854. },
  1855. {
  1856. field: 'fbdj',
  1857. component: 'Select',
  1858. label: '防爆等级',
  1859. colProps: {
  1860. span: 6,
  1861. },
  1862. componentProps: {
  1863. options: [
  1864. {
  1865. label: 'ExdI',
  1866. value: 'ExdI',
  1867. key: '1',
  1868. },
  1869. ],
  1870. },
  1871. },
  1872. {
  1873. field: 'ccrq',
  1874. component: 'Input',
  1875. label: '出厂日期',
  1876. colProps: {
  1877. span: 6,
  1878. },
  1879. },
  1880. {
  1881. field: 'sccj',
  1882. component: 'Input',
  1883. label: '生产厂家',
  1884. colProps: {
  1885. span: 6,
  1886. },
  1887. },
  1888. {
  1889. field: 'tjfs',
  1890. component: 'Select',
  1891. label: '调节方式',
  1892. colProps: {
  1893. span: 6,
  1894. },
  1895. componentProps: {
  1896. options: [
  1897. {
  1898. label: '变频调节',
  1899. value: '变频调节',
  1900. key: '1',
  1901. },
  1902. ],
  1903. },
  1904. },
  1905. {
  1906. field: 'plfw',
  1907. component: 'Input',
  1908. label: '频率可调范围(Hz)',
  1909. colProps: {
  1910. span: 6,
  1911. },
  1912. },
  1913. ];
  1914. };
  1915. export const getSchamas1 = (): FormSchema[] => {
  1916. return [
  1917. {
  1918. field: 'Hz',
  1919. component: 'InputNumber',
  1920. label: '频率(Hz)',
  1921. required: true,
  1922. colProps: {
  1923. span: 6,
  1924. },
  1925. },
  1926. {
  1927. field: 'a',
  1928. component: 'InputNumber',
  1929. label: '二次项系数',
  1930. required: true,
  1931. colProps: {
  1932. span: 6,
  1933. },
  1934. },
  1935. {
  1936. field: 'b',
  1937. component: 'InputNumber',
  1938. label: '一次项系数',
  1939. required: true,
  1940. colProps: {
  1941. span: 6,
  1942. },
  1943. },
  1944. {
  1945. field: 'c',
  1946. component: 'InputNumber',
  1947. label: '常数项系数',
  1948. required: true,
  1949. colProps: {
  1950. span: 6,
  1951. },
  1952. },
  1953. {
  1954. field: 'min',
  1955. component: 'InputNumber',
  1956. label: '风量下限(m³/s)',
  1957. required: true,
  1958. colProps: {
  1959. span: 6,
  1960. },
  1961. },
  1962. {
  1963. field: 'max',
  1964. component: 'InputNumber',
  1965. label: '风量上限(m³/s)',
  1966. required: true,
  1967. colProps: {
  1968. span: 6,
  1969. },
  1970. },
  1971. ];
  1972. };
  1973. export const lineFormData = reactive({
  1974. Hz: null,
  1975. a: null,
  1976. b: null,
  1977. c: null,
  1978. min: null,
  1979. max: null,
  1980. });