Преглед изворни кода

日期多选框增加快捷选项并联动

lichao пре 3 година
родитељ
комит
f9939e791e
2 измењених фајлова са 60 додато и 2 уклоњено
  1. 30 1
      src/combination/MainForm.vue
  2. 30 1
      src/combination/formComponent.vue

+ 30 - 1
src/combination/MainForm.vue

@@ -26,7 +26,9 @@
               range-separator="至"
               start-placeholder="开始日期"
               end-placeholder="结束日期"
-              value-format="yyyy-MM-dd"/>
+              value-format="yyyy-MM-dd"
+              :picker-options="pickerOptions"
+              unlink-panels/>
             <div v-if="item.form == 5"  v-model="form[item.label]" style="width: 100%;display:flex;">
               <el-input clearable v-model="form.first " oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'></el-input>
               <span style="padding-left: 10px;padding-right: 10px">至</span>
@@ -42,6 +44,33 @@ export default {
   props:['searchdata','hidedata','display','queryParms','form','data','show','inDex'],
   data() {
     return{
+      pickerOptions: {
+        shortcuts: [{
+          text: '最近一周',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '最近一个月',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '最近三个月',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+            picker.$emit('pick', [start, end]);
+          }
+        }]
+      },
     }
   },
   created() {

+ 30 - 1
src/combination/formComponent.vue

@@ -54,7 +54,9 @@
           :default-time="['00:00:00', '23:59:59']"
           range-separator="至"
           start-placeholder="开始日期"
-          end-placeholder="结束日期">
+          end-placeholder="结束日期"
+          :picker-options="pickerOptions"
+          unlink-panels>
         </el-date-picker>
       </el-form-item>
     </el-form>
@@ -69,6 +71,33 @@ export default {
       form:{},
       numBer:'',
       number:'',
+      pickerOptions: {
+        shortcuts: [{
+          text: '最近一周',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '最近一个月',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '最近三个月',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+            picker.$emit('pick', [start, end]);
+          }
+        }]
+      },
     };
   },
   created() {