| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- /* 目前nuxt 版本如果不高于 1.0.0 并不支持vuex的方法,因此获取相对于的东西只能通过this.$store.state来获取
- 如果nuxt框架为 1.0.0以上,vuex属性状态这里可以优化
- */
- import BScroll from 'better-scroll'
- import Vue from 'vue'
- import baseUtils from '~utils/baseUtils'
- import baseUrls from '~utils/baseUrls'
- // import { mapState } from 'vuex'
- Vue.mixin({
- data () {
- return {
- initScroll: null
- }
- },
- computed: {
- user() {
- return this.$store.state.option.user
- },
- sortEnterprises () {
- if (this.user.data.enterprises) {
- let ens = this.user.data.enterprises.slice()
- if (ens && ens.length) {
- ens.sort(function (a, b) {
- return b.lastLoginTime - a.lastLoginTime
- })
- }
- return ens
- } else {
- return ''
- }
- },
- // 判断是否erp嵌入
- isInFrame () {
- if (this.$route.query.type === 'erp') {
- this.$store.commit('option/ADD_COOKIES', 'type=erp;')
- return true
- } else {
- let cookies = this.$store.state.option.cookies
- let cookieArr = cookies.split(';')
- let cookieObj = {}
- for (let i = 0; i < cookieArr.length; i++) {
- if (cookieArr[i].indexOf('=') > -1) {
- let tmpArr = cookieArr[i].split('=')
- cookieObj[tmpArr[0].trim()] = tmpArr[1].trim()
- }
- }
- return cookieObj.type === 'erp'
- }
- },
- currentEnName () {
- if (this.user.data.enterprise) {
- return this.user.data.enterprise.uu ? this.user.data.enterprise.enName : this.user.data.userName + '(个人账户)'
- } else {
- return {}
- }
- },
- baseUtils () {
- return baseUtils
- },
- baseUrls () {
- return baseUrls
- },
- isMobile () {
- return this.$store.state.option.isMobile
- }
- },
- methods: {
- goLastPage: function () {
- window.history.back(-1)
- },
- preventTouchMove (e) {
- e.preventDefault()
- },
- stopPropagation: function (e) {
- if (e) {
- e.stopPropagation()
- }
- },
- _initscroll() {
- if (!this.initScroll) {
- this.initScroll = new BScroll(this.$refs.mobileModalBox, {
- click: true
- })
- } else {
- this.initScroll.destroy()
- this.initScroll = new BScroll(this.$refs.mobileModalBox, {
- click: true
- })
- }
- },
- login: function (url) {
- this.$router.push(`/auth/login${url ? '?returnUrl=' + url : ''}`)
- },
- goStoreApply: function () {
- if (this.user.logged) {
- if (this.user.data.enterprise.uu) {
- this.$http.get('/basic/vendor/transactionInfo').then(response => {
- if (response.data.isOpenStore) {
- window.location.href = '/vendor#/store/maintain'
- } else {
- window.location.href = '/vendor#/store-apply'
- }
- }, err => {
- this.$message.error('该账户未开通卖家中心')
- console.log(err)
- })
- } else {
- this.$router.push('/personalMaterial')
- }
- } else {
- this.login()
- }
- },
- authorityInterceptor: function (url, callback) {
- this.baseUtils.getAuthority(this, url, callback, this.isMobile)
- }
- },
- filters: {
- time: function (time) {
- if (typeof time === 'number') {
- if (!time) {
- return '无'
- } else {
- let d = new Date(time)
- let year = d.getFullYear()
- let month = d.getMonth() + 1
- let day = d.getDate() < 10 ? '0' + d.getDate() : '' + d.getDate()
- let hour = d.getHours() < 10 ? '0' + d.getHours() : '' + d.getHours()
- let minutes = d.getMinutes() < 10 ? '0' + d.getMinutes() : '' + d.getMinutes()
- let seconds = d.getSeconds() < 10 ? '0' + d.getSeconds() : '' + d.getSeconds()
- return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
- }
- }
- }
- }
- })
|