From fde4758dd43927cce678d99ffe71e05931616f26 Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期日, 09 十月 2022 10:46:35 +0800
Subject: [PATCH] 创建车辆管理
---
src/views/systemSetting/baseSetting/user/components/createUser/index.vue | 280 +++++++++++++++++++++++++++++--------------------------
1 files changed, 146 insertions(+), 134 deletions(-)
diff --git a/src/views/systemSetting/baseSetting/user/components/createUser/index.vue b/src/views/systemSetting/baseSetting/user/components/createUser/index.vue
index 833990f..c790ef6 100644
--- a/src/views/systemSetting/baseSetting/user/components/createUser/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/createUser/index.vue
@@ -1,21 +1,13 @@
<template>
<div class="createUser">
- <!-- <header>
- <div class="headerTitle">鏂板璐︽埛</div>
- <div class="headerTip">
- <span>*</span>
- <label>涓哄繀濉」</label>
- </div>
- </header> -->
<main>
- <!-- <div class="mainTitle">鍩虹淇℃伅</div> -->
<div class="mainContent">
<el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules"
label-position="right">
- <!-- 鐢ㄦ埛鍚嶇О -->
+ <!-- 鐢ㄦ埛鍚嶇О
<el-form-item class="optionItem" label="鐢ㄦ埛鍚嶇О:" prop="nickName">
<el-input v-model="user.nickName" placeholder="濉啓鐢ㄦ埛鍚嶇О"></el-input>
- </el-form-item>
+ </el-form-item> -->
<!-- 鐢ㄦ埛瀵嗙爜 -->
<el-form-item class="optionItems" label="鐢ㄦ埛瀵嗙爜:" prop="password">
<el-input v-model="user.password" type="password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�"></el-input>
@@ -25,12 +17,12 @@
<el-input v-model="user.username" placeholder="璇峰~鍐欑敤鎴峰鍚�"></el-input>
</el-form-item>
<!-- 鎬у埆 -->
- <!-- <el-form-item class="optionItem" label="鎬у埆:" prop="gender">
- <el-radio-group v-model="user.gender">
+ <el-form-item class="optionItem" label="鎬у埆:" prop="sex">
+ <el-radio-group v-model="user.sex">
<el-radio :label="1">鐢�</el-radio>
- <el-radio :label="2">濂�</el-radio>
+ <el-radio :label="0">濂�</el-radio>
</el-radio-group>
- </el-form-item> -->
+ </el-form-item>
<!-- 鏄惁鍏氬憳 -->
<el-form-item class="optionItem" label="鏄惁鍏氬憳:" prop="isDy">
<el-radio-group v-model="user.isDy">
@@ -47,17 +39,17 @@
<el-input v-model="user.email" placeholder="璇峰~鍐欓偖绠卞湴鍧�"></el-input>
</el-form-item>
<!-- 閫夋嫨瑙掕壊 -->
- <!-- <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role">
+ <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role">
<el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�">
- <el-option v-for="item in roleList" :key="item.name" :label="item.name" :value="item.value"
+ <el-option v-for="item in roleList" :key="item.id" :label="item.name" :value="item.id"
:disabled="item.disabled">
</el-option>
</el-select>
- </el-form-item> -->
+ </el-form-item>
<!-- 鐢ㄦ埛绫诲瀷 -->
<el-form-item class="optionItem" label="鐢ㄦ埛绫诲瀷:" prop="userType">
<el-select v-model="user.userType" placeholder="璇烽�夋嫨鐢ㄦ埛绫诲瀷">
- <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
+ <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id"
:disabled="item.disabled">
</el-option>
</el-select>
@@ -75,28 +67,29 @@
</el-form-item>
<!-- 鎵�灞為儴闂� -->
<el-form-item class="optionItem" label="鎵�灞為儴闂�:" prop="departmentId">
- <el-select v-model="user.departmentId" placeholder="璇烽�夋嫨鎵�灞為儴闂�">
- <el-option v-for="item in typeList" :key="item.name" :label="item.departName"
+ <el-select v-model="user.departmentId" placeholder="璇烽�夋嫨鎵�灞為儴闂�" @change="getDepartName">
+ <el-option v-for="item in departList" :key="item.name" :label="item.departName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<!-- 褰撳墠鑱屽姟 -->
<el-form-item class="optionItem" label="褰撳墠鑱屽姟:" prop="jobTitle">
- <el-input v-model="user.work" placeholder="璇疯緭鍏ュ綋鍓嶈亴鍔�" ></el-input>
+ <el-input v-model="user.jobTitle" placeholder="璇疯緭鍏ュ綋鍓嶈亴鍔�"></el-input>
</el-form-item>
<!-- 濉啓鎵�灞瀖ac鍦板潃 -->
- <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac">
+ <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac">
<el-input v-model="user.mac" placeholder="璇峰~鍐欐墍灞瀖ac鍦板潃"></el-input>
- </el-form-item> -->
+ </el-form-item>
<!-- 濉啓鎵�灞瀒p鍦板潃 -->
- <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip">
+ <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip">
<el-input v-model="user.ip" placeholder="璇峰~鍐欐墍灞瀒p鍦板潃"></el-input>
- </el-form-item> -->
+ </el-form-item>
<el-form-item>
<div class="optionBtn">
- <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦</el-button>
- <el-button class="btn reset">閲嶇疆</el-button>
+ <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦
+ </el-button>
+ <el-button class="btn reset" @click.native.prevent="resetForm">閲嶇疆</el-button>
</div>
</el-form-item>
</el-form>
@@ -108,101 +101,108 @@
<script>
export default {
data() {
- const validateNickname = (rule, value, callback) => {
- if (!value) {
- callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
- }
- };
+ // const validateNickname = (rule, value, callback) => {
+ // if (!value) {
+ // callback(new Error("鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖"));
+ // }else{
+ // callback();
+ // }
+ // };
const validatePass = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ callback(new Error("鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖"));
} else {
const rep = /^\w+$/;
if (!rep.test(value)) {
callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
+ }else{
+ callback();
}
}
};
const validateTruename = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑敤鎴峰鍚�"));
+ callback(new Error("鐢ㄦ埛濮撳悕涓嶈兘涓虹┖"));
} else {
const rep = /^[\u4E00-\u9FA5]{2,4}$/;
if (!rep.test(value)) {
callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
+ }else{
+ callback();
}
}
};
const validatePhone = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�"));
+ callback(new Error("鎵嬫満鍙风爜涓嶈兘涓虹┖"));
} else {
const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
if (!rep.test(value)) {
callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
+ }else{
+ callback();
}
}
};
- const validateMail = (rule, value, callback) => {
- if (value) {
- const rep = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
- if (!rep.test(value)) {
- callback(new Error("璇疯緭鍏ユ纭殑閭"))
- }
- }
- };
+ // const validateMail = (rule, value, callback) => {
+ // if (value) {
+ // const rep = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
+ // if (!rep.test(value)) {
+ // callback(new Error("璇疯緭鍏ユ纭殑閭"))
+ // }
+ // }
+ // };
const validateRole = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ callback(new Error("鎵�灞炶鑹蹭笉鑳戒负绌�"));
} else {
- callback();
+ callback()
}
};
const validateType = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ callback(new Error("鐢ㄦ埛绫诲瀷涓嶈兘涓虹┖"));
} else {
- callback();
+ callback()
}
};
const validateDepartment = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ callback(new Error("璇烽�夋嫨鐢ㄦ埛閮ㄩ棬"));
} else {
- callback();
+ callback()
}
};
const validateWork = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ callback(new Error("鐢ㄦ埛褰撳墠鑱屽姟涓嶈兘涓虹┖"));
} else {
callback();
}
};
- const validateMac = (rule, value, callback) => {
- if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
- } else {
- callback();
- }
- };
- const validateIp = (rule, value, callback) => {
- if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
- } else {
- callback();
- }
- };
+ // const validateMac = (rule, value, callback) => {
+ // if (value) {
+ // callback(new Error(""));
+ // }else{
+ // callback()
+ // }
+ // };
+ // const validateIp = (rule, value, callback) => {
+ // if (value) {
+ // }else{
+ // callback()
+ // }
+ // };
return {
user: {
- nickName: '',
+ // nickName: '',
password: '',
username: '',
- // gender: 1,
+ sex: 1,
isDy: 0,
mobile: '',
email: '',
- // role: null,
+ role: null,
userType: null,
zj: {
areaNumber: '',
@@ -211,42 +211,42 @@
},
departmentId: null,
jobTitle: null,
- // mac: '',
- // ip: '',
+ mac: '',
+ ip: '',
},
createUserRules: {
- nickName: [
- { required: true, trigger: "blur", validator: validateNickname },
- ],
+ // nickName: [
+ // { required: true, trigger: "blur", validator: validateNickname },
+ // ],
password: [
{ required: true, trigger: "blur", validator: validatePass },
],
username: [
{ required: true, trigger: "blur", validator: validateTruename },
],
- // gender: [
- // { required: true, trigger: "blur" },
- // ],
+ sex: [
+ { required: true, trigger: "blur" },
+ ],
isDy: [
{ required: true, trigger: "blur" },
],
mobile: [
{ required: true, trigger: "blur", validator: validatePhone },
],
- email: [
- { required: false, trigger: "blur", validator: validateMail },
- ],
- // role: [
- // { required: true, trigger: "blur", validator: validateRole },
+ // email: [
+ // { required: false, trigger: "blur", validator: validateMail },
// ],
+ role: [
+ { required: true, trigger: "change", validator: validateRole },
+ ],
userType: [
- { required: true, trigger: "blur", validator: validateType },
+ { required: true, trigger: "change", validator: validateType },
],
zj: [
{ required: false, trigger: "blur" },
],
departmentId: [
- { required: true, trigger: "blur", validator: validateDepartment },
+ { required: true, trigger: "change", validator: validateDepartment },
],
jobTitle: [
{ required: true, trigger: "blur", validator: validateWork },
@@ -259,44 +259,84 @@
// ],
},
roleList: [
- { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
+ { name: '瑙掕壊1', id: 1 }, { name: '瑙掕壊2', id: 2 }
],
- typeList: []
+ typeList: [
+ { name: '绫诲瀷1', id: 1 }, { name: '绫诲瀷2', id: 2 }
+ ],
+ departList: []
}
},
created() {
const that = this;
// 鑾峰彇瑙掕壊鍒楄〃
- // this.$axios.get('')
- // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃
- // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{
- // console.log(res);
- // })
+ this.getRoleList();
// 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
this.$axios.get('sccg/depart/page').then(res => {
- that.typeList = res.data.records;
+ that.departList = res.data.records;
})
},
methods: {
+ // 鎻愪氦娉ㄥ唽
handleUser() {
- const { user } = this;
- this.$axios.post('sccg/admin/register', {
- departmentId: user.departmentId,
- email: user.email,
- jsDy: user.isDy,
- jobTitle: user.jobTitle,
- mobile: user.mobile,
- nickName: user.nickName,
- password: user.password,
- userType: user.userType,
- username: user.username,
- }).then(res => {
- if (res.code === 200) {
- console.log(1);
- this.$emit('sendDialog',{flag:false});
+ this.$refs['user'].validate((valid) => {
+ console.log(valid);
+ if (valid) {
+ const { user } = this;
+ console.log(user);
+ this.$axios.post('sccg/admin/register', {
+ departmentId: user.departmentId,
+ email: user.email,
+ jsDy: user.isDy,
+ jobTitle: user.jobTitle,
+ mobile: user.mobile,
+ // nickName: user.nickName,
+ password: user.password,
+ userType: user.userType,
+ username: user.username,
+ departName:user.departName,
+ }).then(res => {
+ if (res.code === 200) {
+ console.log(1);
+ this.$message({
+ type:'success',
+ message:res.message,
+ })
+ this.$emit('sendDialog', { flag: false });
+ }else if(res.code === 500 && res.message === "鎿嶄綔澶辫触"){
+ this.$message({
+ type:'warning',
+ message:'璇ョ敤鎴峰凡娉ㄥ唽'
+ })
+ }
+ })
+ }else{
+ return false
}
})
},
+ // 鑾峰彇瑙掕壊鍒楄〃
+ getRoleList() {
+ this.$axios({
+ method: 'get',
+ url: 'sccg/role/listAll',
+ })
+ .then(res => {
+ this.roleList = res.data;
+ })
+ },
+ // 閲嶇疆琛ㄥ崟
+ resetForm(){
+ this.$refs['user'].resetFields();
+ },
+ // 鑾峰緱閮ㄩ棬鍚嶇О
+ getDepartName(data){
+ this.departList.forEach(item=>{
+ if(item.id === data){
+ this.user.departName = item.departName
+ }
+ })
+ }
},
props: ['sendDialog']
}
@@ -306,46 +346,18 @@
border-radius: 1px;
background-color: #09152f;
- // header {
- // display: flex;
- // justify-content: space-between;
- // height: 60px;
- // line-height: 60px;
- // padding: 0 20px;
- // border: 1px solid #fff;
-
- // .headerTitle {
- // color: #4b9bb7;
- // font-weight: 600;
- // }
-
- // .headerTip span {
- // color: #ff3b6c;
- // }
-
- // .headerTip label {
- // color: #4b9bb7;
- // }
- // }
-
main {
- // border: 1px solid #fff;
text-align: left;
padding: 0 55px;
background-color: #09152f;
padding-bottom: 50px;
padding-top: 20px;
- // .mainTitle {
- // color: #4b9bb7;
- // font-weight: 600;
- // line-height: 100px;
- // font-size: 14px;
- // }
.mainContent {
display: flex;
justify-content: center;
margin-top: 50px;
+
&::v-deep .el-form-item__label {
color: #4b9bb7;
}
--
Gitblit v1.8.0