Prechádzať zdrojové kódy

fix:调整日期组件以及筛选条件默认值逻辑

liujiayin 2 rokov pred
rodič
commit
fc29e3b4af

+ 4 - 3
src/business/platform/data/components/search-form/index.vue

@@ -276,7 +276,6 @@ export default {
         const nameParams = {}
         const nameParams = {}
         const format = {}
         const format = {}
         const fuzzyOps = {}
         const fuzzyOps = {}
-
         forms.forEach((v, i) => {
         forms.forEach((v, i) => {
             const propType = typeof v.prop
             const propType = typeof v.prop
             if (propType === 'string') {
             if (propType === 'string') {
@@ -447,8 +446,10 @@ export default {
                 this.params[endDate] = ''
                 this.params[endDate] = ''
                 return
                 return
             }
             }
-            this.params[startDate] = this.formatDate(date, 1)
-            this.params[endDate] = this.formatDate(date, 2)
+            // this.params[startDate] = this.formatDate(date, 1)
+            // this.params[endDate] = this.formatDate(date, 2)
+            this.params[startDate] = date + '-01'
+            this.params[endDate] = date + '-31'
         },
         },
         // yyyy格式 日期增加01-01和12-31
         // yyyy格式 日期增加01-01和12-31
         changeDateAddEndDate (date, item, type) {
         changeDateAddEndDate (date, item, type) {

+ 1 - 1
src/business/platform/data/templatebuilder/right-aside/editors/query-column.vue

@@ -55,7 +55,7 @@
             <el-switch v-model="formData.same" active-value="Y" inactive-value="N" />
             <el-switch v-model="formData.same" active-value="Y" inactive-value="N" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="默认值">
         <el-form-item label="默认值">
-            <el-input v-model="formData.default_value" placeholder="请输入查询字段默认值,多值以&分割" />
+            <el-input v-model="formData.default_value" placeholder="请输入查询字段默认值,多值以&分割,日期:xxx&xxx" />
         </el-form-item>
         </el-form-item>
         <!--控件类型-->
         <!--控件类型-->
         <template v-if="formData.same === 'N'">
         <template v-if="formData.same === 'N'">

+ 29 - 6
src/business/platform/data/templaterender/templates/list.vue

@@ -796,17 +796,33 @@ export default {
                         const getBuildSearchForm = this.buildSearchForm(item)
                         const getBuildSearchForm = this.buildSearchForm(item)
                         const val = item.default_value.split('&')
                         const val = item.default_value.split('&')
                         if (range.includes(item.field_type)) {
                         if (range.includes(item.field_type)) {
-                            // 非多选,传值为数组类型控件
-                            refSerchForm.params[getBuildSearchForm.prop[0]] = val[0]
-                            refSerchForm.params[getBuildSearchForm.prop[1]] = val[1]
-                            refSerchForm.params[getBuildSearchForm.modelValue] = val
                             // 用于渲染查询表单值
                             // 用于渲染查询表单值
-                            refSerchForm.params['daterange-prefix4'] = val
+                            const index = query_columns.findIndex(i => i.name === item.name)
+                            switch (item.field_options.datefmt) {
+                                case 'yyyy':
+                                // 非多选,传值为数组类型控件
+                                    refSerchForm.params[getBuildSearchForm.prop[0]] = val[0] + '-01-01'
+                                    refSerchForm.params[getBuildSearchForm.prop[1]] = val[1] + '-12-31'
+                                    refSerchForm.params['daterange-prefix' + index] = val[0]
+                                    break
+                                case 'yyyy-MM':
+                                    refSerchForm.params[getBuildSearchForm.prop[0]] = val[0] + '-01'
+                                    refSerchForm.params[getBuildSearchForm.prop[1]] = val[1] + '-31'
+                                    refSerchForm.params['daterange-prefix' + index] = val[0]
+                                    break
+                                default:
+                                    refSerchForm.params[getBuildSearchForm.prop[0]] = val[0]
+                                    refSerchForm.params[getBuildSearchForm.prop[1]] = val[1]
+                                    refSerchForm.params['daterange-prefix' + index] = [val[0], val[1]]
+
+                                    break
+                            }
+                            // refSerchForm.params[getBuildSearchForm.modelValue] = val
                         } else if (multiple.includes(item.field_type)) {
                         } else if (multiple.includes(item.field_type)) {
                             // 多选,且传值为数组类型控件
                             // 多选,且传值为数组类型控件
                             refSerchForm.params[getBuildSearchForm.prop] = val
                             refSerchForm.params[getBuildSearchForm.prop] = val
                         } else {
                         } else {
-                            refSerchForm.params[getBuildSearchForm.prop] = item.default_value
+                            refSerchForm.params[getBuildSearchForm.prop] = this.replaceAll(item.default_value, '&', ',')
                         }
                         }
                     })
                     })
                 }
                 }
@@ -1839,6 +1855,13 @@ export default {
                 return
                 return
             }
             }
             JTemplate._afterSubmit(this, action, position, selection, data, callback)
             JTemplate._afterSubmit(this, action, position, selection, data, callback)
+        },
+        // 替换字符串中指定的字符
+        replaceAll (str, find, replace) {
+            if (str.indexOf(find) === -1) {
+                return str
+            }
+            return this.replaceAll(str.replace(find, replace), find, replace)
         }
         }
     }
     }
 }
 }