index.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. <template>
  2. <view class="index-box box-border-box flex-common-css">
  3. <view class="flex-justify-space box-border-box plr-32">
  4. <image class="logo-img" src="@/static/img/c-logo.png" mode="scaleToFill"></image>
  5. <!-- <image class="music-img" src="@/static/img/c-music.png" mode="scaleToFill"></image> -->
  6. </view>
  7. <swiper class="swiper" :vertical='true' @change="swiperChange">
  8. <!-- 邀请函 -->
  9. <swiper-item>
  10. <view class="swiper-item index-1" v-if="index == 0">
  11. <image class="img-text wow animate__animated animate__bounceInUp" src="@/static/img/yqh-text.png" mode="scaleToFill"></image>
  12. <view class="fs-48 fc-f text-align-center mb-16 wow animate__animated animate__bounceInLeft">振合网科技集团实体联盟</view>
  13. <view class="fs-32 fc-f text-align-center mb-72 wow animate__animated animate__bounceInRight">未来已来 一触即发</view>
  14. <image class="img-xian wow animate__animated animate__bounceInUp" src="@/static/img/xian.png" mode="scaleToFill"></image>
  15. <image class="name-text wow animate__animated animate__bounceInLeft" src="@/static/img/name-text.png" mode="scaleToFill"></image>
  16. <image class="time-text wow animate__animated animate__bounceInRight" src="@/static/img/time-text.png" mode="scaleToFill"></image>
  17. <image class="up-icon wow animate__animated animate__bounceInUp" src="@/static/img/c-up-icon.png" mode="scaleToFill"></image>
  18. </view>
  19. </swiper-item>
  20. <!-- 诚挚邀请 -->
  21. <swiper-item>
  22. <view class="swiper-item">
  23. <view class="index-2" v-if="index == 1">
  24. <image class="text-img wow animate__animated animate__bounceInUp" src="@/static/img/czyq-text.png" mode="scaleToFill"></image>
  25. <view class="fs-32 fc-F2D4A9 fw-b mb-24 wow animate__animated animate__bounceInUp">尊敬的{{userName?userName:'用户'}}</view>
  26. <view class="fs-32 fc-F2D4A9 text-box wow animate__animated animate__bounceInUp">
  27. 您好!感谢百忙之中阅读此邀请函。我们诚挚的邀请您参加于10月20日振合科技集团举办的2024年度招商说明会。我们深知在发展的道路上离不开您的信任与支持,我们取得的成绩中有您的辛勤付出。此次盛会邀请多位行业专家共聚一堂,特此诚邀您出席盛会,期待与您共话友情、 展望末来、共创属于我们新的商业传奇。
  28. </view>
  29. <view class="fc-F2D4A9 fw-b fs-32 text-align-right mt-32 wow animate__animated animate__bounceInUp">振合网科技集团</view>
  30. <view class="fs-28 fc-F2D4A9 text-align-right wow animate__animated animate__bounceInUp">2024年10月20日</view>
  31. </view>
  32. <image class="up-icon wow animate__animated animate__bounceInUp" src="@/static/img/c-up-icon.png" mode="scaleToFill"></image>
  33. </view>
  34. </swiper-item>
  35. <!-- 活动地址 -->
  36. <swiper-item>
  37. <view class="swiper-item">
  38. <view class="index-2" v-if="index == 2">
  39. <image class="text-img-1 wow animate__animated animate__bounceInUp" src="@/static/img/hdtd-text.png" mode="scaleToFill"></image>
  40. <image class="img-1 wow animate__animated animate__bounceInUp" src="@/static/img/h-1.png" mode="scaleToFill"></image>
  41. <view class="flex-justify-space">
  42. <image class="img-2 wow animate__animated animate__bounceInLeft" src="@/static/img/h-2.png" mode="scaleToFill"></image>
  43. <image class="img-2 wow animate__animated animate__bounceInRight" src="@/static/img/h-3.png" mode="scaleToFill"></image>
  44. </view>
  45. <view class="fc-F2D4A9 fs-40 text-align-center mb-16 wow animate__animated animate__bounceInUp">重庆丽星君顿酒店</view>
  46. <view class="fs-28 fc-F2D4A9 text-align-center wow animate__animated animate__bounceInUp">地址:重庆市渝北区服装城大道48号</view>
  47. </view>
  48. <image class="up-icon wow animate__animated animate__bounceInUp" src="@/static/img/c-up-icon.png" mode="scaleToFill"></image>
  49. </view>
  50. </swiper-item>
  51. <!-- 地址导航 -->
  52. <swiper-item>
  53. <view class="swiper-item" v-if="index == 3">
  54. <view class="index-2">
  55. <image class="text-img wow animate__animated animate__bounceInUp" src="@/static/img/dzdh-text.png" mode="scaleToFill"></image>
  56. <view class="b-f wow animate__animated animate__bounceInUp" @click="toMap()">
  57. <image class="img-3" src="@/static/img/map.png" mode="scaleToFill"></image>
  58. <view class="b-c">开始导航</view>
  59. </view>
  60. <view class="fc-F2D4A9 fs-36 text-align-center mb-16 wow animate__animated animate__bounceInLeft">会议地址</view>
  61. <view class="fc-F2D4A9 fs-28 text-align-center mb-32 wow animate__animated animate__bounceInRight">重庆丽星君顿酒店</view>
  62. <view class="fc-F2D4A9 fs-36 text-align-center mb-16 wow animate__animated animate__bounceInLeft">会议时间</view>
  63. <view class="fc-F2D4A9 fs-28 text-align-center mb-32 wow animate__animated animate__bounceInRight">10月20日早 上08:30</view>
  64. <view class="fc-F2D4A9 fs-36 text-align-center mb-16 wow animate__animated animate__bounceInLeft" @click="playPhone()">联系方式(点击拨打)</view>
  65. <view class="fc-F2D4A9 fs-28 text-align-center mb-32 wow animate__animated animate__bounceInRight" @click="playPhone()">
  66. <uni-icons style="margin-right: 10rpx;" type="phone-filled" color="#f2d4a9" size="14"></uni-icons>
  67. 023-67177907
  68. </view>
  69. </view>
  70. <image class="up-icon wow animate__animated animate__bounceInUp" src="@/static/img/c-up-icon.png" mode="scaleToFill"></image>
  71. </view>
  72. </swiper-item>
  73. <!-- 参与预约 -->
  74. <swiper-item>
  75. <view class="swiper-item" v-if="index == 4">
  76. <view class="index-2">
  77. <image class="text-img-2 wow animate__animated animate__bounceInUp" src="@/static/img/cyyy-text.png" mode="scaleToFill"></image>
  78. <view class="mb-32">
  79. <view class="fc-F2D4A9 fs-32 mb-16 wow animate__animated animate__bounceInLeft">您的姓名<span class="fc-ED301D fs-32">*</span></view>
  80. <input class="wow animate__animated animate__bounceInRight" v-model="fromData.name" type="text" placeholder="请输入您的姓名">
  81. </view>
  82. <view class="mb-32">
  83. <view class="fc-F2D4A9 fs-32 mb-16 wow animate__animated animate__bounceInLeft">您的手机号<span class="fc-ED301D fs-32">*</span></view>
  84. <input class="wow animate__animated animate__bounceInRight" v-model="fromData.phone" type="number" placeholder="请输入您的手机号">
  85. </view>
  86. <view class="mb-32">
  87. <view class="fc-F2D4A9 fs-32 mb-16 wow animate__animated animate__bounceInLeft">您的公司名称</view>
  88. <input class="wow animate__animated animate__bounceInRight" v-model="fromData.corporate" type="text" placeholder="请输入您的公司名称">
  89. </view>
  90. <view class="mb-32">
  91. <view class="fc-F2D4A9 fs-32 mb-16 wow animate__animated animate__bounceInLeft">邀请人</view>
  92. <input class="wow animate__animated animate__bounceInRight" v-model="fromData.inviter" type="text" placeholder="请输入您的邀请人">
  93. </view>
  94. <view class="mb-72">
  95. <view class="fc-F2D4A9 fs-32 mb-16 wow animate__animated animate__bounceInLeft">邀请人手机号<span class="fc-ED301D fs-32">*</span></view>
  96. <input class="wow animate__animated animate__bounceInRight" v-model="fromData.inviter_phone" type="number" placeholder="请输入邀请人的手机号">
  97. </view>
  98. <view class="save-box wow animate__animated animate__bounceInUp" @click="save()">提交</view>
  99. </view>
  100. </view>
  101. </swiper-item>
  102. </swiper>
  103. </view>
  104. </template>
  105. <script>
  106. import {userParticipation} from '@/api/user.js';
  107. import tools from "@/service/tools";
  108. export default {
  109. components: {},
  110. data() {
  111. return {
  112. userName:'',
  113. fromData:{
  114. m_id:'',
  115. name:'',
  116. phone:'',
  117. corporate:'',
  118. inviter:'',//邀请人
  119. inviter_phone:'',
  120. },
  121. isAJAX:false,
  122. index:0,
  123. }
  124. },
  125. onshow() {
  126. console.log('onshow');
  127. console.log(uni.getStorageSync('userName'));
  128. setTimeout(()=>{
  129. console.log('onshow延迟100');
  130. console.log(uni.getStorageSync('userName'));
  131. },100)
  132. this.userName = uni.getStorageSync('userName');
  133. this.$wow.init();
  134. },
  135. mounted() {
  136. console.log('mounted');
  137. console.log(uni.getStorageSync('userName'));
  138. setTimeout(()=>{
  139. console.log('mounted延迟100');
  140. console.log(uni.getStorageSync('userName'));
  141. },100)
  142. this.userName = uni.getStorageSync('userName');
  143. },
  144. methods: {
  145. playPhone() {
  146. uni.makePhoneCall({
  147. phoneNumber: '023-67177907'
  148. });
  149. },
  150. swiperChange(e){
  151. if(e.detail.current!=this.index){
  152. this.index = e.detail.current;
  153. }
  154. },
  155. toMap(){
  156. uni.openLocation({
  157. latitude: 29.665085,
  158. longitude: 106.615366,
  159. scale: 18,
  160. name: '重庆丽星君顿酒店',
  161. address: '重庆市渝北区服装城大道48号',
  162. success() {},
  163. fail(error) {}
  164. });
  165. },
  166. save(){
  167. if(this.isAJAX){
  168. return
  169. }
  170. this.isAJAX = true;
  171. this.fromData.m_id = uni.getStorageSync('m_id');
  172. userParticipation(this.fromData).then((res)=>{
  173. if(res.code === 1){
  174. tools.success('预约成功')
  175. this.fromData = {
  176. m_id:'',
  177. name:'',
  178. phone:'',
  179. corporate:'',
  180. inviter:'',//邀请人
  181. inviter_phone:'',
  182. }
  183. }else{
  184. tools.error(res.msg)
  185. }
  186. this.isAJAX = false;
  187. })
  188. }
  189. },
  190. }
  191. </script>
  192. <style lang="scss" scoped>
  193. .index-box{
  194. background-image: url('@/static/img/c-bg.png');
  195. background-size: 100% 100%;
  196. }
  197. .up-icon{
  198. width: 64rpx;
  199. height: 64rpx;
  200. margin: 0 auto;
  201. }
  202. .swiper{
  203. flex: 1;
  204. width: 100%;
  205. height: 100%;
  206. .swiper-item{
  207. width: 100%;
  208. height: 100%;
  209. }
  210. }
  211. .logo-img{
  212. width: 136rpx;
  213. height: 79rpx;
  214. margin-top: 8rpx;
  215. }
  216. .music-img{
  217. margin-top: 16rpx;
  218. width: 56rpx;
  219. height: 56rpx;
  220. }
  221. .index-1{
  222. .img-text{
  223. width: 384rpx;
  224. height: 232rpx;
  225. margin: 76rpx auto 36rpx auto;
  226. }
  227. .img-xian{
  228. width: 10rpx;
  229. height: 174rpx;
  230. margin: 0 auto 154rpx auto;
  231. }
  232. .name-text{
  233. width: 288rpx;
  234. height: 32rpx;
  235. margin: 0 auto 10rpx auto;
  236. }
  237. .time-text{
  238. width: 274rpx;
  239. height: 37rpx;
  240. margin: 0 auto 140rpx auto;
  241. }
  242. }
  243. .index-2{
  244. width: 686rpx;
  245. min-height: 1032rpx;
  246. background: rgba(23,49,74,0.51);
  247. border-radius: 12rpx;
  248. border: 2rpx solid rgba(51,121,163,0.8);
  249. margin: 40rpx auto;
  250. box-sizing: border-box;
  251. padding: 32rpx;
  252. input{
  253. width: 622rpx;
  254. height: 80rpx;
  255. background: #FFFFFF;
  256. border-radius: 10rpx;
  257. box-sizing: border-box;
  258. padding: 0 20rpx;
  259. font-size: 28rpx;
  260. }
  261. .save-box{
  262. width: 622rpx;
  263. height: 80rpx;
  264. background: linear-gradient( 90deg, #EBC795 0%, #E3BB83 100%);
  265. border-radius: 10rpx;
  266. text-align: center;
  267. line-height: 80rpx;
  268. font-size: 38rpx;
  269. font-weight: 600;
  270. color: #3A2E1C;
  271. }
  272. .text-img{
  273. width: 302rpx;
  274. height: 116rpx;
  275. margin: 0 auto 44rpx auto;
  276. }
  277. .text-box{
  278. line-height: 68rpx;
  279. letter-spacing: 4rpx;
  280. display: block;
  281. text-indent: 72rpx;
  282. }
  283. .text-img-1{
  284. width: 224rpx;
  285. height: 116rpx;
  286. margin: 0 auto 44rpx auto;
  287. }
  288. .text-img-2{
  289. width: 214rpx;
  290. height: 116rpx;
  291. margin: 0 auto 44rpx auto;
  292. }
  293. .img-1{
  294. width: 622rpx;
  295. height: 328rpx;
  296. border-radius: 10rpx;
  297. margin-bottom: 24rpx;
  298. }
  299. .img-2{
  300. width: 300rpx;
  301. height: 214rpx;
  302. margin-bottom: 60rpx;
  303. }
  304. .img-3{
  305. width: 622rpx;
  306. height: 354rpx;
  307. border-radius: 10rpx;
  308. margin-bottom: 40rpx;
  309. }
  310. .b-f{
  311. position: relative;
  312. .b-c{
  313. position: absolute;
  314. right: 24rpx;
  315. bottom: 22rpx;
  316. width: 172rpx;
  317. height: 56rpx;
  318. background: #2F80ED;
  319. border-radius: 4rpx;
  320. text-align: center;
  321. line-height: 56rpx;
  322. font-size: 28rpx;
  323. color: #fff;
  324. }
  325. }
  326. }
  327. </style>