|
|
@@ -1,13 +1,18 @@
|
|
|
-<!-- FormCreate 自定义控件:金额(数字 + 可选人民币大写) -->
|
|
|
+<!-- FormCreate 自定义控件:金额(数字 + 可选人民币大写;窄屏/手机预览友好) -->
|
|
|
<template>
|
|
|
<div class="oa-money-field">
|
|
|
<template v-if="isDesignerHost">
|
|
|
- <el-input model-value="" :placeholder="placeholder || '请输入金额'" disabled />
|
|
|
+ <el-input
|
|
|
+ model-value=""
|
|
|
+ :placeholder="placeholder || '请输入金额'"
|
|
|
+ inputmode="decimal"
|
|
|
+ disabled
|
|
|
+ />
|
|
|
<div v-if="showUpper" class="oa-money-field__upper">大写金额预览</div>
|
|
|
</template>
|
|
|
<template v-else-if="disabled">
|
|
|
<div class="oa-money-field__readonly">
|
|
|
- <span>{{ displayNumber || '—' }}</span>
|
|
|
+ <span class="oa-money-field__num">{{ displayNumber || '—' }}</span>
|
|
|
<div v-if="showUpper && upperText" class="oa-money-field__upper">{{ upperText }}</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -17,6 +22,7 @@
|
|
|
:placeholder="placeholder || '请输入金额'"
|
|
|
:min="0"
|
|
|
:precision="2"
|
|
|
+ inputmode="decimal"
|
|
|
@update:model-value="onInput"
|
|
|
/>
|
|
|
<div v-if="showUpper && upperText" class="oa-money-field__upper">{{ upperText }}</div>
|
|
|
@@ -81,10 +87,41 @@
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
+ .oa-money-field {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 窄屏/手机预览:触控高度与全宽 */
|
|
|
+ .oa-money-field :deep(.el-input__wrapper) {
|
|
|
+ min-height: 40px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .oa-money-field__readonly {
|
|
|
+ width: 100%;
|
|
|
+ word-break: break-word;
|
|
|
+ }
|
|
|
+
|
|
|
+ .oa-money-field__num {
|
|
|
+ display: block;
|
|
|
+ line-height: 1.5;
|
|
|
+ }
|
|
|
+
|
|
|
.oa-money-field__upper {
|
|
|
margin-top: 6px;
|
|
|
font-size: 12px;
|
|
|
- line-height: 1.4;
|
|
|
+ line-height: 1.5;
|
|
|
color: var(--mint-text-muted, #64748b);
|
|
|
+ word-break: break-word;
|
|
|
+ overflow-wrap: anywhere;
|
|
|
+ }
|
|
|
+
|
|
|
+ @media (max-width: 767px) {
|
|
|
+ .oa-money-field :deep(.el-input__wrapper) {
|
|
|
+ min-height: 44px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .oa-money-field__upper {
|
|
|
+ font-size: 11px;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|