123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- define([
- 'require',
- 'store/index',
- 'api/merchant',
- 'scripts/util',
- 'text!./index.html',
- 'css!./index.css'
- ], function (require, store, merchantApi, util, html) {
- return {
- props: {
- publicData: {
- type: Object,
- default: function () {
- return {};
- }
- },
- userInfo: {
- type: Object,
- default: function () {
- return {
- avatar: ''
- };
- }
- }
- },
- data: function () {
- return {
- selected: 1,
- options: [
- {
- label: '专题',
- value: 1
- },
- {
- label: '资料',
- value: 2
- }
- ],
- searchValue: '',
- activeIndex: '1',
- active: 1,
- currentURL: window.location.pathname,
- URLSearch: window.location.search,
- categoryVisible: false,
- menuOn: -1,
- pageName: false,
- code_url: code_url,
- sharedState: store.state,
- applyStatus: null,
- applyVisible: false,
- failMessage: '',
- applyStatusIcon: [
- require.toUrl('./images/1.png'),
- require.toUrl('./images/2.png'),
- require.toUrl('./images/2.png')
- ]
- };
- },
- created: function () {
- for (var key in this.$router) {
- if (Object.hasOwnProperty.call(this.$router, key)) {
- if (this.$router[key].indexOf(this.currentURL) !== -1) {
- this.pageName = key;
- }
- }
- }
- if (['material_list', 'material_detail', 'special_cate'].indexOf(this.pageName) !== -1) {
- this.setSearchValue();
- }
- if (['material_list', 'material_detail'].indexOf(this.pageName) !== -1) {
- this.selected = 2;
- }
- if (code_url) {
- this.code_url = code_url;
- }
- },
- methods: {
- goPage: function (page) {
- var vm = this;
- var params = '';
- // 判断路由结构
- if (Array.isArray(page)) {
- if (page[1].constructor.toString().indexOf('Object') !== -1) {
- params = Object.keys(page[1]).map(function (key) {
- return key + '=' + page[1][key];
- }).join('&');
- }
- page = page[0];
- }
- // 判断是否登录
- if (page !== 'home' && (!this.userInfo || !this.userInfo.uid)) {
- return store.setLoginAction(true);
- }
- // 讲师申请状态
- if (page === 'teacher_apply') {
- if (this.userInfo && this.userInfo.business) {
- window.open('/merchant/index.html');
- return false;
- }
- merchantApi.is_apply().then(function (res) {
- if (res.data == null) {
- window.location.assign(vm.$router[page] + (params ? '?' + params : ''));
- } else {
- if (res.data.status === null) {
- window.location.assign(vm.$router[page] + (params ? '?' + params : ''));
- } else {
- if (res.data.status === 2) {
- window.location.assign(vm.$router[page] + (params ? '?' + params : ''));
- } else {
- vm.applyStatus = res.data.status;
- vm.applyVisible = true;
- if (res.data.status === -1) {
- vm.failMessage = res.data.fail_message;
- }
- }
- }
- }
- });
- return false;
- }
- window.location.assign(this.$router[page] + (params ? '?' + params : ''));
- },
- onSearch: function (hot) {
- if (!hot && !this.searchValue) {
- return;
- }
- if (hot) {
- this.searchValue = hot;
- }
- if (this.currentURL.includes('/web/special/special_cate')) {
- if (this.selected === 1) {
- this.$emit('submit-search', this.searchValue);
- } else {
- window.location.assign(this.$router.material_list + '?search=' + this.searchValue);
- }
- } else if (this.currentURL.includes('/web/material/material_list')) {
- if (this.selected === 2) {
- this.$emit('submit-search', this.searchValue);
- } else {
- window.location.assign(this.$router.special_cate + '?search=' + this.searchValue);
- }
- } else {
- window.location.assign((this.selected === 1 ? this.$router.special_cate : this.$router.material_list) + '?search=' + this.searchValue);
- }
- },
- categoryMouseenter: function () {
- this.categoryMouse = true;
- this.categoryVisible = true;
- },
- categoryMouseleave: function () {
- this.categoryMouse = false;
- if (!(this.contentMouse || this.menuMouse)) {
- this.menuOn = -1;
- this.categoryVisible = false;
- }
- },
- menuMouseenter: function () {
- this.menuMouse = true;
- },
- menuMouseleave: function () {
- this.menuMouse = false;
- if (!(this.contentMouse || this.categoryMouse)) {
- this.menuOn = -1;
- this.categoryVisible = false;
- }
- },
- contentMouseenter: function () {
- this.contentMouse = true;
- },
- contentMouseleave: function () {
- this.contentMouse = false;
- if (!(this.menuMouse || this.categoryMouse)) {
- this.menuOn = -1;
- this.categoryVisible = false;
- }
- },
- setSearchValue: function () {
- var search = util.getParmas('search');
- if (search) {
- this.searchValue = search;
- }
- },
- // 收藏本站
- addFavorite: function () {
- try {
- window.external.addFavorite(window.location.origin + this.$router.home, this.publicData.site_name);
- } catch (error) {
- try {
- window.sidebar.addPanel(this.publicData.site_name, window.location.origin + this.$router.home, '');
- } catch (error) {
- this.$message('抱歉,您所使用的浏览器无法完成此操作,请使用Ctrl+D进行添加!');
- }
- }
- },
- loginOpen: function () {
- store.setLoginAction(true);
- },
- goApply: function () {
- window.location.assign(this.$router.teacher_apply);
- }
- },
- template: html
- };
- });
|