main.data.ts 50 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555
  1. import { BasicColumn } from '/@/components/Table';
  2. import { FormSchema } from '/@/components/Table';
  3. import { reactive, defineAsyncComponent } from 'vue';
  4. import type { EChartsOption } from 'echarts';
  5. import { useGlobSetting } from '/@/hooks/setting';
  6. import { cloneDeep } from 'lodash-es';
  7. import EntryThree from './components/entryThree.vue';
  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: 'startFanYdt',
  378. value: '一键启动/停止',
  379. permission: 'fan:startAndResetFanYdt',
  380. },
  381. {
  382. key: 'changeSmoke',
  383. value: '不停风倒机',
  384. permission: 'fan:changeSmoke',
  385. },
  386. {
  387. key: 'changeSmoke1',
  388. value: '不停风倒机',
  389. permission: 'fan:changeSmoke1',
  390. },
  391. {
  392. key: 'changeDirection',
  393. value: '一键反风',
  394. permission: 'fan:changeDirection',
  395. },
  396. {
  397. key: 'frequency',
  398. value: '一键调频',
  399. permission: 'fan:frequency',
  400. },
  401. {
  402. key: 'FreqSet',
  403. value: '频率设定',
  404. permission: 'fan:FreqSet',
  405. },
  406. {
  407. key: 'fbm',
  408. value: '防爆门控制',
  409. permission: 'fan:fbm',
  410. },
  411. {
  412. key: 'zhlk',
  413. value: '自主联控',
  414. permission: 'fan:zhlk',
  415. },
  416. {
  417. key: 'sdyc',
  418. value: '手动/远程',
  419. permission: 'fan:sdyc',
  420. },
  421. {
  422. key: 'zzcz',
  423. value: '终止操作',
  424. permission: 'fan:zzcz',
  425. },
  426. {
  427. key: 'tckz',
  428. value: '天窗调控',
  429. permission: 'fan:tckz',
  430. },
  431. {
  432. key: 'zbmkz',
  433. value: '闸板门调控',
  434. permission: 'fan:zbmkz',
  435. },
  436. {
  437. key: 'dfkz',
  438. value: '蝶阀控制',
  439. permission: 'fan:dfkz',
  440. },
  441. {
  442. key: 'kkjc',
  443. value: '工况辅助决策',
  444. permission: 'fan:kkjc',
  445. },
  446. ],
  447. };
  448. export const fbmControlData = <CtrlLockOpenType>reactive({
  449. CtrlLockOpen: false, // 远程开锁 true 为打开状态, false 为关闭状态
  450. CtrlExplosionVentOpen: false, // 远程开门 true 为打开状态, false 为关闭状态
  451. });
  452. // export const assistanceData = {
  453. // '30': {
  454. // angle: 0,
  455. // Hz: 30.0, //频率
  456. // a: -0.17624, //二次项系数
  457. // b: 34.59747, //一次项系数
  458. // c: 938.98517, //常数项系数
  459. // min: 93.0, //风量下限
  460. // max: 132.0, //风量上限
  461. // },
  462. // '31': {
  463. // angle: 0,
  464. // Hz: 31.0,
  465. // a: -0.17624,
  466. // b: 35.055694,
  467. // c: 851.596922,
  468. // min: 96.1,
  469. // max: 136.4,
  470. // },
  471. // '32': {
  472. // angle: 0,
  473. // Hz: 32.0,
  474. // a: -0.17624,
  475. // b: 35.513918,
  476. // c: 768.749733,
  477. // min: 99.2,
  478. // max: 140.8,
  479. // },
  480. // '33': {
  481. // angle: 0,
  482. // Hz: 33.0,
  483. // a: -0.17624,
  484. // b: 35.972142,
  485. // c: 690.443603,
  486. // min: 102.3,
  487. // max: 145.2,
  488. // },
  489. // '34': {
  490. // angle: 0,
  491. // Hz: 34.0,
  492. // a: -0.17624,
  493. // b: 36.430366,
  494. // c: 616.678531,
  495. // min: 105.4,
  496. // max: 149.6,
  497. // },
  498. // '35': {
  499. // angle: 0,
  500. // Hz: 35.0,
  501. // a: -0.17624,
  502. // b: 36.88859,
  503. // c: 547.454517,
  504. // min: 108.5,
  505. // max: 154.0,
  506. // },
  507. // '36': {
  508. // angle: 0,
  509. // Hz: 36.0,
  510. // a: -0.17624,
  511. // b: 37.346814,
  512. // c: 482.771563,
  513. // min: 111.6,
  514. // max: 158.4,
  515. // },
  516. // '37': {
  517. // angle: 0,
  518. // Hz: 37.0,
  519. // a: -0.17624,
  520. // b: 37.805038,
  521. // c: 422.629667,
  522. // min: 114.7,
  523. // max: 162.8,
  524. // },
  525. // '38': {
  526. // angle: 0,
  527. // Hz: 38.0,
  528. // a: -0.17624,
  529. // b: 38.263262,
  530. // c: 367.028829,
  531. // min: 117.8,
  532. // max: 167.2,
  533. // },
  534. // '39': {
  535. // angle: 0,
  536. // Hz: 39.0,
  537. // a: -0.17624,
  538. // b: 38.721486,
  539. // c: 315.96905,
  540. // min: 120.9,
  541. // max: 171.6,
  542. // },
  543. // '40': {
  544. // angle: 0,
  545. // Hz: 40.0,
  546. // a: -0.17624,
  547. // b: 39.17971,
  548. // c: 269.45033,
  549. // min: 124.0,
  550. // max: 176.0,
  551. // },
  552. // '41': {
  553. // angle: 0,
  554. // Hz: 41.0,
  555. // a: -0.17624,
  556. // b: 39.637934,
  557. // c: 227.472668,
  558. // min: 127.1,
  559. // max: 180.4,
  560. // },
  561. // '42': {
  562. // angle: 0,
  563. // Hz: 42.0,
  564. // a: -0.17624,
  565. // b: 40.096158,
  566. // c: 190.036065,
  567. // min: 130.2,
  568. // max: 184.8,
  569. // },
  570. // '43': {
  571. // angle: 0,
  572. // Hz: 43.0,
  573. // a: -0.17624,
  574. // b: 40.554382,
  575. // c: 157.140521,
  576. // min: 133.3,
  577. // max: 189.2,
  578. // },
  579. // '44': {
  580. // angle: 0,
  581. // Hz: 44.0,
  582. // a: -0.17624,
  583. // b: 41.012606,
  584. // c: 128.786035,
  585. // min: 136.4,
  586. // max: 193.6,
  587. // },
  588. // '45': {
  589. // angle: 0,
  590. // Hz: 45.0,
  591. // a: -0.17624,
  592. // b: 41.47083,
  593. // c: 104.972607,
  594. // min: 139.5,
  595. // max: 198.0,
  596. // },
  597. // '46': {
  598. // angle: 0,
  599. // Hz: 46.0,
  600. // a: -0.17624,
  601. // b: 41.929054,
  602. // c: 85.700239,
  603. // min: 142.6,
  604. // max: 202.4,
  605. // },
  606. // '47': {
  607. // angle: 0,
  608. // Hz: 47.0,
  609. // a: -0.17624,
  610. // b: 42.387278,
  611. // c: 70.968929,
  612. // min: 145.7,
  613. // max: 206.8,
  614. // },
  615. // '48': {
  616. // angle: 0,
  617. // Hz: 48.0,
  618. // a: -0.17624,
  619. // b: 42.845502,
  620. // c: 60.778677,
  621. // min: 148.8,
  622. // max: 211.2,
  623. // },
  624. // '49': {
  625. // angle: 0,
  626. // Hz: 49.0,
  627. // a: -0.17624,
  628. // b: 43.303726,
  629. // c: 55.129484,
  630. // min: 151.9,
  631. // max: 215.6,
  632. // },
  633. // '50': {
  634. // angle: 0,
  635. // Hz: 50.0,
  636. // a: -0.17624,
  637. // b: 43.76195,
  638. // c: 54.02135,
  639. // min: 155.0,
  640. // max: 220.0,
  641. // },
  642. // };
  643. export const assistanceData = {
  644. '30': {
  645. angle: 0,
  646. Hz: 30.0, //频率
  647. a: -0.17624, //二次项系数
  648. b: 43.40947, //一次项系数
  649. c: 97.60705999999982, //常数项系数
  650. min: 93.0, //风量下限
  651. max: 132.0, //风量上限
  652. },
  653. '31': {
  654. angle: 0,
  655. Hz: 31.0,
  656. a: -0.17624,
  657. b: 43.427094,
  658. c: 95.43614590000016,
  659. min: 96.1,
  660. max: 136.4,
  661. },
  662. '32': {
  663. angle: 0,
  664. Hz: 32.0,
  665. a: -0.17624,
  666. b: 43.444718,
  667. c: 93.26435059999994,
  668. min: 99.2,
  669. max: 140.8,
  670. },
  671. '33': {
  672. angle: 0,
  673. Hz: 33.0,
  674. a: -0.17624,
  675. b: 43.462342,
  676. c: 91.09167409999964,
  677. min: 102.3,
  678. max: 145.2,
  679. },
  680. '34': {
  681. angle: 0,
  682. Hz: 34.0,
  683. a: -0.17624,
  684. b: 43.479966000000005,
  685. c: 88.91811639999969,
  686. min: 105.4,
  687. max: 149.6,
  688. },
  689. '35': {
  690. angle: 0,
  691. Hz: 35.0,
  692. a: -0.17624,
  693. b: 43.49759,
  694. c: 86.74367749999965,
  695. min: 108.5,
  696. max: 154.0,
  697. },
  698. '36': {
  699. angle: 0,
  700. Hz: 36.0,
  701. a: -0.17624,
  702. b: 43.515214,
  703. c: 84.56835739999997,
  704. min: 111.6,
  705. max: 158.4,
  706. },
  707. '37': {
  708. angle: 0,
  709. Hz: 37.0,
  710. a: -0.17624,
  711. b: 43.532838,
  712. c: 82.3921561000002,
  713. min: 114.7,
  714. max: 162.8,
  715. },
  716. '38': {
  717. angle: 0,
  718. Hz: 38.0,
  719. a: -0.17624,
  720. b: 43.550462,
  721. c: 80.21507359999941,
  722. min: 117.8,
  723. max: 167.2,
  724. },
  725. '39': {
  726. angle: 0,
  727. Hz: 39.0,
  728. a: -0.17624,
  729. b: 43.568086,
  730. c: 78.0371098999999,
  731. min: 120.9,
  732. max: 171.6,
  733. },
  734. '40': {
  735. angle: 0,
  736. Hz: 40.0,
  737. a: -0.17624,
  738. b: 43.58571,
  739. c: 75.85826499999985,
  740. min: 124.0,
  741. max: 176.0,
  742. },
  743. '41': {
  744. angle: 0,
  745. Hz: 41.0,
  746. a: -0.17624,
  747. b: 43.603334,
  748. c: 73.67853890000015,
  749. min: 127.1,
  750. max: 180.4,
  751. },
  752. '42': {
  753. angle: 0,
  754. Hz: 42.0,
  755. a: -0.17624,
  756. b: 43.620958,
  757. c: 71.4979315999999,
  758. min: 130.2,
  759. max: 184.8,
  760. },
  761. '43': {
  762. angle: 0,
  763. Hz: 43.0,
  764. a: -0.17624,
  765. b: 43.638582,
  766. c: 69.31644309999956,
  767. min: 133.3,
  768. max: 189.2,
  769. },
  770. '44': {
  771. angle: 0,
  772. Hz: 44.0,
  773. a: -0.17624,
  774. b: 43.656206000000005,
  775. c: 67.13407339999958,
  776. min: 136.4,
  777. max: 193.6,
  778. },
  779. '45': {
  780. angle: 0,
  781. Hz: 45.0,
  782. a: -0.17624,
  783. b: 43.67383,
  784. c: 64.9508224999995,
  785. min: 139.5,
  786. max: 198.0,
  787. },
  788. '46': {
  789. angle: 0,
  790. Hz: 46.0,
  791. a: -0.17624,
  792. b: 43.691454,
  793. c: 62.76669039999979,
  794. min: 142.6,
  795. max: 202.4,
  796. },
  797. '47': {
  798. angle: 0,
  799. Hz: 47.0,
  800. a: -0.17624,
  801. b: 43.709078,
  802. c: 60.58167709999998,
  803. min: 145.7,
  804. max: 206.8,
  805. },
  806. '48': {
  807. angle: 0,
  808. Hz: 48.0,
  809. a: -0.17624,
  810. b: 43.726702,
  811. c: 58.39578259999962,
  812. min: 148.8,
  813. max: 211.2,
  814. },
  815. '49': {
  816. angle: 0,
  817. Hz: 49.0,
  818. a: -0.17624,
  819. b: 43.744326,
  820. c: 56.20900689999962,
  821. min: 151.9,
  822. max: 215.6,
  823. },
  824. '50': {
  825. angle: 0,
  826. Hz: 50.0,
  827. a: -0.17624,
  828. b: 43.76195,
  829. c: 54.021349999999984,
  830. min: 155.0,
  831. max: 220.0,
  832. },
  833. };
  834. export const setOption = (deviceType?) => {
  835. let yMax = 4500,
  836. yMin = 0;
  837. const { sysOrgCode } = useGlobSetting();
  838. // const sysOrgCode = 'sdmtjtbetmk';
  839. if (sysOrgCode == 'sdmtjtdltmk') {
  840. // 这里判断白家渠还是五当沟
  841. if (deviceType == 'fanmain_bjq') {
  842. yMax = 5500;
  843. } else if (deviceType == 'fanmain_wdg') {
  844. yMax = 1200;
  845. }
  846. } else if (sysOrgCode == 'sdmtjtswmk') {
  847. if (deviceType == 'fanmain_bfj') {
  848. yMax = 5000;
  849. } else if (deviceType == 'fanmain_nfj') {
  850. yMax = 4500;
  851. }
  852. } else if (sysOrgCode == 'sdmtjtbdmk') {
  853. if (deviceType == 'fanmain_ljy') {
  854. yMax = 5000;
  855. } else if (deviceType == 'fanmain_zl') {
  856. yMax = 6000;
  857. }
  858. } else if (sysOrgCode == 'sdmtjtjjmk') {
  859. yMax = 6000;
  860. } else if (sysOrgCode == 'sdmtjtsgtmk') {
  861. yMax = 3000;
  862. } else if (sysOrgCode == 'sdmtjthlgmk') {
  863. yMax = 3000;
  864. } else if (sysOrgCode == 'sdmtjtdltmkhjtj') {
  865. yMax = 3000;
  866. } else if (sysOrgCode == 'sdmtjtcctrk') {
  867. yMax = 600;
  868. } else if (sysOrgCode == 'sdmtjtwlmlmk') {
  869. yMax = 4000;
  870. } else if (sysOrgCode == 'sdmtjtltmk') {
  871. yMax = 4000;
  872. } else if (sysOrgCode == 'sdtljtdhzmk') {
  873. yMax = 5000;
  874. } else if (sysOrgCode == 'yjmdhswmk') {
  875. yMax = 5000;
  876. } else if (deviceType == 'cy') {
  877. yMax = 4000;
  878. yMin = 800;
  879. } else {
  880. yMax = 4500;
  881. }
  882. return reactive<EChartsOption>({
  883. title: {
  884. text: '风机运行工况辅助曲线图',
  885. textStyle: {
  886. color: '#BF954D',
  887. },
  888. left: 'center',
  889. top: 0,
  890. },
  891. // backgroundColor: '#39deff',
  892. tooltip: {
  893. trigger: 'axis',
  894. axisPointer: {
  895. type: 'cross',
  896. label: {
  897. backgroundColor: '#6a7985',
  898. },
  899. },
  900. },
  901. toolbox: {
  902. show: true,
  903. },
  904. grid: {
  905. left: 8,
  906. right: 50,
  907. bottom: 0,
  908. containLabel: true,
  909. },
  910. xAxis: {
  911. type: 'category',
  912. name: 'm³/s',
  913. nameTextStyle: {
  914. fontWeight: 600,
  915. fontSize: 13,
  916. },
  917. splitLine: { show: true, lineStyle: { color: 'rgba(21,80,126,.5)' } },
  918. axisLabel: {
  919. margin: 20,
  920. fontSize: 14,
  921. color: '#f1f1f199',
  922. },
  923. boundaryGap: false,
  924. data: [],
  925. },
  926. yAxis: {
  927. type: 'value',
  928. axisLine: {
  929. show: true,
  930. lineStyle: {
  931. color: '#006c9d',
  932. },
  933. },
  934. splitLine: { show: true, lineStyle: { color: 'rgba(21,80,126,.5)' } },
  935. axisLabel: {
  936. show: true,
  937. fontSize: 14,
  938. formatter: '{value}',
  939. color: '#0071A5',
  940. },
  941. min: yMin,
  942. max: yMax,
  943. name: 'Pa',
  944. nameTextStyle: {
  945. fontWeight: 600,
  946. fontSize: 13,
  947. },
  948. },
  949. series: [],
  950. });
  951. };
  952. export const initData1 = () => {
  953. const assistanceData = {
  954. '30': {
  955. angle: 0,
  956. Hz: 30.0, //频率
  957. a: -0.17624, //二次项系数
  958. b: 43.40947, //一次项系数
  959. c: 97.60705999999982, //常数项系数
  960. min: 93.0, //风量下限
  961. max: 171.0, //风量上限
  962. },
  963. '31': {
  964. angle: 0,
  965. Hz: 31.0,
  966. a: -0.17624,
  967. b: 43.427094,
  968. c: 95.43614590000016,
  969. min: 96.1,
  970. max: 174.4,
  971. },
  972. '32': {
  973. angle: 0,
  974. Hz: 32.0,
  975. a: -0.17624,
  976. b: 43.444718,
  977. c: 93.26435059999994,
  978. min: 99.2,
  979. max: 177.8,
  980. },
  981. '33': {
  982. angle: 0,
  983. Hz: 33.0,
  984. a: -0.17624,
  985. b: 43.462342,
  986. c: 91.09167409999964,
  987. min: 102.3,
  988. max: 180.2,
  989. },
  990. '34': {
  991. angle: 0,
  992. Hz: 34.0,
  993. a: -0.17624,
  994. b: 43.479966000000005,
  995. c: 88.91811639999969,
  996. min: 105.4,
  997. max: 182.0,
  998. },
  999. '35': {
  1000. angle: 0,
  1001. Hz: 35.0,
  1002. a: -0.17624,
  1003. b: 43.49759,
  1004. c: 86.74367749999965,
  1005. min: 108.5,
  1006. max: 184.5,
  1007. },
  1008. '36': {
  1009. angle: 0,
  1010. Hz: 36.0,
  1011. a: -0.17624,
  1012. b: 43.515214,
  1013. c: 84.56835739999997,
  1014. min: 111.6,
  1015. max: 187.0,
  1016. },
  1017. '37': {
  1018. angle: 0,
  1019. Hz: 37.0,
  1020. a: -0.17624,
  1021. b: 43.532838,
  1022. c: 82.3921561000002,
  1023. min: 114.7,
  1024. max: 190.8,
  1025. },
  1026. '38': {
  1027. angle: 0,
  1028. Hz: 38.0,
  1029. a: -0.17624,
  1030. b: 43.550462,
  1031. c: 80.21507359999941,
  1032. min: 117.8,
  1033. max: 193.0,
  1034. },
  1035. '39': {
  1036. angle: 0,
  1037. Hz: 39.0,
  1038. a: -0.17624,
  1039. b: 43.568086,
  1040. c: 78.0371098999999,
  1041. min: 120.9,
  1042. max: 195.6,
  1043. },
  1044. '40': {
  1045. angle: 0,
  1046. Hz: 40.0,
  1047. a: -0.17624,
  1048. b: 43.58571,
  1049. c: 75.85826499999985,
  1050. min: 123.0,
  1051. max: 197.0,
  1052. },
  1053. '41': {
  1054. angle: 0,
  1055. Hz: 41.0,
  1056. a: -0.17624,
  1057. b: 43.603334,
  1058. c: 73.67853890000015,
  1059. min: 125.1,
  1060. max: 199.4,
  1061. },
  1062. '42': {
  1063. angle: 0,
  1064. Hz: 42.0,
  1065. a: -0.17624,
  1066. b: 43.620958,
  1067. c: 71.4979315999999,
  1068. min: 128.2,
  1069. max: 202.8,
  1070. },
  1071. '43': {
  1072. angle: 0,
  1073. Hz: 43.0,
  1074. a: -0.17624,
  1075. b: 43.638582,
  1076. c: 69.31644309999956,
  1077. min: 130.3,
  1078. max: 205.8,
  1079. },
  1080. '44': {
  1081. angle: 0,
  1082. Hz: 44.0,
  1083. a: -0.17624,
  1084. b: 43.656206000000005,
  1085. c: 67.13407339999958,
  1086. min: 132.4,
  1087. max: 208.5,
  1088. },
  1089. '45': {
  1090. angle: 0,
  1091. Hz: 45.0,
  1092. a: -0.17624,
  1093. b: 43.67383,
  1094. c: 64.9508224999995,
  1095. min: 134.5,
  1096. max: 211.8,
  1097. },
  1098. '46': {
  1099. angle: 0,
  1100. Hz: 46.0,
  1101. a: -0.17624,
  1102. b: 43.691454,
  1103. c: 62.76669039999979,
  1104. min: 136.6,
  1105. max: 214.4,
  1106. },
  1107. '47': {
  1108. angle: 0,
  1109. Hz: 47.0,
  1110. a: -0.17624,
  1111. b: 43.709078,
  1112. c: 60.58167709999998,
  1113. min: 138.7,
  1114. max: 217.8,
  1115. },
  1116. '48': {
  1117. angle: 0,
  1118. Hz: 48.0,
  1119. a: -0.17624,
  1120. b: 43.726702,
  1121. c: 58.39578259999962,
  1122. min: 140.8,
  1123. max: 219.2,
  1124. },
  1125. '49': {
  1126. angle: 0,
  1127. Hz: 49.0,
  1128. a: -0.17624,
  1129. b: 43.744326,
  1130. c: 56.20900689999962,
  1131. min: 143.9,
  1132. max: 221.6,
  1133. },
  1134. '50': {
  1135. angle: 0,
  1136. Hz: 50.0,
  1137. a: -0.17624,
  1138. b: 43.76195,
  1139. c: 54.021349999999984,
  1140. min: 146.0,
  1141. max: 223.0,
  1142. },
  1143. };
  1144. const num = 21;
  1145. const a = -0.17624; //-0.17624,
  1146. const m = 2770.6411125432646,
  1147. n = -124.15442010894235;
  1148. let i = 21;
  1149. const data = [];
  1150. for (const key in assistanceData) {
  1151. i -= 1;
  1152. const p = i;
  1153. const item = assistanceData[key];
  1154. item['b'] = 2 * a * (n + p);
  1155. item['c'] = a * (n + p) * (n + p) + m - i * 50;
  1156. // if (sysOrgCode == 'sdmtjtdltmk') {
  1157. // // 大柳塔井整体向右下移动
  1158. // item['min'] = item['min'] + 20;
  1159. // item['max'] = item['max'] + 20;
  1160. // item['b'] = 2 * a * (n + p) + 3;
  1161. // item['c'] = a * (n + p) * (n + p) + m - i * 60;
  1162. // } else {
  1163. // item['b'] = 2 * a * (n + p);
  1164. // item['c'] = a * (n + p) * (n + p) + m - i * 50;
  1165. // // //白家渠
  1166. // // a = -0.13424;
  1167. // // item['a'] = Math.round((a + 0.002 * (num - i)) * 10000) / 10000;
  1168. // // item['min'] = item['min'] + 50 + (num - i) * 2;
  1169. // // item['max'] = item['max'] + 65 + (num - i) * 3.5;
  1170. // // item['b'] = 2 * item['a'] * (n + p) + 8.8;
  1171. // // item['c'] = item['a'] * (n + p) * (n + p) + m - i * 60;
  1172. // // //武当沟
  1173. // // a = -0.17724;
  1174. // // item['a'] = Math.round((a - 0.002 * (num - i)) * 10000) / 10000;
  1175. // // item['min'] = item['min'] - 40 - (num - i) * 1;
  1176. // // item['max'] = item['max'] - 60 - (num - i) * 0.5;
  1177. // // item['b'] = 2 * item['a'] * (n + p) - 16.5;
  1178. // // item['c'] = item['a'] * (n + p) * (n + p) + m - i * 40;
  1179. // }
  1180. data.push(item);
  1181. }
  1182. console.log(data);
  1183. return data;
  1184. };
  1185. export const initData2 = () => {
  1186. const assistanceData = {
  1187. // '30': {
  1188. // angle: 0,
  1189. // Hz: 30.0, //频率
  1190. // a: -0.17624, //二次项系数
  1191. // b: 43.40947, //一次项系数
  1192. // c: 97.60705999999982, //常数项系数
  1193. // min: 93.0, //风量下限
  1194. // max: 171.0, //风量上限
  1195. // },
  1196. // '31': {
  1197. // angle: 0,
  1198. // Hz: 31.0,
  1199. // a: -0.17624,
  1200. // b: 43.427094,
  1201. // c: 95.43614590000016,
  1202. // min: 96.1,
  1203. // max: 174.4,
  1204. // },
  1205. // '32': {
  1206. // angle: 0,
  1207. // Hz: 32.0,
  1208. // a: -0.17624,
  1209. // b: 43.444718,
  1210. // c: 93.26435059999994,
  1211. // min: 99.2,
  1212. // max: 177.8,
  1213. // },
  1214. // '33': {
  1215. // angle: 0,
  1216. // Hz: 33.0,
  1217. // a: -0.17624,
  1218. // b: 43.462342,
  1219. // c: 91.09167409999964,
  1220. // min: 102.3,
  1221. // max: 180.2,
  1222. // },
  1223. // '34': {
  1224. // angle: 0,
  1225. // Hz: 34.0,
  1226. // a: -0.17624,
  1227. // b: 43.479966000000005,
  1228. // c: 88.91811639999969,
  1229. // min: 105.4,
  1230. // max: 182.0,
  1231. // },
  1232. // '35': {
  1233. // angle: 0,
  1234. // Hz: 35.0,
  1235. // a: -0.17624,
  1236. // b: 43.49759,
  1237. // c: 86.74367749999965,
  1238. // min: 108.5,
  1239. // max: 184.5,
  1240. // },
  1241. '36': {
  1242. angle: 0,
  1243. Hz: 36.0,
  1244. a: -0.014,
  1245. b: 11.01024,
  1246. c: 414.6167,
  1247. min: 330,
  1248. max: 710,
  1249. },
  1250. // '37': {
  1251. // angle: 0,
  1252. // Hz: 37.0,
  1253. // a: -0.17624,
  1254. // b: 43.532838,
  1255. // c: 82.3921561000002,
  1256. // min: 114.7,
  1257. // max: 190.8,
  1258. // },
  1259. // '38': {
  1260. // angle: 0,
  1261. // Hz: 38.0,
  1262. // a: -0.17624,
  1263. // b: 43.550462,
  1264. // c: 80.21507359999941,
  1265. // min: 117.8,
  1266. // max: 193.0,
  1267. // },
  1268. '39': {
  1269. angle: 0,
  1270. Hz: 39.0,
  1271. a: -0.0132,
  1272. b: 10.500657,
  1273. c: 785.54678,
  1274. min: 370,
  1275. max: 760,
  1276. },
  1277. // '40': {
  1278. // angle: 0,
  1279. // Hz: 40.0,
  1280. // a: -0.17624,
  1281. // b: 43.58571,
  1282. // c: 75.85826499999985,
  1283. // min: 123.0,
  1284. // max: 197.0,
  1285. // },
  1286. // '41': {
  1287. // angle: 0,
  1288. // Hz: 41.0,
  1289. // a: -0.17624,
  1290. // b: 43.603334,
  1291. // c: 73.67853890000015,
  1292. // min: 125.1,
  1293. // max: 199.4,
  1294. // },
  1295. '42': {
  1296. angle: 0,
  1297. Hz: 42.0,
  1298. a: -0.012,
  1299. b: 10.03424,
  1300. c: 971.438895,
  1301. min: 390,
  1302. max: 820,
  1303. },
  1304. // '43': {
  1305. // angle: 0,
  1306. // Hz: 43.0,
  1307. // a: -0.17624,
  1308. // b: 43.638582,
  1309. // c: 69.31644309999956,
  1310. // min: 130.3,
  1311. // max: 205.8,
  1312. // },
  1313. // '44': {
  1314. // angle: 0,
  1315. // Hz: 44.0,
  1316. // a: -0.17624,
  1317. // b: 43.656206000000005,
  1318. // c: 67.13407339999958,
  1319. // min: 132.4,
  1320. // max: 208.5,
  1321. // },
  1322. // '45': {
  1323. // angle: 0,
  1324. // Hz: 45.0,
  1325. // a: -0.17624,
  1326. // b: 43.67383,
  1327. // c: 64.9508224999995,
  1328. // min: 134.5,
  1329. // max: 211.8,
  1330. // },
  1331. '46': {
  1332. angle: 0,
  1333. Hz: 46.0,
  1334. a: -0.012,
  1335. b: 10.551334,
  1336. c: 967.32433,
  1337. min: 430,
  1338. max: 865,
  1339. },
  1340. // '47': {
  1341. // angle: 0,
  1342. // Hz: 47.0,
  1343. // a: -0.17624,
  1344. // b: 43.709078,
  1345. // c: 60.58167709999998,
  1346. // min: 138.7,
  1347. // max: 217.8,
  1348. // },
  1349. // '48': {
  1350. // angle: 0,
  1351. // Hz: 48.0,
  1352. // a: -0.17624,
  1353. // b: 43.726702,
  1354. // c: 58.39578259999962,
  1355. // min: 140.8,
  1356. // max: 219.2,
  1357. // },
  1358. '49': {
  1359. angle: 0,
  1360. Hz: 49.0,
  1361. a: -0.0115,
  1362. b: 10.8013546,
  1363. c: 913.4355668,
  1364. min: 460,
  1365. max: 921,
  1366. },
  1367. // '50': {
  1368. // angle: 0,
  1369. // Hz: 50.0,
  1370. // a: -0.17624,
  1371. // b: 43.76195,
  1372. // c: 54.021349999999984,
  1373. // min: 146.0,
  1374. // max: 223.0,
  1375. // },
  1376. };
  1377. // const num = 21;
  1378. // const a = -0.17624; //-0.17624,
  1379. // const m = 2770.6411125432646,
  1380. // n = -124.15442010894235;
  1381. // let i = 21;
  1382. const data = [];
  1383. for (const key in assistanceData) {
  1384. // i -= 1;
  1385. // const p = i;
  1386. const item = assistanceData[key];
  1387. // item['b'] = 2 * a * (n + p);
  1388. // item['c'] = a * (n + p) * (n + p) + m - i * 50;
  1389. // if (sysOrgCode == 'sdmtjtdltmk') {
  1390. // // 大柳塔井整体向右下移动
  1391. // item['min'] = item['min'] + 20;
  1392. // item['max'] = item['max'] + 20;
  1393. // item['b'] = 2 * a * (n + p) + 3;
  1394. // item['c'] = a * (n + p) * (n + p) + m - i * 60;
  1395. // } else {
  1396. // item['b'] = 2 * a * (n + p);
  1397. // item['c'] = a * (n + p) * (n + p) + m - i * 50;
  1398. // // //白家渠
  1399. // // a = -0.13424;
  1400. // // item['a'] = Math.round((a + 0.002 * (num - i)) * 10000) / 10000;
  1401. // // item['min'] = item['min'] + 50 + (num - i) * 2;
  1402. // // item['max'] = item['max'] + 65 + (num - i) * 3.5;
  1403. // // item['b'] = 2 * item['a'] * (n + p) + 8.8;
  1404. // // item['c'] = item['a'] * (n + p) * (n + p) + m - i * 60;
  1405. // // //武当沟
  1406. // // a = -0.17724;
  1407. // // item['a'] = Math.round((a - 0.002 * (num - i)) * 10000) / 10000;
  1408. // // item['min'] = item['min'] - 40 - (num - i) * 1;
  1409. // // item['max'] = item['max'] - 60 - (num - i) * 0.5;
  1410. // // item['b'] = 2 * item['a'] * (n + p) - 16.5;
  1411. // // item['c'] = item['a'] * (n + p) * (n + p) + m - i * 40;
  1412. // }
  1413. data.push(item);
  1414. }
  1415. console.log(data);
  1416. return data;
  1417. };
  1418. // 大柳塔武当沟
  1419. export const initData = (deviceType?) => {
  1420. const { sysOrgCode } = useGlobSetting();
  1421. // const sysOrgCode = 'sdmtjtbetmk';
  1422. if (sysOrgCode == 'sdmtjtdltmk') {
  1423. return initDataDlt(deviceType);
  1424. } else if (sysOrgCode == 'sdmtjtswmk') {
  1425. return initDataSw(deviceType);
  1426. } else if (sysOrgCode == 'sdmtjtbltmk') {
  1427. return initDataBlt();
  1428. } else if (sysOrgCode == 'sdmtjtbdmk') {
  1429. return initDataBd(deviceType);
  1430. } else if (sysOrgCode == 'sdmtjtjjmk') {
  1431. return initDataJj();
  1432. } else if (sysOrgCode == 'sdmtjtdltmkhjtj') {
  1433. return initDataHjt();
  1434. } else if (sysOrgCode == 'sdmtjtsgtmk') {
  1435. return initDataSgt();
  1436. } else if (sysOrgCode == 'sdmtjthlgmk') {
  1437. return initDataSgt();
  1438. } else if (sysOrgCode == 'sdmtjtyjlmk') {
  1439. return initDataJj();
  1440. } else if (sysOrgCode == 'sdmtjtcctrk') {
  1441. return initDataCctr();
  1442. } else if (sysOrgCode == 'sdmtjtwlmlmk') {
  1443. return initDataWlml();
  1444. } else if (sysOrgCode == 'sdmtjtltmk') {
  1445. return initDataLt();
  1446. } else if (sysOrgCode == 'sdtljtdhzmk') {
  1447. return initDataDhz();
  1448. } else if (sysOrgCode == 'yjmdhswmk') {
  1449. //海石湾
  1450. return initDataHsw();
  1451. } else if (sysOrgCode == 'nxnyjfmk') {
  1452. return initDataJf(deviceType);
  1453. } else if (sysOrgCode == 'gsgszdek') {
  1454. return initDataZdek();
  1455. } else {
  1456. return initData1();
  1457. }
  1458. };
  1459. // 准东二矿
  1460. const initDataZdek = () => {
  1461. const data: any[] = [];
  1462. data.push({
  1463. angle: 30,
  1464. Hz: 30,
  1465. a: -0.2522,
  1466. b: 1.6432,
  1467. c: 3622,
  1468. min: 90,
  1469. max: 130,
  1470. });
  1471. data.push({
  1472. angle: 35,
  1473. Hz: 35,
  1474. a: -0.245,
  1475. b: 21.145,
  1476. c: 3198,
  1477. min: 130,
  1478. max: 160,
  1479. });
  1480. data.push({
  1481. angle: 40,
  1482. Hz: 40,
  1483. a: -0.0047,
  1484. b: -14.084,
  1485. c: 3912,
  1486. min: 100,
  1487. max: 190,
  1488. });
  1489. data.push({
  1490. angle: 45,
  1491. Hz: 45,
  1492. a: -0.1372,
  1493. b: 0.0584,
  1494. c: 7437,
  1495. min: 170,
  1496. max: 200,
  1497. });
  1498. return data;
  1499. };
  1500. // 柳塔
  1501. const initDataLt = () => {
  1502. const data: any[] = [];
  1503. data.push({
  1504. angle: -6,
  1505. Hz: -6,
  1506. a: -0.1154,
  1507. b: 17.723,
  1508. c: 2433.2,
  1509. min: 155,
  1510. max: 210,
  1511. });
  1512. data.push({
  1513. angle: -3,
  1514. Hz: -3,
  1515. a: -0.2064,
  1516. b: 57.303,
  1517. c: -1156.1,
  1518. min: 155,
  1519. max: 230,
  1520. });
  1521. data.push({
  1522. angle: 3,
  1523. Hz: 3,
  1524. a: -0.1228,
  1525. b: 35.838,
  1526. c: 541.83,
  1527. min: 155,
  1528. max: 266,
  1529. });
  1530. return data;
  1531. };
  1532. // 乌兰木伦
  1533. const initDataWlml = () => {
  1534. const data: any[] = [];
  1535. data.push({
  1536. angle: -3,
  1537. Hz: -3,
  1538. a: -15.607,
  1539. b: 6242.3,
  1540. c: -621571,
  1541. min: 204,
  1542. max: 212,
  1543. });
  1544. data.push({
  1545. angle: -2,
  1546. Hz: -2,
  1547. a: -8.3134,
  1548. b: 3178.9,
  1549. c: -300224,
  1550. min: 204,
  1551. max: 211,
  1552. });
  1553. data.push({
  1554. angle: 0,
  1555. Hz: 0,
  1556. a: -8.9632,
  1557. b: 3751.3,
  1558. c: -389068,
  1559. min: 216,
  1560. max: 227.2,
  1561. });
  1562. data.push({
  1563. angle: 1,
  1564. Hz: 1,
  1565. a: -12.77,
  1566. b: 5415.9,
  1567. c: -571193,
  1568. min: 216,
  1569. max: 226.8,
  1570. });
  1571. data.push({
  1572. angle: 2,
  1573. Hz: 2,
  1574. a: -12.432,
  1575. b: 5635.5,
  1576. c: -635361,
  1577. min: 234.5,
  1578. max: 242.4,
  1579. });
  1580. data.push({
  1581. angle: 3,
  1582. Hz: 3,
  1583. a: -2.9424,
  1584. b: 1147.7,
  1585. c: -104620,
  1586. min: 234.5,
  1587. max: 243.5,
  1588. });
  1589. return data;
  1590. };
  1591. // 石圪台
  1592. const initDataCctr = () => {
  1593. const data: any[] = [];
  1594. data.push({
  1595. angle: 0,
  1596. Hz: 0,
  1597. a: -0.0221,
  1598. b: -1.2494,
  1599. c: 552.28,
  1600. min: 52,
  1601. max: 125,
  1602. });
  1603. data.push({
  1604. angle: 3,
  1605. Hz: 3,
  1606. a: -0.0232,
  1607. b: -0.8204,
  1608. c: 603.39,
  1609. min: 50,
  1610. max: 139,
  1611. });
  1612. data.push({
  1613. angle: 6,
  1614. Hz: 6,
  1615. a: -0.0417,
  1616. b: 3.1004,
  1617. c: 498.9,
  1618. min: 45,
  1619. max: 150,
  1620. });
  1621. return data;
  1622. };
  1623. // 石圪台
  1624. const initDataSgt = () => {
  1625. const data: any[] = [];
  1626. data.push({
  1627. angle: -6,
  1628. Hz: -6,
  1629. a: -0.0438,
  1630. b: 14.5078,
  1631. c: 986.6,
  1632. min: 130,
  1633. max: 370,
  1634. });
  1635. data.push({
  1636. angle: -3,
  1637. Hz: -3,
  1638. a: -0.035,
  1639. b: 11.7875,
  1640. c: 1226.8,
  1641. min: 140,
  1642. max: 400,
  1643. });
  1644. data.push({
  1645. angle: 0,
  1646. Hz: 0,
  1647. a: -0.0354,
  1648. b: 13.6986,
  1649. c: 1078.6,
  1650. min: 150,
  1651. max: 430,
  1652. });
  1653. data.push({
  1654. angle: 3,
  1655. Hz: 3,
  1656. a: -0.0444,
  1657. b: 19.5673,
  1658. c: 504,
  1659. min: 170,
  1660. max: 445,
  1661. });
  1662. data.push({
  1663. angle: 6,
  1664. Hz: 6,
  1665. a: -0.0507,
  1666. b: 24.3336,
  1667. c: -70,
  1668. min: 190,
  1669. max: 460,
  1670. });
  1671. return data;
  1672. };
  1673. // 大柳塔白家渠
  1674. const initDataDlt = (deviceType?) => {
  1675. if (deviceType == 'fanmain_bjq') {
  1676. const num = 2;
  1677. const obj = {
  1678. angle: 0,
  1679. Hz: -0,
  1680. a: -0.0656,
  1681. b: 17.398283350755946,
  1682. c: 3241.38254718147,
  1683. min: 300,
  1684. max: 1100.0,
  1685. };
  1686. const a = -0.0656,
  1687. m = 17.398283350755946,
  1688. n = 3241.38254718147;
  1689. const maxList = [339.4, 359.4, 379.4, 399.4, 419.4];
  1690. const minList = [143, 152, 161, 170, 180];
  1691. const data = [];
  1692. for (let i = -2; i <= num; i++) {
  1693. const item = cloneDeep(obj);
  1694. item['Hz'] = 0 + i * 3;
  1695. item['c'] = n + 5 * i;
  1696. item['b'] = m + i * 2;
  1697. item['max'] = maxList[i + 2];
  1698. item['min'] = minList[i + 2];
  1699. data.push(item);
  1700. }
  1701. return data;
  1702. } else if (deviceType == 'fanmain_wdg') {
  1703. // 武当沟
  1704. const num = 2;
  1705. const obj = {
  1706. angle: 0,
  1707. Hz: -0,
  1708. a: -0.1424,
  1709. b: 26.316238660115914,
  1710. c: -370.62808803303426,
  1711. min: 300,
  1712. max: 1100.0,
  1713. };
  1714. const a = -0.1424,
  1715. m = 26.086238660115914,
  1716. n = -370.62808803303426;
  1717. const maxList = [138, 148, 158, 168, 178];
  1718. const minList = [90, 95, 100, 105, 110];
  1719. const data = [];
  1720. for (let i = -2; i <= num; i++) {
  1721. const item = cloneDeep(obj);
  1722. item['Hz'] = 0 + i * 3;
  1723. item['c'] = n + 1 * i;
  1724. item['b'] = m + i * 1.3;
  1725. item['max'] = maxList[i + 2];
  1726. item['min'] = minList[i + 2];
  1727. data.push(item);
  1728. }
  1729. return data;
  1730. }
  1731. };
  1732. const initDataSw = (deviceType?) => {
  1733. if (deviceType == 'fanmain_bfj') {
  1734. // 北风井
  1735. const num = 2;
  1736. const obj = {
  1737. angle: 0,
  1738. Hz: 0,
  1739. a: -0.2486,
  1740. b: 14.998999006593294,
  1741. c: 3672.488224167444,
  1742. min: 300,
  1743. max: 1100.0,
  1744. };
  1745. const a = -0.2486,
  1746. m = 14.998999006593294,
  1747. n = 3672.488224167444;
  1748. const maxList = [115.67, 130.67, 146.67, 165.67, 185.67];
  1749. const minList = [50, 60, 70, 85, 100];
  1750. const data = [];
  1751. for (let i = -2; i <= num; i++) {
  1752. const item = cloneDeep(obj);
  1753. item['Hz'] = 0 + i * 3;
  1754. item['c'] = n + 5 * i;
  1755. item['b'] = m + i * 8;
  1756. item['max'] = maxList[i + 2];
  1757. item['min'] = minList[i + 2];
  1758. data.push(item);
  1759. }
  1760. return data;
  1761. } else if (deviceType == 'fanmain_nfj') {
  1762. // 南风井
  1763. const num = 2;
  1764. const obj = {
  1765. angle: 0,
  1766. Hz: -0,
  1767. a: -0.0445,
  1768. b: 15.46559392987956,
  1769. c: 2607.959183673496,
  1770. min: 300,
  1771. max: 1100.0,
  1772. };
  1773. const a = -0.0455,
  1774. m = 15.46559392987956,
  1775. n = 2607.959183673496;
  1776. const maxList = [315, 345, 375, 410, 450, 500];
  1777. const minList = [90, 105, 120, 145, 170, 185];
  1778. const data = [];
  1779. for (let i = -3; i <= num; i++) {
  1780. const item = cloneDeep(obj);
  1781. item['Hz'] = 0 + i * 3;
  1782. item['a'] = Math.round((a - 0.003 * (num - i)) * 10000) / 10000;
  1783. item['c'] = n + 10 * i;
  1784. item['b'] = m + i * 1.2;
  1785. item['max'] = maxList[i + 3];
  1786. item['min'] = minList[i + 3];
  1787. data.push(item);
  1788. }
  1789. return data;
  1790. }
  1791. };
  1792. const initDataHjt = () => {
  1793. const data: any[] = [];
  1794. data.push({
  1795. angle: -10,
  1796. Hz: -10,
  1797. a: -0.0357,
  1798. b: 13.657,
  1799. c: 515.38,
  1800. min: 170,
  1801. max: 400,
  1802. });
  1803. data.push({
  1804. angle: -7,
  1805. Hz: -7,
  1806. a: -0.0371,
  1807. b: 15.478,
  1808. c: 452.43,
  1809. min: 170,
  1810. max: 400,
  1811. });
  1812. data.push({
  1813. angle: -5,
  1814. Hz: -5,
  1815. a: -0.0357,
  1816. b: 13.657,
  1817. c: 515.38,
  1818. min: 170,
  1819. max: 400,
  1820. });
  1821. data.push({
  1822. angle: -4,
  1823. Hz: -4,
  1824. a: -0.0361,
  1825. b: 16.706,
  1826. c: 228.85,
  1827. min: 170,
  1828. max: 400,
  1829. });
  1830. data.push({
  1831. angle: -2,
  1832. Hz: -2,
  1833. a: -0.0357,
  1834. b: 15.478,
  1835. c: 452.43,
  1836. min: 170,
  1837. max: 400,
  1838. });
  1839. data.push({
  1840. angle: 1,
  1841. Hz: 1,
  1842. a: -0.0361,
  1843. b: 16.706,
  1844. c: 228.85,
  1845. min: 170,
  1846. max: 400,
  1847. });
  1848. return data;
  1849. };
  1850. const initDataBd = (deviceType?) => {
  1851. if (deviceType == 'fanmain_ljy') {
  1852. // 刘家宴
  1853. const num = 2;
  1854. const obj = {
  1855. angle: 0,
  1856. Hz: 0,
  1857. a: -0.02674,
  1858. b: 10.070078367532346,
  1859. c: 3048.210229423783,
  1860. min: 300,
  1861. max: 1100.0,
  1862. };
  1863. const a = -0.02774,
  1864. m = 10.090078367532346,
  1865. n = 3988.210229423783;
  1866. const maxList = [370, 410, 450, 500, 560, 624];
  1867. const minList = [70, 80, 100, 130, 160, 210];
  1868. const data = [];
  1869. let index = 0;
  1870. for (let i = -3; i <= num; i++) {
  1871. ++index;
  1872. const item = cloneDeep(obj);
  1873. item['a'] = Math.round((a - 0.002 * (6 - index)) * 10000) / 10000;
  1874. item['Hz'] = 0 + i * 3;
  1875. item['c'] = n + 10 * i;
  1876. item['b'] = m + i * 1.3;
  1877. item['max'] = maxList[i + 3];
  1878. item['min'] = minList[i + 3];
  1879. data.push(item);
  1880. }
  1881. return data;
  1882. } else if (deviceType == 'fanmain_zl') {
  1883. // 枣庄
  1884. const num = 2;
  1885. const obj = {
  1886. angle: 0,
  1887. Hz: 0,
  1888. a: -0.02674,
  1889. b: 10.070078367532346,
  1890. c: 3048.210229423783,
  1891. min: 300,
  1892. max: 1100.0,
  1893. };
  1894. const a = -0.05874,
  1895. m = 17.090078367532346,
  1896. n = 3588.210229423783;
  1897. const maxList = [315, 344, 379, 415, 454];
  1898. const minList = [160, 170, 180, 190, 200, 210];
  1899. const data = [];
  1900. let index = 0;
  1901. for (let i = -2; i <= num; i++) {
  1902. ++index;
  1903. const item = cloneDeep(obj);
  1904. item['a'] = Math.round((a - 0.003 * (6 - index)) * 10000) / 10000;
  1905. item['Hz'] = 0 + i * 3;
  1906. item['c'] = n + 6 * i;
  1907. item['b'] = m + i * 1.9;
  1908. item['max'] = maxList[i + 2];
  1909. item['min'] = minList[i + 2];
  1910. data.push(item);
  1911. }
  1912. return data;
  1913. }
  1914. };
  1915. const initDataBlt = () => {
  1916. const num = 2;
  1917. const obj = {
  1918. angle: 0,
  1919. Hz: 0,
  1920. a: -0.02674,
  1921. b: 10.070078367532346,
  1922. c: 3048.210229423783,
  1923. min: 300,
  1924. max: 1100.0,
  1925. };
  1926. const a = -0.02874,
  1927. m = 10.070078367532346,
  1928. n = 3048.210229423783;
  1929. const maxList = [370, 400, 440, 480, 525, 580];
  1930. const minList = [70, 80, 100, 130, 160, 210];
  1931. const data = [];
  1932. let index = 0;
  1933. for (let i = -3; i <= num; i++) {
  1934. ++index;
  1935. const item = cloneDeep(obj);
  1936. item['a'] = Math.round((a - 0.002 * (6 - index)) * 10000) / 10000;
  1937. item['Hz'] = 0 + i * 3;
  1938. item['c'] = n + 10 * i;
  1939. item['b'] = m + i * 1;
  1940. item['max'] = maxList[i + 3];
  1941. item['min'] = minList[i + 3];
  1942. data.push(item);
  1943. }
  1944. return data;
  1945. };
  1946. const initDataJj = () => {
  1947. const num = 2;
  1948. const obj = {
  1949. angle: 0,
  1950. Hz: 0,
  1951. a: -0.02674,
  1952. b: 10.070078367532346,
  1953. c: 3048.210229423783,
  1954. min: 300,
  1955. max: 1100.0,
  1956. };
  1957. const a = -0.09874,
  1958. m = 21.090078367532346,
  1959. n = 3588.210229423783;
  1960. const maxList = [239, 264, 292, 322, 354];
  1961. const minList = [60, 70, 80, 90, 100, 110];
  1962. const data = [];
  1963. let index = 0;
  1964. for (let i = -2; i <= num; i++) {
  1965. ++index;
  1966. const item = cloneDeep(obj);
  1967. item['a'] = Math.round((a - 0.003 * (6 - index)) * 10000) / 10000;
  1968. item['Hz'] = 0 + i * 3;
  1969. item['c'] = n + 10 * i;
  1970. item['b'] = m + i * 3;
  1971. item['max'] = maxList[i + 2];
  1972. item['min'] = minList[i + 2];
  1973. data.push(item);
  1974. }
  1975. return data;
  1976. };
  1977. const initDataDhz = () => {
  1978. const data: any[] = [];
  1979. data.push({
  1980. Hz: 30,
  1981. a: -0.1686,
  1982. b: 74.953,
  1983. c: -4655.7,
  1984. min: 203,
  1985. max: 360,
  1986. });
  1987. data.push({
  1988. Hz: 40,
  1989. a: -0.1568,
  1990. b: 58.594,
  1991. c: -1986.9,
  1992. min: 213,
  1993. max: 325,
  1994. });
  1995. data.push({
  1996. Hz: 50,
  1997. a: -0.1607,
  1998. b: 68.39,
  1999. c: -4642.5,
  2000. min: 210,
  2001. max: 330,
  2002. });
  2003. // data.push({
  2004. // Hz: 30,
  2005. // a: -0.1407,
  2006. // b: 62.142,
  2007. // c: -3297.7,
  2008. // min: 218,
  2009. // max: 370,
  2010. // });
  2011. // data.push({
  2012. // Hz: 40,
  2013. // a: -0.1551,
  2014. // b: 58.661,
  2015. // c: -1968.9,
  2016. // min: 238,
  2017. // max: 338,
  2018. // });
  2019. // data.push({
  2020. // Hz: 50,
  2021. // a: -0.1823,
  2022. // b: 81.988,
  2023. // c: -6525.7,
  2024. // min: 240,
  2025. // max: 338,
  2026. // });
  2027. return data;
  2028. };
  2029. const initDataHsw = () => {
  2030. const data: any[] = [];
  2031. data.push({
  2032. Hz: 50,
  2033. a: -0.0704,
  2034. b: 6.9552,
  2035. c: 4596.9,
  2036. min: 80,
  2037. max: 300,
  2038. });
  2039. return data;
  2040. };
  2041. // 金凤
  2042. const initDataJf = (deviceType?) => {
  2043. if (deviceType == 'fanmain_1') {
  2044. const data: any[] = [];
  2045. data.push({
  2046. angle: 2.5,
  2047. Hz: 36,
  2048. a: -0.1232,
  2049. b: 17.884,
  2050. c: 1215.5,
  2051. min: 90,
  2052. max: 170,
  2053. });
  2054. data.push({
  2055. angle: 0,
  2056. Hz: 36,
  2057. a: -0.125,
  2058. b: 16.5,
  2059. c: 1020,
  2060. min: 80,
  2061. max: 160,
  2062. });
  2063. data.push({
  2064. angle: 5,
  2065. Hz: 36,
  2066. a: -0.1141,
  2067. b: 18.207,
  2068. c: 1360,
  2069. min: 100,
  2070. max: 180,
  2071. });
  2072. return data;
  2073. } else if (deviceType == 'fanmain_2') {
  2074. const data: any[] = [];
  2075. data.push({
  2076. angle: 6,
  2077. Hz: 30,
  2078. a: -0.0799,
  2079. b: 14.753,
  2080. c: 1275,
  2081. min: 120,
  2082. max: 200,
  2083. });
  2084. data.push({
  2085. angle: 3,
  2086. Hz: 30,
  2087. a: -0.0897,
  2088. b: 14.825,
  2089. c: 1147.5,
  2090. min: 100,
  2091. max: 190,
  2092. });
  2093. data.push({
  2094. angle: 0,
  2095. Hz: 30,
  2096. a: -0.0918,
  2097. b: 14.143,
  2098. c: 1020,
  2099. min: 80,
  2100. max: 170,
  2101. });
  2102. return data;
  2103. } else if (deviceType == 'fanmain_system') {
  2104. const data: any[] = [];
  2105. data.push({
  2106. angle: 0,
  2107. Hz: 29,
  2108. a: -0.1193,
  2109. b: 16.385,
  2110. c: 1054,
  2111. min: 80,
  2112. max: 170,
  2113. });
  2114. data.push({
  2115. angle: 3,
  2116. Hz: 29,
  2117. a: -0.1071,
  2118. b: 16.5,
  2119. c: 1190,
  2120. min: 90,
  2121. max: 180,
  2122. });
  2123. data.push({
  2124. angle: -3,
  2125. Hz: 29,
  2126. a: -0.1134,
  2127. b: 14.348,
  2128. c: 850,
  2129. min: 80,
  2130. max: 150,
  2131. });
  2132. return data;
  2133. }
  2134. };
  2135. export const fanInfoData = reactive({
  2136. fj: '一号回风井',
  2137. xh: 'FBCDZ No.29',
  2138. gl: '2×500',
  2139. edgl: '740',
  2140. eddy: '10000',
  2141. eddl: '38.4',
  2142. flfw: '110~260',
  2143. fyfw: '200~4100',
  2144. fbdj: 'ExdI',
  2145. ccrq: '2010.07',
  2146. sccj: '南阳防爆',
  2147. tjfs: '变频调节',
  2148. plfw: '30~50',
  2149. });
  2150. export const fanInfo = [
  2151. {
  2152. title: '风井',
  2153. code: 'windWell_mainFanInfo',
  2154. value: '一号回风井',
  2155. },
  2156. {
  2157. title: '型号',
  2158. code: 'modelType_mainFanInfo',
  2159. value: 'FBCDZ No.29',
  2160. },
  2161. {
  2162. title: '功率(kW)',
  2163. code: 'powerRating_mainFanInfo',
  2164. value: '2×500',
  2165. },
  2166. {
  2167. title: '额定转速(r/min)',
  2168. code: 'ratedSpeed_mainFanInfo',
  2169. value: '740',
  2170. },
  2171. {
  2172. title: '额定电压(V)',
  2173. code: 'ratedVoltage_mainFanInfo',
  2174. value: '10000',
  2175. },
  2176. {
  2177. title: '额定电流(A)',
  2178. code: 'ratedCurrent_mainFanInfo',
  2179. value: '38.4',
  2180. },
  2181. {
  2182. title: '风量范围(m³/s)',
  2183. code: 'airflowRange_mainFanInfo',
  2184. value: '110~260',
  2185. },
  2186. {
  2187. title: '风压范围(Pa)',
  2188. code: 'pressureRange_mainFanInfo',
  2189. value: '200~4100',
  2190. },
  2191. {
  2192. title: '防爆等级',
  2193. code: 'explosionProofRating_mainFanInfo',
  2194. value: 'ExdI',
  2195. },
  2196. {
  2197. title: '出厂日期',
  2198. code: 'manufactureDate_mainFanInfo',
  2199. value: '2010.07',
  2200. },
  2201. {
  2202. title: '生产厂家',
  2203. code: 'manufacturer_mainFanInfo',
  2204. value: '南阳防爆',
  2205. },
  2206. {
  2207. title: '调节方式',
  2208. code: 'adjustmentMethod_mainFanInfo',
  2209. value: '变频调节',
  2210. },
  2211. {
  2212. title: '频率可调范围(Hz)',
  2213. code: 'angleAdjustableRange_mainFanInfo',
  2214. value: '30~50',
  2215. },
  2216. ];
  2217. export const getSchamas = (): FormSchema[] => {
  2218. return [
  2219. {
  2220. field: 'fj',
  2221. component: 'Input',
  2222. label: '风井',
  2223. colProps: {
  2224. span: 6,
  2225. },
  2226. },
  2227. {
  2228. field: 'xh',
  2229. component: 'Input',
  2230. label: '型号',
  2231. colProps: {
  2232. span: 6,
  2233. },
  2234. },
  2235. {
  2236. field: 'gl',
  2237. component: 'Input',
  2238. label: '功率(kW)',
  2239. colProps: {
  2240. span: 6,
  2241. },
  2242. },
  2243. {
  2244. field: 'edgl',
  2245. component: 'Input',
  2246. label: '额定转速(r/min)',
  2247. colProps: {
  2248. span: 6,
  2249. },
  2250. },
  2251. {
  2252. field: 'eddy',
  2253. component: 'Input',
  2254. label: '额定电压(V)',
  2255. colProps: {
  2256. span: 6,
  2257. },
  2258. },
  2259. {
  2260. field: 'eddl',
  2261. component: 'Input',
  2262. label: '额定电流(A)',
  2263. colProps: {
  2264. span: 6,
  2265. },
  2266. },
  2267. {
  2268. field: 'flfw',
  2269. component: 'Input',
  2270. label: '风量范围(m³/s)',
  2271. colProps: {
  2272. span: 6,
  2273. },
  2274. },
  2275. {
  2276. field: 'fyfw',
  2277. component: 'Input',
  2278. label: '风压范围(Pa)',
  2279. colProps: {
  2280. span: 6,
  2281. },
  2282. },
  2283. {
  2284. field: 'fbdj',
  2285. component: 'Select',
  2286. label: '防爆等级',
  2287. colProps: {
  2288. span: 6,
  2289. },
  2290. componentProps: {
  2291. options: [
  2292. {
  2293. label: 'ExdI',
  2294. value: 'ExdI',
  2295. key: '1',
  2296. },
  2297. ],
  2298. },
  2299. },
  2300. {
  2301. field: 'ccrq',
  2302. component: 'Input',
  2303. label: '出厂日期',
  2304. colProps: {
  2305. span: 6,
  2306. },
  2307. },
  2308. {
  2309. field: 'sccj',
  2310. component: 'Input',
  2311. label: '生产厂家',
  2312. colProps: {
  2313. span: 6,
  2314. },
  2315. },
  2316. {
  2317. field: 'tjfs',
  2318. component: 'Select',
  2319. label: '调节方式',
  2320. colProps: {
  2321. span: 6,
  2322. },
  2323. componentProps: {
  2324. options: [
  2325. {
  2326. label: '变频调节',
  2327. value: '变频调节',
  2328. key: '1',
  2329. },
  2330. ],
  2331. },
  2332. },
  2333. {
  2334. field: 'plfw',
  2335. component: 'Input',
  2336. label: '频率可调范围(Hz)',
  2337. colProps: {
  2338. span: 6,
  2339. },
  2340. },
  2341. ];
  2342. };
  2343. export const getSchamas1 = (): FormSchema[] => {
  2344. return [
  2345. {
  2346. field: 'Hz',
  2347. component: 'InputNumber',
  2348. label: '频率(Hz)',
  2349. required: true,
  2350. colProps: {
  2351. span: 6,
  2352. },
  2353. },
  2354. {
  2355. field: 'a',
  2356. component: 'InputNumber',
  2357. label: '二次项系数',
  2358. required: true,
  2359. colProps: {
  2360. span: 6,
  2361. },
  2362. },
  2363. {
  2364. field: 'b',
  2365. component: 'InputNumber',
  2366. label: '一次项系数',
  2367. required: true,
  2368. colProps: {
  2369. span: 6,
  2370. },
  2371. },
  2372. {
  2373. field: 'c',
  2374. component: 'InputNumber',
  2375. label: '常数项系数',
  2376. required: true,
  2377. colProps: {
  2378. span: 6,
  2379. },
  2380. },
  2381. {
  2382. field: 'min',
  2383. component: 'InputNumber',
  2384. label: '风量下限(m³/s)',
  2385. required: true,
  2386. colProps: {
  2387. span: 6,
  2388. },
  2389. },
  2390. {
  2391. field: 'max',
  2392. component: 'InputNumber',
  2393. label: '风量上限(m³/s)',
  2394. required: true,
  2395. colProps: {
  2396. span: 6,
  2397. },
  2398. },
  2399. ];
  2400. };
  2401. export const lineFormData = reactive({
  2402. Hz: null,
  2403. a: null,
  2404. b: null,
  2405. c: null,
  2406. min: null,
  2407. max: null,
  2408. });
  2409. const componentsCaches = new Map<string, any>();
  2410. export function getModelComponent(is2DModel: boolean = false, modalTyoe: string = '') {
  2411. if (!is2DModel) return EntryThree;
  2412. const getComponent = (name) => {
  2413. if (!componentsCaches.has(name)) {
  2414. componentsCaches.set(name, import(`./components/${name}.vue`));
  2415. }
  2416. return componentsCaches.get(name);
  2417. };
  2418. // @ts-ignore
  2419. return defineAsyncComponent(() => {
  2420. // 为了支持SVG组件切换时不闪烁,先行下载并缓存
  2421. // if (!componentsCaches.has('mainFanSVG')) componentsCaches.set('mainFanSVG', import('./components/mainFanSVG.vue'));
  2422. // if (!componentsCaches.has('mainFanXJSVG')) componentsCaches.set('mainFanXJSVG', import('./components/mainFanXJSVG.vue'));
  2423. switch (modalTyoe) {
  2424. case 'lijing':
  2425. return getComponent('mainFanSVG');
  2426. case 'xiejing':
  2427. return getComponent('mainFanXJSVG');
  2428. case 'lijing1':
  2429. //立井(风筒竖直)
  2430. return getComponent('mainFanSZSVG');
  2431. case 'lijing_3':
  2432. //立井(3个井筒)
  2433. return getComponent('mainFanSVG');
  2434. case 'lijing_1':
  2435. //立井(1个风筒)
  2436. return getComponent('mainFanSVG');
  2437. default:
  2438. return getComponent('mainFanSVG');
  2439. }
  2440. });
  2441. }
  2442. // ==================== 不停风倒机模拟配置 ====================
  2443. /** 模拟状态枚举 */
  2444. export enum SimState {
  2445. IDLE = 'IDLE',
  2446. INIT = 'INIT',
  2447. OPEN_SKYLIGHT = 'OPEN_SKYLIGHT',
  2448. STABILIZE = 'STABILIZE',
  2449. TRANSFER = 'TRANSFER',
  2450. REVERSE = 'REVERSE',
  2451. END = 'END',
  2452. COMPLETE = 'COMPLETE',
  2453. ABORTED = 'ABORTED',
  2454. }
  2455. /** 模拟步骤名称映射 */
  2456. export const SIM_STEP_NAMES: Record<SimState, string> = {
  2457. [SimState.IDLE]: '待机',
  2458. [SimState.INIT]: '初始化',
  2459. [SimState.OPEN_SKYLIGHT]: '开启目标天窗',
  2460. [SimState.STABILIZE]: '等待风量稳定',
  2461. [SimState.TRANSFER]: '逐步切换',
  2462. [SimState.REVERSE]: '回退调整',
  2463. [SimState.END]: '完成切换',
  2464. [SimState.COMPLETE]: '倒机完成',
  2465. [SimState.ABORTED]: '已终止',
  2466. };
  2467. /** 模拟配置参数 */
  2468. export const SIM_CONFIG = {
  2469. targetSkylightMax: 5.0, // m^2, 天窗最大面积
  2470. gateMax: 7.0, // m^2, 闸板门最大面积
  2471. totalSteps: 12, // 切换步数
  2472. stepDuration: 28, // 每步秒数 (12*28=336s)
  2473. dS: 0.42, // 面积步长 m^2 (5.00/12)
  2474. stabilizeWait: 10, // 稳定等待秒数
  2475. skylightOpenWait: 30, // 天窗开启等待秒数
  2476. maxDelta: 0.2, // 风量波动阈值 20%
  2477. tickInterval: 500, // 数据刷新间隔 ms
  2478. areaMonitorMaxError: 0.008, // 天窗/闸板门到位值最大误差 ±0.8% FS
  2479. };
  2480. /** 模拟字段初始值 */
  2481. export const SIM_INIT_FIELDS = {
  2482. Fan1WindowArea: undefined,
  2483. Fan1GateArea: undefined,
  2484. Fan2WindowArea: undefined,
  2485. Fan2GateArea: undefined,
  2486. simState: SimState.IDLE,
  2487. simStep: 0,
  2488. simTotalSteps: 0,
  2489. simElapsed: 0,
  2490. simSpeed: 1,
  2491. simDirection: '',
  2492. simAirflowDelta: 0,
  2493. simStepName: '',
  2494. simStepLog: [],
  2495. simStepDetail: '',
  2496. };