feedback.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <template>
  2. <div class="main">
  3. <div class="content">
  4. <sub-header />
  5. <div class="left">
  6. <hero-sub-title />
  7. <div class="detail">
  8. <div class="back" @click="$router.go(-1)"></div>
  9. <div class="info">
  10. <n-input
  11. v-model:value="feedBackContent"
  12. type="textarea"
  13. autosize
  14. placeholder="请填入内容,5-500字"
  15. style="min-height: 400px"
  16. />
  17. <n-space align="center" style="padding: 20px" justify="center">
  18. <n-input size="large" type="text" placeholder="昵称" />
  19. <n-input size="large" type="text" placeholder="联系方式" />
  20. <n-input
  21. size="large"
  22. type="text"
  23. placeholder="请填入图形验证码"
  24. />
  25. </n-space>
  26. <n-space align="center" justify="center" style="padding: 20px">
  27. <n-button class="submit" size="large" type="primary">
  28. 提交
  29. </n-button>
  30. </n-space>
  31. </div>
  32. </div>
  33. </div>
  34. <side-menu />
  35. </div>
  36. </div>
  37. </template>
  38. <script setup>
  39. import { watchEffect, ref } from "vue";
  40. import { useFullscreen } from "@vueuse/core";
  41. import subHeader from "../components/subHeader";
  42. import sideMenu from "../components/sideMenu";
  43. import heroSubTitle from "../components/heroSubTitle";
  44. import { useInfoStore } from "../store/info";
  45. const title = ref("detail");
  46. const feedBackContent = ref("");
  47. watchEffect(() => {
  48. document.title = title.value;
  49. });
  50. </script>
  51. <style lang="scss" scoped>
  52. .detail {
  53. --main-show-case-background: #ddd5d5;
  54. --main-detail-margin: 1.875rem;
  55. --main-detail-padding: 1.875rem;
  56. // box-shadow: var(--main-box-shadow);
  57. margin: var(--main-detail-margin);
  58. margin-bottom: 0;
  59. flex: 1;
  60. border-radius: 0.8125rem;
  61. background-color: transparent;
  62. padding: 2rem 3rem 4rem 3rem;
  63. background-image: var(--main-detail-background-img);
  64. background-size: cover;
  65. background-position: top 100%;
  66. background-repeat: no-repeat;
  67. overflow-y: scroll;
  68. &::-webkit-scrollbar {
  69. display: none;
  70. }
  71. .back {
  72. background-image: url("/img/back_arrow.png");
  73. width: 7.5rem;
  74. height: 1.875rem;
  75. background-repeat: no-repeat;
  76. background-size: contain;
  77. margin-bottom: 0.75rem;
  78. }
  79. .info {
  80. max-width: 66.8125rem;
  81. margin: 0 auto;
  82. font-size: 1.25rem;
  83. }
  84. .show-case {
  85. max-width: 66.8125rem;
  86. height: 34.1875rem;
  87. background: var(--main-show-case-background);
  88. }
  89. .submit {
  90. font-size: 20px;
  91. padding: 1.5625rem 3.125rem;
  92. border-radius: 3.75rem;
  93. }
  94. }
  95. :deep(.detail .info .n-input--textarea) {
  96. --n-font-size: 20px !important;
  97. padding: 1.25rem;
  98. border-radius: 1.875rem;
  99. }
  100. </style>