choosingAccessories.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <template>
  2. <view class="sparePartsInventory" style="width: 100%; height: 100vh">
  3. <zj-page-container>
  4. <view class="pv30" style="background: #fff">
  5. <search-input @search="search" />
  6. </view>
  7. <view class="pv30 picker-view-bock" v-if="!option.partsWebsitId && !option.websitId">
  8. <view class="picker-view">
  9. <picker
  10. class="picker-select"
  11. @change="bindPickerChange"
  12. :value="index"
  13. :range="websitList"
  14. range-key="websitName"
  15. >
  16. <view class="picker-select-input">{{ websitList[index] ? websitList[index].websitName : '请选择' }}</view>
  17. </picker>
  18. <image class="icon_next" src="/static/images/fittingsManagement/icon_next.png" mode="aspectFill"></image>
  19. </view>
  20. </view>
  21. <zj-page-fill :scroll="false">
  22. <zj-page-container direction="row">
  23. <view style="width: 180rpx; height: 100%">
  24. <zj-page-container>
  25. <zj-page-fill>
  26. <view
  27. v-for="(item, index) in accessoriesList"
  28. :key="index"
  29. :class="{ accessories_type_a: true, accessories_selected: accessoriesIndex === index }"
  30. @tap.stop="accessoriesIndex = index"
  31. >
  32. <view class="accessories_type_text">
  33. {{ item }}
  34. </view>
  35. </view>
  36. </zj-page-fill>
  37. </zj-page-container>
  38. </view>
  39. <zj-page-fill
  40. zjPageFillClass="zjPageFillClass"
  41. @scrolltolower="carScrolltolower"
  42. @refresherrefresh="carRefresherrefresh"
  43. @refresherrestore="carRefresherrestore"
  44. :scrollAttribute="{
  45. 'refresher-enabled': false,
  46. 'refresher-triggered': refresherTriggered
  47. }"
  48. >
  49. <view class="scroll_list_view">
  50. <block v-for="(item, index) in list" :key="index">
  51. <accessoriesItem
  52. :item="item"
  53. :id="selItem.id || ''"
  54. @selectItem="
  55. itm => {
  56. selItem = itm
  57. }
  58. "
  59. />
  60. </block>
  61. </view>
  62. </zj-page-fill>
  63. </zj-page-container>
  64. </zj-page-fill>
  65. <view class="bottom-container">
  66. <u-button type="primary" text="保存" @click="save"></u-button>
  67. </view>
  68. </zj-page-container>
  69. </view>
  70. </template>
  71. <script>
  72. import searchInput from '@/components/searchInput.vue'
  73. import zjPageContainer from '@/components/zj-page-container/zj-page-container.vue'
  74. import zjPageFill from '@/components/zj-page-container/zj-page-fill.vue'
  75. import accessoriesItem from './choosingAccessoriesItem.vue'
  76. import getData from './mixins/getData.js'
  77. export default {
  78. components: {
  79. searchInput,
  80. zjPageContainer,
  81. zjPageFill,
  82. accessoriesItem
  83. },
  84. mixins: [getData],
  85. data() {
  86. return {
  87. selItem: {}
  88. }
  89. },
  90. methods: {
  91. save() {
  92. uni.$emit('getAccessoriesItem', this.selItem)
  93. uni.navigateBack({
  94. delta: 1
  95. })
  96. }
  97. }
  98. }
  99. </script>
  100. <style scoped lang="scss">
  101. @import './style/style.scss';
  102. </style>