hospitalDistrict.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <template>
  2. <view class="container">
  3. <view class="content">
  4. <view class='title'>温馨提示:请选择对应的院区进行挂号操作,祝您早日康复。</view>
  5. <view class="title">请选择您要就诊的院区</view>
  6. <view class="list">
  7. <view class="item" @click="itemClick(item)" v-for="(item, index) in pageConfig.districtList" :key="index">
  8. <view class="itemImg">
  9. <image class="img" :src="item.districImg" mode="aspectFill"></image>
  10. </view>
  11. <view class="itemTit">{{item.districtName}}</view>
  12. <view class="itemTit">{{item.districtAddr}}</view>
  13. </view>
  14. </view>
  15. <richTextModal :modalData="modalData" v-if="modalData.showModal" @cancel="modalCancel" @confirm="modalConfirm" @noData="modalNoData"></richTextModal>
  16. </view>
  17. </view>
  18. </template>
  19. <script setup lang="ts">
  20. import { ref } from 'vue';
  21. import { onLoad } from '@dcloudio/uni-app';
  22. import common from '@/utils/common';
  23. import richTextModal from '@/pages/st1/components/richTextModal/richTextModal.vue';
  24. const app = getApp();
  25. const pageConfig = ref<any>({});
  26. const modalData = ref<any>({});
  27. const tipIsShow = ref(false);
  28. onLoad((options) => {
  29. /**页面配置 */
  30. let config = common.deepCopy(app.globalData.config.pageConfiguration.hospitalDistrict_config);
  31. pageConfig.value = config;
  32. modalData.value = config.modalData;
  33. main();
  34. });
  35. const main = async () => {
  36. // Original main was empty
  37. };
  38. /**
  39. * 院区点击
  40. */
  41. const itemClick = (item: any) => {
  42. app.globalData.districtId = item.districtId;
  43. const isSlb = uni.getStorageSync('wx_Slb');
  44. const path = `/${isSlb ? 'pagesSlb' : 'pagesPatient'}/st1/business/yygh/yyghDeptList/yyghDeptList`;
  45. common.goToUrl(path);
  46. };
  47. /**
  48. * 提示框按钮点击
  49. * Note: This function was in the original JS but seemingly unused in WXML.
  50. * Keeping it for completeness as requested.
  51. */
  52. const tipChick = (e: any) => {
  53. tipIsShow.value = !tipIsShow.value;
  54. setBarTitle();
  55. };
  56. const setBarTitle = () => {
  57. // Implementation missing in original JS, assuming it sets title based on state
  58. };
  59. // Handlers for richTextModal events (implied by WXML)
  60. const modalCancel = (e: any) => {
  61. console.log('modalCancel', e);
  62. // Implement close logic if needed, usually modalData.showModal = false
  63. };
  64. const modalConfirm = (e: any) => {
  65. console.log('modalConfirm', e);
  66. };
  67. const modalNoData = (e: any) => {
  68. console.log('modalNoData', e);
  69. };
  70. </script>
  71. <style lang="scss" scoped>
  72. .content {
  73. padding: 0 30upx;
  74. }
  75. .title {
  76. font-size: 34upx;
  77. font-weight: 500;
  78. color: rgba(0, 0, 0, 1);
  79. margin: 36upx 0;
  80. text-align: center;
  81. }
  82. .item {
  83. overflow: hidden;
  84. margin-bottom: 30upx;
  85. }
  86. .itemImg {
  87. height: 356upx;
  88. margin: 0 auto 10upx;
  89. overflow: hidden;
  90. }
  91. .itemTit {
  92. line-height: 50upx;
  93. font-size: 30upx;
  94. font-family: Source Han Sans CN;
  95. font-weight: 500;
  96. color: rgba(0, 0, 0, 1);
  97. padding: 0 30upx;
  98. text-align: center;
  99. }
  100. </style>