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