feat(main): 优化首页和服务页面功能
- 在 main.js 中引入 Popup 和 Dialog 组件 - 优化 home 页面逻辑,增加用户类型和权限控制 - 改进 service-info 页面,增加申请链接的空值检查和提示
This commit is contained in:
14
src/main.js
14
src/main.js
@@ -16,25 +16,16 @@ import 'vant/lib/index.css'
|
|||||||
import 'viewerjs/dist/viewer.css'
|
import 'viewerjs/dist/viewer.css'
|
||||||
import 'quill/dist/quill.snow.css'
|
import 'quill/dist/quill.snow.css'
|
||||||
import Bus from '@utils/bus'
|
import Bus from '@utils/bus'
|
||||||
import { Toast, Form, Loading, Lazyload, Notify, Image, NavBar, Icon, Card, Field, Button } from 'vant'
|
import { Toast, Form, Loading, Lazyload, Notify, Image, NavBar, Icon, Card, Field, Button, Popup, Dialog } from 'vant'
|
||||||
import generatedFormat from '@/assets/js/generatedFormat/index'
|
import generatedFormat from '@/assets/js/generatedFormat/index'
|
||||||
// import generatedApi from '@/api/generatedApi/index'
|
|
||||||
import generatedComponents from './generatedComponents'
|
import generatedComponents from './generatedComponents'
|
||||||
import { fetchToken } from './api/user/token'
|
|
||||||
import { hasLogin } from './assets/js/utils/user-login'
|
|
||||||
//权限控制
|
//权限控制
|
||||||
import { permission } from '@/assets/js/utils/permission'
|
import { permission } from '@/assets/js/utils/permission'
|
||||||
import { getParamsFromUrl } from './assets/js/utils/get-url'
|
|
||||||
|
|
||||||
for (let item in generatedComponents) {
|
for (let item in generatedComponents) {
|
||||||
Vue.component(item, generatedComponents[item])
|
Vue.component(item, generatedComponents[item])
|
||||||
}
|
}
|
||||||
|
|
||||||
const params = getParamsFromUrl(globalThis.location.href)
|
|
||||||
const token = params.get('token')
|
|
||||||
console.log(params)
|
|
||||||
token && globalThis.localStorage.setItem('token', token)
|
|
||||||
|
|
||||||
Vue.use(Image)
|
Vue.use(Image)
|
||||||
.use(Toast)
|
.use(Toast)
|
||||||
.use(Form)
|
.use(Form)
|
||||||
@@ -49,11 +40,12 @@ Vue.use(Image)
|
|||||||
.use(Card)
|
.use(Card)
|
||||||
.use(Field)
|
.use(Field)
|
||||||
.use(Button)
|
.use(Button)
|
||||||
|
.use(Popup)
|
||||||
|
.use(Dialog)
|
||||||
|
|
||||||
//router or bridge jump
|
//router or bridge jump
|
||||||
Vue.prototype.$bus = new Bus()
|
Vue.prototype.$bus = new Bus()
|
||||||
Vue.prototype.$generatedFormat = generatedFormat
|
Vue.prototype.$generatedFormat = generatedFormat
|
||||||
// Vue.prototype.$generatedApi = generatedApi
|
|
||||||
Vue.prototype.$generatedDictList = generatedFormat.formatList
|
Vue.prototype.$generatedDictList = generatedFormat.formatList
|
||||||
Vue.prototype.$validatorItem = { ...validatorItem }
|
Vue.prototype.$validatorItem = { ...validatorItem }
|
||||||
Vue.prototype.$computeNumber = function computeNumber(a, type, b) {
|
Vue.prototype.$computeNumber = function computeNumber(a, type, b) {
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import { Image as VanImage, Icon } from 'vant';
|
import { Image as VanImage, Icon, Dialog } from 'vant';
|
||||||
import Swiper from './components/swiper/swiper.vue';
|
import Swiper from './components/swiper/swiper.vue';
|
||||||
import { getEcosystem } from '@/assets/js/utils/ecosystem'
|
import { getEcosystem } from '@/assets/js/utils/ecosystem'
|
||||||
import { fetchUserInfo } from '@/api/user/token'
|
import { fetchUserInfo } from '@/api/user/token'
|
||||||
|
import { getParamsFromUrl } from '@/assets/js/utils/get-url'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "home",
|
name: "home",
|
||||||
@@ -23,20 +24,23 @@ export default {
|
|||||||
],
|
],
|
||||||
name: "",
|
name: "",
|
||||||
sex: "",
|
sex: "",
|
||||||
|
type: "",
|
||||||
|
permission: {
|
||||||
|
goNext: true
|
||||||
|
},
|
||||||
titleSrc: "http://ncc.ebiz-digits.com:39527/gsc/IHRHN5/7b/04/63/7b0463aa135f4a1f922b5171bcec1d14/images/主页/u26.png",
|
titleSrc: "http://ncc.ebiz-digits.com:39527/gsc/IHRHN5/7b/04/63/7b0463aa135f4a1f922b5171bcec1d14/images/主页/u26.png",
|
||||||
bannerSrc: "http://ncc.ebiz-digits.com:39527/gsc/IHRHN5/7b/04/63/7b0463aa135f4a1f922b5171bcec1d14/images/主页/u44.svg",
|
bannerSrc: "http://ncc.ebiz-digits.com:39527/gsc/IHRHN5/7b/04/63/7b0463aa135f4a1f922b5171bcec1d14/images/主页/u44.svg",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
title() {
|
title() {
|
||||||
if (!this.name) return "欢迎使用幸福人寿生态系统!"
|
if (!this.type) return "欢迎使用幸福人寿生态系统!"
|
||||||
return `亲爱的${this.name}${this.sex == 1 ? '女士' : '先生'}!`
|
return `亲爱的${this.name}${this.sex == 1 ? '女士' : '先生'}!`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
goEcosystem(ecosystem, swe) {
|
goEcosystem(ecosystem, swe) {
|
||||||
|
this.permission.goNext && this.$router.push({
|
||||||
this.$router.push({
|
|
||||||
name: 'service',
|
name: 'service',
|
||||||
params: {
|
params: {
|
||||||
ecosystem: getEcosystem(ecosystem)
|
ecosystem: getEcosystem(ecosystem)
|
||||||
@@ -48,11 +52,21 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
fetchUserInfo().then(res => {
|
const params = getParamsFromUrl(globalThis.location.href)
|
||||||
const {content} = res.content
|
const token = params.get('token')
|
||||||
|
if (token) {
|
||||||
this.name = content.name
|
globalThis.localStorage.setItem('token', token)
|
||||||
this.sex = content.sex
|
fetchUserInfo().then(res => {
|
||||||
|
const { content } = res.content
|
||||||
|
this.name = content.name
|
||||||
|
this.sex = content.sex
|
||||||
|
this.type = content.type
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else Dialog({
|
||||||
|
message: '页面访问有误,请重试',
|
||||||
|
}).then(() => {
|
||||||
|
this.$router.go(-1)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import { ecosystem } from "../js/status"
|
import { ecosystem } from "../js/status"
|
||||||
import { Button, Icon } from 'vant'
|
import { Button, Icon, Toast } from 'vant'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "service-info",
|
name: "service-info",
|
||||||
@@ -88,7 +88,15 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleApplyClick() {
|
handleApplyClick() {
|
||||||
globalThis.location.href = ecosystem.active.url
|
const url = ecosystem.active.url
|
||||||
|
if (!url) {
|
||||||
|
Toast({
|
||||||
|
message: "请联系您的业务员或致电95560",
|
||||||
|
position: "bottom"
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
globalThis.location.href = url
|
||||||
},
|
},
|
||||||
handleNavigator(position) {
|
handleNavigator(position) {
|
||||||
this.$router.replace({
|
this.$router.replace({
|
||||||
|
|||||||
Reference in New Issue
Block a user