todayCheck.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <template>
  2. <view class="todayCheckPage">
  3. <view class="content" v-for="item in list">
  4. <view class="contTitle">
  5. <text class="contTitleLeft">{{ item.situationName }}</text>
  6. <text class="contTitleRight">{{ item.checkPlan }}</text>
  7. </view>
  8. <view class="contCon">
  9. <view v-for="items in item.planDepListReps" class="conEveryCon" @click="goToPonitDetails(items)">
  10. <view class="title">
  11. <view class="name">{{ items.deptName }}</view>
  12. <view class="buMen">
  13. <image src="../../static/icon-map-dis.png" mode="" class="img"></image>
  14. <view class="keshi">{{ items.deptClassName }}</view>
  15. </view>
  16. </view>
  17. <view class="status">
  18. <image :src="
  19. items.completeDes == '已完成'
  20. ? '../../static/top-img.png'
  21. : items.completeDes == '查核中'
  22. ? '../../static/hight-bg.png'
  23. : '../../static/disabled-bg.png'
  24. " mode="" class="bgImg"></image>
  25. <text class="statusType">{{ items.completeDes }}</text>
  26. </view>
  27. <view class="points">{{ items.decs }}</view>
  28. <view class="pointsGK">要点概括:{{ items.checkPointNames }}</view>
  29. <view>
  30. <view class="checkName">{{ items.empName }}</view>
  31. <view class="checkTime">{{ items.startDate }}~{{ items.endDate }}</view>
  32. </view>
  33. </view>
  34. </view>
  35. </view>
  36. <tm-no-data v-if="list.length === 0" :textArr="['暂时没有内容可以展示哦', '请返回上一页面或尝试刷新页面']" />
  37. </view>
  38. </template>
  39. <script>
  40. import {
  41. mapState
  42. } from 'vuex';
  43. export default {
  44. data() {
  45. return {
  46. list: [],
  47. date: "",
  48. };
  49. },
  50. computed:{
  51. ...mapState({
  52. isReloadPageData: state => state.todayCheck.isReloadPageData,
  53. }),
  54. },
  55. watch: {
  56. isReloadPageData(newVal,oldVal){
  57. console.log({newVal,oldVal});
  58. if(newVal){
  59. //刷新页面
  60. this.getList();
  61. }
  62. }
  63. },
  64. mounted() {
  65. this.getList();
  66. },
  67. methods: {
  68. getList() {
  69. this.$store
  70. .dispatch({
  71. type: "todayCheck/commActions",
  72. payload: {
  73. key: "specificCheckTaskList",
  74. data: {
  75. specificDate: this.date,
  76. },
  77. },
  78. })
  79. .then((res) => {
  80. this.$store.commit('todayCheck/comChangeState', { //已获取数据时
  81. key: 'isReloadPageData',
  82. data: false
  83. });
  84. if (res) {
  85. this.list = res;
  86. }
  87. });
  88. },
  89. goToPonitDetails(data) {
  90. // console.log(data)
  91. uni.navigateTo({
  92. url: `/pages/checkMainPoints/checkMainPoints?checkId=${data.checkId}&deptId=${data.deptId}&situationType=${data.situationType}`,
  93. });
  94. },
  95. },
  96. onLoad({
  97. date
  98. }) {
  99. this.date = date;
  100. },
  101. };
  102. </script>
  103. <style lang="less">
  104. .todayCheckPage {
  105. padding: 0rpx 25rpx;
  106. height: 100%;
  107. width: 100%;
  108. .content {
  109. width: 100%;
  110. .contTitle {
  111. font-size: 22.5rpx;
  112. color: #666f80;
  113. height: 22.5rpx;
  114. line-height: 22.5rpx;
  115. margin: 25rpx 0rpx 15rpx;
  116. .contTitleLeft {
  117. display: inline-block;
  118. width: 60%;
  119. text-align: left;
  120. }
  121. .contTitleRight {
  122. display: inline-block;
  123. width: 40%;
  124. text-align: right;
  125. }
  126. }
  127. .contCon {
  128. .conEveryCon {
  129. margin-bottom: 25rpx;
  130. padding: 25rpx 25rpx 0rpx;
  131. background-color: #fff;
  132. height: 225rpx;
  133. border-radius: 5rpx;
  134. position: relative;
  135. .title {
  136. margin-bottom: 10rpx;
  137. color: #292c33;
  138. // vertical-align: top;
  139. .name {
  140. height: 35rpx;
  141. display: inline-block;
  142. font-size: 35rpx;
  143. font-weight: 400;
  144. }
  145. .buMen {
  146. margin-left: 20rpx;
  147. display: inline-block;
  148. // width: 117.5rpx;
  149. height: 35rpx;
  150. background-color: #edf2fa;
  151. border-radius: 17.5rpx;
  152. line-height: 82.5rpx;
  153. vertical-align: top;
  154. .img {
  155. vertical-align: top;
  156. width: 35rpx;
  157. height: 35rpx;
  158. }
  159. .keshi {
  160. margin-left: 10rpx;
  161. margin-right: 20rpx;
  162. display: inline-block;
  163. vertical-align: top;
  164. font-size: 17.5rpx;
  165. line-height: 35rpx;
  166. }
  167. }
  168. }
  169. .status {
  170. width: 100rpx;
  171. height: 35rpx;
  172. position: absolute;
  173. top: 0rpx;
  174. right: 0rpx;
  175. .bgImg {
  176. width: 100rpx;
  177. height: 35rpx;
  178. }
  179. .statusType {
  180. width: 100%;
  181. position: absolute;
  182. top: 8.75rpx;
  183. right: 0rpx;
  184. font-size: 17.5rpx;
  185. line-height: 17.5rpx;
  186. color: #fff;
  187. text-align: center;
  188. }
  189. }
  190. .points {
  191. font-size: 20rpx;
  192. color: #292c33;
  193. line-height: 50rpx;
  194. font-weight: bold;
  195. }
  196. .pointsGK {
  197. overflow: hidden;
  198. padding-bottom: 25rpx;
  199. border-bottom: 0.62rpx solid #dadee6;
  200. font-size: 20rpx;
  201. white-space: nowrap;
  202. text-overflow: ellipsis;
  203. color: #666f80;
  204. }
  205. .checkName {
  206. // padding-top: 20.62rpx;
  207. // width: 22%;
  208. display: inline-block;
  209. color: #666e80;
  210. text-align: left;
  211. line-height: 17.5rpx;
  212. font-size: 17.5rpx;
  213. position: absolute;
  214. left: 25rpx;
  215. bottom: 21.25rpx;
  216. }
  217. .checkTime {
  218. // padding-top: 20.62rpx;
  219. // width: 78%;
  220. display: inline-block;
  221. color: #666e80;
  222. text-align: right;
  223. line-height: 17.5rpx;
  224. font-size: 17.5rpx;
  225. position: absolute;
  226. right: 25rpx;
  227. bottom: 21.25rpx;
  228. }
  229. }
  230. }
  231. }
  232. }
  233. </style>