Ver Fonte

fix:调整日期控件逻辑,取消日期区间选择

liujiayin há 2 anos atrás
pai
commit
ffbb0cb1cb

+ 26 - 0
src/business/platform/data/components/search-form/index.vue

@@ -84,6 +84,21 @@
                     @change="date => changeDateAddEndDate(date, item)"
                     @keyup.enter.native.stop="handleEnter"
                 />
+                <el-date-picker
+                    v-else-if="item.fieldType === 'datePicker'"
+                    v-model="params[item.modelValue]"
+                    :placeholder="item.placeholder"
+                    :size="item.size ? item.size : 'mini'"
+                    :disabled="item.disabled"
+                    :readonly="item.readonly"
+                    :editable="item.editable"
+                    :style="itemStyle + (item.itemWidth ? `width: ${item.itemWidth}px;` : 'width: 150px')"
+                    :picker-options="item.pickerOptions || {}"
+                    :type="getDateType(item.field_options.datefmt)"
+                    :value-format="item.field_options.datefmt"
+                    :format="item.field_options.datefmt"
+                    @keyup.enter.native.stop="handleEnter"
+                />
                 <!-- 日期范围-->
                 <ibps-date-range
                     v-else-if="item.fieldType === 'yearrange'"
@@ -476,6 +491,17 @@ export default {
         },
         getLinkLabelKey (fieldOptions, data) {
             return FormUtils.getLinkLabelKey(fieldOptions, data)
+        },
+        // yyyy-MM-dd HH:mm:ss
+        getDateType (datefmt) {
+            switch (datefmt) {
+                case 'yyyy':
+                    return 'year'
+                case 'yyyy-MM':
+                    return 'month'
+                default:
+                    return 'date'
+            }
         }
     }
 }

+ 11 - 2
src/business/platform/data/templaterender/templates/list.vue

@@ -1313,6 +1313,7 @@ export default {
                 if (field.common === 'N') return
                 columns.push(this.buildSearchForm(field))
             })
+
             return columns
         },
         /**
@@ -1431,7 +1432,6 @@ export default {
             if (fieldType === 'currentUser' || fieldType === 'currentOrg' || fieldType === 'currentPosition') {
                 fieldType = 'selector'
             }
-
             column['field_type'] = fieldType
             column['field_options'] = fieldOptions
             column['data_type'] = dataType
@@ -1509,7 +1509,16 @@ export default {
                     fieldType: 'date',
                     dateType: fieldOptions.datefmt_type ? fieldOptions.datefmt_type : 'date'
                 })
-            } else if (fieldType === 'datePicker' || fieldType.toLowerCase() === 'daterange') {
+            } else if (fieldType === 'datePicker') {
+                const datefmt = fieldOptions.datefmt || ''
+                const dateDealFmt = DateFormatUtil.dealFmt(fieldOptions.datefmt)
+                searchColumn = Object.assign(searchColumn, {
+                    prop: `Q^${field.name}^SL`,
+                    modelValue: `Q^${field.name}^SL`,
+                    fieldType: 'datePicker',
+                    field_options: fieldOptions
+                })
+            } else if (fieldType.toLowerCase() === 'daterange') {
                 const datefmt = fieldOptions.datefmt || ''
                 const dateDealFmt = DateFormatUtil.dealFmt(fieldOptions.datefmt)
                 searchColumn = Object.assign(searchColumn, {