Quellcode durchsuchen

自定义日期组件引用

zhangyu vor 4 Jahren
Ursprung
Commit
452f5164c5
3 geänderte Dateien mit 134 neuen und 32 gelöschten Zeilen
  1. 0 5
      package.json
  2. 2 2
      src/store/index.ts
  3. 132 25
      src/views/equipmentFacilities/OtherMatters.vue

+ 0 - 5
package.json

@@ -17,11 +17,6 @@
     "publish": "node publish.js"
   },
   "dependencies": {
-    "@saga-web/base": "2.1.27",
-    "@saga-web/big": "1.0.113",
-    "@saga-web/draw": "2.1.107",
-    "@saga-web/feng-map": "1.0.47",
-    "@saga-web/graph": "2.1.126",
     "axios": "^0.20.0",
     "compression-webpack-plugin": "^5.0.2",
     "core-js": "^3.6.5",

+ 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 为成功

+ 132 - 25
src/views/equipmentFacilities/OtherMatters.vue

@@ -52,9 +52,9 @@
                   </div>
                   <div class='value'>{{item.description || '--'}}</div>
                 </div>
-                <div class='status run' v-if='item.sb_status === "运行"'>运行</div>
+                <!-- <div class='status run' v-if='item.sb_status === "运行"'>运行</div>
                 <div class='status wx' v-else-if='item.sb_status === "维修"'>维修</div>
-                <div class='status wb' v-else-if='item.sb_status === "维保"'>维保</div>
+                <div class='status wb' v-else-if='item.sb_status === "维保"'>维保</div> -->
               </div>
               <div class='divider'></div>
             </div>
@@ -100,6 +100,8 @@
         </div>
       </div>
     </van-popup>
+    <van-calendar v-model="showHandleDate" type="range" @confirm="onConfirmHandleDate" />
+    <van-calendar v-model="showCreateDate" type="range" @confirm="onConfirmCreateDate" />
   </div>
 </template>
 <script>
@@ -108,11 +110,11 @@
  */
 import Vue from "vue";
 import { mapGetters } from "vuex";
-import { NavBar, Tab, Tabs, Popup, Button, Toast, List, Cell } from "vant";
+import { NavBar, Tab, Tabs, Popup, Button, Toast, List, Cell, Calendar } from "vant";
 import RepairMaintenance from "@/components/equipmentFacilities/RepairMaintenance.vue";
 import { getUpdateDetail5 } from "@/api/overview";
 import moment from "moment";
-Vue.use(NavBar).use(Tab).use(Tabs).use(Popup).use(Button).use(Toast).use(List).use(Cell);
+Vue.use(NavBar).use(Tab).use(Tabs).use(Popup).use(Button).use(Toast).use(List).use(Cell).use(Calendar);
 export default {
   name: "OtherMatters",
   props: {},
@@ -153,6 +155,8 @@ export default {
       ],
       fillinDate: 0,
       acceptanceDate: 0,
+      showHandleDate: false,
+      showCreateDate: false,
     };
   },
   props: {},
