select - 副本.vue 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <view class="list">
  3. <view class="item" v-for="(item, index) in list" :key="index" @click="select(item)">
  4. <view class="icon select check" v-if="item.check">&#xe600;</view>
  5. <view class="icon select" v-else>&#xe8bb;</view>
  6. <view class="title">{{item.items.__KdN9OL4mTiSZImobQUx.value}}</view>
  7. <view class="icon more">&#xe631;</view>
  8. <view class="clear"></view>
  9. </view>
  10. <view class="footer">
  11. <button class="btn ws" @click="back">确定({{ selects.length }})</button>
  12. </view>
  13. </view>
  14. </template>
  15. <script>
  16. export default {
  17. data() {
  18. return {
  19. list: [
  20. ],
  21. selects: [] ,//选中
  22. ste:{},
  23. param: {allow:"false",appId:"__gAPYBW4YxB3UePM3lqO",datetime:"1670298187436",eventMapping:"WTXQSH",fieldid:"__cs7TNRZDZtqKrhZrLPv",formId:"__YFJYj8ON2DXzasI3GSh",isEdit:"true",mutil:"false",parentid:"__JoaMwBw5Qw0DL4xun3e",searchForm:"false",selectOne:"false",viewId:"__MhHakFCgVJAm81MFUnt",_:"1670298187436",_defaultSize:"true"},
  24. pageNum:1
  25. };
  26. },
  27. onLoad(e) {
  28. console.log('eeee:' + JSON.stringify(e));
  29. this.ste=e;
  30. this.getData();
  31. },
  32. methods: {
  33. getData() {
  34. this.http.request({
  35. url: this.http.urls.wt_xqsh+'&_currpage='+this.pageNum,
  36. data: this.param,
  37. method:'POST',
  38. loading: 'false',
  39. success: res => {
  40. //console.log("res.data.data.page==="+JSON.stringify(res));
  41. console.log("this.pageNum==="+this.pageNum);
  42. this.loadMore = res.data.data.page > this.pageNum-1 ? true : false;
  43. res.data.data.data.forEach(item => {
  44. this.list.push(item);
  45. });
  46. }
  47. });
  48. },
  49. //选择
  50. select(item) {
  51. item.check = !item.check;
  52. item.ste=this.ste.ste;
  53. console.log("this.item==="+JSON.stringify(item));
  54. this.selects = this.list.filter(item => item.check);
  55. },
  56. //选中并返回
  57. back() {
  58. uni.$emit('select', this.selects,this.ste);
  59. uni.navigateBack();
  60. }
  61. }
  62. };
  63. </script>
  64. <style lang="scss">
  65. .list {
  66. padding: 10px;
  67. .item {
  68. padding: 13px;
  69. background-color: white;
  70. border-bottom: 1px solid #efecec;
  71. .select {
  72. float: left;
  73. padding-right: 7px;
  74. margin-top: 1px;
  75. font-size: 20px;
  76. }
  77. .check {
  78. color: #4581fb;
  79. }
  80. .more {
  81. float: right;
  82. margin-top: -18px;
  83. color: darkgray;
  84. }
  85. }
  86. }
  87. </style>