setting.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <template>
  2. <view>
  3. <view class="button-group">
  4. <button @click="radioChange">
  5. <view class="align-center flex justify-between">
  6. <image style="background-color: #ffffff;" :src="doctor_gender == 1 ? doctor_woman : doctor_man"></image>
  7. <text>主页医生</text>
  8. </view>
  9. <radio-group class="center">
  10. <label class="margin-right-sm"><radio class="margin-right-xs" value="r1" :checked="doctor_gender == 0" />男</label>
  11. <label><radio class="margin-right-xs" value="r2" :checked="doctor_gender == 1" />女</label>
  12. </radio-group>
  13. </button>
  14. </view>
  15. </view>
  16. </template>
  17. <script>
  18. export default {
  19. onLoad() {
  20. let doctor_gender = uni.getStorageSync('doctor_gender');
  21. if(doctor_gender === 0) this.doctor_gender = 0;
  22. else this.doctor_gender = 1;
  23. },
  24. data() {
  25. return {
  26. doctor_woman: '/static/img/女医生.png',
  27. doctor_man: '/static/img/男医生.png',
  28. doctor_gender: 1
  29. }
  30. },
  31. methods: {
  32. radioChange() {
  33. if(this.doctor_gender === 1) this.doctor_gender = 0;
  34. else this.doctor_gender = 1;
  35. uni.removeStorageSync('doctor_gender');
  36. uni.setStorageSync('doctor_gender',this.doctor_gender);
  37. }
  38. }
  39. }
  40. </script>
  41. <style lang="less">
  42. page{
  43. background-color: #f5f5f5;
  44. }
  45. text{
  46. font-size: 18px;
  47. display: flex;
  48. justify-content: center; /* 水平居中 */
  49. align-items: center; /* 垂直居中 */
  50. }
  51. image{
  52. margin-right: 10px;
  53. width: 30px;
  54. height: 30px;
  55. background-color: #ffffff;
  56. }
  57. .button-group{
  58. border: none;
  59. width: 100%;
  60. background-color: #ffffff;
  61. margin-bottom: 15px;
  62. border-radius: 0px;
  63. button{
  64. border: 1px;
  65. border-color: #000;
  66. border-radius: 0px;
  67. height: 12vw;
  68. padding: 0 10px;
  69. background-color: #ffffff;
  70. display: flex;
  71. justify-content: space-between;
  72. }
  73. button:active {
  74. filter: brightness(80%);
  75. opacity: 0.8;
  76. }
  77. }
  78. </style>