修改详情页面手机端展示问题

main
kangwenjing 2026-04-15 10:45:46 +08:00
parent 8c0e11b0a8
commit b3f85504f6
8 changed files with 137 additions and 77 deletions

View File

@ -24,29 +24,30 @@
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;RequestMappingsPanelOrder0&quot;: &quot;0&quot;,
&quot;RequestMappingsPanelOrder1&quot;: &quot;1&quot;,
&quot;RequestMappingsPanelWidth0&quot;: &quot;75&quot;,
&quot;RequestMappingsPanelWidth1&quot;: &quot;75&quot;,
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
&quot;git-widget-placeholder&quot;: &quot;main&quot;,
&quot;last_opened_file_path&quot;: &quot;/Users/kangwenjing/Downloads/crm/unis_crm&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;project.structure.last.edited&quot;: &quot;模块&quot;,
&quot;project.structure.proportion&quot;: &quot;0.0&quot;,
&quot;project.structure.side.proportion&quot;: &quot;0.0&quot;,
&quot;ts.external.directory.path&quot;: &quot;/Users/kangwenjing/Downloads/crm/unis_crm/frontend/node_modules/typescript/lib&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"RequestMappingsPanelOrder0": "0",
"RequestMappingsPanelOrder1": "1",
"RequestMappingsPanelWidth0": "75",
"RequestMappingsPanelWidth1": "75",
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"WebServerToolWindowFactoryState": "false",
"git-widget-placeholder": "main",
"last_opened_file_path": "/Users/kangwenjing/Downloads/crm/unis_crm",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "npm",
"project.structure.last.edited": "项目",
"project.structure.proportion": "0.14450866",
"project.structure.side.proportion": "0.18800648",
"settings.editor.selected.configurable": "configurable.group.appearance",
"ts.external.directory.path": "/Users/kangwenjing/Downloads/crm/unis_crm/frontend/node_modules/typescript/lib",
"vue.rearranger.settings.migration": "true"
}
}</component>
}]]></component>
<component name="RunManager" selected="Spring Boot.UnisCrmBackendApplication">
<configuration name="unis-crm-backend中的所有" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="unis-crm-backend" />
@ -92,6 +93,7 @@
<workItem from="1775200047785" duration="3902000" />
<workItem from="1775541962012" duration="805000" />
<workItem from="1775611219527" duration="1273000" />
<workItem from="1775721940000" duration="8576000" />
</task>
<task id="LOCAL-00001" summary="修改定位信息 0323">
<option name="closed" value="true" />

View File

