| | |
| | | <div class="body" v-if="addDia" style="max-height: 550px;overflow-y: auto;padding: 5px 10px 5px 0;"> |
| | | <div v-if="data.row > 1"> |
| | | <div v-for="(a, ai) in upHead" :key="ai" style="line-height: 50px;"> |
| | | <el-col :span="6/data.row" style="text-align: right;"><span class="required-span" |
| | | <el-col :span="6/data.row" style="text-align: right;" :offset="1"><span class="required-span" |
| | | v-if="showAddReq(a.label)">* |
| | | </span>{{a.value}}:</el-col> |
| | | <el-col :span="16/data.row" :offset="1"> |
| | | <el-col :span="16/data.row"> |
| | | <el-input v-model="upData[a.label]" size="small" clearable :placeholder="`请输入${a.value}`" |
| | | v-if="showType(a.label, data.selectField) == null&&!showUpload(a.label)&&!showCascader(a.label)"></el-input> |
| | | <el-select v-model="upData[a.label]" size="small" v-if="showType(a.label, data.selectField) != null" |
| | |
| | | padding: 20px; |
| | | } |
| | | </style> |
| | | <style> |
| | | .el-upload--text{ |
| | | width: 100%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | </style> |
| | | |
| | | <template> |
| | | <div class="person_manage"> |
| | |
| | | order: 'asc' |
| | | } |
| | | }, |
| | | row: 2, |
| | | isIndex: true, |
| | | showSelect: false, |
| | | select: false, |
| | |
| | | select: [] |
| | | } |
| | | }, |
| | | cascaderField:{ |
| | | /* cascaderField:{ |
| | | departId:{ |
| | | tree:[] |
| | | }, |
| | |
| | | label:'name', |
| | | checkStrictly: true |
| | | } |
| | | }, |
| | | requiredAdd:['account','name','state','roleId','password','departId'], |
| | | requiredUp:['account','name','state','roleId','departId'], |
| | | }, */ |
| | | requiredAdd:['account','name','state','roleId','password'], |
| | | requiredUp:['account','name','state','roleId'], |
| | | addUpload:['pictureUrl','signatureUrl'], |
| | | addUploadConfig:{ |
| | | accept:'.png, .jpg, .jpeg, .gif', |
| | |
| | | this.$refs.ValueTable.openAddDia(this.$api.user.addUser); |
| | | }, |
| | | selectTreeList(){ |
| | | this.$axios.get(this.$api.department.selectDepartment).then(res => { |
| | | /* this.$axios.get(this.$api.department.selectDepartment).then(res => { |
| | | this.componentData.cascaderField.departId.tree = this.handleTree(res.data[0].children) |
| | | }) */ |
| | | this.$refs.ValueTable.selectList() |
| | | }) |
| | | }, |
| | | handleTree(arr){ |
| | | arr.forEach(a => { |
| | |
| | | <ValueTable ref="ValueTable" :url="$api.user.selectRoleLists" :delUrl="$api.user.delRole" |
| | | :componentData="componentData" :key="upIndex" @upRole="upRole" @selectRole="selectRole" /> |
| | | </div> |
| | | <el-dialog :title="type" :visible.sync="addDia" width="500px" @closed="closed"> |
| | | <div style="max-height: 500px;overflow-y: auto;padding: 8px;" v-if="addDia"> |
| | | <el-row style="line-height: 40px;margin-bottom: 15px;"> |
| | | <el-col :span="8"><span class="required-span">* </span>角色名</el-col> |
| | | <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"> |
| | | <el-input v-model="addData.roleName" size="medium" placeholder="需唯一角色名" clearable :disabled="type=='查看'"></el-input> |
| | | <el-input v-model="addData.roleName" size="medium" placeholder="需唯一角色名" clearable |
| | | :disabled="type=='查看'"></el-input> |
| | | </el-col> |
| | | </el-row> |
| | | <el-divider content-position="left">权限分配</el-divider> |
| | | <el-collapse style="margin-top: 10px;"> |
| | | <el-collapse-item title="查询"> |
| | | <el-collapse style="margin-top: 10px;padding: 0 10px;"> |
| | | <el-collapse-item v-for="(category, ci) in menuCategroy" :key="ci"> |
| | | <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> |
| | | </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=='查询'"> |
| | | <el-col :span="18"> |
| | | <el-checkbox :disabled="type=='查看'" v-model="a.isClick">{{a.remark}}</el-checkbox> |
| | |
| | | <el-checkbox :disabled="type=='查看'" v-model="a.look">只看我</el-checkbox> |
| | | </el-col> |
| | | </el-row> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="添加"> |
| | | <div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='添加'"><el-checkbox |
| | | v-model="a.isClick" :disabled="type=='查看'">{{a.remark}}</el-checkbox></div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="修改"> |
| | | <div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='修改'"><el-checkbox |
| | | v-model="a.isClick" :disabled="type=='查看'">{{a.remark}}</el-checkbox></div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="删除"> |
| | | <div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='删除'"><el-checkbox |
| | | v-model="a.isClick" :disabled="type=='查看'">{{a.remark}}</el-checkbox></div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="导入"> |
| | | <div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='导入'"><el-checkbox |
| | | v-model="a.isClick" :disabled="type=='查看'">{{a.remark}}</el-checkbox></div> |
| | | </el-collapse-item> |
| | | <el-collapse-item title="导出"> |
| | | <div style="padding: 3px 30px;" v-for="(a, ai) in menu" :key="ai" v-if="a.type=='导出'"><el-checkbox |
| | | v-model="a.isClick" :disabled="type=='查看'">{{a.remark}}</el-checkbox></div> |
| | | </el-collapse-item> |
| | | </el-collapse-item> --> |
| | | </el-collapse> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | set |
| | | } from 'vue' |
| | | import ValueTable from '../tool/value-table.vue' |
| | | export default { |
| | | components: { |
| | |
| | | powers: [] |
| | | }, |
| | | menu: [], |
| | | menuCategroy: [], |
| | | menuCopy: [], |
| | | type: '新增', |
| | | addPower: true |
| | |
| | | a.isClick = false |
| | | a.look = false |
| | | }) |
| | | let set = new Set() |
| | | res.data.forEach(a => { |
| | | set.add(a.type) |
| | | }) |
| | | this.menuCategroy = set |
| | | this.menu = res.data |
| | | this.menuCopy = this.HaveJson(res.data) |
| | | }) |