index.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660
  1. <template>
  2. <view class="home-container">
  3. <!-- 环卫 start-->
  4. <template v-if="hasPlat(['sanitation'])">
  5. <view class="index-title">
  6. 智慧环卫 <view class="dot"></view> 让科技建设城市
  7. </view>
  8. <image :src="$getImages('/assetsMobile/images/index/page.png')" class="background-image"></image>
  9. <view class="page-warp">
  10. <template v-for="(item,index) in sanitationArr">
  11. <view v-if="$hasPermiOr(allPermission(item.sidebarList))" :key="index" class="home-munes" :class="index==0?'pd8':''">
  12. <view class="sidebar">
  13. <Sidebar :direction="item.direction" :sidebarList="item.sidebarList" :label="item.label" :titleIcon="item.titleIcon"></Sidebar>
  14. </view>
  15. </view>
  16. </template>
  17. <!-- 动态菜单 start-->
  18. <template v-for="(item,index) in $store.state.user.dynList">
  19. <view :key="`dyn${index}`" class="home-munes">
  20. <view class="sidebar">
  21. <sidebardyn :children="item.children" :label="item.meta.title" :titleIcon="item.mobileIcon" :himObj="himObj"></sidebardyn>
  22. </view>
  23. </view>
  24. </template>
  25. <!-- 动态菜单 end-->
  26. </view>
  27. </template>
  28. <!-- 环卫 end-->
  29. <!-- 企事业 start-->
  30. <template v-else-if="hasPlat(['enterprises'])">
  31. <view class="tipfixed" v-if="hasHostPlat(['dingH5']) && $store.state.user.showSts==1">
  32. <template v-if="!$store.state.user.isModel">
  33. <div>点击演示按钮后进入演示状态,显示模拟数据</div>
  34. <u-button type="success" size="mini"
  35. :custom-style="{width: '160rpx'}" @click="$store.dispatch('setIsModel',true)">开始演示</u-button>
  36. </template>
  37. <template v-else-if="$store.state.user.isModel">
  38. <div>点击退出演示后退出演示状态,显示真实数据</div>
  39. <u-button type="error" size="mini"
  40. :custom-style="{width: '160rpx'}" @click="$store.dispatch('setIsModel',false)">退出演示</u-button>
  41. </template>
  42. </view>
  43. <view class="icon-fixed-right" v-if="hasHostPlat(['dingH5'])">
  44. <image v-if="$hasPermi('mobile:index:base:scanCode')" :src="$getImages('/assetsMobile/images/qrcode.png')" class="munes-icon" @click="handleQrCode"></image>
  45. </view>
  46. <view class="swiper-wrap" v-if="$hasPermi('mobie:index:base:swiper')">
  47. <u-swiper :list="swiperList" :height="166" :radius="8" indicator indicatorMode="dot"></u-swiper>
  48. </view>
  49. <view class="data-wrap">
  50. <view class="data-wrap-item" v-if="$hasPermi('mobie:index:base:realMile')">
  51. <image :src="$getImages('/assetsMobile/images/enterprises/data/licheng.png')" class="data-wrap-item-bg"></image>
  52. <view class="data-wrap-item-content">
  53. <view class="data-wrap-item-title">里程</view>
  54. <view class="data-wrap-item-label">今日里程</view>
  55. <view class="data-wrap-item-label">{{todayVehicleMileStats.realMile}}</view>
  56. </view>
  57. </view>
  58. <view class="data-wrap-item" v-if="$hasPermi('mobie:index:base:task')">
  59. <image :src="$getImages('/assetsMobile/images/enterprises/data/renwu.png')" class="data-wrap-item-bg"></image>
  60. <view class="data-wrap-item-content">
  61. <view class="data-wrap-item-title">任务</view>
  62. <view class="data-wrap-item-label">未完成 <text style="margin-left: 20rpx;">{{vehicleTaskStats.beginCount+vehicleTaskStats.unBeginCount}}</text></view>
  63. <view class="data-wrap-item-label">已完成 <text style="margin-left: 20rpx;">{{vehicleTaskStats.endCount}}</text></view>
  64. </view>
  65. </view>
  66. <view class="data-wrap-item" v-if="$hasPermi('mobie:index:base:vehicle')">
  67. <image :src="$getImages('/assetsMobile/images/enterprises/data/cheliang.png')" class="data-wrap-item-bg"></image>
  68. <view class="data-wrap-item-content">
  69. <view class="data-wrap-item-title">车辆</view>
  70. <view class="data-wrap-item-label">出车 <text style="margin-left: 20rpx;">{{vehicleDispatchStats.runCount}}</text></view>
  71. <view class="data-wrap-item-label">空闲 <text style="margin-left: 20rpx;">{{vehicleDispatchStats.freeCount}}</text></view>
  72. </view>
  73. </view>
  74. <view class="data-wrap-item" v-if="$hasPermi('mobie:index:base:driver')">
  75. <image :src="$getImages('/assetsMobile/images/enterprises/data/siji.png')" class="data-wrap-item-bg"></image>
  76. <view class="data-wrap-item-content">
  77. <view class="data-wrap-item-title">司机</view>
  78. <view class="data-wrap-item-label">出车 <text style="margin-left: 20rpx;">{{driverDispatchStats.runCount}}</text></view>
  79. <view class="data-wrap-item-label">空闲 <text style="margin-left: 20rpx;">{{driverDispatchStats.freeCount}}</text></view>
  80. </view>
  81. </view>
  82. </view>
  83. <!-- <view class="index-title">
  84. 精准管理 <view class="dot"></view> 让管车更简单
  85. </view>
  86. <image :src="$getImages('/assetsMobile/images/index/page.png')" class="background-image"></image> -->
  87. <view class="page-warp-enterprises">
  88. <!-- <template v-for="(item,index) in enterprisesArr">
  89. <view v-if="$hasPermiOr(allPermission(item.sidebarList))" :key="index" class="home-munes" :class="index==0?'pd8':''">
  90. <view class="sidebar">
  91. <Sidebar :direction="item.direction" :sidebarList="item.sidebarList" :label="item.label" :titleIcon="item.titleIcon"></Sidebar>
  92. </view>
  93. </view>
  94. </template> -->
  95. <!-- 动态菜单 start-->
  96. <template v-for="(item,index) in $store.state.user.dynList">
  97. <view :key="`dyn${index}`" class="home-munes">
  98. <view class="sidebar">
  99. <sidebardyn :children="item.children" :label="item.meta.title" :titleIcon="item.mobileIcon" :himObj="himObj"></sidebardyn>
  100. </view>
  101. </view>
  102. </template>
  103. <!-- 动态菜单 end-->
  104. </view>
  105. </template>
  106. <!-- 企事业 end-->
  107. <template v-else>
  108. <view class="page1-warp">
  109. <template v-for="(item,index) in otherArr">
  110. <view v-if="$hasPermiOr(allPermission(item.sidebarList))" :key="index" class="home-munes">
  111. <view class="sidebar">
  112. <Sidebar :sidebarList="item.sidebarList" :label="item.label"></Sidebar>
  113. </view>
  114. </view>
  115. </template>
  116. </view>
  117. </template>
  118. </view>
  119. </template>
  120. <script>
  121. import { getMobileRouters,boardDetail,getMessageNum } from "@/api/common/system";
  122. import Sidebar from '@/components/sidebar'
  123. import sidebardyn from '@/components/sidebardyn'
  124. import * as dd from 'dingtalk-jsapi'; // 此方式为整体加载,也可按需进行加载
  125. import { isExternal } from "@/utils/validate";
  126. export default {
  127. components: {
  128. Sidebar,
  129. sidebardyn,
  130. },
  131. data() {
  132. return {
  133. sanitationArr: [
  134. {
  135. // label:'',
  136. // titleIcon:'',
  137. direction:'vertical',
  138. sidebarList:[
  139. {
  140. permission: 'mobile:index:sanTask:machineWorkRecord', // 权限
  141. label: '机械作业', // 标题
  142. icon: this.$getImages('/assetsMobile/images/index/machine-bg.png'), // 图片
  143. url: '/pagesSanitation/machineWorkRecord/machineWorkRecord', // 路径
  144. },
  145. {
  146. permission: 'mobile:index:sanTask:wasteTransport', // 权限
  147. label: '垃圾收运', // 标题
  148. icon: this.$getImages('/assetsMobile/images/index/collect-bg.png'), // 图片
  149. url: '/pagesSanitation/wasteTransport/wasteTransport', // 路径
  150. },
  151. {
  152. permission: 'mobile:index:sanTask:wasteTransfer', // 权限
  153. label: '垃圾转运', // 标题
  154. icon: this.$getImages('/assetsMobile/images/index/transport-bg.png'), // 图片
  155. url: '/pagesSanitation/wasteTransfer/wasteTransfer', // 路径
  156. },
  157. ]
  158. },
  159. ],
  160. /* enterprisesArr:[
  161. {
  162. // label:'',
  163. // titleIcon:'',
  164. direction:'vertical',
  165. sidebarList:[
  166. {
  167. permission: 'mobie:index:base:realtimeWatch', // 权限
  168. label: '实时监控', // 标题
  169. icon: this.$getImages('/assetsMobile/images/index/monitor-bg.png'), // 图片
  170. url: '/pages/realtimeWatch/realtimeWatch', // 路径
  171. },
  172. {
  173. permission: 'mobile:index:dispatching:initiate', // 权限
  174. label: '用车申请', // 标题
  175. icon: this.$getImages('/assetsMobile/images/index/vehApplication-bg.png'), // 图片
  176. url: '/pages/flow/diboot?routes=/workflow/mobile/startFlow&workflowKey=system_flow_veh', // 路径
  177. },
  178. {
  179. permission: 'mobile:index:cost:initiate', // 权限
  180. label: '费用申请', // 标题
  181. icon: this.$getImages('/assetsMobile/images/index/expApplication-bg.png'), // 图片
  182. url: '/pages/flow/diboot?routes=/workflow/mobile/startFlow&workflowKey=system_cost', // 路径
  183. },
  184. ]
  185. },
  186. ], */
  187. otherArr:[
  188. {
  189. label:'监控中心',
  190. sidebarList:[ // 监控中心
  191. {
  192. permission: 'mobie:index:base:realtimeWatch', // 权限
  193. label: '实时定位', // 标题
  194. icon: this.$getImages('/assetsMobile/images/index/realTimePosition.png'),//`https://www.yihaocg.com/mobile/image/indexNew/realTimePosition.png`, // 图片
  195. url: '/pages/realtimeWatch/realtimeWatch', // 路径
  196. },
  197. {
  198. permission: 'mobie:index:base:pastRoute', // 权限
  199. label: '历史轨迹', // 标题
  200. icon: this.$getImages('/assetsMobile/images/index/historicaltrack.png'),//`https://www.yihaocg.com/mobile/image/indexNew/historicaltrack.png`, // 图片
  201. url: '/pagesMap/pastRoute/pastRoute', // 路径
  202. },
  203. ]
  204. },
  205. {
  206. label:'报警报表',
  207. sidebarList:[ // 报警报表
  208. {
  209. permission: 'mobile:index:base:proactiveSecurity', // 权限
  210. label: '主动安全报警', // 标题
  211. icon: this.$getImages('/assetsMobile/images/index/zhudong.png'),//`https://www.yihaocg.com/mobile/image/alarm/zhudong.png`, // 图片
  212. url: '/alarm/proactiveSecurity/index', // 路径
  213. },
  214. {
  215. permission: 'mobile:index:base:driverBehavior', // 权限
  216. label: '驾驶行为报警', // 标题
  217. icon: this.$getImages('/assetsMobile/images/index/jiashi.png'),//`https://www.yihaocg.com/mobile/image/indexNew/jiashi.png`, // 图片
  218. url: '/alarm/driverBehavior/index', // 路径
  219. },
  220. {
  221. permission: 'mobile:index:base:blindSpot', // 权限
  222. label: '车辆盲点报警', // 标题
  223. icon: this.$getImages('/assetsMobile/images/index/blindSpot.png'),//`https://www.yihaocg.com/mobile/image/indexNew/blindSpot.png`, // 图片
  224. url: '/alarm/blindSpot/index', // 路径
  225. },
  226. ]
  227. },
  228. {
  229. label:'派车流程',
  230. titleIcon:this.$getImages(`/assetsMobile/images/index/menu/flow-icon.png`),
  231. // direction:'',
  232. sidebarList:[
  233. {
  234. permission: 'mobile:index:dispatching:initiate', // 权限
  235. label: '发起流程', // 标题
  236. iconbg:'3',// 图标背景
  237. icon: this.$getImages('/assetsMobile/images/index/menu/icon-initiate-flow.png'), // 图片
  238. url: '/pages/flow/diboot?routes=/workflow/mobile/startFlow&workflowKey=system_flow_veh', // 路径
  239. },
  240. {
  241. permission: 'mobile:index:dispatching:list', // 权限
  242. label: '用车记录', // 标题
  243. iconbg:'0',// 图标背景
  244. icon: this.$getImages('/assetsMobile/images/index/menu/icon-vehrecord.png'), // 图片
  245. url: '/workflow/vehicleRecord/index', // 路径
  246. },
  247. ]
  248. },
  249. {
  250. label:'维保流程',
  251. titleIcon:this.$getImages(`/assetsMobile/images/index/menu/flow-icon.png`),
  252. // direction:'',
  253. sidebarList:[
  254. {
  255. permission: 'mobile:index:maintenance:initiate', // 权限
  256. label: '发起流程', // 标题
  257. iconbg:'3',// 图标背景
  258. icon: this.$getImages('/assetsMobile/images/index/menu/icon-initiate-flow.png'), // 图片
  259. url: '/pages/flow/diboot?routes=/workflow/mobile/startFlow&workflowKey=system_flow_maintenance', // 路径
  260. },
  261. {
  262. permission: 'mobile:index:maintenance:list', // 权限
  263. label: '车辆维保记录', // 标题
  264. iconbg:'1',// 图标背景
  265. icon: this.$getImages('/assetsMobile/images/index/menu/icon-mainrecord.png'), // 图片
  266. url: '/workflow/vehicleMaintenanceRecord/index', // 路径
  267. },
  268. ]
  269. },
  270. {
  271. label:'费用流程',
  272. titleIcon:this.$getImages(`/assetsMobile/images/index/menu/flow-icon.png`),
  273. // direction:'',
  274. sidebarList:[
  275. {
  276. permission: 'mobile:index:maintenance:initiate', // 权限
  277. label: '发起流程', // 标题
  278. iconbg:'3',// 图标背景
  279. icon: this.$getImages('/assetsMobile/images/index/menu/icon-initiate-flow.png'), // 图片
  280. url: '/pages/flow/diboot?routes=/workflow/mobile/startFlow&workflowKey=system_cost', // 路径
  281. },
  282. {
  283. permission: 'mobile:index:maintenance:list', // 权限
  284. label: '费用记录', // 标题
  285. iconbg:'1',// 图标背景
  286. icon: this.$getImages('/assetsMobile/images/index/menu/icon-mainrecord.png'), // 图片
  287. url: '/workflow/recordCost/index', // 路径
  288. },
  289. ]
  290. },
  291. {
  292. label:'待办',
  293. sidebarList:[
  294. {
  295. permission: 'mobile:index:base:flowstart', // 权限
  296. label: '发起流程', // 标题
  297. icon: this.$getImages('/assetsMobile/images/flow/start2.png'),//`http://tq.5000v.com:8032/assetsMobile/images/flow/start2.png`, // 图片
  298. url: '/pages/flow/flow?redirect=/pages/workflowTask/index&type=start', // 路径
  299. },
  300. {
  301. permission: 'mobile:index:base:flowmyLaunch', // 权限
  302. label: '我发起的', // 标题
  303. icon: this.$getImages('/assetsMobile/images/flow/myLanuch2.png'),//`http://tq.5000v.com:8032/assetsMobile/images/flow/myLanuch2.png`, // 图片
  304. url: '/pages/flow/flow?redirect=/pages/workflowTask/index&type=myLaunch', // 路径
  305. },
  306. {
  307. permission: 'mobile:index:base:flowtodo', // 权限
  308. label: '我的待办', // 标题
  309. icon: this.$getImages('/assetsMobile/images/flow/todo2.png'), // 图片
  310. url: '/pages/flow/flow?redirect=/pages/workflowTask/index&type=todo', // 路径
  311. hint:''
  312. },
  313. {
  314. permission: 'mobile:index:base:flowdone', // 权限
  315. label: '我的已办', // 标题
  316. icon: this.$getImages('/assetsMobile/images/flow/done2.png'),//`http://tq.5000v.com:8032/assetsMobile/images/flow/done2.png`, // 图片
  317. url: '/pages/flow/flow?redirect=/pages/workflowTask/index?type=done', // 路径
  318. },
  319. ]
  320. },
  321. {
  322. label:'司机任务',
  323. sidebarList:[
  324. {
  325. permission: 'mobile:index:base:driverTask', // 权限
  326. label: '任务列表', // 标题
  327. icon: this.$getImages('/assetsMobile/images/flow/driverTask.png'), // 图片
  328. url: '/workflow/driverTask/index', // 路径
  329. },
  330. ]
  331. },
  332. {
  333. label:'物品管理',
  334. sidebarList:[
  335. {
  336. permission: 'mobile:index:material:materialApplication', // 权限
  337. label: '物品申领', // 标题
  338. icon: this.$getImages('/assetsMobile/images/flow/vehicleRecord.png'), // 图片
  339. url: '/pagesBase/materialApplication/index', // 路径
  340. },
  341. {
  342. permission: 'mobile:index:material:materialRecord', // 权限
  343. label: '申领记录', // 标题
  344. icon: this.$getImages('/assetsMobile/images/flow/done2.png'), // 图片
  345. url: '/pagesBase/materialRecord/index', // 路径
  346. },
  347. ]
  348. },
  349. {
  350. label:'矿山任务',
  351. sidebarList:[
  352. {
  353. permission: 'mobile:index:mine:task', // 权限
  354. label: '任务', // 标题
  355. icon: this.$getImages('/assetsMobile/images/flow/driverTask.png'), // 图片
  356. url: '/pagesMine/driverTask/index', // 路径
  357. },
  358. ]
  359. },
  360. ],
  361. // 动态菜单
  362. dynList: [],
  363. himObj: {
  364. 'mobile:index:base:flowtodo': 0, //待办
  365. 'mobile:index:base:sysMessage': 0, //车务消息
  366. },
  367. swiperList: [
  368. this.$getImages('/assetsMobile/images/enterprises/swipe1.png'),
  369. this.$getImages('/assetsMobile/images/enterprises/swipe2.png'),
  370. this.$getImages('/assetsMobile/images/enterprises/swipe3.png'),
  371. this.$getImages('/assetsMobile/images/enterprises/swipe4.png'),
  372. this.$getImages('/assetsMobile/images/enterprises/swipe5.png'),
  373. ],
  374. todayVehicleMileStats: {
  375. realMile: 0,
  376. },
  377. vehicleTaskStats: {
  378. beginCount: 0,
  379. endCount: 0,
  380. unBeginCount: 0,
  381. },
  382. vehicleDispatchStats: {
  383. runCount: 0,
  384. freeCount: 0,
  385. },
  386. driverDispatchStats: {
  387. runCount: 0,
  388. freeCount: 0,
  389. },
  390. }
  391. },
  392. watch: {
  393. '$store.state.user.wsMsgNum': {
  394. handler(newVal) {
  395. if(this.$store.state.user.wsMsg==='flush_todo_num'){
  396. this.updatataskCount()
  397. }
  398. }
  399. }
  400. },
  401. async created() {
  402. this.$store.dispatch('GetMobileRouters')
  403. },
  404. onLoad() {
  405. this.updatataskCount()
  406. },
  407. onShow() {
  408. /* 企事业数据看板 */
  409. if(this.hasPlat(['enterprises'])) {
  410. boardDetail({}).then((res) => {
  411. let {todayVehicleMileStats,vehicleTaskStats,vehicleDispatchStats,driverDispatchStats} = res.data
  412. this.copyProps(this.todayVehicleMileStats,todayVehicleMileStats)
  413. this.copyProps(this.vehicleTaskStats,vehicleTaskStats)
  414. this.copyProps(this.vehicleDispatchStats,vehicleDispatchStats)
  415. this.copyProps(this.driverDispatchStats,driverDispatchStats)
  416. })
  417. }
  418. },
  419. methods: {
  420. updatataskCount(){
  421. getMessageNum({}).then(res=>{
  422. this.himObj['mobile:index:base:flowtodo'] = res.data.todoTotalNum
  423. this.himObj['mobile:index:base:sysMessage'] = res.data.total
  424. })
  425. },
  426. toformTemplate() {
  427. uni.navigateTo({
  428. url: '/pages/formTemplate/formTemplate?id=1&name=uniapp'
  429. });
  430. },
  431. allPermission(list){
  432. return list.map((e) => e.permission)
  433. },
  434. handleQrCode() {
  435. if(dd.env.platform == "notInDingTalk") {
  436. uni.showToast({
  437. icon: 'none',
  438. title: '请在钉钉应用内使用该功能'
  439. })
  440. return
  441. } else {
  442. dd.scan({
  443. type: 'qr',
  444. success: (res) => {
  445. const { text } = res;
  446. if (isExternal(text)) {
  447. window.location.href= text
  448. }
  449. },
  450. fail: () => {},
  451. complete: () => {},
  452. });
  453. }
  454. },
  455. },
  456. }
  457. </script>
  458. <style lang="scss" scoped>
  459. .home-container {
  460. background: #F7F8FA;
  461. position: relative;
  462. .tipfixed {
  463. position: fixed;
  464. top: 0;
  465. left: 0;
  466. padding: 20rpx;
  467. width: 100%;
  468. background: rgba(0, 0, 0, 0.3);
  469. z-index: 100;
  470. color: #FFFFFF;
  471. font-size: 24rpx;
  472. display: flex;
  473. justify-content: flex-start;
  474. align-items: center;
  475. }
  476. .icon-fixed-right {
  477. position: fixed;
  478. top: 710rpx;
  479. right: 0;
  480. z-index: 10000;
  481. .munes-icon{
  482. width: 80rpx;
  483. height: 80rpx;
  484. &+.munes-icon{
  485. margin-top: 40rpx;
  486. }
  487. }
  488. }
  489. .background-image{
  490. width: 100%;
  491. height: 362rpx;
  492. }
  493. .index-title{
  494. width: 100%;
  495. font-family: PangMenZhengDao;
  496. font-size: 26px;
  497. color: #FFFFFF;
  498. position: absolute;
  499. top: 110rpx;
  500. z-index: 1;
  501. display: flex;
  502. align-items: center;
  503. justify-content: center;
  504. .dot{
  505. width: 10rpx;
  506. height: 10rpx;
  507. border-radius: 10rpx;
  508. background-color: #fff;
  509. margin: 0 22rpx;
  510. }
  511. }
  512. .swiper-wrap {
  513. margin: 16rpx 28rpx 16rpx;
  514. width: calc(100% - 56rpx);
  515. border-radius: 16rpx;
  516. }
  517. .data-wrap {
  518. display: flex;
  519. flex-wrap: wrap;
  520. // gap: 16rpx 18rpx;
  521. justify-content: space-between;
  522. margin: 0 28rpx 16rpx;
  523. .data-wrap-item {
  524. // width: calc(50% - 16rpx);
  525. width: 338rpx;
  526. height: 164rpx;
  527. position: relative;
  528. margin-top: 16rpx;
  529. display: flex;
  530. flex-direction: column;
  531. justify-content: space-between;
  532. .data-wrap-item-bg {
  533. position: absolute;
  534. bottom: 0;
  535. right: 0;
  536. width: 100%;
  537. height: 100%;
  538. }
  539. .data-wrap-item-content {
  540. padding: 10rpx 28rpx;
  541. z-index: 100;
  542. height: 100%;
  543. display: flex;
  544. flex-direction: column;
  545. justify-content: space-between;
  546. .data-wrap-item-title {
  547. font-family: PingFangSC, PingFang SC;
  548. font-weight: 500;
  549. font-size: 32rpx;
  550. color: #FFFFFF;
  551. line-height: 44rpx;
  552. text-align: left;
  553. font-style: normal;
  554. }
  555. .data-wrap-item-label {
  556. font-family: PingFangSC, PingFang SC;
  557. font-weight: 400;
  558. font-size: 28rpx;
  559. color: #FFFFFF;
  560. line-height: 44rpx;
  561. text-align: left;
  562. font-style: normal;
  563. }
  564. }
  565. }
  566. }
  567. .page-warp-enterprises{
  568. /* position: absolute;
  569. top:240rpx; */
  570. margin: 0 28rpx;
  571. width: calc(100% - 56rpx);
  572. overflow-y: auto;
  573. padding-bottom: 120rpx;
  574. .home-munes {
  575. padding: 20rpx;
  576. border-radius: 16rpx;
  577. background: #fff;
  578. margin-bottom: 16rpx;
  579. }
  580. .pd8{
  581. padding: 16rpx;
  582. }
  583. }
  584. .page-warp{
  585. position: absolute;
  586. top:240rpx;
  587. margin: 0 28rpx;
  588. width: calc(100% - 56rpx);
  589. overflow-y: auto;
  590. padding-bottom: 120rpx;
  591. .home-munes {
  592. padding: 20rpx;
  593. border-radius: 16rpx;
  594. background: #fff;
  595. margin-bottom: 16rpx;
  596. }
  597. .pd8{
  598. padding: 16rpx;
  599. }
  600. }
  601. .page1-warp{
  602. top:26rpx;
  603. padding-bottom: 120rpx;
  604. .home-munes {
  605. padding: 20rpx;
  606. background: #fff;
  607. }
  608. }
  609. }
  610. </style>