supplier_login.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  1. <template>
  2. <view>
  3. <view class="supplier_login"><login-menu :menuList="menuList" @scrollPage="scrollPage" /></view>
  4. <view class="container">
  5. <scroll-view
  6. class="scrollview"
  7. @scroll="scrollView"
  8. scroll-y="true"
  9. :scroll-into-view="activeMenu"
  10. :scroll-with-animation="true"
  11. >
  12. <view id="item0">
  13. <marke-service>
  14. <template #supplier-title>
  15. <supplier-title title="全生命周期陪跑服务" subtitle="采美,更专业的美业数字化因营销服务" />
  16. </template>
  17. </marke-service>
  18. </view>
  19. <view id="item1">
  20. <Solution>
  21. <template #supplier-title>
  22. <supplier-title title="解决方案" subtitle="满足企业全方位需求" />
  23. </template>
  24. </Solution>
  25. </view>
  26. <view id="item2">
  27. <basic-operation>
  28. <template #supplier-title>
  29. <supplier-title title="基础运营产品" subtitle="使企业走向数字化的基石" />
  30. </template>
  31. </basic-operation>
  32. </view>
  33. <view id="item3">
  34. <scenario-market>
  35. <template #supplier-title>
  36. <supplier-title title="场景营销工具" subtitle="多样化工具,全方位助力您的企业目标" />
  37. </template>
  38. </scenario-market>
  39. </view>
  40. <view id="item4">
  41. <success-cases>
  42. <template #supplier-title>
  43. <supplier-title
  44. title="成功案例"
  45. subtitle="了解已合作品牌的真实推广案例,借鉴成功经验<br />助力有效推广,实现商业目标"
  46. />
  47. </template>
  48. </success-cases>
  49. </view>
  50. <view id="item5">
  51. <caimei-about>
  52. <template #supplier-title>
  53. <supplier-title
  54. title="关于采美"
  55. subtitle="了解采美,合作共赢"
  56. titlecolor="#ffffff"
  57. subtitlecolor="#ffffff"
  58. />
  59. </template>
  60. </caimei-about>
  61. </view>
  62. <view id="item6">
  63. <growth-community @playVideo="playVideo">
  64. <template #supplier-title>
  65. <supplier-title title="增长社区" subtitle="数十年资深美业运营经验,教你快速成长" />
  66. </template>
  67. </growth-community>
  68. </view>
  69. </scroll-view>
  70. </view>
  71. <view class="supplier-slide">
  72. <view class="user-cicle"></view>
  73. <view class="slide">
  74. <view
  75. class="slide-item"
  76. v-for="item in slideList"
  77. :key="item.id"
  78. v-if="item.isShow"
  79. @click="handlerChange(item)"
  80. >
  81. <image class="slide-img" :src="item.slideBg" mode=""></image>
  82. <view class="slide-title">{{ item.title }}</view>
  83. </view>
  84. </view>
  85. </view>
  86. <tui-modal :show="show" custom @cancel="cancel">
  87. <view class="tui-modal-custom">
  88. <view class="tui-modal-custom-text">周一至周五 9:00~1800</view>
  89. <view class="tui-modal-custom-phone" @click=";(modal = true), (show = false)">153-3889-7365</view>
  90. </view>
  91. </tui-modal>
  92. <tui-modal :show="isPhone" class="qrcode" custom @cancel="cancel">
  93. <view class="tui-modal-custom-qrcode">
  94. <image style="width: 100%;height: 100%;" src="@/static/supplier-login/qr_code_kefu.png" mode=""></image>
  95. </view>
  96. </tui-modal>
  97. <tui-modal :show="modal" custom @cancel="cancel">
  98. <view class="tui-modal-custom-call">
  99. <view class="tui-modal-custom-text">
  100. 确定拨打
  101. <text style="color: #FF5B00;font-weight: bold;margin: 0 6rpx;">153-3889-7365</text>
  102. 吗?
  103. </view>
  104. <view class="modal-btns">
  105. <tui-button
  106. class="cancel"
  107. type="black"
  108. @click="modal = false"
  109. height="72rpx"
  110. :size="28"
  111. plain
  112. shape="circle"
  113. >
  114. 取消
  115. </tui-button>
  116. <tui-button
  117. class="determine"
  118. height="72rpx"
  119. :size="28"
  120. type="warning"
  121. shape="circle"
  122. @click="handleClick"
  123. >
  124. 确定
  125. </tui-button>
  126. </view>
  127. </view>
  128. </tui-modal>
  129. <cm-video :show="showVideo" @closeClick="closeVideo"/>
  130. </view>
  131. </template>
  132. <script>
  133. import LoginMenu from './components/supplier-loginMenu.vue'
  134. import MarkeService from './components/markeServices.vue'
  135. import SupplierTitle from './components/supplier-title.vue'
  136. import Solution from './components/solution.vue'
  137. import BasicOperation from './components/basicOperationsProducts.vue'
  138. import ScenarioMarket from './components/scenarioMarketing.vue'
  139. import SuccessCases from './components/successCases.vue'
  140. import CaimeiAbout from './components/caimei-about.vue'
  141. import GrowthCommunity from './components/growthCommunity.vue'
  142. import CmVideo from './components/caimei-video.vue'
  143. export default {
  144. components: {
  145. LoginMenu,
  146. MarkeService,
  147. SupplierTitle,
  148. Solution,
  149. BasicOperation,
  150. ScenarioMarket,
  151. SuccessCases,
  152. CaimeiAbout,
  153. GrowthCommunity,
  154. CmVideo
  155. },
  156. data() {
  157. return {
  158. menuList: [
  159. {
  160. id: 0,
  161. title: '营销服务'
  162. },
  163. {
  164. id: 1,
  165. title: '解决方案'
  166. },
  167. {
  168. id: 2,
  169. title: '运营产品'
  170. },
  171. {
  172. id: 3,
  173. title: '营销工具'
  174. },
  175. {
  176. id: 4,
  177. title: '成功案例'
  178. },
  179. {
  180. id: 5,
  181. title: '关于采美'
  182. },
  183. {
  184. id: 6,
  185. title: '增长社区'
  186. }
  187. ],
  188. activeMenu: '', // 滚动到指定位置
  189. show: false,
  190. isPhone: false,
  191. modal: false,
  192. showVideo: false,
  193. slideList: [
  194. {
  195. id: 1,
  196. title: '电话联系',
  197. slideBg: require('@/static/supplier-login/phone.png'),
  198. isShow: true
  199. },
  200. {
  201. id: 2,
  202. title: '微信客服',
  203. slideBg: require('@/static/supplier-login/qrcode.png'),
  204. isShow: true
  205. },
  206. {
  207. id: 3,
  208. title: '',
  209. slideBg: require('@/static/supplier-login/scrolltop.png'),
  210. isShow: false
  211. }
  212. ]
  213. }
  214. },
  215. computed: {},
  216. watch: {},
  217. methods: {
  218. // 滚动事件
  219. scrollPage($event) {
  220. this.activeMenu = $event
  221. },
  222. scrollView(e) {
  223. this.activeMenu = ''
  224. if (e.detail.scrollTop < 50) {
  225. this.slideList[2].isShow = false
  226. } else {
  227. this.slideList[2].isShow = true
  228. }
  229. },
  230. handlerChange(e) {
  231. const obj = {
  232. 1: () => (this.show = true),
  233. 2: () => (this.isPhone = true),
  234. 3: () => (this.activeMenu = 'item0')
  235. }
  236. obj[e.id]()
  237. },
  238. hideAlert() {
  239. this.show = false
  240. },
  241. // 拨打电话
  242. handleClick() {
  243. uni.makePhoneCall({
  244. phoneNumber: '153-3889-7365' //仅为示例
  245. })
  246. this.modal = false
  247. },
  248. cancel() {
  249. this.modal = false
  250. this.show = false
  251. this.isPhone = false
  252. },
  253. // 视频播放
  254. playVideo() {
  255. this.showVideo = true
  256. },
  257. // 视频关闭
  258. closeVideo() {
  259. this.showVideo = false
  260. },
  261. }
  262. }
  263. </script>
  264. <style lang="scss" scoped>
  265. .container {
  266. position: absolute;
  267. bottom: 0;
  268. height: auto;
  269. }
  270. .scrollview {
  271. width: 100%;
  272. height: calc(100vh - 120rpx);
  273. background-color: #fff;
  274. }
  275. .supplier-slide {
  276. position: fixed;
  277. right: 40rpx;
  278. box-sizing: border-box;
  279. width: 100rpx;
  280. bottom: 100rpx;
  281. z-index: 999;
  282. .user-cicle {
  283. width: 100rpx;
  284. height: 100rpx;
  285. border-radius: 50%;
  286. background-color: #fff;
  287. margin-bottom: 40rpx;
  288. box-shadow: 0rpx 6rpx 16rpx 0rpx rgba(51, 51, 51, 0.16);
  289. }
  290. .slide {
  291. width: 100rpx;
  292. overflow: hidden;
  293. border-radius: 50rpx;
  294. background-color: #ff5b00;
  295. box-shadow: 0rpx 6rpx 24rpx 0rpx rgba(255, 91, 0, 0.3);
  296. .slide-img {
  297. width: 45rpx;
  298. height: 45rpx;
  299. }
  300. .slide-item {
  301. height: 140rpx;
  302. width: 100rpx;
  303. display: flex;
  304. flex-direction: column;
  305. align-items: center;
  306. box-sizing: border-box;
  307. padding-top: 30rpx;
  308. border-bottom: 1rpx solid rgba(255, 255, 255, 0.3);
  309. .slide-title {
  310. margin-top: 10rpx;
  311. font-size: 20rpx;
  312. color: #fff;
  313. }
  314. }
  315. }
  316. }
  317. .tui-modal-custom {
  318. padding: 30rpx 80rpx;
  319. }
  320. .tui-modal-custom-text {
  321. text-align: center;
  322. color: #666666;
  323. font-size: 28rpx;
  324. }
  325. .tui-modal-custom-phone {
  326. margin-top: 62rpx;
  327. text-align: center;
  328. color: #ff5b00;
  329. border-bottom: 1px solid #ff5b00;
  330. font-size: 40rpx;
  331. font-weight: bold;
  332. }
  333. .tui-modal-custom-call {
  334. font-size: 32rpx;
  335. color: #666666;
  336. padding-top: 50rpx;
  337. }
  338. .qrcode {
  339. ::v-deep .tui-modal-box {
  340. width: auto !important;
  341. padding: 6rpx !important;
  342. }
  343. .tui-modal-custom-qrcode {
  344. width: 412rpx;
  345. height: 412rpx;
  346. }
  347. }
  348. .modal-btns {
  349. display: flex;
  350. justify-content: space-between;
  351. margin-top: 62rpx;
  352. .cancel {
  353. width: 200rpx !important;
  354. color: #666666 !important;
  355. }
  356. .determine {
  357. width: 200rpx !important;
  358. }
  359. }
  360. </style>