From 7991973cf4c25527e227b80192e0bd087cfcee58 Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期二, 27 九月 2022 18:26:25 +0800
Subject: [PATCH] 完善系统设置的基本设置
---
src/views/systemSetting/baseSetting/department/updateUser/index.vue | 59 +
src/views/systemSetting/baseSetting/user/components/main/index.vue | 184 ++++-
src/views/login/index.vue | 1
src/views/systemSetting/baseSetting/role/createUser/index.vue | 113 +--
src/views/systemSetting/baseSetting/role/updateUser/index.vue | 137 ++--
src/views/layout/components/Menu/index.vue | 2
src/views/systemSetting/baseSetting/department/createUser/index.vue | 158 ++---
src/views/systemSetting/baseSetting/department/index.vue | 68 +
src/views/systemSetting/baseSetting/user/components/updateUser/index.vue | 187 +++---
src/views/systemSetting/baseSetting/user/components/createUser/index.vue | 227 ++++----
src/views/systemSetting/baseSetting/user/index.vue | 18
src/App.vue | 5
src/views/operate/lawEnforcement/index.vue | 10
src/views/operate/lawEnforcement/components/dataView/index.vue | 21
src/views/systemSetting/baseSetting/role/index.vue | 140 +++-
src/views/systemSetting/platform/mySetting/index.vue | 288 +++++++---
16 files changed, 921 insertions(+), 697 deletions(-)
diff --git a/src/App.vue b/src/App.vue
index 0c85672..b646426 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -29,7 +29,7 @@
// 鑾峰彇icon
async getIcon() {
let result;
- const pic = JSON.parse(localStorage.getItem('pic'));
+ const pic = JSON.parse(sessionStorage.getItem('pic'));
if (pic) {
result = pic;
console.log('缂撳瓨')
@@ -39,9 +39,8 @@
method: 'get',
url: 'sccg/system/portal/logo/search',
}).then(res => {
- console.log(res);
result = res.data;
- localStorage.setItem('pic',JSON.stringify(result));
+ sessionStorage.setItem('pic',JSON.stringify(result));
})
}
return result;
diff --git a/src/views/layout/components/Menu/index.vue b/src/views/layout/components/Menu/index.vue
index c97376b..06a2df9 100644
--- a/src/views/layout/components/Menu/index.vue
+++ b/src/views/layout/components/Menu/index.vue
@@ -37,7 +37,7 @@
<el-menu-item index="/home/system/role">瑙掕壊绠$悊鍒楄〃</el-menu-item>
</el-submenu> -->
<!-- 鏉冮檺绠$悊 -->
- <el-menu-item index="/home/system/authority">鏉冮檺绠$悊</el-menu-item>
+ <!-- <el-menu-item index="/home/system/authority">鏉冮檺绠$悊</el-menu-item> -->
<!-- <el-submenu index="/home/system/base/authority" class="thirdMenu">
<template slot="title">
<span class="thirdSpan">鏉冮檺绠$悊</span>
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 81992e8..420d278 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -109,7 +109,6 @@
},
...mapActions(["login"]),
handleLogin() {
- console.log("in login");
const { username, password } = this.loginForm;
const that = this;
this.$axios
diff --git a/src/views/operate/lawEnforcement/components/dataView/index.vue b/src/views/operate/lawEnforcement/components/dataView/index.vue
new file mode 100644
index 0000000..75fc658
--- /dev/null
+++ b/src/views/operate/lawEnforcement/components/dataView/index.vue
@@ -0,0 +1,21 @@
+<template>
+ <div class="dataView">
+ 111
+ </div>
+</template>
+<script>
+export default {
+ data() {
+ return {
+
+ }
+ },
+ props:{
+ viewData:Object,
+ default:{},
+ },
+ created(){
+ console.log(this.viewData);
+ }
+}
+</script>
diff --git a/src/views/operate/lawEnforcement/index.vue b/src/views/operate/lawEnforcement/index.vue
index 7ae0911..68ec27e 100644
--- a/src/views/operate/lawEnforcement/index.vue
+++ b/src/views/operate/lawEnforcement/index.vue
@@ -5,16 +5,17 @@
<!-- 缁勪欢鍖� -->
<div class="dialog">
<el-dialog v-if="visible" :visible.async="visible" title="闂鐧昏" width="60%" :before-close="handleClose">
- <checkIn></checkIn>
+ <MyView :viewData=showData />
</el-dialog>
</div>
</div>
</template>
<script>
import MyTable from '@/components/Table'
+import MyView from './components/dataView'
export default {
components: {
- MyTable,
+ MyTable,MyView
},
data() {
return {
@@ -72,7 +73,8 @@
},
]
},
- visible:false
+ visible:false,
+ showData:{},
}
},
methods:{
@@ -88,6 +90,8 @@
// 鑾峰彇鎿嶄綔缁撴灉
changeDialog({index,mykey}){
console.log(index,mykey);
+ this.showData = this.list[index];
+ this.visible = true;
}
}
}
diff --git a/src/views/systemSetting/baseSetting/department/createUser/index.vue b/src/views/systemSetting/baseSetting/department/createUser/index.vue
index 4e4daee..e0273f4 100644
--- a/src/views/systemSetting/baseSetting/department/createUser/index.vue
+++ b/src/views/systemSetting/baseSetting/department/createUser/index.vue
@@ -1,11 +1,5 @@
<template>
<div class="createUser">
- <!-- <header>
- <div class="headerTitle">鏂板閮ㄩ棬淇℃伅</div>
- <div class="headerTip">
- <label>x</label>
- </div>
- </header> -->
<main>
<div class="mainContent">
<el-form ref="user" label-width="140px" autoComplete="on" :model="depart" :rules="createDepartRules"
@@ -17,18 +11,14 @@
<!-- 涓婄骇閮ㄩ棬 -->
<el-form-item class="optionItems" label="涓婄骇閮ㄩ棬:" prop="parentId">
<el-select v-model="depart.parentId" placeholder="璇疯緭鍏ヤ笂绾ч儴闂�">
- <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
+ <el-option v-for="item in departList" :key="item.departName" :label="item.departName" :value="item.id"
:disabled="item.disabled">
</el-option>
</el-select>
</el-form-item>
<!-- 閮ㄩ棬绫诲瀷 -->
<el-form-item class="optionItem" label="閮ㄩ棬绫诲瀷:" prop="departType">
- <el-select v-model="depart.departType" placeholder="璇烽�夋嫨閮ㄩ棬绫诲瀷">
- <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
- :disabled="item.disabled">
- </el-option>
- </el-select>
+ <el-input v-model="depart.departType" placeholder="璇烽�夋嫨閮ㄩ棬绫诲瀷"></el-input>
</el-form-item>
<!--娣诲姞浜哄憳 -->
<el-form-item class="optionItem" label="娣诲姞浜哄憳:">
@@ -41,16 +31,16 @@
</el-form-item>
<!-- 閮ㄩ棬鎻忚堪 -->
<el-form-item class="optionItem" label="閮ㄩ棬鎻忚堪:" prop="departDes">
- <el-input v-model="depart.departDes" placeholder="璇疯緭鍏ラ儴闂ㄦ弿杩�"></el-input>
+ <el-input type="textarea" v-model="depart.departDes" placeholder="璇疯緭鍏ラ儴闂ㄦ弿杩�"></el-input>
</el-form-item>
</el-form>
</div>
</main>
<footer>
<div class="optionBtn">
- <el-button>鍙栨秷</el-button>
- <el-button type="primary" class="btn submit" @click="handleUser">纭畾</el-button>
- </div>
+ <el-button>鍙栨秷</el-button>
+ <el-button type="primary" class="btn submit" @click="handleUser">纭畾</el-button>
+ </div>
</footer>
</div>
</template>
@@ -59,37 +49,27 @@
data() {
const validateNickname = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
+ callback(new Error("璇峰~鍐欓儴闂ㄥ悕绉�"));
+ }else{
+ callback();
}
};
const validatePass = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ callback();
} else {
- const rep = /^\w+$/;
- if (!rep.test(value)) {
- callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
- }
- }
- };
- const validateTruename = (rule, value, callback) => {
- if (!value) {
- callback(new Error("璇峰~鍐欑敤鎴峰鍚�"));
- } else {
- const rep = /^[\u4E00-\u9FA5]{2,4}$/;
- if (!rep.test(value)) {
- callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
- }
+ callback();
}
};
const validatePhone = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�"));
+ callback();
} else {
- const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
- if (!rep.test(value)) {
- callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
- }
+ // const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
+ // if (!rep.test(value)) {
+ // callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
+ // }
+ callback();
}
};
return {
@@ -113,36 +93,58 @@
{ required: false, trigger: "blur" },
],
},
- roleList: [
- { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
- ],
- typeList: []
+ typeList: [],
+ departList: [],
}
},
created() {
const that = this;
- // 鑾峰彇瑙掕壊鍒楄〃
- // this.$axios.get('')
- // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃
- // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{
- // console.log(res);
- // })
- // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
+ // 鑾峰彇閮ㄩ棬鏍戝舰缁撴瀯鍥�
+ this.getDepartTree();
+ // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
// this.$axios.get('sccg/depart/page').then(res => {
- // that.typeList = res.data.records;
+ // that.departList = res.data.records;
// })
},
methods: {
handleUser() {
- const { depart } = this;
- console.log(depart);
- this.$axios.post('/sccg/depart/create', {
- departName: depart.departName,
- parentId: depart.parentId, departType: depart.departType, departDes: depart.departDes
- }).then(res => {
- if (res.code === 200) {
- this.refresh();
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ const { depart } = this;
+ console.log(depart);
+ this.$axios.post('/sccg/depart/create', {
+ departName: depart.departName,
+ parentId: depart.parentId, departType: depart.departType, departDes: depart.departDes
+ }).then(res => {
+ if (res.code === 200) {
+ this.$message({
+ message:res.message,
+ type:'success'
+ })
+ this.refresh();
+ }else if(res.code ===2001){
+ this.$message({
+ message:res.message,
+ type:'error'
+ })
+ this.refresh();
+ }
+ })
+ }else{
+ return false;
}
+ })
+ },
+ // 鑾峰彇閮ㄩ棬鏍戝舰缁撴瀯鍥�
+ getDepartTree(){
+ this.$axios({
+ method:'get',
+ url:'sccg/depart/tree',
+ })
+ .then(res=>{
+ res.data.unshift({id:0,departName:'涓�绾ц彍鍗曟爮'})
+ this.departList = res.data;
+ console.log(res);
})
}
},
@@ -154,38 +156,17 @@
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;
+
.mainContent {
display: flex;
justify-content: center;
padding-top: 50px;
+
&::v-deep .el-form-item__label {
color: #4b9bb7;
}
@@ -194,11 +175,18 @@
background-color: #09152f;
border: 1px solid #17324c;
}
- .addPerson{
+
+ &::v-deep .el-textarea__inner {
+ background-color: #09152f;
+ border: 1px solid #17324c;
+ }
+
+ .addPerson {
display: flex;
list-style: none;
- padding:0;
- li{
+ padding: 0;
+
+ li {
background-color: #cccccc;
width: 36px;
height: 36px;
@@ -209,6 +197,7 @@
margin-left: 10px;
}
}
+
.el-form-item__content {
width: 400px;
@@ -232,7 +221,8 @@
}
}
- footer{
+
+ footer {
border-top: 1px solid #fff;
height: 80px;
display: flex;
diff --git a/src/views/systemSetting/baseSetting/department/index.vue b/src/views/systemSetting/baseSetting/department/index.vue
index c9556d0..9516994 100644
--- a/src/views/systemSetting/baseSetting/department/index.vue
+++ b/src/views/systemSetting/baseSetting/department/index.vue
@@ -6,13 +6,13 @@
<span>绛涢�夋潯浠�:</span>
<el-input v-model="context" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
<div class="findBtn">
- <el-button type="primary" @click="search()" >鏌ヨ</el-button>
+ <el-button type="primary" @click="search()">鏌ヨ</el-button>
</div>
</div>
<div class="addUser">
<el-button class="addBtn" type="primary" @click="dialogCreate = true">鏂板閮ㄩ棬</el-button>
<el-dialog :visible.sync="dialogCreate" title="鏂板閮ㄩ棬淇℃伅" width="45%" v-if="dialogCreate">
- <createUser :refresh="getUserList" />
+ <createUser :refresh="context==='' ? getUserList : search " />
</el-dialog>
</div>
</div>
@@ -25,7 +25,7 @@
:data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
<el-table-column type="selection" min-width="5">
</el-table-column>
- <el-table-column prop="id" label="閮ㄩ棬ID" min-width="5">
+ <el-table-column prop="id" label="閮ㄩ棬ID" min-width="5">
<!-- <template slot-scope="scope">{{ scope.row.id }}</template> -->
</el-table-column>
<el-table-column prop="departName" label="閮ㄩ棬鍚嶇О" min-width="10">
@@ -51,14 +51,18 @@
<span class="line">|</span>
<!-- <span>淇敼瀵嗙爜</span> -->
<!-- <span>鍒犻櫎</span> -->
- <span @click="handleUpdate(scope.row)">淇敼閮ㄩ棬</span>
+ <span @click="handleUpdate(scope.row)">淇敼</span>
+ <span class="line">|</span>
+ <span @click="handleDelete(scope.row)">鍒犻櫎</span>
</div>
</template>
</el-table-column>
</el-table>
<!-- 鏌ョ湅淇敼椤甸潰 -->
- <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '淇敼閮ㄩ棬淇℃伅' :'鏌ョ湅閮ㄩ棬淇℃伅'" v-if="dialogUpdate">
- <updateUser :updateFlag="updateFlag" :userInfo="userInfo" :getUserList="getUserList" @changeDialog="changMyDialog" />
+ <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '淇敼閮ㄩ棬淇℃伅' :'鏌ョ湅閮ㄩ棬淇℃伅'"
+ v-if="dialogUpdate">
+ <updateUser :updateFlag="updateFlag" :userInfo="userInfo" :getUserList="context==='' ? getUserList : search"
+ @changeDialog="changMyDialog" />
</el-dialog>
<!-- 鍒嗛〉 -->
<div class="pagination">
@@ -89,13 +93,35 @@
totalNum: 200,
pageSize: 10,
currentPage: 1,
- context:''
+ context: ''
}
},
created() {
this.getUserList();
},
methods: {
+ handleDelete({ id }) {
+ this.$confirm('纭鍒犻櫎锛�')
+ .then(_ => {
+ this.$axios({
+ method: 'post',
+ url: 'sccg/depart/delete',
+ data: {
+ id
+ }
+ })
+ .then(res => {
+ console.log(res);
+ this.$message({
+ type: res.code===404 ? 'warning':'success',
+ message: res.message
+ })
+
+ this.getUserList();
+ })
+ })
+ .catch(_ => {});
+ },
// 淇敼瑙掕壊
handleChangeRole(obj) {
this.dialogUpdate = true
@@ -107,7 +133,7 @@
let { id, status } = obj;
status == true ? status = 1 : status = 0;
console.log(id, status);
- this.$axios.post(`sccg/depart/status` ,{id:id,status:status}).then(res => {
+ this.$axios.post(`sccg/depart/status`, { id: id, status: status }).then(res => {
console.log(res);
})
},
@@ -131,14 +157,14 @@
const that = this;
this.dialogCreate = false;
// 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�
- this.$axios.get('sccg/depart/page',{params:{currentPage:this.currentPage,pageSize:this.pageSize,departName:this.context}}).then(res => {
+ this.$axios.get('sccg/depart/page', { params: { currentPage: this.currentPage, pageSize: this.pageSize, departName: this.context } }).then(res => {
if (res.code === 200) {
res.data.records.forEach(item => {
item.createTime = helper(item.createTime);
item.status == 1 ? item.status = true : item.status = false;
})
that.totalNum = res.data.records.length;
- that.tableData = res.data.records.slice((that.currentPage-1)*10,that.currentPage*10)
+ that.tableData = res.data.records.slice((that.currentPage - 1) * this.pageSize, that.currentPage * this.pageSize)
}
})
},
@@ -164,22 +190,22 @@
this.userInfo = rowData
},
// 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
- changeCurrentPage(page){
+ changeCurrentPage(page) {
this.currentPage = page;
this.search();
},
// 涓婁竴椤电偣鍑讳簨浠�
- handlePrev(page){
+ handlePrev(page) {
this.currentPage = page;
this.search();
},
// 涓嬩竴椤电偣鍑讳簨浠�
- handleNext(page){
+ handleNext(page) {
this.currentPage = page;
this.search();
},
- // 鍏抽棴dialog
- changMyDialog(val){
+ // 鍏抽棴dialog
+ changMyDialog(val) {
this.dialogUpdate = val.dialogFlag;
}
},
@@ -335,22 +361,26 @@
&::v-deep .el-dialog__body {
background-color: #06122c;
}
- &::v-deep .el-dialog__header{
+
+ &::v-deep .el-dialog__header {
display: flex;
align-items: center;
background-color: #fff;
padding: 20px;
line-height: 60px;
}
- &::v-deep .el-dialog__title{
+
+ &::v-deep .el-dialog__title {
color: #4b9bb7;
}
- &::v-deep .el-dialog__close{
+
+ &::v-deep .el-dialog__close {
width: 20px;
height: 20px;
// color: #fff;
}
- &::v-deep .el-dialog__body{
+
+ &::v-deep .el-dialog__body {
padding: 0;
}
}
diff --git a/src/views/systemSetting/baseSetting/department/updateUser/index.vue b/src/views/systemSetting/baseSetting/department/updateUser/index.vue
index 44f43fc..e2cfc39 100644
--- a/src/views/systemSetting/baseSetting/department/updateUser/index.vue
+++ b/src/views/systemSetting/baseSetting/department/updateUser/index.vue
@@ -18,7 +18,8 @@
<!-- 涓婄骇閮ㄩ棬 -->
<el-form-item class="optionItems" label="涓婄骇閮ㄩ棬:" prop="parentId">
<el-select v-model="user.parentId" placeholder="璇烽�夋嫨涓婄骇閮ㄩ棬" :disabled="!updateFlag">
- <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.departName" :label="item.departName"
+ :value="item.id">
</el-option>
</el-select>
</el-form-item>
@@ -51,31 +52,37 @@
const validateNickname = (rule, value, callback) => {
if (!value) {
callback(new Error("璇峰~鍐欓儴闂ㄥ悕绉�"));
+ } else {
+ callback();
}
};
const validateId = (rule, value, callback) => {
if (!value) {
callback(new Error("璇峰~鍐欓儴闂╥d"));
+ } else {
+ callback();
}
}
const validatePass = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ callback();
} else {
- const rep = /^\w+$/;
- if (!rep.test(value)) {
- callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
- }
+ callback();
+ // const rep = /^\w+$/;
+ // if (!rep.test(value)) {
+ // callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
+ // }
}
};
const validatePhone = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�"));
+ callback();
} else {
- const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
- if (!rep.test(value)) {
- callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
- }
+ callback();
+ // const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
+ // if (!rep.test(value)) {
+ // callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
+ // }
}
};
return {
@@ -125,16 +132,26 @@
},
methods: {
handleUser() {
- const { user } = this;
- const that = this;
- this.$axios.post('sccg/depart/update', {
- id: user.id,
- departName: user.departName,
- parentId: user.parentId,
- departDes: user.departDes
- }).then(res => {
- this.$emit('changeDialog',{dialogUpdate:false});
- this.getUserList();
+ this.$refs['user'].validate((valid) => {
+ if (valid) {
+ const { user } = this;
+ this.$axios.post('sccg/depart/update', {
+ id: user.id,
+ departName: user.departName,
+ parentId: user.parentId,
+ departDes: user.departDes
+ }).then(res => {
+ console.log(res);
+ this.$message({
+ message:res.message,
+ type:res.code === 200 ? 'success' : 'warning',
+ })
+ this.$emit('changeDialog', { dialogUpdate: false });
+ this.getUserList();
+ })
+ } else {
+ return false;
+ }
})
}
},
diff --git a/src/views/systemSetting/baseSetting/role/createUser/index.vue b/src/views/systemSetting/baseSetting/role/createUser/index.vue
index 9d8fbc2..5208019 100644
--- a/src/views/systemSetting/baseSetting/role/createUser/index.vue
+++ b/src/views/systemSetting/baseSetting/role/createUser/index.vue
@@ -1,11 +1,5 @@
<template>
<div class="createUser">
- <!-- <header>
- <div class="headerTitle">鏂板瑙掕壊</div>
- <div class="headerTip">
- <label>x</label>
- </div>
- </header> -->
<main>
<div class="mainContent">
<el-form ref="user" label-width="140px" autoComplete="on" :model="role" :rules="createRoleRules"
@@ -16,20 +10,22 @@
</el-form-item>
<!-- 瑙掕壊绫诲瀷 -->
<el-form-item class="optionItems" label="瑙掕壊绫诲瀷:" prop="status">
- <el-select v-model="role.type" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷">
+ <el-input v-model="role.type" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷"></el-input>
+ <!-- <el-select v-model="role.type" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷">
<el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
:disabled="item.disabled">
</el-option>
- </el-select>
+ </el-select> -->
</el-form-item>
<!-- 瑙掕壊鎻忚堪 -->
<el-form-item class="optionItem" label="瑙掕壊鎻忚堪:" prop="description">
- <el-input v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input>
+ <el-input type="textarea" v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input>
</el-form-item>
<el-form-item>
<div class="optionBtn">
- <el-button class="btn cancel" >鍙栨秷</el-button>
- <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦</el-button>
+ <el-button class="btn cancel" @click="handleStop">鍙栨秷</el-button>
+ <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦
+ </el-button>
</div>
</el-form-item>
</el-form>
@@ -43,50 +39,50 @@
data() {
const validateNickname = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
+ callback(new Error("璇峰~鍐欒鑹插悕绉�"));
+ } else {
+ callback();
}
};
const validatePass = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ callback();
} else {
- const rep = /^\w+$/;
- if (!rep.test(value)) {
- callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
- }
+ // const rep = /^\w+$/;
+ // if (!rep.test(value)) {
+ // callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
+ // }
+ callback();
}
};
const validateTruename = (rule, value, callback) => {
- if (!value) {
- callback(new Error("璇峰~鍐欑敤鎴峰鍚�"));
+ if (value) {
+ callback();
} else {
- const rep = /^[\u4E00-\u9FA5]{2,4}$/;
- if (!rep.test(value)) {
- callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
- }
+ // const rep = /^[\u4E00-\u9FA5]{2,4}$/;
+ // if (!rep.test(value)) {
+ // callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
+ // }
+ callback();
}
};
return {
role: {
+ name: '',
type: '',
- status: '',
description: '',
},
createRoleRules: {
name: [
{ required: true, trigger: "blur", validator: validateNickname },
],
- status: [
+ type: [
{ required: false, trigger: "blur", validator: validatePass },
],
description: [
{ required: false, trigger: "blur", validator: validateTruename },
],
},
- roleList: [
- { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
- ],
- typeList: []
}
},
created() {
@@ -98,21 +94,31 @@
// console.log(res);
// })
// 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
- this.$axios.get('sccg/depart/page').then(res => {
- that.typeList = res.data.records;
- })
+ // this.$axios.get('sccg/depart/page').then(res => {
+ // that.typeList = res.data.records;
+ // })
},
methods: {
handleUser() {
- const { role } = this;
- console.log(role);
- this.$axios.post('sccg/role/create', {
- description:role.description,name:role.name,type:role.type
- }).then(res => {
- if (res.code === 200) {
- this.refresh();
+ this.$refs['user'].validate((valid) => {
+ console.log(valid);
+ if (valid) {
+ const { role } = this;
+ console.log(role);
+ this.$axios.post('sccg/role/create', {
+ description: role.description, name: role.name, type: role.type
+ }).then(res => {
+ if (res.code === 200) {
+ this.refresh();
+ }
+ })
+ } else {
+ return false;
}
})
+ },
+ handleStop(){
+ this.refresh();
}
},
props: ['refresh']
@@ -123,30 +129,7 @@
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;
@@ -156,6 +139,7 @@
display: flex;
justify-content: center;
padding-top: 50px;
+
&::v-deep .el-form-item__label {
color: #4b9bb7;
}
@@ -165,6 +149,11 @@
border: 1px solid #17324c;
}
+ &::v-deep .el-textarea__inner {
+ background-color: #09152f;
+ border: 1px solid #17324c;
+ }
+
.el-form-item__content {
width: 400px;
diff --git a/src/views/systemSetting/baseSetting/role/index.vue b/src/views/systemSetting/baseSetting/role/index.vue
index be67cba..421728c 100644
--- a/src/views/systemSetting/baseSetting/role/index.vue
+++ b/src/views/systemSetting/baseSetting/role/index.vue
@@ -30,9 +30,9 @@
</el-table-column> -->
<el-table-column prop="name" label="瑙掕壊鍚嶇О" min-width="10">
</el-table-column>
- <el-table-column prop="username" label="瑙掕壊绫诲瀷" min-width="10">
+ <el-table-column prop="sort" label="瑙掕壊绫诲瀷" min-width="10">
</el-table-column>
- <el-table-column prop="mobile" label="榛樿瑙掕壊" min-width="10">
+ <el-table-column prop="adminCount" label="榛樿瑙掕壊" min-width="10">
</el-table-column>
<el-table-column prop="description" label="澶囨敞" min-width="10">
</el-table-column>
@@ -51,14 +51,20 @@
<span class="line">|</span>
<!-- <span>淇敼瀵嗙爜</span> -->
<!-- <span>鍒犻櫎</span> -->
- <span @click="handleUpdate(scope.row)">淇敼瑙掕壊</span>
+ <span @click="handleUpdate(scope.row)">鏉冮檺璁剧疆</span>
+ <span class="line">|</span>
+ <span @click="handleStop(scope.row)">鍋滅敤</span>
+ <span class="line">|</span>
+ <span @click="handleDelete(scope.row)">鍒犻櫎</span>
</div>
</template>
</el-table-column>
</el-table>
<!-- 鏌ョ湅淇敼椤甸潰 -->
- <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '淇敼瑙掕壊淇℃伅' :'鏌ョ湅瑙掕壊淇℃伅'" v-if="dialogUpdate">
- <updateUser :updateFlag="updateFlag" :userInfo=userInfo :getUserList=getUserList @changeDialog="changeDialog" />
+ <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '鏉冮檺璁剧疆' :'鏌ョ湅瑙掕壊淇℃伅'"
+ v-if="dialogUpdate">
+ <updateUser :updateFlag="updateFlag" :userInfo=userInfo :getUserList=getUserList
+ @changeDialog="changeDialog" />
</el-dialog>
<!-- 鍒嗛〉 -->
<div class="pagination">
@@ -96,6 +102,28 @@
this.getUserList();
},
methods: {
+ handleDelete({ id }) {
+ const that = this;
+ let arr = [];
+ arr.push(id);
+ this.$confirm('纭鍒犻櫎锛�')
+ .then(_ => {
+ that.$axios({
+ method: 'post',
+ url: 'sccg/role/delete?ids=' + arr,
+ })
+ .then(res => {
+ console.log(res);
+ this.$message({
+ type: 'success',
+ message: res.message
+ })
+
+ this.getUserList();
+ })
+ })
+ .catch(_ => { });
+ },
// 淇敼瑙掕壊
handleChangeRole(obj) {
this.dialogUpdate = true
@@ -111,37 +139,66 @@
console.log(res);
})
},
+ handleStop(obj) {
+ // let { id, status } = obj;
+ // status == true ? status = 1 : status = 0;
+ // console.log(id, status);
+ // this.$axios.post(`/sccg/role/updateStatus/` + id + '?status=' + status).then(res => {
+ // this.getUserList();
+ // })
+ },
// 鑾峰彇鐢ㄦ埛鍒楄〃
getUserList() {
const that = this;
this.dialogCreate = false;
// 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�
this.$axios.get('sccg/role/listAll').then(res => {
- console.log(res)
- if (res.code === 200) {
- res.data.forEach(item => {
- item.createTime = helper(item.createTime);
- item.status == 1 ? item.status = true : item.status = false;
- })
- that.tableData = res.data
- this.totalNum=res.data.length
- }
+ this.totalNum = res.data.length;
+ this.search();
})
},
search() {
const that = this;
+ const { currentPage, pageSize, context } = this;
this.dialogCreate = false;
// 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�
- this.$axios.get('sccg/role/list',{params:{pageNum:this.currentPage,pageSize:this.pageSize,keyword:this.context}}).then(res => {
- if (res.code === 200) {
- res.data.list.forEach(item => {
- item.createTime = helper(item.createTime);
- item.status == 1 ? item.status = true : item.status = false;
- })
- this.totalNum=this.
- this.totalNum=res.data.list.length
- }
- })
+ if (context == '') {
+ this.$axios.get('sccg/role/list?keyword=' + '&pageNum=' + currentPage + '&pageSize=' + pageSize).then(res => {
+ if (res.code === 200) {
+ console.log(res);
+ res.data.list.forEach(item => {
+ item.createTime = helper(item.createTime);
+ item.status == 1 ? item.status = true : item.status = false;
+ })
+ that.tableData = res.data.list
+ }
+ })
+ } else {
+ this.$axios({
+ method: 'get',
+ url: 'sccg/role/list?keyword='+context + '&pageNum=' + currentPage + '&pageSize=' + pageSize,
+ }).then(res => {
+ if (res.code === 200) {
+ console.log(2, res);
+ res.data.list.forEach(item => {
+ item.createTime = helper(item.createTime);
+ item.status == 1 ? item.status = true : item.status = false;
+ })
+ that.tableData = res.data.list
+ this.totalNum = res.data.length;
+ }
+ })
+ // this.$axios.get('sccg/role/list?'+context).then(res => {
+ // if (res.code === 200) {
+ // console.log(2,res);
+ // res.data.list.forEach(item => {
+ // item.createTime = helper(item.createTime);
+ // item.status == 1 ? item.status = true : item.status = false;
+ // })
+ // that.tableData = res.data.list
+ // }
+ // })
+ }
},
// 璁剧疆琛ㄦ牸鏂戦┈绾�
tableRowClassName({ row, rowIndex }) {
@@ -179,28 +236,7 @@
this.currentPage = page;
this.search();
},
- // 鐢ㄦ埛鏌ヨ(鏆傛椂鏀寔鐢佃瘽鍙风爜)
- handlePhone() {
- const { search, getUserList } = this;
- const that = this;
- if (search == '') {
- getUserList();
- return;
- }
- this.dialogCreate = false;
- // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�
- this.$axios.get(`sccg/admin/list?mobile=${search}`).then(res => {
- if (res.code === 200) {
- res.data.records.forEach(item => {
- item.createTime = helper(item.createTime);
- item.status == 1 ? item.status = true : item.status = false;
- })
- that.totalNum = res.data.records.length;
- that.tableData = res.data.records.slice((that.currentPage - 1) * 10, that.currentPage * 10)
- }
- })
- },
- changeDialog(val){
+ changeDialog(val) {
this.dialogUpdate = val.dialogUpdate;
console.log(val);
}
@@ -357,22 +393,26 @@
&::v-deep .el-dialog__body {
background-color: #06122c;
}
- &::v-deep .el-dialog__header{
+
+ &::v-deep .el-dialog__header {
display: flex;
align-items: center;
background-color: #fff;
padding: 20px;
line-height: 60px;
}
- &::v-deep .el-dialog__title{
+
+ &::v-deep .el-dialog__title {
color: #4b9bb7;
}
- &::v-deep .el-dialog__close{
+
+ &::v-deep .el-dialog__close {
width: 20px;
height: 20px;
// color: #fff;
}
- &::v-deep .el-dialog__body{
+
+ &::v-deep .el-dialog__body {
padding: 0;
}
}
diff --git a/src/views/systemSetting/baseSetting/role/updateUser/index.vue b/src/views/systemSetting/baseSetting/role/updateUser/index.vue
index 5d2e253..eb2c505 100644
--- a/src/views/systemSetting/baseSetting/role/updateUser/index.vue
+++ b/src/views/systemSetting/baseSetting/role/updateUser/index.vue
@@ -1,8 +1,5 @@
<template>
<div class="updateUser">
- <!-- <header>
- <div class="headerTitle">{{updateFlag ? '淇敼瑙掕壊淇℃伅' :'鏌ョ湅瑙掕壊淇℃伅'}}</div>
- </header> -->
<main>
<div class="mainContent">
<el-form ref="user" label-width="140px" autoComplete="on" :model="role" :rules="createRoleRules"
@@ -12,20 +9,18 @@
<el-input v-model="role.name" placeholder="璇峰~鍐欒鑹插悕绉�" :disabled="!updateFlag"></el-input>
</el-form-item>
<!-- 瑙掕壊绫诲瀷 -->
- <el-form-item class="optionItems" label="瑙掕壊绫诲瀷:" prop="status">
- <el-select v-model="role.status" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷" :disabled="!updateFlag">
- <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
- :disabled="item.disabled">
- </el-option>
- </el-select>
+ <el-form-item class="optionItems" label="瑙掕壊绫诲瀷:" prop="sort">
+ <el-input v-model="role.sort" placeholder="璇烽�夋嫨瑙掕壊绫诲瀷" :disabled="!updateFlag"></el-input>
</el-form-item>
<!-- 瑙掕壊鎻忚堪 -->
<el-form-item class="optionItem" label="瑙掕壊鎻忚堪:" prop="description">
- <el-input v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�" :disabled="!updateFlag"></el-input>
+ <el-input type="textarea" v-model="role.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"
+ :disabled="!updateFlag"></el-input>
</el-form-item>
<el-form-item v-if="updateFlag">
<div class="optionBtn">
- <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">纭</el-button>
+ <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">纭
+ </el-button>
</div>
</el-form-item>
</el-form>
@@ -39,83 +34,81 @@
data() {
const validateNickname = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
+ callback(new Error("璇峰~鍐欒鑹插悕绉�"));
+ } else {
+ callback();
}
};
const validatePass = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ callback();
} else {
- const rep = /^\w+$/;
- if (!rep.test(value)) {
- callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
- }
+ // const rep = /^\w+$/;
+ // if (!rep.test(value)) {
+ // callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
+ // }
+ callback();
}
};
const validateTruename = (rule, value, callback) => {
- if (!value) {
- callback(new Error("璇峰~鍐欑敤鎴峰鍚�"));
+ if (value) {
+ callback();
} else {
- const rep = /^[\u4E00-\u9FA5]{2,4}$/;
- if (!rep.test(value)) {
- callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
- }
+ // const rep = /^[\u4E00-\u9FA5]{2,4}$/;
+ // if (!rep.test(value)) {
+ // callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
+ // }
+ callback();
}
};
return {
role: {
- id:'',
name: '',
- status: '',
+ sort: '',
description: '',
},
createRoleRules: {
name: [
{ required: true, trigger: "blur", validator: validateNickname },
],
- status: [
+ sort: [
{ required: false, trigger: "blur", validator: validatePass },
],
description: [
{ required: false, trigger: "blur", validator: validateTruename },
],
},
- roleList: [
- { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
- ],
- typeList: []
}
},
created() {
const that = this;
- this.userInfo.status ? this.userInfo.status = 1: this.userInfo.status = 0;
+ this.userInfo.status ? this.userInfo.status = 1 : this.userInfo.status = 0;
this.role = JSON.parse(JSON.stringify(that.userInfo));
- // 鑾峰彇瑙掕壊鍒楄〃
- // this.$axios.get('')
- // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃
- // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{
- // console.log(res);
- // })
- // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
- this.$axios.get('sccg/depart/page').then(res => {
- that.typeList = res.data.records;
- })
+ console.log(this.role);
},
methods: {
handleUser() {
- const { role } = this;
- this.$axios.post('/sccg/role/update/'+role.id, {
- id:role.id,
- status: role.status,
- description:role.description,
- name:role.name
- }).then(res => {
- this.$emit('changeDialog',{dialogUpdate:false});
- this.getUserList();
+ this.$refs.user.validate((valid) => {
+ console.log(valid);
+ if (valid) {
+ const { role } = this;
+ this.$axios.post('/sccg/role/update/' + role.id, {
+ id: role.id,
+ status: role.status,
+ description: role.description,
+ name: role.name,
+ sort:role.sort
+ }).then(res => {
+ this.$emit('changeDialog', { dialogUpdate: false });
+ this.getUserList();
+ })
+ } else {
+ return false;
+ }
})
}
},
- props: ['userInfo', 'updateFlag','getUserList','changeDialog']
+ props: ['userInfo', 'updateFlag', 'getUserList', 'changeDialog']
}
</script>
<style lang="scss" scoped>
@@ -123,37 +116,18 @@
border-radius: 1px;
background-color: #09152f;
- // header {
- // display: flex;
- // justify-content: center;
- // 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;
+
.mainContent {
display: flex;
justify-content: center;
padding-top: 50px;
+
.el-form-item__content {
width: 400px;
@@ -186,14 +160,19 @@
}
}
-}
-.updateUser::v-deep .el-form-item__label {
- color: #4b9bb7;
-}
+ &::v-deep .el-textarea__inner {
+ background-color: #09152f;
+ border: 1px solid #17324c;
+ }
-.updateUser::v-deep .el-input__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
diff --git a/src/views/systemSetting/baseSetting/user/components/createUser/index.vue b/src/views/systemSetting/baseSetting/user/components/createUser/index.vue
index 833990f..76db6d1 100644
--- a/src/views/systemSetting/baseSetting/user/components/createUser/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/createUser/index.vue
@@ -1,14 +1,6 @@
<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">
@@ -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>
@@ -76,27 +68,28 @@
<!-- 鎵�灞為儴闂� -->
<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-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">閲嶇疆</el-button>
</div>
</el-form-item>
</el-form>
@@ -110,99 +103,106 @@
data() {
const validateNickname = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
+ 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: '',
password: '',
username: '',
- // gender: 1,
+ gender: 1,
isDy: 0,
mobile: '',
email: '',
- // role: null,
+ role: null,
userType: null,
zj: {
areaNumber: '',
@@ -211,8 +211,8 @@
},
departmentId: null,
jobTitle: null,
- // mac: '',
- // ip: '',
+ mac: '',
+ ip: '',
},
createUserRules: {
nickName: [
@@ -224,29 +224,29 @@
username: [
{ required: true, trigger: "blur", validator: validateTruename },
],
- // gender: [
- // { required: true, trigger: "blur" },
- // ],
+ gender: [
+ { 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,61 @@
// ],
},
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,
+ }).then(res => {
+ if (res.code === 200) {
+ console.log(1);
+ this.$emit('sendDialog', { flag: false });
+ }
+ })
+ }else{
+ return false
}
})
},
+ // 鑾峰彇瑙掕壊鍒楄〃
+ getRoleList() {
+ this.$axios({
+ method: 'get',
+ url: 'sccg/role/listAll',
+ })
+ .then(res => {
+ this.roleList = res.data;
+ })
+ }
},
props: ['sendDialog']
}
@@ -306,46 +323,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;
}
diff --git a/src/views/systemSetting/baseSetting/user/components/main/index.vue b/src/views/systemSetting/baseSetting/user/components/main/index.vue
index 4ff7c0f..394c7d4 100644
--- a/src/views/systemSetting/baseSetting/user/components/main/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/main/index.vue
@@ -7,20 +7,20 @@
:data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
<el-table-column type="selection" min-width="5">
</el-table-column>
- <el-table-column label="鐢ㄦ埛ID" min-width="5">
+ <el-table-column label="鐢ㄦ埛ID" min-width="4">
<template slot-scope="scope">{{ scope.row.id }}</template>
</el-table-column>
<el-table-column prop="nickName" label="鐢ㄦ埛鍚嶇О" min-width="10">
</el-table-column>
- <el-table-column prop="username" label="鎵�灞炲鍚�" min-width="10">
+ <el-table-column prop="username" label="鎵�灞炲鍚�" min-width="8">
</el-table-column>
- <el-table-column prop="mobile" label="鑱旂郴鏂瑰紡" min-width="10">
+ <el-table-column prop="mobile" label="鑱旂郴鏂瑰紡" min-width="7">
</el-table-column>
- <el-table-column prop="note" label="鎵�灞炶鑹�" min-width="10">
+ <el-table-column prop="note" label="鎵�灞炶鑹�" min-width="8">
</el-table-column>
- <el-table-column prop="departName" label="鎵�灞為儴闂�" min-width="10">
+ <el-table-column prop="departName" label="鎵�灞為儴闂�" min-width="8">
</el-table-column>
- <el-table-column prop="jobTitle" label="鎵�灞炶亴鍔�" min-width="10">
+ <el-table-column prop="jobTitle" label="鎵�灞炶亴鍔�" min-width="8">
</el-table-column>
<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
</el-table-column>
@@ -31,31 +31,52 @@
</el-switch>
</template>
</el-table-column>
- <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="22">
<template slot-scope="scope">
<div class="operation">
- <!-- <span @click="handleChangeRole(scope.row)">淇敼瑙掕壊</span> -->
+ <span @click="handleChangeRole(scope.row,'role')">淇敼瑙掕壊</span>
+ <span class="line">|</span>
<span @click="handleFind(scope.row)">鏌ョ湅</span>
<span class="line">|</span>
- <!-- <span>淇敼瀵嗙爜</span> -->
- <!-- <span>鍒犻櫎</span> -->
- <span @click="handleUpdate(scope.row)">淇敼閮ㄩ棬</span>
+ <span @click="handleChangeRole(scope.row,'password')">淇敼瀵嗙爜</span>
+ <span class="line">|</span>
+ <span @click="handleDelete(scope.row)">鍒犻櫎</span>
+ <span class="line">|</span>
+ <span @click="handleChangeRole(scope.row,'depart')">淇敼閮ㄩ棬</span>
</div>
</template>
</el-table-column>
</el-table>
<!-- 鏌ョ湅淇敼椤甸潰 -->
<el-dialog :visible.sync="dialogUpdate" width="45%" v-if="dialogUpdate"
- :title="updateFlag ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅' :'鏌ョ湅鐢ㄦ埛淇℃伅'">
- <updateUser :updateFlag="updateFlag" :userInfo=userInfo />
+ :title="updateFlag ? flag.role ? '淇敼鐢ㄦ埛瑙掕壊淇℃伅' : flag.depart ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅': '淇敼鐢ㄦ埛瀵嗙爜' :'鏌ョ湅鐢ㄦ埛淇℃伅'"
+ :before-close="handleClose">
+ <updateUser :updateFlag="updateFlag" :userInfo=userInfo :flag=flag @closeDialog="closeDialog"
+ :getUserList="getUserList" />
</el-dialog>
- <!-- 鍒嗛〉 -->
+ <!-- tools -->
<div class="pagination">
- <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum"
- :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev"
- @next-click="handleNext">
- </el-pagination>
- </div>
+ <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum"
+ :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev"
+ @next-click="handleNext">
+ </el-pagination>
+ </div>
+ <!-- <div class="tools">
+ <div class="funs">
+ <div class="funsItem" >
+ <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+ </div>
+ <div class="funsItem" >
+ <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+ </div>
+ </div> -->
+ <!-- <div class="pagination">
+ <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum"
+ :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev"
+ @next-click="handleNext">
+ </el-pagination>
+ </div> -->
+ <!-- </div> -->
</div>
</main>
</template>
@@ -77,12 +98,58 @@
pageSize: 10,
currentPage: 1,
renderFlag: false,
+ flag: {
+ role: false,
+ password: false,
+ depart: false,
+ },
+ all:false,
+ unsame:false,
}
},
created() {
this.getUserList();
},
methods: {
+ selectAll() {
+ this.$refs.multipleTable.toggleAllSelection();
+
+ },
+ disSame(list){
+ console.log(this.$refs.multipleTable);
+ // const row = this.$refs.table.data
+ list.forEach(row => {
+ this.$refs.multipleTable.toggleRowSelection(row)
+ })
+ },
+ // 鍒犻櫎鐢ㄦ埛
+ handleDelete({ id }) {
+ this.$confirm('纭鍒犻櫎锛�').then(_ => {
+ this.$axios({
+ method: 'post',
+ url: 'sccg/admin/delete/' + id,
+ }).then(res => {
+ console.log(res);
+ this.$message({
+ message: res.message,
+ type: 'success'
+ })
+ this.getUserList();
+ })
+ }).catch(_ => { })
+ },
+ closeDialog({ flag }) {
+ this.dialogUpdate = flag;
+ this.getUserList();
+ },
+ handleClose(done) {
+ this.$confirm('纭鍏抽棴锛�')
+ .then(_ => {
+ this.dialogUpdate = false
+ done();
+ })
+ .catch(_ => { });
+ },
// 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
changeCurrentPage(page) {
this.currentPage = page;
@@ -99,10 +166,17 @@
this.getUserList();
},
// 淇敼瑙掕壊
- handleChangeRole(obj) {
- this.dialogUpdate = true
- this.user = obj;
- // console.log(obj)
+ handleChangeRole(obj, mykey) {
+ this.dialogUpdate = true;
+ this.updateFlag = true;
+ for (let key in this.flag) {
+ if (key == mykey) {
+ this.flag[key] = true;
+ } else {
+ this.flag[key] = false;
+ }
+ }
+ this.userInfo = obj;
},
// 淇敼鐢ㄦ埛鐘舵��
handleChangeStatus(obj) {
@@ -119,10 +193,10 @@
// 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�佺敤鎴锋煡璇�(鏆傛椂鏀寔鐢佃瘽鍙风爜)
this.$axios.get(`sccg/admin/list?mobile=${search}¤t=${currentPage}&pageSize=${pageSize}`).then(res => {
if (res.code === 200) {
- res.data.records.forEach(item => {
- item.createTime = helper(item.createTime);
- item.status == 1 ? item.status = true : item.status = false;
- })
+ // res.data.records.forEach(item => {
+ // item.createTime = helper(item.createTime);
+ // item.status == 1 ? item.status = true : item.status = false;
+ // })
that.totalNum = res.data.pages * pageSize;
that.tableData = res.data.records;
this.renderFlag = true;
@@ -134,22 +208,20 @@
this.dialogUpdate = true;
this.updateFlag = false;
this.userInfo = rowData;
- },
- // 淇敼鐢ㄦ埛閮ㄩ棬淇℃伅
- handleUpdate(rowData) {
- this.dialogUpdate = true;
- this.updateFlag = true;
- this.userInfo = rowData
+ const { flag } = this;
+ for (let key in flag) {
+ flag[key] = false;
+ }
},
// 璁剧疆琛ㄦ牸鏂戦┈绾�
tableRowClassName({ row, rowIndex }) {
- if ((rowIndex + 1) % 2 == 0) {
- return 'warning-row';
- } else {
- return 'success-row';
- }
- return '';
- },
+ if ((rowIndex + 1) % 2 == 0) {
+ return 'warning-row';
+ } else {
+ return 'success-row';
+ }
+ return '';
+ },
},
props: ['refresh', 'keyword', 'resetFresh'],
watch: {
@@ -180,22 +252,30 @@
line-height: 60px;
}
- .pagination {
- margin-top: 50px;
+ .tools {
display: flex;
- line-height: 50px;
- justify-content: center;
+ justify-content: space-between;
- .el-pagination {
+ // .funs {}
- &::v-deep li,
- &::v-deep .btn-prev,
- &::v-deep .btn-next {
- background-color: #071f39;
- color: #4b9bb7;
+
+ }
+ .pagination {
+ margin-top: 50px;
+ display: flex;
+ line-height: 50px;
+ justify-content: center;
+
+ .el-pagination {
+
+ &::v-deep li,
+ &::v-deep .btn-prev,
+ &::v-deep .btn-next {
+ background-color: #071f39;
+ color: #4b9bb7;
+ }
}
}
- }
.el-table {
color: #4b9bb7;
@@ -253,7 +333,7 @@
&::v-deep .switchStyle.el-switch .el-switch__core,
&::v-deep .el-switch .el-switch__label {
- width: 50px !important;
+ width: 56px !important;
}
}
</style>
\ No newline at end of file
diff --git a/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue b/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue
index eabcd01..54363b8 100644
--- a/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue
@@ -1,10 +1,6 @@
<template>
<div class="updateUser">
- <!-- <header>
- <div class="headerTitle">{{updateFlag ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅' :'鏌ョ湅鐢ㄦ埛淇℃伅'}}</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">
@@ -14,7 +10,8 @@
</el-form-item>
<!-- 鐢ㄦ埛瀵嗙爜 -->
<el-form-item class="optionItems" label="鐢ㄦ埛瀵嗙爜:" prop="password">
- <el-input v-model="user.password" type="password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" :disabled="true">
+ <el-input v-model="user.password" type="password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�"
+ :disabled="!flag.password">
</el-input>
</el-form-item>
<!-- 鎵�灞炵敤鎴峰鍚� -->
@@ -44,17 +41,17 @@
<el-input v-model="user.email" placeholder="璇峰~鍐欓偖绠卞湴鍧�" :disabled="true"></el-input>
</el-form-item>
<!-- 閫夋嫨瑙掕壊 -->
- <!-- <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-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role">
+ <el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�" :disabled="!flag.role">
+ <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="璇烽�夋嫨鐢ㄦ埛绫诲瀷" disabled>
- <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">
</el-option>
</el-select>
</el-form-item>
@@ -71,27 +68,24 @@
</el-form-item> -->
<!-- 鎵�灞為儴闂� -->
<el-form-item class="optionItem" label="鎵�灞為儴闂�:" prop="departmentId">
- <el-select v-model="user.department" placeholder="璇烽�夋嫨鎵�灞為儴闂�" :disabled="!updateFlag">
- <el-option v-for="item in typeList" :key="item.name" :label="item.departName"
+ <el-select v-model="user.departmentId" placeholder="璇烽�夋嫨鎵�灞為儴闂�" :disabled="!flag.depart">
+ <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-select v-model="user.work" placeholder="璇烽�夋嫨褰撳墠鑱屽姟" disabled>
- <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value">
- </el-option>
- </el-select>
+ <el-input v-model="user.jobTitle" placeholder="璇疯緭鍏ュ綋鍓嶈亴鍔�" :disabled="true"></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 v-if="updateFlag">
<div class="optionBtn">
<el-button type="primary" class="btn submit" @click.native.prevent="handleUser">鎻愪氦
@@ -110,26 +104,34 @@
const validateNickname = (rule, value, callback) => {
if (!value) {
callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
+ } else {
+ callback();
}
};
const validatePass = (rule, value, callback) => {
if (!value) {
callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
} else {
- const rep = /^\w+$/;
- if (!rep.test(value)) {
- callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
- }
+ callback();
+ // const rep = /^\w+$/;
+ // if (!rep.test(value)) {
+ // callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
+ // } else {
+ // callback();
+ // }
}
};
const validateTruename = (rule, value, callback) => {
if (!value) {
callback(new Error("璇峰~鍐欑敤鎴峰鍚�"));
} else {
- const rep = /^[\u4E00-\u9FA5]{2,4}$/;
- if (!rep.test(value)) {
- callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
- }
+ callback();
+ // const rep = /^[\u4E00-\u9FA5]{2,4}$/;
+ // if (!rep.test(value)) {
+ // callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
+ // } else {
+ // callback();
+ // }
}
};
const validatePhone = (rule, value, callback) => {
@@ -139,6 +141,8 @@
const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
if (!rep.test(value)) {
callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
+ } else {
+ callback();
}
}
};
@@ -147,47 +151,52 @@
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("璇疯緭鍏ユ纭殑閭"))
+ } else {
+ callback();
}
- }
- };
- const validateRole = (rule, value, callback) => {
- if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
} else {
callback();
}
};
+ // const validateRole = (rule, value, callback) => {
+ // console.log(value);
+ // if (!value) {
+ // callback(new Error("璇烽�夋嫨鐢ㄦ埛瑙掕壊"));
+ // } else {
+ // callback();
+ // }
+ // };
const validateType = (rule, value, callback) => {
- if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ if (!value && value!==0) {
+ callback(new Error("璇烽�夋嫨鐢ㄦ埛绫诲瀷"));
} else {
callback();
}
};
const validateDepartment = (rule, value, callback) => {
- if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ if (!value && value !== 0) {
+ callback(new Error("璇烽�夋嫨鎵�灞為儴闂�"));
} else {
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("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ callback();
} else {
callback();
}
};
const validateIp = (rule, value, callback) => {
if (!value) {
- callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+ callback();
} else {
callback();
}
@@ -208,10 +217,10 @@
phoneNumber: "",
moreNumber: "",
},
- departmentId: null,
- jobTitle: null,
- // mac: '',
- // ip: '',
+ // departmentId: null,
+ // jobTitle: null,
+ mac: '',
+ ip: '',
},
createUserRules: {
nickName: [
@@ -236,16 +245,16 @@
{ required: false, trigger: "blur", validator: validateMail },
],
// role: [
- // { required: true, trigger: "blur", validator: validateRole },
+ // { 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 },
@@ -260,35 +269,62 @@
roleList: [
{ name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
],
- typeList: []
+ typeList: [],
+ departList: []
}
},
created() {
const that = this;
this.user = JSON.parse(JSON.stringify(that.userInfo));
// 鑾峰彇瑙掕壊鍒楄〃
- // 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/depart/status', {
- id: user.departmentId,
- status: user.status ? 1 : 0,
- }).then(res => {
- console.log(res);
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ const { user } = this;
+ console.log(user);
+ // for(let key in user){
+ // if(user[key]===null){
+ // user[key] = '';
+ // }
+ // }
+ // user.status = String(user.status);
+ // user.isDy = String(user.isDy);
+ // user.userType = String(user.userType);
+ // this.$axios({
+ // method: 'post',
+ // url: 'sccg/admin/update/' + user.id,
+ // data: user
+ // })
+ // .then(res => {
+ // console.log(res);
+ // this.getUserList();
+ // this.$emit('closeDialog', { flag: false });
+ // })
+ } else {
+ return false;
+ }
})
+ },
+ // 鑾峰彇瑙掕壊鍒楄〃
+ getRoleList() {
+ this.$axios({
+ method: 'get',
+ url: 'sccg/role/listAll',
+ })
+ .then(res => {
+ this.roleList = res.data;
+ })
}
},
- props: ['userInfo', 'updateFlag']
+ props: ['userInfo', 'updateFlag', 'flag','closeDialog','getUserList']
}
</script>
<style lang="scss" scoped>
@@ -296,44 +332,17 @@
border-radius: 1px;
background-color: #09152f;
- // header {
- // display: flex;
- // justify-content: center;
- // 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;
- // .mainTitle {
- // color: #4b9bb7;
- // font-weight: 600;
- // line-height: 100px;
- // font-size: 14px;
- // }
.mainContent {
display: flex;
justify-content: center;
padding-top: 50px;
+
.el-form-item__content {
width: 400px;
diff --git a/src/views/systemSetting/baseSetting/user/index.vue b/src/views/systemSetting/baseSetting/user/index.vue
index d4cac15..96b7aad 100644
--- a/src/views/systemSetting/baseSetting/user/index.vue
+++ b/src/views/systemSetting/baseSetting/user/index.vue
@@ -1,23 +1,5 @@
<template>
<div class="userList">
- <!-- <header>
- <div class="headerContent">
- <div class="search">
- <span>绛涢�夋潯浠�:</span>
- <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="search"></el-input>
- <div class="findBtn">
- <el-button type="primary" @click="getUserList">鏌ヨ</el-button>
- </div>
- </div>
- <div class="addUser">
- <el-button class="addBtn" type="primary" @click="dialogCreate = true">娣诲姞鐢ㄦ埛</el-button>
- <el-dialog :visible.sync="dialogCreate" title="鏂板璐︽埛" width="45%" v-if="dialogCreate"
- :before-close="handleClose1">
- <createUser :refresh="getUserList" />
- </el-dialog>
- </div>
- </div>
- </header> -->
<myHeader @setDialog="changeDialog" @getSearch="getSearch"></myHeader>
<myMain :refresh="isFresh" :keyword="keyword" @resetFresh="resetFresh" />
</div>
diff --git a/src/views/systemSetting/platform/mySetting/index.vue b/src/views/systemSetting/platform/mySetting/index.vue
index b221b7f..423859c 100644
--- a/src/views/systemSetting/platform/mySetting/index.vue
+++ b/src/views/systemSetting/platform/mySetting/index.vue
@@ -4,87 +4,136 @@
<header>
<div class="headerTitle">绯荤粺璁剧疆 >> 闂ㄦ埛绠$悊 > 鑷畾涔夎彍鍗曡缃�</div>
</header>
- <!-- main 鍐呭灞曠ず鍖� -->
<main>
<div class="mainContent">
- <!-- 渚ц竟瀵艰埅鏍� -->
- <div class="aside">
- <div class="asideItem" v-for="(item,index) in menuList" :key="item.id" @click="getContent(index)">
- <h4>{{item.title}}</h4>
- <!-- 瀛愯彍鍗� -->
- <ul class="menu">
- <li class="menuItem" v-for="(son,sonIndex) in item.children"
- @click.stop="getContent(index,sonIndex)">
- <span>{{son.title}}</span>
- </li>
- </ul>
- </div>
- </div>
- <!-- 鑿滃崟璁剧疆 -->
- <div class="content">
- <h4>鑿滃崟绠$悊-{{article.title}}</h4>
- <!-- 瀛愯彍鍗曢」鐩� -->
- <ul class="edit">
- <li class="editItem">
- <label>鍚嶇О:</label>
- <span>{{article.name}}</span>
- </li>
- <li class="editItem">
- <label>鎻忚堪:</label>
- <span>{{article.description}}</span>
- </li>
- <li class="editItem">
- <label>鏄惁鏄剧ず鑿滃崟:</label>
- <span>{{article.hidden===0 ? '鍚�':'鏄�' }}</span>
- </li>
- </ul>
- </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}"
+ :data="menuList" style="width: 100%" row-key="id" :row-class-name="tableRowClassName">
+ <el-table-column type="selection" min-width="5">
+ </el-table-column>
+ <el-table-column prop="title" label="鑿滃崟鏍�" min-width="75">
+ <el-tree :data="menuList" node-key="id" :default-expanded-keys="[0]"
+ :default-checked-keys="[0]" :props="defaultProps">
+ </el-tree>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" min-width="20">
+ <template slot-scope="scope">
+ <div class="operation">
+ <!-- <span @click="handleChangeRole(scope.row)">淇敼瑙掕壊</span> -->
+ <span @click="handleFind(scope.row)">鏌ョ湅</span>
+ <span class="line">|</span>
+ <!-- <span>淇敼瀵嗙爜</span> -->
+ <!-- <span>鍒犻櫎</span> -->
+ <span @click="handleUpdate(scope.row)">淇敼瑙掕壊</span>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏌ョ湅淇敼椤甸潰 -->
+ <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '淇敼瑙掕壊淇℃伅' :'鏌ョ湅瑙掕壊淇℃伅'"
+ v-if="dialogUpdate">
+
+ </el-dialog>
</div>
</main>
</div>
</template>
<script>
+import helper from "@/utils/mydate.js"
export default {
data() {
return {
menuList: [],
article: [],
+ defaultProps: {
+ children: 'menuVoArrayList',
+ label: 'title'
+ },
+ count: 1,
+ menuList: [],
+ context: "",
+ dialogCreate: false,
+ dialogUpdate: false,
+ updateFlag: false,
+ userInfo: '',
}
},
created() {
- const { getMenuList } = this;
- getMenuList();
+ this.getMenuList();
},
methods: {
// 鑾峰彇鑿滃崟鍒楄〃
getMenuList() {
- // this.$axios({
- // method: 'get',
- // url: 'sccg/system/portal/menu/search',
- // data: {
- // current: 1,
- // size: 10,
- // }
- // }).then(res => {
- // console.log(res);
- // const { data } = res;
- // this.menuList = data;
- // this.getContent(0);
- // })
+ this.$axios({
+ method: 'get',
+ url: 'sccg/system/portal/menu/search',
+ }).then(res => {
+ this.menuList = res.data.records;
+ this.getContent(0);
+ })
},
// 鍒囨崲鑿滃崟鍐呭灞曠ず
getContent(index, sonIndex = null) {
if (sonIndex === null) {
this.article = this.menuList[index];
+
return;
}
- this.article = this.menuList[index][sonIndex];
+ this.article = this.menuList[index].menuVoArrayList[sonIndex];
+ },
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 == 0) {
+ return 'warning-row';
+ } else {
+ return 'success-row';
+ }
+ return '';
+ },
+ handleCheckChange(data, checked, indeterminate) {
+ console.log(data, checked, indeterminate);
+ },
+ handleNodeClick(data) {
+ console.log(data);
+ },
+ loadNode(node, resolve) {
+ if (node.level === 0) {
+ return resolve([{ name: 'region1' }, { name: 'region2' }]);
+ }
+ if (node.level > 3) return resolve([]);
+
+ var hasChild;
+ if (node.data.name === 'region1') {
+ hasChild = true;
+ } else if (node.data.name === 'region2') {
+ hasChild = false;
+ } else {
+ hasChild = Math.random() > 0.5;
+ }
+
+ setTimeout(() => {
+ var data;
+ if (hasChild) {
+ data = [{
+ name: 'zone' + this.count++
+ }, {
+ name: 'zone' + this.count++
+ }];
+ } else {
+ data = [];
+ }
+
+ resolve(data);
+ }, 500);
}
}
+
}
</script>
<style lang="scss" scoped>
.mySetting {
+ margin: 10px 20px;
text-align: left;
color: #4b9bb7;
@@ -94,64 +143,111 @@
}
main {
- .mainContent {
- display: flex;
+ background-color: #09152f;
+ margin-top: 20px;
+ padding-bottom: 50px;
+ border: 1pox solid #fff;
- li {
- list-style: none;
+ .mainTitle {
+ line-height: 60px;
+ }
+
+ .el-table {
+ color: #4b9bb7;
+ font-size: 10px;
+
+ &::v-deep .el-table__cell {
+ text-align: center;
}
- .aside {
- width: 200px;
- border: 1px solid #fff;
- padding: 20px;
- height: calc(100vh - 120px);
-
- .asideItem {
- h4 {
- line-height: 40px;
- margin: 0;
- }
-
- ul {
- padding: 0;
- margin: 0;
- }
-
- .menu {
- .menuItem {
- line-height: 30px;
- }
- }
- }
+ &::v-deep .el-table__empty-block {
+ background-color: #09152f;
+ color: #4b9bb7;
+ }
+ &::v-deep .el-table__row:hover{
+ background-color: #4b9bb7;
+ }
+ .el-tree {
+ background-color: #071f39;
}
- .content {
- flex: 1;
- margin-left: 100px;
+ .operation {
+ display: flex;
+ justify-content: center;
- h4 {
- margin: 0;
- line-height: 80px;
+ .line {
+ padding: 0 5px;
}
- ul {
- padding: 0;
- margin: 0;
- }
-
- .edit {
- .editItem {
- line-height: 40px;
- display: flex;
-
- span {
- margin-left: 10px;
- }
- }
+ span:hover {
+ cursor: pointer;
}
}
}
+
+ .el-table::v-deep .warning-row {
+ background: #06122c;
+ }
+
+ .el-table::v-deep .success-row {
+ background: #071f39;
+ }
+
+ &::v-deep .switchStyle .el-switch__label {
+ position: absolute;
+ display: none;
+ color: #fff;
+ }
+
+ &::v-deep .el-switch__core {
+ background-color: rgba(166, 166, 166, 1);
+ }
+
+ &::v-deep .switchStyle .el-switch__label--left {
+ z-index: 9;
+ left: 20px;
+ }
+
+ &::v-deep .switchStyle .el-switch__label--right {
+ z-index: 9;
+ left: 4px;
+ }
+
+ &::v-deep .switchStyle .el-switch__label.is-active {
+ display: block;
+ }
+
+ &::v-deep .switchStyle.el-switch .el-switch__core,
+ &::v-deep .el-switch .el-switch__label {
+ width: 50px !important;
+ }
+ }
+
+ &::v-deep .el-dialog__header,
+ &::v-deep .el-dialog__body {
+ background-color: #06122c;
+ }
+
+ &::v-deep .el-dialog__header {
+ display: flex;
+ align-items: center;
+ background-color: #fff;
+ padding: 20px;
+ line-height: 60px;
+ }
+
+ &::v-deep .el-dialog__title {
+ color: #4b9bb7;
+ }
+
+ &::v-deep .el-dialog__close {
+ width: 20px;
+ height: 20px;
+ // color: #fff;
+ }
+
+ &::v-deep .el-dialog__body {
+ padding: 0;
}
}
</style>
\ No newline at end of file
--
Gitblit v1.8.0