[WIP] Заменил инпуты с датой на baseInput, исправил стили, фикс станицы логина
This commit is contained in:
@@ -4,19 +4,16 @@
|
||||
.flex.items-center(v-if="field.type === 'text' || field.type === 'textarea'" class="gap-x-2.5")
|
||||
span.w-4.icon(v-if="field.icon" :class="field.icon")
|
||||
base-input(v-model="data[field.label]" :with-icon="field.copy")
|
||||
.copy.icon-copy.cursor-pointer(
|
||||
v-if="field.copy && data[field.label]",
|
||||
@click="() => copyValue(data[field.label])"
|
||||
)
|
||||
base-input-date(v-if="field.type === 'date'" v-model="data[field.label]")
|
||||
.flex.items-center(v-if="field.copy && data[field.label]")
|
||||
.copy.icon-copy.cursor-pointer(@click="() => copyValue(data[field.label])")
|
||||
base-input(v-if="field.type === 'date'" v-model="data[field.label]")
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BaseInput from "@/components/base/BaseInput.vue";
|
||||
import BaseInputDate from "@/components/base/BaseInputDate.vue";
|
||||
export default {
|
||||
name: "BaseDetailInput",
|
||||
components: { BaseInput, BaseInputDate },
|
||||
components: { BaseInput },
|
||||
props: {
|
||||
value: String,
|
||||
field: Object,
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
<template lang="pug">
|
||||
.flex.flex-col.gap-y-2
|
||||
.label.font-semibold.text-sm.opacity-40(
|
||||
v-if="label",
|
||||
:class="labelClass",
|
||||
:style="{color: 'var(--font-black-color)'}"
|
||||
) {{ label }}
|
||||
base-input-container.gap-y-2(:label="label")
|
||||
q-input(
|
||||
v-model="value",
|
||||
:input-class="textClass",
|
||||
@@ -16,16 +11,19 @@
|
||||
:disable="disabled",
|
||||
:rules="rule",
|
||||
:mask="mask",
|
||||
:maxlength="maxLength"
|
||||
hide-bottom-space,
|
||||
autogrow
|
||||
:maxlength="maxLength",
|
||||
:autogrow="autogrow",
|
||||
hide-bottom-space
|
||||
)
|
||||
slot.cursor-pointer
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BaseInputContainer from "@/components/base/BaseInputContainer.vue";
|
||||
|
||||
export default {
|
||||
name: "BaseInput",
|
||||
components: { BaseInputContainer },
|
||||
props: {
|
||||
dense: {
|
||||
type: Boolean,
|
||||
@@ -39,6 +37,10 @@ export default {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
autogrow: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
type: {
|
||||
default: "text",
|
||||
},
|
||||
@@ -50,16 +52,19 @@ export default {
|
||||
disabled: Boolean,
|
||||
label: String,
|
||||
textStyle: String,
|
||||
labelStyle: String,
|
||||
},
|
||||
emits: ["update:modelValue"],
|
||||
computed: {
|
||||
value: {
|
||||
get() {
|
||||
return this.modelValue;
|
||||
return this.type === "date"
|
||||
? this.modelValue?.toISOString().split("T")[0]
|
||||
: this.modelValue;
|
||||
},
|
||||
set(value) {
|
||||
this.$emit("update:modelValue", value);
|
||||
this.type === "date"
|
||||
? this.$emit("update:modelValue", value ? new Date(value) : null)
|
||||
: this.$emit("update:modelValue", value);
|
||||
},
|
||||
},
|
||||
textClass() {
|
||||
@@ -71,15 +76,6 @@ export default {
|
||||
"text-base": true,
|
||||
};
|
||||
},
|
||||
labelClass() {
|
||||
return this.labelStyle
|
||||
? {
|
||||
[this.labelStyle]: true,
|
||||
}
|
||||
: {
|
||||
"text-sm": true,
|
||||
};
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template lang="pug">
|
||||
.flex.flex-col
|
||||
.label {{ label }}
|
||||
.label.font-semibold.text-sm.opacity-40(v-if="label") {{ label }}
|
||||
slot
|
||||
</template>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user