From 9de716d073cba242968407c2d6df879f136c0b8d Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Thu, 20 Jul 2023 13:50:40 +0800 Subject: [PATCH] =?UTF-8?q?toekn=20=E8=BF=87=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.js | 7 ++--- src/store/permission.js | 4 +++ src/store/userInfo.js | 14 +++++---- src/utils/request.js | 18 +++++------- src/views/admin/sys-post/index.vue | 5 +++- src/views/doctor/doctor-list/index.vue | 40 ++++++++++++++++++-------- 6 files changed, 55 insertions(+), 33 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index 7777783..824bd6c 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -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); }); diff --git a/src/store/permission.js b/src/store/permission.js index a6b8805..20a98f9 100644 --- a/src/store/permission.js +++ b/src/store/permission.js @@ -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(){ diff --git a/src/store/userInfo.js b/src/store/userInfo.js index 968c5f2..c346b33 100644 --- a/src/store/userInfo.js +++ b/src/store/userInfo.js @@ -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(); } } diff --git a/src/utils/request.js b/src/utils/request.js index eb06f9a..7a0fda9 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -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); } diff --git a/src/views/admin/sys-post/index.vue b/src/views/admin/sys-post/index.vue index eb7b20c..e1b595d 100644 --- a/src/views/admin/sys-post/index.vue +++ b/src/views/admin/sys-post/index.vue @@ -34,6 +34,9 @@ @page-change="handlePageChange" @page-size-change="handlepage_sizeChange" > + + {{(rowIndex+1)+(pager.page-1)*10}} + {{ parseTime(record.createdAt) }} @@ -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' }, diff --git a/src/views/doctor/doctor-list/index.vue b/src/views/doctor/doctor-list/index.vue index 69c03f7..dae2b8e 100644 --- a/src/views/doctor/doctor-list/index.vue +++ b/src/views/doctor/doctor-list/index.vue @@ -181,22 +181,22 @@ - - - - - - + + :label="item.hospital_name+'('+item.province+item.city+item.county+')'"> + + + + + @@ -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) => {