From fdf6ae36b740a493a46d973fe04b2c81c2c1ec4c Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Wed, 8 May 2024 15:14:06 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E9=83=A8=E5=88=86=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/admin.js | 5 +- src/utils/request.js | 48 +- .../trials-list/components/TrialForm.vue | 29 +- .../trials-list/components/activate-page.vue | 5 +- .../components/activate-project.vue | 5 +- .../trials-panel/reading/read-task/index.vue | 513 +++++++++--------- .../components/staffExternalAdd.vue | 10 +- .../trial-summary/login-log/index.vue | 14 +- 8 files changed, 325 insertions(+), 304 deletions(-) diff --git a/src/api/admin.js b/src/api/admin.js index 361ec37..7a525e8 100644 --- a/src/api/admin.js +++ b/src/api/admin.js @@ -29,11 +29,12 @@ export function getInstitutionList(typeId) { }) } -export function addUser(param) { +export function addUser(param, confirm = false) { return request({ url: `/user/addUser`, method: 'post', - data: param + data: param, + confirm }) } diff --git a/src/utils/request.js b/src/utils/request.js index c6b742f..9e9c433 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -18,7 +18,7 @@ service.interceptors.request.use( path = router && router.app && router.app._route && router.app._route.path config.headers['Content-Type'] = 'application/json;charset=UTF-8' var language = zzSessionStorage.getItem('lang') - config.headers['Accept-Language'] = language === 'en'?'en-US,en;q=0.5':'zh-CN,zh;q=0.9' + config.headers['Accept-Language'] = language === 'en' ? 'en-US,en;q=0.5' : 'zh-CN,zh;q=0.9' if (store.getters.token) { config.headers.Authorization = `Bearer ${store.getters.token}` } @@ -30,7 +30,7 @@ service.interceptors.request.use( if (store.state.user.userId !== zzSessionStorage.getItem('userId')) { window.location.href = `/login` zzSessionStorage.removeItem('lastWorkbench') - Alert(store.state.lang.language === 'en'? 'The same browser only allows one user account to be logged in at a time.' : '同一浏览器只允许同时登陆一个账户', { + Alert(store.state.lang.language === 'en' ? 'The same browser only allows one user account to be logged in at a time.' : '同一浏览器只允许同时登陆一个账户', { type: 'warning', }) } @@ -55,11 +55,11 @@ service.interceptors.response.use( isConfirm = true return Promise.resolve(res) } else if (res.IsSuccess === false) { - if (res.Code !== 5) { - MessageBox.confirm(res.ErrorMessage, { + if (res.Code !== 5 && !response.config.confirm) { + MessageBox.confirm(res.ErrorMessage, { type: 'warning', showCancelButton: false, - callback: action => {} + callback: action => { } }) } return Promise.reject(res) @@ -80,24 +80,24 @@ service.interceptors.response.use( }) } switch (status) { - case 400: message = store.state.lang.language === 'en'? 'Request error' : '请求错误'; break - case 401: message = store.state.lang.language === 'en'? 'Not authorized or login timed out. Please log in again.' : '未授权或登陆超时,请重新登录'; break + case 400: message = store.state.lang.language === 'en' ? 'Request error' : '请求错误'; break + case 401: message = store.state.lang.language === 'en' ? 'Not authorized or login timed out. Please log in again.' : '未授权或登陆超时,请重新登录'; break case 403: message = error.response.data.ErrorMessage; break - case 404: message = store.state.lang.language === 'en'? 'Request address error' : `请求地址出错`; break - case 405: message = store.state.lang.language === 'en'? 'Interface parameter error or request method inconsistency' : `接口参数传递错误,或者请求方法不一致`; break - case 408: message = store.state.lang.language === 'en'? 'Request timed out' : '请求超时'; break - case 429: message = store.state.lang.language === 'en'? 'The application service limits the traffic. Your requests are too frequent. Please try again later.' : '应用服务限流,您的请求过于频繁,请稍后再试'; break - case 500: message = store.state.lang.language === 'en'? 'Internal server error, and unable to complete the request. Software release might be in process. Please contact the administrator.' : '服务器内部错误,无法完成请求;可能正在发布中,请联系管理员处理'; break - case 501: message = store.state.lang.language === 'en'? 'Service has not been implemented.' : '服务未实现'; break - case 502: message = store.state.lang.language === 'en'? 'System is being upgraded. Please wait patiently.' : '系统正在升级,请耐心等待。'; break - case 503: message = store.state.lang.language === 'en'? 'Service is not available' : '服务不可用'; break - case 504: message = store.state.lang.language === 'en'? 'Gateway timed out' : '网关超时'; break - case 505: message = store.state.lang.language === 'en'? 'HTTP version is not supported' : 'HTTP版本不受支持'; break + case 404: message = store.state.lang.language === 'en' ? 'Request address error' : `请求地址出错`; break + case 405: message = store.state.lang.language === 'en' ? 'Interface parameter error or request method inconsistency' : `接口参数传递错误,或者请求方法不一致`; break + case 408: message = store.state.lang.language === 'en' ? 'Request timed out' : '请求超时'; break + case 429: message = store.state.lang.language === 'en' ? 'The application service limits the traffic. Your requests are too frequent. Please try again later.' : '应用服务限流,您的请求过于频繁,请稍后再试'; break + case 500: message = store.state.lang.language === 'en' ? 'Internal server error, and unable to complete the request. Software release might be in process. Please contact the administrator.' : '服务器内部错误,无法完成请求;可能正在发布中,请联系管理员处理'; break + case 501: message = store.state.lang.language === 'en' ? 'Service has not been implemented.' : '服务未实现'; break + case 502: message = store.state.lang.language === 'en' ? 'System is being upgraded. Please wait patiently.' : '系统正在升级,请耐心等待。'; break + case 503: message = store.state.lang.language === 'en' ? 'Service is not available' : '服务不可用'; break + case 504: message = store.state.lang.language === 'en' ? 'Gateway timed out' : '网关超时'; break + case 505: message = store.state.lang.language === 'en' ? 'HTTP version is not supported' : 'HTTP版本不受支持'; break default: break } if (error.response.status === 401) { if (store.getters.token) { - if(message !== ''){ + if (message !== '') { Message({ message: message, type: 'warning', @@ -112,26 +112,26 @@ service.interceptors.response.use( }) } else { Message({ - message: store.state.lang.language === 'en'? 'You are not authorized to access the interface' : '您无权访问接口', + message: store.state.lang.language === 'en' ? 'You are not authorized to access the interface' : '您无权访问接口', type: 'warning', showClose: true }) } } else { - if(message !== '' && isConfirm){ - MessageBox.confirm(message, store.state.lang.language === 'en'? 'Warning' : '警告', { + if (message !== '' && isConfirm) { + MessageBox.confirm(message, store.state.lang.language === 'en' ? 'Warning' : '警告', { type: 'warning', showCancelButton: false, - callback: action => {} + callback: action => { } }) } } } if (!window.navigator.onLine && isConfirm) { - MessageBox.confirm(store.state.lang.language === 'en'? 'Please check your network,and try again later!' : '请检查网络,稍后重试!', store.state.lang.language === 'en'? 'Warning' : '警告', { + MessageBox.confirm(store.state.lang.language === 'en' ? 'Please check your network,and try again later!' : '请检查网络,稍后重试!', store.state.lang.language === 'en' ? 'Warning' : '警告', { type: 'warning', showCancelButton: false, - callback: action => {} + callback: action => { } }) isConfirm = false } diff --git a/src/views/trials/trials-list/components/TrialForm.vue b/src/views/trials/trials-list/components/TrialForm.vue index 1ed7475..74e6a3c 100644 --- a/src/views/trials/trials-list/components/TrialForm.vue +++ b/src/views/trials/trials-list/components/TrialForm.vue @@ -154,7 +154,7 @@ type="number" clearable :max="200" - :min="0" + :min="1" /> @@ -242,6 +242,13 @@ export default { ), trigger: "blur", }, + { + pattern: /^[1-9]\d*$/, + message: this.$t( + "trials:trials-list:formRule:notDecimalsAuthorized" + ), + trigger: "blur", + }, { type: "number", min: 1, @@ -249,24 +256,6 @@ export default { message: this.$t("trials:trials-list:formRule:minMaxAuthorized"), trigger: "blur", }, - { - validator: (rule, value, callback) => { - if ( - value && - (String(value).includes(".") || - new RegExp(/\D/g).test(String(value))) - ) { - callback( - new Error( - this.$t("trials:trials-list:formRule:notDecimalsAuthorized") - ) - ); - } else { - callback(); - } - }, - trigger: "blur", - }, ], // 阅片标准 CriterionTypeList: [ @@ -284,7 +273,7 @@ export default { trigger: "blur", }, { - pattern: "^[\u4e00-\u9fa5a-zA-Z]+$", + pattern: /^[\u4e00-\u9fa5a-zA-Z]+$/, message: this.$t("trisals:trials-list:formRule:onlyEN"), trigger: "blur", }, diff --git a/src/views/trials/trials-list/components/activate-page.vue b/src/views/trials/trials-list/components/activate-page.vue index 43b4b4f..73156d1 100644 --- a/src/views/trials/trials-list/components/activate-page.vue +++ b/src/views/trials/trials-list/components/activate-page.vue @@ -210,7 +210,10 @@ export default { document.body.removeChild(eleLink); }, downloadXmlFile() { - fileDownload(this.form.code, "_Activation_Code.lic"); + fileDownload( + this.form.code, + this.data.TrialCode + "_Activation_Code.lic" + ); }, }, }; diff --git a/src/views/trials/trials-list/components/activate-project.vue b/src/views/trials/trials-list/components/activate-project.vue index bcd8cb0..6b42eba 100644 --- a/src/views/trials/trials-list/components/activate-project.vue +++ b/src/views/trials/trials-list/components/activate-project.vue @@ -318,7 +318,10 @@ export default { }, // 下载 async getCode() { - fileDownload(this.form.Authorization, "_Request_Code.req"); + fileDownload( + this.form.Authorization, + this.form.TrialCode + "_Request_Code.req" + ); }, // 上传并读取文件 uploadFile(file) { diff --git a/src/views/trials/trials-panel/reading/read-task/index.vue b/src/views/trials/trials-panel/reading/read-task/index.vue index 685eb19..79390f3 100644 --- a/src/views/trials/trials-panel/reading/read-task/index.vue +++ b/src/views/trials/trials-panel/reading/read-task/index.vue @@ -3,79 +3,89 @@ v-loading="loading" style="height: 100%; background-color: #fff" > -
{{ $t("trials:activate:ApplyMessage") }}
+{{ $t("trials:activate:ApplyMessage") }}
{{ $t("trials:activate:Message") }}
+{{ $t("trials:activate:Message") }}