toekn 过期
This commit is contained in:
parent
0613a4b1a3
commit
9de716d073
@ -64,7 +64,7 @@ const router = createRouter({
|
||||
});
|
||||
|
||||
// beforeEach router
|
||||
router.beforeEach(async (to, from, next) => {
|
||||
router.beforeEach(async(to, from, next) => {
|
||||
const store = useUserStore();
|
||||
|
||||
const permissionStore = usePermissionStore();
|
||||
@ -78,9 +78,8 @@ router.beforeEach(async (to, from, next) => {
|
||||
}else {
|
||||
// 判断判断权限有无获取
|
||||
if (store.token && permissionStore.addRouters.length==0) {
|
||||
//store.getUserInfo();
|
||||
await permissionStore.getButtonRole();
|
||||
await permissionStore.getMenuRole();
|
||||
await permissionStore.getButtonRole();
|
||||
const menuResult = await permissionStore.getMenuRole();
|
||||
permissionStore.addRouters.forEach((route) => {
|
||||
router.addRoute('/', route);
|
||||
});
|
||||
|
||||
@ -55,6 +55,8 @@ export const usePermissionStore = defineStore('permisson', {
|
||||
if(code==200){
|
||||
this.setMenuList(data);
|
||||
this.addRouters =await this.GenerateRoutes(data);
|
||||
}else{
|
||||
return false
|
||||
}
|
||||
|
||||
},
|
||||
@ -62,6 +64,8 @@ export const usePermissionStore = defineStore('permisson', {
|
||||
const {code,data,message} = await getUserButtonRole();
|
||||
if(code==200){
|
||||
this.buttonPermissions=data;
|
||||
}else{
|
||||
return false
|
||||
}
|
||||
},
|
||||
clearRouters(){
|
||||
|
||||
@ -35,14 +35,18 @@ export const useUserStore = defineStore('user', {
|
||||
console.error(err);
|
||||
}
|
||||
},
|
||||
async userLogut() {
|
||||
const {code} = await logout();
|
||||
const permissionStore=usePermissionStore();
|
||||
if(code==200){
|
||||
clearInfo(){
|
||||
const permissionStore=usePermissionStore();
|
||||
this.token = null;
|
||||
this.userInfo = null;
|
||||
permissionStore.ClearMenuList();
|
||||
permissionStore.clearRouters();
|
||||
permissionStore.clearRouters
|
||||
},
|
||||
async userLogut() {
|
||||
const {code} = await logout();
|
||||
|
||||
if(code==200){
|
||||
this.clearInfo();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -20,7 +20,7 @@ service.interceptors.request.use(
|
||||
const store = useUserStore();
|
||||
// 设置请求头部 Authorization
|
||||
if (store.token) {
|
||||
config.headers['Authorization'] = 'Bearer ' + store.token;
|
||||
config.headers['Authorization'] = 'Bearer ' + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiMSIsInJvbGVfaWQiOiIxIiwiZGVwdF9pZCI6IjE2ODE4NjAyNDU0NTE3MDYzNjgiLCJwb3N0X2lkIjoiMSIsImV4cCI6MTY4OTgzMDgyOCwibmJmIjoxNjg5ODMwODI3LCJpYXQiOjE2ODk4MzA4Mjd9.PbBv4iJWSG4qGacIltoB79Lt5TNhmBplsl3sEmDVUlU'//store.token;
|
||||
//config.headers['Content-Type'] = 'multipart/form-data'
|
||||
}
|
||||
return config;
|
||||
@ -40,25 +40,26 @@ service.interceptors.response.use(
|
||||
}
|
||||
const store = useUserStore();
|
||||
const { code, message } = response.data;
|
||||
if (code === 401 || code==403 || code==405 || code==406) {
|
||||
console.log(code);
|
||||
if (code == 401 || code==403 || code==405 || code==406) {
|
||||
Message.error({
|
||||
content: message,
|
||||
duration: 3000
|
||||
});
|
||||
// 重定向路由到登陆页面
|
||||
store.userLogout();
|
||||
store.clearInfo();
|
||||
window.location.href="/login";
|
||||
}else if(code === 400){
|
||||
Message.error({
|
||||
content: '缺少参数',
|
||||
duration: 3000
|
||||
});
|
||||
}else if(code === 402){
|
||||
}else if(code == 402){
|
||||
Message.error({
|
||||
content: '请求无权限',
|
||||
duration: 3000
|
||||
});
|
||||
}else if(code === 201){
|
||||
}else if(code == 201){
|
||||
Message.error({
|
||||
content: '账户状态异常',
|
||||
duration: 3000
|
||||
@ -77,17 +78,13 @@ service.interceptors.response.use(
|
||||
const { code, message } = error.response.data;
|
||||
// 如果过期则退出登录
|
||||
if (code === 401 || code==403 || code==405 || code==406) {
|
||||
alert(405);
|
||||
Message.error({
|
||||
content: message,
|
||||
duration: 3000
|
||||
});
|
||||
// 重定向路由到登陆页面
|
||||
store.userLogout();
|
||||
store.clearInfo();
|
||||
window.location.href="/login";
|
||||
// Akiraka 20230410 重定向到登录页面
|
||||
//return router.push('/login');
|
||||
|
||||
}else if(code === 400){
|
||||
Message.error({
|
||||
content: '缺少参数',
|
||||
@ -108,7 +105,6 @@ service.interceptors.response.use(
|
||||
content: error.message,
|
||||
duration: 3000
|
||||
})
|
||||
|
||||
}
|
||||
return Promise.reject(message);
|
||||
}
|
||||
|
||||
@ -34,6 +34,9 @@
|
||||
@page-change="handlePageChange"
|
||||
@page-size-change="handlepage_sizeChange"
|
||||
>
|
||||
<template #post_id="{record,rowIndex}">
|
||||
<div>{{(rowIndex+1)+(pager.page-1)*10}}</div>
|
||||
</template>
|
||||
<template #createdAt="{ record }">
|
||||
{{ parseTime(record.createdAt) }}
|
||||
</template>
|
||||
@ -131,7 +134,7 @@ let batchList = [];
|
||||
|
||||
// Table Columns
|
||||
const columns = [
|
||||
{ title: '岗位编号', dataIndex: 'post_id' },
|
||||
{ title: '岗位编号', dataIndex: 'post_id',slotName: 'post_id' },
|
||||
{ title: '岗位名称', dataIndex: 'post_name' },
|
||||
{ title: '创建时间', dataIndex: 'created_at', slotName: 'created_at' },
|
||||
{ title: '操作', slotName: 'action' },
|
||||
|
||||
@ -181,22 +181,22 @@
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
<a-form-item field="hospital.address" label="医院地址:">
|
||||
<a-input v-model="modalForm.hospital.address" placeholder="请输入医院地址" :disabled="modalSatus=='edit'"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item field="hospital.hospital_name" label="医院名称:">
|
||||
<a-space direction="vertical" size="large">
|
||||
<a-select :style="{width:'400px'}" allow-search placeholder="请选择所在医院" v-model="modalForm.hospital.hospital_name" :loading="loading" @change="changeHospital" @search="handleHospitalList" >
|
||||
<a-select :style="{width:'400px'}" allow-search placeholder="请选择所在医院" v-model="hospital_name" :loading="loading" @change="changeHospital" @search="handleHospitalList" >
|
||||
<a-option size="large" style="max-width:500px" v-for="item in hospitalData" :key="item.hospital_id" :value="item.hospital_id"
|
||||
:label="item.hospital_name+'—'+item.province+item.city+item.county"></a-option>
|
||||
:label="item.hospital_name+'('+item.province+item.city+item.county+')'"></a-option>
|
||||
</a-select>
|
||||
</a-space>
|
||||
<!-- <a-input v-model="modalForm.hospital.hospital_name" placeholder="请输入医院名称" /> -->
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item field="hospital.address" label="医院地址:">
|
||||
<a-input v-model="modalForm.hospital.address" placeholder="请输入医院地址" :disabled="modalSatus=='edit'"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="12">
|
||||
@ -585,7 +585,9 @@
|
||||
avatar: 'https://img.applets.igandanyiyuan.com/basic/file/doctor_avatar.png',
|
||||
bank_card_code:'',
|
||||
});
|
||||
|
||||
const hospital_name=computed(()=>{
|
||||
return modalForm.hospital.hospital_name+'('+modalForm.hospital.province+modalForm.hospital.city+modalForm.hospital.county+')'
|
||||
})
|
||||
//const doctor_expertise=ref([]);
|
||||
//证书计算
|
||||
const transArr = (arr) => {
|
||||
@ -747,11 +749,23 @@
|
||||
}],
|
||||
'hospital.address': [{ required: true, message: '请输入医院地址' }],
|
||||
'hospital.hospital_name': [{ required: true, message: '请选择医院名称' }],
|
||||
'department_custom_mobile':[{
|
||||
required: true, message: '请输入科室电话'
|
||||
}],
|
||||
department_custom_id: [{ required: true, message: '请选择所在科室' }],
|
||||
department_custom_name: [{ required: true, message: '请输入科室名称' }],
|
||||
doctor_title: [{ required: true, message: '请选择职称' }],
|
||||
// 'user_doctor_info.qualification_cert_num': [{ required: true, message: '请输入资格证编码' }],
|
||||
cur_doctor_expertise: [{ type: 'array', minLength: 1, required: true, message: '请选择专长' }],
|
||||
cur_doctor_expertise: [
|
||||
{ type: 'array', required: true, message: '请选择专长' },
|
||||
{
|
||||
validator: (value, cb) => {
|
||||
if (value.length>10) {
|
||||
cb("专长不能超过10项")
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
be_good_at: [{ required: true, message: '请输入擅长内容', maxLength: 1000, minLength: 2 }],
|
||||
brief_introduction: [{ required: true, message: '请输入简介', maxLength: 1000, minLength: 2 }],
|
||||
license_cert: [
|
||||
@ -827,7 +841,7 @@
|
||||
},
|
||||
{
|
||||
doctor_title: 5,
|
||||
doctor_title_name: '主任医师'
|
||||
doctor_title_name: '主治医师'
|
||||
},
|
||||
{
|
||||
doctor_title: 6,
|
||||
@ -1062,12 +1076,13 @@
|
||||
const { code, message } = await updateDoctor(modalData, modalForm.doctor_id);
|
||||
if (code == 200) {
|
||||
proxy.$notification.success('更新成功');
|
||||
modalVisible.value = false;
|
||||
}
|
||||
proxy.$loading.hide();
|
||||
}
|
||||
//done();
|
||||
getDoctorInfo(pager);
|
||||
modalVisible.value = false;
|
||||
|
||||
} else {
|
||||
console.log(valid)
|
||||
proxy.$message.error('表单校验失败');
|
||||
@ -1282,7 +1297,8 @@
|
||||
}
|
||||
});
|
||||
};
|
||||
const handleOk=()=>{
|
||||
const filterOption=(value,options)=>{
|
||||
console.log(value,options)
|
||||
}
|
||||
//上传文件
|
||||
const onChangeFile = (fileList) => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user