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