|
@@ -33,19 +33,19 @@
|
|
<el-dialog :title="textMap[edit.dialogStatus]" :visible.sync="edit.dialogFormVisible" :close-on-click-modal="false"
|
|
<el-dialog :title="textMap[edit.dialogStatus]" :visible.sync="edit.dialogFormVisible" :close-on-click-modal="false"
|
|
width="50%">
|
|
width="50%">
|
|
<div class="edit">
|
|
<div class="edit">
|
|
- <el-form ref="editTemp" :rules="rules" :model="edit.temp" label-position="right" label-width="115px"
|
|
|
|
|
|
+ <el-form ref="editTemp" :rules="rules" :model="edit" label-position="right" label-width="115px"
|
|
style="width: 100%;margin:0 auto 30px">
|
|
style="width: 100%;margin:0 auto 30px">
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="角色名称:" prop="name">
|
|
<el-form-item label="角色名称:" prop="name">
|
|
- <el-input ref="name" v-model="edit.temp.name" placeholder="请输入角色名称" />
|
|
|
|
|
|
+ <el-input ref="name" v-model="edit.name" placeholder="请输入角色名称" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="描述:" prop="remarks">
|
|
<el-form-item label="描述:" prop="remarks">
|
|
- <el-input ref="remarks" v-model="edit.temp.remarks" placeholder="请输入描述" />
|
|
|
|
|
|
+ <el-input ref="remarks" v-model="edit.remarks" placeholder="请输入描述" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
@@ -117,9 +117,17 @@
|
|
export default {
|
|
export default {
|
|
name: 'Role',
|
|
name: 'Role',
|
|
components: {
|
|
components: {
|
|
- Pagination,TreeSelect
|
|
|
|
|
|
+ Pagination,TreeSelect
|
|
},
|
|
},
|
|
- data() {
|
|
|
|
|
|
+ data() {
|
|
|
|
+ var validatePass = (rule, value, callback) => {
|
|
|
|
+ let arr = this.$refs.backgroundTree.getCheckedKeys() // 在此获取选中的树形数据
|
|
|
|
+ if (arr.length == 0 || !arr) {
|
|
|
|
+ callback(new Error("请至少选择一个后台权限"));
|
|
|
|
+ } else {
|
|
|
|
+ callback();
|
|
|
|
+ }
|
|
|
|
+ };
|
|
return {
|
|
return {
|
|
table: {
|
|
table: {
|
|
page: 1,
|
|
page: 1,
|
|
@@ -135,10 +143,8 @@
|
|
edit: {
|
|
edit: {
|
|
dialogStatus: '',
|
|
dialogStatus: '',
|
|
dialogFormVisible: false,
|
|
dialogFormVisible: false,
|
|
- temp: {
|
|
|
|
- name:'',
|
|
|
|
- remarks:''
|
|
|
|
- },
|
|
|
|
|
|
+ name:'',
|
|
|
|
+ remarks:'',
|
|
// 牧场
|
|
// 牧场
|
|
pastureOptions: [],
|
|
pastureOptions: [],
|
|
checkAllPasture: false,
|
|
checkAllPasture: false,
|
|
@@ -171,12 +177,13 @@
|
|
required: true,
|
|
required: true,
|
|
message: '必填',
|
|
message: '必填',
|
|
trigger: 'blur'
|
|
trigger: 'blur'
|
|
- }],
|
|
|
|
- remarks: [{
|
|
|
|
- required: true,
|
|
|
|
- message: '必填',
|
|
|
|
- trigger: 'blur'
|
|
|
|
- }]
|
|
|
|
|
|
+ }],
|
|
|
|
+ checkedPasture: [
|
|
|
|
+ { type: 'array', required: true, message: '请至少选择一个牧场', trigger: 'change' }
|
|
|
|
+ ],
|
|
|
|
+ backgroundData: [
|
|
|
|
+ { type: 'array',validator: validatePass, required: true, trigger: 'change' }
|
|
|
|
+ ],
|
|
},
|
|
},
|
|
textMap: {
|
|
textMap: {
|
|
add: '新增',
|
|
add: '新增',
|
|
@@ -195,7 +202,7 @@
|
|
},
|
|
},
|
|
|
|
|
|
created() {
|
|
created() {
|
|
- this.getButton()
|
|
|
|
|
|
+ this.getButton()
|
|
this.getList()
|
|
this.getList()
|
|
this.getPastureList()
|
|
this.getPastureList()
|
|
this.getBackgroundList()
|
|
this.getBackgroundList()
|
|
@@ -210,12 +217,15 @@
|
|
const del = 'systemManagement:role:delete'
|
|
const del = 'systemManagement:role:delete'
|
|
this.isDelete = checkButtons(del)
|
|
this.isDelete = checkButtons(del)
|
|
},
|
|
},
|
|
- getList() {
|
|
|
|
|
|
+ getList() {
|
|
|
|
+ // console.log(process.env.VUE_APP_BASE_API)
|
|
this.table.listLoading = true
|
|
this.table.listLoading = true
|
|
let page = this.table.page
|
|
let page = this.table.page
|
|
let page_size = this.table.page_size
|
|
let page_size = this.table.page_size
|
|
- let url = 'api/v1/system/role/list' + '?page=' + page + '&page_size=' + page_size
|
|
|
|
- let data = {}
|
|
|
|
|
|
+ let url = 'api/v1/system/role/list' + '?page=' + page + '&page_size=' + page_size
|
|
|
|
+ let data = {
|
|
|
|
+ name: this.table.parammaps.name
|
|
|
|
+ }
|
|
postJson(url, data).then(response => {
|
|
postJson(url, data).then(response => {
|
|
if (response.code == 200) {
|
|
if (response.code == 200) {
|
|
this.table.list = response.data.list
|
|
this.table.list = response.data.list
|
|
@@ -248,13 +258,20 @@
|
|
this.edit.dialogStatus = 'add'
|
|
this.edit.dialogStatus = 'add'
|
|
this.edit.dialogFormVisible = true
|
|
this.edit.dialogFormVisible = true
|
|
this.edit.isIndeterminatePasture = false
|
|
this.edit.isIndeterminatePasture = false
|
|
- this.edit.temp.name = ''
|
|
|
|
- this.edit.temp.remarks = ''
|
|
|
|
- this.edit.checkedPasture = []
|
|
|
|
|
|
+ this.edit.name = ''
|
|
|
|
+ this.edit.remarks = ''
|
|
|
|
+ this.edit.checkedPasture = []
|
|
|
|
+ var myId = ''
|
|
|
|
+ this.edit.mobileData.forEach(item => {
|
|
|
|
+ if(item.name == '我的'){
|
|
|
|
+ myId = item.id
|
|
|
|
+ }
|
|
|
|
+ })
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
this.$refs.backgroundTree.setCheckedKeys([]);
|
|
this.$refs.backgroundTree.setCheckedKeys([]);
|
|
- this.$refs.mobileTree.setCheckedKeys([]);
|
|
|
|
- });
|
|
|
|
|
|
+ this.$refs.mobileTree.setCheckedKeys([myId]);
|
|
|
|
+ });
|
|
|
|
+ // this.edit.mobileCheckedkeys = [4]
|
|
this.edit.backgroundLength = 0
|
|
this.edit.backgroundLength = 0
|
|
this.edit.mobileLength = 0
|
|
this.edit.mobileLength = 0
|
|
this.edit.isIndeterminatePasture = false
|
|
this.edit.isIndeterminatePasture = false
|
|
@@ -366,14 +383,13 @@
|
|
}, 1000)
|
|
}, 1000)
|
|
let url = 'api/v1/system/role/add'
|
|
let url = 'api/v1/system/role/add'
|
|
let data = {
|
|
let data = {
|
|
- 'name': this.edit.temp.name,
|
|
|
|
- "remarks": this.edit.temp.remarks,
|
|
|
|
|
|
+ 'name': this.edit.name,
|
|
|
|
+ "remarks": this.edit.remarks,
|
|
"pasture_id": this.edit.checkedPasture,
|
|
"pasture_id": this.edit.checkedPasture,
|
|
"menu_id": this.$refs.backgroundTree.getCheckedKeys().concat(this.edit.backgroundParentId),
|
|
"menu_id": this.$refs.backgroundTree.getCheckedKeys().concat(this.edit.backgroundParentId),
|
|
"mobile_id": this.$refs.mobileTree.getCheckedKeys(),
|
|
"mobile_id": this.$refs.mobileTree.getCheckedKeys(),
|
|
"create_user": Cookies.get('username')
|
|
"create_user": Cookies.get('username')
|
|
}
|
|
}
|
|
- console.log(data)
|
|
|
|
postJson(url, data).then(response => {
|
|
postJson(url, data).then(response => {
|
|
if (response.code == 200) {
|
|
if (response.code == 200) {
|
|
this.$notify({
|
|
this.$notify({
|
|
@@ -392,7 +408,9 @@
|
|
|
|
|
|
handleUpdate(row) {
|
|
handleUpdate(row) {
|
|
this.edit.dialogStatus = 'update'
|
|
this.edit.dialogStatus = 'update'
|
|
- this.edit.temp = Object.assign({}, row)
|
|
|
|
|
|
+ this.edit.id = row.id
|
|
|
|
+ this.edit.name = row.name
|
|
|
|
+ this.edit.remarks = row.remarks
|
|
this.edit.checkedPasture = []
|
|
this.edit.checkedPasture = []
|
|
this.edit.backgroundCheckedkeys = []
|
|
this.edit.backgroundCheckedkeys = []
|
|
this.edit.mobileCheckedkeys = []
|
|
this.edit.mobileCheckedkeys = []
|
|
@@ -402,7 +420,7 @@
|
|
},
|
|
},
|
|
getRolesList() {
|
|
getRolesList() {
|
|
let url = 'api/v1/system/role/permissions/'
|
|
let url = 'api/v1/system/role/permissions/'
|
|
- let data = this.edit.temp.id
|
|
|
|
|
|
+ let data = this.edit.id
|
|
getJson(url, data).then(response => {
|
|
getJson(url, data).then(response => {
|
|
if (response.code == 200) {
|
|
if (response.code == 200) {
|
|
var menu_list = response.data.menu_list; //后台权限
|
|
var menu_list = response.data.menu_list; //后台权限
|
|
@@ -461,9 +479,9 @@
|
|
}, 1000)
|
|
}, 1000)
|
|
let url = 'api/v1/system/role/edit'
|
|
let url = 'api/v1/system/role/edit'
|
|
let data = {
|
|
let data = {
|
|
- "id": this.edit.temp.id,
|
|
|
|
- 'name': this.edit.temp.name,
|
|
|
|
- "remarks": this.edit.temp.remarks,
|
|
|
|
|
|
+ "id": this.edit.id,
|
|
|
|
+ 'name': this.edit.name,
|
|
|
|
+ "remarks": this.edit.remarks,
|
|
"pasture_id": this.edit.checkedPasture,
|
|
"pasture_id": this.edit.checkedPasture,
|
|
"menu_id": menu_id_list,
|
|
"menu_id": menu_id_list,
|
|
"mobile_id": mobile_id_list,
|
|
"mobile_id": mobile_id_list,
|
|
@@ -505,11 +523,6 @@
|
|
this.getList()
|
|
this.getList()
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- }).catch(() => {
|
|
|
|
- this.$message({
|
|
|
|
- type: 'info',
|
|
|
|
- message: '已取消删除'
|
|
|
|
- })
|
|
|
|
})
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|