zfitems.vue 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <template>
  2. <view class="allpage">
  3. <view class="listtop pfixed">
  4. <tab-searchone @getSearch='getSearch' :name="name"></tab-searchone>
  5. <tab-list :tablist='tablist' :tabidx="tabidx" @getCheck="goCheck" :height='130'></tab-list>
  6. <time-year @bindDateChange="bindDateChange" ></time-year>
  7. </view>
  8. <view class="zhanline"></view>
  9. <view class="alllist">
  10. <!-- l列表 -->
  11. <zdproject-list :datalist="list" :wtdt='wtdt' @getDetail='goDetail' @getjdDetail="getjdDetail"></zdproject-list>
  12. </view>
  13. <block v-if="checkPermi(['fgw:xmsb:add'])">
  14. <view style="height: 100rpx;"></view>
  15. <view class="zdcount_btn" @click="getAddReport">新增申报</view>
  16. </block>
  17. </view>
  18. </template>
  19. <script>
  20. import zdprojectList from "@/components/projectlist/zdlist.vue"
  21. import tabList from "@/components/toptab/tab.vue"
  22. import tabSearchone from "@/components/toptab/searchone.vue"
  23. import timeYear from "@/components/timedata/timeyear.vue"
  24. import {getxmsbListFn,getxmsbListnumFn} from '@/api/zdwork/clue.js'
  25. import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
  26. // import {getCommonCensus} from "@/api/work/index.js"
  27. export default{
  28. data(){
  29. return{
  30. pageSize: 10,
  31. pageNum: 1,
  32. reachflag:true,
  33. itemslist:[],
  34. wtdt:'',
  35. tabidx:0,
  36. date:'',
  37. list:[],
  38. // ,limt:'projectV2:sbbzb:list'
  39. tablist:[{tit:'全部',val:0,txt:0},{tit:'申报库',val:1,txt:0},{tit:'项目库',val:2,txt:0}],
  40. year:'',
  41. beginTime:'',
  42. endTime:'',
  43. name:'',
  44. census:'',
  45. deptId:this.$store.state.user.deptId,
  46. }
  47. },
  48. components:{
  49. zdprojectList,tabList,tabSearchone,timeYear
  50. },
  51. onUnload(){
  52. uni.$off('refreshdatalistzd')
  53. },
  54. onLoad(e) {
  55. this.tabidx=Number(e.idx);
  56. if(e.xmmc){
  57. this.name=e.xmmc;
  58. }
  59. this.getDataFn();
  60. this.getCommonCensus();
  61. uni.$on('refreshdatalistzd',(e) => {
  62. this.reachflag=true;
  63. this.pageNum=1;
  64. this.list=[];
  65. this.getDataFn();
  66. if(e&&e=='ldps'){
  67. }else{
  68. this.getCommonCensus();
  69. }
  70. })
  71. },
  72. onReachBottom() {
  73. if (this.reachflag) {
  74. this.pageNum++
  75. this.getDataFn()
  76. }
  77. },
  78. methods:{
  79. checkPermi, checkRole,
  80. getAddReport(){
  81. this.$tab.navigateTo('/pages/zdpages/work/addreport')
  82. },
  83. getCommonCensus(){
  84. if(checkPermi(['fgw:xmsb:num'])){
  85. var params={
  86. // deptId:this.deptId,
  87. xmmc:this.name,
  88. }
  89. params['params[beginTime]']=this.beginTime
  90. params['params[endTime]']=this.endTime
  91. getxmsbListnumFn(params).then(res=>{
  92. if(res.code==200){
  93. this.census=res.data;
  94. var newArr=this.tablist;
  95. newArr.forEach(ite=>{
  96. if(ite.val==0){
  97. ite.txt=res.data.all||0
  98. }else if(ite.val==1){
  99. ite.txt=res.data.sbk||0
  100. }else if(ite.val==2){
  101. ite.txt=res.data.xmk||0
  102. }
  103. })
  104. }else{
  105. this.$toast(res.msg)
  106. }
  107. })
  108. }
  109. },
  110. getDataFn(){
  111. var params={
  112. pageSize:this.pageSize,
  113. pageNum: this.pageNum,
  114. xmmc:this.name,
  115. }
  116. params['params[beginTime]']=this.beginTime
  117. params['params[endTime]']=this.endTime
  118. if(this.tabidx==0){//全部
  119. }else if(this.tabidx==1){//申报库
  120. params.type='1'
  121. }else if(this.tabidx==2){//项目库
  122. params.type='2'
  123. }
  124. getxmsbListFn(params).then(res=>{
  125. if(res.code==200){
  126. if (res.rows.length < this.pageSize) {
  127. this.reachflag = false
  128. this.wtdt = '到底了~';
  129. } else {
  130. var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum - 1)
  131. if (num < res.total) {
  132. this.reachflag = true
  133. this.wtdt = '上拉加载更多'
  134. } else {
  135. this.reachflag = false
  136. this.wtdt = '到底了~';
  137. }
  138. }
  139. if (this.pageNum == 1) {
  140. this.list = res.rows;
  141. } else {
  142. this.list = this.list.concat(res.rows)
  143. }
  144. }else{
  145. this.$toast(res.msg)
  146. }
  147. })
  148. },
  149. getSearch(e){
  150. this.name=e;
  151. this.reachflag=true;
  152. this.pageNum=1;
  153. this.list=[];
  154. this.getDataFn();
  155. this.getCommonCensus();
  156. },
  157. bindDateChange(e){
  158. this.year=e;
  159. this.beginTime=e+'0101';
  160. this.endTime=e+'1231';
  161. this.reachflag=true;
  162. this.pageNum=1;
  163. this.list=[];
  164. this.getDataFn()
  165. this.getCommonCensus();
  166. },
  167. goCheck(data){
  168. this.tabidx=data;
  169. this.reachflag=true;
  170. this.pageNum=1;
  171. this.list=[];
  172. this.getDataFn()
  173. // this.getCommonCensus();
  174. },
  175. goDetail(e){
  176. this.$tab.navigateTo('/pages/zdpages/work/zdcluedetails?id='+e.id)
  177. },
  178. getjdDetail(e){
  179. this.$tab.navigateTo('/pages/zdpages/work/zdcluedetails?id='+e.id+'&tabidx='+e.tabidx)
  180. }
  181. }
  182. }
  183. </script>
  184. <style lang="scss" scoped>
  185. .allpage{min-height: 100vh;background: #ffffff;padding-top:320rpx;box-sizing: border-box;}
  186. .listtopa{border: 6rpx solid #FD5001;border-radius: 36rpx;height:72rpx;box-sizing: border-box;padding:0 140rpx 0 32rpx ;position: relative;
  187. input{}
  188. image{width: 30rpx;height: 30rpx;margin-right: 24rpx;}
  189. .btn{background: #FA5F03;border-radius: 36rpx;width: 140rpx;position: absolute;right: -2rpx;top: -2rpx;bottom:-2rpx;}
  190. }
  191. .listtopb{
  192. .tit{flex: 1;height: 130rpx;display: flex;flex-direction: column;justify-content: center;position: relative;
  193. view{text-align: center;}
  194. .tits{color: #666666;}
  195. .txt{color: #aaaaaa;}
  196. &.act{
  197. &::after{content: '';width: 100rpx;height: 6rpx;background:#FE5706 ;position: absolute;left: 50%;margin-left: -50rpx;bottom: 0;}
  198. .tits{color: #343434;}
  199. .txt{color: #FE5706;}
  200. }
  201. }
  202. }
  203. .zdcount_btn{position: fixed;left: 0;right: 0;bottom: 0;z-index: 4;width: 100%;height: 100rpx;font-size: 32rpx;color: #ffffff;font-weight: 500;
  204. background: #FE5706;display: flex;align-items: center;justify-content: center;
  205. // image{width: 34rpx;height: 34rpx;margin-right: 16rpx;}
  206. }
  207. </style>