From 18688e9d36b2d75efa79a9b0a7a8b1b44fdee6bd Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期二, 01 十一月 2022 16:08:43 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_ui into master

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

diff --git a/src/views/systemSetting/device/handheldTerminal/components/dialogForm.vue b/src/views/systemSetting/device/handheldTerminal/components/dialogForm.vue
new file mode 100644
index 0000000..fa3c400
--- /dev/null
+++ b/src/views/systemSetting/device/handheldTerminal/components/dialogForm.vue
@@ -0,0 +1,331 @@
+<template>
+  <div class="create">
+    <main>
+      <div class="mainContent">
+        <el-form
+          ref="formRef"
+          label-width="140px"
+          :rules="createRules"
+          autoComplete="on"
+          :model="form"
+          label-position="right"
+        >
+          <!-- 鍗曞叺鍚嶇О -->
+          <el-form-item class="optionItem" label="鍗曞叺鍚嶇О:" prop="name">
+            <el-input
+              v-model="form.name"
+              placeholder="璇峰~鍐欏崟鍏靛悕绉�"
+            ></el-input>
+          </el-form-item>
+          <!-- 鍗曞叺缂栧彿 -->
+          <el-form-item class="optionItem" label="鍗曞叺缂栧彿:" prop="code">
+            <el-input
+              v-model="form.code"
+              placeholder="璇峰~鍐欏崟鍏电紪鍙�"
+            ></el-input>
+          </el-form-item>
+          <!-- 浣跨敤浜哄憳 -->
+          <el-form-item class="optionItem" label="浣跨敤浜哄憳:" prop="user">
+            <el-input
+              v-model="form.user"
+              placeholder="璇峰~鍐欎娇鐢ㄤ汉鍛�"
+            ></el-input>
+          </el-form-item>
+          <!-- 鑱旂郴鏂瑰紡 -->
+          <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="phone">
+            <el-input
+              v-model="form.phone"
+              placeholder="璇峰~鍐欒仈绯绘柟寮�"
+            ></el-input>
+          </el-form-item>
+          <!-- 閮ㄩ棬 -->
+          <el-form-item class="optionItems" label="鎵�灞為儴闂�:" prop="departId">
+            <el-select v-model="form.departName" 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>
+          </el-form-item>
+          <el-form-item>
+            <div class="optionBtn">
+              <el-button
+                type="primary"
+                class="btn submit"
+                @click.native.prevent="handleUpdateLawCar"
+                >纭
+              </el-button>
+            </div>
+          </el-form-item>
+        </el-form>
+      </div>
+    </main>
+  </div>
+</template>
+  <script>
+import { validatePhone, validateName } from "@/utils/validate";
+export default {
+  data() {
+    const checkName = (rule, value, callback) => {
+      if (value) {
+        callback();
+      } else {
+        callback(new Error("鍗曞叺鍚嶇О涓嶈兘涓虹┖"));
+      }
+    };
+    const checkCode = (rule, value, callback) => {
+      if (value) {
+        callback();
+      } else {
+        callback(new Error("鍗曞叺缂栫爜涓嶈兘涓虹┖"));
+      }
+    };
+    const checkDepartId = (rule, value, callback) => {
+      if (value) {
+        callback();
+      } else {
+        callback(new Error("鎵�灞為儴闂ㄤ笉鑳戒负绌�"));
+      }
+    };
+    const checkUser = (rule, value, callback) => {
+      if (value) {
+        callback();
+      } else {
+        callback(new Error("浣跨敤浜哄憳涓嶈兘涓虹┖"));
+      }
+    };
+    const checkPhone = (rule, value, callback) => {
+      if (value) {
+        if (validatePhone(value)) {
+          callback();
+        } else {
+          callback(new Error("璇疯緭鍏ユ纭殑鎵嬫満鍙�"));
+        }
+      } else {
+        callback(new Error("鎵嬫満鍙风爜涓嶈兘涓虹┖"));
+      }
+    };
+    return {
+      form: {
+        name: "",
+        code: "",
+        user: "",
+        phone: "",
+        departName: "",
+        departId: 0,
+      },
+      createRules: {
+        departId: [
+          {
+            required: true,
+            trigger: "blur",
+            validator: checkDepartId,
+          },
+        ],
+        name: [
+          {
+            required: true,
+            trigger: "blur",
+            validator: checkName,
+          },
+        ],
+        code: [
+          {
+            required: true,
+            trigger: "blur",
+            validator: checkCode,
+          },
+        ],
+        user: [
+          {
+            required: true,
+            trigger: "blur",
+            validator: checkUser,
+          },
+        ],
+        phone: [
+          {
+            required: true,
+            trigger: "blur",
+            validator: checkPhone,
+          },
+        ],
+        // id: 0,
+        ownerName: [
+          {
+            required: true,
+            trigger: "blur",
+            validator: checkName,
+          },
+        ],
+        // vehicleUser: [
+        //     {
+        //         required: true, trigger: 'blur', validator: checkUser
+        //     }
+        // ]
+      },
+      selectOrg: {
+        orgsid: [],
+      },
+      mylabel: "",
+      departList: [],
+      defaultProps: {
+        children: "children",
+        label: "departName",
+      },
+    };
+  },
+  created() {
+    const { getDepartTree } = this;
+    // 鍒濆鍖栭儴闂ㄦ爲
+    getDepartTree();
+    // 鍒濆鍖栨暟鎹�
+    this.form = JSON.parse(JSON.stringify(this.info));
+    if (!this.form.departName) {
+      this.form.departName = this.form.pdepartName;
+    }
+  },
+  methods: {
+    // 淇敼鎵ф硶杞�
+    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) {
+              this.$message({
+                type: "success",
+                message: "淇敼杞﹁締鎴愬姛",
+              });
+              this.$emit("closeDialog", { flag: false, index: 1 });
+            } else {
+              this.$message({
+                type: "error",
+                message: res.message,
+              });
+            }
+          });
+        } 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 = "";
+      }
+    },
+    // 鑾峰彇閮ㄩ棬鏍�
+    getDepartTree() {
+      this.$axios.get("/sccg/depart/tree").then((res) => {
+        this.departList = res.data;
+      });
+    },
+  },
+  props: ["info", "closeDialog"],
+};
+</script>
+  <style lang="scss" scoped>
+.create {
+  border-radius: 1px;
+  background-color: #09152f;
+
+  main {
+    // border: 1px solid #fff;
+    text-align: left;
+    padding: 0 55px;
+    background-color: #09152f;
+    padding-bottom: 50px;
+
+    .mainContent {
+      display: flex;
+      justify-content: center;
+      padding-top: 50px;
+
+      .el-form-item__content {
+        width: 400px;
+
+        .el-select {
+          width: 100%;
+        }
+      }
+
+      .optionHandleSp {
+        display: flex;
+
+        .areaNumber,
+        .moreNumber {
+          flex: 1;
+        }
+
+        .telNumber {
+          flex: 2;
+        }
+      }
+
+      .optionBtn {
+        display: flex;
+        margin-top: 20px;
+
+        .btn {
+          padding: 12px 50px;
+        }
+      }
+    }
+  }
+
+  &::v-deep .el-textarea__inner {
+    background-color: #09152f;
+    border: 1px solid #17324c;
+  }
+
+  ::v-deep .el-form-item__label {
+    color: #4b9bb7;
+  }
+
+  ::v-deep .el-input__inner {
+    background-color: #09152f;
+    border: 1px solid #17324c;
+  }
+}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0