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