@@ -175,21 +179,88 @@ export default {
     handleRightClick() {
       this.showPopup = true;
     },
-    // 查询主要设备清单
-    getData() {
-      this.page = 1;
-      this.dataList = [];
-      this.finished = false;
+    // 处理getParams参数
+    handleGetParams() {
       let getParams = {
         plazaId: this.plazaId,
         smsxt: this.smsxt,
         page: this.page,
         size: this.size,
       }
-      // 查询关键字(设备名称)
+      // 查询关键字(记录事项位置内容)
       if (this.keyword) {
         getParams.keyword = `${this.keyword}:jlsx,location,content`;
       }
+      //处理日期
+      switch (this.fillinDate) {
+        // 30天
+        case 1:
+          getParams.handledateStartDate = moment() .subtract(30, "days").format("YYYYMMDD000000");
+          getParams.handledateEndDate = moment().format("YYYYMMDD000000");
+          break;
+        // 3个月
+        case 2:
+          getParams.handledateStartDate = moment() .subtract(3, "months").format("YYYYMMDD000000");
+          getParams.handledateEndDate = moment().format("YYYYMMDD000000");
+          break;
+        // 6个月
+        case 3:
+          getParams.handledateStartDate = moment() .subtract(3, "months").format("YYYYMMDD000000");
+          getParams.handledateEndDate = moment().format("YYYYMMDD000000");
+          break;
+        // 一年
+        case 4:
+          getParams.handledateStartDate = moment() .subtract(1, "years").format("YYYYMMDD000000");
+          getParams.handledateEndDate = moment().format("YYYYMMDD000000");
+          break;
+        // 自定义
+        case 5:
+          getParams.handledateStartDate = moment() .subtract(1, "years").format("YYYYMMDD000000");
+          getParams.handledateEndDate = moment().format("YYYYMMDD000000");
+          break;
+        // 默认 全部
+        default:
+          break;
+      }
+      //记录日期
+      switch (this.acceptanceDate) {
+        // 30天
+        case 1:
+          getParams.createdateStartDate = moment().subtract(30, "days").format("YYYYMMDD000000");
+          getParams.createdateEndDate = moment().format("YYYYMMDD000000");
+          break;
+        // 3个月
+        case 2:
+          getParams.createdateStartDate = moment().subtract(3, "months").format("YYYYMMDD000000");
+          getParams.createdateEndDate = moment().format("YYYYMMDD000000");
+          break;
+        // 6个月
+        case 3:
+          getParams.createdateStartDate = moment().subtract(6, "months").format("YYYYMMDD000000");
+          getParams.createdateEndDate = moment().format("YYYYMMDD000000");
+          break;
+        // 一年
+        case 4:
+          getParams.createdateStartDate = moment().subtract(1, "years").format("YYYYMMDD000000");
+          getParams.createdateEndDate = moment().format("YYYYMMDD000000");
+          break;
+        // 一年
+        case 5:
+          getParams.createdateStartDate = moment().subtract(1, "years").format("YYYYMMDD000000");
+          getParams.createdateEndDate = moment().format("YYYYMMDD000000");
+          break;
+        // 默认 全部
+        default:
+          break;
+      }
+      return getParams
+    },
+    // 查询主要设备清单
+    getData() {
+      this.page = 1;
+      this.dataList = [];
+      this.finished = false;
+      let getParams = this.handleGetParams();
       getUpdateDetail5({ getParams }).then((res) => {
         if (res.result == "success" && res.data) {
           this.dataList = res.data;
@@ -203,16 +274,7 @@ export default {
     onLoad() {
       // 异步更新数据
       this.page++;
-      let getParams = {
-        plazaId: this.plazaId,
-        smsxt: this.smsxt,
-        page: this.page,
-        size: this.size,
-      }
-      //查询关键字(设备名称)
-      if (this.keyword) {
-        getParams.keyword = `${this.keyword}:jlsx,location,content`;;
-      }
+      let getParams = this.handleGetParams();
       getUpdateDetail5({ getParams }).then((res) => {
         if (res.result == "success" && res.data) {
           this.dataList = this.dataList.concat(res.data);
@@ -227,17 +289,62 @@ export default {
         }
       });
     },
+    // 修改填报日期
+    changeFillinDate(data) {
+      this.fillinDate = data.value;
+      this.fillinList.map((item) => {
+        item.active = "";
+        if (item.value === data.value) {
+          item.active = "active";
+        }
+      });
+      if(data.value === 5) {
+        this.showHandleDate = true;
+      }
+    },
+    // 修改验收日期
+    changeAcceptanceDate(data) {
+      this.acceptanceDate = data.value;
+      this.acceptanceList.map((item) => {
+        item.active = "";
+        if (item.value === data.value) {
+          item.active = "active";
+        }
+      });
+      if(data.value === 5) {
+        this.showCreateDate = true;
+      }
+    },
+    // 自定义填报日期
+    onConfirmHandleDate(date) {
+      console.log(date)
+      const [start, end] = date;
+      this.showHandleDate = false;
+    },
+    // 自定义验收日期
+    onConfirmCreateDate(date) {
+      console.log(date)
+      const [start, end] = date;
+      this.showCreateDate = false;
+    },
     /**
      * 重置
      */
     reset() {
-      this.floorList.map((item, index) => {
-        item.active = ''
+      this.fillinList.map((item, index) => {
+        item.active = "";
         if (index === 0) {
-          item.active = 'active';
-          this.floorId = "";
+          item.active = "active";
+          this.fillinDate = item.value;
         }
-      })
+      });
+      this.acceptanceList.map((item, index) => {
+        item.active = "";
+        if (index === 0) {
+          item.active = "active";
+          this.acceptanceDate = item.value;
+        }
+      });
       this.getData();
       this.showPopup = false;
     },