修改完成
This commit is contained in:
+20
-73
@@ -2,6 +2,7 @@
|
||||
<template>
|
||||
<view
|
||||
class="module-page"
|
||||
:style="moduleAssetStyle"
|
||||
:class="[
|
||||
`module-page--${moduleKey}`,
|
||||
`module-page--${page.template}`,
|
||||
@@ -20,17 +21,12 @@
|
||||
|
||||
<view v-else-if="moduleState === 'ready'" class="module-page__content">
|
||||
<view class="module-lead">
|
||||
<image
|
||||
src="/static/assets/modules/genealogy/transparent/section-divider.png"
|
||||
mode="scaleToFill"
|
||||
/>
|
||||
<text>{{ page.subtitle }}</text>
|
||||
</view>
|
||||
|
||||
<view v-if="page.template === 'form'" class="module-panel module-form">
|
||||
<text class="section-eyebrow">填写信息</text>
|
||||
<view v-for="field in page.fields" :key="field" class="form-row">
|
||||
<image :src="fieldAsset" mode="scaleToFill" />
|
||||
<text>{{ field }}</text>
|
||||
<input
|
||||
:placeholder="`请输入${field}`"
|
||||
@@ -48,7 +44,6 @@
|
||||
class="list-card"
|
||||
@click="openPreview(item)"
|
||||
>
|
||||
<image :src="contentAsset" mode="scaleToFill" />
|
||||
<view class="list-card__copy">
|
||||
<text>{{ item[0] }}</text>
|
||||
<text>{{ item[1] }}</text>
|
||||
@@ -64,7 +59,6 @@
|
||||
>
|
||||
<text class="section-eyebrow">档案详情</text>
|
||||
<view v-for="item in page.sections" :key="item[0]" class="detail-card">
|
||||
<image :src="contentAsset" mode="scaleToFill" />
|
||||
<view
|
||||
><text>{{ item[0] }}</text
|
||||
><text>{{ item[1] }}</text></view
|
||||
@@ -82,7 +76,6 @@
|
||||
:key="item[0]"
|
||||
class="timeline-row"
|
||||
>
|
||||
<image :src="contentAsset" mode="scaleToFill" />
|
||||
<view
|
||||
><text>第 {{ index + 1 }} 则</text><text>{{ item[0] }}</text
|
||||
><text>{{ item[1] }}</text></view
|
||||
@@ -102,7 +95,6 @@
|
||||
class="settings-row"
|
||||
@click="openPreview(item)"
|
||||
>
|
||||
<image :src="fieldAsset" mode="scaleToFill" />
|
||||
<view
|
||||
><text>{{ item[0] }}</text
|
||||
><text>{{ normalizedSectionCopy(item[1]) }}</text></view
|
||||
@@ -113,11 +105,6 @@
|
||||
</view>
|
||||
|
||||
<view v-else class="module-panel status-card">
|
||||
<image
|
||||
class="status-card__skin"
|
||||
:src="contentAsset"
|
||||
mode="scaleToFill"
|
||||
/>
|
||||
<view class="status-card__body">
|
||||
<text class="status-card__eyebrow">{{ page.badge }} · 服务说明</text>
|
||||
<text class="status-card__lead">{{ page.lead }}</text>
|
||||
@@ -129,11 +116,6 @@
|
||||
|
||||
<view v-else class="module-page__content module-page__content--state">
|
||||
<view class="module-panel status-card">
|
||||
<image
|
||||
class="status-card__skin"
|
||||
:src="contentAsset"
|
||||
mode="scaleToFill"
|
||||
/>
|
||||
<view class="status-card__body">
|
||||
<text class="status-card__eyebrow">{{ stateCopy.eyebrow }}</text>
|
||||
<text class="status-card__lead">{{ stateCopy.title }}</text>
|
||||
@@ -188,6 +170,10 @@ const fieldAsset = computed(
|
||||
() =>
|
||||
`/static/assets/modules/${assetModule.value}/transparent/module-field-frame.png`,
|
||||
);
|
||||
const moduleAssetStyle = computed(() => ({
|
||||
"--module-content-asset": `url(${contentAsset.value})`,
|
||||
"--module-field-asset": `url(${fieldAsset.value})`,
|
||||
}));
|
||||
const query = (() => {
|
||||
if (typeof location !== "undefined")
|
||||
return Object.fromEntries(
|
||||
@@ -264,16 +250,15 @@ onUnmounted(() => {
|
||||
|
||||
<style scoped lang="scss">
|
||||
.module-page {
|
||||
position: relative;
|
||||
display: flex;
|
||||
min-height: 100vh;
|
||||
overflow-x: hidden;
|
||||
flex-direction: column;
|
||||
background: $paper;
|
||||
}
|
||||
.module-page__header,
|
||||
.module-page__content,
|
||||
.module-page__loading {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
z-index: 1;
|
||||
}
|
||||
.module-page__loading {
|
||||
min-height: calc(100vh - 100rpx);
|
||||
@@ -282,29 +267,20 @@ onUnmounted(() => {
|
||||
padding: 16rpx 26rpx 56rpx;
|
||||
}
|
||||
.module-lead {
|
||||
position: relative;
|
||||
height: 56rpx;
|
||||
min-height: 56rpx;
|
||||
margin: 0 12rpx 18rpx;
|
||||
color: $ink-muted;
|
||||
font-size: 23rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.module-lead image {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: url("/static/assets/modules/genealogy/transparent/section-divider.png") center / 100% 100% no-repeat;
|
||||
}
|
||||
.module-lead text {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
}
|
||||
.module-panel {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
.section-eyebrow {
|
||||
@@ -317,7 +293,6 @@ onUnmounted(() => {
|
||||
letter-spacing: 3rpx;
|
||||
}
|
||||
.form-row {
|
||||
position: relative;
|
||||
display: grid;
|
||||
grid-template-columns: auto minmax(0, 1fr);
|
||||
min-height: 84rpx;
|
||||
@@ -327,30 +302,19 @@ onUnmounted(() => {
|
||||
padding: 14rpx 26rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.form-row image,
|
||||
.detail-card image,
|
||||
.settings-row image,
|
||||
.list-card > image,
|
||||
.timeline-row > image {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
pointer-events: none;
|
||||
.form-row,
|
||||
.settings-row {
|
||||
background: var(--module-field-asset) center / 100% 100% no-repeat;
|
||||
}
|
||||
.form-row > text {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
color: $ink;
|
||||
font-size: 24rpx;
|
||||
font-weight: 700;
|
||||
}
|
||||
.form-row input {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
height: 56rpx;
|
||||
min-height: 56rpx;
|
||||
color: $ink;
|
||||
font-size: 23rpx;
|
||||
text-align: right;
|
||||
@@ -379,13 +343,16 @@ onUnmounted(() => {
|
||||
}
|
||||
.list-card,
|
||||
.timeline-row {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
min-height: 188rpx;
|
||||
}
|
||||
.list-card,
|
||||
.detail-card,
|
||||
.timeline-row,
|
||||
.status-card {
|
||||
background: var(--module-content-asset) center / 100% 100% no-repeat;
|
||||
}
|
||||
.list-card__copy {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
padding: 34rpx 46rpx 28rpx;
|
||||
}
|
||||
.list-card__copy text {
|
||||
@@ -410,13 +377,10 @@ onUnmounted(() => {
|
||||
font-weight: 600;
|
||||
}
|
||||
.detail-card {
|
||||
position: relative;
|
||||
min-height: 170rpx;
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
.detail-card > view {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
padding: 34rpx 44rpx;
|
||||
}
|
||||
.detail-card text,
|
||||
@@ -435,8 +399,6 @@ onUnmounted(() => {
|
||||
line-height: 1.55;
|
||||
}
|
||||
.timeline-row > view {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
padding: 29rpx 44rpx;
|
||||
}
|
||||
.timeline-row text {
|
||||
@@ -460,7 +422,6 @@ onUnmounted(() => {
|
||||
font-size: 23rpx;
|
||||
}
|
||||
.settings-row {
|
||||
position: relative;
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) auto;
|
||||
min-height: 94rpx;
|
||||
@@ -470,10 +431,6 @@ onUnmounted(() => {
|
||||
padding: 20rpx 28rpx 18rpx 26rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.settings-row > view {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
.settings-row > view text:first-child {
|
||||
color: $ink;
|
||||
font-size: 24rpx;
|
||||
@@ -485,8 +442,6 @@ onUnmounted(() => {
|
||||
font-size: 21rpx;
|
||||
}
|
||||
.settings-row > text {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
color: $brand-red;
|
||||
font-size: 21rpx;
|
||||
font-weight: 600;
|
||||
@@ -495,15 +450,7 @@ onUnmounted(() => {
|
||||
min-height: 330rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.status-card__skin {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.status-card__body {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
padding: 70rpx 60rpx 48rpx;
|
||||
}
|
||||
.status-card__eyebrow {
|
||||
|
||||
Reference in New Issue
Block a user