123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- <template>
- <view class="set">
- <view
- class="list-cell b-b"
- :class="{ 'm-t': item.class === 'mT' }"
- v-for="item in setList"
- :key="item.title"
- @tap="navTo(item.url)"
- hover-class="cell-hover"
- :hover-stay-time="50"
- >
- <text class="cell-tit">{{ item.title }}</text>
- <text class="cell-tip">{{ item.content }}</text>
- <text class="cell-more iconfont iconyou"></text>
- </view>
- <!-- #ifdef APP-PLUS -->
-
- <!-- #endif -->
- <view class="cu-list menu sm-border card-menu" v-if="styleUserIsOpen">
- <view class="cu-item">
- <view class="content flex align-center">
- <text
- class="cuIcon-colorlens"
- :class="'text-' + themeColor.name"
- ></text>
- <view
- class="padding solid radius shadow-blur"
- :class="'bg-' + themeColor.name"
- ></view>
- <view class="title"
- >主题色:<text :class="'text-' + themeColor.name">{{
- themeColor.title
- }}</text></view
- >
- </view>
- <view class="action">
- <button
- class="cu-btn round shadow"
- @click="showColorModal"
- :class="'bg-' + themeColor.name"
- >
- <text class="cuIcon-colorlens"></text> 选择主题
- </button>
- </view>
- </view>
- </view>
- <view
- class="list-cell log-out-btn"
- :class="'text-' + themeColor.name"
- @tap="toLogout"
- >
- <text class="cell-tit">退出登录</text>
- </view>
- <!--版本更新-->
- <!-- #ifdef APP-PLUS -->
- <oa-version-upgrade
- isTipsShow
- @tip="handleTip"
- @close="handleVersionUpgradeShow"
- :isShow="isVersionUpgradeShow"
- ></oa-version-upgrade>
- <!-- #endif -->
- <!-- modal -->
- <!-- 选择颜色模态框 -->
- <view class="cu-modal" :class="{ show: colorModal }">
- <view class="cu-dialog">
- <view class="cu-bar justify-end solid-bottom">
- <view class="content">选择颜色</view>
- <view class="action" @tap="colorModal = false">
- <text class="cuIcon-close text-red"></text>
- </view>
- </view>
- <view class="grid col-5 padding">
- <view
- class="padding-xs"
- v-for="(item, index) in themeList"
- :key="index"
- @tap="SetColor(item)"
- :data-color="item.name"
- >
- <view class="padding-tb radius" :class="'bg-' + item.name">
- {{ item.title }}
- </view>
- </view>
- </view>
- </view>
- </view>
- </view>
- </view>
- </template>
- <script>
- import { logout } from '@/api/login';
- import rfVersionUpgrade from '@/components/oa-version-upgrade';
- export default {
- components: { rfVersionUpgrade },
- data() {
- return {
- isVersionUpgradeShow: false,
- loadProgress: 0,
- CustomBar: this.CustomBar,
- user: {},
- setList: this.$mConstDataConfig.setList,
- styleUserIsOpen: this.$mSettingConfig.styleUserIsOpen,
- notifyChecked: false,
- isNewVersion: false,
- colorModal: false,
- themeList: this.$mConstDataConfig.themeList
- };
- },
- onShow() {
- uni.setNavigationBarColor({
- frontColor: '#ffffff',
- backgroundColor: this.themeColor.color,
- animation: {
- duration: 400,
- timingFunc: 'easeIn'
- }
- })
- },
- onLoad() {
- this.initData();
- // #ifdef APP-PLUS
- if (uni.getSystemInfoSync().platform === 'ios') {
- this.CustomBar = 0;
- }
- // #endif
- },
- methods: {
- handleTip(isNewVersion) {
- this.isNewVersion = isNewVersion;
- },
- handleVersionUpgradeShow() {
- this.isVersionUpgradeShow = false;
- },
- // 初始化数据
- initData() {
- this.user = uni.getStorageSync('user');
- // 缓存大小
- this.setList[2].content = `${uni.getStorageInfoSync().currentSize} kb`;
- // #ifdef APP-PLUS
- this.setList[5].content = `当前版本 ${plus.runtime.version}`;
- // #endif
- },
- // 通用跳转
- navTo(route) {
- if (!route) return;
- if (route === 'clearCache') {
- uni.showModal({
- content: '确定要清除缓存吗',
- success: e => {
- if (e.confirm) {
- uni.clearStorageSync();
- this.setList[2].content = '0 kb';
- this.$mStore.commit('login', this.user);
- this.$mHelper.toast('清除缓存成功');
- }
- }
- });
- return;
- } else if (route === 'versionUpgrade') {
- this.isVersionUpgradeShow = true;
- if (this.isNewVersion) {
- this.$mHelper.toast('已经是最新版本');
- }
- return;
- }
- this.$mRouter.push({ route });
- },
- // 退出登录
- toLogout() {
- uni.showModal({
- content: '确定要退出登录么',
- success: e => {
- if (e.confirm) {
- this.$http.post(`${logout}`).then(() => {
- this.$mStore.commit('logout');
- uni.reLaunch({
- url: '/pages/profile/profile'
- });
- });
- }
- }
- });
- },
-
- showColorModal() {
- this.colorModal = true;
- },
- SetColor(item) {
- this.colorModal = false;
- this.themeColor = item;
- this.$mStore.commit('setThemeColor', item);
- uni.setNavigationBarColor({
- frontColor: '#ffffff',
- backgroundColor: this.themeColor.color,
- animation: {
- duration: 400,
- timingFunc: 'easeIn'
- }
- })
- }
- }
- };
- </script>
- <style lang="scss">
- page {
- background: $page-color-base;
- }
- .set {
- padding: $spacing-base 0;
- }
- .cu-list.card-menu {
- margin: $spacing-base 0;
- .title {
- margin-left: $spacing-base;
- }
- }
- </style>
|