@ -2263,7 +2263,7 @@ export default function Expansion() {
animate={{ x: 0, y: 0 }}
exit={{ x: "100%", y: 0 }}
transition={{ type: "spring", damping: 25, stiffness: 200 }}
className={`fixed inset-x-0 bottom-0 z-50 flex h-[88dvh] w-full flex-col rounded-t-3xl border border-slate-200 bg-white shadow-2xl transition-opacity dark:border-slate-800 dark:bg-slate-900 sm:inset-y-0 sm:right-0 sm:left-auto sm:h-full sm:max-w-2xl lg:max-w-3xl sm:rounded-none sm:rounded-l-3xl sm:border-l ${
className={`fixed inset-x-0 bottom-0 z-50 flex h-[88dvh] w-full flex-col overflow-hidden rounded-t-3xl border border-slate-200 bg-white shadow-2xl transition-opacity dark:border-slate-800 dark:bg-slate-900 sm:inset-y-0 sm:right-0 sm:left-auto sm:h-full sm:max-w-2xl lg:max-w-3xl sm:rounded-none sm:rounded-l-3xl sm:border-l ${
hasForegroundModal ? "pointer-events-none opacity-20" : ""
}`}
>
@ -2277,7 +2277,7 @@ export default function Expansion() {
</button>
</div>
<div className="flex-1 overflow-y-auto px-5 py-5 sm:px-6">
<div className="min-h-0 flex-1 overflow-y-auto px-5 py-5 sm:px-6">
<div className="crm-modal-stack">
<div>
{selectedItem.type === "sales" ? (
@ -2480,18 +2480,20 @@ export default function Expansion() {
</div>
)}
</div>
</div>
<div className="sticky bottom-0 bg-slate-50/95 px-4 pb-[calc(1rem+env(safe-area-inset-bottom))] pt-4 backdrop-blur sm:static sm:p-4 dark:bg-slate-900/90">
<div className="w-full shrink-0 border-t border-slate-200/80 bg-slate-50/95 backdrop-blur dark:border-slate-800/80 dark:bg-slate-900/90">
<div className="px-4 pb-[calc(1rem+env(safe-area-inset-bottom))] pt-4 sm:p-4">
{!canEditSelectedItem ? (
<p className="mb-3 text-xs text-slate-400 dark:text-slate-500"></p>
) : null}
<div className="flex">
<div className="grid grid-cols-1 gap-3">
<button
type="button"
onClick={() => void handleOpenEdit()}
disabled={!canEditSelectedItem}
title={canEditSelectedItem ? "编辑资料" : "仅本人可操作"}
className="crm-btn-sm crm-btn-secondary flex-1 disabled:cursor-not-allowed disabled:opacity-60"
className="crm-btn crm-btn-secondary inline-flex h-11 w-full items-center justify-center disabled:cursor-not-allowed disabled:opacity-60"
>
{canEditSelectedItem ? "编辑资料" : "仅本人可操作"}
</button>

View File

@ -2506,7 +2506,7 @@ export default function Opportunities() {
animate={{ x: 0, y: 0 }}
exit={{ x: "100%", y: 0 }}
transition={{ type: "spring", damping: 25, stiffness: 200 }}
className={`fixed inset-x-0 bottom-0 z-50 flex h-[90dvh] w-full flex-col rounded-t-3xl border border-slate-200 bg-white shadow-2xl transition-opacity dark:border-slate-800 dark:bg-slate-900 sm:inset-y-0 sm:right-0 sm:left-auto sm:h-full sm:w-[min(840px,92vw)] sm:max-w-none sm:rounded-none sm:rounded-l-3xl sm:border-l lg:w-[min(960px,90vw)] ${hasForegroundModal ? "pointer-events-none opacity-20" : ""}`}
className={`fixed inset-x-0 bottom-0 z-50 flex h-[90dvh] w-full flex-col overflow-hidden rounded-t-3xl border border-slate-200 bg-white shadow-2xl transition-opacity dark:border-slate-800 dark:bg-slate-900 sm:inset-y-0 sm:right-0 sm:left-auto sm:h-full sm:w-[min(840px,92vw)] sm:max-w-none sm:rounded-none sm:rounded-l-3xl sm:border-l lg:w-[min(960px,90vw)] ${hasForegroundModal ? "pointer-events-none opacity-20" : ""}`}
>
<div className="flex items-center justify-between border-b border-slate-100 px-5 py-4 dark:border-slate-800 sm:px-6">
<div className="flex items-center gap-3">
@ -2518,7 +2518,7 @@ export default function Opportunities() {
</button>
</div>
<div className="flex-1 overflow-y-auto px-4 py-4 sm:px-6 sm:py-5">
<div className="min-h-0 flex-1 overflow-y-auto px-4 py-4 sm:px-6 sm:py-5">
<div className="crm-modal-stack">
<div>
<div className="mb-2 flex items-center gap-2">
@ -2671,7 +2671,8 @@ export default function Opportunities() {
</div>
</div>
</div>
<div className="sticky bottom-0 bg-slate-50/95 px-4 pb-[calc(1rem+env(safe-area-inset-bottom))] pt-4 backdrop-blur sm:static sm:p-4 dark:bg-slate-900/90">
<div className="w-full shrink-0 border-t border-slate-200/80 bg-slate-50/95 backdrop-blur dark:border-slate-800/80 dark:bg-slate-900/90">
<div className="px-4 pb-[calc(1rem+env(safe-area-inset-bottom))] pt-4 sm:p-4">
{error ? <div className="crm-alert crm-alert-error mb-3">{error}</div> : null}
{!canEditSelectedItem ? (
<p className="mb-3 text-xs text-slate-400 dark:text-slate-500"></p>
@ -2708,6 +2709,7 @@ export default function Opportunities() {
</button>
</div>
</div>
</div>
</motion.div>
</>
)}

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

View File

@ -0,0 +1,54 @@
{
"opportunityMetrics": {
"initialMetrics": {
"viewportHeight": 932,
"panelBottom": 932,
"scrollBottom": 822,
"footerTop": 822,
"footerBottom": 931,
"overlap": 0,
"safeBottom": "16px",
"scrollHeight": 1268,
"clientHeight": 640,
"scrollTop": 0
},
"bottomMetrics": {
"viewportHeight": 932,
"panelBottom": 932,
"scrollBottom": 822,
"footerTop": 822,
"footerBottom": 931,
"overlap": 0,
"safeBottom": "16px",
"scrollHeight": 1268,
"clientHeight": 640,
"scrollTop": 628
}
},
"channelMetrics": {
"initialMetrics": {
"viewportHeight": 932,
"panelBottom": 932,
"scrollBottom": 931,
"footerTop": 181.84375,
"footerBottom": 931,
"overlap": 749.15625,
"safeBottom": "20px",
"scrollHeight": 1316,
"clientHeight": 749,
"scrollTop": 0
},
"bottomMetrics": {
"viewportHeight": 932,
"panelBottom": 932,
"scrollBottom": 931,
"footerTop": 181.84375,
"footerBottom": 931,
"overlap": 749.15625,
"safeBottom": "20px",
"scrollHeight": 1316,
"clientHeight": 749,
"scrollTop": 567
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB