Merge remote-tracking branch 'origin/dev-2.45hjf' into dev-h2.45

This commit is contained in:
huxuejian 2026-05-27 14:29:11 +08:00
commit 4dc96b2337
55 changed files with 1656 additions and 1056 deletions

View File

@ -344,19 +344,19 @@
} }
.text-sm { .text-sm {
font-size: 24rpx; font-size: 26rpx;
} }
.text-base { .text-base {
font-size: 28rpx; font-size: 30rpx;
} }
.text-lg { .text-lg {
font-size: 32rpx; font-size: 34rpx;
} }
.text-xl { .text-xl {
font-size: 36rpx; font-size: 38rpx;
} }
.leading-normal { .leading-normal {

View File

@ -21,11 +21,11 @@
display: flex; display: flex;
align-items: center; align-items: center;
text-align: right; text-align: right;
font-size: 28rpx; font-size: 30rpx;
} }
.form__placeholder { .form__placeholder {
font-size: 28rpx; font-size: 30rpx;
color: #666; color: #666;
} }
@ -49,7 +49,7 @@
align-items: center; align-items: center;
padding: 24rpx 30rpx; padding: 24rpx 30rpx;
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
font-size: 28rpx; font-size: 30rpx;
} }
.form-row__label { .form-row__label {

View File

@ -84,13 +84,13 @@ function open() {
gap: 12rpx; gap: 12rpx;
} }
.label { .label {
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
font-weight: 700; font-weight: 700;
} }
.required { .required {
color: #ff4d4f; color: #ff4d4f;
font-size: 28rpx; font-size: 30rpx;
} }
.right { .right {
display: flex; display: flex;
@ -100,7 +100,7 @@ function open() {
justify-content: flex-end; justify-content: flex-end;
} }
.value { .value {
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
max-width: 440rpx; max-width: 440rpx;
overflow: hidden; overflow: hidden;

View File

@ -40,13 +40,23 @@ const files = computed(() => {
if (Array.isArray(v)) { if (Array.isArray(v)) {
return v return v
.map((i) => { .map((i) => {
if (typeof i === 'string') return { url: normalizeFileUrl(i) }; if (typeof i === 'string') return { url: normalizeFileUrl(i), name: getFileNameFromUrl(i) };
if (i && typeof i === 'object' && i.url) return { url: normalizeFileUrl(String(i.url)) }; if (i && typeof i === 'object' && i.url) {
const url = normalizeFileUrl(String(i.url));
return {
...i,
url,
name: i.name || i.fileName || getFileNameFromUrl(url),
};
}
return null; return null;
}) })
.filter(Boolean); .filter(Boolean);
} }
if (typeof v === 'string' && v) return [{ url: normalizeFileUrl(v) }]; if (typeof v === 'string' && v) {
const url = normalizeFileUrl(v);
return [{ url, name: getFileNameFromUrl(url) }];
}
return []; return [];
}); });
@ -74,7 +84,21 @@ async function add() {
} }
const url = await chooseAndUploadImage({ count: 1 }); const url = await chooseAndUploadImage({ count: 1 });
if (!url) return; if (!url) return;
emitValue([...files.value, { url }]); emitValue([...files.value, { url, name: getFileNameFromUrl(url) }]);
}
function getFileNameFromUrl(url) {
const cleanUrl = String(url || '').split('?')[0].split('#')[0];
const rawName = cleanUrl.split('/').pop() || '';
if (!rawName) return '';
let fileName = rawName;
try {
fileName = decodeURIComponent(rawName);
} catch (error) {
fileName = rawName;
}
return fileName.replace(/^\d{10,}[-_]/, '');
} }
</script> </script>
@ -88,7 +112,7 @@ async function add() {
} }
.files-label { .files-label {
font-size: 28rpx; font-size: 30rpx;
line-height: 42rpx; line-height: 42rpx;
} }
@ -124,7 +148,7 @@ async function add() {
background: rgba(0, 0, 0, 0.55); background: rgba(0, 0, 0, 0.55);
color: #fff; color: #fff;
border-radius: 18rpx; border-radius: 18rpx;
font-size: 28rpx; font-size: 30rpx;
} }
.add { .add {
@ -139,7 +163,7 @@ async function add() {
} }
.plus { .plus {
font-size: 56rpx; font-size: 58rpx;
line-height: 56rpx; line-height: 56rpx;
} }
</style> </style>

View File

@ -68,7 +68,7 @@ function change(e) {
.form-input { .form-input {
flex-grow: 1; flex-grow: 1;
font-size: 28rpx; font-size: 30rpx;
} }
.appendText { .appendText {

View File

@ -126,7 +126,7 @@ function onOtherInput(e) {
} }
.label { .label {
font-size: 28rpx; font-size: 30rpx;
line-height: 42rpx; line-height: 42rpx;
} }
@ -142,7 +142,7 @@ function onOtherInput(e) {
padding: 12rpx 20rpx; padding: 12rpx 20rpx;
border: 1px solid #ddd; border: 1px solid #ddd;
border-radius: 8rpx; border-radius: 8rpx;
font-size: 26rpx; font-size: 28rpx;
text-align: center; text-align: center;
color: #333; color: #333;
background: #fff; background: #fff;
@ -160,7 +160,7 @@ function onOtherInput(e) {
.other-input { .other-input {
width: 100%; width: 100%;
font-size: 28rpx; font-size: 30rpx;
padding: 18rpx 20rpx; padding: 18rpx 20rpx;
border: 1px solid #eee; border: 1px solid #eee;
border-radius: 8rpx; border-radius: 8rpx;

View File

@ -113,13 +113,13 @@ function remove(idx) {
gap: 12rpx; gap: 12rpx;
} }
.label { .label {
font-size: 28rpx; font-size: 30rpx;
font-weight: 700; font-weight: 700;
color: #111827; color: #111827;
} }
.required { .required {
color: #ff4d4f; color: #ff4d4f;
font-size: 28rpx; font-size: 30rpx;
} }
.list { .list {
margin-top: 20rpx; margin-top: 20rpx;
@ -140,14 +140,14 @@ function remove(idx) {
min-width: 0; min-width: 0;
} }
.item-title { .item-title {
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
font-weight: 600; font-weight: 600;
word-break: break-all; word-break: break-all;
} }
.item-sub { .item-sub {
margin-top: 12rpx; margin-top: 12rpx;
font-size: 26rpx; font-size: 28rpx;
color: #6b7280; color: #6b7280;
white-space: pre-wrap; white-space: pre-wrap;
word-break: break-all; word-break: break-all;
@ -160,7 +160,7 @@ function remove(idx) {
padding-top: 4rpx; padding-top: 4rpx;
} }
.text-action { .text-action {
font-size: 26rpx; font-size: 28rpx;
line-height: 1; line-height: 1;
} }
.text-action.edit { .text-action.edit {
@ -171,7 +171,7 @@ function remove(idx) {
} }
.empty { .empty {
margin-top: 20rpx; margin-top: 20rpx;
font-size: 26rpx; font-size: 28rpx;
color: #9aa0a6; color: #9aa0a6;
} }
</style> </style>

View File

@ -79,12 +79,12 @@ function onInput(e, key) {
.num { .num {
width: 80rpx; width: 80rpx;
text-align: right; text-align: right;
font-size: 28rpx; font-size: 30rpx;
border-bottom: 1px solid #888; border-bottom: 1px solid #888;
} }
.unit { .unit {
font-size: 26rpx; font-size: 28rpx;
color: #333; color: #333;
} }
</style> </style>

View File

@ -72,7 +72,7 @@ function onPick(e) {
.input { .input {
flex: 1; flex: 1;
text-align: right; text-align: right;
font-size: 28rpx; font-size: 30rpx;
} }
.relation { .relation {
@ -83,7 +83,7 @@ function onPick(e) {
min-width: 180rpx; min-width: 180rpx;
border-left: 1px solid #eee; border-left: 1px solid #eee;
padding-left: 16rpx; padding-left: 16rpx;
font-size: 28rpx; font-size: 30rpx;
} }
.arrow { .arrow {

View File

@ -112,7 +112,7 @@ function onOtherInput(e) {
.other-input { .other-input {
width: 100%; width: 100%;
font-size: 28rpx; font-size: 30rpx;
padding: 18rpx 20rpx; padding: 18rpx 20rpx;
border: 1px solid #eee; border: 1px solid #eee;
border-radius: 8rpx; border-radius: 8rpx;

View File

@ -99,12 +99,12 @@ function change(e) {
.textarea-row { .textarea-row {
padding: 24rpx 30rpx; padding: 24rpx 30rpx;
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
font-size: 28rpx; font-size: 30rpx;
} }
.form-textarea { .form-textarea {
width: 100%; width: 100%;
font-size: 28rpx; font-size: 30rpx;
padding: 20rpx; padding: 20rpx;
border-radius: 8rpx; border-radius: 8rpx;
box-sizing: border-box; box-sizing: border-box;
@ -118,6 +118,6 @@ function change(e) {
padding-top: 20rpx; padding-top: 20rpx;
text-align: right; text-align: right;
color: #666; color: #666;
font-size: 24rpx; font-size: 26rpx;
} }
</style> </style>

View File

@ -60,7 +60,7 @@ function handleSave() {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
border-radius: 12rpx; border-radius: 12rpx;
font-size: 28rpx; font-size: 30rpx;
} }
.save-btn { .save-btn {

View File

@ -367,7 +367,7 @@ const getRequiredFields = () => {
} }
.item-label { .item-label {
font-size: 28rpx; font-size: 30rpx;
color: #333333; color: #333333;
margin-bottom: 16rpx; margin-bottom: 16rpx;
} }
@ -379,7 +379,7 @@ const getRequiredFields = () => {
padding: 0 24rpx; padding: 0 24rpx;
background-color: #f8f9fa; background-color: #f8f9fa;
border-radius: 8rpx; border-radius: 8rpx;
font-size: 28rpx; font-size: 30rpx;
color: #333333; color: #333333;
&[disabled] { &[disabled] {
@ -399,7 +399,7 @@ const getRequiredFields = () => {
padding: 20rpx 24rpx; padding: 20rpx 24rpx;
background-color: #f8f9fa; background-color: #f8f9fa;
border-radius: 8rpx; border-radius: 8rpx;
font-size: 28rpx; font-size: 30rpx;
color: #333333; color: #333333;
height: 100px; height: 100px;
&[disabled] { &[disabled] {
@ -416,7 +416,7 @@ const getRequiredFields = () => {
.tips-text { .tips-text {
display: block; display: block;
font-size: 24rpx; font-size: 26rpx;
color: #666666; color: #666666;
line-height: 1.6; line-height: 1.6;
margin-bottom: 8rpx; margin-bottom: 8rpx;
@ -450,7 +450,7 @@ const getRequiredFields = () => {
border-radius: 44rpx; border-radius: 44rpx;
.btn-text { .btn-text {
font-size: 32rpx; font-size: 34rpx;
font-weight: 500; font-weight: 500;
} }
} }

View File

@ -1,4 +1,4 @@
<template> <template>
<view class="page"> <view class="page">
<scroll-view <scroll-view
scroll-y scroll-y
@ -985,7 +985,7 @@ const saveAddGroup = async () => {
} }
.name { .name {
font-size: 36rpx; font-size: 38rpx;
font-weight: 600; font-weight: 600;
color: #1f1f1f; color: #1f1f1f;
max-width: 440rpx; max-width: 440rpx;
@ -995,13 +995,13 @@ const saveAddGroup = async () => {
} }
.meta { .meta {
font-size: 26rpx; font-size: 28rpx;
color: #666; color: #666;
} }
.sub-line { .sub-line {
margin-top: 12rpx; margin-top: 12rpx;
font-size: 24rpx; font-size: 26rpx;
color: #666; color: #666;
} }
@ -1012,7 +1012,7 @@ const saveAddGroup = async () => {
.id-row { .id-row {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 24rpx; font-size: 26rpx;
color: #666; color: #666;
line-height: 36rpx; line-height: 36rpx;
} }
@ -1033,7 +1033,7 @@ const saveAddGroup = async () => {
} }
.create-text { .create-text {
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
} }
@ -1080,7 +1080,7 @@ const saveAddGroup = async () => {
} }
.input-label { .input-label {
font-size: 30rpx; font-size: 32rpx;
color: #666; color: #666;
} }
@ -1100,7 +1100,7 @@ const saveAddGroup = async () => {
} }
.phone-text { .phone-text {
font-size: 32rpx; font-size: 34rpx;
color: #0877F1; color: #0877F1;
font-weight: 500; font-weight: 500;
} }
@ -1114,12 +1114,12 @@ const saveAddGroup = async () => {
} }
.placeholder { .placeholder {
font-size: 28rpx; font-size: 30rpx;
color: #999; color: #999;
} }
.note-content { .note-content {
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
line-height: 1.5; line-height: 1.5;
word-break: break-all; word-break: break-all;
@ -1137,7 +1137,7 @@ const saveAddGroup = async () => {
padding: 0 20rpx; padding: 0 20rpx;
border: 2rpx solid #0877F1; border: 2rpx solid #0877F1;
border-radius: 24rpx; border-radius: 24rpx;
font-size: 24rpx; font-size: 26rpx;
color: #0877F1; color: #0877F1;
box-sizing: border-box; box-sizing: border-box;
} }
@ -1166,7 +1166,7 @@ const saveAddGroup = async () => {
text-align: center; text-align: center;
height: 88rpx; height: 88rpx;
line-height: 88rpx; line-height: 88rpx;
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
position: relative; position: relative;
} }
@ -1213,7 +1213,7 @@ const saveAddGroup = async () => {
.empty-text { .empty-text {
margin-top: 20rpx; margin-top: 20rpx;
font-size: 26rpx; font-size: 28rpx;
color: #9aa0a6; color: #9aa0a6;
} }
@ -1237,7 +1237,7 @@ const saveAddGroup = async () => {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
gap: 16rpx; gap: 16rpx;
font-size: 30rpx; font-size: 32rpx;
} }
.bind-text { .bind-text {
@ -1253,7 +1253,7 @@ const saveAddGroup = async () => {
} }
.modal-title { .modal-title {
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
text-align: center; text-align: center;
padding: 28rpx 24rpx; padding: 28rpx 24rpx;
@ -1271,7 +1271,7 @@ const saveAddGroup = async () => {
border: 2rpx solid #e6e6e6; border: 2rpx solid #e6e6e6;
border-radius: 8rpx; border-radius: 8rpx;
padding: 0 20rpx; padding: 0 20rpx;
font-size: 28rpx; font-size: 30rpx;
box-sizing: border-box; box-sizing: border-box;
} }
@ -1287,7 +1287,7 @@ const saveAddGroup = async () => {
line-height: 80rpx; line-height: 80rpx;
text-align: center; text-align: center;
border-radius: 8rpx; border-radius: 8rpx;
font-size: 28rpx; font-size: 30rpx;
} }
.modal-btn.cancel { .modal-btn.cancel {
@ -1320,7 +1320,7 @@ const saveAddGroup = async () => {
.sheet-title { .sheet-title {
flex: 1; flex: 1;
text-align: center; text-align: center;
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
color: #333; color: #333;
} }
@ -1340,7 +1340,7 @@ const saveAddGroup = async () => {
.sheet-link { .sheet-link {
min-width: 120rpx; min-width: 120rpx;
text-align: right; text-align: right;
font-size: 28rpx; font-size: 30rpx;
color: #0877F1; color: #0877F1;
} }
@ -1354,14 +1354,14 @@ const saveAddGroup = async () => {
border: 2rpx solid #e6e6e6; border: 2rpx solid #e6e6e6;
border-radius: 8rpx; border-radius: 8rpx;
padding: 20rpx; padding: 20rpx;
font-size: 28rpx; font-size: 30rpx;
box-sizing: border-box; box-sizing: border-box;
} }
.counter { .counter {
text-align: right; text-align: right;
margin-top: 16rpx; margin-top: 16rpx;
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
} }
@ -1379,7 +1379,7 @@ const saveAddGroup = async () => {
.group-name { .group-name {
margin-left: 20rpx; margin-left: 20rpx;
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
} }
@ -1393,7 +1393,7 @@ const saveAddGroup = async () => {
background: #0877F1; background: #0877F1;
color: #fff; color: #fff;
border-radius: 8rpx; border-radius: 8rpx;
font-size: 30rpx; font-size: 32rpx;
line-height: 88rpx; line-height: 88rpx;
} }
</style> </style>

View File

@ -388,7 +388,7 @@ watch(() => props.data?._id, () => {
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding: 24rpx 28rpx; padding: 24rpx 28rpx;
font-size: 30rpx; font-size: 32rpx;
font-weight: 600; font-weight: 600;
color: #333; color: #333;
border-bottom: 2rpx solid #f2f2f2; border-bottom: 2rpx solid #f2f2f2;
@ -411,13 +411,13 @@ watch(() => props.data?._id, () => {
} }
.label { .label {
width: 180rpx; width: 180rpx;
font-size: 28rpx; font-size: 30rpx;
color: #666; color: #666;
} }
.val { .val {
flex: 1; flex: 1;
text-align: right; text-align: right;
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
} }
.val.link { .val.link {
@ -431,7 +431,7 @@ watch(() => props.data?._id, () => {
.picker { .picker {
flex: 1; flex: 1;
text-align: right; text-align: right;
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
} }
@ -451,7 +451,7 @@ watch(() => props.data?._id, () => {
height: 88rpx; height: 88rpx;
line-height: 88rpx; line-height: 88rpx;
border-radius: 12rpx; border-radius: 12rpx;
font-size: 30rpx; font-size: 32rpx;
} }
.btn::after { .btn::after {
border: none; border: none;
@ -479,7 +479,7 @@ watch(() => props.data?._id, () => {
} }
.popup-title-text { .popup-title-text {
text-align: center; text-align: center;
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
color: #333; color: #333;
} }
@ -526,7 +526,7 @@ watch(() => props.data?._id, () => {
box-shadow: 0 0 0 4rpx #0877F1; box-shadow: 0 0 0 4rpx #0877F1;
} }
.time { .time {
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
margin-bottom: 16rpx; margin-bottom: 16rpx;
} }
@ -537,7 +537,7 @@ watch(() => props.data?._id, () => {
background: #fafafa; background: #fafafa;
} }
.trow { .trow {
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
line-height: 40rpx; line-height: 40rpx;
} }
@ -552,7 +552,7 @@ watch(() => props.data?._id, () => {
} }
.empty-text { .empty-text {
font-size: 28rpx; font-size: 30rpx;
color: #999; color: #999;
} }
</style> </style>

View File

@ -714,7 +714,7 @@ watch(
} }
.pill-text { .pill-text {
font-size: 26rpx; font-size: 28rpx;
color: #333; color: #333;
max-width: 360rpx; max-width: 360rpx;
overflow: hidden; overflow: hidden;
@ -743,7 +743,7 @@ watch(
display: inline-block; display: inline-block;
background: #eef2ff; background: #eef2ff;
color: #4338ca; color: #4338ca;
font-size: 24rpx; font-size: 26rpx;
padding: 12rpx 20rpx; padding: 12rpx 20rpx;
border-radius: 12rpx; border-radius: 12rpx;
} }
@ -772,13 +772,13 @@ watch(
} }
.record-title { .record-title {
font-size: 30rpx; font-size: 32rpx;
font-weight: 600; font-weight: 600;
color: #1f1f1f; color: #1f1f1f;
} }
.record-date { .record-date {
font-size: 28rpx; font-size: 30rpx;
font-weight: 600; font-weight: 600;
color: #333; color: #333;
} }
@ -790,7 +790,7 @@ watch(
.line { .line {
display: flex; display: flex;
padding-top: 20rpx; padding-top: 20rpx;
font-size: 26rpx; font-size: 28rpx;
color: #333; color: #333;
line-height: 36rpx; line-height: 36rpx;
} }
@ -831,7 +831,7 @@ watch(
} }
.thumb-more { .thumb-more {
font-size: 24rpx; font-size: 26rpx;
color: #6b7280; color: #6b7280;
} }
@ -841,7 +841,7 @@ watch(
justify-content: space-between; justify-content: space-between;
padding: 24rpx 24rpx; padding: 24rpx 24rpx;
border-top: 2rpx solid #f2f2f2; border-top: 2rpx solid #f2f2f2;
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
} }
@ -851,7 +851,7 @@ watch(
} }
.record-tag { .record-tag {
font-size: 24rpx; font-size: 26rpx;
color: #fff; color: #fff;
padding: 8rpx 16rpx; padding: 8rpx 16rpx;
border-radius: 16rpx; border-radius: 16rpx;
@ -885,7 +885,7 @@ watch(
padding: 240rpx 0; padding: 240rpx 0;
text-align: center; text-align: center;
color: #9aa0a6; color: #9aa0a6;
font-size: 26rpx; font-size: 28rpx;
} }
.fab-picker { .fab-picker {

View File

@ -748,7 +748,7 @@ watch(
box-sizing: border-box; /* Ensure padding doesn't overflow width */ box-sizing: border-box; /* Ensure padding doesn't overflow width */
} }
.pill-text { .pill-text {
font-size: 26rpx; font-size: 28rpx;
color: #333; color: #333;
flex: 1; flex: 1;
min-width: 0; min-width: 0;
@ -799,12 +799,12 @@ watch(
background: #0877F1; background: #0877F1;
} }
.time { .time {
font-size: 28rpx; font-size: 30rpx;
font-weight: 600; font-weight: 600;
color: #1f1f1f; color: #1f1f1f;
} }
.file-link { .file-link {
font-size: 26rpx; font-size: 28rpx;
color: #0877F1; color: #0877F1;
} }
.meta { .meta {
@ -815,14 +815,14 @@ watch(
margin-bottom: 12rpx; margin-bottom: 12rpx;
} }
.tag { .tag {
font-size: 24rpx; font-size: 26rpx;
color: #0877F1; color: #0877F1;
border: 2rpx solid #0877F1; border: 2rpx solid #0877F1;
border-radius: 999rpx; border-radius: 999rpx;
padding: 8rpx 16rpx; padding: 8rpx 16rpx;
} }
.meta-text { .meta-text {
font-size: 26rpx; font-size: 28rpx;
color: #333; color: #333;
} }
.truncate { .truncate {
@ -840,7 +840,7 @@ watch(
} }
.content { .content {
flex: 1; flex: 1;
font-size: 26rpx; font-size: 28rpx;
color: #666; color: #666;
line-height: 36rpx; line-height: 36rpx;
margin-right: 20rpx; margin-right: 20rpx;
@ -870,7 +870,7 @@ watch(
padding: 240rpx 0; padding: 240rpx 0;
text-align: center; text-align: center;
color: #9aa0a6; color: #9aa0a6;
font-size: 26rpx; font-size: 28rpx;
} }
@ -901,7 +901,7 @@ watch(
} }
.popup-title-text { .popup-title-text {
text-align: center; text-align: center;
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
color: #333; color: #333;
} }
@ -917,7 +917,7 @@ watch(
padding: 28rpx; padding: 28rpx;
} }
.desc { .desc {
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
line-height: 40rpx; line-height: 40rpx;
word-break: break-all; word-break: break-all;
@ -928,7 +928,7 @@ watch(
height: 88rpx; height: 88rpx;
line-height: 88rpx; line-height: 88rpx;
border-radius: 12rpx; border-radius: 12rpx;
font-size: 30rpx; font-size: 32rpx;
} }
.btn::after { .btn::after {
border: none; border: none;
@ -957,7 +957,7 @@ watch(
height: 36rpx; height: 36rpx;
} }
.edit-title { .edit-title {
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
color: #333; color: #333;
} }
@ -977,13 +977,13 @@ watch(
padding: 20rpx; padding: 20rpx;
border: 2rpx solid #e5e7eb; border: 2rpx solid #e5e7eb;
border-radius: 12rpx; border-radius: 12rpx;
font-size: 28rpx; font-size: 30rpx;
box-sizing: border-box; box-sizing: border-box;
} }
.counter { .counter {
margin-top: 12rpx; margin-top: 12rpx;
text-align: right; text-align: right;
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
} }
.edit-footer { .edit-footer {

View File

@ -32,7 +32,7 @@ defineProps({
border-radius: 50%; border-radius: 50%;
background: #0877F1; background: #0877F1;
color: #fff; color: #fff;
font-size: 24rpx; font-size: 26rpx;
text-align: center; text-align: center;
z-index: 3; z-index: 3;
} }

View File

@ -64,7 +64,7 @@ const sendFile = computed(() => {
<style scoped> <style scoped>
.card { .card {
font-size: 28rpx; font-size: 30rpx;
background: #fff; background: #fff;
border-radius: 16rpx; border-radius: 16rpx;
box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.06); box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.06);

View File

@ -98,7 +98,7 @@ const taskShowList = computed(() => {
flex: 1; flex: 1;
min-width: 0; min-width: 0;
padding-left: 20rpx; padding-left: 20rpx;
font-size: 28rpx; font-size: 30rpx;
font-weight: 600; font-weight: 600;
color: #111827; color: #111827;
overflow: hidden; overflow: hidden;
@ -112,7 +112,7 @@ const taskShowList = computed(() => {
margin-left: 20rpx; margin-left: 20rpx;
} }
.toggle-text { .toggle-text {
font-size: 28rpx; font-size: 30rpx;
color: #6b7280; color: #6b7280;
} }
.toggle-icon { .toggle-icon {

View File

@ -1,4 +1,4 @@
<template> <template>
<view class="page"> <view class="page">
<!-- Mobile 来源: ykt-management-mobile/src/pages/customer/followup-detail/followup-detail.vue --> <!-- Mobile 来源: ykt-management-mobile/src/pages/customer/followup-detail/followup-detail.vue -->
<scroll-view scroll-y class="scroll"> <scroll-view scroll-y class="scroll">
@ -452,13 +452,13 @@ function remove() {
justify-content: space-between; justify-content: space-between;
} }
.head-title { .head-title {
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
color: #111827; color: #111827;
} }
.head-tag { .head-tag {
flex-shrink: 0; flex-shrink: 0;
font-size: 24rpx; font-size: 26rpx;
padding: 12rpx 20rpx; padding: 12rpx 20rpx;
border-radius: 16rpx; border-radius: 16rpx;
background: #f3f4f6; background: #f3f4f6;
@ -483,24 +483,24 @@ function remove() {
} }
.head-content { .head-content {
margin-top: 24rpx; margin-top: 24rpx;
font-size: 28rpx; font-size: 30rpx;
color: #6b7280; color: #6b7280;
line-height: 44rpx; line-height: 44rpx;
} }
.sub-label { .sub-label {
font-size: 28rpx; font-size: 30rpx;
color: #6b7280; color: #6b7280;
} }
.sub-content { .sub-content {
margin-top: 24rpx; margin-top: 24rpx;
font-size: 28rpx; font-size: 30rpx;
color: #6b7280; color: #6b7280;
line-height: 44rpx; line-height: 44rpx;
} }
.file-line { .file-line {
margin-top: 12rpx; margin-top: 12rpx;
font-size: 28rpx; font-size: 30rpx;
line-height: 40rpx; line-height: 40rpx;
} }
.file-type { .file-type {
@ -512,7 +512,7 @@ function remove() {
} }
.section-title { .section-title {
font-size: 28rpx; font-size: 30rpx;
font-weight: 600; font-weight: 600;
color: #111827; color: #111827;
} }
@ -527,7 +527,7 @@ function remove() {
margin-right: 20rpx; margin-right: 20rpx;
} }
.method-label { .method-label {
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
margin-right: 20rpx; margin-right: 20rpx;
} }
@ -543,7 +543,7 @@ function remove() {
justify-content: space-between; justify-content: space-between;
} }
.method-value { .method-value {
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
max-width: 320rpx; max-width: 320rpx;
overflow: hidden; overflow: hidden;
@ -560,11 +560,11 @@ function remove() {
justify-content: space-between; justify-content: space-between;
} }
.kv-left { .kv-left {
font-size: 28rpx; font-size: 30rpx;
color: #6b7280; color: #6b7280;
} }
.kv-right { .kv-right {
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
max-width: 70%; max-width: 70%;
text-align: right; text-align: right;
@ -589,13 +589,13 @@ function remove() {
.result-textarea { .result-textarea {
width: 100%; width: 100%;
min-height: 160rpx; min-height: 160rpx;
font-size: 28rpx; font-size: 30rpx;
line-height: 48rpx; line-height: 48rpx;
color: #111827; color: #111827;
box-sizing: border-box; box-sizing: border-box;
} }
.meta { .meta {
font-size: 28rpx; font-size: 30rpx;
} }
.meta-row { .meta-row {
margin-top: 24rpx; margin-top: 24rpx;
@ -629,7 +629,7 @@ function remove() {
height: 80rpx; height: 80rpx;
line-height: 80rpx; line-height: 80rpx;
border-radius: 16rpx; border-radius: 16rpx;
font-size: 28rpx; font-size: 30rpx;
} }
.footer-btn::after { .footer-btn::after {
border: none; border: none;

View File

@ -1,4 +1,4 @@
<template> <template>
<view class="page"> <view class="page">
<view class="body"> <view class="body">
<scroll-view scroll-y class="scroll"> <scroll-view scroll-y class="scroll">
@ -235,7 +235,7 @@ async function handleSave() {
} }
.header-title { .header-title {
padding: 28rpx 28rpx; padding: 28rpx 28rpx;
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
color: #333; color: #333;
} }
@ -260,7 +260,7 @@ async function handleSave() {
height: 88rpx; height: 88rpx;
line-height: 88rpx; line-height: 88rpx;
border-radius: 12rpx; border-radius: 12rpx;
font-size: 30rpx; font-size: 32rpx;
} }
.btn::after { .btn::after {
border: none; border: none;

View File

@ -1,4 +1,4 @@
<template> <template>
<view class="page"> <view class="page">
<scroll-view scroll-y class="scroll"> <scroll-view scroll-y class="scroll">
<view class="section header"> <view class="section header">
@ -282,12 +282,12 @@ async function confirm() {
margin-top: 20rpx; margin-top: 20rpx;
} }
.header-title { .header-title {
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
color: #111827; color: #111827;
} }
.sub { .sub {
font-size: 28rpx; font-size: 30rpx;
color: #6b7280; color: #6b7280;
line-height: 48rpx; line-height: 48rpx;
} }
@ -295,7 +295,7 @@ async function confirm() {
padding: 120rpx 0; padding: 120rpx 0;
text-align: center; text-align: center;
color: #9ca3af; color: #9ca3af;
font-size: 28rpx; font-size: 30rpx;
} }
.row { .row {
display: flex; display: flex;
@ -312,12 +312,12 @@ async function confirm() {
align-items: center; align-items: center;
} }
.label { .label {
font-size: 28rpx; font-size: 30rpx;
color: #6b7280; color: #6b7280;
} }
.req { .req {
margin-left: 8rpx; margin-left: 8rpx;
font-size: 28rpx; font-size: 30rpx;
color: #ff4d4f; color: #ff4d4f;
} }
.right { .right {
@ -326,7 +326,7 @@ async function confirm() {
gap: 20rpx; gap: 20rpx;
} }
.value { .value {
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
max-width: 420rpx; max-width: 420rpx;
overflow: hidden; overflow: hidden;
@ -349,7 +349,7 @@ async function confirm() {
height: 80rpx; height: 80rpx;
line-height: 80rpx; line-height: 80rpx;
border-radius: 16rpx; border-radius: 16rpx;
font-size: 30rpx; font-size: 32rpx;
} }
.btn::after { .btn::after {
border: none; border: none;
@ -372,7 +372,7 @@ async function confirm() {
} }
.picker-title { .picker-title {
text-align: center; text-align: center;
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
padding: 28rpx; padding: 28rpx;
border-bottom: 1px solid #f0f0f0; border-bottom: 1px solid #f0f0f0;
@ -388,7 +388,7 @@ async function confirm() {
background: #f2f6ff; background: #f2f6ff;
} }
.picker-item-text { .picker-item-text {
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
} }
.picker-actions { .picker-actions {

View File

@ -1,4 +1,4 @@
<template> <template>
<view class="page"> <view class="page">
<scroll-view scroll-y class="scroll"> <scroll-view scroll-y class="scroll">
<view class="section header"> <view class="section header">
@ -68,7 +68,7 @@ function back() {
margin-top: 20rpx; margin-top: 20rpx;
} }
.header-title { .header-title {
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
color: #111827; color: #111827;
} }
@ -76,10 +76,10 @@ function back() {
padding: 120rpx 0; padding: 120rpx 0;
text-align: center; text-align: center;
color: #9ca3af; color: #9ca3af;
font-size: 28rpx; font-size: 30rpx;
} }
.sub { .sub {
font-size: 28rpx; font-size: 30rpx;
color: #6b7280; color: #6b7280;
line-height: 48rpx; line-height: 48rpx;
} }
@ -93,7 +93,7 @@ function back() {
height: 80rpx; height: 80rpx;
line-height: 80rpx; line-height: 80rpx;
border-radius: 16rpx; border-radius: 16rpx;
font-size: 28rpx; font-size: 30rpx;
background: #fff; background: #fff;
color: #111827; color: #111827;
border: 1px solid #e5e7eb; border: 1px solid #e5e7eb;

View File

@ -1,4 +1,4 @@
<template> <template>
<view class="page"> <view class="page">
<!-- Mobile 来源: ykt-management-mobile/src/pages/customer/visit-record-detail/visit-record-detail.vue --> <!-- Mobile 来源: ykt-management-mobile/src/pages/customer/visit-record-detail/visit-record-detail.vue -->
<view class="body"> <view class="body">
@ -358,7 +358,7 @@ async function remove() {
} }
.header-title { .header-title {
padding: 28rpx 28rpx; padding: 28rpx 28rpx;
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
color: #333; color: #333;
} }
@ -385,7 +385,7 @@ async function remove() {
height: 88rpx; height: 88rpx;
line-height: 88rpx; line-height: 88rpx;
border-radius: 12rpx; border-radius: 12rpx;
font-size: 30rpx; font-size: 32rpx;
} }
.btn::after { .btn::after {
border: none; border: none;

View File

@ -1,4 +1,4 @@
<template> <template>
<!-- 详情页参考截图顶部蓝条显示创建信息支持编辑/删除黄底提示不渲染 --> <!-- 详情页参考截图顶部蓝条显示创建信息支持编辑/删除黄底提示不渲染 -->
<view class="page"> <view class="page">
<scroll-view scroll-y class="scroll" :style="{ height: scrollHeight + 'px' }"> <scroll-view scroll-y class="scroll" :style="{ height: scrollHeight + 'px' }">
@ -667,7 +667,7 @@ function remove() {
} }
.topbar-text { .topbar-text {
color: #fff; color: #fff;
font-size: 28rpx; font-size: 30rpx;
text-align: center; text-align: center;
} }
.content { .content {
@ -682,24 +682,24 @@ function remove() {
} }
.label { .label {
width: 180rpx; width: 180rpx;
font-size: 28rpx; font-size: 30rpx;
font-weight: 600; font-weight: 600;
color: #111827; color: #111827;
} }
.value { .value {
flex: 1; flex: 1;
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
word-break: break-all; word-break: break-all;
} }
.h2 { .h2 {
font-size: 28rpx; font-size: 30rpx;
font-weight: 700; font-weight: 700;
color: #111827; color: #111827;
padding: 16rpx 0; padding: 16rpx 0;
} }
.p { .p {
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
line-height: 40rpx; line-height: 40rpx;
white-space: pre-wrap; white-space: pre-wrap;
@ -722,7 +722,7 @@ function remove() {
height: 140rpx; height: 140rpx;
} }
.files-empty { .files-empty {
font-size: 26rpx; font-size: 28rpx;
color: #9aa0a6; color: #9aa0a6;
padding: 16rpx 0; padding: 16rpx 0;
} }
@ -746,7 +746,7 @@ function remove() {
height: 88rpx; height: 88rpx;
line-height: 88rpx; line-height: 88rpx;
border-radius: 12rpx; border-radius: 12rpx;
font-size: 30rpx; font-size: 32rpx;
} }
.btn::after { .btn::after {
border: none; border: none;

View File

@ -1798,7 +1798,7 @@ onShow(async () => {
.team-selector { .team-selector {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 32rpx; font-size: 34rpx;
font-weight: bold; font-weight: bold;
color: #333; color: #333;
@ -1807,7 +1807,7 @@ onShow(async () => {
} }
.team-icon { .team-icon {
font-size: 32rpx; font-size: 34rpx;
color: #333; color: #333;
} }
} }
@ -1823,7 +1823,7 @@ onShow(async () => {
justify-content: center; justify-content: center;
.action-text { .action-text {
font-size: 20rpx; font-size: 22rpx;
color: #333; color: #333;
margin-top: 4rpx; margin-top: 4rpx;
} }
@ -1850,7 +1850,7 @@ onShow(async () => {
.tab-item { .tab-item {
padding: 10rpx 30rpx; padding: 10rpx 30rpx;
margin-right: 20rpx; margin-right: 20rpx;
font-size: 28rpx; font-size: 30rpx;
color: #666; color: #666;
background-color: #fff; background-color: #fff;
border-radius: 8rpx; border-radius: 8rpx;
@ -1866,7 +1866,7 @@ onShow(async () => {
} }
.total-count-inline { .total-count-inline {
font-size: 24rpx; font-size: 26rpx;
color: #666; color: #666;
white-space: nowrap; white-space: nowrap;
flex-shrink: 0; flex-shrink: 0;
@ -1890,7 +1890,7 @@ onShow(async () => {
.group-title { .group-title {
padding: 10rpx 30rpx; padding: 10rpx 30rpx;
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
} }
@ -1923,14 +1923,14 @@ onShow(async () => {
margin-right: 20rpx; margin-right: 20rpx;
.patient-name { .patient-name {
font-size: 32rpx; font-size: 34rpx;
font-weight: bold; font-weight: bold;
color: #333; color: #333;
margin-right: 16rpx; margin-right: 16rpx;
} }
.patient-meta { .patient-meta {
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
margin-bottom: 4rpx; margin-bottom: 4rpx;
} }
@ -1941,7 +1941,7 @@ onShow(async () => {
gap: 10rpx; gap: 10rpx;
.tag { .tag {
font-size: 20rpx; font-size: 22rpx;
color: #5d8aff; color: #5d8aff;
border: 2rpx solid #5d8aff; border: 2rpx solid #5d8aff;
padding: 0 8rpx; padding: 0 8rpx;
@ -1953,7 +1953,7 @@ onShow(async () => {
} }
.card-row-middle { .card-row-middle {
font-size: 28rpx; font-size: 30rpx;
margin-bottom: 12rpx; margin-bottom: 12rpx;
.record-text { .record-text {
@ -1974,7 +1974,7 @@ onShow(async () => {
} }
.card-row-bottom { .card-row-bottom {
font-size: 28rpx; font-size: 30rpx;
.record-text { .record-text {
color: #666; color: #666;
@ -2014,7 +2014,7 @@ onShow(async () => {
.footer-text { .footer-text {
margin-left: 10rpx; margin-left: 10rpx;
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
} }
} }
@ -2024,7 +2024,7 @@ onShow(async () => {
gap: 20rpx; gap: 20rpx;
.footer-btn { .footer-btn {
font-size: 28rpx; font-size: 30rpx;
padding: 0 30rpx; padding: 0 30rpx;
height: 64rpx; height: 64rpx;
line-height: 64rpx; line-height: 64rpx;
@ -2064,7 +2064,7 @@ onShow(async () => {
z-index: 10; z-index: 10;
.index-item { .index-item {
font-size: 20rpx; font-size: 22rpx;
color: #555; color: #555;
padding: 4rpx 0; padding: 4rpx 0;
width: 40rpx; width: 40rpx;

View File

@ -160,7 +160,7 @@ function toTeams() {
} }
.team-name { .team-name {
font-size: 32rpx; font-size: 34rpx;
font-weight: 500; font-weight: 500;
color: #333; color: #333;
overflow: hidden; overflow: hidden;
@ -206,7 +206,7 @@ function toTeams() {
} }
.action-text { .action-text {
font-size: 20rpx; font-size: 22rpx;
color: #666; color: #666;
line-height: 1.4; line-height: 1.4;
text-align: center; text-align: center;
@ -244,7 +244,7 @@ function toTeams() {
} }
.tab-text { .tab-text {
font-size: 28rpx; font-size: 30rpx;
color: #666; color: #666;
transition: color 0.3s; transition: color 0.3s;
} }
@ -280,7 +280,7 @@ function toTeams() {
} }
.picker-title { .picker-title {
font-size: 32rpx; font-size: 34rpx;
font-weight: 500; font-weight: 500;
color: #333; color: #333;
} }
@ -316,13 +316,13 @@ function toTeams() {
} }
.team-item-name { .team-item-name {
font-size: 30rpx; font-size: 32rpx;
color: #333; color: #333;
flex: 1; flex: 1;
} }
.check-icon { .check-icon {
font-size: 32rpx; font-size: 34rpx;
color: #1890ff; color: #1890ff;
font-weight: bold; font-weight: bold;
} }

View File

@ -738,7 +738,7 @@ onHide(() => {
} }
.loading-text { .loading-text {
font-size: 28rpx; font-size: 30rpx;
color: #999; color: #999;
} }
@ -749,7 +749,7 @@ onHide(() => {
} }
.empty-text { .empty-text {
font-size: 28rpx; font-size: 30rpx;
color: #999; color: #999;
} }
@ -792,7 +792,7 @@ onHide(() => {
} }
.unread-text { .unread-text {
font-size: 20rpx; font-size: 22rpx;
color: #fff; color: #fff;
line-height: 1; line-height: 1;
} }
@ -820,7 +820,7 @@ onHide(() => {
} }
.name { .name {
font-size: 30rpx; font-size: 32rpx;
font-weight: 500; font-weight: 500;
color: #333; color: #333;
overflow: hidden; overflow: hidden;
@ -830,14 +830,14 @@ onHide(() => {
} }
.patient-info { .patient-info {
font-size: 26rpx; font-size: 28rpx;
padding-left: 12rpx; padding-left: 12rpx;
color: #999; color: #999;
flex-shrink: 0; flex-shrink: 0;
} }
.time { .time {
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
margin-left: 16rpx; margin-left: 16rpx;
flex-shrink: 0; flex-shrink: 0;
@ -849,7 +849,7 @@ onHide(() => {
} }
.preview-text { .preview-text {
font-size: 26rpx; font-size: 28rpx;
color: #999; color: #999;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
@ -865,7 +865,7 @@ onHide(() => {
} }
.load-more-text { .load-more-text {
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
} }
@ -891,7 +891,7 @@ onHide(() => {
.subscribe-entry-text { .subscribe-entry-text {
width: 56rpx; width: 56rpx;
font-size: 24rpx; font-size: 26rpx;
line-height: 1.4; line-height: 1.4;
color: #3876f6; color: #3876f6;
text-align: center; text-align: center;

View File

@ -338,7 +338,7 @@ useShow(async () => {
} }
.tag-text { .tag-text {
font-size: 22rpx; font-size: 24rpx;
line-height: 1; line-height: 1;
} }
} }
@ -367,7 +367,7 @@ useShow(async () => {
justify-content: center; justify-content: center;
.more-icon { .more-icon {
font-size: 48rpx; font-size: 50rpx;
color: #333; color: #333;
line-height: 1; line-height: 1;
font-weight: bold; font-weight: bold;

View File

@ -150,7 +150,7 @@ function save() {
border-bottom: 2rpx solid #f2f2f2; border-bottom: 2rpx solid #f2f2f2;
} }
.label { .label {
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
margin-right: 20rpx; margin-right: 20rpx;
} }
@ -158,7 +158,7 @@ function save() {
padding: 120rpx 0; padding: 120rpx 0;
text-align: center; text-align: center;
color: #9aa0a6; color: #9aa0a6;
font-size: 26rpx; font-size: 28rpx;
} }
.footer { .footer {
position: fixed; position: fixed;
@ -174,7 +174,7 @@ function save() {
height: 88rpx; height: 88rpx;
line-height: 88rpx; line-height: 88rpx;
border-radius: 12rpx; border-radius: 12rpx;
font-size: 30rpx; font-size: 32rpx;
} }
.btn::after { .btn::after {
border: none; border: none;

View File

@ -153,7 +153,7 @@ onLoad(async (query) => {
} }
.group-title { .group-title {
font-size: 28rpx; font-size: 30rpx;
font-weight: 600; font-weight: 600;
margin-bottom: 20rpx; margin-bottom: 20rpx;
display: flex; display: flex;
@ -162,7 +162,7 @@ onLoad(async (query) => {
} }
.hint { .hint {
font-size: 22rpx; font-size: 24rpx;
color: #5d8aff; color: #5d8aff;
} }
@ -177,7 +177,7 @@ onLoad(async (query) => {
padding: 12rpx 20rpx; padding: 12rpx 20rpx;
border: 1px solid #ddd; border: 1px solid #ddd;
border-radius: 16rpx; border-radius: 16rpx;
font-size: 24rpx; font-size: 26rpx;
line-height: 1.2em; line-height: 1.2em;
color: #333; color: #333;
background: #fff; background: #fff;
@ -207,7 +207,7 @@ onLoad(async (query) => {
height: 88rpx; height: 88rpx;
line-height: 88rpx; line-height: 88rpx;
border-radius: 12rpx; border-radius: 12rpx;
font-size: 30rpx; font-size: 32rpx;
text-align: center; text-align: center;
} }

View File

@ -147,7 +147,7 @@ onLoad((opts) => {
line-height: 80rpx; line-height: 80rpx;
background: linear-gradient(270deg, #1b5cc8 2.26%, #0877f1 94.33%); background: linear-gradient(270deg, #1b5cc8 2.26%, #0877f1 94.33%);
color: #fff; color: #fff;
font-size: 30rpx; font-size: 32rpx;
border-radius: 48rpx; border-radius: 48rpx;
font-weight: 600; font-weight: 600;
box-shadow: 0 4rpx 16rpx rgba(59, 124, 255, 0.08); box-shadow: 0 4rpx 16rpx rgba(59, 124, 255, 0.08);

View File

@ -134,12 +134,12 @@ onLoad((options) => {
.loading-text { .loading-text {
margin-top: 20rpx; margin-top: 20rpx;
font-size: 28rpx; font-size: 30rpx;
color: #999; color: #999;
} }
.error-text { .error-text {
font-size: 28rpx; font-size: 30rpx;
color: #999; color: #999;
margin-bottom: 30rpx; margin-bottom: 30rpx;
text-align: center; text-align: center;
@ -151,7 +151,7 @@ onLoad((options) => {
color: #fff; color: #fff;
border: none; border: none;
border-radius: 8rpx; border-radius: 8rpx;
font-size: 28rpx; font-size: 30rpx;
} }
.article-content { .article-content {
@ -165,7 +165,7 @@ onLoad((options) => {
.article-title { .article-title {
display: block; display: block;
font-size: 36rpx; font-size: 38rpx;
font-weight: bold; font-weight: bold;
color: #333; color: #333;
line-height: 1.6; line-height: 1.6;
@ -174,7 +174,7 @@ onLoad((options) => {
.article-date { .article-date {
display: block; display: block;
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
} }

View File

@ -558,7 +558,7 @@ watch(userId, n => {
.search-input { .search-input {
flex: 1; flex: 1;
margin-left: 16rpx; margin-left: 16rpx;
font-size: 28rpx; font-size: 30rpx;
} }
.content { .content {
@ -577,7 +577,7 @@ watch(userId, n => {
.category-item { .category-item {
padding: 20rpx 24rpx; padding: 20rpx 24rpx;
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
text-align: center; text-align: center;
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
@ -604,7 +604,7 @@ watch(userId, n => {
.loading-text { .loading-text {
margin-top: 20rpx; margin-top: 20rpx;
font-size: 28rpx; font-size: 30rpx;
color: #999; color: #999;
} }
@ -623,6 +623,13 @@ watch(userId, n => {
gap: 16rpx; gap: 16rpx;
} }
.article-title {
font-size: 30rpx;
color: #333;
line-height: 1.6;
word-break: break-all;
font-weight: 500;
}
.article-footer { .article-footer {
display: flex; display: flex;
@ -633,13 +640,13 @@ watch(userId, n => {
.article-date { .article-date {
flex: 1; flex: 1;
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
} }
.send-btn { .send-btn {
flex-shrink: 0; flex-shrink: 0;
font-size: 26rpx; font-size: 28rpx;
padding: 8rpx 32rpx; padding: 8rpx 32rpx;
height: auto; height: auto;
line-height: 1.4; line-height: 1.4;
@ -651,7 +658,7 @@ watch(userId, n => {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: 30rpx 0; padding: 30rpx 0;
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
gap: 10rpx; gap: 10rpx;
} }
@ -688,7 +695,7 @@ watch(userId, n => {
.preview-title { .preview-title {
flex: 1; flex: 1;
font-size: 32rpx; font-size: 34rpx;
font-weight: bold; font-weight: bold;
color: #333; color: #333;
} }

View File

@ -1,7 +1,7 @@
// SCSS 变量定义 // SCSS 变量定义
$font-size-text: 30rpx; $font-size-text: 32rpx;
$font-size-tip: 28rpx; $font-size-tip: 30rpx;
$font-size-title: 32rpx; $font-size-title: 34rpx;
$text-color-sub: #999; $text-color-sub: #999;
$primary-color: #0877F1; $primary-color: #0877F1;
@ -287,7 +287,7 @@ $primary-color: #0877F1;
} }
.username-text { .username-text {
font-size: 22rpx; font-size: 24rpx;
color: #999; color: #999;
line-height: 1.2; line-height: 1.2;
} }
@ -358,7 +358,7 @@ $primary-color: #0877F1;
} }
.message-text { .message-text {
font-size: 30rpx; font-size: 32rpx;
line-height: 1.4; line-height: 1.4;
word-wrap: break-word; word-wrap: break-word;
word-break: break-all; word-break: break-all;
@ -425,7 +425,7 @@ $primary-color: #0877F1;
.send-btn { .send-btn {
background: #3876f6; background: #3876f6;
color: #fff; color: #fff;
font-size: 28rpx; font-size: 30rpx;
font-weight: 600; font-weight: 600;
border: none; border: none;
border-radius: 40rpx; border-radius: 40rpx;
@ -448,7 +448,7 @@ $primary-color: #0877F1;
.disabled-btn { .disabled-btn {
background: #ccc; background: #ccc;
color: #fff; color: #fff;
font-size: 28rpx; font-size: 30rpx;
font-weight: 600; font-weight: 600;
border: none; border: none;
border-radius: 40rpx; border-radius: 40rpx;
@ -479,7 +479,7 @@ $primary-color: #0877F1;
padding: 16rpx; padding: 16rpx;
background-color: #f3f5fa; background-color: #f3f5fa;
border-radius: 10rpx; border-radius: 10rpx;
font-size: 28rpx; font-size: 30rpx;
min-height: 80rpx; min-height: 80rpx;
max-height: 200rpx; max-height: 200rpx;
border: none; border: none;
@ -514,15 +514,15 @@ $primary-color: #0877F1;
justify-content: flex-start; justify-content: flex-start;
background: #fff; background: #fff;
border-top: 1rpx solid #eee; border-top: 1rpx solid #eee;
padding: 20rpx 0 40rpx 60rpx; padding: 20rpx 32rpx 40rpx;
gap: 40rpx 50rpx; gap: 40rpx 28rpx;
flex-wrap: wrap; flex-wrap: wrap;
background-color: #f5f5f5; background-color: #f5f5f5;
} }
.more-btn { .more-btn {
flex: none; flex: none;
width: 120rpx; width: 144rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
@ -538,6 +538,8 @@ $primary-color: #0877F1;
margin-top: 20rpx; margin-top: 20rpx;
font-size: $font-size-text; font-size: $font-size-text;
color: #6b7a8b; color: #6b7a8b;
line-height: 1.25;
white-space: nowrap;
} }
.consultation-bar { .consultation-bar {
@ -1175,7 +1177,7 @@ $primary-color: #0877F1;
} }
.voice-duration { .voice-duration {
font-size: 24rpx; font-size: 26rpx;
color: inherit; color: inherit;
} }

File diff suppressed because it is too large Load Diff

View File

@ -296,7 +296,7 @@ defineExpose({
} }
.button-text { .button-text {
font-size: 28rpx; font-size: 30rpx;
color: #333333; color: #333333;
white-space: nowrap; white-space: nowrap;
} }

View File

@ -201,6 +201,67 @@ const sendTextMessageFromPhrase = async (content) => {
}); });
}; };
const normalizePhraseImageFile = (file) => {
return new Promise((resolve) => {
const imageUrl =
typeof file === "string"
? file
: file?.url || file?.URL || file?.download_url || file?.tempFilePath || file?.path;
if (!imageUrl) {
resolve(null);
return;
}
const makeImageFile = (path, size = 0) => ({
type: "image",
tempFilePaths: [path],
tempFiles: [
{
tempFilePath: path,
path,
size,
fileType: "image",
type: "image",
},
],
tempFilePath: path,
});
if (/^https?:\/\//.test(imageUrl)) {
uni.downloadFile({
url: imageUrl,
success: (res) => {
if (res.statusCode === 200 && res.tempFilePath) {
const imageFile = makeImageFile(res.tempFilePath, file?.size || 0);
resolve(imageFile);
} else {
resolve(null);
}
},
fail: (error) => {
console.error("常用语图片下载失败:", error);
resolve(null);
},
});
return;
}
const imageFile = makeImageFile(imageUrl, file?.size || 0);
resolve(imageFile);
});
};
const sendImageMessageFromPhrase = async (file) => {
const imageFile = await normalizePhraseImageFile(file);
if (!imageFile) {
uni.showToast({ title: "图片发送失败", icon: "none" });
return;
}
await sendImageMessage(imageFile);
};
// //
const setInputText = (text) => { const setInputText = (text) => {
inputText.value = text; inputText.value = text;
@ -214,6 +275,7 @@ const clearInputText = () => {
// //
defineExpose({ defineExpose({
sendTextMessageFromPhrase, sendTextMessageFromPhrase,
sendImageMessageFromPhrase,
appendStreamText, appendStreamText,
setInputText, setInputText,
clearInputText, clearInputText,

View File

@ -45,7 +45,7 @@ const handleReject = () => {
} }
.accept-text { .accept-text {
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
line-height: 1.6; line-height: 1.6;
} }
@ -60,7 +60,7 @@ const handleReject = () => {
flex: 1; flex: 1;
height: 80rpx; height: 80rpx;
border-radius: 8rpx; border-radius: 8rpx;
font-size: 28rpx; font-size: 30rpx;
border: none; border: none;
display: flex; display: flex;
align-items: center; align-items: center;

View File

@ -199,14 +199,14 @@ defineExpose({
z-index: 10; z-index: 10;
.close-icon { .close-icon {
font-size: 40rpx; font-size: 42rpx;
color: #999999; color: #999999;
} }
} }
.progress-content { .progress-content {
.progress-title { .progress-title {
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
color: #333333; color: #333333;
margin-bottom: 32rpx; margin-bottom: 32rpx;
@ -234,7 +234,7 @@ defineExpose({
} }
.progress-text { .progress-text {
font-size: 28rpx; font-size: 30rpx;
color: #1890ff; color: #1890ff;
font-weight: 600; font-weight: 600;
min-width: 80rpx; min-width: 80rpx;
@ -246,7 +246,7 @@ defineExpose({
margin-bottom: 24rpx; margin-bottom: 24rpx;
.detected-title { .detected-title {
font-size: 28rpx; font-size: 30rpx;
color: #666666; color: #666666;
display: block; display: block;
margin-bottom: 16rpx; margin-bottom: 16rpx;
@ -269,7 +269,7 @@ defineExpose({
} }
.check-icon { .check-icon {
font-size: 28rpx; font-size: 30rpx;
color: #52c41a; color: #52c41a;
font-weight: bold; font-weight: bold;
margin-top: 2rpx; margin-top: 2rpx;
@ -277,7 +277,7 @@ defineExpose({
.info-text { .info-text {
flex: 1; flex: 1;
font-size: 26rpx; font-size: 28rpx;
color: #333333; color: #333333;
line-height: 1.6; line-height: 1.6;
word-break: break-all; word-break: break-all;
@ -292,7 +292,7 @@ defineExpose({
} }
.generating-text { .generating-text {
font-size: 28rpx; font-size: 30rpx;
color: #1890ff; color: #1890ff;
text-align: center; text-align: center;
padding: 16rpx 0; padding: 16rpx 0;
@ -345,7 +345,7 @@ defineExpose({
} }
.button-text { .button-text {
font-size: 30rpx; font-size: 32rpx;
font-weight: 500; font-weight: 500;
} }
} }

View File

@ -81,7 +81,7 @@ defineExpose({
margin-bottom: 40rpx; margin-bottom: 40rpx;
.header-title { .header-title {
font-size: 36rpx; font-size: 38rpx;
font-weight: 600; font-weight: 600;
color: #333333; color: #333333;
} }
@ -94,7 +94,7 @@ defineExpose({
justify-content: center; justify-content: center;
.close-icon { .close-icon {
font-size: 40rpx; font-size: 42rpx;
color: #999999; color: #999999;
} }
} }
@ -123,7 +123,7 @@ defineExpose({
} }
.type-name { .type-name {
font-size: 30rpx; font-size: 32rpx;
color: #333333; color: #333333;
text-align: center; text-align: center;
font-weight: 500; font-weight: 500;

View File

@ -159,7 +159,7 @@ const handleConfirm = () => {
} }
.modal-title { .modal-title {
font-size: 32rpx; font-size: 34rpx;
font-weight: 500; font-weight: 500;
color: #333; color: #333;
line-height: 1.5; line-height: 1.5;
@ -194,7 +194,7 @@ const handleConfirm = () => {
} }
.option-text { .option-text {
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
flex: 1; flex: 1;
} }
@ -220,13 +220,13 @@ const handleConfirm = () => {
} }
.check-mark { .check-mark {
font-size: 24rpx; font-size: 26rpx;
color: #fff; color: #fff;
font-weight: bold; font-weight: bold;
} }
.arrow-icon { .arrow-icon {
font-size: 40rpx; font-size: 42rpx;
color: #999; color: #999;
font-weight: 300; font-weight: 300;
} }
@ -241,7 +241,7 @@ const handleConfirm = () => {
.custom-textarea { .custom-textarea {
width: 100%; width: 100%;
min-height: 120rpx; min-height: 120rpx;
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
line-height: 1.6; line-height: 1.6;
background-color: transparent; background-color: transparent;
@ -253,7 +253,7 @@ const handleConfirm = () => {
.char-count { .char-count {
display: block; display: block;
text-align: right; text-align: right;
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
margin-top: 8rpx; margin-top: 8rpx;
} }
@ -270,7 +270,7 @@ const handleConfirm = () => {
flex: 1; flex: 1;
height: 80rpx; height: 80rpx;
border-radius: 8rpx; border-radius: 8rpx;
font-size: 28rpx; font-size: 30rpx;
border: none; border: none;
display: flex; display: flex;
align-items: center; align-items: center;

View File

@ -149,7 +149,7 @@ const notifyText = computed(() => {
.notify-text { .notify-text {
margin: 0 20rpx; margin: 0 20rpx;
font-size: 24rpx; font-size: 26rpx;
color: red; color: red;
white-space: nowrap; white-space: nowrap;
flex-shrink: 0; flex-shrink: 0;

View File

@ -992,11 +992,46 @@ onHide(() => {
console.log("✓ 页面隐藏已清空当前会话ID"); console.log("✓ 页面隐藏已清空当前会话ID");
}); });
const sendCommonPhrase = (content) => { const sendCommonPhrase = async (phraseOrContent) => {
if (chatInputRef.value) { if (!chatInputRef.value) return;
//
const content =
typeof phraseOrContent === "string"
? phraseOrContent
: phraseOrContent?.content || "";
const files = Array.isArray(phraseOrContent?.files) ? phraseOrContent.files : [];
if (content.trim()) {
chatInputRef.value.setInputText(content); chatInputRef.value.setInputText(content);
} }
if (files.length === 0) {
return;
}
const shouldSendImages = await new Promise((resolve) => {
uni.showModal({
title: "提示",
content: `该常用语包含${files.length}张图片,是否发送图片?`,
cancelText: "取消",
confirmText: "发送",
success: (res) => {
resolve(Boolean(res.confirm));
},
fail: (error) => {
console.error("常用语图片发送确认失败:", error);
resolve(false);
},
});
});
if (!shouldSendImages) {
return;
}
for (const file of files) {
await chatInputRef.value.sendImageMessageFromPhrase(file);
}
}; };
// //

View File

@ -118,7 +118,7 @@ onLoad(opts => {
@at-root &__customer { @at-root &__customer {
text-align: right; text-align: right;
font-size: 28rpx; font-size: 30rpx;
padding-bottom: 16rpx; padding-bottom: 16rpx;
margin-bottom: 24rpx; margin-bottom: 24rpx;
color: #333; color: #333;
@ -127,7 +127,7 @@ onLoad(opts => {
@at-root &__title { @at-root &__title {
text-align: center; text-align: center;
font-size: 32rpx; font-size: 34rpx;
font-weight: 600; font-weight: 600;
margin-bottom: 24rpx; margin-bottom: 24rpx;
} }
@ -135,7 +135,7 @@ onLoad(opts => {
@at-root &__desc { @at-root &__desc {
text-align: left; text-align: left;
color: #666; color: #666;
font-size: 28rpx; font-size: 30rpx;
margin-bottom: 24rpx; margin-bottom: 24rpx;
} }
@ -146,7 +146,7 @@ onLoad(opts => {
@at-root &__question { @at-root &__question {
position: relative; position: relative;
font-size: 32rpx; font-size: 34rpx;
margin-bottom: 24rpx; margin-bottom: 24rpx;
@at-root &--require::before { @at-root &--require::before {
@ -160,7 +160,7 @@ onLoad(opts => {
@at-root &__input { @at-root &__input {
padding: 10rpx 24rpx; padding: 10rpx 24rpx;
font-size: 28rpx; font-size: 30rpx;
border: 1px solid #eee; border: 1px solid #eee;
border-radius: 8rpx; border-radius: 8rpx;
} }
@ -176,7 +176,7 @@ onLoad(opts => {
margin-top: 30rpx; margin-top: 30rpx;
padding: 24rpx 30rpx; padding: 24rpx 30rpx;
border-radius: 8rpx; border-radius: 8rpx;
font-size: 28rpx; font-size: 30rpx;
color: #fff; color: #fff;
background: #006eff; background: #006eff;
text-align: center; text-align: center;
@ -194,7 +194,7 @@ onLoad(opts => {
@at-root &__label { @at-root &__label {
flex-grow: 1; flex-grow: 1;
font-size: 32rpx; font-size: 34rpx;
} }
} }
@ -213,7 +213,7 @@ onLoad(opts => {
} }
@at-root &__txt { @at-root &__txt {
font-size: 32rpx; font-size: 34rpx;
color: #666; color: #666;
} }
} }

View File

@ -414,7 +414,7 @@ onMounted(() => {
.search-input { .search-input {
flex: 1; flex: 1;
margin-left: 16rpx; margin-left: 16rpx;
font-size: 28rpx; font-size: 30rpx;
} }
.content { .content {
@ -435,7 +435,7 @@ onMounted(() => {
.category-item { .category-item {
padding: 20rpx 24rpx; padding: 20rpx 24rpx;
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
text-align: center; text-align: center;
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
@ -470,7 +470,7 @@ onMounted(() => {
.loading-text { .loading-text {
margin-top: 20rpx; margin-top: 20rpx;
font-size: 28rpx; font-size: 30rpx;
color: #999; color: #999;
} }
@ -489,7 +489,7 @@ onMounted(() => {
} }
.survey-title { .survey-title {
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
font-weight: 500; font-weight: 500;
line-height: 1.5; line-height: 1.5;
@ -497,7 +497,7 @@ onMounted(() => {
} }
.survey-desc { .survey-desc {
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
line-height: 1.4; line-height: 1.4;
overflow: hidden; overflow: hidden;
@ -512,7 +512,7 @@ onMounted(() => {
} }
.send-btn { .send-btn {
font-size: 26rpx; font-size: 28rpx;
} }
.loading-more, .loading-more,
@ -521,7 +521,7 @@ onMounted(() => {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: 30rpx 0; padding: 30rpx 0;
font-size: 24rpx; font-size: 26rpx;
color: #999; color: #999;
gap: 10rpx; gap: 10rpx;
} }

View File

@ -87,7 +87,7 @@ function save() {
padding: 32rpx 28rpx 0; padding: 32rpx 28rpx 0;
} }
.title { .title {
font-size: 30rpx; font-size: 32rpx;
font-weight: 700; font-weight: 700;
color: #111827; color: #111827;
margin-bottom: 20rpx; margin-bottom: 20rpx;
@ -99,7 +99,7 @@ function save() {
border-radius: 16rpx; border-radius: 16rpx;
padding: 20rpx; padding: 20rpx;
box-sizing: border-box; box-sizing: border-box;
font-size: 28rpx; font-size: 30rpx;
color: #111827; color: #111827;
} }
.placeholder { .placeholder {
@ -121,7 +121,7 @@ function save() {
height: 88rpx; height: 88rpx;
line-height: 88rpx; line-height: 88rpx;
border-radius: 12rpx; border-radius: 12rpx;
font-size: 30rpx; font-size: 32rpx;
} }
.btn::after { .btn::after {
border: none; border: none;

View File

@ -247,7 +247,7 @@ useLoad((opt) => {
border-radius: 32rpx; border-radius: 32rpx;
background: #fff; background: #fff;
border: 1px solid #e5e8ef; border: 1px solid #e5e8ef;
font-size: 26rpx; font-size: 28rpx;
} }
.search-placeholder { .search-placeholder {
@ -255,7 +255,7 @@ useLoad((opt) => {
} }
.clear-btn { .clear-btn {
font-size: 24rpx; font-size: 26rpx;
color: #2a6ff2; color: #2a6ff2;
padding: 6rpx 10rpx; padding: 6rpx 10rpx;
} }
@ -266,7 +266,7 @@ useLoad((opt) => {
.sidebar-item { .sidebar-item {
padding: 30rpx 18rpx; padding: 30rpx 18rpx;
font-size: 28rpx; font-size: 30rpx;
color: #333; color: #333;
text-align: center; text-align: center;
border-bottom: 1px solid #eef0f5; border-bottom: 1px solid #eef0f5;
@ -287,7 +287,7 @@ useLoad((opt) => {
.sidebar-empty { .sidebar-empty {
padding: 40rpx 16rpx; padding: 40rpx 16rpx;
font-size: 24rpx; font-size: 26rpx;
color: #8c94a6; color: #8c94a6;
text-align: center; text-align: center;
} }
@ -326,7 +326,7 @@ useLoad((opt) => {
} }
.dept-name { .dept-name {
font-size: 30rpx; font-size: 32rpx;
color: #333; color: #333;
font-weight: 600; font-weight: 600;
} }
@ -342,7 +342,7 @@ useLoad((opt) => {
padding: 12rpx 16rpx; padding: 12rpx 16rpx;
background: #f6f8fb; background: #f6f8fb;
border-radius: 10rpx; border-radius: 10rpx;
font-size: 26rpx; font-size: 28rpx;
color: #3a3a3a; color: #3a3a3a;
border: 1px solid #e5e9f2; border: 1px solid #e5e9f2;
display: flex; display: flex;
@ -363,7 +363,7 @@ useLoad((opt) => {
.check-tag { .check-tag {
padding: 6rpx 14rpx; padding: 6rpx 14rpx;
font-size: 22rpx; font-size: 24rpx;
color: #2a6ff2; color: #2a6ff2;
background: #eaf1ff; background: #eaf1ff;
border-radius: 20rpx; border-radius: 20rpx;
@ -382,7 +382,7 @@ useLoad((opt) => {
.footer-tip { .footer-tip {
padding: 24rpx 20rpx 40rpx; padding: 24rpx 20rpx 40rpx;
font-size: 26rpx; font-size: 28rpx;
color: #666; color: #666;
text-align: center; text-align: center;
line-height: 1.6; line-height: 1.6;

View File

@ -12,10 +12,10 @@
</view> </view>
</template> </template>
<scroll-view v-if="list.length" class="h-full bg-white" scroll-y="true"> <scroll-view v-if="list.length" class="h-full bg-white" scroll-y="true">
<view v-for="i in list" :key="`filter-${i.hospitalId}`" class="flex items-center px-15 py-12 border-b" <view v-for="i in list" :key="`filter-${getHospitalId(i)}`" class="flex items-center px-15 py-12 border-b"
@click="select(i)"> @click="select(i)">
<view class="mr-10 w-0 flex-grow text-base text-dark">{{ i.name }}</view> <view class="mr-10 w-0 flex-grow text-base text-dark">{{ i.name }}</view>
<image v-if="hospital && hospital.hospitalId === i.hospitalId" class="flex-shrink-0 icon-checked" <image v-if="hospital && getHospitalId(hospital) === getHospitalId(i)" class="flex-shrink-0 icon-checked"
src="/static/form/checked.svg" /> src="/static/form/checked.svg" />
</view> </view>
</scroll-view> </scroll-view>
@ -52,6 +52,10 @@ function select(i) {
hospital.value = i; hospital.value = i;
} }
function getHospitalId(item) {
return item?.hospitalId || item?._id || "";
}
function getMore() { function getMore() {
if (hasMore.value && !loading.value) { if (hasMore.value && !loading.value) {
changePage(page.value + 1) changePage(page.value + 1)
@ -60,7 +64,11 @@ function getMore() {
function save() { function save() {
if (hospital.value) { if (hospital.value) {
uni.$emit(eventName.value, hospital.value.name) uni.$emit(eventName.value, {
hospitalId: getHospitalId(hospital.value),
hospitalName: hospital.value.name || hospital.value.hospitalName || "",
name: hospital.value.name || hospital.value.hospitalName || "",
})
uni.navigateBack() uni.navigateBack()
} else { } else {
toast('请选择医院') toast('请选择医院')

View File

@ -239,7 +239,7 @@ const openDepartmentSelect = () => {
align-items: center; align-items: center;
justify-content: flex-end; justify-content: flex-end;
text-align: right; text-align: right;
font-size: 28rpx; font-size: 30rpx;
input { input {
text-align: right; text-align: right;
@ -267,7 +267,7 @@ const openDepartmentSelect = () => {
justify-content: center; justify-content: center;
.avatar-icon { .avatar-icon {
font-size: 48rpx; font-size: 50rpx;
color: #999; color: #999;
} }
} }
@ -290,7 +290,7 @@ const openDepartmentSelect = () => {
line-height: 88rpx; line-height: 88rpx;
text-align: center; text-align: center;
border-radius: 8rpx; border-radius: 8rpx;
font-size: 32rpx; font-size: 34rpx;
} }
.btn-cancel { .btn-cancel {

View File

@ -78,7 +78,13 @@ function selectHospital() {
url: `/pages/work/hospital-select?eventName=${eventName}` url: `/pages/work/hospital-select?eventName=${eventName}`
}) })
uni.$once(eventName, data => { uni.$once(eventName, data => {
form.value.hospitalName = data if (typeof data === 'string') {
form.value.hospitalName = data
form.value.hospitalId = ''
} else {
form.value.hospitalName = data?.hospitalName || data?.name || ''
form.value.hospitalId = data?.hospitalId || data?._id || ''
}
}) })
} }
@ -110,6 +116,7 @@ async function save() {
return toast('请上传医师执业资格证第二页') return toast('请上传医师执业资格证第二页')
} }
const data = { const data = {
hospitalId: formData.value.hospitalId || '',
hospitalName: formData.value.hospitalName, hospitalName: formData.value.hospitalName,
medicalLicenseFront: formData.value.medicalLicenseFront, medicalLicenseFront: formData.value.medicalLicenseFront,
medicalLicenseBack: formData.value.medicalLicenseBack, medicalLicenseBack: formData.value.medicalLicenseBack,

View File

@ -322,7 +322,7 @@ useShow(async () => {
} }
.tag-text { .tag-text {
font-size: 22rpx; font-size: 24rpx;
line-height: 1; line-height: 1;
} }
} }
@ -351,7 +351,7 @@ useShow(async () => {
justify-content: center; justify-content: center;
.more-icon { .more-icon {
font-size: 48rpx; font-size: 50rpx;
color: #333; color: #333;
line-height: 1; line-height: 1;
font-weight: bold; font-weight: bold;

View File

@ -46,11 +46,11 @@ $spacing-base: 24rpx;
$spacing-large: 32rpx; $spacing-large: 32rpx;
// 字体大小 // 字体大小
$font-size-small: 24rpx; $font-size-small: 26rpx;
$font-size-base: 28rpx; $font-size-base: 30rpx;
$font-size-medium: 32rpx; $font-size-medium: 34rpx;
$font-size-large: 36rpx; $font-size-large: 38rpx;
$font-size-xlarge: 40rpx; $font-size-xlarge: 42rpx;
// 阴影 // 阴影
$box-shadow-light: 0 2rpx 12rpx rgba(0, 0, 0, 0.04); $box-shadow-light: 0 2rpx 12rpx rgba(0, 0, 0, 0.04);

View File

@ -43,17 +43,18 @@ const urlsConfig = {
getArticleByIds: 'getArticleByIds',// 诊断库 getArticleByIds: 'getArticleByIds',// 诊断库
getDisease: 'getDisease', getDisease: 'getDisease',
getCommonPhrases: 'getCommonPhrases', getCommonPhrases: 'getCommonPhrases',
getCommonWordsList: 'getCommonWordsList',
getCorpCommonWordCate: 'getCorpCommonWordCate',
getUserCommonWordCate: 'getUserCommonWordCate',
addUserCommonWordCate: 'addUserCommonWordCate',
updateUserCommonWordCate: 'updateUserCommonWordCate',
deleteUserCommonWordCate: 'deleteUserCommonWordCate',
setCommonWords: 'setCommonWords',
removeCommonWords: 'removeCommonWords',
saveCommonPhrase: 'saveCommonPhrase', saveCommonPhrase: 'saveCommonPhrase',
deleteCommonPhrase: 'deleteCommonPhrase', deleteCommonPhrase: 'deleteCommonPhrase',
getCommonPhraseCategories: 'getCommonPhraseCategories', getCommonPhraseCategories: 'getCommonPhraseCategories',
saveCommonPhraseCategory: 'saveCommonPhraseCategory', saveCommonPhraseCategory: 'saveCommonPhraseCategory',
// 个人常用语接口
getPersonalPhrases: 'getPersonalPhrases',
savePersonalPhrase: 'savePersonalPhrase',
deletePersonalPhrase: 'deletePersonalPhrase',
getPersonalPhraseCategories: 'getPersonalPhraseCategories',
savePersonalPhraseCategory: 'savePersonalPhraseCategory',
deletePersonalPhraseCategory: 'deletePersonalPhraseCategory',
// 宣教文章接口 // 宣教文章接口
getArticleCateList: 'getArticleCateList', getArticleCateList: 'getArticleCateList',
getArticleList: 'getArticleList', getArticleList: 'getArticleList',