hookehuyr

✨ feat(日期时间控件): 样式和功能调整

This diff is collapsed. Click to expand it.
......@@ -7,7 +7,7 @@ import PickerField from '@/components/PickerField/index.vue'
import AreaPickerField from '@/components/AreaPickerField/index.vue'
import DatePickerField from '@/components/DatePickerField/index.vue'
import TimePickerField from '@/components/TimePickerField/index.vue'
// import DateTimePickerField from '@/components/DateTimePickerField/index.vue'
import DateTimePickerField from '@/components/DateTimePickerField/index.vue'
// import ImageUploaderField from '@/components/ImageUploaderField/index.vue'
// import FileUploaderField from '@/components/FileUploaderField/index.vue'
import PhoneField from '@/components/PhoneField/index.vue'
......@@ -102,9 +102,9 @@ export function createComponentType(data) {
if (item.component_props.tag === 'time') {
item.component = TimePickerField
}
// if (item.component_props.tag === 'datetime') {
// item.component = DateTimePickerField
// }
if (item.component_props.tag === 'datetime') {
item.component = DateTimePickerField
}
// if (item.component_props.tag === 'image_uploader') {
// item.component = ImageUploaderField
// }
......
<!--
* @Date: 2023-03-24 09:19:27
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2023-04-07 16:12:27
* @LastEditTime: 2023-04-07 17:26:07
* @FilePath: /custom_form/src/pages/table/index.vue
* @Description: 文件描述
-->
......@@ -138,6 +138,7 @@ const email = ref([]);
const address = ref([]);
const date = ref([]);
const time = ref([]);
const datetime = ref([]);
const area_picker = ref([]);
const image_uploader = ref([]);
const file_uploader = ref([]);
......@@ -182,6 +183,9 @@ const setRefMap = (el, item) => {
if (item.component_props.tag === "time") {
time.value.push(el);
}
if (item.component_props.tag === "datetime") {
datetime.value.push(el);
}
if (item.component_props.tag === "area_picker") {
area_picker.value.push(el);
}
......@@ -459,6 +463,9 @@ const onActive = (item) => {
if (item.key === "time") {
postData.value[item.filed_name] = item.value;
}
if (item.key === "datetime") {
postData.value[item.filed_name] = item.value;
}
if (item.key === "image_uploader") {
postData.value[item.filed_name] = item.value;
}
......@@ -641,6 +648,19 @@ const validOther = () => {
}
});
}
if (datetime.value) {
// 日期时间选择器
datetime.value.forEach((item, index) => {
if (!datetime.value[index].validDateTime()) {
valid = {
status: datetime.value[index].validDateTime(),
key: "datetime",
id: datetime.value[index]?.id
};
return false;
}
});
}
if (area_picker.value) {
// 省市区地址
area_picker.value.forEach((item, index) => {
......