Jelajahi Sumber

'维修维保筛选页面添加自定义日期'

zhangyu 4 tahun lalu
induk
melakukan
fafd9a5da2

+ 2 - 2
src/store/index.ts

@@ -12,8 +12,8 @@ export default new Vuex.Store({
         ssoToken: 'admin:maohongru',
         appTitle: '管理说明书', //顶部标题
         // ssoToken: null,
-        // plazaId: '1000772', //项目Id 北京通州
-        plazaId: '1001825', //项目Id 成都龙泉驿
+        plazaId: '1000772', //项目Id 北京通州
+        // plazaId: '1001825', //项目Id 成都龙泉驿
         // plazaId: '1000423', //项目Id 大连高新
         fmapID: '',
         haveFengMap: -1, //是否有蜂鸟地图的数据 -1为等待 0 为失败 1 为成功

+ 120 - 43
src/views/AssetDetail.vue

@@ -42,9 +42,10 @@
         <div class="sbss">
           <h1 class="title">填报日期</h1>
           <div class="system-btn-container">
-            <div class="system-btn" :class="item.text === '自定义'?'self-btn':''" v-for="(item, index) in fillinList" :key="index">
-              <van-button class="m-btn" :class="item.active" @click="changeFillinDate(item)">{{ item.text }}
-              </van-button>
+            <div class="system-btn" :class="item.text === '自定义'?'self-btn':''" v-for="(item, index) in fillinList"
+              :key="index">
+              <van-button class="m-btn" :class="item.active" @click="changeFillinDate(item)">
+                {{ `${item.text} ${(item.text==='自定义' && fillinDateText)?'('+fillinDateText+')':''}` }}</van-button>
             </div>
           </div>
         </div>
@@ -53,9 +54,10 @@
         <div class="sbss">
           <h1 class="title">验收日期</h1>
           <div class="system-btn-container">
-            <div class="system-btn" :class="item.text === '自定义'?'self-btn':''" v-for="(item, index) in acceptanceList" :key="index">
-              <van-button class="m-btn" :class="item.active" @click="changeAcceptanceDate(item)">{{ item.text }}
-              </van-button>
+            <div class="system-btn" :class="item.text === '自定义'?'self-btn':''" v-for="(item, index) in acceptanceList"
+              :key="index">
+              <van-button class="m-btn" :class="item.active" @click="changeAcceptanceDate(item)">
+                {{ `${item.text} ${(item.text==='自定义' && acceptanceDateText)?'('+acceptanceDateText+')':''}` }}</van-button>
             </div>
           </div>
         </div>
@@ -65,6 +67,10 @@
         </div>
       </div>
     </van-popup>
+    <van-calendar ref="fillinDate" color="#025baa" v-model="showFillinDate" :min-date="minDate" type="range"
+      @confirm="onConfirmFillinDate" />
+    <van-calendar ref="acceptanceDate" color="#025baa" v-model="showAcceptanceDate" :min-date="minDate" type="range"
+      @confirm="onConfirmAcceptanceDate" />
   </div>
 </template>
 <script>
@@ -73,19 +79,19 @@
  */
 import Vue from "vue";
 import { mapGetters } from "vuex";
-import { NavBar, Tab, Tabs, Popup, Button, Toast } from "vant";
+import { NavBar, Tab, Tabs, Popup, Button, Toast, Calendar } from "vant";
 import Information from "@/components/assetDetail/Information.vue";
 import RepairMaintenance from "@/components/assetDetail/RepairMaintenance.vue";
 import { queryEquipmentList } from "@/api/equipmentList.js";
 import { getUpdateDetail1, getUpdateDetail4 } from "@/api/overview";
 import moment from "moment";
-Vue.use(NavBar).use(Tab).use(Tabs).use(Popup).use(Button).use(Toast);
+Vue.use(NavBar).use(Tab).use(Tabs).use(Popup).use(Button).use(Toast).use(Calendar);
 export default {
   name: "AssetDetail",
   props: {},
   components: { Information, RepairMaintenance },
   computed: {
-    ...mapGetters([ "plazaId" ]),
+    ...mapGetters(["plazaId"]),
   },
   data() {
     return {
@@ -102,24 +108,33 @@ export default {
       ],
       fillinList: [
         { text: "全部", value: 0, active: "active" },
-        { text: "7天", value: 1, active: "" },
-        { text: "15天", value: 2, active: "" },
-        { text: "30天", value: 3, active: "" },
+        { text: "15天", value: 1, active: "" },
+        { text: "30天", value: 2, active: "" },
+        { text: "3个月", value: 3, active: "" },
         { text: "6个月", value: 4, active: "" },
         { text: "1年", value: 5, active: "" },
+        { text: "自定义", value: 6, active: "" },
       ],
       acceptanceList: [
         { text: "全部", value: 0, active: "active" },
-        { text: "7天", value: 1, active: "" },
-        { text: "15天", value: 2, active: "" },
-        { text: "30天", value: 3, active: "" },
+        { text: "15天", value: 1, active: "" },
+        { text: "30天", value: 2, active: "" },
+        { text: "3个月", value: 3, active: "" },
         { text: "6个月", value: 4, active: "" },
         { text: "1年", value: 5, active: "" },
+        { text: "自定义", value: 6, active: "" },
       ],
+      minDate: new Date(1988, 0, 1),
       isFinish: 0,
       isParts: 1,
       fillinDate: 0,
       acceptanceDate: 0,
+      showFillinDate: false,
+      showAcceptanceDate: false,
+      fillinDateText: "",
+      acceptanceDateText: "",
+      fillinDateList: [],
+      acceptanceDateList: [],
     };
   },
   props: {},
@@ -193,31 +208,31 @@ export default {
         }
         //填报日期
         switch (this.fillinDate) {
-          // 
+          // 15
           case 1:
             getParams.reportdateStartDate = moment()
-              .subtract(7, "days")
+              .subtract(15, "days")
               .format("YYYYMMDD000000");
             getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
             break;
-          // 15
+          // 30
           case 2:
             getParams.reportdateStartDate = moment()
-              .subtract(15, "days")
+              .subtract(30, "days")
               .format("YYYYMMDD000000");
             getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
             break;
-          // 30天
+          // 3个月
           case 3:
             getParams.reportdateStartDate = moment()
-              .subtract(1, "months")
+              .subtract(3, "months")
               .format("YYYYMMDD000000");
             getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
             break;
           // 6个月
           case 4:
             getParams.reportdateStartDate = moment()
-              .subtract(6, "years")
+              .subtract(6, "months")
               .format("YYYYMMDD000000");
             getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
             break;
@@ -228,37 +243,45 @@ export default {
               .format("YYYYMMDD000000");
             getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
             break;
+          // 自定义
+          case 6:
+            const [start, end] = this.fillinDateList;
+            if (start && end) {
+              getParams.reportdateStartDate = moment(start.getTime()).format('YYYYMMDD000000');
+              getParams.reportdateEndDate = moment(end.getTime()).format('YYYYMMDD000000');
+            }
+            break;
           // 默认 全部
           default:
             break;
         }
         //验收日期
         switch (this.acceptanceDate) {
-          // 七天
+          // 15
           case 1:
             getParams.sjjssjStartDate = moment()
-              .subtract(7, "days")
+              .subtract(15, "days")
               .format("YYYYMMDD000000");
             getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
             break;
-          // 15
+          // 30
           case 2:
             getParams.sjjssjStartDate = moment()
-              .subtract(15, "days")
+              .subtract(30, "days")
               .format("YYYYMMDD000000");
             getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
             break;
-          // 30天
+          // 3个月
           case 3:
             getParams.sjjssjStartDate = moment()
-              .subtract(1, "months")
+              .subtract(3, "months")
               .format("YYYYMMDD000000");
             getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
             break;
           // 6个月
           case 4:
             getParams.sjjssjStartDate = moment()
-              .subtract(6, "years")
+              .subtract(6, "months")
               .format("YYYYMMDD000000");
             getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
             break;
@@ -269,6 +292,14 @@ export default {
               .format("YYYYMMDD000000");
             getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
             break;
+          // 自定义
+          case 6:
+            const [start, end] = this.acceptanceDateList;
+            if (start && end) {
+              getParams.sjjssjStartDate = moment(start.getTime()).format('YYYYMMDD000000');
+              getParams.sjjssjEndDate = moment(end.getTime()).format('YYYYMMDD000000');
+            }
+            break;
           // 默认 全部
           default:
             break;
@@ -305,31 +336,31 @@ export default {
         }
         //填报日期
         switch (this.fillinDate) {
-          // 
+          // 15
           case 1:
             getParams.reportdateStartDate = moment()
-              .subtract(7, "days")
+              .subtract(15, "days")
               .format("YYYYMMDD000000");
             getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
             break;
-          // 15
+          // 30
           case 2:
             getParams.reportdateStartDate = moment()
-              .subtract(15, "days")
+              .subtract(30, "days")
               .format("YYYYMMDD000000");
             getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
             break;
-          // 30天
+          // 3个月
           case 3:
             getParams.reportdateStartDate = moment()
-              .subtract(1, "months")
+              .subtract(3, "months")
               .format("YYYYMMDD000000");
             getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
             break;
           // 6个月
           case 4:
             getParams.reportdateStartDate = moment()
-              .subtract(6, "years")
+              .subtract(6, "months")
               .format("YYYYMMDD000000");
             getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
             break;
@@ -340,37 +371,45 @@ export default {
               .format("YYYYMMDD000000");
             getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
             break;
+          // 自定义
+          case 6:
+            const [start, end] = this.fillinDateList;
+            if (start && end) {
+              getParams.reportdateStartDate = moment(start.getTime()).format('YYYYMMDD000000');
+              getParams.reportdateEndDate = moment(end.getTime()).format('YYYYMMDD000000');
+            }
+            break;
           // 默认 全部
           default:
             break;
         }
         //验收日期
         switch (this.acceptanceDate) {
-          // 七天
+          // 15
           case 1:
             getParams.sjjssjStartDate = moment()
-              .subtract(7, "days")
+              .subtract(15, "days")
               .format("YYYYMMDD000000");
             getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
             break;
-          // 15
+          // 30
           case 2:
             getParams.sjjssjStartDate = moment()
-              .subtract(15, "days")
+              .subtract(30, "days")
               .format("YYYYMMDD000000");
             getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
             break;
-          // 30天
+          // 3个月
           case 3:
             getParams.sjjssjStartDate = moment()
-              .subtract(1, "months")
+              .subtract(3, "months")
               .format("YYYYMMDD000000");
             getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
             break;
           // 6个月
           case 4:
             getParams.sjjssjStartDate = moment()
-              .subtract(6, "years")
+              .subtract(6, "months")
               .format("YYYYMMDD000000");
             getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
             break;
@@ -381,6 +420,14 @@ export default {
               .format("YYYYMMDD000000");
             getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
             break;
+          // 自定义
+          case 6:
+            const [start, end] = this.acceptanceDateList;
+            if (start && end) {
+              getParams.sjjssjStartDate = moment(start.getTime()).format('YYYYMMDD000000');
+              getParams.sjjssjEndDate = moment(end.getTime()).format('YYYYMMDD000000');
+            }
+            break;
           // 默认 全部
           default:
             break;
@@ -423,6 +470,9 @@ export default {
           item.active = "active";
         }
       });
+      if (data.text === '自定义') {
+        this.showFillinDate = true;
+      }
     },
     // 修改验收日期
     changeAcceptanceDate(data) {
@@ -434,6 +484,26 @@ export default {
           item.active = "active";
         }
       });
+      if (data.text === '自定义') {
+        this.showAcceptanceDate = true;
+      }
+    },
+    formatDate(date) {
+      return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
+    },
+    // 自定义填报日期
+    onConfirmFillinDate(date) {
+      this.fillinDateList = date;
+      const [start, end] = date;
+      this.showFillinDate = false;
+      this.fillinDateText = `${this.formatDate(start)} - ${this.formatDate(end)}`;
+    },
+    // 自定义验收日期
+    onConfirmAcceptanceDate(date) {
+      this.acceptanceDateList = date;
+      const [start, end] = date;
+      this.showAcceptanceDate = false;
+      this.acceptanceDateText = `${this.formatDate(start)} - ${this.formatDate(end)}`;
     },
     /**
      * 重置
@@ -460,6 +530,12 @@ export default {
           this.acceptanceDate = item.value;
         }
       });
+      this.$refs.fillinDate.reset();
+      this.$refs.acceptanceDate.reset();
+      this.fillinDateText = "";
+      this.acceptanceDateText = "";
+      this.fillinDateList = [];
+      this.acceptanceDateList = [];
       this.getData();
       this.showPopup = false;
     },
@@ -611,6 +687,7 @@ export default {
               border-radius: 2px;
               padding: 0 !important;
             }
+          }
         }
         .active {
           background-color: #025baa !important;

+ 138 - 45
src/views/equipmentFacilities/MaintenanceRecordView.vue

@@ -34,9 +34,9 @@
         <div class="sbss">
           <h1 class="title">填报日期</h1>
           <div class="system-btn-container">
-            <div class="system-btn" v-for="(item, index) in fillinList" :key="index">
-              <van-button class="m-btn" :class="item.active" @click="changeFillinDate(item)">{{ item.text }}
-              </van-button>
+            <div class="system-btn" :class="item.text === '自定义'?'self-btn':''" v-for="(item, index) in fillinList" :key="index">
+              <van-button class="m-btn" :class="item.active" @click="changeFillinDate(item)">
+              {{ `${item.text} ${(item.text==='自定义' && fillinDateText)?'('+fillinDateText+')':''}` }}</van-button>
             </div>
           </div>
         </div>
@@ -45,9 +45,9 @@
         <div class="sbss">
           <h1 class="title">验收日期</h1>
           <div class="system-btn-container">
-            <div class="system-btn" v-for="(item, index) in acceptanceList" :key="index">
-              <van-button class="m-btn" :class="item.active" @click="changeAcceptanceDate(item)">{{ item.text }}
-              </van-button>
+            <div class="system-btn" :class="item.text === '自定义'?'self-btn':''" v-for="(item, index) in acceptanceList" :key="index">
+              <van-button class="m-btn" :class="item.active" @click="changeAcceptanceDate(item)">
+              {{ `${item.text} ${(item.text==='自定义' && acceptanceDateText)?'('+acceptanceDateText+')':''}` }}</van-button>
             </div>
           </div>
         </div>
@@ -57,6 +57,10 @@
         </div>
       </div>
     </van-popup>
+    <van-calendar ref="fillinDate" color="#025baa" v-model="showFillinDate" :min-date="minDate" type="range"
+      @confirm="onConfirmFillinDate" />
+    <van-calendar ref="acceptanceDate" color="#025baa" v-model="showAcceptanceDate" :min-date="minDate" type="range"
+      @confirm="onConfirmAcceptanceDate" />
   </div>
 </template>
 <script>
@@ -65,12 +69,12 @@
  */
 import Vue from "vue";
 import { mapGetters } from "vuex";
-import { NavBar, Tab, Tabs, Popup, Button, Toast } from "vant";
+import { NavBar, Tab, Tabs, Popup, Button, Toast, Calendar } from "vant";
 import RepairMaintenance from "@/components/equipmentFacilities/RepairMaintenance.vue";
 import { queryEquipmentList } from "@/api/equipmentList.js";
 import { getUpdateDetail1, getUpdateDetail4 } from "@/api/overview";
 import moment from "moment";
-Vue.use(NavBar).use(Tab).use(Tabs).use(Popup).use(Button).use(Toast);
+Vue.use(NavBar).use(Tab).use(Tabs).use(Popup).use(Button).use(Toast).use(Calendar);
 export default {
   name: "MaintenanceRecordView",
   props: {},
@@ -90,23 +94,32 @@ export default {
       ],
       fillinList: [
         { text: "全部", value: 0, active: "active" },
-        { text: "7天", value: 1, active: "" },
-        { text: "15天", value: 2, active: "" },
-        { text: "30天", value: 3, active: "" },
+        { text: "15天", value: 1, active: "" },
+        { text: "30天", value: 2, active: "" },
+        { text: "3个月", value: 3, active: "" },
         { text: "6个月", value: 4, active: "" },
         { text: "1年", value: 5, active: "" },
+        { text: "自定义", value: 6, active: "" },
       ],
       acceptanceList: [
         { text: "全部", value: 0, active: "active" },
-        { text: "7天", value: 1, active: "" },
-        { text: "15天", value: 2, active: "" },
-        { text: "30天", value: 3, active: "" },
+        { text: "15天", value: 1, active: "" },
+        { text: "30天", value: 2, active: "" },
+        { text: "3个月", value: 3, active: "" },
         { text: "6个月", value: 4, active: "" },
         { text: "1年", value: 5, active: "" },
+        { text: "自定义", value: 6, active: "" },
       ],
+      minDate: new Date(1988, 0, 1),
       isParts: 1,
       fillinDate: 0,
       acceptanceDate: 0,
+      showFillinDate: false,
+      showAcceptanceDate: false,
+      fillinDateText: "",
+      acceptanceDateText: "",
+      fillinDateList: [],
+      acceptanceDateList: [],
     };
   },
   props: {},
@@ -156,6 +169,12 @@ export default {
           this.acceptanceDate = item.value;
         }
       });
+      this.$refs.fillinDate.reset();
+      this.$refs.acceptanceDate.reset();
+      this.fillinDateText = "";
+      this.acceptanceDateText = "";
+      this.fillinDateList = [];
+      this.acceptanceDateList = [];
       this.getRepairData();
       this.getMaintenanceData();
     },
