chore:表单样式更新
This commit is contained in:
@@ -81,11 +81,18 @@
|
||||
sceneParams = sceneParams.split('&');
|
||||
if (sceneParams.length) {
|
||||
sceneParams.forEach(item => {
|
||||
if (item.indexOf('id') != -1) this.id = item.split('-')[1];
|
||||
// scene 中也可能携带其他参数
|
||||
if (!item) return;
|
||||
// 兼容标准 key=value(id=13&uniacid=1)与旧式 id-13 两种 scene 格式
|
||||
let pair = item.split('=');
|
||||
if (pair.length === 2 && pair[0] !== 'id') {
|
||||
this.urlParams[pair[0]] = pair[1];
|
||||
if (pair.length === 2) {
|
||||
const key = pair[0];
|
||||
const val = pair[1];
|
||||
if (key === 'id') this.id = val;
|
||||
else if (key === 'uniacid') this.uniacid = val;
|
||||
else this.urlParams[key] = val;
|
||||
} else if (item.indexOf('id') === 0 && item.indexOf('-') !== -1) {
|
||||
// 旧格式兜底:id-13
|
||||
this.id = item.split('-')[1];
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -344,13 +351,14 @@
|
||||
|
||||
.captcha-input {
|
||||
flex: 1;
|
||||
height: 72rpx;
|
||||
line-height: 72rpx;
|
||||
height: 84rpx;
|
||||
line-height: 84rpx;
|
||||
font-size: 28rpx;
|
||||
border: 2rpx solid #e5e7eb;
|
||||
border-radius: 12rpx;
|
||||
padding: 0 20rpx;
|
||||
border: 1rpx solid #e5e7eb;
|
||||
border-radius: 16rpx;
|
||||
padding: 0 24rpx;
|
||||
box-sizing: border-box;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.captcha-img {
|
||||
|
||||
@@ -166,9 +166,32 @@ export default {
|
||||
// - show_tip / form_tip:交给 diy-form 渲染 tip,样式走 form_config;form_tip 给保底文案
|
||||
// 注:本 computed 只在 <block v-if="detail"> 内被消费,无需 null 守卫
|
||||
diyValue() {
|
||||
// 新视觉默认样式:强制覆盖后端 form_config 中可能存在的旧默认(horizontal / 红按钮 / 灰背景等),
|
||||
// 使表单在前端统一呈现为新设计稿样式;后台仍保留行为类配置(如 captcha / behavior / submitText)。
|
||||
const styleDefaults = {
|
||||
formLayout: 'vertical',
|
||||
formPaddingX: 28,
|
||||
rowPaddingY: 24,
|
||||
labelGap: 20,
|
||||
labelFontSize: 32,
|
||||
labelFontWeight: 700,
|
||||
labelColor: '#1f2937',
|
||||
inputHeight: 84,
|
||||
inputRadius: 16,
|
||||
inputBgColor: '#ffffff',
|
||||
inputBorderColor: '#e5e7eb',
|
||||
inputFocusBorderColor: '#3b82f6',
|
||||
inputFocusBgColor: '#ffffff',
|
||||
placeholderColor: '#9ca3af',
|
||||
placeholderFontSize: 28,
|
||||
checkedColor: '#3b82f6',
|
||||
showRowDivider: false,
|
||||
submitColor: '#ffffff',
|
||||
submitBgColor: '#3b82f6'
|
||||
};
|
||||
return {
|
||||
jsonData: this.detail.json_data,
|
||||
formConfig: this.detail.form_config,
|
||||
formConfig: Object.assign({}, this.detail.form_config || {}, styleDefaults),
|
||||
show_banner: this.detail.show_banner,
|
||||
form_banner: this.detail.form_banner || 'public/uniapp/form/banner.png',
|
||||
show_tip: this.detail.show_tip,
|
||||
@@ -251,13 +274,18 @@ export default {
|
||||
const scene = decodeURIComponent(options.scene)
|
||||
const params = scene.split('&')
|
||||
params.length && params.forEach(item => {
|
||||
if (item.indexOf('id') != -1) {
|
||||
this.id = item.split('-')[1]
|
||||
}
|
||||
// scene 中也可能携带其他参数
|
||||
if (!item) return;
|
||||
// 兼容标准 key=value(id=13&uniacid=1)与旧式 id-13 两种 scene 格式
|
||||
let pair = item.split('=');
|
||||
if (pair.length === 2 && pair[0] !== 'id') {
|
||||
this.urlParams[pair[0]] = pair[1];
|
||||
if (pair.length === 2) {
|
||||
const key = pair[0];
|
||||
const val = pair[1];
|
||||
if (key === 'id') this.id = val;
|
||||
else if (key === 'uniacid') this.uniacid = val;
|
||||
else this.urlParams[key] = val;
|
||||
} else if (item.indexOf('id') === 0 && item.indexOf('-') !== -1) {
|
||||
// 旧格式兜底:id-13
|
||||
this.id = item.split('-')[1];
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -739,13 +767,14 @@ page {
|
||||
|
||||
.captcha-input {
|
||||
flex: 1;
|
||||
height: 72rpx;
|
||||
line-height: 72rpx;
|
||||
height: 84rpx;
|
||||
line-height: 84rpx;
|
||||
font-size: 28rpx;
|
||||
border: 2rpx solid #e5e7eb;
|
||||
border-radius: 12rpx;
|
||||
padding: 0 20rpx;
|
||||
border: 1rpx solid #e5e7eb;
|
||||
border-radius: 16rpx;
|
||||
padding: 0 24rpx;
|
||||
box-sizing: border-box;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.captcha-img {
|
||||
@@ -769,13 +798,13 @@ page {
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
// 提交按钮:视觉对齐 diy-form 内置按钮(红底白字圆角,medium 内边距)
|
||||
// 提交按钮:视觉对齐 diy-form 内置按钮(蓝底白字圆角,medium 内边距)
|
||||
.custom-submit {
|
||||
margin-top: 30rpx;
|
||||
padding: 24rpx 0;
|
||||
text-align: center;
|
||||
color: #ffffff;
|
||||
background-color: #ff4544;
|
||||
background-color: #3b82f6;
|
||||
border-radius: 12rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user