fix: 功能样式,统一优化完善。

This commit is contained in:
tianyongbao
2026-06-28 12:06:05 +08:00
parent a506f2de98
commit f353971554
39 changed files with 1096 additions and 374 deletions

View File

@@ -11,29 +11,29 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="信用卡" prop="creditCardName" required @click="handleCreditCard">
<view class="input-with-arrow">
<u--input v-model="form.creditCardName" readonly disabledColor="#ffffff" placeholder="请选择信用卡"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('creditCardName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="账单日" prop="billDate" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.billDate" readonly disabledColor="#ffffff" placeholder="请选择账单日" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.billDate" readonly disabledColor="#ffffff" placeholder="请选择账单日" inputAlign="left" :customStyle="getInputStyle('billDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="账单金额" prop="billAmount" required >
<u--input v-model="form.billAmount" type="number" placeholder="请填写账单金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('billAmount')"></u--input>
</u-form-item>
<u-form-item label="账单状态" prop="billStateName" required @click="handleShowTeam">
<view class="input-with-arrow">
<u--input v-model="form.billStateName" readonly disabledColor="#ffffff" placeholder="请选择账单状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('billStateName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -92,6 +92,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -210,7 +223,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateCreditCardBill(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -228,6 +242,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>