diff --git a/frontend/src/renderer/src/assets/header/closepage.png b/frontend/src/renderer/src/assets/header/closepage.png new file mode 100644 index 00000000..7db78772 Binary files /dev/null and b/frontend/src/renderer/src/assets/header/closepage.png differ diff --git a/frontend/src/renderer/src/assets/license/tab1.png b/frontend/src/renderer/src/assets/license/tab1.png index f1c7abf8..49241d6b 100644 Binary files a/frontend/src/renderer/src/assets/license/tab1.png and b/frontend/src/renderer/src/assets/license/tab1.png differ diff --git a/frontend/src/renderer/src/assets/license/tab1_1.png b/frontend/src/renderer/src/assets/license/tab1_1.png index 4794e199..0a4e33bc 100644 Binary files a/frontend/src/renderer/src/assets/license/tab1_1.png and b/frontend/src/renderer/src/assets/license/tab1_1.png differ diff --git a/frontend/src/renderer/src/assets/license/tab2.png b/frontend/src/renderer/src/assets/license/tab2.png index 476287d6..027e018a 100644 Binary files a/frontend/src/renderer/src/assets/license/tab2.png and b/frontend/src/renderer/src/assets/license/tab2.png differ diff --git a/frontend/src/renderer/src/assets/license/tab2_1.png b/frontend/src/renderer/src/assets/license/tab2_1.png index 2cdf6044..9bdabe19 100644 Binary files a/frontend/src/renderer/src/assets/license/tab2_1.png and b/frontend/src/renderer/src/assets/license/tab2_1.png differ diff --git a/frontend/src/renderer/src/assets/license/upload.png b/frontend/src/renderer/src/assets/license/upload.png index 9831e284..8291fc27 100644 Binary files a/frontend/src/renderer/src/assets/license/upload.png and b/frontend/src/renderer/src/assets/license/upload.png differ diff --git a/frontend/src/renderer/src/views/Dashboard.vue b/frontend/src/renderer/src/views/Dashboard.vue index 6d66bc4f..4102c4c6 100644 --- a/frontend/src/renderer/src/views/Dashboard.vue +++ b/frontend/src/renderer/src/views/Dashboard.vue @@ -17,7 +17,7 @@
- 新建患者档案 + 新建患者档案
@@ -40,7 +40,8 @@ @@ -222,6 +223,22 @@ :archiveType="false" :selectedPatient="selectedPatient" @closePatientProfile="closePatientProfile"/> +
+
+
+
{{ tipTitle }}
+ +
+
{{ tipValue }}
+
+
取消
+ 确定 +
+
+ 确定 +
+
+
@@ -236,11 +253,17 @@ import PatientCreate from '@/views/PatientCreate.vue' import Detection from '@/views/Detection.vue' import PatientProfile from '@/views/PatientProfile.vue' const router = useRouter() +const isTip = ref(false) // 显示提示框 + const authStore = useAuthStore() const isDetection = ref(false) // 显示检查页面 const isPatientProfile =ref(false) const patienttype = ref('add') const patienttotal = ref(0) +const tipValue = ref('确定删除该条患者信息吗?') // 提示框内容 +const tipTitle =ref('提示') // 提示框标题 +const tipType = ref('删除') // 提示框类型 +const deleteId = ref('') // 响应式数据 const activeNav = ref('detection') const searchKeyword = ref('') @@ -269,6 +292,28 @@ const patientForm = ref({ email: '' }) const calculatedAge = ref('') +function delRowClick(id){ + tipType.value = '删除' + tipTitle.value = '删除提示' + tipValue.value = '确定删除该条患者信息吗?' + deleteId.value = id + isTip.value = true +} + +function tipConfirm(){ + delClick(deleteId.value) + isTip.value = false +} +function tipCancel(){ + isTip.value = false +} +function tipLogin(){ + tipType.value = '退出登录' + tipTitle.value = '提出提示' + tipValue.value = '确定要退出登录吗?' + handleLogout() + isTip.value = false +} // 实现年龄计算方法 calculateAgeres const calculateAgeres = (date) => { if (!date) return '0' @@ -320,29 +365,23 @@ const createNewPatient = async () => { return } const msg ='['+ (response && response.data && response.data.message)+'],软件使用授权不正确,您不能创建新患者!' - await ElMessageBox.alert(msg, '软件授权', { - confirmButtonText: '确定', - type: 'warning' - }) + // await ElMessageBox.alert(msg, '软件授权', { + // confirmButtonText: '确定', + // type: 'warning' + // }) + tipType.value = '授权' + tipTitle.value = '软件授权' + tipValue.value = msg + isTip.value = true } catch (error) { - await ElMessageBox.alert('无法获取授权信息,请检查后端服务是否启动或授权状态是否有效。', '错误', { - confirmButtonText: '确定', - type: 'error' - }) - } -} - -const handleUserCommand = (command) => { - switch (command) { - case 'profile': - // 个人信息 - break - case 'settings': - // 系统设置 - break - case 'logout': - handleLogout() - break + tipType.value = '授权' + tipTitle.value = '错误' + tipValue.value = '无法获取授权信息,请检查后端服务是否启动或授权状态是否有效。' + isTip.value = true + // await ElMessageBox.alert('无法获取授权信息,请检查后端服务是否启动或授权状态是否有效。', '错误', { + // confirmButtonText: '确定', + // type: 'error' + // }) } } @@ -442,36 +481,27 @@ onMounted(() => { // 加载患者列表 loadPatients() }) -function delClick(id) { - ElMessageBox.confirm('确定删除该条患者信息吗?', '删除提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning', - }) - .then(async () => { - try { - const response = await patientAPI.deletePatient(id); - if (response.success) { - ElMessage({ - type: 'success', - message: '删除成功', - }); - loadPatients() - } else { - ElMessage({ - type: 'error', - message: response.message || '删除失败', - }); - } - } catch (error) { - ElMessage({ - type: 'error', - message: '删除患者信息失败,请稍后重试', - }); - } - }) - .catch(() => { +async function delClick(id) { + try { + const response = await patientAPI.deletePatient(id); + if (response.success) { + ElMessage({ + type: 'success', + message: '删除成功', + }); + loadPatients() + } else { + ElMessage({ + type: 'error', + message: response.message || '删除失败', + }); + } + } catch (error) { + ElMessage({ + type: 'error', + message: '删除患者信息失败,请稍后重试', }); + } } const isCloseCreat = ref(false) function closecreatbox(e,e2){ @@ -1308,4 +1338,149 @@ function editClick(){ display: flex; justify-content: space-between; } + + + +.homepop-up-mask.pop-up-mask{ + position: fixed; + z-index: 199; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + background: rgba(0, 0, 0, 0.4); +} + +.homepop-up-mask .pop-up-tip-container { + width: 500px; + height:220px; + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + margin: auto; + border-radius: 10px; + background: linear-gradient(135deg, rgba(53, 67, 90, 1) 0%, rgba(53, 67, 90, 1) 0%, rgba(62, 79, 105, 1) 99%, rgba(62, 79, 105, 1) 100%); +} +.homepop-up-mask .pop-up-camera-container{ + width: 608px; + height:495px; + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + margin: auto; + background: linear-gradient(135deg, rgb(53, 67, 90) 0%, rgb(53, 67, 90) 0%, rgb(62, 79, 105) 99%, rgb(62, 79, 105) 100%); + border-radius: 10px; + box-shadow: rgb(17, 24, 33) 0px 0px 10px; +} +.homepop-up-mask .pop-up-camera-header{ + width: 100%; + height: 60px; + display: flex; + align-items: center; + justify-content: space-between; + box-sizing: border-box; + padding: 0 40px; + font-family: 'Noto Sans SC'; + font-weight: 700; + font-style: normal; + font-size: 20px; + color: #FFFFFF; + text-align: left; + border-radius:10px 10px 0 0; +} + +.homepop-up-mask .pop-up-tip-header{ + width: 100%; + height: 60px; + display: flex; + align-items: center; + justify-content: space-between; + box-sizing: border-box; + padding: 0 30px; + font-family: 'Noto Sans SC'; + font-weight: 700; + font-style: normal; + font-size: 20px; + color: #FFFFFF; + text-align: left; +} +.homepop-up-mask .tipconfirmbutton-box{ + width:100%; + display:flex; + align-items: center; + justify-content: flex-end; + padding: 0 30px; + padding-top: 10px; +} +.homepop-up-mask .tipconfirmbutton{ + font-weight: 400; + font-style: normal; + font-size: 14px; + color: rgb(255, 255, 255); + background:#0b94d5; + border:1px solid #0b94d5; + width: 80px; + height: 40px; +} +.homepop-up-mask .tipconfirmbutton:hover{ + background:#14aaff; + border:1px solid #14aaff; +} + +.homepop-up-mask .pop-up-tip-text{ + width:100%; + font-weight: 400; + font-style: normal; + font-size: 16px; + color: #FFFFFF; + text-align: left; + height: 80px; + box-sizing: border-box; + padding-left: 30px; + padding-right: 30px; + padding-top:20px ; + /* padding:20px 10px 30px; */ +} + +.homepop-up-mask .pop-up-tip-cancelbutton{ + width: 80px; + height: 40px; + background-color: #597194; + border-radius: 4px; + color: rgba(255, 255, 255, 0.6); + font-weight: 400; + font-style: normal; + font-size: 16px; + display: flex; + align-items: center; + justify-content: center; + margin-right: 20px; + cursor: pointer; +} +.homepop-up-mask .pop-up-tip-cancelbutton:hover{ + background-color: #14aaff; + color: #fff; +} +.patientprofile-container-info .el-select__placeholder{ + color: #fff; +} +.tabledel{ + font-family: 'Noto Sans SC'; + font-weight: 400; + font-style: normal; + font-size: 16px; + color: #FF3300; + text-align: center; + cursor: pointer; +} +.current-row .unprocessed-status{ + color: #e9775b; +} +.current-row .processed-status{ + color: rgb(59, 242, 198); +} diff --git a/frontend/src/renderer/src/views/Detection.vue b/frontend/src/renderer/src/views/Detection.vue index 02842cfa..16d0ec41 100644 --- a/frontend/src/renderer/src/views/Detection.vue +++ b/frontend/src/renderer/src/views/Detection.vue @@ -364,7 +364,7 @@
提示
- +
本次检测未截图或录像操作,不予存档记录!
@@ -387,7 +387,7 @@
相机参数设置
- +
diff --git a/frontend/src/renderer/src/views/DiagnosticMessage.vue b/frontend/src/renderer/src/views/DiagnosticMessage.vue index 78b0d6df..e3c9c144 100644 --- a/frontend/src/renderer/src/views/DiagnosticMessage.vue +++ b/frontend/src/renderer/src/views/DiagnosticMessage.vue @@ -4,7 +4,7 @@
诊断信息
- +
diff --git a/frontend/src/renderer/src/views/GenerateReport.vue b/frontend/src/renderer/src/views/GenerateReport.vue index d64268fe..c4a13c5e 100644 --- a/frontend/src/renderer/src/views/GenerateReport.vue +++ b/frontend/src/renderer/src/views/GenerateReport.vue @@ -6,7 +6,7 @@
取消
确定
- +
diff --git a/frontend/src/renderer/src/views/Header.vue b/frontend/src/renderer/src/views/Header.vue index 68587443..e382cdbc 100644 --- a/frontend/src/renderer/src/views/Header.vue +++ b/frontend/src/renderer/src/views/Header.vue @@ -21,7 +21,7 @@ Avatar {{ userInfo.name }}
- 退出登录 + 退出登录
@@ -44,10 +44,20 @@
- +
+
+
+
退出提示
+ +
+
确定要退出登录吗?
+ +
+
取消
+ 确定 +
+
+
@@ -59,7 +69,7 @@ import api from '../services/api.js' import License from '@/views/License.vue' const isLicense = ref(false) - + const isTip = ref(false) // 显示提示框 const router = useRouter() const authStore = useAuthStore() @@ -103,12 +113,6 @@ } const handleLogout = async () => { try { - await ElMessageBox.confirm('确定要退出登录吗?', '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }) - // 调用认证状态管理的logout方法清除所有认证信息 await authStore.logout() ElMessage.success('已退出登录') @@ -178,6 +182,14 @@ // router.push('/license') isLicense.value = true } + +function tipCancel(){ + isTip.value = false +} +function tipLogin(){ + handleLogout() + isTip.value = false +} diff --git a/frontend/src/renderer/src/views/License.vue b/frontend/src/renderer/src/views/License.vue index 90980cd6..808923bb 100644 --- a/frontend/src/renderer/src/views/License.vue +++ b/frontend/src/renderer/src/views/License.vue @@ -2,7 +2,7 @@
授权中心
- +
@@ -86,53 +86,7 @@ @click="activatePackage" :loading="activating">激活授权文件
-
- - -
@@ -277,7 +231,7 @@ const activatePackage = async () => { left: 0; bottom: 0; margin: auto; - background: #465367; + background: #394860; border-radius: 10px; box-shadow: 0px 0px 16px rgba(17, 24, 33, 1); color: #fff; @@ -369,9 +323,11 @@ const activatePackage = async () => { color: rgba(255, 255, 255, 0.6); } .tab-content .formreturnCancel:hover{ - background: #425b89; - color: #266fff; - border: 1px solid #266fff; + background-color: #14aaff; + color: #fff; + /* background: #425b89; + color: #266fff; */ + border: 1px solid #14aaff; } .tab-content .formsaveCancel{ width: 80px; @@ -385,8 +341,10 @@ const activatePackage = async () => { } .tab-content .formsaveCancel:hover{ - background: #5189ff; - border: 1px solid #5189ff; + /* background: #5189ff; + border: 1px solid #5189ff; */ + background:#14aaff; + border:1px solid #14aaff; } .license-container .form-container-header{ diff --git a/frontend/src/renderer/src/views/PatientCreate.vue b/frontend/src/renderer/src/views/PatientCreate.vue index f2f69771..6809700f 100644 --- a/frontend/src/renderer/src/views/PatientCreate.vue +++ b/frontend/src/renderer/src/views/PatientCreate.vue @@ -4,7 +4,7 @@
{{ patienttitle }}
- +
@@ -409,7 +409,7 @@ const handleSave = async () => { left: 0; bottom: 0; margin: auto; - background: #465367; + background: linear-gradient(135deg, rgba(53, 67, 90, 1) 0%, rgba(53, 67, 90, 1) 0%, rgba(62, 79, 105, 1) 99%, rgba(62, 79, 105, 1) 100%); border-radius: 10px; box-shadow: 0px 0px 16px rgba(17, 24, 33, 1); } @@ -651,8 +651,8 @@ const handleSave = async () => { .formreturnCancel{ width: 80px; height: 40px; - background: rgba(89, 113, 148, 1); - border: 1px solid rgba(89, 113, 148, 1); + background: #597194; + border: 1px solid #597194; font-family: 'Noto Sans SC'; font-weight: 400; font-style: normal; @@ -660,9 +660,9 @@ const handleSave = async () => { color: rgba(255, 255, 255, 0.6); } .formreturnCancel:hover{ - background: #425b89; - color: #266fff; - border: 1px solid #266fff; + background-color: #14aaff; + color: #fff; + border: 1px solid #14aaff; } .formsaveCancel{ width: 80px; @@ -676,8 +676,8 @@ const handleSave = async () => { } .formsaveCancel:hover{ - background: #5189ff; - border: 1px solid #5189ff; + background: #14aaff; + border: 1px solid #14aaff; } .el-date-editor.el-input{ diff --git a/frontend/src/renderer/src/views/PatientProfile.vue b/frontend/src/renderer/src/views/PatientProfile.vue index 9dd8fdbb..b6cd6c5f 100644 --- a/frontend/src/renderer/src/views/PatientProfile.vue +++ b/frontend/src/renderer/src/views/PatientProfile.vue @@ -8,7 +8,7 @@
{{ calculateAge(selectedPatient.birth_date) }}岁
- +
@@ -293,7 +293,7 @@
提示
- +
{{ tipValue }}
diff --git a/frontend/src/renderer/src/views/PopUpOnlyReport.vue b/frontend/src/renderer/src/views/PopUpOnlyReport.vue index 7192bfea..a7b3256e 100644 --- a/frontend/src/renderer/src/views/PopUpOnlyReport.vue +++ b/frontend/src/renderer/src/views/PopUpOnlyReport.vue @@ -130,6 +130,7 @@