huiFeiJiaoJiao.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. <template>
  2. <view class="container">
  3. <view class="info-box">
  4. <view class="info-item">
  5. 用&nbsp;&nbsp;户&nbsp;名:{{user.name}}
  6. </view>
  7. <view class="info-item">
  8. 任职机构:{{user.corpName ?? '无'}}
  9. </view>
  10. <view class="info-item">
  11. 业务水平认证证书编号:{{user.corpRegNo ?? '无'}}
  12. </view>
  13. </view>
  14. <view class="list-box">
  15. <view class="list-item-box">
  16. <view class="list-item">
  17. 学习年度
  18. </view>
  19. <view class="list-item">
  20. 会员网络教育<br/>完成学分情况
  21. </view>
  22. <view class="list-item">
  23. 年检情况
  24. </view>
  25. <view class="list-item">
  26. 会籍情况
  27. </view>
  28. </view>
  29. <view class="list-item-box" v-for="(item, index) in listData" :key="index">
  30. <view class="list-item">
  31. {{item.year}}
  32. </view>
  33. <view class="list-item">
  34. {{item.credit}}
  35. </view>
  36. <view class="list-item" v-html="item.annIns"></view>
  37. <view class="list-item">
  38. <view class="button" :class="[item.payed ? 'primary' : 'error']" @click="onJiaoFei(item)">
  39. {{item.isPay ? '已缴费' : '未缴,点击缴费'}}
  40. </view>
  41. </view>
  42. </view>
  43. </view>
  44. <view class="desc-box">
  45. <view class="title">
  46. 会员网络教育年检规则:
  47. </view>
  48. <view class="text">
  49. 持证人员每年需完成24个分学分,年检时间为每年1月1日至4月30日。
  50. </view>
  51. <view class="text">
  52. 持证人员会籍有效(注:已缴交当年个人会费)时,系统方可记录学分。
  53. </view>
  54. <view class="text">
  55. 持证人员在年检期内完成年检的,方可享受学分减免。
  56. </view>
  57. </view>
  58. <view class="buttom-block"></view>
  59. <view class="bottom-box">
  60. <view class="button" @click="onDaiJiaoGeRenHuiFei()">
  61. 代缴个人会费
  62. </view>
  63. <view class="button" @click="onDaiJiaoDanWeiHuiFei()">
  64. 代缴单位会费
  65. </view>
  66. </view>
  67. </view>
  68. </template>
  69. <script setup>
  70. import { ref } from 'vue'
  71. import { onLoad } from '@dcloudio/uni-app'
  72. import { useAuthStore } from '@/store/authStore'
  73. import { list } from '@/api/cost.js'
  74. const authStore = useAuthStore()
  75. // 用户信息
  76. const user = ref({
  77. userIcon: '1',
  78. name: '某某某',
  79. corpName: '广州市xx地产有限公司',
  80. corpRegNo: '123xxxx'
  81. })
  82. const listData = ref([
  83. {
  84. annIns: "学分未达标不能申请年检",
  85. credit: "0/24",
  86. dueDiscount: true,
  87. duePrice: 100,
  88. payed: false,
  89. year: 2025
  90. },
  91. ])
  92. function onJiaoFei(val) {
  93. if (val.isPay) {
  94. return
  95. }
  96. uni.navigateTo({
  97. url: `/pages/geRenHuiFeiJiaoJiao/geRenHuiFeiJiaoJiao?id=${val.id}`
  98. })
  99. }
  100. function onDaiJiaoGeRenHuiFei() {
  101. uni.navigateTo({
  102. url: '/pages/daiJiaoGeRenHuiFei/daiJiaoGeRenHuiFei'
  103. })
  104. }
  105. function onDaiJiaoDanWeiHuiFei() {
  106. uni.navigateTo({
  107. url: '/pages/daiJiaoDanWeiHuiFei/daiJiaoDanWeiHuiFei'
  108. })
  109. }
  110. onLoad(() => {
  111. user.value = authStore.userInfo
  112. list().then(res => {
  113. if (res && res.message === 'success') {
  114. console.log(res)
  115. }
  116. })
  117. })
  118. </script>
  119. <style lang="scss" scoped>
  120. .container {
  121. height: 100vh;
  122. width: 100vw;
  123. background: rgb(141, 204, 255);
  124. background: -moz-linear-gradient( 90deg, rgb(141, 204, 255) 10%, rgb(247, 247, 247) 30%);
  125. background: -webkit-linear-gradient(90deg, rgb(141, 204, 255) 10%, rgb(247, 247, 247) 30%);
  126. background: -o-linear-gradient( 90deg, rgb(141, 204, 255) 10%, rgb(247, 247, 247) 30%);
  127. background: -ms-linear-gradient( 90deg, rgb(141, 204, 255) 10%, rgb(247, 247, 247) 30%);
  128. background: linear-gradient( 180deg, rgb(141, 204, 255) 10%, rgb(247, 247, 247) 30%);
  129. .info-box {
  130. margin: 0 20rpx;
  131. padding: 0 40rpx;
  132. padding-top: 50rpx;
  133. margin-bottom: 30rpx;
  134. .info-item {
  135. margin-bottom: 10rpx;
  136. font-size: $uni-title-font-size-2;
  137. font-weight: bold;
  138. letter-spacing: 3rpx;
  139. }
  140. }
  141. .list-box {
  142. margin: 0 20rpx;
  143. background-color: $uni-bg-color-grey;
  144. border-radius: $uni-card-border-radius;
  145. padding: 20rpx 15rpx;
  146. margin-bottom: 30rpx;
  147. .list-item-box {
  148. &:first-child {
  149. border-bottom: 5rpx solid #E6E6E6;
  150. font-size: $uni-font-size-1;
  151. font-weight: bold;
  152. .list-item {
  153. width: 25%;
  154. text-align: center;
  155. &:last-child {
  156. color: #303133;
  157. font-weight: bold;
  158. }
  159. }
  160. }
  161. padding: 15rpx 0;
  162. text-align: center;
  163. font-size: $uni-font-size-3;
  164. font-weight: bold;
  165. display: flex;
  166. align-items: center;
  167. .list-item {
  168. width: 25%;
  169. text-align: center;
  170. &:last-child {
  171. color: $uni-text-color-inverse;
  172. font-weight: normal;
  173. }
  174. }
  175. .button {
  176. width: fit-content;
  177. border-radius: $uni-card-border-radius;
  178. margin: 0 auto;
  179. }
  180. .primary {
  181. padding: 5rpx 25rpx;
  182. background-color: $uni-color-primary;
  183. }
  184. .error {
  185. padding: 5rpx 15rpx;
  186. background-color: $uni-color-error;
  187. }
  188. }
  189. }
  190. .desc-box {
  191. margin: 0 20rpx;
  192. font-weight: bold;
  193. .title {
  194. font-size: $uni-title-font-size-2;
  195. line-height: 50rpx;
  196. }
  197. .text {
  198. display: flex;
  199. align-items: center;
  200. font-size: $uni-font-size-2;
  201. &:before {
  202. content: '•';
  203. font-size: 50rpx;
  204. margin-right: 8rpx;
  205. }
  206. }
  207. }
  208. .buttom-block {
  209. height: 100rpx;
  210. }
  211. .bottom-box {
  212. text-align: center;
  213. font-size: $uni-title-font-size-2;
  214. background-color: $uni-bg-color-grey;
  215. position: fixed;
  216. bottom: 0;
  217. width: 100%;
  218. display: flex;
  219. .button {
  220. width: 50%;
  221. height: 100rpx;
  222. line-height: 100rpx;
  223. color: $uni-color-primary;
  224. letter-spacing: 2rpx;
  225. border: 1rpx solid #E9E9E9;
  226. &:active {
  227. background-color: $uni-bg-color-hover;
  228. }
  229. &:last-child {
  230. color: $uni-color-error;
  231. }
  232. }
  233. }
  234. }
  235. </style>