From 216182f48e0adf624ff57f23d19a4a7b0389aac2 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Wed, 20 Aug 2025 16:38:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E7=AE=A1=E7=90=86=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E6=B7=BB=E5=8A=A0=E8=AF=BE=E9=A2=98=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/admin.js | 46 ++ .../element-ui/upload/src/index.vue | 2 +- src/main.js | 14 + src/router/index.js | 10 +- src/store/getters.js | 3 + src/store/modules/user.js | 18 +- src/views/system/hospital/components/form.vue | 145 +++-- .../system/hospital/components/groupList.vue | 289 ++++++++++ src/views/system/hospital/components/list.vue | 5 +- src/views/system/user/components/UserInfo.vue | 532 ++++++++++-------- src/views/system/user/components/roleList.vue | 212 +++++++ src/views/system/user/list/index.vue | 40 +- .../trials-layout/components/trialsNavbar.vue | 5 +- src/views/trials/trials-myinfo/index.vue | 2 +- 14 files changed, 988 insertions(+), 335 deletions(-) create mode 100644 src/views/system/hospital/components/groupList.vue create mode 100644 src/views/system/user/components/roleList.vue diff --git a/src/api/admin.js b/src/api/admin.js index 8a31009..d7f7bf7 100644 --- a/src/api/admin.js +++ b/src/api/admin.js @@ -279,6 +279,14 @@ export function batchAddInternationalization(param) { data: param }) } +// 管理端修改用户角色 +export function updateUserRoleInfo(data) { + return request({ + url: `/User/updateUserRoleInfo`, + method: 'put', + data + }) +} // 获取医院列表 export function getHIRHospitalList(param) { return request({ @@ -310,4 +318,42 @@ export function updateDefaultHospital(params) { params }) } +// 获取课题组列表-不分页 +export function getHospitalGroupList(data) { + return request({ + url: `/HospitalGroup/getHospitalGroupList`, + method: 'post', + data + }) +} +// 获取课题组列表-分页 +export function getHospitalGroupPageList(data) { + return request({ + url: `/HospitalGroup/getHospitalGroupPageList`, + method: 'post', + data + }) +} +// 新增或编辑课题组 +export function addOrUpdateHospitalGroup(data) { + return request({ + url: `/HospitalGroup/addOrUpdateHospitalGroup`, + method: 'post', + data + }) +} +// 删除课题组 +export function deleteHospitalGroup(id) { + return request({ + url: `/HospitalGroup/deleteHospitalGroup/${id}`, + method: 'delete' + }) +} +// 删除课题组 +export function getGAUserList() { + return request({ + url: `/HospitalGroup/getGAUserList`, + method: 'get' + }) +} diff --git a/src/components/element-ui/upload/src/index.vue b/src/components/element-ui/upload/src/index.vue index 7d00568..64d637d 100644 --- a/src/components/element-ui/upload/src/index.vue +++ b/src/components/element-ui/upload/src/index.vue @@ -106,7 +106,7 @@ export default { } }, mounted() { - console.log('自定义上传组件', this) + // console.log('自定义上传组件', this) }, data() { return { diff --git a/src/main.js b/src/main.js index c04eb76..df0c8ab 100644 --- a/src/main.js +++ b/src/main.js @@ -248,6 +248,20 @@ async function VueInit() { }() _vm.$forceUpdate() } + Vue.prototype.$reg = () => { + // if (localStorage.getItem('CompanyInfo')) { + // let { EmailRegexStr } = JSON.parse(localStorage.getItem('CompanyInfo')) + // if (EmailRegexStr) { + // return { EmailRegexStr } + // } + // } else if (Vue.prototype.$companyInfo) { + // let { EmailRegexStr } = Vue.prototype.$companyInfo + // if (EmailRegexStr) { + // return { EmailRegexStr } + // } + // } + return { EmailRegexStr: '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$' }; + } Vue.prototype.$path = [] var t = function (key) { // if (![Vue.prototype.toPath + '_' + key].includes(Vue.prototype.$path)) { diff --git a/src/router/index.js b/src/router/index.js index f2d54e8..ebcb086 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -221,11 +221,11 @@ export const constantRoutes = [ hidden: true, component: () => import('@/views/trials/trials-panel/setting/reading-unit/preview') }, - // { - // path: '/activate', - // component: () => import('@/views/trials/trials-list/components/activate-page.vue'), - // hidden: true - // }, + { + path: '/activate', + component: () => import('@/views/trials/trials-list/components/activate-page.vue'), + hidden: true + }, // { // path: '/audit', // name: 'audit', diff --git a/src/store/getters.js b/src/store/getters.js index e79727d..eb87704 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -3,10 +3,12 @@ const getters = { device: state => state.app.device, token: state => state.user.token, name: state => state.user.name, + userTypeShortName: state => state.user.userTypeShortName, permissions: state => state.user.permissions, tree: state => state.user.tree, userName: state => state.user.userName, userId: state => state.user.userId, + identityUserId: state => state.user.identityUserId, routes: state => state.permission.routes, asyncRoutes: state => state.permission.addRoutes, visitedViews: state => state.tagsView.visitedViews, @@ -41,6 +43,7 @@ const getters = { lastCanvasTaskId: state => state.reading.lastCanvasTaskId, imageQuality: state => state.reading.imageQuality, imageQualityIssues: state => state.reading.imageQualityIssues, + currentLoadIns: state => state.reading.currentLoadIns, language: state => state.lang.language, TotalNeedSignSystemDocCount: state => state.user.TotalNeedSignSystemDocCount, TotalNeedSignTrialDocCount: state => state.user.TotalNeedSignTrialDocCount, diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 5e66272..4d84992 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -7,14 +7,17 @@ const getDefaultState = () => { return { token: getToken(), name: '', + userTypeShortName: '', userName: '', userId: '', + identityUserId: '', avatar: '', permissions: [], tree: [], /* eslint-disable */ TotalNeedSignSystemDocCount: eval(process.env.VUE_APP_WORD_FOR_PERMISSION) ? null : 0, TotalNeedSignTrialDocCount: eval(process.env.VUE_APP_WORD_FOR_PERMISSION) ? null : 0, + IsFirstSysDocNeedSign: false, TrialStatusStr: null, isTestUser: false, roles: [] @@ -38,6 +41,9 @@ const mutations = { SET_NAME: (state, name) => { state.name = name }, + SET_USERTYPESHORTNAME: (state, userTypeShortName) => { + state.userTypeShortName = userTypeShortName + }, SET_USERNAME: (state, name) => { state.userName = name }, @@ -53,9 +59,16 @@ const mutations = { SET_USERID: (state, id) => { state.userId = id }, + SET_IDENTITYUSERID: (state, id) => { + state.identityUserId = id + }, SET_ISTESTUSER: (state, isTestUser) => { state.isTestUser = eval(isTestUser) }, + SET_IS_FIRST_SYSTEM_DOC_SIGN: (state, IsFirstSysDocNeedSign) => { + zzSessionStorage.setItem('IsFirstSysDocNeedSign', IsFirstSysDocNeedSign) + state.IsFirstSysDocNeedSign = IsFirstSysDocNeedSign + }, SET_NEED_SIGN_SYSTEM_DOC_COUNT: (state, TotalNeedSignSystemDocCount) => { /* eslint-disable */ if (eval(process.env.VUE_APP_WORD_FOR_PERMISSION) && !state.isTestUser) { @@ -219,6 +232,9 @@ const actions = { setPermissions({ commit }, permissions) { commit('SET_PERMISSIONS', permissions) }, + setIsFirstSysDocNeedSign({ commit }, IsFirstSysDocNeedSign) { + commit('SET_IS_FIRST_SYSTEM_DOC_SIGN', IsFirstSysDocNeedSign) + }, setTotalNeedSignSystemDocCount({ commit }, TotalNeedSignSystemDocCount) { commit('SET_NEED_SIGN_SYSTEM_DOC_COUNT', TotalNeedSignSystemDocCount) }, @@ -255,7 +271,7 @@ const actions = { return user }, updateInfo({ commit, state }) { - commit('SET_NAME', zzSessionStorage.getItem('realName')) + commit('SET_NAME', zzSessionStorage.getItem('Name')) }, // user logout async logout({ commit, state }) { diff --git a/src/views/system/hospital/components/form.vue b/src/views/system/hospital/components/form.vue index 82d3f4f..bc23ecb 100644 --- a/src/views/system/hospital/components/form.vue +++ b/src/views/system/hospital/components/form.vue @@ -1,69 +1,78 @@ - - - - - - - - - + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ $t("system:hospital:save") }} + + + + {{ $t("system:hospital:save") }} + {{ + $t("common:button:cancel") }} + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - {{ $t("system:hospital:save") }} - - - - {{ $t("system:hospital:save") }} - {{ - $t("common:button:cancel") }} - - + \ No newline at end of file diff --git a/src/views/system/hospital/components/list.vue b/src/views/system/hospital/components/list.vue index 9007912..17cafae 100644 --- a/src/views/system/hospital/components/list.vue +++ b/src/views/system/hospital/components/list.vue @@ -84,10 +84,9 @@ @pagination="getList" /> - + -