hookehuyr

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

This diff is collapsed. Click to expand it.
...@@ -7,7 +7,7 @@ import PickerField from '@/components/PickerField/index.vue' ...@@ -7,7 +7,7 @@ import PickerField from '@/components/PickerField/index.vue'
7 import AreaPickerField from '@/components/AreaPickerField/index.vue' 7 import AreaPickerField from '@/components/AreaPickerField/index.vue'
8 import DatePickerField from '@/components/DatePickerField/index.vue' 8 import DatePickerField from '@/components/DatePickerField/index.vue'
9 import TimePickerField from '@/components/TimePickerField/index.vue' 9 import TimePickerField from '@/components/TimePickerField/index.vue'
10 -// import DateTimePickerField from '@/components/DateTimePickerField/index.vue' 10 +import DateTimePickerField from '@/components/DateTimePickerField/index.vue'
11 // import ImageUploaderField from '@/components/ImageUploaderField/index.vue' 11 // import ImageUploaderField from '@/components/ImageUploaderField/index.vue'
12 // import FileUploaderField from '@/components/FileUploaderField/index.vue' 12 // import FileUploaderField from '@/components/FileUploaderField/index.vue'
13 import PhoneField from '@/components/PhoneField/index.vue' 13 import PhoneField from '@/components/PhoneField/index.vue'
...@@ -102,9 +102,9 @@ export function createComponentType(data) { ...@@ -102,9 +102,9 @@ export function createComponentType(data) {
102 if (item.component_props.tag === 'time') { 102 if (item.component_props.tag === 'time') {
103 item.component = TimePickerField 103 item.component = TimePickerField
104 } 104 }
105 - // if (item.component_props.tag === 'datetime') { 105 + if (item.component_props.tag === 'datetime') {
106 - // item.component = DateTimePickerField 106 + item.component = DateTimePickerField
107 - // } 107 + }
108 // if (item.component_props.tag === 'image_uploader') { 108 // if (item.component_props.tag === 'image_uploader') {
109 // item.component = ImageUploaderField 109 // item.component = ImageUploaderField
110 // } 110 // }
......
1 <!-- 1 <!--
2 * @Date: 2023-03-24 09:19:27 2 * @Date: 2023-03-24 09:19:27
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2023-04-07 16:12:27 4 + * @LastEditTime: 2023-04-07 17:26:07
5 * @FilePath: /custom_form/src/pages/table/index.vue 5 * @FilePath: /custom_form/src/pages/table/index.vue
6 * @Description: 文件描述 6 * @Description: 文件描述
7 --> 7 -->
...@@ -138,6 +138,7 @@ const email = ref([]); ...@@ -138,6 +138,7 @@ const email = ref([]);
138 const address = ref([]); 138 const address = ref([]);
139 const date = ref([]); 139 const date = ref([]);
140 const time = ref([]); 140 const time = ref([]);
141 +const datetime = ref([]);
141 const area_picker = ref([]); 142 const area_picker = ref([]);
142 const image_uploader = ref([]); 143 const image_uploader = ref([]);
143 const file_uploader = ref([]); 144 const file_uploader = ref([]);
...@@ -182,6 +183,9 @@ const setRefMap = (el, item) => { ...@@ -182,6 +183,9 @@ const setRefMap = (el, item) => {
182 if (item.component_props.tag === "time") { 183 if (item.component_props.tag === "time") {
183 time.value.push(el); 184 time.value.push(el);
184 } 185 }
186 + if (item.component_props.tag === "datetime") {
187 + datetime.value.push(el);
188 + }
185 if (item.component_props.tag === "area_picker") { 189 if (item.component_props.tag === "area_picker") {
186 area_picker.value.push(el); 190 area_picker.value.push(el);
187 } 191 }
...@@ -459,6 +463,9 @@ const onActive = (item) => { ...@@ -459,6 +463,9 @@ const onActive = (item) => {
459 if (item.key === "time") { 463 if (item.key === "time") {
460 postData.value[item.filed_name] = item.value; 464 postData.value[item.filed_name] = item.value;
461 } 465 }
466 + if (item.key === "datetime") {
467 + postData.value[item.filed_name] = item.value;
468 + }
462 if (item.key === "image_uploader") { 469 if (item.key === "image_uploader") {
463 postData.value[item.filed_name] = item.value; 470 postData.value[item.filed_name] = item.value;
464 } 471 }
...@@ -641,6 +648,19 @@ const validOther = () => { ...@@ -641,6 +648,19 @@ const validOther = () => {
641 } 648 }
642 }); 649 });
643 } 650 }
651 + if (datetime.value) {
652 + // 日期时间选择器
653 + datetime.value.forEach((item, index) => {
654 + if (!datetime.value[index].validDateTime()) {
655 + valid = {
656 + status: datetime.value[index].validDateTime(),
657 + key: "datetime",
658 + id: datetime.value[index]?.id
659 + };
660 + return false;
661 + }
662 + });
663 + }
644 if (area_picker.value) { 664 if (area_picker.value) {
645 // 省市区地址 665 // 省市区地址
646 area_picker.value.forEach((item, index) => { 666 area_picker.value.forEach((item, index) => {
......