From 86a84c327007a1fb398fa2aefff1bffc03a83cfb Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期二, 06 八月 2024 22:36:02 +0800
Subject: [PATCH] 委托下单,禁止下拉框输入
---
src/components/view/role-manage.vue | 65 +++++++++++++++++++++++++-------
1 files changed, 51 insertions(+), 14 deletions(-)
diff --git a/src/components/view/role-manage.vue b/src/components/view/role-manage.vue
index 28c4b8d..1d52a49 100644
--- a/src/components/view/role-manage.vue
+++ b/src/components/view/role-manage.vue
@@ -40,7 +40,7 @@
<div class="role_manage">
<div>
<el-row class="title">
- <el-col :span="12" style="padding-left: 20px;">瑙掕壊绠$悊</el-col>
+ <el-col :span="12" style="padding-left: 20px;text-align: left;">瑙掕壊绠$悊</el-col>
<el-col :span="12" style="text-align: right;">
<el-button size="medium" type="primary" @click="openAdd" v-if="addPower">鏂板瑙掕壊</el-button>
</el-col>
@@ -62,12 +62,20 @@
:componentData="componentData" :key="upIndex" @upRole="upRole" @selectRole="selectRole" />
</div>
<el-dialog :title="type" :visible.sync="addDia" width="550px" @closed="closed">
- <div style="max-height: 500px;overflow-y: auto;padding: 10px;" v-if="addDia">
- <el-row style="line-height: 40px;margin-bottom: 20px;">
- <el-col :span="8" style="font-size: 16px;"><span class="required-span">* </span>瑙掕壊鍚�</el-col>
- <el-col :span="16">
+ <div style="max-height: 550px;overflow-y: auto;padding: 10px 20px;" v-if="addDia">
+ <el-row style="line-height: 42px;">
+ <el-col :span="7" style="font-size: 14px;"><span class="required-span">* </span>瑙掕壊鍚�</el-col>
+ <el-col :span="17">
<el-input v-model="addData.roleName" size="medium" placeholder="闇�鍞竴瑙掕壊鍚�" clearable
:disabled="type=='鏌ョ湅'"></el-input>
+ </el-col>
+ </el-row>
+ <el-row style="line-height: 42px;margin-bottom: 20px;">
+ <el-col :span="7" style="font-size: 14px;"><span class="required-span">* </span>瑙掕壊鍒嗙被</el-col>
+ <el-col :span="17">
+ <el-select v-model="addData.category" size="medium" :disabled="type=='鏌ョ湅'" style="width: 100%;">
+ <el-option v-for="(a, i) in deaprtEnum" :key="i" :label="a.name" :value="a.id"></el-option>
+ </el-select>
</el-col>
</el-row>
<el-divider content-position="left">鏉冮檺鍒嗛厤</el-divider>
@@ -76,8 +84,8 @@
<template slot="title">
<i class="el-icon-circle-plus-outline" style="margin-right: 10px;"></i>{{category}}
</template>
- <div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type==category"><el-checkbox
- v-model="a.isClick" :disabled="type=='鏌ョ湅'">{{a.remark}}</el-checkbox></div>
+ <div style="padding: 3px 30px;display: flex;align-items: center;justify-content: space-between;" v-for="(a, ai) in menu" :key="ai" v-if="a.type==category" ><el-checkbox
+ v-model="a.isClick" :disabled="type=='鏌ョ湅'">{{a.remark}}</el-checkbox> <el-checkbox v-model="a.look" v-if="a.remark.includes('鏌ヨ')||a.remark.includes('鑾峰彇')" :disabled="type=='鏌ョ湅'">鍙湅鎴�</el-checkbox></div>
</el-collapse-item>
<!-- <el-collapse-item title="鏌ヨ">
<el-row style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='鏌ヨ'">
@@ -96,6 +104,7 @@
<el-button type="primary" @click="saveAddData" :loading="addLoad" v-if="type!='鏌ョ湅'">纭� 瀹�</el-button>
</span>
</el-dialog>
+
</div>
</template>
@@ -114,7 +123,7 @@
entity: {
name: null,
orderBy: {
- field: 'id',
+ field: 'id',
order: 'asc'
}
},
@@ -136,8 +145,13 @@
type: 'text',
method: 'selectRole',
}],
- tagField: {},
- selectField: {}
+ tagField: {
+ category: {
+ select: []
+ }
+ },
+ selectField: {},
+ needSort: ['createTime', 'updateTime', 'name'],
},
entityCopy: {},
upIndex: 0,
@@ -146,23 +160,26 @@
addData: {
roleId2: null,
roleName: null,
+ category: null,
powers: []
},
menu: [],
menuCategroy: [],
menuCopy: [],
type: '鏂板',
- addPower: true
+ addPower: true,
+ deaprtEnum: []
}
},
mounted() {
this.entityCopy = this.HaveJson(this.componentData.entity)
this.selectMenuList()
+ this.selectDepartmentEnum()
this.getPower()
},
methods: {
- refreshTable() {
- this.$refs['ValueTable'].selectList()
+ refreshTable(e) {
+ this.$refs['ValueTable'].selectList(e)
},
refresh() {
this.componentData.entity = this.HaveJson(this.entityCopy)
@@ -186,11 +203,15 @@
upRole(row) {
this.type = '淇敼'
this.addData.roleName = row.name
+ this.$set(this.addData, 'category', row.category)
+ // this.addData.category = row.category
this.selectPowerByRoleId(row.id)
},
selectRole(row) {
this.type = '鏌ョ湅'
this.addData.roleName = row.name
+ this.$set(this.addData, 'category', row.category)
+ // this.addData.category = row.category
this.selectPowerByRoleId(row.id)
},
openAdd() {
@@ -200,6 +221,10 @@
saveAddData() {
if (this.addData.roleName == '' || this.addData.roleName == null) {
this.$message.error('璇峰~鍐欒鑹插悕')
+ return
+ }
+ if (this.addData.category == '' || this.addData.category == null) {
+ this.$message.error('璇烽�夋嫨瑙掕壊鍒嗙被')
return
}
this.addLoad = true
@@ -241,7 +266,7 @@
}
this.addLoad = false
this.addDia = false
- this.refreshTable()
+ this.refreshTable('page')
}).catch(e => {
this.addLoad = false
})
@@ -294,6 +319,18 @@
this.componentData.do.splice(0, 1)
}
this.addPower = add
+ },
+ selectDepartmentEnum(){
+ this.$axios.get(this.$api.department.selectDepartmentEnum).then(res=>{
+ this.deaprtEnum = res.data
+ this.componentData.tagField.category.select = []
+ res.data.forEach(a=>{
+ this.componentData.tagField.category.select.push({
+ label: a.name,
+ value: a.id
+ })
+ })
+ })
}
}
}
--
Gitblit v1.9.3