Merge remote-tracking branch 'origin/dev-2.45hjf' into dev-h2.45
This commit is contained in:
commit
4dc96b2337
8
App.vue
8
App.vue
@ -344,19 +344,19 @@
|
||||
}
|
||||
|
||||
.text-sm {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.text-base {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.text-lg {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
}
|
||||
|
||||
.text-xl {
|
||||
font-size: 36rpx;
|
||||
font-size: 38rpx;
|
||||
}
|
||||
|
||||
.leading-normal {
|
||||
|
||||
@ -21,11 +21,11 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-align: right;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.form__placeholder {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@
|
||||
align-items: center;
|
||||
padding: 24rpx 30rpx;
|
||||
border-bottom: 1px solid #eee;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.form-row__label {
|
||||
|
||||
@ -84,13 +84,13 @@ function open() {
|
||||
gap: 12rpx;
|
||||
}
|
||||
.label {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
font-weight: 700;
|
||||
}
|
||||
.required {
|
||||
color: #ff4d4f;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.right {
|
||||
display: flex;
|
||||
@ -100,7 +100,7 @@ function open() {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
.value {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
max-width: 440rpx;
|
||||
overflow: hidden;
|
||||
|
||||
@ -40,13 +40,23 @@ const files = computed(() => {
|
||||
if (Array.isArray(v)) {
|
||||
return v
|
||||
.map((i) => {
|
||||
if (typeof i === 'string') return { url: normalizeFileUrl(i) };
|
||||
if (i && typeof i === 'object' && i.url) return { url: normalizeFileUrl(String(i.url)) };
|
||||
if (typeof i === 'string') return { url: normalizeFileUrl(i), name: getFileNameFromUrl(i) };
|
||||
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;
|
||||
})
|
||||
.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 [];
|
||||
});
|
||||
|
||||
@ -74,7 +84,21 @@ async function add() {
|
||||
}
|
||||
const url = await chooseAndUploadImage({ count: 1 });
|
||||
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>
|
||||
|
||||
@ -88,7 +112,7 @@ async function add() {
|
||||
}
|
||||
|
||||
.files-label {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
line-height: 42rpx;
|
||||
}
|
||||
|
||||
@ -124,7 +148,7 @@ async function add() {
|
||||
background: rgba(0, 0, 0, 0.55);
|
||||
color: #fff;
|
||||
border-radius: 18rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.add {
|
||||
@ -139,7 +163,7 @@ async function add() {
|
||||
}
|
||||
|
||||
.plus {
|
||||
font-size: 56rpx;
|
||||
font-size: 58rpx;
|
||||
line-height: 56rpx;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -68,7 +68,7 @@ function change(e) {
|
||||
|
||||
.form-input {
|
||||
flex-grow: 1;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.appendText {
|
||||
|
||||
@ -126,7 +126,7 @@ function onOtherInput(e) {
|
||||
}
|
||||
|
||||
.label {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
line-height: 42rpx;
|
||||
}
|
||||
|
||||
@ -142,7 +142,7 @@ function onOtherInput(e) {
|
||||
padding: 12rpx 20rpx;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 8rpx;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
text-align: center;
|
||||
color: #333;
|
||||
background: #fff;
|
||||
@ -160,7 +160,7 @@ function onOtherInput(e) {
|
||||
|
||||
.other-input {
|
||||
width: 100%;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
padding: 18rpx 20rpx;
|
||||
border: 1px solid #eee;
|
||||
border-radius: 8rpx;
|
||||
|
||||
@ -113,13 +113,13 @@ function remove(idx) {
|
||||
gap: 12rpx;
|
||||
}
|
||||
.label {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 700;
|
||||
color: #111827;
|
||||
}
|
||||
.required {
|
||||
color: #ff4d4f;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.list {
|
||||
margin-top: 20rpx;
|
||||
@ -140,14 +140,14 @@ function remove(idx) {
|
||||
min-width: 0;
|
||||
}
|
||||
.item-title {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
font-weight: 600;
|
||||
word-break: break-all;
|
||||
}
|
||||
.item-sub {
|
||||
margin-top: 12rpx;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #6b7280;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
@ -160,7 +160,7 @@ function remove(idx) {
|
||||
padding-top: 4rpx;
|
||||
}
|
||||
.text-action {
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
line-height: 1;
|
||||
}
|
||||
.text-action.edit {
|
||||
@ -171,7 +171,7 @@ function remove(idx) {
|
||||
}
|
||||
.empty {
|
||||
margin-top: 20rpx;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #9aa0a6;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -79,12 +79,12 @@ function onInput(e, key) {
|
||||
.num {
|
||||
width: 80rpx;
|
||||
text-align: right;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
border-bottom: 1px solid #888;
|
||||
}
|
||||
|
||||
.unit {
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -72,7 +72,7 @@ function onPick(e) {
|
||||
.input {
|
||||
flex: 1;
|
||||
text-align: right;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.relation {
|
||||
@ -83,7 +83,7 @@ function onPick(e) {
|
||||
min-width: 180rpx;
|
||||
border-left: 1px solid #eee;
|
||||
padding-left: 16rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.arrow {
|
||||
|
||||
@ -112,7 +112,7 @@ function onOtherInput(e) {
|
||||
|
||||
.other-input {
|
||||
width: 100%;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
padding: 18rpx 20rpx;
|
||||
border: 1px solid #eee;
|
||||
border-radius: 8rpx;
|
||||
|
||||
@ -99,12 +99,12 @@ function change(e) {
|
||||
.textarea-row {
|
||||
padding: 24rpx 30rpx;
|
||||
border-bottom: 1px solid #eee;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.form-textarea {
|
||||
width: 100%;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
padding: 20rpx;
|
||||
border-radius: 8rpx;
|
||||
box-sizing: border-box;
|
||||
@ -118,6 +118,6 @@ function change(e) {
|
||||
padding-top: 20rpx;
|
||||
text-align: right;
|
||||
color: #666;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -60,7 +60,7 @@ function handleSave() {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 12rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.save-btn {
|
||||
|
||||
@ -367,7 +367,7 @@ const getRequiredFields = () => {
|
||||
}
|
||||
|
||||
.item-label {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333333;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
@ -379,7 +379,7 @@ const getRequiredFields = () => {
|
||||
padding: 0 24rpx;
|
||||
background-color: #f8f9fa;
|
||||
border-radius: 8rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333333;
|
||||
|
||||
&[disabled] {
|
||||
@ -399,7 +399,7 @@ const getRequiredFields = () => {
|
||||
padding: 20rpx 24rpx;
|
||||
background-color: #f8f9fa;
|
||||
border-radius: 8rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333333;
|
||||
height: 100px;
|
||||
&[disabled] {
|
||||
@ -416,7 +416,7 @@ const getRequiredFields = () => {
|
||||
|
||||
.tips-text {
|
||||
display: block;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #666666;
|
||||
line-height: 1.6;
|
||||
margin-bottom: 8rpx;
|
||||
@ -450,7 +450,7 @@ const getRequiredFields = () => {
|
||||
border-radius: 44rpx;
|
||||
|
||||
.btn-text {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<template>
|
||||
<template>
|
||||
<view class="page">
|
||||
<scroll-view
|
||||
scroll-y
|
||||
@ -985,7 +985,7 @@ const saveAddGroup = async () => {
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 36rpx;
|
||||
font-size: 38rpx;
|
||||
font-weight: 600;
|
||||
color: #1f1f1f;
|
||||
max-width: 440rpx;
|
||||
@ -995,13 +995,13 @@ const saveAddGroup = async () => {
|
||||
}
|
||||
|
||||
.meta {
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.sub-line {
|
||||
margin-top: 12rpx;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
@ -1012,7 +1012,7 @@ const saveAddGroup = async () => {
|
||||
.id-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #666;
|
||||
line-height: 36rpx;
|
||||
}
|
||||
@ -1033,7 +1033,7 @@ const saveAddGroup = async () => {
|
||||
}
|
||||
|
||||
.create-text {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
@ -1080,7 +1080,7 @@ const saveAddGroup = async () => {
|
||||
}
|
||||
|
||||
.input-label {
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
@ -1100,7 +1100,7 @@ const saveAddGroup = async () => {
|
||||
}
|
||||
|
||||
.phone-text {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
color: #0877F1;
|
||||
font-weight: 500;
|
||||
}
|
||||
@ -1114,12 +1114,12 @@ const saveAddGroup = async () => {
|
||||
}
|
||||
|
||||
.placeholder {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.note-content {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
line-height: 1.5;
|
||||
word-break: break-all;
|
||||
@ -1137,7 +1137,7 @@ const saveAddGroup = async () => {
|
||||
padding: 0 20rpx;
|
||||
border: 2rpx solid #0877F1;
|
||||
border-radius: 24rpx;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #0877F1;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@ -1166,7 +1166,7 @@ const saveAddGroup = async () => {
|
||||
text-align: center;
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
position: relative;
|
||||
}
|
||||
@ -1213,7 +1213,7 @@ const saveAddGroup = async () => {
|
||||
|
||||
.empty-text {
|
||||
margin-top: 20rpx;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #9aa0a6;
|
||||
}
|
||||
|
||||
@ -1237,7 +1237,7 @@ const saveAddGroup = async () => {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 16rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.bind-text {
|
||||
@ -1253,7 +1253,7 @@ const saveAddGroup = async () => {
|
||||
}
|
||||
|
||||
.modal-title {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
padding: 28rpx 24rpx;
|
||||
@ -1271,7 +1271,7 @@ const saveAddGroup = async () => {
|
||||
border: 2rpx solid #e6e6e6;
|
||||
border-radius: 8rpx;
|
||||
padding: 0 20rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
@ -1287,7 +1287,7 @@ const saveAddGroup = async () => {
|
||||
line-height: 80rpx;
|
||||
text-align: center;
|
||||
border-radius: 8rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.modal-btn.cancel {
|
||||
@ -1320,7 +1320,7 @@ const saveAddGroup = async () => {
|
||||
.sheet-title {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
@ -1340,7 +1340,7 @@ const saveAddGroup = async () => {
|
||||
.sheet-link {
|
||||
min-width: 120rpx;
|
||||
text-align: right;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #0877F1;
|
||||
}
|
||||
|
||||
@ -1354,14 +1354,14 @@ const saveAddGroup = async () => {
|
||||
border: 2rpx solid #e6e6e6;
|
||||
border-radius: 8rpx;
|
||||
padding: 20rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.counter {
|
||||
text-align: right;
|
||||
margin-top: 16rpx;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
@ -1379,7 +1379,7 @@ const saveAddGroup = async () => {
|
||||
|
||||
.group-name {
|
||||
margin-left: 20rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
@ -1393,7 +1393,7 @@ const saveAddGroup = async () => {
|
||||
background: #0877F1;
|
||||
color: #fff;
|
||||
border-radius: 8rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
line-height: 88rpx;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -388,7 +388,7 @@ watch(() => props.data?._id, () => {
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 24rpx 28rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
border-bottom: 2rpx solid #f2f2f2;
|
||||
@ -411,13 +411,13 @@ watch(() => props.data?._id, () => {
|
||||
}
|
||||
.label {
|
||||
width: 180rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #666;
|
||||
}
|
||||
.val {
|
||||
flex: 1;
|
||||
text-align: right;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
}
|
||||
.val.link {
|
||||
@ -431,7 +431,7 @@ watch(() => props.data?._id, () => {
|
||||
.picker {
|
||||
flex: 1;
|
||||
text-align: right;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
@ -451,7 +451,7 @@ watch(() => props.data?._id, () => {
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
border-radius: 12rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.btn::after {
|
||||
border: none;
|
||||
@ -479,7 +479,7 @@ watch(() => props.data?._id, () => {
|
||||
}
|
||||
.popup-title-text {
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
@ -526,7 +526,7 @@ watch(() => props.data?._id, () => {
|
||||
box-shadow: 0 0 0 4rpx #0877F1;
|
||||
}
|
||||
.time {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
@ -537,7 +537,7 @@ watch(() => props.data?._id, () => {
|
||||
background: #fafafa;
|
||||
}
|
||||
.trow {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
@ -552,7 +552,7 @@ watch(() => props.data?._id, () => {
|
||||
}
|
||||
|
||||
.empty-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #999;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -714,7 +714,7 @@ watch(
|
||||
}
|
||||
|
||||
.pill-text {
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
max-width: 360rpx;
|
||||
overflow: hidden;
|
||||
@ -743,7 +743,7 @@ watch(
|
||||
display: inline-block;
|
||||
background: #eef2ff;
|
||||
color: #4338ca;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
padding: 12rpx 20rpx;
|
||||
border-radius: 12rpx;
|
||||
}
|
||||
@ -772,13 +772,13 @@ watch(
|
||||
}
|
||||
|
||||
.record-title {
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 600;
|
||||
color: #1f1f1f;
|
||||
}
|
||||
|
||||
.record-date {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
@ -790,7 +790,7 @@ watch(
|
||||
.line {
|
||||
display: flex;
|
||||
padding-top: 20rpx;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
line-height: 36rpx;
|
||||
}
|
||||
@ -831,7 +831,7 @@ watch(
|
||||
}
|
||||
|
||||
.thumb-more {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #6b7280;
|
||||
}
|
||||
|
||||
@ -841,7 +841,7 @@ watch(
|
||||
justify-content: space-between;
|
||||
padding: 24rpx 24rpx;
|
||||
border-top: 2rpx solid #f2f2f2;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
@ -851,7 +851,7 @@ watch(
|
||||
}
|
||||
|
||||
.record-tag {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #fff;
|
||||
padding: 8rpx 16rpx;
|
||||
border-radius: 16rpx;
|
||||
@ -885,7 +885,7 @@ watch(
|
||||
padding: 240rpx 0;
|
||||
text-align: center;
|
||||
color: #9aa0a6;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.fab-picker {
|
||||
|
||||
@ -748,7 +748,7 @@ watch(
|
||||
box-sizing: border-box; /* Ensure padding doesn't overflow width */
|
||||
}
|
||||
.pill-text {
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
@ -799,12 +799,12 @@ watch(
|
||||
background: #0877F1;
|
||||
}
|
||||
.time {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
color: #1f1f1f;
|
||||
}
|
||||
.file-link {
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #0877F1;
|
||||
}
|
||||
.meta {
|
||||
@ -815,14 +815,14 @@ watch(
|
||||
margin-bottom: 12rpx;
|
||||
}
|
||||
.tag {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #0877F1;
|
||||
border: 2rpx solid #0877F1;
|
||||
border-radius: 999rpx;
|
||||
padding: 8rpx 16rpx;
|
||||
}
|
||||
.meta-text {
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
}
|
||||
.truncate {
|
||||
@ -840,7 +840,7 @@ watch(
|
||||
}
|
||||
.content {
|
||||
flex: 1;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
line-height: 36rpx;
|
||||
margin-right: 20rpx;
|
||||
@ -870,7 +870,7 @@ watch(
|
||||
padding: 240rpx 0;
|
||||
text-align: center;
|
||||
color: #9aa0a6;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
|
||||
@ -901,7 +901,7 @@ watch(
|
||||
}
|
||||
.popup-title-text {
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
@ -917,7 +917,7 @@ watch(
|
||||
padding: 28rpx;
|
||||
}
|
||||
.desc {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
line-height: 40rpx;
|
||||
word-break: break-all;
|
||||
@ -928,7 +928,7 @@ watch(
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
border-radius: 12rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.btn::after {
|
||||
border: none;
|
||||
@ -957,7 +957,7 @@ watch(
|
||||
height: 36rpx;
|
||||
}
|
||||
.edit-title {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
@ -977,13 +977,13 @@ watch(
|
||||
padding: 20rpx;
|
||||
border: 2rpx solid #e5e7eb;
|
||||
border-radius: 12rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.counter {
|
||||
margin-top: 12rpx;
|
||||
text-align: right;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
.edit-footer {
|
||||
|
||||
@ -32,7 +32,7 @@ defineProps({
|
||||
border-radius: 50%;
|
||||
background: #0877F1;
|
||||
color: #fff;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
text-align: center;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
@ -64,7 +64,7 @@ const sendFile = computed(() => {
|
||||
|
||||
<style scoped>
|
||||
.card {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
background: #fff;
|
||||
border-radius: 16rpx;
|
||||
box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.06);
|
||||
|
||||
@ -98,7 +98,7 @@ const taskShowList = computed(() => {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
padding-left: 20rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
color: #111827;
|
||||
overflow: hidden;
|
||||
@ -112,7 +112,7 @@ const taskShowList = computed(() => {
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
.toggle-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #6b7280;
|
||||
}
|
||||
.toggle-icon {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<template>
|
||||
<template>
|
||||
<view class="page">
|
||||
<!-- Mobile 来源: ykt-management-mobile/src/pages/customer/followup-detail/followup-detail.vue -->
|
||||
<scroll-view scroll-y class="scroll">
|
||||
@ -452,13 +452,13 @@ function remove() {
|
||||
justify-content: space-between;
|
||||
}
|
||||
.head-title {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color: #111827;
|
||||
}
|
||||
.head-tag {
|
||||
flex-shrink: 0;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
padding: 12rpx 20rpx;
|
||||
border-radius: 16rpx;
|
||||
background: #f3f4f6;
|
||||
@ -483,24 +483,24 @@ function remove() {
|
||||
}
|
||||
.head-content {
|
||||
margin-top: 24rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #6b7280;
|
||||
line-height: 44rpx;
|
||||
}
|
||||
|
||||
.sub-label {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #6b7280;
|
||||
}
|
||||
.sub-content {
|
||||
margin-top: 24rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #6b7280;
|
||||
line-height: 44rpx;
|
||||
}
|
||||
.file-line {
|
||||
margin-top: 12rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
.file-type {
|
||||
@ -512,7 +512,7 @@ function remove() {
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
color: #111827;
|
||||
}
|
||||
@ -527,7 +527,7 @@ function remove() {
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
.method-label {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
@ -543,7 +543,7 @@ function remove() {
|
||||
justify-content: space-between;
|
||||
}
|
||||
.method-value {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
max-width: 320rpx;
|
||||
overflow: hidden;
|
||||
@ -560,11 +560,11 @@ function remove() {
|
||||
justify-content: space-between;
|
||||
}
|
||||
.kv-left {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #6b7280;
|
||||
}
|
||||
.kv-right {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
max-width: 70%;
|
||||
text-align: right;
|
||||
@ -589,13 +589,13 @@ function remove() {
|
||||
.result-textarea {
|
||||
width: 100%;
|
||||
min-height: 160rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
line-height: 48rpx;
|
||||
color: #111827;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.meta {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.meta-row {
|
||||
margin-top: 24rpx;
|
||||
@ -629,7 +629,7 @@ function remove() {
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
border-radius: 16rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.footer-btn::after {
|
||||
border: none;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<template>
|
||||
<template>
|
||||
<view class="page">
|
||||
<view class="body">
|
||||
<scroll-view scroll-y class="scroll">
|
||||
@ -235,7 +235,7 @@ async function handleSave() {
|
||||
}
|
||||
.header-title {
|
||||
padding: 28rpx 28rpx;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
@ -260,7 +260,7 @@ async function handleSave() {
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
border-radius: 12rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.btn::after {
|
||||
border: none;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<template>
|
||||
<template>
|
||||
<view class="page">
|
||||
<scroll-view scroll-y class="scroll">
|
||||
<view class="section header">
|
||||
@ -282,12 +282,12 @@ async function confirm() {
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
.header-title {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color: #111827;
|
||||
}
|
||||
.sub {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #6b7280;
|
||||
line-height: 48rpx;
|
||||
}
|
||||
@ -295,7 +295,7 @@ async function confirm() {
|
||||
padding: 120rpx 0;
|
||||
text-align: center;
|
||||
color: #9ca3af;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.row {
|
||||
display: flex;
|
||||
@ -312,12 +312,12 @@ async function confirm() {
|
||||
align-items: center;
|
||||
}
|
||||
.label {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #6b7280;
|
||||
}
|
||||
.req {
|
||||
margin-left: 8rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #ff4d4f;
|
||||
}
|
||||
.right {
|
||||
@ -326,7 +326,7 @@ async function confirm() {
|
||||
gap: 20rpx;
|
||||
}
|
||||
.value {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
max-width: 420rpx;
|
||||
overflow: hidden;
|
||||
@ -349,7 +349,7 @@ async function confirm() {
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
border-radius: 16rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.btn::after {
|
||||
border: none;
|
||||
@ -372,7 +372,7 @@ async function confirm() {
|
||||
}
|
||||
.picker-title {
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
padding: 28rpx;
|
||||
border-bottom: 1px solid #f0f0f0;
|
||||
@ -388,7 +388,7 @@ async function confirm() {
|
||||
background: #f2f6ff;
|
||||
}
|
||||
.picker-item-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
}
|
||||
.picker-actions {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<template>
|
||||
<template>
|
||||
<view class="page">
|
||||
<scroll-view scroll-y class="scroll">
|
||||
<view class="section header">
|
||||
@ -68,7 +68,7 @@ function back() {
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
.header-title {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color: #111827;
|
||||
}
|
||||
@ -76,10 +76,10 @@ function back() {
|
||||
padding: 120rpx 0;
|
||||
text-align: center;
|
||||
color: #9ca3af;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.sub {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #6b7280;
|
||||
line-height: 48rpx;
|
||||
}
|
||||
@ -93,7 +93,7 @@ function back() {
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
border-radius: 16rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
background: #fff;
|
||||
color: #111827;
|
||||
border: 1px solid #e5e7eb;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<template>
|
||||
<template>
|
||||
<view class="page">
|
||||
<!-- Mobile 来源: ykt-management-mobile/src/pages/customer/visit-record-detail/visit-record-detail.vue -->
|
||||
<view class="body">
|
||||
@ -358,7 +358,7 @@ async function remove() {
|
||||
}
|
||||
.header-title {
|
||||
padding: 28rpx 28rpx;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
@ -385,7 +385,7 @@ async function remove() {
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
border-radius: 12rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.btn::after {
|
||||
border: none;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<template>
|
||||
<template>
|
||||
<!-- 详情页参考截图:顶部蓝条显示创建信息,支持编辑/删除;黄底提示不渲染 -->
|
||||
<view class="page">
|
||||
<scroll-view scroll-y class="scroll" :style="{ height: scrollHeight + 'px' }">
|
||||
@ -667,7 +667,7 @@ function remove() {
|
||||
}
|
||||
.topbar-text {
|
||||
color: #fff;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.content {
|
||||
@ -682,24 +682,24 @@ function remove() {
|
||||
}
|
||||
.label {
|
||||
width: 180rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
color: #111827;
|
||||
}
|
||||
.value {
|
||||
flex: 1;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
word-break: break-all;
|
||||
}
|
||||
.h2 {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 700;
|
||||
color: #111827;
|
||||
padding: 16rpx 0;
|
||||
}
|
||||
.p {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
line-height: 40rpx;
|
||||
white-space: pre-wrap;
|
||||
@ -722,7 +722,7 @@ function remove() {
|
||||
height: 140rpx;
|
||||
}
|
||||
.files-empty {
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #9aa0a6;
|
||||
padding: 16rpx 0;
|
||||
}
|
||||
@ -746,7 +746,7 @@ function remove() {
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
border-radius: 12rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.btn::after {
|
||||
border: none;
|
||||
|
||||
@ -1798,7 +1798,7 @@ onShow(async () => {
|
||||
.team-selector {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
|
||||
@ -1807,7 +1807,7 @@ onShow(async () => {
|
||||
}
|
||||
|
||||
.team-icon {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
@ -1823,7 +1823,7 @@ onShow(async () => {
|
||||
justify-content: center;
|
||||
|
||||
.action-text {
|
||||
font-size: 20rpx;
|
||||
font-size: 22rpx;
|
||||
color: #333;
|
||||
margin-top: 4rpx;
|
||||
}
|
||||
@ -1850,7 +1850,7 @@ onShow(async () => {
|
||||
.tab-item {
|
||||
padding: 10rpx 30rpx;
|
||||
margin-right: 20rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #666;
|
||||
background-color: #fff;
|
||||
border-radius: 8rpx;
|
||||
@ -1866,7 +1866,7 @@ onShow(async () => {
|
||||
}
|
||||
|
||||
.total-count-inline {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #666;
|
||||
white-space: nowrap;
|
||||
flex-shrink: 0;
|
||||
@ -1890,7 +1890,7 @@ onShow(async () => {
|
||||
|
||||
.group-title {
|
||||
padding: 10rpx 30rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
@ -1923,14 +1923,14 @@ onShow(async () => {
|
||||
margin-right: 20rpx;
|
||||
|
||||
.patient-name {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
margin-right: 16rpx;
|
||||
}
|
||||
|
||||
.patient-meta {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
margin-bottom: 4rpx;
|
||||
}
|
||||
@ -1941,7 +1941,7 @@ onShow(async () => {
|
||||
gap: 10rpx;
|
||||
|
||||
.tag {
|
||||
font-size: 20rpx;
|
||||
font-size: 22rpx;
|
||||
color: #5d8aff;
|
||||
border: 2rpx solid #5d8aff;
|
||||
padding: 0 8rpx;
|
||||
@ -1953,7 +1953,7 @@ onShow(async () => {
|
||||
}
|
||||
|
||||
.card-row-middle {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
margin-bottom: 12rpx;
|
||||
|
||||
.record-text {
|
||||
@ -1974,7 +1974,7 @@ onShow(async () => {
|
||||
}
|
||||
|
||||
.card-row-bottom {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
|
||||
.record-text {
|
||||
color: #666;
|
||||
@ -2014,7 +2014,7 @@ onShow(async () => {
|
||||
|
||||
.footer-text {
|
||||
margin-left: 10rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
@ -2024,7 +2024,7 @@ onShow(async () => {
|
||||
gap: 20rpx;
|
||||
|
||||
.footer-btn {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
padding: 0 30rpx;
|
||||
height: 64rpx;
|
||||
line-height: 64rpx;
|
||||
@ -2064,7 +2064,7 @@ onShow(async () => {
|
||||
z-index: 10;
|
||||
|
||||
.index-item {
|
||||
font-size: 20rpx;
|
||||
font-size: 22rpx;
|
||||
color: #555;
|
||||
padding: 4rpx 0;
|
||||
width: 40rpx;
|
||||
|
||||
@ -160,7 +160,7 @@ function toTeams() {
|
||||
}
|
||||
|
||||
.team-name {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
overflow: hidden;
|
||||
@ -206,7 +206,7 @@ function toTeams() {
|
||||
}
|
||||
|
||||
.action-text {
|
||||
font-size: 20rpx;
|
||||
font-size: 22rpx;
|
||||
color: #666;
|
||||
line-height: 1.4;
|
||||
text-align: center;
|
||||
@ -244,7 +244,7 @@ function toTeams() {
|
||||
}
|
||||
|
||||
.tab-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #666;
|
||||
transition: color 0.3s;
|
||||
}
|
||||
@ -280,7 +280,7 @@ function toTeams() {
|
||||
}
|
||||
|
||||
.picker-title {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
}
|
||||
@ -316,13 +316,13 @@ function toTeams() {
|
||||
}
|
||||
|
||||
.team-item-name {
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
color: #333;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.check-icon {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
color: #1890ff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
@ -738,7 +738,7 @@ onHide(() => {
|
||||
}
|
||||
|
||||
.loading-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
@ -749,7 +749,7 @@ onHide(() => {
|
||||
}
|
||||
|
||||
.empty-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
@ -792,7 +792,7 @@ onHide(() => {
|
||||
}
|
||||
|
||||
.unread-text {
|
||||
font-size: 20rpx;
|
||||
font-size: 22rpx;
|
||||
color: #fff;
|
||||
line-height: 1;
|
||||
}
|
||||
@ -820,7 +820,7 @@ onHide(() => {
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
overflow: hidden;
|
||||
@ -830,14 +830,14 @@ onHide(() => {
|
||||
}
|
||||
|
||||
.patient-info {
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
padding-left: 12rpx;
|
||||
color: #999;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
margin-left: 16rpx;
|
||||
flex-shrink: 0;
|
||||
@ -849,7 +849,7 @@ onHide(() => {
|
||||
}
|
||||
|
||||
.preview-text {
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #999;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
@ -865,7 +865,7 @@ onHide(() => {
|
||||
}
|
||||
|
||||
.load-more-text {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
@ -891,7 +891,7 @@ onHide(() => {
|
||||
|
||||
.subscribe-entry-text {
|
||||
width: 56rpx;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
line-height: 1.4;
|
||||
color: #3876f6;
|
||||
text-align: center;
|
||||
|
||||
@ -338,7 +338,7 @@ useShow(async () => {
|
||||
}
|
||||
|
||||
.tag-text {
|
||||
font-size: 22rpx;
|
||||
font-size: 24rpx;
|
||||
line-height: 1;
|
||||
}
|
||||
}
|
||||
@ -367,7 +367,7 @@ useShow(async () => {
|
||||
justify-content: center;
|
||||
|
||||
.more-icon {
|
||||
font-size: 48rpx;
|
||||
font-size: 50rpx;
|
||||
color: #333;
|
||||
line-height: 1;
|
||||
font-weight: bold;
|
||||
|
||||
@ -150,7 +150,7 @@ function save() {
|
||||
border-bottom: 2rpx solid #f2f2f2;
|
||||
}
|
||||
.label {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
@ -158,7 +158,7 @@ function save() {
|
||||
padding: 120rpx 0;
|
||||
text-align: center;
|
||||
color: #9aa0a6;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.footer {
|
||||
position: fixed;
|
||||
@ -174,7 +174,7 @@ function save() {
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
border-radius: 12rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.btn::after {
|
||||
border: none;
|
||||
|
||||
@ -153,7 +153,7 @@ onLoad(async (query) => {
|
||||
}
|
||||
|
||||
.group-title {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
margin-bottom: 20rpx;
|
||||
display: flex;
|
||||
@ -162,7 +162,7 @@ onLoad(async (query) => {
|
||||
}
|
||||
|
||||
.hint {
|
||||
font-size: 22rpx;
|
||||
font-size: 24rpx;
|
||||
color: #5d8aff;
|
||||
}
|
||||
|
||||
@ -177,7 +177,7 @@ onLoad(async (query) => {
|
||||
padding: 12rpx 20rpx;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 16rpx;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
line-height: 1.2em;
|
||||
color: #333;
|
||||
background: #fff;
|
||||
@ -207,7 +207,7 @@ onLoad(async (query) => {
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
border-radius: 12rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
@ -147,7 +147,7 @@ onLoad((opts) => {
|
||||
line-height: 80rpx;
|
||||
background: linear-gradient(270deg, #1b5cc8 2.26%, #0877f1 94.33%);
|
||||
color: #fff;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
border-radius: 48rpx;
|
||||
font-weight: 600;
|
||||
box-shadow: 0 4rpx 16rpx rgba(59, 124, 255, 0.08);
|
||||
|
||||
@ -134,12 +134,12 @@ onLoad((options) => {
|
||||
|
||||
.loading-text {
|
||||
margin-top: 20rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.error-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #999;
|
||||
margin-bottom: 30rpx;
|
||||
text-align: center;
|
||||
@ -151,7 +151,7 @@ onLoad((options) => {
|
||||
color: #fff;
|
||||
border: none;
|
||||
border-radius: 8rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.article-content {
|
||||
@ -165,7 +165,7 @@ onLoad((options) => {
|
||||
|
||||
.article-title {
|
||||
display: block;
|
||||
font-size: 36rpx;
|
||||
font-size: 38rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
line-height: 1.6;
|
||||
@ -174,7 +174,7 @@ onLoad((options) => {
|
||||
|
||||
.article-date {
|
||||
display: block;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
|
||||
@ -558,7 +558,7 @@ watch(userId, n => {
|
||||
.search-input {
|
||||
flex: 1;
|
||||
margin-left: 16rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.content {
|
||||
@ -577,7 +577,7 @@ watch(userId, n => {
|
||||
|
||||
.category-item {
|
||||
padding: 20rpx 24rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #eee;
|
||||
@ -604,7 +604,7 @@ watch(userId, n => {
|
||||
|
||||
.loading-text {
|
||||
margin-top: 20rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
@ -623,6 +623,13 @@ watch(userId, n => {
|
||||
gap: 16rpx;
|
||||
}
|
||||
|
||||
.article-title {
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
line-height: 1.6;
|
||||
word-break: break-all;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.article-footer {
|
||||
display: flex;
|
||||
@ -633,13 +640,13 @@ watch(userId, n => {
|
||||
|
||||
.article-date {
|
||||
flex: 1;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.send-btn {
|
||||
flex-shrink: 0;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
padding: 8rpx 32rpx;
|
||||
height: auto;
|
||||
line-height: 1.4;
|
||||
@ -651,7 +658,7 @@ watch(userId, n => {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 30rpx 0;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
gap: 10rpx;
|
||||
}
|
||||
@ -688,7 +695,7 @@ watch(userId, n => {
|
||||
|
||||
.preview-title {
|
||||
flex: 1;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// SCSS 变量定义
|
||||
$font-size-text: 30rpx;
|
||||
$font-size-tip: 28rpx;
|
||||
$font-size-title: 32rpx;
|
||||
$font-size-text: 32rpx;
|
||||
$font-size-tip: 30rpx;
|
||||
$font-size-title: 34rpx;
|
||||
$text-color-sub: #999;
|
||||
$primary-color: #0877F1;
|
||||
|
||||
@ -287,7 +287,7 @@ $primary-color: #0877F1;
|
||||
}
|
||||
|
||||
.username-text {
|
||||
font-size: 22rpx;
|
||||
font-size: 24rpx;
|
||||
color: #999;
|
||||
line-height: 1.2;
|
||||
}
|
||||
@ -358,7 +358,7 @@ $primary-color: #0877F1;
|
||||
}
|
||||
|
||||
.message-text {
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
line-height: 1.4;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
@ -425,7 +425,7 @@ $primary-color: #0877F1;
|
||||
.send-btn {
|
||||
background: #3876f6;
|
||||
color: #fff;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
border: none;
|
||||
border-radius: 40rpx;
|
||||
@ -448,7 +448,7 @@ $primary-color: #0877F1;
|
||||
.disabled-btn {
|
||||
background: #ccc;
|
||||
color: #fff;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 600;
|
||||
border: none;
|
||||
border-radius: 40rpx;
|
||||
@ -479,7 +479,7 @@ $primary-color: #0877F1;
|
||||
padding: 16rpx;
|
||||
background-color: #f3f5fa;
|
||||
border-radius: 10rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
min-height: 80rpx;
|
||||
max-height: 200rpx;
|
||||
border: none;
|
||||
@ -514,15 +514,15 @@ $primary-color: #0877F1;
|
||||
justify-content: flex-start;
|
||||
background: #fff;
|
||||
border-top: 1rpx solid #eee;
|
||||
padding: 20rpx 0 40rpx 60rpx;
|
||||
gap: 40rpx 50rpx;
|
||||
padding: 20rpx 32rpx 40rpx;
|
||||
gap: 40rpx 28rpx;
|
||||
flex-wrap: wrap;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.more-btn {
|
||||
flex: none;
|
||||
width: 120rpx;
|
||||
width: 144rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
@ -538,6 +538,8 @@ $primary-color: #0877F1;
|
||||
margin-top: 20rpx;
|
||||
font-size: $font-size-text;
|
||||
color: #6b7a8b;
|
||||
line-height: 1.25;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.consultation-bar {
|
||||
@ -1175,7 +1177,7 @@ $primary-color: #0877F1;
|
||||
}
|
||||
|
||||
.voice-duration {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -296,7 +296,7 @@ defineExpose({
|
||||
}
|
||||
|
||||
.button-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333333;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
@ -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) => {
|
||||
inputText.value = text;
|
||||
@ -214,6 +275,7 @@ const clearInputText = () => {
|
||||
// 暴露方法给父组件调用
|
||||
defineExpose({
|
||||
sendTextMessageFromPhrase,
|
||||
sendImageMessageFromPhrase,
|
||||
appendStreamText,
|
||||
setInputText,
|
||||
clearInputText,
|
||||
|
||||
@ -45,7 +45,7 @@ const handleReject = () => {
|
||||
}
|
||||
|
||||
.accept-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
line-height: 1.6;
|
||||
}
|
||||
@ -60,7 +60,7 @@ const handleReject = () => {
|
||||
flex: 1;
|
||||
height: 80rpx;
|
||||
border-radius: 8rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
border: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@ -199,14 +199,14 @@ defineExpose({
|
||||
z-index: 10;
|
||||
|
||||
.close-icon {
|
||||
font-size: 40rpx;
|
||||
font-size: 42rpx;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
|
||||
.progress-content {
|
||||
.progress-title {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color: #333333;
|
||||
margin-bottom: 32rpx;
|
||||
@ -234,7 +234,7 @@ defineExpose({
|
||||
}
|
||||
|
||||
.progress-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #1890ff;
|
||||
font-weight: 600;
|
||||
min-width: 80rpx;
|
||||
@ -246,7 +246,7 @@ defineExpose({
|
||||
margin-bottom: 24rpx;
|
||||
|
||||
.detected-title {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #666666;
|
||||
display: block;
|
||||
margin-bottom: 16rpx;
|
||||
@ -269,7 +269,7 @@ defineExpose({
|
||||
}
|
||||
|
||||
.check-icon {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #52c41a;
|
||||
font-weight: bold;
|
||||
margin-top: 2rpx;
|
||||
@ -277,7 +277,7 @@ defineExpose({
|
||||
|
||||
.info-text {
|
||||
flex: 1;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
line-height: 1.6;
|
||||
word-break: break-all;
|
||||
@ -292,7 +292,7 @@ defineExpose({
|
||||
}
|
||||
|
||||
.generating-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #1890ff;
|
||||
text-align: center;
|
||||
padding: 16rpx 0;
|
||||
@ -345,7 +345,7 @@ defineExpose({
|
||||
}
|
||||
|
||||
.button-text {
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
|
||||
@ -81,7 +81,7 @@ defineExpose({
|
||||
margin-bottom: 40rpx;
|
||||
|
||||
.header-title {
|
||||
font-size: 36rpx;
|
||||
font-size: 38rpx;
|
||||
font-weight: 600;
|
||||
color: #333333;
|
||||
}
|
||||
@ -94,7 +94,7 @@ defineExpose({
|
||||
justify-content: center;
|
||||
|
||||
.close-icon {
|
||||
font-size: 40rpx;
|
||||
font-size: 42rpx;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
@ -123,7 +123,7 @@ defineExpose({
|
||||
}
|
||||
|
||||
.type-name {
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
text-align: center;
|
||||
font-weight: 500;
|
||||
|
||||
@ -159,7 +159,7 @@ const handleConfirm = () => {
|
||||
}
|
||||
|
||||
.modal-title {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
line-height: 1.5;
|
||||
@ -194,7 +194,7 @@ const handleConfirm = () => {
|
||||
}
|
||||
|
||||
.option-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
flex: 1;
|
||||
}
|
||||
@ -220,13 +220,13 @@ const handleConfirm = () => {
|
||||
}
|
||||
|
||||
.check-mark {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.arrow-icon {
|
||||
font-size: 40rpx;
|
||||
font-size: 42rpx;
|
||||
color: #999;
|
||||
font-weight: 300;
|
||||
}
|
||||
@ -241,7 +241,7 @@ const handleConfirm = () => {
|
||||
.custom-textarea {
|
||||
width: 100%;
|
||||
min-height: 120rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
line-height: 1.6;
|
||||
background-color: transparent;
|
||||
@ -253,7 +253,7 @@ const handleConfirm = () => {
|
||||
.char-count {
|
||||
display: block;
|
||||
text-align: right;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
margin-top: 8rpx;
|
||||
}
|
||||
@ -270,7 +270,7 @@ const handleConfirm = () => {
|
||||
flex: 1;
|
||||
height: 80rpx;
|
||||
border-radius: 8rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
border: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@ -149,7 +149,7 @@ const notifyText = computed(() => {
|
||||
|
||||
.notify-text {
|
||||
margin: 0 20rpx;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: red;
|
||||
white-space: nowrap;
|
||||
flex-shrink: 0;
|
||||
|
||||
@ -992,11 +992,46 @@ onHide(() => {
|
||||
console.log("✓ 页面隐藏,已清空当前会话ID");
|
||||
});
|
||||
|
||||
const sendCommonPhrase = (content) => {
|
||||
if (chatInputRef.value) {
|
||||
// 覆盖输入框内容,而不是直接发送
|
||||
const sendCommonPhrase = async (phraseOrContent) => {
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
};
|
||||
|
||||
// 处理流式文本输入
|
||||
|
||||
@ -118,7 +118,7 @@ onLoad(opts => {
|
||||
|
||||
@at-root &__customer {
|
||||
text-align: right;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
padding-bottom: 16rpx;
|
||||
margin-bottom: 24rpx;
|
||||
color: #333;
|
||||
@ -127,7 +127,7 @@ onLoad(opts => {
|
||||
|
||||
@at-root &__title {
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
@ -135,7 +135,7 @@ onLoad(opts => {
|
||||
@at-root &__desc {
|
||||
text-align: left;
|
||||
color: #666;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
@ -146,7 +146,7 @@ onLoad(opts => {
|
||||
|
||||
@at-root &__question {
|
||||
position: relative;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
margin-bottom: 24rpx;
|
||||
|
||||
@at-root &--require::before {
|
||||
@ -160,7 +160,7 @@ onLoad(opts => {
|
||||
|
||||
@at-root &__input {
|
||||
padding: 10rpx 24rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
border: 1px solid #eee;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
@ -176,7 +176,7 @@ onLoad(opts => {
|
||||
margin-top: 30rpx;
|
||||
padding: 24rpx 30rpx;
|
||||
border-radius: 8rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #fff;
|
||||
background: #006eff;
|
||||
text-align: center;
|
||||
@ -194,7 +194,7 @@ onLoad(opts => {
|
||||
|
||||
@at-root &__label {
|
||||
flex-grow: 1;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
}
|
||||
}
|
||||
|
||||
@ -213,7 +213,7 @@ onLoad(opts => {
|
||||
}
|
||||
|
||||
@at-root &__txt {
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
|
||||
@ -414,7 +414,7 @@ onMounted(() => {
|
||||
.search-input {
|
||||
flex: 1;
|
||||
margin-left: 16rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.content {
|
||||
@ -435,7 +435,7 @@ onMounted(() => {
|
||||
|
||||
.category-item {
|
||||
padding: 20rpx 24rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #eee;
|
||||
@ -470,7 +470,7 @@ onMounted(() => {
|
||||
|
||||
.loading-text {
|
||||
margin-top: 20rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
@ -489,7 +489,7 @@ onMounted(() => {
|
||||
}
|
||||
|
||||
.survey-title {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
font-weight: 500;
|
||||
line-height: 1.5;
|
||||
@ -497,7 +497,7 @@ onMounted(() => {
|
||||
}
|
||||
|
||||
.survey-desc {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
line-height: 1.4;
|
||||
overflow: hidden;
|
||||
@ -512,7 +512,7 @@ onMounted(() => {
|
||||
}
|
||||
|
||||
.send-btn {
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.loading-more,
|
||||
@ -521,7 +521,7 @@ onMounted(() => {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 30rpx 0;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
gap: 10rpx;
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@ function save() {
|
||||
padding: 32rpx 28rpx 0;
|
||||
}
|
||||
.title {
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 700;
|
||||
color: #111827;
|
||||
margin-bottom: 20rpx;
|
||||
@ -99,7 +99,7 @@ function save() {
|
||||
border-radius: 16rpx;
|
||||
padding: 20rpx;
|
||||
box-sizing: border-box;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #111827;
|
||||
}
|
||||
.placeholder {
|
||||
@ -121,7 +121,7 @@ function save() {
|
||||
height: 88rpx;
|
||||
line-height: 88rpx;
|
||||
border-radius: 12rpx;
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.btn::after {
|
||||
border: none;
|
||||
|
||||
@ -247,7 +247,7 @@ useLoad((opt) => {
|
||||
border-radius: 32rpx;
|
||||
background: #fff;
|
||||
border: 1px solid #e5e8ef;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.search-placeholder {
|
||||
@ -255,7 +255,7 @@ useLoad((opt) => {
|
||||
}
|
||||
|
||||
.clear-btn {
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #2a6ff2;
|
||||
padding: 6rpx 10rpx;
|
||||
}
|
||||
@ -266,7 +266,7 @@ useLoad((opt) => {
|
||||
|
||||
.sidebar-item {
|
||||
padding: 30rpx 18rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #eef0f5;
|
||||
@ -287,7 +287,7 @@ useLoad((opt) => {
|
||||
|
||||
.sidebar-empty {
|
||||
padding: 40rpx 16rpx;
|
||||
font-size: 24rpx;
|
||||
font-size: 26rpx;
|
||||
color: #8c94a6;
|
||||
text-align: center;
|
||||
}
|
||||
@ -326,7 +326,7 @@ useLoad((opt) => {
|
||||
}
|
||||
|
||||
.dept-name {
|
||||
font-size: 30rpx;
|
||||
font-size: 32rpx;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
@ -342,7 +342,7 @@ useLoad((opt) => {
|
||||
padding: 12rpx 16rpx;
|
||||
background: #f6f8fb;
|
||||
border-radius: 10rpx;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #3a3a3a;
|
||||
border: 1px solid #e5e9f2;
|
||||
display: flex;
|
||||
@ -363,7 +363,7 @@ useLoad((opt) => {
|
||||
|
||||
.check-tag {
|
||||
padding: 6rpx 14rpx;
|
||||
font-size: 22rpx;
|
||||
font-size: 24rpx;
|
||||
color: #2a6ff2;
|
||||
background: #eaf1ff;
|
||||
border-radius: 20rpx;
|
||||
@ -382,7 +382,7 @@ useLoad((opt) => {
|
||||
|
||||
.footer-tip {
|
||||
padding: 24rpx 20rpx 40rpx;
|
||||
font-size: 26rpx;
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
text-align: center;
|
||||
line-height: 1.6;
|
||||
|
||||
@ -12,10 +12,10 @@
|
||||
</view>
|
||||
</template>
|
||||
<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)">
|
||||
<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" />
|
||||
</view>
|
||||
</scroll-view>
|
||||
@ -52,6 +52,10 @@ function select(i) {
|
||||
hospital.value = i;
|
||||
}
|
||||
|
||||
function getHospitalId(item) {
|
||||
return item?.hospitalId || item?._id || "";
|
||||
}
|
||||
|
||||
function getMore() {
|
||||
if (hasMore.value && !loading.value) {
|
||||
changePage(page.value + 1)
|
||||
@ -60,7 +64,11 @@ function getMore() {
|
||||
|
||||
function save() {
|
||||
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()
|
||||
} else {
|
||||
toast('请选择医院')
|
||||
|
||||
@ -239,7 +239,7 @@ const openDepartmentSelect = () => {
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
text-align: right;
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
|
||||
input {
|
||||
text-align: right;
|
||||
@ -267,7 +267,7 @@ const openDepartmentSelect = () => {
|
||||
justify-content: center;
|
||||
|
||||
.avatar-icon {
|
||||
font-size: 48rpx;
|
||||
font-size: 50rpx;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
@ -290,7 +290,7 @@ const openDepartmentSelect = () => {
|
||||
line-height: 88rpx;
|
||||
text-align: center;
|
||||
border-radius: 8rpx;
|
||||
font-size: 32rpx;
|
||||
font-size: 34rpx;
|
||||
}
|
||||
|
||||
.btn-cancel {
|
||||
|
||||
@ -78,7 +78,13 @@ function selectHospital() {
|
||||
url: `/pages/work/hospital-select?eventName=${eventName}`
|
||||
})
|
||||
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('请上传医师执业资格证第二页')
|
||||
}
|
||||
const data = {
|
||||
hospitalId: formData.value.hospitalId || '',
|
||||
hospitalName: formData.value.hospitalName,
|
||||
medicalLicenseFront: formData.value.medicalLicenseFront,
|
||||
medicalLicenseBack: formData.value.medicalLicenseBack,
|
||||
|
||||
@ -322,7 +322,7 @@ useShow(async () => {
|
||||
}
|
||||
|
||||
.tag-text {
|
||||
font-size: 22rpx;
|
||||
font-size: 24rpx;
|
||||
line-height: 1;
|
||||
}
|
||||
}
|
||||
@ -351,7 +351,7 @@ useShow(async () => {
|
||||
justify-content: center;
|
||||
|
||||
.more-icon {
|
||||
font-size: 48rpx;
|
||||
font-size: 50rpx;
|
||||
color: #333;
|
||||
line-height: 1;
|
||||
font-weight: bold;
|
||||
|
||||
@ -46,11 +46,11 @@ $spacing-base: 24rpx;
|
||||
$spacing-large: 32rpx;
|
||||
|
||||
// 字体大小
|
||||
$font-size-small: 24rpx;
|
||||
$font-size-base: 28rpx;
|
||||
$font-size-medium: 32rpx;
|
||||
$font-size-large: 36rpx;
|
||||
$font-size-xlarge: 40rpx;
|
||||
$font-size-small: 26rpx;
|
||||
$font-size-base: 30rpx;
|
||||
$font-size-medium: 34rpx;
|
||||
$font-size-large: 38rpx;
|
||||
$font-size-xlarge: 42rpx;
|
||||
|
||||
// 阴影
|
||||
$box-shadow-light: 0 2rpx 12rpx rgba(0, 0, 0, 0.04);
|
||||
|
||||
15
utils/api.js
15
utils/api.js
@ -43,17 +43,18 @@ const urlsConfig = {
|
||||
getArticleByIds: 'getArticleByIds',// 诊断库
|
||||
getDisease: 'getDisease',
|
||||
getCommonPhrases: 'getCommonPhrases',
|
||||
getCommonWordsList: 'getCommonWordsList',
|
||||
getCorpCommonWordCate: 'getCorpCommonWordCate',
|
||||
getUserCommonWordCate: 'getUserCommonWordCate',
|
||||
addUserCommonWordCate: 'addUserCommonWordCate',
|
||||
updateUserCommonWordCate: 'updateUserCommonWordCate',
|
||||
deleteUserCommonWordCate: 'deleteUserCommonWordCate',
|
||||
setCommonWords: 'setCommonWords',
|
||||
removeCommonWords: 'removeCommonWords',
|
||||
saveCommonPhrase: 'saveCommonPhrase',
|
||||
deleteCommonPhrase: 'deleteCommonPhrase',
|
||||
getCommonPhraseCategories: 'getCommonPhraseCategories',
|
||||
saveCommonPhraseCategory: 'saveCommonPhraseCategory',
|
||||
// 个人常用语接口
|
||||
getPersonalPhrases: 'getPersonalPhrases',
|
||||
savePersonalPhrase: 'savePersonalPhrase',
|
||||
deletePersonalPhrase: 'deletePersonalPhrase',
|
||||
getPersonalPhraseCategories: 'getPersonalPhraseCategories',
|
||||
savePersonalPhraseCategory: 'savePersonalPhraseCategory',
|
||||
deletePersonalPhraseCategory: 'deletePersonalPhraseCategory',
|
||||
// 宣教文章接口
|
||||
getArticleCateList: 'getArticleCateList',
|
||||
getArticleList: 'getArticleList',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user