|
|
@@ -96,12 +96,14 @@
|
|
|
/>
|
|
|
</view>
|
|
|
</view>
|
|
|
-
|
|
|
- <view class="footer-bar">
|
|
|
- <button class="footer-btn preview" type="button" @click="previewContent">预览</button>
|
|
|
- <button class="footer-btn submit" formType="submit">确认</button>
|
|
|
- </view>
|
|
|
</form>
|
|
|
+
|
|
|
+ <!-- 底部按钮放在 form 外,避免小程序原生 textarea 与 fixed 底栏层级错乱 -->
|
|
|
+ <view class="footer-placeholder"></view>
|
|
|
+ <view class="footer-bar">
|
|
|
+ <button class="footer-btn preview" type="button" @click="previewContent">预览</button>
|
|
|
+ <button class="footer-btn submit" type="button" @click="formSubmit">确认</button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
@@ -120,8 +122,8 @@ export default {
|
|
|
title: '',
|
|
|
summary: '',
|
|
|
positions: [],
|
|
|
- sort: '',
|
|
|
- status: 0,
|
|
|
+ sort: '10',
|
|
|
+ status: 1,
|
|
|
imageTextVos: []
|
|
|
},
|
|
|
positionOptions: [
|
|
|
@@ -179,7 +181,7 @@ export default {
|
|
|
summary: res.data.summary || '',
|
|
|
positions: res.data.positions || [],
|
|
|
sort: res.data.sort !== undefined && res.data.sort !== null ? String(res.data.sort) : '',
|
|
|
- status: Number(res.data.status) || 0,
|
|
|
+ status: Number(res.data.status) || 1,
|
|
|
imageTextVos: content
|
|
|
}
|
|
|
this.$nextTick(() => {
|
|
|
@@ -271,7 +273,7 @@ export default {
|
|
|
<style lang="scss" scoped>
|
|
|
.app-content {
|
|
|
min-height: 100vh;
|
|
|
- padding: 24rpx 24rpx calc(160rpx + env(safe-area-inset-bottom));
|
|
|
+ padding: 24rpx 24rpx 0;
|
|
|
background: #f3f4f6;
|
|
|
box-sizing: border-box;
|
|
|
}
|
|
|
@@ -418,8 +420,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.content-card {
|
|
|
- padding-bottom: 0;
|
|
|
- overflow: hidden;
|
|
|
+ padding-bottom: 24rpx;
|
|
|
}
|
|
|
|
|
|
.content-header {
|
|
|
@@ -445,7 +446,7 @@ export default {
|
|
|
|
|
|
::v-deep .content-area {
|
|
|
min-height: 280rpx;
|
|
|
- padding: 0 28rpx 20rpx;
|
|
|
+ padding: 0 28rpx 40rpx;
|
|
|
background: #fff;
|
|
|
}
|
|
|
|
|
|
@@ -499,16 +500,21 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+.footer-placeholder {
|
|
|
+ height: calc(140rpx + env(safe-area-inset-bottom));
|
|
|
+}
|
|
|
+
|
|
|
.footer-bar {
|
|
|
position: fixed;
|
|
|
left: 0;
|
|
|
right: 0;
|
|
|
bottom: 0;
|
|
|
+ z-index: 999;
|
|
|
display: flex;
|
|
|
- gap: 24rpx;
|
|
|
padding: 20rpx 30rpx calc(20rpx + env(safe-area-inset-bottom));
|
|
|
background: #fff;
|
|
|
box-shadow: 0 -2rpx 16rpx rgba(0, 0, 0, 0.06);
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
|
|
|
|
.footer-btn {
|
|
|
@@ -521,6 +527,10 @@ export default {
|
|
|
border-radius: 20rpx;
|
|
|
border: none;
|
|
|
|
|
|
+ &:first-child {
|
|
|
+ margin-right: 24rpx;
|
|
|
+ }
|
|
|
+
|
|
|
&::after {
|
|
|
border: none;
|
|
|
}
|