DetailView.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <template>
  2. <view>
  3. <view class="tabs-container">
  4. <u-subsection :list="tabList" :current="activeName" @change="handleTabChange"
  5. active-color="#157a2c"></u-subsection>
  6. </view>
  7. <view class="kd-baseInfo" v-if="activeName === 0">
  8. <view class="kd-cell">
  9. <text class="kd-label">盘点名称</text>
  10. <text class="kd-content">{{ baseInfo.name }}</text>
  11. </view>
  12. <view class="kd-cell">
  13. <text class="kd-label">单据编号</text>
  14. <text class="kd-content">{{ baseInfo.code }}</text>
  15. </view>
  16. <view class="kd-cell">
  17. <text class="kd-label">盘点仓库</text>
  18. <text class="kd-content">{{ baseInfo.warehouseName }}</text>
  19. </view>
  20. <view class="kd-cell">
  21. <text class="kd-label">盘点部门</text>
  22. <text class="kd-content">{{ baseInfo.executeGroupName }}</text>
  23. </view>
  24. <view class="kd-cell">
  25. <text class="kd-label">盘点人员</text>
  26. <text class="kd-content">{{ baseInfo.executorName }}</text>
  27. </view>
  28. <view class="kd-cell">
  29. <text class="kd-label">计划盘点时长</text>
  30. <text class="kd-content">{{ baseInfo.executorDuration }} 分钟</text>
  31. </view>
  32. <view class="kd-cell">
  33. <text class="kd-label">备注</text>
  34. <text class="kd-content">{{ baseInfo.remark }}</text>
  35. </view>
  36. </view>
  37. <view class="list" v-if="activeName === 1">
  38. <AssetsCard2 v-for="(item, index) in baseInfo.planDetailVOS" class="kd-row" :key="index" :item="item"
  39. :index="index+Number(1)" />
  40. </view>
  41. <view class="list" v-if="activeName === 2">
  42. <AssetsCard v-for="(item, index) in list" class="kd-row" :key="index" :item="item"
  43. :index="index+Number(1)" />
  44. </view>
  45. </view>
  46. </template>
  47. <script>
  48. import CellInfo from '@/components/CellInfo.vue'
  49. import AssetsCard from './AssetsCard.vue'
  50. import AssetsCard2 from './AssetsCard2.vue'
  51. export default {
  52. components: {
  53. CellInfo,
  54. AssetsCard,
  55. AssetsCard2
  56. },
  57. props: {
  58. baseInfo: {
  59. type: Object,
  60. default: () => ({})
  61. },
  62. list: {
  63. type: Array,
  64. default: () => []
  65. },
  66. type: {
  67. type: String,
  68. default: ''
  69. }
  70. },
  71. computed: {
  72. sum() {
  73. return this.list.reduce((sum, item) => {
  74. if (item.takeStockPattern) {
  75. sum += +item.amount
  76. } else {
  77. sum += item.detailReqList?.length || 0
  78. }
  79. return sum
  80. }, 0)
  81. }
  82. },
  83. data() {
  84. return {
  85. tabList: ['基本信息', '盘点清单', '报损报溢清单'],
  86. activeName: 0,
  87. statusList: {
  88. 0: '未提交',
  89. 1: '审核中',
  90. 2: '已完成'
  91. },
  92. statusClass: {
  93. 0: 'text-danger',
  94. 1: 'text-primary',
  95. 2: 'text-primary'
  96. }
  97. }
  98. },
  99. methods: {
  100. handleTabChange(val) {
  101. this.activeName = val
  102. }
  103. }
  104. }
  105. </script>
  106. <style lang="scss" scoped>
  107. /deep/.u-subsection__item__text {
  108. font-size: 28rpx !important;
  109. }
  110. .tabs-container {
  111. height: 80rpx;
  112. }
  113. .kd-baseInfo {
  114. padding: 0 32rpx;
  115. font-size: 28rpx;
  116. .kd-cell {
  117. line-height: 90rpx;
  118. border-bottom: 1px dashed #dadada;
  119. display: flex;
  120. justify-content: space-between;
  121. .kd-label {
  122. display: inline-block;
  123. width: 7em;
  124. font-weight: bold;
  125. }
  126. .kd-content {
  127. flex: 1;
  128. text-align: left;
  129. word-break: break-all;
  130. }
  131. }
  132. }
  133. .list {
  134. margin: 0 20rpx 20rpx 20rpx;
  135. // border: 1rpx solid rgba(204, 204, 204, 1);
  136. }
  137. .kd-row {
  138. font-size: 28rpx;
  139. padding: 14rpx 12rpx 6rpx;
  140. border-bottom: 1rpx solid $page-bg;
  141. .kd-col {
  142. display: flex;
  143. justify-content: space-between;
  144. align-items: center;
  145. color: #aaaaaa;
  146. >text {
  147. flex: 1;
  148. }
  149. .label {
  150. margin-right: 20rpx;
  151. }
  152. &.kd-col {
  153. margin-top: 25rpx;
  154. }
  155. .status {
  156. background-color: $page-bg;
  157. display: inline-block;
  158. padding: 4rpx 10rpx;
  159. border-radius: 18rpx;
  160. }
  161. }
  162. .title {
  163. font-weight: bold;
  164. color: #333333;
  165. }
  166. }
  167. </style>