Forecast.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802
  1. <template>
  2. <view class="content">
  3. <view v-if="toggleSwitch==false">
  4. <cu-custom bgColor="bg-blacks" :isBack="false">
  5. <block slot="right"><image src="../../static/picture/fourLine.png" style="width: 30px;height: 30px;margin-left: 2%;" @tap="openDrawer"></image></block>
  6. <block slot="right">
  7. <view class="icon cuIcon-notice text-white" v-if="badge != 0" style="margin-left: -70%;">
  8. <view class="cu-tag looknumber" style="margin-top: -2%;">
  9. <block v-if="badge != 1">{{ badge > 99 ? '99+' : badge }}</block>
  10. </view>
  11. </view>
  12. </block>
  13. <block slot="right"></block>
  14. <block slot="content">{{ address }}</block>
  15. <block slot="right"><view class="plus" @tap="showModal" data-target="viewModal">+</view></block>
  16. </cu-custom>
  17. <!-- 地图组件 -->
  18. <view>
  19. <div><drawer ref="drawer" ></drawer></div>
  20. <div class="plusDrawer" @tap="hideModal"><plusDrawer ref="plusDrawer"></plusDrawer></div>
  21. <view class="page-body">
  22. <view class="page-section page-section-gap">
  23. <map style="width: 100%; height: 253px;"
  24. :controls="controls"
  25. :circles="circles"
  26. :polyline="polyline"
  27. :scale="scale"
  28. :latitude="latitude"
  29. :longitude="longitude"
  30. :markers="covers"
  31. ></map>
  32. </view>
  33. </view>
  34. </view>
  35. <!--经纬度组件-->
  36. <!-- <view class="InformationCard">
  37. <view class="informationCardAll">
  38. <view class="informationCardTextOne">
  39. <view class="informationCardText">
  40. <view class="textSilver">经度:</view>
  41. <view class="textWhite">{{ mapEnd_1 }}</view>
  42. </view>
  43. </view>
  44. <view class="informationCardTextOne">
  45. <view class="informationCardText">
  46. <view class="textSilver">纬度:</view>
  47. <view class="textWhite">{{ mapEnd_2 }}</view>
  48. </view>
  49. </view>
  50. </view>
  51. </view> -->
  52. <!-- 个人信息组件 -->
  53. <!-- <view class="Personal_information_W">
  54. <view class="name">姓名:李占国</view>
  55. <view class="history" @click="mapDate"> <span ></span> </view>
  56. <view class="skills">技能:电力类,机械类</view>
  57. </view> -->
  58. <!-- 历史曲线组件 -->
  59. <!-- <view class="curve">
  60. <view class="curve_l">健康情况</view>
  61. <view class="curve_r" @tap="common.navTo('/components/bracelet/braceletHistoryCurve?braceletCurve=' + braceletCurve)">历史曲线</view>
  62. <div class="greater"></div>
  63. </view> -->
  64. <!-- 健康详情组件 -->
  65. <!-- <view class="healthy">
  66. <view class="healthy_H">
  67. <view class="details_z">心跳频率:({{ bracelet[deviceName][targetName_xtpl][targetName_xtpl_size].value }})</view>
  68. <view class="details_m">步数:({{ bracelet[deviceName][targetName_bs][targetName_bs_size].value }})</view>
  69. <view class="details_y">收缩频率:({{ bracelet[deviceName][targetName_ssxy][targetName_ssxy_size].value }})</view>
  70. </view>
  71. <view class="healthy_N">
  72. <view class="details_z">舒张压:({{ bracelet[deviceName][targetName_szxy][targetName_szxy_size].value }})</view>
  73. <view class="details_m">疲劳度:({{ bracelet[deviceName][targetName_pld][targetName_pld_size].value }})</view>
  74. <view class="details_y">血氧浓度:({{ bracelet[deviceName][targetName_xynd][targetName_xynd_size].value }})</view>
  75. </view>
  76. </view> -->
  77. </view>
  78. <view v-if="toggleSwitch==true">
  79. <WeatherProphethomepage></WeatherProphethomepage>
  80. </view>
  81. </view>
  82. </template>
  83. <script>
  84. import res from '../../common/data.json';
  85. import drawer from '../../components/drawer/forecastThreeLineDrawer.vue';
  86. import plusDrawer from '../../components/drawer/plusDrawer.vue';
  87. import WeatherProphethomepage from '../../components/weatherProphethomepage/WeatherProphethomepage.vue';
  88. var _self;
  89. export default {
  90. components: {
  91. drawer: drawer,
  92. plusDrawer: plusDrawer,
  93. WeatherProphethomepage:WeatherProphethomepage
  94. },
  95. data: function() {
  96. return {
  97. toggleSwitch:false,
  98. menuKey:1,
  99. pointKey: 'MHSFCJSFW.NX_GD_MHSF_XX_XX_XXX_XXX_CI0087',
  100. socketTask_bracelet: '',
  101. socketTask_close_bracelet: '',
  102. deviceName: 'Y1-A0BC',
  103. deviceNamePld: 'Y1-A0BC_PLD',
  104. deviceNameBs: 'Y1-A0BC_BS',
  105. deviceNameSsxy: 'Y1-A0BC_SSXY',
  106. deviceNameXtpl: 'Y1-A0BC_XTPL',
  107. deviceNameXynd: 'Y1-A0BC_XYND',
  108. deviceNameSzxy: 'Y1-A0BC_SZXY',
  109. deviceNameLng: 'Y1-A0BC_LNG',
  110. deviceNameLat: 'Y1-A0BC_LAT',
  111. bracelet: {
  112. deviceName: '',
  113. deviceNamePld: '',
  114. deviceNameBs: '',
  115. deviceNameSsxy: '',
  116. deviceNameXtpl: '',
  117. deviceNameXynd: '',
  118. deviceNameSzxy: '',
  119. },
  120. braceletCurve: {},
  121. mapBegin_1:'',
  122. mapEnd_1:'',
  123. mapBegin_2:'',
  124. mapEnd_2:'',
  125. points:[
  126. {
  127. latitude:'',
  128. longitude:''
  129. },
  130. {
  131. latitude:'',
  132. longitude:''
  133. }
  134. ],
  135. list:{},
  136. braceletCurve_SSXY: [],
  137. braceletCurve_PLD: [],
  138. braceletCurve_SZXY: [],
  139. braceletCurve_XTPL: [],
  140. braceletCurve_BS: [],
  141. braceletCurve_XYND: [],
  142. braceletCurve_LNG: [],
  143. braceletCurve_LAT: [],
  144. /* targetdetail_visable: { targetdetail_target: true, targetdetail_curve: true, targetdetail_histogram: true},
  145. targetdetail: { targetdetail_target: '', targetdetail_curve: '', targetdetail_histogram: ''}, */
  146. targetName: '日发电量',
  147. targetUnit: '万kwh',
  148. bool:true,
  149. pld: '',
  150. ssxy: '',
  151. lng: '',
  152. szxy: '',
  153. lat: '',
  154. xtpl: '',
  155. bs: '',
  156. xynd: '',
  157. device_nam: '',
  158. title: 'map',
  159. latitude: 39.907,//定位中心
  160. longitude: 116.39742,//
  161. covers: [
  162. {
  163. latitude:39.909 , //纬度坐标点
  164. longitude:116.39742 , //经度
  165. iconPath: '../../static/picture/forcast/DingWei.png', //显示的图标
  166. title: '阿打算', //标注点名
  167. label: {
  168. //为标记点旁边增加标签
  169. content: '', //文本1
  170. color: '#F76350', //文本颜色
  171. anchorX: 0, //label的坐标,原点是 marker 对应的经纬度
  172. anchorY: -80, //label的坐标,原点是 marker 对应的经纬度
  173. // x:39.909,//这个组件微信在1.2.0以后就废弃了
  174. // y:116.39742,
  175. bgColor: '#fff', //背景色
  176. padding: 5, //文本边缘留白
  177. borderWidth: 1, //边框宽度
  178. borderColor: '#D84C29', //边框颜色
  179. textAlign: 'right' //文本对齐方式。
  180. },
  181. callout: {
  182. //自定义标记点上方的气泡窗口 点击有效
  183. content: '地点1',
  184. color: '#F76350',
  185. fontSize: 12,
  186. borderRadius: 5
  187. }
  188. // anchor:{//经纬度在标注图标的锚点,默认底边中点
  189. // x:5,
  190. // y:1,
  191. // }
  192. } , {
  193. latitude:39.90 ,//最后点
  194. longitude: 116.399,//
  195. iconPath: '../../static/picture/forcast/DingWei.png',
  196. title:'阿迪达斯',
  197. x:'',//
  198. y: '',//116.399
  199. label:{
  200. content:'运动结束',
  201. color:'#F76350',
  202. bgColor:'#fff',
  203. padding:5,
  204. borderRadius:4,
  205. },
  206. callout:{
  207. content:'地点2',
  208. color:'#F76350',
  209. fontSize:12
  210. }
  211. }
  212. ],
  213. scale: 15, //地图层级
  214. controls: [
  215. {
  216. //在地图上显示控件,控件不随着地图移动
  217. id: 1, //控件id
  218. /* iconPath: '../../static/picture/forcast/DingWei.png', *///显示的图标
  219. position: {
  220. //控件在地图的位置
  221. left: 15,
  222. top: 15,
  223. width: 40,
  224. height: 40
  225. }
  226. }
  227. ],
  228. circles: [
  229. {
  230. //在地图上显示圆
  231. latitude: 39.9,
  232. longitude: 116.39,
  233. fillColor: '#FFC41F', //填充颜色
  234. color: '#12A1DD', //描边的颜色
  235. radius: 0, //半径
  236. strokeWidth: 2 //描边的宽度
  237. }
  238. ],
  239. polyline: [
  240. { /* .polyline[0].points */
  241. points:[{}],
  242. //指定一系列坐标点,从数组第一项连线至最后一项
  243. /* points: [{ latitude:this.mapBegin_1, longitude:this.mapBegin_2 }, { latitude: this.mapEnd_1, longitude:this.mapEnd_2 }], */
  244. /* points: [{ latitude: 0, longitude: 0 }, { latitude: 0, longitude: 0 }], */
  245. color: '#0000AA', //线的颜色
  246. width: 2, //线的宽度
  247. dottedLine: true, //是否虚线
  248. arrowLine: true //带箭头的线 开发者工具暂不支持该属性
  249. }
  250. ],
  251. badge: 22,
  252. inconList: ['form', 'favor', 'question', 'edit'],
  253. modalName: null,
  254. address: '宁夏新能源公司',
  255. drawerList: [
  256. {
  257. name: '气象预测'
  258. }
  259. ],
  260. plusDrawerList: [
  261. {
  262. name: '宁夏新能源公司',
  263. windPowerStationId: 'NINGXIAXINNENGYUANGONGSI'
  264. },
  265. {
  266. name: '牛首山风电场',
  267. windPowerStationId: 'NSS_FDC'
  268. },
  269. {
  270. name: '香山风电场',
  271. windPowerStationId: 'XS_FDC'
  272. },
  273. {
  274. name: '石板泉风电场',
  275. windPowerStationId: 'SBQ_FDC'
  276. },
  277. {
  278. name: '青山风电场',
  279. windPowerStationId: 'QS_FDC'
  280. },
  281. {
  282. name: '麻黄山风电场',
  283. windPowerStationId: 'MHS_FDC'
  284. }
  285. ]
  286. };
  287. },
  288. onHide() {
  289. this.$refs.drawer.closeDrawer();
  290. this.hideModal();
  291. },
  292. onShow() {
  293. this.windPowerStationId = uni.getStorageSync('windPowerStationId');
  294. this.address = this.getWindPowerStationNameToSessionStorage();
  295. },
  296. onLoad(pointKey) {
  297. let _this = this;
  298. this.pointKey = pointKey.pointKey;
  299. this.targetName = pointKey.callTargetName;
  300. this.targetUnit = pointKey.callTargetUnit;
  301. this.braceletData();
  302. /* console.log(_this.bracelet[_this.deviceName]);
  303. console.log(_this.bracelet[_this.deviceName][_this.targetName_pld][0]); */
  304. /* uni.getLocation({//获取当前的位置坐标
  305. type: 'wgs84',
  306. success: function (res) {
  307. console.log('当前位置的经度:' + res.longitude);
  308. console.log('当前位置的纬度:' + res.latitude);
  309. }
  310. }); */
  311. },
  312. onReady() {},
  313. computed: {
  314. targetName_xtpl: function() {
  315. return this.deviceName + '_XTPL';
  316. },
  317. targetName_xtpl_size: function() {
  318. return this.bracelet[this.deviceName][this.targetName_xtpl].length - 1;
  319. },
  320. targetName_pld: function() {
  321. return this.deviceName + '_PLD';
  322. },
  323. targetName_pld_size: function() {
  324. return this.bracelet[this.deviceName][this.targetName_pld].length - 1;
  325. },
  326. targetName_bs: function() {
  327. return this.deviceName + '_BS';
  328. },
  329. targetName_bs_size: function() {
  330. return this.bracelet[this.deviceName][this.targetName_bs].length - 1;
  331. },
  332. targetName_ssxy: function() {
  333. return this.deviceName + '_SSXY';
  334. },
  335. targetName_ssxy_size: function() {
  336. return this.bracelet[this.deviceName][this.targetName_ssxy].length - 1;
  337. },
  338. targetName_szxy: function() {
  339. return this.deviceName + '_SZXY';
  340. },
  341. targetName_szxy_size: function() {
  342. return this.bracelet[this.deviceName][this.targetName_szxy].length - 1;
  343. },
  344. targetName_xynd: function() {
  345. return this.deviceName + '_XYND';
  346. },
  347. targetName_xynd_size: function() {
  348. return this.bracelet[this.deviceName][this.targetName_xynd].length - 1;
  349. },
  350. backStageIp: function() {
  351. return this.$store.state.wholeSituationBackStageIp;
  352. },
  353. backStagePort: function() {
  354. return this.$store.state.wholeSituationBackStagePort;
  355. },
  356. windpowerstationNameToId: function() {
  357. return this.$store.state.windpowerstationNameToId;
  358. }
  359. },
  360. methods: {
  361. mapDate(){
  362. if(this.bool){
  363. this.$delete(this.polyline[0],'points');
  364. this.braceletCurve_LNG = this.bracelet[this.deviceName][this.deviceNameLng];
  365. this.braceletCurve_LAT = this.bracelet[this.deviceName][this.deviceNameLat];
  366. this.points[0].longitude=this.bracelet[this.deviceName][this.deviceNameLng][0].value;
  367. this.points[0].latitude=this.bracelet[this.deviceName][this.deviceNameLat][0].value;
  368. this.points[1].longitude=this.bracelet[this.deviceName][this.deviceNameLng][this.braceletCurve_LNG.length-1].value;
  369. this.points[1].latitude=this.bracelet[this.deviceName][this.deviceNameLat][this.braceletCurve_LAT.length-1].value;
  370. for(let val of this.polyline){
  371. this.$set(val,'points',this.points);
  372. this.bool = false;
  373. console.log("true");
  374. }
  375. /* 定义地图经纬度中心 */
  376. /* this.latitude = parseFloat(this.mapBegin_2)+parseFloat(this.mapEnd_2)/2;
  377. this.longitude = parseFloat(this.mapBegin_1)+parseFloat(this.mapEnd_1)/2; */
  378. }else{
  379. /* this.braceletCurve_LNG = this.bracelet[this.deviceName][this.deviceNameLng];
  380. this.braceletCurve_LAT = this.bracelet[this.deviceName][this.deviceNameLat];
  381. this.points[0].longitude=this.bracelet[this.deviceName][this.deviceNameLng][0].value;
  382. this.points[0].latitude=this.bracelet[this.deviceName][this.deviceNameLat][0].value;
  383. this.points[1].longitude=this.bracelet[this.deviceName][this.deviceNameLng][this.braceletCurve_LNG.length-1].value;
  384. this.points[1].latitude=this.bracelet[this.deviceName][this.deviceNameLat][this.braceletCurve_LAT.length-1].value;
  385. */
  386. this.$delete(this.polyline[0],'points');
  387. /* this.latitude = this.mapBegin_2+this.mapEnd_2/2;
  388. this.longitude = this.mapBegin_1+this.mapEnd_1/2; */
  389. console.log("false");
  390. this.bool = true;
  391. }
  392. this.$forceUpdate();
  393. },
  394. openDrawer: function() {
  395. this.$refs.drawer.openDrawer(250, this.drawerList, this.inconList);
  396. },
  397. closeDrawer: function() {
  398. this.drawerIsShow = false;
  399. },
  400. pushWindPowerStationNameToSessionStorage(windpowerstationName) {
  401. uni.setStorageSync('windpowerstationName', windpowerstationName);
  402. //sessionStorage.setItem('windpowerstationName', windpowerstationName);
  403. //alert("v"+ sessionStorage.getItem("windpowerstationName"));
  404. //this.common.goback('/pages/index/Index');
  405. },
  406. getWindPowerStationNameToSessionStorage() {
  407. uni.getStorageSync('windpowerstationName');
  408. return uni.getStorageSync('windpowerstationName');
  409. },
  410. showModal(e) {
  411. this.modalName = e.currentTarget.dataset.target;
  412. this.$refs.plusDrawer.showModal(this.plusDrawerList, this.modalName);
  413. },
  414. hideModal() {
  415. this.modalName = null;
  416. this.$refs.plusDrawer.hideModal(this.modalName);
  417. },
  418. braceletData() {
  419. let _this = this;
  420. let ip;
  421. uni.request({
  422. url: 'http://' + _this.backStageIp + ':' + _this.backStagePort + '/bracelet/bracelet?beginDate=2020-04-20 09:26:27&&endDate=2020-04-25 09:26:29',
  423. success: res => {
  424. ip = res.data;
  425. }
  426. });
  427. // 创建一个this.socketTask对象【发送、接收、关闭socket都由这个对象操作】
  428. this.socketTask_bracelet = uni.connectSocket({
  429. /* 【非常重要】必须确保你的服务器是成功的,如果是手机测试千万别使用ws://127.0.0.1:9099【特别容易犯的错误】 */
  430. url: 'ws://' + _this.backStageIp + ':' + _this.backStagePort + '/websocket/pageNumber_9/functionNumber_1',
  431. success(data) {
  432. console.log('websocket连接成功');
  433. }
  434. });
  435. // 消息的发送和接收必须在正常连接打开中,才能发送或接收【否则会失败】
  436. this.socketTask_bracelet.onOpen(res => {
  437. console.log('WebSocket连接正常打开中...!');
  438. _this.is_open_socket = true;
  439. // 注:只有连接正常打开中 ,才能正常收到消息
  440. _this.socketTask_bracelet.onMessage(res => {
  441. //console.log("收到服务器内容:" + res.data);
  442. _this.bracelet = JSON.parse(res.data)[ip];
  443. _this.braceletCurve = JSON.stringify(_this.bracelet[_this.deviceName]);
  444. /* 获取起始经纬度 */
  445. _this.braceletCurve_LNG = _this.bracelet[_this.deviceName][_this.deviceNameLng];
  446. _this.braceletCurve_LAT = _this.bracelet[_this.deviceName][_this.deviceNameLat];
  447. _this.mapBegin_1 = (_this.bracelet[_this.deviceName][_this.deviceNameLng][0].value);
  448. _this.mapBegin_2 = (_this.bracelet[_this.deviceName][_this.deviceNameLat][0].value);
  449. _this.mapEnd_1 = (_this.bracelet[_this.deviceName][_this.deviceNameLng][_this.braceletCurve_LNG.length-1].value);
  450. _this.mapEnd_2 = (_this.bracelet[_this.deviceName][_this.deviceNameLat][_this.braceletCurve_LAT.length-1].value);
  451. _this.latitude = _this.mapBegin_2;
  452. _this.longitude = _this.mapBegin_1;
  453. _this.covers[0].latitude = _this.mapBegin_2;
  454. _this.covers[0].longitude = _this.mapBegin_1;
  455. _this.covers[1].latitude = _this.mapEnd_2;
  456. _this.covers[1].longitude = _this.mapEnd_1;
  457. /* this.braceletCurve_LNG = this.bracelet[this.deviceName][this.deviceNameLng];
  458. this.braceletCurve_LAT = this.bracelet[this.deviceName][this.deviceNameLat];
  459. this.points[0].longitude=this.bracelet[this.deviceName][this.deviceNameLng][0].value;
  460. this.points[0].latitude=this.bracelet[this.deviceName][this.deviceNameLat][0].value;
  461. this.points[1].longitude=this.bracelet[this.deviceName][this.deviceNameLng][this.braceletCurve_LNG.length-1].value;
  462. this.points[1].latitude=this.bracelet[this.deviceName][this.deviceNameLat][this.braceletCurve_LAT.length-1].value; */
  463. /* _this.mapDate(); */
  464. /* _this.polyline[0].points[0].latitude=_this.mapBegin_2;
  465. _this.polyline[0].points[0].longitude=_this.mapBegin_1;
  466. _this.polyline[0].points[1].latitude=_this.mapEnd_2;
  467. _this.polyline[0].points[1].longitude=_this.mapEnd_1; */
  468. /* _this.braceletCurve_SSXY = _this.bracelet[_this.deviceName][_this.deviceNameSsxy];
  469. _this.braceletCurve_SZXY = _this.bracelet[_this.deviceName][_this.deviceNameSzxy];
  470. _this.braceletCurve_XYND = _this.bracelet[_this.deviceName][_this.deviceNameXynd];
  471. _this.braceletCurve_XTPL = _this.bracelet[_this.deviceName][_this.deviceNameXtpl];
  472. _this.braceletCurve_BS = _this.bracelet[_this.deviceName][_this.deviceNameBs];
  473. console.log(_this.braceletCurve_BS[0].value); */
  474. });
  475. });
  476. // 这里仅是事件监听【如果socket关闭了会执行】
  477. this.socketTask_bracelet.onClose(() => {
  478. uni.request({
  479. url: 'http://' + _this.backStageIp + ':' + _this.backStagePort + '/bracelet/close_bracelet?pointKey=' + _this.pointKey,
  480. success: res => {}
  481. });
  482. });
  483. }
  484. }
  485. };
  486. </script>
  487. <style scoped="scoped">
  488. body {
  489. font-family: '方正兰亭细黑_GBK';
  490. font-size: 20px;
  491. color: silver;
  492. background: #000;
  493. }
  494. @font-face {
  495. font-family: '方正兰亭细黑_GBK';
  496. src: url(../../static/fzltxh.TTF);
  497. }
  498. .content{
  499. background-color: #000000;
  500. }
  501. page {
  502. background-color: #1f1f1f;
  503. font-family: '方正兰亭细黑_GBK';
  504. overflow-x: hidden;
  505. }
  506. .top {
  507. width: 100%;
  508. height: 130upx;
  509. padding-top: 5upx;
  510. background-color: #1f1f1f;
  511. position: fixed;
  512. top: 0px;
  513. left: 0px;
  514. z-index: 100;
  515. }
  516. .threeLine {
  517. width: 50px;
  518. height: 45px;
  519. float: left;
  520. }
  521. .text {
  522. width: calc(100% - 100px);
  523. height: 45px;
  524. float: left;
  525. user-select: text;
  526. -webkit-user-select: text;
  527. -moz-user-select: text;
  528. -ms-user-select: text;
  529. color: silver;
  530. line-height: 45px;
  531. margin-top: 11px;
  532. font-size: 18px;
  533. }
  534. .notice {
  535. width: 50px;
  536. height: 45px;
  537. float: left;
  538. }
  539. .plus {
  540. width: 30px;
  541. height: 45px;
  542. float: right;
  543. color: white;
  544. font-size: 35px;
  545. line-height: 45px;
  546. text-align: right;
  547. margin-right: 2.5%;
  548. }
  549. .textWindpowerstation {
  550. width: 180px;
  551. height: 45px;
  552. float: left;
  553. text-align: center;
  554. margin-left: 18px;
  555. }
  556. .InformationCard {
  557. position: absolute;
  558. top: 50px;
  559. left: 0px;
  560. margin-top: 0px;
  561. width: 50%;
  562. height: 8%;
  563. background: rgba(0, 0, 0, 0);
  564. float: left;
  565. }
  566. .informationCardAll {
  567. width: 95%;
  568. margin-left: 2.5%;
  569. margin-top: 10px;
  570. height: 60px;
  571. float: left;
  572. }
  573. .informationCardTextOne {
  574. width: 100%;
  575. height: 35px;
  576. float: left;
  577. margin-top: -10px;
  578. }
  579. .informationCardText {
  580. /* margin-left: 2%; */
  581. width: 65px;
  582. height: 35px;
  583. line-height: 35px;
  584. user-select: text;
  585. -webkit-user-select: text;
  586. -moz-user-select: text;
  587. -ms-user-select: text;
  588. color: silver;
  589. font-size: 10px;
  590. transform: scale(0.975);
  591. float: left;
  592. font-weight: 1000;
  593. }
  594. .textSilver {
  595. user-select: text;
  596. -webkit-user-select: text;
  597. -moz-user-select: text;
  598. -ms-user-select: text;
  599. color: black;
  600. float: left;
  601. }
  602. .textWhite {
  603. color: black;
  604. float: right;
  605. width: 24px;
  606. font-size: 10px;
  607. margin-right: 13%;
  608. transform: scale(0.975);
  609. /* text-align: right; */
  610. }
  611. .Personal_information_W {
  612. position: relative;
  613. margin-top: 3%;
  614. width: 90%;
  615. height: 80px;/*
  616. background-color: #242424; */
  617. border-bottom: #BDBDBD solid 0.5px;
  618. transform: translateX(-50%);
  619. left: 50%;
  620. color: #B8B7B7;
  621. }
  622. .name{
  623. position: absolute;
  624. height: 30px;
  625. width: 130px;
  626. left: 3%;
  627. /* background: -webkit-linear-gradient(top, rgba(159, 131, 111, 0.1) 0%, rgba(193, 94, 21, 0.2) 100%); */
  628. text-align: left;
  629. line-height: 30px;
  630. margin-top: 1%;
  631. font-weight: 1000;
  632. }
  633. .history {
  634. position: absolute;
  635. margin-top: 6%;
  636. right: 3%;
  637. height: 30px;
  638. height: 20px;
  639. text-align: center;
  640. line-height: 30px;
  641. }
  642. .skills {
  643. position: absolute;
  644. top: 56%;
  645. left: 3%;
  646. height: 30px;
  647. width: 180px;/*
  648. background: -webkit-linear-gradient(top, rgba(159, 131, 111, 0.1) 0%, rgba(193, 94, 21, 0.2) 100%); */
  649. text-align: left;
  650. line-height: 30px;
  651. }
  652. .curve{
  653. position: relative;
  654. width: 90%;
  655. transform: translateX(-50%);
  656. left: 50%;
  657. height: 30px;
  658. margin-top: 3%;
  659. color: #B8B7B7;
  660. font-weight: 1000;
  661. }
  662. .curve_l{
  663. position: absolute;
  664. left: 3%;
  665. }
  666. .curve_r{
  667. position: absolute;
  668. right: 3%;
  669. }
  670. .healthy {
  671. margin-top: 6%;
  672. margin-left: 3%;
  673. height: 200px;
  674. width: 95%;/*
  675. background-color:#242424; */
  676. text-align: center;
  677. color: #B8B7B7;
  678. font-size: 12px;
  679. line-height:50px ;
  680. font-weight: 1000;
  681. }
  682. .healthy_H,
  683. .healthy_N,
  684. .healthy_W {
  685. position: relative;
  686. width: 100%;
  687. height: 28%;
  688. text-align: center;
  689. margin-top: 3%;
  690. }
  691. .details_z {
  692. position: absolute;
  693. background: -webkit-linear-gradient(top, rgba(159, 131, 111, 0.1) 0%, rgba(193, 94, 21, 0.2) 100%);
  694. width: 30%;
  695. height: 93%;
  696. left:3%;
  697. top: 12%;
  698. }
  699. .details_m {
  700. position: absolute;
  701. background: -webkit-linear-gradient(top, rgba(159, 131, 111, 0.1) 0%, rgba(193, 94, 21, 0.2) 100%);
  702. width: 30%;
  703. left: 35.5%;
  704. height: 93%;
  705. top: 12%;
  706. }
  707. .details_y {
  708. position: absolute;
  709. background: -webkit-linear-gradient(top, rgba(159, 131, 111, 0.1) 0%, rgba(193, 94, 21, 0.2) 100%);
  710. width: 30%;
  711. left: 68%;
  712. height: 93%;
  713. top: 12%;
  714. /* margin-bottom: 0.6%;
  715. margin-top: 0.6%;
  716. float: right;
  717. margin-left: 0.2%;
  718. margin-right: 1.2%;
  719. width: 31%;
  720. height: 100%;
  721. background: -webkit-linear-gradient(top, rgba(159, 131, 111, 0.1) 0%, rgba(193, 94, 21, 0.2) 100%);
  722. color: silver;
  723. text-align: center;
  724. padding-top: 10px;
  725. background-color: #ffffff;
  726. font-size: 12px;
  727. padding-bottom: 4px;
  728. line-height: 13px;
  729. border-radius: 5px;
  730. padding-top: 8px; */
  731. }
  732. span::after {
  733. content: url(../../static/picture/forcast/position.png);
  734. }
  735. /* .greater {
  736. position: relative;
  737. width: 249px;
  738. height: 35px;
  739. border: 1px solid #000;
  740. } */
  741. .greater{
  742. float: right;
  743. content: "";
  744. margin-top: 0.8%;
  745. margin-right: 0.8%;
  746. /* position: absolute; */
  747. /* top: 8px;
  748. right: 15px; */
  749. width: 8px;
  750. height: 8px;
  751. border-right: 2px solid #fff;
  752. border-bottom: 2px solid #fff;
  753. transform: rotate(-45deg);
  754. }
  755. </style>