myInstitution.vue 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. <template>
  2. <div class="detail">
  3. <mt-header class="detail_head" fixed title="管理制度">
  4. <router-link to="" slot="left">
  5. <mt-button icon="back" v-on:click="jumpBack()"></mt-button>
  6. </router-link>
  7. </mt-header>
  8. <div class="detail_body">
  9. <div class="noList" v-if="list.length==0">
  10. <img src="../../assets/image/noList.png">
  11. </div>
  12. <ul v-else v-infinite-scroll="loadMore" infinite-scroll-disabled="loading" infinite-scroll-distance="10">
  13. <li v-for="(item,index) in list">
  14. <div class="one_manage" v-on:click="toDetail(item.id)">
  15. <div>{{item.title}}</div>
  16. <div><img class="rotate" src="../../assets/image/pull_down.png"></div>
  17. </div>
  18. </li>
  19. <div class="order" v-if="haveMore">
  20. <span class="line"></span>
  21. <span class="txt">没有更多了</span>
  22. <span class="line"></span>
  23. </div>
  24. </ul>
  25. </div>
  26. </div>
  27. </template>
  28. <script>
  29. export default {
  30. data() {
  31. return {
  32. user: JSON.parse(sessionStorage.getItem("user")),
  33. list: [],
  34. pageNum: 1,
  35. pages: 1,
  36. haveMore: false,
  37. }
  38. },
  39. methods: {
  40. // 消息列表
  41. getList() {
  42. this.$indicator.open();
  43. this.http.post(this.port.my.insList, {
  44. 'pageNum': 1
  45. } ,
  46. res => {
  47. this.$indicator.close();
  48. if (res.code == "ok") {
  49. var list = res.data.list;
  50. for(var i in list) {
  51. list[i].isShow = 'text-hide';
  52. }
  53. this.list = list;
  54. this.pages = res.data.pages==0?1:res.data.pages;
  55. } else {
  56. this.$toast({
  57. message: res.msg,
  58. duration: 2000
  59. });
  60. }
  61. }, error => {
  62. this.$indicator.close();
  63. this.$toast({
  64. message: error,
  65. duration: 2000
  66. });
  67. })
  68. },
  69. loadMore() {
  70. if(this.pageNum == this.pages) {
  71. this.haveMore = true;
  72. } else if(this.pageNum < this.pages) {
  73. this.$indicator.open();
  74. this.http.post(this.port.my.insList, {
  75. 'pageNum': ++this.pageNum
  76. } ,
  77. res => {
  78. this.$indicator.close();
  79. if (res.code == "ok") {
  80. this.pages = res.data.pages==0?1:res.data.pages;
  81. if(res.data.list.length != 0) {
  82. for(var i in res.data.list) {
  83. this.list.push(res.data.list[i]);
  84. }
  85. }
  86. } else {
  87. this.$toast({
  88. message: res.msg,
  89. duration: 2000
  90. });
  91. }
  92. }, error => {
  93. this.$indicator.close();
  94. this.$toast({
  95. message: error,
  96. duration: 2000
  97. });
  98. })
  99. }
  100. },
  101. toDetail(id) {
  102. this.$router.push("/myInstitution/" + id);
  103. },
  104. jumpBack() {
  105. this.$router.go(-1);
  106. }
  107. },
  108. created() {
  109. this.getList();
  110. },
  111. mounted() {
  112. }
  113. }
  114. </script>
  115. <style scoped>
  116. body {
  117. background: #EFEFEF;
  118. }
  119. .detail_head {
  120. background: #fff;
  121. color: #333;
  122. height: 0.4rem;
  123. }
  124. .detail_body {
  125. margin-top: 0.4rem;
  126. padding-bottom: 0.15rem;
  127. }
  128. .tab_head {
  129. position: fixed;
  130. width: 100%;
  131. top: 0.4rem;
  132. z-index: 110;
  133. }
  134. .detail {
  135. background: #EFEFEF;
  136. }
  137. .detailBox {
  138. background: #fff;
  139. margin-bottom: 0.11rem;
  140. }
  141. .recordBox {
  142. margin: 0.12rem 0 0 0;
  143. }
  144. .one_recordBox {
  145. padding: 0.12rem 0.2rem;
  146. }
  147. .record_head {
  148. float: left;
  149. color: #5FA1F0;
  150. margin-right: 0.12rem;
  151. }
  152. .record_head img {
  153. width: 0.6rem;
  154. height: 0.6rem;
  155. }
  156. .record_head > div {
  157. width: 100%;
  158. display: inline-block;
  159. vertical-align: middle;
  160. }
  161. .record_head span {
  162. color: #939393;
  163. float: right;
  164. vertical-align: middle;
  165. }
  166. .record_body {
  167. color: #777;
  168. font-size: 0.12rem;
  169. line-height: 0.23rem;
  170. }
  171. .record_body > div:nth-child(1) {
  172. font-size: 0.15rem;
  173. font-weight: 600;
  174. color: #333;
  175. }
  176. .record_body > div:nth-child(3) .text-hide {
  177. padding: 0;
  178. overflow: hidden;
  179. text-overflow: ellipsis;
  180. white-space: nowrap;
  181. }
  182. .record_body > div:nth-child(3) .text-show {
  183. overflow: auto;
  184. text-overflow: unset;
  185. white-space: unset;
  186. }
  187. .record_body > div:nth-child(3) .click-show{
  188. margin-left: 5px;
  189. font-size: 14px;
  190. color: #26a2ff;
  191. text-align: right;
  192. }
  193. .noList {
  194. text-align: center;
  195. padding: 1.5rem 0;
  196. }
  197. .noList img {
  198. width: 1.2rem;
  199. height: 1.2rem;
  200. }
  201. .one_manage {
  202. padding: 0.12rem;
  203. background: #fff;
  204. color: #444;
  205. }
  206. .one_manage div {
  207. display: inline-block;
  208. vertical-align: middle;
  209. }
  210. .one_manage > div:nth-child(1) {
  211. width: 89%;
  212. overflow: hidden;
  213. white-space: nowrap;
  214. text-overflow: ellipsis;
  215. }
  216. .one_manage > div:nth-child(2) {
  217. float: right;
  218. text-align: right;
  219. }
  220. .one_manage > div:nth-child(2) img {
  221. width: 0.15rem;
  222. vertical-align: middle;
  223. }
  224. .rotate {
  225. transform-origin: center center;
  226. transform: rotate(-90deg);
  227. -webkit-transform: rotate(-90deg);
  228. -moz-transform: rotate(-90deg);
  229. -ms-transform: rotate(-90deg);
  230. -o-transform: rotate(-90deg);
  231. transition: transform 0.2s;
  232. -moz-transition: -moz-transform 0.2s;
  233. -moz-transition: -moz-transform 0.2s;
  234. -o-transition: -o-transform 0.2s;
  235. -ms-transition: -ms-transform 0.2s;
  236. }
  237. .noList {
  238. text-align: center;
  239. padding: 1.5rem 0;
  240. }
  241. .noList img {
  242. width: 1.2rem;
  243. height: 1.2rem;
  244. }
  245. .order {
  246. height: 0.6rem;
  247. line-height: 0.6rem;
  248. text-align: center;
  249. }
  250. .order .line {
  251. display: inline-block;
  252. width: 1.2rem;
  253. border-top: 1px solid #ccc ;
  254. vertical-align: middle;
  255. }
  256. .order .txt {
  257. color: #ccc;
  258. font-size: 0.13rem;
  259. vertical-align: middle;
  260. }
  261. </style>