drawer.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <template>
  2. <view class="mainBox">
  3. <uni-nav-bar background-color="#157A2C" color="#fff" fixed="true" statusBar="true" left-icon="back" title="采购需求详情"
  4. @clickLeft="back">
  5. </uni-nav-bar>
  6. <myCard :item="form" :columns="columns"></myCard>
  7. <!-- <view class="item">
  8. <view class="card">
  9. <view>
  10. <view class="lable">预算</view>
  11. <view>{{form.budget||''}} 万元</view>
  12. </view>
  13. <view>
  14. <view class="lable">赢单率</view>
  15. <view>{{form.winRate||''}} %</view>
  16. </view>
  17. <view>
  18. <view class="lable">预计结单日期</view>
  19. <view>{{form.expectedClosingDate||''}}</view>
  20. </view>
  21. </view>
  22. </view> -->
  23. <!-- <u-sticky bgColor="#fff" :customNavHeight="88"> -->
  24. <u-tabs :list="list1" @change="change" :current="current"></u-tabs>
  25. <!-- </u-sticky> -->
  26. <info ref="infoRef" :isDrawer="true" v-show="current==0"></info>
  27. <produceList :pricingWay="form.pricingWay" ref="produceListRef" :isDrawer="true" v-show="current==1">
  28. </produceList>
  29. </view>
  30. </template>
  31. <script>
  32. import produceList from "../../components/produceList.vue"
  33. import info from "./info.vue"
  34. import {
  35. getDetail,
  36. } from '@/api/purchasingManage/purchaseNeedManage.js'
  37. import myCard from '../../components/myCard.vue'
  38. export default {
  39. components: {
  40. produceList,
  41. followList,
  42. info,
  43. myCard
  44. },
  45. data() {
  46. return {
  47. columns: [
  48. [{
  49. label: '名称:',
  50. prop: 'requirementName',
  51. type: 'title',
  52. className: 'perce100',
  53. }],
  54. ],
  55. current: 0,
  56. list1: [{
  57. name: '基本信息',
  58. }, {
  59. name: '需求清单',
  60. }],
  61. form: {},
  62. }
  63. },
  64. onLoad(data) {
  65. getDetail(data.id).then(async res => {
  66. this.form = res
  67. setTimeout(() => {
  68. this.current = 0
  69. this.$nextTick(() => {
  70. this.$refs.infoRef.init(res)
  71. this.$refs.produceListRef.init(res.detailList)
  72. if (data.current) {
  73. this.current = +data.current
  74. }
  75. })
  76. }, 300)
  77. })
  78. },
  79. onUnload() {
  80. },
  81. methods: {
  82. change(data) {
  83. this.current = data.index
  84. },
  85. }
  86. }
  87. </script>
  88. <style lang="scss" scoped>
  89. .item {
  90. padding: 16rpx 32rpx;
  91. .card {
  92. padding: 16rpx 32rpx;
  93. margin-top: 32rpx;
  94. display: flex;
  95. flex-wrap: wrap;
  96. // height: 80rpx;
  97. border-radius: 12rpx;
  98. border: 1px solid #cbcbcb;
  99. >view {
  100. font-size: 26rpx;
  101. width: 33%;
  102. .lable {
  103. color: #999;
  104. margin-bottom: 10rpx;
  105. }
  106. }
  107. }
  108. }
  109. </style>