index.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786
  1. <template>
  2. <view style="height: 100%;">
  3. <!-- <u-navbar :bgImg="bgImg" title="首页" :titleStyle="{ color:'#fff', letterSpacing:'0.3em',fontSize:'18px'}" :safeAreaInsetTop="true" ></u-navbar> -->
  4. <!-- <navInfo :title="'首页'" :titleStyle="{ color:'#fff', letterSpacing:'0.3em',fontSize:'18px'}"></navInfo>
  5. <view class="bgTopImg">
  6. <image slot="right" :src="`${urls}/navBg@2x.png`" class="bgTopImg"></image>
  7. </view> -->
  8. <view class="container uni-container"
  9. style="display:flex;flex-direction: column;justify-content: space-between;height: 100%;">
  10. <view class="nav">
  11. <!-- <u-scroll-list indicatorColor="#fff0f0" indicatorActiveColor="#f56c6c" >
  12. <view class="scroll-list" style="flex-direction: row;">
  13. <view class="scroll-list__goods-item" v-for="(item, index) in goodsArr" :key="index"
  14. :class="[(index === 4) && 'scroll-list__goods-item--no-margin-right']">
  15. <image class="scroll-list__goods-item__image " :src=" item.thumbnail" mode="">
  16. </image>
  17. <text class="scroll-list__goods-item__text">{{ item.name }}</text>
  18. </view>
  19. </view>
  20. </u-scroll-list> -->
  21. <view>
  22. <u-grid :border="false" col="4" v-if="!isStreetPerson">
  23. <u-grid-item v-for="(item, listIndex) in goodsArr" :key="listIndex">
  24. <image @click="handleToInfo(item.menuUrl)" class="scroll-list__goods-item__image "
  25. :src="item.thumbnail" mode=""></image>
  26. <text class="grid-text">{{ item.name }}</text>
  27. </u-grid-item>
  28. </u-grid>
  29. <u-grid :border="false" col="3" v-else>
  30. <u-grid-item v-for="(item, listIndex) in goodsStreet" :key="listIndex">
  31. <image @click="handleToInfo(item.menuUrl)" class="scroll-list__goods-item__image "
  32. :src="item.thumbnail" mode=""></image>
  33. <text class="grid-text">{{ item.name }}</text>
  34. </u-grid-item>
  35. </u-grid>
  36. <u-toast ref="uToast" />
  37. </view>
  38. </view>
  39. <!-- <view style="margin-bottom: 20rpx;">
  40. <u-button :plain="true" text="全部已读" @click="cleanUnread" style="width: 23%;float: right;"></u-button>
  41. </view> -->
  42. <!-- <view class="grid-body" v-for="(item, index) in tableDatas" :key="index">
  43. <uni-card class="cards">
  44. <u-cell-group :border="false">
  45. <u-cell :border="false" :title="item.name" :icon="item.icon" :boritemder="false" isLink
  46. titleStyle="font-weight:600" rightIconStyle="color:#4CB2B6;font-size: 24rpx;"
  47. >
  48. <text slot="value" v-if="tableData.length!=0" @click="cleanUnread" class="weidu">全部已读</text>
  49. <text slot="value" style="font-size: 24rpx;color: #4CB2B6;" @click="goInformDetails(item.comType)">更多</text>
  50. </u-cell>
  51. </u-cell-group>
  52. <view v-if="tableData[index]!=''">
  53. <view v-for="(item1, index1) in tableData" :key="index1"
  54. @click.nativite="onNoticeClick(item1)" link
  55. >
  56. <uni-row class="demo-uni-row padding-top text-sm" :gutter="20"
  57. style="margin:0rpx 30rpx 0rpx -24rpx;width: 100%;">
  58. <uni-col :span="16">
  59. <u-notice-bar :text="item1.comTitle?item1.comTitle:''" speed="40"></u-notice-bar>
  60. <text class="uni-body text-1cut" v-if="item1.length==0">暂无{{item}}</text>
  61. </uni-col>
  62. <uni-col :span="8">
  63. </uni-col>
  64. </uni-row>
  65. </view>
  66. </view>
  67. <view v-else class="no-notice"> 暂无{{item.name}}
  68. </view>
  69. </uni-card>
  70. </view> -->
  71. <!-- <view class="grid-body" >
  72. <uni-card class="cards" > -->
  73. <!-- <u-cell-group :border="false">
  74. <u-cell :border="false" title="通知公告" icon="@/static/images/checkActive/tongzhi@2x.png" :boritemder="false" isLink
  75. titleStyle="font-weight:600" rightIconStyle="color:#4CB2B6;font-size: 24rpx;">
  76. <text slot="value" v-if="tableData.length!=0" @click="cleanUnread" class="weidu">全部已读</text>
  77. <text slot="value" style="font-size: 24rpx;color: #4CB2B6;" @click="goInformDetails(item.comType)">更多</text>
  78. </u-cell>
  79. </u-cell-group> -->
  80. <!-- <view v-if="tableData.length>0">
  81. <view v-for="(item1, index1) in tableData" :key="index1"
  82. @click.nativite="onNoticeClick(item1)" link>
  83. <uni-row class="demo-uni-row padding-top text-sm" :gutter="20"
  84. style="margin:0rpx 30rpx 0rpx -24rpx;width: 100%;">
  85. <uni-col :span="16">
  86. <u-notice-bar :text="item1.title?item1.title:''" speed="40"></u-notice-bar>
  87. </uni-col>
  88. <uni-col :span="8">
  89. </uni-col>
  90. </uni-row>
  91. </view>
  92. </view>
  93. <view v-else class="no-notice"> 暂无数据
  94. </view>
  95. </uni-card>
  96. </view> -->
  97. <view v-if="tableData">
  98. <view class="back-image">
  99. <image :src="laba" class="back-notice"></image>
  100. <view style="display: flex;padding-top: 40rpx;">
  101. <image :src="tongzhi" class="back-size"></image>
  102. <view v-if="arrtongzhi.length !=0" @click.nativite="onNoticeClick(arrtongzhi[0])">
  103. {{ arrtongzhi[0].title }}
  104. </view>
  105. <view v-else>暂无通知</view>
  106. </view>
  107. </view>
  108. <!-- <view class="back-image back-image2">
  109. <image :src="laba" class="back-notice"></image>
  110. <view style="display: flex;padding-top: 40rpx;">
  111. <image :src="gonggao" class="back-size"></image>
  112. <view v-if="arrgonggao.length != []" @click.nativite="onNoticeClick(arrgonggao[0])">
  113. {{ arrgonggao[0].title }}
  114. </view>
  115. <view v-else>暂无公告</view>
  116. </view>
  117. </view> -->
  118. </view>
  119. <view class="">
  120. <u-cell-group :border="false">
  121. <u-cell :border="false" :boritemder="false" isLink rightIconStyle="color:#4CB2B6;font-size: 24rpx;">
  122. <view slot="title" class="u-slot-title">
  123. <text class="u-cell-text">待办任务</text>
  124. </view>
  125. <text slot="value" style="font-size: 28rpx;color: #4CB2B6;" @click="goInformDetails">更多</text>
  126. </u-cell>
  127. </u-cell-group>
  128. <uni-card v-if="tableDatas.length>0">
  129. <uni-row class="demo-uni-row" :gutter="20" width="100%">
  130. <uni-col :span="24"
  131. style="margin-bottom: 10rpx;display: flex;justify-content:space-between;"><text
  132. style="font-weight:600;font-size: 34rpx;">{{ tableDatas[0].taskName }}</text>
  133. <image :src="zhuanfa" class="back-size back-sizes" @click="forward(tableDatas[0])"></image>
  134. </uni-col>
  135. <uni-col :span="24" style="margin-bottom: 10rpx;display: flex;"><text
  136. style="color:#728F90">任务说明:</text><rich-text
  137. :nodes="tableDatas[0].taskContent?tableDatas[0].taskContent:''"
  138. class="conts"></rich-text>
  139. </uni-col>
  140. <uni-col :span="24"><text
  141. style="color:#728F90">任务发布者:</text><text>{{tableDatas[0].senderName}}</text>
  142. </uni-col>
  143. </uni-row>
  144. <uni-row class="demo-uni-row" :gutter="20" width="100%">
  145. <!-- <uni-col :span="24"> -->
  146. <view class="flex btn-box" style="width: 50%;float: right;">
  147. <u-button shape="circle" size="small" color="#F7C41E" text="查看详情"
  148. @click="addClickDetail(tableDatas[0].broadId)" style="margin-right: 10rpx;"></u-button>
  149. <u-button shape="circle" size="small" color="#4CB2B6" style="margin-left: 10rpx;" text="去完成"
  150. @click="addClickModify(tableDatas[0])"></u-button>
  151. </view>
  152. <!-- </uni-col> -->
  153. </uni-row>
  154. </uni-card>
  155. <uni-card v-else style="text-align:center">
  156. 今日暂无任务,可前往查看是否有往日任务
  157. </uni-card>
  158. </view>
  159. <!-- 图表-->
  160. <view class="charts-box">
  161. <!-- 注意:这里的opts是uCharts的配置,eopts是ECharts的配置,不要搞混,如果不需要用在各种小程序端,是不需要传uCharts的opts的,只需要传eopts即可!!!这里加opts是为了覆盖uCharts的rose图的默认图例配置的位置 -->
  162. <!-- <qiun-data-charts type="column" :eopts="opts" :opts="opts" :chartData="chartsDataLine3" v-if="chartsDataLine3.series[0].itemStyle.normal.color=='#D2D8E2'"
  163. :echartsH5="true" :echartsApp="true" /> -->
  164. </view>
  165. </view>
  166. <!-- 单位进来转发任务显示人员 -->
  167. <u-popup :show="checkboxShow2" :round="10" @close="checkboxShow2=false" style="position: relative;"
  168. mode="center">
  169. <view style="width: 90vw;padding: 10px;">
  170. <text class="text-xl">检查人员</text>
  171. <view class="" class="person-forward" v-if="personInfo">
  172. <u-checkbox-group v-model="item.checkboxValue1" v-for="(item, index) in personInfo" :key="index"
  173. placement="column" @change="checkboxChange2(item.user_id,$event)">
  174. <u-checkbox :customStyle="{marginBottom: '8px'}" :label="item.nickname" :name="item.id">
  175. </u-checkbox>
  176. </u-checkbox-group>
  177. </view>
  178. <view v-else>
  179. 此单位下暂无可转发人员
  180. </view>
  181. <view class="flex flex-direction-row " style="margin: 30rpx 0;">
  182. <u-button shape="circle" type="primary" color="#4CB2B6" text="确定" @click="checkboxConfirm2"
  183. customStyle="margin-right:20px;padding:0 30px">
  184. </u-button>
  185. <u-button type="primary" plain color="#4CB2B6" text="取消" shape="circle" @click="checkboxCancel2"
  186. customStyle="padding:0 30px">
  187. </u-button>
  188. </view>
  189. </view>
  190. </u-popup>
  191. <!-- 加载中 -->
  192. <isLodingModel></isLodingModel>
  193. <u-modal :show="show" @confirm="confirm" @cancel="cancel" @close="close" asyncClose closeOnClickOverlay
  194. showCancelButton confirmColor="red" :title="title" :content="content" ref="uModal"></u-modal>
  195. </view>
  196. </template>
  197. <script>
  198. import {
  199. getNoticeList,
  200. getNoticeAllRead,
  201. getNoticeOlnyRead,
  202. isNeedInfo
  203. } from '@/api/notice'; // 通知公告列表
  204. import {
  205. checkGetPerson, //单位转发任务获取人员
  206. taskList, //获取除草稿箱以外的列表 //获取当前日期的任务列表
  207. checkSubmitForwardTask, //确认转发任务
  208. } from "@/api/check_active";
  209. import storage from '@/utils/storage';
  210. let that = null;
  211. import config from '@/config'
  212. const baseUrlImg = config.baseUrlImg
  213. export default {
  214. data() {
  215. return {
  216. urls: baseUrlImg,
  217. bgImg: `${baseUrlImg}/navBg@2x.png`,
  218. opts: {
  219. legend: {
  220. show: false
  221. },
  222. color: ["#D2D8E2"],
  223. yAxis: {
  224. data: [{
  225. min: 0,
  226. axisLine: false,
  227. }],
  228. axisLine: false,
  229. },
  230. disabled: false,
  231. xAxis: {
  232. axisLine: {
  233. show: false
  234. },
  235. },
  236. tooltip: {
  237. trigger: 'axis',
  238. axisPointer: {
  239. type: 'none'
  240. }
  241. },
  242. extra: {
  243. column: {
  244. type: 'group',
  245. barBorderRadius: [6, 6, 6, 6],
  246. // activeBgColor: "#4CB2B6",
  247. // activeBgOpacity:1
  248. },
  249. tooltip: {
  250. horizentalLine: false,
  251. splitLine: false
  252. }
  253. }
  254. },
  255. chartsDataLine3: {},
  256. tongzhi: `${baseUrlImg}/tongzhi.png`,
  257. gonggao: `${baseUrlImg}/gonggao.png`,
  258. laba: `${baseUrlImg}/laba.png`,
  259. //import biankuang from '@/static/images/biankuang.png'
  260. LoadingModel: false,
  261. show: false, //弹出框
  262. title: '完善个人信息',
  263. content: '个人信息尚未完善,是否完善个人基本信息?',
  264. arrtongzhi: [],
  265. arrgonggao: [],
  266. personInfo: [],
  267. checkedList2: [], //检查单位已选择列表
  268. // 数据 //数据接口,已读接口(id,全部)---通知列表,详情
  269. // tableDatas: [{
  270. // name: '通知',
  271. // icon: tongzhi,
  272. // comType: '1'
  273. // }
  274. // , {
  275. // name: '公告',
  276. // icon: gonggao,
  277. // comType: "2"
  278. // }, {
  279. // name: '指令',
  280. // icon: zhiling,
  281. // comType: "3"
  282. // },
  283. // ],
  284. tableDatas: [], //任务数据
  285. formData: {
  286. pageNo: 1,
  287. pageSize: 10,
  288. receivDate: '',
  289. receiver: this.$store.state.user.id,
  290. taskType: "3"
  291. },
  292. FormDataTask: {
  293. "broadId": 0,
  294. "deptId": [],
  295. "id": 0,
  296. "orgId": [],
  297. "sender": this.$store.state.user.id,
  298. "receiver": [],
  299. "status": 0,
  300. "taskContent": "",
  301. "taskName": "",
  302. "taskStatus": 0,
  303. "taskType": "" //任务类型 1对应主动检查
  304. },
  305. zhuanfa: `${baseUrlImg}/zhuanfa.png`,
  306. // 通知公告数据
  307. tableData: [],
  308. // tableData数据加载中
  309. loading: false,
  310. // echarts数据
  311. checkactiveOption: {},
  312. goodsArr: [{
  313. name: '每日巡查',
  314. thumbnail: `${baseUrlImg}/meirixuncha.png`,
  315. menuUrl: '/pagesA/fire/inspection_active/index'
  316. },
  317. {
  318. name: '任务派遣',
  319. thumbnail: `${baseUrlImg}/zhudongjiancha.png`,
  320. menuUrl: `/pagesA/fire/check_active/index?type=2`
  321. },
  322. {
  323. name: '主动检查',
  324. thumbnail: `${baseUrlImg}/renwuguanli.png`,
  325. menuUrl: `/pagesA/fire/check_inspection/check_inspection`
  326. },
  327. {
  328. name: '隐患管理',
  329. thumbnail: `${baseUrlImg}/yinhuanguanli.png`,
  330. menuUrl: '/pagesA/fire/hidden_trouble/index'
  331. }
  332. ],
  333. goodsStreet: [{
  334. name: '街道消防检查',
  335. thumbnail: `${baseUrlImg}/fire_street.png`,
  336. menuUrl: '/pagesA/fire/fire_inspetItem/fire_inspetItem'
  337. },
  338. {
  339. name: '消防工作档案',
  340. thumbnail: `${baseUrlImg}/zhudongjiancha.png`,
  341. menuUrl: `/pagesA/fire/archive/nav`
  342. },
  343. {
  344. name: '微型消防站',
  345. thumbnail: `${baseUrlImg}/renwuguanli.png`,
  346. menuUrl: `/pagesA/fire/fire/fire_station/index`
  347. },
  348. ],
  349. checkboxShow2: false,
  350. isStreetPerson: false
  351. };
  352. },
  353. // 在 vue页面,向起始页通过事件传递数据
  354. onShow: function() {
  355. this.getServerData();
  356. const date = new Date()
  357. this.formData.receivDate = uni.$u.timeFormat(date, 'yyyy-mm-dd')
  358. this.getDatas()
  359. this.getData()
  360. const deptId = uni.getStorageSync('getUserInfo_key').streetInfo ? uni.getStorageSync('getUserInfo_key')
  361. .streetInfo
  362. .id : ''; //登录用户
  363. if (deptId != '') {
  364. this.isStreetPerson = true
  365. this.$forceUpdate()
  366. }else{
  367. this.isStreetPerson = false
  368. }
  369. },
  370. onLoad: function(option) {
  371. that = this;
  372. // // 判断用户信息是否需要完善
  373. // const value = uni.getStorageSync('getUserInfo_key');
  374. // if (
  375. // value.userRoles.appRoles.length > 0 &&
  376. // value.userRoles.appRoles[0].role_id != '' &&
  377. // value.userRoles.appRoles[0].user_id != ''
  378. // ) {
  379. // const appRoleId = value.userRoles.appRoles[0].role_id;
  380. // const userId = value.userRoles.appRoles[0].user_id;
  381. // isNeedInfo({
  382. // appRoleId: appRoleId,
  383. // userId: userId
  384. // }).then(response => {
  385. // if (response.code != 0) {
  386. // that.show = true;
  387. // }
  388. // });
  389. // } else {
  390. // that.show = true;
  391. // }
  392. },
  393. onReady() {},
  394. methods: {
  395. //图表
  396. getServerData() {
  397. //区域图
  398. this.chartsDataLine3 = {
  399. categories: ['提交', '待完成', '审核', '打回', '完成'],
  400. series: [{
  401. name: "",
  402. barWidth: 26,
  403. data: [30, 80, 100, 49, 112],
  404. itemStyle: {
  405. normal: {
  406. //这里设置柱形图圆角 [左上角,右上角,右下角,左下角]
  407. barBorderRadius: [6, 6, 4, 4],
  408. color: '#D2D8E2'
  409. },
  410. emphasis: {
  411. color: '#68BCBF' //点击后高亮颜色
  412. }
  413. }
  414. }]
  415. }
  416. },
  417. // 获取数据
  418. getData() {
  419. this.$modal.isLoadingModel(true);
  420. this.LoadingModel = true;
  421. getNoticeList({
  422. }).then(response => {
  423. this.LoadingModel = false;
  424. this.$modal.isLoadingModel(this.LoadingModel);
  425. // 为数据赋值:通过展开运算符的形式,进行新旧数据的拼接
  426. // this.tableData = response.data ?? [...this.tableData, ...response.data.list];
  427. if (this.tableData && response.data?.list.length > 0) {
  428. this.arrtongzhi = response.data.list.filter(i => i.type == 1);
  429. this.arrgonggao =response.data.list.filter(i => i.type == 2);
  430. }
  431. // this.checkactiveGetEchart();
  432. });
  433. },
  434. goInformDetails(val) {
  435. //点击更多,查看所有的通知列表
  436. // uni.navigateTo({
  437. // url: '/pagesA/fire/notice/index?id=' + val
  438. // });
  439. //查看所有的每日任务列表
  440. uni.navigateTo({
  441. url: '/pagesA/fire/inspection_active/index'
  442. });
  443. },
  444. //清楚所有未读
  445. cleanUnread() {
  446. getNoticeAllRead({
  447. userId: this.$store.state.user.id
  448. }).then(response => {
  449. if (response.data == true) {
  450. this.getData();
  451. }
  452. });
  453. },
  454. // 单个公告详情点击事件
  455. onNoticeClick(val) {
  456. getNoticeOlnyRead({
  457. id: val.id
  458. }).then(response => {
  459. if (response.data == true) {
  460. this.getData();
  461. }
  462. });
  463. uni.navigateTo({
  464. url: `/pagesA/fire/notice/notcice_details/notcice_details?id=${val.id}`,
  465. success: function(res) {
  466. // 通过eventChannel向被打开页面传送数据
  467. res.eventChannel.emit('acceptDataFromOpenerPage', val);
  468. }
  469. });
  470. },
  471. // 根据不同的url,进行页面的跳转
  472. handleToInfo(url) {
  473. this.$tab.navigateTo(url);
  474. },
  475. // 模态框确认,取消操作
  476. confirm() {
  477. this.show = false;
  478. uni.navigateTo({
  479. url: '/pages/mine/info/edit'
  480. });
  481. },
  482. close() {
  483. this.show = false;
  484. },
  485. cancel() {
  486. this.show = false;
  487. },
  488. // ================================================================
  489. //查看详情
  490. addClickDetail(val) {
  491. uni.navigateTo({
  492. url: `/pagesA/fire/check_active/check_list/check_list?id=${val}&current=${this.current}`,
  493. success: function(res) {
  494. res.eventChannel.emit('acceptDataFromOpenerPage', val);
  495. }
  496. })
  497. },
  498. //去完成
  499. addClickModify(val) {
  500. uni.navigateTo({
  501. url: `/pagesA/fire/check_active/check_implement/check_implement?broadId=${val.broadId}`,
  502. success: function(res) {
  503. res.eventChannel.emit('acceptDataFromOpenerPage', val);
  504. }
  505. })
  506. },
  507. //转发
  508. forward(val) { //展示转发的弹出层
  509. this.ids = val.id //当前点击任务的id
  510. this.checkboxShow2 = true
  511. this.FormDataTask.broadId = val.broadId
  512. this.FormDataTask.id = this.ids
  513. this.FormDataTask.taskName = val.taskName
  514. this.FormDataTask.taskStatus = val.taskStatus
  515. this.FormDataTask.taskContent = val.taskContent
  516. this.FormDataTask.orgId.push(val.orgId)
  517. checkGetPerson({
  518. orgId: val.orgId
  519. }).then(response => {
  520. this.personInfo = response.data
  521. })
  522. },
  523. checkboxChange2(i, n) {
  524. if (i && n.length != 0) {
  525. this.checkedList2.push(i)
  526. } else if (i && n.length == 0) {
  527. this.checkedList2 = this.checkedList2.filter(item => item != i)
  528. }
  529. },
  530. //popup检查单位确定============
  531. checkboxConfirm2() {
  532. checkSubmitForwardTask(JSON.stringify(this.FormDataTask)).then(response => {
  533. if (response.data) {
  534. this.$modal.msg('转发成功')
  535. this.checkboxShow2 = false
  536. } else {
  537. this.$modal.msgError(response.msg)
  538. }
  539. })
  540. },
  541. //popup取消
  542. checkboxCancel2() {
  543. this.checkboxShow2 = false
  544. },
  545. getDatas() {
  546. this.loading = true
  547. this.pageNo = 1
  548. taskList(JSON.stringify(this.formData)).then(response => {
  549. this.tableDatas = response.data.list
  550. })
  551. },
  552. // =====================================================
  553. }
  554. };
  555. </script>
  556. <style lang="scss" scoped>
  557. .album {
  558. @include flex;
  559. align-items: flex-start;
  560. &__avatar {
  561. background-color: $u-bg-color;
  562. padding: 5px;
  563. border-radius: 3px;
  564. }
  565. &__content {
  566. margin-left: 10px;
  567. flex: 1;
  568. }
  569. }
  570. .container {
  571. border-radius: 30px 30px 0px 0px;
  572. background: #fff;
  573. // top:200rpx;
  574. z-index: 99;
  575. position: relative;
  576. }
  577. body {
  578. // background-image: linear-gradient(#4cb2b6, #f0f8f9) !important;
  579. }
  580. uni-page-body {
  581. // background-image: linear-gradient(#4cb2b6, #f0f8f9) !important;
  582. height: 100% !important;
  583. // height: 100%;
  584. }
  585. .grid-body {
  586. // height: 30%;
  587. margin-bottom: 20rpx;
  588. }
  589. .cards {
  590. height: 100%;
  591. }
  592. /deep/.uni-card--shadow {
  593. border-radius: 24rpx;
  594. }
  595. /deep/.u-button.data-v-3bf2dba7,
  596. .u-grid-item {
  597. width: 30%;
  598. float: right;
  599. }
  600. /deep/.uni-card--border {
  601. border-radius: 24rpx !important;
  602. box-shadow: 0px 1px 14px 0px rgba(211, 211, 211, 0.3) !important;
  603. border: none !important;
  604. }
  605. ::v-deep .u-navbar__content {
  606. background-color: #4cb2b6 !important;
  607. }
  608. .container {
  609. // height: 90vh !important;
  610. // background-image: linear-gradient(#4cb2b6, #f0f8f9);
  611. }
  612. // 已读
  613. .read {
  614. color: #000;
  615. padding-left: 40rpx;
  616. }
  617. .unread {
  618. color: red;
  619. padding-left: 40rpx;
  620. }
  621. .no-notice {
  622. text-align: center;
  623. }
  624. .text {
  625. text-align: center;
  626. color: #000;
  627. font-size: 26rpx;
  628. margin-top: 10rpx;
  629. }
  630. .grid-item-box {
  631. flex: 1;
  632. display: flex;
  633. flex-direction: column;
  634. align-items: center;
  635. justify-content: center;
  636. padding: 15px 0;
  637. }
  638. .scroll-list__goods-item__image {
  639. width: 85rpx;
  640. height: 92rpx;
  641. }
  642. .grid-text {
  643. font-size: 11px;
  644. color: #383838;
  645. padding: 10rpx 0 20rpx 0rpx;
  646. /* #ifndef APP-PLUS */
  647. box-sizing: border-box;
  648. /* #endif */
  649. }
  650. .nav {
  651. // margin-bottom: 30rpx;
  652. .u-grid-item[data-v-99a45d26],
  653. .u-grid-item.data-v-99a45d26,
  654. .u-grid-item {
  655. margin-bottom: 30rpx;
  656. }
  657. }
  658. /deep/.uni-col-16.data-v-fff79656,
  659. /deep/.uni-col-16[data-v-fff79656] {
  660. width: 100%;
  661. }
  662. /deep/.uni-col-16 {
  663. width: 100%;
  664. }
  665. /deep/.uni-row {
  666. margin: 0 30rpx 10rpx -6rpx !important;
  667. }
  668. /deep/.u-notice-bar {
  669. background-color: rgb(235, 246, 247) !important;
  670. }
  671. /deep/.u-notice-bar[data-v-4eff50a7],
  672. /deep/.u-notice-bar.data-v-4eff50a7,
  673. /deep/.u-notice-bar {
  674. border-radius: 20rpx;
  675. }
  676. .yidu {
  677. font-size: 24rpx;
  678. background-color: #f8f8f8;
  679. padding: 10rpx 20rpx;
  680. border-radius: 10rpx;
  681. color: rgb(255, 178, 62);
  682. margin-right: 20rpx;
  683. }
  684. .weidu {
  685. font-size: 24rpx;
  686. background-color: #f8f8f8;
  687. padding: 10rpx 20rpx;
  688. border-radius: 10rpx;
  689. margin-right: 20rpx;
  690. color: #a5a9ac;
  691. }
  692. .back-image {
  693. margin-bottom: 20rpx;
  694. height: 115rpx;
  695. background: url('~@/static/images/biankuang.png') no-repeat;
  696. background-size: 100% 115rpx;
  697. position: relative;
  698. }
  699. .back-image2 {
  700. margin-bottom: 0;
  701. }
  702. .back-size,
  703. .back-sizes {
  704. width: 60rpx;
  705. height: 30rpx;
  706. margin: 0 20rpx 0 60rpx;
  707. }
  708. .back-sizes {
  709. width: 32rpx;
  710. height: 32rpx;
  711. }
  712. .back-notice {
  713. position: absolute;
  714. top: 0;
  715. left: 0;
  716. width: 48rpx;
  717. height: 52rpx;
  718. }
  719. .charts-box {
  720. margin-top: 20rpx;
  721. width: 100%;
  722. height: 600rpx;
  723. }
  724. /deep/.u-navbar__content__left[data-v-75dad532],
  725. /deep/.u-navbar__content__right[data-v-75dad532],
  726. /deep/.u-navbar__content__right {
  727. display: none !important;
  728. }
  729. .u-cell-text {
  730. font-weight: 700;
  731. font-size: 32rpx;
  732. padding-left: 10rpx;
  733. margin-left: -10rpx;
  734. border-left: 6rpx solid #4CB2B6;
  735. }
  736. </style>