普兆健康管家前端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
2.7 KiB

  1. <template>
  2. <view class="page__view">
  3. <navbar title="选择对比的报告" leftClick @leftClick="$utils.navigateBack" color="#191919" bgColor="#FFFFFF" />
  4. <view class="main">
  5. <uv-radio-group
  6. v-model="selectedId"
  7. placement="column"
  8. shape="circle"
  9. size="36rpx"
  10. iconSize="36rpx"
  11. activeColor="#7451DE"
  12. >
  13. <reportRecordCard
  14. v-for="item in list"
  15. :key="item.id"
  16. :data="item"
  17. ></reportRecordCard>
  18. </uv-radio-group>
  19. </view>
  20. <view class="flex bottom">
  21. <button :class="['btn', selectedId ? '' : 'is-disabled']" :disabled="!selectedId" @click="onCompare">开始对比</button>
  22. </view>
  23. </view>
  24. </template>
  25. <script>
  26. // import mixinsList from '@/mixins/list.js'
  27. import reportRecordCard from './reportRecordCard.vue';
  28. export default {
  29. // mixins: [mixinsList],
  30. components: {
  31. reportRecordCard,
  32. },
  33. data() {
  34. return {
  35. paperId: null,
  36. reportId: null,
  37. list: [],
  38. selectedId: null,
  39. // queryParams: {
  40. // pageNo: 1,
  41. // pageSize: 10,
  42. // // todo
  43. // status: 1,
  44. // },
  45. // mixinsListApi: '',
  46. }
  47. },
  48. onLoad(arg) {
  49. console.log('onLoad', arg)
  50. const { paperId, reportId } = arg
  51. this.paperId = paperId
  52. this.reportId = reportId
  53. this.getData()
  54. },
  55. methods: {
  56. async getData() {
  57. try {
  58. this.list = await this.$fetch('getReportByPaperId', { id: this.paperId })
  59. } catch (err) {
  60. console.log('getReportByPaperId err', err)
  61. }
  62. },
  63. onCompare() {
  64. let selectedIds = [this.reportId, this.selectedId]
  65. this.$utils.navigateTo(`/pages_order/report/compare/result?ids=${JSON.stringify(selectedIds)}`)
  66. },
  67. },
  68. }
  69. </script>
  70. <style scoped lang="scss">
  71. .page__view {
  72. width: 100vw;
  73. min-height: 100vh;
  74. background-color: $uni-bg-color;
  75. position: relative;
  76. /deep/ .nav-bar__view {
  77. position: fixed;
  78. top: 0;
  79. left: 0;
  80. }
  81. }
  82. .main {
  83. padding: calc(var(--status-bar-height) + 128rpx) 32rpx 272rpx 32rpx;
  84. }
  85. .bottom {
  86. width: 100%;
  87. position: fixed;
  88. left: 0;
  89. bottom: 0;
  90. padding: 24rpx 40rpx;
  91. padding-bottom: calc(env(safe-area-inset-bottom) + 24rpx);
  92. box-sizing: border-box;
  93. background: #FFFFFF;
  94. column-gap: 16rpx;
  95. .btn {
  96. width: 100%;
  97. padding: 16rpx 0;
  98. font-family: PingFang SC;
  99. font-size: 36rpx;
  100. font-weight: 500;
  101. line-height: 1;
  102. color: #FFFFFF;
  103. background-image: linear-gradient(to right, #4B348F, #845CFA);
  104. border-radius: 41rpx;
  105. }
  106. }
  107. </style>