MatrixMonitor.vue 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100
  1. <template>
  2. <view>
  3. <!--导航栏-->
  4. <cu-custom bgColor="bg-blacks" :isBack="false">
  5. <block slot="right">
  6. <image src="../../static/picture/fourLine.png" style="width: 30px;height: 30px;margin-left: 2%;" @tap="openDrawer"></image>
  7. </block>
  8. <block slot="right">
  9. <view class="icon cuIcon-notice text-white" v-if="badge != 0" style="margin-left: -70%;">
  10. <view class="cu-tag looknumber" style="margin-top: -2%;">
  11. <block v-if="badge != 1">{{ badge > 99 ? '99+' : badge }}</block>
  12. </view>
  13. </view>
  14. </block>
  15. <block slot="right">
  16. </block>
  17. <block slot="content">{{address}}</block>
  18. <block slot="right">
  19. <view class="plus" @tap="showModal" data-target="viewModal">+</view>
  20. </block>
  21. </cu-custom>
  22. <!-- 抽屉组件 -->
  23. <div v-if="conflict==false">
  24. <drawer ref="drawer"></drawer>
  25. </div>
  26. <div class="plusDrawer" @tap="closePlusDrawer">
  27. <plusDrawer ref="plusDrawer"></plusDrawer>
  28. </div>
  29. <scroll-view scroll-y class="DrawerPage" :class="modalName == 'viewModal' ? 'show' : ''">
  30. <view class="windStationNameAndChoice">
  31. <view class="windStationName">{{ windStationName }}</view>
  32. <view class="windStationChoice"><a @click="showCenterVisible = true">其他ㅤ〉</a></view>
  33. <!-- @tap="showModal" data-target="DialogModal1" -->
  34. <!-- @tap="changeModalStaus" @click="showCenterVisible = true" -->
  35. </view>
  36. <!-- 选择风场弹窗 -->
  37. <!-- <view class="cu-modal" :class="modalName=='DialogModal1'?'show':''">
  38. <view class="cu-dialog">
  39. <view class="cu-bar bg-gradual-sisBlack justify-end">
  40. <view class="content" style="text-align: left;">选择您想查看的风场</view>
  41. <view class="action" @tap="hideModal">
  42. <text class="cuIcon-close text-white"></text>
  43. </view>
  44. </view>
  45. <view class="cu-bar bg-gray justify-end">
  46. <view class="action" style="width: 100%;margin: 0px;">
  47. <view class="windStationList" :style="{ 'height': windStationListHeight}">
  48. <view class="windStationItemContainer" v-for="(item,index) in windStation" :key="index" :class="[choiceIndex==index?'windStationItemContainerBlack':'windStationItemContainer']" >
  49. <view class="windStationItem" @tap="choiceWindStation(item,index)">{{item}}</view>
  50. </view>
  51. </view>
  52. </view>
  53. </view>
  54. </view>
  55. </view> -->
  56. <s-popup custom-class="center-popup" position="center" v-model="showCenterVisible">
  57. <view class="s-popup-wrapper" :style="{'height': spopupWrapperHeight}">
  58. <view class="s-popup-title">
  59. <view class="s-popup-word">选择您想查看的风场</view>
  60. <view class="s-popup-cha"><a @tap="showCenterVisible = false">×</a></view>
  61. </view>
  62. <view class="windStationList" :style="{ 'height': windStationListHeight}">
  63. <view class="windStationItemContainer" v-for="(item,index) in windFielddata" :key="index" :class="[choiceIndex==index?'windStationItemContainerBlack':'windStationItemContainer']">
  64. <view class="windStationItem" @tap="choiceWindStation(item,index)">{{item.name}}</view>
  65. </view>
  66. </view>
  67. </view>
  68. </s-popup>
  69. <!-- 风机状态卡片 -->
  70. <view class="windMotorStatusContainer">
  71. <view class="windMotorStatusCardJieRu" :class="[clickFlag == 'jieRu' ? 'windMotorStatusCardJieRuRed' : 'windMotorStatusCardJieRu']"
  72. @tap="clickWindMotorStatusCard('jieRu')">
  73. <view class="windMotorStatusCardIcon">
  74. <image src="../../static/picture/001.png" style="width: 25px;height: 25px;"></image>
  75. </view>
  76. 接入 {{ jieRu }}
  77. </view>
  78. <view class="windMotorStatusCardYunXing" :class="[clickFlag == 'yunXing' ? 'windMotorStatusCardYunXingRed' : 'windMotorStatusCardYunXing']"
  79. @tap="clickWindMotorStatusCard('yunXing')">
  80. <view class="windMotorStatusCardIcon">
  81. <image src="../../static/picture/003.png" style="width: 25px;height: 25px;"></image>
  82. </view>
  83. 运行 {{ yunXing }}
  84. </view>
  85. <view class="windMotorStatusCardDaiJi" :class="[clickFlag == 'daiJi' ? 'windMotorStatusCardDaiJiRed' : 'windMotorStatusCardDaiJi']"
  86. @tap="clickWindMotorStatusCard('daiJi')">
  87. <view class="windMotorStatusCardIcon">
  88. <image src="../../static/picture/002.png" style="width: 25px;height: 25px;"></image>
  89. </view>
  90. 待机 {{ daiJi }}
  91. </view>
  92. <view class="windMotorStatusCardJianXiu" :class="[clickFlag == 'jianXiu' ? 'windMotorStatusCardJianXiuRed' : 'windMotorStatusCardJianXiu']"
  93. @tap="clickWindMotorStatusCard('jianXiu')">
  94. <view class="windMotorStatusCardIcon">
  95. <image src="../../static/picture/005.png" style="width: 25px;height: 25px;"></image>
  96. </view>
  97. 检修 {{ jianXiu }}
  98. </view>
  99. <view class="windMotorStatusCardGuZhang" :class="[clickFlag == 'guZhang' ? 'windMotorStatusCardGuZhangRed' : 'windMotorStatusCardGuZhang']"
  100. @tap="clickWindMotorStatusCard('guZhang')">
  101. <view class="windMotorStatusCardIcon">
  102. <image src="../../static/picture/004.png" style="width: 25px;height: 25px;"></image>
  103. </view>
  104. 故障 {{ guZhang }}
  105. </view>
  106. <view class="windMotorStatusCardXianDian" :class="[clickFlag == 'xianDian' ? 'windMotorStatusCardXianDianRed' : 'windMotorStatusCardXianDian']"
  107. @tap="clickWindMotorStatusCard('xianDian')">
  108. <view class="windMotorStatusCardIcon">
  109. <image src="../../static/picture/008.png" style="width: 25px;height: 25px;"></image>
  110. </view>
  111. 限电 {{ xianDian }}
  112. </view>
  113. <view class="windMotorStatusCardShouLei" :class="[clickFlag == 'shouLei' ? 'windMotorStatusCardShouLeiRed' : 'windMotorStatusCardShouLei']"
  114. @tap="clickWindMotorStatusCard('shouLei')">
  115. <view class="windMotorStatusCardIcon">
  116. <image src="../../static/picture/007.png" style="width: 25px;height: 25px;"></image>
  117. </view>
  118. 受累 {{ shouLei }}
  119. </view>
  120. <view class="windMotorStatusCardLiXian" :class="[clickFlag == 'liXian' ? 'windMotorStatusCardLiXianRed' : 'windMotorStatusCardLiXian']"
  121. @tap="clickWindMotorStatusCard('liXian')">
  122. <view class="windMotorStatusCardIcon">
  123. <image src="../../static/picture/006.png" style="width: 25px;height: 25px;"></image>
  124. </view>
  125. 离线 {{ liXian }}
  126. </view>
  127. </view>
  128. <!-- 轮播圆点-->
  129. <swiper class="card-swiper" :class="dotStyle ? 'square-dot' : 'round-dot'" :indicator-dots="true" :circular="true"
  130. :autoplay="false" interval="5000" duration="500" @change="cardSwiper" indicator-color="#8799a3"
  131. indicator-active-color="#F14E51" :current="cardCur">
  132. <swiper-item v-for="(item, index) in windFielddata" :key="index" :class="cardCur == index ? 'cur' : ''">
  133. <view class="swiper-item"></view>
  134. </swiper-item>
  135. </swiper>
  136. <!-- 轮播卡片 -->
  137. <view class="windMotorMatrixContainer" :style="{ height: windMotorMatrixContainerHeight }">
  138. <swiper id="swiper1" class="screen-swiper" :class="dotStyle ? 'square-dot' : 'round-dot'" :indicator-dots="false"
  139. :circular="false" :autoplay="false" interval="5000" duration="500" :style="{ height: windMotorMatrixContainerHeight }"
  140. :current="cardCur" @change="cardSwiper">
  141. <swiper-item v-for="(item, index) in windStation" :key="index">
  142. <scroll-view scroll-y scroll-with-animation class="scrollList" :style="{ height: windMotorMatrixContainerHeight }">
  143. <view class="windMotorMatrixList" :style="{ height: windMotorMatrixListHeight }">
  144. <view class="windMotorMatrixDetail" v-for="(item2, index2) in windMotorMatrixDetail" :key="index2" :style="{ 'background-color': detailBackgroundColor[index2] }">
  145. <view class="windMotorMatrixDetailIcon">
  146. <image :src="'../../static/picture/' + item2.icon + '.png'" style="width: 25px;height: 25px;"></image>
  147. </view>
  148. <view class="windMotorMatrixDetailSpeed">{{ item2.speed }}m/s</view>
  149. <view class="windMotorMatrixDetailId">{{ item2.id }}</view>
  150. <view class="windMotorMatrixDetailPower">{{ item2.power }}kw</view>
  151. </view>
  152. </view>
  153. </scroll-view>
  154. </swiper-item>
  155. </swiper>
  156. </view>
  157. <!-- 切换轮播卡片的提示框 -->
  158. <view class="cu-modal" :class="modalName == 'Modal' ? 'show' : ''">
  159. <view class="cu-dialog">
  160. <view class="padding-xl bg-black">{{ modalWindStationName }}</view>
  161. </view>
  162. </view>
  163. </scroll-view>
  164. <view class="DrawerClose" :class="modalName == 'viewModal' ? 'show' : ''" @tap="hideModal"><text class="cuIcon-pullright"></text></view>
  165. </view>
  166. </template>
  167. <script>
  168. import drawer from '../../components/drawer/threeLineDrawer.vue';
  169. import plusDrawer from '../../components/drawer/plusDrawer.vue';
  170. import sPopup from '@/s-popup';
  171. export default {
  172. components: {
  173. drawer: drawer,
  174. plusDrawer: plusDrawer,
  175. sPopup: sPopup
  176. },
  177. data: function() {
  178. return {
  179. conflict: false,
  180. address: '',
  181. userid: '',
  182. permissionsInformation: [],
  183. badge: 22,
  184. drawerList: [],
  185. plusDrawerList: [],
  186. windStationName: '',
  187. modalWindStationName: '',
  188. CustomBar: this.CustomBar,
  189. modalName: null,
  190. showCenterVisible: false,
  191. windStation: [],
  192. choiceIndex: -1,
  193. clickFlag: 'jieRu',
  194. cardCur: 0,
  195. dotStyle: false,
  196. windowWidth: '',
  197. leftNavigationtitle: '监视功能分组',
  198. windowHeight: '',
  199. spopupWrapperHeight: "",
  200. windStationListHeight: '',
  201. windMotorMatrixContainerHeight: '',
  202. windMotorMatrixListHeight: '',
  203. detailBackgroundColor: [],
  204. windMotorMatrixDetailMaHuagShan: [{
  205. icon: '003',
  206. id: 'A01',
  207. speed: '6.04',
  208. power: '567'
  209. },
  210. {
  211. icon: '003',
  212. id: 'A02',
  213. speed: '6.04',
  214. power: '567'
  215. },
  216. {
  217. icon: '003',
  218. id: 'A03',
  219. speed: '6.04',
  220. power: '567'
  221. },
  222. {
  223. icon: '003',
  224. id: 'A04',
  225. speed: '6.04',
  226. power: '567'
  227. },
  228. {
  229. icon: '003',
  230. id: 'A05',
  231. speed: '6.04',
  232. power: '567'
  233. },
  234. {
  235. icon: '003',
  236. id: 'A06',
  237. speed: '6.04',
  238. power: '567'
  239. },
  240. {
  241. icon: '003',
  242. id: 'A07',
  243. speed: '6.04',
  244. power: '567'
  245. },
  246. {
  247. icon: '003',
  248. id: 'A08',
  249. speed: '6.04',
  250. power: '567'
  251. },
  252. {
  253. icon: '003',
  254. id: 'A09',
  255. speed: '6.04',
  256. power: '567'
  257. },
  258. {
  259. icon: '003',
  260. id: 'A10',
  261. speed: '6.04',
  262. power: '567'
  263. },
  264. {
  265. icon: '002',
  266. id: 'A11',
  267. speed: '6.04',
  268. power: '567'
  269. },
  270. {
  271. icon: '003',
  272. id: 'A12',
  273. speed: '6.04',
  274. power: '567'
  275. },
  276. {
  277. icon: '003',
  278. id: 'A13',
  279. speed: '6.04',
  280. power: '567'
  281. },
  282. {
  283. icon: '003',
  284. id: 'A14',
  285. speed: '6.04',
  286. power: '567'
  287. },
  288. {
  289. icon: '003',
  290. id: 'A15',
  291. speed: '6.04',
  292. power: '567'
  293. },
  294. {
  295. icon: '003',
  296. id: 'A16',
  297. speed: '6.04',
  298. power: '567'
  299. },
  300. {
  301. icon: '002',
  302. id: 'A17',
  303. speed: '6.04',
  304. power: '567'
  305. },
  306. {
  307. icon: '003',
  308. id: 'A18',
  309. speed: '6.04',
  310. power: '567'
  311. },
  312. {
  313. icon: '003',
  314. id: 'A19',
  315. speed: '6.04',
  316. power: '567'
  317. },
  318. {
  319. icon: '003',
  320. id: 'A20',
  321. speed: '6.04',
  322. power: '567'
  323. },
  324. {
  325. icon: '003',
  326. id: 'A21',
  327. speed: '6.04',
  328. power: '567'
  329. },
  330. {
  331. icon: '003',
  332. id: 'A22',
  333. speed: '6.04',
  334. power: '567'
  335. },
  336. {
  337. icon: '002',
  338. id: 'A23',
  339. speed: '6.04',
  340. power: '567'
  341. },
  342. {
  343. icon: '003',
  344. id: 'A24',
  345. speed: '6.04',
  346. power: '567'
  347. },
  348. {
  349. icon: '003',
  350. id: 'A25',
  351. speed: '6.04',
  352. power: '567'
  353. },
  354. {
  355. icon: '003',
  356. id: 'A26',
  357. speed: '6.04',
  358. power: '567'
  359. },
  360. {
  361. icon: '003',
  362. id: 'A27',
  363. speed: '6.04',
  364. power: '567'
  365. },
  366. {
  367. icon: '003',
  368. id: 'A28',
  369. speed: '6.04',
  370. power: '567'
  371. },
  372. {
  373. icon: '005',
  374. id: 'A29',
  375. speed: '6.04',
  376. power: '567'
  377. },
  378. {
  379. icon: '003',
  380. id: 'A30',
  381. speed: '6.04',
  382. power: '567'
  383. },
  384. {
  385. icon: '003',
  386. id: 'A31',
  387. speed: '6.04',
  388. power: '567'
  389. },
  390. {
  391. icon: '003',
  392. id: 'A32',
  393. speed: '6.04',
  394. power: '567'
  395. },
  396. {
  397. icon: '003',
  398. id: 'A33',
  399. speed: '6.04',
  400. power: '567'
  401. },
  402. {
  403. icon: '003',
  404. id: 'A34',
  405. speed: '6.04',
  406. power: '567'
  407. },
  408. {
  409. icon: '004',
  410. id: 'A35',
  411. speed: '6.04',
  412. power: '567'
  413. },
  414. {
  415. icon: '003',
  416. id: 'A36',
  417. speed: '6.04',
  418. power: '567'
  419. },
  420. {
  421. icon: '003',
  422. id: 'A37',
  423. speed: '6.04',
  424. power: '567'
  425. },
  426. {
  427. icon: '003',
  428. id: 'A38',
  429. speed: '6.04',
  430. power: '567'
  431. },
  432. {
  433. icon: '003',
  434. id: 'A39',
  435. speed: '6.04',
  436. power: '567'
  437. },
  438. {
  439. icon: '003',
  440. id: 'A40',
  441. speed: '6.04',
  442. power: '567'
  443. },
  444. {
  445. icon: '008',
  446. id: 'A41',
  447. speed: '6.04',
  448. power: '567'
  449. },
  450. {
  451. icon: '003',
  452. id: 'A42',
  453. speed: '6.04',
  454. power: '567'
  455. },
  456. {
  457. icon: '003',
  458. id: 'A43',
  459. speed: '6.04',
  460. power: '567'
  461. },
  462. {
  463. icon: '003',
  464. id: 'A44',
  465. speed: '6.04',
  466. power: '567'
  467. },
  468. {
  469. icon: '003',
  470. id: 'A45',
  471. speed: '6.04',
  472. power: '567'
  473. },
  474. {
  475. icon: '003',
  476. id: 'A46',
  477. speed: '6.04',
  478. power: '567'
  479. },
  480. {
  481. icon: '002',
  482. id: 'A47',
  483. speed: '6.04',
  484. power: '567'
  485. },
  486. {
  487. icon: '003',
  488. id: 'A48',
  489. speed: '6.04',
  490. power: '567'
  491. },
  492. {
  493. icon: '003',
  494. id: 'A49',
  495. speed: '6.04',
  496. power: '567'
  497. },
  498. {
  499. icon: '003',
  500. id: 'A50',
  501. speed: '6.04',
  502. power: '567'
  503. },
  504. {
  505. icon: '003',
  506. id: 'A51',
  507. speed: '6.04',
  508. power: '567'
  509. },
  510. {
  511. icon: '003',
  512. id: 'A52',
  513. speed: '6.04',
  514. power: '567'
  515. },
  516. {
  517. icon: '006',
  518. id: 'A53',
  519. speed: '6.04',
  520. power: '567'
  521. },
  522. {
  523. icon: '003',
  524. id: 'A54',
  525. speed: '6.04',
  526. power: '567'
  527. },
  528. {
  529. icon: '003',
  530. id: 'A55',
  531. speed: '6.04',
  532. power: '567'
  533. },
  534. {
  535. icon: '003',
  536. id: 'A56',
  537. speed: '6.04',
  538. power: '567'
  539. },
  540. {
  541. icon: '003',
  542. id: 'A57',
  543. speed: '6.04',
  544. power: '567'
  545. },
  546. {
  547. icon: '003',
  548. id: 'A58',
  549. speed: '6.04',
  550. power: '567'
  551. },
  552. {
  553. icon: '007',
  554. id: 'A59',
  555. speed: '6.04',
  556. power: '567'
  557. },
  558. {
  559. icon: '003',
  560. id: 'A60',
  561. speed: '6.04',
  562. power: '567'
  563. },
  564. {
  565. icon: '003',
  566. id: 'A61',
  567. speed: '6.04',
  568. power: '567'
  569. },
  570. {
  571. icon: '003',
  572. id: 'A62',
  573. speed: '6.04',
  574. power: '567'
  575. },
  576. {
  577. icon: '003',
  578. id: 'A63',
  579. speed: '6.04',
  580. power: '567'
  581. },
  582. {
  583. icon: '002',
  584. id: 'A64',
  585. speed: '6.04',
  586. power: '567'
  587. },
  588. {
  589. icon: '002',
  590. id: 'A65',
  591. speed: '6.04',
  592. power: '567'
  593. },
  594. {
  595. icon: '003',
  596. id: 'A66',
  597. speed: '6.04',
  598. power: '567'
  599. },
  600. {
  601. icon: '003',
  602. id: 'A67',
  603. speed: '6.04',
  604. power: '567'
  605. },
  606. {
  607. icon: '003',
  608. id: 'A68',
  609. speed: '6.04',
  610. power: '567'
  611. },
  612. {
  613. icon: '003',
  614. id: 'A69',
  615. speed: '6.04',
  616. power: '567'
  617. },
  618. {
  619. icon: '003',
  620. id: 'A70',
  621. speed: '6.04',
  622. power: '567'
  623. },
  624. {
  625. icon: '008',
  626. id: 'A71',
  627. speed: '6.04',
  628. power: '567'
  629. },
  630. {
  631. icon: '003',
  632. id: 'A72',
  633. speed: '6.04',
  634. power: '567'
  635. },
  636. {
  637. icon: '003',
  638. id: 'A73',
  639. speed: '6.04',
  640. power: '567'
  641. },
  642. {
  643. icon: '003',
  644. id: 'A74',
  645. speed: '6.04',
  646. power: '567'
  647. },
  648. {
  649. icon: '003',
  650. id: 'A75',
  651. speed: '6.04',
  652. power: '567'
  653. },
  654. {
  655. icon: '003',
  656. id: 'A76',
  657. speed: '6.04',
  658. power: '567'
  659. },
  660. {
  661. icon: '006',
  662. id: 'A77',
  663. speed: '6.04',
  664. power: '567'
  665. },
  666. {
  667. icon: '003',
  668. id: 'A78',
  669. speed: '6.04',
  670. power: '567'
  671. },
  672. {
  673. icon: '003',
  674. id: 'A79',
  675. speed: '6.04',
  676. power: '567'
  677. },
  678. {
  679. icon: '003',
  680. id: 'A80',
  681. speed: '6.04',
  682. power: '567'
  683. }
  684. ],
  685. windMotorMatrixDetailNiuShouShan: [{
  686. icon: '003',
  687. id: 'A01',
  688. speed: '6.04',
  689. power: '567'
  690. },
  691. {
  692. icon: '003',
  693. id: 'A02',
  694. speed: '6.04',
  695. power: '567'
  696. },
  697. {
  698. icon: '002',
  699. id: 'A03',
  700. speed: '6.04',
  701. power: '567'
  702. },
  703. {
  704. icon: '003',
  705. id: 'A04',
  706. speed: '6.04',
  707. power: '567'
  708. },
  709. {
  710. icon: '003',
  711. id: 'A05',
  712. speed: '6.04',
  713. power: '567'
  714. },
  715. {
  716. icon: '003',
  717. id: 'A06',
  718. speed: '6.04',
  719. power: '567'
  720. },
  721. {
  722. icon: '003',
  723. id: 'A07',
  724. speed: '6.04',
  725. power: '567'
  726. },
  727. {
  728. icon: '003',
  729. id: 'A08',
  730. speed: '6.04',
  731. power: '567'
  732. },
  733. {
  734. icon: '003',
  735. id: 'A09',
  736. speed: '6.04',
  737. power: '567'
  738. },
  739. {
  740. icon: '003',
  741. id: 'A10',
  742. speed: '6.04',
  743. power: '567'
  744. },
  745. {
  746. icon: '002',
  747. id: 'A11',
  748. speed: '6.04',
  749. power: '567'
  750. },
  751. {
  752. icon: '003',
  753. id: 'A12',
  754. speed: '6.04',
  755. power: '567'
  756. },
  757. {
  758. icon: '003',
  759. id: 'A13',
  760. speed: '6.04',
  761. power: '567'
  762. },
  763. {
  764. icon: '003',
  765. id: 'A14',
  766. speed: '6.04',
  767. power: '567'
  768. },
  769. {
  770. icon: '003',
  771. id: 'A15',
  772. speed: '6.04',
  773. power: '567'
  774. },
  775. {
  776. icon: '003',
  777. id: 'A16',
  778. speed: '6.04',
  779. power: '567'
  780. },
  781. {
  782. icon: '008',
  783. id: 'A17',
  784. speed: '6.04',
  785. power: '567'
  786. },
  787. {
  788. icon: '003',
  789. id: 'A18',
  790. speed: '6.04',
  791. power: '567'
  792. },
  793. {
  794. icon: '003',
  795. id: 'A19',
  796. speed: '6.04',
  797. power: '567'
  798. },
  799. {
  800. icon: '003',
  801. id: 'A20',
  802. speed: '6.04',
  803. power: '567'
  804. },
  805. {
  806. icon: '003',
  807. id: 'A21',
  808. speed: '6.04',
  809. power: '567'
  810. },
  811. {
  812. icon: '003',
  813. id: 'A22',
  814. speed: '6.04',
  815. power: '567'
  816. },
  817. {
  818. icon: '002',
  819. id: 'A23',
  820. speed: '6.04',
  821. power: '567'
  822. },
  823. {
  824. icon: '003',
  825. id: 'A24',
  826. speed: '6.04',
  827. power: '567'
  828. },
  829. {
  830. icon: '003',
  831. id: 'A25',
  832. speed: '6.04',
  833. power: '567'
  834. },
  835. {
  836. icon: '003',
  837. id: 'A26',
  838. speed: '6.04',
  839. power: '567'
  840. },
  841. {
  842. icon: '003',
  843. id: 'A27',
  844. speed: '6.04',
  845. power: '567'
  846. },
  847. {
  848. icon: '003',
  849. id: 'A28',
  850. speed: '6.04',
  851. power: '567'
  852. },
  853. {
  854. icon: '005',
  855. id: 'A29',
  856. speed: '6.04',
  857. power: '567'
  858. },
  859. {
  860. icon: '003',
  861. id: 'A30',
  862. speed: '6.04',
  863. power: '567'
  864. },
  865. {
  866. icon: '003',
  867. id: 'A31',
  868. speed: '6.04',
  869. power: '567'
  870. },
  871. {
  872. icon: '003',
  873. id: 'A32',
  874. speed: '6.04',
  875. power: '567'
  876. },
  877. {
  878. icon: '003',
  879. id: 'A33',
  880. speed: '6.04',
  881. power: '567'
  882. },
  883. {
  884. icon: '003',
  885. id: 'A34',
  886. speed: '6.04',
  887. power: '567'
  888. },
  889. {
  890. icon: '004',
  891. id: 'A35',
  892. speed: '6.04',
  893. power: '567'
  894. },
  895. {
  896. icon: '003',
  897. id: 'A36',
  898. speed: '6.04',
  899. power: '567'
  900. },
  901. {
  902. icon: '003',
  903. id: 'A37',
  904. speed: '6.04',
  905. power: '567'
  906. },
  907. {
  908. icon: '003',
  909. id: 'A38',
  910. speed: '6.04',
  911. power: '567'
  912. },
  913. {
  914. icon: '003',
  915. id: 'A39',
  916. speed: '6.04',
  917. power: '567'
  918. },
  919. {
  920. icon: '003',
  921. id: 'A40',
  922. speed: '6.04',
  923. power: '567'
  924. },
  925. {
  926. icon: '002',
  927. id: 'A41',
  928. speed: '6.04',
  929. power: '567'
  930. },
  931. {
  932. icon: '003',
  933. id: 'A42',
  934. speed: '6.04',
  935. power: '567'
  936. },
  937. {
  938. icon: '003',
  939. id: 'A43',
  940. speed: '6.04',
  941. power: '567'
  942. },
  943. {
  944. icon: '003',
  945. id: 'A44',
  946. speed: '6.04',
  947. power: '567'
  948. },
  949. {
  950. icon: '003',
  951. id: 'A45',
  952. speed: '6.04',
  953. power: '567'
  954. },
  955. {
  956. icon: '003',
  957. id: 'A46',
  958. speed: '6.04',
  959. power: '567'
  960. },
  961. {
  962. icon: '002',
  963. id: 'A47',
  964. speed: '6.04',
  965. power: '567'
  966. },
  967. {
  968. icon: '003',
  969. id: 'A48',
  970. speed: '6.04',
  971. power: '567'
  972. },
  973. {
  974. icon: '003',
  975. id: 'A49',
  976. speed: '6.04',
  977. power: '567'
  978. },
  979. {
  980. icon: '003',
  981. id: 'A50',
  982. speed: '6.04',
  983. power: '567'
  984. },
  985. {
  986. icon: '003',
  987. id: 'A51',
  988. speed: '6.04',
  989. power: '567'
  990. },
  991. {
  992. icon: '003',
  993. id: 'A52',
  994. speed: '6.04',
  995. power: '567'
  996. },
  997. {
  998. icon: '006',
  999. id: 'A53',
  1000. speed: '6.04',
  1001. power: '567'
  1002. },
  1003. {
  1004. icon: '003',
  1005. id: 'A54',
  1006. speed: '6.04',
  1007. power: '567'
  1008. },
  1009. {
  1010. icon: '003',
  1011. id: 'A55',
  1012. speed: '6.04',
  1013. power: '567'
  1014. },
  1015. {
  1016. icon: '003',
  1017. id: 'A56',
  1018. speed: '6.04',
  1019. power: '567'
  1020. },
  1021. {
  1022. icon: '003',
  1023. id: 'A57',
  1024. speed: '6.04',
  1025. power: '567'
  1026. },
  1027. {
  1028. icon: '003',
  1029. id: 'A58',
  1030. speed: '6.04',
  1031. power: '567'
  1032. },
  1033. {
  1034. icon: '007',
  1035. id: 'A59',
  1036. speed: '6.04',
  1037. power: '567'
  1038. },
  1039. {
  1040. icon: '003',
  1041. id: 'A60',
  1042. speed: '6.04',
  1043. power: '567'
  1044. },
  1045. {
  1046. icon: '003',
  1047. id: 'A61',
  1048. speed: '6.04',
  1049. power: '567'
  1050. },
  1051. {
  1052. icon: '003',
  1053. id: 'A62',
  1054. speed: '6.04',
  1055. power: '567'
  1056. },
  1057. {
  1058. icon: '003',
  1059. id: 'A63',
  1060. speed: '6.04',
  1061. power: '567'
  1062. },
  1063. {
  1064. icon: '002',
  1065. id: 'A64',
  1066. speed: '6.04',
  1067. power: '567'
  1068. },
  1069. {
  1070. icon: '002',
  1071. id: 'A65',
  1072. speed: '6.04',
  1073. power: '567'
  1074. },
  1075. {
  1076. icon: '003',
  1077. id: 'A66',
  1078. speed: '6.04',
  1079. power: '567'
  1080. },
  1081. {
  1082. icon: '003',
  1083. id: 'A67',
  1084. speed: '6.04',
  1085. power: '567'
  1086. },
  1087. {
  1088. icon: '003',
  1089. id: 'A68',
  1090. speed: '6.04',
  1091. power: '567'
  1092. },
  1093. {
  1094. icon: '003',
  1095. id: 'A69',
  1096. speed: '6.04',
  1097. power: '567'
  1098. },
  1099. {
  1100. icon: '003',
  1101. id: 'A70',
  1102. speed: '6.04',
  1103. power: '567'
  1104. },
  1105. {
  1106. icon: '008',
  1107. id: 'A71',
  1108. speed: '6.04',
  1109. power: '567'
  1110. },
  1111. {
  1112. icon: '003',
  1113. id: 'A72',
  1114. speed: '6.04',
  1115. power: '567'
  1116. },
  1117. {
  1118. icon: '003',
  1119. id: 'A73',
  1120. speed: '6.04',
  1121. power: '567'
  1122. },
  1123. {
  1124. icon: '003',
  1125. id: 'A74',
  1126. speed: '6.04',
  1127. power: '567'
  1128. },
  1129. {
  1130. icon: '003',
  1131. id: 'A75',
  1132. speed: '6.04',
  1133. power: '567'
  1134. },
  1135. {
  1136. icon: '003',
  1137. id: 'A76',
  1138. speed: '6.04',
  1139. power: '567'
  1140. },
  1141. {
  1142. icon: '006',
  1143. id: 'A77',
  1144. speed: '6.04',
  1145. power: '567'
  1146. },
  1147. {
  1148. icon: '003',
  1149. id: 'A78',
  1150. speed: '6.04',
  1151. power: '567'
  1152. },
  1153. {
  1154. icon: '003',
  1155. id: 'A79',
  1156. speed: '6.04',
  1157. power: '567'
  1158. },
  1159. {
  1160. icon: '003',
  1161. id: 'A80',
  1162. speed: '6.04',
  1163. power: '567'
  1164. }
  1165. ],
  1166. windMotorMatrixDetail: [],
  1167. windMotorMatrixDetailJieAll: [],
  1168. jieRu: 0,
  1169. yunXing: 0,
  1170. daiJi: 0,
  1171. jianXiu: 0,
  1172. guZhang: 0,
  1173. xianDian: 0,
  1174. shouLei: 0,
  1175. liXian: 0,
  1176. windFielddata:[],
  1177. };
  1178. },
  1179. // onLoad(option) {
  1180. // this.option=option.option;
  1181. // if(option.option=="宁夏新能源公司"){
  1182. // this.windStation=["麻黄山风电场","牛首山风电场","石板泉风电场","青山风电场","香山风电场"];
  1183. // }
  1184. // if(option.option=="麻黄山"){
  1185. // this.windStation=["麻黄山风电场","麻黄山一期","麻黄山二期","麻黄山三期"];
  1186. // }
  1187. // this.windStationListHeight=(this.windStation.length*50+40)+"px"
  1188. // },
  1189. onShow: function() {
  1190. this.address = this.dataprocessing.getWindPowerStationName();
  1191. this.FDC = this.dataprocessing.getWindPowerStationId();
  1192. this.windPowerStationId = this.dataprocessing.getWindPowerStationId();
  1193. this.viewUserid();
  1194. this.monitoringAuthority();
  1195. this.getProjectcollection();
  1196. // this.getWindfarmconnectioninformation();
  1197. },
  1198. created: function() {
  1199. this.viewUserid();
  1200. this.monitoringAuthority();
  1201. this.getProjectcollection();
  1202. // this.getWindfarmconnectioninformation();
  1203. this.address = this.dataprocessing.getWindPowerStationName();
  1204. this.FDC = this.dataprocessing.getWindPowerStationId();
  1205. this.windPowerStationId = this.dataprocessing.getWindPowerStationId();
  1206. this.$nextTick(function() {
  1207. //this.getWeatherDataToday();
  1208. //this.getWeatherData7();
  1209. });
  1210. this.cWidth = uni.upx2px(2000);
  1211. this.cHeight = uni.upx2px(350);
  1212. this.cWidth40 = uni.upx2px(5000);
  1213. this.cHeight40 = uni.upx2px(350);
  1214. this.windStation = this.dataprocessing.getWindPowerStationNameByNames(this.address);
  1215. this.windStationName = this.windStation[0].replace('风电场', '');
  1216. this.windStationListHeight = this.windStation.length * 50 + 40 + 'px';
  1217. this.spopupWrapperHeight = this.windStation.length * 50 + 90 + 'px';
  1218. this.windowWidth = uni.getSystemInfoSync().windowWidth;
  1219. this.windowHeight = uni.getSystemInfoSync().windowHeight;
  1220. this.windMotorMatrixContainerHeight = this.windowHeight - 300 + 'px';
  1221. this.windMotorMatrixDetailAll = this.windMotorMatrixDetailMaHuagShan;
  1222. this.windMotorMatrixDetail = this.windMotorMatrixDetailAll;
  1223. this.windMotorMatrixListHeight =
  1224. 'calc(' + Math.ceil(this.windMotorMatrixDetail.length / 4) * 40 + 'px + ' + (Math.ceil(this.windMotorMatrixDetail.length /
  1225. 4) * 1 - 0.5) + '%)';
  1226. this.getWindMotorStatusCard();
  1227. this.getBackgroundColor();
  1228. },
  1229. computed: {
  1230. backStageIp: function() {
  1231. return this.$store.state.wholeSituationBackStageIp;
  1232. },
  1233. backStagePort: function() {
  1234. return this.$store.state.wholeSituationBackStagePort;
  1235. },
  1236. windpowerstationNameToId: function() {
  1237. return this.$store.state.windpowerstationNameToId;
  1238. }
  1239. },
  1240. methods: {
  1241. viewUserid: function() {
  1242. this.plusDrawerList = uni.getStorageSync('plusList');
  1243. },
  1244. monitoringAuthority: function() {
  1245. this.drawerList = uni.getStorageSync('leftlist1');
  1246. },
  1247. getProjectcollection: function() {
  1248. let _this = this;
  1249. console.log(this.FDC)
  1250. uni.request({
  1251. url: 'http://' + this.backStageIp + ':' + this.backStagePort + '/GyeeMatrixController/GyeeMatrixList?keyid=' +
  1252. this.FDC,
  1253. data: {},
  1254. method: 'GET',
  1255. success: function(res) {
  1256. _this.windFielddata = res.data.data
  1257. console.log(_this.windFielddata);
  1258. _this.getWindfarmconnectioninformation();
  1259. },
  1260. fail: () => {
  1261. _this.tips = '网络错误,小程序端请检查合法域名';
  1262. },
  1263. });
  1264. },
  1265. getWindfarmconnectioninformation: function() {
  1266. let _this = this;
  1267. for(let i=0;i<this.windFielddata.length;i++){
  1268. if(this.windFielddata[i].id.substring(3,6)=="FDC"){
  1269. this.socketTask = uni.connectSocket({
  1270. // 【非常重要】必须确保你的服务器是成功的,如果是手机测试千万别使用ws://127.0.0.1:9099【特别容易犯的错误】
  1271. url: 'ws://' + this.backStageIp + ':' + this.backStagePort +
  1272. '/websocket/pageNumber_4/functionNumber_2/wp_' + this.windFielddata[i].id,
  1273. success(data) {
  1274. console.log('websocket连接成功');
  1275. }
  1276. });
  1277. }
  1278. else{
  1279. console.log(this.windFielddata[i].id)
  1280. this.socketTask = uni.connectSocket({
  1281. // 【非常重要】必须确保你的服务器是成功的,如果是手机测试千万别使用ws://127.0.0.1:9099【特别容易犯的错误】
  1282. url: 'ws://' + this.backStageIp + ':' + this.backStagePort +
  1283. '/websocket/pageNumber_4/functionNumber_2/pj_' + this.windFielddata[i].id,
  1284. success(data) {
  1285. console.log('websocket连接成功');
  1286. }
  1287. });
  1288. }
  1289. }
  1290. let windpowerstationid = uni.getStorageSync('windpowerstationName');
  1291. // 消息的发送和接收必须在正常连接打开中,才能发送或接收【否则会失败】
  1292. this.socketTask.onOpen(res => {
  1293. console.log('WebSocket连接正常打开中...!');
  1294. _this.is_open_socket = true;
  1295. // 注:只有连接正常打开中 ,才能正常收到消息
  1296. _this.socketTask.onMessage(res => {
  1297. //console.log("收到服务器内容:" + res.data);
  1298. let json = JSON.parse(res.data);
  1299. // _this.windMotorMatrixDetail = res.data;
  1300. console.log(json)
  1301. });
  1302. });
  1303. },
  1304. pushWindPowerStationNameToSessionStorage(windpowerstationName) {
  1305. uni.setStorageSync('windpowerstationName', windpowerstationName);
  1306. //sessionStorage.setItem('windpowerstationName', windpowerstationName);
  1307. //alert("v"+ sessionStorage.getItem("windpowerstationName"));
  1308. //this.common.goback('/pages/index/Index');
  1309. },
  1310. getWindPowerStationNameToSessionStorage() {
  1311. uni.getStorageSync('windpowerstationName');
  1312. return uni.getStorageSync('windpowerstationName');
  1313. },
  1314. openDrawer: function() {
  1315. if (this.$refs.drawer != undefined) {
  1316. //this.$refs.drawer.openDrawer(250, this.drawerList, this.inconList);
  1317. this.$refs.drawer.openDrawer(250, this.drawerList, this.inconList, this.leftNavigationtitle);
  1318. } else {
  1319. }
  1320. },
  1321. openPlusDrawer(e) {
  1322. this.conflict = false;
  1323. this.modalName = e.currentTarget.dataset.target;
  1324. this.$refs.plusDrawer.showModal(this.plusDrawerList, this.modalName);
  1325. },
  1326. closePlusDrawer() {
  1327. this.conflict = false;
  1328. this.modalName = null;
  1329. this.$refs.plusDrawer.hideModal(this.modalName);
  1330. },
  1331. showModal(e) {
  1332. this.conflict = true;
  1333. this.modalName = e.currentTarget.dataset.target;
  1334. this.viewUserid();
  1335. this.monitoringAuthority();
  1336. this.$refs.plusDrawer.showModal(this.plusDrawerList, this.modalName);
  1337. },
  1338. hideModal() {
  1339. this.conflict = false;
  1340. this.modalName = null;
  1341. this.$refs.plusDrawer.hideModal(this.modalName);
  1342. },
  1343. showCardModal(modalName) {
  1344. this.modalName = modalName;
  1345. },
  1346. hideCardModal(e) {
  1347. this.modalName = null;
  1348. },
  1349. choiceWindStation: function(item, index) {
  1350. this.choiceIndex = index;
  1351. this.windStationName = item.replace('风电场', '');
  1352. this.modalWindStationName = item.replace('风电场', '');
  1353. this.address = item;
  1354. this.pushWindPowerStationNameToSessionStorage(item);
  1355. let _this = this;
  1356. setTimeout(function() {
  1357. // _this.hideModal();
  1358. _this.showCenterVisible = false;
  1359. _this.choiceIndex = -1;
  1360. _this.cardCur = index;
  1361. }, 1000);
  1362. this.FDC = this.dataprocessing.getWindPowerStationNameById(item);
  1363. this.dataprocessing.putWindPowerStationId(this.FDC);
  1364. },
  1365. getWindMotorStatusCard: function() {
  1366. this.jieRu = 0;
  1367. this.yunXing = 0;
  1368. this.daiJi = 0;
  1369. this.jianXiu = 0;
  1370. this.guZhang = 0;
  1371. this.xianDian = 0;
  1372. this.shouLei = 0;
  1373. this.liXian = 0;
  1374. this.jieRu = this.windMotorMatrixDetailAll.length;
  1375. for (let i = 0; i < this.windMotorMatrixDetailAll.length; i++) {
  1376. if (this.windMotorMatrixDetailAll[i].icon == '003') {
  1377. this.yunXing++;
  1378. }
  1379. if (this.windMotorMatrixDetailAll[i].icon == '002') {
  1380. this.daiJi++;
  1381. }
  1382. if (this.windMotorMatrixDetailAll[i].icon == '005') {
  1383. this.jianXiu++;
  1384. }
  1385. if (this.windMotorMatrixDetailAll[i].icon == '004') {
  1386. this.guZhang++;
  1387. }
  1388. if (this.windMotorMatrixDetailAll[i].icon == '008') {
  1389. this.xianDian++;
  1390. }
  1391. if (this.windMotorMatrixDetailAll[i].icon == '007') {
  1392. this.shouLei++;
  1393. }
  1394. if (this.windMotorMatrixDetailAll[i].icon == '006') {
  1395. this.liXian++;
  1396. }
  1397. }
  1398. },
  1399. clickWindMotorStatusCard: function(clickFlag) {
  1400. this.clickFlag = clickFlag;
  1401. if (clickFlag == 'jieRu') {
  1402. this.windMotorMatrixDetail = this.windMotorMatrixDetailAll;
  1403. this.getBackgroundColor();
  1404. }
  1405. if (clickFlag == 'yunXing') {
  1406. this.windMotorMatrixDetail = [];
  1407. for (let i = 0; i < this.windMotorMatrixDetailAll.length; i++) {
  1408. if (this.windMotorMatrixDetailAll[i].icon == '003') {
  1409. this.windMotorMatrixDetail.push(this.windMotorMatrixDetailAll[i]);
  1410. }
  1411. }
  1412. this.windMotorMatrixListHeight =
  1413. 'calc(' + Math.ceil(this.windMotorMatrixDetail.length / 4) * 40 + 'px + ' + Math.ceil(this.windMotorMatrixDetail
  1414. .length / 4) * 1 + '%)';
  1415. this.getBackgroundColor();
  1416. }
  1417. if (clickFlag == 'daiJi') {
  1418. this.windMotorMatrixDetail = [];
  1419. for (let i = 0; i < this.windMotorMatrixDetailAll.length; i++) {
  1420. if (this.windMotorMatrixDetailAll[i].icon == '002') {
  1421. this.windMotorMatrixDetail.push(this.windMotorMatrixDetailAll[i]);
  1422. }
  1423. }
  1424. this.windMotorMatrixListHeight =
  1425. 'calc(' + Math.ceil(this.windMotorMatrixDetail.length / 4) * 40 + 'px + ' + Math.ceil(this.windMotorMatrixDetail
  1426. .length / 4) * 1 + '%)';
  1427. this.getBackgroundColor();
  1428. }
  1429. if (clickFlag == 'jianXiu') {
  1430. this.windMotorMatrixDetail = [];
  1431. for (let i = 0; i < this.windMotorMatrixDetailAll.length; i++) {
  1432. if (this.windMotorMatrixDetailAll[i].icon == '005') {
  1433. this.windMotorMatrixDetail.push(this.windMotorMatrixDetailAll[i]);
  1434. }
  1435. }
  1436. this.windMotorMatrixListHeight =
  1437. 'calc(' + Math.ceil(this.windMotorMatrixDetail.length / 4) * 40 + 'px + ' + Math.ceil(this.windMotorMatrixDetail
  1438. .length / 4) * 1 + '%)';
  1439. this.getBackgroundColor();
  1440. }
  1441. if (clickFlag == 'guZhang') {
  1442. this.windMotorMatrixDetail = [];
  1443. for (let i = 0; i < this.windMotorMatrixDetailAll.length; i++) {
  1444. if (this.windMotorMatrixDetailAll[i].icon == '004') {
  1445. this.windMotorMatrixDetail.push(this.windMotorMatrixDetailAll[i]);
  1446. }
  1447. }
  1448. this.windMotorMatrixListHeight =
  1449. 'calc(' + Math.ceil(this.windMotorMatrixDetail.length / 4) * 40 + 'px + ' + Math.ceil(this.windMotorMatrixDetail
  1450. .length / 4) * 1 + '%)';
  1451. this.getBackgroundColor();
  1452. }
  1453. if (clickFlag == 'xianDian') {
  1454. this.windMotorMatrixDetail = [];
  1455. for (let i = 0; i < this.windMotorMatrixDetailAll.length; i++) {
  1456. if (this.windMotorMatrixDetailAll[i].icon == '008') {
  1457. this.windMotorMatrixDetail.push(this.windMotorMatrixDetailAll[i]);
  1458. }
  1459. }
  1460. this.windMotorMatrixListHeight =
  1461. 'calc(' + Math.ceil(this.windMotorMatrixDetail.length / 4) * 40 + 'px + ' + Math.ceil(this.windMotorMatrixDetail
  1462. .length / 4) * 1 + '%)';
  1463. this.getBackgroundColor();
  1464. }
  1465. if (clickFlag == 'shouLei') {
  1466. this.windMotorMatrixDetail = [];
  1467. for (let i = 0; i < this.windMotorMatrixDetailAll.length; i++) {
  1468. if (this.windMotorMatrixDetailAll[i].icon == '007') {
  1469. this.windMotorMatrixDetail.push(this.windMotorMatrixDetailAll[i]);
  1470. }
  1471. }
  1472. this.windMotorMatrixListHeight =
  1473. 'calc(' + Math.ceil(this.windMotorMatrixDetail.length / 4) * 40 + 'px + ' + Math.ceil(this.windMotorMatrixDetail
  1474. .length / 4) * 1 + '%)';
  1475. this.getBackgroundColor();
  1476. }
  1477. if (clickFlag == 'liXian') {
  1478. this.windMotorMatrixDetail = [];
  1479. for (let i = 0; i < this.windMotorMatrixDetailAll.length; i++) {
  1480. if (this.windMotorMatrixDetailAll[i].icon == '006') {
  1481. this.windMotorMatrixDetail.push(this.windMotorMatrixDetailAll[i]);
  1482. }
  1483. }
  1484. this.windMotorMatrixListHeight =
  1485. 'calc(' + Math.ceil(this.windMotorMatrixDetail.length / 4) * 40 + 'px + ' + Math.ceil(this.windMotorMatrixDetail
  1486. .length / 4) * 1 + '%)';
  1487. this.getBackgroundColor();
  1488. }
  1489. },
  1490. cardSwiper(e) {
  1491. let _this = this;
  1492. this.cardCur = e.detail.current;
  1493. for (let i = 0; i < this.windFielddata.length; i++) {
  1494. if (this.cardCur == i) {
  1495. if (this.windFielddata[i].name.search('风电场') != -1) {
  1496. this.windStationName = this.windFielddata[i].name.replace('风电场', '');
  1497. } else {
  1498. this.windStationName = this.windFielddata[i].name;
  1499. }
  1500. this.modalWindStationName = this.windFielddata[i].name;
  1501. this.windMotorMatrixDetailAll = this.windMotorMatrixDetailMaHuagShan;
  1502. this.getWindMotorStatusCard();
  1503. this.clickWindMotorStatusCard(this.clickFlag);
  1504. this.getBackgroundColor();
  1505. this.showCardModal('Modal');
  1506. setTimeout(function() {
  1507. _this.hideCardModal();
  1508. }, 1000);
  1509. }
  1510. }
  1511. },
  1512. getBackgroundColor: function() {
  1513. this.detailBackgroundColor = [];
  1514. for (let i = 0; i < this.windMotorMatrixDetail.length; i++) {
  1515. if (this.windMotorMatrixDetail[i].icon == '002') {
  1516. this.detailBackgroundColor.push('#00E086');
  1517. }
  1518. if (this.windMotorMatrixDetail[i].icon == '003') {
  1519. this.detailBackgroundColor.push('#2675F6');
  1520. }
  1521. if (this.windMotorMatrixDetail[i].icon == '004') {
  1522. this.detailBackgroundColor.push('#F14E51');
  1523. }
  1524. if (this.windMotorMatrixDetail[i].icon == '005') {
  1525. this.detailBackgroundColor.push('#FF6B3E');
  1526. }
  1527. if (this.windMotorMatrixDetail[i].icon == '006') {
  1528. this.detailBackgroundColor.push('#686868');
  1529. }
  1530. if (this.windMotorMatrixDetail[i].icon == '007') {
  1531. this.detailBackgroundColor.push('#41346C');
  1532. }
  1533. if (this.windMotorMatrixDetail[i].icon == '008') {
  1534. this.detailBackgroundColor.push('#CC3399');
  1535. }
  1536. }
  1537. }
  1538. }
  1539. };
  1540. </script>
  1541. <style>
  1542. @font-face {
  1543. font-family: '方正兰亭细黑_GBK';
  1544. src: url(../../static/fzltxh.TTF);
  1545. }
  1546. /* body {
  1547. font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', STHeiti, 'Microsoft Yahei', Tahoma, Simsun, sans-serif;
  1548. font-size: 20px;
  1549. color: silver;
  1550. background: #000;
  1551. } */
  1552. page {
  1553. font-family: '方正兰亭细黑_GBK';
  1554. background-color: #1f1f1f;
  1555. color: silver;
  1556. }
  1557. .top {
  1558. width: 100%;
  1559. height: 130upx;
  1560. padding-top: 5upx;
  1561. background-color: #1f1f1f;
  1562. position: fixed;
  1563. top: 0px;
  1564. left: 0px;
  1565. z-index: 100;
  1566. }
  1567. .threeLine {
  1568. width: 50px;
  1569. height: 45px;
  1570. float: left;
  1571. }
  1572. .text {
  1573. width: calc(100% - 100px);
  1574. height: 45px;
  1575. float: left;
  1576. user-select: text;
  1577. -webkit-user-select: text;
  1578. -moz-user-select: text;
  1579. -ms-user-select: text;
  1580. color: silver;
  1581. line-height: 45px;
  1582. margin-top: 11px;
  1583. font-size: 18px;
  1584. }
  1585. .notice {
  1586. width: 50px;
  1587. height: 45px;
  1588. float: left;
  1589. }
  1590. .plus {
  1591. width: 50px;
  1592. height: 45px;
  1593. float: right;
  1594. color: white;
  1595. font-size: 35px;
  1596. line-height: 45px;
  1597. text-align: center;
  1598. margin-top: 11px;
  1599. }
  1600. .textWindpowerstation {
  1601. width: 180px;
  1602. height: 45px;
  1603. float: left;
  1604. text-align: center;
  1605. margin-left: 18px;
  1606. }
  1607. .DrawerPage {
  1608. position: fixed;
  1609. width: 100vw;
  1610. height: 100vh;
  1611. left: 0vw;
  1612. background-color: #1f1f1f;
  1613. transition: all 0.4s;
  1614. }
  1615. .DrawerPage.show {
  1616. transform: scale(0.9, 0.9);
  1617. left: 85vw;
  1618. box-shadow: 0 0 60upx rgba(0, 0, 0, 0.2);
  1619. transform-origin: 0;
  1620. }
  1621. .DrawerWindow {
  1622. position: absolute;
  1623. width: 85vw;
  1624. height: 100vh;
  1625. left: 0;
  1626. top: 0;
  1627. transform: scale(0.9, 0.9) translateX(-100%);
  1628. opacity: 0;
  1629. pointer-events: none;
  1630. transition: all 0.4s;
  1631. padding: 100upx 0;
  1632. }
  1633. .DrawerWindow.show {
  1634. transform: scale(1, 1) translateX(0%);
  1635. opacity: 1;
  1636. pointer-events: all;
  1637. }
  1638. .DrawerClose {
  1639. position: absolute;
  1640. width: 40vw;
  1641. height: 100vh;
  1642. right: 0;
  1643. top: 0;
  1644. color: transparent;
  1645. padding-bottom: 30upx;
  1646. display: flex;
  1647. align-items: flex-end;
  1648. justify-content: center;
  1649. background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.6));
  1650. letter-spacing: 5px;
  1651. font-size: 50upx;
  1652. opacity: 0;
  1653. pointer-events: none;
  1654. transition: all 0.4s;
  1655. }
  1656. .DrawerClose.show {
  1657. opacity: 1;
  1658. pointer-events: all;
  1659. width: 15vw;
  1660. color: #fff;
  1661. }
  1662. .DrawerPage .cu-bar.tabbar .action button.cuIcon {
  1663. width: 64upx;
  1664. height: 64upx;
  1665. line-height: 64upx;
  1666. margin: 0;
  1667. display: inline-block;
  1668. }
  1669. .DrawerPage .cu-bar.tabbar .action .cu-avatar {
  1670. margin: 0;
  1671. }
  1672. .DrawerPage .nav {
  1673. flex: 1;
  1674. }
  1675. .DrawerPage .nav .cu-item.cur {
  1676. border-bottom: 0;
  1677. position: relative;
  1678. }
  1679. .DrawerPage .nav .cu-item.cur::after {
  1680. content: '';
  1681. width: 10upx;
  1682. height: 10upx;
  1683. background-color: currentColor;
  1684. position: absolute;
  1685. bottom: 10upx;
  1686. border-radius: 10upx;
  1687. left: 0;
  1688. right: 0;
  1689. margin: auto;
  1690. }
  1691. .DrawerPage .cu-bar.tabbar .action {
  1692. flex: initial;
  1693. }
  1694. .windStationNameAndChoice {
  1695. clear: both;
  1696. width: 100%;
  1697. height: 50px;
  1698. /* border: 1px solid red; */
  1699. }
  1700. .windStationName {
  1701. width: 70%;
  1702. height: 100%;
  1703. float: left;
  1704. line-height: 50px;
  1705. font-size: 16px;
  1706. margin-left: 4%;
  1707. }
  1708. .windStationChoice {
  1709. width: 20%;
  1710. height: 100%;
  1711. float: right;
  1712. text-align: right;
  1713. line-height: 50px;
  1714. font-size: 14px;
  1715. margin-right: 9px;
  1716. }
  1717. .windStationList {
  1718. width: 100%;
  1719. height: 290px;
  1720. }
  1721. .windStationItemContainer {
  1722. width: 100%;
  1723. }
  1724. .windStationItemContainerBlack {
  1725. width: 100%;
  1726. background-color: grey;
  1727. color: white;
  1728. }
  1729. .windStationItem {
  1730. width: 80%;
  1731. height: 50px;
  1732. border-bottom: 1px solid #c8c8c8;
  1733. text-align: left;
  1734. line-height: 50px;
  1735. margin-left: 10%;
  1736. color: #333333;
  1737. }
  1738. .cu-dialog {
  1739. width: 70%;
  1740. }
  1741. .cu-bar .content {
  1742. width: 100%;
  1743. margin-left: 10%;
  1744. }
  1745. .windMotorStatusContainer {
  1746. width: 95%;
  1747. height: 120px;
  1748. background-color: #242424;
  1749. color: white;
  1750. font-size: 14px;
  1751. margin-left: 2.5%;
  1752. }
  1753. .windMotorStatusCardJieRu {
  1754. width: 22%;
  1755. height: 45px;
  1756. margin-left: 1.5%;
  1757. margin-right: 1.5%;
  1758. margin-top: 10px;
  1759. float: left;
  1760. background-color: #c2c2c2;
  1761. line-height: 45px;
  1762. }
  1763. .windMotorStatusCardYunXing {
  1764. width: 22%;
  1765. height: 45px;
  1766. margin-left: 1.5%;
  1767. margin-right: 1.5%;
  1768. margin-top: 10px;
  1769. float: left;
  1770. background-color: #2675f6;
  1771. line-height: 45px;
  1772. }
  1773. .windMotorStatusCardDaiJi {
  1774. width: 22%;
  1775. height: 45px;
  1776. margin-left: 1.5%;
  1777. margin-right: 1.5%;
  1778. margin-top: 10px;
  1779. float: left;
  1780. background-color: #00e086;
  1781. line-height: 45px;
  1782. }
  1783. .windMotorStatusCardJianXiu {
  1784. width: 22%;
  1785. height: 45px;
  1786. margin-left: 1.5%;
  1787. margin-right: 1.5%;
  1788. margin-top: 10px;
  1789. float: left;
  1790. background-color: #ff6b3e;
  1791. line-height: 45px;
  1792. }
  1793. .windMotorStatusCardGuZhang {
  1794. width: 22%;
  1795. height: 45px;
  1796. margin-left: 1.5%;
  1797. margin-right: 1.5%;
  1798. margin-top: 10px;
  1799. float: left;
  1800. background-color: #f14e51;
  1801. line-height: 45px;
  1802. }
  1803. .windMotorStatusCardXianDian {
  1804. width: 22%;
  1805. height: 45px;
  1806. margin-left: 1.5%;
  1807. margin-right: 1.5%;
  1808. margin-top: 10px;
  1809. float: left;
  1810. background-color: #cc3399;
  1811. line-height: 45px;
  1812. }
  1813. .windMotorStatusCardShouLei {
  1814. width: 22%;
  1815. height: 45px;
  1816. margin-left: 1.5%;
  1817. margin-right: 1.5%;
  1818. margin-top: 10px;
  1819. float: left;
  1820. background-color: #41346c;
  1821. line-height: 45px;
  1822. }
  1823. .windMotorStatusCardLiXian {
  1824. width: 22%;
  1825. height: 45px;
  1826. margin-left: 1.5%;
  1827. margin-right: 1.5%;
  1828. margin-top: 10px;
  1829. float: left;
  1830. background-color: #686868;
  1831. line-height: 45px;
  1832. }
  1833. .windMotorStatusCardIcon {
  1834. width: 25px;
  1835. height: 25px;
  1836. margin-top: 10px;
  1837. float: left;
  1838. }
  1839. .windMotorStatusCardJieRuRed {
  1840. width: 22%;
  1841. height: 45px;
  1842. margin-left: 1.5%;
  1843. margin-right: 1.5%;
  1844. margin-top: 10px;
  1845. float: left;
  1846. background-color: #c2c2c2;
  1847. line-height: 45px;
  1848. color: black;
  1849. /* border: 1px solid red; */
  1850. }
  1851. .windMotorStatusCardYunXingRed {
  1852. width: 22%;
  1853. height: 45px;
  1854. margin-left: 1.5%;
  1855. margin-right: 1.5%;
  1856. margin-top: 10px;
  1857. float: left;
  1858. background-color: #2675f6;
  1859. line-height: 45px;
  1860. color: black;
  1861. /* border: 1px solid red; */
  1862. }
  1863. .windMotorStatusCardDaiJiRed {
  1864. width: 22%;
  1865. height: 45px;
  1866. margin-left: 1.5%;
  1867. margin-right: 1.5%;
  1868. margin-top: 10px;
  1869. float: left;
  1870. background-color: #00e086;
  1871. line-height: 45px;
  1872. color: black;
  1873. /* border: 1px solid red; */
  1874. }
  1875. .windMotorStatusCardJianXiuRed {
  1876. width: 22%;
  1877. height: 45px;
  1878. margin-left: 1.5%;
  1879. margin-right: 1.5%;
  1880. margin-top: 10px;
  1881. float: left;
  1882. background-color: #ff6b3e;
  1883. line-height: 45px;
  1884. color: black;
  1885. /* border: 1px solid red; */
  1886. }
  1887. .windMotorStatusCardGuZhangRed {
  1888. width: 22%;
  1889. height: 45px;
  1890. margin-left: 1.5%;
  1891. margin-right: 1.5%;
  1892. margin-top: 10px;
  1893. float: left;
  1894. background-color: #f14e51;
  1895. line-height: 45px;
  1896. color: black;
  1897. /* border: 1px solid red; */
  1898. }
  1899. .windMotorStatusCardXianDianRed {
  1900. width: 22%;
  1901. height: 45px;
  1902. margin-left: 1.5%;
  1903. margin-right: 1.5%;
  1904. margin-top: 10px;
  1905. float: left;
  1906. background-color: #cc3399;
  1907. line-height: 45px;
  1908. color: black;
  1909. /* border: 1px solid red; */
  1910. }
  1911. .windMotorStatusCardShouLeiRed {
  1912. width: 22%;
  1913. height: 45px;
  1914. margin-left: 1.5%;
  1915. margin-right: 1.5%;
  1916. margin-top: 10px;
  1917. float: left;
  1918. background-color: #41346c;
  1919. line-height: 45px;
  1920. color: black;
  1921. /* border: 1px solid red; */
  1922. }
  1923. .windMotorStatusCardLiXianRed {
  1924. width: 22%;
  1925. height: 45px;
  1926. margin-left: 1.5%;
  1927. margin-right: 1.5%;
  1928. margin-top: 10px;
  1929. float: left;
  1930. background-color: #686868;
  1931. line-height: 45px;
  1932. color: black;
  1933. /* border: 1px solid red; */
  1934. }
  1935. .card-swiper {
  1936. height: 40px !important;
  1937. }
  1938. .windMotorMatrixContainer {
  1939. width: 95%;
  1940. height: 400px;
  1941. background-color: #242424;
  1942. margin-left: 2.5%;
  1943. }
  1944. .windMotorMatrixList {
  1945. width: 100%;
  1946. height: calc(900px + 20%);
  1947. }
  1948. .windMotorMatrixDetail {
  1949. width: 24%;
  1950. height: 40px;
  1951. margin: 0.5%;
  1952. float: left;
  1953. color: white;
  1954. }
  1955. .windMotorMatrixDetailIcon {
  1956. width: 25px;
  1957. height: 25px;
  1958. float: left;
  1959. }
  1960. .windMotorMatrixDetailSpeed {
  1961. width: calc(100% - 26px);
  1962. height: 25px;
  1963. float: left;
  1964. text-align: right;
  1965. line-height: 25px;
  1966. font-size: 13px;
  1967. margin-right: 1px;
  1968. }
  1969. .windMotorMatrixDetailId {
  1970. width: 25px;
  1971. height: 20px;
  1972. float: left;
  1973. line-height: 10px;
  1974. text-align: left;
  1975. font-size: 13px;
  1976. margin-left: 3px;
  1977. }
  1978. .windMotorMatrixDetailPower {
  1979. width: calc(100% - 29px);
  1980. height: 20px;
  1981. float: left;
  1982. line-height: 10px;
  1983. text-align: right;
  1984. font-size: 13px;
  1985. margin-right: 1px;
  1986. }
  1987. /* .center-popup {
  1988. // #ifdef H5
  1989. /deep/.s-popup-wrapper {
  1990. width: 500rpx;
  1991. height: 500rpx;
  1992. background-color: #f0f0f0;
  1993. }
  1994. // #endif
  1995. } */
  1996. .s-popup-wrapper {
  1997. width: 500rpx;
  1998. background-color: #f0f0f0;
  1999. }
  2000. .s-popup-title {
  2001. width: 100%;
  2002. height: 50px;
  2003. background-color: #211E21;
  2004. }
  2005. .s-popup-word {
  2006. width: calc(100% - 65px);
  2007. height: 50px;
  2008. font-size: 14px;
  2009. color: white;
  2010. line-height: 50px;
  2011. float: left;
  2012. margin-left: 25px;
  2013. }
  2014. .s-popup-cha {
  2015. width: 40px;
  2016. height: 50px;
  2017. text-align: center;
  2018. line-height: 50px;
  2019. float: right;
  2020. font-size: 24px;
  2021. }
  2022. </style>