fix: 添加页面,统一修改样式。

This commit is contained in:
tianyongbao
2026-02-07 00:36:25 +08:00
parent 7eef22d90c
commit 3a35c8a6f6
10 changed files with 669 additions and 103 deletions

View File

@@ -7,17 +7,17 @@
:labelStyle="{ color: '#333333', fontSize: '30rpx' }">
<u-form-item label="字典名称" prop="dictName" required>
<u--input v-model="form.dictName" placeholder="请输入字典名称"
inputAlign="right" border="none"></u--input>
inputAlign="left" :customStyle="getInputStyle('dictName')"></u--input>
</u-form-item>
<u-form-item label="字典类型" prop="dictType" required>
<u--input v-model="form.dictType" placeholder="请输入字典类型"
inputAlign="right" border="none"></u--input>
inputAlign="left" :customStyle="getInputStyle('dictType')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请输入备注" border="none" autoHeight inputAlign="right" count
maxlength="500" style="padding:18rpx 0;"></u--textarea>
<u--input v-model="form.remark" placeholder="请输入备注" maxlength="500"
inputAlign="left" :customStyle="getInputStyle('remark')"></u--input>
</u-form-item>
</u--form>
<view class="form-btn">
@@ -45,6 +45,32 @@ const form = reactive({
remark: undefined
})
// 表单验证错误字段
const errorFields = ref([])
// 输入框基础样式
const inputBaseStyle = {
background: '#ffffff',
border: '2rpx solid #dcdfe6',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx'
}
// 输入框错误样式
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx'
}
// 根据字段名获取输入框样式
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const rules = {
dictName: [
{ required: true, message: '字典名称不能为空', trigger: ['blur', 'change'] }
@@ -70,6 +96,7 @@ function getDetail(id) {
// 提交
function submit() {
errorFields.value = [] // 清空错误字段
console.log('submit 被调用')
proxy.$refs['uForm'].validate().then(() => {
console.log('验证通过', form.dictId)
@@ -94,7 +121,11 @@ function submit() {
})
})
}
}).catch(() => {
}).catch((errors) => {
// 记录验证失败的字段
if (errors && Array.isArray(errors)) {
errorFields.value = errors.map(err => err.field || err.prop)
}
console.log('验证失败')
proxy.$refs['uToast'].show({
type: 'error',
@@ -145,6 +176,20 @@ function submit() {
}
}
}
.select-input-wrapper {
position: relative;
.select-arrow {
position: absolute;
right: 24rpx;
top: 50%;
transform: translateY(-50%);
color: #c0c4cc;
font-size: 28rpx;
pointer-events: none;
}
}
</style>
<style lang="scss">