Commit 1fda4ce5 by amateur
2 parents e294c5d2 a8341cbc
<template> <template>
<div id="app"> <div id="app">
<keep-alive> <keep-alive :include="GKeepAlives">
<router-view v-if="$route.meta.keepAlive"></router-view> <router-view></router-view>
</keep-alive> </keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>
</div> </div>
</template> </template>
<script> <script>
import Touch from '@/components/Touch' import { mapGetters } from 'vuex'
// import Touch from '@/components/Touch'
export default { export default {
mounted() { mounted() {
new Touch('#app', { filter: [] }) // new Touch('#app', { filter: [] })
},
computed: {
...mapGetters('common', ['GKeepAlives'])
} }
} }
</script> </script>
...@@ -11,6 +11,11 @@ form { ...@@ -11,6 +11,11 @@ form {
color: #fff; color: #fff;
border-radius: 16px; border-radius: 16px;
height: 33px; height: 33px;
.van-cell{
display: flex;
align-items: center
}
} }
/deep/ .van-search__content { /deep/ .van-search__content {
......
...@@ -23,17 +23,17 @@ export default { ...@@ -23,17 +23,17 @@ export default {
}, },
computed: { computed: {
...mapState('search', { ...mapState('search', {
historys (state) { historys(state) {
return state[this.stateKey] || [] return state[this.stateKey] || []
} }
}), }),
}, },
methods: { methods: {
jumItem (val) { jumItem(val) {
this.$emit('jumpPage', val) this.$emit('jumpPage', val)
}, },
handleClear () { handleClear() {
this.$store.dispatch('search/ACleanHistory', this.stateKey) this.$store.dispatch('search/ACleanHistory', this.stateKey)
this.$emit('clear') this.$emit('clear')
} }
......
...@@ -7,6 +7,7 @@ const titleEn = { ...@@ -7,6 +7,7 @@ const titleEn = {
study: 'Study', study: 'Study',
question: 'Question', question: 'Question',
questionDetail: 'QuestionDetail', questionDetail: 'QuestionDetail',
questionAndFeedback: 'questionAndFeedback',
feedBack: 'FeedBack', feedBack: 'FeedBack',
about: 'About', about: 'About',
setting: 'Setting', setting: 'Setting',
...@@ -32,6 +33,7 @@ const titleZh = { ...@@ -32,6 +33,7 @@ const titleZh = {
study: '我的学习', study: '我的学习',
question: '常见问题', question: '常见问题',
questionDetail: '常见问题详情', questionDetail: '常见问题详情',
questionAndFeedback: '问题及反馈',
feedBack: '意见反馈', feedBack: '意见反馈',
about: '关于协会', about: '关于协会',
setting: '设置', setting: '设置',
......
export default {
beforeRouteEnter(to, from, next) {
next(vm => {
if (to.meta.keepAlive && to.meta.keepAlivePage) {
vm.$store.commit('common/MSaveKeepAlive', to.name)
}
})
},
beforeRouteLeave(to, from, next) {
const keepAlivePage = from.meta.keepAlivePage
if (from.meta.keepAlive && keepAlivePage) {
const isValue = keepAlivePage.includes(to.name)
if (!isValue) {
this.$store.commit('common/MRemoveKeepAlive', from.name)
}
}
next()
},
}
\ No newline at end of file \ No newline at end of file
...@@ -4,7 +4,9 @@ const regIssueRouter = [ ...@@ -4,7 +4,9 @@ const regIssueRouter = [
name: 'RegIssue', name: 'RegIssue',
meta: { meta: {
title: '注册发行', title: '注册发行',
isLogin: false isLogin: false,
keepAlive: true,
keepAlivePage: ['RegIssueSearch']
}, },
component: () => import(/* webpackChunkName: "regIssue" */ '@/views/regIssue/index.vue') // 注册发行 component: () => import(/* webpackChunkName: "regIssue" */ '@/views/regIssue/index.vue') // 注册发行
}, },
...@@ -17,15 +19,6 @@ const regIssueRouter = [ ...@@ -17,15 +19,6 @@ const regIssueRouter = [
}, },
component: () => import(/* webpackChunkName: "regIssueSearch" */ '@/views/regIssue/search.vue') // 注册发行 搜索页面 component: () => import(/* webpackChunkName: "regIssueSearch" */ '@/views/regIssue/search.vue') // 注册发行 搜索页面
}, },
{
path: '/regIssueSearchResult',
name: 'RegIssueSearchResult',
meta: {
title: '注册发行',
isLogin: false
},
component: () => import(/* webpackChunkName: "regIssueSearchResult" */ '@/views/regIssue/searchResult.vue') // 注册发行 搜索页面结果页面
},
] ]
export default regIssueRouter export default regIssueRouter
\ No newline at end of file \ No newline at end of file
...@@ -100,6 +100,15 @@ const userRouter = [ ...@@ -100,6 +100,15 @@ const userRouter = [
component: () => import(/* webpackChunkName: "study" */ '@/views/user/study/index.vue') // 我到学习 component: () => import(/* webpackChunkName: "study" */ '@/views/user/study/index.vue') // 我到学习
}, },
{ {
path: '/user/qsandfeedback',
name: 'QsAndfeedback',
meta: {
title: '问题及反馈',
isLogin: false
},
component: () => import(/* webpackChunkName: "qsandfeedback" */ '@/views/user/questionAndFeedback/list.vue') // 问题及反馈
},
{
path: '/user/question', path: '/user/question',
name: 'Question', name: 'Question',
meta: { meta: {
...@@ -127,6 +136,15 @@ const userRouter = [ ...@@ -127,6 +136,15 @@ const userRouter = [
component: () => import(/* webpackChunkName: "feedback" */ '@/views/user/feedback/index.vue') // 意见反馈 component: () => import(/* webpackChunkName: "feedback" */ '@/views/user/feedback/index.vue') // 意见反馈
}, },
{ {
path: '/user/feedbacktwo',
name: 'FeedBackTwo',
meta: {
title: '问题反馈',
isLogin: true
},
component: () => import(/* webpackChunkName: "feedback" */ '@/views/user/feedbacktwo/index.vue') // 问题反馈
},
{
path: '/user/about', path: '/user/about',
name: 'About', name: 'About',
meta: { meta: {
......
...@@ -4,21 +4,38 @@ const AppInfo = { ...@@ -4,21 +4,38 @@ const AppInfo = {
versionCode: 100, versionCode: 100,
versionName: '2.1', versionName: '2.1',
statusBarHeight: 0, statusBarHeight: 0,
sourceFlag: false sourceFlag: false,
} }
export default { export default {
namespaced: true, namespaced: true,
state: { state: {
AppInfo: { ...AppInfo } AppInfo: { ...AppInfo },
keepAlives: ['Home']
}, },
mutations: { mutations: {
MSetAppInfo (state, data) { MSetAppInfo(state, data) {
Object.assign(state.AppInfo, data) Object.assign(state.AppInfo, data)
} },
MSaveKeepAlive(state, data) {
if (data) {
const index = state.keepAlives.indexOf(data)
if (index <= -1) {
state.keepAlives.push(data)
}
}
},
MRemoveKeepAlive(state, data) {
if (data) {
const index = state.keepAlives.indexOf(data)
if (index > -1) {
state.keepAlives.splice(index, 1)
}
}
},
}, },
actions: { actions: {
AGetAppInfo ({ state, commit }) { AGetAppInfo({ state, commit }) {
if (state.AppInfo.sourceFlag) { if (state.AppInfo.sourceFlag) {
return return
} }
...@@ -33,8 +50,12 @@ export default { ...@@ -33,8 +50,12 @@ export default {
} }
}, },
getters: { getters: {
GStatusBarHeight (state) { GStatusBarHeight(state) {
return state.AppInfo.statusBarHeight return state.AppInfo.statusBarHeight
},
GKeepAlives(state) {
return state.keepAlives
} }
} }
} }
import Vue from 'vue'
const commonBus = new Vue({})
const BusConfig = {
KEYWORD: 'KEYWORD'
}
const CommonBusEmit = (key, val) => { commonBus.$emit(key, val) }
const CommonBusOn = (key, fun) => { return commonBus.$on(key, fun) }
const CommonBusOff = (key) => { commonBus.$off(key) }
const KeywordBus = {
emit: (val) => { CommonBusEmit(BusConfig.KEYWORD, val) },
on: (fun) => { CommonBusOn(BusConfig.KEYWORD, fun) },
off: () => { CommonBusOn(BusConfig.KEYWORD) }
}
export {
BusConfig,
// 公共方法
CommonBusEmit,
CommonBusOn,
CommonBusOff,
// 单独的方法
KeywordBus,
}
\ No newline at end of file \ No newline at end of file
<template>
<div class="search-layout">
<nafm-header title="注册发行" navClass="nafmii-head-bg3">
<template #bottom>
<SearchInput v-model.trim="keyword" placeholder="请输入企业名称/注册报告名称/主承销商" :readonly="readonly" @click="jumpSearch" @search="handleSearch" />
<img :src="require('@/assets/icon/filter.png')" class="filter" v-if="!history" @click="show=true" />
</template>
</nafm-header>
<div class="history-container" v-if="history">
<SearchHistory stateKey="RegIssue" @jumpPage="handleSearch" />
</div>
<slot />
<FilterPopup :checkboxArrOne="checkboxArrOne" :checkboxArrTwo="checkboxArrTwo" v-model="show" @rest="handleReset" @sure="handleSure" />
</div>
</template>
<script>
import SearchInput from '@/components/SearchInput';
import SearchHistory from '@/components/SearchHistory';
import FilterPopup from './FilterPopup';
export default {
name: 'RegIssueLayout',
components: {
SearchInput,
SearchHistory,
FilterPopup
},
props: {
history: Boolean,
defKeyword: String,
readonly: Boolean
},
data() {
return {
keyword: '',
show: false,
checkboxArrOne: [{
label: '待上会',
value: 1
}],
checkboxArrTwo: [{
label: 'SCP',
value: 1
}],
}
},
watch: {
defKeyword(val, old) {
this.keyword = val
},
},
methods: {
// 点击历史搜索页面tag签 或者搜索关键字回车 跳转到 搜索页面
handleSearch(val) {
this.$store.dispatch('search/APushRegIssueSearchValue', val)
this.onSeachAction(val)
},
// 确定
handleSure(arrOne, arrTwo) {
console.log('arrOne', arrOne);
console.log('arrTwo', arrTwo);
this.show = false
this.onSeachAction()
},
// input click 跳转 注册发行 首页
jumpSearch() {
this.$emit('jumpSeachPage')
},
// 注册发行搜索 回车 跳转搜索结果页面 或者 直接搜索
onSeachAction(val) {
const params = {
keyword: val,
arrOne: this.arrOne,
arrTwo: this.arrTwo
}
this.$emit('search', params)
},
// 重置
handleReset() {
},
}
}
</script>
<style lang="less" scoped>
.search-layout {
height: 100%;
display: flex;
flex-direction: column;
.history-container {
flex: 1;
}
}
/deep/ .nav_bottom_container {
display: flex;
flex-direction: row;
align-items: center;
.filter {
width: 18px;
height: 21px;
margin-left: 15px;
}
}
</style>
\ No newline at end of file \ No newline at end of file
...@@ -19,6 +19,11 @@ ...@@ -19,6 +19,11 @@
<script> <script>
export default { export default {
name: 'RegIssueList', name: 'RegIssueList',
props: {
params: {
type: Object
}
},
data() { data() {
return { return {
loading: false, loading: false,
......
<template> <template>
<RegIssueLayout :history="false" :readonly="true" @jumpSeachPage="jumpSeachPage"> <div class="search-layout">
<RegIssueList /> <nafm-header title="注册发行" navClass="nafmii-head-bg3">
</RegIssueLayout> <template #bottom>
<SearchInput v-model.trim="keyword" placeholder="请输入企业名称/注册报告名称/主承销商" :readonly="true" :keyword="keyword" @click="jumpSearch" />
<img :src="require('@/assets/icon/filter.png')" class="filter" @click="show=true" />
</template>
</nafm-header>
<RegIssueList :params="filterParams" />
<FilterPopup :checkboxArrOne="checkboxArrOne" :checkboxArrTwo="checkboxArrTwo" v-model="show" @rest="handleReset" @sure="handleSure" />
</div>
</template> </template>
<script> <script>
import RegIssueLayout from './components/RegIssueLayout';
import RegIssueList from './components/RegIssueList'; import RegIssueList from './components/RegIssueList';
import SearchInput from '@/components/SearchInput';
import FilterPopup from './components/FilterPopup';
import mixinKeepAlive from '@/mixins/mixinKeepAlive'
import { KeywordBus } from '@/utils/eventBus'
export default { export default {
name: 'RegIssue', // 注册发行首页 name: 'RegIssue', // 注册发行首页
components: { components: {
RegIssueLayout, SearchInput,
FilterPopup,
RegIssueList RegIssueList
}, },
mixins: [mixinKeepAlive],
data() { data() {
return {} return {
keyword: '',
show: false,
checkboxArrOne: [{
label: '待上会',
value: 1
}],
checkboxArrTwo: [{
label: 'SCP',
value: 1
}],
}
},
computed: {
filterParams() {
return {
keyword: this.keyword,
checkboxArrOne: this.checkboxArrOne,
checkboxArrTwo: this.checkboxArrTwo
}
}
}, },
mounted() {
KeywordBus.on(keyword => {
this.keyword = keyword
})
},
methods: { methods: {
jumpSeachPage() { // input click 跳转 注册发行 首页
jumpSearch() {
this.$router.push({ this.$router.push({
name: 'RegIssueSearch' name: 'RegIssueSearch'
}) })
} },
// 确定
handleSure(arrOne, arrTwo) {
console.log('arrOne', arrOne);
console.log('arrTwo', arrTwo);
this.show = false
this.onSeachAction()
},
// 注册发行搜索 回车 跳转搜索结果页面 或者 直接搜索
onSeachAction(val) {
const params = {
keyword: val,
arrOne: this.arrOne,
arrTwo: this.arrTwo
}
},
// 重置
handleReset() {
},
},
}
</script>
<style lang="less" scoped>
.search-layout {
height: 100%;
display: flex;
flex-direction: column;
.history-container {
flex: 1;
}
}
/deep/ .nav_bottom_container {
display: flex;
flex-direction: row;
align-items: center;
.filter {
width: 18px;
height: 21px;
margin-left: 15px;
} }
} }
</script>
\ No newline at end of file \ No newline at end of file
</style>
\ No newline at end of file \ No newline at end of file
<template> <template>
<RegIssueLayout :history="true" @search="jumpResultPage" /> <div class="search-layout">
<nafm-header title="注册发行" navClass="nafmii-head-bg3">
<template #bottom>
<SearchInput v-model.trim="keyword" placeholder="请输入企业名称/注册报告名称/主承销商" @search="handleSearch" />
</template>
</nafm-header>
<div class="history-container">
<SearchHistory stateKey="RegIssue" @jumpPage="jumpResultPage" />
</div>
<slot />
</div>
</template> </template>
<script> <script>
import RegIssueLayout from './components/RegIssueLayout'; import SearchInput from '@/components/SearchInput';
import SearchHistory from '@/components/SearchHistory';
import {KeywordBus} from '@/utils/eventBus'
export default { export default {
name: 'ResIssueSearch', // 注册发行搜索页面 name: 'ResIssueSearch', // 注册发行搜索页面
components: { components: {
RegIssueLayout SearchInput,
SearchHistory
}, },
data() { data() {
return {} return {
keyword: ''
}
}, },
mounted() { mounted() {
}, },
methods: { methods: {
jumpResultPage(params) { handleJumpAction(keyword) {
const { keyword } = params this.$store.dispatch('search/APushRegIssueSearchValue', keyword)
KeywordBus.emit(keyword)
this.$router.back()
},
// 点击历史搜索页面tag签 或者搜索关键字回车 跳转到 搜索页面
handleSearch(val) {
const keyword = val || this.keyword
if (!keyword) { if (!keyword) {
Toast('搜索内容不能为空') Toast('搜索内容不能为空')
return return
} }
this.handleJumpAction(keyword)
this.$router.push({ },
name: 'RegIssueSearchResult', jumpResultPage(val) {
query: { this.handleJumpAction(val)
keyword },
}
})
}
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.search-layout {
height: 100%;
display: flex;
flex-direction: column;
.history-container {
flex: 1;
}
}
/deep/ .nav_bottom_container {
display: flex;
flex-direction: row;
align-items: center;
.filter {
width: 18px;
height: 21px;
margin-left: 15px;
}
}
</style> </style>
\ No newline at end of file \ No newline at end of file
<template>
<RegIssueLayout :history="false" :defKeyword="keyword" @search="handleSearch">
<RegIssueList />
</RegIssueLayout>
</template>
<script>
import RegIssueLayout from './components/RegIssueLayout';
import RegIssueList from './components/RegIssueList';
export default {
name: 'ResIssueSearch', // 注册发行 搜索结果页面
components: {
RegIssueLayout,
RegIssueList
},
data() {
return {
keyword: ''
}
},
mounted() {
const { keyword } = this.$route.query;
this.keyword = keyword
const params = {
keyword
}
this.handleRequest(params)
},
methods: {
handleRequest(params) {
this.$store.dispatch('regIssue/ARequestRegIssueList', params)
},
handleSearch(val) {
if (!val) {
Toast('搜索内容不能为空')
return
}
// todo
const params = {
keyword: val,
}
this.handleRequest(params)
}
}
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file \ No newline at end of file
...@@ -27,8 +27,8 @@ ...@@ -27,8 +27,8 @@
</van-cell> </van-cell>
<van-cell :title="$t('center.collect')" center is-link to="/user/collect" :icon="icon.collect" /> <van-cell :title="$t('center.collect')" center is-link to="/user/collect" :icon="icon.collect" />
<van-cell :title="$t('center.study')" center is-link @click="jumpStudyPage" :icon="icon.study" value-class="right_content" /> <van-cell :title="$t('center.study')" center is-link @click="jumpStudyPage" :icon="icon.study" value-class="right_content" />
<van-cell :title="$t('center.question')" center is-link to="/user/question" :icon="icon.question" /> <!-- <van-cell :title="$t('center.question')" center is-link to="/user/question" :icon="icon.question" /> -->
<van-cell :title="$t('center.feedBack')" center is-link to="/user/feedback" :icon="icon.feedback" /> <!-- <van-cell :title="$t('center.feedBack')" center is-link to="/user/feedback" :icon="icon.feedback" /> -->
<van-cell :title="$t('center.about')" center is-link to="/user/about" :icon="icon.about" value-class="right_content"> <van-cell :title="$t('center.about')" center is-link to="/user/about" :icon="icon.about" value-class="right_content">
<template #default> <template #default>
<div v-if="GIsLogin">版本2.1</div> <div v-if="GIsLogin">版本2.1</div>
......
<template>
<div class="feedback_container">
<NafmHeader navClass="nafmii-head-bg3" :title="$t('title.feedBack')" />
<div class="feedback_content">
<h3>{{$t('feedback.question')}}</h3>
<van-field v-model="content" rows="4" autosize label="" clearable type="textarea" maxlength="200" placeholder="请填写10个字以上的问题描述以便我们提供更好的帮助" show-word-limit />
<h3>{{$t('feedback.images')}}</h3>
<div class="upload_content">
<van-uploader v-model="fileList" multiple :max-count="4" accept="image/*" :max-size="1024 * 1024" @oversize="onOversize" />
<div class="tip">{{$t('feedback.tip')}}</div>
</div>
<div class="login_btn" :class="{loginActive:isBothValue}" @click="handleSubmit">提交</div>
</div>
</div>
</template>
<script>
export default {
name: 'FeedBack',
data() {
return {
content: '',
fileList: [
{ url: 'https://img01.yzcdn.cn/vant/leaf.jpg' },
{ url: 'https://img01.yzcdn.cn/vant/leaf.jpg' },
{ url: 'https://img01.yzcdn.cn/vant/leaf.jpg' },
],
unit: ''
}
},
computed: {
isBothValue() {
if (this.content) {
return true
} else {
return false
}
},
},
methods: {
// 超出1M提示
onOversize(file) {
console.log(file);
Toast('文件大小不能超过 1M');
},
// 提交
handleSubmit() {
}
}
}
</script>
<style lang="less" scoped>
.feedback_content {
display: flex;
flex-direction: column;
margin: 0px auto;
width: 384px;
h3 {
display: flex;
height: 50px;
align-items: center;
font-size: 16px;
color: #333;
}
/deep/ .van-field {
box-shadow: 0px 0px 5px #ddd;
border-radius: 10px;
}
.upload_content {
box-shadow: 0px 0px 5px #ddd;
border-radius: 10px;
padding: 10px 10px 5px;
}
.tip {
color: #999;
font-size: 11px;
margin-top: 10px;
}
/deep/ .van-uploader__preview-image {
width: 82px;
height: 82px;
}
/deep/ .van-uploader__upload {
width: 82px;
height: 82px;
}
.login_btn {
width: 340px;
margin: 80px auto 0;
border-radius: 5px;
text-align: center;
height: 45px;
line-height: 45px;
color: #fff;
font-size: 16px;
background-image: linear-gradient(to right, #25a3df, #106abc);
opacity: 0.3;
}
.loginActive {
opacity: 1;
}
}
</style>
\ No newline at end of file \ No newline at end of file
<template>
<div class="detail_container">
<NafmHeader :title="$t('title.questionDetail')" navClass="nafmii-head-bg3" />
<div class="detail_content">
<div class="title">入会准备资料</div>
<div class="time">
<span>发布时间</span>2021-4-12
</div>
<div class="content"></div>
</div>
</div>
</template>
<script>
export default {
name: 'QuestionDetail',
data() {
return {
list: [
{ id: '1', type: '产品创新', title: '问题一问题一问题一问题一问题一问题一问题一问题一问题一问题一' },
{ id: '2', type: '产品创新', title: '问题二问题二问题二问题二问题二问题二问题二问题二问题二问题二' },
]
}
},
mounted() {
// api 获取问题详情页面
},
methods: {
}
}
</script>
<style lang="less" scoped>
@import "./less/index.less";
.detail_container {
height: 100vh;
}
.detail_content {
padding: 15px;
display: flex;
flex-direction: column;
align-items: center;
.title {
color: #333;
font-size: 19px;
margin-bottom: 8px;
}
.time {
width: 100%;
display: flex;
flex-direction: row;
justify-content: flex-end;
color: #888d8d;
span {
margin-right: 15px;
}
}
.content {
margin-bottom: 30px;
}
}
</style>
\ No newline at end of file \ No newline at end of file
.question_some {
h3 {
position: relative;
color: #222;
font-size: 16px;
padding-left: 5px;
&::before {
content: "";
position: absolute;
top: 4px;
left: 0;
height: 15px;
border-left: 3px solid #135faa;
}
}
/deep/ .van-cell {
padding-right: 0 !important;
padding-left: 0 !important;
border-bottom: 1px solid #ebedf0;
font-size: 12px;
}
/deep/ .van-cell:not(:last-child)::after {
border-bottom: 0;
}
/deep/ .van-cell__title {
span {
display: block;
width: 354px;
overflow: hidden;
text-overflow: ellipsis;
word-break: break-all;
white-space: nowrap;
}
}
}
\ No newline at end of file \ No newline at end of file
<template>
<div class="question_container">
<NafmHeader :title="$t('title.questionAndFeedback')" navClass="nafmii-head-bg3">
<template #right>
<div @click="$router.push('/user/feedbacktwo')">
问题反馈
</div>
</template>
</NafmHeader>
<div class="question_content">
<van-sidebar v-model="activeKey" class="left_menu">
<van-sidebar-item v-for="(item,index) in menu" :key="index">
<template #title>
<img :src="item.icon">
<span>{{item.name}}</span>
</template>
</van-sidebar-item>
</van-sidebar>
<div class="right_content">
<div class="list_content">
<van-cell :title="item.title" center is-link v-for="(item,index) in list" @click="jumpDetail(item.id)" :key="index" />
</div>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'QuestionAndFeedback',
data() {
return {
icon: require('@/assets/icon/question_icon.png'),
list: [
{ id: '1', type: '产品创新', title: '1问题一问题一问题一问题' },
{ id: '2', type: '产品创新', title: '2问题二问题二问题二问题' },
{ id: '2', type: '产品创新', title: '问题二问题二问题二问题二问题二问题二问题二问题二问题二问题二' },
],
menu: [{
icon: require('@/assets/icon/question_icon.png'),
name: '产品创新1',
id: 1.
}, {
icon: require('@/assets/icon/question_icon.png'),
name: '产品创新',
id: 1.
}, {
icon: require('@/assets/icon/question_icon.png'),
name: '产品创新',
id: 1.
}],
activeKey: 0
}
},
methods: {
jumpPage() {
this.$router.push({
name: 'Home'
})
},
// 跳转问题详情
jumpDetail(id) {
this.$router.push({
path: '/user/questionDetail',
query: {
id
}
})
}
}
}
</script>
<style lang="less" scoped>
@import "./less/index.less";
.question_container {
overflow-y: hidden;
height: 100%;
}
.question_content {
display: flex;
flex-direction: row;
height: calc(100vh - 41px);
}
/deep/ .van-sidebar-item {
width: 125px !important;
padding: 0;
height: 56px;
display: flex;
justify-content: center;
background-color: #f6f6f6;
}
/deep/ .van-sidebar-item__text {
display: flex;
align-items: center;
}
.left_menu {
height: 100%;
overflow-y: scroll;
width: 125px !important;
background-color: #f6f6f6;
img {
width: 18px;
height: 18px;
margin-right: 10px;
}
}
.right_content {
height: 100%;
overflow-y: scroll;
display: flex;
flex-direction: column;
flex: 1;
}
/deep/ .van-sidebar-item--select::before {
height: 29px;
width: 3px;
background-color: #135faa;
}
/deep/ .van-sidebar-item--select {
color: #135faa;
background-color: #fff;
}
.van-cell__title {
overflow: hidden;
text-overflow: ellipsis;
word-break: break-all;
white-space: nowrap;
}
</style>
\ No newline at end of file \ No newline at end of file
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<div class="mt15"> <div class="mt15">
<van-cell :title="$t('setting.privacyPolicy')" center is-link @click="jumpPrivacyPage" value-class="right_content" /> <van-cell :title="$t('setting.privacyPolicy')" center is-link @click="jumpPrivacyPage" value-class="right_content" />
<van-cell :title="$t('setting.serviceAgreement')" center is-link @click="jumpServicePage" value-class="right_content" /> <van-cell :title="$t('setting.serviceAgreement')" center is-link @click="jumpServicePage" value-class="right_content" />
<van-cell :title="$t('setting.questionAndFeedback')" center is-link @click="jumpServicePage" value-class="right_content" /> <van-cell :title="$t('setting.questionAndFeedback')" center is-link @click="jumpQuestionPage" value-class="right_content" />
</div> </div>
<div class="mt15"> <div class="mt15">
...@@ -195,6 +195,12 @@ export default { ...@@ -195,6 +195,12 @@ export default {
path: '/user/service' path: '/user/service'
}) })
}, },
// 跳转到问题及反馈
jumpQuestionPage(){
this.$router.push({
path:'/user/qsandfeedback'
})
},
// 退出登录 // 退出登录
handleLogout() { handleLogout() {
// 清空用户信息 // 清空用户信息
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!