From 7c20fd15b7fbc2bd5756b39d5ab655cc849ffcc3 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 16 七月 2025 22:39:23 +0800
Subject: [PATCH] 添加时间筛选

---
 src/views/systemSetting/device/handheldTerminal/components/dialogForm.vue |  157 +++++++++++++++++++--------------------------------
 1 files changed, 59 insertions(+), 98 deletions(-)

diff --git a/src/views/systemSetting/device/handheldTerminal/components/dialogForm.vue b/src/views/systemSetting/device/handheldTerminal/components/dialogForm.vue
index f231b83..b1c6b10 100644
--- a/src/views/systemSetting/device/handheldTerminal/components/dialogForm.vue
+++ b/src/views/systemSetting/device/handheldTerminal/components/dialogForm.vue
@@ -40,21 +40,10 @@
           </el-form-item>
           <!-- 閮ㄩ棬 -->
           <el-form-item class="optionItems" label="鎵�灞為儴闂�:" prop="departId">
-            <el-select v-model="form.departId" placeholder="璇疯緭鍏ユ墍灞為儴闂�">
-              <el-option :value="mylabel">
-                <el-tree
-                  ref="tree"
-                  :check-strictly="true"
-                  :data="departList"
-                  :props="defaultProps"
-                  show-checkbox
-                  @check-change="handleCheck"
-                  default-expand-all
-                  node-key="id"
-                >
-                </el-tree>
-              </el-option>
-            </el-select>
+            <departTree
+              :depart="userDepart"
+              @selectDepart="selectDepart"
+            ></departTree>
           </el-form-item>
           <el-form-item>
             <div class="optionBtn">
@@ -73,15 +62,18 @@
 </template>
   <script>
 import { validatePhone, validateName } from "@/utils/validate";
