vote-notice.vue 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. <template>
  2. <view class="container">
  3. <!-- 顶部标题区 -->
  4. <view class="header">
  5. <text class="main-title">选聘调研投票须知</text>
  6. <view class="subtitle-box">
  7. <text class="subtitle">物业事</text>
  8. <text class="subtitle split">|</text>
  9. <text class="subtitle">业主定</text>
  10. </view>
  11. </view>
  12. <!-- 须知内容区 -->
  13. <view class="notice-card">
  14. <view class="notice-item">
  15. <view class="item-number">1</view>
  16. <text class="item-text">1户1票,多投无效。</text>
  17. </view>
  18. <view class="notice-item">
  19. <view class="item-number">2</view>
  20. <text class="item-text">需持证业主身份证后四位提交投票。</text>
  21. </view>
  22. <view class="notice-item">
  23. <view class="item-number">3</view>
  24. <text class="item-text">征求意见共有4个选项,只能选择一个投票。</text>
  25. </view>
  26. <view class="notice-item">
  27. <view class="item-number">4</view>
  28. <text class="item-text">根据《中华人民共和国民法典》第二百七十八条、第九百四十七条第一款的规定,经专有部分面积占比三分之二以上的业主且人数占比三分之二以上的业主参与表决,如果经参与专有部分面积过半数的业主且参与表决人数过半数的业主同意,则表明广大业主同意和原物业公司续签合同;反之,由业主委员会(物业管理委员会)牵头公开招标确定优质物业公司。</text>
  29. </view>
  30. </view>
  31. <!-- 立即投票按钮 -->
  32. <button class="vote-btn" @click="toVotePage">立即投票</button>
  33. </view>
  34. </template>
  35. <script>
  36. export default {
  37. methods: {
  38. // 跳转到投票页面
  39. toVotePage() {
  40. uni.navigateTo({
  41. url: '/pages/vote' // 替换为实际投票页路径
  42. })
  43. }
  44. }
  45. }
  46. </script>
  47. <style scoped>
  48. /* 基础样式 */
  49. .container {
  50. width: 100%;
  51. min-height: 100vh;
  52. /* 蓝色网格背景 */
  53. background-image: url('@/static/notice.jpg');
  54. background-repeat: no-repeat;
  55. background-size: 100% 100%;
  56. padding: 0 20rpx;
  57. box-sizing: border-box;
  58. position: relative;
  59. }
  60. /* 顶部标题 */
  61. .header {
  62. padding: 120rpx 0 40rpx;
  63. text-align: center;
  64. }
  65. .main-title {
  66. font-size: 64rpx;
  67. color: #FFFFFF;
  68. letter-spacing: 4px;
  69. text-shadow: 0 2rpx 4rpx rgba(0,0,0,0.1);
  70. }
  71. .subtitle-box {
  72. margin-top: 30rpx;
  73. display: flex;
  74. justify-content: center;
  75. align-items: center;
  76. gap: 20rpx;
  77. background-color: rgba(255,255,255,0.15);
  78. width: 400rpx;
  79. margin-left: auto;
  80. margin-right: auto;
  81. padding: 10rpx 0;
  82. border-radius: 30rpx;
  83. letter-spacing: 8px;
  84. }
  85. .subtitle {
  86. font-size: 28rpx;
  87. color: #FFFFFF;
  88. }
  89. .split {
  90. color: #FFFFFF;
  91. opacity: 0.7;
  92. }
  93. /* 须知卡片 */
  94. .notice-card {
  95. margin: 15px 40px 25px 40px;
  96. /* background-color: #FFFFFF;
  97. border-radius: 20rpx; */
  98. padding: 40rpx 5rpx;
  99. /* margin-bottom: 50rpx;
  100. box-shadow: 0 5rpx 15rpx rgba(0,0,0,0.1) */;
  101. }
  102. .notice-item {
  103. display: flex;
  104. margin-bottom: 20rpx;
  105. align-items: flex-start;
  106. }
  107. .item-number {
  108. width: 30rpx;
  109. height: 30rpx;
  110. background-color: #1E88E5;
  111. color: white;
  112. border-radius: 50%;
  113. display: flex;
  114. justify-content: center;
  115. align-items: center;
  116. font-size: 14rpx;
  117. margin-right: 20rpx;
  118. flex-shrink: 0;
  119. }
  120. .item-text {
  121. font-family:"黑体";
  122. font-size: 24rpx;
  123. color: #333333;
  124. line-height: 1.5;
  125. }
  126. /* 投票按钮 */
  127. .vote-btn {
  128. width: 40%;
  129. height: 70rpx;
  130. line-height: 70rpx;
  131. background-color: #2599ff;
  132. color: white;
  133. font-size: 30rpx;
  134. border-radius: 40rpx;
  135. margin: 0 auto 60rpx;
  136. display: block;
  137. border: none;
  138. box-shadow: 0 5rpx 15rpx rgba(30, 136, 229, 0.3);
  139. }
  140. .vote-btn::after {
  141. border: none;
  142. }
  143. /* 建筑装饰 */
  144. .building-container {
  145. display: flex;
  146. justify-content: space-between;
  147. align-items: flex-end;
  148. height: 200rpx;
  149. margin-bottom: 20rpx;
  150. padding: 0 10rpx;
  151. }
  152. .building {
  153. display: flex;
  154. flex-direction: column;
  155. gap: 10rpx;
  156. padding: 15rpx;
  157. border-radius: 5rpx 5rpx 0 0;
  158. }
  159. .building-1 {
  160. width: 120rpx;
  161. height: 180rpx;
  162. background-color: #FFCC80;
  163. }
  164. .building-2 {
  165. width: 80rpx;
  166. height: 140rpx;
  167. background-color: #BBDEFB;
  168. position: relative;
  169. }
  170. .building-3 {
  171. width: 100rpx;
  172. height: 160rpx;
  173. background-color: #B0BEC5;
  174. }
  175. .building-4 {
  176. width: 100rpx;
  177. height: 120rpx;
  178. background-color: #A5D6A7;
  179. }
  180. .window-row {
  181. display: flex;
  182. justify-content: space-around;
  183. }
  184. .window {
  185. width: 20rpx;
  186. height: 20rpx;
  187. background-color: #E3F2FD;
  188. border-radius: 3rpx;
  189. }
  190. .person {
  191. width: 15rpx;
  192. height: 15rpx;
  193. background-color: #4CAF50;
  194. border-radius: 50%;
  195. position: absolute;
  196. top: -20rpx;
  197. left: 50%;
  198. transform: translateX(-50%);
  199. }
  200. /* 路面 */
  201. .road {
  202. height: 100rpx;
  203. background-color: #B0BEC5;
  204. display: flex;
  205. justify-content: space-around;
  206. align-items: center;
  207. margin-bottom: 10rpx;
  208. }
  209. .road-line {
  210. width: 40rpx;
  211. height: 10rpx;
  212. background-color: white;
  213. border-radius: 5rpx;
  214. }
  215. .road-bottom {
  216. height: 30rpx;
  217. background-color: #EF5350;
  218. }
  219. </style>