@@ -183,31 +202,31 @@ export default {
       }
       //填报日期
       switch (this.fillinDate) {
-        // 
+        // 15
         case 1:
           getParams.reportdateStartDate = moment()
-            .subtract(7, "days")
+            .subtract(15, "days")
             .format("YYYYMMDD000000");
           getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
           break;
-        // 15
+        // 30
         case 2:
           getParams.reportdateStartDate = moment()
-            .subtract(15, "days")
+            .subtract(30, "days")
             .format("YYYYMMDD000000");
           getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
           break;
-        // 30天
+        // 3个月
         case 3:
           getParams.reportdateStartDate = moment()
-            .subtract(1, "months")
+            .subtract(3, "months")
             .format("YYYYMMDD000000");
           getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
           break;
         // 6个月
         case 4:
           getParams.reportdateStartDate = moment()
-            .subtract(6, "years")
+            .subtract(6, "months")
             .format("YYYYMMDD000000");
           getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
           break;
@@ -218,37 +237,45 @@ export default {
             .format("YYYYMMDD000000");
           getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
           break;
+        // 自定义
+        case 6:
+          const [start, end] = this.fillinDateList;
+          if (start && end) {
+            getParams.reportdateStartDate = moment(start.getTime()).format('YYYYMMDD000000');
+            getParams.reportdateEndDate = moment(end.getTime()).format('YYYYMMDD000000');
+          }
+          break;
         // 默认 全部
         default:
           break;
       }
       //验收日期
       switch (this.acceptanceDate) {
-        // 七天
+        // 15
         case 1:
           getParams.sjjssjStartDate = moment()
-            .subtract(7, "days")
+            .subtract(15, "days")
             .format("YYYYMMDD000000");
           getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
           break;
-        // 15
+        // 30
         case 2:
           getParams.sjjssjStartDate = moment()
-            .subtract(15, "days")
+            .subtract(30, "days")
             .format("YYYYMMDD000000");
           getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
           break;
-        // 30天
+        // 3个月
         case 3:
           getParams.sjjssjStartDate = moment()
-            .subtract(1, "months")
+            .subtract(3, "months")
             .format("YYYYMMDD000000");
           getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
           break;
         // 6个月
         case 4:
           getParams.sjjssjStartDate = moment()
-            .subtract(6, "years")
+            .subtract(6, "months")
             .format("YYYYMMDD000000");
           getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
           break;
@@ -259,6 +286,14 @@ export default {
             .format("YYYYMMDD000000");
           getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
           break;
+        // 自定义
+        case 6:
+          const [start, end] = this.acceptanceDateList;
+          if (start && end) {
+            getParams.sjjssjStartDate = moment(start.getTime()).format('YYYYMMDD000000');
+            getParams.sjjssjEndDate = moment(end.getTime()).format('YYYYMMDD000000');
+          }
+          break;
         // 默认 全部
         default:
           break;
@@ -285,31 +320,31 @@ export default {
       }
       //填报日期
       switch (this.fillinDate) {
-        // 
+        // 15
         case 1:
           getParams.reportdateStartDate = moment()
-            .subtract(7, "days")
+            .subtract(15, "days")
             .format("YYYYMMDD000000");
           getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
           break;
-        // 15
+        // 30
         case 2:
           getParams.reportdateStartDate = moment()
-            .subtract(15, "days")
+            .subtract(30, "days")
             .format("YYYYMMDD000000");
           getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
           break;
-        // 30天
+        // 3个月
         case 3:
           getParams.reportdateStartDate = moment()
-            .subtract(1, "months")
+            .subtract(3, "months")
             .format("YYYYMMDD000000");
           getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
           break;
         // 6个月
         case 4:
           getParams.reportdateStartDate = moment()
-            .subtract(6, "years")
+            .subtract(6, "months")
             .format("YYYYMMDD000000");
           getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
           break;
@@ -320,37 +355,45 @@ export default {
             .format("YYYYMMDD000000");
           getParams.reportdateEndDate = moment().format("YYYYMMDD000000");
           break;
+        // 自定义
+        case 6:
+          const [start, end] = this.fillinDateList;
+          if (start && end) {
+            getParams.reportdateStartDate = moment(start.getTime()).format('YYYYMMDD000000');
+            getParams.reportdateEndDate = moment(end.getTime()).format('YYYYMMDD000000');
+          }
+          break;
         // 默认 全部
         default:
           break;
       }
       //验收日期
       switch (this.acceptanceDate) {
-        // 七天
+        // 15
         case 1:
           getParams.sjjssjStartDate = moment()
-            .subtract(7, "days")
+            .subtract(15, "days")
             .format("YYYYMMDD000000");
           getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
           break;
-        // 15
+        // 30
         case 2:
           getParams.sjjssjStartDate = moment()
-            .subtract(15, "days")
+            .subtract(30, "days")
             .format("YYYYMMDD000000");
           getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
           break;
-        // 30天
+        // 3个月
         case 3:
           getParams.sjjssjStartDate = moment()
-            .subtract(1, "months")
+            .subtract(3, "months")
             .format("YYYYMMDD000000");
           getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
           break;
         // 6个月
         case 4:
           getParams.sjjssjStartDate = moment()
-            .subtract(6, "years")
+            .subtract(6, "months")
             .format("YYYYMMDD000000");
           getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
           break;
@@ -361,6 +404,14 @@ export default {
             .format("YYYYMMDD000000");
           getParams.sjjssjEndDate = moment().format("YYYYMMDD000000");
           break;
+        // 自定义
+        case 6:
+          const [start, end] = this.acceptanceDateList;
+          if (start && end) {
+            getParams.sjjssjStartDate = moment(start.getTime()).format('YYYYMMDD000000');
+            getParams.sjjssjEndDate = moment(end.getTime()).format('YYYYMMDD000000');
+          }
+          break;
         // 默认 全部
         default:
           break;
@@ -375,7 +426,6 @@ export default {
     },
     // 修改是否更换配件
     isChangeParts(data) {
-      console.log(data);
       this.isParts = data.value;
       this.sfghpjList.map((item) => {
         item.active = "";
@@ -386,7 +436,6 @@ export default {
     },
     // 修改填报日期
     changeFillinDate(data) {
-      console.log(data);
       this.fillinDate = data.value;
       this.fillinList.map((item) => {
         item.active = "";
@@ -394,10 +443,12 @@ export default {
           item.active = "active";
         }
       });
+      if (data.text === '自定义') {
+        this.showFillinDate = true;
+      }
     },
     // 修改验收日期
     changeAcceptanceDate(data) {
-      console.log(data);
       this.acceptanceDate = data.value;
       this.acceptanceList.map((item) => {
         item.active = "";
@@ -405,6 +456,26 @@ export default {
           item.active = "active";
         }
       });
+      if (data.text === '自定义') {
+        this.showAcceptanceDate = true;
+      }
+    },
+    formatDate(date) {
+      return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
+    },
+    // 自定义填报日期
+    onConfirmFillinDate(date) {
+      this.fillinDateList = date;
+      const [start, end] = date;
+      this.showFillinDate = false;
+      this.fillinDateText = `${this.formatDate(start)} - ${this.formatDate(end)}`;
+    },
+    // 自定义验收日期
+    onConfirmAcceptanceDate(date) {
+      this.acceptanceDateList = date;
+      const [start, end] = date;
+      this.showAcceptanceDate = false;
+      this.acceptanceDateText = `${this.formatDate(start)} - ${this.formatDate(end)}`;
     },
     /**
      * 重置
@@ -431,6 +502,12 @@ export default {
           this.acceptanceDate = item.value;
         }
       });
+      this.$refs.fillinDate.reset();
+      this.$refs.acceptanceDate.reset();
+      this.fillinDateText = "";
+      this.acceptanceDateText = "";
+      this.fillinDateList = [];
+      this.acceptanceDateList = [];
       this.getData();
       this.showPopup = false;
     },
@@ -556,6 +633,22 @@ export default {
               padding: 0 !important;
             }
           }
+          .self-btn {
+            width: 100% !important;
+            min-width: 100% !important;
+            max-width: 100% !important;
+            height: 50px;
+            box-sizing: border-box;
+            padding: 5px 10px 5px 0;
+            .m-btn {
+              width: 100%;
+              height: 32px !important;
+              text-align: center;
+              background: #eff0f1;
+              border-radius: 2px;
+              padding: 0 !important;
+            }
+          }
         }
         .active {
           background-color: #025baa !important;