+
+import { createNamespacedHelpers } from "vuex";
+const { mapActions } = createNamespacedHelpers("handheldTerminal");
+import departTree from "@/components/departTree/index.vue";
 export default {
+  components: {
+    departTree,
+  },
   data() {
     const checkName = (rule, value, callback) => {
       if (value) {
-        if (validateName(value)) {
-          callback();
-        } else {
-          callback(new Error("璇锋纭緭鍏ュ崟鍏靛悕绉�"));
-        }
+        callback();
       } else {
         callback(new Error("鍗曞叺鍚嶇О涓嶈兘涓虹┖"));
       }
@@ -102,11 +94,7 @@
     };
     const checkUser = (rule, value, callback) => {
       if (value) {
-        if (validateName(value)) {
-          callback();
-        } else {
-          callback(new Error("璇锋纭緭鍏ヤ娇鐢ㄤ汉鍛�"));
-        }
+        callback();
       } else {
         callback(new Error("浣跨敤浜哄憳涓嶈兘涓虹┖"));
       }
@@ -124,11 +112,10 @@
     };
     return {
       form: {
-        carNumber: "",
-        contact: "",
-        ownerName: "",
-        trajectory: "",
-        vehicleUser: "",
+        name: "",
+        code: "",
+        user: "",
+        phone: "",
         departName: "",
         departId: 0,
       },
@@ -182,9 +169,7 @@
         //     }
         // ]
       },
-      selectOrg: {
-        orgsid: [],
-      },
+      userDepart: {},
       mylabel: "",
       departList: [],
       defaultProps: {
@@ -194,81 +179,57 @@
     };
   },
   created() {
-    const { getDepartTree } = this;
-    // 鍒濆鍖栭儴闂ㄦ爲
-    getDepartTree();
     // 鍒濆鍖栨暟鎹�
-    this.form = JSON.parse(JSON.stringify(this.info));
+    this.form = this.info;
     if (!this.form.departName) {
       this.form.departName = this.form.pdepartName;
     }
+    this.userDepart = {
+      departId: this.form.departId,
+      departName: this.form.departName,
+    };
+  },
+
+  watch: {
+    info(newVal) {
+      this.form = newVal; //瀵圭埗缁勪欢浼犺繃鏉ョ殑鍊艰繘琛岀洃鍚紝濡傛灉鏀瑰彉涔熷瀛愮粍浠跺唴閮ㄧ殑鍊艰繘琛屾敼鍙�
+    },
   },
   methods: {
+    ...mapActions(["saveHandheldTerminal", "updateHandheldTerminal"]),
     // 淇敼鎵ф硶杞�
     handleUpdateLawCar() {
       this.$refs.formRef.validate((valid) => {
         if (valid) {
           const { form } = this;
-          this.$axios({
-            method: "put",
-            url: "sccg/car_Manage/modification_enforce",
-            data: {
-              ...form,
-            },
-          }).then((res) => {
-            if (res.code === 200) {
+          if (form.id > 0) {
+            this.updateHandheldTerminal(form).then((res) => {
               this.$message({
                 type: "success",
-                message: "淇敼杞﹁締鎴愬姛",
+                message: "淇敼鎵嬫寔璁惧鎴愬姛",
               });
               this.$emit("closeDialog", { flag: false, index: 1 });
-            } else {
+            });
+          } else {
+            this.saveHandheldTerminal(form).then((res) => {
               this.$message({
-                type: "error",
-                message: res.message,
+                type: "success",
+                message: "淇濆瓨鎵嬫寔璁惧鎴愬姛",
               });
-            }
-          });
+              this.$emit("closeDialog", { flag: false, index: 1 });
+            });
+          }
         } else {
           return false;
         }
       });
     },
-    // 閮ㄩ棬淇敼
-    handleCheck(data, checked) {
-      this.form.departId = data.id;
-      this.form.departName = data.departName;
-      // 鑾峰彇褰撳墠閫夋嫨鐨刬d鍦ㄦ暟缁勪腑鐨勭储寮�
-      const indexs = this.selectOrg.orgsid.indexOf(data.id);
-      // 濡傛灉涓嶅瓨鍦ㄦ暟缁勪腑锛屽苟涓旀暟缁勪腑宸茬粡鏈変竴涓猧d骞朵笖checked涓簍rue鐨勬椂鍊欙紝浠h〃涓嶈兘鍐嶆閫夋嫨銆�
-      if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
-        this.$message({
-          message: "鍙兘閫夋嫨涓�涓儴闂紒",
-          type: "warning",
-          showClose: true,
-        });
-        // 璁剧疆宸查�夋嫨鐨勮妭鐐逛负false 寰堥噸瑕�
-        this.$refs.tree.setChecked(data, false);
-      } else if (this.selectOrg.orgsid.length === 0 && checked) {
-        // 鍙戠幇鏁扮粍涓虹┖ 骞朵笖鏄凡閫夋嫨
-        // 闃叉鏁扮粍鏈夊�硷紝棣栧厛娓呯┖锛屽啀push
-        this.selectOrg.orgsid = [];
-        this.selectOrg.orgsid.push(data.id);
-      } else if (
-        indexs >= 0 &&
-        this.selectOrg.orgsid.length === 1 &&
-        !checked
-      ) {
-        // 鍐嶆鐩存帴杩涜璧嬪�间负绌烘搷浣�
-        this.selectOrg.orgsid = [];
-        this.form.departName = "";
+
+    selectDepart(depart) {
+      if (depart) {
+        this.form.departId = depart.departId;
+        this.form.departName = depart.departName;
       }
-    },
-    // 鑾峰彇閮ㄩ棬鏍�
-    getDepartTree() {
-      this.$axios.get("/sccg/depart/tree").then((res) => {
-        this.departList = res.data;
-      });
     },
   },
   props: ["info", "closeDialog"],
@@ -277,13 +238,13 @@
   <style lang="scss" scoped>
 .create {
   border-radius: 1px;
-  background-color: #09152f;
+  // background-color: #09152f;
 
   main {
     // border: 1px solid #fff;
     text-align: left;
     padding: 0 55px;
-    background-color: #09152f;
+    // background-color: #09152f;
     padding-bottom: 50px;
 
     .mainContent {
@@ -323,18 +284,18 @@
     }
   }
 
-  &::v-deep .el-textarea__inner {
-    background-color: #09152f;
-    border: 1px solid #17324c;
-  }
+  // &::v-deep .el-textarea__inner {
+  //   background-color: #09152f;
+  //   border: 1px solid #17324c;
+  // }
 
-  ::v-deep .el-form-item__label {
-    color: #4b9bb7;
-  }
+  // ::v-deep .el-form-item__label {
+  //   color: #4b9bb7;
+  // }
 
-  ::v-deep .el-input__inner {
-    background-color: #09152f;
-    border: 1px solid #17324c;
-  }
+  // ::v-deep .el-input__inner {
+  //   background-color: #09152f;
+  //   border: 1px solid #17324c;
+  // }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.8.0