index2.vue 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137
  1. <template>
  2. <view class="home">
  3. <view class="welcom">{{ hello }} 欢迎登录</view>
  4. <view class="weather-bg">
  5. <view class="weather-box">
  6. <view class="weather">
  7. <view class="weatext">
  8. <view>今天<span class="text-span">{{weatherinfo.air_level}}</span></view>
  9. <view class="text-value">{{weatherinfo.at}}℃</view>
  10. </view>
  11. <view class="weatext">
  12. <image :src="
  13. 'https://webstaticimg.oss-cn-hangzhou.aliyuncs.com/bigdata_app/img/weather/' +
  14. weatherinfo.wea +
  15. '.png'
  16. " mode="" class="weaimg"></image>
  17. <view class="weatext_title">
  18. {{ weatherinfo.wea }}
  19. </view>
  20. </view>
  21. </view>
  22. <view class="weather">
  23. <view class="weatext">
  24. <view>湿度<span class="text-span">{{weatherinfo.ah | ahFilter}}</span></view>
  25. <view class="text-value">{{weatherinfo.ah}}%</view>
  26. </view>
  27. <view class="weatext">
  28. <view>PM2.5</view>
  29. <view class="textbox">
  30. {{ weatherinfo.air_pm25 }}
  31. </view>
  32. </view>
  33. </view>
  34. </view>
  35. <view class="weather-warning">
  36. <image class="weather-alert" :src="$imageURL+'/bigdata_app/newImg/home/weather-alert.png'" mode=""></image>
  37. {{weatherinfo.alarm_content}}
  38. </view>
  39. </view>
  40. <view class="ai-box">
  41. <view class="ai-content">
  42. <image :src="$imageURL+'/bigdata_app/newImg/home/ai-bot.png'" class="float-left" mode=""></image>
  43. <view class="ai-text">
  44. <view class="ai-text-title">我是千耘农业种植大模型</view>
  45. <view class="ai-text-subtitle">耕耘千百变,智慧一点通</view>
  46. </view>
  47. <view class="float-right">
  48. 问一问
  49. </view>
  50. </view>
  51. </view>
  52. <view class="functionbox">
  53. <view class="functionbox_text">
  54. <view class="functionbox_text_item" v-if="jurisdiction.sqtf" @click="tabfunction(0)">
  55. <image :src="$imageURL+'/bigdata_app/newImg/home/sqjd.png'" mode="" class="itemimg">
  56. </image>
  57. <view class=""> 四情基地 </view>
  58. </view>
  59. <view class="functionbox_text_item" @click="tabfunction(1)">
  60. <image :src="$imageURL+'/bigdata_app/newImg/home/zngg.png'" mode="" class="itemimg">
  61. </image>
  62. <view class=""> 智能灌溉 </view>
  63. </view>
  64. <view class="functionbox_text_item" v-if="jurisdiction.zjtf" @click="tabfunction(2)">
  65. <image :src="$imageURL+'/bigdata_app/newImg/home/yhgl.png'" mode="" class="itemimg"></image>
  66. <view class=""> 用户管理 </view>
  67. </view>
  68. <view class="functionbox_text_item" @click="tabfunction(3)">
  69. <image :src="$imageURL+'/bigdata_app/newImg/home/shfw.png'" mode="" class="itemimg"></image>
  70. <view class=""> 售后服务 </view>
  71. </view>
  72. <view class="functionbox_text_item" @click="tabfunction(3)">
  73. <image :src="$imageURL+'/bigdata_app/newImg/home/shfw.png'" mode="" class="itemimg"></image>
  74. <view class=""> 售后服务 </view>
  75. </view>
  76. <view class="functionbox_text_item" @click="tabfunction(3)">
  77. <image :src="$imageURL+'/bigdata_app/newImg/home/shfw.png'" mode="" class="itemimg"></image>
  78. <view class=""> 售后服务 </view>
  79. </view>
  80. <view class="functionbox_text_item" @click="tabfunction(3)">
  81. <image :src="$imageURL+'/bigdata_app/newImg/home/shfw.png'" mode="" class="itemimg"></image>
  82. <view class=""> 售后服务 </view>
  83. </view>
  84. <view class="functionbox_text_item" @click="tabfunction(9)">
  85. <image :src="$imageURL+'/bigdata_app/newImg/home/shfw.png'" mode="" class="itemimg"></image>
  86. <view class=""> 更多功能 </view>
  87. </view>
  88. </view>
  89. <!-- <swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval"
  90. :duration="duration">
  91. <swiper-item>
  92. </swiper-item>
  93. <swiper-item>
  94. <view class="swiper-item uni-bg-green">B</view>
  95. </swiper-item>
  96. </swiper> -->
  97. </view>
  98. <view class="facilitybox">
  99. <view class="facilitybox-content">
  100. <view class="facilitybox_title"> 智慧助手 </view>
  101. <view style="display: flex;gap:24rpx;flex-direction: column;">
  102. <view class="facilitybox_itembox">
  103. <view class="facilitybox_item facilitybox-zhuanjia" v-if="jurisdiction.zjtf"
  104. @click="tabfunction(2)">
  105. <image :src="$imageURL+'/bigdata_app/newImg/home/zjhk.png'" mode="" class="itemimg">
  106. </image>
  107. <view class="facilitybox_span">
  108. <text> 专家库 </text>
  109. <view class="text">农业相关博士、教授、研究员</view>
  110. </view>
  111. </view>
  112. <view class="facilitybox_item" style="display: flex; flex-direction: column;gap: 24rpx;">
  113. <view class="facilitybox-suishi"
  114. @click="tabfunction(1)">
  115. <image style="width: 72rpx;height:72rpx;margin-right: 10rpx;"
  116. :src="$imageURL+'/bigdata_app/newImg/home/tjss.png'" mode=""
  117. class="itemimg float-right">
  118. </image>
  119. <view class="facilitybox_span"> 田间随识 </view>
  120. </view>
  121. <view class="facilitybox-bchk"
  122. @click="worm">
  123. <image :src="$imageURL+'/bigdata_app/newImg/home/cshk.png'" mode="" class="itemimg">
  124. </image>
  125. <view style="width: 69%;" class="facilitybox_span"> 病虫草鼠害库 </view>
  126. </view>
  127. </view>
  128. </view>
  129. <view class="facilitybox_itembox">
  130. <view class="facilitybox_item facilitybox-jwjy" v-if="jurisdiction.fztf"
  131. @click="tabequipment('../prevention/index')">
  132. <image :src="$imageURL+'/bigdata_app/newImg/home/jwjy.png'" mode="" class="itemimg">
  133. </image>
  134. <view class="facilitybox_span"> 积温积雨 </view>
  135. </view>
  136. <view class="facilitybox_item facilitybox-jgqs" v-if="jurisdiction.jktf"
  137. @click="tabequipment('../monitor/index')">
  138. <image :src="$imageURL+'/bigdata_app/newImg/home/jgqs.png'" mode="" class="itemimg">
  139. </image>
  140. <view class="facilitybox_span"> 价格趋势 </view>
  141. </view>
  142. </view>
  143. </view>
  144. </view>
  145. <view class="banner-ad">
  146. <view class="ad-text">
  147. <view class="title">
  148. 松墨天牛拍照性诱智能监测
  149. </view>
  150. <view class="sub-title">
  151. AI慧眼识天牛 智守青山护松林
  152. </view>
  153. <view class="btn">
  154. 查看详情
  155. </view>
  156. </view>
  157. </view>
  158. </view>
  159. <!-- <view class="insectattack">
  160. <view class="insectattack_title" @click="worm">
  161. <view class=""> 虫情百科 </view>
  162. <view class="iconbox">
  163. <u-icon name="arrow-right"></u-icon>
  164. </view>
  165. </view>
  166. </view>
  167. <view class="insectattack">
  168. <view class="insectattack_title" @click="virus">
  169. <view class=""> 病害百科 </view>
  170. <view class="iconbox">
  171. <u-icon name="arrow-right"></u-icon>
  172. </view>
  173. </view>
  174. </view> -->
  175. </view>
  176. </template>
  177. <script>
  178. export default {
  179. // // 分享给朋友
  180. // onShareAppMessage() {
  181. // return {
  182. // title: '云飞智控', // 分享标题
  183. // path: 'pages/index/index', // 分享路径,通常包含页面参数
  184. // imageUrl: 'http://www.hnyfwlw.com:8006/data/home_logo/log1.jpg', // 分享图片,可选
  185. // success: (res) => {
  186. // // 分享成功回调
  187. // uni.showToast({
  188. // title: '分享成功',
  189. // icon: 'success'
  190. // })
  191. // },
  192. // fail: (err) => {
  193. // // 分享失败回调
  194. // console.log('分享失败', err)
  195. // }
  196. // }
  197. // },
  198. // // 分享到朋友圈(基础库2.11.3+)
  199. // onShareTimeline() {
  200. // return {
  201. // title: '云飞智控', // 分享标题
  202. // query: 'id=123', // 页面参数,不同于分享给朋友的path,这里用query
  203. // imageUrl: 'http://www.hnyfwlw.com:8006/data/home_logo/log1.jpg' // 分享图片,可选
  204. // }
  205. // },
  206. filters:{
  207. ahFilter(value){
  208. if(value>70){
  209. return"湿润"
  210. }else if(value<30){
  211. return'干燥'
  212. }else{
  213. return'正常'
  214. }
  215. }
  216. },
  217. data() {
  218. return {
  219. indicatorDots: true,
  220. autoplay: false,
  221. interval: 2000,
  222. duration: 500,
  223. weatherinfo: {
  224. wea: '晴',
  225. air_level: '优',
  226. at: '23',
  227. air_pm25: '3',
  228. ah: '56',
  229. alarm_content: '天气警告'
  230. },
  231. hello: '',
  232. jurisdiction: {
  233. cbtf: false,
  234. jktf: false,
  235. hjtf: false,
  236. fztf: false,
  237. sytf: false,
  238. sbtf: false,
  239. sqtf: false,
  240. zjtf: false,
  241. ggtf: false,
  242. qxz: false,
  243. sq: false,
  244. cbyj: false,
  245. },
  246. show: false,
  247. url: '',
  248. loadTF: false
  249. };
  250. },
  251. watch: {
  252. url(news) {
  253. if (news != '') {
  254. uni.pageScrollTo({
  255. scrollTop: 0,
  256. duration: 500,
  257. });
  258. }
  259. },
  260. },
  261. methods: {
  262. moveHandle() {
  263. return;
  264. },
  265. async getcity(lng, lat) {
  266. const res = await this.$myRequest({
  267. url: '/api/api_gateway?method=device.device_manage.weathers',
  268. data: {
  269. lng: lng,
  270. lat: lat,
  271. },
  272. });
  273. this.weatherinfo = res[0];
  274. },
  275. async getUserlogin() {
  276. const res = await this.$myRequest({
  277. url: '/api/api_gateway?method=user.login.user_login_info',
  278. });
  279. // this.jurisdiction = {
  280. // cbtf: false,
  281. // jktf: false,
  282. // hjtf: false,
  283. // fztf: false,
  284. // sytf: false,
  285. // sbtf: false,
  286. // sqtf: false,
  287. // zjtf: false,
  288. // }
  289. uni.setStorage({
  290. key: 'jurisdiction',
  291. data: JSON.stringify(res.children),
  292. });
  293. uni.setStorage({
  294. key: 'myuser_type',
  295. data: JSON.stringify(res.myuser_type),
  296. });
  297. uni.setStorage({
  298. key: 'myuid',
  299. data: JSON.stringify(res.myuid),
  300. });
  301. let QueryPermission = (id) => {
  302. let list = res.children;
  303. for (var i = 0; i < list.length; i++) {
  304. if (list[i].children) {
  305. var data = list[i].children;
  306. for (var j = 0; j < data.length; j++) {
  307. if (data[j].children) {
  308. var item = data[j].children;
  309. for (var k = 0; k < item.length; k++) {
  310. if (item[k].pur_id == id) {
  311. return true;
  312. }
  313. }
  314. }
  315. }
  316. }
  317. }
  318. return false;
  319. };
  320. this.jurisdiction = {
  321. cbtf: false,
  322. jktf: false,
  323. hjtf: false,
  324. fztf: false,
  325. sytf: false,
  326. sbtf: false,
  327. sqtf: false,
  328. zjtf: false,
  329. qxz: QueryPermission(242),
  330. sq: QueryPermission(284),
  331. cbyj: QueryPermission(243),
  332. };
  333. console.log(res.children);
  334. for (var i = 0; i < res.children.length; i++) {
  335. switch (res.children[i].pur_id) {
  336. case 36:
  337. this.jurisdiction.cbtf = true; //"测报系统"
  338. break;
  339. case 42:
  340. this.jurisdiction.jktf = true; //"可视农业"
  341. break;
  342. case 40:
  343. this.jurisdiction.hjtf = true; //"环境监测系统"
  344. break;
  345. case 44:
  346. this.jurisdiction.fztf = true; //"防治系统"
  347. break;
  348. case 58:
  349. this.jurisdiction.sytf = true; //"溯源系统"
  350. break;
  351. case 28:
  352. this.jurisdiction.sbtf = true; //"系统管理"
  353. break;
  354. case 25:
  355. this.jurisdiction.sqtf = true; //"四情基地"
  356. break;
  357. case 124:
  358. this.jurisdiction.zjtf = true; //"专家诊断"
  359. break;
  360. // case "灌溉控制系统":
  361. // this.jurisdiction.sftf = true
  362. // break;
  363. case 202:
  364. this.jurisdiction.ggtf = true; //"灌溉控制系统"
  365. break;
  366. }
  367. }
  368. },
  369. tabfunction(index) {
  370. if (index == 0) {
  371. uni.navigateTo({
  372. url: '../fourBase/index',
  373. });
  374. } else if (index == 1) {
  375. // var that = this
  376. // this.show = true
  377. uni.navigateTo({
  378. url: '/pages/identifyPest/identifyPest',
  379. });
  380. } else if (index == 2) {
  381. uni.navigateTo({
  382. url: '../expertDiagnosis/index',
  383. });
  384. } else if (index == 3) {
  385. uni.navigateTo({
  386. url: '../afterSale/index',
  387. });
  388. } else if (index == 9) {
  389. }
  390. },
  391. tabequipment(url, type) {
  392. console.log(url);
  393. uni.navigateTo({
  394. url: `${url}${type ? `?typeId=${type}` : ''}`,
  395. });
  396. },
  397. // onok(ev) {
  398. // this.path = this.url;
  399. // console.log(ev);
  400. // this.loadTF = true;
  401. // uni.showLoading({
  402. // mask: true,
  403. // success: function () {
  404. // console.log(999);
  405. // },
  406. // });
  407. // var publiukey = `-----BEGIN PUBLIC KEY-----
  408. // MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6m92fXUrccS4SoLg4W4jPRNua
  409. // 4BcRk4ldLcqPuQpD2Mds2+hw+Gi+0MUnshF/r/DTcCJgkt7rtoY9EB6/XJ6MFw14
  410. // whhESFie/lZUWRsk8M89Rkr8m5rwmBl+uLAd5LopyshFqKTBXeT2ytHP1JCQLPBO
  411. // 34Fy4/yEz4qEzkzBuwIDAQAB
  412. // -----END PUBLIC KEY-----`;
  413. // var time = +new Date();
  414. // var str2 = 'YuNfEi' + time + 'YuNfEi';
  415. // var pubblicData = jsencrypt.setEncrypt(publiukey, str2);
  416. // if (this.flag == 2) {
  417. // console.log('111');
  418. // // pest.pests.insect_discern 虫害
  419. // uni.uploadFile({
  420. // // url: 'http://dev.hnyfwlw.com/api/api_gateway?method=base.bases.base_photo', //仅为示例,非真实的接口地址
  421. // url: 'https://wx.hnyfwlw.com/api/api_gateway?method=pest.pests.insect_discern', //仅为示例,非真实的接口地址
  422. // filePath: ev.path,
  423. // name: 'img_file',
  424. // formData: {
  425. // user: 'test',
  426. // sign: pubblicData,
  427. // },
  428. // success: (uploadFileRes) => {
  429. // this.loadTF = false;
  430. // console.log(JSON.parse(uploadFileRes.data));
  431. // uni.navigateTo({
  432. // url:
  433. // '../disandpests/index?datas=' +
  434. // uploadFileRes.data +
  435. // '&path=' +
  436. // ev.path,
  437. // });
  438. // },
  439. // fail(res) {
  440. // console.log(res);
  441. // },
  442. // });
  443. // } else if (this.flag == 1) {
  444. // //pest.pests.insect_discern病害识别
  445. // // uni.showLoading({
  446. // // title: '加载中'
  447. // // });
  448. // uni.uploadFile({
  449. // // url: 'http://dev.hnyfwlw.com/api/api_gateway?method=base.bases.base_photo', //仅为示例,非真实的接口地址
  450. // url: 'https://wx.hnyfwlw.com/api/api_gateway?method=pest.pests.plant_discern', //仅为示例,非真实的接口地址
  451. // filePath: ev.path,
  452. // name: 'img_file',
  453. // formData: {
  454. // user: 'test',
  455. // sign: pubblicData,
  456. // },
  457. // success: (uploadFileRes) => {
  458. // this.loadTF = false;
  459. // console.log(JSON.parse(uploadFileRes.data));
  460. // uni.navigateTo({
  461. // url:
  462. // '../disandpests/index?datas=' +
  463. // uploadFileRes.data +
  464. // '&path=' +
  465. // ev.path,
  466. // });
  467. // },
  468. // });
  469. // }
  470. // this.url = '';
  471. // },
  472. // oncancle() {
  473. // // url设置为空,隐藏控件
  474. // this.url = '';
  475. // },
  476. // confirm() {
  477. // this.flag = 1;
  478. // uni.chooseImage({
  479. // count: 1, //默认9
  480. // // sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
  481. // sourceType: ['camera', 'album'], //从相册选择
  482. // success: (res) => {
  483. // this.url = res.tempFilePaths[0];
  484. // },
  485. // });
  486. // console.log(1);
  487. // },
  488. // cancel() {
  489. // this.flag = 2;
  490. // uni.chooseImage({
  491. // count: 1, //默认9
  492. // // sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
  493. // sourceType: ['camera', 'album'], //从相册选择
  494. // success: (res) => {
  495. // console.log(1);
  496. // this.url = res.tempFilePaths[0];
  497. // },
  498. // });
  499. // },
  500. worm() {
  501. uni.navigateTo({
  502. url: '../expertDiagnosis/wormcase?name=虫情百科',
  503. });
  504. },
  505. virus() {
  506. uni.navigateTo({
  507. url: '../expertDiagnosis/wormcase?name=病害百科',
  508. });
  509. },
  510. introduce(id, title) {
  511. uni.navigateTo({
  512. url: '../expertDiagnosis/introduce?id=' + id + '&title=' + title,
  513. });
  514. },
  515. checkLocationPermission(isTest) {
  516. let session_key = uni.getStorageSync('session_key');
  517. let _this = this;
  518. // 当用户登录之后再弹位置权限框
  519. if (session_key) {
  520. uni.getSetting({
  521. success(res) {
  522. console.log(res);
  523. if (res.authSetting['scope.userLocation']) {
  524. uni.getLocation({
  525. type: 'wgs84 ',
  526. success: (res) => {
  527. // console.log(res, 'loacation');
  528. // uni.showToast({
  529. // title: `${res.longitude}, ${res.longitude}`,
  530. // duration: 20000,
  531. // icon:'none'
  532. // });
  533. _this.getcity(res.longitude, res.latitude);
  534. },
  535. fail(e) {
  536. // uni.showModal({
  537. // title: '提示',
  538. // content: JSON.stringify(e),
  539. // success: function (res) {
  540. // if (res.confirm) {
  541. // console.log('用户点击确定');
  542. // } else if (res.cancel) {
  543. // console.log('用户点击取消');
  544. // }
  545. // }
  546. // });
  547. uni.showToast({
  548. title: '系统未开启定位或未授权微信定位',
  549. duration: 5000,
  550. icon: 'none'
  551. });
  552. }
  553. });
  554. } else {
  555. uni.authorize({
  556. scope: 'scope.userLocation',
  557. success: () => {
  558. // 用户已授权
  559. uni.getLocation({
  560. type: 'wgs84 ',
  561. success: (res) => {
  562. console.log(res, 'loacation');
  563. _this.getcity(res.longitude, res.latitude);
  564. },
  565. });
  566. },
  567. fail: () => {
  568. // 用户拒绝授权,可引导用户至设置页手动开启
  569. if (isTest) {
  570. uni.showModal({
  571. title: '需要授权',
  572. content: '天气功能需要获取您的地理位置,请在设置中打开位置权限',
  573. success: (modalRes) => {
  574. if (modalRes.confirm) {
  575. uni.openSetting()
  576. } else {
  577. uni.showToast({
  578. title: '您拒绝了授权,将无法查看天气信息',
  579. duration: 2000,
  580. icon: 'none'
  581. });
  582. }
  583. },
  584. })
  585. }
  586. },
  587. })
  588. }
  589. }
  590. })
  591. }
  592. }
  593. },
  594. onLoad() {
  595. console.log(this.$imageURL)
  596. var time = new Date();
  597. var hours = time.getHours();
  598. if (hours < 12) {
  599. this.hello = '上午好!';
  600. } else {
  601. this.hello = '下午好!';
  602. }
  603. this.getUserlogin();
  604. this.checkLocationPermission(true); // 首次加载弹框提醒
  605. },
  606. onShow() {
  607. this.loadTF = false;
  608. this.getUserlogin();
  609. this.checkLocationPermission();
  610. },
  611. };
  612. </script>
  613. <style lang="less">
  614. page {
  615. background: linear-gradient(180deg, #1FC676 11.72%, #1FC676 11.52%, #D5F9E7 29.83%, #F5F6FA 36.96%), #FFF;
  616. // background-image: url(https://s3.hnyfwlw.com/webstaticimg/bigdata_app/newindex/bg.png);
  617. // background: linear-gradient(180deg, #1FC676 8.72%, #1FC676 18.52%, #D5F9E7 21.83%, #F5F6FA 25.96%), #FFF;
  618. background-size: 100%;
  619. background-repeat: no-repeat;
  620. background-color: #f9f9f9;
  621. }
  622. .home {
  623. // background: linear-gradient(180deg, #1FC676 8.72%, #1FC676 18.52%, #D5F9E7 21.83%, #F5F6FA 25.96%), #FFF;
  624. width: 100%;
  625. height: 100%;
  626. padding-top: 94rpx;
  627. box-sizing: border-box;
  628. }
  629. .welcom {
  630. height: 64rpx;
  631. line-height: 64rpx;
  632. padding-left: 16rpx;
  633. font-size: 40rpx;
  634. color: #fff;
  635. }
  636. .weather-bg {
  637. width: 100%;
  638. height: 212rpx;
  639. background-image: url(https://s3.hnyfwlw.com/webstaticimg/bigdata_app/newImg/home/banner-bg.png);
  640. background-size: 100% 100%;
  641. background-repeat: no-repeat;
  642. }
  643. .weather-box {
  644. display: flex;
  645. margin: 24rpx 0 16rpx 0;
  646. }
  647. .weather:nth-child(1) {
  648. border-right: 1px solid rgba(255, 255, 255, 0.6);
  649. }
  650. .weather {
  651. flex: 1;
  652. display: flex;
  653. .weaimg {
  654. width: 42rpx;
  655. height: 42rpx;
  656. }
  657. .weatext {
  658. gap: 8rpx;
  659. flex: 1;
  660. display: flex;
  661. flex-direction: column;
  662. align-items: center;
  663. font-size: 24rpx;
  664. color: rgba(255, 255, 255, 0.8);
  665. }
  666. .weatext_title {
  667. font-size: 24rpx;
  668. color: #fff;
  669. }
  670. .text-span {
  671. color: #0BBC58;
  672. margin-left: 16rpx;
  673. padding: 0 2px;
  674. border-radius: 4px;
  675. background: rgba(255, 255, 255, 0.6);
  676. }
  677. .text-value {
  678. font-size: 48rpx;
  679. color: #fff;
  680. }
  681. }
  682. .weather-warning {
  683. margin: 20rpx 0;
  684. padding: 0 40rpx;
  685. color: #fff;
  686. .weather-alert{
  687. width:30rpx;
  688. height: 30rpx;
  689. margin-right: 10rpx;
  690. }
  691. }
  692. .ai-box {
  693. width: 100%;
  694. padding: 0 40rpx;
  695. box-sizing: border-box;
  696. height: 128rpx;
  697. margin-bottom: 12rpx;
  698. position: relative;
  699. top: -20rpx;
  700. .ai-content {
  701. box-sizing: border-box;
  702. height: 100%;
  703. border-radius: 8px;
  704. border: 1.5px solid #FFF;
  705. background: linear-gradient(180deg, #ffffffa3 0%, #FFF 100%);
  706. padding: 24rpx;
  707. image {
  708. width: 80rpx;
  709. height: 80rpx;
  710. float: left;
  711. margin-right: 16rpx;
  712. }
  713. .float-right {
  714. float: right;
  715. padding: 4px 12px;
  716. color: #fff;
  717. border-radius: 28px;
  718. background: #0BBC58;
  719. margin: 12rpx 0;
  720. }
  721. .ai-text {
  722. float: left;
  723. }
  724. .ai-text-title {
  725. color: #333834;
  726. line-height: 40rpx;
  727. font-size: 28rpx;
  728. font-weight: 700;
  729. }
  730. .ai-text-subtitle {
  731. color: #7b9783;
  732. line-height: 40rpx;
  733. font-size: 20rpx;
  734. font-weight: 400;
  735. }
  736. }
  737. }
  738. .functionbox {
  739. width: 100%;
  740. // height: 240rpx;
  741. padding: 0rpx 32rpx 0 32rpx;
  742. box-sizing: border-box;
  743. margin-bottom: 16rpx;
  744. .swiper {
  745. height: 208rpx;
  746. }
  747. .functionbox_title {
  748. padding-left: 20rpx;
  749. font-size: 34rpx;
  750. }
  751. .functionbox_text {
  752. display: flex;
  753. flex-wrap: wrap;
  754. // justify-content: space-around;
  755. margin-top: 30rpx;
  756. .functionbox_text_item {
  757. width:20%;
  758. text-align: center;
  759. color: #616666;
  760. font-size: 24rpx;
  761. margin-bottom: 32rpx;
  762. .itemimg {
  763. width: 80rpx;
  764. height: 80rpx;
  765. margin-bottom: 16rpx;
  766. }
  767. }
  768. }
  769. }
  770. .facilitybox {
  771. width: 100%;
  772. padding: 0 32rpx;
  773. box-sizing: border-box;
  774. background: #F5F6FA;
  775. .facilitybox-content {
  776. border-radius: 16rpx;
  777. background: #FFF;
  778. padding: 32rpx;
  779. }
  780. .facilitybox_title {
  781. font-size: 30rpx;
  782. color: #333;
  783. margin-bottom: 24rpx;
  784. // padding-left: 20rpx;
  785. }
  786. .facilitybox_itembox {
  787. display: flex;
  788. gap: 32rpx;
  789. .facilitybox_item {
  790. flex: 1;
  791. color: #616666;
  792. .facilitybox_span {
  793. padding: 16rpx 24rpx;
  794. width: 50%;
  795. color: #0B3F5D;
  796. font-weight: 500;
  797. font-size: 28rpx;
  798. .text {
  799. font-size: 20rpx;
  800. color: #4E916E;
  801. font-weight: 400;
  802. margin-top: 9rpx;
  803. }
  804. }
  805. .itemimg {
  806. width: 90rpx;
  807. height: 90rpx;
  808. float: right;
  809. margin: 7rpx 0;
  810. }
  811. }
  812. .facilitybox-zhuanjia {
  813. border-radius: 8px;
  814. background: linear-gradient(180deg, #D3FBE6 0%, #F5F7FA 100%);
  815. position: relative;
  816. .itemimg {
  817. width: 112rpx;
  818. height: 146rpx;
  819. position: absolute;
  820. bottom: 0;
  821. right: 16rpx;
  822. }
  823. text {
  824. color: #003318;
  825. font-weight: 500;
  826. font-size: 28rpx;
  827. }
  828. }
  829. .facilitybox-suishi {
  830. border-radius: 8px;
  831. background: linear-gradient(180deg, #CAECFF 0%, #F5F7FA 99.89%);
  832. padding: 9rpx 0;
  833. .facilitybox_span {
  834. color: #0B3F5D;
  835. }
  836. }
  837. .facilitybox-bchk {
  838. border-radius: 8px;
  839. background: linear-gradient(180deg, #EEE5F6 0%, #F5F7FA 95.65%);
  840. // height: 102rpx;
  841. padding: 10rpx 0;
  842. .facilitybox_span {
  843. color: #3E2B50;
  844. }
  845. .itemimg {
  846. width: 78rpx;
  847. height: 72rpx;
  848. margin-right: 10rpx;
  849. }
  850. }
  851. .facilitybox-jgqs {
  852. border-radius: 8px;
  853. background: linear-gradient(180deg, #D2E5FF 0%, #F5F7FA 95.65%);
  854. .facilitybox_span {
  855. color: #0D2E5B;
  856. }
  857. }
  858. .facilitybox-jwjy {
  859. border-radius: 8px;
  860. background: linear-gradient(180deg, #FFF4D2 0%, #F5F7FA 95.65%);
  861. .facilitybox_span {
  862. color: #3D4012;
  863. }
  864. }
  865. }
  866. }
  867. .banner-ad {
  868. margin: 32rpx 0;
  869. height: 224rpx;
  870. border-radius: 8px;
  871. background-size: 100% 100%;
  872. background-image: url(https://s3.hnyfwlw.com/webstaticimg/bigdata_app/newImg/home/ad-banner.png);
  873. .ad-text{
  874. height: 100%;
  875. display: flex;
  876. flex-direction: column;
  877. justify-content: space-around;
  878. padding: 40rpx;
  879. box-sizing: border-box;
  880. .title{
  881. color: #333333;
  882. font-size: 28rpx;
  883. font-style: normal;
  884. font-weight: 700;
  885. line-height: normal;
  886. }
  887. .sub-title{
  888. color: #666666;
  889. font-size: 20rpx;
  890. font-style: normal;
  891. font-weight: 500;
  892. line-height: normal;
  893. }
  894. .btn{
  895. text-align: center;
  896. width: 112rpx;
  897. color:#fff;
  898. padding: 4px 0px;
  899. font-size: 20rpx;
  900. border-radius: 4px;
  901. background: linear-gradient(106deg, #0BBC58 2.6%, #7CE6FB 86.51%);
  902. }
  903. }
  904. }
  905. .insectattack {
  906. width: 90%;
  907. margin: 0 auto;
  908. padding: 30rpx;
  909. .insectattack_title {
  910. font-size: 34rpx;
  911. // padding-left: 20rpx;
  912. display: flex;
  913. justify-content: space-between;
  914. .iconbox {
  915. width: 40rpx;
  916. height: 40rpx;
  917. background-color: #cfd6d6;
  918. color: #909696;
  919. border-radius: 40rpx;
  920. line-height: 40rpx;
  921. text-align: center;
  922. font-size: 20rpx;
  923. }
  924. }
  925. .insectattack_listbox {
  926. // padding: 0 20rpx;
  927. overflow-x: auto;
  928. .insectattack_list {
  929. width: 1104rpx;
  930. display: flex;
  931. margin-top: 30rpx;
  932. flex-wrap: wrap;
  933. .list_box {
  934. // background-color: #f00;
  935. background-size: 100% 100%;
  936. width: 246rpx;
  937. height: 324rpx;
  938. margin-right: 30rpx;
  939. border-radius: 20rpx;
  940. position: relative;
  941. .list_boxbg {
  942. width: 100%;
  943. height: 100%;
  944. position: absolute;
  945. top: 0;
  946. left: 0;
  947. z-index: -1;
  948. .list_boxbg_img {
  949. width: 100%;
  950. height: 100%;
  951. }
  952. }
  953. .list_box_xiang {
  954. width: 95%;
  955. margin-top: 0rpx auto;
  956. display: flex;
  957. justify-content: flex-end;
  958. padding-top: 20rpx;
  959. .list_box_xiang_click {
  960. padding: 8rpx 15rpx;
  961. background-color: rgba(0, 0, 0, 0.2);
  962. color: #fff;
  963. font-size: 20rpx;
  964. border-radius: 52rpx;
  965. }
  966. }
  967. .list_box_info {
  968. width: 90%;
  969. margin: 130rpx auto 0;
  970. height: 120rpx;
  971. border-radius: 10rpx;
  972. background-image: linear-gradient(to right,
  973. #ffffff,
  974. rgba(255, 255, 255, 0.44));
  975. padding: 10rpx;
  976. box-sizing: border-box;
  977. .list_box_info_name {
  978. font-weight: 700;
  979. }
  980. .list_box_info_text {
  981. font-size: 18rpx;
  982. overflow: hidden;
  983. text-overflow: ellipsis;
  984. display: -webkit-box;
  985. -webkit-box-orient: vertical;
  986. -webkit-line-clamp: 2;
  987. }
  988. }
  989. }
  990. // .list_box1 {
  991. // background-image: url(../../static/images/newindex/cao.png);
  992. // }
  993. // .list_box2 {
  994. // background-image: url(../../static/images/newindex/yee.jpg);
  995. // }
  996. // .list_box3 {
  997. // background-image: url(../../static/images/newindex/lingc.jpg);
  998. // }
  999. // .list_box4 {
  1000. // background-image: url(../../static/images/newindex/ming.png);
  1001. // }
  1002. // .list_box5 {
  1003. // background-image: url(../../static/images/newindex/mai.png);
  1004. // }
  1005. // .list_box6 {
  1006. // background-image: url(../../static/images/newindex/dadou.jpg)
  1007. // }
  1008. // .list_box7 {
  1009. // background-image: url(../../static/images/newindex/yumi.png);
  1010. // }
  1011. // .list_box8 {
  1012. // background-image: url(../../static/images/newindex/dao.png);
  1013. // }
  1014. }
  1015. }
  1016. }
  1017. .loading {
  1018. position: absolute;
  1019. top: 0;
  1020. left: 0;
  1021. z-index: 100;
  1022. width: 100%;
  1023. height: 100vh;
  1024. background-color: rgba(0, 0, 0, 0.5);
  1025. display: flex;
  1026. justify-content: center;
  1027. align-items: center;
  1028. }
  1029. </style>