index.js 5.46 KB
/**
 * 页面描述:官网首页
 */

import api from "@/api/api";
import { httpGet, httpPost } from "@/api/fetch-api.js";

import DatePicker from "@/components/date-picker/date-picker.vue";
import { ddMMyyyy2yyyyMMdd } from "@utils/utils.js";

export default {
	data() {
		return {
			key: "value",
			// swiper
			swiperOption: {
				navigation: {
					nextEl: ".swiper-button-next",
					prevEl: ".swiper-button-prev"
				},
				pagination: {
					el: ".swiper-pagination",
					clickable: true
				},
				autoplay: {
					delay: 5000,
					stopOnLastSlide: false,
					disableOnInteraction: false
				},
				speed: 1000
			},
			bannerList: [],
			bannerCandidateList: [],

			// 导航菜单
			// tabList: [
			// 	{
			// 		name: "平安“好e時”<br>自願醫保標準計劃",
			// 		url: "",
			// 		index: 0
			// 	},
			// 	{
			// 		name: "「平安 ‧ 傳家福<br>分紅終身壽險計劃",
			// 		url: "",
			// 		index: 1
			// 	},
			// 	{
			// 		name: "Ping An 'Pro Easy'<br>VHIS Standard Plan",
			// 		url: "",
			// 		index: 2
			// 	},
			// 	{
			// 		name: "Ping An GenRich<br>Insurance Plan",
			// 		url: "",
			// 		index: 3
			// 	},
			// 	{
			// 		name: "Ping An 'Pro Easy'<br>VHIS Standard Plan",
			// 		url: "",
			// 		index: 4
			// 	}
			// ],
			tabList: [
				{
					name: "平安“好e時”<br>自願醫保標準計劃",
					url: "",
					index: 0
				},
				{
					name: "「平安 ‧ 傳家福<br>分紅終身壽險計劃",
					url: "",
					index: 1
				},
				{
					name: "Ping An 'Pro Easy'<br>VHIS Standard Plan",
					url: "",
					index: 2
				},
				{
					name: "Ping An GenRich<br>Insurance Plan",
					url: "",
					index: 3
				},
				{
					name: "Ping An 'Pro Easy'<br>VHIS Standard Plan",
					url: "",
					index: 4
				}
			],
			curTab: {},

			// 投保
			quoteData: {
				gender: 1
			},
			// 投保背景图
			quoteBgUrl:
				"https://kdcdn.oss-cn-shenzhen.aliyuncs.com/temp/pingan-life/index-quote-bg-temp.png",

			// 表单
			formData: {
				gender: "",
				birthDate: ""
			},
			// 性别列表
			genderList: [
				{
					n: "先生",
					v: "M"
				},
				{
					n: "女士",
					v: "F"
				}
			],
			// 错误提示
			errTips: ""
		};
	},
	components: {
		DatePicker
	},
	computed: {
		locale() {
			return this.$i18n.locale || "tc";
		},
		i18n() {
			return this.$i18n.messages && this.$i18n.locale
				? this.$i18n.messages[this.$i18n.locale]
				: {};
		},
		// 表格tab缩进计算
		tableTapIndentation() {
			let result = {};
			let mar = 0; // 两边缩进
			let ind = 0; // 缩进简介
			let tabList = this.tabList;
			let len = tabList.length;
			switch (len) {
				case 1:
					mar = 100;
					ind = 0;
					break;

				case 2:
					mar = 60;
					ind = 124;
					break;

				case 3:
					mar = 30;
					ind = 62;
					break;

				case 4:
					mar = 20;
					ind = 41;
					break;

				case 5:
					mar = 15;
					ind = 30;
					break;

				default:
					break;
			}
			result = {
				mar,
				ind
			};
			console.log("result:", result);
			return result;
		}
		// tableTapOpt(){
		// 	let result = {
		// 		width:
		// 	}
		// },
	},
	methods: {
		initData() {
			this.curTab = this.tabList[0];
			this.fetchBanner().then(res => {
				this.bannerCandidateList = res;
				this.refreshBanner();
			});
		},
		fetchBanner() {
			return new Promise((resolve, reject) => {
				httpPost({
					url: api.banner
				}).then(res => {
					resolve(res);
				});
			});
		},
		refreshBanner() {
			let key = this.locale;
			if (key == "zh") {
				key = "cn";
			}
			let bannerList = [];
			this.bannerCandidateList.forEach(element => {
				bannerList.push(element[key]);
			});
			this.$set(this, "bannerList", bannerList);
		},
		btnNavigateTo(type, link) {
			switch (type) {
				case "none":
					break;
				case "news":
					this.$router.push({
						path: "/news/detail",
						query: {
							c: link
						}
					});
					break;
				case "product":
					break;
				case "vhis":
					this.$router.push({
						path: "/vhis",
						query: {
							p: link
						}
					});
					break;
				default:
					location.href = link;
					break;
			}
		},
		// 选择标签
		onTabHandler(item) {
			this.curTab = item;
		},
		// 投保组件性别选择
		onQuoteSexHandler(gender) {
			this.quoteData.gender = gender;
		},
		onPrevTabHandler() {
			if (this.tabList.length <= 0) return;
			let index = this.curTab.index;
			index--;
			if (index < 0) {
				index = this.tabList.length - 1;
			}
			this.curTab = this.tabList[index];
		},
		onNextTabHandler() {
			if (this.tabList.length <= 0) return;
			let index = this.curTab.index;
			index++;
			if (index >= this.tabList.length) {
				index = 0;
			}
			this.curTab = this.tabList[index];
		},
		toContactUs() {
			this.$router.push({
				path: "/custom/service?q=m1"
			});
		},
		/**
		 * 点击我要报价
		 * 根据当前tab跳转到不同页面
		 * “好e时”tab的情况下,点击立即报价,跳到VHIS网销平台;传家福tab情况下调到传家福产品页
		 */
		onQuoteHandler() {
			// gotoVHIS();
		},
		queryIndexManageListApi() {
			httpPost({
				url: api.indexManageListApi,
				data: {},
				sid: true
			})
				.then(response => {
					console.log("response:", response);
					let ttt = JSON.parse(response[0].content);
					console.log("ttt:", ttt);
				})
				.catch(res => {});
		}
	},
	beforeDestroy() {},
	mounted() {
		this.initData();
	},
	created() {
		// this.queryIndexManageListApi();
		this.$root.eventBus.$on("langChange", () => {
			try {
				this.refreshBanner();
			} catch (e) {}
		});
	}
};