11.22修改意见部分调整
This commit is contained in:
parent
32d97e6648
commit
206dbd1219
@ -10,9 +10,6 @@
|
|||||||
<el-dropdown-item>
|
<el-dropdown-item>
|
||||||
<span style="display:block;" @click="handleDetail">{{ $t('global.personalDetails') }}</span>
|
<span style="display:block;" @click="handleDetail">{{ $t('global.personalDetails') }}</span>
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
<el-dropdown-item v-if="companyAdmin && isSameProject">
|
|
||||||
<span style="display:block;" @click="handleOrganization">教学管理</span>
|
|
||||||
</el-dropdown-item>
|
|
||||||
<el-dropdown-item v-if="isNotCompanyAdmin && isCGY && isSameProject">
|
<el-dropdown-item v-if="isNotCompanyAdmin && isCGY && isSameProject">
|
||||||
<span style="display:block;" @click="handleStatistics">数据统计</span>
|
<span style="display:block;" @click="handleStatistics">数据统计</span>
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
@ -53,7 +50,6 @@ export default {
|
|||||||
},
|
},
|
||||||
isCGY() {
|
isCGY() {
|
||||||
return getSessionStorage('project') === 'cgy';
|
return getSessionStorage('project') === 'cgy';
|
||||||
// gzb
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -70,9 +66,6 @@ export default {
|
|||||||
handleDetail() {
|
handleDetail() {
|
||||||
this.$refs.userInfo.doShow();
|
this.$refs.userInfo.doShow();
|
||||||
},
|
},
|
||||||
handleOrganization() {
|
|
||||||
this.$router.push({ path: `/info/organization` });
|
|
||||||
},
|
|
||||||
handleStatistics() {
|
handleStatistics() {
|
||||||
this.$router.push({ path: `/info/studentStatistics` });
|
this.$router.push({ path: `/info/studentStatistics` });
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,6 @@
|
|||||||
style="width: 100%; height: 100%; padding: 0 10px; display: block;"
|
style="width: 100%; height: 100%; padding: 0 10px; display: block;"
|
||||||
>{{ $t(child.meta.i18n) }}</a>
|
>{{ $t(child.meta.i18n) }}</a>
|
||||||
</div>
|
</div>
|
||||||
<!-- <el-menu-item :key="cdx" :index="item.redirect ? item.redirect : (item.path+'/'+child.path)" :route="(child.route && child.route()) ? child.route() : null"> -->
|
|
||||||
<el-menu-item v-else :key="cdx" :index="item.redirect ? item.redirect : (item.path+'/'+child.path)">
|
<el-menu-item v-else :key="cdx" :index="item.redirect ? item.redirect : (item.path+'/'+child.path)">
|
||||||
<span v-if="child.meta" slot="title">{{ $t(child.meta.i18n) }}</span>
|
<span v-if="child.meta" slot="title">{{ $t(child.meta.i18n) }}</span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
@ -92,25 +91,27 @@
|
|||||||
</el-submenu>
|
</el-submenu>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
|
<el-submenu v-if="!thirdLogin" :key="99" index="/info" :show-timeout="100">
|
||||||
|
<span slot="title">{{ username }}</span>
|
||||||
|
<el-menu-item :key="991" index="/info/personalInfo">个人信息</el-menu-item>
|
||||||
|
<el-menu-item v-if="isNotCompanyAdmin && isCGY && isSameProject" :key="992" index="/info/studentStatistics">数据统计</el-menu-item>
|
||||||
|
</el-submenu>
|
||||||
<div v-if="!thirdLogin" class="rightGroup">
|
<div v-if="!thirdLogin" class="rightGroup">
|
||||||
<!-- <quick-entry ref="quickEntry" /> -->
|
<el-tooltip class="item" effect="dark" content="退出" placement="bottom-end">
|
||||||
<user-logout ref="userLogout" />
|
<i class="el-icon-switch-button" style="color: #fff;font-weight: bolder;cursor: pointer;" @click="logout" />
|
||||||
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
</el-menu>
|
</el-menu>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import UserLogout from './Logout';
|
|
||||||
import QuickEntry from './Entry';
|
|
||||||
import SystemTitle from './Title';
|
import SystemTitle from './Title';
|
||||||
import {getSessionStorage } from '@/utils/auth';
|
import {getSessionStorage } from '@/utils/auth';
|
||||||
import { ThirdLoginList } from '@/scripts/ProjectConfig';
|
import { ThirdLoginList } from '@/scripts/ProjectConfig';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
UserLogout,
|
|
||||||
QuickEntry,
|
|
||||||
SystemTitle
|
SystemTitle
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -128,8 +129,19 @@ export default {
|
|||||||
]),
|
]),
|
||||||
thirdLogin() {
|
thirdLogin() {
|
||||||
return ThirdLoginList.includes(getSessionStorage('project'));
|
return ThirdLoginList.includes(getSessionStorage('project'));
|
||||||
|
},
|
||||||
|
username() {
|
||||||
|
return this.$store.state.user.nickname;
|
||||||
|
},
|
||||||
|
isNotCompanyAdmin() {
|
||||||
|
return this.$store.state.user.companyAdmin == false;
|
||||||
|
},
|
||||||
|
isSameProject() {
|
||||||
|
return this.$store.state.user.companyProjectList.includes(getSessionStorage('project').toUpperCase());
|
||||||
|
},
|
||||||
|
isCGY() {
|
||||||
|
return getSessionStorage('project') === 'cgy';
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
$route(val) {
|
$route(val) {
|
||||||
@ -185,6 +197,11 @@ export default {
|
|||||||
setTimeout(() => { // 路由跳转
|
setTimeout(() => { // 路由跳转
|
||||||
this.$refs.keMenu.activeIndex = index;
|
this.$refs.keMenu.activeIndex = index;
|
||||||
}, 100);
|
}, 100);
|
||||||
|
},
|
||||||
|
logout() {
|
||||||
|
this.$store.dispatch('LogOut').then(() => {
|
||||||
|
location.reload(); // 为了重新实例化vue-router对象 避免bug
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -194,10 +211,8 @@ export default {
|
|||||||
$height: 61px;
|
$height: 61px;
|
||||||
|
|
||||||
.rightGroup{
|
.rightGroup{
|
||||||
// position: absolute;
|
|
||||||
// right: 35px;
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 0 35px;
|
padding: 0 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar {
|
.navbar {
|
||||||
|
@ -1,13 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<div>
|
||||||
v-dialogDrag
|
|
||||||
:title="$t('global.personalDetails')"
|
|
||||||
:visible.sync="visible"
|
|
||||||
width="470px"
|
|
||||||
:close-on-click-modal="false"
|
|
||||||
:before-close="doClose"
|
|
||||||
class="userInfo_box"
|
|
||||||
>
|
|
||||||
<div>
|
<div>
|
||||||
<div class="form_box">
|
<div class="form_box">
|
||||||
<div class="title">{{ $t('global.compellation') }}:</div>
|
<div class="title">{{ $t('global.compellation') }}:</div>
|
||||||
@ -236,14 +228,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--<div class="form_box">-->
|
|
||||||
<!--<div class="title">单位:</div>-->
|
|
||||||
<!--<div class="content_box_info">-->
|
|
||||||
<!--<div class="show_box">-->
|
|
||||||
<!--<span>{{ userInfo.companyId }}</span>-->
|
|
||||||
<!--</div>-->
|
|
||||||
<!--</div>-->
|
|
||||||
<!--</div>-->
|
|
||||||
<div v-if="!wmOpenId" class="form_box">
|
<div v-if="!wmOpenId" class="form_box">
|
||||||
<div class="title">绑定微信:</div>
|
<div class="title">绑定微信:</div>
|
||||||
<div class="content_box_info">
|
<div class="content_box_info">
|
||||||
@ -262,10 +246,7 @@
|
|||||||
<div v-if="bindSuccess"><span>绑定微信成功</span></div>
|
<div v-if="bindSuccess"><span>绑定微信成功</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<span slot="footer" class="dialog-footer">
|
</div>
|
||||||
<el-button type="primary" @click="doClose">{{ $t('global.close') }}</el-button>
|
|
||||||
</span>
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -179,6 +179,7 @@ const PreTheoryImport = () => import('@/views/competitionManage/bankList/preImpo
|
|||||||
const MessageBoard = () => import('@/views/messageBoard/index');
|
const MessageBoard = () => import('@/views/messageBoard/index');
|
||||||
const BoardManage = () => import('@/views/messageBoard/manage');
|
const BoardManage = () => import('@/views/messageBoard/manage');
|
||||||
const OrganizationManage = () => import('@/views/organization/index');
|
const OrganizationManage = () => import('@/views/organization/index');
|
||||||
|
const PersonalInfo = () => import('@/views/info/personalInfo');
|
||||||
const OrgClassManage = () => import('@/views/organization/classManage/index');
|
const OrgClassManage = () => import('@/views/organization/classManage/index');
|
||||||
const OrgDraftLessonManage = () => import('@/views/organization/draftLessonManage/index');
|
const OrgDraftLessonManage = () => import('@/views/organization/draftLessonManage/index');
|
||||||
const OrgLessonManage = () => import('@/views/organization/lessonManage/index');
|
const OrgLessonManage = () => import('@/views/organization/lessonManage/index');
|
||||||
@ -627,6 +628,11 @@ export const publicAsyncRoute = [
|
|||||||
component: Layout,
|
component: Layout,
|
||||||
hidden: true,
|
hidden: true,
|
||||||
children: [
|
children: [
|
||||||
|
{
|
||||||
|
path: 'personalInfo',
|
||||||
|
component: PersonalInfo,
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
{ // 单位组织管理
|
{ // 单位组织管理
|
||||||
path: 'organization',
|
path: 'organization',
|
||||||
component: OrganizationManage,
|
component: OrganizationManage,
|
||||||
|
691
src/views/info/personalInfo.vue
Normal file
691
src/views/info/personalInfo.vue
Normal file
@ -0,0 +1,691 @@
|
|||||||
|
<template>
|
||||||
|
<div style="width: 100%;height: 100%;text-align: center;">
|
||||||
|
<div style="width: 450px;margin: 100px auto">
|
||||||
|
<div class="form_box">
|
||||||
|
<div class="title">{{ $t('global.compellation') }}:</div>
|
||||||
|
<div class="content_box_info">
|
||||||
|
<div v-show="nameShow" class="show_box">
|
||||||
|
<span>{{ userInfo.name }}</span>
|
||||||
|
<i class="el-icon-edit" @click="switcherName" />
|
||||||
|
</div>
|
||||||
|
<div v-show="!nameShow" class="flex_box">
|
||||||
|
<el-input
|
||||||
|
v-model="editInfo.name"
|
||||||
|
:placeholder="$t('global.enterName')"
|
||||||
|
maxlength="20"
|
||||||
|
size="mini"
|
||||||
|
class="input_box"
|
||||||
|
/>
|
||||||
|
<div class="button_box">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
class="button_box"
|
||||||
|
:disabled="!editInfo.name"
|
||||||
|
@click="saveName"
|
||||||
|
>{{ $t('global.save') }}</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
class="button_box"
|
||||||
|
type="text"
|
||||||
|
@click="switcherName"
|
||||||
|
>{{ $t('global.cancel') }}</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form_box">
|
||||||
|
<div class="title">{{ $t('global.nickName') }}:</div>
|
||||||
|
<div class="content_box_info">
|
||||||
|
<div v-show="nickNameShow" class="show_box">
|
||||||
|
<span>{{ userInfo.nickname }}</span>
|
||||||
|
<i class="el-icon-edit" @click="switcherNickname" />
|
||||||
|
</div>
|
||||||
|
<div v-show="!nickNameShow" class="flex_box">
|
||||||
|
<el-input
|
||||||
|
v-model="editInfo.nickname"
|
||||||
|
:placeholder="$t('global.enterNickname')"
|
||||||
|
maxlength="20"
|
||||||
|
size="mini"
|
||||||
|
class="input_box"
|
||||||
|
/>
|
||||||
|
<div class="button_box">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
class="button_box"
|
||||||
|
:disabled="!editInfo.nickname"
|
||||||
|
@click="saveNickName"
|
||||||
|
>{{ $t('global.save') }}</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
class="button_box"
|
||||||
|
type="text"
|
||||||
|
@click="switcherNickname"
|
||||||
|
>{{ $t('global.cancel') }}</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form_box">
|
||||||
|
<div class="title">{{ $t('global.mobile') }}:</div>
|
||||||
|
<div class="content_box_info">
|
||||||
|
<div v-show="mobileShow" class="show_box">
|
||||||
|
<span>{{ geTel(userInfo.mobile) }}</span>
|
||||||
|
<i class="el-icon-edit" @click="switcherMobile" />
|
||||||
|
</div>
|
||||||
|
<div v-show="!mobileShow" class="flex_box">
|
||||||
|
<el-input
|
||||||
|
v-model="editInfo.mobile"
|
||||||
|
:placeholder="$t('global.enterMobile')"
|
||||||
|
maxlength="11"
|
||||||
|
size="mini"
|
||||||
|
class="input_box"
|
||||||
|
/>
|
||||||
|
<el-select v-model="nationCode" size="mini" class="selectCountry">
|
||||||
|
<el-option
|
||||||
|
v-for="item in countryList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
<el-input
|
||||||
|
v-model="mobileCode"
|
||||||
|
:placeholder="$t('global.verificationCode')"
|
||||||
|
size="mini"
|
||||||
|
class="code_box"
|
||||||
|
style="margin-top: 10px;"
|
||||||
|
/>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
style="margin-top: 10px; margin-right: 10px;"
|
||||||
|
:disabled="mobileCodeTime != 0"
|
||||||
|
@click="sendMobileCode"
|
||||||
|
>
|
||||||
|
{{ $t('global.sendCode') }}
|
||||||
|
<span
|
||||||
|
v-if="mobileCodeTime"
|
||||||
|
>{{ mobileCodeTime }}</span>
|
||||||
|
</el-button>
|
||||||
|
<div class="button_box" style="margin-top: 10px;">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
class="button_box"
|
||||||
|
:disabled="!mobileCode"
|
||||||
|
@click="saveMobile"
|
||||||
|
>{{ $t('global.save') }}</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
class="button_box"
|
||||||
|
type="text"
|
||||||
|
@click="switcherMobile"
|
||||||
|
>{{ $t('global.cancel') }}</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form_box">
|
||||||
|
<div class="title">{{ $t('global.email') }}:</div>
|
||||||
|
<div class="content_box_info">
|
||||||
|
<div v-show="emailShow" class="show_box">
|
||||||
|
<span>{{ userInfo.email }}</span>
|
||||||
|
<i class="el-icon-edit" @click="switcherEmail" />
|
||||||
|
</div>
|
||||||
|
<div v-show="!emailShow" class="flex_box">
|
||||||
|
<el-input
|
||||||
|
v-model="editInfo.email"
|
||||||
|
:placeholder="$t('global.enterEmail')"
|
||||||
|
size="mini"
|
||||||
|
class="input_box"
|
||||||
|
/>
|
||||||
|
<el-input
|
||||||
|
v-model="emailCode"
|
||||||
|
:placeholder="$t('global.verificationCode')"
|
||||||
|
size="mini"
|
||||||
|
class="code_box"
|
||||||
|
style="margin-top: 10px;"
|
||||||
|
/>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
style="margin-top: 10px; margin-right: 10px;"
|
||||||
|
:disabled="emailCodeTime != 0"
|
||||||
|
@click="sendEmailCode"
|
||||||
|
>
|
||||||
|
{{ $t('global.sendCode') }}
|
||||||
|
<span
|
||||||
|
v-if="emailCodeTime"
|
||||||
|
>{{ emailCodeTime }}</span>
|
||||||
|
</el-button>
|
||||||
|
<div class="button_box" style="margin-top: 10px;">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
class="button_box"
|
||||||
|
:disabled="!emailCode"
|
||||||
|
@click="saveEmail"
|
||||||
|
>{{ $t('global.save') }}</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
class="button_box"
|
||||||
|
type="text"
|
||||||
|
@click="switcherEmail"
|
||||||
|
>{{ $t('global.cancel') }}</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form_box">
|
||||||
|
<div class="title">{{ $t('global.passWord') }}:</div>
|
||||||
|
<div class="content_box_info">
|
||||||
|
<div v-show="passwordShow" class="show_box">
|
||||||
|
<span>******</span>
|
||||||
|
<i class="el-icon-edit" @click="switcherPassWord" />
|
||||||
|
</div>
|
||||||
|
<div v-show="!passwordShow" class="flex_box">
|
||||||
|
<div class="passWord_box">
|
||||||
|
<span>{{ $t('global.newPassWord') }}:</span>
|
||||||
|
<el-input
|
||||||
|
v-model="newPassWord1"
|
||||||
|
:placeholder="$t('global.enterPassWord')"
|
||||||
|
maxlength="20"
|
||||||
|
show-password
|
||||||
|
size="mini"
|
||||||
|
class="input_box"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div style="height: 28px; line-height: 28px; margin-bottom: 10px;">
|
||||||
|
<el-input
|
||||||
|
v-model="passWordCode"
|
||||||
|
:placeholder="$t('global.verificationCode')"
|
||||||
|
size="mini"
|
||||||
|
class="code_box"
|
||||||
|
/>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
style="margin-right: 10px;"
|
||||||
|
:disabled="passWordCodeTime != 0"
|
||||||
|
@click="sendPassWordCode"
|
||||||
|
>
|
||||||
|
{{ $t('global.sendMobileCode') }}
|
||||||
|
<span
|
||||||
|
v-if="passWordCodeTime"
|
||||||
|
>{{ passWordCodeTime }}</span>
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
<div class="button_box" style="width: 150px;">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
class="button_box"
|
||||||
|
:disabled="!passWordCode"
|
||||||
|
@click="savePassWord"
|
||||||
|
>{{ $t('global.save') }}</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
class="button_box"
|
||||||
|
type="text"
|
||||||
|
@click="switcherPassWord"
|
||||||
|
>{{ $t('global.cancel') }}</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-if="!wmOpenId" class="form_box">
|
||||||
|
<div class="title">绑定微信:</div>
|
||||||
|
<div class="content_box_info">
|
||||||
|
<el-button v-if="!binding&&!bindSuccess" type="primary" size="small" style="position: absolute;" @click="generateBindQrCode">生成微信二维码</el-button>
|
||||||
|
<div v-if="binding && !bindSuccess" class="login-code-box" @click="generateBindQrCode">
|
||||||
|
<qrcode-vue
|
||||||
|
v-loading="loadingCode"
|
||||||
|
:value="loginUrl"
|
||||||
|
:class-name="qrcodeClassName"
|
||||||
|
:size="150"
|
||||||
|
:element-loading-text="this.$t('login.clickRefresh')"
|
||||||
|
element-loading-spinner="el-icon-refresh"
|
||||||
|
element-loading-background="rgba(255, 255, 255, 0.9)"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div v-if="bindSuccess"><span>绑定微信成功</span></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import md5 from 'js-md5';
|
||||||
|
import { getInfo } from '@/api/login';
|
||||||
|
import { getToken } from '@/utils/auth'; // 验权 getDesignToken
|
||||||
|
import {
|
||||||
|
getUserinfoName,
|
||||||
|
getUserinfoNickname,
|
||||||
|
getUserinfoMobile,
|
||||||
|
getUserinfoMobileCode,
|
||||||
|
getUserinfoEmailCode,
|
||||||
|
getUserinfoEmail,
|
||||||
|
getUserinfoPassword,
|
||||||
|
getBindWxQrCodeUrl
|
||||||
|
} from '@/api/management/user';
|
||||||
|
import QrcodeVue from 'qrcode.vue';
|
||||||
|
import { setInterval, clearInterval } from 'timers';
|
||||||
|
import { checkLoginStatus } from '@/api/login';
|
||||||
|
import { getSessionStorage } from '@/utils/auth';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'PersonalInfo',
|
||||||
|
components: { QrcodeVue },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loginUrl: '',
|
||||||
|
loadingCode: false,
|
||||||
|
sessionId: '',
|
||||||
|
binding: false,
|
||||||
|
bindSuccess: false,
|
||||||
|
qrcodeClassName: 'login-qrcode',
|
||||||
|
checkTimeout: null,
|
||||||
|
userInfo: {
|
||||||
|
name: '',
|
||||||
|
nickname: '',
|
||||||
|
mobile: '',
|
||||||
|
email: '',
|
||||||
|
passWord: '',
|
||||||
|
companyId: ''
|
||||||
|
},
|
||||||
|
editInfo: {
|
||||||
|
name: '',
|
||||||
|
nickname: '',
|
||||||
|
mobile: '',
|
||||||
|
email: '',
|
||||||
|
passWord: '',
|
||||||
|
companyId: ''
|
||||||
|
},
|
||||||
|
nationCode: '86',
|
||||||
|
nameShow: true,
|
||||||
|
nickNameShow: true,
|
||||||
|
mobileShow: true,
|
||||||
|
emailShow: true,
|
||||||
|
passwordShow: true,
|
||||||
|
mobileCode: null,
|
||||||
|
emailCode: null,
|
||||||
|
passWordCode: null,
|
||||||
|
checkLogin: null,
|
||||||
|
|
||||||
|
oldPassWord: null,
|
||||||
|
newPassWord1: null,
|
||||||
|
|
||||||
|
mobileCodeTime: 0,
|
||||||
|
emailCodeTime: 0,
|
||||||
|
passWordCodeTime: 0,
|
||||||
|
|
||||||
|
emailTime: null,
|
||||||
|
mobileTime: null,
|
||||||
|
passWordTime: null,
|
||||||
|
countryList: [
|
||||||
|
{ name: this.$t('global.china'), value: '86' },
|
||||||
|
{ name: this.$t('global.australia'), value: '61' },
|
||||||
|
{ name: this.$t('global.england'), value: '44' },
|
||||||
|
{ name: this.$t('global.hongKong'), value: '852' },
|
||||||
|
{ name: this.$t('global.Japanese'), value: '81' },
|
||||||
|
{ name: this.$t('global.macao'), value: '853' },
|
||||||
|
{ name: this.$t('global.singapore'), value: '65' },
|
||||||
|
{ name: this.$t('global.taiwan'), value: '886' },
|
||||||
|
{ name: this.$t('global.america'), value: '1' }
|
||||||
|
],
|
||||||
|
nationCodeInit: '86', // 默认国际地区
|
||||||
|
loginClient: 'LianKeTang',
|
||||||
|
project:'',
|
||||||
|
wmOpenId: '',
|
||||||
|
companyList: []
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
info() {
|
||||||
|
return this.$store.state.user;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.initData();
|
||||||
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
this.binding = false;
|
||||||
|
this.bindSuccess = false;
|
||||||
|
this.nameShow = true;
|
||||||
|
this.nickNameShow = true;
|
||||||
|
this.mobileShow = true;
|
||||||
|
this.emailShow = true;
|
||||||
|
this.passwordShow = true;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
geTel(tel) {
|
||||||
|
const reg = /^(\d{3})\d{4}(\d{4})$/;
|
||||||
|
if (tel) {
|
||||||
|
return tel.replace(reg, '$1****$2');
|
||||||
|
} else {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
initData() {
|
||||||
|
this.binding = false;
|
||||||
|
this.bindSuccess = false;
|
||||||
|
this.project = getSessionStorage('project');
|
||||||
|
const token = getToken();
|
||||||
|
getInfo(token).then(response => {
|
||||||
|
const user = response.data;
|
||||||
|
this.userInfo = {
|
||||||
|
name: user.name,
|
||||||
|
nickname: user.nickname,
|
||||||
|
mobile: user.mobile,
|
||||||
|
email: user.email,
|
||||||
|
passWord: '',
|
||||||
|
companyId: user.companyId
|
||||||
|
};
|
||||||
|
this.wmOpenId = user.wmOpenId || '';
|
||||||
|
this.oldPassWord = user.password;
|
||||||
|
this.nationCode = user.nationCode ? user.nationCode : '86';
|
||||||
|
this.nationCodeInit = user.nationCode ? user.nationCode : '86';
|
||||||
|
}).catch(error => {
|
||||||
|
console.log(error, '请求个人信息失败');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
switcherName() {
|
||||||
|
this.editInfo.name = this.userInfo.name;
|
||||||
|
this.nameShow = !this.nameShow;
|
||||||
|
},
|
||||||
|
async saveName() {
|
||||||
|
if (this.editInfo.name) {
|
||||||
|
try {
|
||||||
|
await getUserinfoName(this.info.id, this.editInfo.name);
|
||||||
|
this.userInfo.name = this.editInfo.name;
|
||||||
|
this.nameShow = !this.nameShow;
|
||||||
|
this.$store.commit('SET_NAME', this.editInfo.name);
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error, '错误');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async saveCompany() {
|
||||||
|
try {
|
||||||
|
await getUserinfoName(this.info.id, this.editInfo.name);
|
||||||
|
this.userInfo.name = this.editInfo.name;
|
||||||
|
this.nameShow = !this.nameShow;
|
||||||
|
this.$store.commit('SET_NAME', this.editInfo.name);
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error, '错误');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
switcherNickname() {
|
||||||
|
this.editInfo.nickname = this.userInfo.nickname;
|
||||||
|
this.nickNameShow = !this.nickNameShow;
|
||||||
|
},
|
||||||
|
async saveNickName() {
|
||||||
|
if (this.editInfo.nickname) {
|
||||||
|
try {
|
||||||
|
await getUserinfoNickname(
|
||||||
|
this.info.id,
|
||||||
|
this.editInfo.nickname
|
||||||
|
);
|
||||||
|
this.userInfo.nickname = this.editInfo.nickname;
|
||||||
|
this.nickNameShow = !this.nickNameShow;
|
||||||
|
this.$store.commit('SET_NICKNAME', this.editInfo.nickname);
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error, '错误');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
switcherMobile() {
|
||||||
|
this.mobileShow = !this.mobileShow;
|
||||||
|
},
|
||||||
|
async saveMobile() {
|
||||||
|
if (this.editInfo.mobile && this.mobileCode) {
|
||||||
|
try {
|
||||||
|
const params = {
|
||||||
|
mobile: this.editInfo.mobile,
|
||||||
|
nationCode: this.nationCode,
|
||||||
|
validCode: this.mobileCode
|
||||||
|
};
|
||||||
|
await getUserinfoMobile(this.info.id, params);
|
||||||
|
this.userInfo.mobile = this.editInfo.mobile;
|
||||||
|
this.nationCodeInit = this.nationCode;
|
||||||
|
this.mobileShow = !this.mobileShow;
|
||||||
|
this.mobileCode = null;
|
||||||
|
} catch (error) {
|
||||||
|
this.$message.info(this.$t('global.codeError'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async sendMobileCode() {
|
||||||
|
const random = Math.floor(Math.random() * 10000 + 1);
|
||||||
|
const timeCount = Date.parse(new Date()) / 1000;
|
||||||
|
const pass = `${timeCount}${this.nationCode}${this.editInfo.mobile}${random}`;
|
||||||
|
const param = {
|
||||||
|
mobile: this.editInfo.mobile,
|
||||||
|
nationCode: this.nationCode,
|
||||||
|
rd: random,
|
||||||
|
time: timeCount,
|
||||||
|
token: md5(pass)
|
||||||
|
};
|
||||||
|
try {
|
||||||
|
this.mobileCodeTime = 30;
|
||||||
|
this.mobileTime = setInterval(() => {
|
||||||
|
this.mobileCodeTime--;
|
||||||
|
if (this.mobileCodeTime <= 0) {
|
||||||
|
this.mobileCodeTime = 0;
|
||||||
|
clearInterval(this.mobileTime);
|
||||||
|
this.mobileTime = null;
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
await getUserinfoMobileCode(param);
|
||||||
|
} catch (error) {
|
||||||
|
this.$message.info(this.$t('global.codeFaile'));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
switcherEmail() {
|
||||||
|
// this.editInfo.email = this.userInfo.email;
|
||||||
|
this.emailShow = !this.emailShow;
|
||||||
|
},
|
||||||
|
async saveEmail() {
|
||||||
|
if (this.editInfo.email && this.emailCode) {
|
||||||
|
try {
|
||||||
|
const params = {
|
||||||
|
email: this.editInfo.email,
|
||||||
|
validCode: this.emailCode
|
||||||
|
};
|
||||||
|
await getUserinfoEmail(this.info.id, params);
|
||||||
|
this.userInfo.email = this.editInfo.email;
|
||||||
|
this.emailShow = !this.emailShow;
|
||||||
|
this.emailCode = null;
|
||||||
|
} catch (error) {
|
||||||
|
this.$message.info(this.$t('global.codeError'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async sendEmailCode() {
|
||||||
|
try {
|
||||||
|
this.emailCodeTime = 30;
|
||||||
|
this.emailTime = setInterval(() => {
|
||||||
|
this.emailCodeTime--;
|
||||||
|
if (this.emailCodeTime <= 0) {
|
||||||
|
this.emailCodeTime = 0;
|
||||||
|
clearInterval(this.emailTime);
|
||||||
|
this.emailTime = null;
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
await getUserinfoEmailCode(this.editInfo.email);
|
||||||
|
} catch (error) {
|
||||||
|
this.$message.info(this.$t('global.codeFaile'));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
switcherPassWord() {
|
||||||
|
this.passwordShow = !this.passwordShow;
|
||||||
|
},
|
||||||
|
async savePassWord() {
|
||||||
|
if (this.newPassWord1.length <= 5) {
|
||||||
|
this.$message.info(this.$t('global.passWordLength'));
|
||||||
|
} else {
|
||||||
|
this.uploadPassword();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async uploadPassword() {
|
||||||
|
if (this.newPassWord1) {
|
||||||
|
// 请求更新密码
|
||||||
|
const param = {
|
||||||
|
password: md5(this.newPassWord1),
|
||||||
|
vfCode: this.passWordCode
|
||||||
|
};
|
||||||
|
try {
|
||||||
|
await getUserinfoPassword(this.info.id, param);
|
||||||
|
this.passwordShow = !this.passwordShow;
|
||||||
|
this.newPassWord1 = '';
|
||||||
|
this.passWordCode = null;
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error, 11);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$message.info(this.$t('global.passWordSome'));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
generateBindQrCode() { // 获取微信小程序绑定二维码
|
||||||
|
getBindWxQrCodeUrl().then(response => {
|
||||||
|
this.loadingCode = false;
|
||||||
|
this.loginUrl = response.data.url;
|
||||||
|
this.binding = true;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
checkLoginStatus() {
|
||||||
|
const self = this;
|
||||||
|
// 销毁则不再定时
|
||||||
|
if (!this.binding) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 清空已存在的定时器
|
||||||
|
// 设置定时器检测
|
||||||
|
this.clearTimer(this.checkLogin);
|
||||||
|
this.checkLogin = setTimeout(() => {
|
||||||
|
checkLoginStatus(self.sessionId).then(response => {
|
||||||
|
// 设置扫码登录
|
||||||
|
if (response.data.status == '2') {
|
||||||
|
self.clearTimer(self.checkLogin);
|
||||||
|
self.bindSuccess = true;
|
||||||
|
} else {
|
||||||
|
self.checkLoginStatus();
|
||||||
|
}
|
||||||
|
}).catch(error => {
|
||||||
|
if (error.data && error.data.status === '1') {
|
||||||
|
self.scanSuccess = true;
|
||||||
|
}
|
||||||
|
self.checkLoginStatus();
|
||||||
|
});
|
||||||
|
}, 3000);
|
||||||
|
},
|
||||||
|
clearTimer(timer) {
|
||||||
|
if (timer) {
|
||||||
|
clearTimeout(timer);
|
||||||
|
timer = null;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async sendPassWordCode() {
|
||||||
|
if (this.userInfo.mobile) {
|
||||||
|
const random = Math.floor(Math.random() * 10000 + 1);
|
||||||
|
const timeCount = Date.parse(new Date()) / 1000;
|
||||||
|
const pass = `${timeCount}${this.nationCodeInit}${this.userInfo.mobile}${random}`;
|
||||||
|
const param = {
|
||||||
|
mobile: this.userInfo.mobile,
|
||||||
|
nationCode: this.nationCodeInit,
|
||||||
|
rd: random,
|
||||||
|
time: timeCount,
|
||||||
|
token: md5(pass)
|
||||||
|
};
|
||||||
|
try {
|
||||||
|
this.passWordCodeTime = 30;
|
||||||
|
this.passWordTime = setInterval(() => {
|
||||||
|
this.passWordCodeTime--;
|
||||||
|
if (this.passWordCodeTime <= 0) {
|
||||||
|
this.passWordCodeTime = 0;
|
||||||
|
clearInterval(this.mobileTime);
|
||||||
|
this.passWordTime = null;
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
await getUserinfoMobileCode(param);
|
||||||
|
} catch (error) {
|
||||||
|
this.$message.info(this.$t('global.codeFaile'));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.passwordShow = !this.passwordShow;
|
||||||
|
this.$message.info(this.$t('global.enterMobileNumber'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style rel="stylesheet/scss" lang="scss" scope>
|
||||||
|
.flex_box {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.form_box {
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.selectCountry {
|
||||||
|
width: 90px;
|
||||||
|
height: 28px;
|
||||||
|
line-height: 28px;
|
||||||
|
}
|
||||||
|
.title {
|
||||||
|
width: 80px;
|
||||||
|
text-align: left;
|
||||||
|
font-size: 14px;
|
||||||
|
height: 28px;
|
||||||
|
line-height: 28px;
|
||||||
|
}
|
||||||
|
.content_box_info {
|
||||||
|
flex:1;
|
||||||
|
margin: 0;
|
||||||
|
.el-icon-edit {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.show_box {
|
||||||
|
height: 28px;
|
||||||
|
line-height: 28px;
|
||||||
|
}
|
||||||
|
.input_box {
|
||||||
|
font-size: 14px;
|
||||||
|
width: 200px;
|
||||||
|
margin-right: 10px;
|
||||||
|
flex: none;
|
||||||
|
line-height: 0;
|
||||||
|
}
|
||||||
|
.code_box {
|
||||||
|
font-size: 14px;
|
||||||
|
width: 150px;
|
||||||
|
margin-right: 15px;
|
||||||
|
flex: none;
|
||||||
|
line-height: 0;
|
||||||
|
}
|
||||||
|
.button_box {
|
||||||
|
line-height: 0;
|
||||||
|
height: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.passWord_box {
|
||||||
|
height: 28px;
|
||||||
|
line-height: 28px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
.login-qrcode {
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style rel="stylesheet/scss" lang="scss">
|
||||||
|
.userInfo_box {
|
||||||
|
.el-dialog__body {
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -557,6 +557,7 @@ export default {
|
|||||||
// });
|
// });
|
||||||
// });
|
// });
|
||||||
// this.menuList = this.projectMenuMap[this.project];
|
// this.menuList = this.projectMenuMap[this.project];
|
||||||
|
|
||||||
this.menuList = this.allMenuList;
|
this.menuList = this.allMenuList;
|
||||||
window.addEventListener('click', this.close, false);
|
window.addEventListener('click', this.close, false);
|
||||||
},
|
},
|
||||||
|
@ -1,22 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="title_content">{{ companyName + '教学管理' }}</div>
|
<div class="title_content">{{ companyName + '教学管理' }}</div>
|
||||||
<el-button v-if="!hideBack" type="text" class="lessonManageBack" @click="back">返回</el-button>
|
|
||||||
<div class="lessonManageInfo">
|
<div class="lessonManageInfo">
|
||||||
<el-menu class="lessonManageMenu" default-active="2-1">
|
<el-menu class="lessonManageMenu" default-active="2-1">
|
||||||
<el-menu-item index="1" @click="clickMenu">
|
<el-menu-item index="1" @click="clickMenu">
|
||||||
<img :src="classIcon" class="teachMenu">
|
<img :src="classIcon" class="teachMenu">
|
||||||
<span class="teachMenuTitle" :style="{color: $route.path.includes('classManage')?'#5BDBFF': '#000'}">班级管理</span>
|
<span class="teachMenuTitle" :style="{color: $route.path.includes('classManage')?'#5BDBFF': '#000'}">班级管理</span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<el-menu-item index="5" @click="clickMenu">
|
|
||||||
<!-- <img :src="classIcon" class="teachMenu"> -->
|
|
||||||
<i class="el-icon-user" />
|
|
||||||
<span class="teachMenuTitle" :style="{color: $route.path.includes('studentManage')?'#5BDBFF': '#000'}">学生管理</span>
|
|
||||||
</el-menu-item>
|
|
||||||
<!-- <el-menu-item index="6" @click="clickMenu">
|
|
||||||
<img :src="ruleIcon" class="teachMenu">
|
|
||||||
<span class="teachMenuTitle" :style="{color: $route.path.includes('trainingDesign')?'#5BDBFF': '#000'}">实训设计</span>
|
|
||||||
</el-menu-item> -->
|
|
||||||
<el-menu-item index="7" @click="clickMenu">
|
<el-menu-item index="7" @click="clickMenu">
|
||||||
<img :src="ruleIcon" class="teachMenu">
|
<img :src="ruleIcon" class="teachMenu">
|
||||||
<span class="teachMenuTitle" :style="{color: $route.path.includes('trainingManage')?'#5BDBFF': '#000'}">实训管理</span>
|
<span class="teachMenuTitle" :style="{color: $route.path.includes('trainingManage')?'#5BDBFF': '#000'}">实训管理</span>
|
||||||
@ -25,24 +15,10 @@
|
|||||||
<img :src="lessonIcon" class="teachMenu">
|
<img :src="lessonIcon" class="teachMenu">
|
||||||
<span class="teachMenuTitle" :style="{color: $route.path.includes('theoryManage')?'#5BDBFF': '#000'}">理论题目管理</span>
|
<span class="teachMenuTitle" :style="{color: $route.path.includes('theoryManage')?'#5BDBFF': '#000'}">理论题目管理</span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<!-- <el-submenu index="2">
|
|
||||||
<template slot="title">
|
|
||||||
<img :src="lessonIcon" class="teachMenu">
|
|
||||||
<span class="teachMenuTitle">课程管理</span>
|
|
||||||
</template>
|
|
||||||
<el-menu-item-group>
|
|
||||||
<el-menu-item index="2-1" class="lessonIcon" :style="{color: $route.path.includes('lessonManage')?'#5BDBFF': '#000'}" @click="clickMenu">发布课程管理</el-menu-item>
|
|
||||||
<el-menu-item index="2-2" class="lessonIcon" :style="{color: $route.path.includes('draftLessonManage')?'#5BDBFF': '#000'}" @click="clickMenu">草稿课程管理</el-menu-item>
|
|
||||||
</el-menu-item-group>
|
|
||||||
</el-submenu> -->
|
|
||||||
<el-menu-item index="3" @click="clickMenu">
|
<el-menu-item index="3" @click="clickMenu">
|
||||||
<img :src="examIcon" class="teachMenu">
|
<img :src="examIcon" class="teachMenu">
|
||||||
<span slot="title" class="teachMenuTitle" :style="{color: $route.path.includes('examManage')?'#5BDBFF': '#000'}">考试管理</span>
|
<span slot="title" class="teachMenuTitle" :style="{color: $route.path.includes('examManage')?'#5BDBFF': '#000'}">考试管理</span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<!-- <el-menu-item index="4" @click="clickMenu">
|
|
||||||
<img :src="ruleIcon" class="teachMenu">
|
|
||||||
<span slot="title" :style="{color: $route.path.includes('ruleManage')?'#5BDBFF': '#000'}" class="teachMenuTitle">评价管理</span>
|
|
||||||
</el-menu-item> -->
|
|
||||||
</el-menu>
|
</el-menu>
|
||||||
<div class="lessonManageOther">
|
<div class="lessonManageOther">
|
||||||
<router-view />
|
<router-view />
|
||||||
@ -75,41 +51,21 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
companyName() {
|
companyName() {
|
||||||
return this.$store.state.user.companyName;
|
return this.$store.state.user.companyName;
|
||||||
},
|
|
||||||
hideBack() {
|
|
||||||
return this.$route.query.enter === 'teacher';
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
methods:{
|
methods:{
|
||||||
clickMenu(val) {
|
clickMenu(val) {
|
||||||
if (val.index === '2-1') {
|
if (val.index === '1') {
|
||||||
this.$router.replace('/teaching/organization/lessonManage');
|
|
||||||
} else if (val.index === '2-2') {
|
|
||||||
this.$router.replace('/teaching/organization/draftLessonManage');
|
|
||||||
} else if (val.index === '1') {
|
|
||||||
this.$router.replace('/teaching/organization/classManage');
|
this.$router.replace('/teaching/organization/classManage');
|
||||||
} else if (val.index === '3') {
|
} else if (val.index === '3') {
|
||||||
this.$router.replace('/teaching/organization/examManage');
|
this.$router.replace('/teaching/organization/examManage');
|
||||||
} else if (val.index === '4') {
|
} else if (val.index === '4') {
|
||||||
this.$router.replace('/teaching/organization/ruleManage');
|
this.$router.replace('/teaching/organization/ruleManage');
|
||||||
} else if (val.index === '5') {
|
} else if (val.index === '7') {
|
||||||
this.$router.replace('/teaching/organization/studentManage');
|
|
||||||
}
|
|
||||||
// else if (val.index === '6') {
|
|
||||||
// this.$router.push('/teaching/organization/trainingDesign'); //
|
|
||||||
// }
|
|
||||||
else if (val.index === '7') {
|
|
||||||
this.$router.replace('/teaching/organization/trainingManage'); //
|
this.$router.replace('/teaching/organization/trainingManage'); //
|
||||||
} else if (val.index === '8') {
|
} else if (val.index === '8') {
|
||||||
this.$router.replace('/teaching/organization/theoryManage');
|
this.$router.replace('/teaching/organization/theoryManage');
|
||||||
}
|
}
|
||||||
},
|
|
||||||
back() {
|
|
||||||
this.$router.go(-1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user