普兆健康管家前端代码仓库
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.

116 lines
2.6 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. // status: 1,
  43. // },
  44. // mixinsListApi: '',
  45. }
  46. },
  47. onLoad(arg) {
  48. console.log('onLoad', arg)
  49. const { paperId, reportId } = arg
  50. this.paperId = paperId
  51. this.reportId = reportId
  52. this.getData()
  53. },
  54. methods: {
  55. async getData() {
  56. try {
  57. this.list = await this.$fetch('getReportByPaperId', { id: this.paperId })
  58. } catch (err) {
  59. console.log('getReportByPaperId err', err)
  60. }
  61. },
  62. onCompare() {
  63. let selectedIds = [this.reportId, this.selectedId]
  64. this.$utils.navigateTo(`/pages_order/report/compare/result?ids=${JSON.stringify(selectedIds)}`)
  65. },
  66. },
  67. }
  68. </script>
  69. <style scoped lang="scss">
  70. .page__view {
  71. width: 100vw;
  72. min-height: 100vh;
  73. background-color: $uni-bg-color;
  74. position: relative;
  75. /deep/ .nav-bar__view {
  76. position: fixed;
  77. top: 0;
  78. left: 0;
  79. }
  80. }
  81. .main {
  82. padding: calc(var(--status-bar-height) + 128rpx) 32rpx 272rpx 32rpx;
  83. }
  84. .bottom {
  85. width: 100%;
  86. position: fixed;
  87. left: 0;
  88. bottom: 0;
  89. padding: 24rpx 40rpx;
  90. padding-bottom: calc(env(safe-area-inset-bottom) + 24rpx);
  91. box-sizing: border-box;
  92. background: #FFFFFF;
  93. column-gap: 16rpx;
  94. .btn {
  95. width: 100%;
  96. padding: 16rpx 0;
  97. font-family: PingFang SC;
  98. font-size: 36rpx;
  99. font-weight: 500;
  100. line-height: 1;
  101. color: #FFFFFF;
  102. background-image: linear-gradient(to right, #4B348F, #845CFA);
  103. border-radius: 41rpx;
  104. }
  105. }
  106. </style>