Commit 8b7a7983 authored by 冷冷's avatar 冷冷

🐛 Fixing a bug. some bugs

parent 7eeeabad
...@@ -64,6 +64,7 @@ export const tableOption = { ...@@ -64,6 +64,7 @@ export const tableOption = {
}, { }, {
label: '排序', label: '排序',
prop: 'sort', prop: 'sort',
type: 'number',
rules: [{ rules: [{
required: true, required: true,
message: '请输入排序', message: '请输入排序',
......
...@@ -41,10 +41,11 @@ export const tableOption = { ...@@ -41,10 +41,11 @@ export const tableOption = {
label: 'id', label: 'id',
prop: 'userId', prop: 'userId',
span: 24, span: 24,
hide: true,
editDisabled: true, editDisabled: true,
addVisdiplay: false, addVisdiplay: false,
}, { }, {
width: 150, width: 120,
fixed: true, fixed: true,
label: '用户名', label: '用户名',
prop: 'username', prop: 'username',
...@@ -83,13 +84,27 @@ export const tableOption = { ...@@ -83,13 +84,27 @@ export const tableOption = {
formsolt: true, formsolt: true,
solt: true, solt: true,
span: 24, span: 24,
hide: true,
rules: [{ rules: [{
required: true, required: true,
message: "请选择部门", message: "请选择部门",
trigger: "blur" trigger: "blur"
}] }]
}, { }, {
width: 150, width: 120,
label: '手机号',
prop: 'phone',
type: 'phone',
value: '',
span: 24,
rules: [{
min: 6,
max: 20,
message: "长度在 11 个字符",
trigger: "blur"
}]
},{
width: 120,
label: '角色', label: '角色',
prop: 'role', prop: 'role',
formsolt: true, formsolt: true,
...@@ -117,7 +132,7 @@ export const tableOption = { ...@@ -117,7 +132,7 @@ export const tableOption = {
value: "0" value: "0"
}, { }, {
label: '锁定', label: '锁定',
value: "1" value: "9"
}] }]
}, { }, {
width: 180, width: 180,
...@@ -131,4 +146,4 @@ export const tableOption = { ...@@ -131,4 +146,4 @@ export const tableOption = {
addVisdiplay: false, addVisdiplay: false,
span: 24, span: 24,
}] }]
} }
\ No newline at end of file
...@@ -60,12 +60,6 @@ ...@@ -60,12 +60,6 @@
@click="handleScreen"></i> @click="handleScreen"></i>
</div> </div>
</el-tooltip> </el-tooltip>
<el-tooltip effect="dark"
content="用户头像"
placement="bottom">
<img class="top-bar__img"
:src="userInfo.avatar">
</el-tooltip>
<el-dropdown> <el-dropdown>
<span class="el-dropdown-link"> <span class="el-dropdown-link">
{{userInfo.username}} {{userInfo.username}}
......
...@@ -115,6 +115,7 @@ export default { ...@@ -115,6 +115,7 @@ export default {
message: '删除成功', message: '删除成功',
type: 'success' type: 'success'
}) })
this.refreshChange()
}) })
.catch(function(err) { }) .catch(function(err) { })
}, },
...@@ -133,6 +134,7 @@ export default { ...@@ -133,6 +134,7 @@ export default {
message: '修改成功', message: '修改成功',
type: 'success' type: 'success'
}) })
this.refreshChange()
done() done()
}) })
}, },
...@@ -150,6 +152,7 @@ export default { ...@@ -150,6 +152,7 @@ export default {
message: '添加成功', message: '添加成功',
type: 'success' type: 'success'
}) })
this.refreshChange()
done() done()
}) })
}, },
......
<!-- `<!--
- Copyright (c) 2018-2025, lengleng All rights reserved. - Copyright (c) 2018-2025, lengleng All rights reserved.
- -
- Redistribution and use in source and binary forms, with or without - Redistribution and use in source and binary forms, with or without
...@@ -16,73 +16,86 @@ ...@@ -16,73 +16,86 @@
--> -->
<template> <template>
<div class="dept"> <div class="app-container calendar-list-container">
<basic-container> <basic-container>
<div class="filter-container">
<el-button-group>
<el-button type="primary"
v-if="deptManager_btn_add"
icon="plus"
@click="handlerAdd">添加</el-button>
<el-button type="primary"
v-if="deptManager_btn_edit"
icon="edit"
@click="handlerEdit">编辑</el-button>
<el-button type="primary"
v-if="deptManager_btn_del"
icon="delete"
@click="handleDelete">删除</el-button>
</el-button-group>
</div>
<el-row> <el-row>
<el-col :span="8" <el-col :span="8"
style='padding-right:20px;'> style='margin-top:15px;'>
<avue-tree :data="treeData" <el-tree class="filter-tree"
:option="treeOption" :data="treeData"
@node-click="getNodeData"> node-key="id"
<template slot="addBtn"> highlight-current
<el-button size="small" :props="defaultProps"
@click="handlerParentAdd()" :filter-node-method="filterNode"
icon="el-icon-plus" @node-click="getNodeData"
v-if="deptManager_btn_add"></el-button> default-expand-all>
</template> </el-tree>
<template slot-scope="scope"
slot="menuBtn">
<el-dropdown-item v-if="deptManager_btn_add"
@click.native="handlerAdd(scope.data)">新增</el-dropdown-item>
<el-dropdown-item v-if="deptManager_btn_edit"
@click.native="handlerEdit(scope.data)">修改</el-dropdown-item>
<el-dropdown-item v-if="deptManager_btn_del"
@click.native="handleDelete(scope.data)">删除</el-dropdown-item>
</template>
</avue-tree>
</el-col> </el-col>
<el-col :span="16"> <el-col :span="16"
<avue-form :option="formOption" style='margin-top:15px;'>
v-model="form" <el-card class="box-card">
ref="form" <el-form :label-position="labelPosition"
@submit="isAdd?create():update()"> label-width="80px"
<template slot="menuForm"> :rules="rules"
<el-button @click="onCancel()" :model="form"
v-if="editFlag">取消</el-button> ref="form">
</template> <el-form-item label="父级节点"
</avue-form> prop="parentId">
<!-- <avue-crud :option="tableOption" <el-input v-model="form.parentId"
class="dept__table" :disabled="formEdit"
@refresh-change="getList()" placeholder="请输入父级节点"></el-input>
@row-del="handleDelete" </el-form-item>
:data="tableData"> <el-form-item label="节点编号"
<template slot-scope="scope" prop="deptId"
slot="menuLeft"> v-if="formEdit">
<el-button type="primary" <el-input v-model="form.deptId"
size="small" :disabled="formEdit"
v-if="deptManager_btn_add" placeholder="节点编号"></el-input>
@click="handlerParentAdd()">新增</el-button> </el-form-item>
</template> <el-form-item label="部门名称"
<template slot-scope="scope" prop="name">
slot="menu"> <el-input v-model="form.name"
<el-button type="primary" :disabled="formEdit"
size="small" placeholder="请输入名称"></el-input>
@click="handlerEdit(scope.row)">编辑</el-button> </el-form-item>
<el-button type="danger" <el-form-item label="排序"
size="small" prop="orderNum">
@click="handleDelete(scope.row)">删除</el-button> <el-input type="number"
</template> v-model="form.sort"
</avue-crud> --> :disabled="formEdit"
placeholder="请输入排序"></el-input>
</el-form-item>
<el-form-item v-if="formStatus == 'update'">
<el-button type="primary"
@click="update">更新</el-button>
<el-button @click="onCancel">取消</el-button>
</el-form-item>
<el-form-item v-if="formStatus == 'create'">
<el-button type="primary"
@click="create">保存</el-button>
<el-button @click="onCancel">取消</el-button>
</el-form-item>
</el-form>
</el-card>
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-dialog @close="onCancel"
:visible.sync="box">
<avue-form :option="formOption"
v-model="form"
ref="form"
@submit="isAdd?create():update()">
</avue-form>
</el-dialog> -->
</basic-container> </basic-container>
</div> </div>
</template> </template>
...@@ -90,44 +103,45 @@ ...@@ -90,44 +103,45 @@
<script> <script>
import { fetchTree, getObj, addObj, delObj, putObj } from '@/api/dept' import { fetchTree, getObj, addObj, delObj, putObj } from '@/api/dept'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { validatenull } from '@/util/validate'
import { setTimeout } from 'timers';
export default { export default {
name: 'dept', name: 'dept',
data () { data () {
return { return {
treeOption: { list: null,
addBtn: false, total: null,
editBtn: false, formEdit: true,
delBtn: false, formAdd: true,
nodeKey: "id",
props: {
label: 'name'
}
},
tableOption: {
index: true,
addBtn: false,
editBtn: false,
delBtn: false,
page: false,
column: [{
label: 'id',
prop: 'id'
}, {
label: '名称',
prop: 'name'
}],
},
editFlag: false,
tableData: [],
box: false,
obj: {},
formStatus: '', formStatus: '',
showElement: false,
typeOptions: ['0', '1'],
methodOptions: ['GET', 'POST', 'PUT', 'DELETE'],
listQuery: {
name: undefined
},
treeData: [], treeData: [],
defaultProps: {
children: 'children',
label: 'name'
},
rules: {
parentId: [
{ required: true, message: '请输入父级节点', trigger: 'blur' }
],
deptId: [
{ required: true, message: '请输入节点编号', trigger: 'blur' }
],
name: [
{ required: true, message: '请输入部门名称', trigger: 'blur' }
],
},
labelPosition: 'right',
form: { form: {
name: undefined,
orderNum: undefined,
parentId: undefined,
deptId: undefined
}, },
currentId: 0,
deptManager_btn_add: false, deptManager_btn_add: false,
deptManager_btn_edit: false, deptManager_btn_edit: false,
deptManager_btn_del: false deptManager_btn_del: false
...@@ -140,48 +154,15 @@ export default { ...@@ -140,48 +154,15 @@ export default {
this.deptManager_btn_del = this.permissions['sys_dept_del'] this.deptManager_btn_del = this.permissions['sys_dept_del']
}, },
computed: { computed: {
...mapGetters([ ...mapGetters([
'elements', 'elements',
'permissions' 'permissions'
]), ])
isAdd () {
return this.formStatus === 'create';
},
formOption () {
return {
submitText: this.isAdd ? '新增' : '修改',
submitBtn: this.editFlag,
emptyBtn: this.editFlag,
column: [
{
label: '父类序号',
prop: 'parentId',
disabled: true,
span: 24,
},
{
label: '部门名称',
prop: 'name',
disabled: !this.editFlag,
span: 24,
rules: [{ required: true, message: '请输入部门名称', trigger: 'change' }]
}, {
label: '排序',
prop: 'orderNum',
disabled: !this.editFlag,
span: 24,
}
]
}
},
}, },
methods: { methods: {
getList () { getList () {
fetchTree(this.listQuery).then(response => { fetchTree(this.listQuery).then(response => {
this.treeData = response.data.data this.treeData = response.data.data
if (validatenull(this.obj)) this.tableData = this.treeData;
else this.tableData = this.obj.children;
}) })
}, },
filterNode (value, data) { filterNode (value, data) {
...@@ -189,58 +170,35 @@ export default { ...@@ -189,58 +170,35 @@ export default {
return data.label.indexOf(value) !== -1 return data.label.indexOf(value) !== -1
}, },
getNodeData (data) { getNodeData (data) {
this.obj = data; if (!this.formEdit) {
this.tableData = data.children; this.formStatus = 'update'
}, }
show (data = {}) { getObj(data.id).then(response => {
getObj(data.id).then(res => { this.form = response.data.data
const data = res.data.data;
if (this.formStatus === 'update') {
this.form = data;
this.form.parentName = this.obj.name;
} else if (this.formStatus === 'create') {
this.form.parentId = data.deptId;
this.form.parentName = this.obj.name;
} else {
this.form = data;
}
setTimeout(() => {
this.$refs.form.clearValidate();
}, 0);
}) })
this.currentId = data.id
this.showElement = true
}, },
handlerEdit (data) { handlerEdit () {
this.formStatus = 'update' if (this.form.deptId) {
this.editFlag = true; this.formEdit = false
this.show(data); this.formStatus = 'update'
},
handlerParentAdd () {
this.formStatus = 'create'
this.editFlag = true;
if (validatenull(this.obj)) {
this.form.parentId = 0;
this.form.parentName = '';
setTimeout(() => {
this.$refs.form.clearValidate();
}, 0);
} else {
this.show(this.obj);
} }
}, },
handlerAdd (data) { handlerAdd () {
this.resetForm()
this.formEdit = false
this.formStatus = 'create' this.formStatus = 'create'
this.editFlag = true;
this.show(data);
}, },
handleDelete (data) { handleDelete () {
this.show(data); this.$confirm('此操作将永久删除, 是否继续?', '提示', {
this.$confirm(`此操作将永久删除${data.name}, 是否继续?`, '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
delObj(this.form.deptId).then(() => { delObj(this.currentId).then(() => {
this.getList() this.getList()
this.resetForm()
this.onCancel() this.onCancel()
this.$notify({ this.$notify({
title: '成功', title: '成功',
...@@ -252,51 +210,44 @@ export default { ...@@ -252,51 +210,44 @@ export default {
}) })
}, },
update () { update () {
putObj(this.form).then(() => { this.$refs.form.validate((valid) => {
this.onCancel(); if (!valid) return
this.getList() putObj(this.form).then(() => {
this.$notify({ this.getList()
title: '成功', this.$notify({
message: '更新成功', title: '成功',
type: 'success', message: '更新成功',
duration: 2000 type: 'success',
duration: 2000
})
}) })
}) })
}, },
create () { create () {
addObj(this.form).then(() => { this.$refs.form.validate((valid) => {
this.onCancel(); if (!valid) return
this.getList() addObj(this.form).then(() => {
this.$notify({ this.getList()
title: '成功', this.$notify({
message: '创建成功', title: '成功',
type: 'success', message: '创建成功',
duration: 2000 type: 'success',
duration: 2000
})
}) })
}) })
}, },
onCancel () { onCancel () {
this.formEdit = true
this.formStatus = '' this.formStatus = ''
this.editFlag = false; },
this.$refs.form.resetForm(); resetForm () {
setTimeout(() => { this.form = {
this.$refs.form.clearValidate(); parentId: this.currentId,
}, 0); }
} }
} }
} }
</script> </script>
<style lang="scss">
.dept {
&__tree {
margin-bottom: 13px;
}
&__table {
margin-top: -32px;
}
}
</style>
...@@ -133,6 +133,7 @@ export default { ...@@ -133,6 +133,7 @@ export default {
message: '修改成功', message: '修改成功',
type: 'success' type: 'success'
}) })
this.getList(this.page)
done() done()
}) })
}, },
...@@ -150,6 +151,7 @@ export default { ...@@ -150,6 +151,7 @@ export default {
message: '添加成功', message: '添加成功',
type: 'success' type: 'success'
}) })
this.getList(this.page)
done() done()
}) })
}, },
......
...@@ -101,7 +101,8 @@ ...@@ -101,7 +101,8 @@
</el-form-item> </el-form-item>
<el-form-item label="排序" <el-form-item label="排序"
prop="sort"> prop="sort">
<el-input v-model="form.sort" <el-input type="number"
v-model="form.sort"
:disabled="formEdit" :disabled="formEdit"
placeholder="请输入排序"></el-input> placeholder="请输入排序"></el-input>
</el-form-item> </el-form-item>
......
...@@ -114,7 +114,7 @@ export default { ...@@ -114,7 +114,7 @@ export default {
type: 'warning' type: 'warning'
}) })
.then(function () { .then(function () {
return delObj(row.clientId) return delObj(row.id)
}) })
.then(data => { .then(data => {
_this.tableData.splice(index, 1) _this.tableData.splice(index, 1)
...@@ -123,6 +123,7 @@ export default { ...@@ -123,6 +123,7 @@ export default {
message: '删除成功', message: '删除成功',
type: 'success' type: 'success'
}) })
this.refreshChange()
}) })
.catch(function (err) { }) .catch(function (err) { })
}, },
...@@ -141,7 +142,8 @@ export default { ...@@ -141,7 +142,8 @@ export default {
message: '修改成功', message: '修改成功',
type: 'success' type: 'success'
}) })
done() this.refreshChange()
done()
}) })
}, },
/** /**
...@@ -158,6 +160,7 @@ export default { ...@@ -158,6 +160,7 @@ export default {
message: '添加成功', message: '添加成功',
type: 'success' type: 'success'
}) })
this.refreshChange()
done() done()
}) })
}, },
......
...@@ -60,7 +60,7 @@ ...@@ -60,7 +60,7 @@
slot-scope="scope"> slot-scope="scope">
<span v-for="(role,index) in scope.row.roleList" <span v-for="(role,index) in scope.row.roleList"
:key="index"> :key="index">
<el-tag>{{role.roleDesc}} </el-tag>&nbsp;&nbsp; <el-tag>{{role.roleName}} </el-tag>&nbsp;&nbsp;
</span> </span>
</template> </template>
<template slot="deptId" <template slot="deptId"
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
slot-scope="scope"> slot-scope="scope">
<avue-crud-select v-model="role" <avue-crud-select v-model="role"
multiple multiple
placeholder="请选择角色,要先选择部门" placeholder="请选择角色"
:dic="rolesOptions" :dic="rolesOptions"
:props="roleProps"></avue-crud-select> :props="roleProps"></avue-crud-select>
</template> </template>
...@@ -135,7 +135,7 @@ export default { ...@@ -135,7 +135,7 @@ export default {
treeDeptData: [], treeDeptData: [],
checkedKeys: [], checkedKeys: [],
roleProps: { roleProps: {
label: "roleDesc", label: "roleName",
value: 'roleId' value: 'roleId'
}, },
defaultProps: { defaultProps: {
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<el-form-item label="用户名" <el-form-item label="用户名"
prop="username"> prop="username">
<el-input type="text" <el-input type="text"
:value="userInfo.username" v-model="ruleForm2.username"
disabled></el-input> disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="原密码" <el-form-item label="原密码"
...@@ -102,6 +102,7 @@ export default { ...@@ -102,6 +102,7 @@ export default {
Authorization: 'Bearer ' + getToken() Authorization: 'Bearer ' + getToken()
}, },
ruleForm2: { ruleForm2: {
username: '',
password: '', password: '',
newpassword1: '', newpassword1: '',
newpassword2: '' newpassword2: ''
...@@ -114,11 +115,12 @@ export default { ...@@ -114,11 +115,12 @@ export default {
} }
}, },
created () { created () {
this.ruleForm2.username = this.userInfo.username
}, },
computed: { computed: {
...mapState({ ...mapState({
userInfo: state => state.user.userInfo userInfo: state => state.user.userInfo
}) }),
}, },
methods: { methods: {
submitForm (formName) { submitForm (formName) {
......
const url = 'http://zn.huaxiadaowei.com' const url = 'http://localhost:9999'
module.exports = { module.exports = {
lintOnSave: true, lintOnSave: true,
productionSourceMap: false, productionSourceMap: false,
...@@ -66,4 +66,4 @@ module.exports = { ...@@ -66,4 +66,4 @@ module.exports = {
}, },
} }
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment