移动端
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 

203 satır
6.3 KiB

  1. <template>
  2. <div class="app-container">
  3. <van-nav-bar
  4. title="项目公告"
  5. left-arrow
  6. fixed
  7. placeholder
  8. @click-left="onClickLeft"
  9. />
  10. <van-tabs animated type="card" color="#007b76" style="margin-top: 10px;">
  11. <van-tab>
  12. <template #title><van-icon name="newspaper-o" size="18" style="top: 4px"/>成交公告</template>
  13. <van-list
  14. v-model="loading"
  15. :finished="finished"
  16. finished-text="没有更多了"
  17. style="margin-top: 10px;"
  18. @load="getList"
  19. >
  20. <van-cell v-for="(item,index) in noticeList" icon="play" :key="index" :title="item.projectName" :to="{name:'noticeDetail', query: {id:item.id}}">
  21. <template #label>
  22. 项目编号:{{item.projectCode}} <p style="float: right;">{{item.contractDate}}</p>
  23. </template>
  24. </van-cell>
  25. </van-list>
  26. </van-tab>
  27. <van-tab>
  28. <template #title><van-icon name="records" size="18" style="top: 4px"/>鉴证公告</template>
  29. <van-list
  30. v-model="attestationLoading"
  31. :finished="attestationFinished"
  32. finished-text="没有更多了"
  33. style="margin-top: 10px;"
  34. @load="getAttestationList"
  35. >
  36. <van-cell v-for="(item,index) in attestationList" :key="index" icon="play" :title="item.projectName" :to="{name:'attestationDetail', query: {id:item.id}}">
  37. <template #label>
  38. 鉴证书编号:[{{item.jzsNumOne}}{{item.jzsNumTwo}}] <p style="float: right;">{{item.jzsSignDate}}</p>
  39. </template>
  40. </van-cell>
  41. </van-list>
  42. </van-tab>
  43. <van-tab>
  44. <template #title><van-icon name="description" size="18" style="top: 4px"/>招标公告</template>
  45. <van-list
  46. v-model="inviteTendersLoading"
  47. :finished="inviteTendersFinished"
  48. finished-text="没有更多了"
  49. style="margin-top: 10px;"
  50. @load="getinviteTendersList"
  51. >
  52. <van-cell v-for="(item,index) in inviteTendersList" :key="index" icon="play" :title="item.projectName" :to="{name:'inviteTendersDetail', query: {id:item.id}}">
  53. <template #label>
  54. 招标方:{{item.tenderName}} <p style="float: right;">{{item.logintime}}</p>
  55. </template>
  56. </van-cell>
  57. </van-list>
  58. </van-tab>
  59. <van-tab>
  60. <template #title><van-icon name="completed" size="18" style="top: 4px"/>中标公告</template>
  61. <van-list
  62. v-model="winTheBiddingLoading"
  63. :finished="winTheBiddingFinished"
  64. finished-text="没有更多了"
  65. style="margin-top: 10px;"
  66. @load="getwinTheBiddingList"
  67. >
  68. <van-cell v-for="(item,index) in winTheBiddingList" :key="index" icon="play" :title="item.projectName" :to="{name:'winTheBiddingDetail', query: {id:item.id}}">
  69. <template #label>
  70. 招标方:{{item.tenderName}} <p style="float: right;">{{item.dealTime}}</p>
  71. </template>
  72. </van-cell>
  73. </van-list>
  74. </van-tab>
  75. </van-tabs>
  76. </div>
  77. </template>
  78. <script>
  79. import { noticeList , Attestation , tenderList , winList } from "@/api/notice/index";
  80. export default {
  81. name: "notice",
  82. data() {
  83. return {
  84. //是否显示加载
  85. loading: false,
  86. //是否滚动到底部
  87. finished: false,
  88. //是否显示加载
  89. attestationLoading: false,
  90. //是否滚动到底部
  91. attestationFinished: false,
  92. //是否显示加载
  93. inviteTendersLoading: false,
  94. //是否滚动到底部
  95. inviteTendersFinished: false,
  96. //是否显示加载
  97. winTheBiddingLoading: false,
  98. //是否滚动到底部
  99. winTheBiddingFinished: false,
  100. //成交公告集合
  101. noticeList:[],
  102. //招标公告集合
  103. inviteTendersList:[],
  104. //中标公告集合
  105. winTheBiddingList:[],
  106. //鉴证公告集合
  107. attestationList:[],
  108. //成交公告查询参数
  109. queryParams: {
  110. deptId:100,
  111. pageNum:1,
  112. pageSize:10
  113. },
  114. //招标公告查询参数
  115. inviteTendersQueryParams: {
  116. deptId:100,
  117. pageNum:1,
  118. pageSize:10
  119. },
  120. //招标公告查询参数
  121. winTheBiddingQueryParams: {
  122. deptId:100,
  123. pageNum:1,
  124. pageSize:10
  125. },
  126. //鉴证公告查询参数
  127. attestationQueryParams: {
  128. deptId:100,
  129. pageNum:1,
  130. pageSize:10
  131. },
  132. };
  133. },
  134. created() {
  135. },
  136. methods: {
  137. //成交公告集合
  138. getList(){
  139. this.loading = true;
  140. noticeList(this.queryParams).then(response => {
  141. this.noticeList = response.rows;
  142. if(this.noticeList.length >= response.total){
  143. this.finished = true;
  144. return;
  145. }
  146. this.queryParams.pageNum += 1 ;
  147. this.loading = false;
  148. });
  149. },
  150. //鉴证公告集合
  151. getAttestationList(){
  152. this.attestationLoading = true;
  153. Attestation(this.attestationQueryParams).then(response => {
  154. this.attestationList = response.rows;
  155. console.log(response.rows)
  156. if(this.attestationList.length >= response.total){
  157. this.attestationFinished = true;
  158. return;
  159. }
  160. this.queryParams.pageNum += 1 ;
  161. this.attestationLoading = false;
  162. });
  163. },
  164. //招标公告集合
  165. getinviteTendersList(){
  166. this.inviteTendersLoading = true;
  167. tenderList(this.inviteTendersQueryParams).then(response => {
  168. this.inviteTendersList = response.rows;
  169. if(this.inviteTendersList.length >= response.total){
  170. this.inviteTendersFinished = true;
  171. return;
  172. }
  173. this.inviteTendersQueryParams.pageNum += 1 ;
  174. this.inviteTendersLoading = false;
  175. });
  176. },
  177. //招标公告集合
  178. getwinTheBiddingList(){
  179. this.winTheBiddingLoading = true;
  180. winList(this.winTheBiddingQueryParams).then(response => {
  181. this.winTheBiddingList = response.rows;
  182. if(this.winTheBiddingList.length >= response.total){
  183. this.winTheBiddingFinished = true;
  184. return;
  185. }
  186. this.winTheBiddingQueryParams.pageNum += 1 ;
  187. this.winTheBiddingLoading = false;
  188. });
  189. },
  190. },
  191. };
  192. </script>
  193. <style scoped lang="scss">
  194. .app-container {
  195. }
  196. .titleClass{
  197. }
  198. </style>