index.vue 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <template>
  2. <view>
  3. <view class="case_top_wrap">
  4. <ld-select :list="options" label-key="label" value-key="value" placeholder="选择搜索类型"
  5. v-model="queryParams.condition" class="conditionSelect" @change="handleConditionChange" :isShowIcon="true"></ld-select>
  6. <u-input shape="circle" clearable prefixIcon="search" v-model="queryParams.conditionContent"
  7. placeholder="整合搜索" @blur="handleKeyword" @clear="handleKeywordClear"></u-input>
  8. </view>
  9. <view class="queryParams_wrap">
  10. <view class="sort" @click="handleShowSort">
  11. <view style="margin-right: 10rpx;">排序</view>
  12. <u-icon name="arrow-down-fill" color="#aaa" size="10" ></u-icon>
  13. </view>
  14. <view class="sort" @click="handleShowTag">
  15. <view style="margin-right: 10rpx;">标签</view>
  16. <u-icon name="arrow-down-fill" color="#aaa" size="10" ></u-icon>
  17. </view>
  18. <view class="query" @click="handleshowFilter">
  19. <view style="margin-right: 10rpx;">筛选</view>
  20. <u-icon name="arrow-down-fill" color="#aaa" size="10" ></u-icon>
  21. </view>
  22. </view>
  23. <view class="clue_state_wrap">
  24. <scroll-view scroll-x="true">
  25. <view class="clue_state_list">
  26. <view @click="handleClueStateClick(item)" v-for="(item, index) in clueStateList " :key="index"
  27. class="clue_state_item" :class="{ active : queryParams.clueState === item.clueState }">
  28. <text>{{item.clueStateName}}</text>
  29. <text>({{item.count}})</text>
  30. </view>
  31. </view>
  32. </scroll-view>
  33. </view>
  34. <view class="case_wrap">
  35. <show-emtry v-if="listData.length === 0"></show-emtry>
  36. <view class="case_main_wrap" v-else>
  37. <post v-for="(item,index) in listData" :key="item.id + index" :item="item" :dicts="dicts"
  38. :type="queryParams.type" @click.native="handleToDetail(item)">
  39. </post>
  40. <u-loadmore :status="finished ? 'nomore' : loadStatus" icon line />
  41. </view>
  42. </view>
  43. <sort ref="sort" v-model="queryParams" @getList="resetData" :mapHeight="mapHeight"></sort>
  44. <filter-query ref="filter" v-model="queryParams" @getList="resetData" :mapHeight="mapHeight"
  45. :dicts="dicts"></filter-query>
  46. <group-select class="clueTagsSelect" :list="clueTagGroupVoList" scrollHeight="720rpx" groupName="groupName"
  47. groupChild="clueTagDataList" label-key="name" value-key="id" placeholder="请选择线索标签"
  48. v-model="queryParams.allTagList" multiple clearable ref="clueTag"
  49. @confirm="handleClueTagConfirm"></group-select>
  50. <view class="suspension_button">
  51. 新增
  52. </view>
  53. </view>
  54. </template>
  55. <script>
  56. import clue from "@/pages/clue/mixins/clue.js";
  57. export default {
  58. mixins: [clue],
  59. }
  60. </script>
  61. <style lang="scss" scoped>
  62. @import "@/pages/clue/scss/clue.scss";
  63. </style>